欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

使用可達(dá)性過度逼近進(jìn)行驗(yàn)證的方法和系統(tǒng)的制作方法

文檔序號(hào):6650864閱讀:291來源:國知局
專利名稱:使用可達(dá)性過度逼近進(jìn)行驗(yàn)證的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及測試和驗(yàn)證,尤其涉及數(shù)字設(shè)計(jì)的驗(yàn)證。更特別的是,本發(fā)明涉及一種用于數(shù)字設(shè)計(jì)驗(yàn)證的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品,其包括驗(yàn)證(verify)設(shè)計(jì)符合預(yù)期的特性。
背景技術(shù)
隨著基于處理器的系統(tǒng)在人類活動(dòng)的每個(gè)方面的日益滲透,對(duì)處理器、專用集成電路(ASIC)開發(fā)以及生產(chǎn)沒有設(shè)計(jì)缺陷的系統(tǒng)的開發(fā)團(tuán)體的需求日益增長。包括微處理器、數(shù)字信號(hào)和其他特殊目的處理器以及ASIC的電路產(chǎn)品已經(jīng)與大批關(guān)鍵功能的性能密切相關(guān),并且微處理器與日常生活的重要任務(wù)相關(guān)提高了人們對(duì)無誤差的和無缺陷設(shè)計(jì)的期望。無論設(shè)計(jì)中的錯(cuò)誤是通過對(duì)人類生活的影響還是僅僅通過對(duì)經(jīng)濟(jì)利益方面的影響來衡量,電路產(chǎn)品的消費(fèi)者已失去了對(duì)設(shè)計(jì)錯(cuò)誤所產(chǎn)生的結(jié)果的容忍。消費(fèi)者將不會(huì)容忍例如在證券交易場所中、維持人的生命的醫(yī)療設(shè)備中或操控其交通工具的計(jì)算機(jī)中的計(jì)算錯(cuò)誤。所有的這些活動(dòng)代表了這樣的一些領(lǐng)域在這些領(lǐng)域中,對(duì)可靠電路結(jié)果的需求已上升為一個(gè)關(guān)鍵任務(wù)問題。
為了響應(yīng)對(duì)可靠、無誤差設(shè)計(jì)的日益增長的需求,處理器和ASIC設(shè)計(jì)以及開發(fā)團(tuán)隊(duì)已經(jīng)開發(fā)出用于測試和驗(yàn)證的嚴(yán)格(即使是難以置信的昂貴)的方法。功能硬件驗(yàn)證已經(jīng)成為用于驗(yàn)證諸如處理器芯片這種復(fù)雜設(shè)計(jì)的傳統(tǒng)方法。因?yàn)橛糜谠O(shè)計(jì)的功能硬件驗(yàn)證時(shí)間的增長與邏輯元件的數(shù)量有關(guān),所以復(fù)雜系統(tǒng)的功能硬件驗(yàn)證是現(xiàn)今最花費(fèi)時(shí)間的計(jì)算任務(wù)之一。因此,以很少漏掉設(shè)計(jì)中的錯(cuò)誤并減少開發(fā)時(shí)間作為目標(biāo),有效地使用功能硬件驗(yàn)證周期非常重要。
如上所述,功能硬件驗(yàn)證是一個(gè)計(jì)算上昂貴的過程;對(duì)于連續(xù)設(shè)計(jì)而言,功能硬件驗(yàn)證是一個(gè)完全PSPACE問題(通過算法的復(fù)雜性分析),因此一般需要與所驗(yàn)證設(shè)計(jì)的大小成指數(shù)關(guān)系的資源。許多現(xiàn)有技術(shù)的功能硬件驗(yàn)證證明算法依賴于可達(dá)性分析,它需要列舉出所測試設(shè)計(jì)的可達(dá)狀態(tài)以評(píng)定該設(shè)計(jì)是否與它的技術(shù)要求相符,不幸的是它是一個(gè)大小受限的過程。
可達(dá)性分析是一個(gè)強(qiáng)大的驗(yàn)證框架;它能夠確定設(shè)計(jì)是否滿足技術(shù)要求(即,如果設(shè)計(jì)的所有可達(dá)狀態(tài)都滿足被驗(yàn)證的特性,那么就完成了正確性的驗(yàn)證),也能夠確定設(shè)計(jì)是否不滿足其技術(shù)要求(如果設(shè)計(jì)的任一可達(dá)狀態(tài)不滿足被驗(yàn)證的特性)??蛇_(dá)性算法的操作是通過分配R_0作為所驗(yàn)證的設(shè)計(jì)的預(yù)定初始狀態(tài)集合,然后分配R_{i+1}(i逐漸增加)作為從R_I進(jìn)行一次設(shè)計(jì)轉(zhuǎn)換就可到達(dá)的所有狀態(tài)的集合。最后,R_{i+1}將為所有先前在R_0……R_i中遇到的狀態(tài)的一個(gè)子集,此后這個(gè)過程將終止。這個(gè)最終的可達(dá)狀態(tài)集合表示為R。為了部分地減輕某些用于計(jì)算可達(dá)狀態(tài)精確集合這一昂貴過程的計(jì)算費(fèi)用,已經(jīng)有許多“過度逼近”可達(dá)狀態(tài)集合的建議。例如,一些作者已經(jīng)建議使用“歸納的”(inductive)方法?,F(xiàn)有技術(shù)過度逼近方法的缺點(diǎn)是它們常常是不確定的,由于它們的過度逼近特性導(dǎo)致了“偽失效”(spurious failure)。
盡管在改進(jìn)可達(dá)性分析性能方面研究了幾十年,這種技術(shù)仍然局限于應(yīng)用于有幾百個(gè)或更少的狀態(tài)元件的設(shè)計(jì)中,并且還受到其他設(shè)計(jì)尺寸的阻礙。由于可達(dá)性分析的尺寸限制,已在過度逼近可達(dá)狀態(tài)集合以能夠簡化計(jì)算的方式上進(jìn)行了一些研究。例如,歸納證明從R_0作為自身不違反特性的所有狀態(tài)開始(在確保設(shè)計(jì)的實(shí)際初始狀態(tài)是這個(gè)已過度逼近的R_0的一個(gè)子集之后),然后計(jì)算從這個(gè)已過度逼近的初始狀態(tài)集合開始的過度逼近集合R’。這種方法的好處包括大幅度減少完成分析所需要的步驟數(shù)。這種歸納方法的主要缺點(diǎn)是它常常導(dǎo)致一個(gè)不確定的結(jié)果。特別是,如果過度逼近集合R’包含一些違反正被驗(yàn)證的特性的狀態(tài)S’,那么不能立即辨明這個(gè)違反是僅僅由初始狀態(tài)集合(即,S’是R’-R的一個(gè)子集)的過度逼近引起的,還是S’包含R中某些實(shí)際可達(dá)的狀態(tài)。前一種情況是所驗(yàn)證特性的偽失效。所需要的是利用功能硬件驗(yàn)證模型驗(yàn)證數(shù)字設(shè)計(jì)的方法,尤其是利用增強(qiáng)的過度逼近方法驗(yàn)證數(shù)字設(shè)計(jì)的方法。

發(fā)明內(nèi)容
本發(fā)明公開了一種用于驗(yàn)證設(shè)計(jì)符合所需特性的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。該方法包括接收設(shè)計(jì),所述設(shè)計(jì)的第一初始狀態(tài)或初始狀態(tài)集合,以及與所述設(shè)計(jì)相關(guān)的要驗(yàn)證的特性(property)。擴(kuò)展所述設(shè)計(jì)的第一初始狀態(tài)或初始狀態(tài)集合以創(chuàng)建所述第一初始狀態(tài)或初始狀態(tài)集合的超集,該超集包含從所述設(shè)計(jì)的所述第一初始狀態(tài)或初始狀態(tài)集合可達(dá)的所有狀態(tài)。合成所述超集以定義所述設(shè)計(jì)的第二初始狀態(tài)。通過將切割點(diǎn)插入到所述超集來過度逼近(overapproximate)所述設(shè)計(jì)的所述超集的應(yīng)用以獲得修改的超集,然后參考所述修改的超集驗(yàn)證所述特性。


在所附權(quán)利要求書中闡明了認(rèn)為是新穎的本發(fā)明的特征。然而,結(jié)合附圖,通過參考下面的示例性實(shí)施例的詳細(xì)描述將更好地理解發(fā)明本身、優(yōu)選的使用模式以及其進(jìn)一步的目標(biāo)和優(yōu)點(diǎn)。其中圖1根據(jù)本發(fā)明的優(yōu)選實(shí)施例,描述了其中裝備有用于通過有效使用過度逼近來驗(yàn)證設(shè)計(jì)符合所需特性的計(jì)算機(jī)程序產(chǎn)品的數(shù)據(jù)處理系統(tǒng)的框圖。
圖2是根據(jù)本發(fā)明的優(yōu)選實(shí)施例用于有效使用過度逼近來驗(yàn)證設(shè)計(jì)符合所需特性的過程的高級(jí)流程圖。
具體實(shí)施例方式
本發(fā)明通過提供一種通過有效使用過度逼近來驗(yàn)證設(shè)計(jì)符合所需特性的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品,從而減輕了功能硬件驗(yàn)證周期中的指數(shù)復(fù)雜性和相關(guān)資源消耗的問題。本發(fā)明通過安全地過度逼近驗(yàn)證中的設(shè)計(jì)的可達(dá)狀態(tài)集合,能夠比傳統(tǒng)技術(shù)更有效地管理可用資源。本發(fā)明考慮到了驗(yàn)證算法的更高的可縮放性,同時(shí)避免了現(xiàn)有過度逼近技術(shù)中經(jīng)常出現(xiàn)的偽失效問題。本發(fā)明還減小了所驗(yàn)證的設(shè)計(jì)的尺寸(這加快了所有形式的分析),并通過簡化的初始狀態(tài)表示和用于枚舉過度逼近過程中所有可達(dá)狀態(tài)所需的較少量的圖像計(jì)算而增強(qiáng)了可到達(dá)性分析。
現(xiàn)在參考附圖,尤其是參考圖1,圖1根據(jù)本發(fā)明的優(yōu)選實(shí)施例,描述了其中裝備有用于通過有效使用過度逼近來驗(yàn)證設(shè)計(jì)符合所需特性的計(jì)算機(jī)程序產(chǎn)品的數(shù)據(jù)處理系統(tǒng)的框圖。數(shù)據(jù)處理系統(tǒng)100包含處理存儲(chǔ)器單元(例如,RAM 102)和處理器104。數(shù)據(jù)處理系統(tǒng)100還包括諸如硬盤驅(qū)動(dòng)器或其他直接訪問存儲(chǔ)裝置的非易失存儲(chǔ)器106。輸入/輸出(I/O)控制器108通過諸如網(wǎng)絡(luò)電纜112的有線或無線鏈接提供到網(wǎng)絡(luò)110的連接。I/O控制器108也通過諸如電纜或射頻連接的有線或無線鏈接116連接到諸如鍵盤、顯示設(shè)備、鼠標(biāo)或打印機(jī)這樣的用戶I/O裝置114。系統(tǒng)內(nèi)部連接118連接處理器104、RAM 102、存儲(chǔ)器106和I/O控制器108。
在RAM 102中,當(dāng)根據(jù)本發(fā)明的優(yōu)選實(shí)施例操作時(shí),數(shù)據(jù)處理系統(tǒng)100存儲(chǔ)了幾項(xiàng)數(shù)據(jù)和指令。這幾項(xiàng)包括設(shè)計(jì)(D)120、用于與邏輯驗(yàn)證工具124交互的輸出表格122,以及二進(jìn)制決策圖(binarydecision diagramBDD)生成器(builder)126。其他應(yīng)用128和邏輯驗(yàn)證工具124通過操作系統(tǒng)130與處理器104、RAM 102、I/O控制器108以及存儲(chǔ)器106連接。數(shù)據(jù)處理技術(shù)領(lǐng)域的技術(shù)人員將很快認(rèn)識(shí)到,在不偏離本發(fā)明的范圍的情況下,可以添加數(shù)據(jù)處理系統(tǒng)100的附加組件到所顯示的那些組件或替代所顯示的那些組件。
在執(zhí)行本發(fā)明的過程中,處理器104執(zhí)行來自于程序(通常存儲(chǔ)在RAM 102中)的指令。在本發(fā)明的優(yōu)選實(shí)施例中,處理器104執(zhí)行邏輯驗(yàn)證工具124。結(jié)合設(shè)計(jì)(D)120所包含的電路說明書上的二進(jìn)制決策圖生成器126的操作,邏輯驗(yàn)證工具124使用過度逼近有效地驗(yàn)證設(shè)計(jì)(D)120是否符合所需特性。一般來講,邏輯驗(yàn)證工具124包含用于預(yù)測硬件的邏輯建模項(xiàng)的行為的基于規(guī)則的指令。邏輯驗(yàn)證工具124結(jié)合設(shè)計(jì)(D)120以及來自二進(jìn)制決策圖生成器126的相關(guān)二進(jìn)制決策圖(BDD)131,使用包含在其自身的指令內(nèi)的一系列規(guī)則,其中所述二進(jìn)制決策圖生成器126將設(shè)計(jì)(D)120中的結(jié)構(gòu)表示轉(zhuǎn)換為BDD 131中的功能規(guī)范(canonical)形式。
設(shè)計(jì)(D)120可以構(gòu)建許多不同種類的邏輯硬件(例如微處理器和專用集成電路(ASIC))的模型。設(shè)計(jì)(D)120在結(jié)構(gòu)上被表示為一個(gè)連線表(netlist),包含一個(gè)定向圖表,圖表中每個(gè)節(jié)點(diǎn)都是某一類型的門,例如與門、反向器、主輸入(或隨機(jī)門)或一個(gè)狀態(tài)元件。BDD生成器126將設(shè)計(jì)(D)120轉(zhuǎn)換為BDD 131,以和邏輯驗(yàn)證工具124一起使用。設(shè)計(jì)(D)120的連線表是以語義跟蹤(semantic trace)來定義的,其隨著時(shí)間的過去將門映射為BDD 131中的0,1值。設(shè)計(jì)(D)120中的每一個(gè)狀態(tài)元件都與下一狀態(tài)函數(shù)(定義在未來一個(gè)時(shí)間步長中將取什么值)以及初始值(定義在0時(shí)刻取什么值)有關(guān),下一狀態(tài)函數(shù)和初始值都表示為一個(gè)門。
邏輯驗(yàn)證工具124將結(jié)果記錄到輸出表格122。邏輯驗(yàn)證工具124也可以向用戶I/O 114或應(yīng)用128報(bào)告輸出表格122的內(nèi)容或設(shè)計(jì)(D)120狀態(tài)的所選指示器。另外,邏輯驗(yàn)證工具124、操作系統(tǒng)130、設(shè)計(jì)(D)120以及輸出表格122有時(shí)可以全部或部分地存儲(chǔ)在存儲(chǔ)器106中。
存儲(chǔ)在RAM 102中的附加數(shù)據(jù)項(xiàng)包括第一初始狀態(tài)(I)132、特性(P)134、可達(dá)狀態(tài)(R)136、第二初始狀態(tài)(I’)138、切割點(diǎn)(cutpoint)140、插入結(jié)果(I”)141和修改的超集(D+I”)142。第一初始狀態(tài)(I)132包含用于驗(yàn)證的設(shè)計(jì)(D)120的初始狀態(tài)或初始狀態(tài)集合的說明。特性(P)134包含將在設(shè)計(jì)(D)120上驗(yàn)證的行為??蛇_(dá)狀態(tài)(R)136包含能夠在設(shè)計(jì)(D)120中實(shí)現(xiàn)的狀態(tài)集合。第二初始狀態(tài)(I’)138包含以可達(dá)狀態(tài)(R)136為基礎(chǔ)計(jì)算的設(shè)計(jì)(D)120的一個(gè)新的初始狀態(tài)集合。切割點(diǎn)140包含一組用于插入第二初始狀態(tài)(I’)138以便創(chuàng)建插入結(jié)果(I”)141的隨機(jī)門插入指令,修改的超集(D+I”)142包含對(duì)于設(shè)計(jì)(D)120的過度逼近的應(yīng)用插入結(jié)果(I”)141。
本發(fā)明的方法涉及一種用于以不會(huì)致使偽失效的方式“安全地”過度逼近第一初始狀態(tài)(I)132的新穎方法。本發(fā)明的方法廣泛地包括邏輯驗(yàn)證工具124,用于執(zhí)行結(jié)構(gòu)符號(hào)模擬以將第一初始狀態(tài)(I)132中的初始狀態(tài)集合注入到設(shè)計(jì)(D)120中(第一初始狀態(tài)(I)132中的初始狀態(tài)集合過低逼近(underapproximate)可達(dá)狀態(tài)(R)136中的設(shè)計(jì)(D)120可達(dá)狀態(tài)集合),然后應(yīng)用切割點(diǎn)140的插入來過度逼近那些初始狀態(tài),作為已過度逼近的應(yīng)用插入結(jié)果(I”)141。邏輯驗(yàn)證工具124利用類似于“局部化”(localization)的語義分析方法來注入這些切割點(diǎn)140,以致從分析中盡可能多地消除初始狀態(tài)邏輯(由此在已過度逼近的應(yīng)用插入結(jié)果(I”)141中產(chǎn)生盡可能大的過度逼近),同時(shí)努力確保已過度逼近的應(yīng)用插入結(jié)果(I”)141中的結(jié)果過度逼近不會(huì)導(dǎo)致偽失效這種在諸如歸納法的現(xiàn)有過度逼近技術(shù)中頻繁出現(xiàn)的缺陷。
現(xiàn)在轉(zhuǎn)向圖2,圖2給出了一個(gè)高級(jí)邏輯流程圖,其根據(jù)本發(fā)明的優(yōu)選實(shí)施例示意了使用過度逼近有效驗(yàn)證設(shè)計(jì)符合所需特性的過程。該過程開始于步驟200。下一個(gè)步驟是201,它描述了接收設(shè)計(jì)(D)120、第一初始狀態(tài)(I)132和特性(P)134的邏輯驗(yàn)證工具124。然后該過程進(jìn)入到步驟202。在步驟202,邏輯驗(yàn)證工具124通過執(zhí)行來自第一初始狀態(tài)(I)132的狀態(tài)空間遍歷的任何形式的過低逼近,擴(kuò)展第一初始狀態(tài)(I)132中的初始狀態(tài)集合,以獲得狀態(tài)集合S。僅需要S是指定第一初始狀態(tài)(I)132的超集(包括附加狀態(tài),或完全相同的狀態(tài)集合),并且S是可達(dá)狀態(tài)(R)136的子集。它的實(shí)例算法包括基于圖表的二進(jìn)制決策或結(jié)構(gòu)符號(hào)模擬,部分或完全的可達(dá)性分析,以及‘再定時(shí)’(在此通過符號(hào)模擬計(jì)算再定時(shí)的初始值)。應(yīng)該指出,第一初始狀態(tài)(I)132的指定集合可能自身包含多個(gè)狀態(tài),這將允許某些實(shí)施例簡化或省略步驟202。
還應(yīng)注意的是,步驟202中執(zhí)行的分析經(jīng)常用在整個(gè)驗(yàn)證流的其他部分;這個(gè)步驟可能事實(shí)上不需要付出專門的努力,并經(jīng)常僅僅需要重新使用已執(zhí)行過的驗(yàn)證工作。例如,在基于多引擎的邏輯驗(yàn)證工具124中,步驟202的工作可能是“先前運(yùn)行的”引擎所付出的努力的副產(chǎn)品。
接著,該過程執(zhí)行到步驟204,步驟204舉例說明了邏輯驗(yàn)證工具124將可達(dá)狀態(tài)(R)136合成到設(shè)計(jì)(D)120的第二初始狀態(tài)(I’)138中。第二初始狀態(tài)(I’)138是第一初始狀態(tài)(I)132的超集以及可達(dá)狀態(tài)(R)136的子集。如果在步驟202中擴(kuò)大了初始狀態(tài)(I)132,步驟208可能包括將擴(kuò)大的第二初始狀態(tài)(I’)138合成到一個(gè)連線表中并更新連線表狀態(tài)元件的初始值映射以便反映這個(gè)更新的集合,從而創(chuàng)建一個(gè)修改了的連線表。如果第二初始狀態(tài)(I’)138是通過結(jié)構(gòu)符號(hào)模擬獲得的,那么本領(lǐng)域的技術(shù)人員將會(huì)認(rèn)識(shí)到這個(gè)映射是微不足道的,并且它僅僅需要將狀態(tài)元件的初始值映射更新到結(jié)構(gòu)符號(hào)模擬期間所獲得的門。否則,邏輯驗(yàn)證工具124可能使用現(xiàn)有的技術(shù)合成第二初始狀態(tài)(I’)138(例如,如果狀態(tài)集合由BDD 131表示,那么邏輯驗(yàn)證工具124可以通過在參數(shù)的隨機(jī)變量上使用直接多路復(fù)用器表示,以“允許”不同路線通過BDD節(jié)點(diǎn),然后將初始值映射更新到適當(dāng)?shù)暮铣砷T,來將狀態(tài)集合合成為一個(gè)連線表)。此外,在基于多引擎的邏輯驗(yàn)證工具124中,這個(gè)編碼經(jīng)常是‘先前運(yùn)行的’引擎所付出的努力的副產(chǎn)品。
接著,該過程執(zhí)行到步驟206。在步驟206,通過注入切割點(diǎn)140到第二初始狀態(tài)(I’)138以產(chǎn)生插入結(jié)果(I”)141以及通過組合設(shè)計(jì)(D)120和插入結(jié)果(I”)141,邏輯驗(yàn)證工具124過度逼近設(shè)計(jì)(D)120與第二初始狀態(tài)(I’)138的組合以創(chuàng)建修改的超集(D+I”)142。切割點(diǎn)插入是指以隨機(jī)門取代連線表中的門的過程。經(jīng)切割點(diǎn)插入修改的設(shè)計(jì)稱為“已過度逼近的”設(shè)計(jì),因?yàn)樗梢浴澳M”原始的設(shè)計(jì)-隨機(jī)門可以展示出其所取代的門可展示的任何行為,但是反過來不一定正確。該過程接著進(jìn)行到步驟208,該步驟描述了邏輯驗(yàn)證工具124在修改的超集(D+I”)142上驗(yàn)證特性(P)134。
該過程接著執(zhí)行到步驟210。在步驟210,邏輯驗(yàn)證工具124確定設(shè)計(jì)(D)120上的特性(P)134是否已經(jīng)被證明是正確的,或者在步驟208中是否已經(jīng)通過嘗試驗(yàn)證設(shè)計(jì)(D)120上的特性(P)134而獲得了它的一個(gè)有效反例。如果設(shè)計(jì)(D)120上的特性(P)134已經(jīng)被證明是正確的,或者在步驟208中通過嘗試驗(yàn)證設(shè)計(jì)(D)120上的特性(P)134已經(jīng)獲得了設(shè)計(jì)(D)120上的特性(P)134的一個(gè)有效反例,那么該過程移動(dòng)到步驟212。在步驟212,邏輯驗(yàn)證工具124將步驟208的結(jié)果記錄到輸出表格122,這表明已相對(duì)于設(shè)計(jì)(D)120上的特性(P)134完成了驗(yàn)證。該過程接著在步驟214結(jié)束。
在步驟210,如果設(shè)計(jì)(D)120上的特性(P)134沒有被證明是正確的并且在步驟208中沒有通過嘗試驗(yàn)證設(shè)計(jì)(D)120上的特性(P)134而獲得設(shè)計(jì)(D)120上的特性(P)134的一個(gè)有效反例,那么該過程移動(dòng)到步驟216。步驟216舉例說明了邏輯驗(yàn)證工具124確定是否在步驟208中通過嘗試驗(yàn)證設(shè)計(jì)(D)120上的特性(P)134而獲得了設(shè)計(jì)(D)120上的特性(P)134的一個(gè)偽反例。如果邏輯驗(yàn)證工具124確定在步驟208中通過嘗試驗(yàn)證設(shè)計(jì)(D)120上的特性(P)134時(shí)沒有獲得設(shè)計(jì)(D)120上的特性(P)134的一個(gè)偽反例,那么過程接下來移動(dòng)到步驟220,該步驟描述了邏輯驗(yàn)證工具124用插入結(jié)果(I”)141的內(nèi)容取代第一初始狀態(tài)(I)132的內(nèi)容,為步驟202-210的過程的迭代重復(fù)做準(zhǔn)備。然后該過程轉(zhuǎn)向步驟202,該步驟已在上面描述了。
如果邏輯驗(yàn)證工具124確定在步驟208中通過嘗試驗(yàn)證設(shè)計(jì)(D)120上的特性(P)134已經(jīng)獲得了設(shè)計(jì)(D)120上的特性(P)134的一個(gè)偽反例,那么處理過程接下來移動(dòng)到步驟218,該步驟舉例說明了邏輯驗(yàn)證工具124精煉切割點(diǎn)140,以響應(yīng)步驟206中的切割點(diǎn)插入產(chǎn)生了太過粗略的過度逼近。然后過程轉(zhuǎn)向步驟206,該步驟已在上面描述了。
在一個(gè)實(shí)施例中,邏輯驗(yàn)證工具124可以使用“局部化精煉”方案以防止偽失效。邏輯驗(yàn)證工具124將首先通過在每個(gè)門插入切割點(diǎn)140,大概地過度逼近初始狀態(tài)集合,其中每個(gè)門被映射作為初始狀態(tài)(I)132中的狀態(tài)變量的初始狀態(tài)。然后,邏輯驗(yàn)證工具124執(zhí)行低成本的過低逼近分析(例如隨機(jī)模擬,或者SAT或基于BDD的符號(hào)模擬)以發(fā)現(xiàn)是否會(huì)發(fā)生任何的偽失效。應(yīng)指出,過低逼近算法相比可達(dá)性分析(即,完全-NP相對(duì)完全-PSPACE的關(guān)系)具有較低的復(fù)雜性。如果存在偽失效,邏輯驗(yàn)證工具124分析導(dǎo)致那些偽失效(例如,和失效關(guān)聯(lián)的語義跟蹤)的起因,并且通過移去相應(yīng)的表示原因的(causal)切割點(diǎn)140和取而代之地將切割點(diǎn)140注入到早期切割點(diǎn)140的扇入(fan-in)中的門中,來試圖精煉早期的過度逼近。這個(gè)過程可根據(jù)需要重復(fù)多次,以便消除所有可疑的“偽失效”。因此,可以對(duì)去除了偽失效的“安全地”過度逼近的設(shè)計(jì)應(yīng)用諸如可達(dá)性分析的證明算法。
正如所述的,優(yōu)選實(shí)施例的方法通過過度逼近它的初始狀態(tài)表示來將設(shè)計(jì)(D)120轉(zhuǎn)換為一個(gè)簡化的形式。然后邏輯驗(yàn)證工具124可以使用簡化的設(shè)計(jì)來導(dǎo)入到其他的過程,例如導(dǎo)入到應(yīng)用128,其將試圖解決所產(chǎn)生的問題。另外,可以在迭代過程中應(yīng)用優(yōu)選實(shí)施例的方法來產(chǎn)生遞增的簡化。在基于多引擎的邏輯驗(yàn)證工具124工具集中,邏輯驗(yàn)證工具124還可以對(duì)所產(chǎn)生的簡化問題應(yīng)用任何一種附加轉(zhuǎn)換。
本發(fā)明帶來的好處多種多樣。首先,切割點(diǎn)插入減小了所驗(yàn)證特性的影響范圍內(nèi)門的數(shù)量,這樣就增強(qiáng)了所有的后續(xù)分析。其次,因?yàn)楸緝?yōu)選實(shí)施例的特定切割點(diǎn)插入方案過度逼近初始狀態(tài)集合,所以可達(dá)性分析算法的深度趨向于減少,反過來減少了資源的整體使用。另外,本優(yōu)選實(shí)施例中的特定過度逼近形式通??赏ㄟ^使BDD更加對(duì)稱、更加緊湊和更易于操作,而增強(qiáng)基于BDD的分析。最后一條優(yōu)點(diǎn)說明了基于BDD的實(shí)現(xiàn)方法可以從本發(fā)明特別獲得明確的好處。第三,本優(yōu)選實(shí)施例的過度逼近方法唯一依賴于過度逼近設(shè)計(jì)(D)120的連線表的初始狀態(tài)(I)132。
如上所述,通過安全地過度逼近要驗(yàn)證的設(shè)計(jì)的可達(dá)狀態(tài)集合,本發(fā)明比傳統(tǒng)技術(shù)能更有效地管理可利用資源。本發(fā)明促進(jìn)了證明算法的更高等級(jí)的可縮放性,同時(shí)避免了現(xiàn)有技術(shù)過度逼近方法中經(jīng)常出現(xiàn)的偽失效問題。本發(fā)明減小了要驗(yàn)證的設(shè)計(jì)的尺寸(這加快了所有形式的分析),并通過簡化的初始狀態(tài)表示和用于枚舉過度逼近過程中所有可達(dá)狀態(tài)所需的較少量的圖像計(jì)算,增強(qiáng)了可到達(dá)性分析。
盡管如參考優(yōu)選實(shí)施例的描述已經(jīng)特別示出了本發(fā)明,本領(lǐng)域的技術(shù)人員將理解,可在形式和細(xì)節(jié)上對(duì)其做各種改變,而不偏離本發(fā)明的精神和范圍。同樣重要的是應(yīng)注意,盡管已經(jīng)在全功能計(jì)算機(jī)系統(tǒng)的上下文中描述了本發(fā)明,本領(lǐng)域的技術(shù)人員將理解的是,本發(fā)明的機(jī)制能夠作為各種形式的程序產(chǎn)品而發(fā)布,不管攜帶用于實(shí)際執(zhí)行發(fā)布的介質(zhì)的信號(hào)的特殊類型如何,本發(fā)明都一樣適用。攜帶介質(zhì)的信號(hào)的例子包括但不局限于諸如軟盤或CD ROM的可記錄類型介質(zhì)以及諸如模擬或數(shù)字通信鏈路的傳輸類型介質(zhì)。
權(quán)利要求
1.一種驗(yàn)證設(shè)計(jì)符合所需特性的方法,所述方法包括接收設(shè)計(jì)、所述設(shè)計(jì)的第一初始狀態(tài)以及與所述設(shè)計(jì)相關(guān)的要驗(yàn)證的特性;擴(kuò)展所述設(shè)計(jì)的所述第一初始狀態(tài)以創(chuàng)建所述第一初始狀態(tài)的超集,該超集包含從所述設(shè)計(jì)的所述第一初始狀態(tài)可達(dá)的一個(gè)或多個(gè)狀態(tài);合成所述超集以定義所述設(shè)計(jì)的第二初始狀態(tài);通過將切割點(diǎn)插入到所述超集,來過度逼近針對(duì)所述設(shè)計(jì)的所述超集和所述第二初始狀態(tài)的應(yīng)用,以獲得修改的超集;以及參考所述修改的超集驗(yàn)證所述特性。
2.權(quán)利要求1的方法,其中所述接收設(shè)計(jì)的步驟還包括接收所述設(shè)計(jì)的結(jié)構(gòu)表示。
3.權(quán)利要求1的方法,還包括確定已經(jīng)獲得了反例。
4.權(quán)利要求3的方法,還包括確定所述反例是有效的。
5.權(quán)利要求3的方法,還包括確定所述反例是偽反例。
6.權(quán)利要求5的方法,還包括修改所述切割點(diǎn)插入的切割點(diǎn),以生成修正的切割點(diǎn)集合。
7.權(quán)利要求6的方法,還包括使用所述修正的切割點(diǎn)集合迭代所述切割點(diǎn)插入。
8.用于驗(yàn)證設(shè)計(jì)符合所需特性的系統(tǒng),所述系統(tǒng)包括用于接收設(shè)計(jì)、所述設(shè)計(jì)的第一初始狀態(tài)以及與所述設(shè)計(jì)相關(guān)的要驗(yàn)證的特性的裝置;用于擴(kuò)展所述設(shè)計(jì)的所述第一初始狀態(tài)以創(chuàng)建所述第一初始狀態(tài)的超集的裝置,該超集包含從所述設(shè)計(jì)的所述第一初始狀態(tài)可達(dá)的一個(gè)或多個(gè)狀態(tài);用于合成所述超集以定義所述設(shè)計(jì)的第二初始狀態(tài)的裝置;用于通過將切割點(diǎn)插入到所述超集,來過度逼近針對(duì)所述設(shè)計(jì)的所述超集和所述第二初始狀態(tài)的應(yīng)用,以獲得修改的超集的裝置;以及用于參考所述修改的超集驗(yàn)證所述特性的裝置。
9.權(quán)利要求8的系統(tǒng),其中所述用于接收設(shè)計(jì)的裝置還包括用于接收所述設(shè)計(jì)的結(jié)構(gòu)表示的裝置。
10.權(quán)利要求8的系統(tǒng),還包括用于確定已經(jīng)獲得反例的裝置。
11.權(quán)利要求10的系統(tǒng),還包括用于確定所述反例是有效的裝置。
12.權(quán)利要求10的系統(tǒng),還包括用于確定所述反例是偽反例的裝置。
13.權(quán)利要求12的系統(tǒng),還包括用于修正所述切割點(diǎn)插入的切割點(diǎn)以生成修正的切割點(diǎn)集合的裝置。
14.權(quán)利要求13的系統(tǒng),還包括用于使用所述修正的切割點(diǎn)集合迭代所述切割點(diǎn)插入的裝置。
15.一種驗(yàn)證設(shè)計(jì)符合所需特性的計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀介質(zhì);計(jì)算機(jī)可讀介質(zhì)上用于接收設(shè)計(jì)、所述設(shè)計(jì)的第一初始狀態(tài)以及與所述設(shè)計(jì)相關(guān)的要驗(yàn)證的特性的指令;計(jì)算機(jī)可讀介質(zhì)上用于擴(kuò)展所述設(shè)計(jì)的所述第一初始狀態(tài)以創(chuàng)建所述第一初始狀態(tài)的超集的指令,該超集包含從所述設(shè)計(jì)的所述第一初始狀態(tài)可達(dá)的一個(gè)或多個(gè)狀態(tài);計(jì)算機(jī)可讀介質(zhì)上用于合成所述超集以定義所述設(shè)計(jì)的第二初始狀態(tài)的指令;計(jì)算機(jī)可讀介質(zhì)上用于通過將切割點(diǎn)插入到所述超集,來過度逼近針對(duì)所述設(shè)計(jì)的所述超集和所述第二初始狀態(tài)的應(yīng)用,以獲得修改的超集的指令;計(jì)算機(jī)可讀介質(zhì)上通過參考所述修改的超集驗(yàn)證所述特性的指令。
16.權(quán)利要求15的計(jì)算機(jī)程序產(chǎn)品,其中所述用于接收設(shè)計(jì)的指令還包括用于接收所述設(shè)計(jì)的結(jié)構(gòu)表示的指令。
17.權(quán)利要求15的計(jì)算機(jī)程序產(chǎn)品,還包括用于確定已經(jīng)獲得反例的指令。
18.權(quán)利要求17的計(jì)算機(jī)程序產(chǎn)品,還包括用于確定所述反例是有效的指令。
19.權(quán)利要求17的計(jì)算機(jī)程序產(chǎn)品,還包括用于確定所述反例是偽反例的指令。
20.權(quán)利要求19的計(jì)算機(jī)程序產(chǎn)品,還包括用于修正所述切割點(diǎn)插入的切割點(diǎn)以生成一個(gè)修正的切割點(diǎn)集合的指令。
全文摘要
本發(fā)明公開了一種用于驗(yàn)證設(shè)計(jì)符合所需特性的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。該方法包括接收設(shè)計(jì)、所述設(shè)計(jì)的第一初始狀態(tài)以及與所述設(shè)計(jì)相關(guān)的要驗(yàn)證的特性。擴(kuò)展所述設(shè)計(jì)的第一初始狀態(tài)以創(chuàng)建所述第一初始狀態(tài)的超集,該超集包含從所述設(shè)計(jì)的所述第一初始狀態(tài)可達(dá)的一個(gè)或多個(gè)狀態(tài)。合成超集以定義所述設(shè)計(jì)的第二初始狀態(tài)。通過將切割點(diǎn)插入到所述超集來過度逼近針對(duì)所述設(shè)計(jì)的所述超集的應(yīng)用,以獲得修改的超集,然后參考所述修改的超集驗(yàn)證所述特性。
文檔編號(hào)G06F17/50GK1828612SQ20051012468
公開日2006年9月6日 申請日期2005年11月14日 優(yōu)先權(quán)日2004年12月14日
發(fā)明者賈森·R.·伯姆加特納, 哈里·默尼, 維里施·帕魯斯, 徐佳肇 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
遵义县| 民权县| 商水县| 日土县| 西峡县| 仲巴县| 昆山市| 山阳县| 万州区| 香河县| 黄石市| 堆龙德庆县| 南涧| 昔阳县| 吴江市| 浙江省| 盱眙县| 霍州市| 马鞍山市| 兴山县| 柘荣县| 五大连池市| 大英县| 双鸭山市| 陵川县| 溆浦县| 苏州市| 杭州市| 长兴县| 繁峙县| 乌鲁木齐县| 团风县| 福清市| 玛纳斯县| 贺兰县| 杭锦后旗| 竹北市| 房产| 裕民县| 洪雅县| 定远县|