50 Gbps Ethernet IP Core User Guide

ID 683158
Date 5/08/2017
Public
Document Table of Contents

6.1. TX MAC Interface to User Logic

The TX MAC provides an Avalon® streaming interface to the FPGA fabric. The minimum packet size is nine bytes.
Table 11.   Avalon® Streaming TX DatapathAll interface signals are clocked by the clk_txmac clock.

Signal

Direction

Description

clk_txmac Output Clock for the TX logic. Derived from pll_refclk, and is an output from the 50GbE core. clk_txmac is guaranteed to be stable when tx_lanes_stable is asserted. The frequency of this clock is 390.625 MHz.All TX MAC interface signals are synchronous to clk_txmac.
l2_tx_data[127:0] Input

Data Input to MAC. Bit 127 is the MSB and bit 0 is the LSB. Bytes are read in the usual left to right order.

The 50GbE core does not process incoming frames of less than nine bytes correctly. You must ensure such frames do not reach the TX client interface.

You must send each TX data packet without intermediate idle cycles. Therefore, you must ensure your application can provide the data for a single packet in consecutive clock cycles. If data might not be available otherwise, you must buffer the data in your design and wait to assert l2_tx_startofpacket when you are assured the packet data to send on l2_tx_data[127:0] is available or will be available on time.

l2_tx_preamble[63:0] Input

User preamble data. Available when you select PREAMBLE PASS-THROUGH mode.

User logic drives the custom preamble data when l2_tx_startofpacket is asserted.
l2_tx_valid Input When asserted, indicates valid data is available on l2_tx_data[127:0]. You must assert this signal continuously between the assertions of l2_tx_startofpacket and l2_tx_endofpacket for the same packet.
l2_tx_startofpacket Input When asserted, indicates the first byte of a frame. When l2_tx_startofpacket is asserted, the MSB of l2_tx_data drives the first byte of the packet.
l2_tx_endofpacket Input When asserted, indicates the end of a packet. The IP core ignores packets with length less than nine bytes.
l2_tx_empty[3:0]   Specifies the number of empty bytes on l2_tx_data when l2_tx_endofpacket is asserted.
l2_tx_ready Output When asserted, indicates that the MAC can accept the data.
l2_txstatus_valid Output When asserted, indicates that l2_txstatus_error[6:0] is driving valid data.
l2_txstatus_data[39:0] Output

Specifies information about the transmit frame. The following fields are defined:

  • [Bit 39]: When asserted, indicates a PFC frame
  • [Bit 38]: When asserted, indicates a unicast frame
  • Bit[37]: When asserted, indicates a multicast frame
  • Bit[36]: When asserted, indicates a broadcast frame
  • Bit[35]: When asserted, indicates a pause frame
  • Bit[34]: When asserted, indicates a control frame
  • Bit[33]: When asserted, indicates a VLAN frame
  • Bit[32]: When asserted, indicates a stacked VLAN frame
  • Bits[31:16]: Specifies the frame length from the first byte of the destination address to the last bye of the FCS
  • Bits[15:0]: Specifies the payload length
l2_txstatus_error[6:0] Output

Specifies the error type in the transmit frame. The following fields are defined:

  • Bits[6:3]: Reserved
  • Bit[2]: Payload length error
  • Bit[1]: Oversized frame
  • Bit[0]: Reserved
Figure 19. Client to 50GbE MAC Avalon® Streaming Interface The IP core expects data order in l2_tx_data is highest byte to lowest byte. The first byte of the destination address is on l2_tx_data[127:120] , 0xabe4233 . . . in this timing diagram.