verilog模块例化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了verilog模块例化相关的知识,希望对你有一定的参考价值。

我在电路中设计了2个子模块,2个子模块中用到了1个相同的输出端口dir(245芯片数据流向控制)
module md1(
....
output dir;
...
);
module md2(
....
output dir;
...
);

module top(
....
output dir;
...
);
顶层模块例化时提示,
which fans out to "dir",cannot be assigned more than one value
是不是我这种方法是错误?烦请各位高手指点,谢谢了!

不能用同一个输出端口,可以这么思考:你在顶层模块中要例化某个输出端口,而此输出端口是从属于两个不同模块的,所以无法区分到底是例化哪个模块。也就是出现了歧义。建议把两个模块的输出端口改成不同的名字。追问

把md1,md2的dir输出端口名字分别改为dir1,dir2还是有这个错误!

追答

这个应该是和你的设计细节有关了,因为你给的信息不多,所以暂时分析不了太多的原因。

参考技术A 顶层模块也要改成两个输出啊
如果是共用要加个复用器

verilog中模块例化的问题

我想把计时器模块的reg型的输出Q3Q2Q1Q0输给下一个模块的数码管的输入译码,该怎么实现啊?比如说计时器输出0001,那数码管就接受到这个然后显示1。

参考技术A 在顶层用wire 实现跨模块传输

以上是关于verilog模块例化的主要内容,如果未能解决你的问题,请参考以下文章

verilog简单例化问题

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

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

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

Verilog里数组是怎么在例化中传递到下一模块的?

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