FPGA vs Real, what is the tradeoff?

Feel free to talk about any other retro stuff here including Commodore, Sinclair, Atari, Amstrad, Apple... the list goes on!
Post Reply
Falken
Posts: 57
Joined: Sun Jan 03, 2021 8:33 pm

FPGA vs Real, what is the tradeoff?

Post by Falken »


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.

mrdoornbos
Posts: 39
Joined: Sun Sep 20, 2020 12:04 am

FPGA vs Real, what is the tradeoff?

Post by mrdoornbos »


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).

User avatar
StephenHorn
Posts: 565
Joined: Tue Apr 28, 2020 12:00 am
Contact:

FPGA vs Real, what is the tradeoff?

Post by StephenHorn »


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.

Developer for Box16, the other X16 emulator. (Box16 on GitHub)
I also accept pull requests for x16emu, the official X16 emulator. (x16-emulator on GitHub)
mrdoornbos
Posts: 39
Joined: Sun Sep 20, 2020 12:04 am

FPGA vs Real, what is the tradeoff?

Post by mrdoornbos »



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  

 

Falken
Posts: 57
Joined: Sun Jan 03, 2021 8:33 pm

FPGA vs Real, what is the tradeoff?

Post by Falken »



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. ?

m00dawg
Posts: 333
Joined: Wed Jul 08, 2020 12:41 am
Contact:

FPGA vs Real, what is the tradeoff?

Post by m00dawg »


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.

Author of Dreamtracker (https://www.dreamtracker.org/)
Check Out My Band: https://music.victimcache.com/
User avatar
StephenHorn
Posts: 565
Joined: Tue Apr 28, 2020 12:00 am
Contact:

FPGA vs Real, what is the tradeoff?

Post by StephenHorn »



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."

Developer for Box16, the other X16 emulator. (Box16 on GitHub)
I also accept pull requests for x16emu, the official X16 emulator. (x16-emulator on GitHub)
m00dawg
Posts: 333
Joined: Wed Jul 08, 2020 12:41 am
Contact:

FPGA vs Real, what is the tradeoff?

Post by m00dawg »



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!

Author of Dreamtracker (https://www.dreamtracker.org/)
Check Out My Band: https://music.victimcache.com/
TomXP411
Posts: 1760
Joined: Tue May 19, 2020 8:49 pm

FPGA vs Real, what is the tradeoff?

Post by TomXP411 »



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.

 

m00dawg
Posts: 333
Joined: Wed Jul 08, 2020 12:41 am
Contact:

FPGA vs Real, what is the tradeoff?

Post by m00dawg »



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!

Author of Dreamtracker (https://www.dreamtracker.org/)
Check Out My Band: https://music.victimcache.com/
Post Reply