GTS Dynamic Reconfiguration Controller IP User Guide: Agilex™ 5 FPGAs and SoCs

ID 849710
Date 8/11/2025
Public
Document Table of Contents

2.2. Steps to Create a Custom Dynamic Reconfiguration Design

The following steps guide you through creating a custom design from scratch. While these steps reference the example design, including similar data rates and PLL configurations, they are intended to help you develop a design tailored to your specific requirements.
  1. Create a Quartus® Prime project.
    1. In the Quartus® Prime Pro Edition, click File ➤ New Project Wizard to create a new Quartus® Prime project. The wizard prompts you to specify a device.
    2. Specify the device family Agilex™ 5 (E-Series) and select the device that supports your design.
    3. Follow the on-screen instructions to complete the New Project creation.
  2. Configure the Dynamic Reconfiguration Controller IP.
    1. In the Quartus® Prime IP Catalog, locate the Dynamic Reconfiguration Controller IP.
    2. Configure the following dynamic reconfiguration controller parameters:
      • Nios® V Data Memory Size
      • Number of Transceiver Channels
      • Number of Supported Profiles
      • CSR Clock Frequency in MHz
  3. Generate the Dynamic Reconfiguration Controller IP.
  4. Configure the Protocol IPs.
    1. In the Quartus® Prime IP Catalog, locate the desired Protocol IP.
    2. Configure the IP to ensure certain settings are compatible between different instances, such as the system PLL.
      • Example - Setting System PLL:
        • Set the system PLL to 322.56 MHz for both instances
        • Set the PMA data rate to 9.8304 Gbps for one instance and 4.9152 Gbps for the other
      • Example - Configuring Ref Clocks:
        • Ref clocks can be shared between two different modes or use two different ref clocks
        • In the example design, IPs share the ref clocks with a frequency set to 156.25 MHz
      • Example - Setting Datapath Clocks: Set TX clkout to the System PLL clock divided by 2
  5. Include the protocol IPs and Dynamic Reconfiguration Controller IP in the Quartus® Prime project to create instances in new DR group.
  6. Generate the QSF assignments.
    1. In the main Quartus® Prime GUI, go to Assignments > Dynamic Reconfiguration (DR) Assignment Editor.
    2. In the DR Assignment Editor tool, select IPs from the IP list and create IP instances under IP combinations. The protocol name, IP direction, and width are listed for each IP. Specify relative offset, reconfiguration IDs, and combination IDs to match the desired combinations of IPs to be dynamically reconfigured.
    3. Change the name of the reconfiguration group. Here, dr_top is used as an example.
    4. Set Shared Clocks:
      • Enter shared clock settings explicitly for each IP instance.
      • Ensure the system PLL clock and lock inputs are shared.
    5. Generate reconfiguration groups.
      • Click Save Assignments button to save the assignments.
      • Review the generated QSF settings.
  7. Go to the Quartus Compilation dashboard and click HSSI Dynamic Reconfiguration IP generation button to generate the reconfiguration group RTL files (*.sv) and reconfiguration memory initialization files (*.mif).
  8. Instantiate the System PLL, Reset Sequencer IP, Generated reconfiguration group RTL, and GTS Dynamic Reconfiguration Controller IP in your project.
  9. For RTL connection examples, refer to the design examples provided in the GTS Dynamic Reconfiguration Design Example section.
  10. Incorporate the generated files into your project.
    1. Add the generated files from support_logic/dr_top/synth directory into your project. Ensure that you specify the path to these files, indicating that they reside in the support_logic/dr_top/synth directory.
    2. Add the dr_top.sv RTL file and the MIF file from the support_logic/dr_top/synth directory are included in the project.
  11. Instantiate the testbench components for demonstration.
    1. Refer to the design example for testbench components and scripts for simulation and hardware instantiation.
    2. Use the sim version of the MIF file and dr_top.sv file for simulation.
    3. Use the synth version of the MIF file and dr_top.sv file for synthesis.
  12. Compile your design.