Article ID: 000086481 Content Type: Troubleshooting Last Reviewed: 11/15/2024

Nios® II/f Processor may erroneously clear Processor Interrupt-Enable bit

Environment

    Intel® Quartus® Prime Pro Edition
    Intel® Quartus® Prime Standard Edition
    Nios® II Embedded Design Suite (EDS)
    Nios® II Processor
BUILT IN - ARTICLE INTRO SECOND COMPONENT

Critical Issue

Description

Due to a problem in the Nios® II Processor, when implemented as a Nios II/f with a data tightly-coupled memory (DTCM), it is possible that a specific sequence of instructions may cause the Processor Interrupt Enable (PIE) bit in the status register to be erroneously cleared before entering the interrupt handler.  This may cause software to behave in an unexpected fashion.  An example of a sequence of instructions that would cause this behavior is as follows:

1:  ldw r17, 0(r16)     // fetch pointer to DTCM from some other, higher latency memory

2:  stw r2,  8(r19)     // store to DTCM

3:  ldw r2,  0(r17)     // reference previous pointer

If an interrupt occurs during the stall for instruction 1, the Nios processor may also complete instruction 2 and erroneously clear status.PIE.

Resolution

This problem is fixed beginning with the Quartus® Prime Pro Edition Software version 18.1.1

Related Products

This article applies to 1 products

Intel® Programmable Devices

1