GTS Dynamic Reconfiguration Controller IP User Guide: Agilex™ 5 FPGAs and SoCs
ID
849710
Date
4/18/2025
Public
A newer version of this document is available. Customers should click here to go to the newest version.
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
6.4. Generating and Instantiating the DR Controller
Follow these steps to configure the GTS Dynamic Reconfiguration Controller IP, ensuring proper parameter settings and connections for optimal performance in your FPGA design:
- From the IP Catalog, navigate to Interface Protocols > Dynamic Reconfiguration > GTS Dynamic Reconfiguration Controller IP .
- Configure the following parameters:
- NIOS DR MIF Data Memory Size (DR_DRMIFMEM_SIZE):
- Ensure it is large enough to contain the generated .mif file from the Quartus flow.
- Find the required MIF size in the Compilation Report after running the HSSI DR IP Generation step. Navigate to Quartus® Prime Logic Generation Tool > HSSI Dynamic Reconfiguration IP Generation > sim > Generated MIF Information.
- If the MIF size changes due to synthesis or fitter results, check the new size under synth.
- Number of Transceiver Channels (DR_XCVR_CHANNELS): Set this parameter to the number of transceiver lanes in the DR group.
- CSR Clock Frequency in MHz (DR_CSR_CLK_MHZ): Set this parameter to the frequency of i_csr_clk.
- Number of Supported Profiles (DR_PROFILES): Set to the number of IP variants instantiated in the DR group.
- Recovery Enabled (DR_RECOVERY_ENABLED): Note that the MIF recovery state is not yet supported.
- NIOS DR MIF Data Memory Size (DR_DRMIFMEM_SIZE):
- Override Hierarchical Parameter: In the project RTL, override the hierarchical parameter on the DR controller instance to the location of the generated .mif file.
- For simulation, set the assignment as follows:
-
defparam <DR Ctrl Inst>.intel_dr_gts_0.DRMIFMEM_INIT_FILE = "support_logic/<DR Group>/sim/dr.mif
-
- For synthesis, set the assignment as follows:
-
defparam <DR Ctrl Inst>.intel_dr_gts_0.DRMIFMEM_INIT_FILE = "support_logic/<DR Group>/synth/dr.mif"
-
- For example, set the MIF parameter as follows:
`ifdef ALTERA_RESERVED_QIS "support_logic/dr_top/synth/dr.mif"; `else "support_logic/dr_top/sim/dr.mif"; `endif
The DR controller has two clock inputs:- i_csr_clk: Used for the AVMM interfaces, typically 100-125 MHz
- i_cpu_clk: Used for the NIOS core, usually tied to the same clock but can be over-clocked to speed up simulation
In simulations, switch between the normal clock and a faster simulation clock using o_fast_sim_clk_sel to optimize performance. The optimal frequency for the fast simulation clock depends on the design and the tests performed.
After regenerating the DR controller, connect the DR controller, reset sequencer, system PLL, and reconfiguration group interfaces as needed for the design.
Refer to the Generating the Design Example for detailed instructions.
- For simulation, set the assignment as follows: