假设您有一个带符号的32位数字,其分数长度为16位。也就是说,前16个MSB是整数部分,其余(16 LSB)是分数部分。在verilog中是否有一种方法可以在基数10中显示这个数字,以便更容易读取小数。
例如:
<00> 0000 0000 0000 0001 1000 0000 0000 0000应显示为1.5
我正在使用Xillinx。我已经在线查看,但我还没有找到办法。
答案 0 :(得分:1)
Use $itor
integer to real to cast your binary pattern (integer). and use 2.0
(a real, not 2 an integer) to the power of (**
) -16, the number of fractional bits:
module tb;
initial begin
$display("%g",$itor(32'b01_1000000000000000) * 2.0**-16);
end
endmodule
On EDA Playground.