Aborting a Transmission - Aborting a Transmission - 1.5 English - PG314

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

Document_ID
PG314
Release_Date
2022-01-10
Version
1.5 English
In cut-through Ethernet architectures, it is sometimes necessary to intentionally abort the transmission of a frame that is currently in flight. A transmit operation can be aborted in one of two ways:
  • An explicit error in which a frame transfer is aborted by asserting the appropriate tx_axis_tkeep_user[8] (ERR) signal along with the corresponding tx_axis_tlast signal.
  • An implicit underrun, in which a frame transfer is aborted by deasserting the relevant tx_axis_tvalid signal before the frame has completed (that is, before tx_axis_tlast has been asserted).

When either of the two scenarios occurs during a frame transmission, the core inserts error codes into the data stream to flag the current frame as an errored frame. It remains the responsibility of the client to re-queue the aborted frame for transmission, if necessary.

The action taken by the MRMAC when a frame is flagged for abort is configurable. The behavior is configured using the register setting ctl_tx_corrupt_fcs_on_err field of the CONFIGURATION_TX_REG register. Options include inserting an |E| codeword into the packet, stomping the FCS, and corrupting the FCS.

In the following 50G (Client 2) example, both styles of frame abort are depicted. On the rising edge of tx_axi_clk cycle #8, Frame A is explicitly aborted by asserting ERR. Later, on the rising edge of tx_axi_clk cycle #12, Frame B is implicitly aborted by deasserting tx_axis_tvalid_2 before tx_axis_tlast_2 is asserted. Note that the next frame can begin immediately. There is no requirement for wait states between terminated frames.

Figure 1. AXI4-Stream Non-Segmented Transmit Abort Transmission