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