GMII Transmitter Interface - 9.0 English

Tri-Mode Ethernet MAC LogiCORE IP Product Guide (PG051)

Document ID
PG051
Release Date
2023-11-07
Version
9.0 English

The logic required to implement the GMII transmitter logic is illustrated in the following figure. The gtx_clk is a user-supplied 125 MHz reference clock source for use at 1 Gbps. mii_tx_clk is sourced by the external PHY device for use at 10 Mbps and 100 Mbps speeds. Consequently, a global clock multiplexer, a BUFGMUX, is used to switch the clock source depending on the operating speed. The output from this BUFGMUX provides the transmitter clock for the core and user logic as illustrated in the following figure.

Closely linked to the clock logic is the use of the tx_enable clock enable derivation. This must be provided to the Ethernet MAC core level. All user logic uses the AXI4-Stream interface handshaking to throttle the data to allow for the differing data widths between the 4-bit MII and the cores 8-bit user datapath.

The following figure also illustrates how to use the physical transmitter interface of the core to create an external GMII. The signal names and logic shown in this figure exactly match those delivered with the core for an UltraScale architecture-based device when the GMII is selected.

As shown in the following figure , the output transmitter signals are registered in byte slice before driving them to the device pads. The logic required to forward the transmitter clock for 1 Gbps operation is also shown. This logic uses a byte slice output Double-Data-Rate (DDR) register so that the clock signal produced incurs exactly the same delay as the data and control signals. This clock signal, gmii_tx_clk , is inverted with respect to gtx_clk so that the rising edge of gmii_tx_clk occurs in the center of the data valid window, therefore maximizing setup and hold times across the interface.

Figure 1. Tri-Speed GMII Transmitter and Clock Logic