FPGA中定点数的处理方法

时间:2025-08-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

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

猜您喜欢

热电偶温度传感器因其高精度、高稳定性和良好的抗干扰能力而受到广泛应用。然而,在使用过程中,热电偶也可能会出现一些故障,影响测量结果的准确性。一、热电偶温度传感器...
2024-12-06 09:33:00

空调板贴片电阻的尺寸选择对于电路的正常运行至关重要。过大或过小的电阻尺寸都可能影响电路性能,甚至导致故障。选择合适的尺寸需要考虑多种因素,包括功率、精度和安装空...
2025-04-14 15:03:54

当今工业和制造领域,精确的尺寸和高效的材料是确保产品质量和性能的关键。PM_19.5X6MM_TM是一种在特定应用中广泛使用的标准尺寸,具有独特的优势和特性。本...
2025-02-24 09:45:59

现代电子技术中,热敏电阻作为一种重要的温度传感器,应用于家电、汽车、医疗设备等领域。NTC(负温度系数)热敏电阻以其高灵敏度和良好的线性特性受到青睐。特别是在广...
2025-03-19 00:30:03

独石电容在电子电路中常见。的优点很多,但也有缺点。本文将探讨独石电容的一些不足之处,以帮助大家更好地理解的局限性。成本较高独石电容的制造成本高。相比其电容器,的...
2025-03-21 09:31:07

贴片电阻体积小,无法像传统电阻一样印上阻值等信息。因此,发展出了多种标识方法来标注其参数,主要有三位数字码、EIA-96代码和字母数字码等。这些标识方法的主要作...
2024-11-29 10:26:37

大电流电解电容是电子设备中常用的元件。放电过程是非常重要的。放电不当可能会导致设备损坏。本文将介绍大电流电解电容的放电方法。放电准备工作放电之前,首先要准备好工...
2025-03-19 09:31:07

随着现代电子设备的复杂性和性能要求不断提高,DCDC开关电源布局的重要性日益凸显。作为电源管理系统中的核心组件,DCDC开关电源不仅影响着设备的整体运行效率,还...
2024-10-28 00:00:00

贴片电阻上的数字和字母,其实就是的身份证,代表着的阻值大小。一般来说,我们会遇到三种主要的标记方式:1. 三位数字标记法: 这是最常见的标记方式。前两位数字表示...
2024-11-29 10:25:35

贴片电阻上的「123」标识并非直接代表阻值,而是采用一种数字编码方式来表示。这种编码被称为三位数代码或EIA-96标准。「123」中,前两位数字「12」代表有效...
2024-11-26 11:29:49