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

这篇具有很好参考价值的文章主要介绍了XilinxFPGA项目开发之 7 系列 FPGA IDELAY2 / ODELAY2。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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 数据表如下所示:
XilinxFPGA项目开发之 7 系列 FPGA IDELAY2 / ODELAY2,FPGA,fpga开发

当我们提供 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 模块需要复位。

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

这些可以使用 Vivado 文本编辑器中提供的语言模板来实例化我们需要的模块。

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

我们也可以使用相同的语言模板来实例化 IDELAYCNTRL2。我们将要演示的设计将使用一个 IDELAYCNTRL 和两个 IDELAY2 原语。这就能测试不同配置 IDELAY2 时信号延迟之间的差异。
两个 IDELAY2 原语都将以 VAR_LOAD 模式运行。允许使用 CNTVALUEIN 和简单的 CE 和 INC 信号接口调整抽头延迟。

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

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

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

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

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

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

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

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

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

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

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

第四个测试将两个信号路径设置为具有相同的延迟。测试三和四演示了简单的递增和递减接口是如何工作的。我们启用 IDELAY2,并根据 INC 的状态,增加或减少抽头延迟。如果 INC 设置为与 CE 一致,则增加抽头延迟,否则减少抽头延迟。
最后的测试将第二个信号路径设置为最大延迟。在这里可以看到信号 2 延迟了 3.018 ns。这是2.469 ns 的抽头延迟加上原来的 0.6 ns。

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

IDELAY 在我们的工具箱中是一个非常有用的工具,它提供了对 FPGA 中的输入信号进行细粒度对齐的能力。
完整的工程:
https://github.com/ATaylorCEngFIET/MZ_431

参考原文:《FPGA项目开发之 7 系列 FPGA IDELAY2 / ODELAY2》文章来源地址https://www.toymoban.com/news/detail-605265.html

到了这里,关于XilinxFPGA项目开发之 7 系列 FPGA IDELAY2 / ODELAY2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp项目实战系列(2):新建项目,项目搭建,微信开发工具的配置

    ✨ 原创不易,还希望各位大佬支持一下! 👍 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! ✏️ 评论,你的意见是我进步的财富! 打开uniapp的开发工具(HBuilder X),点击左上角的文件》新建》项目 选择左侧栏的uniapp(一般默认打开就是),然

    2024年02月09日
    浏览(40)
  • 【高效开发工具系列】eclipse部署web项目

    💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老 导航 檀越剑指大厂系列:全面总

    2024年02月04日
    浏览(45)
  • 微信小程序开发教学系列(12)- 实战项目案例

    本章将通过一个简单的实战项目案例来帮助读者巩固之前学习到的知识。我们将搭建一个名为“ToDoList”的微信小程序,实现一个简单的任务清单功能。 ToDoList是一个用于记录和管理任务的小程序。用户可以添加、编辑、完成和删除任务,以及查看任务清单。 功能需求 显示任

    2024年02月11日
    浏览(56)
  • GO 的 Web 开发系列(二)—— Web 项目的技术框架选择和项目搭建

    Web 系统搭建第一步,选择技术框架,完成 Hello World 。 小玖用的 Go 版本是 1.21.6 介绍项目的技术选型个结构,不包括代码。 全文链接:https://blog.nineya.com/archives/149.html Web 框架: github.com/gin-gonic/gin v1.9.1 调研了 Go 开发者一圈,给小玖推荐这个框架的人最多 :tushe: 主要优点是轻

    2024年01月25日
    浏览(52)
  • FPGA高端项目:解码索尼IMX390 MIPI相机转HDMI输出,提供FPGA开发板+2套工程源码+技术支持

    FPGA高端项目:解码索尼IMX390 MIPI相机转HDMI输出,提供FPGA开发板+2套工程源码+技术支持 FPGA图像采集领域目前协议最复杂、技术难度最高之一的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰,以至于Xilinx官方不得不推出专用的IP核供开发者使用,不然太高端的操作

    2024年04月17日
    浏览(69)
  • Apache StreamPark系列教程第二篇——项目打包和开发

    一、项目打包 项目依赖maven、jdk8.0、前端(node、npm) node 安装 默认是h2(内存数据库,项目重新启动,数据库信息丢失),因此建议修改为mysql,同时workspace路径目录也需要修改  最后在mysql数据中分别执行schema和data文件,就可以正常访问streampark 修改上述配置文件信息再进行打包

    2024年02月11日
    浏览(34)
  • 软件开发项目文档系列之十一如何撰写系统部署方案

    撰写系统部署文档在于为项目提供了关键的操作手册,它不仅标准化了部署流程、传递了关键知识,还降低了系统故障排查和修复的难度,减少了沟通复杂性,确保了合规性和可维护性,为项目的成功实施和稳定运行提供了坚实的基础。系统部署文档充当了项目成功的关键工

    2024年02月05日
    浏览(53)
  • RK3588平台开发系列讲解(项目篇)YOLOv5部署测试

    平台 内核版本 安卓版本 RK3588 Linux 5.10 Android 12 沉淀、分享、成长,让自己和他人都能有所收获!😄

    2024年02月06日
    浏览(55)
  • [Android开发学iOS系列] iOS项目环境搭建和依赖管理

    一个项目总是会依赖一些库, 有些是第三方的, 有些可能是项目自身为了复用拆出去的. 现有主流的iOS依赖有多种形式, 比如CocoaPods, Carthage和swift package. 本文是一些环境搭建和使用项目依赖相关的笔记. 基本上iOS开发都要准备的环境, 这些设置是全局的, 在每个机器上设置一次就

    2024年04月08日
    浏览(37)
  • vue3微信公众号商城项目实战系列(1)开发环境准备

    项目忙完,这次上新,写一个前端系列,采用vue3来开发一个微信公众号商城。 前言: 1. 微信公众号商城本质也是一个网站,由一个个网页组成,只不过这些网页运行在手机端,能响应手指的点击、长按、拖拽等操作。 2. 既然是网页,当然可以用3件套(js+html+css)来写,但象

    2023年04月14日
    浏览(98)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包