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的正确使用。
热门推荐
白粥配蒸蛋:急性肠胃炎患者的营养调理首选
伤筋动骨100天,康复训练助你远离后遗症
揭秘“思诺思”:娱乐圈风波背后的安眠药真相
继汪小菲、张兰爆料再上热搜的思诺思是什么药?
揭秘“思诺思”:娱乐圈风波背后的安眠药真相
人工智能:锂电池技术创新“新风口”
六大隐患、六项措施:建筑工地消防安全指南
户口被注销怎么办?派出所申请恢复,半年可完成
户口注销有规定时限,未及时办理将影响家属权益
冬季装修后有害物质检测攻略
甲醛和VOCs,装修污染的两大“元凶”
新房除甲醛,光触媒+通风才是王道!
从预防到理赔:一文读懂交通事故赔偿风险管理
研究证实:冷冻保存不减东北酸菜营养价值
黑龙江推冬季旅游:赏冰雕、滑雪、品千年酸菜
东北酸菜保存有讲究:从传统坛储到现代冷冻技术
竹节虫:伪装大师的断肢再生与惊人食量
华师团队研究发现蟑螂可开发多种药物,具医疗价值
白糖是战略物资?除了吃,还能用来制作火箭推进剂?
二战时期德国的军事工业发展历程
从马斯克到扎克伯格:揭秘顶级成功者的时间管理术
春兰、蕙兰、建兰:如何栽培不同品种的兰花?
澳龙受阻,东南亚三国对华龙虾出口激增
守护山野精灵:中国兰花保护行动
元旦养兰指南:春兰、蕙兰、建兰怎么挑?
宋梅兰花收藏热,你心动了吗?
揭秘兰花抗病性:这些品种更耐茎腐病
沙棘对肝病到底有多大的好处?
过敏性紫癜进入高发期,专家详解症状预防与治疗
《请回答1988》:豆瓣9分神剧,你看了吗?