午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

一種改進(jìn)的基16Booth編碼器的制作方法

文檔序號:6427682閱讀:374來源:國知局
專利名稱:一種改進(jìn)的基16Booth編碼器的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于數(shù)字集成電路設(shè)計領(lǐng)域,涉及微處理器和數(shù)字信號處理器的設(shè)計,特別是涉及一種改進(jìn)的基16Booth編碼器,適用于采用基16Booth算法的并行乘法器的設(shè)計。
背景技術(shù)
高性能并行乘法器是現(xiàn)代微處理器和數(shù)字信號處理系統(tǒng)中進(jìn)行數(shù)據(jù)處理的關(guān)鍵部件之一,它的速度是影響數(shù)字信號處理器工作頻率的決定性因素,它的面積通常會影響系統(tǒng)實現(xiàn)的成本,因此如何用更小的面積實現(xiàn)更快的速度成為乘法器研究的重要方向。并行乘法器的設(shè)計主要包括三個階段部分積產(chǎn)生,部分積壓縮以及將壓縮結(jié)果轉(zhuǎn)化為最終結(jié)果的階段。部分積產(chǎn)生階段為了減少并行運(yùn)算的數(shù)據(jù)量,往往采用Booth編碼算法對乘數(shù)重新編碼,這樣可以有效地減少部分積產(chǎn)生的數(shù)目,使得乘法器的速度和面積得到很大程度的優(yōu)化。采用Booth算法設(shè)計的乘法器,其部分積產(chǎn)生模塊是由Booth編碼器來實現(xiàn)的。采用基16Booth算法設(shè)計的編碼器,其倍數(shù)產(chǎn)生模塊產(chǎn)生被乘數(shù)的各個倍數(shù),其中通過被乘數(shù)移位實現(xiàn)的倍數(shù)稱為簡單倍數(shù),不能靠被乘數(shù)簡單移位實現(xiàn)的倍數(shù)稱為復(fù)雜倍數(shù),這些復(fù)雜倍數(shù)是通過簡單倍數(shù)的加減來實現(xiàn)的,所以復(fù)雜倍數(shù)的產(chǎn)生延時比簡單倍數(shù)大很多。 已知兩個數(shù)相乘,其中乘數(shù)用A表示,被乘數(shù)用B表示,基16Booth編碼器的輸出需要從倍數(shù)序列{±8B,士7B,士6B,士5B,士4B,士!3B,士2B,士B,0}中選擇出部分積,總共17個選擇項。以倍數(shù)士5B的選擇為例,從高位到低位選擇5B的編碼位是01010或者是01001,而選擇-5B的編碼位為10101或者為10110,可以發(fā)現(xiàn)若選擇的倍數(shù)互為補(bǔ)碼,則參與編碼的位互為反碼,因此利用這個特點就可以將編碼位進(jìn)行分離。而現(xiàn)有的基16Booth編碼器如圖1所示,它包括一個倍數(shù)產(chǎn)生模塊和一個17選1的選擇器,5個編碼的位同時參與選擇倍數(shù),既忽視了它們產(chǎn)生耗用延時不同的特點,又忽視了編碼位可以分離的特點,不僅惡化了編碼器的關(guān)鍵路徑,而且增加了編碼器的面積。

發(fā)明內(nèi)容
本發(fā)明的目的在于克服上述已有技術(shù)的不足,提出一種改進(jìn)的基16Booth編碼器,以利用被乘數(shù)倍數(shù)產(chǎn)生耗用延時不同的和編碼位分離的特點,實現(xiàn)在優(yōu)化關(guān)鍵路徑的同時減小編碼器的面積。為實現(xiàn)上述目的,本發(fā)明改進(jìn)的基16Booth編碼器包括倍數(shù)產(chǎn)生模塊,用于產(chǎn)生被乘數(shù)B的各個倍數(shù),包括簡單倍數(shù){8B,4B,2B,B,0}和復(fù)雜倍數(shù){7Β,6Β, 5Β, 3Β},這些倍數(shù)連接到選擇器陣列模塊;選擇器陣列模塊,用于根據(jù)輸入的倍數(shù)選擇信號Sl到S8,選擇相應(yīng)的倍數(shù)作為輸出Ρ7,并將該輸出Ρ7連接到部分積取反模塊;其中還包括編碼位分離模塊,將外部輸入的5位編碼位A W 0]分離成1位取反位AO和4 位選擇位Al[3 0],編碼位的最高位Α[4]連接到取反位Α0,該1位取反位和選擇位分別連接到部分積取反模塊和譯碼模塊;譯碼模塊,用于根據(jù)輸入的4位選擇位Al [3 0]產(chǎn)生8個倍數(shù)選擇信號Si,S2, S3,S4,S5,S6,S7,S8,并將這些選擇信號連接到選擇器陣列模塊;部分積取反模塊,用于根據(jù)輸入的取反位AO決定是否對P7進(jìn)行取反,若A[4]為 1時選擇所述的P7作為最終的部分積PP,否則選擇所述P7的反碼作為最終的部分積PP。所述的編碼位分離模塊由一個4位反相器和一個4位2選1選擇器組成,該4位反相器的輸入端連接編碼位A W 0]的低4位A[3 0],反相器的輸出端連接到4位2選 1選擇器的一端,選擇器的另一端連接到A[3 0],選擇器的選擇端連接到編碼位的最高位 AW],選擇器的輸出連接到選擇位Al[3 0]。所述的選擇器陣列模塊由8個2選1選擇器串聯(lián)組成,選擇器1的數(shù)據(jù)端連接倍數(shù)0和B,選擇端連接到選擇信號Si,輸出端連接到選擇器2的一端Pl ;選擇器2的另一端連接到倍數(shù)2B,選擇端連接到選擇信號S2,輸出端連接到選擇器3的一端P2 ;選擇器3的另一端連接倍數(shù)4B,選擇端連接到選擇信號S4,輸出端連接到選擇器4的一端P4 ;選擇器4 的另一端連接到倍數(shù)8B,選擇端連接到選擇信號S8,輸出端連接到選擇器5的一端P8 ;選擇器5的另一端連接到倍數(shù):3B,選擇端連接到選擇信號S3,輸出連接到選擇器6的一端P3 ; 選擇器6的另一端連接到倍數(shù)6B,選擇端連接到選擇信號S6,輸出端連接到選擇器7的一端P6 ;選擇器7的另一端連接到倍數(shù)5B,選擇端連接到選擇信號S5,輸出端連接到選擇器8 的一端P5 ;選擇器8另一端連接到倍數(shù)7B,選擇端連接到選擇信號S7,輸出端連接到P7。所述的部分積取反模塊包括一個位寬為n+3的反相器和一個位寬為n+3的2選1 選擇器,其中η為被乘數(shù)B的位寬,該n+3位反相器的輸入端連接到P7,輸出端連接到n+3 位選擇器的一端,選擇器的另一端連接到P7,選擇器的選擇端連接到取反位A0,選擇器的輸出連接到最終的部分積PP。本發(fā)明與現(xiàn)有基16Booth編碼器相比的優(yōu)點在于本發(fā)明通過用編碼位分離模塊、譯碼模塊、選擇器陣列模塊和部分積取反模塊替換現(xiàn)有編碼器中的全并行選擇器模塊, 既利用了被乘數(shù)倍數(shù)產(chǎn)生耗用延時不同的特點,又利用了編碼位分離的特點,在提高編碼器速度的同時使得編碼器的面積得到較大程度的縮減。


圖1是現(xiàn)有的基16Booth編碼器;圖2是本發(fā)明改進(jìn)的基16Booth編碼器。
具體實施例方式下面結(jié)合附圖對本發(fā)明改進(jìn)的基16Booth編碼器的設(shè)計方法進(jìn)行詳細(xì)闡述。參照圖2,本發(fā)明改進(jìn)的基16Booth編碼器包括倍數(shù)產(chǎn)生模塊、編碼位分離模塊、 譯碼模塊、選擇器陣列模塊和部分積取反模塊,其中倍數(shù)產(chǎn)生模塊,用于產(chǎn)生被乘數(shù)B的各個倍數(shù),它們包括簡單倍數(shù){8B,4B,2B,B, 0}和復(fù)雜倍數(shù){7B,6B,5B,;3B},這些倍數(shù)連接到選擇器陣列模塊。簡單倍數(shù)通過被乘數(shù)的移位實現(xiàn),復(fù)雜倍數(shù)通過簡單倍數(shù)的加減實現(xiàn),例如5B的產(chǎn)生是通過4B+B實現(xiàn)的,7B的產(chǎn)生是通過8B+(-B)實現(xiàn)的;
編碼位分離模塊,用于將外部輸入的5位編碼位從4 0]分離成1位取反位AO和 4位選擇位Al[3 0],編碼位的最高位A[4]連接到取反位A0,取反位和選擇位分別連接到部分積取反模塊和譯碼模塊。該模塊由一個4位反相器和一個4位2選1選擇器組成, 該4位反相器的輸入端連接編碼位從4 0]的低4位A[3 0],反相器的輸出端連接到4 位2選1選擇器的一端,選擇器的另一端連接到A[3 0],選擇器的選擇端連接到編碼位的最高位M4],選擇器的輸出連接到選擇位Al[3 0]。編碼位分離的原理是當(dāng)輸入的編碼位互為反碼時,則編碼器輸出的最終部分積也互為反碼,這樣就可以只利用編碼位的低4 位或者低4位的反碼對倍數(shù)進(jìn)行選擇,然后將最高位作為取反位提取出來,最后根據(jù)取反位決定是否對輸出的部分積進(jìn)行取反。這樣避免了對負(fù)倍數(shù)的選擇,使得選擇項減少了接近一半,從而使面積得到較大程度的縮減。譯碼模塊,用于根據(jù)輸入的4位選擇位Al[3 0]產(chǎn)生8個倍數(shù)選擇信號Si, S2,S3,S4, S5,S6,S7, S8,并將這些選擇信號連接到選擇器陣列模塊。該譯碼模塊的原理是選擇位Al[3 0]的4個位代表的權(quán)值分別為4、2、1、1,此時4個位的加權(quán)和J =Al [3] X 4+A1 [2] X 2+A1 [1] X 1+A1
X 1, Al[i] e {0,1},其中 i e {3,2,1,0},所以 Je {1,2,3,4,5,6,7,8},此時譯碼模塊產(chǎn)生的選擇信號為3。以選擇信號S7的產(chǎn)生為例進(jìn)行說明,輸入的選擇位Al [3 0]為1110,此時加權(quán)和J = 1X4+1X2+1X1+0X1 = 7, 所以此時產(chǎn)生的控制信號為S7。選擇器陣列模塊,用于根據(jù)輸入的倍數(shù)選擇信號Sl到S8,選擇相應(yīng)的倍數(shù)作為輸出P7,并將該輸出P7連接到部分積取反模塊。該模塊由8個2選1選擇器串聯(lián)組成,選擇器1的數(shù)據(jù)端連接倍數(shù)0和B,選擇端連接到選擇信號Si,輸出端連接到選擇器2的一端 Pl ;選擇器2的另一端連接到倍數(shù)2B,選擇端連接到選擇信號S2,輸出端連接到選擇器3的一端P2 ;選擇器3的另一端連接倍數(shù)4B,選擇端連接到選擇信號S4,輸出端連接到選擇器 4的一端P4 ;選擇器4的另一端連接到倍數(shù)8B,選擇端連接到選擇信號S8,輸出端連接到選擇器5的一端P8 ;選擇器5的另一端連接到倍數(shù):3B,選擇端連接到選擇信號S3,輸出連接到選擇器6的一端P3 ;選擇器6的另一端連接到倍數(shù)6B,選擇端連接到選擇信號S6,輸出端連接到選擇器7的一端P6 ;選擇器7的另一端連接到倍數(shù)5B,選擇端連接到選擇信號 S5,輸出端連接到選擇器8的一端P5 ;選擇器8另一端連接到倍數(shù)7B,選擇端連接到選擇信號S7,輸出端連接到P7。選擇器陣列模塊的工作原理是產(chǎn)生時耗用的延時越多的倍數(shù)經(jīng)過的選擇器的級數(shù)越少,如圖2所示,產(chǎn)生耗用延時最多的倍數(shù)7B僅需要經(jīng)過1個2選 1選擇器,這時編碼器的關(guān)鍵路徑延時T。= T7B+Tmux2—^Tmux2-JTinv,其中T7b表示復(fù)雜倍數(shù)7B 產(chǎn)生延時,Tmux21表示一個2選1的選擇器延時,Tinv表示一個反相器的延時,圖1中現(xiàn)有的基16Booth編碼器的關(guān)鍵路徑延時T。= T_7B+Tmuxl71 = T7B+Tinv+Tmuxl7—i,其中T_7B表示復(fù)雜倍數(shù)-7B的產(chǎn)生延時,Tmuxl7」表示一個17選1的選擇器延時。比較上面兩式可看出本發(fā)明改進(jìn)的基16Booth編碼器的關(guān)鍵路徑縮短了 Tmuxl7 PlTmux2」的時間。部分積取反模塊,用于根據(jù)輸入的取反位AO決定是否對P7進(jìn)行取反,若A[4]為 1時選擇所述的P7作為最終的部分積PP,否則選擇所述P7的反碼作為最終的部分積PP。 該模塊包括一個位寬為n+3的反相器和一個位寬為n+3的2選1選擇器,其中η為被乘數(shù) B的位寬,該n+3位反相器的輸入端連接到P7,輸出端連接到n+3位選擇器的一端,選擇器的另一端連接到P7,選擇器的選擇端連接到取反位A0,選擇器的輸出連接到最終的部分積PP。本發(fā)明的工作原理如下外部輸入被乘數(shù)B和5位編碼位從4 0],倍數(shù)產(chǎn)生模塊產(chǎn)生被乘數(shù)的各個倍數(shù){0,B,2B,3B,4B,5B,6B,7B,8B},這些倍數(shù)輸入到選擇器陣列模塊;編碼位分離模塊根據(jù) 5位編碼位A [4 0]產(chǎn)生1位取反位AO和4位選擇位Al [3:0],取反位AO是A [4 0] 最高位A[4]的直接輸出,當(dāng)A[4]為0時Al[3 0]與A[3 0]相同,否則Al[3 0]與 A[3 0]的反碼相同;選擇器陣列模塊根據(jù)該4位選擇位Al [3 0]選擇出相應(yīng)的倍數(shù)作為輸出P7,P7輸入到部分積取反模塊;部分積取反模塊根據(jù)輸入的取反位AO判斷是否對 P7進(jìn)行取反以得到最終的輸出PP,當(dāng)取反位為0時最終的部分積PP與P7相同,否則PP與 P7的反碼相同。本發(fā)明與現(xiàn)有的基16Booth編碼器相比,其優(yōu)勢在于在優(yōu)化編碼器的速度的同時使得編碼器的面積得到較大程度的縮減,既提高了編碼器的性能,又縮減了設(shè)計的成本。
權(quán)利要求
1.一種改進(jìn)的基16Booth編碼器,包括倍數(shù)產(chǎn)生模塊,用于產(chǎn)生被乘數(shù)B的各個倍數(shù),包括簡單倍數(shù){8Β,4Β,2Β,Β,Ο}和復(fù)雜倍數(shù){7Β,6Β, 5Β, 3Β},這些倍數(shù)連接到選擇器陣列模塊;選擇器陣列模塊,用于根據(jù)輸入的倍數(shù)選擇信號Sl到S8,選擇相應(yīng)的倍數(shù)作為輸出 Ρ7,并將該輸出Ρ7連接到部分積取反模塊;其特征在于還包括編碼位分離模塊,將外部輸入的5位編碼位從4 0]分離成1位取反位AO和4位選擇位Al[3 0],編碼位的最高位Α[4]連接到取反位Α0,該1位取反位和選擇位分別連接到部分積取反模塊和譯碼模塊;譯碼模塊,用于根據(jù)輸入的4位選擇位Al [3 0]產(chǎn)生8個倍數(shù)選擇信號Si,S2,S3, S4,S5,S6,S7,S8,并將這些選擇信號連接到選擇器陣列模塊;部分積取反模塊,用于根據(jù)輸入的取反位AO決定是否對P7進(jìn)行取反,若A[4]為1時選擇所述的P7作為最終的部分積PP,否則選擇所述P7的反碼作為最終的部分積PP。
2.根據(jù)權(quán)利要求1所述的基16Booth編碼器,其特征在于編碼位分離模塊由一個4 位反相器和一個4位2選1選擇器組成,該4位反相器的輸入端連接編碼位從4 0]的低4位A[3 0],反相器的輸出端連接到4位2選1選擇器的一端,選擇器的另一端連接到A[3 0],選擇器的選擇端連接到編碼位的最高位M4],選擇器的輸出連接到選擇位 Al [3 0]。
3.根據(jù)權(quán)利要求1所述的基16Booth編碼器,其特征在于選擇器陣列模塊由8個2選 1選擇器串聯(lián)組成,選擇器1的數(shù)據(jù)端連接倍數(shù)0和B,選擇端連接到選擇信號Si,輸出端連接到選擇器2的一端Pl ;選擇器2的另一端連接到倍數(shù)2B,選擇端連接到選擇信號S2, 輸出端連接到選擇器3的一端P2 ;選擇器3的另一端連接倍數(shù)4B,選擇端連接到選擇信號 S4,輸出端連接到選擇器4的一端P4 ;選擇器4的另一端連接到倍數(shù)8B,選擇端連接到選擇信號S8,輸出端連接到選擇器5的一端P8 ;選擇器5的另一端連接到倍數(shù):3B,選擇端連接到選擇信號S3,輸出連接到選擇器6的一端P3 ;選擇器6的另一端連接到倍數(shù)6B,選擇端連接到選擇信號S6,輸出端連接到選擇器7的一端P6 ;選擇器7的另一端連接到倍數(shù)5B, 選擇端連接到選擇信號S5,輸出端連接到選擇器8的一端P5 ;選擇器8另一端連接到倍數(shù) 7B,選擇端連接到選擇信號S7,輸出端連接到P7。
4.根據(jù)權(quán)利要求1所述的基16Booth編碼器,其特征在于部分積取反模塊包括一個位寬為n+3的反相器和一個位寬為n+3的2選1選擇器,其中η為被乘數(shù)B的位寬,該η+3 位反相器的輸入端連接到Ρ7,輸出端連接到n+3位選擇器的一端,選擇器的另一端連接到 P7,選擇器的選擇端連接到取反位A0,選擇器的輸出連接到最終的部分積PP。
全文摘要
本發(fā)明公開了一種改進(jìn)的基16Booth編碼器,主要解決現(xiàn)有基16Booth編碼器中關(guān)鍵路徑長和面積大的問題。它包括倍數(shù)產(chǎn)生模塊、編碼位分離模塊、譯碼模塊、選擇器陣列模塊和部分積取反模塊。倍數(shù)產(chǎn)生模塊生成被乘數(shù)的各個倍數(shù);編碼位分離模塊根據(jù)輸入的5位編碼位產(chǎn)生1位取反位和4位選擇位;譯碼模塊通過4位選擇位輸出相應(yīng)的倍數(shù)選擇信號;選擇器陣列模塊根據(jù)譯碼模塊輸出的選擇信號選擇相應(yīng)的倍數(shù);部分積取反模塊根據(jù)取反位決定是否對選擇器陣列模塊輸出的信號進(jìn)行取反操作來得到最終的部分積。本發(fā)明有效的優(yōu)化了編碼器的關(guān)鍵路徑,縮小了編碼器的面積,可用于采用基16Booth算法實現(xiàn)的并行乘法器設(shè)計。
文檔編號G06F7/533GK102270110SQ20111018261
公開日2011年12月7日 申請日期2011年6月30日 優(yōu)先權(quán)日2011年6月30日
發(fā)明者劉晨, 葉強(qiáng), 來新泉, 王學(xué)德, 田磊 申請人:西安電子科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1