GTS Dynamic Reconfiguration Controller IP User Guide: Agilex™ 5 FPGAs and SoCs
ID
849710
Date
8/11/2025
Public
1. Overview
2. Quick Start Guide
3. Configuring and Generating the IP
4. Integrating the GTS Dynamic Reconfiguration Controller IP With Your Application
5. Designing with the IP Core
6. Designing the IP Solution
7. Sharing Clocking and Applying SDC Constraints
8. Runtime Flow
9. Simulating the IP
10. Validating the IP
11. Appendix A: Functional Description
12. Registers
13. Document Revision History for the GTS Dynamic Reconfiguration Controller IP User Guide
3.1. Configuring the Quartus® Prime Pro Edition Project
3.2. Generating Dynamic Reconfiguration Design and Configuration Profiles
3.3. Generating HDL for Synthesis and Simulation
3.4. Using the Dynamic Reconfiguration Assignment Editor
3.5. Generating HSSI Dynamic Reconfiguration IP
3.6. Generating the Design Example
3.7. Compiling the Design Example
4.1. High-Level Interface Types
4.2. Dependent/Supporting IPs
4.3. Implementing Required Clocking
4.4. Implementing Required Resets
4.5. Implementing Required AVMM Interface
4.6. Control and Status Interface
4.7. Implementing Mux Selector Interface
4.8. Implementing SRC Interface
4.9. Implementing Local AVMM Interface
4.10. Connecting the Interfaces
4.11. Signal Functions
4.12. Integrating the IP With User Logic
4.13. Integrating the IP With Your Board
4.14. Integrating the IP on the Stack With a Software Driver
12.1.1. Register Next ID Configuration 0
12.1.2. Register Next ID Configuration 1
12.1.3. Register Next ID Configuration 2
12.1.4. Register Next ID Configuration 3
12.1.5. Register Next ID Configuration 4
12.1.6. Register Next ID Configuration 5
12.1.7. Register Next ID Configuration 6
12.1.8. Register Next ID Configuration 7
12.1.9. Register Next ID Configuration 8
12.1.10. Register Next ID Configuration 9
12.1.11. Register Next ID Configuration 10
12.1.12. Register Next ID Configuration 11
12.1.13. Register Next ID Configuration 12
12.1.14. Register Next ID Configuration 13
12.1.15. Register Next ID Configuration 14
12.1.16. Register Next ID Configuration 15
12.1.17. Register Next ID Configuration 16
12.1.18. Register Next ID Configuration 17
12.1.19. Register Next ID Configuration 18
12.1.20. Register Next ID Configuration 19
12.1.21. Register Trigger
12.1.22. Register Trigger Status
12.1.23. Register Error Configuration
12.1.24. Register Error Status
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.
- Create a Quartus® Prime project.
- 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.
- Specify the device family Agilex™ 5 (E-Series) and select the device that supports your design.
- Follow the on-screen instructions to complete the New Project creation.
- Configure the Dynamic Reconfiguration Controller IP.
- In the Quartus® Prime IP Catalog, locate the Dynamic Reconfiguration Controller IP.
- 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
- Generate the Dynamic Reconfiguration Controller IP.
- Configure the Protocol IPs.
- In the Quartus® Prime IP Catalog, locate the desired Protocol IP.
- 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
- Example - Setting System PLL:
- Include the protocol IPs and Dynamic Reconfiguration Controller IP in the Quartus® Prime project to create instances in new DR group.
- Generate the QSF assignments.
- In the main Quartus® Prime GUI, go to Assignments > Dynamic Reconfiguration (DR) Assignment Editor.
- 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.
- Change the name of the reconfiguration group. Here, dr_top is used as an example.
- Set Shared Clocks:
- Enter shared clock settings explicitly for each IP instance.
- Ensure the system PLL clock and lock inputs are shared.
- Generate reconfiguration groups.
- Click Save Assignments button to save the assignments.
- Review the generated QSF settings.
- 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).
- Instantiate the System PLL, Reset Sequencer IP, Generated reconfiguration group RTL, and GTS Dynamic Reconfiguration Controller IP in your project.
- For RTL connection examples, refer to the design examples provided in the GTS Dynamic Reconfiguration Design Example section.
- Incorporate the generated files into your project.
- 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.
- Add the dr_top.sv RTL file and the MIF file from the support_logic/dr_top/synth directory are included in the project.
- Instantiate the testbench components for demonstration.
- Refer to the design example for testbench components and scripts for simulation and hardware instantiation.
- Use the sim version of the MIF file and dr_top.sv file for simulation.
- Use the synth version of the MIF file and dr_top.sv file for synthesis.
- Compile your design.