專利名稱::用于數(shù)字集成電路設(shè)計(jì)的最佳極性搜索方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種數(shù)字集成電路的設(shè)計(jì)方法,尤其是涉及一種用于數(shù)字集成電路設(shè)計(jì)的最佳極性搜索方法。
背景技術(shù):
:信息、物質(zhì)和能源是現(xiàn)代社會(huì)賴以生存的三大要素,其中信息產(chǎn)業(yè)成為上世紀(jì)末以來發(fā)展最快的產(chǎn)業(yè)。目前信息電子產(chǎn)品己經(jīng)成為現(xiàn)代信息社會(huì)文明和進(jìn)步的標(biāo)志,而集成電路對信息產(chǎn)業(yè)起著支撐的作用。隨著電子技術(shù)的飛速發(fā)展,電路的工作速度越來越快,集成電路的集成度也越來越高,這導(dǎo)致了功耗的急劇增加。功耗的不斷增加,不僅使各種便攜式設(shè)備遇到電源方面的問題,而且芯片的過熱亦易導(dǎo)致它們工作的失效及壽命的縮短,同時(shí)也使得芯片的封裝更加困難。這一切使得降低功耗成為集成電路設(shè)計(jì)中除了速度和面積之外需要考慮的又一個(gè)重要設(shè)計(jì)參數(shù)。目前,集成電路的低功耗研究主要集中在兩個(gè)方面一一低功耗電路設(shè)計(jì)和低功耗自動(dòng)綜合算法開發(fā)。由于計(jì)算機(jī)技術(shù)在超大規(guī)模集成電路(VLSI)設(shè)計(jì)中的廣泛應(yīng)用,使得傳統(tǒng)的手工設(shè)計(jì)已經(jīng)完全由計(jì)算機(jī)輔助(CAD)設(shè)計(jì)所取代,進(jìn)而傳統(tǒng)的VLSI設(shè)計(jì)的程序也發(fā)生了根本的變化。VLSI制造前的各種性能優(yōu)化不僅成為可能,而且成為必要的設(shè)計(jì)步驟。這些步驟為縮短生產(chǎn)時(shí)間,提高產(chǎn)品的質(zhì)量和產(chǎn)品的成品率起到了保證。因而VLSI制造水平的高低從某種意義上說取決于VLSI工藝的水平和VLSI的CAD工具的先進(jìn)程度。因此低功耗自動(dòng)綜合算法作為計(jì)算級輔助設(shè)計(jì)中的一個(gè)部分,在VLSI綜合優(yōu)化方面重要性顯而易見。當(dāng)前,低功耗集成電路設(shè)計(jì)以布爾邏輯為基礎(chǔ),并已建立了相對系統(tǒng)的自動(dòng)設(shè)計(jì)方法。但是大量的研究已經(jīng)表明,相比于用傳統(tǒng)布爾邏輯實(shí)現(xiàn)的電路,用Reed-Muller(RM)邏輯實(shí)現(xiàn)的電路(如算術(shù)電路、奇偶校驗(yàn)電路、通信電路等)在功耗、面積、速度等方面體現(xiàn)出了'巨大的優(yōu)勢。因此,建立以RM邏輯為基礎(chǔ)的低功耗自動(dòng)設(shè)計(jì)方法對于目前以布爾邏輯為主的低功耗集成電路設(shè)計(jì)將是一個(gè)很好的補(bǔ)充。與布爾邏輯電路相類似,RM邏輯電路也可以具有兩種相對應(yīng)的形式,即XOR/AND(異或/與)形式和XNOR/OR(同或/或)形式。目前,對RM邏輯電路的綜合優(yōu)化,主要集中在XOR/AND形式上。事實(shí)上,由于XNOR/OR形式在實(shí)現(xiàn)邏輯函數(shù)最小化方面具有其獨(dú)到之處,因此,對以XNOR70R形式為基礎(chǔ)的邏輯電路進(jìn)行綜合優(yōu)化有其現(xiàn)實(shí)意義。對于一個(gè)由n個(gè)門組成的電路,具有2"個(gè)固定極性邏輯電路,與之相對應(yīng)的有2"個(gè)不同的XNOR/OR邏輯展開式。故極性決定著XNOR/OR邏輯函數(shù)的繁簡,進(jìn)而影響著XNOR/OR電路功耗、面積、速度等方面的性能。因此,搜索XNOR/OR邏輯展開式的最佳極性,實(shí)現(xiàn)XNOR/OR電路功耗、面積等方面的最優(yōu)化就顯得很有必要。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是提供一種用于數(shù)字集成電路設(shè)計(jì)的最佳極性搜索方法,能夠獲得功耗較低的XNOR/OR邏輯電路,實(shí)現(xiàn)功耗和面積的同時(shí)優(yōu)化。本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案為一種用于數(shù)字集成電路設(shè)計(jì)的最佳極性搜索方法,它包括以下步驟①在判斷輸入信號(hào)概率值大小的基礎(chǔ)上,通過對輸入信號(hào)概率值的調(diào)整,對多輸入XNOR門的功耗算法進(jìn)行優(yōu)化;②建立XNOR/OR電路功耗估計(jì)模型,通過低功耗分解,得到整個(gè)XNOR70R電路的開關(guān)活動(dòng)性,并進(jìn)而得到電路的成本7bto/CoW,表示為函數(shù)rwa/CoW=a*SaCW+(1_cu)*XreaCW其中,&CoW表示XNOR70R電路總的開關(guān)活動(dòng)性,AeaCoW表示二輸入XNOR門和OR門的數(shù)量,"為功耗和面積的權(quán)重,取值為0<"<1;③用快速列表極性轉(zhuǎn)換算法來實(shí)現(xiàn)從布爾函數(shù)最大項(xiàng)到0極性下的XNOR/OR電路展開式的轉(zhuǎn)換,用所建立的功耗估計(jì)模型檢測該展開式,得到其功耗和面積值,并據(jù)此計(jì)算成本值;④將0極性下的功耗、面積和成本值作為最小功耗、最小面積和最小成本值,然后依格雷碼順序用基于列表技術(shù)的極性間轉(zhuǎn)換算法,由0極性下的XNOR/OR電路展開式依次得到其余2"-1個(gè)極性下的XNOR/OR電路的展開式,并用功耗估計(jì)模型逐一檢測這些展開式,得到相應(yīng)極性下XNOR/OR電路的功耗、面積和成本值;⑤根據(jù)當(dāng)前值小于最小值即更新的原則,以成本值的大小為評判依據(jù),不斷更新最小功耗、最小面積、最小成本值和最佳極性的值;最后得到XNOR/OR電路最小功耗、最小面積、最小成本值和最佳極性。優(yōu)化后的多輸入XNOR門的功耗算法的具體步驟如下先判斷輸入信號(hào)概率值的大小,如果概率值小于0.5則將其取成1的補(bǔ);然后取概率值最大的兩個(gè)信號(hào)進(jìn)行綜合,并用產(chǎn)生的信號(hào)取代上述兩個(gè)概率值最大的信號(hào);反復(fù)執(zhí)行上述過程,直至剩一個(gè)信號(hào)為止。建立XNOR/OR電路功耗估計(jì)模型的具體步驟如下先用霍夫曼算法對多輸入OR門進(jìn)行低功耗分解,并結(jié)合信號(hào)概率傳遞算法得到二輸入OR門的最終輸出信號(hào)概率和開關(guān)活動(dòng)性;然后將OR門的最終輸出信號(hào)概率作為多輸入XNOR門的初始輸入信號(hào)概率,并用優(yōu)化后的多輸入XNOR門功耗算法對多輸入XNOR門進(jìn)行低功耗分解,得到二輸入XNOR門的開關(guān)活動(dòng)性;最后,將XNOR門和OR門的開關(guān)活動(dòng)性相加,得到整個(gè)XNOR/OR電路的開關(guān)活動(dòng)性。所述的快速列表極性轉(zhuǎn)換算法的具體步驟如下1)將所有的最大項(xiàng)以二進(jìn)制形式表示;2)將所要求的極性轉(zhuǎn)換成二進(jìn)制形式,并與所有最大項(xiàng)進(jìn)行異或操作,得到新項(xiàng);3)選擇一個(gè)第M立為1的新項(xiàng),以此位為無關(guān)項(xiàng),再產(chǎn)生所有2'-l個(gè)新項(xiàng),并更新索引表中的項(xiàng)數(shù);4)重復(fù)步驟3),直至操作完所有新項(xiàng);5)索引表中項(xiàng)數(shù)為奇數(shù)的項(xiàng)即為所要求的XNOR/OR項(xiàng)?;诹斜砑夹g(shù)的極性間轉(zhuǎn)換算法的具體轉(zhuǎn)換過程如下1)探明兩個(gè)極性間不同的位,并將其定義為xn,X,2,...,2)將所有和項(xiàng)以二進(jìn)制形式表示;3)將每個(gè)第/"立為0的項(xiàng)進(jìn)行此位的取反操作,其余位保持不變;4)去除新項(xiàng)與最初項(xiàng)成雙的項(xiàng);5)對所有的^1,;^,...,^重復(fù)步驟(3)、(4),剩余的項(xiàng)即為所要求極性下的^011/011展開項(xiàng)。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于提供了一種用于數(shù)字集成電路設(shè)計(jì)的最佳極性搜索方法,能夠獲得功耗較低的XNOR/OR邏輯電路,由于成本中包含了功耗和面積兩方面的因素,因此能實(shí)現(xiàn)功耗和面積的同時(shí)優(yōu)化。表1中,通過對10個(gè)MCNCBenchmark電路進(jìn)行測試以檢驗(yàn)本發(fā)明方法的有效性。對本發(fā)明的方法已用C語言加以實(shí)現(xiàn),在Linux環(huán)境下通過GNUC的編譯,在PlV2.4GHz、256M內(nèi)存的個(gè)人計(jì)算機(jī)上,用本發(fā)明的方法對10個(gè)MCNCBenchmark電路進(jìn)行測試。為計(jì)算XNOR/OR電路的開關(guān)活動(dòng)性,用隨機(jī)函數(shù)產(chǎn)生20個(gè)輸入信號(hào)概率0.14,0.82,0.31,0.03,0.30,0.72,0.59,0.95,0.42,0.93,0.63,0.32,0.68,0.22,0.42,0.57,0.69,0.75,0.19,0.18,結(jié)果如表1所示。為檢驗(yàn)方法的有效性,極性0時(shí)XNOR/OR電路的開關(guān)活動(dòng)性和面積(二輸入XNOR70R門的數(shù)量)同時(shí)在表中列出,以作比較。表1中,列1表示所使用的Benchmark電路名稱;列2表示所用電路的變量數(shù);列3和列4分別表示在極性0下電路的開關(guān)活動(dòng)性(S為)和面積"w"o:二輸入XNOR/OR門數(shù)量);列5、列6和列7分別給出用本發(fā)明的方法搜索得到的最佳極性,及對應(yīng)極性下的開關(guān)活動(dòng)性(&4m)和面積C4re"SP:二輸入XNOR/OR門數(shù)量);列8和列9分別表示最佳極性XNOR/OR電路與0極性XNOR/OR電路相比在開關(guān)活動(dòng)性和面積上節(jié)省的百分比,其中開關(guān)活動(dòng)性節(jié)省百分比定義如下-S證o/o=Hx100%面積節(jié)省百分比也相類似的定義為S證一y。J,"廳朋xl00y。A叫列IO給出了所用時(shí)間,從實(shí)驗(yàn)結(jié)果可以看出本發(fā)明的搜索方法相當(dāng)快速。表1XNOR/OR電路最佳極性搜索實(shí)驗(yàn)數(shù)據(jù)<table>tableseeoriginaldocumentpage7</column></row><table>從表l所示的實(shí)驗(yàn)數(shù)據(jù)可知,本發(fā)明的方法在最佳極性的搜索上相當(dāng)有效。與極性0時(shí)相比,所得出的最佳極性,其所對應(yīng)的XNOR/OR電路在開關(guān)活動(dòng)性和面積上的節(jié)省最高分別達(dá)到94.4%禾口82.2%,而10個(gè)電路在開關(guān)活動(dòng)性和面積上的平均節(jié)省也分別達(dá)到68.4%和34.2%。而且從列IO給出的實(shí)驗(yàn)數(shù)據(jù)可以看出,本發(fā)明的方法非??焖?,具有很強(qiáng)的實(shí)際應(yīng)用潛力。具體實(shí)施方式以下結(jié)合實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)描述。用于數(shù)字集成電路設(shè)計(jì)的最佳極性搜索方法,它包括以下步驟-①在判斷輸入信號(hào)概率值大小的基礎(chǔ)上,通過對輸入信號(hào)概率值的調(diào)整,對多輸入XNOR門的功耗算法進(jìn)行優(yōu)化-從現(xiàn)有技術(shù)中得知,對于一個(gè)由W個(gè)門組成的電路,其總的動(dòng)態(tài)功耗可以表示為尸4d丄c丄^(1)其中,pw是供電電壓,/c汰是時(shí)鐘頻率,G是門/的輸出負(fù)載電容,£^是門/在每個(gè)時(shí)鐘周期里的平均跳變次數(shù),稱為開關(guān)活動(dòng)性。在邏輯綜合過程中,往往只有s.U是可控的,而且與功耗存在正比關(guān)系,因此開關(guān)活動(dòng)性的大小直接反映了電路功耗的大小。而門電路的開關(guān)活動(dòng)性可通過其輸出端的信號(hào)概率得到&=2P。,,(2)^^(I-a,,)(3)其中尸。,,表示輸出信號(hào)概率,可利用輸入信號(hào)概率通過信號(hào)幾率傳遞算法而得到。式(2)和式(3)分別給出電路用動(dòng)態(tài)邏輯和靜態(tài)邏輯實(shí)現(xiàn)時(shí)開關(guān)活動(dòng)性的計(jì)算公式。由于除了動(dòng)態(tài)邏輯有一個(gè)預(yù)充電過程外,兩者沒有本質(zhì)的區(qū)別,且靜態(tài)邏輯在CMOS電路中更常見,因此對功耗算法進(jìn)行優(yōu)化可以圍繞靜態(tài)邏輯展開。從己知的現(xiàn)有技術(shù)中可以知道,任何邏輯函數(shù)都可以表示成/(W_2,..,x。)=0J^(《+S,.)(4)其中,下標(biāo)Z的二進(jìn)制形式可表示為d2'一。;0n表示XNOR操作;t/,e{0,l},表示&項(xiàng)是否在表達(dá)式中出現(xiàn);S,為OR項(xiàng),可表示為(其中y'e(0,l,…,n-U):<formula>formulaseeoriginaldocumentpage9</formula>(5)對于一個(gè)固定極性戶-(/V,/V2…A)),每個(gè)變量在式(4)中只能以原型或補(bǔ)的形式出現(xiàn)如/7/為0則相應(yīng)的變量為原型,否則為其補(bǔ)的形式。因此w變量的邏輯函數(shù)具有2"個(gè)固定極性,與之對應(yīng)的有2"個(gè)XNOR/OR邏輯表達(dá)式。從式(4)可知,XNOR/OR電路完全由多輸入XNOR門和多輸入OR門組成,因此電路的功耗也完全由這兩者引起。但由于在電路映射之前,往往需要把式(4)中的多輸入XNOR門和OR門分解成一系列二輸入XNOR門和OR門,因此XNOR/OR電路的功耗其實(shí)是由二輸入XNOR門和OR門引起的。由于OR門的輸出信號(hào)概率隨輸入信號(hào)概率的增加而增大,因此其功耗優(yōu)化過程比較簡單,用霍夫曼算法就可以得到較好的結(jié)果。而XNOR門的輸入輸出信號(hào)概論分布則比較特殊,其功耗優(yōu)化過程較為復(fù)雜。根據(jù)吳訓(xùn)威,盛法生,MPedram.等人在杭州電子工業(yè)學(xué)院學(xué)報(bào).2000,20(6):1-7.上的文章《功耗估計(jì)中的多值行為幾率算法》中提出的信號(hào)概率傳遞算法,可推出二輸入XNOR門的輸出信號(hào)概率函數(shù)<formula>formulaseeoriginaldocumentpage9</formula>(6)對XU)求偏導(dǎo),得<formula>formulaseeoriginaldocumentpage9</formula>(7)可見,在固定;c的情況下當(dāng)0々<0.5,(Krc0.5時(shí),y(^y)隨y的增加而減小,且其值始終大于0.5;當(dāng)0AO.5,0.5<y<l時(shí),X^K)也隨y的增加而減小,但其值始終小于0.5;當(dāng)^0.5(或"0.5)時(shí),A^,力始終保持為0.5;當(dāng)0.5<x<l,0<;;<0.5時(shí),/xj)隨y的增加而增加,且其值始終小于0.5;當(dāng)0.5々<1,0.5<;;<1時(shí),Xx,力也隨少的增加而增加,但其值始終大于0.5。由于x與y完全對稱,當(dāng)固定j;,變化x時(shí),/;c,力同樣具有上述特點(diǎn)。由式(3)可知,靜態(tài)邏輯電路開關(guān)活動(dòng)性的計(jì)算曲線是一條以P(x)=l/2為對稱軸的開口向下的拋物線。因此,為使其值最小,輸出信號(hào)概率應(yīng)盡可能的接近0或者1。故多輸入XNOR門的低功耗分解過程可表述如下(1)多輸入XNOR門的所有輸入信號(hào)概率都大于0.5:此時(shí),/x,力隨;c(或力的增加而嚴(yán)格增加,且任意兩個(gè)信號(hào)的綜合結(jié)果始終大于0.5。因此,每次都取概率值最大的兩個(gè)信號(hào)進(jìn)行綜合,輸出概率必最接近于l,開關(guān)活動(dòng)必最小。(2)多輸入XNOR門的輸入信號(hào)中既有概率值大于0.5的信號(hào),又有概率值小于0.5的信號(hào)此時(shí),若所取信號(hào)的概率值都小于0.5或都大于0.5,其綜合結(jié)果將大于0.5,且有可能達(dá)到接近1的最大值;若所取信號(hào)的概率一個(gè)大于0.5,另一個(gè)小于0.5,則其綜合結(jié)果將小于0.5,且有可能達(dá)到接近0的最小值。由于輸出概率接近0或1都有可能使開關(guān)活動(dòng)性最小,因此為使功耗最低,每次都需要判斷這兩個(gè)綜合結(jié)果。此外,由于其綜合結(jié)果的不確定性,在綜合過程中將有可能出現(xiàn)全部概率值都變成大于0.5(或都小于0.5)的情況,因此在綜合之前需判斷每個(gè)信號(hào)的概率值。(3)多輸入XNOR門的所有輸入信號(hào)概率都小于0.5:此時(shí),/x,力隨jc(或力的增加而嚴(yán)格減小,且綜合結(jié)果始終大于0.5。因此第一次綜合時(shí),取概率值最小的兩個(gè)信號(hào)進(jìn)行結(jié)合,輸出概率必最接近l,開關(guān)活動(dòng)性必最小。但由于第一次綜合將產(chǎn)生一個(gè)概率大于0.5的信號(hào),以后的綜合將同情況(2)完全相同。從上述分析可見情況(l)的分解過程非常簡單,使用霍夫曼算法就可以達(dá)到理論上的最小值;而情況(2)、(3)則相當(dāng)復(fù)雜,因此從降低運(yùn)算復(fù)雜度出發(fā),此分解過程需要改進(jìn)。二輸入XNOR門具有相同輸出為"l",不同輸出為"O"的工作特性。因此,若改變單個(gè)輸入信號(hào),輸出將發(fā)生跳變;若同時(shí)改變兩個(gè)輸入信號(hào),輸出將保持不變。與之相對應(yīng),其輸出信號(hào)概率也有類似特點(diǎn)若其中一個(gè)輸入信號(hào)概率取l的補(bǔ),則輸出信號(hào)概率為原輸出信號(hào)概率1的補(bǔ);若兩個(gè)輸入信號(hào)其概率都取1的補(bǔ),則輸出信號(hào)概率保持不變。而根據(jù)式(3)可知,靜態(tài)邏輯電路原信號(hào)的開關(guān)活動(dòng)性與其補(bǔ)信號(hào)(l的補(bǔ))的開關(guān)活動(dòng)性是相等的。因而,對于XNOR門來說,在靜態(tài)邏輯中,輸入信號(hào)概率若取1的補(bǔ)將不影響開關(guān)活動(dòng)性。因此,可以將輸入信號(hào)中概率小于0.5的值全都取成1的補(bǔ),使情況(2)、(3)轉(zhuǎn)變?yōu)榍闆r(1),從而簡化分解過程。②建立XNOR/OR電路功耗估計(jì)模型先用霍夫曼算法對多輸入OR門進(jìn)行低功耗分解,并結(jié)合信號(hào)概率傳遞算法得到二輸入OR門的最終輸出信號(hào)概率和開關(guān)活動(dòng)性;然后將OR門的最終輸出信號(hào)概率作為多輸入XNOR門的初始輸入信號(hào)概率,并用優(yōu)化后的多輸入XNOR門功耗算法對多輸入XNOR門進(jìn)行低功耗分解,得到二輸入XNOR門的開關(guān)活動(dòng)性;最后,將XNOR門和OR門的開關(guān)活動(dòng)性相加,得到整個(gè)XNOR70R電路的開關(guān)活動(dòng)性,并進(jìn)而定義電路的成本7bto/CoW,表示為函數(shù)<formula>formulaseeoriginaldocumentpage11</formula>其中,SaCoW表示XNOR/OR電路總的開關(guān)活動(dòng)性,JreaCoW表示二輸入XNOR門和OR門的數(shù)量,a為功耗和面積的權(quán)重,取值為0<a<l。③用快速列表極性轉(zhuǎn)換算法來實(shí)現(xiàn)從布爾函數(shù)最大項(xiàng)到0極性下的XNOR/OR電路展開式的轉(zhuǎn)換,具體過程如下1)將所有的最大項(xiàng)以二進(jìn)制形式表示;2)將所要求的極性轉(zhuǎn)換成二進(jìn)制形式,并與所有最大項(xiàng)進(jìn)行異或操作,得到新項(xiàng);3)選擇一個(gè)第/位為1的新項(xiàng),以此位為無關(guān)項(xiàng),再產(chǎn)生所有2'-l個(gè)新項(xiàng),并更新索引表中的項(xiàng)數(shù);4)重復(fù)步驟3),直至操作完所有新項(xiàng);5)索引表中項(xiàng)數(shù)為奇數(shù)的項(xiàng)即為所要求的XNOR/OR項(xiàng);然后用所建立的功耗估計(jì)模型檢測該XNOR/OR電路展開式,得到其功耗和面積值,并據(jù)此計(jì)算該成本值。將0極性下XNOR/OR電路的功耗、面積和成本值作為最小功耗、最小面積和最小成本值,然后依格雷碼順序用基于列表技術(shù)的極性間轉(zhuǎn)換算法,由0極性下XNOR/OR電路的展開式依次得到其余2"-l個(gè)極性下的XNOR/OR電路的展開式,具體轉(zhuǎn)換過程如下1)探明兩個(gè)極性間不同的位,并將其定義為X,pX,2,...,2)將所有和項(xiàng)以二進(jìn)制形式表示;3)將每個(gè)第/"立為0的項(xiàng)進(jìn)行此位的取反操作,其余位保持不變;4)去除新項(xiàng)與最初項(xiàng)成雙的項(xiàng);5)對所有的xn,xi2,...,^重復(fù)步驟(3)、(4),剩余的項(xiàng)即為所要求極性下的XNOR/OR展開項(xiàng)。然后用所建立的功耗估計(jì)模型逐一檢測這些XNOR/OR電路展開式,得到相應(yīng)極性下XNOR70R電路的功耗、面積和成本值。⑤根據(jù)當(dāng)前值小于最小值即更新的原則,以成本值的大小為評判依據(jù),不斷更新最小功耗、最小面積、最小成本值和最佳極性的值;最后得到XNOR/OR電路的最小功耗、最小面積、最小成本值和最佳極性。權(quán)利要求1、一種用于數(shù)字集成電路設(shè)計(jì)的最佳極性搜索方法,其特征在于它包括以下步驟①在判斷輸入信號(hào)概率值大小的基礎(chǔ)上,通過對輸入信號(hào)概率值的調(diào)整,對多輸入XNOR門的功耗算法進(jìn)行優(yōu)化;②建立XNOR/OR電路功耗估計(jì)模型,通過低功耗分解,得到整個(gè)XNOR/OR電路的開關(guān)活動(dòng)性,并進(jìn)而得到XNOR/OR電路的成本TotalCost,表示為函數(shù)TotalCost=α*SaCost+(1-α)*AreaCost其中,SaCost表示XNOR/OR電路總的開關(guān)活動(dòng)性,AreaCost表示二輸入XNOR門和OR門的數(shù)量,α為功耗和面積的權(quán)重,取值為0<α<1;③用快速列表極性轉(zhuǎn)換算法來實(shí)現(xiàn)從布爾函數(shù)最大項(xiàng)到0極性下的XNOR/OR電路展開式的轉(zhuǎn)換,用所建立的功耗估計(jì)模型檢測該展開式,得到其功耗和面積值,并據(jù)此計(jì)算成本值;④將0極性下XNOR/OR電路的功耗、面積和成本值作為最小功耗、最小面積和最小成本值,然后依格雷碼順序用基于列表技術(shù)的極性間轉(zhuǎn)換算法,由0極性下XNOR/OR電路的展開式依次得到其余2n-1個(gè)極性下的XNOR/OR電路的展開式,并用功耗估計(jì)模型逐一檢測這些展開式,得到相應(yīng)極性下XNOR/OR電路的功耗、面積和成本值;⑤根據(jù)當(dāng)前值小于最小值即更新的原則,以成本值的大小為評判依據(jù),不斷更新最小功耗、最小面積、最小成本值和最佳極性的值;最后得到XNOR/OR電路的最小功耗、最小面積、最小成本值和最佳極性。2、如權(quán)利要求1所述的用于數(shù)字集成電路設(shè)計(jì)的最佳極性搜索方法,其特征在于優(yōu)化后的多輸入XNOR門的功耗算法的具體步驟如下先判斷輸入信號(hào)概率值的大小,如果概率值小于0.5則將其取成1的補(bǔ);然后取概率值最大的兩個(gè)信號(hào)進(jìn)行綜合,并用產(chǎn)生的信號(hào)取代上述兩個(gè)概率值最大的信號(hào);反復(fù)執(zhí)行上述過程,直至剩一個(gè)信號(hào)為止。3、如權(quán)利要求1所述的用于數(shù)字集成電路設(shè)計(jì)的最佳極性搜索方法,其特征在于建立XNOR/OR電路功耗估計(jì)模型的具體步驟如下先用霍夫曼算法對多輸入OR門進(jìn)行低功耗分解,并結(jié)合信號(hào)概率傳遞算法得到二輸入OR門的最終輸出信號(hào)概率和開關(guān)活動(dòng)性;然后將OR門的最終輸出信號(hào)概率作為多輸入XNOR門的初始輸入信號(hào)概率,并用優(yōu)化后的多輸入XNOR門功耗算法對多輸入XNOR門進(jìn)行低功耗分解,得到二輸入XNOR門的開關(guān)活動(dòng)性;最后,將XNOR門和OR門的開關(guān)活動(dòng)性相加,得到整個(gè)XNOR/OR電路的開關(guān)活動(dòng)性。4、如權(quán)利要求1所述的用于數(shù)字集成電路設(shè)計(jì)的最佳極性搜索方法,其特征在于所述的快速列表極性轉(zhuǎn)換算法的具體步驟如下1)將所有的最大項(xiàng)以二進(jìn)制形式表示;2)將所要求的極性轉(zhuǎn)換成二進(jìn)制形式,并與所有最大項(xiàng)進(jìn)行異或操作,得到新項(xiàng);3)選擇一個(gè)第M立為1的新項(xiàng),以此位為無關(guān)項(xiàng),再產(chǎn)生所有2'-l個(gè)新項(xiàng),并更新索引表中的項(xiàng)數(shù);4)重復(fù)步驟3),直至操作完所有新項(xiàng);5)索引表中項(xiàng)數(shù)為奇數(shù)的項(xiàng)即為所要求的XNOR/OR項(xiàng)。5、如權(quán)利要求1所述的用于數(shù)字集成電路設(shè)計(jì)的最佳極性搜索方法,其特征在于基于列表技術(shù)的極性間轉(zhuǎn)換算法的具體轉(zhuǎn)換過程如下1)探明兩個(gè)極性間不同的位,并將其定義為&,X,2,...,X,r;2)將所有和項(xiàng)以二進(jìn)制形式表示;3)將每個(gè)第&位為0的項(xiàng)進(jìn)行此位的取反操作,其余位保持不變;4)去除新項(xiàng)與最初項(xiàng)成雙的項(xiàng);5)對所有的xn,x,.2,…,;c,r重復(fù)步驟(3)、(4),剩余的項(xiàng)即為所要求極性下的XNOR/OR展開項(xiàng)。全文摘要本發(fā)明公開了一種用于數(shù)字集成電路設(shè)計(jì)的最佳極性搜索方法,通過對多輸入XNOR門的功耗算法進(jìn)行優(yōu)化,建立XNOR/OR電路功耗估計(jì)模型,得到整個(gè)XNOR/OR電路的開關(guān)活動(dòng)性,再用快速列表極性轉(zhuǎn)換算法來實(shí)現(xiàn)從布爾函數(shù)最大項(xiàng)到0極性下的XNOR/OR電路展開式的轉(zhuǎn)換,然后依格雷碼順序用基于列表技術(shù)的極性間轉(zhuǎn)換算法,得到其余2<sup>n</sup>-1個(gè)極性下的XNOR/OR電路的展開式,最后得到XNOR/OR電路的最小功耗、最小面積、最小成本值和最佳極性;優(yōu)點(diǎn)是能夠獲得功耗較低的XNOR/OR邏輯電路,通過對10個(gè)MCNCBenchmark電路進(jìn)行測試,本發(fā)明方法搜索得到的最佳極性與極性0時(shí)相比,其所對應(yīng)的XNOR/OR電路在開關(guān)活動(dòng)性和面積上的節(jié)省最高分別達(dá)到94.4%和82.2%,而10個(gè)電路在開關(guān)活動(dòng)性和面積上的平均節(jié)省也分別達(dá)到68.4%和34.2%。文檔編號(hào)G06F17/50GK101216865SQ20081005906公開日2008年7月9日申請日期2008年1月9日優(yōu)先權(quán)日2008年1月9日發(fā)明者汪鵬君,陸金剛申請人:寧波大學(xué)