示例 - 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 简体中文

下图显示了定时器调整的时序图示例。

系统定时器覆盖

要覆盖系统定时器,请将 D_ptp_st_overwrite_N 断言有效,并将所期望的 54 位值驱动到输入信号 D_ptp_systemtimer_N 上。覆盖触发方式为触发 D_ptp_st_sync_N 信号。

图 1. 定时器覆盖

如上所述,如果 D_ptp_st_sync_N 转换采样到定时器时钟的下降沿,那么 DDR 相位补偿器会给系统定时器自动添加半个时钟周期(即,timer_increment / 2)以帮助改善定时器精度。

定时器频率设置粗粒度调整

在此示例中,system_timer 频率设置方法是给 timer_increment 提供粗粒度调整(调整接口 上的方法 2)。

图 2. 系统定时器 - 设置增量值
注释: 32 位 ptp_st_adjust 值以 2-8 ns 为单位来解读,这表示它映射到 increment_value粗粒度部分。increment_value 的亚纳秒部分设为 32’d0。要调整增量值的亚纳秒部分,请使用“定时器频率细颗粒度调整”方法。

定时器频率细颗粒度调整

以下提供了对 system_timer 频率进行微调的示例,方法是调整增量值的亚纳秒部分(调整接口 上的方法 3)。此调整指定为以 2-40 ns 为单位。提供的有符号调整值将添加到现有 increment_value 供后续使用。

图 3. 频率微调

相移

此图中显示了定时器值的相移(使用 调整接口 的方法 1)。

图 4. 相位调整
注释: increment_value 仅在一次 system_timer 迭代内发生更改(它是一次性调整),随后即返回原值。允许的最大调整值为 18 位有符号值(2 的补码),以 2-8 ns 为单位。