Visible to Intel only — GUID: rnr1732123878410
Ixiasoft
Visible to Intel only — GUID: rnr1732123878410
Ixiasoft
6.4.1. HPS IO Hash Compatibility
You can ensure compatibility between bitstream sections in different designs primarily through the HPS IO hash. The Quartus® Prime Assembler calculates the HPS IO hash, producing a 64-character hexadecimal string using a cryptographic algorithm. This algorithm operates over the configuration data of specific IO banks, which are described later in this document.
If an HPS IO hash is incompatible, you must adjust one of the two designs. The next figure shows the error message that appears when U-Boot requests the second phase FPGA configuration and finds an incompatible HPS IO hash between the phase 1 and phase 2 FPGA designs.
Use the quartus_pfg tool to manually retrieve the HPS IO hash for phase 1 and phase 2 FPGA designs, as shown in the following table. The table shows the command with the necessary parameters and an example of the output.
Design | Command |
---|---|
Phase 1 | quartus_pfg -i <jic file> |
|
|
Phase 2 | quartus_pfg -i <core.rbf> |
|
You can also use the Configuration Debugger tool in Quartus® Prime Pro Edition to retrieve the HPS IO hash. Use the .jic file as the input for Phase 1 and the .core.rbf file as the input for Phase 2. The following figure shows an example of this process.
- HPS EMIF
- EMIF + NoC-only supported by Agilex™ 7 M-Series
The key point about the HPS IO hash is that the full contents of the IO banks contribute to it. For example, if the IO banks are used for the HPS EMIF IP, all placement, routing, and parameter settings within those banks must be identical between the two designs being compared. This includes any non-HPS-EMIF-related hard IPs, such as PLL and GPIO, that are placed in the same bank as the HPS EMIF IP.