GTS Ethernet Hard IP User Guide: Agilex™ 5 FPGAs and SoCs
ID
817676
Date
8/04/2025
Public
1. Overview
2. Install and License the GTS Ethernet Hard IP
3. Configure and Generate Ethernet Hard IP variant
4. Integrate GTS Ethernet Hard IP into Your Application
5. Simulate, Compile, and Validate (MAC+PCS) - Single Instance
6. Simulate, Compile, and Validate (MII PCS Only/PCS66 OTN/PCS66 FlexE) - Single Instance
7. Simulate, Compile, and Validate SyncE - Single Instance
8. Simulate and Compile PTP1588 - Single Instance
9. Simulate, Compile, and Validate - Multiple Instance
10. Simulate, Compile, and Validate (Dynamically Reconfigurable Ethernet Mode)
11. Simulate, Compile, and Validate - Auto-Negotiation and Link Training
12. Troubleshoot and Diagnose Issues
13. Appendix A: Functional Description
14. Appendix B: Configuration Registers
15. Appendix C: Document Revision History for the GTS Ethernet Hard IP User Guide: Agilex™ 5 FPGAs and SoCs
4.1. Implement Required Clocking
4.2. Implement Required Resets
4.3. Connect the Status Interface
4.4. Connect the MAC Avalon Streaming Client Interface
4.5. Connect the MII PCS Only Client Interface
4.6. Connect the PCS66 Client Interface – FlexE and OTN
4.7. Connect the Precision Time Protocol Interface
4.8. Connect the Ethernet Hard IP Reconfiguration Interface
4.9. Connect the Auto-Negotiation and Link Training
4.10. Connect the Multirate Auto-Negotiation and Link Training
4.11. Connect the Dynamically Reconfigurable Ethernet Mode
4.1.1. Implement MAC Synchronous Clock Connections to Single Instance
4.1.2. Implement MAC Synchronous Clock Connections to Multiple Instances
4.1.3. Implement Clock Connections to MAC Asynchronous Operation
4.1.4. Implement Clock Connections in Synchronous Ethernet Operation (Sync-E)
4.1.5. Implement Clock Connections in PTP-Based Design
4.4.1.1. Drive the Ethernet Packet to the TX MAC Avalon Streaming Client Interface with Disabled Preamble Passthrough
4.4.1.2. Drive the Ethernet Packet on the TX MAC Avalon Streaming Client Interface with Enabled Preamble Passthrough
4.4.1.3. Use i_tx_skip_crc to Control Source Address, PAD, and CRC Insertion
4.4.1.4. Assert the i_tx_error to Invalidate a Packet
4.4.2.1. Receive Ethernet Frame on the RX MAC Avalon Streaming Client Interface with Preamble Passthrough Disabled
4.4.2.2. Receive Ethernet Frame with Preamble Passthrough Enabled
4.4.2.3. Receive Ethernet Frame with Remove CRC bytes Disabled
4.4.2.4. Monitor Status and Errors on the RX MAC Avalon Streaming Client Interface
11.1. Auto-Negotiation and Link Training for General Ethernet Mode
11.2. Multirate Auto-Negotiation and Link Training for Reconfigurable Mode AN/LT
11.3. Design Example Features
11.4. Design Example Components
11.5. Simulate the Design Example
11.6. Compile the Design Example
11.7. Validate the Design Example
10.5.3. Run the Hardware Test
Follow these steps to test the hardware design example on the System Console:
- The GTS Ethernet Hard IP Dynamically Reconfigurable Mode Design Example runs the external loopback test by default, with the loopback_mode parameter set to 0.
- External Loopback: Before performing any hardware test, attach the QSFP28 loopback module according to the QSF pinout assignments of the respective design example.
- Internal Loopback: To perform an internal loopback test in hardware, set the loopback_mode parameter to 1 in the parameter.tcl file located in <design_example_dir>/hardware_test_design/hwtest/src/.
- The jtag_port_id parameter is set to 0 by default. To change the JTAG port ID to point to the correct Agilex™ 5 FPGA Master, modify the jtag_port_id parameter in the parameter.tcl file located in <design_example_dir>/hardware_test_design/hwtest/src/.
- Open Tools > System Debugging Tools > System Console or type the command:
system-console &
- In the TCl Console window, type cd hwtest to change directory to <design_example_dir>/hardware_test_design/hwtest
- Type source main_10G.tcl to list the available JTAG masters:
- Verify that the output of the TCL script matches the output from a sample test run, shown below:
% source main.tcl ----------------------------------------------------------------------- JTAG Port ID = 0 Power Up Variant = 10G_nofec Start of DR test: Applying reset through ISSP Wait for DR Ready.... Running External Loopback Test Run test on startup profile (10G_nofec): -------- Printing PHY status --------- -------------------------------------- RX PHY Register Access: Checking Clock Frequencies (KHz) TXCLK :161130 (KHZ) RXCLK :161140 (KHZ) TX PLL Lock Status 0x00000001 Rx Frequency Lock Status 0x00000001 RX PCS Ready 0x1 TX Lanes Stable 0x1 Deskewed Status 0x0 Link Fault Status 0x00000000 Rx Frame Error 0x00000000 Rx AM LOCK Condition 0x00000000 --- Initialize PKT ROM Read address ---- --------- Sending packets... --------- ========================================================================= STATISTICS FOR BASE 0x50000 (Rx) ========================================================================== Fragmented Frames : 0 Jabbered Frames : 0 Any Size with FCS Err Frame : 0 Right Size with FCS Err Fra : 0 Multicast data Err Frames : 0 Broadcast data Err Frames : 0 Unicast data Err Frames : 0 Multicast control Err Frame : 0 Broadcast control Err Frame : 0 Unicast control Err Frames : 0 Pause control Err Frames : 0 64 Byte Frames : 0 65 - 127 Byte Frames : 16 128 - 255 Byte Frames : 0 256 - 511 Byte Frames : 0 512 - 1023 Byte Frames : 0 1024 - 1518 Byte Frames : 0 1519 - MAX Byte Frames : 0 > MAX Byte Frames : 0 Rx Frame Starts : 16 Multicast data OK Frame : 16 Broadcast data OK Frame : 0 Unicast data OK Frames : 0 Multicast Control Frames : 0 Broadcast Control Frames : 0 Unicast Control Frames : 0 Pause Control Frames : 0 Data and padding octets : 800 Frame octets : 1088 ======================================================================= STATISTICS FOR BASE 0x50000 (Tx) ======================================================================== Fragmented Frames : 0 Jabbered Frames : 0 Any Size with FCS Err Frame : 0 Right Size with FCS Err Fra : 0 Multicast data Err Frames : 0 Broadcast data Err Frames : 0 Unicast data Err Frames : 0 Multicast control Err Frame : 0 Broadcast control Err Frame : 0 Unicast control Err Frames : 0 Pause control Err Frames : 0 64 Byte Frames : 0 65 - 127 Byte Frames : 16 128 - 255 Byte Frames : 0 256 - 511 Byte Frames : 0 512 - 1023 Byte Frames : 0 1024 - 1518 Byte Frames : 0 1519 - MAX Byte Frames : 0 > MAX Byte Frames : 0 Tx Frame Starts : 16 Multicast data OK Frame : 16 Broadcast data OK Frame : 0 Unicast data OK Frames : 0 Multicast Control Frames : 0 Broadcast Control Frames : 0 Unicast Control Frames : 0 Pause Control Frames : 0 Data and padding octets : 800 Frame octets : 1088 -------------------------------------- Info: RX and TX packet counts match -------------------------------------- Startup Traffic test passed! Assert EIO reset Wait reset ack (assert) ----- Reset acknowledged Value from issp reset probe is 0x0 -------------------------------------------------------- Setup DR reconfiguration: 10G_nofec -> 10G_fec Configuring DR Profile 10G_fec.... Trigger DR interrupt Wait for DR interrupt Ack.... DR Request acknowledged Wait for DR reconfig to be done.... DR reconfig done, check for DR errors NO DR Errors found Deassert EIO reset Wait reset ack (deassert) ----- Reset acknowledged Value from issp reset probe is 0xff Run traffic test (10G_fec): -------- Printing PHY status --------- -------------------------------------- RX PHY Register Access: Checking Clock Frequencies (KHz) TXCLK :161140 (KHZ) RXCLK :161130 (KHZ) TX PLL Lock Status 0x00000001 Rx Frequency Lock Status 0x00000001 RX PCS Ready 0x1 TX Lanes Stable 0x1 Deskewed Status 0x0 Link Fault Status 0x00000000 Rx Frame Error 0x00000000 Rx AM LOCK Condition 0x1 --- Initialize PKT ROM Read address ---- --------- Sending packets... --------- ============================================================================ STATISTICS FOR BASE 0x50000 (Rx) ============================================================================ Fragmented Frames : 0 Jabbered Frames : 0 Any Size with FCS Err Frame : 0 Right Size with FCS Err Fra : 0 Multicast data Err Frames : 0 Broadcast data Err Frames : 0 Unicast data Err Frames : 0 Multicast control Err Frame : 0 Broadcast control Err Frame : 0 Unicast control Err Frames : 0 Pause control Err Frames : 0 64 Byte Frames : 0 65 - 127 Byte Frames : 16 128 - 255 Byte Frames : 0 256 - 511 Byte Frames : 0 512 - 1023 Byte Frames : 0 1024 - 1518 Byte Frames : 0 1519 - MAX Byte Frames : 0 > MAX Byte Frames : 0 Rx Frame Starts : 16 Multicast data OK Frame : 16 Broadcast data OK Frame : 0 Unicast data OK Frames : 0 Multicast Control Frames : 0 Broadcast Control Frames : 0 Unicast Control Frames : 0 Pause Control Frames : 0 Data and padding octets : 800 Frame octets : 1088 =============================================================================== STATISTICS FOR BASE 0x50000 (Tx) =============================================================================== Fragmented Frames : 0 Jabbered Frames : 0 Any Size with FCS Err Frame : 0 Right Size with FCS Err Fra : 0 Multicast data Err Frames : 0 Broadcast data Err Frames : 0 Unicast data Err Frames : 0 Multicast control Err Frame : 0 Broadcast control Err Frame : 0 Unicast control Err Frames : 0 Pause control Err Frames : 0 64 Byte Frames : 0 65 - 127 Byte Frames : 16 128 - 255 Byte Frames : 0 256 - 511 Byte Frames : 0 512 - 1023 Byte Frames : 0 1024 - 1518 Byte Frames : 0 1519 - MAX Byte Frames : 0 > MAX Byte Frames : 0 Tx Frame Starts : 16 Multicast data OK Frame : 16 Broadcast data OK Frame : 0 Unicast data OK Frames : 0 Multicast Control Frames : 0 Broadcast Control Frames : 0 Unicast Control Frames : 0 Pause Control Frames : 0 Data and padding octets : 800 Frame octets : 1088 -------------------------------------- Info: RX and TX packet counts match -------------------------------------- Traffic test passed! Assert EIO reset Wait reset ack (assert) ----- Reset acknowledged Value from issp reset probe is 0x0 ----------------------------------------------------------- Setup DR reconfiguration: 10G_fec -> 10G_nofec Configuring DR Profile 10G_nofec.... Trigger DR interrupt Wait for DR interrupt Ack.... DR Request acknowledged Wait for DR reconfig to be done.... DR reconfig done, check for DR errors NO DR Errors found Deassert EIO reset Wait reset ack (deassert) ----- Reset acknowledged Value from issp reset probe is 0xff Run traffic test (10G_nofec): -------- Printing PHY status --------- -------------------------------------- RX PHY Register Access: Checking Clock Frequencies (KHz) TXCLK :161130 (KHZ RXCLK :161130 (KHZ TX PLL Lock Status 0x00000001 Rx Frequency Lock Status 0x00000001 RX PCS Ready 0x1 TX Lanes Stable 0x1 Deskewed Status 0x0 Link Fault Status 0x00000000 Rx Frame Error 0x00000000 Rx AM LOCK Condition 0x00000000 --- Initialize PKT ROM Read address ---- --------- Sending packets... --------- -------------------------------------- ================================================================================ STATISTICS FOR BASE 0x50000 (RX) ================================================================================ Fragmented Frames : 0 Jabbered Frames : 0 Any Size with FCS Err Frame : 0 Right Size with FCS Err Fra : 0 Multicast data Err Frames : 0 Broadcast data Err Frames : 0 Unicast data Err Frames : 0 Multicast control Err Frame : 0 Broadcast control Err Frame : 0 Unicast control Err Frames : 0 Pause control Err Frames : 0 64 Byte Frames : 0 65 - 127 Byte Frames : 16 128 - 255 Byte Frames : 0 256 - 511 Byte Frames : 0 512 - 1023 Byte Frames : 0 1024 - 1518 Byte Frames : 0 1519 - MAX Byte Frames : 0 > MAX Byte Frames : 0 Rx Frame Starts : 16 Multicast data OK Frame : 16 Broadcast data OK Frame : 0 Unicast data OK Frames : 0 Multicast Control Frames : 0 Broadcast Control Frames : 0 Unicast Control Frames : 0 Pause Control Frames : 0 Data and padding octets : 800 Frame octets : 1088 =========================================================================== STATISTICS FOR BASE 0x50000 (TX) ============================================================================ Fragmented Frames : 0 Jabbered Frames : 0 Any Size with FCS Err Frame : 0 Right Size with FCS Err Fra : 0 Multicast data Err Frames : 0 Broadcast data Err Frames : 0 Unicast data Err Frames : 0 Multicast control Err Frame : 0 Broadcast control Err Frame : 0 Unicast control Err Frames : 0 Pause control Err Frames : 0 64 Byte Frames : 0 65 - 127 Byte Frames : 16 128 - 255 Byte Frames : 0 256 - 511 Byte Frames : 0 512 - 1023 Byte Frames : 0 1024 - 1518 Byte Frames : 0 1519 - MAX Byte Frames : 0 > MAX Byte Frames : 0 Tx Frame Starts : 16 Multicast data OK Frame : 16 Broadcast data OK Frame : 0 Unicast data OK Frames : 0 Multicast Control Frames : 0 Broadcast Control Frames : 0 Unicast Control Frames : 0 Pause Control Frames : 0 Data and padding octets : 800 Frame octets : 1088 -------------------------------------- Info: RX and TX packet counts match -------------------------------------- Traffic test passed! Closed JTAG Master Service End of dr_test: DR Test Passed