2.1.2. CPRI Multirate Hardware Design Example
In the hardware design example, the reset, status, and control signals from packet clients, F-Tile CPRI PHY Multirate Intel® FPGA IP, and F-Tile Dynamic Reconfiguration Suite Intel® FPGA IP in the example design are connected to In-System Sources and Probes IPs (ISSP). The hardware test scripts open service to the ISSP to read and drive the values. A JTAG host is instantiated to access the Avalon® memory-mapped interfaces.
- Enable the packet round-trip measurement.
- Perform the deterministic latency test flow.
- Print the deterministic latency data to det_latency.log file.
- Power up the CPRI PHY Multirate IP DUT based on profile 0 (24G RSFEC).
- Initialize the testbench variables based on power-up profile. The variables are:
- cpri_speed: To indicate the speed of the current profile.
- enable_rsfec: To indicate whether RS-FEC is enabled or disabled for the current profile.
- current_dr_profile: To indicate the ID of the current profile.
- Perform dynamic reconfiguration.
- 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.
- DR_TRANSITION: Intended dynamic reconfiguration sequence array. The size of this array variable determines the number of dynamic reconfiguration to be performed.
set DR_TRANSITION(0) "10G"
set DR_TRANSITION(1) " 4P9G"
The sample output for the CPRI Multirate hardware design example is shown below.
Sample output for CPRI Multirate hardware design example:
Info: Number of Channels = 1
Info: JTAG Port ID = 1
Info: Power Up Variant = 24G_RSFEC
Info: Start of ftile_dr_cpri_test
Info: Basic CPRI DR test
INFO: Checking PLL lock status...
iopll_sclk_locked 1
INFO: IOPLL sclk is locked
INFO: Set Reconfig Reset
INFO: Release Reconfig Reset
Loop 0
INFO: Set RT Counter
INFO: Channel 0: Set TX Reset
INFO: Channel 0 : Checking tx reset ack n status...
INFO: TX fully in reset state
INFO: Channel 0: Set RX Reset
INFO: Channel 0 : Checking rx reset ack n status...
INFO: RX fully in reset state
Info: Channel: 0 Configuring ED to CPRI 10G ....
Info: Wait for DR Ready....
Info: Trigger DR interrupt
Info: Wait for DR interrupt Ack....
Info: DR Request acknowledged
Info: Wait for DR Config to be done....
Info: DONE Reconfigure to 10G.
INFO: Channel 0: Configuring cpri_speed
Info: Channel: 0 Loop: 0 De-asserting reset to CPRI 10G ....
INFO: Channel 0: Release TX Reset
Info: Check TX Ready Attempt: 1
INFO: Channel 0 : Checking TX ready status...
Info: tx_ready = 1
INFO: Channel 0: Release RX Reset
Info: Check RX Ready Attempt: 1
INFO: Channel 0 : Checking RX ready status...
Info: rx_ready = 1
INFO: Channel 0 : Checking RX PCS ready status...
Info: rx_pcs_ready = 1
Info:Info: Channel: 0 Configuring DL ....
Info Channel: 0 sending packets in progress, waiting for checker pass ***
Info Channel: 0 waiting for measure_valid to assert...
INFO: Channel 0 : Checking hyperframe sync status...
INFO: hyperframe sync asserted
INFO: Channel 0 : Checking RT count done status...
INFO: RT count done asserted
Channel 0 : Read Determenistic latency counts
Channel 0 : Get checker_pass status:
Checker value = 1
Checker status = Passed!
**
*****************************************
INFO: Channel 0: Set TX Reset
INFO: Channel 0 : Checking tx reset ack n status...
INFO: TX fully in reset state
INFO: Channel 0: Set RX Reset
INFO: Channel 0 : Checking rx reset ack n status...
INFO: RX fully in reset state
Info: Channel: 0 Configuring ED to CPRI 9P8G ....
Info: Wait for DR Ready....
Info: Trigger DR interrupt
Info: Wait for DR interrupt Ack....
Info: DR Request acknowledged
Info: Wait for DR Config to be done....
Info: DONE Reconfigure to 9P8G.
INFO: Channel 0: Configuring cpri_speed
Info: Channel: 0 Loop: 0 De-asserting reset to CPRI 9P8G ....
INFO: Channel 0: Release TX Reset
Info: Check TX Ready Attempt: 1
INFO: Channel 0 : Checking TX ready status...
Info: tx_ready = 1
INFO: Channel 0: Release RX Reset
Info: Check RX Ready Attempt: 1
INFO: Channel 0 : Checking RX ready status...
Info: rx_ready = 1
Info:Info: Channel: 0 Configuring DL ....
Info Channel: 0 sending packets in progress, waiting for checker pass ***
Info Channel: 0 waiting for measure_valid to assert...
INFO: Channel 0 : Checking hyperframe sync status...
INFO: hyperframe sync asserted
INFO: Channel 0 : Checking RT count done status...
INFO: RT count done asserted
Channel 0 : Read Determenistic latency counts
Channel 0 : Get checker_pass status:
Checker value = 1
Checker status = Passed!
**
*****************************************
INFO: Channel 0: Set TX Reset
INFO: Channel 0 : Checking tx reset ack n status...
INFO: TX fully in reset state
INFO: Channel 0: Set RX Reset
INFO: Channel 0 : Checking rx reset ack n status...
INFO: RX fully in reset state
Info: Channel: 0 Configuring ED to CPRI 4P9G ....
Info: Wait for DR Ready....
Info: Trigger DR interrupt
Info: Wait for DR interrupt Ack....
Info: DR Request acknowledged
Info: Wait for DR Config to be done....
Info: DONE Reconfigure to 4P9G.
INFO: Channel 0: Configuring cpri_speed
Info: Channel: 0 Loop: 0 De-asserting reset to CPRI 4P9G ....
INFO: Channel 0: Release TX Reset
Info: Check TX Ready Attempt: 1
INFO: Channel 0 : Checking TX ready status...
Info: tx_ready = 1
INFO: Channel 0: Release RX Reset
Info: Check RX Ready Attempt: 1
INFO: Channel 0 : Checking RX ready status...
Info: rx_ready = 1
Info:Info: Channel: 0 Configuring DL ....
Info Channel: 0 sending packets in progress, waiting for checker pass ***
Info Channel: 0 waiting for measure_valid to assert...
INFO: Channel 0 : Checking hyperframe sync status...
INFO: hyperframe sync asserted
INFO: Channel 0 : Checking RT count done status...
INFO: RT count done asserted
Channel 0 : Read Determenistic latency counts
Channel 0 : Get checker_pass status:
Checker value = 1
Checker status = Passed!
**
*****************************************
INFO: Channel 0: Set TX Reset
INFO: Channel 0 : Checking tx reset ack n status...
INFO: TX fully in reset state
INFO: Channel 0: Set RX Reset
INFO: Channel 0 : Checking rx reset ack n status...
INFO: RX fully in reset state
Info: Channel: 0 Configuring ED to CPRI 2P4G ....
Info: Wait for DR Ready....
Info: Trigger DR interrupt
Info: Wait for DR interrupt Ack....
Info: DR Request acknowledged
Info: Wait for DR Config to be done....
Info: DONE Reconfigure to 2P4G.
INFO: Channel 0: Configuring cpri_speed
Info: Channel: 0 Loop: 0 De-asserting reset to CPRI 2P4G ....
INFO: Channel 0: Release TX Reset
Info: Check TX Ready Attempt: 1
INFO: Channel 0 : Checking TX ready status...
Info: tx_ready = 1
INFO: Channel 0: Release RX Reset
Info: Check RX Ready Attempt: 1
INFO: Channel 0 : Checking RX ready status...
Info: rx_ready = 1
Info:Info: Channel: 0 Configuring DL ....
Info Channel: 0 sending packets in progress, waiting for checker pass ***
Info Channel: 0 waiting for measure_valid to assert...
INFO: Channel 0 : Checking hyperframe sync status...
INFO: hyperframe sync asserted
INFO: Channel 0 : Checking RT count done status...
INFO: RT count done asserted
Channel 0 : Read Determenistic latency counts
Channel 0 : Get checker_pass status:
Checker value = 1
Checker status = Passed!
**
*****************************************
INFO: Channel 0: Set TX Reset
INFO: Channel 0 : Checking tx reset ack n status...
INFO: TX fully in reset state
INFO: Channel 0: Set RX Reset
INFO: Channel 0 : Checking rx reset ack n status...
INFO: RX fully in reset state
Info: Channel: 0 Configuring ED to CPRI 24G_RSFEC ....
Info: Wait for DR Ready....
Info: Trigger DR interrupt
Info: Wait for DR interrupt Ack....
Info: DR Request acknowledged
Info: Wait for DR Config to be done....
Info: DONE Reconfigure to 24G_RSFEC.
INFO: Channel 0: Configuring cpri_speed
Info: Channel: 0 Loop: 0 De-asserting reset to CPRI 24G_RSFEC ....
INFO: Channel 0: Release TX Reset
Info: Check TX Ready Attempt: 1
INFO: Channel 0 : Checking TX ready status...
Info: tx_ready = 1
INFO: Channel 0: Release RX Reset
Info: Check RX Ready Attempt: 1
INFO: Channel 0 : Checking RX ready status...
Info: rx_ready = 1
INFO: Channel 0 : Checking RX PCS ready status...
Info: rx_pcs_ready = 1
Info:Info: Channel: 0 Configuring DL ....
Info:Info: Channel: 0 Programing RSFEC WA into DL counter ....
Info:Info: Channel: 0 Starting DL ....
Info Channel: 0 sending packets in progress, waiting for checker pass ***
Info Channel: 0 waiting for measure_valid to assert...
INFO: Channel 0 : Checking hyperframe sync status...
INFO: hyperframe sync asserted
INFO: Channel 0 : Checking RT count done status...
INFO: RT count done asserted
Channel 0 : Read Determenistic latency counts
Channel 0 : Get checker_pass status:
Checker value = 0
Checker status = Passed!
**
*****************************************
Info: End of ftile_cpri_dr_test
Info: Test <ftile_cpri_dr_test> Passed
Did you find the information on this page useful?
Characters remaining: