调整接口 - 2.2 简体中文

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

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

system_timer 中确定值后,它就会在逐个周期的基础上按固定量递增。此固定量在模块框图上标记为 timer_increment

增量可通过三种方法来进行调整。所需的方法是使用信号 ctl_D_ptp_st_adjust_type_N 输入来选择的。更新值由 D_ptp_st_adjust_N 提供,其工作触发方式为触发 D_ptp_st_adjust_vld_N 的值。

更新可以随时执行,但更改应每隔 10 个时钟(系统时钟)执行一次,以免重定时出现问题。

方法 1:相位调整 (type = 2'b00)
system_timer 可使用系统定时器相位调整方法按指定量进行时移(即相移)。提供的调整值为有符号值,以 2-8 ns 为单位,除了常用定时器增量外,调整值会直接添加到 system_timer。这是一次性调整,您必须重复此操作才能再次添加调整量。最大相移为 (+/- 217 - 1) × 2-8 ns,或者约 +/- 0.5 µs。
方法 2:粗粒度频率设置 (type = 2'b01)
在此模式下,您可定义新的增量值,并在逐个时钟的基础上将其添加到 system_timer。提供的增量值会被解读为无符号整数,以 2-8 ns 为单位(最多 10 位)。进行粗粒度调整时,增量值的下 32 位会清零(内部增量值的粒度为 2-40 ns)。为了对 increment_value 进行更为细粒度的调整 (< 2-8 ns),必须使用下一种方法。
方法 3:精细的频率调整 (type = 2'b10)
此方法支持您对内部值进行亚纳秒级调整。提供的增量值会被解读为有符号整数,以 2-40 ns 为单位。该值添加到现有定时器增量。它是有符号值,因此如果提供负值调整,可以执行减法。