1. About the Nios® V Processor Lockstep
2. Overview
3. Controlling the Nios® V Processor Lockstep
4. Programming Model
5. Signals, Interfaces, and Build Parameters
6. Using Nios® V Processor Lock Step
A. Document Revision History for the Nios® V Processor: Lockstep Implementation User Guide
B. Appendix
4.4.1. CPUs’ Reset Control Register - DCLSM_CPURC
4.4.2. DCLSM Basic Control Register - DCLSM_CTRL
4.4.3. DCLSM Blind Window Control Register - DCLSM_BWCR
4.4.4. All Alarms’ Prior Alarms’ Fault Injection Register - ERRCTRL_ALL_ALARMS_PRIOR_AFI
4.4.5. INTREQ Configuration Register - ERRCTRL_INTREQ_CONF
4.4.6. Timeout Deadline and Status Register - ERRCTRL_TIMEOUT
4.4.7. Timeout Acknowledgment Register - ERRCTRL_TIMEOUT_ACK
4.4.8. Enable Key fRSmartComp Control Register - ERRCTRL_ENABLE_KEY
4.4.9. Root Fault Injection Control register - ERRCTRL_ROOT_INJ
4.4.10. Alarm Fault Injection Control register - ERRCTRL_ALARM_INJ
4.4.11. Event Mask Configuration register - ERRCTRL_MASKA and ERRCTRL_MASKB
4.4.12. Alarm Routing Configuration register - ERRCTRL_ROUTA and ERRCTRL_ROUTB
4.4.13. Error Controller PGO LOG Reset Control register - ERRCTRL_PGOLOGRST
4.4.14. PGO0 and PGO4 Configuration registers - ERRCTRL_PGO0 and ERRCTRL_PGO4
4.4.15. FN_MODEIN Control Register - ERRCTRL_FNMODEIN
4.4.16. FN_MODEOUT register - ERRCTRL_FNMODEOUT
4.4.17. All Alarms After Fault Injection - ERRCTRL_FNGIALARMS
4.4.18. Error Controller Context Register - ERRCTRL_FNGICTXT4
4.4.19. CMP Mismatch CONTEXT Registers - ERRCTRL_FNGICMPCTXT0 … ERRCTRL_FNGICMPCTXT3
4.4.20. STATISTICS registers: ERRCTRL_FNGISTAT0 and ERRCTRL_FNGISTAT4
4.4.21. State register - ERRCTRL_FNPERIPHGI4
2.5.2. CONTEXT
The CONTEXT information provides additional information on top of the related alarm. It records context information only for the first occurrence of the related alarm. As such, the information is maintained (not refreshed) until the alarm itself is reset.
Configuration Interface | Description |
---|---|
ERRCTRL_FNGICTXT4 | Error Controller Context register |
ERRCTRL_FNGICMPCTXT0 | Comparator context information of comparator slices 0 to 22. Each bit is set to 1’b1 if the related comparator slice had a mismatch when the comparator mismatch was detected. |
ERRCTRL_FNGICMPCTXT1 | Reserved |
ERRCTRL_FNGICMPCTXT2 | Reserved |
ERRCTRL_FNGICMPCTXT3 | Reserved |
The following table maps each of the Nios® V CPU outputs into the fRSmartComp comparator slices during a mismatch event. Some slices may not be active, depending on the CPU and fRSmartComp configuration.
Slices Number | Slice ID | Nios® V CPU Output |
---|---|---|
CPU Reset Acknowledge | ||
0 | RESETACK | reset_req_ack |
CPU Data Bus | ||
1 | BUS_D_AWADDR | data_awaddr[31:0] |
2 | BUS_D_AWSIZE | data_awsize[2:0] |
3 | BUS_D_AWLEN | data_awlen[7:0] |
4 | BUS_D_CNTRL |
|
5 | BUS_D_WDATA | data_wdata[31:0] |
6 | BUS_D_ARADDR | data_araddr[31:0] |
7 | BUS_D_ARSIZE | data_arsize[2:0] |
8 | BUS_D_ARLEN | data_arlen[7:0] |
CPU Instruction Bus | ||
9 | BUS_I_AWADDR | instr_awaddr[31:0] |
10 | BUS_I_AWSIZE | instr_awsize[2:0] |
11 | BUS_I_AWLEN | instr_awlen[7:0] |
12 | BUS_I_CNTRL |
|
13 | BUS_I_WDATA | instr_wdata[31:0] |
14 | BUS_I_ARADDR | instr_araddr[31:0] |
15 | BUS_I_ARSIZE | instr_arsize[2:0] |
16 | BUS_I_ARLEN | instr_arlen[7:0] |
Instruction TCM1 AXI4-Lite Bus | ||
17 | TCM1_I_BUS |
|
Data TCM1 AXI4-Lite Bus | ||
18 | TCM1_D_BUS |
|
Instruction TCM2 AXI4-Lite Bus | ||
19 | TCM2_I_BUS |
|
Data TCM2 AXI4-Lite Bus | ||
20 | TCM2_D_BUS |
|
CPU Custom Instruction Interface | ||
21 | CI_BUS |
|
CPU ECC Interface | ||
22 | ECC_EVENT |
|
Determine the comparator mismatch location
During a comparator mismatch (ALARM0 or ALARM1), the read value of FN_GI_CMP_CTXT_0 is 24’h000002, which equates to bit 1 is set. Thus, Slice 1 - BUS_D_AWADDR (data_ awaddr[31:0]) is the mismatch source.