Xilinx,IBUFDS原语

IBUFDS #(.DIFF_TERM("FALSE"),       // Differential Termination.IBUF_LOW_PWR("TRUE"),     // Low power="TRUE", Highest performance="FALSE" .IOSTANDARD("DEFAULT")     // Specify the input I/O standard) IBUFDS_inst (.O(data_clk_tmp),  // Buffer output.I(data_clk_p),  // Diff_p buffer input (connect directly to top-level port).IB(data_clk_n) // Diff_n buffer input (connect directly to top-level port));

将需要转换的data_clk P端和N端接入IBUFDS的I和IB端口,就可以在O端口得到转换的单端信号。

除了CLK时钟信号,其他信号的输入转换基本结束了;

而CLK时钟信号还需要接入BUFG,因为CLK时钟只有接入BUFG才能接入全局时钟网络。

BUFG BUFG_i0 (.O(data_clk),      // 1-bit output: Clock output, 36MHz..I(data_clk_tmp)           // 1-bit input: Clock input, 36MHz.);

一个输入一个输出

用一个OBUFDS原语实现单端转差分,在Language Template中找到原语,修改后如下:

OBUFDS #(.IOSTANDARD("LVDS18"), // Specify the output I/O standard.SLEW("SLOW")           // Specify the output slew rate) OBUFDS_inst (.O(tx_frame_p),     // Diff_p output (connect directly to top-level port).OB(tx_frame_n),   // Diff_n output (connect directly to top-level port).I(tx_frame)      // Buffer input );

设置好相应的参数之后,将单端信号接入OBUFDS的I端口,O端口输出差分信号的P端,OB端口输出差分信号的N端。

在设置输入输出端口的“IOSTANDARD”中,遇到了些许问题,这里写出来记录一下,也让后面遇到这个问题的人有个参考;最初设置差分信号的“IOSTANDARD”时,我想当然的使用了“LVDS”,“LVDS18”等参数,但是这些参数都不能最终生成比特流;

在查了一些资料以及Vivado本身的I/O Port界面里参数后发现,差分信号的IOSTANDARD需要这样设置:

set_property IOSTANDARD DIFF_HSTL_II_18 [get_ports tx_frame_p]

因为我的IO电压是1.8V,所以最终使用了“DIFF_HSTL_II_18”,如果有更好的方案,可以一起探讨探讨。

总结:

  • 输入信号需要用到IBUFDS实现差分转单端,输入时钟还需要加BUFG
  • 输出信号使用OBUFDS实现单端转差分
  • 差分信号只需要绑P端管脚,“IOSTANDARD”设置需要注意

输入输出端口的简单处理之后,这些信号为了提高传输数据的效率,还使用了DDR(Double Data Rate)技术传输数据,如何解决DDR问题,下一篇文章再来探讨。

转载自知乎  万物皆可卷积 武汉大学电路与系统

https://zhuanlan.zhihu.com/BugRec

FPGA差分转单端,单端转差分 IBUFDS OBUFDS BUFG相关推荐

  1. 【单端S参数与差分S参数转化】

    单端S参数与差分S参数转化 1 单端S参数说明 对于单端信号来说,用单端S参数来描述其传输特性,如常见的2端口网络,其S参数包括S11(1端口回波损耗RL).S21(插入损耗IL).S12(插入损耗I ...

  2. ​使用端到端立体匹配网络进行单次 3D 形状测量,用于散斑投影轮廓测量

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 标题:Single-shot 3D shape measurement using an end-to ...

  3. 神泣单机服务器维护,神泣9.0网游单机版网单一键服务端 魔王归来

    002021yzvzgha0abz5yk3b.jpg (96.66 KB, 下载次数: 5) 神泣9.0网游单机版网单一键服务端 魔王归来 2020-7-8 08:34 上传 002022gmzvok ...

  4. html5 移动端单页面布局

    序      移动端的web网页使用的是响应式设计,但一般我们看到的网站页面都是跳转刷新得到的,比如通过点击一个menu后进入到另一个页面 今天来说下是移动端的单页面的布局.单页面就是一切操作和布局都 ...

  5. 单侧游离端缺失设计图_单侧游离端附着体义齿的应力中断设计及其力学传导分析...

    弹性附着体义齿是一种高效的可摘局部义齿修复形式[,在修复远中游离端缺失时可以显著减少基牙受到的不良扭转力[.然而,由于弹性附着体的缓冲作用,基牙承受的咬牙合力向远中基托转移导致基托下方黏膜组织负担增加 ...

  6. websocket redis 单用户多端登录 发送通知 nginx负载均衡

    场景:用户在不同客户端登录时,通过websocket可以进行实时通知,同时需要发布项目到多台服务器上,使用nginx对websocket进行负载均衡. 具体示例:以用户为单位,登录A .B 浏览器,后 ...

  7. EPro-PnP:用于单目物体姿态估计的广义端到端概率 PnP(CVPR 2022)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨张海晗 来源丨泡泡机器人SLAM 标题:EPro-PnP: Generalized End-to ...

  8. 骑手app、配送、外卖送餐、自动接单、进行中、待接单、移动端app、高保真原型、Axure原型、配送里程、结算、取货、送货、送餐订单、外卖平台、送餐小程序、外卖app、点餐平台、移动端骑手app

    骑手app.配送.外卖送餐.自动接单.进行中.待接单.移动端app.高保真原型.Axure原型.配送里程.结算.取货.送货.送餐订单.外卖平台.送餐小程序.外卖app.点餐平台.移动端骑手app Ax ...

  9. 工单派单管理系统一体化管理,实现APP+PC端多渠道派工

    系统概述 工单派单系统普遍适用于电器.厨卫.家装.智能锁.安防.IT互联网.电子商务.团购.网上教育.娱乐媒体.外包企业.仓储物流.物业.公共事业等安装维修业务派单和工单管理. 客户可通过电话或企业微 ...

最新文章

  1. 上机实践 1 初识 Java
  2. 操作系统安全加固的作用
  3. 【转】sql if else 语句
  4. python类装饰器详解-Python类中的装饰器在当前类中的声明与调用详解
  5. c#图片base64去转义字符_C#实现字符串与图片的Base64编码转换操作示例|chu
  6. Hive DML操作
  7. jqgrid实现客户端导出Excel、txt、word、json等数据格式的文件
  8. “编程太差,那你别搞开发了!”基础差的程序员,你不知道有多难!!
  9. 【转】windows上安装gvim
  10. Xcode安装及卸载
  11. 生活广场远程预付费电能管理系统的设计与应用
  12. VS2010中常用的快捷键
  13. redis列表list常用命令大全
  14. K210基础实验—获取,修改像素值
  15. 关于IE主页被篡改成2345、360、hao123等页面的说明
  16. 新版Uniapp开发多端影视APP源码+对接苹果CMS
  17. 服务器空文件夹无法删除怎么办,空的文件夹无法删除怎么办 空的文件夹无法删除的原因【图文】...
  18. 中行安全控件可致 Win8 笔记本键盘失灵
  19. Sun发布全球首款“统一存储系统”Storage7000
  20. 操作系统基本原理---进程管理

热门文章

  1. K-L变换(Karhunen-Loève Transform)
  2. 顶象技术获红杉中国A轮投资,解决企业安全风控问题
  3. R语言开发环境搭建与实践
  4. 自组织(Self-organization),自组织临界性(Self-organized criticality)
  5. 无人机项目跟踪记录六十五----无线收发模块电路
  6. Unity2D学习笔记-Tilemap
  7. linux系统盘15G,装UOS/Deepin 20选择全盘安装的系统分区仅有15GB,附扩容经验
  8. 【Premiere Pro模板】动态模板(.mogrt文件)无法改变颜色的解决方法
  9. Vue3 Element Plus 动态图标
  10. 子弹连发以及后坐力动画制作