Intel® Agilex™ SEU Mitigation User Guide

ID 683128
Date 12/30/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

5.2.2. Fault Injection Debugger Command-Line Interface

You can run the Fault Injection Debugger at the command line with the quartus_fid executable, which is useful if you want to perform fault injection from a script.
Table 13.   Fault Injection Debugger Command-Line Interface Arguments for Intel® Agilex™ Devices
Short Argument Long Argument Description
l list Display all installed hardware.
c cable To select the cable number.
a auto For auto detect operation. You must select only one cable for this operation.
i index Option to specify the active device or devices to inject soft error.

Full syntax:

@<device_position>=<file_path>#<operation>

where:

  • device_position is the position of active device counting from nearest to TDI
  • file_path is the active device's programming file
  • operation is the operation you want to perform4
    • P—Program/Configure
    • I—Inject fault

Command example:

quartus_fid --cable=1 --index=@2=abc.sof#P
n number

Option to specify the number of soft errors to inject. If you do not specify the number of errors, the Fault Injection Debugger executes the interactive mode. In the interactive mode, you can select to inject fault, read EMR, scrub errors, or quit.

Note: You can inject up to four soft errors.

Command examples:

  • To inject two errors:
    quartus_fid --cable=1 --index=@2=abd.sof --number=2
  • To execute interactive mode:
    quartus_fid --cable=1 --index=@2=abc.sof
  • To inject double adjacent errors in interactive mode:
    quartus_fid --cable=1 --index=@2=abc.sof
    F <sector_location> <frame_location> <bit_location> + <frame_location> <bit_location>
s smh Option to specify the sensitivity map header file.

Full syntax:

@<device_position>=<file_path>#<region_info>

where:

  • device_position is the position of active device counting from nearest to TDI
  • file_path is the active device's .smh file
  • region_info is the intended .smh region information with the following format: <targeted_regions><allow non critical><allow overlapping>
    • targeted_regions = binary representation of the regions
      • Region 1 = 1
      • Region 2 = 2
      • Region 3 = 4
      • Region 4 = 8
      • Region 1 and 2 = 3 (from 1 + 2)
      • Region 1 and 3 = 5 (from 1 + 4)
    • allow non criticalN = allow injecting to non-critical bit
    • allow overlappingO = allow injecting to bits with overlapping regions

    Examples:

    • To inject region 1 or 3 only: region_info = 5
    • To inject region 2 or non-critical bit, region_info = 4N
    • To inject any bit that has region 4 or non-critical bit, the region_info = 8NO

Command examples:

  • To inject one error in region 2:
    quartus_fid --cable=1 --index=@2=abc.sof --number=1 --smh=@2=abc.smh#2
  • To execute interactive mode in a specific region:
    quartus_fid --cable=1 --index=@2=abc.sof --smh=@2=abc.smh#2
u user Option to specify the user specific fault.

Full syntax:

@<device_position>=<sector-frame-bit-pair ?>#1 <sector-frame-bit-pair ?>#2 ... <sector-frame-bit?>#n

where:

  • device_position is the position of active device counting from nearest to TDI
  • sector-frame-bit-pair is the frame bit and sector location where the error is injected.5

Command example:

quartus_fid --cable=1 --index=@2=abc.sof --number=1 --user="@2=0x003c 0x000d 0x0269"
t time Option to specify the interval time between injections.
4 If you do not specify any operation, the default operation is "inject fault".
5 The maximum pair of frame-bit depends on argument n.