首页 > 技术 > 内容

基于StratixⅡEP2S30484C5芯片的乘除法和开方运算算法的实现

时间:2026-01-08  作者:Diven  阅读:0

1、引言

FPGA的开发应用中,大多数EDA软件(后面以altera QuartursII为例)都提供乘除法、开方运算的设计向导,或提供LPM宏函数,但普遍占用资源量大。而在许多信号处理应用中,要求计算精度高、资源敏感而计算时延要求并不高,这时我们需要保证计算正确且资源开销最低的FPGA实现方法,本文给出了实现乘除法、开方运算的FPGA串行实现算法,并与LPM宏函数进行了性价比比较。结果表明,本文给出的各算法计算准确,资源量远小于调用LPM宏函数。

2、算法描述

2.1、乘法

向左移位操作,那么乘积右移一位,相对而言可以认为乘数被放大两倍。可见Booth算法只采用加法、减法和右移操作便可计算补码数据的乘积。对乘数从低位开始判断,根据两个数据位的情况决定进行加法或减法运算,每次将乘积项向右移一位。

图1

实现结构如图1。可见,本算法将乘法转化为串行的加减和移位运算,从而节省了大量逻辑资源。

2.2、除法

除法计算我们采用经典的计算的方式,这种算法的实现思路清晰,实现的结构也很简单。我们首先介绍原码除法的实现。

设:A、B均为无符号数,A=1011,B=0011,求A/B。其计算如下图:

图2

其特点可归纳如下:

(1)、 每次比较余数(被除数)和除数的大小,确定商为1还是0;

(2)、 每做一次减法,保持余数不动,低位由被除数低位补进,再减去右移后的除数。

对于补码除法运算,为了简化中间判断过程,我们可以先将除数和被除数取模,然后按照原码的计算方法求出商和余数,再根据除数和被除数的符号对计算结果进行修正即可。由此可见,有符号除法包含了无符号除法的运算过程,所以我们这里也着重介绍有符号除法的计算过程。设:被除数(x)为56位,除数(y)为28位,考虑所有可能性,则商(q)取56位,余数(r)取28位。具体实现步骤如下:

(1)、56位余数移位寄存器shx=mod(x),28位余数寄存器reg=mod(y),被除数符号flagx=sign(x),除数符号flagy=sign(y), 29位余数移位寄存器shr=0,56位余数移位寄存器shq=0,k=112;

(2)、 若k为奇数, shr左移一位低位补shx最高位, shx左移一位低位补0;

若k为偶数,则 if shrelse shq左移一位低位补1,shr=shr-reg;

(3)、 重复步骤2,直到 ;

(4)、 结果修正(如表2)。

说明:最后需要根据A、D的符号和shQ、shR、regD的值对计算结果进行修正。修正方法如下表。

表2

本算法由于基于经典方式实现,思路清晰,同时全串行操作也很大程度上降低了资源量。

2.3、开方

非冗余算法是经典的开方算法,其基于如下计算:

图3

3、FPGA实现

我们在Altera公司的QuartusⅡ5.1软件环境下使用VHDL语言完成了上述各算法,并在StratixⅡEP2S30484C5芯片中实现。下面给出了各算法的资源消耗情况,并与IP_core作了比较(如表3)。

表3

可以看出本文中提出的算法对二进制数的乘除法以及开方占用资源很少,而且保证了计算精度;IP_core所用时间最短(输出时延可调),但占用逻辑单元随着位宽的增加急剧上升。由

此可见,当实际设计对逻辑单元使用要求不苛刻时,便可以使用IP_core,其设计简单且计算时

延小。若对逻辑单元使用有要求且对计算时延不敏感时,使用串行乘除法和开方是很好的选择。

4、结束语

本文给出了乘除法、开方运算的FPGA串行实现算法,与IP_core方法相比,本文中的算法占用逻辑单元少,但计算周期较长,实际应用中可以考虑采用流水线等改进办法,以进一步缩短计算周期。

猜您喜欢


保护电路安全尤为重要。自恢复保险丝凭借其自动断电保护和自动恢复功能,成为电路保护领域的热门选择。作为专业的照明品牌,LIANG MENG 亮盟照明在自恢复保险丝...
2020-09-08 04:52:30
隔离式放大器(带电源)在现代电子设备中是重要配件,其主要优势体现在以下几个方面。隔离式放大器能够有效防止地线干扰,确保信号传输的稳定性和准确性。这对于需要高精度...
2014-05-09 00:00:00
贴片电阻上的「4303」并不是直接表示阻值,而是采用数字编码表示法。其中,前两位数字「43」代表有效数字,后两位数字「03」代表10的幂次方。具体来说,「43」...
2024-11-26 11:29:58
贴片电阻一盘的数量并非固定值,它取决于多种因素,包括电阻的尺寸、包装方式以及制造商的标准。 一般来说,常见的贴片电阻包装方式有卷盘包装和散装包装。卷盘包装是目前...
2025-04-14 15:03:46
应用于光控开关、光强检测、自动调光等领域。在众多光敏电阻品牌中,KOA(兴亚)很好的品质和技术优势受到关注。本文将详细介绍KOA(兴亚)光敏电阻的品牌区别,帮助...
2016-02-11 01:27:02
电子产品中,瓷片电容常常被应用。很多人会问,代换的时候,是选择大一点还是小一点呢?本文将对此进行探讨。瓷片电容的作用瓷片电容是储存电能的元件。在电路中起到滤波、...
2025-03-25 06:00:03
不锈钢金属软管因其优良的耐腐蚀性、耐高温性和柔韧性,应用于多个领域。在化工行业中,被用于输送各种腐蚀性液体和气体,确保安全与稳定。在食品加工行业,不锈钢软管能够...
2008-06-30 00:00:00
微位移定位工作平台在光电子器件或集成电路加工以及生物医学等领域有着极其重要的作用。运用压电叠堆设计制造的微位移定位工作平台能提供大行程、大力矩、小体积和快速响应...
2021-08-10 15:40:00