Release Notes for MPLAB® X Simulator

MPLAB® X IDE v1.95

 

October 29, 2013

 

Table of Contents

1       Device Support

2       Device Core and Peripheral Support

3       IDE Support

4       What's New in v1.95

5       Repairs and Enhancements Made in v1.95

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

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 v1.95

5      Repairs and Enhancements Made in v1.95

Issue

Description

Device

SIMX-543

Outdated documentation for Stimulus.

 

SIMX-522

TRIS setting for GP2 isn't correct, doesn't allow output.

PIC12F508

SIMX-520

Stop watch doesn't clear to zero on subsequent debug sessions.

 

SIMX-510

The peripheral pin select mechanism for these devices is different than previous devices. The simulator needs to be updated to correctly simulate the new mechanism.

 

SIMX-503

In the case of single channel conversion, only CH0. Only alternate values starting from the 2nd value in the text file are injected into ADCxBUF0. Effectively, the odd numbered samples (1st, 3rd, 5th and so on) in the input text file are ignored.

 

SIMX-502

Set/Clear CCP2SEL bit does not map CCP2/P2A correctly.

PIC16(L)F1938/9

SIMX-501

Request to document in the help file that Multiply, Divide latency and stall not implemented in simulator for PIC32MX devices.

PIC32MX

SIMX-498

Document that enable 'Use MPLAB 8 style stimulus' for register injection to work for ADC registers.

 

SIMX-491

[Input Capture] Spurious capture event occurring on ICx for PIC32MX1xx/2xx devices.

PIC32MX1xx/2xx 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-548

The simulator models the pin control of analog versus digital state as a peripheral. This peripheral is not instantiated for this device. (So simulator users cannot change pin states.)

 

SIMX-547

[PWM] In the Up/down Count w/ Double Update mode, PTMR register doesn't count downwards if PTPER is loaded with new value while PTMR is counting up.

dsPIC33FJxxxMCxxx, dsPIC30F

 

SIMX-545

Error when writing bit 15 of IO port G control registers on 64-pin and 80-pin devices.  Simulator should prevent setting this bit on these packages, but permits it.  Where writing 0x8000 to TRISG should result in 0x0000, it results in 0x8000.

PIC24FJ64GA006/008, PIC24FJ96GA006/008, PIC24FJ128GA006/008

SIMX-541

When OC5 is configured to operate in PWM fault detection mode, OCFLT bit in OSC5CON is set and PWM is shut down.

PIC32MX110F016D/PIC32MX120F032D,  etc.

SIMX-539

When OCxIF flag is set either in code or by hardware, it does not branch execution to the interrupt service routine, regardless of interrupt priority.

PIC32MX1xx/2xx

SIMX-536

The PIC32MZ* devices have a different method of handling A/D pin selection than previous PIC32 devices. The simulator does not currently handle this new method.

PIC32MZ*

SIMX-513

The ADC is not simulated for the PIC24FJ128GC010 family.

PIC24FJ128GC010, PIC24FJ64GC006, PIC24FJ64GC010, PIC24FJ128GC006

SIMX-512

The ADC is not simulated for the PIC18F97J94 family.

PIC18F97J94 family

SIMX-509

DMA for PIC24F devices, as described in PIC24F FRM Chap 54 is not implemented yet.

PIC24FJ128GA310, PIC24FJ64GC006, PIC24FJ64GC010

SIMX-499

ADC result format is incorrect in 16 bit signed fractional mode and 32 bit signed integer mode for PIC32MX

PIC32MX

SIMX-496

Setting DC1B bits of CCP1CON register disables the CCP1CON functionality.

PIC16F1939

SIMX-495

Clearing TRISC after enabling CCP1 does not show CCP activity. Clearing TRISC before enabling CCP1 does show CCP activity

PIC16F1939

SIMX-494

8-bit devices (PIC18) GOTO instruction incorrectly loads PCLATH register

PIC18

SIMX-493

BTFSC instruction changes value of PCLATH; it shouldn't.

PIC18LF14K22

SIMX-484

The simulator fails to detect I/O state changes from TRIS register writes on pins that are currently being controlled by active peripherals. The work around is to make sure the TRIS register is set appropriately before turning the peripheral on.

PIC16LF1939

SIMX-453

Hazard Barrier instructions are not implemented in simulator for PIC32 devices

PIC32MX

SIMX-434

STATUS bits 6 and 7 are not writable for MCP19114/5

MCP19114/5

SIMX-427

On dsPIC33FJ12MC201 and dsPIC33FJ16MC304 devices a Java concurrent modification exception is sometimes generated on some machines.

dsPIC33FJ12MC201, dsPIC33FJ16MC304

SIMX-425

DMA not loading Input Capture buffer on Timer3 interrupt

dsPIC3364GS (606, 608, 610)

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

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-258

For a line containing multiple C instructions, setting breakpoint in source and running does not produce a break at that breakpoint. However, stepping over the breakpoint hits that breakpoint.

PIC12C672

SIMX-246

GPR stimulus injection does not function correctly.

All families

SIMX-228

Functionality of RDHWR instruction is not implemented. In simulator, it is implemented as NOP for PIC32MX

PIC32MX Family

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-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-102

MPLAB X IDE does not support the old style Register Trace. This will be handled generically in the IDE in future.

 

SIMX-97

Temporal Proximity(IPTMR) register continue to decrement even if low priority interrupt is disabled for PIC32MX devices

PIC32MX Family

SIMX-79

The 32-bit ADC does not issue a warning if the user's code places ADC reference pins in the digital mode.

dsPIC, PIC24 devices

SIMX-75

The Read Pointer Update Action on the input capture buffer does not match the FRM for PIC32 devices.

PIC32MX family

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-69

The software reset unlock sequence is not implemented in the simulator for PIC32MX devices.

PIC32MX

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

SIMX-65

Back to back 32*32 MUL operation isn't causing pipe line stall in simulator PIC32 devices.

PIC32MX Family