Nios® V Processor: Lockstep Implementation

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

6.4. Implementing Startup Procedure

The fRSmartComp is in OD state after an asynchronous reset. As such, it is already actively seeking faults. Nevertheless, various steps may be required to configure the fRSmartComp.

Table 63.   Startup Procedure
Step Description Owner Notes
1

Nios V Initialization

If the initialization procedure (such as the alt_sys_init.c) is finished after the blind window has expired, it is necessary to use the DCLSM_BWCR register to extend the blind window.

  • Altera, or
  • Operating System (OS) developer
The Board Support Package Editor generates this initialization for the supported OS.
2

Configure fRSmartComp

Set the desired fRSmartComp configuration through the Configuration Interface or fRNET Interface.

System Supervisor Refer to Recommendations for Step 2 Configure fRSmartComp.
3

Provide timeout acknowledgment to fRSmartComp

Provide acknowledgment using the ERRCTRL_TIMEOUT_ACK register before the timeout expires. The timeout time can be extended using the ERRCTRL_TIMEOUT register.

System Supervisor The register is accessible through the Configuration Interface.
4

Optionally update the Timeout Deadline

Using the ERRCTRL_TIMEOUT register to manage the timeout for the next state after OD (typically FCS).

System Supervisor The register is accessible through the Configuration Interface.
5

Check no alarms

Check that the fRSmartComp state is OD (ERRCTRL_FNPERIPHGI4 register) and check that no alarms are generated (ERRCTRL_FNGIALARMS register).

System Supervisor This is good safety practice.

The System Supervisor described can be the Host CPU itself or another host system (e.g., another processor). You can make the decision according to your system requirements.

Recommendations for Step 2 Configure fRSmartComp

  • For CORE registers:
    • Enable INTREQ generation after alarm generation (ERRCTRL_INTREQ_CONF register).
  • For OPTIONS registers:
    • Mask alarms using ERRCTRL_MASKA and ERRCTRL_MASKB registers - for safety reasons, no alarm is masked unless a specific reason and rationale are present.
    • Change alarms’ severity using ERRCTRL_ROUTA and ERRCTRL_ROUTB registers.
    • Change the fRSmartComp ENABLE commands counter thresholds using the ERRCTRL_PGO4 register.