低延迟40-Gbps以太网 Intel® Stratix® 10 IP核用户指南

ID 683600
日期 10/05/2020
Public
文档目录

6.2. RX MAC接口到用户逻辑

RX MAC为FPGA架构提供 Avalon® streaming interface数据路径包含2个64-bit字。
表 14.   Avalon® Streaming RX MAC接口信号所有接口信号均由clk_rxmac时钟提供时钟。

信号

方向

说明

clk_rxmac Output 对RX MAC提供时钟。从传入数恢复。rx_pcs_ready被置位后,可确保该时钟保持稳定。该时钟的频率为312.5 MHz。所有RX MAC接口信号都同步到clk_rxmac
l2_rx_data[127:0] Output

MAC的输出数据。Bit 127是MSB,而bit 0是LSB。以从左到右的惯常顺序读取字节。IP核颠倒字节顺序以符合太网标准的要求。

l2_rx_preamble[63:0] Output

接收的前导码数据。选择PREAMBLE PASS-THROUGH模式时可用。

Valid when l2_rx_startofpacket被置位。
l2_rx_valid Output 置位后,表示l2_rx_data[127:0]正在驱动数据。
l2_rx_startofpacket Output

置位后,表示帧的第一个字节。

l2_rx_endofpacket Output 置位后,表示帧校验序列(FCS)之前,帧的最后字节。CRC直通模式中,它是FCS的最后一个字节。此数据包可以任何字节结束。
l2_rx_empty[3:0] Output l2_rx_endofpacket被置位时,指定空字节数。

此数据包可在任何字节处结束。空字节为低阶字节。

l2_rx_error[5:0] Output

在与l2_rx_endofpacket相同的周期中被置位时,表示当前数据包应被视为错误数据包。l<n>_rx_error的6个位指定以下错误:

  • l2_rx_error[5]:未使用。
  • l2_rx_error[4]:有效载荷长度错误。长度字段的值小于1535 (0x600)字节,并且接收到的有效载荷长度小于长度字段中通告的长度。
  • l2_rx_error[3]:超大帧。该帧大于MAX_RX_SIZE_CONFIG寄存器中指定的值。
  • l2_rx_error[2]:过小帧– 该帧小于64字节。帧尺寸=头大小+有效载荷大小。
  • l2_rx_error[1]:CRC Error。计算的CRC值不同于接收到的CRC。
  • l2_rx_error[0]:格式错误数据包。该数据包以非中止控制字符中止。该位置位后,l2_rx_error[1]也被置位。
l2_rxstatus_valid Output 置位后,表示l2_rxstatus_data正在驱动有效数据。
l2_rxstatus_data[39:0] Output

指定有关已接收帧的信息。定义以下字段:

  • [Bit 39]: 置位后,表示PFC帧
  • [Bit 38]: 置位后,表示单播(unicast)帧
  • Bit[37]: 置位后,表示组播(multicast)帧
  • Bit[36]: 置位后,表示广播(broadcast)帧
  • Bit[35]: 置位后,表示暂停(pause)帧
  • Bit[34]: 置位后,表示控制帧
  • Bit[33]: 置位后,表示式VLAN帧
  • Bit[32]: 置位后,表示堆栈式VLAN帧
  • Bits[31:16]: 指定从目的地址的第一个字节到FCS的最后一个字节的长度。
  • Bits[15:0]: 指定有效载荷长度
图 14. MAC到客户端 Avalon® Streaming Interface l2_rx_data 接收顺序是从最高字节到最低字节。该时序图中,目的地址的第一字节在l2_rx_data[127:120] ,0xabe42339 . . . 。