The advantages and drawbacks of using the Microchip simulator for debugging are listed here. On the plus side, it’s free and supports all Microchip microcontrollers and digital signal controllers. It needs only a PC to operate. Breakpoints can be set and code can be single-stepped, registers and memory can be monitored and changed. Simulated peripherals allow complex scenarios to be modeled. And timing tools such as a stopwatch and trace stamp can be used for performance measurement and analysis. The downside of a simulator is that probably won’t run as fast as modern high speed embedded controllers. Depending upon the complexity of the situation, the speed of the PC will determine the speed of the simulation. Simulation is designed to be very fast, but still hundreds, if not thousands, of operations must computed for each instruction and peripheral simulated. Ultimately, the simulation can be quite complex, with multiple inputs interrupts and waveforms interacting with the embedded controller while the contents of registers are being logged to files. Configuring an accurate model for a complex real world application may be challenging.