CN100543666C - 一种定点除法器及其实现运算的方法 - Google Patents

一种定点除法器及其实现运算的方法 Download PDF

Info

Publication number
CN100543666C
CN100543666C CNB2006101397023A CN200610139702A CN100543666C CN 100543666 C CN100543666 C CN 100543666C CN B2006101397023 A CNB2006101397023 A CN B2006101397023A CN 200610139702 A CN200610139702 A CN 200610139702A CN 100543666 C CN100543666 C CN 100543666C
Authority
CN
China
Prior art keywords
dividend
absolute value
divisor
merchant
potential difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2006101397023A
Other languages
English (en)
Other versions
CN1952875A (zh
Inventor
张江山
鲁平
王琳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Huazhong University of Science and Technology
Original Assignee
Huawei Technologies Co Ltd
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, Huazhong University of Science and Technology filed Critical Huawei Technologies Co Ltd
Priority to CNB2006101397023A priority Critical patent/CN100543666C/zh
Publication of CN1952875A publication Critical patent/CN1952875A/zh
Application granted granted Critical
Publication of CN100543666C publication Critical patent/CN100543666C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulation Of Pulses (AREA)

Abstract

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

Description

一种定点除法器及其实现运算的方法
技术领域
本发明涉及数字电路技术,尤指一种定点除法器及其实现运算的方法。
背景技术
在数字信号处理中,经常会涉及到除法运算电路。但是在高级硬件描述语言中没有可综合的除法语句,如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,如果是,向左移器输出第一通知,否则,向加法器输出第二通知;
所述计数器,用于接收来自左移器的计数通知,开始计数,并且在计算值大于位差值时,输出被减数绝对值的低位N位到商发生电路,N等于位差值加1;
所述商发生电路,接收商的符号位、以及被减数绝对值的低N位,将该被减数绝对值的低N位作为商,并根据符号位发生器输出的符号位,输出有符号的商结果;或接收来自所述判别器的触发,输出零。
所述定点除法器还包括:存储除数的除数寄存器,和存储被除数的被除数寄存器。
一种定点除法器实现运算的方法,包括以下步骤:
A.所述定点除法器获取除数和被除数的绝对值;所述定点除法器根据除数和被除数的符号位,获取商的符号位并存储;
B.所述定点除法器判断被除数绝对值是否大于或等于除数绝对值,若是,则计算被除数的最高有效位与除数的最高有效位的数位之差,获得位差,进入步骤C;否则,输出零并结束;
C.所述定点除法器根据商的符号位、除数或被除数绝对值,以及位差,获取被除数与除数的商值。
步骤A中所述获取除数和被除数绝对值的方法为:
判断所述除数或被除数的最高位的取值,如果所述除数或被除数的最高位为0,则除数或被除数的绝对值等于自身,否则,除数或被除数的绝对值等于除数或被除数的补码。
步骤A中所述获取商的符号位的方法为:
判断所述除数和被除数的最高位是否相等,如果相等,则商的符号位为正,否则,商的符号为负。
所述步骤C具体包括:
C1.将所述被除数绝对值左移位差位,并计算除数绝对值作为减数与左移后的被除数绝对值作为被减数之差,判断该差值是否小于0,如果是,则将被减数左移1位,作为下一次减法运算的被减数,否则,将该差值左移1位并加1,作为下一次减法运算的被减数;
C2.开始以递增1的方式计数,反复进行步骤C1的减法运算,直到计数器的计数值大于位差值为止,输出被减数绝对值的低N位,N等于位差值加1;
C3.将该被减数绝对值的低N位作为商,并根据所述符号位,输出有符号的商结果。
所述步骤C3具体包括:
判断被除数的绝对值是否小于除数的绝对值,如果是,则商为零;
否则,进一步判断所述符号位是否为1,如果是,则商为将1左移位差位后减1,所得值与被减数进行逻辑与运算的负值,否则,商为将1左移位差位后减1,所得值与被减数进行逻辑与运算的值。
由上述技术方案可见,本发明定点除法器把除法运算转化化成移位运算和减法运算,与现有技术相比,便于硬件电路的实现,较少了所用器件门数,缩短了运算时间,提高了运算效率,取得了较好的效果。
附图说明
图1是本发明定点除法器组成示意图;
图2是本发明符号发生器组成示意图;
图3是本发明被除数绝对值发生电路组成示意图;
图4a是本发明位差发生器中的被除数的最高有效位数发生电路组成示意图;
图4b是本发明位差发生器中的位差发生电路组成示意图;
图5a是本发明商发生器中的除数与被除数之差发生电路组成示意图;
图5b是本发明商发生器中的商发生电路组成示意图。
具体实施方式
本发明的核心思想是:获取除数和被除数的绝对值,根据除数和被除数的符号位,获取商的符号位并存储;判断被除数绝对值是否大于或等于除数绝对值,若是,则计算被除数的最高有效位与除数的最高有效位的数位之差,获得位差,并根据商的符号位、除数或被除数绝对值,以及位差,获取被除数与除数的商值;否则输出零。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举较佳实施例,对本发明进一步详细说明。
图1是本发明定点除法器组成示意图,本发明定点除法器包括:符号位发生器100、绝对值发生器101、判别器102、位差发生器103、商发生器104及存储数据的寄存器,图1中未示出用于存储运算数据结果的寄存器。
其中,符号发生器100,接收除数和被除数,分别通过判定除数和被除数的符号位,获得商的符号位,并输出保存。
所述判定的方法可以是:判断除数和被除数的最高位是否相等,如果相等,则商的最高位为0即商的符号为正,否则,商的最高位为1即商的符号为负。
绝对值发生器101,包括除数绝对值发生器和被除数绝对值发生器,接收除数/被除数,通过运算获取除数/被除数的绝对值,并输出保存。
运算的方法可以是:如果除数/被除数的最高位为0,则除数/被除数的绝对值等于自身,否则,除数/被除数的绝对值等于除数/被除数的补码。
判别器102,分别接收除数绝对值和被除数绝对值,判断被除数绝对值是否大于或等于除数绝对值,若是,则触发位差发生器103;否则,触发商发生器104,商发生器输出为0即低电平。
比如判别器输出为1即高电平,则触发位差发生器103;否则,触发商发生器104。
位差发生器103,分别接收除数和被除数绝对值,计算被除数的最高有效位与除数的最高有效位的数位之差,获得被除数绝对值与除数绝对值的位差,并存储;
位差发生器103包括最高有效位发生电路和位差发生电路,其中,最高有效位数发生电路包括除数最高有效位数发生电路和被除数最高有效位数发生电路。除数最高有效位数发生电路和被除数最高有效位数发生电路分别接收来自除数绝对值寄存器和被除数绝对值寄存器中的除数绝对值和被除数绝对值,分别获取除数和被除数的最高有效位数,并存储在寄存器n和寄存器m中;位差发生电路分别从寄存器n和寄存器m中获取除数和被除数的最高有效位数,计算被除数的最高有效位与除数的最高有效位的数位之差,获得被除数绝对值与除数绝对值的位差,并存储。
商发生器104,接收商的符号位、除数/被除数绝对值、以及位差,将被除数左移位差位,并将除数作为减数、将左移后的被除数作为被减数,计算二者之差,判断差值是否小于0,如果是,则将被减数左移1位,作为下一次减法运算的被减数,否则,将差值左移1位并加1,作为下一次减法运算的被减数,同时开始计数,反复执行上述减法运算,直到计数器大于位差值为止,取被减数的低(位差值+1)位作为商,并根据符号位发生器输出的符号位,输出有符号的商结果;或接收来自判别器102的触发,输出0。
商发生器104包括差发生电路和商发生电路,其中,差发生电路接收除数/被除数绝对值、以及位差,将被除数绝对值左移位差位,并计算除数绝对值作为减数与左移后的被除数绝对值作为被减数之差,判断差值是否小于0,如果是,则将被减数左移1位,作为下一次减法运算的被减数,否则,将差值左移1位并加1,作为下一次减法运算的被减数,同时开始计数,反复进行以上减法运算,直到计数器大于位差值为止,输出被减数绝对值的低(位差值+1)位。具体来说,差发生电路至少包括加法器、判断器、左移器和计数器,其中,
左移器用于接收除数绝对值、被除数绝对值、以及位差,将被除数绝对值左移位差位,并输出给加法器;或者接收来自判断器的第一通知,自身输出的被减数绝对值左移1位,并将结果输出给加法器;或者接收来自加法器的差值,将差值左移1位并加1,并将结果输出给加法器,同时向计数器发送计数通知;
所述加法器,用于接收除数绝对值,和来自左移器输出的值,计算二者之差的值,并将结果输出给判断器;或者接收来自判断器的第二通知,将差值输出给左移器;
判断器用于接收来自加法器的差值,判断该差值是否小于0,如果是,向左移器输出第一通知,否则,向加法器输出第二通知;
计数器用于接收来自左移器的计数通知,开始计数,并且在计算值大于位差值时,输出被减数绝对值的低位的位差值加1位到商发生电路。
商发生电路接收来自符号位发生器输出的符号位、以及差发生电路输出的被减数绝对值的低(位差值+1)位,将该被减数的低(位差值+1)位作为商,并根据符号位发生器输出的符号位,输出有符号的商结果;或接收来自判别器的触发,输出0。
结合图1,本发明定点除法器实现运算的方法包括:获取除数和被除数的绝对值;根据除数和被除数的符号位,获取商的符号位并存储;判断被除数绝对值是否大于或等于除数绝对值,若是,则计算被除数的最高有效位与除数的最高有效位的位数之差,获得位差,根据商的符号位、除数或被除数绝对值,以及位差,获取被除数与除数的商值;否则,输出零。
其中,获取除数和被除数绝对值的方法为:判断所述除数/被除数的最高位的取值,如果所述除数/被除数的最高位为0,则除数/被除数的绝对值等于自身,否则,除数/被除数的绝对值等于除数/被除数的补码。
其中,获取商的符号位的方法为:判断所述除数和被除数的最高位是否相等,如果相等,则商的符号位为正,否则,商的符号为负。
其中,根据商的符号位、除数绝对值或被除数绝对值,以及位差,获取被除数与除数的商值的方法位:
首先,将所述被除数绝对值左移位差位,并计算除数绝对值作为减数与左移后的被除数绝对值作为被减数之差,判断该差值是否小于0,如果是,则将被减数绝对值左移1位,作为下一次减法运算的被减数,否则,将该差值左移1位并加1,作为下一次减法运算的被减数;
之后,开始以递增1的方式计数,反复进行步骤C1的减法运算,直到计数器的计数值大于位差值为止,输出被减数绝对值的低位的位差值加1位;
最后,将该被减数绝对值的低位的位差值加1位作为商,并根据所述符号位,输出有符号的商结果,具体实现包括:判断被除数的绝对值是否小于除数的绝对值,如果是,则商为零;否则,进一步判断所述符号位是否为1,如果是,则商为将数值1左移位差位后减1,所得值与被减数进行逻辑与运算的负值,否则,商为将数值1左移位差位后减1,所得值与被减数进行逻辑与运算的值。
下面举实施例分别详细介绍本发明除法器各组成部分的实现。
图2是本发明符号发生器组成示意图,如图2所示,符号位发生器100主要包括复合器(MUX)21、MUX22及异或门XOR,其中,对于MUX21,当使能信号Call0_RE为0时,输出为除数寄存器Divisor_2[31:1]的符号位,否则,输出为除数Call0_divisor[31:0]的符号位;对于MUX22,当使能信号Call0_RE为0时,输出为被除数Dividend_2[31:1]的符号位,否则,输出为被除数寄存器Call0_dividend[31:0]的符号位,即在使能信号Call0RE的控制下,分别输出除数和被除数的最高位即符号位,而异或门XOR分别接收来自MUX21和MUX22的除数和被除数的符号位,并进行异或运算后,获得商的符号位,并输出保存在符号位寄存器中。
需要说明的是,使能信号Call0_RE属于系统控制信息,由除法器所属系统逻辑时序控制,这里假设系统信号是预先设置好的。
图3是本发明被除数绝对值发生电路组成示意图,如图3所示,被除数绝对值发生器主要包括MUX31、MUX32、非门NOR及加法器ADD,其中,对于MUX31,当使能信号Call0_RE为0时,输出为除数寄存器Dividend_2[31:1],否则,输出为被除数Call0_dividend[31:1],即在使能信号Call0_RE的控制下,输出来自被除数寄存器的被除数的第1~31位至MUX32的一个输入端,同时将该第1~31位经输入端子驱动同步后输入加法器ADD的第一输入端;非门NOR接收被除数的最低位即第0位,取反输出加法器ADD的第一输入端,并与被除数的第1~31位合并后作为加法器第一输入端的输入信号,该输入信号与加法器ADD的第二输入端的输入信号1相加,并输出至MUX32的另一输入端;MUX32的控制端信号为被除数的第31位信号,若第31位为0,则MUX32输出来自被除数寄存器的被除数的第1至31位,并与经过非门NOR取反的第0位合并后保存在被除数绝对值寄存器中;若第31位为1,则MUX32输出来自加法器ADD输出的被除数的第1至31位,并与经过非门NOR取反的第0位合并后保存在被除数绝对值寄存器中。
图3仅仅是其中一种实现方案,绝对值发生器101的目的就是计算被除数的补码。除数绝对值发生器的实现与图3完全一致,只是对除数计算补码。
图4a是本发明位差发生器中的被除数的最高有效位数发生电路组成示意图,如图4a所示,被除数的最高有效位数发生电路主要包括若干与门AND、MUX41、MUX42及或门OR,处理过程如下:被除数暂存寄存器temp_Dividend用于保存中间结果,与门AND41的输入是被除数暂存寄存器temp_Dividend输出的32位信号的取反即非运算,即当被除数暂存寄存器temp_Dividend输出各位都为0时,AND41的输出为1,否则其输出为0。AND42第一输入信号来自系统逻辑时序(图4a中未示出),第二输入信号为AND41的输出信号的非运算,AND42输出的信号分别送给AND43和或门OR,AND43的输出作为MUX41的选通信号,当该选通信号为0时,MUX41输出为0,否则,MUX41的输出为ADD41的输出信号,每次MUX41的输出都保存到寄存器m中。加法器ADD41的输入分别来自寄存器m的输出和AND42的输出,ADD41的输出发送给MUX41的其中一个输入端,当MUX41的选通信号为1时,将该输入端的信号发送给寄存器m。通过该电路实现被除数的最高有效位数的统计,并将结果保存在寄存器m中。
图4b是本发明位差发生器中的位差发生电路组成示意图,如图4b所示,位差发生电路主要包括若干加法器ADD、MUX43和MUX44,处理过程如下:ADD42的第一输入来自寄存器n的输出,第二输入来自寄存器m的输出,即实现n与m之差的操作,并将结果输出存储在位差寄存器M_N中。图4b中的ADD43的作用与ADD41类似,同样,MUX43的作用也与MUX44类似,用于获取除数的最高有效位数,这里不再赘述。
图5a是本发明商发生器中的除数与被除数之差发生电路组成示意图,如图5a所示,处理过程如下:复合器MUX[31:0]的第一输入端的数据来自除数绝对值寄存器,关于除数绝对值发生电路,与图3描述的被除数绝对值发生电路类似,这里不再赘述。复合器MUX[31:0]的第二输入端的数据来自左移器LSH,当复合器MUX[31:0]的选通信号为0时,复合器MUX[31:0]输出除数绝对值到减数寄存器subtrahend[31:0]中,否则,将左移器LSH的输出数据输出存储在减数寄存器中,而左移器LSH的第一输入来自减数寄存器,第二输入来自M_N寄存器,因此,这部分电路的目的是:首先将除数的绝对值存入减数寄存器,然后,通过LSH对减数寄存器中的数据左移M_N位,并将结果再次存入减数寄存器;
加法器ADD[31:0]用于进行被减数minuend[31:0]与减数subtrahend[31∶0]之差的运算,输出结果保存在差寄存器差寄存器alu[31:0]中。比较器LT用于判断位差寄存器中的M_N[5:0]是否大于计数寄存器中的i[5:0],如果大于,则通过与门AND[0]输出控制信号,通知alu[31:0]接收ADD[31:0]的输出数据。两个与门AND的目的是判断alu[31:0]的最高位是否为1,如果是,则通过多路复合器MUX[30:0]输出alu[31:0]左移1位的数据并存储在被减数寄存器中;否则,输出alu[31:0]左移1位后加1,并将结果通过MUX[30:0]发送存储在被减数寄存器中。
图5b是本发明商发生器中的商发生电路组成示意图,如图5b所示,处理过程如下:与门AND2和AND3用于判断符号位寄存器Sign[0]的输出是否为0,如果是,则控制多路复合器MUX1[31:0]选通输出来自AND4[31:0]的数据,否则,MUX1[31:0]选通输出来自ADD3[31:0]的数据。ADD1[5:0]、左移器LSH、ADD2[31:0]和AND4[31:0]的目的是实现被除数minuend&((1<<(M_N+1))-1)的运算,其中&表示逻辑与。而非门NOR[0]、输入端子IN[31:1]和ADD3[31:0]的目的是为了获得-(minuend&((1<<(M_N+1))-1))即ADD3[31:0]发送给MUX1[31:0]的数据为-(minuend&((1<<(M_N+1))-1))。MUX1[31:0]的第三组输入端的选通信号来自一个比较器,图5b中未示出,该比较器判断除数的绝对值是否小于被除数,如果是,则该比较器输出为0,取非后作为MUX1[31:0]的第三组输入端子的选通信号,而该第三组输入端子输出的数据为0。
因此图5b所示商发生电路的处理过程是:判断被除数的绝对值是否小于除数,如果是,则MUX1[31:0]输出的商为0;
否则,进一步判断Sign[0]是否为1,如果是,则MUX1[31:0]输出的商为-minuend&((1<<(M_N+1))-1),即所述将预设32位数值1左移位差位后减一,所得值与被减数进行逻辑与运算的负值;否则,Sign[0]为0,则MUX1[31:0]输出的商为minuend &((1<<(M_N+1))-1)。即所述将预设32位数值1左移位差位后减一,所得值与被减数进行逻辑与运算的值。图5b中的MUX2实际就是图5a中的MUX。
以上只是给出了其中一种实施例的电路图实现方式,并不用于限定本发明的除法器。本发明强调的是,本发明除法器把除法运算转化化成移位运算和减法运算,与现有技术相比,便于硬件电路的实现,较少了所用器件门数,缩短了运算时间,提高了运算效率,取得了较好的效果。
本发明所述除法器与Celoxica公司的Handel C的逻辑电路开发工具中提供的除法模块相比较其结果如表1所示。对于同样是32位除法运算,本发明所消耗的硬件资源只有上述除法模块的14%,所需要的最大逻辑路径延迟时间是它的3.8%。
 
Celoxica的除法模块 本发明
等效门电路数 44,019 6,268
最大组合逻辑路径延迟时间 333.098ns 12.665ns
表1
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种定点除法器,其特征在于,该定点除法器包括:
符号发生器(100),接收除数和被除数,根据除数和被除数的符号位获得商的符号位并输出;
绝对值发生器(101),接收除数和被除数,获取除数和被除数的绝对值,并输出;
判别器(102),分别接收除数绝对值和被除数绝对值,判断被除数绝对值是否大于或等于除数绝对值,若是,则触发位差发生器(103);否则,触发商发生器(104);
位差发生器(103),分别接收除数和被除数绝对值,计算被除数的最高有效位与除数的最高有效位的数位之差,获得被除数绝对值与除数绝对值的位差并输出;
商发生器(104),接收商的符号位、除数的绝对值,被除数的绝对值,以及位差,输出有符号的商结果;或者接收来自判别器(102)的触发,输出零。
2.根据权利要求1所述的定点除法器,其特征在于,所述定点除法器还包括除数绝对值寄存器和被除数绝对值寄存器;所述绝对值发生器(101)包括除数绝对值发生器和被除数绝对值发生器;
所述除数绝对值发生器,用于接收除数,获取除数绝对值,并将所述除数绝对值输出到除数绝对值寄存器;
所述被除数绝对值发生器,用于接收被除数,获取被除数绝对值,并将所述被除数绝对值输出到被除数绝对值寄存器中。
3.根据权利要求1或2所述的定点除法器,其特征在于,所述位差发生器(103)包括最高有效位数发生电路和位差发生电路;
所述最高有效位数发生电路,用于接收除数绝对值或被除数绝对值,分别获取除数或被除数的最高有效位的数位并输出;
所述位差发生电路,用于接收除数的最高有效位的数位和被除数的最高有效位的数位,计算被除数的最高有效位与除数的最高有效位的数位之差,获得被除数绝对值与除数绝对值的位差,并将所述位差输出到位差寄存器中。
4.根据权利要求3所述的定点除法器,其特征在于,所述定点除法器还包括第一寄存器和第二寄存器;所述最高有效位发生电路包括除数最高有效位数发生电路和被除数最高有效位数发生电路;
所述除数最高有效位数发生电路,用于接收除数绝对值,获取除数的最高有效位的数位,并将所述除数的最高有效位的数位输出到第一寄存器中;
所述被除数最高有效位数发生电路,用于接收被除数绝对值,获取被除数的最高有效位的数位,并将所述被除数的最高有效位的数位输出到第二寄存器中。
5.根据权利要求1或2所述的定点除法器,其特征在于,所述商发生器(104)包括:差发生电路和商发生电路;
所述差发生电路至少包括加法器、判断器、左移器和计数器;
其中,所述左移器,用于接收除数绝对值、被除数绝对值、以及位差,将被除数绝对值左移位差位,并输出给加法器;或者接收来自判断器的第一通知,自身输出的被减数绝对值左移1位,并将结果输出给加法器;或者接收来自加法器的差值,将差值左移1位并加1,并将结果输出给加法器,同时向计数器发送计数通知;
所述加法器,用于接收除数绝对值,和来自左移器输出的值,计算二者之差的值,并将结果输出给判断器;或者接收来自判断器的第二通知,将差值输出给左移器;
所述判断器,用于接收来自加法器的差值,判断该差值是否小于0,如果是,向左移器输出第一通知,否则,向加法器输出第二通知;
所述计数器,用于接收来自左移器的计数通知,开始计数,并且在计算值大于位差值时,输出被减数绝对值的低N位到商发生电路,N等于位差值加1;
所述商发生电路,接收商的符号位、以及被减数绝对值的低N位,将该被减数绝对值的低N位作为商,并根据符号位发生器输出的符号位,输出有符号的商结果;或接收来自所述判别器的触发,输出零。
6.根据权利要求1所述的定点除法器,其特征在于,所述定点除法器还包括:存储除数的除数寄存器,和存储被除数的被除数寄存器。
7.一种定点除法器实现运算的方法,其特征在于,包括以下步骤:
A.所述定点除法器获取除数和被除数的绝对值;所述定点除法器根据除数和被除数的符号位,获取商的符号位并存储;
B.所述定点除法器判断被除数绝对值是否大于或等于除数绝对值,若是,则计算被除数的最高有效位与除数的最高有效位的数位之差,获得位差,进入步骤C;否则,输出零并结束;
C.所述定点除法器根据商的符号位、除数或被除数绝对值,以及位差,获取被除数与除数的商值。
8.根据权利要求7所述的方法,其特征在于,步骤A中所述获取除数和被除数绝对值的方法为:
判断所述除数或被除数的最高位的取值,如果所述除数或被除数的最高位为0,则除数或被除数的绝对值等于自身,否则,除数或被除数的绝对值等于除数或被除数的补码。
9.根据权利要求7所述的方法,其特征在于,步骤A中所述获取商的符号位的方法为:
判断所述除数和被除数的最高位是否相等,如果相等,则商的符号位为正,否则,商的符号为负。
10.根据权利要求7所述的方法,其特征在于,所述步骤C具体包括:
C1.将所述被除数绝对值左移位差位,并计算除数绝对值作为减数与左移后的被除数绝对值作为被减数之差,判断该差值是否小于0,如果是,则将被减数左移1位,作为下一次减法运算的被减数,否则,将该差值左移1位并加1,作为下一次减法运算的被减数;
C2.开始以递增1的方式计数,反复进行步骤C1的减法运算,直到计数器的计数值大于位差值为止,输出被减数绝对值的低N位,N等于位差值加1;
C3.将该被减数绝对值的低N位作为商,并根据所述符号位,输出有符号的商结果。
11.根据权利要求10所述的方法,其特征在于,所述步骤C3具体包括:
判断被除数的绝对值是否小于除数的绝对值,如果是,则商为零;
否则,进一步判断所述符号位是否为1,如果是,则商为将1左移位差位后减1,所得值与被减数进行逻辑与运算的负值,否则,商为将1左移位差位后减1,所得值与被减数进行逻辑与运算的值。
CNB2006101397023A 2006-09-18 2006-09-18 一种定点除法器及其实现运算的方法 Active CN100543666C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101397023A CN100543666C (zh) 2006-09-18 2006-09-18 一种定点除法器及其实现运算的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101397023A CN100543666C (zh) 2006-09-18 2006-09-18 一种定点除法器及其实现运算的方法

Publications (2)

Publication Number Publication Date
CN1952875A CN1952875A (zh) 2007-04-25
CN100543666C true CN100543666C (zh) 2009-09-23

Family

ID=38059234

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101397023A Active CN100543666C (zh) 2006-09-18 2006-09-18 一种定点除法器及其实现运算的方法

Country Status (1)

Country Link
CN (1) CN100543666C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10877733B2 (en) 2017-11-14 2020-12-29 Boe Technology Group Co., Ltd. Segment divider, segment division operation method, and electronic device

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944009B (zh) * 2009-07-06 2012-04-18 北京中电华大电子设计有限责任公司 一种集成电路中除法器商的处理装置
CN103593159A (zh) * 2012-08-14 2014-02-19 重庆重邮信科通信技术有限公司 一种高效率高精度除法实现方法及装置
CN104166535B (zh) * 2013-07-19 2017-07-28 郑州宇通客车股份有限公司 定点处理器及其防溢方法
JP7036075B2 (ja) * 2019-03-26 2022-03-15 日本電産株式会社 整数除算装置およびモータ制御装置
CN111104092B (zh) * 2019-12-06 2022-10-11 北京多思安全芯片科技有限公司 一种快速除法器和除法运算方法
CN112162725B (zh) * 2020-09-30 2024-02-09 本源量子计算科技(合肥)股份有限公司 一种量子除法运算方法、装置、电子装置及存储介质
CN112162724B (zh) * 2020-09-30 2024-02-09 本源量子计算科技(合肥)股份有限公司 一种带精度的量子除法运算方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
除法运算在定点DSP中的实现. 丁电宽,万毅.安阳师范学院学报,第2006年第2期. 2006
除法运算在定点DSP中的实现. 丁电宽,万毅.安阳师范学院学报,第2006年第2期. 2006 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10877733B2 (en) 2017-11-14 2020-12-29 Boe Technology Group Co., Ltd. Segment divider, segment division operation method, and electronic device

Also Published As

Publication number Publication date
CN1952875A (zh) 2007-04-25

Similar Documents

Publication Publication Date Title
CN100543666C (zh) 一种定点除法器及其实现运算的方法
Reddy et al. Design and analysis of multiplier using approximate 4-2 compressor
CN106951211B (zh) 一种可重构定浮点通用乘法器
CN102103479A (zh) 浮点运算器及浮点运算的处理方法
CN107766031B (zh) 分段式除法器、分段式除法运算方法、以及电子设备
Ma et al. A Novel Modulo $2^{n}-2^{k}-1$ Adder for Residue Number System
CN100367191C (zh) 一种快速流水线型除法器
Chen et al. Symmetric-Mapping LUT-based method and architecture for computing x y-like functions
CN100524201C (zh) 用于实现2的幂的浮点估计的装置与方法
CN104090737A (zh) 一种改进型部分并行架构乘法器及其处理方法
Jamadagni et al. An asynchronous divider implementation
CN1280707C (zh) 一种除法器
Son et al. Design and implementation of scalable low-power Montgomery multiplier
KR100218615B1 (ko) 고정 소수점 디바이더 장치 및 고정 소수점 나눗셈 연산 수행방법
Sutter et al. Power aware dividers in FPGA
CN203104406U (zh) 一种异步计数器
CN204143432U (zh) 一种乘除法器
CN101178611A (zh) 对数计算的实现方法及装置
Zhao et al. An fpga-based hardware accelerator of ransac algorithm for matching of images feature points
CN100489766C (zh) 一种适合于硬件的开高次方的装置及方法
Wang et al. HEADiv: A High-accuracy Energy-efficient Approximate Divider with Error Compensation
Chang et al. Fixed-point computing element design for transcendental functions and primary operations in speech processing
US20210241085A1 (en) Method and architecture for accelerating deterministic stochastic computing using residue number system
Koshe et al. Novel Implementation of Low Power and High Performance 4-2 Compressors for Approximate Multipliers
KR100335252B1 (ko) 비트 분리 구조의 고속 디지털 필터

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant