5/10 What's the difference between a simulator and an emulator?
\_ Emulation is along the lines of "perform all the same actions as"
while simulation is "a system or enviornment where conditions are
the same." The distinction is highly contextual. And as you give
absolutely no context, your question is pretty unanswerable.
\_ no, it doesn't.
\_ are there simulators that do not try to "perform all the same
actions as" the design under simulation? is non-trivial
simulation ever performed where "a system or environment where
conditions are the same"?
\_ Don't be daft. Without valid context, this discussion means
nothing. "But those words can be used almost interchangibly!
And they might even be SYNONYMS!" You're beating a dead horse
behind chicken coop doors.
\_ yes. The Palm OS Simulator is one example.
\_ Emulator: VirtualPC, VMWare, etc.
Simulator: VCS, VerilogXL, etc.
\_ an emulator tries to mimic hardware.
\_ and a simulator doesn't? try again.
\_ No. He means mimic in that the host environment pretends
to be capable of what the guest environment is capable
of giving an illusion to the user. For example, VirtualPC
gives the user an illusion that a Mac is running Windows
software. Simulators make no pretense of doing so. For
example, VCS is a verilog simulator. It doesn't allow
the computer it's running on to mimic the hardware it's
simulating.
\_ what's the point of running a simulator if it doesn't
mimic the hardware it's simulating? if i give you a
black box, how can you tell if there's a simulator or
an emulator running underneath?
\_ We use an RTL simulator for ASIC design so that
we can pass it some test vectors (similar to how
things would happen in real life) and view the
results in a waveform viewer. Simulators are
orders of magnitude slower than a real machine
but the purpose is not to have a usable system
but something which you can debug through a
waveform viewer. The engineers at Intel, for
example, are not using RTL simulators to run
WindowsXP on a chip that doesn't exist. That
would be impractical. They use it to run small
bits of code for design verification purposes.
\_ ah, an asic "expert". have you done hardware/
software co-design, where the low-level driver
and firmware is developed on the hardware simulator?
and they call that... co-emulation? no! it's
called co-sim, son, as in co-simulation. and just
because win-xp is too bloated and modern processors
are too large, that doesn't mean that no os has
ever been booted in simulation in the history of
hardware design and simulation.
\_ AMD used to boot NetBSD on Hammer simulations
regularly.
\_ speed. a simulator can be faster than an emulator at
the expense of accuracy.
\_ ah, speed. so let's say you have an OS running
on a cpu and system that is being simulated on
a (say) verilog simulator. are you simulating or
emulating the OS? can a simulator emulate? can
an emulator simulate?
\_ I don't think there's always a clear-cut
distinction.
\_ Maybe he means stimulator. Oh, yeah. That mimics hardware
also. |