專利名稱:最優(yōu)電路檢測(cè)方法
技術(shù)領(lǐng)域:
一種全面的最優(yōu)電路核查方法,用于單路輸出數(shù)字組合開(kāi)關(guān)電路門(mén)設(shè)計(jì)的核查,它在對(duì)于時(shí)間和空間資源(resources of spaceand time)的使用上是最優(yōu)的。此方法在對(duì)問(wèn)題的規(guī)范表示法中使用了一種描述電路的數(shù)據(jù)結(jié)構(gòu)的變換。它使用了步驟序列以保證方法的最優(yōu)使用。
與此方法相關(guān)的主要的技術(shù)領(lǐng)域是電路設(shè)計(jì)。在電子工程、計(jì)算機(jī)科學(xué)、遺傳學(xué)、物理學(xué)和數(shù)學(xué)等不同的領(lǐng)域應(yīng)用的幾種技術(shù)可以容易的變換成為這種對(duì)問(wèn)題的描述。稱這種變換簡(jiǎn)單是因?yàn)樗麄兂诉@種方法本身以外,不需要更多的資源。二元決策圖表(BDD)、自動(dòng)檢測(cè)模式生成(ATPG)、組合等值檢查(CEC)[Joa00]、超級(jí)標(biāo)量處理器檢定、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)路由選擇、噪音分析、最優(yōu)存儲(chǔ)和檢索[Cor90]、計(jì)算機(jī)語(yǔ)言的編譯等正是一些上述的領(lǐng)域和技術(shù)。
背景技術(shù):
長(zhǎng)時(shí)間以來(lái),對(duì)此問(wèn)題一直沒(méi)有令人滿意的解答。眾所周知,在一些文獻(xiàn)里,對(duì)單路輸出開(kāi)關(guān)電路的組合核查問(wèn)題是一個(gè)非多項(xiàng)式(NP)完全類問(wèn)題[Jawa97]。所有這些問(wèn)題的表示法都可以通過(guò)使用空間和時(shí)間[Cor90]的多項(xiàng)式資源變換成另外的表示法。這個(gè)問(wèn)題[Cor90,Joa99]規(guī)范形式的表示法是適定性(SAT)問(wèn)題,更多的是一般k-適定性(k-SAT)問(wèn)題。長(zhǎng)期以來(lái),人們認(rèn)為通過(guò)使用多項(xiàng)式資源不可能解決適定性(SAT)問(wèn)題。
普通的解決方案的基本原理是問(wèn)題會(huì)受到本身權(quán)重的影響。但實(shí)際是如果檢查所有的可能性,資源就會(huì)成指數(shù)級(jí)增長(zhǎng)。只有明顯能完全的方案,才會(huì)實(shí)際地去檢查每一種可能性,讓我們計(jì)算而不去核查。讓我們寫(xiě)“10”而不是“I I I I I I I I I I”。否則,就會(huì)像核查一樣了。
發(fā)明內(nèi)容
對(duì)于這個(gè)特殊的問(wèn)題,方法中的算法就是方法本身,因?yàn)椴捎盟惴ㄌ幚淼臄?shù)據(jù)結(jié)構(gòu)表述的是物理的、實(shí)際的、和技術(shù)的數(shù)據(jù)電路。所以,“algorithm(算法)”和“method(方法)”使用起來(lái)沒(méi)有差別。
對(duì)于在任何電路的適定性(satisfiability)情況下,使用多項(xiàng)式資源(polynomial resources)描述電路的數(shù)據(jù)結(jié)構(gòu)可以被變換成適定性(SAT)問(wèn)題的規(guī)范格式。所以算法的第一步就是把表述單路輸出的組合開(kāi)關(guān)電路的數(shù)據(jù)變換成為k-適定性(k-SAT)問(wèn)題[Joa95第33頁(yè),Cor90,Joa99,Joa00]。然后,執(zhí)行下面的從現(xiàn)在起叫做PSAT()的算法。
在余下的描述中,將用到[Joa95]中的術(shù)語(yǔ)學(xué)和定義。
可以通過(guò)選擇使用一些在[Joa95]中提到的幾種技術(shù)中的一些詳細(xì)精確的技術(shù)整理出PSAT()。在[Joa95]的第73頁(yè)第3章中提到“通常,歸類操作在計(jì)算上是花費(fèi)很大的”,參考維護(hù)子句數(shù)據(jù)庫(kù)的可能技術(shù)。在[Joa95]的結(jié)尾,對(duì)于沒(méi)有歸類操作的方法的復(fù)雜度的分析,可以得出時(shí)間復(fù)雜度的指數(shù)[Joa95,第263頁(yè)]。但是,如PSAT()所示,歸類操作的花費(fèi)并不是很大。
對(duì)于資源的多項(xiàng)式的使用,主要需要兩種技術(shù)。其中一個(gè)是沖突控制回退(CDB,conflict-directed backtracking)。也就是,具有布爾約束傳播(BCP,Boolean Constraint Propagation)的無(wú)時(shí)順的回退,具有多重沖突分析(MC,Multiple Conflict Analysis)的基礎(chǔ)沖突分析和唯一蘊(yùn)含點(diǎn)(UIPs,Unique Implication Points)。第二個(gè)技術(shù)是對(duì)沖突關(guān)聯(lián)的歸類子句的數(shù)據(jù)庫(kù)的記錄([Joa95]的第57、68、69、73、86、88和93頁(yè))。
具體實(shí)施例方式
通過(guò)下面的過(guò)程詳細(xì)說(shuō)明算法PSAT()的表示法●GRASP()[Joa95,第62頁(yè)]●Search()[Joa95,第62頁(yè)]●Deduce_MC()[Joa95,第77頁(yè)]●Diagnose_MC()[Joa95,第97頁(yè)]通過(guò)以下的觀察●在GRASP()中,Preprocess()簡(jiǎn)化了每個(gè)子句,所以子句中的每一個(gè)直接量都是不同的變量。對(duì)在初始數(shù)據(jù)庫(kù)中的每一對(duì)子句執(zhí)行一個(gè)歸類操作;并且返回“SUCCESS”。
●在GRASP()中,Postprocess()無(wú)動(dòng)作。
●在Search()中使用Deduce_MC()和Diagnose_MC()而不使用Deduce()和Diagnose()。
●在Diagnose_MC()中,在調(diào)用“Update_Clause_Database”后,調(diào)用過(guò)程subsume()。
●對(duì)照數(shù)據(jù)庫(kù)中的每個(gè)子句,subsume()過(guò)程檢查每一個(gè)被添加的子句的歸類并且刪除數(shù)據(jù)庫(kù)中的每一個(gè)被歸類子句。類似調(diào)用Subsume_Merge_Clauses()并把REDUCE_DATABASE設(shè)為真,但是不允許合并,只是歸類。
對(duì)于方法本身和資源的多項(xiàng)式應(yīng)用(方法的最優(yōu)應(yīng)用)效果,subsume()過(guò)程如何執(zhí)行并不重要,因?yàn)閺?fù)雜度是相同的。對(duì)于它的軟件的實(shí)施效果很重要,因?yàn)檫@對(duì)性能可以產(chǎn)生嚴(yán)重的影響。
推薦的歸類操作軟件的實(shí)施帶有表示直接量的素?cái)?shù)和它們的乘積,此乘積表示子句,這樣,一個(gè)對(duì)歸類的單獨(dú)比較就可以在表示兩個(gè)子句的整數(shù)之間得到由硬件執(zhí)行的真正的劃分。這樣使一個(gè)歸類操作的復(fù)雜度看起來(lái)象一個(gè)常量(一次硬件操作)而不是被硬件劃分而掩蓋了的被表示的信息的比特?cái)?shù)的平方。
中用到的數(shù)據(jù)結(jié)構(gòu)與在此提到的一個(gè)數(shù)據(jù)結(jié)構(gòu)一起使用為軟件實(shí)施的全部其他的效果。
在[Joa01]中還包括了關(guān)于算法軟件實(shí)施的所有其它執(zhí)行考慮,特別是那些關(guān)于BCP和沖突分析。
通過(guò)一個(gè)類似的硬件實(shí)施,可以達(dá)到算法的最佳效果。也許使用照片折射材料代替電子或者光電子的實(shí)施。到工業(yè)或技術(shù)上能夠制造足夠成熟的那種硬件將會(huì)有一段時(shí)間。
提供了不包含subsume()過(guò)程的合理的完整的算法。與subsume()過(guò)程的檢驗(yàn)很相似。subsume()主要的影響在于算法的復(fù)雜度。
在文獻(xiàn)中提到的一些技術(shù)能夠增強(qiáng)此問(wèn)題在某些情況下的性能,例如高速緩存解決方案(caching solution)[Joa95,第117頁(yè)][JoaJ98]和公式劃分(formula partitioning)[JoaJ98]。另外的一些技術(shù)在復(fù)雜度方面作了多項(xiàng)式轉(zhuǎn)變,例如多重沖突(iteratedconflicts)[Joa95,第91頁(yè)]和遞歸學(xué)習(xí)(recursive learning)[JoaS98]。另外的一些技術(shù)與方法的多項(xiàng)式應(yīng)用不相容,例如常量規(guī)模數(shù)據(jù)庫(kù)[Joa95,第98頁(yè)],k-濃度(k-consistancy)[Joa95,第79頁(yè)],張弛方法(relaxation)[Joa95,第81頁(yè)]和基于關(guān)聯(lián)學(xué)習(xí)(relevance-based learning)[JoaJ98]。利用PSAT()并通過(guò)對(duì)那些技術(shù)的冗余的觀察,可以解釋局部的改進(jìn)和多項(xiàng)式在復(fù)雜度方面的改變。通過(guò)數(shù)據(jù)庫(kù)的一些由技術(shù)產(chǎn)生的制約影響的觀察,可以解釋不相容性。通過(guò)歸類操作,數(shù)據(jù)庫(kù)成為具有歸類操作的素?cái)?shù)關(guān)聯(lián)數(shù)據(jù)庫(kù)(一些不可知功能)。
下面用到了[Joa95]中的術(shù)語(yǔ)、定義和法則定理。[Joa95、第47頁(yè)和第265頁(yè)]中的定理2.3和A.4有特別的關(guān)聯(lián)。第46頁(yè)、47頁(yè)、48頁(yè)(圖2.10),44頁(yè)(圖2.7)和[Joa95]中的52頁(yè)有特別的關(guān)聯(lián)。
定理B應(yīng)用上述subsume()PSAT()的回退總數(shù)與初始數(shù)據(jù)庫(kù)的大小成比例。
證據(jù)辯論算法的任意回退后和對(duì)于數(shù)據(jù)庫(kù)中每一個(gè)子句CL,由于執(zhí)行了CL的當(dāng)前回退數(shù)相對(duì)子句數(shù)在添加CL時(shí)在數(shù)據(jù)庫(kù)中是一個(gè)顛倒的比例。這要?dú)w功于添加的每個(gè)子句的歸類(它保持?jǐn)?shù)據(jù)庫(kù)是一個(gè)素?cái)?shù)關(guān)聯(lián)的數(shù)據(jù)庫(kù)),歸功于關(guān)于素?cái)?shù)關(guān)聯(lián)數(shù)據(jù)庫(kù)的BCP的完備,歸功于具有UIPs的基本沖突分析完備和關(guān)于Ic的通過(guò)BCP產(chǎn)生MC。當(dāng)前每個(gè)素?cái)?shù)相關(guān)的子句確保直到CL被移除或者算法執(zhí)行完畢時(shí)將要執(zhí)行的回退的次數(shù)嚴(yán)格的少于當(dāng)CL不在數(shù)據(jù)庫(kù)中回退執(zhí)行的次數(shù)。如果不對(duì)添加的每一個(gè)“prime implicate(素?cái)?shù)關(guān)聯(lián))”子句進(jìn)行歸類操作,此“確實(shí)地(strictly)”不可能被“確定(assured)”,并且“inverse proportion(顛倒的比例)”也不會(huì)保持。
使用下面的B是被PSAT()執(zhí)行的回退總數(shù)。
Bi是與子句(clause)“i”相聯(lián)系的到當(dāng)前位為止,回退的次數(shù)。
N是初始數(shù)據(jù)庫(kù)的大小。
Ni是當(dāng)子句(clause)“i”增加時(shí),數(shù)據(jù)庫(kù)中子句的數(shù)量。
ka、kb和kc是常量。
Sum(inf,sup,term)是當(dāng)“i”從“inf”變到“sup”時(shí),項(xiàng)“term”的數(shù)量和。
Power(底,指數(shù))是“指數(shù)的底”(base to the exponent)。
Log(數(shù)量)是“數(shù)量的對(duì)數(shù)”。
O(函數(shù))是“函數(shù)的級(jí)”。
并列(Juxtaposition)意思為乘法(multiplication).
“/”在R中是除法。
“~”是比例。
上述段落的意思是Bi~1/NiO(Bi)=O(1/Ni)因此,在最壞的情況下(不滿足或者在最后一次回退前剛剛滿足)和算法結(jié)束后,回退B的總數(shù)O(B)=O(Sum(0,Power(ka,N),1/Ni))O(B)=O(kb Log(Power(ka,N)))=O(kc N)=O(N)可通過(guò)與[Joa95]中的定理A.4中的一個(gè)定理和上述定理相似的分析一起來(lái)解釋描述PSAT()的時(shí)間和空間復(fù)雜度的多項(xiàng)式函數(shù)。
參考文獻(xiàn)[Cor90]托馬斯 科曼(Thomas Cormen),查爾斯 李瑟森(Charles Leiserson),羅納德李維斯特(Ronald Rivest),“算法介紹(Introduction to Algorithms)”1990年。
若昂P.馬克斯-賽爾瓦( P.Marques-silva),1995年5月,密歇根大學(xué)EECS系博士論文“組合電路中適應(yīng)性問(wèn)題的搜索算法(Search Algorithms forSatisfiabilit),Problems in Combinational Switching Circuits)”,論文可從http//sat.inesc.pt/~jpms/下載。
若昂P.馬克斯-賽爾瓦( P.Marques-silva),1998年1月,第15界人工智能和數(shù)學(xué)國(guó)際研討會(huì)“回退搜索適應(yīng)性概要(An 0verview of Backtrack Searchsatisfiability)”算法。
若昂P.馬克斯-賽爾瓦( P.Marques-silva),1998年9月,布爾問(wèn)題國(guó)際研討會(huì)學(xué)報(bào),“采用遞歸學(xué)習(xí)改進(jìn)適應(yīng)性算法(Improving Satisfiability Algorithmsby Using Recursive Leaming)”。
若昂P.馬克斯-賽爾瓦( P.Marques-silva)和托馬斯 格拉斯,1999年3月,IEEE/ACM設(shè)計(jì)、自動(dòng)控制和測(cè)試歐洲研討會(huì)學(xué)報(bào),“使用適應(yīng)性和遞歸學(xué)習(xí)進(jìn)行組合等值檢查(Combinational Equivalence Checking Using Satisfiability andRecursive Learning)”。
賈瓦哈 然、拉詹什 慕克吉 和 科伊奇諾 塔卡亞瑪;美國(guó)專利商標(biāo)局(USPTO)專利號(hào)6,086,626.提交于1997年5月16日,轉(zhuǎn)讓于2000年7月11日。
若昂P.馬克斯-賽爾瓦( P.Marques-silva)和卡瑞姆A.薩卡拉.2000年7月,在計(jì)算機(jī)輔助核查研討會(huì)上提出的“電子設(shè)計(jì)中的布爾適應(yīng)性算法及應(yīng)用(Boolean Satisfiability Algorithms and Applications in Electronic Design)”指南。
軟件GRASP可從http//sat.inesc.pt/~jpms/下載。
權(quán)利要求
1.使用計(jì)算機(jī)進(jìn)行電路門(mén)設(shè)計(jì)處理方法和含有計(jì)算機(jī)算法的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì);所述算法用來(lái)對(duì)單路輸出的組合開(kāi)關(guān)電路門(mén)設(shè)計(jì)實(shí)施全面的最優(yōu)電路核查方案;所述電路門(mén)設(shè)計(jì)通過(guò)一種數(shù)據(jù)結(jié)構(gòu)來(lái)描述;和所述算法包括以下步驟將描述所述電路門(mén)設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)變換為規(guī)范方式,使空間和時(shí)間資源的使用最優(yōu);和在所述的規(guī)范方式下執(zhí)行合理的、完全的、整套的技術(shù)核查,這一整套技術(shù)通過(guò)使空間和時(shí)間資源最優(yōu)的使用決定核查;所述整套技術(shù)包括具有多重沖突分析的沖突控制回退和唯一蘊(yùn)含點(diǎn)的分析;和對(duì)含有沖突的歸類子句的記錄。
全文摘要
一種全面、最優(yōu)電路核查方法,用于單路輸出的數(shù)字組合開(kāi)關(guān)電路的門(mén)設(shè)計(jì)的核查。此方法在對(duì)于時(shí)間和空間資源的使用上是最優(yōu)的,在對(duì)問(wèn)題的規(guī)范表示法中使用了一種描述電路的數(shù)據(jù)結(jié)構(gòu)的變換。此方法涉及的主要的技術(shù)領(lǐng)域是電路設(shè)計(jì)。在電子工程、計(jì)算機(jī)科學(xué)、遺傳學(xué)、物理學(xué)和數(shù)學(xué)等不同的領(lǐng)域應(yīng)用的幾種技術(shù)可以容易的變換成這種對(duì)問(wèn)題的表示法。稱這種變換簡(jiǎn)單是因?yàn)樗麄兂诉@種方法本身以外,不需要更多的資源。二元決策圖表、自動(dòng)檢測(cè)模式生成、組合等值檢查、超級(jí)標(biāo)量處理器檢定、現(xiàn)場(chǎng)可編程門(mén)陣列路由選擇、噪音分析、最佳存儲(chǔ)和檢索、計(jì)算機(jī)語(yǔ)言的編譯等正是一些上述的領(lǐng)域和技術(shù)。
文檔編號(hào)G06F17/50GK1531696SQ01823365
公開(kāi)日2004年9月22日 申請(qǐng)日期2001年6月15日 優(yōu)先權(quán)日2001年6月15日
發(fā)明者喬斯·L·基羅加, 喬斯 L 基羅加 申請(qǐng)人:喬斯·L·基羅加, 喬斯 L 基羅加