25 Gbps以太网IP核用户指南

ID 683639
日期 10/31/2016
Public
文档目录

6.2. RX MAC接口到用户逻辑

RX MAC提供一个Avalon-ST接口到FPGA架构。 数据路径由单个64-bit字组成。
表 13.  Avalon-ST RX数据路径 clk_rxmac时钟是所有接口信号的时钟。

信号

方向

说明

clk_rxmac 输出 RX MAC的时钟。从传入数据恢复。rx_pcs_ready被置位后,可确保该时钟稳定。该时钟的频率为390.625 MHz。所有RX MAC接口信号同步于clk_rxmac
l1_rx_data[63:0] 输出

来自MAC的数据输出。Bit 63为MSB而bit 0为LSB。以从左到右的惯常顺序读取字节。IP核根据以太网标准的要求逆转字节顺序。

l1_rx_valid 输出 置位后,显示l1_rx_data[63:0]正在驱动有效数据。

如果关闭 Enable RS-FEC ,则IP核在同一数据包的 l1_tx_startofpacketl1_tx_endofpacket置位间不断置位此信号。然而, 如果开启 Enable RS-FEC ,在标签对齐周期中IP核会驱动IDLE周期。

l1_rx_startofpacket 输出

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

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

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

l1_rx_error[5:0] 输出

在与l1_rx_endofpacket相同的周期被置位时,表示当前数据包应被视为错误包。l1_rx_error的6个位可说明如下错误:

  • l1_rx_error[5]:未使用。
  • l1_rx_error[4]:载荷长度错误。如果长度字段<1535字节(0x600字节),所接收载荷长度小于载荷长度字段中发布的载荷长度。
  • l1_rx_error[3]:过大帧。此帧大于RXMAC_SIZE_CONFIG寄存器中所指定的值。
  • l1_rx_error[2]:过小帧–此帧小于64字节。帧大小= 头大小+载荷大小。
  • l1_rx_error[1]:CRC错误。计算得出的CRC值与接收到的CRC不同。
  • l1_rx_error[0]:格式错误的数据包。数据包以非终止控制字符终止。该位被置位后,l1_rx_error[1]也被置位。
l1_rxstatus_valid 输出 置位后,显示l1_rxstatus_data正在驱动有效数据。
l1_rxstatus_data[39:0] 输出

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

  • [Bit 39]:置位后,显示PFC帧
  • [Bit 38]:置位后,显示单播帧
  • Bit[37]:置位后,显示组播帧
  • Bit[36]:置位后,显示广播帧
  • Bit[35]:置位后,显示暂停帧
  • Bit[34]:置位后,显示控制帧
  • Bit[33]:置位后,显示VLAN帧
  • Bit[32]:置位后,显示堆栈式VLAN帧
  • Bits[31:16]:指定从目的地址第一字节到FCS最后字节的帧长度
  • Bits[15:0]:指定载荷长度
pause_receive_rx[FCQN-1:0] 输出 pause_receive_rx[FCQN-1:0]的每个位显示相应队列正在暂停。
图 28. 25 GbE l1_rx_data 接收顺序是从最高字节到最低字节。该时序图中,目的地址的第一字节在l1_rx_data[65:56] ,0xfbe4 . . . 。