Kritisches Problem
Aufgrund eines Problems im Nios® II Prozessor ist es möglich, dass eine bestimmte Befehlssequenz bei der Implementierung als Nios II/f mit einem Data Tightly-Coupled Memory (DTCM) dazu führt, dass das Processor Interrupt Enable (PIE)-Bit im Statusregister vor dem Aufrufen des Interrupt-Handlers fälschlicherweise gelöscht wird. Dies kann dazu führen, dass sich Software unerwartet verhält. Im Folgenden finden Sie ein Beispiel für eine Folge von Anweisungen, die dieses Verhalten verursachen würden:
1: LDW r17, 0(r16) // Zeiger auf DTCM von einem anderen Speicher mit höherer Latenz abrufen
2: stw r2, 8(r19) // in DTCM speichern
3: LDW R2, 0(R17) // Referenz vorheriger Zeiger
Wenn während des Stopps für Anweisung 1 ein Interrupt auftritt, kann der Nios Prozessor auch Anweisung 2 abschließen und den Status fälschlicherweise löschen. TORTE.
Dieses Problem wurde ab der Quartus® Prime Pro Edition Software Version 18.1.1 behoben