为什么在verilog中要定义wire?

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 20:42:38
为什么在verilog中要定义wire?
xSn@P"JDAdJ9I(mE)`dl.?^?:uCS,kg3gfc8lhtYmRMgSԚ)tY9IWC5oh.N֩@.YQG0^:M|;PK#J>NeCܜ160{7[e9;ncMZ` %i#$&lBwq!$Lw^JDysm3;CZ4^\טl,jERF@/:sC!gz\xvMwiBr~.\Wpim ZԺcµZdh@y.OZX˦wnsdKhS T h>dY,%

为什么在verilog中要定义wire?
为什么在verilog中要定义wire?

为什么在verilog中要定义wire?
有几种情况变量需要定义成wire.
第一.assign 语句
例如:
reg a,b;
wire and_result;
...
assign and_result =a&&b;
你可以试试把wire定义成reg.综合器会报错.
第二.元件例化时候的输出必须用wire
例如:
wire dout;
ram u_ram
(
...
.out(dout)
...
);
wire按照国外的教材上面的定义:
wire为无逻辑连线.只做连线,wire本身是不带逻辑性的,所以输入什么输出就是什么.所以你尝试着用always语句对wire变量赋值.综合器就会报错.
那么你可能会问.assign c =a&&b不是就是对wire的赋值吗?
其实并非如此.综合器综合时将a&&b综合成ab经过一个与门.而c只是连接到与门输出的线.正真综合出与门的是&&.而不是c.