当我给一个有四位的变量赋值时,当我简单地输出值时,我会得到一个意外的结果。我以前从未见过这种情况,我想知道我是否在语法上做错了什么。
module main;
reg [3:0] x;
initial
begin
$monitor("%b",x);
x=0010;
end
endmodule
我得到了1010
的输出。然而,我期望得到0010
的输出。
Verilog将您的数字解释为十进制,因为您没有指定基数。Verilog代码中的数字0010
为十进制十(10(,即二进制格式的1010
。CCD_ 5与CCD_。您需要添加一个二进制基说明符。更改:
x=0010;
至:
x='b0010;