The aborted transfer of a packet on the client interface is called an underrun. This can happen if a FIFO in the AXI Transmit client interface empties before a frame is completed.
This is indicated to the core in one of two ways:
- An explicit error in which a frame transfer is aborted by asserting
tx_axis_tuser
High whiletx_axis_tlast
is High. - An implicit underrun, in which a frame transfer is aborted by
deasserting
tx_axis_tvalid
without assertingtx_axis_tlast
.
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.