In embedded systems design, simulation tools are often used to emulate the behavior of a processor. One traditional method for processor emulation is through the use of an in-circuit emulator (ICE), which is a hardware device that allows a processor to be debugged in real-time. Other types of simulators used in embedded systems include CPU simulators and low-level language simulators.