一种冗余码高速阵列除法器的制作方法

文档序号:6405570阅读:460来源:国知局
专利名称:一种冗余码高速阵列除法器的制作方法
技术领域
本发明涉及到一种冗余码高速阵列除法器,适用于计算机高速运算及高速实时信号处理等技术领域。
在用计算机从事科学计算及日益推广的数字信号处理等技术领域中,除法运算被大量地应用于解决各种实际问题,因此,几乎所有的计算机、单片机都为用户提供了除法功能或特殊设计指令,这些除法功能和指令使用户可以方便地进行除法运算。一般计算机、单片机的除法功能是由软件编程来实现的。然而在高速计算、高速实时信号处理等应用领域,这种用软件实现除法功能的办法就难以满足速度的要求,为此,研制高速除法器已为本领域的科技人员所关注。目前阵列除法器是高速除法器中的一种,由于其电路采用阵列处理,避免了多周期迭代,使其速度有所提高,但这种阵列除法器仍有不足之处由于阵列除法器通常是采用恢复余数算法或不恢复余数算法设计的阵列形式,在电路实现中均采用一般加法单元组成阵列,这使得每一次减法运算都包含一个长度为N(N为除数位数宽度,为方便其见,设被除数、除数及商的位数宽度均为N)的进位链的形成过程,所以其运算时间(在产生N位商时)正比于N,使除法器速度仍不能满足实际应用的需要。附图1给出的是一种以不恢复余数算法设计的除法阵列,它由普通的二进制加法单元1-1构成,R0R1R2……Rn为被除数,D0D1D2……Dn为除数,Q0Q1Q2……Qn为商。每个加法单元均含有一个二进制全加器和一个异或门(“计算机数学-原理、结构与设计”第267至270页,黄凯著,1979年出版(Kai Huang“Computer Arithmetic-Principles,Architecture and Design”John Wiley & Son,1979,P267~270))。若以冗余码加法单元代替普通加法单元并采用SRT算法就可消除进位链带来的延迟,这是因为冗余码加法器的通常算法是将二个采用冗余码表示的数相加而得到一个冗余码的和。
如A=a0a1……an,B=b0b1……bn
A、B均由冗余码表示,即ajbj∈{-1,0,1}当计算S=A+B时,计算需分三步进行(1)S1j+2C1j=aj+bjS1j∈{0,-1,-2} C1j∈{0,1}(2)S2j+2C2j=S1j+C1j+1S2j∈{0,1} C2j∈{0,-1}(3)S3j=S2j+C2j+1S3j∈{-1,0,1}由上述三步计算可知,每一位“和”仅由三位输入决定(Sj由aj、bj;aj+1、bj+1;aj+2、bj+2决定),即进位链长度为2,与A、B的位数N无关,这时的输出延迟对于各位来说都是一样的,不存在从低位一直延伸至最高位的串行进位链,其电路构成如附图2所示(美国电气电子工程师协会出版的《计算机设计与超大规模集成电路会议录》1987年刊载的“采用冗余码的高速乘法器”第414至417页,作者欧默·卡尔(Omer Kal“High Speed Multiplier Design Using Redundant Signed Digit Number”IEEE Conference on Computer DesignIn VLSI,1987 P414-417))。但是,采用冗余码加法器,使商成为以冗余码表示的数,最后需用一个N位加法器将冗余码表示的商转换为普通二进制数,即由{1,0,-1}表示的商转换为{0,1}表示。因此使除法器又需增加一个N位加法器的延迟,使除法器的速度受到影响。
本发明的目的是针对现有阵列除法器存在之不足,设计一种新型除法器,消除进位链带来的延迟,提高运算速度。
本发明的技术要点是在电路上采用式为(1)S1j+2C1j=ri-1,j+djri-1,j∈{-1,0,1} dj∈{0,1}S1j∈{0,-1} c1j∈{0,1}(2)ri,j=s1j+c1j+1ri,j∈{-1,0,1}(其中 D=d0d1……dN为除数Ri-1=ri-1,0ri-1,1…ri-1,N为i-1级余数输出Ri=ri,0ri,1…ri,N为i级余数输出)的二级运算构成冗余码与二进制混合使用的冗余码加法单元组成N行N列除法阵列,每一行冗余码加法器的输出端均接有一个商选择器,商选择器的输出端接有将冗余码表示的商直接转换成二进制的商的阵列转换电路,阵列转换电路是由二选一的转换单元组成的;在算法上采用基-2SRT算法,商选择器以冗余码加法器运算所得的余数的最高三位有效位为电路输入,逻辑判断后产生一位冗余码表示的予测商,一路送下一级冗余码加法器,使其完成一次以上一级余数和除数为操作数的加法(或减法)运算并得出余数,另一路送相应排转换电路最低位的输入端和其它各位的控制端,使最低位转换单元完成对予测商的转换,使其它各位转换单元进行一次对上一排转换单元输出的调整,将冗余码表示的商转换成二进制表示的商,第一行冗余码加法器输入的除数、被除数均为二进制,在算法上强令最高位予测商为1。
下面结合附图对本发明进行详细描述本发明由冗余码与二进制混合使用的冗余码加法单元3-11、3-12、商选择器3-21、二选一的转换单元3-31、3-32组成的阵列转换电路构成,如附图3所示。D0D1…DN为除数,R0R1…RN为被除数,Q0Q1……QN为商,除数、被除数及商均以二进制表示。本发明在算法上采用基-2SRT算法。
3-12是采用式为(1)S1j+2C1j=ri-1,j+djri-1,j∈{-1,0,1} dj∈{0,1}s1j∈{0,-1} c1j∈{0,1}(2)ri,j=s1j+c1j+1ri,j∈{-1,0,1}(其中D=d0d1…dN为除数Ri-1=ri-1,0ri-1,1…ri+1,N为i-1级余数输出Ri=ri,0ri,1…ri,N为i级余数输出)的二级运算构成的冗余码与二进制混合使用的冗余码加法单元,用它组成除法阵列。由上式可见,电路仅需二级,进位链长度仅为1,与除数和被除数的位数N无关,因此,以它构成的除法阵列与普通的加法单元构成的除法阵列相比,消除了由进位链带来的延迟,使运算速度大大提高;与普通冗余码加法单元构成的除法阵列相比,省掉了一个N位加法器,不仅速度加快,而且节省三分之一的器件,引线也大为减少,这在VLSI实现中有很大意义。
3-11是除法阵列第一行单元电路,由于输入的被除数R0R1…RN和除数D0D1…DN均为二进制数据,其输出的余数是冗余码,所以这一级电路可简化为简单的门电路。如果进一步对冗余码编码进行调整,这一级电路可以省掉,使被除数与除数直接连至下一级。
3-21商选择器。
由于SRT除法中商qi有三种{1,0,-1}可能的取值,也就有三种可能出现的余数Ri
对应三种余数的取值,商q的取值分别是
由上式可见,商的选择是由上一级的余数Ri与除数D共同决定的,这使求商的时间远远大于冗余码加法运算所用的时间,在电路实现上也比较复杂,为提高速度和简化电路,本发明采用下列公式来确定商q
其中ri,0ri,1ri,2为上一级余数的最高三位,使商选择器简化成不超过二级门电路,由上式还可看出商qi+1决定后,才能进行减法以求出本级余数Ri+1,故本发明说明书中称此商为予测商。
3-31、3-32转换单元组成的阵列转换电路是针对SRT除法需引入加法器而带来的附加延迟问题,提供的一种将冗余码的商直接转换为二进制形式的阵列转换电路。
设QN=q0q1…q为冗余码的商,在计算中商是由高位产生,即由最高位q0至最低位qN依次得出,令Qi=q0q1…qN为冗余码形式的商Q1i=q10q11…q1N为转换后的二进制表示的商。
i=0,1,2……N在归一化小数除法中q0=1所以Q10=1当qi求出后,由Q1i=Q1i-1+qi·2-i得qi=1时 Q1i=Q1i-1+2-iqi=0时 Q1i=Q1i-1qi=-1时 Q1i=Q1i-1-2-i由上述转换可见,如出现qi=-1时,就可能会有-2-i,即可能出现进位,这是SRT除法中必须引入加法器的原因所在,而在qi=1或qi=0时,就不会出现进位,本发明利用这一特点,引入一辅助商Q2,令Q2i=Q1i-1-2-iQ20=0经公式转换,可得到Q1与Q2的迭代关系
由此可见-2-i被消除了,商Qi随着每一位qi的产生均可直接由Q1i-1Q2i-1转换得到二进制对应的结果,当qN产生后Q1N即为转换结果,同时可见,高位商不必由低位向上逐位计算,而是随每一位商的产生,对高位商进行选择调整,电路实现仅是二选一的选择器。
本发明的优点是1.采用了二级运算构成的冗余码与二进制混合使用的冗余码加法单元组成的除法阵列,消除了进位链带来的延迟,提高了运算速度,并节省了1/3器件,引线大大减少,易于集成,降低了成本;2.采用不超过二级的门电路构成商选择器,简化了电路,提高了运算速度;3.采用二选一的选择器构成将冗余码表示的商直接转换成二进制表示的商的阵列转换电路,消除了SRT除法由加法器引入的附加延迟,提高运算速度。
实施例附图4是一个4位(N=4)的归一化小数除法器,它由冗余码与二进制混合使用的冗余码加法单元4-11、4-12组成的除法阵列、3个商选择器4-21、转换单元4-31、4-32组成的阵列转换电路构成。在电路中,冗余码余数的表示方法采用每位冗余码用2条数据线表示,“01”表示+1,“10”表示-1,00表示0,“11”表示任意项,除数则采用补码表示(当然也可表示为符号+绝对值形式),R0R1…R6为被除数,D0D1…D3为除数,Q0Q1…Q3为商。被除数、除数及商均为二进制表示形式。
4个冗余码与二进制混合使用的冗余码加法单元4-11组成除法阵列的第一行,其输入的被除数、除数均为普通二进制数,其输出为冗余码表示的余数。电路如附图5所示,r为被除数,d为除数,r1r2为冗余码表示的余数。12个冗余码与二进制混合使用的冗余码加法单元4-12组成除法阵列的第二、三、四行,其电路如附图6所示。P、n为上一级余数高三位经商选择器形成的予测商,d为除数,a1a2为上一级产生的余数,r1r2为本级运算所得余数,Ci为进位输入,Co为进位输出。由电路可知Co不由Ci决定,不存在串行进位链。本电路采用回复余数形式。
3个商选择器4-21分别接在除法阵第一行至第三行的冗余码加法器的输出端,其电路为附图7所示的一级与或门构成,输入信号为冗余码加法器输出余数的高三位ah、am、al,其中ah1、ah2为最高位,am1、am2为次高位,al1、al2、为第三位,其输出为所形成的予测商P和n,P=1表示商为+1,n=1则表示商为-1。
P=ah1am2al1+ah2(am1+al1)n=ah2am1al2+ah1(am2+al2)予测商p、n一路送下一级冗余码加法器使其完成一次以上一级余数和除数为操作数的加法(或减法)运算并得出余数,另一路送阵列转换电路进行调整,使冗余码表示的商转换成二进制表示的商。
二选一的转换单元4-31、4-32构成阵列转换电路,阵列转换电路的第一排仅含一个转换单元,而后三排自上而下每排包含的转换单元个数依次加一,每排各转换单元的输出分别接下一排各转换单元的输入,第一排转换单元的输入强令为1,其后各排最低位转换单元的输入接相应商选择器的输出,而其它各位转换单元的控制端接商选择器的输出。每排转换电路的最低位转换单元4-31电路如附图8所示。最低位转换单元的输入信号为商选择器输出的予测商p、n,输出信号为a0、a′0(a0对应商,a′0对应商减去2-i)。每排转换电路的其它位的转换单元4-32如附图9所示。ai、a′i为上一级转换结果,其中ai对应商,a′i对应商减去2-i(i为第几级的级号),p、n为商选择器输出的予测商,ao,ao′为本级转换输出。对于第一排转换电路只包含一个如附图8所示的转换单元电路,其输入强令为1。


附图1 不恢复余数算法的除法阵列电路框图1-1 二进制加法单元R0R1…RN被除数D0D1…DN除数Q0Q1…QN商附图2 普通冗余码加法阵列框图2-1 冗余码加法单元aj、bj冗余码表示的数sj冗余码表示的和cj进位附图3 本发明电路框图3-11、3-12 冗余码与二进制混合使用的冗余码加法单元3-21 商选择器3-31、3-32 转换单元R0R1…HN被除数D0D1…DN除数Q0Q1…QN商附图4 4位的归一化小数除法器电路框图4-11、4-12 冗余码与二进制混合使用的冗余码加法单元4-21 商选择器4-32、4-32 转换单元
R0R1…R6被除数D0D1D2D3除数Q0Q1Q2Q3商ah、am、al 冗余码加法器输出最高三位P、n 予测商附图5 冗余码与二进制混合使用的冗余码加法单元电路(4-11)r 被除数d 除数r1r2余数附图6 冗余码与二进制混合使用的冗余码加法单元电路(4-12)P、n 予测商d 除数a1a2上一级产生的余数r1r2本级运算所得余数Ci进位输入Co进位输出附图7 商选择器电路图ah1、ah2余数最高位am1、am2余数次高位al1、al2余数第三位P、n 予测商附图8 转换单元电路(4-31)P、n 予测商a0、a0输出信号附图9 转换单元电路(4-32)
ai、a′i上一级转换结果P、n 予测商a0、a′0本级转换结果
权利要求
1.一种冗余码高速阵列除法器,其特征是在电路上采用式为(1)S1j+2C1j=ri-1,j+d; rj-1,j∈{-1,0,1} dj∈{0,1}S1j∈{0,-1} c1j∈{0,1}(2)ri,j=s1j+c1j+1ri,j∈{-1,0,1}(其中D1=d0d1……dN为除数Ri-1=ri-1,Ori-1,1…ri-1,N为i-1级余数输出Ri=i,Ori,1…ri,N为i级余数输出)的二级运算构成的冗余码与二进制混合使用的冗余码加法单元组成N行N列除法阵列,每一行冗余码加法器的输出端均接有一个商选择器,商选择器的输出端接有将冗余码表示的商直接转换成二进制商的阵列转换电路;阵列转换电路是二选一的转换单元组成;在算法上采用基-2SRT算法,商选择器以冗余码加法器运算所得余数的最高三位有效位为电路输入,逻辑判断后产生一位冗余码表示的予测商,一路送下一级冗余码加法器,使其完成一次以上一级余数和除数为操作数的加法(或减法)运算并得出余数,另一路送相应排的转换电路最低位输入端和其它各位的控制端,使最低位转换单元完成对予测商的转换,使其它各位进行一次对上一排转换单元输出的调整,将冗余码表示的商转换成二进制表示的商,第一行冗余码加法器输入的被除数、除数均为二进制,在算法上强令最高位予测商为1。
2.按照权利要求1所说的冗余码高速阵列除法器,其特征在于所说的商选择器可按布尔式P=ah1am2al1+ah2(am1+al1)n=ah2am1al2+ah1(am2+al2)构成的一级与或门电路,输入信号ah1,ah2是冗余码加法器输出余数的最高位,am1,am2是次高位,al1、al2是第三位,其输出P、n为予测商。
3.按照权利要求1和2所说的冗余码高速阵列除法器,其特征在于所说的阵列转换电路的第一排仅含一个转换单元,而后自上而下每排包含的转换单元个数依次加一,每排各转换单元的输出分别接下一排各转换单元的输入,第一排转换单元的输入强令为1,其后各排最低位转换单元的输入接相应商选择器的输出,而其它各位的转换单元的控制端接商选择器的输出。
全文摘要
本发明涉及到一种冗余码高速阵列除法器,适用于计算机高速计算及高速实时信号处理等技术领域,由于采用了二级运算构成的冗余码与二进制混合使用的冗余码加法单元组成除法阵列并采用二选一的选择器构成将冗余码的商直接转换成二进制形式的阵列转换电路,使本发明具有速度高、电路简单、便于集成等优点。
文档编号G06F7/52GK1049922SQ8910662
公开日1991年3月13日 申请日期1989年9月2日 优先权日1989年9月2日
发明者任红戈, 茅榆海 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1