專利名稱:一種超長(zhǎng)度的陣列式組合邏輯除法器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及可對(duì)任意位寬的操作數(shù)進(jìn)行單周期除法運(yùn)算操作的超長(zhǎng)度的陣列式組合邏輯除法器。
目前的除法器一般采用兩種方案1)運(yùn)用恢復(fù)余數(shù)法或加減交替法的原理,采用移位加減的方法實(shí)現(xiàn)除法運(yùn)算;2)運(yùn)用乘法無(wú)限逼近的原理,求得近似商,從而實(shí)現(xiàn)除法運(yùn)算。第一種方案運(yùn)算的速度慢,硬件控制邏輯復(fù)雜。第二種方案同第一種方案相比,雖然速度有很大的提高(一般需要3~4個(gè)機(jī)器周期),但商不準(zhǔn)確,且無(wú)法求得余數(shù)。
在實(shí)際的應(yīng)用中,人們迫切希望能夠使用一種運(yùn)算速度快、單周期內(nèi)能夠完成除法運(yùn)算,能精確保留余數(shù)和商的超長(zhǎng)位寬的除法器。
本發(fā)明的主要目的在于提供一種單周期內(nèi)能夠完成運(yùn)算、超長(zhǎng)位寬的高速除法器電路規(guī)范。本發(fā)明的又一目的在于提供一種能夠精確地保留商和余數(shù)的除法器。
為了實(shí)現(xiàn)以上的目的,本發(fā)明吸取了加減交替法的優(yōu)點(diǎn),提供了一種除法運(yùn)算操作的特殊結(jié)構(gòu),所述的除法器包括加減法器陣列模塊、商數(shù)產(chǎn)生模塊、余數(shù)修正模塊。其中,操作數(shù)從加減法器陣列模塊的輸入端Dividend和Divisor輸入,加減法器陣列模塊的輸出端——每行加減法運(yùn)算最高位的進(jìn)/借位信號(hào)線Cy、最高位的加減法運(yùn)算的結(jié)果數(shù)據(jù)線S與商數(shù)產(chǎn)生模塊(2)相連,決定各位商的值,商數(shù)產(chǎn)生模塊通過(guò)商Quo數(shù)據(jù)線與加減法器陣列模塊相連,決定每行做加法或減法運(yùn)算,輸出商Quotient和溢出標(biāo)志位Overflow,加減法器陣列模塊和商數(shù)產(chǎn)生模塊分別通過(guò)最低位商Q0數(shù)據(jù)線、預(yù)估余數(shù)R數(shù)據(jù)線與余數(shù)修正模塊相連,輸出最終余數(shù)Remainder。
下面將參照附圖對(duì)本發(fā)明的優(yōu)選實(shí)施方式進(jìn)行詳細(xì)的描述,從而本發(fā)明的優(yōu)點(diǎn)和特點(diǎn)將更加具體而明顯。附圖中
圖1是超長(zhǎng)度的陣列式組合邏輯除法器的總體結(jié)構(gòu)框圖;圖2是CAS加減法器單元的示意圖;圖3是加減法器陣列模塊的總體結(jié)構(gòu)框圖;圖4是QUOT商數(shù)產(chǎn)生單元的示意圖;圖5是商數(shù)產(chǎn)生模塊的結(jié)構(gòu)框圖;圖6是REM余數(shù)修正單元的示意圖;圖7是余數(shù)修正模塊的結(jié)構(gòu)框圖;圖8是加減法器陣列模塊、商數(shù)產(chǎn)生模塊、余數(shù)修正模塊內(nèi)部各模塊互連示意圖;下面將通過(guò)被除數(shù)為n位、除數(shù)為m位的情況來(lái)詳細(xì)描述本發(fā)明,應(yīng)該理解的是,操作數(shù)的位數(shù)m、n為任意整數(shù),n≥m,其上限僅受半導(dǎo)體工藝的限制。當(dāng)操作數(shù)的位數(shù)不足m、n位時(shí),在操作數(shù)前作添“0”處理。
圖1是超長(zhǎng)度的陣列式組合邏輯除法器的總體結(jié)構(gòu)框圖,主要包括加減法器陣列模塊(1)、商數(shù)產(chǎn)生模塊(2)、余數(shù)修正模塊(3),其中,操作數(shù)從加減法器陣列模塊(1)的輸入端Dividend和Divisor輸入,加減法器陣列模塊(1)的輸出端--每行加減法運(yùn)算最高位的進(jìn)/借位信號(hào)線Cy、最高位的加減法運(yùn)算的結(jié)果數(shù)據(jù)線S與商數(shù)產(chǎn)生模塊(2)相連,決定各位商的值,商數(shù)產(chǎn)生模塊(2)通過(guò)商Quo數(shù)據(jù)線與加減法器陣列模塊(1)相連,決定每行做加法或減法運(yùn)算,輸出商Quotient和溢出標(biāo)志位Overflow,加減法器陣列模塊(1)和商數(shù)產(chǎn)生模塊(2)分別通過(guò)最低位商Q0數(shù)據(jù)線、預(yù)估余數(shù)R數(shù)據(jù)線與余數(shù)修正模塊(3)相連,輸出最終余數(shù)Remainder。
圖2是CAS加減法器單元的示意圖。CAS加減法器單元的核心是一個(gè)全加器。其中,被加數(shù)由輸入端Ai輸入,加數(shù)由輸入端Bj輸入,輸入端Q是加減法運(yùn)算控制端,Q為高電平“1”時(shí)做減法運(yùn)算,Q為低電平“0”時(shí)做加法運(yùn)算,Cyj-1為低位進(jìn)借位輸入端,Cyj為本次運(yùn)算的進(jìn)借位輸出端,Sj為本次運(yùn)算的結(jié)果。
圖3是加減法器陣列模塊的總體結(jié)構(gòu)框圖。加減法器陣列模塊是由m(即除數(shù)位寬m)列、n-m+1(即被除數(shù)的位寬n減去除數(shù)的位寬m加1)行CAS加減法器單元組成的平行四邊形陣列結(jié)構(gòu),共計(jì)m×(n-m+1)個(gè)CAS加減法器單元。為便于描述,平行四邊形陣列的行按由上至下的次序排列,平行四邊形陣列的列按由右至左的次序排列。
平行四邊形陣列的第1行的m個(gè)CAS加減法器單元加減法運(yùn)算控制輸入端Q接高電平“1”,表示第一次運(yùn)算總是做減法。
平行四邊形陣列的第1行的m個(gè)CAS加減法器單元的輸入端Ai與Bj按由左至右的次序依次分別接被除數(shù)的第i位Xi和除數(shù)的第j位Yj(其中,i=n,n-1,……,n-m+1,j=m,m-1,……,0)。即第1行第1列的CAS加減法器單元的輸入端An接被除數(shù)的第n位Xn(最高位),Bm接除數(shù)的第m位Ym(最高位),第1行第2列的CAS加減法器單元的輸入端An-1接被除數(shù)的第n-1位Xn-1(次高位),Bm-1接除數(shù)的第m-1位Ym-1(次高位),……,依此類推,第1行第m列的CAS加減法器單元的輸入端An-m接被除數(shù)的第n-m位Xn-m,B0接除數(shù)的第0位Y0(最低位)。
平行四邊形陣列的第1行的m個(gè)CAS加減法器單元中,低位CAS加減法器單元的進(jìn)借位輸出端Cy1j按由右至左的順序接高位CAS加減法器單元的進(jìn)借位輸入端Cy1(j-1),最高位CAS加減法器單元的進(jìn)借位輸出端Cy1j即為溢出標(biāo)志位Overflow。即第1行第m列的CAS加減法器單元的進(jìn)借位輸出端Cy10接第1行第m-1列的CAS加減法器單元的進(jìn)借位輸入端Cy10,第1行第m-1列的CAS加減法器單元的進(jìn)借位輸出端Cy11接第1行第m-2列的CAS加減法器單元的進(jìn)借位輸入端Cy11,……,依此類推,第1行第2列的CAS加減法器單元的進(jìn)借位輸出端Cy1(m-1)接第1行第1列的CAS加減法器單元的進(jìn)借位輸入端Cy1(m-1),而第1行第1列的CAS加減法器單元的進(jìn)借位輸出端Cy1m即為Q(n-m),作為溢出標(biāo)志位Overflow輸出信號(hào)。
平行四邊形陣列的第1行的各CAS加減法器單元的運(yùn)算結(jié)果輸出端S1j由高到低分別接第2行CAS加減法器單元的輸入端Aj,作為被加/減數(shù)產(chǎn)與后續(xù)加減法運(yùn)算。
后續(xù)各行(第2,3,……,n-m+1行)CAS單元相互之間的連接關(guān)系與第一行基本相同,不同之處在于第2行至第n-m+1行各行的m個(gè)CAS加減法器單元的加減法運(yùn)算控制輸入端Q分別接商數(shù)Q(n-m)(溢出標(biāo)志位Overflow),Q(n-m-1),……,Q1;第i行第1列的CAS加減法器單元的進(jìn)借位輸出端Cyim和第i-1行第1列的CAS加減法器單元的運(yùn)算結(jié)果輸出端S(i-1)m輸出至商數(shù)產(chǎn)生模塊,與Q(n-m-i+2)共同決定商數(shù)Q(n-m-i+1)。分別接商數(shù)產(chǎn)生模塊的輸入端Sj1’。第n-m+1行的m個(gè)CAS加減法器單元的運(yùn)算結(jié)果輸出端S(n-m+1)j作為預(yù)估余數(shù)輸出至余數(shù)修正模塊的相應(yīng)輸入端Aj,參與最終余數(shù)的修正。
圖4是QUOT商數(shù)產(chǎn)生單元的示意圖,第i位的商Qi由三個(gè)輸入端Qi+1、S(n-m-i)m、Cy(n-m-i+1)m所組成的三元邏輯QUO確定。
圖5是商數(shù)產(chǎn)生模塊的結(jié)構(gòu)框圖,商數(shù)產(chǎn)生模塊是由(n-m)個(gè)QUOT商數(shù)產(chǎn)生單元組成的列。QUOT商數(shù)產(chǎn)生單元的輸出端包括溢出標(biāo)志位Overflow,n-m位商數(shù)位Qi(其中,i=0,1,2,……,n-m-1)。溢出標(biāo)志位Overflow是被除數(shù)的最高m位減去除數(shù)運(yùn)算的借位位Cy1m(即第1行、第1列處的CAS加減法器單元的借位位Cy1m輸出端);商數(shù)Qi是由加減法器陣列模塊的第n-m-i+1行、第1列處的加減法器的借位位Cyim輸出端,第n-m-i行、第1列加減法運(yùn)算的結(jié)果S(n-m-I)m以及高一位的商數(shù)Q(i+1)通過(guò)QUOT商數(shù)產(chǎn)生單元產(chǎn)生的。其中,最高位商數(shù)Q(n-m-1)是由加減法器陣列模塊的第2行、第1列處的加減法器的借位位Cy2m輸出端,第1行、第1列加減法運(yùn)算的結(jié)果S1m以及商數(shù)Q(n-m)(溢出標(biāo)志位Overflow)通過(guò)QUOT商數(shù)產(chǎn)生單元產(chǎn)生的。
圖6是REM余數(shù)修正單元的示意圖,其基本單元是全加器。其中,輸入端Bj接加數(shù),輸入端Aj接被加數(shù),輸入端Cyj-1為低位進(jìn)位信號(hào),輸出端Cyj為本次運(yùn)算的進(jìn)位信號(hào),Rj為運(yùn)算的結(jié)果,表示第j位余數(shù)。
圖7是余數(shù)修正模塊的結(jié)構(gòu)框圖。余數(shù)修正模塊是由m個(gè)REM余數(shù)修正單元組成的行,m位余數(shù)Remainder的各位Rj由加減法器陣列模塊的第(n-m+1)行加減法單元的運(yùn)算結(jié)果S(n-m+1)j、商數(shù)產(chǎn)生模塊產(chǎn)生的商數(shù)的最低位Q0以及m位除數(shù)Divisor的各位Yj三者通過(guò)三元邏輯REM余數(shù)修正單元決定。
圖8是加減法器陣列模塊、商數(shù)產(chǎn)生模塊、余數(shù)修正模塊內(nèi)部各模塊互連示意圖。具體的連接關(guān)系已在對(duì)加減法器陣列模塊、商數(shù)產(chǎn)生模塊以及余數(shù)修正模塊的說(shuō)明中詳細(xì)闡明,此處不在贅述。
顯然,根據(jù)上面的描述,本領(lǐng)域的技術(shù)人員很容易發(fā)現(xiàn),本發(fā)明是一種簡(jiǎn)單、易懂、設(shè)計(jì)靈活、可進(jìn)行任意拼裝組合的邏輯電路,并利用了模塊化的設(shè)計(jì)思想完成,這樣利于除法器操作數(shù)位數(shù)的擴(kuò)充。
在不脫離本發(fā)明的思想和范圍的情況下,本領(lǐng)域的技術(shù)人員還可能只實(shí)現(xiàn)本發(fā)明的某些特例,如不保留余數(shù)的任意位除法器,或者運(yùn)用本發(fā)明構(gòu)造超長(zhǎng)位數(shù)的浮點(diǎn)運(yùn)算的除法器。
權(quán)利要求
1.一種以陣列式組合邏輯單元構(gòu)成的任意位寬的超長(zhǎng)度除法器。其特征在于所述的除法器包括加減法器陣列模塊(1)、商數(shù)產(chǎn)生模塊(2)、余數(shù)修正模塊(3),其中,操作數(shù)從加減法器陣列模塊(1)的輸入端Dividend和Divisor輸入,加減法器陣列模塊(1)的輸出端--每行加減法運(yùn)算最高位的進(jìn)/借位信號(hào)線Cy、最高位的加減法運(yùn)算的結(jié)果數(shù)據(jù)線S與商數(shù)產(chǎn)生模塊(2)相連,決定各位商的值,商數(shù)產(chǎn)生模塊(2)通過(guò)商Quo數(shù)據(jù)線與加減法器陣列模塊(1)相連,決定每行做加法或減法運(yùn)算,輸出商Quotient和溢出標(biāo)志位Overflow,加減法器陣列模塊(1)和商數(shù)產(chǎn)生模塊(2)分別通過(guò)最低位商Q0數(shù)據(jù)線、預(yù)估余數(shù)R數(shù)據(jù)線與余數(shù)修正模塊(3)相連,輸出最終余數(shù)Remainder。
2.根據(jù)權(quán)利要求1的除法器,其特征在于所述除數(shù)的位數(shù)可為1位、2位、……、m位,被除數(shù)數(shù)位數(shù)可為1位、2位、……、n位(m,n為任意整數(shù),n≥m,其位數(shù)僅受半導(dǎo)體工藝的限制)。
3.根據(jù)權(quán)利要求1的除法器,其特征在于除法器能精確保留余數(shù)。
4.根據(jù)權(quán)利要求1的除法器,其特征在于除法器是組合邏輯電路。
全文摘要
一種以陣列式組合邏輯單元構(gòu)成的任意位寬的超長(zhǎng)度除法器。包括加減法器陣列模塊、商數(shù)產(chǎn)生模塊、余數(shù)修正模塊。這種結(jié)構(gòu)降低了控制邏輯的復(fù)雜度,提高了運(yùn)算的速度,在實(shí)際數(shù)據(jù)運(yùn)算如加/解密運(yùn)算中特別有用。
文檔編號(hào)G06F7/52GK1379323SQ0111039
公開(kāi)日2002年11月13日 申請(qǐng)日期2001年4月11日 優(yōu)先權(quán)日2001年4月11日
發(fā)明者趙云琪, 饒進(jìn)平 申請(qǐng)人:北京國(guó)芯安集成電路設(shè)計(jì)有限公司