GTS CPRI PHY IP Design Example User Guide

ID 814583
Date 9/29/2025
Public

2.4. Hardware Design Example

Figure 8. Block Diagram for Basic CPRI Mode Hardware Design Example
The GTS CPRI PHY IP core hardware design example includes the following components:
  • GTS CPRI PHY IP core.
  • Packet client logic block that generates and receives traffic.
  • Round trip counter.
  • IOPLL to generate the sampling clock for deterministic latency logic inside the IP, and the round trip counter component at testbench.
  • System PLL to generate the system clocks for the IP.
  • Avalon® memory-mapped address decoder to decode reconfiguration address space for CPRI PHY Reconfiguration Interface, PMA Avalon® Memory-Mapped Interface, and Datapath Avalon® Memory-Mapped Interface.
  • Sources and probes for asserting resets and monitoring the clocks and a few status bits.
  • JTAG controller that communicates with the System Console. You communicate with the client logic through System Console.
  • GTS Reset Sequencer IP together with the Soft Reset Controller (SRC) handles all non-PCIe reset scheduling and sequencing for the Agilex™ 5 FPGA.
Figure 9. Block Diagram for Dynamic Reconfiguration Hardware Design Example


Dynamic Reconfiguration Hardware Flow for Design Example

Use the following hardware flow for dynamic reconfiguration of the design example:

  1. Enable the packet round-trip measurement.
    1. Perform the deterministic latency test flow.
    2. Print the deterministic latency data to det_latency.log file.
  2. Power up the CPRI PHY Multirate IP DUT based on profile 0 (9.8G).
  3. Initialize the following testbench variables based on power-up profile:
    • cpri_speed—specifies the speed of the current profile.
    • enable_rsfec—specifies whether RS-FEC is enabled or disabled for the current profile.
    • current_dr_profile—specifies the ID of the current profile.
  4. Perform dynamic reconfiguration.
  5. Check the testbench error flag and determine whether testbench passed or failed.

    This error flag is set to 1 if there is any error after dynamic reconfiguration traffic tests.

For customization, you can modify the DR_TRANSITION array variable in src or parameter file to configure the test flow. The Profile ID is passed into the Dynamic Reconfiguration IP to configure the intended dynamic reconfiguration task.

  • DR_TRANSITION—the intended dynamic reconfiguration sequence array. The size of this array variable determines the number of dynamic reconfigurations performed. For example, given that the design example has the following profiles:
    set DR_PROFILE(1) DR_9P8G
    set DR_PROFILE(2) DR_6G
    set DR_PROFILE(3) DR_4P9G
    set DR_PROFILE(4) DR_3G
    set DR_PROFILE(5) DR_2P4G
    set DR_PROFILE(6) DR_1P2G
    

    You want to achieve the following dynamic reconfiguration sequence:

    9.8G ->6G-> 4.9G->3G->2.4G->1.2G->9.8G

    The variables changes are:

    set DR_TRANSITION(1) 2
    set DR_TRANSITION(2) 3
    set DR_TRANSITION(3) 4
    set DR_TRANSITION(4) 5
    set DR_TRANSITION(5) 6
    set DR_TRANSITION(6) 1