AN-757:1G/2.5G以太网设计实例

ID 683753
日期 6/19/2017
Public

Avalon-ST接口信号

表 6.   Avalon-ST接口信号
信号 方向 宽度 说明
avalon_st_tx_startofpacket 输入 2 置位此信号显示TX数据开始。
avalon_st_tx_endofpacket[] 输入 2 置位此信号显示TX数据结束。
avalon_st_tx_valid 输入 2 置位该信号显示avalon_st_tx_data[]和该接口上的其他信号有效。
avalon_st_tx_ready 输出 2 置位后,表示MAC IP核已准备接受数据。不确定该信号的复位值。
avalon_st_tx_error[] 输入 2 置位此信号,指示当前TX包有错误。
avalon_st_tx_data[][] 输入 [2][32] 来自客户端的TX数据。
avalon_st_tx_empty[][] 输入 [2][2] 使用该信号在TX数据结束所在的周期中指定空字节的数目。

0x0=全部字节有效。

0x1=最后一个字节无效。

0x2=最后2个字节无效。

0x3=最后3个字节无效。

avalon_st_rx_startofpacket[] 输出 2 置位后,表示RX数据开始。
avalon_st_rx_endofpacket[] 输出 2 置位后,表示RX信号结束。
avalon_st_rx_valid 输出 2 置位后,表示avalon_st_rx_ data[]信号和该接口上的其他信号有效。
avalon_st_rx_ready 输入 2 当客户端已准备接受数据时,会置位此信号。
avalon_st_rx_error[][] 输出 [2: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 [2][32] 到客户端的RX数据。
avalon_st_rx_empty[][] Out [2][2] 包含RX数据结束所在的周期中空字节的数目。
Avalon_st_tx_status_valid[] 输出 2 置位后,该信号使avalon_st_txstatus_data[]avalon_st_txstatus_error[]信号生效。
avalon_st_tx_status_data[][] 输出 [2][40] 包含关于TX帧的信息。
  • Bit 0至15:载荷长度。
  • Bit 16至31:数据包长度。
  • Bit 32:设置为1时,表示堆栈式VLAN帧。
  • Bit 33:设置为1时,表示VLAN帧。
  • Bit 34:设置为1时,表示控制帧。
  • Bit 35:设置为1时,表示暂停帧。
  • Bit 36:设置为1时,表示广播帧。
  • Bit 37:设置为1时,表示组播帧。
  • Bit 38:设置为1时,表示单播帧。
  • Bit 39:设置为1时,表示PFC帧。
avalon_st_tx_status_error[][] 输出 [2][7] 设置为1时,相应各位表示RX帧中的错误如下:
  • Bit 0:过小帧。
  • Bit 1:过大帧。
  • Bit 2:载荷长度错误。
  • Bit 3:未使用。
  • Bit 4:下溢。
  • Bit 5:客户端错误。
  • Bit 6:未使用。
出现上溢时,以上错误状态无效。
avalon_st_rx_status_valid[] 输出 2 置位后,此信号使avalon_st_rxstatus_data[]avalon_st_rxstatus_error[]信号生效。在置位avalon_st_rx_endofpacket信号的相同时钟周期中,MAC IP核置位此信号。
avalon_st_rx_status_data[][] 输出 [2][40] 包含关于RX帧的信息。
  • Bit 0至15:载荷长度。
  • Bit 16至31:数据包长度。
  • Bit 32:设置为1时,表示堆栈式VLAN帧。
  • Bit 33:设置为1时,表示VLAN帧。
  • Bit 34:设置为1时,表示控制帧。
  • Bit 35:设置为1时,表示暂停帧。
  • Bit 36:设置为1时,表示广播帧。
  • Bit 37:设置为1时,表示组播帧。
  • Bit 38:设置为1时,表示单播帧。
  • Bit 39:设置为1时,表示PFC帧。
avalon_st_rx_status_error[][] 输出 [2][7] 设置为1时,相应各位表示RX帧中的错误如下:
  • Bit 0:过小帧。
  • Bit 1:过大帧。
  • Bit 2:载荷长度错误。
  • Bit 3:未使用。
  • Bit 4:下溢。
  • Bit 5:客户端错误。
  • Bit 6:未使用。
出现上溢时,以上错误状态无效。
avalon_st_pause_data[][] 输入 [2][2] 当两个寄存器位,tx_pauseframe_enable[2:1]都设置到默认值0时,该信号生效。

将该信号设置到如下值以触发相应行动。

  • 0x0:停止暂停帧生成。
  • 0x1:生成XON暂停帧。
  • 0x2:生成XOFF暂停帧。MAC IP核将暂停帧中的暂停量字段设置为tx_pauseframe_quanta寄存器中的值。
  • 0x3:保留。