Low Latency Ethernet 10G MAC Intel® Stratix® 10 FPGA IP Design Example User Guide

ID 683026
Date 4/10/2023
Public

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

Document Table of Contents

7.3. Avalon® Streaming Interface Signals

Table 21.   Avalon® Streaming Interface Signals
Signal Direction Width Description
avalon_st_tx_startofpacket[] In [NUM_CHANNELS] Assert this signal to indicate the beginning of the TX data.
avalon_st_tx_endofpacket[] In [NUM_CHANNELS] Assert this signal to indicate the end of the TX data.
avalon_st_tx_valid[] In [NUM_CHANNELS] Assert this signal to indicate that the avalon_st_tx_data signal and other signals on this interface are valid.
avalon_st_tx_ready[] Out [NUM_CHANNELS] When asserted, indicates that the MAC IP is ready to accept data. The reset value of this signal is nondeterministic.
avalon_st_tx_error[] In [NUM_CHANNELS] Assert this signal to indicate that the current TX packet contains errors.
avalon_st_tx_data[][] In [NUM_CHANNELS][m] TX data from the client.

m is 64 when the Use legacy Avalon Streaming Interface parameter is selected. Otherwise, m is 32.

avalon_st_tx_empty[][] In [NUM_CHANNELS][m] Use this signal to specify the number of empty bytes in the cycle that contain the end of the TX data.

m is 3 when the Use legacy Avalon Streaming Interface parameter is selected. Otherwise, m is 2.

  • 0x0—All bytes are valid.
  • 0x1—The last byte is invalid.
  • 0x2—The last two bytes are invalid.
  • 0x3—The last three bytes are invalid.
avalon_st_rx_startofpacket[] Out [NUM_CHANNELS] When asserted, indicates the beginning of the RX data.
avalon_st_rx_endofpacket[] Out [NUM_CHANNELS] When asserted, indicates the end of the RX data.
avalon_st_rx_valid[] Out [NUM_CHANNELS] When asserted, indicates that the avalon_st_rx_data signal and other signals on this interface are valid.
avalon_st_rx_ready[] In [NUM_CHANNELS] Assert this signal when the client is ready to accept data.
avalon_st_rx_error[][] Out [NUM_CHANNELS][6] When set to 1, the respective bits indicate an error type:
  • Bit 0—PHY error.
    • — For 10 Gbps, the data on xgmii_rx_data contains a control error character (FE).
    • For 10 Mbps,100 Mbps,1 Gbps, gmii_rx_err or mii_rx_err is asserted.
  • Bit 1—CRC error. The computed CRC value does not match the CRC received.
  • Bit 2—Undersized frame. The receive frame length is less than 64 bytes.
  • Bit 3—Oversized frame. The receive frame length is more than MAX_FRAME_SIZE.
  • Bit 4—Payload length error. The actual frame payload length is different from the value in the length/type field.
  • Bit 5—Overflow error. The receive FIFO buffer is full while it is still receiving data from the MAC IP.
avalon_st_rx_data[][] Out [NUM_CHANNELS][m] RX data to the client.

m is 64 when the Use legacy Avalon Streaming Interface parameter is selected. Otherwise, m is 32.

avalon_st_rx_empty[][] Out [NUM_CHANNELS][m] Contains the number of empty bytes during the cycle that contain the end of the RX data.

m is 3 when the Use legacy Avalon Streaming Interface parameter is selected. Otherwise, m is 2.

avalon_st_tx_status_valid[] Out [NUM_CHANNELS]

When asserted, this signal qualifies the avalon_st_txstatus_data and avalon_st_txstatus_error signals.

avalon_st_tx_status_data[][] Out [NUM_CHANNELS][40]

Contains information about the TX frame.

  • Bits 0 to 15: Payload length.
  • Bits 16 to 31: Packet length.
  • Bit 32: When set to 1, indicates a stacked VLAN frame.
  • Bit 33: When set to 1, indicates a VLAN frame.
  • Bit 34: When set to 1, indicates a control frame.
  • Bit 35: When set to 1, indicates a pause frame.
  • Bit 36: When set to 1, indicates a broadcast frame.
  • Bit 37: When set to 1, indicates a multicast frame.
  • Bit 38: When set to 1, indicates a unicast frame.
  • Bit 39: When set to 1, indicates a PFC frame.
avalon_st_tx_status_error[][] Out [NUM_CHANNELS][7]

When set to 1, the respective bit indicates the following error type in the TX frame:

  • Bit 0: Undersized frame.
  • Bit 1: Oversized frame.
  • Bit 2: Payload length error.
  • Bit 3: Unused.
  • Bit 4: Underflow.
  • Bit 5: Client error.
  • Bit 6: Unused.

The error status is invalid when an overflow occurs.

avalon_st_rx_status_valid[] Out [NUM_CHANNELS] When asserted, this signal qualifies the avalon_st_rxstatus_data and avalon_st_rxstatus_error signals.

The MAC IP asserts this signal in the same clock cycle the avalon_st_rx_ endofpacket signal is asserted.

avalon_st_rx_status_data[][] Out [NUM_CHANNELS][40]

Contains information about the RX frame.

  • Bits 0 to 15: Payload length.
  • Bits 16 to 31: Packet length.
  • Bit 32: When set to 1, indicates a stacked VLAN frame.
  • Bit 33: When set to 1, indicates a VLAN frame.
  • Bit 34: When set to 1, indicates a control frame.
  • Bit 35: When set to 1, indicates a pause frame.
  • Bit 36: When set to 1, indicates a broadcast frame.
  • Bit 37: When set to 1, indicates a multicast frame.
  • Bit 38: When set to 1, indicates a unicast frame.
  • Bit 39: When set to 1, indicates a PFC frame.
avalon_st_rx_status_error[][] Out [NUM_CHANNELS][7]

When set to 1, the respective bit indicates the following error type in the RX frame.

  • Bit 0: Undersized frame.
  • Bit 1: Oversized frame.
  • Bit 2: Payload length error.
  • Bit 3: Unused.
  • Bit 4: Underflow.
  • Bit 5: Client error.
  • Bit 6: Unused.

The error status is invalid when an overflow occurs.

avalon_st_pause_data[][] In [NUM_CHANNELS][2] This signal takes effect when the register bits, tx_pauseframe_enable[2:1], are both set to the default value 0. Set this signal to the following values to trigger the corresponding actions.
  • 0x0—Stops pause frame generation.
  • 0x1—Generates an XON pause frame.
  • 0x2—Generates an XOFF pause frame. The MAC IP sets the pause quanta field in the pause frame to the value in the tx_pauseframe_quanta register.
  • 0x3—Reserved.