verilog - 如何使用 Vivado 原理图创建缓冲门?
问题描述
我是第一次使用 Vivado 学习 Verilog。我正在尝试用它创建简单的缓冲门。
这是我尝试过的代码。第一个是名为“inv.v”的设计源文件。
`timescale 1ns / 1ps
module inv(
input a,
output x
);
IBUF buffer(x, a);
endmodule
这段代码确实创建了缓冲门,但它创建了其中的 2 个。
我也试过下面的代码。
`timescale 1ns / 1ps
module inv(
input a,
output x
);
assign x = a;
endmodule
但是,这不会产生任何结果。我想要的是只创建一个缓冲门,如上图所示。有谁知道怎么做?
ps 我使用的是 Vivado 2017.3 HLx 版。
解决方案
有关 ibuf 和 obuf 原语的更多信息,请参阅 7 系列库指南。 https://www.xilinx.com/support/documentation/sw_manuals/xilinx2018_3/ug953-vivado-7series-libraries.pdf 这是链接中文件第 341 页左右的引用。
“一般来说,IBUF 是由综合工具推断设计的顶级输入端口的,因此没有必要在源代码中指定它们。但是,如果需要,可以通过从适当的库指南 HDL 模板并将其放入代码的顶层。
您的第一个示例是库指南中提到的实例化。对于您的第二个示例,没有组件实例,并且 Vivado 确定不需要缓冲区。
推荐阅读
- ios - SearchBar 没有将我的搜索返回到联系人
- angular - 使用 URL 或路径模式托管子域?
- django - 如何修复heroku“应用程序错误”,其中控制台错误“code = H14 desc =“没有运行Web进程”
- c - 在 C 中打印一个反转的字符串/数组
- python - 生成具有年增长率的未来数据框
- node.js - 批处理文件执行后如何自动关闭cmd窗口永久运行js后台?
- c# - 检索复合键表数据的 Linq 查询不成功
- javascript - 如何从 HTML 元素中获取换行符
- dji-sdk - 是否可以从其他 iOS 应用程序打开 DJI GO?
- python - 如何将高斯矩阵转换为概率矩阵