当我将一些值分配给具有四位的变量时,当我简单地输出该值时,我会得到意想不到的结果。我以前从未见过这个,想知道我是否在语法上做错了什么。
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;
to:
x='b0010;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)