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

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

8. Runtime Flow

To perform dynamic reconfiguration, follow these steps to ensure proper initialization and switching between IP variants:
  1. 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.
  2. 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.
  3. 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
  4. Select the mode and trigger DR to start dynamic reconfiguration:
    • Set trigger.mode (0x50[4:3]) = 0x0
    • Set Strigger.trigger (0x50[0]) = 0x1
  5. Wait for Acknowledgment: Poll trigger.trigger (0x50[0]) until it is 1’b0.
  6. Complete Dynamic Reconfiguration: Ensure DR is completed by checking o_in_progress = 0 or polling stat.ready (0x70[0]) until it is 1'b1.
  7. Program the soft CSRs of the protocol IPs if the protocol IP is Multirate Ethernet PHY IP.
  8. De-assert the reset to protocol IPs.