[发明专利]一种高速自定义浮点复数除法器有效
申请号: | 201710286559.9 | 申请日: | 2017-04-27 |
公开(公告)号: | CN107133012B | 公开(公告)日: | 2020-06-16 |
发明(设计)人: | 余莉;韩方剑;黄少冰 | 申请(专利权)人: | 湖南省瞬渺通信技术有限公司 |
主分类号: | G06F7/487 | 分类号: | G06F7/487 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 410007 湖南省长*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种基于FPGA的高速自定义浮点复数除法器的设计方法。基本原理是将复数除法操作转换成实数除法操作,并利用乘法迭代中除数倒数迭代过程的独立性,对实部和虚部并行进行除法运算,同时得到商的实部和虚部。技术方案包括:第一步,利用自定义浮点乘法单元和加法单元计算除数、被除数的实部和虚部;第二步,并行计算实部和虚部的除法;第三步:标准格式化输出。本发明利用FPGA的高速流水线结构,实现自定义浮点复数除法器,在满足高精度的同时,还节省了大量的资源消耗,提高了运算速度。 | ||
搜索关键词: | 一种 高速 自定义 浮点 复数 法器 | ||
【主权项】:
一种高速自定义浮点复数除法器,其特征在于,包括下述步骤:第一步,利用自定义浮点乘法单元和加法单元计算除数、被除数的实部和虚部;以计算A=a×c+b×d来说明计算过程。将参与运算的自定义浮点数定义为a=Man(a)×2Exp(a),Man(a)为尾数部分,Exp(a)为指数部分;自定义浮点乘法单元将相应乘数的指数用基本加法单元作相加运算,尾数用基本乘法单元作相乘运算;用这种方法分别得到a×c和b×d,作为基本加法器的输入;然后对基本加法器的和进行高位截取,将截取后的指数和尾数部分进行格式化操作,得到的结果即为A的指数和尾数;所述的格式化操作,是指首先对待格式化数值的指数和尾数部分对齐并调整好时序;接着,计算尾数中的符号位个数,同时从指数部分减去符号位个数作为格式化后的指数输出,而尾数部分则根据符号位个数进行左移操作,得到的结果就是格式化后的指数和尾数;第二步,并行计算实部和虚部的除法;步骤(一),对除法输入的操作数进行预处理:将操作数中的尾数部分取绝对值,并对相应的指数进行相减操作,相应的符号位进行异或操作;同时,在该阶段中,需对异常情况进行判断,如判断除数是否为0等情况;步骤(二),采用查找表操作计算除数倒数近似值1/B:进行除数倒数近似值的查表操作,将查表所得的结果应用于步骤(三),并对其余输入数作相应的延时操作;本发明利用ROM实现直接查找表方式,设计的查找表大小为:Table Size=2n×m (1)采用中点倒数法,表中每一项对应的值如下等式:其中,floor(·)表示向下取整,d等于0.1d1d2...dn,表的输入索引值为d1d2‑...dn,当m=n+g,g=0,1,2,3时,则输出的倒数的最小精度表示如下:步骤(三),复数除法操作实现:对其余输入数作相应时间对齐操作后,进行以下迭代过程:NA,i+1=NA,i×FB,i NC,i+1=NC,i×FB,i (4)DB,i+1=DB,i×FB,i (5)FB,i+1=2‑DB,i+1 (6)其中A和C分别表示被除数的实部和虚部,B表示除数;Ni和Di的初始值分别为被除数和除数的尾数部分,Fi的初始值则为除数倒数的近似值;Fi分成了尾数和指数两部分,其中尾数部分的初始值是2倍除数的倒数近似值,即查表所得的结果,同时,指数部分相应地变成整数1;将虚部和实部同时并行进行求解,同时只利用一次除数的倒数值;由于自定义浮点格式设计的因素,需引入指数计算;同时在这个过程中进行乘法器设计时,积的位宽为乘数位宽之和再减去1;第三步,标准格式化输出:将前面得到的结果进行格式化,再将得到的商格式化成标准格式,然后根据对异常情况判断的结果以及相应符号位异或得到的结果,来判断格式化后的数值,并进行输出操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南省瞬渺通信技术有限公司,未经湖南省瞬渺通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710286559.9/,转载请声明来源钻瓜专利网。