- An explicit error in which a frame transfer is aborted by asserting the
appropriate
tx_axis_tkeep_user[8](ERR) signal along with the correspondingtx_axis_tlastsignal. - An implicit underrun, in which a frame transfer is aborted by deasserting
the relevant
tx_axis_tvalidsignal before the frame has completed (that is, beforetx_axis_tlasthas 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.