时间表示法 - 2.3 简体中文

Versal Adaptive SoC 600G Channelized Multirate Ethernet Subsystem (DCMAC) LogiCORE IP 产品指南 (PG369)

Document ID
PG369
Release Date
2023-11-08
Version
2.3 简体中文

IEEE 1588 使用两种类型的时间字段格式:

当日时间 (ToD) 格式
IEEE 1588-2008 格式由无符号的 48 位秒字段和 32 位纳秒字段组成。此格式与标准版本 1 兼容。
纠正字段格式
在 v2 中引入,用于处理透明时钟,精度优于 1 ns。它是 64 位有符号整数,以 2-16 ns 为单位。例如,2.5 ns 表示为 64’h0000_0000_0002_8000

system_timer 是作为内部无符号线性计数器来实现的,它以 2-40 ns 为单位来计算时间。每个时钟周期 system_timer 均按 increment_value 数量递增,该值表示相同单位内系统定时器时钟的周期。例如,对于标称 644.0625 MHz 时钟,递增值将是 42'h18D_3018_D302 (1,705,908,949,762 × 2-40 ns)。此递增值由 DCMAC Subsystem 在启动时进行配置。如果当前使用 KP4-FEC,则配置另一个初始值:42’h181_8181_8182

DCMAC Subsystem 会通过各时间戳接口将 system_timer 的 32 位公开,即,TX 和 RX 包时间戳等同于以 2‑8 ns 为单位(约 3.9 ps)进行计数的定时器。用户逻辑可以将这些 32 位直接映射到纠正字段格式时间戳的位 [39:8]。系统定时器的上位部分可衍生自 ptp_systemtimer 输入,因为这些值应在 RX 或 TX 路径的近似时延范围内。由于架构不支持这种程度的精度,因此下 8 位纠正字段应设为 8’h0
注释: 在单步时间戳插入中同样使用此映射。

32 个最低有效位(即计数器的 < 2-8 ns 部分)和 DCMAC Subsystem 系统定时器的上 23 位部分都无法通过时间戳接口来使用。下位允许以更细粒度的亚纳秒级来调整 system_timer,以便按下一节所述方式对外部主时钟进行追踪。