如何使用更新的输入重用verilog中的实例化模块

时间:2013-07-31 06:37:33

标签: verilog

我有一个模块:

module abc(
  input  in1,
  input  in2,
  output in3
);

在另一个主模块中实例化该模块:

abc name_abc(in1, in2, out);

现在in1根据其他信号改变了。根据我的理解,实例化会创建一个逻辑块,现在我想使用已经创建但具有不同输入或更新输入的块。有没有办法在verilog中做到这一点?

我想做的是:

abc name_abc(in1_updated, in2, out);

1 个答案:

答案 0 :(得分:5)

输入是连续时间信号。模块实例化不是方法调用,而是不断执行逻辑,因此in1值的任何更改都将直接传递给实例name_abc

如果您的意思是使用相同的模块(硬件),但能够在2个数据流之间切换,则意味着在它前面有一个多路复用器。

wire   connect_to_abc_in;
assign connect_to_abc_in = (select) ? in1 : in1_alternative ;