为什么在 verilog 代码中出现重新分配的语法错误?

Why do I get syntax error for reassignment in verilog code?

module test;
    reg[8:0] a;

    initial begin
        a= 4'b0001;
        a= 4'b0002;
    end
endmodule

我是 Verilog 的初学者。为什么第二个 a 赋值会出现语法错误?

不是重新赋值。

您正在使用基数 2:4'b,然后是数字 2。试试 4'b0010 :-)

Post 编辑:当变量是 9 位长时为什么要分配 4 位?