Gpsim is a full-featured software simulator for Microchip PIC microcontrollers.
Gpsim has been designed to be as accurate as possible. Accuracy includes the entire PIC - from the core to the I/O pins and including ALL of the internal peripherals. Thus it's possible to create stimuli and tie them to the I/O pins and test the PIC the same PIC the same way you would in the real world.
Gpsim has been designed to be as fast as possible. Real time simulation speeds of 20Mhz PICs are possible.
Gpsim has been designed to be as useful as possible. The standard simulation paradigm including breakpoints, single stepping, disassembling, memory inspect & change, have been implemented. In addition, gpsim supports many debugging features that are only available with in-circuit emulators. For example, a continuous trace buffer tracks every action of the simulator. Also, it's possible to set read and write break points on values (e.g. break if a specific value is read from or written to a register).