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
7. Sharing Clocking and Applying SDC Constraints
Follow these requirements to ensure clocking consistency across IPs in a DR Group:
- System PLL Clocking:
- All IP variants on the same channels must use the same System PLL clock.
- Ensure that all instantiated IP variants support the System PLL frequency.
- Do not switch between System PLL and PMA clocking for DR.
- Avalon® memory-mapped interface Clock:
- Use the same AVMM clock for all IP variants in the DR Group.
- Match the AVMM clock with the DR Controller's i_csr_clk and all i_dr_lavmm_clk_ch<N> inputs.
- TX/RX Datapath Clock:
- Source the TX/RX datapath clock for each IP on the same channel from either the System PLL or the System PLL/2, depending on the datapath width settings of the IP.
- For Direct PHY, set tx_clkout source to Sys PLL Clock, div by 2. Drive tx_coreclkin and rx_coreclkin for all lanes with tx_clkout.
- For Dual-simplex, use rx_clkout for rx_coreclkin on the RX side, as long as all profiles in the same channel follow this clocking.
- For Ethernet, drive i_clk_tx and i_clk_rx from o_clk_pll.
- For CPRI, set tx_user1_clk_dynamic_mux to PLL_C0.
- Do not reconfigure a Dual-Simplex IP to a Duplex IP or vice-versa.
- Deterministic Latency Sampling Clock:
- Source the sampling clock from the same signal for IP variants that use DL, such as CPRI and Ethernet+PTP, in the same channel.
- If different clock frequencies are needed, handle switching by reconfiguring a PLL or using a mux.
- Add the following to the project's SDC file to properly analyze timing:
Group clocks from mutually exclusive IP variants into clock groups. For example:
-
set_clock_groups -physically_exclusive -group [get_clocks dr_top_inst.ip_variant_1_inst.*] -group [get_clocks dr_top_inst.ip_variant_2_inst.*]
-