Floating point $在控制台中显示浮点数字
我试图在模拟过程中显示IEEE 754单精度浮点数字。我正在使用$display()并尝试在ModelSim和我的控制台(在Mac上使用Icarus Verilog)中打印号码。到目前为止,我最好的尝试是:Floating point $在控制台中显示浮点数字,floating-point,verilog,ieee-754,Floating Point,Verilog,Ieee 754,我试图在模拟过程中显示IEEE 754单精度浮点数字。我正在使用$display()并尝试在ModelSim和我的控制台(在Mac上使用Icarus Verilog)中打印号码。到目前为止,我最好的尝试是: wire [31:0] out; wire signed [200:0] conv = -1**(out[31]) * (1'b1 + (out[22:0] * 2'b10**($signed(8'b11101001)))) * 2'b10**(out[30:23] + $signed(8'
wire [31:0] out;
wire signed [200:0] conv = -1**(out[31]) * (1'b1 + (out[22:0] * 2'b10**($signed(8'b11101001)))) * 2'b10**(out[30:23] + $signed(8'b10000001));
$display("The number is %f", conv);
转换的宽度是任意大的。对于1100000110011101000010000110000,上述内容将打印出-16.000000。我已经确定符号和指数部分起作用了,但是尾数乘以2^-23,正好是0。真正的答案应该是-19.628998
你知道我错过了什么吗?这在Verilog中可能吗?谢谢 如果我没弄错的话,你想要的是:
wire [31:0] out;
$display("The number is %f", $bitstoreal(out));