Hard Processor System Booting User Guide: Agilex™ 5 SoCs

ID 813762
Date 12/20/2024
Public
Document Table of Contents

4.10. Partial Reconfiguration

Partial reconfiguration (PR) allows you to reconfigure a portion of the FPGA dynamically, while the rest of the FPGA design continues to function. The portion that can be reconfigured is referred to as PR region while the FPGA design that is to be configured in the PR region is referred to as PR persona. All areas not occupied by PR regions in your project is referred to as static region. You can associate the static region with the top-level partition of the design. The static region contains both the core and periphery locations of the device. The static region bitstream configures this region.

You can define multiple PR personas for a particular region in your design (for example: PR persona0, PR persona1, etc.), without impacting operation in areas outside the region. This methodology is effective in systems with multiple functions that time-share the same FPGA device resources. PR enables the implementation of more complex FPGA systems.

When PR is used, the FPGA hardware design needs to be built enabling PR support. For this, the following components are needed as part of the static FPGA region:

  • PR Freeze Bridge — Before performing the PR, all the interfaces between the PR region and the rest of the FPGA must be isolated (frozen). This module is used for this purpose. Depending on the design in the PR, more than one bridge may be needed.
  • PR Freeze Controller — This handles the freezing mechanism. Before PR is performed, this module freezes all the PR bridges and after PR is done, this unfreezes the interfaces and takes the PR region out of reset.

In use cases where partial reconfiguration is controlled by the HPS, the PR process is initiated by the HPS software sending the PR bitstream (persona .rbf file) to the SDM. This can be done from Linux* using the device tree overlay mechanism.

The following figure describes an example of the PR concept. This also shows the associated IPs added to the FPGA design and how these are connected to the HPS.

Figure 32. Example of the PR Concept

The process to create the RBF file is shown in the following figure and for this, the Quartus® Prime Software is used. This flow extends from the standard configuration flow to generate the .pmsf files for each one of the persona PR designs which are then converted in to the corresponding personaX.rbf file. The PR design for each persona are included as part of the hardware project. The FPGA design to be loaded into the static region is built as part of the standard build flow.

The command used to create the RBF files is shown next:
# Command to create personaX.rbf
quartus_pfg -c personaX.pmsf personaX.rbf
Figure 33. Process to Create the RBF File