

For example the flight simulator "appears" to be a real flight to the user, although it does not transport you from one place to another.Įmulator, on the other hand, actually " does" what the thing being emulated does, and in doing so it too " appears to be doing the same thing". It "appears"(a lot can go with this "appears", depending on the context) to be the same as the thing being simulated. Simulator mimics the activity of something that it is simulating.

SPICE, for example, cannot substitute for an actual electronics circuit (even if assuming there was some kind of magical device that perfectly interfaces electrical circuits to a SPICE simulation.)Ī simulation does not always lead to emulation -Ī simulator is an environment which models but an emulator is one that replicates the usage as on the original device or system. In particular, a simulation may run far slower than real-time. A simulation's focus is more on the modeling of the internal state of the target - and the simulation does not necessarily lead to emulation. They model as much as possible every detail of the target to represent what the target does in reality.ĮDIT: Other responses have pointed out that the goal of an emulation is to able to substitute for the object it is emulating. There's no need to model the arcade machine or a terminal in detail to get the desired emulated behavior.įlight Simulator is a simulator SPICE is an electronics simulator. MAME is an arcade game emulator Hyperterm is a (not very good) terminal emulator. In practice, there may some shortcuts to the simulation for performance reasons - that is, some internal aspects of the simulation may actually be an emulation. Ideally, you should be able to look into the simulation and observe properties that you would also see if you looked into the original target. The end result of a good simulation is that the simulation model will emulate the target which it is simulating.

Simulation, on the other hand, involves modeling the underlying state of the target. The internal state of the emulation mechanism does not have to accurately reflect the internal state of the target which it is emulating. Emulation is the process of mimicking the outwardly observable behavior to match an existing target.
