Triple-Speed Ethernet IP User Guide: Agilex™ 3 and Agilex™ 5 FPGAs and SoCs
ID
813669
Date
8/04/2025
Public
1. About Triple-Speed Ethernet IP for Agilex™ 3 and Agilex™ 5 devices
2. Getting Started
3. Parameter Settings
4. Functional Description
5. Configuration Register Space
6. Interface Signals
7. Design Considerations
8. Timing Constraints
9. Testbench
10. Triple-Speed Ethernet Debug Checklist
11. Software Programming Interface
12. Triple-Speed Ethernet IP User Guide: Agilex™ 3 and Agilex™ 5 FPGAs and SoCs Archives
13. Document Revision History for the Triple-Speed Ethernet IP User Guide: Agilex™ 3 and Agilex™ 5 FPGAs and SoCs
A. Ethernet Frame Format
B. Simulation Parameters
4.1.1. MAC Architecture
4.1.2. MAC Interfaces
4.1.3. MAC Transmit Datapath
4.1.4. MAC Receive Datapath
4.1.5. MAC Transmit and Receive Latencies
4.1.6. FIFO Buffer Thresholds
4.1.7. Congestion and Flow Control
4.1.8. Magic Packets
4.1.9. MAC Local Loopback
4.1.10. MAC Reset
4.1.11. PHY Management (MDIO)
4.1.12. Connecting MAC to External PHYs
5.1.1. Base Configuration Registers (Dword Offset 0x00 – 0x17)
5.1.2. Statistics Counters (Dword Offset 0x18 – 0x38)
5.1.3. Transmit and Receive Command Registers (Dword Offset 0x3A – 0x3B)
5.1.4. Supplementary Address (Dword Offset 0xC0 – 0xC7)
5.1.5. IEEE 1588v2 Feature (Dword Offset 0xD0 – 0xD6)
5.1.6. Deterministic Latency (Dword Offset 0xE1– 0xE3)
5.1.7. IEEE 1588v2 Feature PMA Delay
6.1.1. 10/100/1000 Ethernet MAC Signals
6.1.2. 10/100/1000 Multiport Ethernet MAC Signals
6.1.3. 10/100/1000 Ethernet MAC with 1000BASE-X/SGMII PCS Signals
6.1.4. 10/100/1000 Ethernet MAC with Internal FIFO Buffers, and 1000BASE-X/SGMII 2XTBI PCS with Embedded PMA (GTS) Signals
6.1.5. 10/100/1000 Multiport Ethernet MAC with 1000BASE-X/SGMII PCS Signals
6.1.6. 1000BASE-X/SGMII PCS Signals
6.1.7. 1000BASE-X/SGMII PCS and PMA (LVDS) Signals
6.1.8. 1000BASE-X/SGMII 2XTBI PCS Signals
6.1.9. 10/100/1000 Ethernet MAC with 1000BASE-X/SGMII PCS and Embedded PMA (LVDS) Signals
6.1.10. 10/100/1000 Multiport Ethernet MAC with 1000BASE-X/SGMII PCS and Embedded PMA (LVDS) Signals
6.1.11. 10/100/1000 Ethernet MAC without Internal FIFO Buffers with 1000BASE-X/SGMII 2XTBI PCS and Embedded PMA Signals (GTS) with IEEE 1588v2
6.1.12. 10/100/1000 Multiport Ethernet MAC with 1000BASE-X/SGMII PCS and Embedded PMA Signals (LVDS) with IEEE 1588v2
6.1.1.1. Clock and Reset Signals
6.1.1.2. Clock Enabler Signals
6.1.1.3. MAC Control Interface Signals
6.1.1.4. MAC Status Signals
6.1.1.5. MAC Receive Interface Signals
6.1.1.6. MAC Transmit Interface Signals
6.1.1.7. Pause and Magic Packet Signals
6.1.1.8. MII/GMII/RGMII Signals
6.1.1.9. PHY Management Signals
6.1.11.1. Deterministic Latency Clock Signals
6.1.11.2. IEEE 1588v2 RX Timestamp Signals
6.1.11.3. IEEE 1588v2 TX Timestamp Signals
6.1.11.4. IEEE 1588v2 TX Timestamp Request Signals
6.1.11.5. IEEE 1588v2 TX Insert Control Timestamp Signals
6.1.11.6. IEEE 1588v2 Time-of-Day (TOD) Clock Interface Signals
10.2.4. Congestion and Flow Control
When MAC receives an XOFF frame, it will complete the transfer of the current frame and stop transmission for the amount of time specified by the pause quanta in 512 bit (64 bytes) times increments.
For example:
Pause quanta = 2 , GMII IF
8 bit times = 1 clock cycle = 512 bit times = 64 clock cycles
Pause quanta time = 2 x 64 clock cycles = 128 clock cycles
Transmission resumes when timer (pause quanta time) expires or MAC function received an XON frame. Holdoff quanta specifies the gap between consecutive XOFF requests in 512 bit times increments.
When Enable full-duplex flow control option is turned on, pause frame is triggered by:
- RX FIFO : rx_section_empty
- Register: XON/XOFF reg
- I/O pin : xon_gen / xoff_gen
Pause frame:
- src addr = mac_0 and mac_1
- dest addr =01-80-C2-00-00-01
- Pad = 42 bytes of 0x00
- XOFF: [P1,P2] = value[pause_quant reg] XON: [P1,P2] = 0x0000
To investigate on the congestion and flow control related issue:
- Make sure the flow control feature option in the parameter editor is enabled. If this option is not enabled, all functions related to the flow control such as PAUSE_FWD, PAUSE_IGNORE, XON, and XOFF is disabled.
- Check flow control configuration settings such as:
- pause_quant and holdoff quant registers.
- command_config registers such as XON_GEN, XOFF_GEN, PAUSE_FWD, and PAUSE_IGNORE.
- Identify pause frame trigger condition.
- Identify pause quanta and holdoff quanta time.
- For TX: Set the pause quanta time by configuring the register.
- For RX: Check the pause quanta field in the received packet.
- Check the pause frame format packet.
- Ensure the simulation time is sufficient—at least more than the pause quanta time.
The figure above shows the simulation waveform where the MAC stopped transmitting packets after receiving XOFF frame. This occurs because the pause quanta value is set to 0x0100 instead of 0x0001 and the simulation time is not enough to cover the pause quanta time.