[发明专利]一种可编程器件的除法功能实现方法有效
申请号: | 201711204143.4 | 申请日: | 2017-11-27 |
公开(公告)号: | CN107992284B | 公开(公告)日: | 2022-12-23 |
发明(设计)人: | 郭凡;周坚锋;孔渊;李少光;康健斌;童歆;曲国远 | 申请(专利权)人: | 中国航空无线电电子研究所 |
主分类号: | G06F7/535 | 分类号: | G06F7/535 |
代理公司: | 中国航空专利中心 11008 | 代理人: | 王迪 |
地址: | 200233 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 可编程 器件 除法 功能 实现 方法 | ||
1.一种可编程器件的除法功能实现方法,其特征在于,包括以下步骤:
1)当接收除数X和被除数Y后,除数X和被除数Y为32位2进制有符号、数量级为16位且小数也为16位的定点数,对被除数Y进行判断,Y为零时,返回结果零和无异常状态码,当除数X为零时,则返回最大表示值和除零错误状态码;
2)对除数X和被除数Y进行正负判断,计算结果正负;除数X和被除数Y为32位有符号数,最高位为符号位;通过判断符号位确定除数X和被除数Y为正数或者负数;当除数X和被除数Y同为正数或者负数时结果为正,否则结果为负;
3)求取除数X和被除数Y的绝对值;在前一步判断出除数X和被除数Y为正数或负数,当Y为正数或0,其绝对值|Y|=Y,当Y为负数,其绝对值|Y|=0-Y,当X为正数,其绝对值|X|=X,当X为负数,其绝对值|X|=0-X;
4)对除数的绝对值|X|与被除数的绝对值|Y|进行归一化处理,计算有效数字及指数,得到|X|的有效数字X1和指数a,|X|=X1*2a,得到|Y|的有效数字Y1和指数b,|Y|=Y1*2b;对|X|和|Y|的逐位进行判断,得到|X|和|Y|的数位为1的最高位位置n,n为小于31的整数,记sign=n-12为数据指数,并对sign≤14的数据进行左移26-n位,对sign14的数据进行右移n-26位,经过移位后得到有效数字X1和Y1,其中有效数字高16位为整数位,低16位为小数位,有效数字X1和Y1在[210,211)区间;
5)将除数有效数字X1拆分为整数位与小数位之和,即X1=a+x,其中a={X1[31:16],16’h0000},x={16’h0000,X1[15:0]},a代表有效数字整数,x代表有效数字小数位;设定求倒数函数1/X1=f(x)=1/(a+x),可以采用插值算法对f(x)进行拟合,公式如下:
其中整数a在[210,211)区间,(a+1)在(210,211]区间,通过查找预先存储在存储器模块中的1/1024~1/2048倒数表,令a对应1/1024~1/2048倒数表中的序号,获得1/a和1/(a+1)的二进制36bit定点数;倒数表中记录1/1024~1/2048的有效数字,设定指数为-40,即1/a=table(a)*2-40,table(a)为倒数表中a对应的倒数;采用容量为(211-210)*36bit,在存储器模块内选取36kbit的存储空间;采用1/1024~1/2048倒数表查找a和a+1的倒数,通过公式1计算出除数有效数字的倒数1/X1,由于整数位为0,取小数为56位的定点数;
6)将被除数的有效数字Y1与除数的有效数字的倒数1/X1通过乘法器相乘,得到数量级为16位且小数也为56位定点数乘法结果Z1,得到Z1=Y1/X1;
7)对除数与被除数的指数a、b进行比较,当ba时,将Z1向左移b-a,当a≤b时,将Z1向右移a-b,得到结果的绝对值|Z|;通过对在第2步中取得除法结果的正负符号进行判断,结果符号为正时,结果Z=|Z|,结果符号为负时,结果为Z=0-|Z|。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空无线电电子研究所,未经中国航空无线电电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711204143.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多变量可控钻孔温度实验台
- 下一篇:一种测试范围可调的电极装置