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

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:
  1. From the IP Catalog, navigate to Interface Protocols > Dynamic Reconfiguration > GTS Dynamic Reconfiguration Controller IP .
  2. Configure the following parameters:
    1. 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.
    2. Number of Transceiver Channels (DR_XCVR_CHANNELS): Set this parameter to the number of transceiver lanes in the DR group.
    3. CSR Clock Frequency in MHz (DR_CSR_CLK_MHZ): Set this parameter to the frequency of i_csr_clk.
    4. Number of Supported Profiles (DR_PROFILES): Set to the number of IP variants instantiated in the DR group.
    5. Recovery Enabled (DR_RECOVERY_ENABLED): Note that the MIF recovery state is not yet supported.
  3. Override Hierarchical Parameter: In the project RTL, override the hierarchical parameter on the DR controller instance to the location of the generated .mif file.
    1. 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
    2. 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" 
    3. 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.