FPGA中定点数的处理方法

时间:2025-06-13  作者:Diven  阅读:0

FPGA中最常用的还是定点化数据处理方法,本文对定点化数据处理方法进行简要探讨,并给出必要的代码例子。

FPGA中定点数的处理方法

1、一般扩位原则:

1) 加减法运算:扩位位宽=ceil(log2(加法个数))

如:两个加法扩1位,三个四个加法扩2位…

2)乘法运算:结果扩位位宽=两个乘数位宽的和

如:15bit数与14bit相乘结果位宽应为29bit。

3)除法运算:结果扩位位宽=被除数位宽与除数位宽的差

扩位时对于有符号数,高位扩展时扩展符号位,对于无符号数高位扩展时直接补零。因为有符号数高位是符号位,扩位补零会将负数扩展为错误的正数,而无符号数没有符号位,对位最高bit为1的无符号数,扩展符号位同样会导致数据异常。

符号位扩展:

2、高位截位,分为饱和截位和直接截位:

1)高位直接截位,直接抛掉高位保留低位,在确认信号不会溢出的模块使用直接截位的方法,节省资源;

2)高位饱和截位:对计算后的数据进行判断,如果超出位宽,正数输出为最大值,负数输出为最小值;判断方法就是看高位是否完全相同。

3、低位截位:

1)直接截位:功率计算等统计模块会使用,数字信号处理中不会使用,因为这种方式,频域会出现直流。

2)四舍五入:如下所示,上一篇文章中说了数据的表示(FPGA数字信号处理之数据的表示),看一看到对于补码,verilog中只针对负数的0.5进行特殊处理即可。

代码如下,代码中会判断信号是否是-n.5,进行处理。

3)近似四舍五入,对于真四舍五入来说,对-0.5的判断逻辑较为复杂,而且有的数据处理对-0.5的要求也不高,此时可以采用近似四舍五入的方法,之前的代码中最常出现的就是这种处理方式:

可以看到这种处理方式下-0.5的值是偏大的。

另外,要注意上一篇文章中多次提到的IEEE 754浮点数标准里面,对于浮点数取整的规定如下

1.就近舍入Round to nearest (even)

2. 向零舍入(Truncate)

3.朝正无穷舍入Round up (toward +∞)

4.朝负无穷舍入Round down (toward −∞)

python等默认使用的就是 就近舍入Round to nearest (even) 处理方法,python中的计算结果为:

round(0.5)= 0

round(1.5)=2

这一点大家做算法时要注意一下。

猜您喜欢

独石电容是电子元件中重要的部分。在电路中起到储存电能的作用。本文将介绍独石电容的几个特点,帮助大家更好理解。小型化独石电容通常体积小。可以在狭小空间内使用。这样...
2025-03-23 01:00:02

总线转UART的主要优势体现在多个方面。提供了灵活的通信方式,使得不同设备之间能够高效地进行数据交换。通过总线转UART,系统可以实现多种协议的兼容,降低了设计...
2008-01-25 00:00:00

681贴片电阻代表阻值为680欧姆的电阻器。贴片电阻上的数字编码遵循一定的规则,通常采用三位数字表示法。前两位数字表示有效数字,最后一位数字表示10的幂次方。因...
2024-11-29 10:26:15

一般来说,贴片电阻拆下来后不建议继续使用。主要原因如下:拆卸过程中的损伤: 贴片电阻体积小巧,拆卸时容易受到机械应力、高温等影响,导致电阻值发生变化,甚至造成内...
2024-11-29 10:25:52

合金电阻作为电子元件中的重要组成部分,应用于各种电子设备中。合美电机(HERMEI)作为国内知名的电阻制造品牌,其合金电阻产品凭借优良的性能和稳定的质量,赢得了...
2019-01-14 19:32:50

研究背景随着交通运输的快速发展和汽车数量的激增,交通安全问题日益受到关注。根据统计数据,人类因素如嗜睡、疲劳等每年导致美国约10万起交通事故,严重影响了公众的...
2025-01-02 18:14:00

防寒手套主要优势有哪些?随着寒冬的到来,防寒手套成为人们生活中不可少的保暖装备。防寒手套采用高科技材料,具有优良的保温性能,能够有效抵御寒风侵袭,保持手部温暖。...
2008-07-27 00:00:00


水晶头,又称RJ45接头,是网络布线中不可少的组成部分。主要用于连接以太网线,确保数据传输的稳定与高效。水晶头采用透明塑料材料制成,内部有八根金属针脚,负责将信...
2012-01-08 00:00:00

贴片电阻断裂是一种常见故障,精准检测断裂原因很重要。以下几种方法结合使用,能有效提高检测准确性:目视检查: 使用放大镜或显微镜观察电阻表面,查找是否存在明显的裂...
2024-11-29 10:26:07