在此耦合 MAC+PCS 模式下,AXI4‑Stream 接口会提供额外输出:tx_axis_taf_N
(其中,N 对应于客户端端口号)。tx_axis_taf_N
输出属于“几乎已满”状态指示,提供该指示的目的是在瞬时 tready
断言有效可能难以进行调整的应用中简化 AXI 时序。此 taf
信号断言有效比 tready
断言无效至少提前一个周期。如果 AXI(客户端输入)与核(线路漏极)数据速率相当,那么 taf
断言有效与 tready
断言无效的时间间隔可能更长。此外,如果客户端将 tvalid
断言无效,那么可能 tready
永不会断言有效。无论用户逻辑是使用还是忽略 taf
信号,tready
断言无效仍将会导致此信号所在周期内立即发生总线停滞:这样就不会耗用此 AXI 总线上存在的任何数据,直至 tready
重新断言有效为止。
taf
信号的总体原则是,它代表驱动 AXI 总线的 TX 客户端来表明带宽过宽。当 taf
断言有效时,客户端应降低其输入数据速率,直至移除 taf
为止。最简单的方法是中止数据流,在 taf
断言有效之后的周期上将 tvalid
断言无效。如果 taf
信号不断言有效,或者在 taf
信号的下降沿之后启动周期,那么针对从帧起始直至帧完成之间的所有连续周期,tvalid
都必须断言有效。
下图显示了 DCMAC Subsystem AXI 总线的逐个周期的行为,包括 TX
taf
信号。注释: 为了提高这些图示的清晰度,特此移除其中的分段详细信息。
图 1.
AXI4‑Stream 发射
taf
行为
在某些情况下,使用 taf
可能导致 DCMAC Subsystem 在各 TX 帧之间插入可测量的少量非必要 IDLE(空闲)。要避免此额外的 IDLE,可以提高 tx_axi_clk
频率,使其比 100GE/200GE 的标称值高 3.5%,比 400GE 的标称值高 10%。