Verilog 错误:赋值左侧的对象必须具有可变数据类型

nin*_*alt 1 verilog intel-fpga

我正在尝试用 Verilog 编写一个顶级模块,每当传感器读取到低于特定数字的值时,该模块就会打开水阀。

这是我的代码:

module ProjectDSD(alteraClock, sensorInput, openValve);

input sensorInput, alteraClock;
output openValve;

always @(sensorInput)
begin

if(sensorInput < 100)       //sensor value to irrigate at
begin

openValve <= 1;  //here

end

else
begin

openValve <= 0;  //here

end
end    
endmodule
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:

赋值左侧的对象“openValve”必须具有可变数据类型

我缺少什么?另外,我可以在 Altera DE2-155 板上使用哪些引脚来输出仅 1 和 0 的数字信号,以便阀门打开/关闭?

EML*_*EML 5

s/输出 openValve/输出 reg openValve/

输出默认为wire;你需要一个reg。另请参阅这个问题。