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
11.7. Constants
The following lists all constants defined for the MAC registers manipulation and provides links to detailed descriptions of the registers. It also list the constants that define the MAC operating mode and timeout values.
Constant | Value | Description |
---|---|---|
ALTERA_TSE_DUPLEX_MODE_DEFAULT | 1 | 0: Half-duplex 1:Full-duplex |
ALTERA_TSE_MAC_SPEED_DEFAULT | 0 | 0: 10 Mbps 1: 100 Mbps 2: 1000 Mbps |
ALTERA_TSE_SGDMA_RX_DESC_CHAIN_SIZE | 1 | The number of SG-DMA descriptors required for the current operating mode. |
ALTERA_CHECKLINK_TIMEOUT_THRESHOLD | 1000000 | The timeout value when the MAC tries to establish a link with a PHY. |
ALTERA_AUTONEG_TIMEOUT_THRESHOLD | 250000 | The auto-negotiation timeout value. |
Command_Config Register (Command_Config Register (Dword Offset 0x02)) | ||
ALTERA_TSEMAC_CMD_TX_ENA_OFST | 0 | Configures the TX_ENA bit. |
ALTERA_TSEMAC_CMD_TX_ENA_MSK | 0x1 | |
ALTERA_TSEMAC_CMD_RX_ENA_OFST | 1 | Configures the RX_ENA bit. |
ALTERA_TSEMAC_CMD_RX_ENA_MSK | 0x2 | |
ALTERA_TSEMAC_CMD_XON_GEN_OFST | 2 | Configures the XON_GEN bit. |
ALTERA_TSEMAC_CMD_XON_GEN_MSK | 0x4 | |
ALTERA_TSEMAC_CMD_ETH_SPEED_OFST | 3 | Configures the ETH_SPEED bit. |
ALTERA_TSEMAC_CMD_ETH_SPEED_MSK | 0x8 | |
ALTERA_TSEMAC_CMD_PROMIS_EN_OFST | 4 | Configures the PROMIS_EN bit. |
ALTERA_TSEMAC_CMD_PROMIS_EN_MSK | 0x10 | |
ALTERA_TSEMAC_CMD_PAD_EN_OFST | 5 | Configures the PAD_EN bit. |
ALTERA_TSEMAC_CMD_PAD_EN_MSK | 0x20 | |
ALTERA_TSEMAC_CMD_CRC_FWD_OFST | 6 | Configures the CRC_FWD bit. |
ALTERA_TSEMAC_CMD_CRC_FWD_MSK | 0x40 | |
ALTERA_TSEMAC_CMD_PAUSE_FWD_OFST | 7 | Configures the PAUSE_FWD bit. |
ALTERA_TSEMAC_CMD_PAUSE_FWD_MSK | 0x80 | |
ALTERA_TSEMAC_CMD_PAUSE_IGNORE_OFST | 8 | Configures the PAUSE_IGNORE bit. |
ALTERA_TSEMAC_CMD_PAUSE_IGNORE_MSK | 0x100 | |
ALTERA_TSEMAC_CMD_TX_ADDR_INS_OFST | 9 | Configures the TX_ADDR_INS bit. |
ALTERA_TSEMAC_CMD_TX_ADDR_INS_MSK | 0x200 | |
ALTERA_TSEMAC_CMD_HD_ENA_OFST | 10 | Configures the HD_ENA bit. |
ALTERA_TSEMAC_CMD_HD_ENA_MSK | 0x400 | |
ALTERA_TSEMAC_CMD_EXCESS_COL_OFST | 11 | Configures the EXCESS_COL bit. |
ALTERA_TSEMAC_CMD_EXCESS_COL_MSK | 0x800 | |
ALTERA_TSEMAC_CMD_LATE_COL_OFST | 12 | Configures the LATE_COL bit. |
ALTERA_TSEMAC_CMD_LATE_COL_MSK | 0x1000 | |
ALTERA_TSEMAC_CMD_SW_RESET_OFST | 13 | Configures the SW_RESET bit. |
ALTERA_TSEMAC_CMD_SW_RESET_MSK | 0x2000 | |
ALTERA_TSEMAC_CMD_MHASH_SEL_OFST | 14 | Configures the MHASH_SEL bit. |
ALTERA_TSEMAC_CMD_MHASH_SEL_MSK | 0x4000 | |
ALTERA_TSEMAC_CMD_LOOPBACK_OFST | 15 | Configures the LOOP_ENA bit. |
ALTERA_TSEMAC_CMD_LOOPBACK_MSK | 0x8000 | |
ALTERA_TSEMAC_CMD_TX_ADDR_SEL_OFST | 16 | Configures the TX_ADDR_SEL bits (bits 16 - 18). |
ALTERA_TSEMAC_CMD_TX_ADDR_SEL_MSK | 0x70000 | |
ALTERA_TSEMAC_CMD_MAGIC_ENA_OFST | 19 | Configures the MAGIC_ENA bit. |
ALTERA_TSEMAC_CMD_MAGIC_ENA_MSK | 0x80000 | |
ALTERA_TSEMAC_CMD_SLEEP_OFST | 20 | Configures the SLEEP bit. |
ALTERA_TSEMAC_CMD_SLEEP_MSK | 0x100000 | |
ALTERA_TSEMAC_CMD_WAKEUP_OFST | 21 | Configures the WAKEUP bit. |
ALTERA_TSEMAC_CMD_WAKEUP_MSK | 0x200000 | |
ALTERA_TSEMAC_CMD_XOFF_GEN_OFST | 22 | Configures the XOFF_GEN bit. |
ALTERA_TSEMAC_CMD_XOFF_GEN_MSK | 0x400000 | |
ALTERA_TSEMAC_CMD_CNTL_FRM_ENA_OFST | 23 | Configures the CNTL_FRM_ENA bit. |
ALTERA_TSEMAC_CMD_CNTL_FRM_ENA_MSK | 0x800000 | |
ALTERA_TSEMAC_CMD_NO_LENGTH_CHECK_OFST | 24 | Configures the NO_LENGTH_CHECK bit. |
ALTERA_TSEMAC_CMD_NO_LENGTH_CHECK_MSK | 0x1000000 | |
ALTERA_TSEMAC_CMD_ENA_10_OFST | 25 | Configures the ENA_10 bit. |
ALTERA_TSEMAC_CMD_ENA_10_MSK | 0x2000000 | |
ALTERA_TSEMAC_CMD_RX_ERR_DISC_OFST | 26 | Configures the RX_ERR_DISC bit. |
ALTERA_TSEMAC_CMD_RX_ERR_DISC_MSK | 0x4000000 | |
ALTERA_TSEMAC_CMD_CNT_RESET_OFST | 31 | Configures the CNT_RESET bit. |
ALTERA_TSEMAC_CMD_CNT_RESET_MSK | 0x80000000 | |
Tx_Cmd_Stat Register (Transmit and Receive Command Registers (Dword Offset 0x3A – 0x3B)) | ||
ALTERA_TSEMAC_TX_CMD_STAT_OMITCRC_OFST | 17 | Configures the OMIT_CRC bit. |
ALTERA_TSEMAC_TX_CMD_STAT_OMITCRC_MSK | 0x20000 | |
ALTERA_TSEMAC_TX_CMD_STAT_TXSHIFT16_OFST | 18 | Configures the TX_SHIFT16 bit. |
ALTERA_TSEMAC_TX_CMD_STAT_TXSHIFT16_MSK | 0x40000 | |
Rx_Cmd_Stat Register (Transmit and Receive Command Registers (Dword Offset 0x3A – 0x3B)) | ||
ALTERA_TSEMAC_RX_CMD_STAT_RXSHIFT16_OFST | 25 | Configures the RX_SHIFT16 bit |
ALTERA_TSEMAC_RX_CMD_STAT_RXSHIFT16_MSK | 0x2000000 |