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

Verilog:带有Reg的接口模块输入,verilog,Verilog,在以下代码中: wire a; reg b; assign a = b; ModuleName foo(a, other wire inputs, ... , wire outputs); 假设它们是顶级模块的一部分 我想运行一个always@block,但在这个模块中实例化的模块的输入中进行更改 always@(*) b = c^d; //Some Logic 问题是,它们是电线,不可能在LHS上总是@块。我是否可以更改b,并期望在a中看到它们,即模块foo的输入。是。每次更改b,a也会

在以下代码中:

wire a;
reg b;
assign a = b;
ModuleName foo(a, other wire inputs, ... , wire outputs);
假设它们是顶级模块的一部分

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

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

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

是。每次更改
b
a
也会更改。这就是
assign
语句所做的。记住这是硬件。声明

assign a = b;
表示“驱动
wire
a
以及
reg
b
始终具有的任何值”