Almost Full - 2.1 English

Versal ACAP 600G Channelized Multirate Ethernet Subsystem (DCMAC) LogiCORE IP Product Guide (PG369)

Document ID
Release Date
2.1 English

In this Coupled MAC+PCS mode, the AXI4-Stream interface provides an additional output: tx_axis_taf_N (where N corresponds to the client port number). The tx_axis_taf_N output is an "almost full" indication that is provided to ease AXI timing in applications where instantaneous tready deassertion might be difficult to accommodate. This taf signal is asserted at least one cycle ahead of tready deassertion. If the AXI (client input) and core (line drain) data rates are comparable, the interval between taf assertion and tready deassertion might be greater. Furthermore, if the client deasserts tvalid, it might be that tready will never be asserted. Regardless of whether the taf signal is used or ignored by the user logic, deassertion of tready still causes an immediate bus stall in the cycle in which it occurs: no data presented on the AXI bus is consumed until tready is reasserted.

The general principle of the taf signal is that it indicates a bandwidth excess on behalf of the TX client driving the AXI bus. When taf is asserted, the client should lower its input data rate until taf is removed. The simplest approach is to halt the data flow and deassert tvalid on the cycle after taf is asserted. When the taf signal is not asserted, or starting the cycle after a falling edge of the taf signal, tvalid must be asserted for all back-to-back cycles from the start of a frame until it completes.

The following image illustrates the cycle-by-cycle behavior of the DCMAC Subsystem AXI bus including the TX taf signal.
Note: The segmentation details are removed from these diagrams to improve clarity.
Figure 1. AXI4-Stream Transmit taf Behavior

In some scenarios, the use of taf might cause the DCMAC Subsystem to insert a small, but measurable amount of unnecessary IDLE between TX frames. This extra IDLE can be avoided by increasing the frequency of tx_axi_clk by 3.5% above nominal for 100GE/200GE and 10% above nominal for 400GE.