System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于FPGA进行除法操作的方法、装置及其应用制造方法及图纸_技高网

一种基于FPGA进行除法操作的方法、装置及其应用制造方法及图纸

技术编号:39947104 阅读:5 留言:0更新日期:2024-01-08 23:00
本发明专利技术公开了一种基于FPGA进行除法操作的方法、装置及其应用。其中,基于FPGA进行除法操作的方法包括:S1、获取二进制表示的被除数和除数,获取的被除数和除数包括符号位、整数部分和小数部分;S2、根据被除数和除数的符号位异或结果得到商的符号位;S3、通过首次运算得到第一数据项,通过设定次数的迭代运算得到每次迭代对应的第二数据项,使得第一数据项与各第二数据项累加不断逼近商值,并在迭代结束将累加值作为商值;S4、结合S2得到的商的符号位和S3得到的商值得到商。本发明专利技术通过多步运算求解商的逼近值,精度高,且迭代次数越多,计算结果越准确。

【技术实现步骤摘要】

本专利技术涉及数据信号处理,具体涉及一种基于fpga进行除法操作的方法、装置及其应用。


技术介绍

1、现场可编程阵列(fpga)是一种广泛应用的可编程器件,采用fpga实现数字信号处理的方法应用越来越广泛,而在数字信号处理中,除法运算在某些控制过程中是必不可少的,fpga除法运算是指在fpga芯片上实现除法运算的过程。现有的fpga除法运算主要分为三类:

2、1、移位相减除法器;该除法器主要算的是商和余数,利用任意一个是十进制整数可以表示为二进制数的形式,根据二进制左右移位相当于对2的乘除的原理,进行移位后进行运算得到正确的商和余数,但是其无法精确的求解出小数点后几位的商;

3、2、倒数乘法代替除法;主要利用a×b=c,则a=c/b=c×(1/b)的特性,提前把1/b算出来,存到ram或者rom中。后续根据b的实时值,查表得到1/b,再与c相乘,便得到a;一般情况下如果b的数值变化范围过大,则1/b的范围也过大,需要大量的存储空间来存储1/b的数值,因此占用的逻辑资源多。

4、3、fpga厂家集成的除法器ip核;该方案直接调用厂家的除法器ip核即可,一般情况下,厂家集成的ip核迭代时间过长,资源占用过大,对工程实践不友好。


技术实现思路

1、专利技术目的:针对上述不足,本专利技术提出一种计算结果精度高、占用fpga资源少的基于fpga进行除法操作的方法、装置及其应用。

2、技术方案:

3、一种基于fpga进行除法操作的方法,包括:

4、s1、获取二进制表示的被除数和除数,所述被除数和除数包括符号位、整数部分和小数部分;

5、s2、根据被除数和除数的符号位异或结果得到商的符号位;

6、s3、通过首次运算得到第一数据项,通过设定次数的迭代运算得到每次迭代对应的第二数据项,使得第一数据项与各第二数据项累加不断逼近商值,并在迭代结束将累加值作为商值;

7、所述首次运算根据被除数和除数的整数部分的位宽差进行移位运算得到第一数据项;所述迭代运算中,每次运算对除数的小数点进行设定移位运算得到第二数据项;

8、s4、结合s2得到的商的符号位和s3得到的商值得到商。

9、具体地,所述设定移位运算包括:

10、每次运算对除数的小数点进行设定移位,结合前一次得到的中间值与被除数的大小得到第二数据项;

11、其中,将前一次得到的中间值与对应第二数据项相加得到当前中间值,第1次迭代所对应的前一次得到的中间值为所述首次运算得到的第一中间值,该第一中间值通过所述第一数据项与除数相加得到。

12、更具体地,所述每次运算对除数的小数点进行设定移位,结合前一次得到的中间值与被除数的大小得到第二数据项包括:

13、设定移位为每次运算对除数的小数点左移设定位,设定位与当前迭代次数一致,据此得到对应的数值,结合前一次得到的中间值与被除数的大小对对应的数值取正负得到对应的第二数据项。

14、进一步地,所述s结合前一次得到的中间值与被除数的大小对对应的数值取正负包括:

15、若被除数大于前一次得到的中间值,则对对应的数值取正,反之取负。

16、具体地,所述迭代运算的设定次数根据所述商值的精度要求确定。

17、具体地,所述s3中,所述首次运算根据被除数和除数的整数部分的位宽差得到第一数据项包括:

18、若被除数的整数部分的位宽比除数的整数部分的位宽多m位,则将除数的小数点右移m位,则对应的第一数据项为+2m;反之将除数的小数点左移m位,对应的第一数据项为+2-m。

19、具体地,所述s1中,fpga按照时序获取被除数、除数及对应的指示信号,其中指示信号为数据有效信号,当获取得到被除数有效信号、除数有效信号同时为高电平,则认为获取的被除数与除数有效,除法运算开始执行。

20、更具体地,所述s4中,在得到商后,所述fpga将商的有效信号拉至高电平,并输出商。

21、本专利技术还提供一种基于fpga进行除法操作的装置,包括:

22、获取单元,用于获取二进制表示的被除数和除数,所述被除数和除数包括符号位、整数部分和小数部分;

23、符号判断单元,用于根据获取单元获取的被除数和除数的符号位的异或结果得到商的符号位;

24、运算单元,根据被除数和除数的整数部分的位宽差得到第一数据项,将所述第一数据项与除数相加得到第一中间值,并以第一中间值为基础,通过设定次数的迭代运算得到每次迭代对应的第二数据项,使得第一数据项与各第二数据项累加不断逼近商值,并在迭代结束将累加值作为商值;

25、所述迭代运算中,每次运算对除数的小数点进行设定移位,结合前一次得到的中间值与被除数的大小得到第二数据项;

26、其中,将前一次得到的中间值与对应第二数据项相加得到当前中间值,第1次迭代所对应的前一次得到的中间值为第一中间值;

27、结果处理单元,获取运算单元得到的商值,结合符号判断单元得到的商的符号位得到商。

28、本专利技术还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被执行时实现如前述方法的步骤。

29、本专利技术还提供一种除法器,包括:存储器和至少一个处理器;

30、所述存储器中存储有至少一个计算机程序;

31、所述至少一个计算机程序被执行时实现如前述方法的步骤。

32、有益效果:本专利技术通过多步运算求解商的逼近值,精度高,且迭代次数越多,计算结果越准确。且本专利技术多步迭代的每一步操作简单,耗时少,因此本专利技术整体运算耗时更少。同时被除数和除数所占用的资源也很少,因此fpga资源开销较少。

本文档来自技高网...

【技术保护点】

1.一种基于FPGA进行除法操作的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述设定移位运算包括:

3.根据权利要求2所述的方法,其特征在于,所述每次运算对除数的小数点进行设定移位,结合前一次得到的中间值与被除数的大小得到第二数据项包括:

4.根据权利要求3所述的方法,其特征在于,所述S结合前一次得到的中间值与被除数的大小对对应的数值取正负包括:

5.根据权利要求1所述的方法,其特征在于,所述迭代运算的设定次数根据所述商值的精度要求确定。

6.根据权利要求1所述的方法,其特征在于,所述S3中,所述首次运算根据被除数和除数的整数部分的位宽差得到第一数据项包括:

7.根据权利要求1所述的方法,其特征在于,所述S1中,FPGA按照时序获取被除数、除数及对应的指示信号,其中指示信号为数据有效信号,当获取得到被除数有效信号、除数有效信号同时为高电平,则认为获取的被除数与除数有效,除法运算开始执行。

8.根据权利要求7所述的方法,其特征在于,所述S4中,在得到商后,所述FPGA将商的有效信号拉至高电平,并输出商。

9.一种基于FPGA进行除法操作的装置,其特征在于,包括:

10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述计算机程序被执行时实现如权利要求1~8任一项所述方法的步骤。

11.一种除法器,其特征在于,包括:存储器和至少一个处理器;

...

【技术特征摘要】

1.一种基于fpga进行除法操作的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述设定移位运算包括:

3.根据权利要求2所述的方法,其特征在于,所述每次运算对除数的小数点进行设定移位,结合前一次得到的中间值与被除数的大小得到第二数据项包括:

4.根据权利要求3所述的方法,其特征在于,所述s结合前一次得到的中间值与被除数的大小对对应的数值取正负包括:

5.根据权利要求1所述的方法,其特征在于,所述迭代运算的设定次数根据所述商值的精度要求确定。

6.根据权利要求1所述的方法,其特征在于,所述s3中,所述首次运算根据被除数和除数的整数部分的位宽差得到第一数据项包括:

【专利技术属性】
技术研发人员:熊文海韩志敏
申请(专利权)人:佗道医疗科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1