CN204143432U - 一种乘除法器 - Google Patents
一种乘除法器 Download PDFInfo
- Publication number
- CN204143432U CN204143432U CN201420548842.6U CN201420548842U CN204143432U CN 204143432 U CN204143432 U CN 204143432U CN 201420548842 U CN201420548842 U CN 201420548842U CN 204143432 U CN204143432 U CN 204143432U
- Authority
- CN
- China
- Prior art keywords
- multiplier
- unit
- remainder
- result
- division
- 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
Links
Landscapes
- Complex Calculations (AREA)
Abstract
本实用新型公开一种乘除法器,用于实现任意位数无符号或有符号数除法运算和任意位数的无符号乘法运算,该乘除法器包括:一数据预处理器,该数据预处理器与一第一、第二操作数、一乘除法运算选择信号以及一除法模式选择信号连接,根据该一乘除法运算选择信号以及一除法模式选择信号对该第一、第二操作数进行处理;一迭代运算单元用于根据该乘除法运算选择信号,进行余数补零及除数移位,或者进行乘数移位及被乘数扩展;一除法运算单元,用于生成一两位商和一余数;一乘法运算单元,用于生成一乘积结果;一运算控制计数器,用于控制该迭代运算单元的运算位数;一结果寄存器,用于存放该商、余数和/或乘积结果。
Description
技术领域
本实用新型涉及一种算术运算领域的关键电路实现,特别涉及在自动控制、数字信号处理、通信、视频和图像等领域的芯片设计中的高性能乘除法器及其实现方法。
背景技术
在自动控制、数字信号处理、通信、视频和图像等方面的数据处理中经常会涉及到无符号或有符号的乘除法运算,但是乘除法运算的实现电路复杂,计算周期长,其性能的优劣直接影响着芯片的整体数据处理能力。为了提升芯片的性能,减轻CPU核的计算负担,有效的方法是在微控制器芯片或专用型芯片的内部专门设计用于乘除法及相关算术运算的协处理器或专用乘除法器电路。
目前现有的除法算法有基于加减法操作的算法和采用乘法操作的算法。采用加减法操作的算法,其优点在于可以大大减少电路面积,不足之处在于计算速度慢。采用乘法操作的算法,速度相对较快,但是由于引入了乘法器,从而使电路的实现面积大大增加。在集成电路设计中,目前应用较广的主要是基于加减法操作的算法,其核心思想是通过移位和减法操作来完成除法运算。现有乘法器的实现方法主要是先生成部分积,然后将部分积相加得到乘积。
公开号为CN1423189A的专利“一种除法器”利用减法器、移位加法器、比较器完成除法。然而,这种实现方法的不足在于每次移位和减法操作后只能获 得一位商,例如当N位除数A除以N位除数B时,需要执行N次迭代运算才能得到商。所以该方法计算速度慢,只能用在低速数据处理领域。公开号为CN101295237B的专利“求商和余数的高速除法器”利用超前借位减法、并行减法、一次求得多位商的技术实现求商和余数的运算。但是该实现方法也用到了移位器,比较器,以及三组超前借位减法器,电路实现复杂。
一款有竞争力的集成电路芯片不仅要在功能与性能方面满足设计的需求,同时要以较小的硬件资源开销来换取低的生产成本,实现高性价比。因此,设计具有高的运算速度且硬件资源开销小的乘除法器就显得很有意义。
实用新型内容
为了克服现有技术中存在的缺陷,满足设计需求,本实用新型提供一种用于芯片中的高性能乘除法器,可以实现任意位数无符号或有符号数除法运算和任意位数的无符号乘法运算。
为了实现上述实用新型目的,本实用新型公开一种乘除法器,用于实现任意位数无符号或有符号数除法运算和任意位数的无符号乘法运算,该乘除法器包括:一数据预处理器,该数据预处理器与一第一操作数、一第二操作数、一乘除法运算选择信号以及一除法模式选择信号连接,根据该一乘除法运算选择信号以及一除法模式选择信号对该第一操作数、第二操作数进行处理,当该乘除法运算选择信号为除法时,该第一操作数、第二操作数分别作为除数和被除数;当该乘除法运算选择信号为乘法时,该第一操作数、第二操作数分别作为乘数和被乘数;一迭代运算单元,该迭代运算单元与该数据预处理器连接,用于根据该乘除法运算选择信号,进行余数补零及除数移位,或者进行乘数移位及被 乘数扩展;一除法运算单元,该除法运算单元与该迭代运算单元连接,用于生成一两位商和一余数;一乘法运算单元,该乘法运算单元与该迭代运算单元连接,用于生成一乘积结果;一运算控制计数器,该运算控制计数器与该迭代运算单元、除法运算单元、乘法运算单元连接,该运算控制计数器用于控制该迭代运算单元的运算位数及运算过程;一结果寄存器,该结果寄存器与该除法运算单元及乘法运算单元连接,用于存放该商、余数或乘积结果。
更进一步地,当该乘除法运算选择信号为除法时,该数据预处理器对该第一操作数和第二操作数取绝对值,并生成一商符号位;当被除数为零时,产生一溢出标志;当该乘除法运算选择信号为乘法时,该数据预处理器作为一数据缓冲器。
更进一步地,该结果寄存器包括第一寄存器和第二寄存器,该第一寄存器用于存放该商或该乘积结果的高位部分,该第二寄存器用于存放该余数或该乘积结果的低位部分。
更进一步地,该运算控制计数器、除法运算单元以及乘法运算单元的时钟频率是该数据预处理器的m倍,m为自然数。
更进一步地,该迭代运算单元包括一补零单元、移位单元以及一乘数扩展单元,该补零单元及移位单元与该除法运算单元连接,该移位单元与该乘数扩展单元与该乘法运算单元连接;当该乘除法运算选择信号为除法时,该补零单元根据商的位数对当前余数与第一级余数进行补0,产生两个补零结果;该移位单元根据该运算控制计数器的计数值,对新的除数或乘数进行两次左移位,产生两个移位结果;该乘数扩展单元根据用于根据运算控制计数器的计数值,取被乘数的两位,分别对被乘数的每一位数进行扩展,产生与乘数位数相同的两个扩展结果。
更进一步地,该除法运算单元包括:一两位商生成器,用于根据余数补零后生成的第一补零结果、第二补零结果及除数移位后生成的第一移位结果、第二移位结果,根据所述第一第二补零结果与所述第一第二移位结果交叉搭配并判断大小生成一两位商;一商位存储器,用于保存每次迭代运算产生的两位商并产生该商;一余数生成器,用于根据该两位商,分别用余数减去第一次移位结果生成第一级余数,用该第一级余数减去第二次移位结果生成第二级余数;一余数存储器,用于保存该第二级余数并产生该余数用于根据所述乘数移位后产生的两个扩展结果和被乘数扩展后产生的两个移位结果进行位与,生成第一部分积和第二部分积。
更进一步地,该乘法运算单元包括:一部分积生成单元,用于根据所述乘数移位后产生的两个扩展结果和被乘数扩展后产生的两个移位结果进行位与,生成第一部分积和第二部分积;一加法器,用于累加该第一部分积、第二部分积以及一部分积累加和存储器的当前值;该部分积累加和存储器存储该加法器的输出值生成一乘积结果。
与现有技术相比较,本实用新型的技术效果在于:
第一、本实用新型所提供的技术方案可以实现任意位数无符号或有符号数除法运算和任意位数的无符号乘法运算,并且乘除法器共用一套运算和控制电路,因此本实用新型所提供的用于芯片中的高性能乘除法器需要的面积更小。
第二、本实用新型所提供的技术方案,在硬件资源开销小的前提下,乘除法运算一次处理两位操作数,运算速度快,运算处理模块的时钟频率为数据接收预处理模块的时钟频率的m倍(m为自然数),可使运算速度在现有的基础上提高m倍。
第三、本实用新型所提供的技术方案,除法器一次迭代运算处理两位除数,生成两位商和两个余数。乘法器一次迭代运算处理两位乘数,生成两个部分积 和一个部分积累加和。
附图说明
关于本实用新型的优点与精神可以通过以下的实用新型详述及所附图式得到进一步的了解。
图1是本实用新型所涉及的乘除法器的结构示意图;
图2是本实用新型所涉及的乘除法器的内部单元的时钟连接关系图;
图3是本实用新型所涉及的乘除法器的除法运算单元的结构示意图;
图4是本实用新型所涉及的乘除法器的乘法运算单元的结构示意图;
图5是本实用新型所涉及的乘除法器的实现方法的除法运算流程图;
图6是本实用新型所涉及的乘除法器的实现方法的乘法运算流程图。
具体实施方式
下面结合附图详细说明本实用新型的具体实施例。
为了克服现有技术中存在的缺陷,本实用新型提供一种用于芯片中的高性能乘除法器及其实现方法。该乘除法器通过用户的选择配置,可以实现任意位数无符号或有符号数除法运算和任意位数的无符号乘法运算,并且乘除法器共用一套运算和控制电路,硬件资源开销小,乘除法运算一次处理两位操作数,运算速度快,运算处理模块的时钟频率为数据接收预处理模块的时钟频率的m倍(m为自然数),可使运算速度在现有的基础上提高m倍。除法器一次迭代运算处理两位除数,生成两位商和两个余数。乘法器一次迭代运算处理两位乘数,生成两个部分积和一个部分积累加和。
为了实现上述实用新型目的,本实用新型的提供技术方案包括数据预处理 器、迭代运算单元、运算控制计数器、除法运算单元、乘法运算单元、两结果寄存器,其中:数据预处理器、迭代运算单元、运算控制计数器、结果寄存器Q、结果寄存器R是乘法运算与除法运算共用的一套电路。该乘除法器内部运算控制器、除法运算单元、乘法运算单元的时钟频率为数据预处理器模块时钟频率的m倍(m为自然数)。
如图1至4中所示,该乘除法器包括数据预处理器10、迭代运算单元20、运算控制计数器40、除法运算单元50、乘法运算单元60、两结果寄存器。
数据预处理器10用于当乘除法运算器实现除法运算时,根据输入的除法模式选择信号2来选择有符号除法或无符号除法,在不同的除法模式下对被除数与除数取绝对值,使其生成新的被除数、新的除数和商符号位,同时当新的除数为0时产生溢出标志信号。当乘除法器实现乘法运算时(即乘除法运算选择信号1为乘号时),数据预处理器作为数据缓冲器使用。
迭代运算单元20包括补0单元21、移位单元22和乘数扩展单元23。其中,补0单元21包括补0单元1与补0单元2,当乘除法器实现除法运算时,补0单元用于根据商的位数对当前余数与第一级余数进行补0,产生两个补零结果。移位单元22包括移位单元1与移位单元2。移位单元22用于根据当前运算控制计数器40的计数值对新的除数或乘数进行两次左移位,产生两个移位结果。乘数扩展单元23用于根据运算控制计数器40的当前值,取被乘数的两位,分别对该两位进行扩展,产生与乘数位数相同的两个扩展结果。
运算控制计数器40用于控制迭代运算单元20的运算位数、乘除法运算单元的运算、结果的输出。
除法运算单元50包括两位商生成器51、商位存储器53、两余数生成器52、余数存储器54。两位商生成器51包括商位生成器1与商位生成器2,其根据补 0单元21与移位单元22生成的两组结果,交叉搭配,通过判断补0结果与移位结果的大小产生两位商。商位存储器53用于保存每次迭代运算产生的两位商,用于最终商的生成。两余数生成器52包括余数生成器1与余数生成器2,其用于根据两位商生成器产生的两位商,分别用当前余数减去移位结果1生成新的第一级余数,用新的第一级余数减去移位结果2生成新的第二级余数。余数存储器54用于存储新的第二级余数以生成本轮运算产生的新余数,初始计算时,当前余数等于数据预处理器生成的新的被除数。
乘法运算单元60包括部分积生成单元61、加法器62、部分积累加和存储器63。
部分积生成单元61包括部分积生成单元1与部分积生成单元2,其用于取乘数扩展单元22产生的两个扩展结果分别与移位单元产生的两个移位结果相与产生两个部分积。
加法器62用于将当前的部分积累加和与部分积生成单元61产生的两个部分积相加生成新的部分积累加和。
部分积累加和存储器63用于存储每次运算产生的新的部分积累加和,最终生成乘积结果。
当乘除法器实现除法运算时,所述的两结果寄存器分别用于存放商和余数。当乘除法器实现乘法运算时,所述的两结果寄存器分别用于存放结果的高位部分与低位部分。
针对上述高性能乘除法器,本实用新型还提出了一种除法实现方法。图5是本发明所涉及的乘除法器的实现方法的除法运算流程图。如图5所示,假设N位的被除数A除以N位的除数B,商与余数分别为N位的Q与R,运算溢出标志为OV,设循环迭代计数器为j,初始值j=0,具体包括如下步骤:
501.设置乘除法运算选择信号,使该乘除法器实现除法功能。
502.在数据预处理器中检测并判断模式选择信号。
503.若为有符号除法,则数据预处理器输出新的被除数A1与新的除数B1分别等于A与B的绝对值,商符号位为对A与B的最高位进行异或的结果;判断新的除数B1,若为0,则溢出标志OV输出为1。
504.若为无符号除法运算,则数据预处理器输出新的被除数A1与新的除数B1分别等于A与B。
505.补零单元1对当前余数R左边补N-1个0,生成新的补零结果1,初始计算时当前余数R等于新的被除数A1。补零单元2对两位余数生成器生成的第一级余数R1左边补N-1个0,生成新的补零结果2。移位单元1对新的除数B1左边补N-1个0,并对其左移N-1-j位,生成新的移位结果1。移位单元2对新的除数B1左边补N-1个0,并对其左移N-2-j位,生成新的移位结果2。
506.商位生成器1对新的补零结果1与新的移位结果1进行判断,如前者大于后者,则商位Q[N-1-j]为1,否则Q[N-1-j]为0。
507.商位生成器2对新的补零结果2与新的移位结果2进行判断,如前者大于后者,则商位Q[N-2-j]为1,否则Q[N-2-j]为0。
508.Q[N-1-j]为0,则新的第一级余数R1等于当前余数R。
509.Q[N-2-j]为1,余数生成器1通过当前余数R减去新的移位结果1的低N位,生成新的第一级余数R1。
510.Q[N-2-j]为1,余数生成器2通过新的第一级余数R1减去新的移位结果2的低N位,生成新的第二级余数R2。
511.Q[N-2-j]为0,则新的第二级余数R2等于新的第一级余数R10。
512.商位存储器通过每次左移的方式,将两位商保存起来,输出商Q[N-1-j] 至商位存储器。
513.输出商Q[N-2-j]至商位存储器。余数存储器用于将新的余数R2保存起来,作为本轮计算生成的新余数R。
514.令j=j+2,重复进行以上505至513步骤,直至j=N-1或j=N-2(由N的奇偶性决定)。
输出最终的商Q与余数R。
针对上述高性能乘除法器,本实用新型还提出了一种乘法实现方法,乘法器结构如图4所示,图6是本发明所涉及的乘除法器的实现方法的乘法运算流程图。假设N位的乘数A乘以N位的乘数B,乘积的高N位为结果Q,乘积的低N位为结果R,设循环迭代计数器为j,初始值j=0,具体包括如下步骤:
601.设置乘除法运算选择信号,使该乘除法器实现乘法功能。数据预处理器作为数据缓冲器使用,暂存输入的乘数A与乘数B,输出新的乘数A1与新的乘数B1。
602.移位单元1对新的乘数B1左边补N-1个0,并对其左移N-1-j位,生成新的移位结果1。移位单元2对新的乘数B1左边补N-1个0,并对其左移N-2-j位,生成新的移位结果2。
603.乘数扩展单元取乘数A1的第N-1-j位与第N-2-j位,分别对这两位进行N位扩展,得到N位的扩展结果1与N位的扩展结果2。
604.部分积生成单元1取新的扩展结果1与移位结果1进行位与生成部分积1。部分积生成单元2取新的扩展结果2与移位结果2进行位与生成部分积2。
605.加法器将当前的部分积累加和与部分积生成单元产生的两个部分积相加生成新的部分积累加和,初始计算部分积累加和为0。部分积累加和存储器存储每次运算产生的新的部分积累加和。
606.令j=j+2,重复进行以上602至605步骤,直至j=N-1或j=N-2(由N的奇偶性决定)。
607.将部分积累加和存储器的乘积结果输出至结果寄存器Q与R。
本实用新型的乘除法器内部单元的时钟连接关系图如图2所示,数据预处理器采用CLK1作为工作时钟,除法运算单元、乘法运算单元、运算控制计数器共同采用CLK2作为工作时钟,且CLK1与CLK2的工作时钟频率为1:2,这样可以使乘除法运算的速度在现有基础上提高2倍。
在本实施例中,操作数A用N=16位的整数表示,A=a15a14…a1a0,操作数B用16位的整数表示,B=b15b14…b1b0,结果Q用16位的整数表示,Q=q15q14…q1q0,结果R用16位的整数表示,R=r15r14…r1r0。
本实用新型的高性能乘除法器中的完整的除法器结构如图3所示,其中除法器内核包括两位商生成器、商位存储器、两位余数生成器、余数存储器。该除法器的实现算法流程如图5所示,以下结合图3与图4对本实施例中的高速除法器进行说明。在本除法器中,被除数用操作数A表示,除数用操作B表示,商用结果寄存器Q表示,余数用结果寄存器R表示,运算控制计数器j的初始值为0。
首先向数据预处理器输入16位的被除数A,除数B,除法模式选择信号div_sel,且数据A与B都以原码的形式输入。数据预处理器对div_sel信号进行判断,若为1则说明本除法器实现的是有符号除法运算,若为0则说明本除法器实现的是无符号除法运算。若为有符号除法运算,新的被除数A1的最高位A1[15]为0,A1的低15位A1[14:0]等于A[14:0],新的除数B1的最高位B1[15]为0,B1的低15位B1[14:0]等于B[14:0],商的最高位—符号位Q[15]等于被除数A的最高位A[15]与除数B的最高位B[15]的异或。若为无符号除法运算,新 的被除数A1等于A,新的除数B1等于B。若新的除数B1为0,则溢出表示信号OV置1。
迭代运算单元包括补0单元与移位单元,补0单元包括补0单元1与补0单元2,移位单元包括移位单元1与移位单元2。
在补0单元1中,根据商的位数对当前余数R进行补0,由于本实施例中的商为16位,因此根据除法算法需对当前余数R左边补15个0。在补0单元2中,根据商的位数对新的第一级余数R1进行补0,其中R1是用当前余数R和移位单元1产生的移位结果的低16位进行减法运算生成的,由于本实施例中的商为16位,因此根据除法算法需对新的余数R1左边补15个0。
在移位单元1中,根据运算计数器j的值对新的除数B1进行移位,首先将B1左边补15个0,然后对其左移15-j位,生成移位结果1。同理,在移位单元2中,对左边补0后的B1左移14-j位,生成移位结果2。
两位商生成器包括商位生成器1与商位生成器2。在商位生成器1中,判断补0单元1产生的补0后的余数R与移位单元1产生的移位结果1的大小,若前者大于后者,则商Q的对应位Q[15-j]等于1,否则Q[15-j]为0。在商位生成器2中,判断补0单元2产生的补0后的第一级余数R1与移位单元2产生的移位结果2的大小,若前者大于后者,则商Q的对应位Q[14-j]等于1,否则Q[14-j]等于0。
两余数生成器包括余数生成器1与余数生成器2。在余数生成器1中,若商位生成器1产生的商位Q[15-j]为1,则新的第一级余数R1等于当前余数R减去移位单元1产生的移位结果1的低16位。在余数生成器2中,若商位生成器2产生的商Q[14-j]为1,则新的第二级余数R2等于新的第一级余数R1减去移位单元2产生的移位结果2的低16位。
余数存储器在每一次运算结束后保存余数生成器2产生的新的第二级余数R2作为本轮计算生成的新的余数R。
商位存储器在每一次运算结束后保存两位商生成器产生的2位商。
令j=j+2,重复以上步骤,直至j=14,运算结束,商位存储器输出16位的商给结果寄存器Q,余数存储器输出16位的余数给结果寄存器R。
本实用新型的高性能乘除法器中的完整的乘法器结构如图4所示,其中乘法器内核包括部分积生成单元、加法器、部分积累加和存储器,部分积生成单元包括部分积生成单元1与部分积生成单元2。该乘法器的实现算法流程如图6所示,以下结合图4与图6对本实施例中的乘法器进行说明。在本乘法器中,被乘数用操作数A表示,乘数用操作B表示,乘积的高16位用结果寄存器Q表示,乘积的低16位用结果寄存器R表示,运算控制计数器j的初始值为0。
首先设置乘除法运算选择信号,使该乘除法器实现乘法功能。数据预处理器作为数据缓冲器使用,暂存输入的乘数A与乘数B,输出新的乘数A1与新的乘数B1。
移位单元1对新的乘数B1左边补15个0,并对其左移15-j位,生成新的移位结果1。移位单元2对新的乘数B1左边补15个0,并对其左移14-j位,生成新的移位结果2。
乘数A1扩展单元取乘数A1的第15-j位与第14-j位,分别对这两位进行16位扩展,得到16位的扩展结果1与16位的扩展结果2。
部分积生成单元1取新的扩展结果1与移位结果1相与生成部分积1。部分积生成单元2取新的扩展结果2与移位结果2相与生成部分积2。
加法器将当前的部分积累加和与部分积生成单元产生的两个部分积相加生成新的部分积累加和,初始计算部分积累加和为0。
部分积累加和存储器存储每次运算产生的新的部分积累加和。
令j=j+2,重复进行以上步骤,直至j=14,将部分积累加和存储器的乘积结果输出至结果寄存器Q与R。
在本实施例中,16位的操作数A与16位的操作数B进行运算,每次处理两位操作数,8次迭代即可完成运算,由于运算控制计数器及相关模块的时钟频率是数据预处理模块时钟频率的2倍,而整个乘除法器的运算速度的快慢是以数据预处理模块的时钟为参考的,因此16位的操作数进行运算实际需要4个数据预处理模块时钟周期即可完成。相比现有的乘除法器,本实施例的速度提升了4倍。
本说明书中所述的只是本实用新型的较佳具体实施例,以上实施例仅用以说明本实用新型的技术方案而非对本实用新型的限制。凡本领域技术人员依本实用新型的构思通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在本实用新型的范围之内。
Claims (7)
1.一种乘除法器,用于实现任意位数无符号或有符号数除法运算和任意位数的无符号乘法运算,其特征在于,所述乘除法器包括:
一数据预处理器,所述数据预处理器与一第一操作数、一第二操作数、一乘除法运算选择信号以及一除法模式选择信号连接,根据所述一乘除法运算选择信号以及一除法模式选择信号对所述第一操作数、第二操作数进行处理,当所述乘除法运算选择信号为除法时,所述第一操作数、第二操作数分别作为除数和被除数;当所述乘除法运算选择信号为乘法时,所述第一操作数、第二操作数分别作为乘数和被乘数;
一迭代运算单元,所述迭代运算单元与所述数据预处理器连接,用于根据所述乘除法运算选择信号,进行余数补零及除数移位,或者进行乘数移位及被乘数扩展;
一除法运算单元,所述除法运算单元与所述迭代运算单元连接,用于生成一两位商和一余数;
一乘法运算单元,所述乘法运算单元与所述迭代运算单元连接,用于生成一乘积结果;
一运算控制计数器,所述运算控制计数器与所述迭代运算单元、除法运算单元、乘法运算单元连接,所述运算控制计数器用于控制所述迭代运算单元的运算位数及运算过程;
一结果寄存器,所述结果寄存器与所述除法运算单元及乘法运算单元连接,用于存放所述商、余数或乘积结果。
2.如权利要求1所述的乘除法器,其特征在于,当所述乘除法运算选择信号为 除法时,所述数据预处理器对所述第一操作数和第二操作数取绝对值,并生成一商符号位;当被除数为零时,产生一溢出标志;当所述乘除法运算选择信号为乘法时,所述数据预处理器作为一数据缓冲器。
3.如权利要求1所述的乘除法器,其特征在于,所述结果寄存器包括第一寄存器和第二寄存器,所述第一寄存器用于存放所述商或所述乘积结果的高位部分,所述第二寄存器用于存放所述余数或所述乘积结果的低位部分。
4.如权利要求1所述的乘除法器,其特征在于,所述运算控制计数器、除法运算单元以及乘法运算单元的时钟频率是所述数据预处理器的m倍,m为自然数。
5.如权利要求1所述的乘除法器,其特征在于,所述迭代运算单元包括一补零单元、移位单元以及一乘数扩展单元,所述补零单元及移位单元与所述除法运算单元连接,所述移位单元与所述乘数扩展单元与所述乘法运算单元连接;当所述乘除法运算选择信号为除法时,所述补零单元根据商的位数对当前余数与第一级余数进行补0,产生两个补零结果;所述移位单元根据所述运算控制计数器的计数值,对新的除数或乘数进行两次左移位,产生两个移位结果;所述乘数扩展单元根据用于根据运算控制计数器的计数值,取被乘数的两位,分别对被乘数的每一位数进行扩展,产生与乘数位数相同的两个扩展结果。
6.如权利要求1所述的乘除法器,其特征在于,所述除法运算单元包括:
一两位商生成器,用于根据余数补零后生成的第一补零结果、第二补零结果及除数移位后生成的第一移位结果、第二移位结果,根据所述第一第二补零结果与所述第一第二移位结果交叉搭配并判断大小生成一两位商;
一商位存储器,用于保存每次迭代运算产生的两位商并产生所述商;
一余数生成器,用于根据所述两位商,分别用余数减去第一次移位结果生成第一级余数,用所述第一级余数减去第二次移位结果生成第二级余数,在初始 阶段所述余数是取绝对值后的被除数;
一余数存储器,用于保存所述第二级余数并产生所述余数。
7.如权利要求1所述的乘除法器,其特征在于,所述乘法运算单元包括:
一部分积生成单元,用于根据所述乘数移位后产生的两个扩展结果和被乘数扩展后产生的两个移位结果进行位与,生成第一部分积和第二部分积;
一加法器,用于累加所述第一部分积、第二部分积以及一部分积累加和存储器的当前值;所述部分积累加和存储器存储所述加法器的输出值生成一乘积结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201420548842.6U CN204143432U (zh) | 2014-09-23 | 2014-09-23 | 一种乘除法器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201420548842.6U CN204143432U (zh) | 2014-09-23 | 2014-09-23 | 一种乘除法器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN204143432U true CN204143432U (zh) | 2015-02-04 |
Family
ID=52420106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201420548842.6U Active CN204143432U (zh) | 2014-09-23 | 2014-09-23 | 一种乘除法器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN204143432U (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104375802A (zh) * | 2014-09-23 | 2015-02-25 | 上海晟矽微电子股份有限公司 | 一种乘除法器及运算方法 |
CN107153522A (zh) * | 2017-04-21 | 2017-09-12 | 东南大学 | 一种面向人工神经网络计算的动态精度可配近似乘法器 |
-
2014
- 2014-09-23 CN CN201420548842.6U patent/CN204143432U/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104375802A (zh) * | 2014-09-23 | 2015-02-25 | 上海晟矽微电子股份有限公司 | 一种乘除法器及运算方法 |
CN104375802B (zh) * | 2014-09-23 | 2018-05-08 | 上海晟矽微电子股份有限公司 | 一种乘除法器及运算方法 |
CN107153522A (zh) * | 2017-04-21 | 2017-09-12 | 东南大学 | 一种面向人工神经网络计算的动态精度可配近似乘法器 |
CN107153522B (zh) * | 2017-04-21 | 2020-10-02 | 东南大学 | 一种面向人工神经网络计算的动态精度可配近似乘法器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104375802A (zh) | 一种乘除法器及运算方法 | |
CN105955706B (zh) | 一种除法器及除法运算方法 | |
US11853718B2 (en) | Small multiplier after initial approximation for operations with increasing precision | |
CN102231102B (zh) | 基于余数系统的rsa密码处理方法及协处理器 | |
JP2001520775A (ja) | 算術プロセッサ | |
CN102662628B (zh) | Rsa加密算法的指令优化处理器 | |
CN105335127A (zh) | Gpdsp中支持浮点除法的标量运算单元结构 | |
CN111242293B (zh) | 一种处理部件、数据处理的方法以及电子设备 | |
CN100367191C (zh) | 一种快速流水线型除法器 | |
CN109388373B (zh) | 用于低功耗内核的乘除法器 | |
CN104090737A (zh) | 一种改进型部分并行架构乘法器及其处理方法 | |
CN102231101A (zh) | 一种除法器及除法处理方法 | |
CN204143432U (zh) | 一种乘除法器 | |
CN101295237A (zh) | 求商和余数的高速除法器 | |
CN103176948A (zh) | 一种低成本的单精度初等函数运算加速器 | |
CN101866278B (zh) | 一种异步迭代的64位整型乘法器及其计算方法 | |
CN102063284A (zh) | 一种除法运算方法及装置 | |
Niwal et al. | Design of radix 4 divider circuit using SRT algorithm | |
Khan et al. | Low area ECC implementation on FPGA | |
CN102646033B (zh) | 提供了加密和签名功能的rsa算法的实现方法和装置 | |
Kaivani et al. | High-frequency sequential decimal multipliers | |
Kumar et al. | VLSI architecture of pipelined booth wallace MAC unit | |
CN104951279A (zh) | 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 | |
CN205899527U (zh) | 一种除法器 | |
Murali et al. | An optimized implementation of vedic multiplier using barrel shifter in FPGA technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |