在总是阻止内部使用电线?

时间:2013-02-28 01:17:15

标签: verilog digital-logic

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

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

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

编译时没有抛出任何错误。为什么呢?

1 个答案:

答案 0 :(得分:5)

是的,你可以在always块中使用wire的值,你只是不能在always或initial块中为wire赋值。

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;