Hard Processor System Booting User Guide: Agilex™ 5 SoCs

ID 813762
Date 4/01/2024
Public
Document Table of Contents

4.5.2. HPS Boots First

To obtain the configuration files to be used to configure the device through JTAG with the HPS Boots First option, you need to generate a bitstream intended for AVST. There are two files created: a peripheral RBF and a core RBF file. The peripheral RBF file is used for Phase 1 configuration, while the core RBF file is used later by HPS software to configure the FPGA fabric.

The following figure shows an overview of the process:

Figure 13. Configuration over JTAG with HPS Boots First

The following steps are involved:

  1. Compile hardware project with Quartus® Prime to obtain the SOF file.
  2. Compile the HPS FSBL source code to obtain the HPS FSBL hex file, or use a precompiled one.
  3. Use Programming File Generator to create the following files:
    1. Raw Binary File (RBF): contains the small phase 1 configuration bitstream.
    2. Core RBF File: contains the typically much larger phase 2 configuration bitstream. To be used by HPS software later to configure the fabric.

The following example creates the files for HPS boot first:

quartus_pfg -c design.sof design.rbf \ 
-o hps_path=fsbl.hex -o hps=on

The input and output files for this command are:

  • Input Files:
    • design.sof
    • fsbl.hex
  • Output Files:
    • design.hps.rbf — Phase 1 Peripheral RBF
    • design.core.rbf — Phase 2 Core RBF

The Phase 1 and Phase 2 bitstreams must use the same SDM firmware version and come from hardware projects with the same HPS IO and HPS EMIF configuration. To ensure the bitstreams have the same SDM firmware version, they need to be generated with the same version of the Quartus® Prime Programming File Generator.