6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 22, 2024 10:38 am

All times are UTC




Post new topic Reply to topic  [ 28 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Wed Dec 05, 2012 1:59 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
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)


Last edited by BigEd on Fri Dec 07, 2012 9:57 pm, edited 2 times in total.

Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 05, 2012 2:08 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
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.


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 05, 2012 2:17 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
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.


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 05, 2012 5:21 pm 
Offline
User avatar

Joined: Mon Aug 08, 2011 2:48 pm
Posts: 808
Location: Croatia
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.


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 05, 2012 5:29 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
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


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 05, 2012 9:06 pm 
Offline

Joined: Wed May 20, 2009 1:06 pm
Posts: 491
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.


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 05, 2012 9:33 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
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


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 05, 2012 9:49 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
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.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 05, 2012 10:04 pm 
Offline

Joined: Wed May 20, 2009 1:06 pm
Posts: 491
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.


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 05, 2012 10:53 pm 
Offline

Joined: Sat Dec 13, 2003 3:37 pm
Posts: 1004
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..."


Top
 Profile  
Reply with quote  
PostPosted: Thu Dec 06, 2012 12:05 am 
Offline

Joined: Wed May 20, 2009 1:06 pm
Posts: 491
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.


Top
 Profile  
Reply with quote  
PostPosted: Thu Dec 06, 2012 2:03 am 
Offline
User avatar

Joined: Sat Sep 29, 2012 10:15 pm
Posts: 904
YES!
Is there a core that is pin-compatible to the 6502? if yes, how about a board like this:
Attachment:
fake6502.png
fake6502.png [ 1.15 KiB | Viewed 6065 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....

_________________
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut


Top
 Profile  
Reply with quote  
PostPosted: Thu Dec 06, 2012 2:48 am 
Offline
User avatar

Joined: Mon Aug 08, 2011 2:48 pm
Posts: 808
Location: Croatia
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


Top
 Profile  
Reply with quote  
PostPosted: Thu Dec 06, 2012 3:06 am 
Offline
User avatar

Joined: Sat Sep 29, 2012 10:15 pm
Posts: 904
Looks like it's been discussed already. But, it's pretty close to FPGA playground... Maybe something like
Attachment:
fake6502.1.png
fake6502.1.png [ 2.28 KiB | Viewed 6062 times ]

128KB or 512KB RAM, JTAG. Would be nice to output some IO as well. So maybe
Attachment:
fake6502.2.png
fake6502.2.png [ 5.55 KiB | Viewed 6062 times ]

_________________
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut


Top
 Profile  
Reply with quote  
PostPosted: Thu Dec 06, 2012 3:10 am 
Offline
User avatar

Joined: Sat Sep 29, 2012 10:15 pm
Posts: 904
Or for easy breadboarding, an entire SBC:
Attachment:
fake6502.3.png
fake6502.3.png [ 2.16 KiB | Viewed 6062 times ]

_________________
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 28 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 29 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: