Preemption Header Insertion/Extraction - 1.6 English

Versal Devices Integrated 100G Multirate Ethernet MAC Subsystem Product Guide (PG314)

Document ID
PG314
Release Date
2022-07-13
Version
1.6 English

Preemption leverages the MRMAC custom preamble features to insert and extract the necessary Preamble, SMD, and FRAG_COUNT fields. Insertion and extraction of custom preamble is enabled on a per-port basis by setting the ctl_tx_custom_preamble_enable_<N> field of the CONFIGURATION_TX_REG register to 1. This feature must be enabled for preemption to work properly.

When custom preamble is enabled, the user logic communicates the desired preamble + SFD/SMD/FRAG_COUNT field for outbound frames on a port-by-port, packet-by-packet basis by means of the signals tx_preamblein_N[55:0]. In the receive direction, the signals rx_preambleout_N[55:0] are used to communicate the extracted preamble + SFD/SMD/FRAG_COUNT from the received packets.

Note that the tx_preamblein/rx_preambleout signals are 7B wide. The first byte of preamble is never transmitted in 64B/66B Start codes, so custom preambles would carry 6 bytes of preamble followed by one byte of SMD (preemption header format (a)), or 5 bytes of preamble, followed by one byte of SMD, and one byte of FRAG_COUNT (preemption header format (b)).