專利名稱:高速分裂式乘累加器mac裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于解決多種乘累加算法的高速分裂式乘累加器MAC裝置。
背景技術(shù):
在數(shù)字信號處理應(yīng)用中,很多操作如FIR、IIR、卷積算法和FFT等,都涉及各種不同模式的乘法或乘累加操作,乘累加算法的處理能力直接影響到處理器的性能。乘累加運算的乘數(shù)和被乘數(shù)很可能在有些情況下是有符號數(shù),另一些情況是無符號數(shù),也有可能出現(xiàn)一個是有符號數(shù),一個是無符號數(shù)的情況;另外,在某些場合,不只需要乘累加操作,還需要考慮不同位寬操作數(shù)的乘法操作,乘累加操作以及并行的先乘再加操作。同時,現(xiàn)代信號處理器的處理能力要求越來越高,包括對工作頻率以及單周期信號處理能力的要求,這就需要乘累加運算滿足高速并且能夠單周期處理多個數(shù)據(jù)即SIMD指令。而現(xiàn)有的乘累加MAC裝置的計算并行度不高,通常在一個周期內(nèi)只可以進行一個乘法或者乘累加操作,這不能夠滿足多媒體流的需求。并且,高速的處理器要求乘累加單元也具有高速的性能,有些設(shè)計中為了實現(xiàn)高速要求而犧牲了流水線的深度,使得啟動乘累加操作時需要多個周期才能輸出一個結(jié)果。由于現(xiàn)有乘累加設(shè)計中存在的這些不足,本發(fā)明提出了一種高速分裂式乘累加器MAC裝置,這種用于解決多種乘累加算法的乘累加裝置實現(xiàn)了高速、流水線深度小并且單周期內(nèi)可以處理多個數(shù)據(jù)即SIMD指令。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)中的不足,提供一種高速分裂式乘累加器MAC裝置。
為了解決上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案實現(xiàn)的一種高速分裂式乘累加器MAC裝置,包括輸入和輸出,該裝置還包括四個功能單元功能單元I是數(shù)據(jù)選擇單元,在輸入中選擇合適的乘數(shù)和被乘數(shù)輸出;功能單元II是半字位寬的乘累加器,根據(jù)累加選擇信號A_mul和符號選擇信號U_mul將功能單元I輸入的乘數(shù)和被乘數(shù)相乘得到乘累加器結(jié)果;功能單元III包含兩部分電路,一是兩個半字模式乘加結(jié)果的輸出電路,二是全字模式乘法或乘累加運算的預(yù)處理電路;功能單元IV是全字模式乘法或乘累加運算的輸出電路,其是一個進位選擇結(jié)構(gòu),包含選擇器和一個比特加法器。
作為本發(fā)明的高速分裂式乘累加器MAC裝置的改進功能單元I為乘法器的數(shù)據(jù)選擇邏輯,其接收多位乘數(shù)和被乘數(shù)數(shù)據(jù)以及顆粒度選擇信號G_mul,根據(jù)顆粒度選擇信號G_mul選擇四組合適的數(shù)據(jù)輸出到乘法器中。
作為本發(fā)明的高速分裂式乘累加器MAC裝置的進一步改進功能單元II是由四個16比特乘累加器組成,分別對由功能單元I送來的信號根據(jù)累加選擇信號A_mul信號的狀態(tài)進行運算,輸出四個并行的結(jié)果。
作為本發(fā)明的高速分裂式乘累加器MAC裝置的進一步改進功能單元III包括兩部分電路第一部分電路是由兩個32比特加法器組成,為半字模式下的乘加操作服務(wù),輸出兩個半字模式乘加操作結(jié)果;另一部分電路是由一個改進型的3輸入48比特加法器組成,是全字模式乘法或乘累加操作的一個預(yù)處理電路,得到三個全字模式操作的中間結(jié)果;所述的功能單元III是根據(jù)顆粒度選擇信號G_mul、符號選擇信號U_mul和累加選擇信號A_mul信號的狀態(tài)來對輸入數(shù)據(jù)進行累加。
作為本發(fā)明的高速分裂式乘累加器MAC裝置的進一步改進功能單元IV包含了兩個選擇器和一個64比特加法器,其根據(jù)累加選擇信號A_mul信號的狀態(tài)對功能單元III送來的三個輸出和先前的需要累加的數(shù)據(jù)進行運算,得到最終的全字模式乘法或乘累加結(jié)果。
作為本發(fā)明的高速分裂式乘累加器MAC裝置的進一步改進功能單元II中還包含了一個基于不同位寬的先行進位加法器的壓縮電路。該基于不同位寬的先行進位加法器的壓縮電路是通過如下方法實現(xiàn)的當(dāng)部分積的個數(shù)M是奇數(shù)時,采用 組位寬為 比特的先行進位加法器錯位排列,將部分積的個數(shù)壓縮為 ,壓縮率為 ;當(dāng)M是偶數(shù)時,采用 組位寬為 比特的先行進位加法器錯位排列,將部分積的個數(shù)壓縮為 ,壓縮率為 。
功能單元II中所包含的混合型的部分積壓縮電路方案,它是根據(jù)部分積的個數(shù)來選擇合適的壓縮電路對部分積進行壓縮處理,以達到最大的壓縮效率。這里使用的壓縮電路包括全加器、4-2壓縮器,5-2壓縮器以及本發(fā)明提出的一種新型的基于不同位寬的先行進位加法器的壓縮電路。具體實現(xiàn)方法為當(dāng)部分積的個數(shù)是5的倍數(shù)并且為偶數(shù)時,采用5-2壓縮器將部分積的個數(shù)由M壓縮為2M/5。
當(dāng)部分的個數(shù)是4的倍數(shù)時,采用4-2壓縮器將部分積的個數(shù)由M壓縮為M/2。
當(dāng)部分積的個數(shù)是3的倍數(shù)時,采用全加器將部分積的個數(shù)由M壓縮為2M/3。
當(dāng)不是以上各種情況時,采用基于不同位寬的先行進位加法器來進行壓縮。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是本發(fā)明提供的一種高速分裂式乘累加器MAC裝置工作頻率快、流水線深度不大、計算并行度高,能夠解決多種模式的乘累加運算,其中包括不同位寬(半字、全字)的無符號/有符號乘法操作、乘累加操作以及半字模式下的乘加操作。本發(fā)明劃分為若干個順序執(zhí)行單元,通過對這些單元的安排和組合以匹配處理器的流水線結(jié)構(gòu),同時它易于通過流水線重新劃分以實現(xiàn)頻率擴展?jié)M足不同頻率處理器的要求。
圖1為本發(fā)明實施例的高速分裂式MAC結(jié)構(gòu)裝置系統(tǒng)構(gòu)架圖。
圖2為傳統(tǒng)的基于全加器的部分積壓縮原理圖。
圖3為本發(fā)明實施例提出的基于先行進位加法器的壓縮原理圖。
圖4為16比特乘累加器的結(jié)構(gòu)框圖。
圖5為本發(fā)明實施例的基于各種壓縮電路的混合型部分積累加方案圖。
具體實施例方式
結(jié)合附圖,下面對本發(fā)明進行詳細說明。
在圖1中,本發(fā)明實例將高速分裂式乘累加器MAC裝置分為4個順序執(zhí)行的功能單元,每個功能單元分別完成MAC裝置的部分功能。
I為功能單元I,其為乘法器的數(shù)據(jù)選擇邏輯。其接收多位乘數(shù)和被乘數(shù)數(shù)據(jù)以及顆粒度選擇信號,它根據(jù)顆粒度選擇信號選擇合適的數(shù)據(jù)輸出到四個乘法器中。其具體邏輯為G_mul置高執(zhí)行全字(32bit)運算。
乘法器1的操作數(shù)為AH,BH乘法器2的操作數(shù)為AL,BL乘法器3的操作數(shù)為AH,BL乘法器4的操作數(shù)為AL,BHG_mul置低執(zhí)行半字(16bit)運算。
乘法器1的操作數(shù)為A1,B1乘法器2的操作數(shù)為A2,B2乘法器3的操作數(shù)為A3,B3
乘法器4的操作數(shù)為A4,B4II為功能單元II,它是由四個16比特乘累加器組成,分別對由功能單元I送來的四組信號根據(jù)累加選擇信號A_mul信號的狀態(tài)決定是進行乘法還是乘累加運算,輸出四個并行的結(jié)果。其具體邏輯為A_mul置高執(zhí)行16bit乘累加操作,將這次乘法運算結(jié)果與之前的結(jié)果進行累加。
A_mul置低執(zhí)行16bit乘法操作。
當(dāng)為全字模式,即G_mul=1時,四個結(jié)果將作為四個部分積累加得到最終的全字乘法或乘累加的結(jié)果。
R20=AH×BH,R21=AL×BL,R22=AH×BL,R23=AL×BH。
當(dāng)為半字模式,即G_mul=0時,四個結(jié)果作為四個16比特乘累加器的結(jié)果輸出半字模式下乘法或乘累加操作的最終結(jié)果。
R20=A1×B1,R21=A2×B2,R22=A3×B3,R23=A4×B4。
III為功能單元III,其接受功能單元II送來的四個32bit乘法或乘累加運算結(jié)果,根據(jù)顆粒度選擇信號G_mul、符號選擇信號U_mul和累加選擇信號A_mul信號的狀態(tài)來進行累加得到需要的結(jié)果。這一功能單元可以劃分為兩部分電路,分別執(zhí)行不同的功能。第一部分電路是由兩個32比特加法器組成,為半字模式的乘加操作服務(wù),輸出兩個半字模式的乘加操作結(jié)果R32、R33;另一部分電路是由一個改進型的3輸入48比特加法器組成,是全字模式乘法或乘累加操作的一個預(yù)處理電路,得到三個全字模式操作的中間結(jié)果R30、R31a和R31b。其具體邏輯如下所示第一部分電路當(dāng)為半字模式,即G_mul=0時,將兩個相鄰的乘法結(jié)果相加,得到兩個并行的乘加操作的結(jié)果并作為整個高速分裂式MAC的結(jié)果輸出。
R32=R20+R21=A1×B1+A2×B2,R33=R22+R23=A3×B3+A4×B4。
當(dāng)為半字模式,即G_mul=0時,這兩個加法器的結(jié)果沒有意義。
第二部分電路將功能單元II得到的四個結(jié)果移位相加得到三個中間結(jié)果,并送到下一個功能單元中進行運算得到最后的全字模式乘法或乘累加結(jié)果。
由于全字模式的乘法操作結(jié)果為A×B=AH×BH×232+sign_ext(AH×BL+AL×BH)×216+AL×BL=R20×232+sign_ext(R22+R23)×216+R21={R20,R21}+sign_ext(R22+R23)×216由于R20×232和R21沒有重疊,所以R20×232+R21的結(jié)果實際上就是將R20、R21兩個數(shù)直接連接即可。所以A×B實際上是三個數(shù)的累加。又由于A×B的低16位就是R21的低16位,無需進行累加,所以一個3輸入48比特的加法器就可以得到A×B的結(jié)果。
這一部分電路得到的三個結(jié)果為R3041比特數(shù)據(jù),3輸入數(shù)據(jù)累加結(jié)果的低40比特和一個進位位,作為功能單元3的一個輸出;R31a24比特數(shù)據(jù),假設(shè)進位為1時的高24比特累加結(jié)果,作為功能單元3的一個輸出;
R31b24比特數(shù)據(jù),假設(shè)進位為0時的高24比特累加結(jié)果,作為功能單元3的一個輸出。
IV為功能單元IV,其接收功能單元III送來三個輸出和先前的需要累加的數(shù)據(jù),根據(jù)A_mul信號的狀態(tài)得到最終的全字模式乘法或乘累加結(jié)果。在功能單元IV中包含了兩個選擇器和一個64比特加法器。
選擇器1接收來自功能單元三的三個輸出數(shù)據(jù),經(jīng)過選擇得到AH×BH的結(jié)果。其具體邏輯為AH×BH[39:0]=R30[39:0],AH×BH[63:40]由低40比特累加的進位選擇而成。當(dāng)進位R30[40]為高電平時,AH×BH[63:40]=R31a;當(dāng)進位R30[40]為低電平時,AH×BH[63:40]=R31b。
選擇器2接收的數(shù)據(jù)一個來自輸出寄存器R4,是上一個節(jié)拍的累加數(shù)據(jù),另一個是64比特的零,并且由累加選擇信號A_mul確定輸出結(jié)果。
當(dāng)A_mul為低電平時,不需要進行累加操作,Racc=64’h0;當(dāng)A_mul為高電平時,需要進行累加操作,Racc=R4。
64比特加法器將兩個選擇器的選擇結(jié)果相加,得到最終的全字模式下乘法或乘累加結(jié)果,將結(jié)果通過R4輸出。這個64比特加法器的結(jié)構(gòu)是基于4比特先行進位加法器的進位選擇結(jié)構(gòu)。
由于受高速分裂式乘累加器MAC裝置的物理性質(zhì)限制,其很難在一個DSP處理器時鐘周期內(nèi)完成,因此在本發(fā)明具體實施例中,將整個結(jié)構(gòu)劃分為四級流水實現(xiàn),使之與流水線匹配。將功能單元I和功能單元II安排在前兩個流水級中,根據(jù)其電路實現(xiàn)關(guān)鍵時延均勻的其功能單元分配在各流水級中。將功能單元III安排在第3級流水中,功能單元IV在最后一個流水級中。這樣,四個平行的半字模式乘法或乘累加操作結(jié)果將在第2級流水中輸出,兩個并行的半字模式乘加操作結(jié)果在第3級流水中輸出,一個全字模式乘法或乘累加操作在第4級流水中輸出。本發(fā)明具體實施的性能如表1~3所示(實驗條件130nm標(biāo)準(zhǔn)單元CMOS工藝技術(shù))表1、邏輯綜合后的時延信息
表2、物理綜合后的時延信息
表3、布線后的時延信息
此MAC裝置在最壞情況下可以與主頻為480MHZ的DSP匹配,在一般工作情況下可以與主頻為610MHz的DSP匹配。并且,本發(fā)明實施例提出的功能單元與流水級匹配方法可以進一步擴展,通過功能單元內(nèi)外的子邏輯模塊層次的進一步細分和重組,可以實現(xiàn)與高頻或低頻各種不同的處理器之間的良好匹配。例如將流水線細分為8級,就可以達到最壞情況下的890MHz和一般工作情況下的1.18GHz。其各流水級的時延如表4所示表4、8級流水劃分設(shè)計邏輯綜合后的各級時延信息
圖2為傳統(tǒng)的基于全加器的部分積壓縮原理,以5個部分積為例。部分積壓縮電路是乘法器或乘累加器中的主要組成部分,它的性能可以直接影響到乘法器或乘累加器的性能好壞,由于大部分的時延和面積都消耗在這一部分。這一部分輸入信號為5個部分積A、B、C、D和E。首先利用全加器的3∶2壓縮特性,通過一組全加器將三個部分積A、B和E壓縮為兩個,這樣部分積的個數(shù)由5減少為4;在通過一組全加器將其中的三個部分積壓縮為兩個,這樣部分積的個數(shù)由4減少為3;最后一組全加器后就可以得到2個部分積,完成壓縮電路功能。這樣,基于全加器的壓縮電路的關(guān)鍵路徑上有3個全加器,時延T=3×Delay(全加器)。
圖3為本發(fā)明實施例提出的基于先行進位加法器的壓縮原理圖。其分為兩部分,第一部分接受5個部分積A、B、C、D和E,輸出3個部分積a、b和c;第二部分接收a、b和c,輸出最終累加結(jié)果sum和carry。
第一部分首先采用兩組位寬為2比特的先行進位加法器將5個部分積壓縮為3個,這兩組加法器是移位排列的,即第二組加法器相對第一組左移了一位。具體實現(xiàn)方法是將部分積B和C分成若干個子串,每個子串位寬為2比特,將這些子串作為輸入送到若干個位寬為2比特的先行進位加法器中進行加法運算,這就是第一組加法器。同樣的,將D和E也分為2比特位寬的子串送到2比特的加法器中形成第二組加法器。最后一個部分A是作為兩組加法器的進位來累加的,由于兩組加法器是錯開1比特排列的,所以A的每一個比特位都會得到累加。累加后的結(jié)果是a、b和c。a是由第一組加法器的結(jié)果輸出組成的,b是由第二組加法器的結(jié)果輸出組成的,c是由兩組加法器的進位輸出位組成的。
第二部分采用一組全加器將3個部分積累加為sum和carry。所以,這種基于不同位寬的先行進位加法器的累加電路的關(guān)鍵路徑包括一個2bit加法器和一個全加器。由于一個2bit加法器的延時小于兩個級聯(lián)的全加器的延時,所以這種壓縮電路的時間性能優(yōu)于傳統(tǒng)的基于全加器的Wallace樹型結(jié)構(gòu)。
將這種壓縮電路推廣到一般場合下,假設(shè)部分積的個數(shù)為M,當(dāng)M是奇數(shù)時,采用 組位寬為 比特的先行進位加法器,將部分積的個數(shù)壓縮為 ,壓縮率為 。當(dāng)M是偶數(shù)時,采用 組位寬為 比特的先行進位加法器,將部分積的個數(shù)壓縮為 ,壓縮率為 ??梢钥闯鲞@種壓縮電路的壓縮率大于全加器。
圖4為16比特乘累加器的結(jié)構(gòu)框圖。其接收兩個16比特操作數(shù),累加選擇信號A_mul和符號選擇信號U_mul,輸出一個無符號/有符號乘法或乘累加結(jié)果。本單元可分為三部分,部分積產(chǎn)生模塊,部分積壓縮樹和加法器。部分積產(chǎn)生模塊接收兩個操作數(shù),輸出9個部分積;部分積壓縮樹模塊接收部分積產(chǎn)生模塊輸出的9個部分積和一個額外的部分積,這個額外的部分積是先前的結(jié)果經(jīng)過由A_mul信號選擇后再送到部分積壓縮樹中。
當(dāng)A_mul=0時,不需要進行累加,將0送入部分積壓縮模塊中。
當(dāng)A_mul=1時,需要進行累加,將先前的結(jié)果送入部分積壓縮模塊中。本發(fā)明中的16比特乘累加器將先前的結(jié)果作為一個部分積返回到部分積壓縮樹模塊中,而不是在最后進行累加,這樣可以節(jié)省一級加法器。其輸出壓縮后的兩個部分積sum,carry。加法器將壓縮模塊產(chǎn)生的兩個部分積加起來,得到乘法或乘累加結(jié)果。這里采用的是基于8bit先行進位加法器的進位選擇結(jié)構(gòu)。
圖5為本發(fā)明實施例的基于各種壓縮電路的混合型部分積累加方案在16bit乘累加器中的應(yīng)用。這種基于各種壓縮電路的混合型部分積方案是合理利用現(xiàn)存的各種壓縮電路和本發(fā)明實施例中提出的一個基于不同位寬的先行進位加法器的壓縮電路,將其應(yīng)用于最佳場合,使其壓縮率達到最大。具體實現(xiàn)方法在前面已經(jīng)提到。
表5給出了采用這種基于各種壓縮電路的混合型部分積方案與傳統(tǒng)的全加器Wallace tree結(jié)構(gòu)的時延對比,取得了11.6%到32.1%的改善。
表5、性能對比表
將這種方案應(yīng)用到16bit乘累加器中,需要將9個部分積和一個額外的部分積累加壓縮為2個,并且用兩級流水實現(xiàn),而這個額外的部分積要送到第2級流水中。
首先,三組全加器組將9個部分積壓縮為6個。
其次,由于6是3的倍數(shù),兩組全加器組將這6個部分積壓縮為4個。
這作為第一級流水,在第二級流水中,首先,兩組2比特先行進位加法器將5個部分積壓縮為3個,這5個部分積包括從第一級流水輸出的四個部分積和一個額外的經(jīng)過選擇的部分積。其次,一組全加器將3個部分積壓縮為2個。這樣,部分積壓縮電路完成。表6給出了本發(fā)明的各級及總門數(shù)。
表6、各級邏輯門信息
綜上所述,本發(fā)明實施例提出了一種高速分裂式乘累加器MAC裝置,用于解決多種模式的乘法和乘累加運算,其中包括32位模式下的有符號/無符號的乘法或乘累加運算,16位模式有符號/無符號的乘法或乘累加運算,16位模式下的乘加運算。將MAC裝置劃分成順序的四個結(jié)構(gòu)單元,對每個結(jié)構(gòu)單元分別處理和優(yōu)化;提出了一種基于不同位寬的先行進位加法器的壓縮電路和利用各種壓縮電路以取得最優(yōu)壓縮效果的壓縮方案。這樣不但從面積和時延方面都有較好的改善,為高速設(shè)計奠定了基礎(chǔ)。提出了一種MAC裝置和DSP處理器流水級匹配的方法,可以通過重新安排各功能模塊和流水線,來實現(xiàn)MAC的頻率擴展,使MAC設(shè)計可以和各種頻率的處理器相匹配。本發(fā)明實施例所提出的方法可以組合使用,也可以分別單獨使用,可以在DSP處理器中使用,也可以在面向各種需要MAC功能裝置的電路實現(xiàn)中使用。
最后,還需要注意的是,以上列舉的僅是本發(fā)明的若干個具體實施例。顯然,本發(fā)明不限于以上實施例,還可以有許多變形。本領(lǐng)域的普通技術(shù)人員能從本實用新型公開的內(nèi)容直接導(dǎo)出或聯(lián)想到的所有變形,均應(yīng)認為是本發(fā)明的保護范圍。
權(quán)利要求
1.一種高速分裂式乘累加器MAC裝置,包括輸入和輸出,其特征在于,該裝置還包括四個功能單元功能單元I是數(shù)據(jù)選擇單元,在輸入中選擇合適的乘數(shù)和被乘數(shù)輸出;功能單元II是半字位寬的乘累加器,根據(jù)累加選擇信號A_mul和符號選擇信號U_mul將功能單元I輸入的乘數(shù)和被乘數(shù)相乘得到乘累加器結(jié)果;功能單元III包含兩部分電路,一是兩個半字模式乘加結(jié)果的輸出電路,二是全字模式乘法或乘累加運算的預(yù)處理電路;功能單元IV是全字模式乘法或乘累加運算的輸出電路,其是一個進位選擇結(jié)構(gòu),包含選擇器和一個比特加法器。
2.根據(jù)權(quán)利要求1所述的一種高速分裂式乘累加器MAC裝置,其特征在于,所述的功能單元I為乘法器的數(shù)據(jù)選擇邏輯,其接收多位乘數(shù)和被乘數(shù)數(shù)據(jù)以及顆粒度選擇信號G_mul,根據(jù)顆粒度選擇信號G_mul選擇四組合適的數(shù)據(jù)輸出到乘法器中。
3.根據(jù)權(quán)利要求2所述的一種高速分裂式乘累加器MAC裝置,其特征在于,所述的功能單元II是由四個16比特乘累加器組成,分別對由功能單元I送來的信號根據(jù)累加選擇信號A_mul信號的狀態(tài)進行運算,輸出四個并行的結(jié)果。
4.根據(jù)權(quán)利要求3所述的一種高速分裂式乘累加器MAC裝置,其特征在于,所述的功能單元III包括兩部分電路第一部分電路是由兩個32比特加法器組成,為半字模式下的乘加操作服務(wù),輸出兩個半字模式乘加操作結(jié)果;另一部分電路是由一個改進型的3輸入48比特加法器組成,是全字模式乘法或乘累加操作的一個預(yù)處理電路,得到三個全字模式操作的中間結(jié)果;所述的功能單元III是根據(jù)顆粒度選擇信號G_mul、符號選擇信號U_mul和累加選擇信號A_mul信號的狀態(tài)來對輸入數(shù)據(jù)進行累加。
5.根據(jù)權(quán)利要求4所述的一種高速分裂式乘累加器MAC裝置,其特征在于,所述的功能單元IV包含了兩個選擇器和一個64比特加法器,其根據(jù)累加選擇信號A_mul信號的狀態(tài)對功能單元III送來的三個輸出和先前的需要累加的數(shù)據(jù)進行運算,得到最終的全字模式乘法或乘累加結(jié)果。
6.根據(jù)權(quán)利要求5所述的一種高速分裂式乘累加器MAC裝置,其特征在于,所述的功能單元II中還包含了一個基于不同位寬的先行進位加法器的壓縮電路。
7.根據(jù)權(quán)利要求6所述的一種高速分裂式乘累加器MAC裝置,其特征在于,所述的一個基于不同位寬的先行進位加法器的壓縮電路是通過如下方法實現(xiàn)的當(dāng)部分積的個數(shù)M是奇數(shù)時,采用 組位寬為 比特的先行進位加法器錯位排列,將部分積的個數(shù)壓縮為 壓縮率為 當(dāng)M是偶數(shù)時,采用 組位寬為 比特的先行進位加法器錯位排列,將部分積的個數(shù)壓縮為 壓縮率為
全文摘要
本發(fā)明公開了一種高速分裂式乘累加器MAC裝置,包括輸入和輸出,該裝置還包括四個功能單元功能單元I是數(shù)據(jù)選擇單元,在輸入中選擇合適的乘數(shù)和被乘數(shù)輸出;功能單元II是半字位寬的乘累加器,根據(jù)累加選擇信號A_mul和符號選擇信號U_mul將功能單元I輸入的乘數(shù)和被乘數(shù)相乘得到乘累加器結(jié)果;功能單元III包含兩部分電路,一是兩個半字模式乘加結(jié)果的輸出電路,二是全字模式乘法或乘累加運算的預(yù)處理電路;功能單元IV是全字模式乘法或乘累加運算的輸出電路,其是一個進位選擇結(jié)構(gòu),包含選擇器和一個比特加法器。本發(fā)明的高速分裂式乘累加器MAC裝置,工作頻率快、流水線深度不大、計算并行度高,能夠解決多種模式的乘累加運算。
文檔編號G06F7/48GK1963745SQ200610154979
公開日2007年5月16日 申請日期2006年12月1日 優(yōu)先權(quán)日2006年12月1日
發(fā)明者劉鵬, 夏冰潔, 姚慶棟 申請人:浙江大學(xué)