Xilinx推荐使用ODDR原语输出高质量时钟

这篇具有很好参考价值的文章主要介绍了Xilinx推荐使用ODDR原语输出高质量时钟。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Xilinx的高质量时钟输出ODDR原语【随路时钟】【全局时钟网络】【ZC706输出时钟】【ZYNQ】

按照Xilinx的推荐,在输出时钟时最好还是把ODDR加上。这个测试用例没有体现出ODDR的优势,也许在资源使用较多、时钟频率更高时才能体现。另外,这里只是输出了时钟,没有输出使用该时钟的数据。

很多人说时钟直接从BUFG输出到管脚会报错,必须加约束或者ODDR,目前我在ZYNQ7045上没有发现此问题。

ODDR的使用场景还在于OSERDES、FPGA的源同步的系统设计,用ODDR使得随路时钟和数据在输出时是严格同步的,保证严格的相位对齐关系。文章来源地址https://www.toymoban.com/news/detail-426683.html

本文探讨一下ODDR用于时钟输出时的作用。

参考:

https://forums.xilinx.com/t5/Other-FPGA-Architecture/Clock-capable-pin-pair-as-input-and-output/m-p/900002#M2971

一、ODDR概述及使用方法

ODDR(Output Double Data Rate,输出双倍数据速率):

在DDR接口中,ODDR用于发送时钟和数据;

在SDR接口中,ODDR转发时钟(仍在时钟树内),输出端要直连到输出port,不可加逻辑,连接方式:输出时钟连接ODDR的C引脚,D1固定值1'b1, D2固定值1'b0,CE固定值1’b1,ODDR的输出Q连接到OBUF;

Xilinx推荐使用ODDR原语输出高质量时钟

时钟输入有限制,需要从SRCC或者MRCC专用时钟输入引脚输入,时钟输出可以在任何引脚上输出。当输出时钟时,即使使用的是时钟专用输入管脚去输出时钟,也等同于使用普通的GPIO管脚输出时钟。

输出时钟的最佳方法是使用ODDR来转发时钟(假设输出的时钟是一个专用时钟网络上的时钟)。每个IOB(IO Bank)都具有ODDR功能。

这样做时,内部时钟一直停留在专用的时钟网络上,直到ODDR,永远不需要进入一般的路由结构。不建议直接将时钟带到OBUF,因为这需要内部时钟离开专用时钟网络,通过一般的fabric路由线路路由到OBUF。

对Spartan6里面,必须用ODDR寄存器输出。

二、时钟配置

参考https://blog.csdn.net/zkf0100007/article/details/82559250 ,此博客中使用了ODDR输出,通过查阅相关资料,都建议在输出时钟时加入ODDR原语,现在加入ODDR对比一下加入前后的不同。

上文 ZC706评估板IBERT误码率测试和眼图扫描【GT高速串行收发器】【IBERT】【FPGA】【眼图】【FPGA探索者】

加入ODDR代码,D1接高电平,D2接低电平,C接时钟,Q输出。

wire user_clk;
IBUFDS IBUFDS_inst_user_clk(
    .O(user_clk), // Buffer output
    .I(USRCLK_P_I), // Diff_p buffer input
    .IB(USRCLK_N_I) // Diff_n buffer input
);   
 
wire user_clk_bufg;
BUFG BUFG_inst_user_clk (
      .O(user_clk_bufg), // 1-bit output: Clock output
      .I(user_clk)
);
 
wire user_clk_bufg_oddr;
ODDR #(
      .DDR_CLK_EDGE("OPPOSITE_EDGE"), //"OPPOSITE_EDGE" or "SAME_EDGE"
      .INIT(1'b0),    // Initial value of Q: 1'b0 or 1'b1
      .SRTYPE("SYNC") // Set/Reset type: "SYNC" or "ASYNC"
 ) ODDR_out_clock_inst_user_clock (
     .Q(user_clk_bufg_oddr),   // 1-bit DDR output
     .C(user_clk_bufg),   // 1-bit clock input
     .CE(1'b1), // 1-bit clock enable input
     .D1(1'b1), // 1-bit data input (positive edge)
     .D2(1'b0), // 1-bit data input (negative edge)
     .R(),   // 1-bit reset
     .S()    // 1-bit set
);
   
 OBUFDS OBUFDS_inst_user_clock (
    .O (USER_SMA_CLOCK_P_O
    .OB(USER_SMA_CLOCK_N_O),     // Diff_n output
    .I (user_clk_bufg_oddr)      // Buffer input
 )

三、性能对比

按照Xilinx和网上的一些说法,加入ODDR后输出时钟的质量会更好。

Xilinx推荐使用ODDR原语输出高质量时钟

输出DDR可以转发一个时钟副本到输出。这对于传播具有相同延迟的时钟和DDR数据、以及生成多个时钟(其中每个时钟负载都有惟一的时钟驱动)非常有用。这是通过将ODDR的D1输入高电平并且D2输入低电平来实现的。Xilinx建议使用这种方案将时钟从FPGA逻辑转发到输出引脚。

如下图所示是加入ODDR前后的时序裕量和资源消耗对比,可以看到,对WNS(Worst Negative Slack,最差负时序裕量)和WHS(Worst Hold Slack,最差保持时序裕量)、资源使用在加入前后没有明显的区别。实测加入ODDR前后误码率基本一致,眼图扫描结果也一致。

Xilinx推荐使用ODDR原语输出高质量时钟

按照Xilinx的推荐,在输出时钟时最好还是把ODDR加上。这个测试用例没有体现出ODDR的优势,也许在资源使用较多、时钟频率更高时才能体现。另外,这里只是输出了时钟,没有输出使用该时钟的数据。

很多人说时钟直接从BUFG输出到管脚会报错,必须加约束或者ODDR,目前我在ZYNQ7045上没有发现此问题。

ODDR的使用场景还在于OSERDES、FPGA的源同步的系统设计,用ODDR使得随路时钟和数据在输出时是严格同步的,保证严格的相位对齐关系。

到了这里,关于Xilinx推荐使用ODDR原语输出高质量时钟的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 推荐几个亲测好用高质量学习SQL的网站(建议收藏)

    打开我的收藏夹,找出我曾经苦苦寻觅但却尘封已久的小网站—— 想什么呢,是正经学习SQL的网站,看完赶紧收藏学习起来! LintCode是我常用来刷算法题的网站,最近他们开发了一个 SQL教程 模块特好用,很适合零基础从0-1学习SQL。 这不只是单纯的刷题工具,而是先跟你梳理

    2024年02月13日
    浏览(52)
  • 推荐几个免费且高质量无版权的视频素材网站,记得收藏

    今天这篇文章给大家分享视频素材网站,希望对大家有帮助 1、Coverr 第一个网站是Coverr。Coverr是一个高质量的无版权视频素材下载网站,有分类,可以英文搜索。这个网站的视频素材质量还是很高的,无套路,免费下载。 第二个网站是Mixkit。这个网站就更牛批了,不仅可以下

    2024年02月12日
    浏览(93)
  • 十个高质量工具网站推荐,AI自动抠图换背景,任意背景自动融合

    AI 背景更换是一种利用生成式人工智能创建新图像背景的软件工具。与传统方法需要移除原有的背景并更换新的不同,AI背景生成器使用先进的算法生成与前景完美融合的全新背景。这项技术彻底改变了图像编辑的方式,为设计提供了更多的创造自由和灵活性。 AI背景生成器

    2024年02月02日
    浏览(62)
  • 卧槽!这网站也太全了吧!!!学习、设计、开发、资源下载等各类高质量网站推荐【建议收藏】

    声明: 本网址从网上搜寻而来,有的网址在使用时如出现过期情况,请反馈 欢迎有好的网站的私聊进行分享 本帖会不定期更新,建议收藏 设计类网站 标题 网址 简介 京东羚珑智能抠图网站 https://ling.jd.com/live/fm#all 主要用于商品抠图,而且还有多种直播背景设计,非常方便

    2024年02月09日
    浏览(62)
  • 使用“讯飞星火”快速生成高质量PPT文档

    随着互联网的发展,人们获取信息的渠道越来越多,如何在有限的时间内快速完成工作任务变得尤为重要。在此背景下,各类智能写作工具应运而生。讯飞星火(https://xinghuo.xfyun.cn/desk)就是这样一款非常实用的工具。它能够通过AI技术,仅需输入标题、等信息,就能快速生成完

    2024年02月07日
    浏览(46)
  • 使用chargpt加 midjourney 生成高质量的图片

    如果你还不知道如何使用chargpt(网站不对国内开放),请看我的另一篇文章 首先介绍一下 chargpt 是一个最近火到爆炸的人工智能聊天工具,可以用它来生成图片,因为默认chargpt是不能直接输出图片的,需要给它指令已markdown的格式输出 接下来我会给你指令,生成相应的图片,

    2024年02月12日
    浏览(40)
  • 使用 FastGPT 构建高质量 AI 知识库

    作者:余金隆。FastGPT 项目作者,Sealos 项目前端负责人,前 Shopee 前端开发工程师 FastGPT 项目地址: https://github.com/labring/FastGPT/ 自从去年 12 月 ChatGPT 发布以来,带动了一轮新的交互应用革命。尤其在 GPT-3.5 接口全面开放后,大量的 LLM 应用如雨后春笋般涌现。然而,由于 GP

    2024年02月14日
    浏览(48)
  • 如何在Kali Linux中使用高质量的字体

    在Kali Linux中,如果您安装了一个字体不清晰的Jar程序,可能会导致应用程序的显示效果不佳。这是因为Kali Linux的默认字体设置可能与某些字体不兼容,导致显示不清晰或者出现锯齿状的边缘。为了解决这个问题,我们将分析Java程序和Linux系统的字体设置,以找出一个解决方

    2024年02月04日
    浏览(71)
  • 如何使用 Mokker AI快速生成高质量的产品图片

    如果你是一名电商从业者,你可能会遇到这样的问题:如何为你的产品拍摄出吸引人的图片?你可能需要花费大量的时间和金钱,寻找合适的拍摄场地、道具、灯光等,或者委托专业的摄影师来完成这项工作。但是,有没有一种更简单、更便捷、更经济的方法呢? 答案是有的

    2024年02月21日
    浏览(48)
  • 使用Amazon SageMaker构建高质量AI作画模型Stable Diffusion

    近来,随着新一代 AI 大型聊天机器人 ChatGPT 火遍科技圈,人工智能生成内容( Artificial Intelligence Generated Content , AIGC )这一领域开始受到学术界、工业界甚至普通用户的广泛关注。 AIGC 凭借其独特的“创造力”与人类无法企及的创作生成速度掀起了一股人工智能狂潮。但是,利

    2023年04月14日
    浏览(62)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包