Nios® V Processor: Lockstep Implementation

ID 833274
Date 10/07/2024
Public
Document Table of Contents

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.
Table 15.  CONTEXT-related Registers
Configuration Interface fRNET Interface Description
ERRCTRL_FNGICTXT4 FRNET_GI_CTXT_4 Error Controller Context register
ERRCTRL_FNGICMPCTXT0 FRNET_GI_CMP_CTXT_0

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 FRNET_GI_CMP_CTXT_1 Reserved
ERRCTRL_FNGICMPCTXT2 FRNET_GI_CMP_CTXT_2 Reserved
ERRCTRL_FNGICMPCTXT3 FRNET_GI_CMP_CTXT_3 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.

Table 16.   Nios® V CPU Outputs to Comparator Slices
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
  • data_awprot[2:0]
  • data_awvalid
  • data_wstrb[3:0]
  • data_wlast
  • data_wvalid
  • data_bready
  • data_arprot[2:0]
  • data_arvalid
  • data_rready
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
  • instr_awprot[2:0]
  • instr_awvalid
  • instr_awburst[1:0]
  • instr_bready
  • instr_arprot[2:0]
  • instr_arvalid
  • instr_arburst[1:0]
  • instr_rready
  • instr_wlast
  • instr_wvalid
  • instr_wlast
  • instr_wstrb[3:0]
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
  • itcs1_awready
  • itcs1_wready
  • itcs1_bvalid
  • itcs1_bresp[1:0]
  • itcs1_arready
  • itcs1_rdata[31:0]
  • itcs1_rvalid
  • itcs1_rresp[1:0]
Data TCM1 AXI4-Lite Bus
18 TCM1_D_BUS
  • dtcs1_awready
  • dtcs1_wready
  • dtcs1_bvalid
  • dtcs1_bresp[1:0]
  • dtcs1_arready
  • dtcs1_rdata[31:0]
  • dtcs1_rvalid
  • dtcs1_rresp[1:0]
Instruction TCM2 AXI4-Lite Bus
19 TCM2_I_BUS
  • itcs2_awready
  • itcs2_wready
  • itcs2_bvalid
  • itcs2_bresp[1:0]
  • itcs2_arready
  • itcs2_rdata[31:0]
  • itcs2_rvalid
  • itcs2_rresp[1:0]
Data TCM2 AXI4-Lite Bus
20 TCM2_D_BUS
  • dtcs2_awready
  • dtcs2_wready
  • dtcs2_bvalid
  • dtcs2_bresp[1:0]
  • dtcs2_arready
  • dtcs2_rdata[31:0]
  • dtcs2_rvalid
  • dtcs2_rresp[1:0]
CPU Custom Instruction Interface
21 CI_BUS
  • core_ci_data0[31:0]
  • core_ci_data1[31:0]
  • core_ci_alu_result[31:0]
  • core_ci_ctrl[31:0]
  • core_ci_enable
  • core_ci_op[3:0]
CPU ECC Interface
22 ECC_EVENT
  • cpu_ecc_status_ecc_source[3:0]
  • cpu_ecc_status_ecc_status[1:0]

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.