首页 > 技术 > 内容

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

时间:2025-12-03  作者: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方法相比,本文中的算法占用逻辑单元少,但计算周期较长,实际应用中可以考虑采用流水线等改进办法,以进一步缩短计算周期。

猜您喜欢


公文包是专为携带文件、笔记本电脑及其办公用品而设计的包具。通常采用高质量的材料,如皮革或帆布,既耐磨又具备一定的防水性能。公文包的外形多为方形或矩形,简约而不失...
2025-03-17 00:00:00
温度保险丝作为保障电路安全的重要元件,受到了越来越多厂商和用户的关注。RMZZ作为知名的温度保险丝品牌,高品质的产品性能和多样的分类体系,赢得了市场的认可。本文...
2022-06-27 15:49:30
丝锥套件是机械加工中不可少的工具,种类和规格各异,适用于不同的加工需求。根据用途的不同,丝锥套件可分为手动丝锥和机用丝锥。手动丝锥适合小规模加工,操作简单,而机...
2013-08-20 00:00:00
线性稳压器作为一种常见的电源管理元件,在电子设备中是很重要的配件。当需要更换线性稳压器时,选择合适的替代品显得尤为重要。本文将为您提供一份简明易懂的指南,帮助您...
2024-06-16 00:00:00
什锦锉是常用的手动工具,应用于金属加工、木工和模型制作等领域。主要参数包括锉的长度、宽度、粗糙度和材质。通常,什锦锉的长度从150毫米到300毫米不等,适合不同...
2022-04-11 00:00:00
汽车保险丝在保护车辆电路安全方面有着着非常重要的作用。曼宣作为汽车保险丝行业的知名品牌,凭借其高品质产品和多样化的分类赢得了广大用户的认可。本文将围绕“曼宣汽车...
2021-10-10 11:29:30
插件电阻作为常见的基础元件,应用于各种电子设备中。捷比信(Jiebixin)作为国内知名的电子元器件品牌,其插件电阻产品因品质稳定、性能优良而受到市场青睐。本文...
2014-02-17 12:59:30
保险丝是非常重要的配件,而台邦一次性保险丝凭借其独特优势,在市场中占据了一席之地。本文将深入探讨台邦一次性保险丝的特性及其在多个行业中的应用,帮助您全面了解这一...
2023-12-17 00:46:30
薄膜电阻作为基础且关键的元件,应用于各种电子设备中。顺络(Sunlord)作为国内知名的薄膜电阻品牌,高品质的产品性能和良好的市场口碑,成为众多电子工程师和采购...
2022-10-28 18:58:53
锗整流二极管是重要的半导体器件,应用于电子电路中,特别是在低频和低功率应用中。与硅整流二极管相比,锗整流二极管在某些特定条件下表现出更好的性能,如在低电压和高频...
2025-04-08 06:01:07