Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Verilog 在此上下文中,reg不是法律左值[6.1.2(IEEE)]_Verilog - Fatal编程技术网

Verilog 在此上下文中,reg不是法律左值[6.1.2(IEEE)]

Verilog 在此上下文中,reg不是法律左值[6.1.2(IEEE)],verilog,Verilog,我使用两个文件ncverilog,sell.v和selltest.v,其日志文件显示: `ncelab: *E,RANOTL (./selltest.v,6|36): A reg is not a legal lvalue in this context [6.1.2(IEEE)]. vendor vendor(NT5,NT10,clk,reset,cola,change); ncelab: *E,RANOTL (./selltest.v,6|43): A reg is not a lega

我使用两个文件
ncverilog
sell.v
selltest.v
,其日志文件显示:

`ncelab: *E,RANOTL (./selltest.v,6|36): A reg is not a legal lvalue in this context [6.1.2(IEEE)].
vendor vendor(NT5,NT10,clk,reset,cola,change);


ncelab: *E,RANOTL (./selltest.v,6|43): A reg is not a legal lvalue in this context [6.1.2(IEEE)].
ncverilog: *E,ELBERR: Error during elaboration (status 1), exiting.`


只有我的
selltest.v
供应商(NT5、NT10、clk、reset、cola、change);“
,我不知道发生了什么,我的部分程序如下所示

`timescale 1ns/1ns

module test_vendor;

reg NT5 , NT10 , clk , reset;

//wire cola , change;
reg cola , change;

vendor vendor(NT5,NT10,clk,reset,cola,change); 

您正在尝试将模块输出连接到
reg
。你不能那样做:你必须驾驶一个网络(例如,
wire
/etc)。有关端口连接规则,请参见2005 LRM中的12.3.9:

只有网或结构网表达式才应为 分配

这一切都在SystemVerilog中得到了清理,在这里,regs和wires之间的区别得到了纠正/澄清


“左值”可以出现在赋值(左值)的左边,也就是说,它可以被赋值,还有一个“接收器”。

参见有趣的博客。我个人会补充说,有一个旧的(被拒绝的)建议,即统一SV前的REG和wire,并且“连续分配”与重新拟合的delta延迟模型并不真正兼容,这可能使一些讨论变得毫无意义。啊-刚刚意识到-优秀的博客:)实际上,我写了
wire cola,change首先,但是日志文件说“在[9.3.1(IEEE)]中,网络不是一个合法的左值。所以我写
reg-cola,change
以改进此问题