Visible to Intel only — GUID: tim1616566898974
Ixiasoft
3.3.1. Configuration Bitstream Encryption Using the Programming File Generator Graphical Interface
3.3.2. Configuration Bitstream Encryption Using the Programming File Generator Command Line Interface
3.3.3. Partially Encrypted Configuration Bitstream Generation Using the Command Line Interface
3.3.4. Partial Reconfiguration Bitstream Encryption
4.1. Using SDM Provision Firmware
4.2. Using QSPI Factory Default Helper Image on Owned Devices
4.3. Authentication Root Key Provisioning
4.4. Programming Key Cancellation ID Fuses
4.5. Canceling Root Keys
4.6. Programming Counter Fuses
4.7. Secure Data Object Service Root Key Provisioning
4.8. Security Setting Fuse Provisioning
4.9. AES Root Key Provisioning
4.10. Converting Owner Root Key, AES Root Key Certificates, and Fuse files to Jam STAPL File Formats
Visible to Intel only — GUID: tim1616566898974
Ixiasoft
4.8. Security Setting Fuse Provisioning
You use the Intel® Quartus® Prime Programmer to examine device security setting fuses and write them to a text-based .fuse file.
The .fuse file contains a list of fuse name-value pairs. The value specifies whether a fuse has been blown or the contents of the fuse field.
The following example shows the format of the .fuse file.
# Co-signed firmware = "Not blown"
# Device Permit Kill = "Not blown"
# Device not secure = "Not blown"
# Disable HPS debug = "Not blown"
# Disable Intrinsic ID PUF enrollment = "Not blown"
# Disable JTAG = "Not blown"
# Disable PUF-wrapped encryption key = "Not blown"
# Disable owner encryption key in BBRAM = "Not blown"
# Disable owner encryption key in eFuses = "Not blown"
# Disable owner root public key hash 0 = "Not blown"
# Disable owner root public key hash 1 = "Not blown"
# Disable owner root public key hash 2 = "Not blown"
# Disable virtual eFuses = "Not blown"
# Force SDM clock to internal oscillator = "Not blown"
# Force encryption key update = "Not blown"
# Intel explicit key cancellation = "0"
# Lock security eFuses = "Not blown"
# Owner encryption key program done = "Not blown"
# Owner encryption key program start = "Not blown"
# Owner explicit key cancellation 0 = ""
# Owner explicit key cancellation 1 = ""
# Owner explicit key cancellation 2 = ""
# Owner fuses =
"0x00000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000
0000000000000000000000"
# Owner root public key hash 0 =
"0x00000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000"
# Owner root public key hash 1 =
"0x00000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000"
# Owner root public key hash 2 =
"0x00000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000"
# Owner root public key size = "None"
# PTS counter = "0"
# PTS counter base = "0"
# QSPI start up delay = "10ms"
# RMA Counter = "0"
# SDMIO0 is I2C = "Not blown"
# SVN counter A = "0"
# SVN counter B = "0"
# SVN counter C = "0"
# SVN counter D = "0"
You modify the .fuse file to set the desired security setting fuses. A line that begins with # is treated as a comment line. To program a security setting fuse, you must remove the leading # and set the value to Blown. For example, to enable the Co-signed Firmware security setting fuse, you modify the first line of the fuse file to the following:
Co-signed firmware = "Blown"
You may also allocate and program the Owner Fuses according to your requirements.
The following fields are not writable through the .fuse file method; however, they are included during the examine operation output for verification:
- Device not secure
- Device permit kill
- Disable owner root public key hash 0
- Disable owner root public key hash 1
- Disable owner root public key hash 2
- Intel key cancellation
- Owner encryption key program start
- Owner encryption key program done
- Owner key cancellation
- Owner public key hash
- Owner public key size
- Owner root public key hash 0
- Owner root public key hash 1
- Owner root public key hash 2
- PTS counter
- PTS counter base
- QSPI start up delay
- RMA counter
- SDMIO0 is I2C
- SVN counter A
- SVN counter B
- SVN counter C
- SVN counter D
You use the Intel® Quartus® Prime Programmer to program the .fuse file back to the device. If you add the i option, the Programmer automatically loads the provision firmware to program the security setting fuses.
//For physical (non-volatile) eFuses
quartus_pgm -c 1 -m jtag -o "pi;programming_file.fuse" --non_volatile_key
//For virtual (volatile) eFuses
quartus_pgm -c 1 -m jtag -o "pi;programming_file.fuse"
Did you find the information on this page useful?
Feedback Message
Characters remaining: