0

我正在尝试为 FPGA 综合生成一个 MIF 文件,我正在 Matlab 中进行编程来完成它。

我想要 IEEE 标准双精度浮点中从 -1 到 1 (-.9,-.8,-.7...1) 的数字,以便我可以将其写入 MIF 文件以在 Verilog 中使用。是否有任何 Matlab 函数可以轻松地做到这一点?感谢您提前提出任何建议。

4

1 回答 1

3

尝试这个:

oldFormat = get(0,'Format');
format('hex'); display( -1:0.1:1 );
format(oldFormat);

只有中线很重要。另外两个只是将您的格式恢复为以前的格式(默认为“短”)。我不确定输出是否符合 IEEE,但我怀疑它会。根据文档,这将显示“二进制双精度数的十六进制表示”。

如果您想将它们保存为字符串,您可以稍后使用 sprintf 和 format 打印%bx

x = -1:0.1:1;
for i = 1:length(x)
    vals{i,1} = x(i);
    vals{i,2} = sprintf('%bx',x(i));
    vals{i,3} = dec2bin(hex2dec(sprintf('%bx',x(i))),64);
end
display(vals(:,[1 2]));
display(vals(:,3));
于 2013-10-18T20:46:29.150 回答