我的问题:当我为具有四位的变量分配一些值时,仅输出值会得到意外的结果。我以前从未见过这种情况,想知道我是否在语法上做错了什么。
module main;
reg [3:0] x;
initial
begin
$monitor("%b",x);
x=0010;
end
endmodule
我得到的输出1010
。但是,我希望得到的输出0010
。任何帮助表示赞赏!
由于未指定底数,因此Verilog会将数字解释为十进制。数量0010
在你的Verilog代码是十进制的十(10),这是1010
二进制格式。x=0010
与相同x=10
。您需要添加一个二进制基本说明符。更改:
x=0010;
至:
x='b0010;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句