0

我在 VHDL 中使用 IEEE 定点包。

它运作良好,但我现在面临一个关于它们在测试台中的字符串表示的问题:我想将它们转储到一个文本文件中。

我发现确实可以直接使用 ufixed 或 sfixed 编写:

write(buf, to_string(x)); --where x is either sfixed or ufixed (and buf : line)

但后来我得到像 11110001.10101 之类的值(对于 sfixed q8.5 表示)。

所以我的问题是:如何将这些定点数转换回实数(然后转换为字符串)?

4

1 回答 1

0

变量需要分成两个标准逻辑向量部分,整数部分可以使用标准转换转换为字符串,但对于小数部分,字符串转换有点不同。对于整数部分,您需要使用循环并除以 10 并将模余数转换为 ascii 字符,从低位到高位。对于小数部分,它还需要一个循环,但需要乘以 10 取地板并隔离该数字以获得相应的字符,然后将该整数减去小数等。这就是概念,有效在 MATLAB 中测试和制作 vhdl 版本,我将很快分享。我很惊讶在任何地方都没有找到这样有用的功能。当然定点格式可以改变 Q(N,M) N 和 M 可以有各种值,而对于浮点,

于 2017-02-23T23:04:07.433 回答