一、基本概念
1、浮点数:小数点位置是不定的
2、定点数:小数点位置是固定的
二、Verilog表示定点数
FPGA的寄存器中只能表示正整数,通过定义最高位为符号位来表示有符号整数(signed)。带小数的定点数也可以通过约定小数点位置来表示。
三、浮点数定点化
以浮点乘法为例进行说明:
1、定点转换:约定小数点位置,即转成定点数要定义小数需求多少位,整数需求多少位,将浮点转为定点
2、定点数相乘:对1的结果进行相乘,得到中间结果
3、结果还原:对2的结果恢复成相应格式的结果
4、量化误差与量化精度:由于小数点位置的原因会引入误差,并且在定点转换过程中会进行四舍五入或去尾操作都会引入误差;量化精度随小数位增多二增加,最大量化精度为1/2^n
5、无损定点化:量化误差小于精度的一半可认为"无损";若“量化后直接去除小数”,那么小数大于 0.5 则不是无损的了。
参考资料:http://www.manongjc.com/detail/19-hziewrgpgsbllul.html