The receive logic assists packet preemption by performing integrity checks
on received mPackets and extracting the mPacket header fields for presentation on the
Preempted frames are signaled to the user logic by means of symmetrical
preempt and resume
tuser flags. These signals indicate if a received packet was preempted
upstream or if it represents a continuation fragment packet.
For continuation packets, the FRAG_COUNT field, found in the
rx_preambleout signals, indicates to the user logic that the packet must
be reassembled. Reassembly is the responsibility of the user logic.
The AXI4-Stream ERR flag is used by the MRMAC to indicate that a resumed packet has failed the mCRC check. In the event a continuation packet is received with a bad mCRC, it is left to the user logic to take appropriate action.
The RX logic supports two integrity checking modes, which are controlled through bits found in the CONFIGURATION_RX_REG register.
|1||1||Strict SMD checking is enabled. In this mode, a received packet whose SMD byte does not match valid values from Table 99-1 from the IEEE 802.3-2018 (Clause 99) (see below) results in the AXI4-Stream ERR signal being asserted.|
|0||0||The RX preemption logic acts in pass-through mode and packets with invalid SMD values are passed through to the user logic without ERR. In this mode, received packets with SMD values not matching Table 99-1 toggles the error statistics (that is, stat_rx_bad_sfd) but not have the ERR flag asserted on the AXI interface. Note that if an SMD value not found in Table 99-1 is received, it indicates to the RX logic that the frame's FCS field must be checked against its expected CRC value, not an mCRC.|
|mPacket Type||Notation||Frame Count||Value|
|preemptable packet start||SMD-S0||0||0xE6|
In this example, an inbound frame (Frame A) is pre-empted by the arrival of
priority packet Frame B. Frame A resumes later with data A17. It
is the responsibility of the user logic to parse the extracted
rx_preamble_out_0 to correctly re-assemble Frame A from the two segments.