Verilog中1和1'b1之间的差异

Yas*_*ath -1 embedded verilog system-verilog iverilog

在verilog代码中仅给出1和给出1'b1有什么区别?

Old*_*art 5

1是32位宽,因此等于 32'b00000000_00000000_00000000_00000001

1'b1有点宽。


在几个地方,您应该意识到长度的差异,但是最容易引起您注意的地方是串联。 {}

reg [ 7:0] A;
reg [ 8:0] B;
   assign A = 8'b10100101;
   assign B = {1'b1,A};  // B is 9'b110100101
   assign B = {1,A};     // B is 9'b110100101
   assign B = {A,1'b1};  // B is 9'b101001011
   assign B = {A,1};     // B is 9'b000000001 !!!!
Run Code Online (Sandbox Code Playgroud)