在非通道化分段式模式下,多个帧跨越多个总线分段,且 DCMAC Subsystem 可以在任意给定分段内起始或结束任一帧。在含不少于 4 个分段的模式下,帧可在同一周期内起始和结束。对于 400G 模式,含 8 个分段的 2 个帧可以在单个周期内起始,因此有 2 条
preambleout
总线可用。rx_preambleout_0
总线用于分段 0 到 3 内起始的帧,而 rx_preamblein_2
则用于分段 4 到 7 内起始的帧。 注释: 奇数编号的
rx_preamblein
总线仅在非通道化 100G 模式下使用。正如发射示例一样,接收侧的新 sop
信号同样保证对齐到分段 0。“新 SOP”定义为端口启动后的第一个帧,或者当含 eop
的最后一个有效周期结束后(在任意分段上都是如此,但如果 eop
不在总线的最后一个分段上,则相应地后接被禁用的分段),“新 SOP”则定义为帧起始。包起始指示可能发生在其他分段上,但前提是它紧随前一个分段上的 eop
之后。在单个周期内的 eop
与 sop
之间不得存在间隔(即,含 ena
断言无效的分段)。
发射与接收的主要差异之一在于,在 RX AXI4‑Stream 接口上不存在可用于客户端反压的 tready
。DCMAC Subsystem 不具有缓冲能力可用于吸收客户端反压,因此当 tvalid
断言有效时,始终对数据进行中继。如需反压,则必须在用户逻辑内实现必要的缓冲。
另一个差异在于,tvalid
在帧传输期间可能无法保持处于断言有效状态。在 sop
与 eop
之间,有效周期的所有分段都启用,但不必使所有周期都有效。这是由于线路时钟、接收核时钟与 AXI 时钟之间存在异步关系。由于没有内部缓冲可用于确保帧的连续性,有时异步时钟关系会导致没有数据可供在 AXI 接口上显示,由此导致进行中的帧所在周期之间出现短暂停滞。