difference between emulator & simulator
The simulator simulates the behavior of your system through software, so you can simulate a program that will run on a microcontroller or on a FPGA. And you can simulate the behavior of a hardware system using mathematical equations.
on the other hand, the emulator uses hardware to emulate the behavior of your system. For example, if you want to know the way your program will run on a specific microcontroller (which will be a part of a car afterwards) you get an emulator for that microcontroller and connect the microcontroller to it (you may need to connect the emulator to the PC) and see the real output. With an emulator you can see the behavior in different stats of operations, like different temperatures or when it is connected to other peripherals.