Jump to content
Falken

FPGA vs Real, what is the tradeoff?

Recommended Posts

Posted (edited)

Hello,

Considering multiple retro computing projects and the aim of this project to work best with off the shelf components, I was wondering.

Multiple Projects like the Spectrum Next or the Mega65 realize their CPUs via FPGAs to be more compatible to the originals.

What are the tradeoffs?

- How much more expensive is a CPU, realized as an FPGA (as e.g. the Spectrum Next does it), compared to an off the shelf current variant and

- how much less compatible are modern variants to the original cpus used in the 80s?

I'm primarily thinking of the Z80 and 6502 here. If you have any pointers to such a comparison, I'll happily pursue that, but I haven't found one yet.

Edited by Falken
  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)

Some of the components of retro computers are no longer available, so FPGA is the only option. The 6502 is still being made and it's cheap (like under $10 US), but on the Commodore for example, the VIC chips are no longer available. Having an FPGA VIC replacement would be fantastic for keeping my machines running for the long term.

Since an FPGA can be a functional equivalent, it's certainly convenient from a design standpoint to use them. They are certainly more flexible. Might be the most exciting technology at the moment really.

The main argument seems to be a purist one and personally I stay out of that argument as much as possible. I'm THRILLED that there is so much activity in this space and if people can make more interesting projects out of whatever they want, then I'm a happy camper.

I think out of all of the projects on the horizon, both the Spectrum Next and Mega65 are really interesting. Gideon's Ultimate 64 is also fantastic. I'd buy a Mega65 right now at ANY price under $1000 (US).

Edited by mrdoornbos
  • Like 3

Share this post


Link to post
Share on other sites
Posted (edited)

I think it's fair to argue that the drawbacks to FPGAs mostly have to do with the "purity" of a project.

But I think another consideration is the constraints of the project. I mean, if you're not going to use real hardware and live within its limitations, why bother pretending to live in a world of real hardware? Increase the clock speed, change the instruction set, add native 4K resolution with 3D graphics... creep those features all the way to a modern X86-64. In fact, why not skip all this hardware nonsense and stick to making a new microconsole-of-the-week or framework-of-the-month? It's all virtual, anyways.

You can't do that so easily when you're working with actual hardware components. And that, too, is part of what makes accomplishing a project like this interesting.

Edited by StephenHorn
  • Like 2

Share this post


Link to post
Share on other sites
21 minutes ago, StephenHorn said:

I think it's fair to argue that the drawbacks to FPGAs mostly have to do with the "purity" of a project.

But I think another consideration is the constraints of the project. I mean, if you're not going to use real hardware and live within its limitations, why bother pretending to live in a world of real hardware? Increase the clock speed, change the instruction set, add native 4K resolution with 3D graphics... creep those features all the way to a modern X86-64. In fact, why not skip all this hardware nonsense and stick to making a new microconsole-of-the-week or framework-of-the-month? It's all virtual, anyways.

You can't do that so easily when you're working with actual hardware components. And that, too, is part of what makes accomplishing a project like this interesting.

I don’t know if I have an answer, but a lot of people are content with pretending to do all sorts of things. 
 

I can only speak for myself of course  I’m interested in 80s computing and whatever is next in the modern world. I lived and worked in technology through all of the in between, but that’s what happens to blow my hair back at the moment  

 

Share this post


Link to post
Share on other sites
Posted (edited)
40 minutes ago, StephenHorn said:

But I think another consideration is the constraints of the project. I mean, if you're not going to use real hardware and live within its limitations, why bother pretending to live in a world of real hardware? Increase the clock speed, change the instruction set, add native 4K resolution with 3D graphics... creep those features all the way to a modern X86-64. In fact, why not skip all this hardware nonsense and stick to making a new microconsole-of-the-week or framework-of-the-month? It's all virtual, anyways.

Apparently it's necessary if I grasp the reason for doing VERA in FPGA correctly:  there are no simple graphics chips off the shelf anymore or am I wrong? I have to rewatch the videos about this again.

What does an FPGA to implement VERA cost?

 

14 minutes ago, mrdoornbos said:

I don’t know if I have an answer, but a lot of people are content with pretending to do all sorts of things.

There are quite a few "virtual" consoles nowadays, PICO-8, TIC-80, PixelVision8, Quadplay.. to name a few. So a lot of people are happy with self-given constraints and pretense at the same time. 🙂

Edited by Falken
  • Like 1

Share this post


Link to post
Share on other sites

I don't have a horse in this race except for FPGAs generally being a lot more complicated with a lot of SMD components typically and when it breaks, you'll have to figure out the best options since you can't just easily pop the FPGA chip off a board. Or even if you could, if the FPGA you were using is no longer available, then what (which admittedly is the same issue with vintage hardware). Through hole off the shelf components are a lot easier to solder, troubleshoot and understand.

But that said, flip-side is you can do some really cool things with FPGAs. Consider the Analogue GameBoy console. Now that thing looks pretty awesome I have to say!

But Stephen is right about feature creep (though in the case of the Analogue it could make for a nice mobile chiptune music makin studio!) and, likewise, FPGAs, as far as I'm aware, deal with digital circuits. So for cases like the SID, you can't accurately create the analog filters within the FPGA itself. I would think that might be possible, maybe, with external components but I haven't seen anyone do that (and that'd likely exceed the very limited space required to be pin/socket compatible with the original SID).

All told I like that the X16 is trying to minimize (and if they could I'd imagine they would eliminate) the need for FPGAs. Given availability of video and audio solutions, FPGA is a practical requirement given the other goals, but I do like the approach given the VERA could be removed/upgraded and the rest of the system is basically off the shelf stuff. I rather like that, though I also greatly admire the C256 Fenix and am sad to hear it will likely no longer be maintained. That thing was a retro FPGA monster. Totally different design goals but both I think were incredible designs in their own right. The C256 would have been a chiptune tracker's dream, I expect. But given the more modest limitations of the X16, I think that'll bring about some nice creativity as well.

Share this post


Link to post
Share on other sites
1 hour ago, Falken said:

Apparently it's necessary if I grasp the reason for doing VERA in FPGA correctly:  there are no simple graphics chips off the shelf anymore or am I wrong? I have to rewatch the videos about this again.

What does an FPGA to implement VERA cost?

You are correct, the reason that the VERA is being implemented through an FPGA is because there are no off-the-shelf chips available that make any kind of sense for a modern take on the Commodore 64. So in that case, it's "FPGA or bust". Or building their own bespoke fixed-function board from 74-series chips and a lot of PCB traces. Or fabbing their own chip. And of these three choices, only one is cost effective.

There is a similar problem with audio chips, which is why the VERA has grown to include audio. Though a suitable supply of YM2151 chips were found, and one such chip is still visible on the latest board, these are not actively being manufactured anymore, either, and nobody has been able to find a suitable substitute. I believe the last word (from some while ago) was that the team was still planning to include a YM2151 chip with the system, but I can't be certain of that and the FAQ still says the choice is still up in the air, between the YM2151, an SAA1099, and an implementation in the VERA.

And I should note that there are already folks complaining that the VERA is too powerful for the X16 to drive, that it was designed for 16-bit systems and has too many 16-bit features. And the VERA was originally only a video solution, its scope has since grown to include audio and, I believe, some form of serial port (for KB/M communication, I think?). Obviously, if the team is unhappy with the existing audio options, then it makes sense to go ahead and put that on the VERA's FPGA rather than introduce a second FPGA chip and inflate the BOM. I assume there's a similar reasoning behind the serial communications, but if this is already starting to feel like the FPGA side of things is slowly starting to intrude on the machine, well... then I've made my point about feature creep.

And doubtless, the X16c and X16e will progressively lean further into the FPGA and eventually move most (or all) of the machine into a single FPGA. That's fine, I'll probably still buy an X16e to go with my X16p. But I really want that 'p' model, to be able to point to it and say "That's an X16, and here let me pop it open and I'll show you how it works and what each component does, it's really less magical than you'd think."

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)
5 hours ago, StephenHorn said:

And I should note that there are already folks complaining that the VERA is too powerful for the X16 to drive, that it was designed for 16-bit systems and has too many 16-bit features. And the VERA was originally only a video solution, its scope has since grown to include audio and, I believe, some form of serial port (for KB/M communication, I think?). Obviously, if the team is unhappy with the existing audio options, then it makes sense to go ahead and put that on the VERA's FPGA rather than introduce a second FPGA chip and inflate the BOM. I assume there's a similar reasoning behind the serial communications, but if this is already starting to feel like the FPGA side of things is slowly starting to intrude on the machine, well... then I've made my point about feature creep.

TG16 comes to mind here as it used a 6502 variant but had 16-bit graphics. So it's not unheard of necessarily. I share your concern with the slippery slope of FPGAing all the things, but given cost containment is also a high priority, I think the steps made here are practical ones.

Actually in sort of thinking as I type, the VERA approach does remind be quite a bit of the TG16 (my favorite console largely for its sound). And given the goal is to use as many off the shelf parts as possible, I think the VERA strikes a good balance of offering something power enough to be considered a spiritual successor but not so powerful it defeats the purpose. Having synthesized sound, over say full on digital audio (ala MODs) I think really helps here and is one of the things I'm most excited about the platform. Of course DPCM is supported but with some heavy limitations.

In a perfect world, I would have liked to see something ala the End Game for Ben Eater's video card but now we're talking IBM PC level of size and component counts I would imagine. Certainly not cost containment there.

Back to FPGAs, I think I mentioned in the thread I made about Ben Eater's video card, the Fenix C256 I admire for completely different reasons. It is neat to see what you can do when you sort of FPGA-all-the-things but still keep the brains a 6502 (err 65816 I think in the C256 case). I like the design principles of the X16 more (it seems like a simpler and easier to understand architecture for one) but certainly would have had both on my desk (C256 I believe is now no longer being maintained, alas, given someone had already written a tracker for it).

 

EDIT: Oh now actually I think Stephanie said she was going to stop working on it a while back, but I see their site actually shows there are now two, new, hardware variants of it. So hmm...that's interesting!

Edited by m00dawg
  • Like 2

Share this post


Link to post
Share on other sites
13 hours ago, Falken said:

Hello,

Considering multiple retro computing projects and the aim of this project to work best with off the shelf components, I was wondering.

Multiple Projects like the Spectrum Next or the Mega65 realize their CPUs via FPGAs to be more compatible to the originals.

What are the tradeoffs?

- How much more expensive is a CPU, realized as an FPGA (as e.g. the Spectrum Next does it), compared to an off the shelf current variant and

- how much less compatible are modern variants to the original cpus used in the 80s?

I'm primarily thinking of the Z80 and 6502 here. If you have any pointers to such a comparison, I'll happily pursue that, but I haven't found one yet.

To put this in perspective:

The closest commercial product is the Ultimate 64 by Gideon The U64 motherboard sells for around $200, and adding a case and keyboard would run around $100. I built my own Ultimate 64 system using a brand new Pixelwizard case, my original 64's keyboard, and the Ultimate 64 motherboard - and the Cyclone 4 FPGA on that board is more than capable of handling the video, CPU, 2 8-voice SIDs, and two emulated drives, all at the same time. It also has more than enough memory to emulate a 16MB RAM drive and a 16MB REU simultaneously. 

Likewise, the Turbo Chameleon is a compete, stand-alone computer that can run a Commodore 64, Amiga, Spectrum, and a few other emulations for around the same price. 

And the MiSTer has a much wider range of systems, covering basically every 8-bit micro and 8 and 16-bit video game system of any consequence from the 80s. It costs about $200-300 to set up a fully featured MiSTer system. 

All of these systems could handle the Commander's core; the Ultimate 64 can actually run at 48MHz, and the MiSTer has some co-processing tricks using an ARM CPU on the same package as the FPGA. (The ARM runs Linux, which handles all the keyboard and mouse I/O and shares the display with the FPGA chip.)

Having said all that... it IS a little bit cheaper to build the system from discrete components; on the other side, you can't upgrade the system by simply installing a new core. But I get where David is coming from with this - he doesn't want to build Yet Another FPGA Platform. He wants to build a computer.

 

  • Like 2

Share this post


Link to post
Share on other sites
11 hours ago, TomXP411 said:

...I get where David is coming from with this - he doesn't want to build Yet Another FPGA Platform. He wants to build a computer.

That hits the nail right on the head!

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)
On 1/3/2021 at 3:19 PM, StephenHorn said:

But I think another consideration is the constraints of the project. I mean, if you're not going to use real hardware and live within its limitations, why bother pretending to live in a world of real hardware? Increase the clock speed, change the instruction set, add native 4K resolution with 3D graphics... creep those features all the way to a modern X86-64. In fact, why not skip all this hardware nonsense and stick to making a new microconsole-of-the-week or framework-of-the-month? It's all virtual, anyways.

No. This is a complete misunderstanding. Actually it looks like a rehashed argument about running software emulators in Raspberry Pi or Windows. This is not that argument. The problem with software emulators, apart from common lag issues, is that there are not individual components with their own timings and other specific relationships between components.This becomes very noticeable in playing games. They just never quite seem the same. FPGA emulation solved this. You get, or can get everything working as if  the components are original. Now I only say this as someone whose played games on these, I don't have anything but a cursory knowledge of how it works "under the hood". The MiSTer Project, for example has "cores" for emulation, and these cores can be switched out for emulation of any core you wish. One place to look for a list is misterfpga.org/index.php?sid=2c9bcc6611465cd72a8a7fe97481e0fa or https://github.com/MiSTer-devel/Main_MiSTer/wiki/Arcade-Cores-List Don't just look at the "Arcade Cores", check out the list of FPGA Cores on the MiSTer Wiki on the right. (Note in FPGA world, there's a non-Mister FPGA core for a LISP Machine -not too shabby. I was impressed) Now, you can not only play nearly any game from the past on a MiSTer, but with the "feel" of the game, for under $400 You can spend more and get the correct CRT as well, if you're looking for a more "authentic" experience. Now, I assume the Commodore65 and Next Spectrum and certainly not the Vampire Amiga emulators are meant to be changed to emulate other systems. but I wonder if they could be. If they can't, that just makes MiSTer that much more insanely good.

Now, "why not skip all this hardware nonsense", I think that's a very challenging question when it comes to FPGA. But as far a hacking any of it, you have to learn a Hardware Description Languages like VHDL or Verilog. There is no truly Open Source HDL yet, but that will probably change soon. And note, neither language has got much of the attention of the larger computer language community; they don't have the maturity or nearly the supportive infrastructure of Java, for example. Its often just treated as a hardware band-aid, as can be seen on this chat!

But this ComandX16 project is going to scratch some hardware hackers' itches. And the video system being FPGA- as Adrian of Adrian's Basement pointed out, this can be used on just about any 8-bit machine to be a HDMI (or VGA?) adapter. I've been looking lately and these are often $125+, even the DIY kit: "Tandy 1000, CGA, EGA to HDMI, DVI or VGA Converter" on Tindie is $45 plus shipping. If the ComandX16 video board has the equivalent function on multiple vintage systems, that's a huge bonus. And if its updateable? Crazy good.

But, this is essentially a hardware hacker project by guys my age. It's probably not going to be too difficult to emulate on MiSTer, and if it were a bunch of younger guys who could learn Verilog in just a couple months, I'd say do that. There's very little downside to FPGA. And if you really want to stick to hardware, try a Z80 computer, maybe the RC2014 project and its endless attachments. Even they had to solve the video issue by adding a Raspberry Pi Zero as a terminal, as a sort of "video card". And yes the RPi is several times more powerful than the rest of the computer, but nearly anything else would be several times the cost of the kit.

Edited by cuvtixo

Share this post


Link to post
Share on other sites
On 1/3/2021 at 11:13 PM, Falken said:

- How much more expensive is a CPU, realized as an FPGA (as e.g. the Spectrum Next does it), compared to an off the shelf current variant

I think this depends on market only and may change from time to time. A cheaper but still sufficient FPGA might appear on market tomorrow, and turn the tables in favor of FPGA. Or vice versa. And market prices depend on maaany different factors.

On 1/3/2021 at 11:13 PM, Falken said:

- how much less compatible are modern variants to the original cpus used in the 80s?

Depends on how precise the real chip is recreated inside FPGA. Yeah, Captain Obvious here. )
I always wondered this question myself, but it seems to be not that simple at all even for understanding.

Share this post


Link to post
Share on other sites
On 1/4/2021 at 12:46 AM, StephenHorn said:

And I should note that there are already folks complaining that the VERA is too powerful for the X16 to drive, that it was designed for 16-bit systems and has too many 16-bit features. And the VERA was originally only a video solution, its scope has since grown to include audio and, I believe, some form of serial port (for KB/M communication, I think?). Obviously, if the team is unhappy with the existing audio options, then it makes sense to go ahead and put that on the VERA's FPGA rather than introduce a second FPGA chip and inflate the BOM. I assume there's a similar reasoning behind the serial communications, but if this is already starting to feel like the FPGA side of things is slowly starting to intrude on the machine, well... then I've made my point about feature creep.

Vera does : Video, SD Card interface, Keyboard interface, Digital sound, and Sample sound output. Authentic hardware is the 65C02, ROM, RAM and the Remaining sound chip. So as a way of understanding how it all works its utterly useless beyond the basics of connecting RAM and ROM to a CPU. Which Ben Eater does way more educationally.

Share this post


Link to post
Share on other sites
On 1/4/2021 at 10:41 AM, TomXP411 said:

Having said all that... it IS a little bit cheaper to build the system from discrete components; on the other side, you can't upgrade the system by simply installing a new core. But I get where David is coming from with this - he doesn't want to build Yet Another FPGA Platform. He wants to build a computer.

 

Is it ? The selling point of the later models is that they are going to be cheaper, the newer one is "authentic". Supposedly.

In the end its another box with stuff in. The software and documentation are what differentiates it, what you have now is Yet Another 6502 Computer With Bits Added. I can see the value of authenticity for real old world hardware but not a machine which never existed, especially when most of it is now on FPGA anyway.

Share this post


Link to post
Share on other sites
20 minutes ago, Cyber said:

I think this depends on market only and may change from time to time. A cheaper but still sufficient FPGA might appear on market tomorrow, and turn the tables in favor of FPGA. Or vice versa. And market prices depend on maaany different factors.

Depends on how precise the real chip is recreated inside FPGA. Yeah, Captain Obvious here. )
I always wondered this question myself, but it seems to be not that simple at all even for understanding.

FPGAs are like Microcontrollers. Every few months cheaper, faster, more memory, more units.

As for precision. You takes your money. There are open source 6502s that do sufficient to run any emulator, through to cycle accurate parts. It's not a very complicated CPU ; that's why it's so ubiquitous, it doesn't take much silicon. It was designed to be cheap.

One huge advantage is speed. Clocking a 65C02 at 40Mhz rather than 8Mhz most of the design issues go away.

Share this post


Link to post
Share on other sites
33 minutes ago, paulscottrobson said:

Vera does : Video, SD Card interface, Keyboard interface, Digital sound, and Sample sound output.

I don't remeber keyboard interface been done by Vera.

28 minutes ago, paulscottrobson said:

I can see the value of authenticity for real old world hardware but not a machine which never existed, especially when most of it is now on FPGA anyway.

Well, in a way you have a point. But the deal is in perception. Any machine never existed at some point in time, but the moment it born, it starts its existence. And Vera FPGA is intended to be treated as a solid chip after its design is set in stone. Pretty much like Commodore SID or VIC , which also were a unique chips disigned specifically for Commodore computer.

And we got carried away from topic. This is here actually a non-X16 thread in a non-X16 group. )))

Share this post


Link to post
Share on other sites
9 hours ago, Cyber said:

And we got carried away from topic. This is here actually a non-X16 thread in a non-X16 group. )))

Yeah, that's probably my fault. 😛 I saw mentions of other new 6502-based systems, and in my head I immediately drew analogies to this one.

Share this post


Link to post
Share on other sites
12 hours ago, Cyber said:

And Vera FPGA is intended to be treated as a solid chip after its design is set in stone.

I thought about asking what simple "real" graphics chips exist but I made it a separete thread. Hope no one minds.

Share this post


Link to post
Share on other sites
20 hours ago, StephenHorn said:

Yeah, that's probably my fault. 😛 I saw mentions of other new 6502-based systems, and in my head I immediately drew analogies to this one.

There sseems to be no problem designing a 6502 computer that simply computes but making one that has simple graphics and sound without resorting to FPGAs seems to be next to impossible.

Share this post


Link to post
Share on other sites
4 hours ago, Falken said:

There sseems to be no problem designing a 6502 computer that simply computes but making one that has simple graphics and sound without resorting to FPGAs seems to be next to impossible.

I don't think it's impossible, just very expensive and likely pretty large due to all the parts required.

Share this post


Link to post
Share on other sites
5 hours ago, Falken said:

There sseems to be no problem designing a 6502 computer that simply computes but making one that has simple graphics and sound without resorting to FPGAs seems to be next to impossible.

You basically have two other options, both orders of magnitude more expensive: ASIC (but that expense can be mitigated by volume) or discrete logic (which will not only be much more expensive, but require a large expansion card, taking up one of the slots by necessity)

Share this post


Link to post
Share on other sites
On 1/9/2021 at 4:52 PM, Falken said:

There sseems to be no problem designing a 6502 computer that simply computes but making one that has simple graphics and sound without resorting to FPGAs seems to be next to impossible.

I think it's possible, but your video and sound solutions would be expensive (like was noted in previous answers) or very primitive.

There are off-the-shelf ready video and audio soultions on the market with reasonable prices, but usually they either have low specs and primitive features or they have some limitations. Some of them are mentioned in your Simple GPU thread.

Also it is possible to build very simple and not expensive video card yourself. Watch Ben Eaters video about world's worst video card (and its part 2, part 3 and part 4). Ben showed just a proof of concept, by I think it can be improved to run with tolerable performance without making it expensive.

Also I think a similar sound card can be done. I know many people wish Ben to build word's worst sound card. I hope he will. )

Edited by Cyber
typos

Share this post


Link to post
Share on other sites
On 1/10/2021 at 6:57 PM, Cyber said:

Watch Ben Eaters video about world's worst video card (and its part 2, part 3 and part 4).

I already did and was really impressed. It reminded me of the early EGA and Hercules cards I used. I wish I could build something like that. I am only now slowly coming back to a more low-level approach to computing and try to program a little ATMega gadget. So I might sometimes ask questions that are very low level or are ignorant of certain diskussions that already happened.
 

On 1/10/2021 at 6:57 PM, Cyber said:

Ben showed just a proof of concept, by I think it can be improved to run with tolerable performance without making it expensive.

"Expensive" is a relative term, depending on the buyer. Most of us here are probably adults with some expendable income, so for a machine we really want a couple of a 100€ is probably affordable. For something with a broader appeal you'd probably need a price < 100 € to attract parents to just get "something educational" for their kids. Ben's card alone as individual components is 100$ . The Arduino managed to get into that particular nieche because it was < 50€ on average I think.

 

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Please review our Terms of Use