在简单赋值中未输出期望值



当我给一个有四位的变量赋值时,当我简单地输出值时,我会得到一个意外的结果。我以前从未见过这种情况,我想知道我是否在语法上做错了什么。

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;

最新更新