用纯组合电路实现除法计算的电路的制作方法

文档序号:6441954阅读:505来源:国知局
专利名称:用纯组合电路实现除法计算的电路的制作方法
技术领域
本发明涉及一种除法电路,特别是涉及一种用纯组合电路实现除法计算的电路。
背景技术
除法是数字信号处理中常用的一种运算,目前通用的除法电路的硬件实现是用移位减的电路来实现的,这样从开始计算到最后出结果需要N个时钟周期,其中N为被除数的比特数。在一些数据带宽很高且大量用到除法的算法中,这样的执行周期数使得该除法电路要求很高的时钟频率,而这样的时钟频率也许并不是模拟前端所能够提供的。

发明内容
本发明要解决的技术问题是提供一种用纯组合电路实现除法计算的电路,在实现除法算法时,能够降低所要求的时钟频率。为解决上述技术问题,本发明的用纯组合电路实现除法计算的电路,包括:—归一化模块,其输入是除数b,其一输出端输出归一化了的除数,记为b’;另一输出端输出除数b归一化到b’时的右移位的位数,记为s ;用于将输入除数b的输入范围归一化到一次分段函数模块及查找表模块的输入范围内;—分段一次函数模块,其输入端与所述归一化模块的一输出端相连接,输入归一化了的除数b’,其输出记为c ;用于计算I除以归一化了的除数b’这个运算的大致结果,以节约查找表模块所需的存储空间;—查找表模块,其输入端与所述归一化模块的一输出端相连接,输入归一化了的除数b’,其输出记为d ;用于记录存储I除以输入除数b的结果与所述分段一次函数模块输出的差;—加法模块,其一输入端与所述分段一次函数模块输出端相连接,输入该分段一次函数模块的输出C,另一输入端与所述查找表模块的输出端相连接,输入该查找表模块的输出d ;将这两个输入c和d相加,其输出端得到的结果e就是I除以归一化了的除数b’的结果;一乘法模块,其一输入端与所述加法模块的输出端相连接,输入该加法模块的输出e,另一输入端输入被除数a;其输出f就是被除数a/Ι除以归一化了的除数b’的结果;一右移位模块,其一输入端与所述乘法模块的输出端相连接,输入该乘法模块的输出e ;另一输入端与所述归一化模块的输出端相连接,输入该归一化模块的输出S ;其输出g就是a/b的结果。采用本发明的用纯组合电路来实现除法计算的电路,当除数,被除数有效时,能够立刻给出除法的结果;从而降低了所要求的时钟频率,使得那些大量用到除法计算的数字信号处理算法可用。本发明适用于系统时钟不快,除法计算密集,计算结果要求能很快出来的产品;电路的复杂度取决于应用所要求的除法结果的精度。


下面结合附图与具体实施方式
对本发明作进一步详细的说明:附图是用纯组合电路实现除法计算的电路原理结构图。
具体实施例方式结合附图所示,所述用纯组合电路实现除法计算的电路,包括:归一化模块1、分段一次函数模块2、查找表模块3、加法模块4、乘法模块5和右移位模块6。所述归一化模块1,用于将输入除数b的输入范围归一化到一次分段函数模块及查找表模块的输入范围内。由于分段一次函数模块2及查找表模块3的输入都有一定范围,而输入除数b (实际除数)的输入是没有范围限制的,所以需要对输入除数的输入范围归一化到分段一次函数模块2及查找表模块3的输入范围内。所述归一化模块I把输入除数b右移到归一化范围内,并记录右移的位数;其中,将输入除数b右移到归一化范围内后的值作为输出b’,移位的位数作为输出S。所述分段一次函数模块2,用于计算I除以归一化了的除数b’的大致结果,这样可以节约查找表模块3所需的存储空间。所述分段一次函数模块2,是按具体应用所要求的精度,通过对函数y = l/χ在O I范围内分段,每个分段用最小二乘法对一次函数进行拟合,这些拟合后的一次函数组成了所述分段一次函数模块。所述查找表模块3,用于记录存储I除以输入除数b的结果与所述分段一次函数模块2输出的差。所述查找表模块3根据具体应用所要求的精度,记录了分段一次函数模块2拟合出的值与真实值之间的差。所述加法模块4,将所述分段一次函数模块2的输出c和查找表模块3的输出d相力口,其输出端得到的结果e就是I除以归一化了的除数b’的结果。

所述乘法模块5,其输出f就是被除数a/Ι除以归一化了的除数b’的结果。所述右移位模块6,其输出g就是a/b的结果。本发明的核心思想是把a/b,先分解为aXl/b。1/b是通过归一化模块I先归一化b到O I之间(记结果为b’);然后用分段一次函数模块2来计算Ι/b’,这个分段一次函数模块2分段拟合了 I = 1/χ,0 < X < I。加法模块4把分段一次函数模块2计算出的结果加上存在查找表模块3中的拟合函数与实际I = l/χ的误差,就得到了较准确的I/b’。由乘法模块5将Ι/b’乘上被除数a ;右移位模块6将b右移到与b’相同的位数,就得到了 a/b的结果go所述用纯组合电路实现除法计算的电路计算a/b的结果的过程是:第一步,把除数b送入归一化模块1,得到归一化了的除数,记为b’。另外,还得到b归一化到b’时所需右移位的位数,记为S。第二步,把归一化了的除数b’送入分段一次函数模块2,其输出记为C。所述分段一次函数模块2是按具体应用所要求的精度,通过对函数y= l/χ在(O I)范围内分段,每个分段是用最小二乘法用一次函数拟合得到的。把归一化了的除数b’送入查找表模块3,输出记为d。所述查找表模块3里记录的是分段一次函数模块2拟合出的值与函数y = l/χ, O <x^ I的准确值之间的差别。
第三步,把第二步得到的c和d由加法模块4相加,输出记为e。第四步,由乘法模块5把被除数a乘以第三步得到的e,输出记为f。第五步,由右移位模块6把f右移s位,得到输出记为g。g就是a/b的结果。以上通过具体实施方式
对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
权利要求
1.一种用纯组合电路实现除法计算的电路,记被除数为a,除数为b,其特征在于,包括: 一归一化模块,其输入是除数b,其一输出端输出归一化了的除数,记为b另一输出端输出除数b归一化到b’时右移位的位数,记为s ;用于将输入除数b的输入范围归一化到一次分段函数模块及查找表模块的输入范围内; 一分段一次函数模块,其输入端与所述归一化模块的一输出端相连接,输入归一化了的除数b’,其输出记为c ;用于计算I除以归一化了的除数b’这个运算的大致结果,以节约查找表模块所需的存储空间; 一查找表模块,其输入端与所述归一化模块的一输出端相连接,输入归一化了的除数b’,其输出记为d ;用于记录存储I除以输入除数b的结果与所述分段一次函数模块输出的差; 一加法模块,其一输入端与所述分段一次函数模块的输出端相连接,输入该分段一次函数模块的输出C,另一输入端与所述查找表模块的输出端相连接,输入该查找表模块的输出d ;将这两个输入c和d相加,其输出端得到的结果e就是I除以归一化了的除数b’的结果; 一乘法模块,其一输入端与所述加法模块的输出端相连接,输入该加法模块的输出e,另一输入端输入被除数a;其输出f就是被除数a/1除以归一化了的除数b’的结果; 一右移位模块,其一输入端与所述乘法模块的输出端相连接,输入该乘法模块的输出e ;另一输入端与所述归一化模块的输出端相连接,输入该归一化模块的输出s ;其输出g就是a/b的结果。
2.如权利要求1所述的电路,其特征在于:所述归一化模块把输入除数b右移到归一化范围内,并记录右移的位数;其中,将输入除数b右移到归一化范围内后的值作为输出b’,移位的位数作为输出S。
3.如权利要求1所述的电路,其特征在于:所述分段一次函数模块,是按具体应用所要求的精度,通过对函数y = i/χ在O I范围内分段,每个分段用最小二乘法对一次函数进行拟合,这些拟合后的一次函数组成了所述分段一次函数模块。
4.如权利要求1所述的电路,其特征在于:所述查找表模块根据具体应用所要求的精度,记录了分段一次函数模块拟合出的值与真实值之间的差。
全文摘要
本发明公开了一种用纯组合电路实现除法计算的电路,把a/b,先分解为a×1/b。1/b是通过归一化模块先归一化b到0~1之间,记结果为b’;然后用分段一次函数模块来计算1/b’,这个分段一次函数模块分段拟合了y=1/x,0<x≤1。加法模块把分段一次函数模块计算出的结果加上存在查找表模块中的拟合函数与实际y=1/x的误差,就得到了较准确的1/b’。由乘法模块将1/b’乘上被除数a;右移位模块将b右移到与b’相同的位数,就得到了a/b的结果g。本发明在实现除法算法时,能够降低所要求的时钟频率。
文档编号G06F7/535GK103164185SQ20111042492
公开日2013年6月19日 申请日期2011年12月16日 优先权日2011年12月16日
发明者王吉健 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1