CN100367191C - 一种快速流水线型除法器 - Google Patents

一种快速流水线型除法器 Download PDF

Info

Publication number
CN100367191C
CN100367191C CNB2005100298581A CN200510029858A CN100367191C CN 100367191 C CN100367191 C CN 100367191C CN B2005100298581 A CNB2005100298581 A CN B2005100298581A CN 200510029858 A CN200510029858 A CN 200510029858A CN 100367191 C CN100367191 C CN 100367191C
Authority
CN
China
Prior art keywords
unit
output
input
multiplier
merchant
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
CNB2005100298581A
Other languages
English (en)
Other versions
CN1740962A (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.)
INESA Electron Co., Ltd.
Original Assignee
Central Academy of SVA Group Co Ltd
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 Central Academy of SVA Group Co Ltd filed Critical Central Academy of SVA Group Co Ltd
Priority to CNB2005100298581A priority Critical patent/CN100367191C/zh
Publication of CN1740962A publication Critical patent/CN1740962A/zh
Application granted granted Critical
Publication of CN100367191C publication Critical patent/CN100367191C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明涉及一种除法器,其包括:依次电路连接的规格化单元,第一级乘法器单元,第二级乘法器单元,商截位单元;且规格化单元和第二级乘法器单元之间还连接一查表单元;规格化单元还有一输出连接商截位单元的输入;规格化单元根据输入的有效信号标明的被除数(X)和除数(Y),输出使能信号和该乘法器的被乘数和乘数至第一级乘法器单元;输出移位参考信号至商截位单元;并输出查表地址至查表单元相应的查表地址。本发明可以在集成电路(以及与之相关的可编程逻辑器件)的算法程序中被采用,以处理数学运算中的除法操作。其结构简单,使用的元器件少,运算速度快。

Description

一种快速流水线型除法器
技术领域
本发明涉及一种快速流水线型除法器,具体的说,是涉及一种可应用在数字图像处理、数字信号处理、通讯等领域的集成电路算法程序中的快速流水线型除法器。
背景技术
在数字信号处理、通讯以及图像处理中,经常会用到除法运算。在实现除法运算的大多数程序中,由于相对应的处理器没有除法运算单元,使得编译器需要调用事先设计好的算法库才能实现,其缺点是执行时间长,在实时系统等特定的场合下不宜有效运行。在集成电路和可编程逻辑器件的算法设计中,现有芯片中并没有实现除法功能的芯片,在硬件描述语言中也没有可综合的除法语句,EDA提供商Synopsys和Cadence等公司没有提供相应的设计库。Xinlix等可编程逻辑器件设计厂商提供了除法器IP,但是不宜于移植,资源消耗过大,运算时间太长缺点。
中国专利,申请号为95107302公开了一种无需硬件的二位元除法运算方法与装置,该方法与装置采用二进制的位移及加法的技巧以减化除法的运算过程,但它是以微处理器为运算平台,由指令实现的除法运算;而中国专利申请号为89106625.X采用了二级运算构成的冗余码与地区性混合使用的冗余码加法单元组成除法阵列,并采用二选一的选择器构成将冗余码的商直接转换成二进制形式的阵列转换电路,其电路结构较复杂;美国专利54854147,其电路中包括有乘法运算单元,电路结构也较复杂。这些专利的共同缺点是结构复杂,使用元器件较多,且运算速度慢,无法满足在数字电路中的一些特定应用。
发明内容
本发明的目的在于提供一种快速流水线型除法器,其可以在集成电路(以及与之相关的可编程逻辑器件)的算法程序中被采用,以处理数学运算中的除法操作。其结构简单,使用的元器件少,运算速度快。
为达到上述目的,本发明提供的除法器组成包括:
依次电路连接的规格化单元,第一级乘法器单元,第二级乘法器单元,商截位单元;且规格化单元和第二级乘法器单元之间还连接一查表单元;规格化单元还有一输出连接商截位单元的输入;
规格化单元根据输入的有效信号标明的被除数(X)和除数(Y),输出使能信号和该乘法器的被乘数和乘数至第一级乘法器单元;输出移位参考信号至商截位单元;并输出查表地址至查表单元相应的查表地址;
规格化单元的具体设计需要对被除数和除数分别进行,方法是:当输入的操作有效时,被除数和除数将分别向左移位直至最高位为1,并记下最终的结果(x,y)和所移位的位数(Ex,Ey)。然后将对x、y、Ex、Ey进行下一步的运算:x作为输入到第一级乘法器单元的被乘数输出;取y的高h位,减去剩余的低位数据生成一个新的数据,作为输入到第一级乘法器单元的乘数输出;取y的高h位作为输入到查表单元相应的寻表地址;输入到截位单元的移位参考信号则是Ex和(Ey-2)之差;
上述操作在一个时钟周期内完成,因此输入到第一级乘法器单元的使能信号,在输入有效信号有效后的下一时钟输出,以使能第一级乘法器单元运算。在进行流水线作业的情况之下,输入有效信号有效后的下一时钟既可以继续输入数据进行除法运算。
第一级乘法器单元根据规格化单元的输出的使能信号,对规格化单元输出的被乘数和乘数进行乘法运算,再把结果输入到第二级乘法器单元;此外,还向第二级乘法器单元发出使能信号;
上述操作在一个时钟周期内完成,因此输入到第二级乘法器单元的使能信号,在输入有效信号有效后的下一时钟输出,以使能第二级乘法器单元。在进行流水线作业的情况之下,输入有效信号有效后的下一时钟既可以继续进行下一个数据运算。
由于绝大多数的处理器中均集成了乘法单元,所以算法程序中使用乘法运算无需调用库函数,可以直接进行运算;在集成电路(以及与之相关的可编程逻辑器件)设计中,EDA提供商,也都提供了可方便实用、可移植的IP可使用。所以乘法器单元的设计不属于本设计之列。
查表单元根据规格化单元输出查表单元相应的查表地址,将事先存放在其中的数据取出,输出到第二级乘法器单元,以完成第三级运算。
查表单元中存放的是运算过程中需要的一个表,其数据根据运算预先得到。由于表的输出精度对商的影响较大,需要根据商的精度要求预先计算表中的输出数据的位宽,从而影响到表所需要的硬件资源,根据实际需要可以将之做成ROM或者由纯组合逻辑电路实现。
表中的数据是根据对除数的倒数利用优化后的Taylor级数展开,然后取一个近似值,表输出的结果在除法器中是作为一个纯小数计算。
上述的查表操作可以在一个时钟周期内完成。
第二级乘法器单元根据第一级乘法器单元发出使能信号,将由第一级乘法器单元输出的数据作为被乘数,查表得出的数据作为乘数,进行运算得出最终的输出。
上述操作在一个时钟周期内完成,因此输入到商截位单元的使能信号,在输入有效信号有效后的下一时钟输出,以使能截位单元。在进行流水线作业的情况之下,输入有效信号有效后的下一时钟可以继续进行下一个数据运算。
第二级乘法器单元的设计和第一级乘法器单元的设计基本一致。
商截位单元根据规格化单元输出的移位参考信号,将第二级乘法器单元的输出进行格式化,得到商的整数部分和小数部分。
商截位单元的设计完全是根据输入的移位参考信号判断得出。由于商截位单元的复杂度较低,所以在实际应用中,可以和其他逻辑电路混合使用,从而使该除法器可以在3个时钟周期内完成运算。
上述操作在一个时钟周期内完成,因此输出的商有效信号,在输入有效信号有效后的下一时钟输出。
从原始数据输入到输出至少需4个时钟周期。
本发明的特征在于如果是逐个进行除法运算时,最快可以在4个时钟周期内完成,更为重要的是该设计支持流水线操作,当被除数和除数随着时钟连续输入,则可以由内部机制形成流水线执行方式,数据运算时间平均在(N+3)/N个时钟内完成。
本发明可以判断当除数为0时,输出的商为可行的最大值,由于这个除法器是完全可控的,因此,具体的输出结果还可以根据实际需要作出相应的调整。
附图说明
图1是本发明的实施流程图;
图2是本发明的实施结构图;
具体实施方式
以下,以被除数(X)最大为20比特,除数(Y)最大为10比特的实施例,根据图1所示的流程图和图2所示的结构图,进一步说明本发明。图中X表示输入的被除数,Y表示输入的除数,Q表示输出的商。其中图2基本是以时钟为参考,一行表示需要一个时钟,同一行有2个单元,如第一行中,有个规格化单元,第二行中,有第一级乘法器和查表单元,表示这两个单元可以并行进行。
根据本发明,在FPGA上实现一个20位除10位的除法器,并进行仿真。取X数为20比特的操作数,Y为10比特的操作数,商为10比特,即商的值域绝对区间为[0,256.75],误差为最后一个单元位。当商大于1时,如果整数位取8比特,则误差为1/4;当商小于1时小数位可以取到小数点后10位,误差为1/1024,以此类推。
在本实施例中X取9.EF45(十六进制),即1001.1110 1111 0100 0101(二进制),Y取1F.38(十六进制),即1 1111.0011 100(二进制)。(如不作特别说明,以下括号中的数据都是十六进制。)
时钟1:如图2所示的两个规格化单元,根据输入的有效信号标明的X和Y,把X和Y规格化表示纯小数的值x(0.9EF45)和y(0.F9C),其对应的移、位参考信号分别是Ex(4)和Ey(5)。其中的公式可见图1,考虑到数的正负性,对于正负号的运算不在本发明中进行,因而在公式中用绝对值的形式来表示。
除法器在接收到数据时先检测Y是否为零,如果是,在下面的3个时钟中将不做任何事情,待第4个时钟,输出FFF,并将warning拉高1个时钟周期。如图1所示,当Y=0时,Q=MAX,输出。这个过程可以在对Y进行规格化时完成,因而在图2中没有进行表示,包含在了对Y的规格化单元中。
当除法器在接收到数据时先检测Y不是为零时,x作为输入到第一级乘法器单元的被乘数输出;取y的高6位(yh=0.3E),减去剩余的低4位(yl=0.01C)数据生成一个新的数据(y=0.F64),作为输入到第一级乘法器单元的乘数输出;取y的高6位作为输入到查表单元相应的寻表地址;输入到截位单元的移位参考信号则是Ex和(Ey-2)之差(E=Ex-Ey+2=1)。
输入到第一级乘法器单元的使能信号,在输入有效信号有效后的下一时钟输出,以使能第一级乘法器单元运算。在进行流水线作业的情况之下,输入有效信号有效后的下一时钟既可以继续输入数据进行除法运算。
图1和图2是为了表述本发明的算法过程,对于使能信号和有效信号等电路信号信息未在图中加以表示,下同。
时钟2:并行实现两个过程,第一级乘法和查表,如图2的结构所示:
第一级乘法器单元根据规格化单元的输出的使能信号,对x和(yh-yl)作乘法运算,截取乘积的高20位(0.98E68)输入到第二级乘法器单元;此外,还向第二级乘法器单元发出使能信号。
查表单元根据yh进行寻址,将事先存放在其中的数据取出(0.443),输出到第二级乘法器单元。由于yh的最高位必定为1,因此只需要根据yh的低5位进行寻址,表中共有32个单元,每个单元12比特,共计384比特。
时钟3:第二级乘法器单元根据第一级乘法器单元输出的20位数据作为被乘数,查表得出的12位数据作为乘数,把乘积的高18位(0.28B9E)输出到商截位单元。
时钟4:商截位单元根据规格化单元输出的移位参考信号(E=1),将第二级乘法器单元的输出结果整体向左移1位,如果E是负值则向右移。此时结果的高8位是整数位,低10位是小数位,本实施例中即得到商的整数部分(0)和小数部分(0.514)。即为所得商Q(0.514),转换成二进制为0.0101 0001 01。
在图1中把第二级乘法和商截位运算在一个公式中表示了,即M2的计算。
而在计算机中直接计算X/Y,对商取12位,则商为(0.517),即二进制为0.0101 0001 0111。在本实施例中本发明所得的结果在前10位与计算机所得结果相同。
在另一实施例中取X为E916,Y取EA,则由本发明的除法器所得的商为FE.C,而由计算机直接计算所得的结果为FF.O,误差为1/4,即商的最后1位。
本发明的应用对象可以是集成电路(以及与之相关的可编程逻辑器件),以及相应的算法程序中。

Claims (8)

1.一种除法器,其包含:
依次电路连接的规格化单元,第一级乘法器单元,第二级乘法器单元,商截位单元;且规格化单元和第二级乘法器单元之间还连接一查表单元;规格化单元还有一输出连接商截位单元的输入;
规格化单元根据输入的有效信号标明的被除数X和除数Y,输出使能信号和该乘法器的被乘数和乘数至第一级乘法器单元;输出移位参考信号至商截位单元;并输出查表地址至查表单元相应的查表地址;
所述的规格化单元的设计需要对被除数和除数分别进行:
当输入的操作有效时,被除数和除数将分别向左移位直至最高位为1,并记下最终的结果x,y和所移位的位数Ex,Ey;
然后对将x、y、Ex以及Ey进行下一步的运算:x作为输入到第一级乘法器单元的被乘数输出;取y的高h位,减去剩余的低位数据,作为输入到第一级乘法器单元的乘数输出;取y的高h位作为输入到查表单元相应的查表地址;输入到商截位单元的移位参考信号则是Ex和(Ey-2)之差;
第一级乘法器单元根据规格化单元的输出的使能信号,对规格化单元输出的被乘数和乘数进行乘法运算,然后将结果输入到第二级乘法器单元;此外,还向第二级乘法器单元发出使能信号;
查表单元根据规格化单元输出查表单元相应的查表地址,将事先存放在其中的数据取出,输出到第二级乘法器单元,以完成第三级运算;
第二级乘法器单元根据第一级乘法器单元发出使能信号,将由第一级乘法器单元输出的数据作为被乘数,查表得出的数据作为乘数,进行运算得出最终的输出;
商截位单元根据规格化单元输出的移位参考信号,将第二级乘法器单元的输出进行格式化,得到商的整数部分和小数部分。
2.如权利要求1所述的除法器,其特征在于,所述的规格化单元的操作在一个时钟周期内完成,即根据当前输入的有效信号,该单元输出的使能信号相应的延迟一个时钟周期,得到输入到第一级乘法器单元的使能信号。
3.如权利要求1所述的除法器,其特征在于,所述第一级乘法器单元的操作在一个时钟周期内完成,因此输入到第二级乘法器单元的使能信号,在输入有效信号有效后的下一时钟输出,以使能第二级乘法器单元。
4.如权利要求3所述的除法器,其特征在于,所述查表单元中存放的是运算过程中需要的一个表,其格式为32个12比特的数据组成,其数据运算得出,该表共384个位单元,将之做成ROM或者由纯组合逻辑电路实现。
5.如权利要求4所述的除法器,其特征在于,所述查表单元中表的数据是根据优化后的Taylor级数展开对除数的倒数取一个近似值,表输出的结果是作为一个12比特的纯小数计算;且该操作在一个时钟周期内完成,查表单元采用寄存器方式输出。
6.如权利要求4所述的除法器,其特征在于,所述第二级乘法器单元的操作在一个时钟周期内完成,因此输入到商截位单元的使能信号,在输入有效信号有效后的下一时钟输出,以使能截位单元。
7.如权利要求6所述的除法器,其特征在于,所述商截位单元根据输入的移位参考信号判断得出,和其他逻辑电路混合使用,使该除法器可以在3个时钟周期内完成运算。
8.如权利要求7所述的除法器,其特征在于,所述商截位单元的操作在一个时钟周期内完成,输出的商有效信号,在输入有效信号后的下一时钟输出;在流水线作业过程中,根据当前输入的有效信号该单元输出的商有效信号相应的延迟一个时钟周期。
CNB2005100298581A 2005-09-22 2005-09-22 一种快速流水线型除法器 Active CN100367191C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100298581A CN100367191C (zh) 2005-09-22 2005-09-22 一种快速流水线型除法器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100298581A CN100367191C (zh) 2005-09-22 2005-09-22 一种快速流水线型除法器

Publications (2)

Publication Number Publication Date
CN1740962A CN1740962A (zh) 2006-03-01
CN100367191C true CN100367191C (zh) 2008-02-06

Family

ID=36093367

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100298581A Active CN100367191C (zh) 2005-09-22 2005-09-22 一种快速流水线型除法器

Country Status (1)

Country Link
CN (1) CN100367191C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615404A (zh) * 2015-02-15 2015-05-13 浪潮电子信息产业股份有限公司 一种基于查表操作的高速浮点除法部件装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101295237B (zh) * 2007-04-25 2012-03-21 四川虹微技术有限公司 求商和余数的高速除法器
CN101685384B (zh) * 2008-09-23 2011-10-26 华晶科技股份有限公司 容许误差的整数除法运算电路
US8819094B2 (en) * 2009-06-10 2014-08-26 Synopsys, Inc. Multiplicative division circuit with reduced area
CN102231101B (zh) * 2011-07-29 2015-02-25 电子科技大学 一种除法器及除法处理方法
CN108595147B (zh) * 2018-01-02 2021-03-23 上海兆芯集成电路有限公司 具有级数运算执行电路的微处理器
CN115407965B (zh) * 2022-11-01 2023-03-24 南京航空航天大学 一种基于泰勒展开的高性能近似除法器及误差补偿方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5563818A (en) * 1994-12-12 1996-10-08 International Business Machines Corporation Method and system for performing floating-point division using selected approximation values
JP2003303096A (ja) * 2002-04-11 2003-10-24 Olympus Optical Co Ltd 除算回路
US6782405B1 (en) * 2001-06-07 2004-08-24 Southern Methodist University Method and apparatus for performing division and square root functions using a multiplier and a multipartite table
CN1539102A (zh) * 2001-08-07 2004-10-20 ��˹��ŵ�� 执行除法的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5563818A (en) * 1994-12-12 1996-10-08 International Business Machines Corporation Method and system for performing floating-point division using selected approximation values
US6782405B1 (en) * 2001-06-07 2004-08-24 Southern Methodist University Method and apparatus for performing division and square root functions using a multiplier and a multipartite table
CN1539102A (zh) * 2001-08-07 2004-10-20 ��˹��ŵ�� 执行除法的方法和装置
JP2003303096A (ja) * 2002-04-11 2003-10-24 Olympus Optical Co Ltd 除算回路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A Novel Divider Based on Dual-Bit Algorithm. LI,XIA,SUN,HUI,ZHANG,QIANLING.半导体学报,第25卷第6期. 2004 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615404A (zh) * 2015-02-15 2015-05-13 浪潮电子信息产业股份有限公司 一种基于查表操作的高速浮点除法部件装置

Also Published As

Publication number Publication date
CN1740962A (zh) 2006-03-01

Similar Documents

Publication Publication Date Title
CN100367191C (zh) 一种快速流水线型除法器
CN106325810B (zh) 微处理器
CN102231102B (zh) 基于余数系统的rsa密码处理方法及协处理器
CN103838549A (zh) 在浮点操作中功率降低的方法
CN105335127A (zh) Gpdsp中支持浮点除法的标量运算单元结构
CN104375802A (zh) 一种乘除法器及运算方法
CN101506771B (zh) 多级浮点累加器
CN103984522B (zh) Gpdsp中定点和浮点混合除法的实现方法
CN100543666C (zh) 一种定点除法器及其实现运算的方法
JPH10228378A (ja) マイクロプロセッサ内の共有データパスを介して整数データ及び浮動小数点データを通信する方法並びに処理装置
CN101986259B (zh) 无符号定点除法器
CN103135960A (zh) 一种基于fpga的集成浮点运算器的设计方法
CN102253822B (zh) 一种模(2^n-3)乘法器
CN1280707C (zh) 一种除法器
Kaivani et al. High-frequency sequential decimal multipliers
CN204143432U (zh) 一种乘除法器
CN101727434A (zh) 一种特定应用算法专用集成电路结构
Alecsa et al. FPGA implementation of a matrix structure for integer division
CN103677735B (zh) 一种数据处理装置及数字信号处理器
CN2847379Y (zh) 一种快速除法器
CN103699729A (zh) 模乘法器
Dieter et al. Low-cost microarchitectural support for improved floating-point accuracy
US7720901B1 (en) Multiplier operable to perform a variety of operations
Chang et al. Fixed-point computing element design for transcendental functions and primary operations in speech processing
Seshasayana et al. Implementation of novel pipeline VLIW architecture in FPGA

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
ASS Succession or assignment of patent right

Owner name: GUANGDIAN ELECTRONIC CO., LTD., SHANGHAI

Free format text: FORMER OWNER: CENTRAL RESEARCH ACADEMY OF SVA GROUP

Effective date: 20120615

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120615

Address after: 200233 No. 168, Shanghai, Tianlin Road

Patentee after: Guangdian Electronic Co., Ltd., Shanghai

Address before: 200233, No. 2, building 757, Yishan Road, Shanghai

Patentee before: Central Institute of Shanghai Video and Audio (Group) Co., Ltd.

C56 Change in the name or address of the patentee

Owner name: INESA ELECTRON CO., LTD.

Free format text: FORMER NAME: SVA ELECTRON CO., LTD.

CP03 Change of name, title or address

Address after: 200233 Building 1, building 200, Zhang Heng Road, Zhangjiang hi tech park, Shanghai, Pudong New Area, 2

Patentee after: INESA Electron Co., Ltd.

Address before: 200233 No. 168, Shanghai, Tianlin Road

Patentee before: Guangdian Electronic Co., Ltd., Shanghai