Ug QPP Programmer 19 3 683039 705024
Ug QPP Programmer 19 3 683039 705024
Ug QPP Programmer 19 3 683039 705024
User Guide
Programmer
Contents
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
2
Contents
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
3
UG-20134 | 2019.09.30
Send Feedback
Related Information
• Generating Primary Device Programming Files on page 5
• Generating Secondary Programming Files on page 6
• Enabling Bitstream Security for Intel Stratix 10 Devices on page 16
• Using the Intel Quartus Prime Programmer on page 30
• Programming with Flash Loaders on page 36
Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,
Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or
other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in ISO
accordance with Intel's standard warranty, but reserves the right to make changes to any products and services 9001:2015
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel
customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
Figure 2. Device & Pin Options Dialog Box (Intel Stratix® 10 Design)
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
5
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
You can use the Programming File Generator or Convert Programming Files
dialog box to generate secondary programming files:
• The Programming File Generator supports advanced programming features and
is optimized for Intel Stratix® 10, Intel MAX® 10, and Intel Cyclone® 10 LP
devices.
• The Convert Programming Files dialog box supports all devices released prior
to Intel Stratix 10 devices.
Device • Intel Stratix 10 • Intel Arria® 10 APEX20K, Arria II GX and GZ, Arria V,
Support(1) • Intel MAX 10 • Intel Cyclone 10GX and LP Cyclone, Cyclone II, Cyclone III and LS,
Cyclone IV E and GX, Cyclone V,
• Intel Cyclone 10 LP • Intel MAX 10
HardCopy® III, HardCopy II, HardCopy
IV, MAX V, Stratix, Stratix II, Stratix III,
Stratix IV, Stratix V
(1) The Intel Quartus Prime Pro Edition software supports compilation of designs for Intel Agilex™
devices, but does not yet support Intel Agilex configuration bitstream generation.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
6
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
Generate Selected
Files
7. To specify a .sof file that contains the configuration bitstream data, on the Input
Files tab, click Add Bitstream. To include raw data, click Add Raw Data and
specify a Hexadecimal (Intel-Format) File (.hex) or Binary (.bin) file.
8. To specify bitstream authentication or encryption security settings for the file,
select the .sof and click Properties, as Enabling Bitstream Authentication
(Programming File Generator) on page 17 describes.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
7
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
9. To specify the .sof file that occupies the flash memory partition, click Add
Partition on the Configuration Device tab. Add Partition Dialog Box
(Programming File Generator) on page 51 describes all options.
10. To select a supported flash memory device and predefined programming flow, click
Add Device on the Configuration Device tab. Alternatively, click <<new
device>> to define a new flash memory device and programming flow.
Configuration Device Tab Settings on page 50 describes all settings.
11. Click the Select button for Flash Loader and select the device that controls
loading of the flash memory device (for example, an Intel Stratix 10 device).
Select Devices (Flash Loader) Dialog Box on page 53 describes all settings.
12. After you specify all options in Programming File Generator, the Generate
button enables. Click Generate to create the files.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
8
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
AVST x16 transfer of configuration data from an external storage such as flash
memory to the FPGA. The design that controls the configuration process
AVST x32 resides in the external host. You can use the PFL II IP core with an Intel
MAX 10 device as the host to read configuration data from a flash memory
device that configures an Intel Stratix 10 FPGA.
Uses a .pof file for internal configuration of the Intel MAX 10 device’s
Internal
Configuration Flash Memory (CFM) and User Flash Memory (UFM) via a Intel MAX 10
Configuration
download cable Intel Quartus Prime Programmer.
Hexadecimal (Intel-Format) .hexout An ASCII text file in Intel hexadecimal format that contains configuration
Output File for SRAM data for programming a parallel data source, such as a configuration
device or a mass storage device. The parallel data source in turn
configures an SRAM-based Intel device.
JTAG Indirect Configuration .jic Proprietary Intel FPGA file type that stores serial flash programming data
File for programming via Intel FPGA JTAG pins. This method only supports
Active Serial configuration. Before programming the flash, the
Programmer first configures the FPGA with the Serial Flash Helper
Design.
Map File .map A text file containing the byte addresses of pages and data stored in the
memory of a configuration device for
Programmer Object File .pof A binary file used by the Programmer to program a flash memory device
via active serial header, or to program a flash memory device via the
Parallel Flash Loader Intel FPGA IP.
Raw Binary File .rbf Configuration bitstream file for use with a third-party data source, partial
reconfiguration, or HPS data source. Supports Passive Serial (PS) and
Avalon-Streaming (AVST) modes.
Raw Binary File for CvP Core .rbf A binary file that containing logic that is programmed by configuration
Configuration (CRAM) for CvP phase 2. The core bitstream is in .rbf format.
Raw Binary File for HPS Core A binary file that containing logic that is programmed by configuration
Configuration (CRAM) for HPS configuration phase 2. The core bitstream is in .rbf
format.
Raw Programming Data File .rpd Stores data for configuration with third-party programming hardware.
You generate Raw Programming Data Files from a .pof or .sof.
The .rpd file is a subset of a .pof or .jic that includes only device-
specific binary programming data for Active Serial configuration scheme
with EPCS or EPCQ serial configuration devices and remote system
update.
Tabular Text File .ttf A TTF contains the decimal equivalent of a Raw Binary File (.rbf).
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
9
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
The options available in the Convert Programming File dialog box change
dynamically, according to your device and configuration mode selection.
1. Generate the primary programming files for your design, as Generating Primary
Device Programming Files on page 5 describes.
2. Click File ➤ Convert Programming Files.
3. Under Output programming file, select the Programming file type that you
want to generate. Secondary Programming Files (Convert Programming Files) on
page 12 describes all file options.
4. Specify the File name and output directory (…) for the file that you generate.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
10
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
7. Under Input files to convert, select the SOF Data item, and then click the Add
File button. Specify the .sof file that contains the configuration bitstream data.
To include raw data, click Add Hex Data and specify a .hex file.
8. To enable bitstream compression or encryption security settings, select the .sof
file and click Properties, as Enabling Bitstream Encryption or Compression for
Intel Arria 10 and Intel Cyclone 10 GX Devices on page 21 describes.
9. Select the Flash Loader text, and then click the Add Device button. Select the
device that controls loading of the flash device.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
11
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
10. After you specify all options in the Convert Programming File dialog box, click
the Generate button to create the files.
Hexadecimal (Intel-Format) .hexout An ASCII text file in Intel hexadecimal format that contains
Output File for SRAM configuration data for programming a parallel data source, such as a
configuration device or a mass storage device. The parallel data
source in turn configures an SRAM-based Intel device.
JTAG Indirect Configuration File .jic Proprietary Intel FPGA file type that stores serial flash programming
data for programming via Intel FPGA JTAG pins. This method only
supports Active Serial configuration. Before programming the flash,
the Programmer first configures the FPGA with the Serial Flash
Helper Design.
Memory Map File .map Contains the byte addresses of pages and HEX data stored in the
memory of an EPC4, EPC8, or EPC16 configuration device. The MAP
File stores the start and end addresses of the Main Block Data and
Bottom Boot Data items, and the start and end addresses of pages
within the Main Block Data item.
Partial-Masked SRAM Object Files .pmsf Contains the partial-mask bits for configuration of a PR region.
The .pmsf file contains all the information for creating PR
bitstreams.
Merged Mask Setting File .msf Contains the mask bits for the static region in a PR design.
Programmer Object File .pof A binary file that contains the data for programming non-volatile
Intel MAX 10, MAX V, MAX II, or flash memory devices that can
configure Intel FPGA devices. A Programmer consists of a remote
continued...
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
12
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
Raw Binary File .rbf Configuration bitstream file for use with a third-party data source,
partial reconfiguration, or HPS data source. Supports Passive Serial
(PS) and Avalon-Streaming (AVST) modes.
Raw Programming Data File .rpd Stores data for configuration with third-party programming
hardware. You generate Raw Programming Data Files from a .pof
or .sof. The .rpd file is a subset of a .pof or .sof that includes
only device-specific binary programming data for Active Serial
configuration scheme with EPCS or EPCQ serial configuration devices
and remote system update. The .rpd file content has one bit
swapped in comparison with the output file.
Tabular Text File .ttf A TTF contains the decimal equivalent of a Raw Binary File (.rbf).
An external controller passes configuration data to one or more FPGA devices via a
serial data stream. The FPGA device is a slave device with a 5-wire interface to the
1-Bit/2-Bit/4-Bit/8-Bit Passive
external controller. The external controller can be an intelligent host such as a
Serial
microcontroller or CPU, or the Intel Quartus Prime Programmer, or an EPC2 or
EPC16 configuration device.
Active Serial For storing configuration data in a low-cost serial configuration device with non-
volatile memory. Serial configuration devices provide a serial interface to access
Active Serial x4 the configuration data. During device configuration, the device reads the
configuration data through the serial interface, decompresses the data if
necessary, and configures their SRAM cells.
AVST x8/x16/x32 The Avalon-ST configuration mode uses an external host, such as a microprocessor
or Intel MAX 10 device. The external host controls the transfer of configuration
data from an external storage such as flash memory to the FPGA. The design that
controls the configuration process resides in the external host. You can use the PFL
II IP core with an Intel MAX 10 device as the host to read configuration data from
a flash memory device that configures an FPGA.
Passive Parallel Synchronous An external controller, such as a CPU, loads the design data into a device via a
common data bus. Data is latched by the device on the first rising edge of a CPU-
driven clock signal. The next eight falling clock edges serialize this latched data
within the device. The device latches the next 8-bit byte of data on every eighth
rising edge of the clock signal until the device is completely configured.
Passive Parallel Asynchronous An external controller, such as a CPU, loads the design data into a device via a
common data bus. The device accepts a parallel byte of input data. Intelligent
communication between the external controller and the device allows the external
controller to configure the device.
Internal Configuration Uses a .pof file for internal configuration of the Intel MAX 10 device’s
Configuration Flash Memory (CFM) and User Flash Memory (UFM) via a download
cable Intel Quartus Prime Programmer.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
13
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
Changes in the Advanced Options dialog box affect .pof, .jic, .rpd, and .rbf
file generation.
Disable EPCS/EPCQ ID Directs the FPGA to skips the EPCS/EPCQ silicon ID Default setting is ON (EPCS/
check verification. EPCQ ID check is enabled).
Applies to single and multi device AS configuration modes
on all devices.
Disable AS mode Directs the FPGA to skip the CONF_DONE error check. Default setting is OFF (AS
CONF_DONE error check Applies to single- and multi-device (AS) configuration mode CONF_DONE error
modes on all devices. check is enabled).
Program Length Count Specifies the offset you can apply to the computed PLC of Integer (Default = 0)
adjustment the entire bitstream.
Applies to single- and multi-device (AS) configuration
modes on all FPGA devices.
Post-chain bitstream pad Specifies the number of pad bytes appended to the end of If the bitstream of the last
bytes an entire bitstream. device is uncompressed,
default value is 0.
Otherwise, default is 2
Post-device bitstream Specifies the number of pad bytes appended to the end of Zero or positive integer.
pad bytes the bitstream of a device. Default is 0
Applies to all single-device configuration modes on all FPGA
devices.
Bitslice Padding Value Specifies the padding value used to prepare bitslice 0 or 1
configuration bitstreams, such that all bitslice configuration Default value is 1
chains simultaneously receive their final configuration data
bit.
Use only in 2, 4, and 8-bit PS configuration mode, when you
use an EPC device with the decompression feature enabled.
Applies to all FPGA devices that support enhanced
configuration devices.
The following table lists possible symptoms of a failing configuration, and describes
the advanced options necessary for configuration debugging.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
14
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
Failure Symptoms Disable EPCS/ Disable AS PLC Settings Post-Chain Post-Device Bitslice
EPCQ ID Mode Bitstream Pad Bitstream Pad Padding Value
Check CONF_DONE Bytes Bytes
Error Check
Configuration Yes — — — — —
failure occurs at
the beginning of a
configuration cycle.
EPCS128 Yes — — — — —
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
15
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
First Level Signature Chain Key File you generate that specifies the root key (.pem) and one or .qky
File more design signing keys (.pem) required to sign the bitstream
and allow access to the FPGA when using authentication or
encryption.
Root Key File File you generate that anchors the first level signature chain to a .qky
known root key. The FPGA calculates the hash of the root entry and
checks if it matches the expected hash. The Assembler appends
the root key to the programming file and stores the key in eFuses.
Design Signing Key File File you generate and append to the root key that authenticates .pem
the bitstream in the SDM to allow configuration of the device with
the pending bitstream. Use separate design signing keys for the
FPGA and HPS for highest security.
Signed HPS Certificate File Specifies a secure HPS debug certificate that permits access to the .cert
JTAG interface for HPS debugging. A secure HPS debug certificate
is valid until you power down or reconfigure the device.
Note: Intel Arria 10 and Intel Cyclone 10 GX devices do not support bitstream
authentication.
Related Information
Intel Stratix 10 Device Security User Guide
For detailed device security configuration steps.
(6) Bitstream authentication is available only for Intel Stratix 10 devices that include the AS
(Advanced Security) ordering code suffix and all Intel Stratix 10 DX devices.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
16
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
Note: Refer to the Intel Stratix 10 Device Security User Guide for step-by-step first level
signature chain key generation instructions.
After you specify the .qky in Assembler settings, the Assembler appends the first
level signature chain to the configuration .sof that you generate.
Physical Security
Options
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
17
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
my_key.pem
co_firm.zip
my_key.qek
Related Information
• Device & Pin Options Dialog Box on page 40
• Specifying Additional Physical Security Settings (Programming File Generator) on
page 18
• Intel Stratix 10 Device Security User Guide
For detailed information on generating device security keys.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
18
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
Disable JTAG Disables JTAG command and configuration of the device. Setting • Off—inactive
this eliminates JTAG as mode of attack, but also eliminates • On—active until
boundary scan functionality. wipe of containing
design
Force SDM clock to Disables an external clock source for the SDM. The SDM must use
• On sticky—active
internal oscillator the internal oscillator. Using an internal oscillator is more secure
until next POR
than allowing an external clock source for configuration.
• On check—checks
Force encryption key Specifies that the encryption key must update by the frequency for corresponding
update that you specify for the Encryption update ratio option. The blown fuse
default ration value is 31:1. Encryption supports up to 20
intermediate keys.
Lock security eFuses Causes eFuse failure if the eFuse CRC does not match the
calculated value.
Disable HPS debug Disables debugging through the JTAG interface to access the HPS.
Disable encryption key Specifies that the device cannot use an AES key stored in eFuses.
in eFuses Rather, you can provides an extra level of security by storing the
AES key in BBRAM.
Disable encryption key Specifies that the device cannot use AES key stored in BBRAM.
in BBRAM Rather, you can provides an extra level of security when you store
the AES key in eFuses.
4. Click OK.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
19
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
Related Information
Enabling Bitstream Authentication (Programming File Generator) on page 17
Encryption key storage select Specifies the location that stores the .qek key file. You can select either Battery
Backup RAM or eFuses for storage.
Encryption update ratio Specifies the ratio of configuration bits compared to the number of key updates
required for bitstream decryption. You can select either 31:1 (the key must
change 1 time every 31 bits) or Disabled (no update required). Encryption
supports up to 20 intermediate keys.
More Options Opens the More Security Options dialog box for specifying additional physical
security options.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
20
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
my_key.pem
co_firm.zip
my_key.qek
Related Information
Input Files Tab Settings (Programming File Generator) on page 49
Follow these steps to enable bitstream file compression or encryption for Intel Arria 10
and Intel Cyclone 10 GX devices:
1. Generate a .jic file for flash programming, as this document describes.
2. In the Convert Programming File dialog box, select the .sof file under Input
files to convert.
3. Click the Properties button. The SOF File Properties: Bitstream Encryption
dialog box appears.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
21
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
Figure 14. Enabling Bitstream Compression or Encryption (Intel Arria 10 and Intel
Cyclone 10 GX Designs)
Related Information
• Intel Arria 10 Core Fabric and General Purpose I/Os Handbook
For detailed device security configuration steps.
• Intel Cyclone 10 GX Core Fabric and General Purpose I/Os Handbook
For detailed device security configuration steps.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
22
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
2. To compile the revision and generate the .rbf, click Processing ➤ Start
Compilation.
Follow these steps to generate the .rbf for PR programming with the Programming
File Generator:
1. Click File ➤ Programming File Generator. The Programming File Generator
appears.
2. Specify the target Device family and the Configuration mode for partial
reconfiguration.
3. On the Output File tab, specify the Output directory, file name, and enable the
Raw Binary File for Partial Reconfiguration (.rbf) file type.
4. To add the input .pmsf file to convert, click the Input Files tab, click Add
Bitstream, and specify the .pmsf that you generated in the Assembler.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
23
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
5. On the Input Files tab, select the bitstream .pmsf file and click Properties.
Specify any of the following options for the .rbf:
• Enable compression—generates compressed PR bitstream files to reduce file
size.
• Enable encryption—generates encrypted independent bitstreams for base
image and PR image. You can encrypt the PR image even if your base image
has no encryption. The PR image can have a separate encryption key file
(.ekp), you can also specify other Security settings.
• If you turn on Enable encryption, you must also acknowledge the Design
Security Feature Disclaimer by checking the box.
6. Click OK.
7. In Programming File Generator, click Generate. The PR bitstream files
generate according to your specifications.
Follow these steps to generate the .rbf with the Convert Programming Files dialog
box:
1. Click File ➤ Convert Programming Files. The Convert Programming Files
dialog box appears.
2. Specify the output file name and Programming file type as Raw Binary File
for Partial Reconfiguration (.rbf).
3. To add the input .pmsf file to convert, click Add File.
4. Select the newly added .pmsf file, and click Properties.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
24
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
25
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
PR Bitstream
Static Region Compatible Persona B
PR Bitstream from Same
PR Region
Persona A
PR Bitstream
Persona B
Incompatible PR from Different
Bitstream Design
For Intel Stratix 10 and Intel Agilex designs, PR bitstream compatibility checking is
automatically enabled in the Compiler and in the Secure Device Manager (SDM)
firmware by default. The following limitations apply to PR designs if PR bitstream
compatibility checking is enabled:
• The Compiler allows up to 255 PR regions.
• The Compiler allows up to 15 child PR regions of any parent PR region.
• The Compiler allows up to six hierarchical partial reconfiguration layers.
The Compiler generates an error if your PR design exceeds these limits when PR
bitstream compatibility checking is enabled.
If you require more PR regions than this limitation allows, or otherwise want to disable
PR bitstream compatibility checking , you can add the following assignment to
the .qsf file:
set_global_assignment -name ENABLE_PR_POF_ID OFF
For Intel Arria 10 and Intel Cyclone 10 GX designs, you enable or disable PR bitstream
compatibility checking by turning on the Enable bitstream compatibility check
option when instantiating the Intel Arria 10/Cyclone 10 FPGA IP from the IP Catalog.
The software then verifies the partial reconfiguration PR Bitstream file (.rbf). If
software detects an incompatible bitstream, the PR operation stops, and the status
output reports an error. The PR .pof ID encodes as the 71st word of the PR
bitstream.
When you turn on Enable bitstream compatibility check, the PR Controller IP core
creates a PR bitstream ID and displays the bitstream ID in the configuration dialog
box.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
26
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
Alternatively, to merge two or more .pmsf files from the Intel Quartus Prime shell,
type the following command:
quartus_cpf --merge_pmsf=<number of merged files> <pmsf_input_file_1> \
<pmsf_input_file_2> <pmsf_input_file_etc> <pmsf_output_file>
For example, to merge two .pmsf files, type the following command:
quartus_cpf --merge_pmsf=<2> <pmsf_input_file_1> <pmsf_input_file_2> \
<pmsf_output_file>
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
27
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
To export PFG settings to a .pfg file, click File ➤ Save. The Programming File
Generator only saves settings that are consistent.
For more information about the quartus_pfg executable, type the following in the
command line:
quartus_pfg --help
For help with the quartus_cpf executable, type the following at the command line:
quartus_cpf --help
1.6.2.1. Generating a Partial-Mask SRAM Object File using a Mask Settings File
and a SRAM Object File
• To generate a .pmsf file with the quartus_cpf executable, type the following in
the command line:
Note: The -p option is available for designs targeting Intel Arria 10 and Intel Cyclone 10 GX
device families.
Related Information
Intel Quartus Prime Pro Edition User Guide: Partial Reconfiguration
In Intel Quartus Prime Pro Edition User Guide: Partial Reconfiguration
2019.09.30 19.3.0 • Added new “Enabling Bitstream Security for Intel Stratix 10 Devices”
topic.
• Added new “Enabling Bitstream Authentication (Programming File
Generator)” topic.
• Added new “Specifying Additional Physical Security Settings
(Programming File Generator)” topic.
• Added new “Enabling Bitstream Encryption (Programming File
Generator)” topic.
continued...
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
28
1. Intel® Quartus® Prime Programmer User Guide
UG-20134 | 2019.09.30
2018.10.09 18.1.0 • Added MAX V to the list of devices that the Programming File Generator
tool supports.
• Added table : Device Families that the Convert Programming Files Tool
Supports.
2018.08.07 18.0.0 Reverted document title to Programmer User Guide: Intel Quartus Prime
Pro Edition.
2018.06.27 18.0.0 • Created the new chapter with information from the Programming
Devices chapter.
• Included information about the Programming File Generator tool.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
29
UG-20134 | 2019.09.30
Send Feedback
Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,
Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or
other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in ISO
accordance with Intel's standard warranty, but reserves the right to make changes to any products and services 9001:2015
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel
customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
JTAG A configuration method that configures one or more devices through the Joint
Test Action Group (JTAG) Boundary-Scan Test (BST) circuitry.
In-Socket Programming Configuration device programming or testing via the Altera Programming Unit
(APU).
Passive Serial An external controller passes configuration data to one or more configuration
devices via a serial data stream. The device is treated as a slave device with a 5-
wire interface to the external controller. The external controller can be an
intelligent host such as a microcontroller or CPU, or the Intel Quartus Prime
Programmer. The external controller can also be a serial configuration device.
Active Serial Programming The active serial memory interface block loads design data into one or more
devices. The active serial memory interface block controls the configuration
process, and configures all of the devices in the chain using the configuration
data stored in an EPCS1, EPCS4, EPCS16, EPCS64, EPCQ, EPCQL, and third-party
QSPI serial configuration devices.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
31
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
7. In the Found Devices list, select the device that matches your design and click
OK.
8. Right-click the row in the file list, and then click Change File.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
32
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
11. Click Start. The progress bar reaches 100% when device configuration is
complete. The device is now fully configured and in operation.
Note: If device configuration fails, confirm that the device you select for
configuration matches the device you specify during .sof file generation.
A JTAG server allows the Intel Quartus Prime Programmer to access the JTAG
programming hardware connected to a remote computer through the JTAG server of
that computer. The JTAG server allows you to control the programming or
configuration of devices from a single computer through other computers at remote
locations. The JTAG server uses the TCP/IP communications protocol.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
33
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Follow these steps to select a JTAG server for device programming in the Programmer:
1. In the Programmer, click Hardware Setup.
2. On the JTAG Settings tab, click Add Server. In the JTAG Settings dialog box,
specify the Server name and Server password.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
34
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
3. Under JTAG Servers, select the JTAG server that you want to access for
programming.
4. Click Close. The setup appears as the current hardware setup.
In addition, the tool allows you to shift in JTAG instructions and data through the JTAG
interface, and step through the test access port (TAP) controller state machine for
debugging purposes.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
35
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
The JTAGD daemon is now running and does not terminate when you log off.
Related Information
• Generic Serial Flash Interface Intel FPGA IP Core User Guide
• Intel Parallel Flash Loader IP Core User Guide
• Generic Flash Programmer User Guide
• Customizable Flash Programmer User Guide
Note: The Programming File Generator supports defining flash partitions only for .jic
or .pof programming files.
Page Configuration devices can store multiple configuration bitstreams in flash memory,
called pages. CFI configuration devices can store up to eight configuration
bitstreams. Intel Stratix 10 devices can store up to four configuration bitstreams,
including the factory image.
In Intel Stratix 10 devices, with the remote system update feature enabled, Page
represents the parity.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
36
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Setting Description
Start address Specifies the start address of the partition. Only enabled when Address Mode is
Block or Start.
End address Specifies the end address of the partition. Only enabled when Address Mode is
Block.
For example, if you specify a .jic file containing only a 13.6Mbits FPGA image on an
EPCQ64A device, the Programmer erases only the bottom 13.6Mbits, and does not
erase the remaining 50.4Mbits of data.
To erase the entire flash memory device contents, do not specify a .jic file for flash
programming. Rather, manually add the flash device to the associated FPGA device
chain by following these steps:
1. In the Programmer, right-click the target FPGA device, and then click Edit ➤
Attach Flash Device.
2. Select the appropriate flash device from the list. The Factory Default Serial Flash
Loader loads for the FPGA automatically.
3. In the Programmer, enable the Erase checkbox, and click Start to start the erase
operation.
During compilation, the Intel Quartus Prime software generates a unique project hash,
and embeds this hash value in the programming files (.sof). You can verify the
source of programming files by matching the project and programming file hash
values.
The project hash does not change for different builds of the Intel Quartus Prime
software, or when you install a software update. However, if you upgrade any IP with
a different build or patch, the project hash changes.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
37
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Thereafter, the Programmer requires both the private .pmsf and public .smsf to
generate the PR bitstream for this PR region, ensuring that the PR persona can only
change bits that the persona owns. The Platform Owner may or may not
release .smsf files to third-party Clients as part of the PR region collateral. The
Platform Owner uses the .smsf to generate the PR bitstream from Client's .pmsf for
this PR region with the Programmer.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
38
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Contention
Device DB
Quartus Programmer, Assembler
PR
Security Valid
Public SMSF PR RBF
Checker
Invalid
Private
PMSF X
Follow these steps to license, enable, and use PR bitstream security verification:
1. Obtain the license file to enable generation of .smsf files for PR regions during
base compilation, and to perform PR bitstream security verification during PR
bitstream generation in the Programmer. To obtain the license, login or register for
a My-Intel account, and then submit an Intel Premier Support case requesting the
license key.
2. To add the license file to the Intel Quartus Prime Pro Edition software, click Tools
➤ License Setup and specify the feature License File.
3. To enable PR security validation features, add the following line to the
project .qsf:
Related Information
• Intel Quartus Prime Pro Edition User Guide: Partial Reconfiguration
In Intel Quartus Prime Pro Edition User Guide: Partial Reconfiguration
• My-Intel.com
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
39
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Related Information
Download Center for FPGAs
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
40
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Option Description
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
41
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Option Description
• Enable nCEO pin—enables the nCEO pin. This pin should be connected to the
nCE of the succeeding device when multiple devices are being programmed. If
this option is turned off, the nCEO pin is disabled when the device operates in
user mode and is available as a user I/O pin.
• Enable autonomous PCIe HIP mode—releases the PCIe HIP after periphery
configuration, before device core configuration completes. This option only
takes effect if CvP mode is disabled.
• Enable the HPS early release of HPS IO—releases the HPS shared I/O bank
after the IOCSR programming.
Auto usercode Sets the JTAG user code to match the checksum value of the device programming
file. The programming file is a .pof for non-volatile devices, or an .sof for
SRAM-based devices. If you turn on this option, the JTAG user code option is not
available.
JTAG user code Specifies a hexadecimal number for the device selected for the current Compiler
settings. The JTAG user code is an extension of the option register. This data can
be read with the JTAG USERCODE instruction. If you turn on Auto usercode, this
option is not available.
In-system programming clamp Allows you to specify the state that the pins take during in-system programming
state for used pins that do not have an in-system programming clamp state assignment.
Unused pins and dedicated inputs must always be tri-stated for in-system
programming. Used pins are tri-stated by default during in-system programming,
which electrically isolates the device from other devices on the board. At times,
however, in order to prevent system damage you may want to specify the logic
level for used pins during in-system programming. The following settings are
available:
• Tri-state—the pins are tri-stated.
• High—the pins drive VCCIO.
• Low—the pins drive GND.
• Sample and Sustain—the pins drive the level captured during the SAMPLE/
PRELOAD JTAG instruction.
Configuration clock source Specifies the clock source for device initialization (the duration between
CONF_DONE signal went high and before INIT_DONE signal goes high).
For AS x1 or AS x4 configuration mode, you can select either Internal Oscillator
or CLKUSR pin only. The DCLK pin is an illegal option for AS mode. In 14 nm
device families, only Internal Oscillator or OSC_CLK_1 pins are available.
Device initialization clock source Specifies the clock source for device initialization (the duration between
CONF_DONE signal went high and before INIT_DONE signal goes high).
For AS x1 or AS x4 configuration mode, you can select either Internal Oscillator
or CLKUSR pin only. The DCLK pin is an illegal option for AS mode. In 14 nm
device families, only Internal Oscillator or OSC_CLK_1 pins are available.
Option Description
Configuration scheme Specifies the scheme of configuration for generation of appropriate primary and
secondary programming files, such as Active Serial x4. Only options appropriate
for the current Configuration Scheme are available.
Configuration Device Allows you to specify options for an external configuration device that stores and
loads configuration data.
continued...
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
42
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Option Description
Configuration Pin Options Enables or disables operation of specific device configuration pins for status
monitoring, SEU error detection, CvP, and other configuration pin options.
Generate compressed bitstreams Generates compressed bitstreams and enables bitstream decompression in the
target device.
Active serial clock source Specifies the configuration clock source for Active Serial programming. Options
range from 12.5 MHz to 100 MHz.
VID Operation Mode Enables Voltage IDentification logic in the target device with selected operation
mode. The available options are PMBus Master or PMBus Slave.
HPS/FPGA configuration order For hard processor system (HPS) configuration, specifies the order of configuration
between the HPS and FPGA. The options are HPS First, After INIT_DONE, and
When requested by FPGA.
Disable Register Power-Up Specifies whether the Assembler generates a bit stream with register power-up
Initialization initialization.
Option Description
Reserve all unused • As input tri-stated—the pins reserve as tri-state input pins.
pins • As output driving ground—the pins reserve as output pins and drive the ground signal.
• As output driving an unspecified signal—the pins reserve as output pins and drive any
signal.
• As input tri-stated with bus-hold circuitry—the pins reserve as tri-state input pins with
bus-hold circuitry.
• As input tri-stated with weak pull-up—the pins reserve as tri-state input pins with weak
pull-up resistors.
Option Description
Dual-purpose pins • Use as regular I/O—the dual-purpose pin is not reserved. Rather the I/O pin is in in user
mode.
• Use as programming pin—the nCEO pin is reserved as a dedicated programming pin.
• As input tri-stated—the dual-purpose pin is reserved as an input pin.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
43
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Option Description
• As output driving ground—the dual-purpose pin is reserved as an output pin and drives
the ground signal.
• As output driving an unspecified signal—the dual-purpose pin is reserved as an output
pin and drives any signal.
• Compiler configured—the Compiler automatically selects the best reserve setting for the
dual-purpose pin, considering the current configuration scheme, and whether the pins are
only used for configuration. If your design uses the Active Parallel configuration scheme and
the Programmer does not communicate directly with the parallel flash device in user mode,
you should reserve all dual-purpose pins connected to the parallel flash device as Compiler
configured.
Option Description
I/O standard Specifies the supported I/O standard, such as Differential 1.8-V SSTL Class II.
Board trace model Lists the board trace model parameters, with units, and values for the specified I/O standard.
You can change the value of each parameter. The board trace model assignments apply to all
output and bidirectional pins with the specified I/O standard assigned to them.
Option Description
Option Description
Default I/O standard Specify 1.2 V, 1.5 V, 1.8 V, 2.5 V, 3.0 LVTTL, or 3.0 LVCMOS.
Option Description
Enable Error Detection Enables error detection CRC and CRC_ERROR pin usage for the targeted device. This check
CRC_ERROR pin determines the validity of the programming data in the device. Any changes in the data while
the device is in operation generates an error.
continued...
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
44
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Option Description
Enable Open Drain on Sets the CRC ERROR pin as an open-drain pin. This action decouples the voltage level of the
CRC Error pin CRC ERROR pin from VCCIO voltage. When you turn on this option, you must connect a pull-up
resistor to the CRC ERROR pin.
Note: Not available for Intel Stratix 10 devices.
Enable error detection Enables error detection CRC checking to verify the validity of programming data in the device,
check and reports any changes in the data while the device is in operation.
Minimum SEU interval Specifies the minimum time interval between two checks of the same bit. Setting to 0 means
check as frequently as possible. Setting to a large value saves power. The unit of interval is
millisecond. The maximum allowed number of intervals is 10000.
Enable internal Specifies use of internal scrubbing to correct any detected single error or double adjacent error
scrubbing within the core configuration memory while the device is still running.
Generate SEU Generates a Single Event Upset Sensitivity Map file. This file allows you to enable the Advanced
sensitivity map file SEU detection feature.
Allow SEU fault Allows the injection of fault patterns to test for SEU.
injection
Option Description
Configuration via In Initialization and update mode, the periphery image stores in an external configuration
protocol device and loads the image into the FPGA through a conventional configuration scheme. The
core image stores in a host memory and loads into the FPGA through the PCIe link. In Core
initialization mode, the periphery image stores in an external configuration device and loads
into the FPGA through the conventional configuration scheme. The core image is stores in a
host memory and is loads into the FPGA through the PCIe link. In Core update mode, the
FPGA device is initialized after initial system power up by loading the full configuration image
from the external local configuration device to the FPGA. You can use the PCIe link to perform
one or more FPGA core image update through this mode. In the Off mode, CvP is turned off.
Enable Indicates that the device finished core programming in Configuration via Protocol mode. If this
CvP_CONFDONE pin option is turned off, the CvP_CONFDONE pin is disabled when the device operates in user mode
and is available as a user I/O pin.
Note: Not available for Intel Stratix 10 devices.
Enable open drain on Enables the open drain on the CvP_CONFDONE pin.
CvP_CONFDONE pin
Note: Not available for Intel Stratix 10 devices.
Option Description
Enable partial Allows you to enable the PR_REQUEST, PR_READY, PR_ERROR, PR_DONE, DCLK, and
reconfiguration pins DATA[31..0] pins. These pins are needed to support partial reconfiguration (PR) with an
external host. An external host uses the PR_REQUEST pin to request partial reconfiguration,
the PR_READY pin to determine if the device is ready to receive programming data, the
PR_ERROR pin to externally monitor programming errors, and the PR_DONE pin to indicate the
device finished programming. If this option is turned off, these pins are not available as PR pins
when the device operates in user mode and the dual-purpose programming pins are available
as user I/O pins.
continued...
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
45
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Option Description
Enable open drain on Allows you to specify an open drain on the PR_READY, PR_ERROR, PR_DONE Partial
partial reconfiguration Reconfiguration pins.
pins
Note: Not available for Intel Stratix 10 devices.
Generate Partial- Generates a Partial-Masked SRAM Object file (.pmsf) containing both configuration data and
Masked SOF files region definitions that can be used to re-configure a device region. If this option is turned on,
the .pmsf generates instead of a Mask Settings file (.msf).
Generate Partial Generates a Partial Reconfiguration Raw Binary File (.rbf) containing configuration data that
Reconfiguration RBF an intelligent external controller can use to reconfigure the portion of target device.
Option Description
Bus speed mode Generates a Partial-Masked SRAM Object file (.pmsf) containing both configuration data and
region definitions that can be used to re-configure a device region. If this option is turned on,
the .pmsf generates instead of a Mask Settings file (.msf).
Slave device type Generates a Partial Reconfiguration Raw Binary File (.rbf) containing configuration data that
an intelligent external controller can use to reconfigure the portion of target device.
Device address in Specifies the starting 00 device address when in PMBus Slave mode.
PMBus Slave mode
PMBus device 0 slave Specifies 7-bit hexadecimal value (without leading prefix 0x). For example, 7F for the slave
address through PMBus address of a voltage regulator when in PMBus Master mode. You must specify a non-zero
device 7 slave address address.
Voltage output format Specifies the Auto discovery, Direct format, or Linear format output voltage format when
in PMBus Master mode
Direct format Specifies direct format coefficient m, b, or R when in PMBus Master mode. Signed integer
coefficient (m,b,R) between -32768 and 32767. Coefficient m is the slope coefficient. Coefficient b is the offset.
Coefficient R is the exponent. Refer to the PMBus device manufacturer product documentation
for these values. You must set this parameter when output voltage format of PMBus device is
Direct format or Auto discovery format. You must specify a non-zero address when the
output voltage format of PMBus device is in Direct format.
Linear format N Specifies linear format N when in PMBus Master mode. Signed integer between -16 and 15.
This is the exponent for the mantissa for the output voltage related command when VOUT
format is set to Linear format. Refer to the PMBus device manufacturer product
documentation for these values. You must specify a non-zero value for Linear format.
Translated voltage Specifies the Volts or Millivolts output voltage format when in PMBus Master mode.
value unit
Enable PAGE The FPGA PMBus master uses PAGE command to set all output channels on registered regulator
command modules to respond to VOUT_COMMAND.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
46
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Option Description
Quartus Key File Specifies the first level signature chain file (.qky) that you generate. This chain
includes the root key (.pem) and one or more design signing keys (.pem) required
to sign the bitstream and allow access to the FPGA when using authentication or
encryption.
Encryption key storage select Specifies the location that stores the .qek key file. You can select either Battery
Backup RAM or eFuses for storage.
Encryption update ratio Specifies the ratio of configuration bits compared to the number of key updates
required for bitstream decryption. You can select either 31:1 (the key must
change 1 time every 31 bits) or Disabled (no update required). Encryption
supports up to 20 intermediate keys.
More Options Opens the More Security Options dialog box for specifying additional physical
security options.
USE PWRMGT_SCL output SDM_1O0|SDM_IO14 This is a required PMBus interface for the power
management when the VID operation mode is the
PMBus Master or PMBus Slave mode.
Disable this pin for a non-SmartVID device.
Intel recommends using the SDM_IO14 pin for this
function.
Use PWRMGT_SDA output SDM_1O11|SDM_1O12| This is a required PMBus interface for the power
SDM_1O16 management when the VID operation mode is the
PMBus Master or PMBus Slave mode.
Disable this pin for a non-SmartVID device.
Intel recommends using the SDM_IO11 pin for this
function.
Use PWRMGT_ALERT SDM_1O0|SDM_1O12 This is a required PMBus interface for the power
output management that is used only in the PMBus Slave
mode.
Disable this pin for a non-SmartVID device.
Intel recommends using the SDM_IO12 pin for this
function.
USE CONF_DONE output SDM_100, SDM_1010 - Implement CONF_DONE using appropriate configuration
SDM_1016 pin resource.
USE INIT_DONE output SDM_100, SDM_1010 - Enables the INIT_DONE pin, which allows you to
SDM_1016 externally monitor when initialization is completed and
the device is in user mode. If this option is turned off,
the INIT_DONE pin is disabled when the device operates
in user mode and is available as a user I/O pin.
continued...
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
47
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
USE CVPCONF_DONE SDM_100, SDM_1010 - Enables the CVP_CONFDONE pin, which indicates that
output SDM_1016 the device finished core programming in Configuration
via Protocol mode. If this option is turned off, the
CVP_CONFDONE pin is disabled when the device
operates in user mode and is available as a user I/O pin.
USE SEU_ERROR output SDM_100, SDM_1010 - Enables the SEU_ERROR pin for use in single event upset
SDM_1016 error detection.
USE UIB CATTRIP output SDM_100, SDM_1010 - Enables UIB_CATTRIP output to indicate an extreme
SDM_1016 over-temperature conditioning resulted from UIB usage.
USE HPS cold nreset SDM_100, SDM_1010 - An optional reset input that cold resets only the HPS and
SDM_1016 is configured for bidirectional operation.
Direct to factory image SDM_100, SDM_1010 - If this pin asserted then device loads the factory image
SDM_1016 as the first image after boot without attempting to load
any application image.
USE DATA LOCK output SDM_100, SDM_1010 - Output to indicate DIBs on both die in the same package
SDM_1016 is ready for data transfer.
Related Information
Enabling Bitstream Authentication (Programming File Generator) on page 17
Disable JTAG Disables JTAG command and configuration of the device. Setting • Off—inactive
this eliminates JTAG as mode of attack, but also eliminates • On—active until
boundary scan functionality. wipe of containing
design
Force SDM clock to Disables an external clock source for the SDM. The SDM must use
• On sticky—active
internal oscillator the internal oscillator. Using an internal oscillator is more secure
until next POR
than allowing an external clock source for configuration.
• On check—checks
Force encryption key Specifies that the encryption key must update by the frequency for corresponding
update that you specify for the Encryption update ratio option. The blown fuse
default ration value is 31:1. Encryption supports up to 20
intermediate keys.
Lock security eFuses Causes eFuse failure if the eFuse CRC does not match the
calculated value.
Disable HPS debug Disables debugging through the JTAG interface to access the HPS.
Disable encryption key Specifies that the device cannot use an AES key stored in eFuses.
in eFuses Rather, you can provides an extra level of security by storing the
AES key in BBRAM.
Disable encryption key Specifies that the device cannot use AES key stored in BBRAM.
in BBRAM Rather, you can provides an extra level of security when you store
the AES key in eFuses.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
48
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Device family Specifies the FPGA device family you are targeting for configuration.
Programming File Generator supports only Intel Stratix 10, Intel MAX 10, and
Intel Cyclone 10 LP devices.
Configuration mode Specifies the method of FPGA configuration, such as Active Serial x4, AVST x8,
AVST x16, or AVST x32. Generic Flash Programmer supports only Active Serial
x4.
Output directory and Name Specifies the name and location of the file you generate. By default, this location is
in the top-level project directory.
File Types Allows you to enable the type of secondary programming file that you want to
generate. Generic Flash Programmer supports only JTAG Indirect Configuration
File (.jic). The available options include:
• JTAG Indirect Configuration File (.jic)
• Programmer Object File (.pof)
• Raw Binary File for CvP Core Configuration (.rbf)
• Raw Binary File for HPS Core Configuration (.rbf)
• Raw Binary File for Partial Reconfiguration (.rbf)
• Raw Programming Data File (.rpd)
Add Bitstream Click this button to specify a .sof, .pmsf, or .rbf as input for generation of the
secondary programming file you select in Output Files. Depending on the target
device, the Intel Quartus Prime software may allow you to add multiple SOF files.
Add Raw Data Click this button to specify a .hex or .bin file that contains raw programming
data as input for generation of the secondary programming file you select in
Output Files.
Remove Removes the file you select from the Input Files tab.
Properties Displays the properties of the item you select in the Input Files tab.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
49
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Related Information
Enabling Bitstream Encryption (Programming File Generator) on page 20
Option Description
Bootloader Specifies an ASCII text file in Intel hexadecimal format that contains configuration data for
programming a parallel data source, such as a configuration device or a mass storage device.
The parallel data source in turn configures an SRAM-based Intel device
Enable signing tool Enables the signing tool that checks for a required Privacy Enhanced Mail Certificates file
(.pem) for the Private key file, and a Quartus Co-Signed Firmware file (.zip) for the Co-
signed firmware option.
Private key file Specifies the private .pem file required to sign the configuration bitstream when using the
signing tool. If your .pem is password-protected, you are prompted to enter the password.
Co-signed firmware Specifies the firmware source (.zip) required to include the signed firmware in the
configuration bitstream.
Encryption key file Specifies the Encryption Key File (.qek) required to decrypt the configuration bitstream file.
Device name Specify a unique name for the flash not already listed in the Name column. The
Name must not contain any empty string (space) or special characters (except
"_").
Device ID Specify the 3-byte ID that the Programmer Auto-Detect operation uses to detect
the flash programming device, such as 0x20 0xBB 0x21.
Device I/O voltage Specify 1.8V or 3.0/3.3V to match your memory device specification.
Device density Select the total density that corresponds with your flash memory device size.
Total device die Specify the total number of die for a stacked device (where applicable).
continued...
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
50
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Option Description
Single I/O mode dummy clock Specify the Fast Read dummy clock cycle for flash device in single I/O protocol.
The programming file generation uses this setting to determine if the configuration
requires bit shifting to compensate for the actual dummy clock cycle during Active
Serial configuration.
Quad I/O mode dummy clock Specify the Fast Read dummy clock cycle for flash device in Quad I/O protocol. The
programming file generation uses this setting to determine if the configuration
requires bit shifting to compensate for the actual dummy clock cycle during Active
Serial configuration.
Custom database directory Specifies the location of the .xml file that preserves a flash memory device
definition.
Note: When you specify a non-default folder for the Custom database
directory location, place the .sof and .jic files in the same folder as
the .xml file to avoid missing a defined flash database or corruption of
the .jic file.
Allows you to specify the attributes of a new partition. The following settings are
available:
Page Configuration devices can store multiple configuration bitstreams in flash memory,
called pages. CFI configuration devices can store up to eight configuration
bitstreams. Intel Stratix 10 devices can store up to four configuration bitstreams,
including the factory image.
In Intel Stratix 10 devices, with the remote system update feature enabled, Page
represents the parity.
Start address Specifies the start address of the partition. Only enabled when Address Mode is
Block or Start.
End address Specifies the end address of the partition. Only enabled when Address Mode is
Block.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
51
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Programming file type Allows you to specify a secondary programming file format for conversion of a
primary programming file. The Generic Flash Programmer supports only the .jic
file type.
Configuration device Allows you to select a predefined or define a new configuration device. Click the
(…) button to define a new device and programming flow.
Mode Allows you to select the method of device configuration. The Generic Flash
Programmer supports only the Active Serial or Active Serial x4 modes.
Output file Specifies the location of the files that Convert Programming File generates. By
default this location is the top-level project directory.
Input files to convert Specifies one or more primary programming files for conversion or combination
into one or more secondary programming files for alternative programming
methods.
Table 34. SOF File Properties: Bitstream Encryption Dialog Box (Convert Programming
Files)
Allows you to specify options for compression and encryption key security for the device configuration SRAM
Object File (.sof). To access, select an .sof in the Input files to convert list in the Convert Programming
Files dialog box, and click Properties.
Option Description
Compression Applies compression to the bitstream to reduce the size of your programming file. The Intel
Quartus Prime Assembler can generate a compressed bitstream image that reduces
configuration file size by 30% to 55% (depending on the design). The FPGA device receives the
compressed configuration bitstream, and then can decompress the data in real-time during
configuration. This option is unavailable whenever Generate encrypted bitstream is enabled.
Enable decompression Enables the option bit for bitstream decompression during Partial Reconfiguration.
during partial
reconfiguration
Generate encrypted Generates an encrypted bitstream configuration image. You then generate and specify an
bitstream encryption key file (.ekp) for device configuration. This option is unavailable whenever
Compression is enabled.
Enable volatile Allows you to encrypt the .sof file with volatile (enabled) or non-volatile (disabled) security
security key key.
Generate encryption Specifies the name of the encryption lock file (.elk) that Convert Programming Files
lock file generates.
Generate key Specifies the name of the key programming file (.key) that Convert Programming Files
programming file generates.
Use key file • Key 1 file—specifies the name of Key 1 .key file.
• Key 2 file—specifies the name of Key 2 .key file.
Security options The following options allow you to enable or disable features that impact device security for the
configuration bitstream.
continued...
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
52
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Option Description
Pages Configuration devices can store multiple configuration bitstreams in flash memory,
called pages. CFI configuration devices can store up to eight configuration
bitstreams. Some Intel FPGA devices can store multiple configuration bitstreams,
including the factory image.
Start address Specifies the start address of the partition. Only enabled when Address Mode is
Block or Start.
End address Specifies the end address of the partition. Only enabled when Address Mode is
Block.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
53
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
Where:
The Programmer automatically executes the erase operation before programming the
device.
Related Information
Intel Quartus Prime Scripting
In Intel Quartus Prime Help
For more information about the jtagconfig utility, use the help available at the
command prompt:
jtagconfig [–h | --help]
Note: The help switch does not reference the -n switch. The jtagconfig -n command
shows each node for each JTAG device.
Related Information
Command Line Scripting
In Intel Quartus Prime Pro Edition User Guide: Scripting
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
54
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
2019.09.30 19.3.0 • Updated "Device & pin Options" topic to reflect new Security settings tab.
• Updated "Configuration Device Tab" topic to reflect Custom database directory
option.
• Referenced compilation support for Intel Agilex devices.
• Added "More Security Options Dialog Box" topic.
• Added new “Bitstream Co-Signing Security Settings” topic.
• Updated "SOF File Properties: Bitstream Encryption Dialog Box" topic.
• Added new steps to “Full Erase of Flash Memory Sectors” topic.
2019.06.10 19.1.0 • Updated "Programming with Flash Loaders" topic to reflect new Generic Flash
Programmer.
• Removed references to obsolete 32-bit stand-alone Programmer.
• Added "Erasing Flash Memory Sectors" topic describing complete erase of flash
memory.
• Added new "Programmer Settings Reference" section containing the following new
GUI reference topics:
— "Device & Pin Options Dialog Box"
— "Input Files Tab Settings (Programming File Generator)"
— "Output Files Tab Settings (Programming File Generator)"
— "Configuration Device Tab Settings (Programming File Generator)"
— "Add Partition Dialog Box (Programming File Generator)"
— "Bitstream Compression, Authentication, and Encryption Settings (Programming
File Generator)"
— "Convert Programming Files Dialog Box"
— "Bitstream Compression and Encryption Settings (Convert Programming File)"
— "SOF Data Properties Dialog Box"
— "Select Devices (Flash Loader) Dialog Box"
2018.10.09 18.1.0 • Created topic: Stand-Alone Programmer Memory Limitations from content in topic:
Stand-Alone Programmer.
• Removed outdated support information.
2018.08.07 18.0.0 Reverted document title to Programmer User Guide: Intel Quartus Prime Pro Edition.
2018.06.27 18.0.0 • Moved information about programming file generator to new chapter: Generating
Programming Files.
2018.05.07 18.0.0 • First release as part of the stand-alone Programmer User Guide
2015.05.04 15.0.0 Added Conversion Setup File (.cof) description and example.
continued...
Send Feedback Intel Quartus Prime Pro Edition User Guide: Programmer
55
2. Using the Intel Quartus Prime Programmer
UG-20134 | 2019.09.30
December 2014 14.1.0 Updated the Scripting Support section to include a Linux command to program a
device.
November 2012 12.1.0 • Updated Table 18–3 on page 18–6, and Table 18–4 on page 18–8.
• Added “Converting Programming Files for Partial Reconfiguration” on page 18–10,
“Generating .pmsf using a .msf and a .sof” on page 18–10, “Generating .rbf for
Partial Reconfiguration Using a .pmsf” on page 18–12, “Enable Decompression
during Partial Reconfiguration Option” on page 18–14
• Updated “Scripting Support” on page 18–15.
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
56
UG-20134 | 2019.09.30
Send Feedback
Related Information
• Intel Quartus Prime Pro Edition User Guide: Getting Started
Introduces the basic features, files, and design flow of the Intel Quartus Prime
Pro Edition software, including managing Intel Quartus Prime Pro Edition
projects and IP, initial design planning considerations, and project migration
from previous software versions.
• Intel Quartus Prime Pro Edition User Guide: Platform Designer
Describes creating and optimizing systems using Platform Designer, a system
integration tool that simplifies integrating customized IP cores in your project.
Platform Designer automatically generates interconnect logic to connect
intellectual property (IP) functions and subsystems.
• Intel Quartus Prime Pro Edition User Guide: Design Recommendations
Describes best design practices for designing FPGAs with the Intel Quartus
Prime Pro Edition software. HDL coding styles and synchronous design
practices can significantly impact design performance. Following recommended
HDL coding styles ensures that Intel Quartus Prime Pro Edition synthesis
optimally implements your design in hardware.
• Intel Quartus Prime Pro Edition User Guide: Design Compilation
Describes set up, running, and optimization for all stages of the Intel Quartus
Prime Pro Edition Compiler. The Compiler synthesizes, places, and routes your
design before generating a device programming file.
• Intel Quartus Prime Pro Edition User Guide: Design Optimization
Describes Intel Quartus Prime Pro Edition settings, tools, and techniques that
you can use to achieve the highest design performance in Intel FPGAs.
Techniques include optimizing the design netlist, addressing critical chains that
limit retiming and timing closure, optimizing device resource usage, device
floorplanning, and implementing engineering change orders (ECOs).
• Intel Quartus Prime Pro Edition User Guide: Programmer
Describes operation of the Intel Quartus Prime Pro Edition Programmer, which
allows you to configure Intel FPGA devices, and program CPLD and
configuration devices, via connection with an Intel FPGA download cable.
• Intel Quartus Prime Pro Edition User Guide: Block-Based Design
Describes block-based design flows, also known as modular or hierarchical
design flows. These advanced flows enable preservation of design blocks (or
logic that comprises a hierarchical design instance) within a project, and reuse
of design blocks in other projects.
Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,
Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or
other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in ISO
accordance with Intel's standard warranty, but reserves the right to make changes to any products and services 9001:2015
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel
customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
A. Intel Quartus Prime Pro Edition User Guides
UG-20134 | 2019.09.30
Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
58