用硬件实现对数运算的电路的制作方法

文档序号:6485662阅读:508来源:国知局
用硬件实现对数运算的电路的制作方法
【专利摘要】本发明公开了一种用硬件实现对数运算的电路,包括:一检测电路,其输入为a,输出为b,用于从输入a的高位到低位找出第一个为1的位,则输出b就是这一位所在的位置;一选择电路,其一输入是b,另一输入是a,用于选出输入a中b位之后紧跟着的M位数据,如果在a中b位之后的位数不足M位时,则在后面补0,凑满M位;输出c则是这M位数据;一拼接电路,其一输入是b,另一输入是c,输出d是N+M位的数据,d的高N位是b,之后的M位是c。本发明计算速度快且准确,能显著减少所占用的芯片面积。
【专利说明】用硬件实现对数运算的电路
【技术领域】
[0001]本发明涉及一种用硬件实现对数运算的电路。
【背景技术】
[0002]对数运算是一种常用的运算,在计算信噪比时,一般都需要按db (分贝)为单位输出。目前对数运算在硬件实现的时候,一般是用查找表实现的,这样需要占用大量芯片面积。即使用软件实现,也只能通过泰勒展开等方式计算,计算时间比较长。

【发明内容】

[0003]本发明要解决的技术问题是提供一种用硬件实现对数运算的电路,计算速度快且准确,能显著减少所占用的芯片面积。
[0004]为解决上述技术问题,本发明的用硬件实现对数运算的电路,包括:
[0005]一检测电路,其输入是二进制数,记为a,输入a的位数记为2N,N为正整数,输出记为b ;用于从输入a的高位到低位找出第一个为I的位,则输出b就是这一位所在的位置;
[0006]—选择电路,其一输入是所述检测电路的输出b,另一输入是a,输出记为c,输出c的位宽为M,M是小于2n-N的正整数;用于选出输入a中b位之后紧跟着的M位数据,如果在a中b位之后的位数不足M位时,则在后面补0,凑满M位;输出c则是这M位数据;
[0007]—拼接电路,其一输入是所述检测电路的输出b,另一输入是所述选择电路的输出C,输出记为d,输出d是N+M位的数据,d的高N位是b,之后的M位是C。
[0008]采用本发明的电路,在计算y=log2 (X),x为16位时,仅仅需要几十个门电路,用纯组合电路即可实现。运算快速而计算结果的最大误差仅仅是0.09,即0.5db。本发明与采用查找表由硬件实现对数运算的电路相比,大大减少了所占用的芯片面积;与采用软件实现对数运算的方式相比,大大提高了执行速度。
[0009]本发明可用于各种需要进行对数运算的产品。
【专利附图】

【附图说明】
[0010]下面结合附图与【具体实施方式】对本发明作进一步详细的说明:
[0011]图1是所述用硬件实现对数运算的电路原理框图;
[0012]图2是所述用硬件实现对数运算的电路仿真结果图。
【具体实施方式】
[0013]参见图1所示,所述用硬件实现对数运算的电路在一实施例中,包括:
[0014]一个检测电路,其输入是二进制数,记为a,a的位数记为2N (N为正整数),本实施例中N=4。输出记为b (检测结果)。这个检测电路的作用是按a的高位到低位找出第一个为I的位。b就是这一位所在的位置。举例说明,假设a为16位二进制数,从高到低表示为a [15]到a [O],如果从a [15]到a [O]中第一个为I的位是a [14],那么b就等于14。[0015]一个选择电路,其一个输入是b,另一个输入是a,输出是c (选择结果)。c的位宽记为M,M是小于2n-N的正整数,M与所述对数运算电路所要实现的精度有关,本实施例中M=7。这个选择电路的作用是选出a中b位之后紧跟着的M位数据,如果在a中b位之后的位数不足M位时,就在后面补0,凑满M位。输出c就是这M位数据。举例说明,如果b等于14,那么此电路就取a中第14位之后的7位,即输出c等于a[13]到a[7]。如果b等于6,那么此电路就取a中第6位之后的7位,不足补0,即取a[5]到a[0],最后低位再补个O。
[0016]一个拼接电路,其一个输入是b,另一个输入是C,输出是d (拼接运算结果),d是N+M位的,在本实施例中d=4+7=l I位,d的高N位是b,之后的M位是c。举例说明,如果b等于14,即二进制表示1110,c等于二进制的0101010。那么d就是二进制表示的11100101010。
[0017]图2是上述实施例的仿真结果,其中N=4,M=7,横轴是输入数据X,纵轴是精确计算log2(x)的结果与本电路的运算结果的差的绝对值。从图中可见,当输入数据X在1飞5535范围内时,用本电路计算的结果,跟精确的log2(x)计算结果之间最多差0.09。
[0018]以上通过【具体实施方式】和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
【权利要求】
1.一种用硬件实现对数运算的电路,其特征在于,包括:一检测电路,其输入是二进制数,记为a,a的位数记为2n,N为正整数,输出记为b ;用于从输入a的高位到低位找出第一个为I的位,则输出b就是这一位所在的位置;一选择电路,其一输入是所述检测电路的输出b,另一输入是a,输出记为c,输出c的位宽为M,M是小于2n-N的正整数;用于选出输入a中b位之后紧跟着的M位数据,如果在a中b位之后的位数不足M位时,则在后面补0,凑满M位;输出c则是这M位数据;一拼接电路,其一输入是所述检测电路的输出b,另一输入是所述选择电路的输出c,输出记为d,输出d是N+M位的数据,d的高N位是b,之后的M位是C。
【文档编号】G06F7/556GK103455302SQ201210174774
【公开日】2013年12月18日 申请日期:2012年5月31日 优先权日:2012年5月31日
【发明者】王吉健 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1