Gpsim is a simulator for Microchip (TM) PIC (TM) microcontrollers. It supports most devices in Microchip's 12-bit, 14bit, and 16-bit core families.
Gpsim can be controlled from either a graphical user interface (GUI), a command line interface (CLI) or by a remote process.
Typical debugging features like breakpoints, single stepping, disassembling, memory inspect and change, and so on are all supported. In addition, complex debugging features like real time tracing, assertions, conditional breaks, and plugin modules to name a few are also supported.
Gpsim supports dynamically loadable modules such as LED's, LCD's, resistors, etc. to extend the simulation environment beyond the PIC.