TX AXI ST Interface

At TX AXI ST interface, transmission starts when tx_axis_mac_tready = 1. The assertion of tx_axis_mac_tready indicates that Triple Speed Ethernet MAC core is ready to accept the TX data streaming from the user.

To transmit, assert tx_axis_mac_tvalid, along with tx_axis_mac_tdata, tx_axis_mac_tstrb, tx_axis_mac_tlast, and tx_axis_mac_tuser.
  • tx_axis_mac_tdata contains the data streaming to be transmitted to the selected PHY interface. Tranmission must begin with header information – destination address, source destination, ethernet length or type, and followed by the payload data.
  • tx_axis_mac_tlast indicates the final transfer in the data streaming.
  • tx_axis_mac_tstrb indicates the positional validity of the data byte within the data streaming.
  • tx_axis_mac_tuser indicates an error in the data streaming.

For Ethernet application, tx_axis_mac_tdata must contain streaming data, i.e., data needs to be streaming and continuous, During streaming, all bytes must be valid, i.e., tx_axis_mac_tstrb = all 1s, except for the final transfer when tx_axis_mac_tlast is asserted. At tx_axis_mac_tlast, tx_axis_mac_tstrb indicates the number of valid bytes in the final word, starting from the least significant byte. For example, refer to Figure 1.

In the event of a non-data streaming, it is interpreted as a bad frame and is dropped. Similarly, asserting tx_axis_mac_tuser during transmission results in a bad frame. Refer to Terminating Bad TX Frames.

When tx_axis_mac_tready = 0, the Triple Speed Ethernet MAC core is not ready to accept any TX data. Hence, you need to hold all current tx_axis_macsignals, which are tx_axis_mac_tdata, tx_axis_mac_tlast, tx_axis_mac_tvalid, tx_axis_mac_tstrb, and tx_axis_mac_tuser, until tx_axis_mac_tready returns to 1. Refer to Figure 2.

Figure 1. Streaming Data at TX AXI ST Interface

Figure 2. User to Retain tx_axis_mac Signals Until tx_axis_mac_tready Recovers

In Cut Through mode, if tx_axis_mac_tvalid goes low before end-of-frame, the Triple Speed Ethernet MAC core ends the transmission with an error frame and drops the rest of the packet. However, in Cut Through mode with width-adaptation or Store Forward mode, when tx_axis_mac_tvalid = 0, all tx_axis_mac signals for that cycle are ignored but no error occurs. Refer to Terminating Bad TX Frames.

Note: When the Triple Speed Ethernet MAC core is configured in Cut Through mode with width-adaptation or Store Forward mode, the TX AXI ST interface operates in the tx_axis_clk domain. You must ensure that the tx_axis_mac_tvalid, tx_axis_mac_tdata, tx_axis_mac_tstrb, tx_axis_mac_tlast, and tx_axis_mac_tuser signals are properly registered and synchronous to tx_axis_clk before entering the Triple Speed Ethernet MAC core. When the Triple Speed Ethernet MAC core is configured in Cut Through mode, the TX AXI ST interface operates in the tx_mac_aclk domain, and these signals must be synchronous to tx_mac_aclk.

Note: The tx_axis_mac_tstrb signal in the Triple Speed Ethernet MAC core functions as TKEEP in AXI4-Stream terminology, indicating a valid byte. The name is preserved as TSTRB for backward compatibility.