Rx datapath, Xgmii decapsulation, Crc checking – Altera Low Latency Ethernet 10G MAC User Manual
Page 35: Rx datapath -13, Xgmii decapsulation -13, Crc checking -13

RX Datapath
The MAC RX receives Ethernet frames from the XGMII and forwards the payload with relevant frame
fields to the client after performing checks and filtering invalid frames. Some frame fields are optionally
removed from the frame before MAC RX forwards the frame to the client.
The following figure shows the typical flow of frame through the MAC RX.
Figure 3-14: Typical Client Frame at Receive Interface
Client - MAC Rx Interface
(optional)
Client Frame
Destination
Addr[47:0]
Source
Addr[47:0]
Type/
Length[15:0]
Payload
[
Destination
Addr[47:0]
CRC32
[31:0]
PAD []
Source
Addr[47:0]
Client-Defined Preamble
[55:0]
(optional)
Type/
Length[15:0]
Payload
[
PAD []
CRC32
[31:0]
EFD[7:0]
Start[7:0]
Frame Length
(1)
(2)
MAC Frame
SFD[7:0]
Preamble
[47:0]
Start[7:0]
XGMII Decapsulation
The MAC RX expects the first byte of receive packets to be in lane 0,
xgmii_rx_data[7:0]
. If the 32-
bit/64-bit adapter on the XGMII is present, the first byte of receive packets must be in lane 0 or lane 4,
xgmii_rx_data[39:32]
. Receive packets must also be preceded by a column of idle bytes or an ordered
set such as a local fault. Packets that do not satisfy these conditions are invalid and the MAC RX drops
them.
By default, the MAC RX only accepts packets that begin with a 1-byte START, 6-byte preamble, and 1-
byte SFD. Packets that do not satisfy this condition are invalid and the MAC RX drops them.
When you enable the preamble passthrough mode (
rx_preamble_control
register = 1), the MAC RX
only checks packets that begin with a 1-byte START. In this mode, the MAC RX does not remove the
START and custom preamble, but passes the bytes along with the frame to the client.
After examining the packet header bytes in the correct order, the MAC IP retrieves the frame data from
the packet. If the frame data starting from the destination address field is less than 17 bytes, the MAC IP
may or may not drop the frame. If the erroneous frame is not dropped but forwarded, an undersized error
will be flagged to the external logic to drop the frame. If the frame is more than 17 bytes, the MAC
forwards the frame as normal and flags error whenever applicable.
CRC Checking
The MAC RX computes the CRC-32 checksum over frame bytes received and compares the computed
value against the CRC field in the receive frame. If the values do not match, the MAC RX marks the frame
invalid by setting
avalon_st_rx_error[1]
to 1 and forwards the receive frame to the client. When the
CRC error indicator is asserted, the external logic is expected to drop the frame bytes.
UG-01144
2014.12.15
RX Datapath
3-13
Functional Description of LL Ethernet 10G MAC
Altera Corporation