FPGA定点数截位的基本准则

时间:2025-04-28  作者:Diven  阅读:0

FPGA内部表示正负数,小数的规则。两者相比之下,定点数实现简单,表达更为直观,所以在很多时候FPGA通常使用定点数表示小数。但在各种运算下,定点数的位宽会不断增大,为了节省资源,这个时候必须进行取舍,进行一定的截位。

FPGA定点数截位的基本准则

截位的规则比较简单,但在FPGA内部使用。

在讲截位之前,我们需要了解FPGA定点数运算的扩位规则,规则如下:

两个有符号定点数相加减,位宽大的数需要扩展一位符号位,位宽小的数扩展符号位至两数位宽一致。然后再进行加减,防止溢出。

比如,两个数,A数m位,C数n位,m > n;

A在最高位补充一个符号位,位宽变为m+1; B在最高位补充符号位,使位宽变为m+1,A+C最终运算结果为m+1位;

两个无符号定点数相加减,位宽大的数需要扩展一位,扩展位为0,;然后再进行加减,防止运算结果溢出。

比如,1111 + 1 转变为:0 1111 + 1 = 1 0000;

A数m位,C数n位,m > n;

A在最高位补充一个符号位,位宽变为m+1; A+C最终运算结果为m+1位;

两个定点数做乘法,运算结果位宽为两数位宽之和。

A数m位,C数n位,m > n;

A*C最终运算结果为m+n位;

经过一次乘法运算后,结果比原来的数据位宽大了许多,一个系统往往不止一次乘法,为了节省资源,这里就引入了截位。截位不是随便截,截位的优先级如下:

首先截取数据符号位

前面的文章提到,符号位不影响数据的大小,只影响数据的正负,所以一个数据里面只需要有一个符号位即可;

两个有符号定点数相乘,符号位位数至少是乘数与被乘数的符号位数之和;这就说明了两个1位符号位的定点数相乘,结果里面至少有两位小数。

这个时候我们可以放心的截取掉最高位,因为这个数里面不止一位符号位;

数据的符号位

一个正常的有符号定点数的最高位一定是符号位,从高往低,与其变化一致的都是符号位,当一个数在最大的时候,有几位数据与最高位保持一致,数据就有几个符号位。

有符号定点数至少需要保持一位符号位,否则数据会失真。因此这意味着截取符号位的策略不能激进,需要保守。

截取低位数据

这一步弃车保帅,损失一部分精度节省资源;很好理解,舍弃低位数据相比舍弃高位数据损失精度会更小。

舍弃低位

图中框住的正是截位的过程,coef是一个位宽2W的值,截去了3位符号位,舍去了低W-3位数据。'2W-4-:W'运算符代表从2W-4位开始向下共W位数据。

截位还有些其作用,例如将某个数除8,可以将这个数的低三位截取,同时补充高三位的符号位,就达到了除8的作用。

例子:

0100 000 / 8 --> 0000 1000

原理是微机原理的知识,计算机内部的数据是二进制表达,左移一位数据代表数据乘以2,右移一位数据代表数据除以2;

猜您喜欢

EDDP适合哪些人?正在使用多芯片方案,但需要更高系统级性能 (例如用DSP实现实时控制,用微控制器实现更高层的功能这样的多芯片方案使用者,比如网络通信等);...
2018-04-13 16:48:00

贴片电阻通常采用数字或字母数字标记来表示阻值。对于三位数字标记,前两位数字表示有效数字,最后一位数字表示10的幂次方。例如,「472」表示47 × 10² Ω,...
2025-04-14 15:03:19

您是否想过,小小的手机如何能长时间待机?电动汽车如何高效利用电池能量?这些都离不开一种关键元件——电源管理IC。简单来说,电源管理IC就像电子设备的管家,负责管...
2024-04-16 00:00:00




你是否好奇过,电子设备是如何在不同的电压需求下正常工作的呢?这其中,负压电荷泵是很重要的配件。就像一个精密的电压转换器,能够巧妙地改变电压大小,为电子元件提供合...
2024-06-16 00:00:00

在现代办公环境中,文件盒是不可少的配件。不仅是存储文件的工具,更是提升工作效率的重要帮手。文件盒能够帮助我们有效分类和整理各类文件,无论是合同、报告还是日常文书...
2014-08-25 00:00:00


光电晶体管是能够将光信号转换为电信号的半导体器件,应用于光电探测、通信和信号处理等领域。工作原理基于光电效应,当光线照射到晶体管的敏感区域时,光子会激发半导体材...
2019-10-16 00:00:00