GTS Ethernet Intel® FPGA Hard IP User Guide

ID 817676
Date 4/01/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

4.3.1. TX MAC Avalon Streaming Client Interface

The GTS Ethernet Intel® FPGA Hard IP TX client interface in MAC+PCS variations employs the Avalon® Streaming Interface protocol. The TX MAC Avalon Streaming Client Interface protocol is a synchronous point-to- point, unidirectional interface that connects the producer of a data stream (source) to a consumer of data (sink). The key properties of this interface include:

  • Start of packet (SOP) and end of packet (EOP) signals delimit frame transfers.
  • The SOP must always be in the MSB, simplifying the interpretation and processing of incoming data.
  • A valid signal qualifies signals from source to sink.
  • The sink applies back pressure to the source by using the ready signal. The source typically responds to the deassertion of the ready signal from the sink by driving the same data until the sink can accept it. The Ready latency defines the relationship between assertion and deassertion of the ready signal, and cycles which are ready for data transfer.

The client acts as a source and the TX MAC acts as a sink in the transmits direction.

Table 20.  Signals of the TX MAC Avalon Streaming Client InterfaceAll interface signals are clocked by the TX clock. The signal names are standard TX MAC Avalon Streaming Client Interface signals with slight differences to indicate the variations.
Signal Name Width Description
Input Signals
i_tx_data[63:0] 64 bits

Input data to the MAC when the rate is 10 GE/25 GE. Bit 0 is the LSB.

i_tx_valid 1 bit

When asserted, the TX data signal is valid. This signal must be continuously asserted between the assertions of the start of packet and end of packet signals for the same packet.

i_tx_startofpacket 1 bit

Start of Packet (SOP).

When asserted, indicates that the TX data holds the first clock cycle of data in a packet (start of packet). Assert for only a single clock cycle for each packet. When the SOP signal is asserted, the MSB of the TX data drives the start of packet.

i_tx_endofpacket 1 bit

End of Packet (EOP).

When asserted, indicates that the TX data holds the final clock cycle of data in a packet (end of packet). Assert for only a single clock cycle for each packet.

For some legitimate packets, the SOP and EOP signals are asserted on the same clock cycle.

i_tx_empty[2:0] 3 bits

Indicates the number of empty bytes on the TX data when the EOP signal is asserted.

i_tx_error 1 bit

When asserted in an EOP cycle (while the EOP signal is asserted), directs the IP core to insert an error in the packet before sending it on the Ethernet link.

i_tx_skip_crc 1 bit

Specifies how the TX MAC should process the current TX MAC client interface packet. Use this signal to temporarily turn off CRC insertion for a specific packet and to override the default behaviors of padding to minimum packet size and inserting CRC.

If this signal is asserted, directs the TX MAC to not insert CRC, not add padding bytes, and not implement source address insertion. You can use this signal to indicate the data on the TX data signal includes CRC, padding bytes (if relevant), and the correct source address.

If this signal is not asserted, and source address insertion is enabled,
  • Overwrites the source address using the TX MAC. The MAC copies the new source address from the TXMAC_SADDR register.
  • If necessary, the TX MAC inserts padding bytes and a CRC in the packet.

The client must maintain the same value on this signal for the duration of the packet (from the cycle in which it asserts the SOP signal through the cycle in which it asserts the EOP signal, inclusive).

Output Signals
o_tx_ready 1 bit

The ready signal indicates that the IP is ready to accept data. The cadence of this signal carries the backpressure from MAC. Based on the Ready Latency settings in the IP GUI, thei_tx_valid has a strict link with the o_tx_ready signal.

Figure 27. Transmitting Data Using the TX MAC Avalon Streaming Client Interface

The figure above shows how to transmit data using the TX MAC Avalon ST client interface. The interface complies with the TX MAC Avalon Streaming Client Interface specification.

  • Data valid (i_tx_valid) must be held high from the start to end of a packet, and must be low outside of a packet.
  • Packets always start on the MSB of the byte of i_tx_data (SOP aligned).
  • You can set the Ready latency through the parameter editor.
    • When o_tx_ready deasserts, i_tx_data must be paused for as many cycles as o_tx_ready is deasserted, starting Ready latency cycles later. In this example, Ready latency is 1. So the cycle after o_tx_ready deasserts for 1 cycle, i_tx_data is paused for 1 cycle.
  • When the frame ends, i_tx_empty is set to the number of unused bytes ini_tx_data, starting from the LSB (byte 0).
    • In this example, i_tx_data on the last cycle of the packet has 3 empty bytes.
    • The minimum number of bytes on the last cycle is 1.