我有一个模块:
module abc(
input in1,
input in2,
output in3
);
在另一个主模块中实例化该模块:
abc name_abc(in1, in2, out);
现在in1根据其他信号改变了。根据我的理解,实例化会创建一个逻辑块,现在我想使用已经创建但具有不同输入或更新输入的块。有没有办法在verilog中做到这一点?
我想做的是:
abc name_abc(in1_updated, in2, out);
答案 0 :(得分:5)
输入是连续时间信号。模块实例化不是方法调用,而是不断执行逻辑,因此in1
值的任何更改都将直接传递给实例name_abc
。
如果您的意思是使用相同的模块(硬件),但能够在2个数据流之间切换,则意味着在它前面有一个多路复用器。
wire connect_to_abc_in;
assign connect_to_abc_in = (select) ? in1 : in1_alternative ;