0
我试图在模拟过程中显示一个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'b10000001));
$display("The number is %f", conv);
转换的宽度只是任意大。对于11000001100111010000100000110000,以上将打印出-16.000000。我已经确定了符号和指数部分的工作,但是尾数乘以2^-23,就是0。真正的答案应该是-19.628998。
任何想法我失踪?这在Verilog中甚至可能吗?谢谢!