我使用的是IEEE定点软件包的VHDL。
它工作得很好,但我现在面临着一个关于它们在测试台中的字符串表示的问题:我想把它们转储到一个文本文件中。
我发现确实可以使用以下命令直接编写ufixed或sfixed:
write(buf, to_string(x)); --where x is either sfixed or ufixed (and buf : line)但是我得到了像11110001.10101这样的值(对于固定的q8.5表示)。
所以我的问题是:如何将这些定点数字转换回实数(然后再转换为字符串)?
发布于 2017-02-24 07:04:07
需要将变量拆分为两个标准逻辑向量部分,整数部分可以使用标准转换转换为字符串,但对于小数部分,字符串转换略有不同。对于整数部分,您需要使用循环并除以10,然后将模余数转换为ascii字符,从较低的数字到较高的数字累积。对于小数部分,它也需要一个循环,但需要乘以10,取底并隔离此数字以获得相应的字符,然后将该整数用于减去小数,等等。这是概念,在MATLAB中工作,以测试和制作一个vhdl版本,我很快就会分享。我很惊讶在任何地方都找不到这样有用的函数。当然,定点格式可以改变Q(N,M) N和M可以有各种各样的值,而对于浮点,它是标准化的。
https://stackoverflow.com/questions/16318865
复制相似问题