碎碎思 · 2022年10月09日 · 北京市

FPGA项目开发之 7 系列 FPGA IDELAY2 / ODELAY2

IO 灵活性是FPGA 最大的优点之一。如果我们设计的 PCB 信号走线不完美,IO的灵活性使我们能够对齐进入设备的高速数据,帮助我们摆脱困境。

设备 IO 结构中一个经常被忽视的功能是 IDELAY2 和 ODELAY2 原语。这些原语为开发人员提供了一个由 32 个抽头组成的可编程延迟线,可提供可调节或固定的延迟。

实际可用的原语取决于我们正在使用的 IO bank 的类型。High Performance IO (HP IO) 为用户提供 IDELAY2 和 ODELAY2 原语,而 High-Range IO (HR IO) 仅提供 IDELAY2 原语。

我们可以同时使用 IDELAY 和 ODELAY 来消除信号之间的小延迟。抽头之间的分辨率取决于FPGA的时钟频率和速度等级,7 系列 AC/DC 数据表如下所示:

image.png

当我们提供 200 MHz 参考时钟时,每个抽头增量都会将延迟增加 78 ps。这意味着总延迟约为 2.469 ns。

IDELAY 和 ODELAY 原语可以在四种模式下运行:

  • FIXED——延迟在此模式下是固定的,不能在运行时更改。
  • VARIABLE – 这是一个可变延迟,其中抽头值可以使用简单的界面增加或减少。
  • VAR_LOAD – 与变量模式类似,可以通过输入向量设置抽头延迟。
  • VAR\_LOAD\_PIPE – 这与 VAR_LOAD 类似,但是可以流水线化未来的延迟。

IDELAY2 模块能够延迟来自逻辑结构或 IO 输入的信号。

现在让我们看下如何在应用程序中实现 IDELAY 功能,并创建一个不同模式下的实例。

要开始使用 IDELY 或 ODELAY,我们需要实现一个 IDELAYCNTRL 模块。该模块不断校准其区域内的各个延迟抽头。该模块非常简单,需要参考时钟和复位,RDY 输出低时表示 IDELAYCNTRL 模块需要复位。

image.png

这些可以使用 Vivado 文本编辑器中提供的语言模板来实例化我们需要的模块。
image.png
我们也可以使用相同的语言模板来实例化 IDELAYCNTRL2。我们将要演示的设计将使用一个 IDELAYCNTRL 和两个 IDELAY2 原语。这就能测试不同配置 IDELAY2 时信号延迟之间的差异。

两个 IDELAY2 原语都将以 VAR_LOAD 模式运行。允许使用 CNTVALUEIN 和简单的 CE 和 INC 信号接口调整抽头延迟。

image.png
测试平台将执行以下步骤:

  • 重置 IDELAYCNTRL。
  • 将两个输入信号 IDELAY2 设置为 0 延迟。
  • 设置两个 IDELAY 延迟 2,将两个信号。
  • 将第二个 IDELAY2 延迟增加 1 ,同时将第一个 IDELAY 保留为 2。
  • 将第二个 IDELAY2 减 1 ,让两者具有相同的延迟。
  • 将第二个 IDELAY2 设置为具有 31 的最大可能延迟。

可以在下面看到整体仿真延迟比较小,无法看到该级别延迟的影响。然而,随着仿真执行不同的测试,我们将看到控制信号和抽头值发生变化。

image.png

测试一的波形如下所示。尽管没有计算延迟,但输入信号和输出信号之间存在大约 60 ps 的延迟。

image.png

当延迟设置为 2 时,延迟为 756 ns,即 156 ps(两个 78 ps 的抽头延迟)加上原来的 0.6 ns 延迟。

image.png

第三个测试显示信号一和信号二之间有 78 ps 的延迟。对应于接头设置的差异,这也显示在计数值输出信号上。

image.png

第四个测试将两个信号路径设置为具有相同的延迟。测试三和四演示了简单的递增和递减接口是如何工作的。我们启用 IDELAY2,并根据 INC 的状态,增加或减少抽头延迟。如果 INC 设置为与 CE 一致,则增加抽头延迟,否则减少抽头延迟。

最后的测试将第二个信号路径设置为最大延迟。在这里可以看到信号 2 延迟了 3.018 ns。这是2.469 ns 的抽头延迟加上原来的 0.6 ns。

image.png

IDELAY 在我们的工具箱中是一个非常有用的工具,它提供了对 FPGA 中的输入信号进行细粒度对齐的能力。

完整的工程:

https://github.com/ATaylorCEngFIET/MZ_431
原文:OpenFPGA
作者:碎碎思

相关文章推荐

更多IC设计干货请关注IC设计技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
10614
内容数
577
FPGA Logic 二三事
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息