正常入站帧传输的时序如下图所示。客户端必须准备好随时接受数据;由于核中没有缓冲机制,因此接收客户端不允许出现时延。
帧接收期间,rx_axis_tvalid
断言有效以指示正在 rx_axis_tdata
上将有效帧数据传输到客户端。所有 rx_axis_tkeep
位均设为 1,表示整个帧中的所有字节始终有效,但在 rx_axis_tlast 断言有效时该帧进行最终传输期间除外。在帧数据的最终传输期间,rx_axis_tkeep
位使用上述映射来指示帧的最终有效字节。
最终传输的有效字节始终来自于 rx_axis_tdata[7:0]
(rx_axis_tkeep[0]
),因为以太网帧数据是连续的并且先接收最低有效字节。
仅在完成所有帧校验后,随传输的最终字节一起,rx_axis_tlast
断言有效并且 rx_axis_tuser
断言无效。这发生在接收到帧校验序列 (FCS) 字段后。核断言 rx_axis_tuser
信号有效以指示已成功接收到帧并且客户端应分析帧。这也表示包结束,以 rx_axis_tlast
断言有效并保持 1 个周期来表示。
图 1. 正常帧接收 - 256 位非分段式 AXI4-Stream