Verilog中,如何实现一个module调用另一个module中的reg变量?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Verilog中,如何实现一个module调用另一个module中的reg变量?相关的知识,希望对你有一定的参考价值。

参考技术A 不能调用,只能拉到各自输入输出口再连接。 参考技术B module A ;
reg a;
endmodule
module top;
wire b;
A u_A();
assign b = u_A.a; // 这就是你要的

verilog 初始化十进制数组

有一个十进制的数组2 5 2 3 6 5 4 2 1 2,在verilog中用什么方式存储,想用这个数组中的数据作索引,怎么调用,怎么办?
有一组十进制数组是从txt文档中读取的(matlab处理过导出的),我想把那个数组作一个模块的输入,verilog怎么读取,然后怎样处理再作为输入?
(这个十进制数组能不能作为一个模块的输入,怎么从txt中读取这个数组?)

好吧,我承认我声明的时候有错误,楼下的也不必骂人吧。

对楼主问题补充的回答
先写个tb,在tb里调用一个ram的module,同时$readmb();语句把文件的数读到一个寄存器里,再把这个寄存器作为ram的data输入就行了。
参考技术A 定义成参数可以么。例如
parameter a0=4'd2;
parameter a1=4'd5;
parameter a2=4'd2;
parameter a3=4'd3;
parameter a4=4'd6;
parameter a5=4'd5;
parameter a6=4'd4;
parameter a7=4'd2;
parameter a8=4'd1;
parameter a9=4'd2;
这样有点麻烦哦,不过我觉得好像可以满足要求了。。。等待高手有更好的方法。。。
参考技术B 楼上脑残 ,储存器声明应该为 reg[2:0]array[9:0]

以上是关于Verilog中,如何实现一个module调用另一个module中的reg变量?的主要内容,如果未能解决你的问题,请参考以下文章

verilog的module中怎样循环调用另外几个module?

verilog中如何调用另一个module里面的task?include有用吗?我试了没成功,望高人解答

verilog 模块端口说明

如何编写一个基本的 Verilog Module(模块)

9.Verilog端口定义以及模块例化和调用

verilog中在同一模块中调用其他多个模块,模块是顺序执行的吗