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
8. Runtime Flow
To perform dynamic reconfiguration, follow these steps to ensure proper initialization and switching between IP variants:
- Reset the DR Controller: Reset the DR controller via the i_rst_n pin. Assert and release this reset only once, after power-up and before starting the dynamic reconfiguration sequences. Do not assert the reset afterwards.
- Initialize Protocol IPs: Keep protocol IPs in the DR controller group in reset until the DR controller is initialized. Detect initialization using the o_in_progress output.
- Dynamic Reconfiguration from IP_variant_1 to IP_variant_2:
- Ensure the DR Controller is ready by checking o_in_progress = 0 or polling stat.ready (0x70[0]) until it is 1'b1.
- Assert reset to protocol IPs.
- Configure the current profile ID and target profile ID (e.g., current profile ID = 0x1, target profile ID = 0x2).
- Program the Current Profile to Disable:
- Set next_id_cfg[0].next_id_lo (0x00[14:0]) = 0x1 (current profile)
- Set next_id_cfg[0].next_id_lo_act (0x00[15]) = 0x0 (neutral)
- Program Target Profile to Enable:
- Set next_id_cfg[0].next_id_hi (0x00[30:16]) = 0x2 (target profile)
- Set next_id_cfg[0].next_id_hi_act (0x00[31]) = 0x1 (active)
- End of ID List:
- If previously used, set next_id_cfg[1].next_id_lo (0x04[14:0]) = 0x0
- Set next_id_cfg[1].next_id_lo_act (0x04[15]) = 0x0
- Program the Current Profile to Disable:
- Select the mode and trigger DR to start dynamic reconfiguration:
- Set trigger.mode (0x50[4:3]) = 0x0
- Set Strigger.trigger (0x50[0]) = 0x1
- Wait for Acknowledgment: Poll trigger.trigger (0x50[0]) until it is 1’b0.
- Complete Dynamic Reconfiguration: Ensure DR is completed by checking o_in_progress = 0 or polling stat.ready (0x70[0]) until it is 1'b1.
- Program the soft CSRs of the protocol IPs if the protocol IP is Multirate Intel® FPGA IP.
- De-assert the reset to protocol IPs.