mothergoose729 wrote on 2022-01-21, 16:37:
Each individual chip in a SNES for example is not described exactly in HDL, where each chip has a different set of timing and clock cycles and the interactions between each chip are described faithfully, instead operations are approximated and batched together at acceptable timing
It's not approximated, it's expressed in terms of different hardware in use, and there's really no practical reasons (logic utilization, routing efficiency, etc) to express real chips separately, unless those parts would be reused in another project.
Z80 is an example of something that could be used in many systems, so it's a project on its own, exposing the interface (wires/signals) as in real Z80. You could model some other hw to attach to that bus and the system would behave exactly the same as if real Z80 was in use, as observed on the bus, but you don't look at the internals - there's entirely different components.
mothergoose729 wrote on 2022-01-21, 16:37:
- just like in software emulators.
I beg to differ. In fpga it's not batched. It delivers the required computations at the defined observable interfaces exactly at the moments where those computations would happen in original hardware. This is why it needs a puny resources compared to software emulations.
mothergoose729 wrote on 2022-01-21, 16:37:
It's just that a mister is not a hardware clone, it's emulation.
It's definitely not a replica, but it is a hardware clone. You can call it a fake/counterfeit, or even bad chinese clone because it doesn't use the chips that are long gone.
But it's a hardware clone, imitating the observed behavior that was inherent to the real system, just built of different ICs. The HDL modules would be the new "chips", and for practical reasons functionality would be packed in a way that is different from the original hw which had to use off-the-shelf components. This doesn't make this clone any less hardware.
mothergoose729 wrote on 2022-01-21, 16:37:
It's not more accurate in any meaningful way, it's just different. The mister has a number of advantages to PC emulation but accuracy strictly speaking isn't one of them.
Which accuracy do you have in mind?
And you still can't deny the latency associated with SW emulation. Removing the OS out of SW performance equation can't remove the latency when simulation interacts with real world even in theory.
Fpga implementation simply has no this treat, the events on exposed/observable interfaces happen in real time exactly at the required moment down to some nanoseconds. Because it is a hardware and not a data model simulation that spins in a higher-level virtual machine with unpredictable timings.
P.S.
Anyway, defending the mister never was my intent. Perhaps we're simply on different pages about "emulation" word definition.
For me the emulation is the SW stuff, when there is no hardware implementing the functionality, but there is a model expressed as the code for the machine running simulation.
While existing hardware would mean either clone, or "imitation" if the clone word means absolute copy for someone else. After all, all the variety of ZX Spectrums clones out there, built with totally different chips except for Z80 - are all called "clones" and not emulations.