FPGA中定点数的处理方法

时间:2025-05-02  作者: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

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

猜您喜欢

温度检测与控制在各行各业中的重要性日益凸显。作为温度传感器中的关键元件,NTC热敏电阻凭借其灵敏度高、响应快等特点,成为众多温度测量方案的首选。ROYALOHM...
2013-03-08 07:19:12

外六角自攻钉是常见的紧固件,应用于建筑、机械、电子等领域。头部呈外六角形状,便于使用扳手或钳子进行紧固,提供了良好的扭矩传递能力。自攻钉的特点在于其尖锐的螺纹设...
2009-07-07 00:00:00

饰面板是应用于家居和商业空间的装饰材料,主要用于墙面、天花板和家具的表面处理。根据材质和功能的不同,饰面板可以分为以下几类。木质饰面板是最常见的,通常由天然木材...
2013-09-20 00:00:00

贴片发光二极管(SMD LED)是应用于电子设备中的光源,由于其体积小、亮度高、功耗低等优点,越来越受到消费者的青睐。在实际应用中,如何正确判断贴片发光二极管的...
2025-04-10 10:00:03

随着科技的不断发展,绿色发光二极管(LED)已成为现代照明和显示技术的重要组成部分。相较于传统照明方式,LED具有高效、环保、寿命长等优点。很多用户在使用绿色L...
2025-04-06 02:01:38

接地编织带是重要的电气连接材料,其主要作用是确保设备的安全接地。通过将设备与地面有效连接,接地编织带能够防止静电积聚和电气故障,降低设备损坏风险。还可以有效地保...
2017-08-16 00:00:00

航空剪是专门用于航空领域的工具,主要用于剪切金属、塑料和复合材料等材料。设计理念是为了满足航空制造和维护中的高精度要求。航空剪通常采用高强度材料制成,具备轻巧、...
2021-11-18 00:00:00


你是否曾对着电路板上一颗颗小小的贴片电阻感到困惑,它们身上的数字和字母究竟代表什么?其实,国内贴片电阻的命名规则并不复杂,只需掌握几个关键点,就能轻松解读。一般...
2024-11-26 11:29:29

开关锁具是现代化的安全解决方案,具有多项显著优势。开关锁具操作简便,用户只需轻轻一按或轻触即可完成开锁,省去传统钥匙的繁琐,特别适合忙碌的现代生活。许多开关锁具...
2017-12-11 00:00:00