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

7. Sharing Clocking and Applying SDC Constraints

Follow these requirements to ensure clocking consistency across IPs in a DR Group:
  1. 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.
  2. 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.
  3. 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.
  4. Do not reconfigure a Dual-Simplex IP to a Duplex IP or vice-versa.
  5. 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.
  6. 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.*]