Release Notes for MPLAB® X Simulator
MPLAB® X IDE v2.20
September 2, 2014
Table of Contents
2 Device Core and Peripheral Support
5 Repairs and Enhancements Made in v2.20
Click the link below to see device support for the simulator (SIM).
In MPLAB X IDE, two support lights for the simulator are visible in the Project Properties window next to the Simulator. The first light represents core (instruction set) support and the second light represents peripheral support. The colors mean:
· Green – full support
· Yellow – beta support
· Red – no support yet
The following features aren’t simulated for the PIC32MX Core:
· Prefetch cache
· PB Clock divider
· Bus matrix configurations
· Flash wait states
ADC operates on PB Clock, which is CPU clock/PBDIV. For other peripherals, PB Clock is the same as CPU Clock.
For additional core support limitations, see the Simulator on-line help (Limitations>General Limitations) and Known Problems below.
Check the Project Properties window for core support of other devices.
For core support limitations, see the Simulator on-line help (Limitations>General Limitations) and Known Problems below.
For devices that support Extended Data Space, EDS is not currently supported (SIMX-136).
For peripheral support limitations, see the Simulator on-line help (Limitations>General Limitations) and Known Problems below.
See the Readme for MPLAB X IDE.htm for IDE support information.
Issue |
Description |
Device |
SIMX-820 |
On Mac OSX, receive "Error: null" when firing asynchronous stimulus. |
16F1513 |
SIMX-817 |
EEPROM 'Erase 4 words' and 'Erase 8 words' don't work correctly for PIC24FV32KA304 family and PIC24F16KL402 family |
PIC24FV32KA304 family, PIC24F16KL402 family |
SIMX-814 |
Simulator is wrong for PIC24F08KL301 family when using SOSC pins as digital I/O when SOSCSRC is not cleared |
|
SIMX-813 |
Simulator generates exception on setting WR bit of NVMCON register in PIC24FV32KA304 family and PIC24F16KL402 family |
|
SIMX-809 |
ADC Digital Comparator interrupt flags(AD1DCnIF) are not set on Digital Comparator events(DCMPED) for PIC32MZ devices |
PIC32MZ Family |
SIMX-808 |
Setting RQCONVRT bit of AD1CON3 register doesn't trigger conversion of analog input corresponding to ADINSEL bit field of AD1CON3 register |
PIC32MZ family |
SIMX-807 |
For dsPIC Motor Control devices, in the PWM Up/down Count w/ Double Update mode, Duty cycle doesn't get updated when PTMR matches PTPER, given that PDCx is loaded with a new value while PTMR is counting up |
33FJ MC devices, 30F non-SMPS devices |
SIMX-769 |
The simulator does not set TMR1IF for PIC12LF1840T48A after a Timer 1 overflow event occurs. |
|
SIMX-750 |
State of PORTX does not change reliably with changes to TRISX in simulator. |
PIC16F883 |
SIMX-748 |
The PIC16(L)F1713/6/7/8/9 is missing the NCO peripheral. |
|
SIMX-747 |
The PIC12(L)F1612 is missing the OSC peripheral. |
PIC12(L)F1612 |
SIMX-741 |
Only 4 level UART Receive and Transmit buffer implemented for PIC32MZ devices. These devices support 8 level buffer. |
PIC32MZ family |
SIMX-703 |
TMR0 improperly continues to count after the high- to- low pulse when the setting for external clock source is set. |
PIC16L/F1704(1708) |
SIMX-696 |
The "Wake Up From Pin Change" peripheral is missing on the PIC16F506. |
PIC16F506 |
SIMX-694 |
The TMR2/4/6 peripherals are missing on the [12/16](L)F1613/2 devices. |
[12/16](L)F1613/2 |
SIMX-69 |
The software reset unlock sequence is not implemented in the simulator for PIC32MX devices. |
PIC32MX |
SIMX-673 |
TMR0 improperly continues to count after the high- to- low pulse when the clock source bit is set to external clock. |
PIC16L/F1704(1708), PIC16(L)F1454/5/9 |
SIMX-564 |
The comparator peripheral is not implemented. |
PIC16(L)F1708(4) |
SIMX-549 |
If a breakpoint is placed on an instruction that takes more than one cycle, then it will not halt at the correct PC for PIC32 devices |
|
SIMX-496 |
Setting DC1B bits of CCP1CON register disables the CCP1CON functionality. |
16F1939 |
SIMX-453 |
Hazard Barrier instructions are not implemented in simulator for PIC32 devices |
PIC32MX |
SIMX-228 |
Functionality of RDHWR instruction is not implemented. In simulator, it is implemnted as NOP for PIC32MX |
PIC32MX Family |
SIMX-141 |
USB pins are allowed to be set to digital output pins. |
PIC32MX6xx |
SIMX-130 |
rfPIC devices are not supported in the MPLAB X IDE Simulator. |
rfPIC12C509AF rfPIC12C509AG rfPIC12F675F rfPIC12F675H rfPIC12F675K |
SIMX-97 |
Temporal Proximity(IPTMR) register continue to decrement even if low priority interrupt is disabled for PIC32MX devices |
PIC32MX Family |
The following is a list of known problems. For information on common problems, error messages and limitations please see Troubleshooting in the online help file for the Simulator.
At this time the PIC32 simulator has some variations in cycle accuracy when compared to the real silicon. The PIC32 simulator does not simulate things like the cache, pre-fetch buffer, wait states and Bus matrix divisions. The Bus matrix is fixed at 1:1 with the processor clock. This can have an effect of making algorithm timing loops appear to be slower than they are in real silicon. Each instruction is accurate in execution and timing in itself.
Issue |
Description |
Device |
SIMX-819 |
Alternate timer source configuration handling is not implemented for PWM mode of Output Compare module of PIC32MZ devices |
PIC32MZ family |
SIMX-816 |
Timer6 Interrupt Flag(T6IF) doesn't get set on period match for PIC32MZ devices |
PIC32MZ family |
SIMX-798 |
For PIC32MX5xx/6xx/7xx devices, once the UART transmit and receive interrupts are set, they can’t be cleared in the simulator |
PIC32MX5xx/6xx/7xx |
SIMX-735 |
If multiple sim projects are loaded in MPLAB. A sim32 project will fail if a non-sim32 project is ran and finished first. |
PIC32* |
SIMX-732 |
[PIC32-OC] <Depends on UDBC-852> Output compare2 output is not connected to RD1 when OC2 is mapped to RPD1. |
PIC32MX330/350/370/430/450/470 devices |
SIMX-715 |
Simulation of TBLWTL instruction on some PIC24EP devices produces trap error. |
PIC24EP |
SIMX-668 |
When loading certain invalid projects the simulator prevents MPLAB X from displaying the settings pages. (How the invalid project was created in the first place is unknown.) |
|
SIMX-666 |
The PWM peripheral not implemented for some MCP devices. |
MCP19110, MCP19111, MCP19114, MCP19115 |
SIMX-643 |
Flash erase operation on certain unprotected memory region is not working for PIC32MX1xx/2xx. |
PIC32MX1xx/2xx |
SIMX-642 |
Attempting to write to boot flash is causing a Java language exception in the simulator for PIC32MX1xx/2xx devices. |
PIC32MX1xx/2xx |
SIMX-591 |
OSC peripheral not implemented for various PIC32MZ* devices. |
PIC32MZ1024ECG064 PIC32MZ1024ECG100 PIC32MZ1024ECG124 PIC32MZ1024ECG144 PIC32MZ1024ECH064 PIC32MZ1024ECH100 PIC32MZ1024ECH124 PIC32MZ1024ECH144 PIC32MZ1024ECM064 PIC32MZ1024ECM100 PIC32MZ1024ECM124 PIC32MZ1024ECM144 PIC32MZ2048ECG064 PIC32MZ2048ECG100 PI |
SIMX-525 |
[SIMX IOpin Window] All signal names, under owner column, are in bold format instead of just the owner signal made bold for non-remappable signals in ubuntu 12.10. This is caused due to bad fonts. To remove these bad fonts, use the following command: sudo apt-get remove fonts-unfonts-core |
|
SIMX-517 |
Some 8-bit devices implement alternate pin functionality. The pin diagram will show the same signal (e.g. "P2A") on two different physical pins, and a register, typically APFCON, is used to specify which physical pin the signal is currently mapped to. The simulator needs a way to distinguish between the two instances of the signal, so it renames the signals by adding the associated APFCON field value to the signal name, (e.g. "P2A0", "P2A1"). A side effect is that the renamed signals will appear in the pin list in the simulator's pin dialog. These modified signal names can be safely ignored. |
|
SIMX-514 |
Flash write operation does not give correct result on simulator. |
dsPIC33EP128MC204 |
SIMX-512 |
The ADC is not simulated for the PIC18F97J94 family. |
PIC18F97J94 family |
SIMX-434 |
STATUS bits 6 and 7 are not writable for MCP19114/5. |
|
SIMX-425 |
DMA not loading Input Capture buffer on Timer3 interrupt. |
dsPIC3364GS (606, 608, 610) |
SIMX-412 |
SCL error messages are sometimes indicated to be on lines beyond the actual line the error occurred on as the parser sometimes needs to process more tokens before the error is detected. |
|
SIMX-370 |
While in a debug session and a signal from the logic analyzer is removed, the next time the project is built build/make, it can't start the simulator. You have to select a different tool, and then select the simulator again. |
PIC16C432 |
SIMX-367 |
A Logic Analyzer exception is being caused by some combination of scrolling the view and resetting the device. |
|
SIMX-359 |
Stimulus on INT0 does not cause an interrupt if simulator is restarted. |
PIC18F24J50 |
SIMX-318 |
setm ACCAU sets all 16 bits when using the 16 bit simulator. Instead only lower 8 bits of ACCAU should be set. |
dsPICC33FJ256GP710 |
SIMX-256 |
Simulator instruction trace does not function. |
PIC18F |
SIMX-246 |
GPR stimulus injection does not function correctly. |
All families |
SIMX-195 |
Starting the Logic Analyzer after a debug session has already been started creates a logic analyzer window that is blank and never shows any graph. |
|
SIMX-183 |
When the WDT break option is set to 'report', it does not provide any message in the simulator output window about the WDT time out event. |
|
SIMX-122 |
Flash write not happening in PIC24E/dsPIC33E devices |
PIC24E/dsPIC33E |
SIMX-102 |
MPLAB X does not support the old style Register Trace. This will be handled generically in the IDE in future. |
|
SIMX-79 |
"The 32 bit ADC does not issue a warning if the user's code places ADC reference pins in the digital mode. |
Sim32 and DSPIC30/33 Pic24 |
SIMX-72 |
Latency for 32*32 MUL operation is not implemented in the PIC32 simulator. |
PIC32MX Family |
SIMX-71 |
Latency for 16, 24 and 32 bit Divide operation do not match the datasheet. |
PIC32MX Family |
SIMX-70 |
The EICSS field of SRSctl register is not updated when an interrupt is generated in simulator for PIC32 devices. |
PIC32MX Family |
SIMX-68 |
The LW instruction does not stall the pipe line even if the instruction following LW is the consumer of result of LW for PIC32MX devices. |
PIC32MX Family |
SIMX-65 |
Back to back 32*32 MUL operation isn't causing pipe line stall in simulator PIC32 devices. |
PIC32MX Family |
SIMX-42 |
ADC channel for fixed voltage reference (FVR) on channel 15 states it is an invalid channel when used by the simulator. |
PIC18F45K20, PIC16F1503 |