Hard Processor System Booting User Guide: Agilex™ 3 and Agilex™ 5 SoCs
ID
813762
Date
5/09/2025
Public
1. Introduction
2. FPGA Configuration First Mode
3. HPS Boot First Mode
4. Creating the Configuration Files
5. HPS Boot Flows
6. Configuring the FPGA Fabric from HPS Software
7. Debugging the Agilex™ 3 and Agilex™ 5 SoC Boot Flow
8. Document Revision History for the Hard Processor System Booting User Guide: Agilex™ 3 and Agilex™ 5 SoCs
4.1. Overview
4.2. Quartus® Prime Hardware Project Compilation
4.3. Bootloader Software Compilation
4.4. Programming File Generator
4.5. Configuration over JTAG
4.6. Configuration from QSPI
4.7. Configuration over AVST
4.8. Configuration via Protocol
4.9. Remote System Update
4.10. Partial Reconfiguration
4.11. Preserving SDRAM Content across HPS Resets for Agilex™ 5 Devices
4.12. QSPI Controller Ownership Selection Impact on the HPS Software
6.2.2.4.1. Agilex™ 5 -Specific Clock Spine Differences
For Agilex™ 5 devices, you need an additional piece of core logic to provide a consistent tie-off to the PLL reconfiguration logic in the HPS IO bank. This tie-off from the core uses a clock spine when feeding the PLL. Differences in the clock spine value between the two designs can cause HPS IO hash mismatches.
To address this issue, set the clock_spine setting for all PLLs located in HPS IO banks in the QSF file (refer to the table "HPS IO banks used for HPS IO Hash calculation in different devices"). The example below shows how to do this:
set_instance_assignment -name CLOCK_SPINE 31 -to a|b|c|tennm_pll
This QSF assignment is required for Quartus® Prime versions from 23.4 to 24.3. Starting from Quartus® Prime version 24.3.1, the QSF assignment is no longer required.