專利名稱:一種基于Bypass技術(shù)的低功耗乘法器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于集成電路設(shè)計(jì)中的乘法運(yùn)算技術(shù)領(lǐng)域,尤其涉及一種基于Bypass技術(shù)的低功耗乘法器。
背景技術(shù):
乘法器是集成電路中的重要部件,承擔(dān)了大量的計(jì)算任務(wù),廣泛應(yīng)用于芯片的模塊設(shè)計(jì)中。乘法器一般處于芯片的關(guān)鍵路徑中,其速度的快慢,功耗的大小對(duì)整個(gè)芯片的性能功耗有決定性的作用。隨著芯片技術(shù)的發(fā)展和納米級(jí)工藝的進(jìn)步,性能和功耗已成為評(píng)價(jià)芯片的兩個(gè)最重要指標(biāo)。工藝朝著更小納米級(jí)的方向發(fā)展,給芯片的速度帶來了一定的提升,卻對(duì)低功耗的設(shè)計(jì)提出了挑戰(zhàn),而嵌入式系統(tǒng)的應(yīng)用對(duì)低功耗提出更高要求,特別是消費(fèi)電子類芯片,因此低功耗芯片設(shè)計(jì)成為業(yè)界的研究熱點(diǎn)。一般地,高速乘法器采用Booth編碼和樹型結(jié)構(gòu)進(jìn)行設(shè)計(jì),對(duì)于兩個(gè)N位操作數(shù)A,B的乘法操作,對(duì)B操作數(shù)進(jìn)行Booth編碼,以減少部分積數(shù)目,進(jìn)而減少累加級(jí)數(shù)的延時(shí);然后對(duì)Booth譯碼后的部分積進(jìn)行樹型壓縮,相比于陣列式壓縮,樹型壓縮可以大大降低累加的延時(shí);最后利用一個(gè)快速加法器將樹型壓縮的兩個(gè)2N位結(jié)果求和,得到最終的2N位乘法結(jié)果。針對(duì)乘法器低功耗設(shè)計(jì),學(xué)術(shù)界提出的較熱門技術(shù)有行Bypass和列Bypass技術(shù),其主要思想是I位全加器將輸入A,B,Ci中的某一個(gè)操作數(shù)作為選通信號(hào),如果其值為0,那么關(guān)閉該全加器,將另外兩個(gè)操作數(shù)傳遞到下一級(jí)使用。圖1為采用行Bypass技術(shù)的4X4陣列乘法器,每一行全加器使用同一個(gè)控制信號(hào)判斷是否進(jìn)行行Bypass操作,當(dāng)門控和選通器的控制信號(hào)為O時(shí),將輸入操作數(shù)直接傳遞到下一級(jí)全加器,當(dāng)選通信號(hào)為I時(shí),執(zhí)行FA的加法運(yùn)算;圖2為采用列Bypass技術(shù)的4X 4陣列乘法器,每一列全加器使用同一個(gè)控制信號(hào)判斷是否進(jìn)行列Bypass操作,當(dāng)控制信號(hào)為O時(shí),該列的加法器全部被Bypass掉,相應(yīng)的操作數(shù)傳遞到下一級(jí)加法器中。通過上面分析得知,行Bypass和列Bypass可以選擇性的關(guān)閉部分運(yùn)算模塊,Bypass全加器單元相比于常規(guī)全加器FA,當(dāng)輸入數(shù)據(jù)流向Bypass路徑時(shí),活動(dòng)的晶體管只有兩個(gè)選通器,可大大減少晶體管的動(dòng)態(tài)功耗,同時(shí)關(guān)鍵路徑的延時(shí)也得到降低。但是,這兩種技術(shù)只能應(yīng)用在較低速的陣列乘法器當(dāng)中,這是因?yàn)橹挥胁糠址e使用陣列式壓縮累加的時(shí)候,才能使用行Bypass和列Bypass技術(shù),具有一定局限性。由于樹型結(jié)構(gòu)的不規(guī)則性,行Bypass技術(shù)和列Bypass技術(shù)無法應(yīng)用在樹型乘法器中。所以,本文提出一種通用的行列Bypass技術(shù),既可應(yīng)用于陣列乘法器設(shè)計(jì),也可應(yīng)用于Booth編碼,樹型乘法器的設(shè)計(jì),還可用于各種壓縮樹結(jié)構(gòu)中,以實(shí)現(xiàn)高性能低功耗設(shè)計(jì)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種采用Bypass技術(shù)的高性能低功耗乘法器裝置,通過關(guān)閉無效通路的方式有效降低乘法器的功耗。為達(dá)到以上目的,本發(fā)明提出了一種基于Bypass的高速低功耗乘法器。該高速低功耗乘法器采用一種基于門控單元的行列Bypass技術(shù),該行列Bypass技術(shù)既可應(yīng)用與陣列乘法器設(shè)計(jì),也可應(yīng)用與Booth編碼,樹型乘法器的設(shè)計(jì),還可用于各種壓縮樹結(jié)構(gòu)中,以實(shí)現(xiàn)部分積壓縮,達(dá)到高性能低功耗設(shè)計(jì)。從上述技術(shù)方案可以看出,本發(fā)明具有以下有益效果:本發(fā)明的最大特點(diǎn)是在實(shí)現(xiàn)高性能的同時(shí)進(jìn)行了低功耗設(shè)計(jì)。其低功耗設(shè)計(jì)的核心部件是基于行列Bypass的全加器單元(FA)和半加器單元(HA),用輸入信號(hào)作為Bypass的選通信號(hào),選擇性關(guān)閉圖6中示出的A+1結(jié)構(gòu)601和A+B+1結(jié)構(gòu),以降低其開關(guān)活動(dòng)性。相比常規(guī)全加器604,基于行列Bypass的全加器在性能和功耗上均有優(yōu)勢(shì),如果Bypass成功,那么關(guān)鍵路徑上只有或門和選通,性能明顯提升,因?yàn)槌R?guī)全加器的關(guān)鍵路徑上有一級(jí)與門,一級(jí)或門和一級(jí)異或門,同理,基于行列Bypass的半加器相比于常規(guī)半加器602,也有性能功耗上的提升。通過分析得知,采用Bypass結(jié)構(gòu)實(shí)現(xiàn)的乘法器較采用標(biāo)準(zhǔn)結(jié)構(gòu)實(shí)現(xiàn)的乘法器在性能和功耗上都有一定程度的改善。用C語言搭建基于本發(fā)明構(gòu)建的16 X 16的改進(jìn)型基4Booth編碼型Wallance樹乘法器模型,使用0-1隨機(jī)分布全覆蓋測(cè)試進(jìn)行仿真,得到的Bypass概率約為40%,而根據(jù)圖3所示,當(dāng)Bypass成功時(shí),相比于常規(guī)全加器單元或半加器單元,可以關(guān)閉約1/3的晶體管,大大降低晶體管的動(dòng)態(tài)功耗,如果Bypass失敗,那么僅僅增加兩個(gè)選通器的功耗,代價(jià)非常小。同時(shí),如果采用改進(jìn)型基4Booth編碼技術(shù),相比于全陣列乘法器,部分積的數(shù)目減少約一半,累加需要的全加器和半加器的數(shù)量減少一半左右,相應(yīng)節(jié)省了很多晶體管的靜態(tài)功耗和動(dòng)態(tài)功耗。同時(shí)也能減少部分積壓縮樹計(jì)算時(shí)間,提高性能。
圖1是現(xiàn)有技術(shù)中采用行Bypass技術(shù)的4X4陣列乘法器結(jié)構(gòu)示意圖;圖2是現(xiàn)有技術(shù)中采用列Bypass技術(shù)的4X4陣列乘法器結(jié)構(gòu)示意圖;圖3是本發(fā)明中基于Bypass的乘法器的基本結(jié)構(gòu)示意圖;圖4是本發(fā)明中基于行列Bypass技術(shù)的全加器和半加器的結(jié)構(gòu)示意圖;圖5是本發(fā)明中行列Bypass技術(shù)的全加器和半加器中常用的四種門控單元類型的結(jié)構(gòu)不意圖;圖6是現(xiàn)有技術(shù)中半加器和全加器的邏輯實(shí)現(xiàn)以及本發(fā)明中基于行列Bypass的A+1結(jié)構(gòu)和A+B+1結(jié)構(gòu)示意圖;圖7是本發(fā)明優(yōu)選實(shí)施例中所述乘法器的結(jié)構(gòu)示意圖;圖8是改進(jìn)型基4Booth編碼表;圖9是改進(jìn)型基4Booth編碼電路和產(chǎn)生I位部分積的譯碼電路;圖10是本發(fā)明優(yōu)選實(shí)施例中所述乘法器的實(shí)現(xiàn)邏輯示意圖;圖11是本發(fā)明優(yōu)選實(shí)施例中32位的超前進(jìn)位加法器的結(jié)構(gòu)圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。本發(fā)明提出了一種基于Bypass的高速低功耗乘法器。該高速低功耗乘法器采用一種基于門控單元的行列Bypass技術(shù),該行列Bypass技術(shù)既可應(yīng)用于陣列乘法器設(shè)計(jì),也可應(yīng)用于Booth編碼,樹型乘法器的設(shè)計(jì),還可用于各種壓縮樹結(jié)構(gòu)中,以實(shí)現(xiàn)部分積壓縮,達(dá)到高性能低功耗設(shè)計(jì)。如圖3所示,本發(fā)明公開了一種基于Bypass的乘法器301,其包括:Booth編碼模塊308, Booth譯碼模塊307,基于行列Bypass全加器和半加器的部分積壓縮樹305和快速加法器306。其中,該乘法器301接收兩個(gè)N位操作數(shù),對(duì)其進(jìn)行乘法操作,首先Booth編碼模塊308對(duì)第一個(gè)操作數(shù)302進(jìn)行Booth編碼;Booth譯碼模塊307的輸入為乘法器的第二個(gè)操作數(shù)303和Booth編碼模塊308輸出的編碼值,其將乘法器的第二個(gè)操作數(shù)303與所述編碼值進(jìn)行相乘操作,并產(chǎn)生多組部分積304 ;然后采用基于行列Bypass的全加器和半加器的部分積壓縮樹處理所述多組部分積304,得到兩個(gè)壓縮結(jié)果;最后將壓縮得到的兩個(gè)結(jié)果輸入到加法器306中進(jìn)行加法操作,從而得到最終結(jié)果。上述方案中,圖3所示的低功耗乘法器結(jié)構(gòu)301可以接收兩個(gè)N位操作數(shù)302和303,其中操作數(shù)302輸入給Booth編碼模塊307,操作數(shù)303輸入給Booth譯碼模塊308。Booth編碼模塊308接收操作數(shù)302,使用操作數(shù)302的數(shù)值進(jìn)行Booth編碼生成多組編碼信號(hào),編碼形式不同可能產(chǎn)生不同類型的編碼信號(hào),常用的有基4Booth編碼、基8Booth編碼和改進(jìn)型的Booth編碼等。Booth譯碼模塊307接收操作數(shù)303和Booth編碼模塊輸出的編碼信號(hào),根據(jù)所述編碼信號(hào)對(duì)操作數(shù)303進(jìn)行譯碼操作,可以生成一系列不同位寬和權(quán)重的部分積,并輸出給部分積壓縮樹。基于行列Bypass全加器和半加器的部分積壓縮樹305進(jìn)行多組部分積壓縮操作,將一系列的部分積壓縮成兩個(gè)輸出。這個(gè)模塊是低功耗設(shè)計(jì)的核心模塊,也是高性能低功耗設(shè)計(jì)的關(guān)鍵部分,其主要核心計(jì)算單元是前文所述的基于行列Bypass全加器和半加器。上述方案中,快速加法器306用來對(duì)部分積壓縮樹得到的兩個(gè)結(jié)果進(jìn)行最終求和操作,得到最終乘法結(jié)果并輸出。上述方案中,低功耗設(shè)計(jì)的核心模塊是基于行列Bypass的全加器和半加器的部分積壓縮樹304,所述部分積壓縮樹304的核心計(jì)算單元如圖4所示,為基于行列Bypass的全加器401和半加器402。全加器401不僅能夠?qū)崿F(xiàn)常規(guī)全加器3: 2壓縮的功能,而且能夠使用門控單元選擇性關(guān)閉加法模塊405,其中輸入操作數(shù)B與E相或后生成控制信號(hào)407,用于控制門控單元403和選通器404,以此來判斷是否進(jìn)行Bypass操作。當(dāng)控制信號(hào)407為I時(shí),加法器使用加法模塊405進(jìn)行全加操作,即A+D+1,其中D為操作數(shù)B和E的與信號(hào);當(dāng)控制信號(hào)407為O時(shí),關(guān)閉加法模塊405,直接將輸入操作數(shù)A選通輸出給全加器的輸出S。同樣,基于行列Bypass的半加器402不僅能夠?qū)崿F(xiàn)常規(guī)半加器操作,而且能夠使用門控單元和選通器選擇性關(guān)閉A+1加法模塊406,其中,輸入的操作數(shù)B為門控單元和選通器的控制信號(hào)。當(dāng)輸入操作數(shù)B為I時(shí),半加器使用A+1加法模塊406進(jìn)行半加操作,當(dāng)輸入操作數(shù)B為O時(shí),關(guān)閉A+1加法模塊406,直接將另一輸入操作數(shù)A選通輸出給半加器的輸出S。圖5所示為基于行列Bypass的全加器401和半加器402中可使用門控單元的各種形式,門控單元505可有四種形式實(shí)現(xiàn):三態(tài)門501,與門502,鎖存器(Latch) 503和傳輸門開關(guān)504。門控單元可以有效隔離輸出信號(hào)與輸入信號(hào),關(guān)閉門控單元后面的模塊,降低晶體管的開關(guān)活動(dòng)性。當(dāng)門控單元的控制信號(hào)S= I時(shí),四種實(shí)現(xiàn)形式的門控輸出Q都等于A ;當(dāng)門控單元的控制信號(hào)S = O時(shí),三態(tài)門501的輸出Q為高阻,與門502的輸出Q為0,Latch503的輸出Q保持不變,傳輸門開關(guān)504的輸出Q為高阻。圖6為正常半加器602和正常全加器604結(jié)構(gòu)以及圖4中基于行列Bypass的全加器401和半加器402行列Bypass結(jié)構(gòu)中使用的A+1結(jié)構(gòu)601和A+B+1結(jié)構(gòu)603的電路圖。正常半加器602需要一個(gè)與門和異或門才能實(shí)現(xiàn),而A+1結(jié)構(gòu)601僅僅使用反相器就能完成,其進(jìn)位C為A的值,輸出S為A的反向數(shù)據(jù),其減少了 3/4的晶體管數(shù)目;正常的全加器604需要兩個(gè)與門,一個(gè)或門和兩個(gè)異或門才能實(shí)現(xiàn),而A+B+1模塊603使用一個(gè)或門和一個(gè)同或門可以實(shí)現(xiàn),即輸入操作數(shù)A和B經(jīng)與門得到進(jìn)位C,A和B經(jīng)同或門得到輸出S,其晶體管的數(shù)目減少一半??梢夾+1結(jié)構(gòu)601相比于正常半加器602在功耗和晶體管數(shù)目有所降低,速度上有所提高,同理,A+B+1結(jié)構(gòu)603相比于正常全加器604在功耗和晶體管數(shù)目也有所降低,在速度上有所提高。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下以無符號(hào)16位操作數(shù)、基4Booth編碼方式、Wallance壓縮樹為例來說明本發(fā)明提出的基于Bypass的乘法器,其結(jié)構(gòu)如圖7所示。如圖7所示,基于Bypass的乘法器結(jié)構(gòu)701主要包括:基4Booth編碼模塊708,基4Booth譯碼模塊707,基于行列Bypass全加器和半加器的Wallance壓縮樹模塊705和超前進(jìn)位加法器模塊706,該乘法器接收兩個(gè)無符號(hào)16位的操作數(shù),進(jìn)行無符號(hào)乘法操作,得到32位的最終計(jì)算結(jié)果。下面針對(duì)上述模塊的具體設(shè)計(jì),進(jìn)行詳細(xì)介紹。為解決陣列乘法器加法陣列大,部分積過多,運(yùn)算速度慢等缺點(diǎn),Booth編碼技術(shù)應(yīng)運(yùn)而生。本實(shí)施例采用基4的Booth編碼方式,基4Booth編碼技術(shù)將一個(gè)操作數(shù)Y中的每?jī)晌蛔鳛橐粋€(gè)編碼組,對(duì)另一個(gè)操作數(shù)X進(jìn)行處理。如下所示:00- > O ;01- > *1 ;10- > *2 ;11_ > *3上述編碼中,左邊兩位數(shù)字代表操作數(shù)Y中的相鄰兩位,任意兩位有四種可能:
00,01,10,11 ;右邊一位代表編碼輸出,對(duì)應(yīng)四種編碼:0,1,2,3,將所述操作數(shù)Y的編碼輸出與操作數(shù)X相乘,得到的部分積集合是{O,IX,2X,3X},這樣,操作數(shù)Y的每?jī)晌划a(chǎn)生一個(gè)部分積,將部分積的數(shù)量減少一半。在應(yīng)用過程中,3X的求解比較復(fù)雜,包含一個(gè)移位操作和加法操作,于是改進(jìn)型的基4Booth編碼技術(shù)應(yīng)運(yùn)而生。在編碼時(shí),通過同時(shí)觀察3位來加以簡(jiǎn)化,即:可在操作數(shù)Y的最低位后面加一“考察位”:考察,其中為“考察位”。生成下一個(gè)部分積時(shí),考察其中y;M+i為“考察位”,i的最小值為O,最大值為操作數(shù)Y位數(shù)的一半,y—i默認(rèn)為O。添加考察位后,可以避免進(jìn)行3X的求解操作??疾煳皇禽o助編碼用的,加上考察位后,一組編碼可以產(chǎn)生一個(gè)部分積。該改進(jìn)后的基4Booth編碼方式將操作數(shù)Y分成相鄰的3個(gè)一組的編碼,所以如果是16位的操作數(shù)Y,則會(huì)有9個(gè)編碼組,有9個(gè)考察位,產(chǎn)生9個(gè)部分積。圖8為改進(jìn)型的基4Booth編碼表,其描述了添加考察位后,Booth編碼的變化,由圖8看出,部分積的集合變?yōu)閧0,1X,2X,-2X,-X},這樣所有的部分積都可以由一步移位或者取反操作得到,其優(yōu)點(diǎn)是可以將部分積數(shù)目減少為原來的一半左右,可用于無符號(hào)數(shù)、有符號(hào)數(shù)和二進(jìn)制補(bǔ)碼形式的乘法器中,圖7中Booth編碼的行為級(jí)原理基于圖8的基4Booth編碼表得出。圖9為具體的上述改進(jìn)型的基4Booth編碼與譯碼電路的行為級(jí)設(shè)計(jì)和電路級(jí)設(shè)計(jì)。在行為級(jí)Booth編碼901中,其輸入來自乘數(shù)Y,輸出對(duì)應(yīng)于圖8的改進(jìn)型基4Booth編碼表。當(dāng)Booth編碼值為I時(shí),bl輸出l,b2輸出l,neg輸出O;當(dāng)Booth編碼值為2時(shí),bl輸入為0,b2輸入為I,neg輸出O ;當(dāng)Booth編碼值為_1時(shí),相應(yīng)的bl輸出l,b2輸出1,neg輸出I ;當(dāng)Booth編碼為_2時(shí),相應(yīng)的bl輸出為O, b2輸出為I, neg輸出I ;當(dāng)Booth編碼值為0時(shí),131 = 042 = 0,1^8 = 0。在Booth譯碼902中,其輸入Xi,Xi^1來自被乘數(shù)X的連續(xù)兩位數(shù)據(jù),選通信號(hào)來自Booth編碼901,其輸出為一個(gè)部分積PPCi。在Booth譯碼模塊902中,Booth編碼模塊901的輸出bl,b2,neg作為Mux3和Mux2的選通信號(hào),選擇{O, Xi, XiJ中的一個(gè)作為部分積的輸出,即當(dāng)bl為I時(shí),選擇Xi,當(dāng)b2為I時(shí),選擇Xi+當(dāng)bl和b2均為O時(shí),選擇0;由此可知部分積的輸出可以為{-Α,-Χη,Ο,Χη,Χ^}。當(dāng)然完整的Booth編碼電路由(N/2+1)組Booth編碼模塊901組成,而完整的Booth譯碼電路由(N/2+1) XN個(gè)譯碼模塊902組成。在圖9中,電路級(jí)Booth編碼908使用門級(jí)電路完成行為級(jí)Booth編碼901的設(shè)計(jì),Booth編碼電路908中,操作數(shù)Y中的3位Y2i+1, Y2i, Y2i_1; Y2i^1與Y2i經(jīng)異或門得到bl,Y2i和Y2i+1經(jīng)異或非門后與bl經(jīng)或非門得到b2,Y2i^1與Y2i經(jīng)與非門后與Y2i+1經(jīng)與門得到neg ;在Booth譯碼電路909中,另一操作數(shù)X的2位XiUl與Xi經(jīng)與門后得到的結(jié)果與b2和Xp1經(jīng)與門得到的結(jié)果經(jīng)或非門,再與neg經(jīng)異或非門,生成部分積PPCji。圖10示出兩個(gè)16位數(shù)進(jìn)行完上述改進(jìn)型的基4Booth編碼后的部分積進(jìn)行Wallance樹壓縮的過程,16位無符號(hào)數(shù)乘法操作,經(jīng)過改進(jìn)型基4Booth編碼譯碼產(chǎn)生9個(gè)部分積(PPC0, PPCl,PPC2...PPC8)。
本發(fā)明公開的Wallance壓縮樹中使用的基本單元是基于行列Bypass技術(shù)的全加器(FA) 1010和半加器(HA) 1011。這兩種基本單元能夠選擇性關(guān)閉部分電路,減少晶體管的活動(dòng)開關(guān)性,降低芯片的功耗。其中,F(xiàn)A1010實(shí)現(xiàn)的是3:2壓縮的功能,根據(jù)圖4中的全加器401的結(jié)構(gòu),將第二、第三個(gè)操作數(shù)相與后的結(jié)果作為Bypass的選通信號(hào),控制是否進(jìn)行Bypass 操作。上述Wallance壓縮樹1001使用基于行列Bypass的全加器和半加器1011作為基本單元,一共構(gòu)建了 4級(jí)Wallance壓縮樹,其中每一級(jí)中的小黑點(diǎn),S或S的反碼是該級(jí)Wallance壓縮樹的I位輸入信號(hào),小黑點(diǎn)表示對(duì)操作數(shù)進(jìn)行Booth編碼后的I位部分積信號(hào),S表不部分積的符號(hào)位,每一行表不一個(gè)部分積,其前面的I和S反碼位描述了對(duì)部分積的簡(jiǎn)化操作,利用的是最基本的Wallance算法。第一級(jí)Wallance壓縮樹1002將9個(gè)部分積數(shù)壓縮成6個(gè)部分積,使用了 49個(gè)基于行列Bypass的全加器1010和9個(gè)基于行列Bypass的半加器1011單元。第一級(jí)Wallance壓縮樹的輸出到第二級(jí)壓縮樹1003中,使用了 32個(gè)基于行列Bypass的全加器1010和6個(gè)基于行列Bypass的半加器1011單元,將6個(gè)部分積壓縮成4個(gè)部分積。第三級(jí)壓縮樹1004使用21個(gè)基于行列Bypass的全加器1010和2個(gè)基于行列Bypass的半加器1011單元,將4個(gè)的部分積壓縮成3個(gè)部分積。最終第四級(jí)壓縮樹1005使用12個(gè)基于行列Bypass的全加器1010和9個(gè)基于行列Bypass的半加器單元,將3個(gè)的部分積壓縮成2個(gè),得到兩個(gè)結(jié)果進(jìn)位操作數(shù)Carry和求和操作數(shù)Sum,經(jīng)過32位超前進(jìn)位加法器110的相加求和運(yùn)算,得到乘法器最終結(jié)果,完成基于Bypass技術(shù)的低功耗乘法運(yùn)算。上述Wallance壓縮樹1012簡(jiǎn)化概括了 4級(jí)壓縮樹的結(jié)構(gòu),Wallance壓縮樹中除了全加器,還包括半加器,為簡(jiǎn)化起見僅示出了全加器。其中,每一個(gè)空?qǐng)A圈表示一個(gè)部分積,即為1、S、S反碼和黑點(diǎn)表示的一行部分積操作數(shù),F(xiàn)A表示一組全加器,功能是將3個(gè)部分積壓縮為兩個(gè)部分積后作為下一級(jí)全加器的輸入,9個(gè)部分積經(jīng)過4級(jí)壓縮之后,變成了2個(gè)結(jié)果。圖11所示為32位超前進(jìn)位加法器110的行為級(jí)實(shí)現(xiàn)和門級(jí)實(shí)現(xiàn),主要功能是實(shí)現(xiàn)兩個(gè)32位操作數(shù)A和操作數(shù)B的加法操作,最后得到和數(shù)S [31:0]和進(jìn)位C32,其中基本
4位計(jì)算模塊116包括兩部分:4位PG計(jì)算模塊111和4位求和模塊112。4位PG計(jì)算模塊111,負(fù)責(zé)計(jì)算進(jìn)位傳播位Pi和進(jìn)位產(chǎn)生位Gi,以兩個(gè)輸入操作數(shù)的每4位為一組和前一級(jí)進(jìn)位作為輸入來運(yùn)算,其行為級(jí)描述如下:其中Ai, Bi為兩個(gè)第i位操作數(shù),Ci為第i位的進(jìn)位,Pi為第i位的進(jìn)位傳播位,Gi為第i位的進(jìn)位產(chǎn)生位,則:Gi = Ai^BiP1 = A1 B1Ci = G^PiCp1其中,,*表示兩個(gè)數(shù)相與, 表示 兩個(gè)數(shù)異或,+表示兩個(gè)數(shù)相或;其門級(jí)的電路實(shí)現(xiàn)為如圖11中模塊113所示,Ai和Bi經(jīng)過與門得到GpAi和Bi經(jīng)過異或門得到PpPi和Ci經(jīng)過與門再與Gi經(jīng)過或門得到Ci+1。4位求和模塊112接收4位一組的進(jìn)位傳播位Pp進(jìn)位產(chǎn)生位Gi和前一級(jí)的進(jìn)位Ci,來計(jì)算最終的結(jié)果Si,其行為級(jí)描述為:S1 =P, Ct其門級(jí)的電路實(shí)現(xiàn)為如圖11中模塊114所示,Pi和Ci信號(hào)經(jīng)過一級(jí)異或門得到
Si信號(hào)。以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.種基于Bypass技術(shù)的乘法器,所述乘法器用于接收兩個(gè)操作數(shù),并對(duì)其進(jìn)行乘法操作,其包括=Booth編碼模塊、Booth譯碼模塊、部分積壓縮樹和快速加法器306 ;其中,Booth編碼模塊對(duì)第一個(gè)操作數(shù)進(jìn)行Booth編碼;B00th譯碼模塊根據(jù)所述Booth編碼模塊輸出的Booth編碼對(duì)乘法器的第二個(gè)操作數(shù)進(jìn)行譯碼而得到多組部分積;所述部分積壓縮樹處理所述多組部分積,得到兩個(gè)壓縮結(jié)果;所述快速加法器將所述兩個(gè)壓縮結(jié)果進(jìn)行加法操作,從而得到最終的乘法結(jié)果;其中所述部分積壓縮樹的基本單元為基于行列Bypass的全加器和半加器。
2.權(quán)利要求1所述的乘法器,其特征在于,所述基于行列Bypass的全加器和半加器包括門控單元和加法模塊,所述門控單元選擇性地關(guān)閉所述加法模塊。
3.權(quán)利要求1所述的乘法器,其特征在于,所述基于行列Bypass的全加器接收三位輸入數(shù)據(jù),其中兩位輸入數(shù)據(jù)相或后作為控制信號(hào)控制所述全加器是否執(zhí)行加法操作;所述基于行列Bypass的半加器接收兩位輸入數(shù)據(jù),其中一位輸入數(shù)據(jù)作為控制信號(hào)控制所述半加器是否執(zhí)行半加操作。
4.權(quán)利要求1所述的乘法器,其特征在于,所述全加器包括加法模塊、門控單元和選通器,其接收三位輸入數(shù)據(jù),包括加法模塊、門控單元和選通器,其接收三位輸入數(shù)據(jù),其中兩位輸入數(shù)據(jù)經(jīng)過或門后作為門控單元和選通器的控制信號(hào),以打開或關(guān)閉所述加法模塊;如果所述加法模塊被關(guān)閉,則該全加器的輸出為第三位輸入數(shù)據(jù),如果所述加法器被打開,則所述第三位輸入數(shù)據(jù)和所述兩位輸入數(shù)據(jù)的與信號(hào)作為所述加法模塊的兩個(gè)輸入。
5.權(quán)利要求1所述的乘法器,其特征在于,所述半加器包括加法器、門控單元和選通器,其接收兩位輸入數(shù)據(jù),其中一位輸入數(shù)據(jù)作為門控單元和選通器的控制信號(hào),以打開或關(guān)閉所述加法模塊,如果所述加法器被打開,則所述第二位輸入數(shù)據(jù)作為所述加法模塊的輸入。
6.權(quán)利要求1所述的乘法器,其特征在于,所述全加器的加法模塊使用A+B+1電路,該A+B+1電路由一個(gè)或門和一個(gè)同或門構(gòu)成;所述半加器的加法模塊使用A+1電路,該A+1電路由一個(gè)反相器構(gòu)成。
7.權(quán)利要求1所述的乘法器,其特征在于,所述Booth編碼模塊采用改進(jìn)型的基4Booth 編碼。
8.權(quán)利要求7所述的乘法器,其特征在于,所述Booth編碼模塊包括多個(gè)編碼單元,所述編碼單元的輸入為第一操作數(shù)Y的相鄰3位Y2i+lY2iY21-l,其中Y2i_l與Y2i經(jīng)異或門得到bl,Y2i和Y2i+1經(jīng)異或非門后與bl經(jīng)或非門得到b2,Υ2 -1與Y2i經(jīng)與非門后與Υ2 +1經(jīng)與門得到neg ;所述Booth譯碼模塊包括多個(gè)譯碼單元,所述譯碼單元的輸入為第二操作數(shù)X的相鄰2位XiX1-1和相應(yīng)編碼單元的輸出bl、b2和neg,bl與Xi經(jīng)與門后得到的結(jié)果與b2和X1-1經(jīng)與門得到的結(jié)果經(jīng)或非門,再與neg經(jīng)異或非門,生成部分積。
9.權(quán)利要求1所述的乘法器,其特征在于,所述部分積壓縮樹采用的是Wallance壓縮算法,該部分積壓縮樹包括多個(gè)基于行列Bypass的全加器和半加器,所述全加器將輸入的部分積的三位壓縮成兩位作為下一級(jí)全加器或半加器的輸入,所述半加器將輸入的部分積的兩位進(jìn)行相加后作為下一級(jí)全加器或半加器的輸入。
10.權(quán)利要求1所述的乘法器,其特征在于,所述超前進(jìn)位加法器包括PG計(jì)算模塊和求和模塊,所述PG計(jì)算模塊計(jì)算進(jìn)位傳播位和進(jìn)位產(chǎn)生位,其以輸入的加法操作數(shù)的每4位為一組與前一級(jí)的進(jìn)位作為輸入來計(jì)算;所述求和模塊用于接收所述進(jìn)位傳播位、進(jìn)位產(chǎn)生位和前一級(jí)的進(jìn)位,計(jì)算得到 最終的乘法結(jié)果。
全文摘要
本發(fā)明公開了一種低功耗高速乘法器裝置,實(shí)現(xiàn)兩個(gè)N位操作數(shù)相乘運(yùn)算,主要采用基于門控行列Bypass技術(shù)的全加器和半加器,該乘法器包括Booth編碼邏輯,Booth譯碼邏輯,基于Bypass的部分積壓縮樹和快速加法器等部件。Booth編碼與譯碼邏輯,采用改進(jìn)型Booth編碼方式,對(duì)2個(gè)N位操作數(shù)進(jìn)行處理,得到M個(gè)部分積。部分積壓縮樹對(duì)M個(gè)部分積進(jìn)行處理,其壓縮樹的基本單元為基于行列Bypass的全加器和半加器,該Bypass技術(shù)使用門控單元來選擇性關(guān)閉部分求和邏輯,減少晶體管的活動(dòng)開關(guān)性,降低關(guān)鍵路徑上的延時(shí),從而做到高性能低功耗設(shè)計(jì)。
文檔編號(hào)G06F1/32GK103092560SQ20131002708
公開日2013年5月8日 申請(qǐng)日期2013年1月18日 優(yōu)先權(quán)日2013年1月18日
發(fā)明者王東琳, 侯化成, 王惠娟, 肖偌舟, 林玻, 張志偉 申請(qǐng)人:中國(guó)科學(xué)院自動(dòng)化研究所