Xilinx FPGA IBUFDS差分输入缓冲器详解:从原理到实战
创作时间:
作者:
@小白创作中心
Xilinx FPGA IBUFDS差分输入缓冲器详解:从原理到实战
引用
CSDN
1.
https://m.blog.csdn.net/qq_45910789/article/details/141898475
本文是一篇关于Xilinx FPGA中IBUFDS差分输入缓冲器的使用指南。文章详细介绍了IBUFDS的使用说明、实例化代码模板,并通过具体的使用示例和仿真结果,帮助读者更好地理解和掌握这一重要组件的使用方法。
前言
本文主要参考资料《Xilinx 7 Series FPGA and Zynq-7000 All Programmable SoC Libraries Guide for HDL Designs》(UG768,v14.7,2013年10月2日)。
一、原语使用说明
IBUFDS是一个支持低压差分信号的输入缓冲器,用于接收差分信号对(如LVDS),并将其转换为单端信号输出。它可以用于时钟信号、数据总线信号等。
差分输入:
IBUFDS
接受两个差分信号(差分信号正输入I和差分信号负输入IB)作为输入,并将其转换为单端输出(单端输出信号O)。
端口示意图如下:
逻辑表和端口描述:
I:差分信号的正输入;
IB:差分信号的负输入;
O:单端输出信号
I和IB端口信号极性相反,说明差分信号对正常工作,输入的差分信号有效。输出端口O输出0/1。
二、原语实例化代码模版
打开Vivado左侧导航栏中的"Language Templates",搜索“IBUFDS”,找到可直接调用的原语模块实例化代码
参数说明:
DIFF_TERM用于配置IBUFDS(输入差分缓冲器)或其他差分输入缓冲器的差分终端。
- "TRUE":启用差分终端。这会自动在差分输入端添加终端电阻,以减少信号噪声、反射并提高信号完整性。适用于需要高信号质量的应用场景。
- "FALSE":不启用差分终端。默认情况下不会添加终端电阻,通常用于对信号质量要求不高的应用或外部电路已经处理了终端匹配的情况。
-TERMIBUF_LOW_PWR用于控制缓冲器的功耗模式。
- "TRUE":启用低功耗模式。可以减少IBUFDS缓冲器的功耗,但低功耗模式通常会略微降低性能,但在大多数情况下,这种性能降低是微不足道的。
- "FALSE":启用最高性能模式。选择这个选项会使IBUFDS缓冲器以最高的性能运行,但功耗会增加。这个模式适合对性能要求很高的应用场景。
-IOSTANDARD用于指定IBUFDS的输入/输出标准。IOSTANDARD决定了信号的电平标准、驱动能力和信号的电气特性。
- "DEFAULT":使用FPGA工具默认的I/O标准。如果没有特别的要求,可以使用默认值较为通用的标准。
- 特定标准:根据实际应用需要,选择具体的I/O标准。具体的标准决定了电压电平和信号的兼容性。例如,"LVCMOS33"、"LVDS_25"、"HSTL_I"等。常见的I/O标准有LVCMOS (Low Voltage CMOS),"LVCMOS33"(3.3V CMOS标准)、"LVCMOS25"(2.5V CMOS标准)、"LVCMOS18"(1.8V CMOS标准);LVDS (Low Voltage Differential Signaling):"LVDS_25"(2.5V LVDS标准)、"LVDS_33"(3.3V LVDS标准)
三、使用示例
1.设计文件代码
module example_ibufds (
input wire rx_sysref_p, // 差分信号正输入
input wire rx_sysref_n, // 差分信号负输入
output wire rx_sysref // 单端输出信号
);
// IBUFDS 实例化
IBUFDS #(
.DIFF_TERM ("TRUE" ), // 启用差分终端以提高信号质量
.IBUF_LOW_PWR("TRUE" ), // 启用低功耗模式
.IOSTANDARD ("LVDS_25") // 指定 LVDS 2.5V I/O 标准
) IBUFDS_inst0 (
.O (rx_sysref ), // 缓冲器输出
.I (rx_sysref_p), // 差分正输入
.IB(rx_sysref_n) // 差分负输入
);
endmodule
2.仿真文件代码
`timescale 1ns / 1ps
module tb_example_ibufds();
// 测试平台中的信号定义
reg rx_sysref_p; // 差分信号正输入
reg rx_sysref_n; // 差分信号负输入
wire rx_sysref; // 单端输出信号
// 实例化 example_ibufds 模块
example_ibufds uut (
.rx_sysref_p(rx_sysref_p),
.rx_sysref_n(rx_sysref_n),
.rx_sysref(rx_sysref)
);
// 初始块,用于生成测试信号
initial begin
// 初始化信号
rx_sysref_p = 0;
rx_sysref_n = 1;
// 生成差分信号
#10;
rx_sysref_p = 1;
rx_sysref_n = 0;
#10;
rx_sysref_p = 0;
rx_sysref_n = 1;
#10;
rx_sysref_p = 1;
rx_sysref_n = 0;
#10;
rx_sysref_p = 0;
rx_sysref_n = 0;
#10;
rx_sysref_p = 1;
rx_sysref_n = 1;
#10;
rx_sysref_p = 0;
rx_sysref_n = 1;
#10;
rx_sysref_p = 1;
rx_sysref_n = 0;
#10;
$stop; // 停止仿真
end
endmodule
3.仿真结果
由于原文中没有提供仿真结果的具体图片或描述,因此这里无法展示仿真结果。建议读者根据上述代码自行进行仿真,以验证IBUFDS的正确使用。
热门推荐
白水晶手串:缓解焦虑的“随身良伴”
莫让“先享后付”变成“先坑后哭”
电商平台收货时间规定及延长指南
紫微星父母宫:命理学中的家族关系解析
春节拜年收红包:从汉代辟邪品到现代电子红包
春节抢网络红包要不要交个税?一文读懂相关规定
2024年国社科语言学热点趋势与选题建议(附词云图)
鲁迅故里的特色项目:感受文豪笔下的风情
尼格买提《你好生活》:分享健康小妙招,助力青年拥抱美好生活
尼格买提:40岁告别“小鲜肉”,用实力稳住央视地位
《开门大吉》收视爆棚,尼格买提能否成为央视门面?
尼格买提首主持那达慕,创新演绎草原盛会
送老师这些健康好物,他们一定会爱不释手!
教师节收礼惹争议,如何合规表达感恩?
感恩的心,感谢有你:2024年教师节感恩活动精彩回顾
教师节送礼攻略:既要走心,又要合规
教师节暖心祝福语大集合:从经典到创意,总有一款打动你
重大突破:计算机设计人造蛋白成功对抗新冠刺突蛋白
辛亥革命后的春节习俗大变脸!
高产平菇栽培技术
春节倒计时!教你快速算出你的生肖
十二生肖排序小窍门,过年必备!
科比坠机事故详细解读,从进入云层的那一刻他的命运就已经注定
莫文蔚:爱过周星驰,和冯德伦虐恋9年,出走半生,归来仍是顶流
莫文蔚:一个打破颜值至上局限的歌坛天后
莫文蔚国籍
乌尔善、韩鹏翼揭秘《封神第二部》:从西岐保卫战到全球上映
《封神第二部》春节档引爆文化市场!
在家也能搞定胳膊康复!这些训练超有效
脑梗患者如何快速恢复手臂功能?最新研究和康复方案全解析