Release Notes for MPLAB® X Simulator

MPLAB® X IDE v2.20

 

September 2, 2014

 

Table of Contents

1       Device Support

2       Device Core and Peripheral Support

3       IDE Support

4       What's New in v2.20

5       Repairs and Enhancements Made in v2.20

6       Known Problems

1      Device Support

Click the link below to see device support for the simulator (SIM).

·         Device Support List

2      Device Core and Peripheral Support

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

2.1.1    Core Support – PIC32 MCUs

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.

2.1.2    Core Support – Other Devices

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.

2.1.3    Peripheral Support

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.

3      IDE Support

See the Readme for MPLAB X IDE.htm for IDE support information.

4      What's New in v2.20

5      Repairs and Enhancements Made in v2.20

 

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

6       Known Problems

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.

6.1      Cycle Accuracy Issues - PIC32 MCUs

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.

6.2      Issues Being Tracked – Sim

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