[发明专利]一种平方根功能实现方法在审
申请号: | 201711206106.7 | 申请日: | 2017-11-27 |
公开(公告)号: | CN107977587A | 公开(公告)日: | 2018-05-01 |
发明(设计)人: | 郭凡;崔亮;李少光;周坚锋;廖科;胡尧 | 申请(专利权)人: | 中国航空无线电电子研究所 |
主分类号: | G06G7/16 | 分类号: | G06G7/16;G06G7/20 |
代理公司: | 中国航空专利中心11008 | 代理人: | 王迪 |
地址: | 200233 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 平方根 功能 实现 方法 | ||
技术领域
本发明涉及信息处理和微电子领域的处理电路,具体地说,涉及一种平方根计算器的设计和实现方法。
背景技术
在信息处理中,经常会涉及到平方根或者平方根倒数运算,如图形处理中点对应圆型区域的参数计算。在使用可编程器件进行复杂的信息处理时,由于平方根计算器难以在可编程器件上实现,因此经常需要打断平行处理环节,将数据送回CPU处理后再进行后续处理,严重影响了处理效率。如果发明一种适合当今主流可编程器件实现的耗用逻辑资源少的平方根计算器,能够显著提高相关处理的效率。
本发明针对该问题,提出了一种通过查找表和插值相结合的平方根计算器方案,适合于当今主流的可编程器件实现。一个32位平方根计算器,使用少量硬件乘法器模块、片上存储器模块和逻辑资源,对于当前主流的FPGA来说,资源耗用不超过5%。
发明内容
本发明目的在于提供一种适合于当今主流可编程器件实现的平方根计算器方案,为使用可编程器件实现涉及平方根运算的信息处理提供支持。
一种平方根功能实现方法,包括以下步骤:
1)当接收数据X后,对X进行判断,X为负数时,返回错误代码;
2)对参数X进行归一化处理,计算有效数字及指数,得到X的有效数字X1和指数a,X=X1*2a,其中X1范围要求在[1/4,1)区间,a要求为偶数;
3)X1的平方根计算使用查表与插值相结合的方法,通过查找预先存储在存储器模块中的平方根查找表,X1高N位用于计算平方根查找表索引查找表项中与相邻的值作为插值系数,低M位作为尾数,移位到[0,1)区间作插值变量进行插值计算,其中M+N为X1的总位宽;
将有效数字X1拆分为高位数字b与低位数字x之和,即X1=b+x,其中b={X1高N位数字,M位0},x={N位0,X1低M位数字},设定求平方根函数可以采用插值算法对f(x)进行拟合,公式如下:
根据b的数据位宽选用平方根查找表,其中b在[0,2N]区间内,通过查找预先存储在存储器模块中的平方根查找表,令b对应平方根查找表中的序号,获得和的二进制定点数,通过公式1计算出有效数字的平方根公式1中乘法运算使用乘法器实现;
4)平方根的指数计算,平方根指数即为a/2,其中a为偶数,a/2为整数;
5)对有效数字的平方根进行指数恢复:a小于0时,对进行右移|a/2|位得到结果,a大于0时,对进行左移|a/2|位得到结果,其中|a/2|为a/2的绝对值。
以768表项为例,高11位用于计算查表索引,查找获取表项中与相邻的值作为插值算法的各项系数,然后将剩余低位移位到[0,1)区间作为插值变量,完成X1平方根的插值计算。有效数字平方根计算完成后进行平方根的指数计算,因为平方根指数即为a/2,通过移位计算可完成a/2计算。最后对有效数字的平方根进行指数恢复a/2后得到最终的平方根运算结果输出,完成X的平方根运算。
附图说明:
图1为本发明的流程示意图。
具体实施方式:
参阅图1,本发明的一种平方根功能实现方法,包括以下步骤:
1)当接收数据X后,对X进行判断,X为负数时,返回错误代码;
2)对参数X进行归一化处理,计算有效数字及指数,得到X的有效数字X1和指数a,X=X1*2a,其中X1范围要求在[1/4,1)区间,a要求为偶数;
3)X1的平方根计算使用查表与插值相结合的方法,通过查找预先存储在存储器模块中的平方根查找表,X1高N位用于计算平方根查找表索引查找表项中与相邻的值作为插值系数,低M位作为尾数,移位到[0,1)区间作插值变量进行插值计算,其中M+N为X1的总位宽;
将有效数字X1拆分为高位数字b与低位数字x之和,即X1=b+x,其中b={X1高N位数字,M位0},x={N位0,X1低M位数字},设定求平方根函数可以采用插值算法对f(x)进行拟合,公式如下:
根据b的数据位宽选用平方根查找表,其中b在[0,2N]区间内,通过查找预先存储在存储器模块中的平方根查找表,令b对应平方根查找表中的序号,获得和的二进制定点数,通过公式1计算出有效数字的平方根公式1中乘法运算使用乘法器实现;
4)平方根的指数计算,平方根指数即为a/2,其中a为偶数,a/2为整数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空无线电电子研究所,未经中国航空无线电电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711206106.7/2.html,转载请声明来源钻瓜专利网。