入口逻辑不会通过解析入口数据包来搜索 1588 (PTP) 帧。而是改为提取接收到的每个帧的时间戳,并将该值输出到用户逻辑。该功能始终启用,但如果无需此功能,则可忽略时间戳输出。此时间戳可从 rx_ptp_tstamp_out_<N>
信号中提取,其中 N 为 0 到 5 范围内的值,与总线上的端口或 SOP 分段(取决于模式)相关联。
执行 PCS 解码器之后会筛选时间戳,仅保留对应于包起始(SOP,即 SFD 完成后的首个数据块)的时间戳。在耦合 MAC+PCS 模式下选中 AXI 作为输出驱动程序(使用
c{0..5}_ctl_pcs_rx_ts_en
)时,时间戳输出总线始终与速率低于 400G 的端口号相关联;例如,端口 2 将在 rx_ptp_tstamp_out_2
上接收其时间戳。400G 分段式 AXI4‑Stream 总线可能有 2 个包在同一个周期内启动,因此使用两条 rx_ptp_tstamp_out
总线。rx_ptp_tstamp_out_0
总线用于分段 0 到 3 内的 SOP,而 rx_ptp_tstamp_out_2
则用于分段 4 到 7 内的 SOP。 注释: 由于输出管脚限制,55 位时间戳的上位最高有效位将被丢弃。您可使用
rx_ptp_systemtimer
输入重建这些位作为参考,以便按需解释滚动(rx_ptp_tstamp_out
与 rx_ptp_systemtimer
之间的增量应约等于穿过 RX 路径的时延,此时延在 32 位值涵盖的时间范围内)。注释: 对于较短的包,应忽略
rx_ptp_tstamp_out
。图 1. 时间戳入口接口