【FPGA】FPGA中的缓冲与驱动那些事
目录
转载说明
原文精彩片段
缓冲:
驱动:
转载说明
为解决问题而学习才是由效率的,今天重新看了以前的那个项目的Verilog HDL程序,到现在我还没有弄明白细节,只有慢慢蚕食。看到了这样一串程序:
generategenvar j;for(j=0;j<10;j=j+1): ibufds10begin IBUFDS ibufds_inst1(.I(ad1_bp[j]),.IB(ad1_bn[j]),.O(ad_data_b[j]));end
endgenerate
这都不是关键,我的注意点在于里面的那个IBUFDS,这个东西,说实话,我以前看FPGA的时候经常出现,我很头疼,不知道它到底是什么?我甚至今天还认为它是一个IP核,真是愚蠢至极!终于忍不住问了师兄,我记得之前他也和我讲过,看他的博客,可当时并没有特意去了解这个东西,时间也比较紧张,所以就没有侧重这东西。师兄说这是一个原语,并给我发了一篇它的博文,这才有点明白了。这里转载过来,以便查看。我看了一遍,觉得肯定不够,还得继续看下去,并且配合其他相关知识一起理解,这里也不禁感叹,同样是九年义务教育,为什么人家就这么优秀?
原文地址:【FPGA】FPGA的输入、输出、扇出的那些琐事
原文精彩片段
FPGA全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结构,从而使全局时钟到达芯片内部的所有可配置单元(CLB)、I/O单元(IOB)和选择性块RAM(Block Select RAM)的时延和抖动都为最小。
然后将那些原语分为两类:1 缓冲;2 驱动。
缓冲:
就是输入缓冲或者输出缓冲,这些缓冲主要用来片外输入时钟或者片外差分输入的信号处理,因为FPGA有对时钟的专门资源,同时也要保证时钟的精准,有效解决颤抖、延迟等问题,另外就是差分信号(包括差分时钟)进入片内之后不经过IBUFGDS、IBUFDS缓冲无法直接处理。另外对于时钟来说,时钟引脚的输入只能接IBUGDS缓冲器,IBUFG和IBUFGDS的输入端仅仅与芯片的专用全局时钟输入管脚有物理连接,与普通IO和其它内部CLB等没有物理连接。如果不用原语链接这两部分时钟信号无法到达芯片内部的CLB等资源,也就是无法使用。(补充:IBUGDS和时钟输入引脚为对应的,也就是IBUGDS的输入必须为时钟引脚,时钟引脚必须链接IBUFGDS。这段中IBUFGDS 也可以换成 IBUFG) 对了还有一个OBUFDS就是差分输出缓冲。
驱动:
驱动在时钟约束部分说过,当信号扇出过大是可以通过加BUFG来增加扇出,这里的BUFG就是全局缓冲,以BUFG为例,该原语的输入信号可以是IBUFGDS的输出也可以是逻辑信号的输出(内部信号),但是过一次BUFG有大约10ns的延时,但是通过BUFG之后输出到片内所有单元的延时可以忽略不计,另外一个典型的TTL逻辑门最多有10个扇出信号,而缓冲器可以驱动20到30个扇出信号,在这里可以理解为反相器,反相器一般情况下扇出较大。
一般情况下IBUFGDS+BUFG或者IBUFG+BUFG可配套使用,当全局时钟扇出较少的时候可以不加BUFG。
另外缓冲分为全局时钟缓冲和局部时钟缓冲,局部始终缓冲BUFH、BUFR,对于BUFH在Xilinx FPGA 学习笔记——时钟资源这篇文章中有写,可移步查看。(虽然我没用过局部时钟缓冲)另外在例化PLL或者MMCM这种时钟IP核时,要对输入输出时钟的类型进行选择,大家可以看到有BUFG和BUFH的下拉选项。
IBUFDS、IBUFGDS和OBUFDS都是差分信号缓冲器,用于不同电平接口之间的缓冲和转换。IBUFDS 是差分输入的时候用,OBUFDS是差分输出的时候用,而IBUFGDS则是时钟信号专用的输入缓冲器。
IBUFDS是一个输入缓冲器,支持低压差分信号(如LVCMOS、LVDS等)。在IBUFDS中,一个电平接口用两个独特的电平接口(I和IB)表示。一个可以认为是主信号,另一个可以认为是从信号。主信号和从信号是同一个逻辑信号,但是相位相反。
IBUFDS instance_name (.O (user_O),
.I (user_I),
.IB (user_IB));
OBUFDS是一个输出缓冲器,支持低压差分信号。与IBUFDS对应:
OBUFDS instance_name (.O (user_O),
.OB (user_OB),
.I (user_I));
IBUFGDS是一个连接时钟信号BUFG或DCM的专用的差分信号输入缓冲器。在IBUFGDS中,一个电平接口用两个独立的电平接口(I和IB)表示。一个可以认为是主信号,另一个可以认为是从信号。主信号和从信号是同一个逻辑信号,但是相位相反。
IBUFGDS instance_name (.O (user_O),
.I (user_I),
.IB (user_IB));
原文链接:【FPGA】FPGA的输入、输出、扇出的那些琐事
【FPGA】FPGA中的缓冲与驱动那些事相关推荐
- FPGA开发中全局复位置位(GSR)
最近几天读了Xilinx网站上一个很有意思的白皮书(white paper,wp272.pdf),名字叫<Get Smart About Reset:Think Local, Not Globa ...
- vivado中bit文件怎么没有生成_「干货」FPGA设计中深度约束技巧及调试经验总结...
今天跟大家分享的内容很重要,也是我们调试FPGA经验的总结.随着FPGA对时序和性能的要求越来越高,高频率.大位宽的设计越来越多.在调试这些FPGA样机时,需要从写代码时就要小心谨慎,否则写出来的代码 ...
- FPGA开发中全局复位置位(GSR)简介
最近几天读了Xilinx网站上一个很有意思的白皮书(white paper,wp272.pdf),名字叫<Get Smart About Reset:Think Local, Not Glo ...
- FPGA基础知识极简教程(5)什么是锁存器以及如何在FPGA开发中避免生成锁存器?
博文目录 写在前面 正文 什么是D锁存器? 锁存器是如何生成的? 如何避免生成锁存器? 参考资料 交个朋友 写在前面 个人微信公众号: FPGA LAB 个人博客首页 注:学习交流使用! 本文我们将讨 ...
- (130)FPGA面试题-FPGA设计中波特率和比特率的区别
1.1 FPGA面试题-FPGA设计中波特率和比特率的区别 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-FPGA设计中波特率和比特率的区别: 5)结束 ...
- (139)FPGA面试题-FPGA设计中的速度和面积互换原则
1.1 FPGA面试题-FPGA设计中的速度和面积互换原则 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-FPGA设计中的速度和面积互换原则: 5)结束 ...
- 防止FPGA设计中综合后的信号被优化
这不是一个新话题了,写这个也是当作自己的一个小小的笔记吧!觉得挺有用的. 一般在做前仿真(即功能仿真)时,不会考虑信号被优化的问题.最近做一个关于运算的小程序,前仿真的数据没有问题,但是实际出来的数据 ...
- FPGA设计中,产生LFSR伪随机数
今天给大侠带来在FPGA设计中,产生LFSR伪随机数,话不多说,上货. 一.概述 通过一定的算法对事先选定的随机种子(seed)做一定的运算可以得到一组人工生成的周期序列,在这组序列中以相同的概率选取 ...
- FPGA设计中,Vivado 调用IP核详细操作步骤
FPGA设计中,Vivado 调用IP核详细操作步骤 今天给大侠带来了FPGA设计中,Vivado 调用IP核详细操作步骤,话不多说,手把手教学,请往下看. 首先咱们来了解一下vivado的IP核,I ...
最新文章
- 幸运数字Ⅱ(树型结构构造答案,打表)难度⭐⭐
- 无法嵌入互操作类型 请改用适用的接口。
- Linux下MySQL链接被防火墙阻止
- EOS 源代码解读 (2)插件-插件模板
- npm 删除依赖包_前端开发,npm会了吗?
- kafka 集群_单机版kafka集群部署
- leetcde-27-移除元素
- java解压gz文件
- scala创建并使用Enumerations
- java velocity详解_[velocity] velocity详解
- 计算机用户被锁定如何解除,win10账户被锁定了怎么解除
- 某程序员10个月时间做了30个私活单子,纯收入40万?
- 2020魔幻“商战”:抢公章、发黄图、半夜翻工厂...最烂的小说都不敢这么写
- 大型网站技术架构(三)架构核心要素
- python递归查找值返回_python – 从树递归中返回值列表
- 个人比较喜欢的一个故事,与大家分享一下
- 认识HTML与CSS
- C语言应该增加交换值的关键字或语法
- r语言导出文件为xlxs_【软件】R语言数据导入与导出
- 如何用计算机判断直角三角形,三角形角度(直角三角形懒人计算器)
热门文章
- DropDownList--下拉菜单
- python print函数用法_Python3.2中Print函数用法实例详解
- linux不识别ntfs分区,WinUbuntu下linux无法挂载NTFS格式分区问题的解决
- python是结构化语言_NLP是如何工作的:把自然语言(尽可能)结构化
- 2018全国计算机考试报名入口,北京2018年3月全国计算机等级考试报名入口
- oracle中间件微信公众号,对TP5.1中间件融合微信公众号代码的优化
- Java设计模式(装饰者模式-组合模式-外观模式-享元模式)
- 2021年春季学期-信号与系统-第十五次作业参考答案-第二小题参考答案
- 整流电路对应的阻抗是多少?
- MAX487制作RS485总线接口模块