1.7.4. 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.
Short Argument |
Long Argument |
Description |
---|---|---|
c | cable | Specify programming hardware or cable. (Required) |
i | index | Specify the active device to inject fault. (Required) |
n | number | Specify the number of errors to inject. The default value is 1. (Optional) |
t | time | Interval time between injections. (Optional) |
Note: Use quartus_fid --help to view all available options.
The following code provides examples using the Fault Injection Debugger command-line interface.
############################################
#
# Find out which USB cables are available for this instance
# The result shows that one cable is available, named "USB-Blaster"
#
$ quartus_fid --list
. . .
Info: Command: quartus_fid --list
1) USB-Blaster on sj-sng-z4 [USB-0]
Info:
Intel®
Quartus® Prime 64-Bit Fault Injection Debugger was successful.
0 errors, 0 warning
############################################
#
# Find which devices are available on USB-Blaster cable
# The result shows two devices: a
Stratix® V A7, and a MAX V CPLD.
#
$ quartus_fid --cable USB-Blaster -a
Info: Command: quartus_fid --cable=USB-Blaster -a
Info (208809): Using programming cable "USB-Blaster on sj-sng-z4 [USB-0]"
1) USB-Blaster on sj-sng-z4 [USB-0]
029030DD 5SGXEA7H(1|2|3)/5SGXEA7K1/..
020A40DD 5M2210Z/EPM2210
Info:
Intel®
Quartus® Prime 64-Bit Fault Injection Debugger was successful.
0 errors, 0 warnings
############################################
#
# Program the
Stratix® V device
# The --index option specifies operations performed on a connected device.
# "=svgx.sof" associates a .sof file with the device
# "#p" means program the device
#
$ quartus_fid --cable USB-Blaster --index "@1=svgx.sof#p"
. . .
Info (209016): Configuring device index 1
Info (209017): Device 1 contains JTAG ID code 0x029030DD
Info (209007): Configuration succeeded -- 1 device(s) configured
Info (209011): Successfully performed operation(s)
Info (208551): Program signature into device 1.
Info:
Intel®
Quartus® Prime 64-Bit Fault Injection Debugger was successful.
0 errors, 0 warnings
############################################
#
# Inject a fault into the device.
# The #i operator indicates to inject faults
# -n 3 indicates to inject 3 faults
#
$ quartus_fid --cable USB-Blaster --index "@1=svgx.sof#i" -n 3
Info: Command: quartus_fid --cable=USB-Blaster --index=@1=svgx.sof#i -n 3
Info (208809): Using programming cable "USB-Blaster on sj-sng-z4 [USB-0]"
Info (208521): Injects 3 error(s) into device(s)
Info:
Intel®
Quartus® Prime 64-Bit Fault Injection Debugger was successful.
0 errors, 0 warnings
############################################
#
# Interactive Mode.
# Using the #i operation with -n 0 puts the debugger into interactive mode.
# Note that 3 faults were injected in the previous session;
# "E" reads the faults currently in the EMR Unloader IP core.
#
$ quartus_fid --cable USB-Blaster --index "@1=svgx.sof#i" -n 0
Info: Command: quartus_fid --cable=USB-Blaster --index=@1=svgx.sof#i -n 0
Info (208809): Using programming cable "USB-Blaster on sj-sng-z4 [USB-0]"
Enter :
'F' to inject fault
'E' to read EMR
'S' to scrub error(s)
'Q' to quit
E
Info (208540): Reading EMR array
Info (208544): 3 frame error(s) detected in device 1.
Info (208545): Error #1 : Single error in frame 0x1028 at bit 0x21EA.
Info (10914): Error #2 : Uncorrectable multi-bit error in frame 0x1116.
Info (208545): Error #3 : Single error in frame 0x1848 at bit 0x128C.
Enter :
'F' to inject fault
'E' to read EMR
'S' to scrub error(s)
'Q' to quit
Q
Info:
Intel®
Quartus® Prime 64-Bit Fault Injection Debugger was successful.
0 errors, 0 warnings
Info: Peak virtual memory: 1522 megabytes
Info: Processing ended: Mon Nov 3 18:50:00 2014
Info: Elapsed time: 00:00:29
Info: Total CPU time (on all processors): 00:00:13