GTS Ethernet Hard IP User Guide: Agilex™ 5 FPGAs and SoCs

ID 817676
Date 8/04/2025
Public
Document Table of Contents

10.3.1. Simulation Testbench Flow

The testbench executes the following activities for Dynamically Reconfigurable Ethernet MAC mode:
  1. Assert DR reset (initial_dr_reset) to reset the GTS Dynamic Reconfiguration Controller Intel® FPGA IP .
  2. Deassert dr_resets (initial_dr_resets).
  3. Wait for DR controller to be ready by ensuring o_in_progress = 0.
  4. Read DR control registers 0x70and 0x74.
  5. Assert the global resets (i_rst_n) to reset the IP.
  6. Wait until reset acknowledgment. The o_rst_ack_n signal goes low.
  7. Deassert the global reset (i_rst_n).
  8. Wait until the o_tx_lanes_stable bit is set to 1, indicating the TX path is ready.
  9. Wait until the o_tx_pcs_ready bit is set to 1, indicating the RX path is ready.
  10. Write 0x1 to bit 0 of the hardware packet client control register (hw_pc_ctrl) at address 0x0 to instruct the packet client to transmit data.
  11. Read TX packet data information from the following registers:
    • Set Snapshot enable bit to read TX Packet stats (set bit 6 of hw_pc_ctrl register 0x00 to 1’b1)
    • 0x20/0x24 – TX start of packet counter (LSB/MSB)
    • 0x28/0x2C – TX end of packet counter (LSB/MSB)
    • 0x30/0x34 – TX error counter (LSB/MSB)
    • Disable snapshot bit (set bit 6 of hw_pc_ctrl register 0x00 to 1’b0)
  12. Read RX packet data information from the following registers:
    • Set Snapshot enable bit to read RX Packet stats (set bit 6 of hw_pc_ctrl register 0x00 to 1’b1)
    • 0x38/0x3C – RX start of packet counter (LSB/MSB)
    • 0x40/0x44 – RX end of packet counter (LSB/MSB)
    • 0x48/0x4C – RX error counter(LSB/MSB)
    • Disable snapshot bit (set bit 6 of hw_pc_ctrl register 0x00 to 1’b0)
  13. Compare these counters to ensure 16 packets have been sent and received.
  14. Instruct packet client to stop data transmission and clear the counters. Write 0x100 (bit 0 and bit 8) of hardware packet client control hw_pc_ctrl register 0x00.
  15. Base Profile testbench completed.
  16. Assert the Ethernet resets i_tx_rst_n and i_rx_rst_n for startup profile.
  17. Write 00 to the register 80020001 (FEC to NO FEC).
  18. Write 0x01 to register 0x50 to trigger DR.
  19. Wait until DR is acknowledged and in_progress goes high.
  20. Wait until src_grant is asserted and src_grant goes high.
  21. Wait for DR to be configured and src_pause_request goes low.
  22. Wait until reset is acknowledged and o_rst_ack_n goes low.
  23. Check the error status by reading registers 0x70 and 0x74. The values of these registers should be 1.
  24. Read the register 0x7C to check the DR controller state. Ensure the value is 0.
  25. Write 1 to the SIP CSR register at address 0x15C to configure the no FEC profile.
  26. Monitor the o_tx_pll_locked bit to ensure it is set to 1, indicating that the TX path is ready.
  27. Monitoro_rx_block_lock and o_rx_pcs_ready bits are set to 1, indicating RX path is ready.
  28. Repeat steps 11 to 13.
  29. Complete the secondary profile testbench.