一种定点除法器及其实现运算的方法技术

技术编号:2843197 阅读:400 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种定点除法器,包括:符号发生器、绝对值发生器、判别器、位差发生器,以及商发生器。本发明专利技术还公开了一种所述定点除法器实现运算的方法,该方法包括获取除数和被除数的绝对值,根据除数和被除数的符号位,获取商的符号位并存储;判断被除数绝对值是否大于或等于除数绝对值,若是,则计算被除数的最高有效位与除数的最高有效位的数位之差,获得位差,并根据商的符号位、除数/被除数绝对值,以及位差,获取被除数与除数的商值;否则输出为零。本发明专利技术定点除法器把除法运算转化成移位运算和减法运算,与现有技术相比,便于硬件电路的实现,减少了所用器件门数,缩短了运算时间,提高了运算效率,取得了较好的效果。

【技术实现步骤摘要】

本专利技术涉及数字电路技术,尤指。
技术介绍
在数字信号处理中,经常会涉及到除法运算电路。但是在高级硬件描述语言中没有可综合的除法语句,如VHDL和Verilog HDL都没有提供除法相关的语句。目前,其中一种定点除法电路装置中,包括有乘法运算单元,电路结构非常复杂,消耗的逻辑门电路较多,延迟较大;另外一种除法电路则采用了二级运算构成的冗余码与二进制混合使用的冗余码加法单元组成除法阵列,并采用二选一的选择器构成将冗余码的商直接转换成二进制形式的阵列转换电路,其电路结构同样比较复杂,占用资源较多;还有一种是以微处理器为运算平台,由指令实现的除法运算,采用二进制的位移及加法的技巧以减化除法的运算过程,但没有提供相关运算电路装置。除此之外,在Celoxica公司的Handel C语言的逻辑电路开发工具中提供了实现除法的相关模块,但其资源消耗较大,以一个32位除以32位的除法器为例,需要等效电路门数约44000门,最大组合逻辑路径延迟时间需333ns。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种定点除法器,该定点除法器电路结构简单。本专利技术的另一目的在于提供一种定点除法器实现运算的方法,能够降低运算延迟,节约资源。为达到上述目的,本专利技术的技术方案具体是这样实现的 一种定点除法器,该定点除法器包括符号发生器100,接收除数和被除数,根据除数和被除数的符号位获得商的符号位并输出;绝对值发生器101,接收除数和被除数,获取除数和被除数的绝对值,并输出;判别器102,分别接收除数绝对值和被除数绝对值,判断被除数绝对值是否大于或等于除数绝对值,若是,则触发位差发生器103;否则,触发商发生器104;位差发生器103,分别接收除数和被除数绝对值,计算被除数的最高有效位与除数的最高有效位之差,获得被除数绝对值与除数绝对值的位差并输出;商发生器104,接收商的符号位、除数的绝对值,被除数的绝对值,以及位差,输出有符号的商结果;或者接收来自判别器(102)的触发,输出零。所述定点除法器还包括除数绝对值寄存器和被除数绝对值寄存器;所述绝对值发生器101包括除数绝对值发生器和被除数绝对值发生器;所述除数绝对值发生器,用于接收除数,获取除数绝对值,并将所述除数绝对值输出到除数绝对值寄存器;所述被除数绝对值发生器,用于接收被除数,获取被除数绝对值,并将所述被除数绝对值输出到被除数绝对值寄存器中。所述位差发生器103包括最高有效位数发生电路和位差发生电路;所述最高有效位数发生电路,用于接收除数绝对值或被除数绝对值,分别获取除数或被除数的最高有效位数并输出;所述位差发生电路,用于接收除数的最高有效位数和被除数的最高有效位数,计算被除数的最高有效位与除数的最高有效位的数位之差,获得被除数绝对值与除数绝对值的位差,并将所述位差输出到位差寄存器中。所述定点除法器还包括第一寄存器和第二寄存器;所述最高有效位发生电路包括除数最高有效位数发生电路和被除数最高有效位数发生电路;所述除数最高有效位数发生电路,用于接收除数绝对值,获取除数的最高有效位数,并将所述除数的最高有效位数输出到第一寄存器中;所述被除数最高有效位数发生电路,用于接收被除数绝对值,获取被除数的最高有效位数,并将所述被除数的最高有效位数输出到第二寄存器中。所述商发生器104包括差发生电路和商发生电路;所述差发生电路至少包括加法器、判断器、左移器和计数器;其中,所述左移器,用于接收除数绝对值、被除数绝对值、以及位差,将被除数绝对值左移位差位,并输出给加法器;或者接收来自判断器的第一通知,自身输出的被减数绝对值左移1位,并将结果输出给加法器;或者接收来自加法器的差值,将差值左移1位并加1,并将结果输出给加法器,同时向计数器发送计数通知;所述加法器,用于接收除数绝对值,和来自左移器输出的值,计算二者之差的值,并将结果输出给判断器;或者接收来自判断器的第二通知,将差值输出给左移器;所述判断器,用于接收来自加法器的差值,判断该差值是否小于0,如果是,向左移器输出第一通知,否则,向加法器输出第二通知;所述计数器,用于接收来自左移器的计数通知,开始计数,并且在计算值大于位差值时,输出被减数绝对值的低位的位差值加1位到商发生电路;所述商发生电路,接收商的符号位、以及差发生电路输出的被减数的低位的位差值加1位,将该被减数的低位的位差值加1位作为商,并根据符号位发生器输出的符号位,输出有符号的商结果;或接收来自所述判别器的触发,输出零。所述定点除法器还包括存储除数的除数寄存器,和存储被除数的被除数寄存器。一种定点除法器实现运算的方法,包括以下步骤A.获取除数和被除数的绝对值;根据除数和被除数的符号位,获取商的符号位并存储;B.判断被除数绝对值是否大于或等于除数绝对值,若是,则计算被除数的最高有效位与除数的最高有效位之差,获得位差,进入步骤C;否则,输出零并结束;C.根据商的符号位、除数或被除数绝对值,以及位差,获取被除数与除数的商值。步骤A中所述获取除数和被除数绝对值的方法为判断所述除数或被除数的最高位的取值,如果所述除数或被除数的最高位为0,则除数或被除数的绝对值等于自身,否则,除数或被除数的绝对值等于除数或被除数的补码。步骤A中所述获取商的符号位的方法为判断所述除数和被除数的最高位是否相等,如果相等,则商的符号位为正,否则,商的符号为负。所述步骤C具体包括C1.将所述被除数绝对值左移位差位,并计算除数绝对值作为减数与左移后的被除数绝对值作为被减数之差,判断该差值是否小于0,如果是,则将被减数左移1位,作为下一次减法运算的被减数,否则,将该差值左移1位并加1,作为下一次减法运算的被减数;C2.开始以递增1的方式计数,反复进行步骤C1的减法运算,直到计数器的计数值大于位差值为止,输出被减数绝对值的低位的位差值加1位;C3.将该被减数绝对值的低位的位差值加1位作为商,并根据所述符号位,输出有符号的商结果。所述步骤C3具体包括判断被除数的绝对值是否小于除数的绝对值,如果是,则商为零;否则,进一步判断所述符号位是否为1,如果是,则商为将数值1左移位差位后减1,所得值与被减数进行逻辑与运算的负值,否则,商为将数值1左移位差位后减1,所得值与被减数进行逻辑与运算的值。由上述技术方案可见,本专利技术定点除法器把除法运算转化化成移位运算和减法运算,与现有技术相比,便于硬件电路的实现,较少了所用器件门数,缩短了运算时间,提高了运算效率,取得了较好的效果。附图说明图1是本专利技术定点除法器组成示意图;图2是本专利技术符号发生器组成示意图;图3是本专利技术被除数绝对值发生电路组成示意图;图4a是本专利技术位差发生器中的被除数的最高有效位数发生电路组成示意图;图4b是本专利技术位差发生器中的位差发生电路组成示意图;图5a是本专利技术商发生器中的除数与被除数之差发生电路组成示意图;图5b是本专利技术商发生器中的商发生电路组成示意图。具体实施例方式本专利技术的核心思想是获取除数和被除数的绝对值,根据除数和被除数的符号位,获取商的符号位并存储;判断被除数绝对值是否大于或等于除数绝对值,若是,则计算被除数的最高有效位与除数的最高有效位的数位之差,获得位差,并根据商的符号位、除数或被除数绝对值,以及位差,获取被除数与除数的商值;否则输出零。为使本专利技术的目本文档来自技高网...

【技术保护点】
一种定点除法器,其特征在于,该定点除法器包括:符号发生器(100),接收除数和被除数,根据除数和被除数的符号位获得商的符号位并输出;绝对值发生器(101),接收除数和被除数,获取除数和被除数的绝对值,并输出;判别器( 102),分别接收除数绝对值和被除数绝对值,判断被除数绝对值是否大于或等于除数绝对值,若是,则触发位差发生器(103);否则,触发商发生器(104);位差发生器(103),分别接收除数和被除数绝对值,计算被除数的最高有效位与除数的最 高有效位之差,获得被除数绝对值与除数绝对值的位差并输出;商发生器(104),接收商的符号位、除数的绝对值,被除数的绝对值,以及位差,输出有符号的商结果;或者接收来自判别器(102)的触发,输出零。

【技术特征摘要】

【专利技术属性】
技术研发人员:张江山鲁平王琳
申请(专利权)人:华为技术有限公司华中科技大学
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利