It's an educational board. I made a custom educational board for my kid a few years back (with a 16 bit digital CPU though) just to have something physical, with the possibility to be underclocked to extreme values and a bunch of LEDs in key points to illustrate the principle. I could have used an emulator, but something like that is 1000x better as it's bare metal and doesn't have any black magic under the hood.
The difference between the words emulate and simulate are difficult to grasp for me. One comes from the latin `aemulus` and the other from `similis`. One talks about imitation and the other about similarity. When people discuss the differences between these terms, they say things like one aims to be able to replace a thing, while the other aims to replicate the thing's internal state. Or, that one aims to replicate the external behaviour, and the other aims to replicate the internal state.
I somewhat discard these interpretations. My conclusion, is that emulation is about making something equal to something else under some circumstance, while simulation is about approaching emulation (under some circumstance), but not aiming or achieving complete emulation (under that circumstance). Basically, the difference between becoming equal and becoming similar. This is counter to popular usage I think, but popular usage is a bit of a mess, in my opinion.
The problem with simulation is that it might produce artifacts that a user might exploit ("hey, this is cool!") and then finds out that it only exists in the simulation, not in the real world.
The concept of perfectly accurate emulation lies at the core of formal definitions of computing such as Turing’s seminal “Turing Machine” introduced in “On Computable Numbers” way back in 1936.
I went down this rabbit hole recently and came to the conclusion that their is no real difference between those. When does something cease being an emulation and turn into a simulation?
Analog computers don't have infinite precision due to the presence of noise, so digital computers can emulate that with high-enough precision arithmetic.
Yes but there are equations (like stiff differential equations) that are extremely difficult to solve accurately with a digital computer but which are trivial on an analog computer.
Simulation is about mimicking another device or system. Emulation is about setting up a system that is logically indistinguishable from another irrespective of its implementation substrate and details thereof.
A thing is successfully ‘emulated’ when it is logically impossible to distinguish the difference between the system and its emulated counterpart.
Since, as you said in a sister reply, even one analog computer might be slightly different from another analog computer, and thus unable to emulate it, if you had the outputs of two different computers, one analog and one digital one simulating it to a high precision (higher than the noise of the analog one) how could you distinguish which was digital and which was analog?
If you can't, then this is a meaningless semantic discussion. The digital computer can emulate the analog one as well as any other analog computer can.
What was that application from a long time ago that had analog wiring sound systems that you had to manually (on screen) connect a wire between ports... and you could flip the rack from front to back?
--
One of my best friends growing up built a ton of analog mixers IRL while working at Melekko Heavy Industries... (I helped him a tiny bit create the CAD files for the CNC for the faceplates.)
Sure you can, you only need to simulate it to near some orders around the planck constant. And then you can go even further. Analog does not have infinite precision either
But due to limitations of physics, nothing will be continuous.
Is amount of water in a bucket continuous? No, you can count each individual atoms. So you can simulate that by using large enough integers. Same principle applies everwhere
These are assumptions. If you think the assumption of continuity is ridiculous, note that the definition of universal Turing machines requires an infinitely long tape (infinite memory), which of course conflicts with the finite memory of any actually implementable digital computer.
I am not saying you need a turing machine, a finite one will do since we are also dealing with a finite analog system. If analog system is finite and has finite states that we can measure, then a finite computer will just do fine