有关VERILOG语言模块中端口数据类型问题,菜鸟求解。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关VERILOG语言模块中端口数据类型问题,菜鸟求解。相关的知识,希望对你有一定的参考价值。

从模块内部来讲,输入端口必须为线网数据类型,这句话引自书本,可是为什么有的输入端口还可以用reg定义,例如reg reset,set 求解。

输入端口既可以是线网,也可以是寄存器。
输出端口必须是线网,不能是寄存器。
双向IO既可以当输入,也可以当输出,但一般只在最顶层(最外层)模块使用双向IO。
个人观点,仅供参考。
参考技术A 一般都是input output 或inout 3种
在modelsim仿真时才用reg wire作为输入输出端口
因为仿真并没有真正的接口,只是虚拟的,不能用input output

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语言模块中端口数据类型问题,菜鸟求解。的主要内容,如果未能解决你的问题,请参考以下文章

verilog模块中各个变量的类型怎么确定

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

verilog 模块端口说明

模块调用端口的连接规则

模块和端口

Verilog语言注意事项