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.

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 Intel® FPGA IP.
  8. De-assert the reset to protocol IPs.