为什么非法引用网络“ portA”

时间:2018-12-05 23:28:45

标签: verilog system-verilog

为什么会出现此错误?

这是我尝试为inout导线分配值的时间。 我该如何解决?

module test (portA,enable,InNotOut)
input enable , InNotOut ;
inout portA ;
always @ (enable)
begin
if (InNotOut)
portA = 8'bzzzz_zzzz; 
end
endmodule

1 个答案:

答案 0 :(得分:0)

在您的情况下,输入Request["AUTH_USER"]portAnet。只能使用wire语句(或通过连接到输出端口)来分配导线。

我不确定您要如何处理您的代码,但是在任何情况下它看起来都不正确。您最有可能需要以下总线分配:

assign

由于端口是电线,它不能存储值,并且必须始终被驱动,因此需要assign portA = (enable && InNotOut) ? someValue : 'z; 。这样,如果启用条件关闭,它将以someValue或高阻抗值驱动总线。

在SV中,您可以仅使用someValue来用'z'分配所有位。