Tool Flow - 1.0 English

MicroBlaze Triple Modular Redundancy (TMR) Subsystem (PG268)

Document ID
PG268
Release Date
2022-04-28
Version
1.0 English

It is highly recommended to use the Vivado® IP integrator Block Automation provided for the TMR Manager to create the TMR subsystem.

IMPORTANT: Ensure that you have a complete single-string MicroBlaze Vivado Block Design that has passed validation in Vivado IP integrator before attempting to triplicate it.

To triplicate a subsystem the following tool flow can be used:

Select all the IP cores to be included in the subsystem in the Block Design, ensuring that the selected cores share a single common clock and that their reset signals have a common source.

Right-click on the selected cores, and select Create Hierarchy... in the menu.

Enter the desired TMR subsystem name, and press OK .

Validate the design, for example by using Validate Design in the context menu.

Double-click on the created hierarchical sub-block.

Add a TMR Manager IP core inside the sub-block, for example by using Add IP... in the context menu. This shows the Designer Assistance banner with the TMR Manager Block Automation.

TIP: It is a good idea to save a copy of the project at this point, in case any changes of the triplicated subsystem, such as in the IP configuration, are necessary later on. Rather than performing such changes in all three sub-blocks manually, it is usually better to do the changes in the saved single-string project and then re-run the block automation.

Run the TMR Manager Block Automation by clicking on the Run Block Automation link, and select desired configuration in the dialog shown in This Figure to perform the triplication:

° Mode: Select TMR or Lockstep mode. Use TMR to triplicate the sub-block and Lockstep to duplicate it.

° Temporal Lockstep Delay: Define a temporal delay in clock cycles when using Lockstep mode. This choice is only visible when Lockstep mode is selected.

° LMB Memory Configuration : Select Local to triplicate the local memory for the best possible error detection, or select Common with ECC to use a common local memory with error correcting codes to reduce block RAM use.

° Software Watchdog : Select None or Internal to enable the TMR Manager internal watchdog.

° SEM Interface : Select None or Internal to add a TMR SEM interface in the triplicated subsystem. Use External to implement the functionality manually outside the subsystem in case the device is not supported by the TMR SEM core, when SEM error classification is desired, when the ICAP and/or FRAME_ECC need to be shared, or when required by the SEM clock frequency restrictions. This choice is only available for devices that support the SEM or SEM UltraScale cores.

° SEM Heartbeat Watchdog : Enable the TMR Manager SEM heartbeat watchdog to detect SEM issues. This choice is only available for devices that support the SEM or SEM UltraScale cores.

° Reconfiguration Delay : Enable the TMR Manager Break delay functionality, to ensure that a reconfiguration is not attempted until after the SEM has scrubbed the complete configuration memory. This option is disabled when Lockstep mode is selected.

° Enable Fault Injection Test : Add TMR Inject cores to allow functional test of the error detection logic.

° Enable Comparator Test: Enable an exhaustive test of the comparator functionality.

Figure 3-1: TMR Manager Block Automation Dialog

X-Ref Target - Figure 3-1

Run_Block_Automation_dialog.png

If the Block Automation detects an invalid configuration, a note is shown in the dialog. If you attempt to run the automation with an invalid configuration, a warning is issued, and the automation is aborted.