FPGA把输入assign给输出 为什么有ibuf 和obuf

FPGA把输入assign给输出 为什么有ibuf 和obuf,第1张

放大IOBUF可以看到,IOBUF实际上由一个OBUFT和一个IBUF组成。

IBUF是输入缓冲器,这个不多说。OBUFT是三态输出缓冲器,其结构和真值表如下图所示,可以看到,当T为1时,输出是高阻态。当T为0时,输出与输入结果相同。

所谓高阻态:电路分析时高阻态可做开路理解。你可以把它看作输出(输入)电阻非常大。它的极限状态可以认为悬空(开路)。也就是说理论上高阻态不是悬空,它是对地或对电源电阻极大的状态。而实际应用上与引脚的悬空几乎是一样的。

我们想象一下,OBUFT为高阻态时相当于开路,那dinout3和IBUF组成的通路和一般的输入通路岂不是完全相同,所以此时可以当Input来用。

上面进行implementation,我们看dinout3实现的结果,可以看到IOBUF的IBUF和OBUFT以及相应的联结关系。OBUFT的TRI对应的是z3。IBUF的OUT对应的是led_r3_reg

使用vivado isim仿真的方法和过程如下:

1) 测试平台建立;

a) 在工程管理区点击鼠标右键,d出菜单选择New Source,d出界面; b) 输入文件名,选择Verilog Test Fixture,打钩add to project,单击NEXT;

c) 选择要仿真的文件,点击NEXT;

d) 点击“FINISH”,就生成一个Verilog测试模块。

ISE能自动生成测试平台的完整构架,包括所需信号、端口声明以及模块调用的实现。所需要完成的工作就是initial….end模块中的“//Add stimulus here”后面添加测试向量生成代码。

这里给出示例测试代码,将其添加于//Add stimulus here处

#100

SW = 7

#100

SW = 11

#100

SW = 13

#100

SW = 14

2) 测试平台建立后,在工程管理区将状态设置为“Simulation”;选择要仿真的文件名,

过程管理区就会显示“Isim simlator”;

3) 下拉“Isim simlator”,选择“Simulate Behavioral Model”,单击鼠标右键,现在“Process Properties”可修改仿真远行时间等。

4) 修改后,直接双击“Isim simlator”中的“Simulate Behavioral Model”进行仿真。

检查仿真结果是否达到预期设计目标。

Vivado设计套件,是FPGA厂商赛灵思公司2012年发布的集成设计环境。包括高度集成的设计环境和新一代从系统到IC级的工具,这些均建立在共享的可扩展数据模型和通用调试环境基础上。集成的设计环境——Vivado设计套件包括高度集成的设计环境和新一代从系统到IC级的工具,这些均建立在共享的可扩展数据模型和通用调试环境基础上。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11542591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存