Verilog:带有 Reg 的接口模块输入



在下面的代码中:

wire a;
reg b;
assign a = b;
ModuleName foo(a, other wire inputs, ... , wire outputs);

假设它们是顶级模块的一部分。

我想运行一个always@块,但在此模块中实例化的模块的输入中进行更改。

always@(*) b = c^d; //Some Logic

问题是,它们是电线,不能在always@块中的LHS上。我可以对b进行更改并期望在a中看到它们,即模块 foo 的输入。

是的。每次你改变ba也会改变。这就是assign声明的作用。请记住,这是硬件。声明

assign a = b;

意思是"用regb永远拥有的任何价值驱动wirea"。

最新更新