本發(fā)明涉及一種三值FPRM電路功耗優(yōu)化方法,尤其是涉及一種利用窮舉法的三值FPRM電路功耗優(yōu)化方法。
背景技術(shù):
隨著集成電路規(guī)模和集成度的不斷發(fā)展,數(shù)字電路必定會遭遇功耗、面積與速度等問題。傳統(tǒng)的數(shù)字電路大都采用二值邏輯,但是二值信號信息含量低已成為制約集成電路發(fā)展的主要因素。而多值邏輯電路增加了單線攜帶信息的能力,能有效提高空間或時間的利用率,減少數(shù)字系統(tǒng)的連線,節(jié)省電路面積與成本。基數(shù)為3的三值邏輯在多值邏輯代數(shù)系統(tǒng)中基數(shù)最小,容易實現(xiàn),具有代表性。任意邏輯函數(shù)均可以用布爾邏輯和Reed-Muller(RM)邏輯來表示,與傳統(tǒng)的布爾邏輯電路相比,基于RM邏輯的電路具有以下三個方面的優(yōu)勢:首先,在某些功能電路(如通信電路、奇偶校驗電路、運算電路等)中,用RM邏輯表示的電路在功耗、面積和速度等方面體現(xiàn)出了巨大的優(yōu)勢;其次,用RM邏輯表示的電路可測性強;最后,用RM邏輯表示的電路結(jié)構(gòu)更加緊湊。RM邏輯函數(shù)通常采用固定極性(Fixed-polarityReed-Muller,FPRM)和混合極性(Mixed-polarityReed-Muller,MPRM)兩種表達(dá)方式。在n變量的三值FPRM邏輯函數(shù)中有3n個固定極性,3n個固定極性對應(yīng)有3n個不同的三值FPRM表達(dá)式,三值FPRM表達(dá)式的簡單與否由其對應(yīng)的極性決定,而三值FPRM表達(dá)式的簡單與否直接決定了三值FPRM電路的功耗和面積等性能指標(biāo),因此,極性對FPRM電路的功耗、面積等性能指標(biāo)產(chǎn)生很大的影響。由于多值邏輯和RM邏輯的諸多優(yōu)點,國內(nèi)外許多專家學(xué)者對多值RM邏輯進(jìn)行了研究。然而國內(nèi)外專家學(xué)者主要集中研究多值RM邏輯電路極性轉(zhuǎn)換技術(shù),對于多值RM電路的功耗優(yōu)化技術(shù)未進(jìn)行研究。鑒此,設(shè)計一種利用窮舉法的三值FPRM電路功耗優(yōu)化方法,對三值FPRM電路功耗優(yōu)化具有重要意義。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是提供一種利用窮舉法的三值FPRM電路功耗優(yōu)化方法。該優(yōu)化方法利用窮舉法實現(xiàn)三值FPRM電路的最佳極性搜索,由此實現(xiàn)三值FPRM電路的功耗優(yōu)化,功耗優(yōu)化效果顯著。本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案為:一種利用窮舉法的三值FPRM電路功耗優(yōu)化方法,包括如下步驟:①建立三值FPRM電路的功耗估計模型:①-1將三值FPRM電路采用三值FPRM邏輯函數(shù)表示為如下形式:其中,n為函數(shù)fp(xn-1,xn-2,…,x0)的變量數(shù),xn-1,xn-2,…,x0表示函數(shù)fp(xn-1,xn-2,…,x0)的n個輸入變量,p表示函數(shù)fp(xn-1,xn-2,…,x0)的極性,極性p用n位三進(jìn)制形式表示為pn-1pn-2…p0,pj∈{0,1,2},j=0,1,2,…,n-1,⊕表示多輸入模3加運算,∑為累加符號,符號“*”表示乘號,i=0,1,2,…,3n-1,i用n位三進(jìn)制形式表示為in-1in-2…i0,ij∈{0,1,2},ai為FPRM系數(shù);ai∈{0,1,2};∏表示多輸入模3乘運算,的展開式為:其中極性p和下標(biāo)i決定變量的表示形式;①-2p極性下的三值FPRM邏輯函數(shù)包含兩類多輸入運算,兩類多輸入運算分別為多輸入模3加運算和多輸入模3乘運算,根據(jù)三值FPRM邏輯函數(shù)展開式將三值FPRM邏輯函數(shù)分解為多個多輸入模3加運算和多個多輸入模3乘運算,然后將每個多輸入運算分別分解為二輸入運算,得到二輸入模3加運算和二輸入模3乘運算,具體分解過程為:將多輸入運算的第1個輸入變量和第2個輸入變量作為第一個二輸入運算的兩個輸入變量,得到第一個二輸入運算的輸出變量;將第一個二輸入運算的輸出變量和多輸入運算的第3個輸入變量作為第二個二輸入運算的兩個輸入變量,得到第二個二輸入運算的輸出變量;將第二個二輸入運算的輸出變量和多輸入運算的第4個輸入變量作為第三個二輸入運算的兩個輸入變量,得到第三個二輸入運算的輸出變量;依此類推,直到所有的多輸入運算的輸入變量作為二輸入運算的輸入變量,完成多輸入運算的分解;將p極性下的三值FPRM邏輯函數(shù)分解后得到多個多輸入模3加運算和多個多輸入模3乘運算,多輸入模3加運算也稱為多輸入模3加門,多輸入模3乘運算也稱為多輸入模3乘門,將p極性下三值FPRM邏輯函數(shù)分解后的多輸入模3加門的數(shù)量記為N,將p極性下三值FPRM邏輯函數(shù)分解后的多輸入模3乘門的數(shù)量記為W;將每個多輸入模3加運算分解后得到多個二輸入模3加運算,將每個多輸入模3乘運算分解后得到多個二輸入模3乘運算,二輸入模3加運算也稱為二輸入模3加門,二輸入模3乘運算也稱為二輸入模3乘門;將第u個多輸入模3加門分解后的二輸入模3加門的數(shù)量記為Nu,u=1,2,…,N;將第o個多輸入模3乘門分解后的二輸入模3乘門的數(shù)量記為Wo,o=1,2,…,W;①-3將p極性下的三值FPRM邏輯函數(shù)分解后得到的所有二輸入模3加門和二輸入模3乘門引起的功耗作為p極性下的三值FPRM電路的功耗,二輸入模3加門引起的功耗采用其開關(guān)活動性表示,二輸入模3乘門引起的功耗采用其開關(guān)活動性表示,門電路的開關(guān)活動性用其輸出端的輸出變量概率表示,二輸入模3加門引起的功耗采用其輸出端的輸出變量概率表示,二輸入模3乘門引起的功耗采用其輸出端的輸出變量概率表示;①-4根據(jù)公式(2)、(3)和(4)計算第u個多輸入模3加門分解后的第k個二輸入模3加門的輸出變量概率;k=1,2,…,Nu;P1(k)u=Pky11*Pky20+Pky10*Pky21+Pky12*Pky22(2)P2(k)u=Pky12*Pky20+Pky11*Pky21+Pky10*Pky22(3)P0(k)u=1‐P1(k)u‐P2(k)u(4)根據(jù)公式(5)、(6)和(7)計算第o個多輸入模3乘門分解后的第g個二輸入模3乘門的輸出變量概率,g=1,2,…,Wo:Q1(g)o=Qgr11*Qgr21+Qgr12*Qgr22(5)Q2(g)o=Qgr11*Qgr22+Qgr12*Qgr21(6)Q0(g)o=1‐Q1(g)o‐Q2(g)o(7)其中,P1(k)u表示第u個多輸入模3加門分解后的第k個二輸入模3加門輸出變量為1的概率,P2(k)u表示第u個多輸入模3加門分解后的第k個二輸入模3加門輸出變量為2的概率,P0(k)u表示第u個多輸入模3加門分解后的第k個二輸入模3加門輸出變量為0的概率,y1和y2表示二輸入模3加門的兩個輸入變量,m∈{0,1,2},當(dāng)k=1時,Pky1m為多輸入模3加運算的第1個輸入變量為m的概率,Pky2m為多輸入模3加運算的第2個輸入變量為m的概率,當(dāng)k>1時,Pky1m為第k-1個二輸入模3加門輸出變量為m的概率,Pky2m為多輸入模3加門的第k+1個輸入變量為m的概率;Q1(g)o表示第o個多輸入模3乘門分解后的第g個二輸入模3乘門輸出變量為1的概率,Q2(g)o表示第o個多輸入模3乘門分解后的第g個二輸入模3乘門輸出變量為2的概率,Q0(g)o表示第o個多輸入模3乘門分解后的第g個二輸入模3乘門輸出變量為0的概率,r1和r2表示二輸入模3乘門的兩個輸入變量;當(dāng)g=1時,Qgr1m為多輸入模3乘運算的第1個輸入變量為m的概率,Qgr2m為多輸入模3乘運算的第2個輸入變量為m的概率,當(dāng)g>1時,Qgr1m為第g-1個二輸入模3乘門輸出變量為m的概率,Qgr2m為多輸入模3乘門的第g+1個輸入變量為m的概率;輸入變量xj為1和2的概率是由隨即函數(shù)產(chǎn)生的概率對(P1,P2),P0=1-P1-P2;P0,P1和P2分別為0到1之間某個值,P0表示輸入變量為0的概率,P1表示輸入變量為1的概率,P2表示輸入變量為2的概率;①-5根據(jù)二輸入模3加門的輸出變量概率和二輸入模3乘門的輸出變量概率計算三值FPRM電路的功耗,將三值FPRM電路的功耗估計模型表示為:其中,Eswd表示p極性下三值FPRM電路的功耗,N為p極性下三值FPRM邏輯函數(shù)分解后的多輸入模3加門的數(shù)量,W為p極性下三值FPRM邏輯函數(shù)分解后的多輸入模3乘門的數(shù)量;②采用窮舉法對三值FPRM電路進(jìn)行功耗最佳極性搜索,得到三值FPRM電路的功耗最佳極性和該功耗最佳極性下三值FPRM電路的最小功耗。所述的步驟②中采用窮舉法對三值FPRM電路進(jìn)行功耗最佳極性搜索的具體步驟為:②-1采用三值FPRM電路的功耗估計模型計算最大極性下的三值FPRM電路功耗,將最大極性作為最佳極性,將最大極性下的三值FPRM電路的功耗作為最小功耗;②-...