Page 1 of 2

Any interest in custom 6502-like CPU chips?

Posted: Wed Dec 05, 2012 1:59 pm
by BigEd
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)

Image

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)

Re: Any interest in custom 6502-like CPU chips?

Posted: Wed Dec 05, 2012 2:08 pm
by Arlet
The Spartan-6 (and I believe some other variants as well) allow configuration from a standard serial (SPI) flash chip. These chips are relatively cheap, and easy to program using simple equipment most people can put together. In addition, they can be reprogrammed from the FPGA, so once you have running hardware, the 6502 core (or variant) could reprogram the SPI flash with an updated FPGA configuration.

Re: Any interest in custom 6502-like CPU chips?

Posted: Wed Dec 05, 2012 2:17 pm
by BigEd
If we can cook up instructions which allow the FPGA novice to program their own parts, with no money or shipping hassles, that would be great. We'd just need to document a standard pinout and provide a downloadable bitstream for each flavour of CPU.

Re: Any interest in custom 6502-like CPU chips?

Posted: Wed Dec 05, 2012 5:21 pm
by Dajgoro
Quote:
We need hobbyist-solderable IC or two, or tiny module
If you find a way to make it a drop replacement for a 6502, i would buy it, but going through the trouble of getting all 3.3V components, and designing a PCB, then i would rather not.

Re: Any interest in custom 6502-like CPU chips?

Posted: Wed Dec 05, 2012 5:29 pm
by BigEd
A drop-in module of some sort is possible, but it's a project in its own right (unless perhaps you base it on a GODIL or similar - that's the very easiest way to proceed, but it has limitations, like a 40/50 signal pinout.) If you find someone to build such a module for you, that's fine too.

But let's stay on-topic if we can. New threads are cheap!

Cheers
Ed

Re: Any interest in custom 6502-like CPU chips?

Posted: Wed Dec 05, 2012 9:06 pm
by ChuckT
For $20 dollars? I am always interested as long as there is support, boot code and sample code, a part list for compatible parts, adevelopment board, some software that isn't going to break the bank, and free or cheap licensing.

Any chance it could come with a system monitor, a built in editor or operating system? Can there be a newer version like 16 bits or a 65C816S version?

I would still need more details.

Re: Any interest in custom 6502-like CPU chips?

Posted: Wed Dec 05, 2012 9:33 pm
by BigEd
Hi Chuck. I can see a reference design, not so sure about the likelihood of a dev board - we discussed that before and there's insufficient interest.
For 8bit 6502 variants you wouldn't particularly need a monitor or any tools. For 65Org16 we have a rudimentary loader and a mini monitor.
It's a good point - who is the target audience? For me, it's someone who wants a new CPU and is ready to write their own software, and hopefully share it. Someone who's only obstacle is lack of FPGA capability. What they get is a chip, and the opportunity to make a computer of some sort.
Cheers
Ed

Re: Any interest in custom 6502-like CPU chips?

Posted: Wed Dec 05, 2012 9:49 pm
by GARTHWILSON
BigEd wrote:
If we can cook up instructions which allow the FPGA novice to program their own parts, with no money or shipping hassles, that would be great. We'd just need to document a standard pinout and provide a downloadable bitstream for each flavour of CPU.
There's always the chicken-and-egg senario. The seller of hardware may not want to commit to the cost of a small run of boards and maybe other parts too before knowing that the sales will be there. Buyers may not want to commit before they see the actual product and see what others are doing with it. It's not just hobbyists-- it happens in industry too. In some cases (like my memory module), we spend a few hundred dollars partly because we want to promote our interest and partly because we ourselves expect to benefit from it even if others don't order. Obviously we hope it will pay for itself, but we know it might not, and we go ahead anyway. Now that our younger son finishes college and we don't need to be writing out multi-thousand-dollar checks every so often, I may be able to offer more modules myself.

In many cases, especially ones like the new processors, prospective buyers may be afraid of getting orphaned and becoming unable to get another one of the same, or get the info to modify the HDL, or something similar, if the original supplier disappears off the scene, even if it's only because he loses interest and moves on to other things in life.

Since I don't think anyone here is trying to keep intellectual secrets, I think one way to make things go forward is to post the designs, including hex code to program a serial EEPROM with any kind of programmer (even home-made), so there's no dependence on particular products which may not be available in a few years, whether it's a special programming cable, software, etc.. This is what I understand Arlet to be saying. It's not as scary to think of possibly damaging a cheap, 8-pin socketted EEPROM as it is a fine-pitch, soldered-down FPGA. [Edit, 7/28/22: I now have an I2C-6 EEPROM module on the front page of my site, and there's a link to the data sheet there.] The EEPROM can also be changed easily for different applications, if that comes up.

Of the designs mentioned at the top so far, I would be most interested in the 50MHz+ 65c02... but who am I to talk, when I've been too busy to find out how fast I can get an off-the-shelf one from WDC to run.

Re: Any interest in custom 6502-like CPU chips?

Posted: Wed Dec 05, 2012 10:04 pm
by ChuckT
I may be willing to pre-order. This stuff is like cookbook: give me some ingredients like Eagle or Diptrace part numbers and give people the recipe and they can do it themselves. Get some generic board designs that would work with i/o, eproms, some sound and or video chips and I'll pay to produce them myself.

I'm willing to promote a product for some help and I have some ideas of chips that I would like to work with.

Re: Any interest in custom 6502-like CPU chips?

Posted: Wed Dec 05, 2012 10:53 pm
by whartung
There's something curious about the idea that you can:

a) Get a (significantly) faster version of a production part
b) From someone other than the manufacturer
c) who happens to be a hobbyist
d) for marginally more money

The interesting part is that what is being proposed here is effectively software for a hardware solution.

And the stuff being proposed harkens to my earlier playing with my own simulator and assembler. Specifically, the joys of debugging a buggy cpu with code from a buggy assembler :). "Trust nothing. All of your assumptions are void."

It just really blurs the line between hardware and software, and the role of the CPU component in the entire system equation.

Just stuff that makes you go "Hmm..."

Re: Any interest in custom 6502-like CPU chips?

Posted: Thu Dec 06, 2012 12:05 am
by ChuckT
whartung wrote:
And the stuff being proposed harkens to my earlier playing with my own simulator and assembler. Specifically, the joys of debugging a buggy cpu with code from a buggy assembler :). "Trust nothing. All of your assumptions are void."
For $15 dollars, its not the end of the world. It is not like we're trying to emulate an Apple II or C-64 because those systems are done.

You work with the specs you have. You don't go with full emulation unless there aren't bugs. Get a list of commands that work.

There will be improvements and updates later if the people involved want to see it work out that way.

I don't have to program in 6502 code. I can program with ARM. It is because I want to that I'm willing to go with this option.

Re: Any interest in custom 6502-like CPU chips?

Posted: Thu Dec 06, 2012 2:03 am
by enso
YES!
Is there a core that is pin-compatible to the 6502? if yes, how about a board like this:
fake6502.png
fake6502.png (1.15 KiB) Viewed 6325 times
If we don't strive for pin and 5V compatibility, it's doable. A 3.3V 6502-like device. Otherwise, level-translation is probably inevitable (you can sort of fake it with a resistor).

P.S. I just saw the other threads about similar boards....

Re: Any interest in custom 6502-like CPU chips?

Posted: Thu Dec 06, 2012 2:48 am
by Dajgoro
Quote:
If we don't strive for pin and 5V compatibility, it's doable. A 3.3V 6502-like device. Otherwise, level-translation is probably inevitable (you can sort of fake it with a resistor).
You can fit level converters under the board.

I was just talking to Electric_Eye about making a FPGA board that would fit in a 64 pin dip socket, and that would have boot ROM, and level converters for 5V.
I would pay more than 15$ for such a contraption.
I also think other people could be interested, since i can't find anywhere such a compact module that operates on 5V. You could also sell it on ebay. :D

Re: Any interest in custom 6502-like CPU chips?

Posted: Thu Dec 06, 2012 3:06 am
by enso
Looks like it's been discussed already. But, it's pretty close to FPGA playground... Maybe something like
fake6502.1.png
fake6502.1.png (2.28 KiB) Viewed 6322 times
128KB or 512KB RAM, JTAG. Would be nice to output some IO as well. So maybe
fake6502.2.png
fake6502.2.png (5.55 KiB) Viewed 6322 times

Re: Any interest in custom 6502-like CPU chips?

Posted: Thu Dec 06, 2012 3:10 am
by enso
Or for easy breadboarding, an entire SBC:
fake6502.3.png
fake6502.3.png (2.16 KiB) Viewed 6322 times