You can program the Agilex™ 5 SoC device to configure the FPGA first and then boot the HPS. In this mode the FPGA IO and FPGA fabric are configured first, then the HPS EMIF I/O is configured. Finally, the SDM loads the HPS FSBL into the On-Chip RAM and releases the HPS from reset, starting the HPS boot flow.
The FPGA Configuration First Mode flow is shown in the figure below, covering the time from power-on-reset (T
POR) to boot completion (T
Boot_Complete).
Table 445. FPGA Configuration First Stages The sections following this table describe each stage in more detail.
Time |
Boot Stage |
Device State |
TPOR to T1 |
POR |
Power-on reset |
T1 to T2 |
SDM: Boot ROM |
- SDM samples the MSEL pins to determine the configuration scheme and boot source.
- SDM establishes the device security level based on eFuse values.
- SDM initializes the device by reading the configuration firmware (initial part of the bitstream) from the boot source.
- SDM authenticates and decrypts the configuration firmware (this process occurs as necessary throughout the configuration).
- SDM starts executing the configuration firmware.
|
T2 to T3 |
SDM: Configuration Firmware |
- SDM I/O are enabled.
- SDM configures the FPGA I/O and core (full configuration) and enables the rest of your configured SDM I/O.
- SDM loads the FSBL from the bitstream into HPS on-chip RAM.
- SDM enables HPS SDRAM I/O and optionally enables HPS debug.
- FPGA is in user mode.
- HPS is released from reset. CPU1-CPU3 are in a wait-for- interrupt (WFI) state.
|
T3 to T4 |
First-Stage Boot Loader (FSBL) |
- HPS verifies the FPGA is in user mode.
- The FSBL initializes the HPS, including the SDRAM.
- FSBL obtains the SSBL from HPS flash or by requesting flash access from the SDM.
- HPS loads SSBL into SDRAM.
- HPS peripheral I/O pin mux and buffers are configured. Clocks, resets, and bridges are also configured.
- HPS I/O peripherals are available.
|
T4 to T5 |
Second-Stage Boot Loader (SSBL) |
- HPS bootstrap completes.
- OS is loaded into SDRAM.
|
T5 to TBoot_Complete |
Operating System (OS) |
The OS boots and applications are scheduled for runtime launch. |