当前位置: 首页 > news >正文

【FPGA开发】Xilinx FPGA差分输入时钟的使用方法

正文

       以前在使用ZYNQ的领航者ZYNQ7020进行FPGA学习时,它们使用的单端50M的输入时钟,在verlog代码编写上比较简单,而现在使用Alinx的AXU3EG开发板时,发现它使用的是200M的差分输入时钟,哪这个时候,输入时钟要怎么使用呢?

       先说答案,使用 IBUFDS 源语解决!

       先介绍一下什么是 IBUFDS,它的全称为 Dedicated Differential Signaling Input Buffer with Selectable I/O Interface,即专用差分输入时钟缓冲器。它用来把差分时钟转换成单端时钟来作为全局的时钟。

​       它的结构如下图所示:

       对于其而言,有两路输入,用I和IB表示。其真值表如下:

IIBO
00No Change
010
101
11No Change

       可以看出,只有 I 和 IB 不同时,输出才会发生改变,且与 I 相同。而对于差分时钟而言,I 和 IB 时钟是逻辑上相异的,所以可以通过 IBUFDS 后可以产生单端的时钟信号。

       在 Xilinx 的 Vivado 中,可以采用以下方式进行例化:

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(O),  // Buffer output.I(I),  // Diff_p buffer input (connect directly to top-level port).IB(IB) // Diff_n buffer input (connect directly to top-level port));

       更简洁的,可以省略上面的参数,而直接采用默认参数

IBUFDS IBUFDS_inst (.O(sys_clk),   // 1-bit output: Buffer output.I(sys_clk_p),   // 1-bit input: Diff_p buffer input (connect directly to top-level port).IB(sys_clk_n)  // 1-bit input: Diff_n buffer input (connect directly to top-level port));

参考资料

​ 【XINLIX 原语】XILINX 原语的使用之 IBUFDS 差分转单端、OBUFDS 单端转差分


http://www.mrgr.cn/news/41526.html

相关文章:

  • 10月2日笔记(内网资源探测篇)
  • 鸢尾花书实践和知识记录[数学要素3-3几何]
  • 系统安全 - Linux 安全模型及实践
  • AI通用大模型编程需要的能力
  • 《重生到现代之从零开始的C语言生活》—— 内存函数
  • 【GESP】C++一级练习BCQM3021,输入-计算-输出-2
  • Python(三)——列表
  • JavaScript for循环语句
  • npm包管理深度探索:从基础到进阶全面教程!
  • UniVue大版本更新:UniVue2.0.0-preview
  • 枫叶MTS格式转换器- 强大、操作简单的MTS、M2TS视频转换工具供大家学习研究参考
  • 老年人最真实的养老需求
  • 【GESP】C++一级练习BCQM3022,输入-计算-输出-3
  • Mysql 索引底层数据结构和算法
  • IDEA 设置自动定位文件
  • 【分布式微服务云原生】如何在ActiveMQ中优雅处理提前支付的延时订单
  • MySQL高阶2066-账户余额
  • 小白必看web专题!AWVS漏洞扫描安装部署(全网最详细)
  • 消息队列RabbitMQ
  • overleaf的使用[12]:管理复杂文档结构