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