VAR_LOAD 模式
下图显示了 VAR_LOAD 模式下的 IDELAY 时序图。
时钟事件 0
在 LD 产生脉冲之前,抽头设置和因此 CNTVALUEOUT 处于未知值。
时钟事件 1
在 C 的上升沿,LD 被检测为高电平,导致输出 DATAOUT 具有由 CNTINVALUE 定义的延迟,并将抽头设置更改为抽头 2。更新 CNTVALUEOUT 以表示新的抽头值。
时钟事件 2
在 C 的上升沿捕获 CE 和 INC 上的脉冲。这表示增量操作。 输出从抽头 2 到抽头 3 无毛刺地变化。CNTVALUEOUT 被更新以表示新的抽头值。
时钟事件 3
在 C 的上升沿,LD 被检测为高电平,导致输出 DATAOUT 被 CNTINVALUE 延迟。 CNTVALUEOUT 显示抽头设置的值。
输出将无限期地保持在抽头 10,直到 LD、CE 或 INC 引脚上有进一步的活动。
递增/递减操作后的稳定性
下图显示了响应 INC 和 CE 命令时从抽头 0 变为抽头 1 的延迟线。 显然,当抽头 0 处的数据值与抽头 1 处的数据值不同时,输出必须改变状态。 但是,当抽头 0 和抽头 1 处的数据值相同(例如,两者均为 0 或均为 1)时,从抽头 0 到抽头 1 的转换不会导致输出出现故障或中断。 通过想象接收器数据信号通过 IDELAY 抽头链,可以更好地理解这个概念。 如果抽头 0 和抽头 1 都在接收器数据眼图的中心附近,那么在抽头 0 处采样的数据将与在抽头 1 处采样的数据没有什么不同。在这种情况下,从抽头 0 到抽头 1 的转换不会导致 更改为输出。 为确保这种情况,IDELAY 的递增/递减操作被设计为无毛刺。 同样的解释也适用于图 2-13 中所示的 VAR_LOAD 行为。 然而,VAR_LOAD 确实提供了将延迟更改不止一次的可能性,这可能会导致采样点远离当前眼图中心点。
因此,用户可以在实时用户数据通过 IDELAYE2 原语时实时动态调整 IDELAY 抽头设置。 只要当前延迟线值接近接收数据眼图的中间,这些调整就不会中断实时用户数据。
当在时钟信号路径中使用 IDELAYE2 原语时,无毛刺行为也适用。 调整抽头设置不会导致输出出现毛刺或中断,前提是延迟线值不在接收到的时钟信号中看到的边沿附近。 在这种情况下,可以调整时钟路径中 IDELAYE2 原语的抽头设置,而不会中断任何时钟管理元素或可能在该时钟上运行的状态机。
IDELAYCTRL简介
IDELAYCTRL 概述
如果实例化 IDELAYE2 或 ODELAYE2 原语,则还必须实例化 IDELAYCTRL 模块。 IDELAYCTRL 模块连续校准其区域内的各个延迟抽头 (IDELAY/ODELAY),以减少工艺、电压和温度变化的影响。 IDELAYCTRL 模块使用用户提供的 REFCLK 校准 IDELAY 和 ODELAY。
IDELAYCTRL 原语
下图显示了 IDELAYCTRL 原语。
IDELAYCTRL 端口
RST - 复位
复位输入引脚 (RST) 是高电平有效异步复位。 为确保 IDELAY 和 ODELAY 正常运行,IDELAYCTRL 必须在配置后复位并且 REFCLK 信号稳定。 需要一个复位脉冲宽度 、TIDELAYCTRL_RPW。
REFCLK - 参考时钟
参考时钟 (REFCLK) 为 IDELAYCTRL 提供时间参考,以校准同一区域中的所有 IDELAY 和 ODELAY 模块。 该时钟必须由全局或水平时钟缓冲器(BUFG 或 BUFH)驱动。 REFCLK 必须为 FIDELAYCTRL_REF ± 指定的 ppm 容差 (IDELAYCTRL_REF_PRECISION),以保证指定的 IDELAY 和 ODELAY 分辨率 (TIDELAYRESOLUTION)。 REFCLK 可以直接从用户提供的源或 MMCM 提供,并且必须在全局时钟缓冲器上布线。
RDY - 就绪
就绪 (RDY) 信号指示何时校准特定区域中的 IDELAY 和 ODELAY 模块。 如果 REFCLK 保持高电平或低电平超过一个时钟周期,则 RDY 信号无效。 如果 RDY 置低,则必须复位 IDELAYCTRL 模块。 实现工具允许 RDY 不连接/忽略。 图 2-15 说明了 RDY 和 RST 之间的时序关系。
IDELAYCTRL 时序
下表显示了 IDELAYCTRL 开关特性。
如图 2-15 所示,7 系列 FPGA IDELAYCTRL RST 为边沿触发信号。
IDELAYCTRL 位置
IDELAYCTRL 模块存在于每个时钟区域的每个 I/O 列中。 IDELAYCTRL 模块校准其时钟区域内的所有 IDELAYE2 和 ODELAYE2 模块。
图 2-16 说明了 IDELAYCTRL 模块的相对位置。
reference
- UG471