低延迟10G MAC Intel Stratix 10 FPGA IP设计实例用户指南

ID 683026
日期 9/24/2018
Public
文档目录

7.3. Avalon-ST接口信号

表 21.  Avalon-ST接口信号
信号 方向 宽度 说明
avalon_st_tx_startofpacket[] In [NUM_CHANNELS] 置位此信号以显示TX数据开始。
avalon_st_tx_endofpacket[] In [NUM_CHANNELS] 置位此信号以显示TX数据结束。
avalon_st_tx_valid[] In [NUM_CHANNELS] 置位该信号表示avalon_st_tx_data信号以及该接口处的其它信号有效。
avalon_st_tx_ready[] Out [NUM_CHANNELS] 置位后,表示MAC IP核已准备接收数据。不确定该信号的复位值。
avalon_st_tx_error[] In [NUM_CHANNELS] 置位此信号,以指示当前TX包有错误。
avalon_st_tx_data[][] In [NUM_CHANNELS][m] 客户端TX数据。选择Use legacy Avalon Streaming Interface参数时,

m为64。否则,m为32。

avalon_st_tx_empty[][] In [NUM_CHANNELS][m] 使用该信号在包含TX数据结束的周期中指定空字节的数目。

选择Use legacy Avalon Streaming Interface参数时,m为3。否则,m为2。

  • 0x0—所有字节有效。
  • 0x1—最后1个字节无效。
  • 0x2—最后2个字节无效。
  • 0x3—最后三个字节无效。
avalon_st_rx_startofpacket[] Out [NUM_CHANNELS] 置位后,表示RX数据开始。
avalon_st_rx_endofpacket[] Out [NUM_CHANNELS] 置位后,表示RX数据结束。
avalon_st_rx_valid[] Out [NUM_CHANNELS] 置位后,表示avalon_st_rx_data信号以及该接口上的其它信号有效。
avalon_st_rx_ready[] In [NUM_CHANNELS] 当客户端已准备好接受数据时,会置位此信号。
avalon_st_rx_error[][] Out [NUM_CHANNELS][6] 设置为1时,相应各位表示的错误类型:
  • Bit 0—PHY 错误。
    • —对于10 Gbps,xgmii_rx_data上的数据含有一个控制错误字符(FE)。
    • 对于10 Mbps,100 Mbps,1 Gbps,则gmii_rx_errmii_rx_err被置位。
  • Bit 1—CRC错误。计算所得的CRC值与接收的CRC不匹配。
  • Bit 2—尺寸不足帧。接收的帧长度小于64字节。
  • Bit 3—尺寸过大帧。已接收帧的长度大于MAX_FRAME_SIZE
  • Bit 4—载荷长度错误。帧的实际载荷长度与长度/类型字段中的值不同。
  • Bit 5—上溢错误。接收FIFO缓冲器已满,但同时仍在接收来自 MAC IP核的数据。
avalon_st_rx_data[][] Out [NUM_CHANNELS][m] 发送到客户端的RX数据。

选择Use legacy Avalon Streaming Interface参数后,m为64。否则m为32。

avalon_st_rx_empty[][] Out [NUM_CHANNELS][m] 包含关于RX数据结束的周期中空字节的数目。

选择Use legacy Avalon Streaming Interface参数后,m为3。否则,m为2。

avalon_st_tx_status_valid[] Out [NUM_CHANNELS]

置位后,该信号使avalon_st_txstatus_data[]avalon_st_txstatus_error[]信号生效。

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

包含TX帧的信息。

  • Bits 0至15:载荷长度。
  • Bits 16至31:数据包长度。
  • Bit 32:设置为1时,表示1个堆栈式VLAN帧。
  • Bit 33:设置为1时,表示1个VLAN帧。
  • Bit 34:设置为1时,表示1个控制帧。
  • Bit 35:设置为1时,表示1个暂停帧。
  • Bit 36:设置为1时,表示1个广播帧。
  • Bit 37:设置为1时,表示1个组播帧。
  • Bit 38:设置为1时,表示1个单播帧。
  • Bit 39:设置为1时,表示1个PFC帧。
avalon_st_tx_status_error[][] Out [NUM_CHANNELS][7]

设置为1时,各个位表示TX帧中的错误类型,如下:

  • Bit 0:过小帧。
  • Bit 1:超大帧。
  • Bit 2:载荷长度错误。
  • Bit 3:未使用。
  • Bit 4:下溢。
  • Bit 5:客户端错误。
  • Bit 6:未使用。

出现上溢时,错误状态无效。

avalon_st_rx_status_valid[] Out [NUM_CHANNELS] 置位后,该信号使avalon_st_rxstatus_datast_rxstatus_error信号生效。

在置位avalon_st_rx_ endofpacket信号的相同时钟周期中,MAC IP核置位该信号。

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

包含RX帧的信息。

  • Bits 0至15:载荷长度。
  • Bits 16至31:数据包长度。
  • Bit 32:设置为1时,表示1个堆栈式VLAN帧。
  • Bit 33:设置为1时,表示1个VLAN帧。
  • Bit 34:设置为1时,表示1个控制帧。
  • Bit 35:设置为1时,表示1个暂停帧。
  • Bit 36:设置为1时,表示1个广播帧。
  • Bit 37:设置为1时,表示1个组播帧。
  • Bit 38:设置为1时,表示1个单播帧。
  • Bit 39:设置为1时,表示1个PFC帧。
avalon_st_rx_status_error[][] Out [NUM_CHANNELS][7]

设置为 1 时,相应位指示接收帧中的如下错误类型。

  • Bit 0:过小帧。
  • Bit 1:超大帧。
  • Bit 2:载荷长度错误。
  • Bit 3:未使用。
  • Bit 4: 下溢。
  • Bit 5: 客户端错误。
  • Bit 6:未使用。

出现上溢时,错误状态无效。

avalon_st_pause_data[][] In [NUM_CHANNELS][2] 当两个寄存器位,tx_pauseframe_enable[2:1]都设置到默认值0时,该信号生效。将该信号设置到如下值以触发相应行动。
  • 0x0—停止暂停帧生成。
  • 0x1—生成XON暂停帧。
  • 0x2—生成XOFF暂停帧。MAC IP核将暂停帧中的暂停量字段设置为tx_pauseframe_quanta寄存器中的值。
  • 0x3—保留。