專利名稱::集成電路驗(yàn)證方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及大規(guī)模集成電路驗(yàn)證領(lǐng)域,尤其涉及集成電路驗(yàn)證方法及其系統(tǒng)。
背景技術(shù):
:隨著集成電路產(chǎn)業(yè)的迅速發(fā)展,設(shè)計(jì)的多樣性和復(fù)雜性程度也越來越高,而傳統(tǒng)功能驗(yàn)證方法處理的設(shè)計(jì)規(guī)模和效率的增長(zhǎng)落后于開發(fā)規(guī)模的增長(zhǎng),使得其面臨的困難越來越大。集成電路復(fù)雜性增長(zhǎng)給功能驗(yàn)證帶來的難題包括兩個(gè)方面第一設(shè)計(jì)內(nèi)部功能邏輯、接口協(xié)議、例外處理等等復(fù)雜度急劇增加,憑借人工經(jīng)驗(yàn)或已有方法難于處理;第二集成電路結(jié)構(gòu)里包含的寄存器數(shù)目增加,造成仿真的速度越來越慢,使得形式化驗(yàn)證方法更加難以處理。為了解決或緩解上述兩個(gè)問題,集成電路功能驗(yàn)證方法需要盡量減少需要的人工專家知識(shí),并且生成較短的測(cè)試向量,以驅(qū)動(dòng)仿真驗(yàn)證特定的功能屬性。另外,在現(xiàn)有集成電路驗(yàn)證流程中,設(shè)計(jì)的功能覆蓋率的增加并不為線性,尤其對(duì)于設(shè)計(jì)的難達(dá)屬性或者狀態(tài),往往耗費(fèi)大量的驗(yàn)證成本而收效甚微。針對(duì)集成電路中難達(dá)屬性或者狀態(tài)的驗(yàn)證,是一個(gè)急需解決的問題。已有的集成電路的功能驗(yàn)證方法主要分為模擬驗(yàn)證和形式化驗(yàn)證兩大類方法。模擬驗(yàn)證方法主要通過給設(shè)計(jì)輸入測(cè)試向量進(jìn)行仿真,并且將仿真的結(jié)果和一個(gè)功能正確的黃金模型(GoldenModel)進(jìn)行對(duì)比,以驗(yàn)證設(shè)計(jì)在不同的輸入激勵(lì)情況下的功能正確性。模擬驗(yàn)證方法能夠快速的驗(yàn)證一些常見的設(shè)計(jì)屬性,但是對(duì)于難以到達(dá)的邊緣屬性,難于在有限時(shí)間內(nèi)進(jìn)行覆蓋和驗(yàn)證。雖然可以通過人工手工寫測(cè)試向量來驗(yàn)證特定功能點(diǎn),但需要耗費(fèi)大量的人力時(shí)間,并且測(cè)試向量難以在不同設(shè)計(jì)間重用,不能夠作為主要的驗(yàn)證手段。形式化驗(yàn)證方法中,主要是模型檢驗(yàn)(ModelChecking)方法,比較適合于對(duì)設(shè)計(jì)的邊緣屬性進(jìn)行驗(yàn)證。在這類方法中,集成電路設(shè)計(jì)被抽象為一個(gè)有限狀態(tài)模型,目標(biāo)屬性則被描述為一個(gè)時(shí)態(tài)邏輯公式,驗(yàn)證的過程為遍歷有限狀態(tài)模型中的可達(dá)狀態(tài),從而證明集成電路設(shè)計(jì)滿足目標(biāo)屬性;或者給出一個(gè)狀態(tài)序列形式的反例,以證明目標(biāo)屬性不可滿足。模型檢驗(yàn)具有規(guī)范化、易于自動(dòng)化、完全的特點(diǎn),但其中狀態(tài)空間大小隨設(shè)計(jì)中寄存器數(shù)目指數(shù)增長(zhǎng)(2'n),造成"狀態(tài)爆炸";這也是困擾模型檢驗(yàn)方法在大規(guī)模工業(yè)設(shè)計(jì)上得到應(yīng)用的根本問題。通過對(duì)模擬驗(yàn)證和形式化驗(yàn)證方法分別的優(yōu)缺點(diǎn)和適應(yīng)場(chǎng)景的分析,可以發(fā)現(xiàn)一種提高驗(yàn)證效率和驗(yàn)證可處理設(shè)計(jì)規(guī)模的方法將形式化驗(yàn)證和模擬驗(yàn)證方法結(jié)合起來,在原始設(shè)計(jì)上進(jìn)行一定程度的抽象,在抽象模型上用形式化驗(yàn)證方法獲取部分設(shè)計(jì)信息,然后用這些信息引導(dǎo)模擬仿真生成較短的仿真向量,從而快速、準(zhǔn)確的驗(yàn)證到目標(biāo)的設(shè)計(jì)邊緣屬性。通過抽象能夠減少形式化方法計(jì)算的代價(jià),同時(shí)獲得的設(shè)計(jì)信息能夠幫助提高對(duì)目標(biāo)屬性進(jìn)行模擬驗(yàn)證的效率。采取這種優(yōu)化的驗(yàn)證方法,一個(gè)問題在于如何對(duì)電路進(jìn)行抽象,才能夠使獲得的抽象模型較小、且包含較準(zhǔn)確的設(shè)計(jì)信息。最簡(jiǎn)單直觀的方法是借助工程師對(duì)集成電路設(shè)計(jì)的理解,人工提取部分與目標(biāo)最相關(guān)的邏輯作為抽象模型。這種方法對(duì)于中小設(shè)計(jì)效果較好,但對(duì)于復(fù)雜設(shè)計(jì)則效果得不到保證,并且需要大量專家時(shí)間,不適合自動(dòng)化驗(yàn)證的需求。另一種方法則基于現(xiàn)代集成電路設(shè)計(jì)模塊化的思想,提取和目標(biāo)狀態(tài)對(duì)應(yīng)的信號(hào)關(guān)系密切的設(shè)計(jì)模塊作為抽象模型。但如果模塊較大,則導(dǎo)致抽象模型過于復(fù)雜,并且這種方法抽象的粒度較大,不夠理想。還有采用數(shù)據(jù)挖掘方法,在集成電路設(shè)計(jì)中各個(gè)寄存器位之間挖掘關(guān)系,將關(guān)系密切的寄存器位加入抽象模型。該種方法在寄存器位(bit)級(jí)上進(jìn)行,并不適合寄存器傳輸級(jí)功能驗(yàn)證的需要。另外,如何利用在抽象模型上進(jìn)行形式化計(jì)算得到的信息來引導(dǎo)模擬驗(yàn)證快速覆蓋到目標(biāo)的設(shè)計(jì)屬性,也是一個(gè)難題。一種可行的方法是,用形式化計(jì)算方法把設(shè)計(jì)的抽象模型描述為一個(gè)狀態(tài)空間,計(jì)算從目標(biāo)狀態(tài)向前的前像,并且以這個(gè)前像的距離作為對(duì)狀態(tài)的近似評(píng)估。利用抽象模型上計(jì)算獲得的距離信息對(duì)模擬仿真進(jìn)行引導(dǎo),其核心部分就在于激勵(lì)生成引擎和引導(dǎo)的策略如何設(shè)計(jì)。已有的方法,大多采用的是隨機(jī)的激勵(lì)生成方法,每次生成N個(gè)測(cè)試序列,然后用抽象距離信息評(píng)估這些序列仿真所能夠到達(dá)的狀態(tài)優(yōu)劣,從中選擇到達(dá)抽象距離最低的序列進(jìn)行仿真。也有的方法采用遺傳算法和文化算法作為激勵(lì)生成引擎,利用抽象距離信息設(shè)計(jì)種群的適應(yīng)度函數(shù)。文化算法本質(zhì)上是一種"優(yōu)中選優(yōu)"的策略,即從好的種群中選擇個(gè)體繁衍下一代,以期更好的種群質(zhì)量;不過這種方法沒有從以往的仿真信息中學(xué)習(xí)知識(shí),并且沒有很好的利用設(shè)計(jì)規(guī)范的信息,其效率可以有進(jìn)一步的提高。應(yīng)用抽象距離引導(dǎo)的針對(duì)集成電路邊緣屬性的混合驗(yàn)證方法參考文獻(xiàn)1,Distance—GuidedHybridVerificationwithGUIDODesign,ProceedingsonDesign,AutomationandTestinEurope2006.M皿ich,Germany:IEEE,2006:1_6;文獻(xiàn)2,Guidingsimulationwithincreasinglyrefinedabstracttraces,ProceedingsonDesignAutomationConference,2006.Anaheim,California,USA:ACM/IEEE,2006:737-742;文獻(xiàn)3,Aneffectiveguidancestrategyforabstraction—guidedsimulation,ProceedingsonDesignAutomationConference,2007.SanDiego,California,USA:ACM/IEEE,2007:63-68;文獻(xiàn)4,EfficientDesignValidationBasedonCulturalAlgorithms,ProceedingsonDesign,AutomationandTestinEurope2008.Munich,Germany:IEEE,2008:402-407。
發(fā)明內(nèi)容為解決上述問題,本發(fā)明提供了集成電路驗(yàn)證方法及其系統(tǒng),能夠降低計(jì)算成本,提高檢測(cè)效率。本發(fā)明公開了一種集成電路驗(yàn)證方法,包括步驟l,抽象引擎對(duì)待驗(yàn)證的集成電路進(jìn)行抽象,生成對(duì)應(yīng)的抽象模型,并且在所述抽象模型上進(jìn)行形式化計(jì)算,以獲得形式化信息;步驟2,激勵(lì)生成引擎初始化根據(jù)待檢測(cè)的集成電路的規(guī)范建立的馬爾可夫模型;步驟3,激勵(lì)生成引擎由馬爾可夫模型生成激勵(lì),將所述激勵(lì)輸入仿真器,所述仿真器對(duì)所述待檢測(cè)的集成電路進(jìn)行仿真;步驟4,所述激勵(lì)生成引擎依據(jù)所述形式化信息比較本周期仿真結(jié)果和上周期仿真獲得的仿真結(jié)果,如果本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則調(diào)整所述馬爾可夫模型中參數(shù);步驟5,如果待檢測(cè)的集成電路未達(dá)到目標(biāo)狀態(tài)并且仿真次數(shù)未超過預(yù)設(shè)次數(shù),則執(zhí)行所述步驟3;否則,終止仿真,并報(bào)告成功或者運(yùn)行超時(shí)。所述步驟l進(jìn)一步為,步驟21,建立數(shù)據(jù)依賴圖;步驟22,在所述數(shù)據(jù)依賴圖上進(jìn)行抽象,生成抽象模型;步驟23,在所述抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息。所述步驟21進(jìn)一步為,步驟31,根據(jù)待檢測(cè)的集成電路的硬件描述語(yǔ)言的描述,依據(jù)存儲(chǔ)目標(biāo)狀態(tài)的目標(biāo)狀態(tài)變量建立數(shù)據(jù)依賴圖;所述數(shù)據(jù)依賴圖中,每一個(gè)結(jié)點(diǎn)代表一個(gè)寄存器變量,兩個(gè)結(jié)點(diǎn)之間的有向箭頭表示目標(biāo)結(jié)點(diǎn)對(duì)源結(jié)點(diǎn)存在數(shù)據(jù)依賴關(guān)系。所述步驟22進(jìn)一步為,步驟41,在所述數(shù)據(jù)依賴圖中,從目標(biāo)狀態(tài)變量出發(fā),按照邏輯依賴關(guān)系由近及遠(yuǎn)的回溯,并采用廣度優(yōu)先搜索方式將遍歷到的寄存器變量加入到抽象模型;如果兩個(gè)存在依賴關(guān)系的寄存器變量被加入到所述抽象模型中,則兩個(gè)所述寄存器變量之間的組合邏輯也被加入到所述抽象模型中。所述步驟22進(jìn)一步為,步驟51,在所述數(shù)據(jù)依賴圖中,將所述目標(biāo)狀態(tài)變量劃分為組,從各個(gè)組的目標(biāo)狀態(tài)變量出發(fā),按照邏輯依賴關(guān)系由近及遠(yuǎn)的回溯,并采用廣度優(yōu)先搜索方式將遍歷到的寄存器變量加入到抽象模型的對(duì)應(yīng)子抽象模型中;如果兩個(gè)存在依賴關(guān)系的寄存器變量被加入到所述子抽象模型中,則兩個(gè)所述寄存器變量之間的組合邏輯也被加入到所述子抽象模型中。所述步驟23進(jìn)一步為,步驟61,采用基于二分決策圖的形式化計(jì)算工具在所述抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息,將所述形式化信息記錄到抽象距離信息表中,所述形式化信息包括抽象狀態(tài)和抽象狀態(tài)對(duì)應(yīng)的抽象距離。所述步驟23進(jìn)一步為,步驟71,采用基于二分決策圖的形式化計(jì)算工具在每個(gè)所述子抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息,將所述形式化信息記錄到所述子抽象模型對(duì)應(yīng)的抽象距離信息表中,所述形式化信息包括抽象狀態(tài)和抽象狀態(tài)對(duì)應(yīng)的抽象距離。所述步驟3進(jìn)一步為,步驟81,所述激勵(lì)生成引擎在仿真的每一周期之前,根據(jù)馬爾可夫模型的當(dāng)前配置生成一個(gè)周期的激勵(lì),并提供給仿真器進(jìn)行仿真。所述步驟4進(jìn)一步為,步驟91,從所述抽象距離信息表中查找仿真結(jié)果對(duì)應(yīng)的抽象距離,依據(jù)所述抽象距離比較本周期仿真結(jié)果同上一仿真周期的仿真結(jié)果,如果比較結(jié)果為本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則執(zhí)行步驟92,否則,執(zhí)行所述步驟5;步驟92,增大馬爾可夫模型中當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的邊的權(quán)重,并減少所述馬爾可夫模型中其他邊的權(quán)重以使馬爾可夫模型中一個(gè)頂點(diǎn)出發(fā)的邊中權(quán)重和為l,執(zhí)行所述步驟5。所述步驟4進(jìn)一步為,步驟101,從所述抽象距離信息表中查找仿真結(jié)果對(duì)應(yīng)的抽象距離,依據(jù)如下公式計(jì)算仿真結(jié)果在子抽象模型中的適應(yīng)度,fiti=Max「Difiti是仿真結(jié)果在每個(gè)子抽象模型中的適應(yīng)度值A(chǔ)為仿真結(jié)果在所述子抽象模型的抽象距離信息表中查找到的對(duì)應(yīng)的抽象距離,MaXi為所述子抽象模型的最大抽象距離值;步驟S102,按如下公式計(jì)算仿真結(jié)果的適應(yīng)度,V.FzY"ew—ra/we=Z~^''=0V,。,。/,、為子抽象模型中包含的目標(biāo)狀態(tài)變量數(shù)目;Vt。tal表示抽象模型的總的目標(biāo)狀態(tài)變量數(shù)目;NP表示子抽象模型的數(shù)量,F(xiàn)itness—value表示本周期仿真結(jié)果的適應(yīng)度值;步驟S103,比較本周期仿真結(jié)果對(duì)應(yīng)的適應(yīng)度同上一仿真周期的仿真結(jié)果對(duì)應(yīng)的適應(yīng)度,如果比較結(jié)果為本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則執(zhí)行步驟104,否則,執(zhí)行所述步驟5;步驟104,增大馬爾可夫模型中當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的邊的權(quán)重,并減少所述馬爾可夫模型中其他邊的權(quán)重以使馬爾可夫模型中一個(gè)頂點(diǎn)出發(fā)的邊中權(quán)重和為l,執(zhí)行所述步驟5。本發(fā)明公開了一種集成電路驗(yàn)證系統(tǒng),包括抽象引擎,用于對(duì)待驗(yàn)證的集成電路進(jìn)行抽象,生成對(duì)應(yīng)的抽象模型,并且在所述抽象模型上進(jìn)行形式化計(jì)算,以獲得形式化信息;激勵(lì)生成引擎包括馬爾可夫模型建立模塊、激勵(lì)產(chǎn)生模塊、參數(shù)調(diào)整模塊、驗(yàn)證結(jié)果上報(bào)模塊,所述馬爾可夫模型建立模塊,用于根據(jù)待檢測(cè)的集成電路的規(guī)范建立的馬爾可夫模型;所述激勵(lì)產(chǎn)生模塊,用于由馬爾可夫模型生成激勵(lì),將所述激勵(lì)輸入仿真器;所述仿真器,用于對(duì)所述待檢測(cè)的集成電路進(jìn)行仿真;所述參數(shù)調(diào)整模塊,用于依據(jù)所述形式化信息比較本周期仿真結(jié)果和上周期仿真獲得的仿真結(jié)果,如果本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則調(diào)整所述馬爾可夫模型中參數(shù);所述驗(yàn)證結(jié)果上報(bào)模塊,用于在待檢測(cè)的集成電路未達(dá)到目標(biāo)狀態(tài)并且仿真次數(shù)未超過預(yù)設(shè)次數(shù)時(shí)啟動(dòng)所述激勵(lì)產(chǎn)生模塊;否則,終止仿真,并報(bào)告成功或者運(yùn)行超時(shí)。所述抽象引擎進(jìn)一步用于建立數(shù)據(jù)依賴圖;在所述數(shù)據(jù)依賴圖上進(jìn)行抽象,生成抽象模型;在所述抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息。所述抽象引擎在建立數(shù)據(jù)依賴圖時(shí)進(jìn)一步用于根據(jù)待檢測(cè)的集成電路的硬件描9述語(yǔ)言的描述,依據(jù)存儲(chǔ)目標(biāo)狀態(tài)的目標(biāo)狀態(tài)變量建立數(shù)據(jù)依賴圖;所述數(shù)據(jù)依賴圖中,每一個(gè)結(jié)點(diǎn)代表一個(gè)寄存器變量,兩個(gè)結(jié)點(diǎn)之間的有向箭頭表示目標(biāo)結(jié)點(diǎn)對(duì)源結(jié)點(diǎn)存在數(shù)據(jù)依賴關(guān)系。所述抽象引擎在生成抽象模型時(shí)進(jìn)一步用于在所述數(shù)據(jù)依賴圖中,從目標(biāo)狀態(tài)變量出發(fā),按照邏輯依賴關(guān)系由近及遠(yuǎn)的回溯,并采用廣度優(yōu)先搜索方式將遍歷到的寄存器變量加入到抽象模型;如果兩個(gè)存在依賴關(guān)系的寄存器變量被加入到所述抽象模型中,則兩個(gè)所述寄存器變量之間的組合邏輯也被加入到所述抽象模型中。所述抽象引擎在生成抽象模型時(shí)進(jìn)一步用于在所述數(shù)據(jù)依賴圖中,將所述目標(biāo)狀態(tài)變量劃分為組,從各個(gè)組的目標(biāo)狀態(tài)變量出發(fā),按照邏輯依賴關(guān)系由近及遠(yuǎn)的回溯,并采用廣度優(yōu)先搜索方式將遍歷到的寄存器變量加入到抽象模型的對(duì)應(yīng)子抽象模型中;如果兩個(gè)存在依賴關(guān)系的寄存器變量被加入到所述子抽象模型中,則兩個(gè)所述寄存器變量之間的組合邏輯也被加入到所述子抽象模型中。所述抽象引擎在進(jìn)行形式化計(jì)算時(shí)進(jìn)一步用于采用基于二分決策圖的形式化計(jì)算工具在所述抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息,將所述形式化信息記錄到抽象距離信息表中,所述形式化信息包括抽象狀態(tài)和抽象狀態(tài)對(duì)應(yīng)的抽象距離。所述抽象引擎在進(jìn)行形式化計(jì)算時(shí)進(jìn)一步用于采用基于二分決策圖的形式化計(jì)算工具在每個(gè)所述子抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息,將所述形式化信息記錄到所述子抽象模型對(duì)應(yīng)的抽象距離信息表中,所述形式化信息包括抽象狀態(tài)和抽象狀態(tài)對(duì)應(yīng)的抽象距離。所述激勵(lì)產(chǎn)生模塊進(jìn)一步用于在仿真的每一周期之前,根據(jù)馬爾可夫模型的當(dāng)前配置生成一個(gè)周期的激勵(lì),并提供給仿真器進(jìn)行仿真。所述參數(shù)調(diào)整模塊進(jìn)一步用于從所述抽象距離信息表中查找仿真結(jié)果對(duì)應(yīng)的抽象距離,依據(jù)所述抽象距離比較本周期仿真結(jié)果同上一仿真周期的仿真結(jié)果,如果比較結(jié)果為本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則增大馬爾可夫模型中當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的邊的權(quán)重,并減少所述馬爾可夫模型中其他邊的權(quán)重以使馬爾可夫模型中一個(gè)頂點(diǎn)出發(fā)的邊中權(quán)重和為l,并啟動(dòng)所述驗(yàn)證結(jié)果上報(bào)模塊;否則,直接啟動(dòng)所述驗(yàn)證結(jié)果上報(bào)模塊。所述參數(shù)調(diào)整模塊進(jìn)一步用于從所述抽象距離信息表中查找仿真結(jié)果對(duì)應(yīng)的抽象距離,依據(jù)如下公式計(jì)算仿真結(jié)果在子抽象模型中的適應(yīng)度,fiti=Max「Difiti是仿真結(jié)果在每個(gè)子抽象模型中的適應(yīng)度值A(chǔ)為仿真結(jié)果在所述子抽象模型的抽象距離信息表中查找到的對(duì)應(yīng)的抽象距離,MaXi為所述子抽象模型的最大抽象距離值;按如下公式計(jì)算仿真結(jié)果的適應(yīng)度,H加ess_va/we=Z~~^哉.''=oVw(。/,、為子抽象模型中包含的目標(biāo)狀態(tài)變量數(shù)目;Vt。tal表示抽象模型的總的目標(biāo)狀態(tài)變量數(shù)目;NP表示子抽象模型的數(shù)量,F(xiàn)itness—value表示本周期仿真結(jié)果的適應(yīng)度值;比較本周期仿真結(jié)果對(duì)應(yīng)的適應(yīng)度同上一仿真周期的仿真結(jié)果對(duì)應(yīng)的適應(yīng)度,如果比較結(jié)果為本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則增大馬爾可夫模型中當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的邊的權(quán)重,并減少所述馬爾可夫模型中其他邊的權(quán)重以使馬爾可夫模型中一個(gè)頂點(diǎn)出發(fā)的邊中權(quán)重和為l,并啟動(dòng)所述驗(yàn)證結(jié)果上報(bào)模塊;否則,直接啟動(dòng)所述驗(yàn)證結(jié)果上報(bào)模塊。本發(fā)明的有益效果在于,通過使用馬爾科夫模型并根據(jù)仿真結(jié)果調(diào)節(jié)馬爾科夫模型能夠降低計(jì)算成本,提高檢測(cè)效率,能夠處理規(guī)模較大的集成電路,避免了已有形式化驗(yàn)證方法處理規(guī)模有限的問題;并且提高了針對(duì)集成電路難達(dá)屬性進(jìn)行激勵(lì)生成的效率,縮短了驗(yàn)證所需激勵(lì)向量的長(zhǎng)度,比已有半形式化驗(yàn)證方法效率平均提高了10倍以上。圖1是本發(fā)明的集成電路驗(yàn)證方法的流程圖;圖2是從設(shè)計(jì)描述建立起來的數(shù)據(jù)依賴圖及在數(shù)據(jù)依賴圖上的抽象過程示意圖;圖3是具體實(shí)施方式中抽象距離信息表對(duì)應(yīng)的電路狀態(tài)轉(zhuǎn)移圖及對(duì)應(yīng)抽象距離表示;圖4是從設(shè)計(jì)規(guī)范建立的馬爾可夫模型示意圖;圖5是本發(fā)明的集成電路驗(yàn)證系統(tǒng)的結(jié)構(gòu)圖。具體實(shí)施例方式下面結(jié)合附圖,對(duì)本發(fā)明做進(jìn)一步的詳細(xì)描述。本發(fā)明方法的流程如圖1所示。步驟S100,抽象引擎對(duì)待驗(yàn)證的集成電路進(jìn)行抽象,生成對(duì)應(yīng)的抽象模型,并且在所述抽象模型上進(jìn)行形式化計(jì)算,以獲得形式化信息。抽象的方法需要在抽象準(zhǔn)確性和抽象規(guī)模方面做一個(gè)折中,因?yàn)槿绻橄蟪龅哪P桶繕?biāo)屬性相關(guān)的邏輯越多,其抽象質(zhì)量和準(zhǔn)確性越好,但相應(yīng)的模型規(guī)模也增大,導(dǎo)致對(duì)其進(jìn)行形式化計(jì)算所需的代價(jià)也越大;如果抽象出的模型包含目標(biāo)屬性相關(guān)的邏輯越少,雖然進(jìn)行形式化計(jì)算所需代價(jià)越小,但包含的設(shè)計(jì)相關(guān)信息也越少越不準(zhǔn)確,因而無法為后續(xù)的激勵(lì)生成提供足夠的指導(dǎo)。具體實(shí)施方式中的抽象方法是基于寄存器傳輸級(jí),在硬件描述語(yǔ)言所描述的集成電路的設(shè)計(jì)上,按照寄存器變量的邏輯依賴關(guān)系進(jìn)行抽象。具體而言,目標(biāo)設(shè)計(jì)屬性被描述為一個(gè)目標(biāo)狀態(tài),該目標(biāo)狀態(tài)由一組寄存器存儲(chǔ),這些寄存器被稱為目標(biāo)狀態(tài)變量。狀態(tài)變量是一組寄存器,而設(shè)計(jì)狀態(tài)由這些寄存器所保存的值組成。例如,加法器進(jìn)位溢出被描述為相應(yīng)的溢出信號(hào)變量置1的狀態(tài),溢出信號(hào)寄存器則成為目標(biāo)狀態(tài)變量。因此在邏輯上與該些目標(biāo)狀態(tài)變量緊密相關(guān)的邏輯是有用的核心邏輯。所述步驟S100的具體實(shí)施方式如下所述。步驟S110,建立數(shù)據(jù)依賴圖。根據(jù)待檢測(cè)的集成電路的硬件描述語(yǔ)言描述,圍繞目標(biāo)狀態(tài)變量建立數(shù)據(jù)依賴圖。在數(shù)據(jù)依賴圖中,每一個(gè)結(jié)點(diǎn)代表一個(gè)寄存器變量,兩個(gè)結(jié)點(diǎn)之間的有向箭頭表示目標(biāo)結(jié)點(diǎn)對(duì)源結(jié)點(diǎn)存在數(shù)據(jù)依賴關(guān)系。步驟S120,在數(shù)據(jù)依賴圖上進(jìn)行抽象,生成抽象模。在數(shù)據(jù)依賴圖中,從目標(biāo)狀態(tài)變量出發(fā),按照邏輯依賴關(guān)系由近及遠(yuǎn)的回溯,并采用廣度優(yōu)先搜索方式將遍歷到的寄存器變量加入到抽象模型。如果兩個(gè)存在依賴關(guān)系的寄存器變量被加入到抽象模型中,則兩者之間的組合邏輯也相應(yīng)的被加入到抽象模型中。另一具體實(shí)施方式中,抽象方法還采用將抽象模型劃分成多個(gè)子抽象模型的方法,當(dāng)抽象模型規(guī)模較大,超過可以接受的界限時(shí),按照寄存器之間的聯(lián)系緊密程度,將抽象模型劃分為多個(gè)子抽象模型,其中每個(gè)子抽象模型都是從部分目標(biāo)狀態(tài)變量向前經(jīng)過前述方法得到的抽象模型。建立起來的數(shù)據(jù)依賴圖及在數(shù)據(jù)依賴圖上的抽象過程的實(shí)施例如圖2所示。圖2中,每個(gè)圓圈表示待檢測(cè)的集成電路中一個(gè)寄存器,而圓圈之間的有向箭頭表示從目標(biāo)結(jié)點(diǎn)到源結(jié)點(diǎn)存在的數(shù)據(jù)依賴關(guān)系,最右方的結(jié)點(diǎn)為目標(biāo)狀態(tài)變量R1、目標(biāo)狀態(tài)變量R2、目標(biāo)狀態(tài)變量R3。因而電路抽象的過程具體為,在數(shù)據(jù)依賴圖中,從目標(biāo)狀態(tài)變量出發(fā),按照邏輯依賴關(guān)系由近及遠(yuǎn)的回溯,采用廣度優(yōu)先搜索方法將遍歷到的寄存器變量加入到抽象模型;如果兩個(gè)存在依賴關(guān)系的寄存器被加入抽象模型中,則兩者之間的組合邏輯也相應(yīng)的被加入到抽象模型中。當(dāng)抽象模型規(guī)模較大時(shí),按照寄存器之間的聯(lián)系緊密程度,將抽象模型劃分為多個(gè)子抽象模型,其中每個(gè)子抽象模型都包含部分的目標(biāo)狀態(tài)變量,例如圖2中的子抽象模型1和子抽象模型2。該種抽象方法的抽象粒度較細(xì),并且通過控制廣度優(yōu)先搜索的深度,可以靈活的控制抽象模型的大小和規(guī)模,如果需要抽象出更為精確的模型并且能承受較多的形式化計(jì)算成本,則加大搜索深度,抽取目標(biāo)狀態(tài)變量周圍更多的邏輯,從而獲取一個(gè)更為精確的抽象模型;反之若果不需要太準(zhǔn)確的抽象模型,或者能夠接受的形式化計(jì)算代價(jià)有限,則選擇較小的搜索深度,從而獲取一個(gè)較為粗糙但規(guī)模較小的抽象模型。S130,在抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息,將該形式化信息保存為抽象距離信息表。采用基于二分決策圖的形式化計(jì)算工具在抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息,將形式化信息記錄到抽象距離信息表中,形式化信息包括抽象狀態(tài)和抽象狀態(tài)對(duì)應(yīng)的抽象距離。具體實(shí)施方式中,采用基于二分決策圖(BDD,BinaryDecisionDiagram)的形式化計(jì)算工具,從目標(biāo)狀態(tài)開始計(jì)算該目標(biāo)狀態(tài)在抽象模型中的前像,并將計(jì)算得到的所有前像狀態(tài)和相應(yīng)的前像距離進(jìn)行保存。每個(gè)所述前像狀態(tài)即為一個(gè)抽象狀態(tài),前像距離為抽象距離。抽象距離信息表保存抽象狀態(tài)和對(duì)應(yīng)的抽象距離,如表1所示,表中每一行代表某一抽象距離值及其對(duì)應(yīng)的抽象狀態(tài),多個(gè)抽象狀態(tài)可以用X位來輔助描述。抽象距離值最大的抽象狀態(tài)集合包括了電路的初始狀態(tài),因此電路初態(tài)對(duì)應(yīng)的抽象距離值是最大抽象距離值。<table>tableseeoriginaldocumentpage13</column></row><table>表1圖3表示的是與表1所對(duì)應(yīng)的電路狀態(tài)轉(zhuǎn)移圖及對(duì)應(yīng)的抽象距離。其中000狀0態(tài)是電路的初態(tài),llll狀態(tài)是目標(biāo)狀態(tài),沒有出現(xiàn)在圖中的狀態(tài)是不可達(dá)狀態(tài),也即非法狀態(tài)。從目標(biāo)狀態(tài)往前計(jì)算前像,一拍以內(nèi)能到達(dá)目標(biāo)狀態(tài)的狀態(tài)抽象距離為1,以此內(nèi)推,直到到達(dá)初態(tài)(即OOOO)為止。該抽象距離信息被整理保存在抽象距離信息表中。關(guān)于采用基于二分決策圖的方法計(jì)算前像方法如文獻(xiàn)HardwareDesignVerification-SimulationandFormalMethod-BasedApproaches,WilliamK丄am,PersonEducation,Inc,2005.中所述。抽象模型被劃分為多個(gè)子抽象模型的情況,采用基于二分決策圖的形式化計(jì)算工具在每個(gè)所述子抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息,將所述形式化信息記錄到所述子抽象模型對(duì)應(yīng)的抽象距離信息表中,所述形式化信息包括抽象狀態(tài)和抽象狀態(tài)對(duì)應(yīng)的抽象距離。步驟S200,激勵(lì)生成引擎初始化根據(jù)待檢測(cè)的集成電路規(guī)范建立的馬爾可夫模型。根據(jù)待檢測(cè)集成電路的規(guī)范(Specification)建立相應(yīng)的馬爾可夫模型,并且對(duì)馬爾可夫模型進(jìn)行初始化。利用得到的馬爾可夫模型隨機(jī)的產(chǎn)生符合集成電路設(shè)計(jì)規(guī)范的激勵(lì)。馬爾可夫模型的示意圖及建立方法如圖4所示。集成電路的設(shè)計(jì)規(guī)范是指在設(shè)計(jì)電路之前確定的一個(gè)標(biāo)準(zhǔn)和要求文檔。圖4中表示的是根據(jù)一個(gè)處理器設(shè)計(jì)規(guī)范建立的馬爾可夫模型結(jié)構(gòu)。馬爾可夫模型由頂點(diǎn)和頂點(diǎn)之間全相連的帶權(quán)重的有向邊組成;每個(gè)頂點(diǎn)代表設(shè)計(jì)的一項(xiàng)事務(wù)(transaction)或者一組類似的事務(wù),而每條有向邊上的權(quán)重代表從源結(jié)點(diǎn)到目標(biāo)結(jié)點(diǎn)轉(zhuǎn)移的概率。在應(yīng)用到例如處理器的激勵(lì)生成引擎中時(shí),每個(gè)頂點(diǎn)代表一種指令(NOP)或者一類指令,如圖4中頂點(diǎn)內(nèi)的標(biāo)記,例如Float浮點(diǎn)運(yùn)算、Branch分支指令等,馬爾可夫模型從一個(gè)頂點(diǎn)轉(zhuǎn)移到另一個(gè)頂點(diǎn)則代表產(chǎn)生對(duì)應(yīng)的一條指令。初始狀態(tài)下,馬爾可夫模型中頂點(diǎn)是兩兩相連的,并且從所有邊的權(quán)重相等,表示隨機(jī)的轉(zhuǎn)移到任意下一個(gè)頂點(diǎn)。從一個(gè)頂點(diǎn)出發(fā)的所有邊權(quán)重之和為l,表示向下一頂點(diǎn)轉(zhuǎn)移的概率之和為1。步驟S300,激勵(lì)生成引擎由馬爾可夫模型生成激勵(lì),將所述激勵(lì)輸入仿真器,仿真器對(duì)待檢測(cè)的集成電路進(jìn)行仿真。在仿真的每一周期之前,根據(jù)馬爾可夫模型的當(dāng)前配置生成一個(gè)周期的激勵(lì)并提供給仿真器進(jìn)行仿真。步驟S400,激勵(lì)生成引擎依據(jù)形式化信息比較本周期仿真結(jié)果和上周期仿真獲得的仿真結(jié)果,如果本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則調(diào)整所述馬爾可夫模型中參數(shù)。激勵(lì)生成引擎利用抽象距離信息表計(jì)算出當(dāng)前狀態(tài)的適應(yīng)度函數(shù)值,并進(jìn)行將本周期仿真的適應(yīng)度函數(shù)值同上周期仿真的適應(yīng)度函數(shù)值進(jìn)行比較,根據(jù)比較結(jié)果生成相應(yīng)的反饋信號(hào);根據(jù)反饋信號(hào)對(duì)馬爾可夫模型的概率參數(shù)進(jìn)行調(diào)整。當(dāng)前狀態(tài)的抽象距離值越小則表示距離目標(biāo)狀態(tài)越近,如果距離為O,則表示已經(jīng)到達(dá)目標(biāo)狀態(tài)。而由公式(1)所示,適應(yīng)度函數(shù)值與抽象距離值成反比,也就是越優(yōu)秀的狀態(tài)對(duì)應(yīng)越小的抽象距離值,進(jìn)而對(duì)應(yīng)越大的適應(yīng)度函數(shù)值。如果當(dāng)前仿真結(jié)果的狀態(tài)的適應(yīng)度函數(shù)值與上一周期的值相比增加了,則表示進(jìn)步,生成對(duì)應(yīng)反饋信號(hào),根據(jù)反饋信號(hào)對(duì)馬爾可夫模型的概率參數(shù)進(jìn)行調(diào)整;否則不產(chǎn)生反饋信號(hào),不進(jìn)行調(diào)整。根據(jù)馬爾可夫模型產(chǎn)生合法的激勵(lì)向量,在仿真中每一拍通過反饋調(diào)整馬爾可夫模型,從而產(chǎn)生更高質(zhì)量的激勵(lì)向量。因此這個(gè)工作流程的核心在于仿真過程中動(dòng)態(tài)反饋的生成和對(duì)馬爾可夫模型的調(diào)整策略。所述步驟400的具體實(shí)施方式如下所述。S410,從抽象距離信息表中查找仿真結(jié)果對(duì)應(yīng)的抽象距離,依據(jù)抽象距離比較本周期仿真結(jié)果同上一仿真周期的仿真結(jié)果,如果比較結(jié)果為本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則執(zhí)行步驟S420,否則,執(zhí)行所述步驟S500。在一種具體實(shí)施方式中,從抽象距離信息表中查找仿真結(jié)果對(duì)應(yīng)的抽象距離,計(jì)算出對(duì)應(yīng)的適應(yīng)度函數(shù)值,比較本周期仿真結(jié)果對(duì)應(yīng)的適應(yīng)度值同上一仿真周期的仿真結(jié)果對(duì)應(yīng)的適應(yīng)度值,如果比較結(jié)果為本周期仿真結(jié)果對(duì)應(yīng)的適應(yīng)度值更高,則執(zhí)行步驟S420,否則,執(zhí)行步驟S500。對(duì)于抽象模型被劃分為子抽象模型的具體實(shí)施方式如下所述?!獋€(gè)時(shí)序電路包含一定數(shù)目的寄存器,則該電路的狀態(tài)由這些寄存器值的組合唯一表示。對(duì)狀態(tài)的評(píng)估策略為根據(jù)抽象距離信息表求取狀態(tài)的適應(yīng)度值的過程,適應(yīng)度值越大則該狀態(tài)被評(píng)估為越優(yōu)秀,該適應(yīng)度值按公式1和公式2計(jì)算。<formula>formulaseeoriginaldocumentpage14</formula><formula>formulaseeoriginaldocumentpage14</formula>因?yàn)槌橄竽P涂赡馨鄠€(gè)子抽象模型,則fiti是每個(gè)子抽象模型中的適應(yīng)度值;通過查找抽象距離信息表,獲得當(dāng)前仿真結(jié)果對(duì)應(yīng)的抽象距離Di,MaXi表示該子抽象模型的最大抽象距離值,最大抽象距離值為該子抽象模型對(duì)應(yīng)的抽象距離信息表中最大的抽象距離??偟倪m應(yīng)度值則由所有子抽象模型的適應(yīng)度值計(jì)算獲得,其中公式(2)中的、表示子抽象模型中包含的目標(biāo)狀態(tài)變量數(shù)目;Vt。td表示抽象模型的總的目標(biāo)狀態(tài)變量數(shù)目;Np表示子抽象模型的數(shù)量,F(xiàn)itness—value表示本周期仿真結(jié)果的適應(yīng)度值。因此適應(yīng)度值越大表明當(dāng)前的仿真結(jié)果越接近目標(biāo)狀態(tài)。對(duì)于未將抽象模型劃分為多個(gè)子抽象模型的情況,按如下公式(5)計(jì)算適應(yīng)度值。Fitness_value=Max-D公式(5)Fitness—value表示本周期仿真結(jié)果的適應(yīng)度函數(shù)值,Max表示最大抽象距離值,D為仿真結(jié)果對(duì)應(yīng)的抽象距離。如果當(dāng)前仿真周期里的狀態(tài)對(duì)應(yīng)的適應(yīng)度值相比上一周期的適應(yīng)度值有提高,則當(dāng)前狀態(tài)被評(píng)價(jià)為"優(yōu)秀",表示向目標(biāo)狀態(tài)靠近了一步。因而一個(gè)反饋信號(hào),對(duì)馬爾可夫模型進(jìn)行調(diào)整。對(duì)于未將抽象模型劃分為多個(gè)子抽象模型的情況,也可以通過直接比較抽象距離來判斷本周期仿真結(jié)果是否比上周期仿真結(jié)果更接近目標(biāo)狀態(tài)。S420,增大馬爾可夫模型中當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的邊的權(quán)重,并減少所述馬爾可夫模型中其他邊的權(quán)重以使馬爾可夫模型中一個(gè)頂點(diǎn)出發(fā)的邊中權(quán)重和為1。實(shí)現(xiàn)步驟S420的具體實(shí)施方式一在激勵(lì)生成過程中,對(duì)馬爾可夫模型的調(diào)整是通過調(diào)整其中邊的權(quán)重來實(shí)現(xiàn)的。仿真過程中產(chǎn)生的反饋表示當(dāng)前狀態(tài)是"優(yōu)秀"的,則增大馬爾可夫模型中導(dǎo)致當(dāng)前狀態(tài)的激勵(lì)所對(duì)應(yīng)的馬爾可夫模型中的邊的權(quán)重。因而在隨后的激勵(lì)生成中,類似的優(yōu)秀激勵(lì)更有可能被生成,從而提高激勵(lì)生成質(zhì)量。但因?yàn)閺囊粋€(gè)頂點(diǎn)出發(fā)的所有邊權(quán)重和為l,增加一條邊的權(quán)重則必須減少其它邊的權(quán)重。具體來說,對(duì)馬爾可夫模型的調(diào)整策略可以描述為尸一i31=';'公式(3)PJdecr=kX(Pj-Pmin)公式(4)其中,P^r表示當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的馬爾可夫模型中的邊增加的權(quán)重,pmax為規(guī)定的每條邊可以取權(quán)重的最大值,Pi為當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的馬爾可夫模型中的邊的當(dāng)前的權(quán)重值,Nv為馬爾可夫模型中所有頂點(diǎn)的數(shù)目。這樣,當(dāng)前權(quán)重越大的邊可以繼續(xù)增加權(quán)重就越困難,當(dāng)前權(quán)重越小的邊,可以增加權(quán)重就越容易,從而達(dá)到一個(gè)動(dòng)態(tài)的平衡。P、。r表示從一個(gè)頂點(diǎn)出發(fā)的邊中,除當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的馬爾可夫模型中的邊以外的邊需要減去的權(quán)重,以使得從一個(gè)頂點(diǎn)出發(fā)的所有邊權(quán)重和為1。例如,從一個(gè)頂點(diǎn)出發(fā)有N條邊,其中邊i為當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的馬爾可夫模型中的邊,邊j為N條邊中除去邊i的其余的邊,由于邊i的權(quán)重被增加,因而減少邊i的權(quán)重,以使N條邊的權(quán)重加和為1。Pj為該需要減少權(quán)重的邊當(dāng)前的權(quán)重值,Pmin為規(guī)定的每條邊可以取權(quán)重的最小值,k為使從一個(gè)頂點(diǎn)出發(fā)的所有邊權(quán)重和為1的系數(shù)。上述過程為一個(gè)歸一化過程,這樣,當(dāng)前權(quán)重越大的邊歸一化減去的權(quán)重值越多,當(dāng)前權(quán)重值越小的邊歸一化減去的權(quán)重值越少。通過所述動(dòng)態(tài)調(diào)整,馬爾可夫模型不容易陷入局部最優(yōu),局部最優(yōu)為某條邊權(quán)重特別大以至于其它邊失去被遍歷的機(jī)會(huì),能夠形成動(dòng)態(tài)的平衡,獲得更好的機(jī)器學(xué)習(xí)效果以指導(dǎo)激勵(lì)生成。實(shí)現(xiàn)步驟S420的具體實(shí)施方式二對(duì)馬爾可夫模型的調(diào)整策略為,當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的馬爾可夫模型中的15邊增加的權(quán)重為預(yù)設(shè)值;—個(gè)頂點(diǎn)出發(fā)的邊中,除當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的馬爾可夫模型中的邊以外的邊需要減去的權(quán)重按如下公式計(jì)算PJdecr=kX(Pj)P、。r表示從一個(gè)頂點(diǎn)出發(fā)的邊中,除當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的馬爾可夫模型中的邊以外的邊需要減去的權(quán)重,以使得從一個(gè)頂點(diǎn)出發(fā)的所有邊權(quán)重和為1。Pj為該需要減少權(quán)重的邊當(dāng)前的權(quán)重值。實(shí)現(xiàn)步驟S420的具體實(shí)施方式三從一個(gè)頂點(diǎn)出發(fā)的邊中,當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的馬爾可夫模型中的邊的權(quán)重增加為最大權(quán)重值l,其余邊權(quán)重為最小權(quán)重值0。步驟S500,如果待檢測(cè)的集成電路未達(dá)到目標(biāo)狀態(tài)并且仿真次數(shù)未超過預(yù)設(shè)次數(shù),則執(zhí)行步驟S300;否則,終止仿真,并報(bào)告成功或者運(yùn)行超時(shí)。因待檢測(cè)的集成電路達(dá)到目標(biāo)狀態(tài)而終止仿真,則報(bào)告成功;因仿真次數(shù)未超過預(yù)設(shè)次數(shù)而終止仿真,則報(bào)告運(yùn)行超時(shí)。—種集成電路驗(yàn)證系統(tǒng),如圖5所示。抽象引擎100,用于對(duì)待驗(yàn)證的集成電路進(jìn)行抽象,生成對(duì)應(yīng)的抽象模型,并且在所述抽象模型上進(jìn)行形式化計(jì)算,以獲得形式化信息;激勵(lì)生成引擎200包括馬爾可夫模型建立模塊210、激勵(lì)產(chǎn)生模塊220、參數(shù)調(diào)整模塊230、驗(yàn)證結(jié)果上報(bào)模塊240。馬爾可夫模型建立模塊210,用于根據(jù)待檢測(cè)的集成電路的規(guī)范建立的馬爾可夫模型。激勵(lì)產(chǎn)生模塊220,用于由馬爾可夫模型生成激勵(lì),將所述激勵(lì)輸入仿真器。仿真器300,用于對(duì)所述待檢測(cè)的集成電路進(jìn)行仿真。參數(shù)調(diào)整模塊230,用于依據(jù)所述形式化信息比較本周期仿真結(jié)果和上周期仿真獲得的仿真結(jié)果,如果本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則調(diào)整所述馬爾可夫模型中參數(shù)。驗(yàn)證結(jié)果上報(bào)模塊240,用于在待檢測(cè)的集成電路未達(dá)到目標(biāo)狀態(tài)并且仿真次數(shù)未超過預(yù)設(shè)次數(shù)時(shí)啟動(dòng)所述激勵(lì)產(chǎn)生模塊220;否則,終止仿真,并報(bào)告成功或者運(yùn)行超時(shí)。較佳的,抽象引擎IOO進(jìn)一步用于建立數(shù)據(jù)依賴圖;在所述數(shù)據(jù)依賴圖上進(jìn)行抽象,生成抽象模型;在所述抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息。抽象引擎100在建立數(shù)據(jù)依賴圖時(shí)進(jìn)一步用于根據(jù)待檢測(cè)的集成電路的硬件描述語(yǔ)言的描述,依據(jù)存儲(chǔ)目標(biāo)狀態(tài)的目標(biāo)狀態(tài)變量建立數(shù)據(jù)依賴圖;所述數(shù)據(jù)依賴圖中,每一個(gè)結(jié)點(diǎn)代表一個(gè)寄存器變量,兩個(gè)結(jié)點(diǎn)之間的有向箭頭表示目標(biāo)結(jié)點(diǎn)對(duì)源結(jié)點(diǎn)存在數(shù)據(jù)依賴關(guān)系。具體實(shí)施方式一中,抽象引擎100在生成抽象模型時(shí)進(jìn)一步用于在所述數(shù)據(jù)依賴圖中,從目標(biāo)狀態(tài)變量出發(fā),按照邏輯依賴關(guān)系由近及遠(yuǎn)的回溯,并采用廣度優(yōu)先搜索方式將遍歷到的寄存器變量加入到抽象模型;如果兩個(gè)存在依賴關(guān)系的寄存器變量被加入到所述抽象模型中,則兩個(gè)所述寄存器變量之間的組合邏輯也被加入到所述抽象模型中。抽象引擎100在進(jìn)行形式化計(jì)算時(shí)進(jìn)一步用于采用基于二分決策圖的形式化計(jì)算工具在所述抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息,將所述形式化信息記錄到抽象距離信息表中,所述形式化信息包括抽象狀態(tài)和抽象狀態(tài)對(duì)應(yīng)的抽象距離。具體實(shí)施方式二中,抽象引擎100在生成抽象模型時(shí)進(jìn)一步用于在所述數(shù)據(jù)依賴圖中,將所述目標(biāo)狀態(tài)變量劃分為組,從各個(gè)組的目標(biāo)狀態(tài)變量出發(fā),按照邏輯依賴關(guān)系由近及遠(yuǎn)的回溯,并采用廣度優(yōu)先搜索方式將遍歷到的寄存器變量加入到抽象模型的對(duì)應(yīng)子抽象模型中;如果兩個(gè)存在依賴關(guān)系的寄存器變量被加入到所述子抽象模型中,則兩個(gè)所述寄存器變量之間的組合邏輯也被加入到所述子抽象模型中。抽象引擎100在進(jìn)行形式化計(jì)算時(shí)進(jìn)一步用于采用基于二分決策圖的形式化計(jì)算工具在每個(gè)所述子抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息,將所述形式化信息記錄到所述子抽象模型對(duì)應(yīng)的抽象距離信息表中,所述形式化信息包括抽象狀態(tài)和抽象狀態(tài)對(duì)應(yīng)的抽象距離。較佳的,激勵(lì)產(chǎn)生模塊220進(jìn)一步用于在仿真的每一周期之前,根據(jù)馬爾可夫模型的當(dāng)前配置生成一個(gè)周期的激勵(lì),并提供給仿真器進(jìn)行仿真。較佳的,參數(shù)調(diào)整模塊230進(jìn)一步用于從所述抽象距離信息表中查找仿真結(jié)果對(duì)應(yīng)的抽象距離,依據(jù)所述抽象距離比較本周期仿真結(jié)果同上一仿真周期的仿真結(jié)果,如果比較結(jié)果為本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則增大馬爾可夫模型中當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的邊的權(quán)重,并減少所述馬爾可夫模型中其他邊的權(quán)重以使馬爾可夫模型中一個(gè)頂點(diǎn)出發(fā)的邊中權(quán)重和為1,并啟動(dòng)所述驗(yàn)證結(jié)果上報(bào)模塊240;否則,直接啟動(dòng)所述驗(yàn)證結(jié)果上報(bào)模塊240。參數(shù)調(diào)整模塊230進(jìn)一步用于從所述抽象距離信息表中查找仿真結(jié)果對(duì)應(yīng)的抽象距離,依據(jù)如下公式計(jì)算仿真結(jié)果在子抽象模型中的適應(yīng)度,fiti=Max「Difiti是仿真結(jié)果在每個(gè)子抽象模型中的適應(yīng)度值A(chǔ)為仿真結(jié)果在所述子抽象模型的抽象距離信息表中查找到的對(duì)應(yīng)的抽象距離,MaXi為所述子抽象模型的最大抽象距離值;按如下公式計(jì)算仿真結(jié)果的適應(yīng)度,v.<formula>formulaseeoriginaldocumentpage17</formula>、為子抽象模型中包含的目標(biāo)狀態(tài)變量數(shù)目;Vt。tal表示抽象模型的總的目標(biāo)狀態(tài)變量數(shù)目;NP表示子抽象模型的數(shù)量,F(xiàn)itness—value表示本周期仿真結(jié)果的適應(yīng)度值;比較本周期仿真結(jié)果對(duì)應(yīng)的適應(yīng)度同上一仿真周期的仿真結(jié)果對(duì)應(yīng)的適應(yīng)度,如果比較結(jié)果為本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則增大馬爾可夫模型中當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的邊的權(quán)重,并減少所述馬爾可夫模型中其他邊的權(quán)重以使馬爾可夫模型中一個(gè)頂點(diǎn)出發(fā)的邊中權(quán)重和為1,并啟動(dòng)所述驗(yàn)證結(jié)果上報(bào)模塊240;否則,直接啟動(dòng)所述驗(yàn)證結(jié)果上報(bào)模塊500。本領(lǐng)域的技術(shù)人員在不脫離權(quán)利要求書確定的本發(fā)明的精神和范圍的條件下,還可以對(duì)以上內(nèi)容進(jìn)行各種各樣的修改。因此本發(fā)明的范圍并不僅限于以上的說明,而是由權(quán)利要求書的范圍來確定的。權(quán)利要求一種集成電路驗(yàn)證方法,其特征在于,包括步驟1,抽象引擎對(duì)待驗(yàn)證的集成電路進(jìn)行抽象,生成對(duì)應(yīng)的抽象模型,并且在所述抽象模型上進(jìn)行形式化計(jì)算,以獲得形式化信息;步驟2,激勵(lì)生成引擎初始化根據(jù)待檢測(cè)的集成電路的規(guī)范建立的馬爾可夫模型;步驟3,激勵(lì)生成引擎由馬爾可夫模型生成激勵(lì),將所述激勵(lì)輸入仿真器,所述仿真器對(duì)所述待檢測(cè)的集成電路進(jìn)行仿真;步驟4,所述激勵(lì)生成引擎依據(jù)所述形式化信息比較本周期仿真結(jié)果和上周期仿真獲得的仿真結(jié)果,如果本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則調(diào)整所述馬爾可夫模型中參數(shù);步驟5,如果待檢測(cè)的集成電路未達(dá)到目標(biāo)狀態(tài)并且仿真次數(shù)未超過預(yù)設(shè)次數(shù),則執(zhí)行所述步驟3;否則,終止仿真,并報(bào)告成功或者運(yùn)行超時(shí)。2.根據(jù)權(quán)利要求1所述的集成電路驗(yàn)證方法,其特征在于,所述步驟l進(jìn)一步為,步驟21,建立數(shù)據(jù)依賴圖;步驟22,在所述數(shù)據(jù)依賴圖上進(jìn)行抽象,生成抽象模型;步驟23,在所述抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息。3.根據(jù)權(quán)利要求2所述的集成電路驗(yàn)證方法,其特征在于,所述步驟21進(jìn)一步為,步驟31,根據(jù)待檢測(cè)的集成電路的硬件描述語(yǔ)言的描述,依據(jù)存儲(chǔ)目標(biāo)狀態(tài)的目標(biāo)狀態(tài)變量建立數(shù)據(jù)依賴圖;所述數(shù)據(jù)依賴圖中,每一個(gè)結(jié)點(diǎn)代表一個(gè)寄存器變量,兩個(gè)結(jié)點(diǎn)之間的有向箭頭表示目標(biāo)結(jié)點(diǎn)對(duì)源結(jié)點(diǎn)存在數(shù)據(jù)依賴關(guān)系。4.根據(jù)權(quán)利要求3所述的集成電路驗(yàn)證方法,其特征在于,所述步驟22進(jìn)一步為,步驟41,在所述數(shù)據(jù)依賴圖中,從目標(biāo)狀態(tài)變量出發(fā),按照邏輯依賴關(guān)系由近及遠(yuǎn)的回溯,并采用廣度優(yōu)先搜索方式將遍歷到的寄存器變量加入到抽象模型;如果兩個(gè)存在依賴關(guān)系的寄存器變量被加入到所述抽象模型中,則兩個(gè)所述寄存器變量之間的組合邏輯也被加入到所述抽象模型中。5.根據(jù)權(quán)利要求3所述的集成電路驗(yàn)證方法,其特征在于,所述步驟22進(jìn)一步為,步驟51,在所述數(shù)據(jù)依賴圖中,將所述目標(biāo)狀態(tài)變量劃分為組,從各個(gè)組的目標(biāo)狀態(tài)變量出發(fā),按照邏輯依賴關(guān)系由近及遠(yuǎn)的回溯,并采用廣度優(yōu)先搜索方式將遍歷到的寄存器變量加入到抽象模型的對(duì)應(yīng)子抽象模型中;如果兩個(gè)存在依賴關(guān)系的寄存器變量被加入到所述子抽象模型中,則兩個(gè)所述寄存器變量之間的組合邏輯也被加入到所述子抽象模型中。6.根據(jù)權(quán)利要求2所述的集成電路驗(yàn)證方法,其特征在于,所述步驟23進(jìn)一步為,步驟61,采用基于二分決策圖的形式化計(jì)算工具在所述抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息,將所述形式化信息記錄到抽象距離信息表中,所述形式化信息包括抽象狀態(tài)和抽象狀態(tài)對(duì)應(yīng)的抽象距離。7.根據(jù)權(quán)利要求5所述的集成電路驗(yàn)證方法,其特征在于,所述步驟23進(jìn)一步為,步驟71,采用基于二分決策圖的形式化計(jì)算工具在每個(gè)所述子抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息,將所述形式化信息記錄到所述子抽象模型對(duì)應(yīng)的抽象距離信息表中,所述形式化信息包括抽象狀態(tài)和抽象狀態(tài)對(duì)應(yīng)的抽象距離。8.根據(jù)權(quán)利要求1所述的集成電路驗(yàn)證方法,其特征在于,所述步驟3進(jìn)一步為,步驟81,所述激勵(lì)生成引擎在仿真的每一周期之前,根據(jù)馬爾可夫模型的當(dāng)前配置生成一個(gè)周期的激勵(lì),并提供給仿真器進(jìn)行仿真。9.根據(jù)權(quán)利要求6或7所述的集成電路驗(yàn)證方法,其特征在于,所述步驟4進(jìn)一步為,步驟91,從所述抽象距離信息表中查找仿真結(jié)果對(duì)應(yīng)的抽象距離,依據(jù)所述抽象距離比較本周期仿真結(jié)果同上一周期的仿真結(jié)果,如果比較結(jié)果為本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則執(zhí)行步驟92,否則,執(zhí)行所述步驟5;步驟92,增大馬爾可夫模型中當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的邊的權(quán)重,并減少所述馬爾可夫模型中其他邊的權(quán)重以使馬爾可夫模型中一個(gè)頂點(diǎn)出發(fā)的邊中權(quán)重和為l,執(zhí)行所述步驟5。10.根據(jù)權(quán)利要求7所述的集成電路驗(yàn)證方法,其特征在于,所述步驟4進(jìn)一步為,步驟101,從所述抽象距離信息表中查找仿真結(jié)果對(duì)應(yīng)的抽象距離,依據(jù)如下公式計(jì)算仿真結(jié)果在子抽象模型中的適應(yīng)度,fiti=Max「Difiti是仿真結(jié)果在每個(gè)子抽象模型中的適應(yīng)度值A(chǔ)為仿真結(jié)果在所述子抽象模型的抽象距離信息表中查找到的對(duì)應(yīng)的抽象距離,MaXi為所述子抽象模型的最大抽象距離值;步驟S102,按如下公式計(jì)算仿真結(jié)果的適應(yīng)度,v.''=0Vw(。/,Vi為子抽象模型中包含的目標(biāo)狀態(tài)變量數(shù)目;Vt。^表示抽象模型的總的目標(biāo)狀態(tài)變量數(shù)目;Np表示子抽象模型的數(shù)量,F(xiàn)itness—value表示本周期仿真結(jié)果的適應(yīng)度值;步驟S103,比較本周期仿真結(jié)果對(duì)應(yīng)的適應(yīng)度同上一仿真周期的仿真結(jié)果對(duì)應(yīng)的適應(yīng)度,如果比較結(jié)果為本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則執(zhí)行步驟104,否則,執(zhí)行所述步驟5;步驟104,增大馬爾可夫模型中當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的邊的權(quán)重,并減少所述馬爾可夫模型中其他邊的權(quán)重以使馬爾可夫模型中一個(gè)頂點(diǎn)出發(fā)的邊中權(quán)重和為l,執(zhí)行所述步驟5。11.一種集成電路驗(yàn)證系統(tǒng),其特征在于,包括抽象引擎,用于對(duì)待驗(yàn)證的集成電路進(jìn)行抽象,生成對(duì)應(yīng)的抽象模型,并且在所述抽象模型上進(jìn)行形式化計(jì)算,以獲得形式化信息;激勵(lì)生成引擎包括馬爾可夫模型建立模塊、激勵(lì)產(chǎn)生模塊、參數(shù)調(diào)整模塊、驗(yàn)證結(jié)果上報(bào)模塊,所述馬爾可夫模型建立模塊,用于根據(jù)待檢測(cè)的集成電路的規(guī)范建立的馬爾可夫模型;所述激勵(lì)產(chǎn)生模塊,用于由馬爾可夫模型生成激勵(lì),將所述激勵(lì)輸入仿真器;所述仿真器,用于對(duì)所述待檢測(cè)的集成電路進(jìn)行仿真;所述參數(shù)調(diào)整模塊,用于依據(jù)所述形式化信息比較本周期仿真結(jié)果和上周期仿真獲得的仿真結(jié)果,如果本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則調(diào)整所述馬爾可夫模型中參數(shù);所述驗(yàn)證結(jié)果上報(bào)模塊,用于在待檢測(cè)的集成電路未達(dá)到目標(biāo)狀態(tài)并且仿真次數(shù)未超過預(yù)設(shè)次數(shù)時(shí)啟動(dòng)所述激勵(lì)產(chǎn)生模塊;否則,終止仿真,并報(bào)告成功或者運(yùn)行超時(shí)。12.根據(jù)權(quán)利要求11所述的集成電路驗(yàn)證系統(tǒng),其特征在于,所述抽象引擎進(jìn)一步用于建立數(shù)據(jù)依賴圖;在所述數(shù)據(jù)依賴圖上進(jìn)行抽象,生成抽象模型;在所述抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息。13.根據(jù)權(quán)利要求12所述的集成電路驗(yàn)證系統(tǒng),其特征在于,所述抽象引擎在建立數(shù)據(jù)依賴圖時(shí)進(jìn)一步用于根據(jù)待檢測(cè)的集成電路的硬件描述語(yǔ)言的描述,依據(jù)存儲(chǔ)目標(biāo)狀態(tài)的目標(biāo)狀態(tài)變量建立數(shù)據(jù)依賴圖;所述數(shù)據(jù)依賴圖中,每一個(gè)結(jié)點(diǎn)代表一個(gè)寄存器變量,兩個(gè)結(jié)點(diǎn)之間的有向箭頭表示目標(biāo)結(jié)點(diǎn)對(duì)源結(jié)點(diǎn)存在數(shù)據(jù)依賴關(guān)系。14.根據(jù)權(quán)利要求13所述的集成電路驗(yàn)證系統(tǒng),其特征在于,所述抽象引擎在生成抽象模型時(shí)進(jìn)一步用于在所述數(shù)據(jù)依賴圖中,從目標(biāo)狀態(tài)變量出發(fā),按照邏輯依賴關(guān)系由近及遠(yuǎn)的回溯,并采用廣度優(yōu)先搜索方式將遍歷到的寄存器變量加入到抽象模型;如果兩個(gè)存在依賴關(guān)系的寄存器變量被加入到所述抽象模型中,則兩個(gè)所述寄存器變量之間的組合邏輯也被加入到所述抽象模型中。15.根據(jù)權(quán)利要求13所述的集成電路驗(yàn)證系統(tǒng),其特征在于,所述抽象弓I擎在生成抽象模型時(shí)進(jìn)一步用于在所述數(shù)據(jù)依賴圖中,將所述目標(biāo)狀態(tài)變量劃分為組,從各個(gè)組的目標(biāo)狀態(tài)變量出發(fā),按照邏輯依賴關(guān)系由近及遠(yuǎn)的回溯,并采用廣度優(yōu)先搜索方式將遍歷到的寄存器變量加入到抽象模型的對(duì)應(yīng)子抽象模型中;如果兩個(gè)存在依賴關(guān)系的寄存器變量被加入到所述子抽象模型中,則兩個(gè)所述寄存器變量之間的組合邏輯也被加入到所述子抽象模型中。16.根據(jù)權(quán)利要求12所述的集成電路驗(yàn)證系統(tǒng),其特征在于,所述抽象引擎在進(jìn)行形式化計(jì)算時(shí)進(jìn)一步用于采用基于二分決策圖的形式化計(jì)算工具在所述抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息,將所述形式化信息記錄到抽象距離信息表中,所述形式化信息包括抽象狀態(tài)和抽象狀態(tài)對(duì)應(yīng)的抽象距離。17.根據(jù)權(quán)利要求15所述的集成電路驗(yàn)證系統(tǒng),其特征在于,所述抽象引擎在進(jìn)行形式化計(jì)算時(shí)進(jìn)一步用于采用基于二分決策圖的形式化計(jì)算工具在每個(gè)所述子抽象模型上進(jìn)行形式化計(jì)算,獲得形式化信息,將所述形式化信息記錄到所述子抽象模型對(duì)應(yīng)的抽象距離信息表中,所述形式化信息包括抽象狀態(tài)和抽象狀態(tài)對(duì)應(yīng)的抽象距離。18.根據(jù)權(quán)利要求11所述的集成電路驗(yàn)證系統(tǒng),其特征在于,所述激勵(lì)產(chǎn)生模塊進(jìn)一步用于在仿真的每一周期之前,根據(jù)馬爾可夫模型的當(dāng)前配置生成一個(gè)周期的激勵(lì),并提供給仿真器進(jìn)行仿真。19.根據(jù)權(quán)利要求16或17所述的集成電路驗(yàn)證系統(tǒng),其特征在于,所述參數(shù)調(diào)整模塊進(jìn)一步用于從所述抽象距離信息表中查找仿真結(jié)果對(duì)應(yīng)的抽象距離,依據(jù)所述抽象距離比較本周期仿真結(jié)果同上一周期的仿真結(jié)果,如果比較結(jié)果為本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則增大馬爾可夫模型中當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的邊的權(quán)重,并減少所述馬爾可夫模型中其他邊的權(quán)重以使馬爾可夫模型中一個(gè)頂點(diǎn)出發(fā)的邊中權(quán)重和為l,并啟動(dòng)所述驗(yàn)證結(jié)果上報(bào)模塊;否則,直接啟動(dòng)所述驗(yàn)證結(jié)果上報(bào)模塊。20.根據(jù)權(quán)利要求17所述的集成電路驗(yàn)證系統(tǒng),其特征在于,所述參數(shù)調(diào)整模塊進(jìn)一步用于從所述抽象距離信息表中查找仿真結(jié)果對(duì)應(yīng)的抽象距離,依據(jù)如下公式計(jì)算仿真結(jié)果在子抽象模型中的適應(yīng)度,fiti=Max「Difiti是仿真結(jié)果在每個(gè)子抽象模型中的適應(yīng)度值A(chǔ)為仿真結(jié)果在所述子抽象模型的抽象距離信息表中查找到的對(duì)應(yīng)的抽象距離,MaXi為所述子抽象模型的最大抽象距離值;按如下公式計(jì)算仿真結(jié)果的適應(yīng)度,<formula>formulaseeoriginaldocumentpage5</formula>,、為子抽象模型中包含的目標(biāo)狀態(tài)變量數(shù)目;Vt。w表示抽象模型的總的目標(biāo)狀態(tài)變量數(shù)目;NP表示子抽象模型的數(shù)量,F(xiàn)itness—value表示本周期仿真結(jié)果的適應(yīng)度值;比較本周期仿真結(jié)果對(duì)應(yīng)的適應(yīng)度同上一仿真周期的仿真結(jié)果對(duì)應(yīng)的適應(yīng)度,如果比較結(jié)果為本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則增大馬爾可夫模型中當(dāng)前仿真結(jié)果的激勵(lì)所對(duì)應(yīng)的邊的權(quán)重,并減少所述馬爾可夫模型中其他邊的權(quán)重以使馬爾可夫模型中一個(gè)頂點(diǎn)出發(fā)的邊中權(quán)重和為l,并啟動(dòng)所述驗(yàn)證結(jié)果上報(bào)模塊;否則,直接啟動(dòng)所述驗(yàn)證結(jié)果上報(bào)模塊。全文摘要本發(fā)明涉及集成電路驗(yàn)證方法及其系統(tǒng),方法包括步驟1,抽象引擎對(duì)待驗(yàn)證的集成電路進(jìn)行抽象,生成對(duì)應(yīng)的抽象模型,進(jìn)行形式化計(jì)算;步驟2,激勵(lì)生成引擎初始化根據(jù)待檢測(cè)的集成電路的規(guī)范建立的馬爾可夫模型;步驟3,激勵(lì)生成引擎由馬爾可夫模型生成激勵(lì),將激勵(lì)輸入仿真器,仿真器對(duì)待檢測(cè)的集成電路進(jìn)行仿真;步驟4,激勵(lì)生成引擎依據(jù)形式化信息比較本周期仿真結(jié)果和上周期仿真獲得的仿真結(jié)果,如果本周期仿真結(jié)果更接近目標(biāo)狀態(tài),則調(diào)整馬爾可夫模型中參數(shù);步驟5,如果待檢測(cè)的集成電路未達(dá)到目標(biāo)狀態(tài)并且仿真次數(shù)未超過預(yù)設(shè)次數(shù),則執(zhí)行步驟3;否則,終止仿真,并報(bào)告成功或者運(yùn)行超時(shí)。本發(fā)明能夠降低計(jì)算成本,提高檢測(cè)效率。文檔編號(hào)G06F17/50GK101794330SQ20091024417公開日2010年8月4日申請(qǐng)日期2009年12月30日優(yōu)先權(quán)日2009年12月30日發(fā)明者呂濤,張弢,李曉維申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所