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

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

6.1. TX MAC接口到用户逻辑

TX MAC为FPGA架构提供一个 Avalon® streaming interface。数据路径包含2个64-bit字。最小数据包为9字节。
表 13.   Avalon® Streaming TX MAC接口信号所有接口均由clk_txmac时钟提供时钟。您在Intel Stratix 10 LL 40GbE参数编辑器中指定的 Ready latency 值是此接口上的 Avalon® streaming interface readyLatency值。

信号

方向

说明

clk_txmac Output

IP核的TX时钟是clk_txmac该时钟的频率是312.5 MHz。

Intel Stratix 10 LL 40GbE参数编辑其中启用 Use external TX MAC PLL ,则clk_txmac_in输入时钟驱动clk_txmac

l2_tx_data[127:0] Input

数据输入到MAC。Bit 127为MSB,而bit 0为LSB。以从左到右的惯常顺序读取字节。

l2_tx_preamble[63:0] Input

用户前导码数据。在Intel Stratix 10 LL 40GbE参数编辑器中启用 Enable preamble passthrough 后,可用。

l2_tx_startofpacket置位后,用户逻辑驱动自定义数据。
l2_tx_valid Input 置位后,表示有效数据。
l2_tx_startofpacket Input 置位后,表示帧的第一个字节。置位l2_tx_startofpacket后,l2_tx_data的MSB驱动数据包开始。驱动周一期中l2_tx_startofpacketl2_tx_endofpacket的数据包被忽略。
l2_tx_endofpacket Input 置位后,表示数据包结束。驱动同一周期中l2_tx_startofpacketl2_tx_endofpacket的数据包被忽略。
l2_tx_empty[3:0] Input 指定置位l2_tx_endofpacket后的空字节个数。
l2_tx_ready Output 置位后,表示MAC可接受数据。IP核在时钟周期<n>上置位l2_tx_ready信号,表示时钟周期 <n + readyLatency> 为就绪周期。客户端可能仅置位l2_tx_valid和并在就绪周期传送数据。
l2_tx_error Input 在EOP周期中置位后(同时置位l2_tx_endofpacket),指示IP核先在数据包中插入错误,再将其发送到Ethernet链路。
注: Quartus Prime Pro 17.1 Stratix 10 ES Editions软件中没有该功能。
l2_txstatus_valid Output 置位后,显示l2_txstatus_datal2_txstatus_error[6:0]正在驱动有效数据。
l2_txstatus_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]: 指定有效载荷的长度
l2_txstatus_error[6:0] Output

指定传送帧中的错误类型。以下字段定义为:

  • Bits[6:3]: 保留
  • Bit[2]: 有效载荷长度错误
  • Bit[1]: 超大帧
  • Bit[0]: 保留。
图 13. 客户端到MAC Avalon® streaming interface l2_tx_data 接收顺序是从最高字节到最低字节。该时序图中,目的地址的第一字节在l2_tx_data[127:120] ,0xabe4233 . . . 。该实例中的就绪延迟为0。