1

我可以在 always 块内使用电线吗?例如:

        wire [3:0]a;
        assign a=3;

        always @(c)
           begin
                d=a+c;
           end

它被编译而没有抛出任何错误。为什么?

4

1 回答 1

5

是的,您可以在 always 块中使用连线的值,只是不能在 always 或 initial 块中为连线分配值。

wire 和 reg 之间唯一真正的区别是分配值的语法。

在上面的示例中,d 也可以创建为线,它们是等效的:

reg [3:0] answer_reg;
always @* begin
  answer_reg = a + c;
end

wire [3:0] answer_wire;
assign answer_wire = a + c;
于 2013-02-28T06:06:48.660 回答