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

为什么在verilog代码中重新分配时会出现语法错误?,verilog,register-transfer-level,Verilog,Register Transfer Level,我是Verilog的初学者。为什么第二次a赋值出现语法错误?这不是重新赋值 您使用的是基数2:4'b,然后是数字2。试试4'b0010:-) 后期编辑:当变量长度为9位时,为什么要分配4位?这不是重新分配 您使用的是基数2:4'b,然后是数字2。试试4'b0010:-) 编辑后:当变量的长度为9位时,为什么要分配4位 module test; reg[8:0] a; initial begin a= 4'b0001; a= 4'b0002;

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

这不是重新赋值

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


后期编辑:当变量长度为9位时,为什么要分配4位?

这不是重新分配

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

编辑后:当变量的长度为9位时,为什么要分配4位

module test;
    reg[8:0] a;

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