Agilex™ 7 SEU Mitigation User Guide

ID 683128
Date 10/10/2025
Public
Document Table of Contents

4.6.4.2. Injecting Error to Predefined Safe Locations: Mailbox Command

To inject safe SEU errors, send the mailbox command with the following syntax:
INSERT_SAFE_SEU_ERROR [0x41]

This command takes two 32-bit words as arguments, and you need to specify sector address, N_INJ, T, and CRAM_SEL0 or CRAM_SEL1 in the arguments. One of the options allows you to inject error immediately, before, or after detection cycle. For more details, refer to the Mailbox Client IPs User Guide .

Table 12.  Mailbox Command Options
Command Option Definition
Sector Address
To list the valid sector index listed, you can use this command:
quartus_fid -c 1 -i "@1=<sof_file>" --seu_list

For more details, refer to the Listing the Predefined Safe Locations: Command-Line Interface section.

T

Safe SEU error injection timing control.

  • 00 = Inject immediately
  • 01= Inject right before the next detection cycle
  • 10 = Inject after the detection cycle
  • 11 = Invalid
N_INJ

Number of CRAM location to inject -1.

  • 0 = one error
  • 1 = two errors
CRAM_SEL0 or CRAM_SEL1 Injection can only target to a predefined list of location for unused CRAMs are provided (identified by CRAM_SEL 0 to 7).
The following table provides examples of safe SEU injection scenarios.
Table 13.  Safe SEU Injection Scenarios
SEU Type Injection Method Description
1x Single-bit (correctable) Set N_INJ to 0 and set CRAM_SEL0. When N_INJ set to 0, CRAM_SEL1 is ignored.

To inject safe SEU error via the Configuration Debugger tool, send 0x41 as the Command Code and 0x50000 0x4 in the Parameter List field.

0x50000 refers to inject one single-bit SEU errors immediately at sector 0x5, 0x4 refers to CRAM_SEL0 = 0x4, and CRAM_SEL1 is ignored.

2x Single-bit (correctable) Set N_INJ to 1 and set CRAM_SEL0 and CRAM_SEL1.

To inject safe SEU error via the Configuration Debugger tool, send 0x41 as the Command Code and 0x50001 0x14 in the Parameter List field.

0x50001 refers to inject two single bit SEU errors immediately at sector 0x5, 0x14 refers to CRAM_SEL0 = 0x4, and CRAM_SEL1= 0x1.

Horizontal Double-bit adjacent (HDAE) (correctable)

Set N_INJ to 1 and set CRAM_SEL0 and CRAM_SEL1 that is adjacent, CRAM_SEL:0 or 1 or 4 or 5.

To inject safe SEU error via the Configuration Debugger tool, send 0x41 as the Command Code and 0x50011 0x54 in the Parameter List field.

0x50011 refers to inject two single bit SEU errors before next detection cycle at sector 0x5, 0x54 refers to CRAM_SEL0 = 0x4, and CRAM_SEL1 = 0x5.

Multibit (uncorrectable)

Set N_INJ to 1 and set both CRAM_SEL that is non-adjacent, CRAM_SEL:2 or 3 or 6 or 7.

To inject safe SEU error via the Configuration Debugger tool, send 0x41 as the Command Code and 0x50001 0x67 in the Parameter List field.

0x50001 refers to inject multibit uncorrectable error immediately at sector 0x5, 0x67 refers to CRAM_SEL0 = 0x7, and CRAM_SEL1 = 0x6.