It would be nice if people would stop pretending CPUs implemented on FPGAs are somehow not real.
It would be nice if people would stop pretending CPUs implemented on FPGAs are somehow not real.
The whole "no FPGA" thing is kind of funny when you see people reach for microcontrollers to do their video display component, and those microcontrollers themselves often greatly outperform the main CPU. What's the major difference between dropping in an MCU vs an FPGA?
Aside: A friend of mine has reimplemented the whole C64 VIC-II VDP in Verilog ("VIC-II Kawari") complete with a test harness built around VICE, etc, amazing work; it would be so cool to see someone pony up the cash to get something like that fabbed in fresh new silicon. Then we could have a "true" retro video display controller so we can have a truly authentic neo-retro computer :-)
If all you want is the functionality, and don't care how it works, then why in the world even bother emulating, or implimenting, a z80 with an fpga?
Either use emulation software if you just want the experience, or just use normal contemporary hardware and software with no vintage aspect.
Are you actually running a z80 to run a spreadsheet for actual productivity? Of course not. So you must be using a z80 for some other reason than it's actual functionality. So, the works matter after all.
Pointful uses of an fpga wrt to vintage stuff is replicating parts that can't be purchased any more, or as a rapid development environment, emulating a system so you can develop some other hardware or software for that system etc. Emulating a cpu or a system which still exists, just to use it? Pointless. Any justification mentioning availability, size, cost, reliability, convenience etc, are even 10 or 100x better served by pure software. The amount of cases where the ultra cycle accuracy matters these days is actually quite small as both the emulator software and the contemporary cpus have gotten better while the target has not gotten any harder.
Yes, a cpu implemented on an fpga is somehow not real, It's more real than pure software, but it's still essentially pointless in most cases, because it serves neither the "I just want the experience" as efficiently as pure software, nor the "I want to run the original hardware" at all, not merely less efficiently.
Arguing that a z80 implemented on an FPGA is an "emulated" z80 is as nonsensical as arguing that the Agon's new ez80 running in compatibility mode is an "emulated" z80.
> a cpu implemented on an fpga is somehow not real, It's more real than pure software, but it's still essentially pointless in most cases, because it serves neither the "I just want the experience" as efficiently as pure software, nor the "I want to run the original hardware" at all
The ez80 included with the Agon light was introduced to the market during the George W Bush presidency. That board is all surface-mount electronics with nothing upgradeable or easily repairable on it. It is cool and fun but it's not "the experience" or "the original hardware." (it is its own thing, and that's cool)
> not merely less efficiently
I'm not an EE but it seems to me the "efficiency" you're talking about here does not involve dollar cost, parts count, or electrical current, so that's interesting.
If you implement all the same logic, then it's all the same logic, and by your own logic, the implementation medium doesn't matter.
Performance may differ but that's a seperate facet from "real" if you are going to allow hardware emulation to count as "real".
Even though a gate provided by an fpga is hardware, it's totally different hardware from that same gate in a native ic. You just get a very similar outward effect, IE, a very good emulation.
This conversation is stupid.
And the ez80 is totally different hardware than a classic z80. It seems like a religious argument that a z80 core implemented on an FPGA, offering exactly the same registers and features as a classic z80, is somehow less "real" than the ez80 (which doesn't offer the exact same features as a z80) simply because the FPGA might (or might not) be reprogrammable to a different set of gates.
> You just get a very similar outward effect, IE, a very good emulation.
An emulator is a thing that exists in the world, and this is not it. Someone in another thread mentioned implementing a z80 on an ESP32. That is an emulator.
> This conversation is stupid.
Insofar as it's about terminology... yeah, okay, your word.
Also worth considering is that the CPUs themselves are often still available, so what is the incentive to stuff the CPU into an FPGA? Video chips are more difficult to come by, so many projects have to make some sort of compromise.
I'm certain that anyone capable of really understanding the operation of an 8-bit machine without an FPGA is capable of understanding the operation of one with an FPGA. There are tools for programming an FPGA that someone who previously assembled their own boards might not want to learn about, but it's not like they're going to be baffled by them.
I think what's happening here is people want to make and use something with period-correct physical parts for purely aesthetic, nostalgic reasons. I really think that is fine, it's the strangely inaccurate way some people refer to FPGAs that is irksome.
> Video chips are more difficult to come by, so many projects have to make some sort of compromise.
This use of the word "compromise" illustrates the priority aesthetics takes in these projects. The video chip based on a modern microcontroller isn't really the compromise, in engineering terms the fact that you're not using a board with fewer parts and lower power consumption that emulates a z80 on that microcontroller (or something) is the compromise.
> Also worth considering is that the CPUs themselves are often still available, so what is the incentive to stuff the CPU into an FPGA?
Potential ability to make a CPU with a higher clock rate and a board with fewer parts, and all the other reasons you'd use an FPGA.
If the cycle timing and user-facing I/O pins are the same, the main differences resulting from implementation would presumably be in areas like form factor and power dissipation.
I'm sure I've seen ESP32-based emulators running CP/M (or DOS for that matter) discussed on HN and elsewhere.
(and also better highlights why this chip is ??? ... as it has a 240MHz ESP on board. Why not forget about the 8bit microcontroller and just use the ESP? :) )