verilog例化顶层双向io口如何连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了verilog例化顶层双向io口如何连接相关的知识,希望对你有一定的参考价值。

两个模块之间的双向io口如何在顶层里连接,只用wire不行

参考技术A 直接连顶层的inout端口,不用连wire 参考技术B inout io_data;
reg out_data;
reg io_link; //IO口方向控制
assgin io_data = io_link ? out_data : 1'bz
你看看这个吧追问

这个模块里有写,在顶层时用wire变量将两个io连接编译过不了

追答

你把你的程序代码贴出来看看

本回答被提问者和网友采纳

verilog 中顶层模块实例引用多个模块时端口怎么连接

verilog 中顶层模块实例引用多个模块时端口怎么连接

1、首先,在项目上右键,点击New Source创建新的代码文件。

2、选择User Document创建自定义的文本文件。

3、创建好后,在下方切换到Files面板,双击打开该文件。

4、数据文件写好后,就要编写Verilog测试模块读取该文件并对模块进行测试了。

5、双击打开该文件,我们看到待测试模块输入对应了一些reg寄存器类型,输出部分对应了一些wire类型。

6、如图是程序自动生成的实例化和连接待测模块的代码。

7、下方控制台输出了由$display函数指定的信息。

注意事项:

Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。

参考技术A

1、首先,在项目上右键,点击New Source创建新的代码文件。

2、选择User Document创建自定义的文本文件。

3、创建好后,在下方切换到Files面板,双击打开该文件,按照自己喜欢的形式输入数据。

4、数据文件写好后,就要编写Verilog测试模块读取该文件并对模块进行测试了。在项目上右键,点击New Source,接着选择Verilog Test Fixture,输入文件名并继续,选择待测模块,接着创建文件。

5、编写以下代码。

6、在仿真模式下运行仿真,效果如图。

参考技术B 假定sub_module1和sub_module2是已经定义好的两个子模块,top是顶层。
那么子模块之间的连接可以之间用wire连接。顶层的输入输出也用wire连接进到子模块中。这是一般的,当然也有特殊的,比如双向IO等。

module top(in1,out1);
input in1;
output out1;

wire a;
wire b;

sub_module1 u_sub1(
.a(a),
.b(b),
.d(in1)
);

sub_module2 u_sub2(
.a(a),
.b(b),
.e(out1)
);

endmodule本回答被提问者采纳
参考技术C 直接例化就可以,端口用wire型

以上是关于verilog例化顶层双向io口如何连接的主要内容,如果未能解决你的问题,请参考以下文章

verilog 中顶层模块实例引用多个模块时端口怎么连接

verilog模块例化

Verilog中实例化子模块的问题!

verilog中模块例化的问题

如何用verilog语言在fpga中实现双向数据总线?

脚本推荐-verilog自动对齐