A newer version of this document is available. Customers should click here to go to the newest version.
1. About the F-Tile Triple Speed Ethernet Intel FPGA IP User Guide
2. About This IP
3. Getting Started
4. Parameter Settings
5. Functional Description
6. Configuration Register Space
7. Interface Signals
8. Design Considerations
9. Timing Constraints
10. Software Programming Interface
11. Document Revision History for the F-tile Triple-Speed Ethernet Intel® FPGA IP User Guide
A. Ethernet Frame Format
B. Simulation Parameters
5.1.1. MAC Architecture
5.1.2. MAC Interfaces
5.1.3. MAC Transmit Datapath
5.1.4. MAC Receive Datapath
5.1.5. MAC Transmit and Receive Latencies
5.1.6. FIFO Buffer Thresholds
5.1.7. Congestion and Flow Control
5.1.8. Magic Packets
5.1.9. MAC Local Loopback
5.1.10. MAC Reset
5.1.11. PHY Management (MDIO)
5.1.12. Connecting MAC to External PHYs
7.1.1. 10/100/1000 Ethernet MAC Signals
7.1.2. 10/100/1000 Multiport Ethernet MAC Signals
7.1.3. 10/100/1000 Ethernet MAC with 1000BASE-X/SGMII PCS Signals
7.1.4. 10/100/1000 Ethernet MAC with 1000BASE-X/SGMII 2XTBI PCS and Embedded PMA Signals (F-Tile)
7.1.5. 10/100/1000 Ethernet MAC Without Internal FIFO Buffers with 1000BASE-X/SGMII 2XTBI PCS Signals
7.1.6. 10/100/1000 Multiport Ethernet MAC with 1000BASE-X/SGMII PCS Signals
7.1.7. 10/100/1000 Ethernet MAC with 1000BASE-X/SGMII PCS and Embedded PMA Signals
7.1.8. 10/100/1000 Multiport Ethernet MAC with 1000BASE-X/SGMII PCS and Embedded PMA Signals
7.1.9. 1000BASE-X/SGMII PCS Signals
7.1.10. 1000BASE-X/SGMII 2XTBI PCS Signals
7.1.11. 1000BASE-X/SGMII PCS and PMA Signals
7.1.1.1. Clock and Reset Signals
7.1.1.2. Clock Enabler Signals
7.1.1.3. MAC Control Interface Signals
7.1.1.4. MAC Status Signals
7.1.1.5. MAC Receive Interface Signals
7.1.1.6. MAC Transmit Interface Signals
7.1.1.7. Pause and Magic Packet Signals
7.1.1.8. MII/GMII/RGMII Signals
7.1.1.9. PHY Management Signals
7.1.1.10. ECC Status Signals
10.6.1. alt_tse_mac_get_common_speed()
10.6.2. alt_tse_mac_set_common_speed()
10.6.3. alt_tse_phy_add_profile()
10.6.4. alt_tse_system_add_sys()
10.6.5. triple_speed_ethernet_init()
10.6.6. tse_mac_close()
10.6.7. tse_mac_raw_send()
10.6.8. tse_mac_setGMII mode()
10.6.9. tse_mac_setMIImode()
10.6.10. tse_mac_SwReset()
6.2. PCS Configuration Register Space
This section describes the PCS registers. Use the registers to configure the PCS function or retrieve its status.
Note: In MAC and PCS variations, the PCS registers occupy the MAC register space and you access these registers via the MAC 32-bit Avalon memory-mapped control interface. PCS registers are 16 bits wide, they therefore occupy only the lower 16 bits and the upper 16 bits are set to 0. The offset of the first PCS register in this variation is mapped to dword offset 0x80.
If you instantiate the IP using the IP Catalog flow, use word addressing to access the register spaces. When you instantiate MAC and PCS variations, map the PCS registers to the respective dword offsets in the MAC register space by adding the PCS word offset to the offset of the first PCS. For example,
- In the PCS only variation, you can access the if_mode register at word offset 0x14.
- In the fMAC and PCS variations, map the if_mode register to the MAC register space:
- Offset of the first PCS register = 0x80
- if_mode word offset = 0x14
- if_mode dword offset = 0x80 + 0x14 = 0x94
If you instantiate the MAC and PCS variation using the Platform Designer system, access the register spaces using byte addressing. Convert the dword offsets to byte offsets by multiplying the dword offsets by 4. For example,
- For MAC registers:
- comand_config dword offset = 0x02
- comand_config byte offset = 0x02 × 4 = 0x08
- For PCS registers, map the registers to the dword offsets in the MAC register space before you convert the dword offsets to byte offsets:
- if_mode word offset = 0x14
- if_mode dword offset = 0x80 + 0x14 = 0x94
- if_mode byte offset = 0x94 × 4 = 0x250
| Word Offset |
Register Name | R/W | Description | HW Reset |
|---|---|---|---|---|
| 0x00 | control | RW | PCS control register. Use this register to control and configure the PCS function. | 0x1140 |
| 0x01 | status | RO | Status register. Provides information on the operation of the PCS function. | 0x0089 |
| 0x02 | phy_identifier | RO | 32-bit PHY identification register. This register is set to the value of the PHY ID parameter. Bits 31:16 are written to word offset 0x02. Bits 15:0 are written to word offset 0x03. | 0x0101 |
| 0x03 | 0x0101 | |||
| 0x04 | dev_ability | RW | Use this register to advertise the device abilities to a link partner during auto-negotiation. In SGMII MAC mode, the PHY does not use this register during auto-negotiation. | 0x01A0 |
| 0x05 | partner_ability | RO | Contains the device abilities advertised by the link partner during auto-negotiation. | 0x0000 |
| 0x06 | an_expansion | RO | Auto-negotiation expansion register. Contains the PCS function capability and auto-negotiation status. | 0x0000 |
| 0x07 | device_next_page | RO | The PCS function does not support these features. These registers are always set to 0x0000 and any write access to the registers is ignored. | 0x0000 |
| 0x08 | partner_next_page | 0x0000 | ||
| 0x09 | master_slave_cntl | 0x0000 | ||
| 0x0A | master_slave_stat | 0x0000 | ||
| 0x0B – 0x0E | Reserved | — | — | — |
| 0x0F | extended_status | RO | The PCS function does not implement extended status registers. | — |
| Specific Extended Registers | ||||
| 0x10 | scratch | RW | Scratch register. Provides a memory location to test register read and write operations. | 0x0000 |
| 0x11 | rev | RO | The PCS function revision. Always set to the current version of the IP. | <IP version number> |
| 0x12 | link_timer | RW | 21-bit auto-negotiation link timer. Set the link timer value from 0 to 16 ms in 8 ns steps (125 MHz clock periods). The reset value sets the link timer to 10 ms.
|
0x8968 |
| 0x13 | 0x0009 | |||
| 0x14 | if_mode | RW | Interface mode. Use this register to specify the operating mode of the PCS function; 1000BASE-X or SGMII. | 0 |
| 0x17 – 0x1F | Reserved | — | — | 0 |