Proteus Virtual System Modelling (VSM) combines mixed mode SPICE circuit simulation, animated components and microprocessor models to facilitate co-simulation of complete microcontroller based designs.
The ‘Proteus VSM for PIC16’ product includes the following main software modules:
The following is a current list of supported variants in the PIC16 family:
We believe our simulation models are the most accurate and the most complete on the market today. A summary of model capabilities is listed below:
- Fully simulates the entire instruction set.
- Supports all port and other I/O pin operations.
- Supports all timers including watchdog timer, sleep mode and wake-up from sleep.
- Supports both Capture-Compare-PWM (CCP) modules in all modes and ECCP modules.
- Supports Parallel Slave Port (PSP) module on appropriate devices.
- Supports MSSP in both the SPI mode and the I2C master and slave modes.
- Supports Standard 10-bit Analogue-to-Digital Conversion (ADC) module including support for voltage reference pins.
- Supports additional features for extended ADC module with 12-bit resolution and differential/single ended modes in appropriate variants.
- Supports Analogue Comparator modules including support for internal and external voltage references including FVR module.
- Supports USART in all modes and EUSART for appropriate variants.
- Supports internal code and data EEPROM memory inc. code protection and data persistence.
- Supports all interrupt modes.
- Supports the LCD controller module in appropriate variants.
- Supports the Configurable Logic Cell (CLC) module in appropriate variants.
- Supports the Pulse Width Modulation (PWM) module in appropriate variants.
- Supports the Numerical Controlled Oscillator (NCO) module in appropriate variants.
- Supports the Complementary Waveform Generator (CWG) module in appropriate variants.
- Supports the Ultra Low Power Wake Up module in appropriate variants.
- Supports the Digital Signal Modulator (DSM) in appropriate variants.
- Supports the Capacitive Sensing Module (CSM) in appropriate variants.
- Supports Operational Amplifier module (OPA) in appropriate variants.
- Supports Digital to Analog Converter (DAC) either 5 or 8-bit in appropriate variants.
- Supports Programmable Switch Mode Control (PSMC) module(s) in appropriate variants.
- Supports Complementary Output Generator (COG) in appropriate variants.
- Internally generated processor clock for performance. Event timing accurate to one clock period.
- Provides internal consistency checks on code (e.g. execution of invalid op-codes, illegal memory accesses, stack overflow checking, etc.).
- Fully integrated in to the VSM source level debugging system.
- Fully integrated into the Proteus Diagnostic Control System.
- Enhanced PIC16 core architecture including Program and Data memory extentions, 14 new instructions, linear mapping, enhanced indirect addressing and automatic interrupt context save.
The following is a listing of known limitations in the current version of the PIC16:
- The external programming interface (PGC/PGD pins) are not modelled.
- Brown-out detection is not modelled.
- The new I2C features (SSPCON3 register) are not supported. Only bits PCIE, SCIE, SBCDE and BOEN are modelled. I2C will work in legacy mode only for remaining bits.
- HFINTOSC as CLC1 input is not supported for efficiency reasons.
- For efficiency reasons the CSM analog oscillator is not modeled. The capacitance on the CPSx inputs is computed more efficiently, though.
Supported Third Party Compilers
Proteus VSM models will fundamentally work with the exact same HEX file as you would program the physical device with. However, far more debugging information is available when using a compiler to write the firmware and providing these object files to Proteus in place of the HEX file provides a much richer working environment.
We recommend you use the free Labcenter VSM Studio IDE. This will greatly simplify the task as it will automatically configure supported compilers to work with a Proteus VSM simulation.
If you prefer to work inside your own IDE then you will need to set your compiler options manually. After compiling for debug, all you need to do is specify the debug file from the compiler as the program property of the microcontroller on the schematic.
VSM Studio supported toolchains