为什么在verilog中要定义wire?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 01:07:35
为什么在verilog中要定义wire?

为什么在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.