[发明专利]高吞吐量低延时的单精度浮点数除法器设计方法在审
申请号: | 202111359140.4 | 申请日: | 2021-11-17 |
公开(公告)号: | CN113946311A | 公开(公告)日: | 2022-01-18 |
发明(设计)人: | 吕飞;陈建;程任翔;夏燕 | 申请(专利权)人: | 金陵科技学院 |
主分类号: | G06F7/487 | 分类号: | G06F7/487 |
代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 吕书桁 |
地址: | 210000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 吞吐量 延时 精度 浮点 法器 设计 方法 | ||
1.高吞吐量低延时的单精度浮点数除法器设计方法,其特征在于:包括有如下步骤:
步骤1:通过通用分段线性PWL使用适当的段数和分数比特宽度来满足预定义的最大绝对误差的要求:
用线性分段方式计算1/1.x的近似值,采用以下式子计算:
其中x是尾数;
斜率qs的小数位与其他数据qw的小数位宽度分开,其中qs<qw;
把qw和kw的值设置相同,预定义的最大绝对误差ep为6.8e-5;
步骤2:对戈德施密特算法进行改进,并执行一次改进之后戈德施密特算法迭代,线性分段运算结果Rp是1/1.x的近似值;
改进之后戈德施密特算法的递归方程为:
xi+1=xi(1+Ri)
Ri+1=Ri2
初始值为:
x0=A·app(l/B)
R0=1-B·app(1/B)
运算之后的初始值为:x0=1.y×Rp (2)
R0=1-1.x×Rp (3)
此时的改进后的结果为:
Rg=x0+x0×R0 (4)
步骤3:误差分析:
戈德施密特算法的误差可以表示为
1.x和1.y都属于该范围[1、2),所以戈德施密特的研究范围为:
戈德施密特迭代里,做两次四舍五入,引入了误差:x0<2,所以由于R0四舍五入操作引起的误差为
ed<2-qr (7)
由X0引起的Rd
ex<2-qr-1 (8)
所以Rd四舍五入引起的误差为
er<2-25 (9)
Rd的误差包含了(6)、(7)、(8)、(9)中的四个部分,它的范围表示为
且qr不小于26,ep大于2-13.5;
为了达到1ulp的精度,误差小于2-24,由于qx的值被设置为与qr相同,所以方程(9)应不大于2-24
步骤4:通过booth编码进行尾数除法:
通过线性分段将式(1)分成35段,通过34个加法器将分段器的输出与第2段到第34段的起点进行比较;通过比较器输出的符号选择输入x的相应段的斜率和y截距;根据-4booth编码规则生成五个部分积PPSp,由k的booth编码选择;斜率k包含8位;
计算PP1到PP5的和和y截距,采用压缩器将其压缩为两个结果;这两个结果通过加法器相加,得到PP1到PP5的和和y截距;加法器输出的截断结果是PWL部分Rp的结果;
由(2)到(4)执行戈德施密特算法的迭代;设xp=1.x·Rp,因为Rp近似为1/1.x,且误差小于6.8e-5,xp接近于1,xp的值可以用下式来表示:
其中i是分数部分,Xp0是整数部分的第一位,
此时,式(3)表示为
不论Xp0为1还是0,1-xp0=-xp0,(13)写为:
在计算基-8的1.x和1.y的部分积的加法器与计算Rp的加法器是同一个,
根据(2)和(14),部分积通过booth编码选择为R0,因此,PPSx和PPSy的选择组合在一起节省多路复用器;基数-8booth编码选择表,在(13)中对乘法结果求反,
步骤5:硬件电路中的舍入操作:
通过在第qr+1个分数位处加1并截断,成为qr个分数位;在部分积和中嵌入了加1的运算;
计算x0和R0的部分积树,Rp的二进制化为以下形式
S.S...SX...X
S为符号位,X为任意位,Rp保留一个符号位;
得到x0和R0,通过式(4)得到Rg,
计算x0与PPSx0的部分积,得到部分积PP1到PP5和x0,使其被压缩为两个结果,再通过加法器得到Rg。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金陵科技学院,未经金陵科技学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111359140.4/1.html,转载请声明来源钻瓜专利网。