Visible to Intel only — GUID: iga1419886741704
Ixiasoft
3.4.2.1. The status Register
3.4.2.2. The estatus Register
3.4.2.3. The bstatus Register
3.4.2.4. The ienable Register
3.4.2.5. The ipending Register
3.4.2.6. The cpuid Register
3.4.2.7. The exception Register
3.4.2.8. The pteaddr Register
3.4.2.9. The tlbacc Register
3.4.2.10. The tlbmisc Register
3.4.2.11. The badaddr Register
3.4.2.12. The config Register
3.4.2.13. The mpubase Register
3.4.2.14. The mpuacc Register
3.6.3.1. Instruction Cache Tag RAM
3.6.3.2. Instruction Cache Data RAM
3.6.3.3. ITCMs
3.6.3.4. Register File RAM Blocks
3.6.3.5. Data Cache Tag RAM
3.6.3.6. Data Cache Data RAM (Clean Line)
3.6.3.7. Data Cache Data RAM (Dirty Line)
3.6.3.8. Data Cache Victim Line Buffer RAM
3.6.3.9. DTCMs
3.6.3.10. MMU TLB RAM
3.7.1. Terminology
3.7.2. Exception Overview
3.7.3. Exception Latency
3.7.4. Reset Exceptions
3.7.5. Break Exceptions
3.7.6. Interrupt Exceptions
3.7.7. Instruction-Related Exceptions
3.7.8. Other Exceptions
3.7.9. Exception Processing Flow
3.7.10. Determining the Cause of Interrupt and Instruction-Related Exceptions
3.7.11. Handling Nested Exceptions
3.7.12. Handling Nonmaskable Interrupts
3.7.13. Masking and Disabling Exceptions
3.7.7.1. Trap Instruction
3.7.7.2. Break Instruction
3.7.7.3. Unimplemented Instruction
3.7.7.4. Illegal Instruction
3.7.7.5. Supervisor-Only Instruction
3.7.7.6. Supervisor-Only Instruction Address
3.7.7.7. Supervisor-Only Data Address
3.7.7.8. Misaligned Data Address
3.7.7.9. Misaligned Destination Address
3.7.7.10. Division Error
3.7.7.11. Fast TLB Miss
3.7.7.12. Double TLB Miss
3.7.7.13. TLB Permission Violation
3.7.7.14. MPU Region Violation
3.9.1. Data Transfer Instructions
3.9.2. Arithmetic and Logical Instructions
3.9.3. Move Instructions
3.9.4. Comparison Instructions
3.9.5. Shift and Rotate Instructions
3.9.6. Program Control Instructions
3.9.7. Other Control Instructions
3.9.8. Custom Instructions
3.9.9. No-Operation Instruction
3.9.10. Potential Unimplemented Instructions
8.5.1. add
8.5.2. addi
8.5.3. and
8.5.4. andhi
8.5.5. andi
8.5.6. beq
8.5.7. bge
8.5.8. bgeu
8.5.9. bgt
8.5.10. bgtu
8.5.11. ble
8.5.12. bleu
8.5.13. blt
8.5.14. bltu
8.5.15. bne
8.5.16. br
8.5.17. break
8.5.18. bret
8.5.19. call
8.5.20. callr
8.5.21. cmpeq
8.5.22. cmpeqi
8.5.23. cmpge
8.5.24. cmpgei
8.5.25. cmpgeu
8.5.26. cmpgeui
8.5.27. cmpgt
8.5.28. cmpgti
8.5.29. cmpgtu
8.5.30. cmpgtui
8.5.31. cmple
8.5.32. cmplei
8.5.33. cmpleu
8.5.34. cmpleui
8.5.35. cmplt
8.5.36. cmplti
8.5.37. cmpltu
8.5.38. cmpltui
8.5.39. cmpne
8.5.40. cmpnei
8.5.41. custom
8.5.42. div
8.5.43. divu
8.5.44. eret
8.5.45. flushd
8.5.46. flushda
8.5.47. flushi
8.5.48. flushp
8.5.49. initd
8.5.50. initda
8.5.51. initi
8.5.52. jmp
8.5.53. jmpi
8.5.54. ldb / ldbio
8.5.55. ldbu / ldbuio
8.5.56. ldh / ldhio
8.5.57. ldhu / ldhuio
8.5.58. ldw / ldwio
8.5.59. mov
8.5.60. movhi
8.5.61. movi
8.5.62. movia
8.5.63. movui
8.5.64. mul
8.5.65. muli
8.5.66. mulxss
8.5.67. mulxsu
8.5.68. mulxuu
8.5.69. nextpc
8.5.70. nop
8.5.71. nor
8.5.72. or
8.5.73. orhi
8.5.74. ori
8.5.75. rdctl
8.5.76. rdprs
8.5.77. ret
8.5.78. rol
8.5.79. roli
8.5.80. ror
8.5.81. sll
8.5.82. slli
8.5.83. sra
8.5.84. srai
8.5.85. srl
8.5.86. srli
8.5.87. stb / stbio l
8.5.88. sth / sthio
8.5.89. stw / stwio
8.5.90. sub
8.5.91. subi
8.5.92. sync
8.5.93. trap
8.5.94. wrctl
8.5.95. wrprs
8.5.96. xor
8.5.97. xorhi
8.5.98. xori
Visible to Intel only — GUID: iga1419886741704
Ixiasoft
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.
- Data Cache
- tag RAM—The ECCINJ.DCTAG field is used to inject ECC errors into the tag RAM.
- data RAM—The ECCINJ.DCDAT field is used to inject ECC errors into the data RAM
- Tightly-Coupled Memories (TCMs)— Nios® II includes the ECC encoder/decoder logic for each TCM and the TCM master port data width is increased to allow the Nios® II to read and write the ECC parity bits.The TCM must be a RAM and must store the ECC parity bits along with the data bits.
- Instruction Tightly-Coupled Memories (ITCM)— Nios® II supports up to 4 ITCMs
- Data Tightly-Coupled Memories (DTCM)— Nios® II supports up to 4 DTCMs
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.
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 | ITCM0_RE | Recoverable (1-bit) ECC error in ITCM0 | None | ITCM0 present |
6 | ITCM0_UE | Unrecoverable (2-bit) ECC error in ITCM0 | Possibly fatal | ITCM0 present |
7 | ITCM1_RE | Recoverable (1-bit) ECC error in ITCM1 | None | ITCM1 present |
8 | ITCM1_UE | Unrecoverable (2-bit) ECC error in ITCM1 | Likely fatal | ITCM1 present |
9 | ITCM2_RE | Recoverable (1-bit) ECC error in ITCM2 | None | ITCM2 present |
10 | ITCM2_UE | Unrecoverable (2-bit) ECC error in ITCM2 | Likely fatal | ITCM2 present |
11 | ITCM3_RE | Recoverable (1-bit) ECC error in ITCM3 | None | ITCM3 present |
12 | ITCM3_UE | Unrecoverable (2-bit) ECC error in ITCM3 | Likely fatal | ITCM3 present |
13 | DCTAG_RE | Recoverable (1-bit) ECC error in data cache tag RAM | None | Data cache present |
14 | DCTAG_UE | Unrecoverable (2-bit) ECC error in data cache tag RAM | Likely fatal | Data cache present |
15 | DCDAT_RE | Recoverable (1-bit with dirty line, 2-bit or 3-bit with clean line) ECC error in data cache data RAM. Excludes recoverable errors found during writeback of a dirty line. | None | Data cache present |
16 | DCDAT_UE | Unrecoverable (2-bit with dirty line) ECC error in data cache data RAM. Excludes unrecoverable errors found during writeback of a dirty line. | Likely fatal | Data cache present |
17 | DCWB_RE | Recoverable (1-bit) ECC error in data cache data RAM or victim line buffer RAM during writeback of a dirty line. | None | Data cache present |
18 | DCWB_UE | Unrecoverable (2-bit) ECC error in data cache data RAM or victim line buffer RAM during writeback of a dirty line. | Likely fatal | Data cache present |
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 | DTCM0_RE | Recoverable (1-bit) ECC error in DTCM0 | None | DTCM0 present |
23 | DTCM0_UE | Unrecoverable (2-bit) ECC error in DTCM0 | Likely fatal | DTCM0 present |
24 | DTCM1_RE | Recoverable (1-bit) ECC error in DTCM1 | None | DTCM1 present |
25 | DTCM1_UE | Unrecoverable (2-bit) ECC error in DTCM1 | Likely fatal | DTCM1 present |
26 | DTCM2_RE | Recoverable (1-bit) ECC error in DTCM2 | None | DTCM2 present |
27 | DTCM2_UE | Unrecoverable (2-bit) ECC error in DTCM2 | Likely fatal | DTCM2 present |
28 | DTCM3_RE | Recoverable (1-bit) ECC error in DTCM3 | None | DTCM3 present |
29 | DTCM3_UE | Unrecoverable (2-bit) ECC error in DTCM3 | Likely fatal | DTCM3 present |