Update: this thread is about trying to put some new 6502-like variants into people's hands without them needing any FPGA expertise.
Initially it put forward the idea that someone with FPGA expertise could ship a programmed FPGA to someone without, for money. The second idea was to use conventional (volatile) FPGAs and to ship only a programmed EEPROM containing the bitstream. The third idea, by Arlet, was to suppose that programming a serial EEPROM over SPI is easy enough that we only need to produce instructions and there's no need to ship anything physical or have any money involved. We just need downloadable files and instructions.
The idea, again, is to get a CPU into the hands of someone who wishes to build a system. There is no suggestion that we design or build any particular system, beyond a means of testing the CPU.
I suppose that we're talking about open-source 6502-like cores, so once you have downloaded the necessary files, you don't need to worry about your "supplier" going away: in the worst case you just need to get hold of some FPGA expertise to fix a bug or add a feature. Other than the worst case, you would expect to get some support from your supplier, and on this forum, and you'd always to able to program additional identical devices for as long as you can buy the necessary FPGA.
Original post:
If a non-volatile FPGA were preloaded with a 6502-like design by someone in the EU or USA, it could be sold at something near to cost+postage to any interested parties for $15 to $20. That would get faster 6502s or enhanced 6502-like CPUs into anyone's hands without needing FPGA expertise. A core speed of 50MHz is feasible in this technology.
The Spartan-3AN non-volatile family has a 144 TQFP member for under $15, which is hobbyist-solderable and should have enough capacity and pins for the purpose. This is a part with 3.3V I/O which also needs a 1.2V supply. (
PDF datasheet) (
Digikey page)
There's also
a Spartan-6 FPGA in the same package, which would need a serial EEPROM to load from. For this case, you'd buy your own FPGA and get a pre-programmed EEPROM at something like cost+postage. This FPGA is likely to have a different pinout. 100MHz cores are possible in this technology but running a full-speed memory interface would require expertise. (
PDF datasheet) (
Digikey page)
If we can still do polls, I'd like to see what level of interest there is in a limited selection of 6502-like designs. I'm thinking these are custom chips, not customised chips: they would be pre-programmed from a selection, not customised for each user! I am assuming we can cook up a way to pre-program parts and then ship them, without needing super-expensive sockets.
OK, maybe we can't still do polls: the crucial question is: given some existing HDL (see below) would you buy pre-programmed FPGA or EEPROM, and if so how many would you buy?
If the interest is there, we would need to decide a pinout. Experienced input would be invaluable here.
Background and detail follows:
Elsewhere, in the context of a sidetrack about higher-speed 6502-like cores on FPGA, Garth said
Quote:
We need hobbyist-solderable IC or two, or tiny module, either pre-programmed or that automatically loads itself from a small serial EERPOM upon power-up, so we can take advantage without being HDL gurus ourselves
Arlet noted that we have
previously discussed an FPGA dev board idea, in which thread I concluded we might be better off suggesting pre-programmed FPGAs instead of boards:
Quote:
To summarise where we are with this:
- not a lot of expressed interest, so even a run of 6 boards is a bit of a risk
- which makes in tempting to include everyone's wishlist
So perhaps just the preprogrammed non-volatile FPGA for a few dollars makes more sense, and let people get on with their own board design.
We do have HDL for
- 6502 with NMOS opcodes (
Arlet's core)
- 6502 with most CMOS opcodes (
Michael's core)
-
65Org16 (a 16-bit wide NMOS-style 6502 with 32-bit address space) (Ed's variant core)
-
65Org16.b (a 65Org16 with extra registers) (Eeye's variant core)
We do not have HDL for
-
65Org32 (a 32-bit wide NMOS-style 6502 with 32-bit address space)
- 65816-style banking and emulation and 8/16 bit width operations
- a 65Org16 with a multiply instruction [but
we almost do]
- on-chip cache
Experience tells us that adding a wishlist for variations does not tend to converge. I encourage anyone seriously interested in variations to start to learn HDL and FPGA - modifying existing code is a great deal easier than starting from scratch.
(Other cores also exist, in various states of readiness)