logoalt Hacker News

haunter02/19/20253 repliesview on HN

What’s the difference between an emulator and a simulator in this context?


Replies

bityard02/19/2025

There is LOADS of gray area, overlap, and room for one's own philosophical interpretation... But typically simulators attempt to reproduce the details of how a particular machine worked for academic or engineering purposes, while emulators are concerned mainly with only getting the desired output. (Everything else being an implementation detail.)

E.g. since the MAME project considers itself living documentation of arcade hardware, it would be more properly classified as a simulator. While the goal of most other video game emulators is just to play the games.

show 3 replies
o11c02/19/2025

In theory, an emulator is oriented around producing a result (this may mean making acceptable compromises), whereas a simulator is oriented around inspection of state (this usually means being exact).

In practice the terms are often conflated.

show 2 replies
amszmidt02/20/2025

I think it is more about design, emulation mimics what something does. A simulator replicates what something does.

It is a tiny distinction, but generally I'd say that a simulator tries to accurately replicate what happens on an electrical level as good one can do.

While an emulator just does things as a black box ... input produces the expected output using whatever.

You could compare it to that an accurate simulator of a 74181 tries to do it by using AND/OR/NOT/... logic, but an emulator does it using "normal code".

In HDL you have a similar situation between structural, behavioral design ... structural is generally based on much more lower level logic (eg., AND/NOR/.. gates ...), and behavioral on higher logic (addition, subtraction ...).

"100%" accuracy can be achieved with both methods.