E-Tile Hard IP Agilex™ 7 Design Example User Guide: Ethernet, E-tile CPRI PHY and Dynamic Reconfiguration

ID 683860
Date 4/30/2024
Public
Document Table of Contents

4.4.2.2. 9.8G CPRI PHY Simulation Dynamic Reconfiguration Design Example Components

The simulation block diagram below is generated using the following settings in the IP parameter editor:
  1. CPRI Protocol as DR Protocol.
  2. Under the CPRI Protocol tab:
    1. 9.8G CPRI as Select DR Design.
    2. Intel Agilex® 7 F-Series Transceiver-SoC Development Kit as the target development kit.
Figure 42. Simulation Block Diagram for 9.8G CPRI PHY Dynamic Reconfiguration Design Example

The successful test displays the dynamic reconfiguration transition flow between various modes. Use preset HEX file generated for each design example or modify provided C code to enable specific transition simulation. For more information on HEX file, refer to Simulating the E-Tile Dynamic Reconfiguration Design Example Testbench.

To test a specific transition, reorder the dynamic reconfiguration transition flow tests in the main.c file and regenerate a new HEX file. Each test describes a transition from the starting rate to the destination rate.

This is the default simulation test sequence based on the generated HEX file.
  1. Toggle sl_tx_rst_n and sl_rx_rst_n reset signals.
  2. Dynamic reconfiguration (DR) test from 9.8G CPRI to 6G CPRI
  3. DR test from 6G CPRI to 4.9G CPRI
  4. DR test from 4.9G CPRI to 3G CPRI
  5. DR test from 3G CPRI to 2.4G CPRI
  6. DR test from 2.4G CPRI to 9.8G CPRI
Each of the dynamic reconfiguration tests follows these steps:
  1. Assert sl_tx_rst_n and sl_rx_rst_n reset signals.
  2. Disable SERDES. Use PMA attribute code 0x0001 in the E-tile Transceiver PHY User Guide: PMA Attribute Codes section.
  3. Trigger PMA analog reset. For more information about register descriptions, refer to the E-tile Transceiver PHY User Guide.
  4. Reconfigure the following registers for the Ethernet and transceiver blocks. For more information about the details of the changed register values, refer to the c3_reconfig.c file. For more information about the register descriptions, refer to the E-tile Hard IP for Ethernet and CPRI PHY Intel® FPGA IPs User Guide.
  5. Adjust the phase offset of a recovered clock. Use PMA attribute code 0x000E in the E-tile Transceiver PHY User Guide: PMA Attribute Codes section.
  6. Enable SERDES. Use PMA attribute code 0x0001 in the E-tile Transceiver PHY User Guide: PMA Attribute Codes section.
  7. Enable internal serial loopback. Use PMA attribute code 0x0008 in the E-tile Transceiver PHY User Guide: PMA Attribute Codes section.
  8. Deassert sl_tx_rst_n and sl_rx_rst_n reset signals.
  9. Wait for PIO_OUT[3:0] = 0x7 (o_sl_rx_pcs_ready, o_sl_rx_block_lock, and o_ehip_ready asserted).
  10. Clear Ethernet statistic counters.
  11. Enable the packet generator to start sending packets of data.
  12. Check for checker_pass status and waiting for PIO_OUT[3:0] = 0xF (checker_pass, o_sl_rx_pcs_ready, o_sl_rx_block_lock, and o_ehip_ready asserted).
  13. Disable the packet generator to stop sending packets.
The following sample output illustrates a successful simulation test run for a 9.8G CPRI PHY IP core variation.
# CPU is alive!
# End of test
# Nios has completed its transactions          1995670000
# Simulation PASSED          1995670000
# ** Note: $finish    : ./../basic_avl_tb_top.sv(634)
#    Time: 1995670 ns  Iteration: 1  Instance: /basic_avl_tb_top