Nios II Classic Processor Reference Guide

ID 683620
Date 10/28/2016
Public
Document Table of Contents

5.2.10. ECC

The Nios® II/f core has the option to add ECC support for the following Nios® II internal RAM blocks.
  • Instruction cache
    • ECC errors (1, 2, or 3 bits) that occur in the instruction cache are recoverable; the Nios® II processor flushes the cache line and reads from external memory instead of correcting the ECC error.
  • Register file
    • 1 bit ECC errors are recoverable
    • 2 bit ECC errors are not recoverable and generate ECC exceptions
  • MMU TLB
    • 1 bit ECC errors triggered by hardware reads are recoverable
    • 2 bit ECC errors triggered by hardware reads are not recoverable and generate ECC exception.
    • 1 or 2 bit ECC errors triggered by software reads to the TLBMISC register do not trigger an exception, instead, TLBMISC.EE is set to 1. Software must read this field and invalidate/overwrite the TLB entry.

The ECC interface is an Avalon® -ST source with the output signal ecc_event_bus. This interface allows external logic to monitor ECC errors in the Nios® II processor.

The ecc_event_bus contains the ECC error signals that are driven to 1 even if ECC checking is disabled in the Nios® II processor (when CONFIG.ECCEN or CONFIG.ECCEXC is 0). The following table describes the ECC error signals.

Table 74.  ECC Error Signals
Bit Field Description Effect on Software Available
0 EEH ECC error exception while in exception handler mode (i.e., STATUS.EH = 1). Likely fatal Always
1 RF_RE Recoverable (1 bit) ECC error in register file RAM None Always
2 RF_UE Unrecoverable (2 bit) ECC error in register file RAM Likely fatal Always
3 ICTAG_RE Recoverable (1, 2, or 3 bit) ECC error in instruction cache tag RAM None Instruction cache present
4 ICDAT_RE Recoverable (1, 2, or 3 bit) ECC error in instruction cache data RAM. None Instruction cache present
5 Reserved      
6 Reserved      
7 Reserved      
8 Reserved      
9 Reserved      
10 Reserved      
11 Reserved      
12 Reserved      
13 Reserved      
14 Reserved      
15 Reserved      
16 Reserved      
17 Reserved      
18 Reserved      
19 TLB_RE Recoverable (1 bit) ECC error in TLB RAM (hardware read of TLB) None MMU present
20 TLB_UE Unrecoverable (2 bit) ECC error in TLB RAM (hardware read of TLB) Possibly fatal MMU present
21 TLB_SW Software-triggered (1, 2, or 3 bit) ECC error in software read of TLB Possibly fatal MMU present
22 Reserved      
23 Reserved      
24 Reserved      
25 Reserved      
26 Reserved      
27 Reserved      
28 Reserved      
29 Reserved