專利名稱:一種ic功能驗(yàn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及大規(guī)模數(shù)字集成電路設(shè)計(jì)與驗(yàn)證領(lǐng)域,特別涉及一種大規(guī)模集成電路 功能驗(yàn)證的方法。
背景技術(shù):
目前,IC功能驗(yàn)證方法包括靜態(tài)驗(yàn)證和動(dòng)態(tài)驗(yàn)證兩大類。靜態(tài)驗(yàn)證主要指形式驗(yàn)證,它是通過(guò)數(shù)學(xué)的方法手段證明設(shè)計(jì)目標(biāo)和待測(cè)模塊之 間的等價(jià)性。它不用灌入激勵(lì),可以給出完整的覆蓋率,但是它并不能取代模擬仿真,因?yàn)?在當(dāng)前技術(shù)條件下,它只能應(yīng)用處理于規(guī)模較小的設(shè)計(jì)。動(dòng)態(tài)驗(yàn)證是指基于模擬仿真的驗(yàn)證方法,現(xiàn)在采用的主要方法有兩種向量窮舉 法和隨機(jī)向量生成法。向量窮舉法示例如圖1,它是通過(guò)往端口灌入所有可能的激勵(lì),在驗(yàn) 證向量的全集上檢查待測(cè)模塊的正確性。這種方法理論上可以達(dá)到100%的覆蓋率,但由于 向量全集的元素?cái)?shù)目隨著輸入端口的個(gè)數(shù)呈指數(shù)規(guī)律增長(zhǎng),這樣在待測(cè)設(shè)計(jì)達(dá)到一定規(guī)模 的時(shí)候,窮舉算法會(huì)因?yàn)橄蛄繑?shù)目的急劇增加而引起內(nèi)存空間的爆炸,對(duì)于現(xiàn)在動(dòng)輒千萬(wàn) 門(mén)級(jí)的集成電路來(lái)講,窮舉算法就變得相當(dāng)?shù)夭滑F(xiàn)實(shí)。而隨機(jī)向量生成法示例如圖2,它是 由隨機(jī)向量生成器(Random Vector Generator)根據(jù)一定的算法,隨機(jī)產(chǎn)生驗(yàn)證向量,灌入 待測(cè)模塊的方法。理論上,在數(shù)目很大的時(shí)候,驗(yàn)證向量服從統(tǒng)計(jì)規(guī)律分布,它收斂于檢驗(yàn) 待測(cè)模塊所有功能的驗(yàn)證向量的全集。但是,這種方法由于一方面取決于隨機(jī)向量生成算 法的好壞,另一方面對(duì)驗(yàn)證向量的數(shù)目也有一定要求,比如,不能造成內(nèi)存空間爆炸等,所 以可達(dá)到的功能覆蓋率就常不能得到有效的保證,并且也沒(méi)有辦法去衡量已經(jīng)產(chǎn)生的向量 所達(dá)到的功能覆蓋情況。
發(fā)明內(nèi)容
針對(duì)目前IC驗(yàn)證領(lǐng)域內(nèi)對(duì)于保證、提高功能覆蓋率的客觀要求,本發(fā)明提出了一 種新型的IC功能驗(yàn)證流生成方法。它基于待測(cè)模塊的設(shè)計(jì)規(guī)范中反映待測(cè)模塊外部特 性的接口時(shí)序圖以及反映其內(nèi)部狀態(tài)的內(nèi)部寄存器的配置信息,建立有限狀態(tài)機(jī)(Finite State Machine)模型,然后遍歷有限狀態(tài)機(jī)中的狀態(tài),同時(shí)通過(guò)對(duì)用戶較關(guān)心的有向環(huán)路 和關(guān)鍵路徑增加循環(huán)參數(shù)設(shè)置,從而實(shí)現(xiàn)了較高的功能覆蓋率。最終的目的在于以較少的 驗(yàn)證向量數(shù)目獲取較多的功能驗(yàn)證覆蓋,從而提高驗(yàn)證工作效率,降低驗(yàn)證成本,增加設(shè)計(jì) 可靠性,縮短產(chǎn)品上市時(shí)間。圖3是我們實(shí)施技術(shù)路線的架構(gòu)框圖。它是以覆蓋率為導(dǎo)向,以事件(Event)作 為驅(qū)動(dòng),約束驗(yàn)證激勵(lì)的生成方法。驗(yàn)證向量流將對(duì)應(yīng)于待測(cè)模塊的驗(yàn)證場(chǎng)景,即用事務(wù) (Transaction)的概念來(lái)提升驗(yàn)證工作的抽象層次,通過(guò)將信號(hào)級(jí)別(Signal Level)的驗(yàn) 證工作提升到事務(wù)級(jí)別(Transaction Level),從更高的層次分析驗(yàn)證向量的產(chǎn)生問(wèn)題,可 以更全面有效地處理驗(yàn)證過(guò)程中面對(duì)的結(jié)構(gòu)化資源,從而提高了驗(yàn)證的性能。本發(fā)明為實(shí)現(xiàn)其目的而采用的技術(shù)方案是一種IC功能驗(yàn)證方法,其特征在于包括以下步驟步驟A 把待測(cè)設(shè)計(jì)內(nèi)部寄存器配置信息和外部接口時(shí)序統(tǒng)一成一個(gè)歸一化的時(shí) 序圖;步驟B 利用抽象時(shí)序圖去描述由步驟A得到的歸一化時(shí)序圖;步驟C 將抽象時(shí)序圖轉(zhuǎn)換為可操作的有限狀態(tài)機(jī)結(jié)構(gòu);步驟D 遍歷有限狀態(tài)機(jī)產(chǎn)生事件序列;步驟E 把事件序列對(duì)應(yīng)到具體的向量組。進(jìn)一步的,上述的一種IC功能驗(yàn)證方法中所述的步驟A中,所述的待測(cè)設(shè)計(jì)內(nèi)部 寄存器配置信息是按下面步驟完成與外部接口時(shí)序統(tǒng)一成一個(gè)歸一化時(shí)序圖的步驟Al 在外部接口時(shí)序中額外引入一組與所述待測(cè)設(shè)計(jì)內(nèi)部寄存器位長(zhǎng)相等, 并且以內(nèi)部寄存器名稱命名的數(shù)據(jù)線,而內(nèi)部寄存器的配置即為該組數(shù)據(jù)線的取值;由此 引入待測(cè)模塊的若干工作模式均作為數(shù)據(jù)線取值后的當(dāng)前或者下一個(gè)狀態(tài),得到了新的涵 蓋待測(cè)模塊內(nèi)、外部信息的時(shí)序圖。進(jìn)一步的,上述的一種IC功能驗(yàn)證方法中所述的步驟B中所述的抽象時(shí)序圖 對(duì)于同步時(shí)序來(lái)說(shuō),是指以一拍或者多拍內(nèi)各信號(hào)線的一個(gè)或多個(gè)的值來(lái)共同描述一個(gè)事 件的一種時(shí)序圖;而對(duì)于異步時(shí)序,則是依從事件間的相對(duì)關(guān)系,依舊是采用各信號(hào)線的一 個(gè)或多個(gè)的值,來(lái)共同描述同一個(gè)事件的時(shí)序圖。進(jìn)一步的,上述的一種IC功能驗(yàn)證方法中在步驟C中,有限狀態(tài)機(jī)中有向圖的存 儲(chǔ)為鄰接表表示法。進(jìn)一步的,上述的一種IC功能驗(yàn)證方法中在步驟D中產(chǎn)生的事件序列具有如 下特點(diǎn)生成的一組驗(yàn)證序列中,必須保證使?fàn)顟B(tài)機(jī)的每個(gè)狀態(tài)都能夠到達(dá);生成的驗(yàn)證序列必須遍歷具有前驅(qū)和后繼關(guān)系的狀態(tài)之間的轉(zhuǎn)換;對(duì)某些帶有有向環(huán)路的關(guān)鍵路徑設(shè)定循環(huán)參數(shù)。進(jìn)一步的,上述的一種IC功能驗(yàn)證方法中在步驟D中針對(duì)無(wú)有向環(huán)路的狀態(tài) 機(jī),遍歷是從某個(gè)頂點(diǎn)出發(fā),沿著某條搜索路徑對(duì)圖中所有頂點(diǎn)作一次訪問(wèn),按如下步驟完 成遍歷有限狀態(tài)機(jī)產(chǎn)生事件序列的D01、定義狀態(tài)機(jī)數(shù)據(jù)結(jié)構(gòu);D02、定義狀態(tài)變量;D03、定義步驟D02中的某一個(gè)變量為初始狀態(tài),另一個(gè)變量為結(jié)束狀態(tài);所述的 初始狀態(tài)沒(méi)有前驅(qū),所述的結(jié)束狀態(tài)沒(méi)有后繼點(diǎn);D04、尋找所有以初始狀態(tài)為起點(diǎn),經(jīng)過(guò)狀態(tài)轉(zhuǎn)換后可以到的第一狀態(tài)集合;D05、以所有以步驟D04中的第一狀態(tài)集合中的元素為起點(diǎn),經(jīng)過(guò)狀態(tài)轉(zhuǎn)換后可以 到的第二狀態(tài)集合;D06、對(duì)所有的狀態(tài)變量重復(fù)步驟5,尋找所有的狀態(tài)轉(zhuǎn)換路徑。D07、通過(guò)遞歸算法,輸出所有可能的狀態(tài)轉(zhuǎn)換路徑。進(jìn)一步的,上述的一種IC功能驗(yàn)證方法中在步驟D中針對(duì)存在有向環(huán)路的有 限狀態(tài)機(jī),在D06步驟后,進(jìn)行以下步驟D11、刪除有限狀態(tài)機(jī)圖所有到達(dá)被標(biāo)記頂點(diǎn)的有向邊,并以<Vj; Vi)的形式記錄這樣的有向邊,\代表有向邊所指向的節(jié)點(diǎn),Vi代表有向邊的發(fā)出節(jié)點(diǎn);設(shè)定對(duì)該有向環(huán)的 循環(huán)次數(shù),即由起始節(jié)點(diǎn)走完所有的循環(huán)路徑,循環(huán)設(shè)定次數(shù)后,走完至路徑指定的結(jié)束節(jié)占.
^ \\\ D12、重復(fù)步驟D11,路徑按拓?fù)渑判蜉敵觥_M(jìn)一步的,上述的一種IC功能驗(yàn)證方法中在步驟D中運(yùn)用算法自動(dòng)遍歷狀態(tài) 機(jī),對(duì)關(guān)鍵的讀寫(xiě)操作和中斷請(qǐng)求應(yīng)答環(huán)路設(shè)定適當(dāng)?shù)难h(huán)次數(shù)。進(jìn)一步的,上述的一種IC功能驗(yàn)證方法中在步驟E中,具體實(shí)現(xiàn)是在程序里面增 加一個(gè)Event字符數(shù)組,每一個(gè)元素用每一個(gè)事件所對(duì)應(yīng)的向量字符初始化。本發(fā)明的這種方法的驗(yàn)證對(duì)象是以RTL或者(iate-Level表達(dá)的設(shè)計(jì)描述,它基 于待測(cè)模塊的設(shè)計(jì)規(guī)格書(shū)(Specification),根據(jù)其中反映待測(cè)模塊外部特性的接口時(shí)序 圖以及反映其內(nèi)部狀態(tài)的內(nèi)部寄存器的配置信息,得到了具有統(tǒng)一格式的抽象時(shí)序圖;然 后利用有向圖存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu),由抽象時(shí)序圖中提取事件作為節(jié)點(diǎn),具有前后關(guān)聯(lián)的事件 作為有向圖中連接具有前驅(qū)后繼關(guān)系的有向邊,從而在內(nèi)部自動(dòng)地生成有限狀態(tài)機(jī);最后 根據(jù)我們提出的對(duì)狀態(tài)機(jī)遍歷的兩點(diǎn)基本假設(shè),同時(shí)對(duì)用戶較為關(guān)心的關(guān)鍵路徑和邊角向 量設(shè)置循環(huán)參數(shù)n,對(duì)生成的有限狀態(tài)機(jī)作遍歷,得到期望的驗(yàn)證序列。由于用戶可以在自 己比較關(guān)心的那一部分功能特性方面和計(jì)算機(jī)做交互,能夠有效地控制生成的驗(yàn)證向量?jī)?nèi) 容,從而實(shí)現(xiàn)了測(cè)試向量的高覆蓋率。
圖1是向量窮舉法示意圖。圖2是隨機(jī)向量生成算法環(huán)境示意圖。圖3是本發(fā)明實(shí)施技術(shù)路線的架構(gòu)框圖。圖4是一個(gè)包含寄存器配置信息的典型接口時(shí)序。圖5是用抽象時(shí)序圖描述的I2C總線一次完整的數(shù)據(jù)傳送過(guò)程。圖6是實(shí)施例中一個(gè)系統(tǒng)內(nèi)部轉(zhuǎn)換的抽象接口時(shí)序圖。圖7是由I2C總線協(xié)議得到的Master模式的有限狀態(tài)機(jī)。圖8是I2C總線協(xié)議中事件數(shù)組的初始化值。圖9是I2C Master模塊的架構(gòu)框圖。
具體實(shí)施例方式根據(jù)本發(fā)明方法的方案技術(shù)路線架構(gòu),下面結(jié)合具體實(shí)施例作進(jìn)一步詳細(xì)說(shuō)明, 此處所描述的具體實(shí)施例不是對(duì)本發(fā)明的限定,而是對(duì)本發(fā)明的解釋,具體實(shí)施方式
如下 其流程如圖3所示。1、把待測(cè)設(shè)計(jì)內(nèi)部寄存器配置信息和外部接口時(shí)序統(tǒng)一成一個(gè)歸一化的時(shí)序圖。該步驟的關(guān)鍵是把內(nèi)部寄存器配置歸并入外部接口時(shí)序圖。我們的已知是待測(cè)模塊接口規(guī)范中的反映其外部特性的接口時(shí)序圖以及反映其 內(nèi)部狀態(tài)的寄存器的配置信息。為了實(shí)現(xiàn)統(tǒng)一,我們希望把寄存器配置信息也歸并入外部 接口時(shí)序中,得到能夠同時(shí)反映待測(cè)模塊內(nèi)外部信息的新的時(shí)序圖。為了實(shí)現(xiàn)這一要求,我 們可以在外部接口時(shí)序中額外引入了一組與該寄存器位長(zhǎng)相等,并且以寄存器名稱命名的數(shù)據(jù)線,而寄存器的配置即為該組數(shù)據(jù)線的取值,由此引入待測(cè)模塊的若干工作模式均可 作為數(shù)據(jù)線取值后的當(dāng)前或者下一個(gè)狀態(tài)。這樣就得到了新的涵蓋待測(cè)模塊內(nèi)外部信息的 時(shí)序圖。圖4所示即為一個(gè)把寄存器配置信息歸并入外部接口時(shí)序圖中的例子。圖中MOD為待測(cè)模塊內(nèi)部一位的工作模式寄存器,當(dāng)其值為0時(shí)為工作模式一,為 1時(shí)為工作模式二,這樣我們就可以把一個(gè)以MOD命名的端口添加到接口時(shí)序中,構(gòu)成了新 的包含了寄存器配置信息的接口時(shí)序。該端口在不同工作模式下面會(huì)具備不同的值。2、利用抽象時(shí)序圖去描述由上面得到的歸一化時(shí)序圖;我們希望得到反映待測(cè)模塊狀態(tài)轉(zhuǎn)換的有限狀態(tài)機(jī),這是無(wú)法直接從圖形描述的 接口時(shí)序中得到的。所以,我們提出抽象時(shí)序圖的概念,作為二者之間的橋梁和紐帶。抽象時(shí)序圖對(duì)于同步時(shí)序來(lái)說(shuō),是指以一拍或者多拍內(nèi)各信號(hào)線的一個(gè)或多個(gè)的 值來(lái)共同描述一個(gè)事件(Event)的一種時(shí)序圖;而對(duì)于異步時(shí)序,則是依從事件間的相對(duì) 關(guān)系,依舊是采用各信號(hào)線的一個(gè)或多個(gè)的值,來(lái)共同描述同一個(gè)事件的時(shí)序圖。所以,抽 象時(shí)序圖是以事件為基本單位的。圖5所示的,是用抽象時(shí)序圖描述的I2C總線一次完整的數(shù)據(jù)傳送過(guò)程的例子。包 括“開(kāi)始信號(hào)”、“從地址信號(hào)”、“讀寫(xiě)信號(hào)”、“應(yīng)答信號(hào)”、“傳輸數(shù)據(jù)信號(hào)”以及“停止信號(hào)” 等事件。圖6則是由一個(gè)測(cè)模塊的Spec所得出的系統(tǒng)內(nèi)部轉(zhuǎn)換的抽象接口時(shí)序圖。包括 “寫(xiě)模式有效信號(hào)”、“寫(xiě)入數(shù)據(jù)”、“中斷信號(hào)”、“讀有效信號(hào)”以及“輸出數(shù)據(jù)”等事件,圖中 以方框表示出一條或者多條信號(hào)線的取值是對(duì)應(yīng)于同一個(gè)事件。以上可以看出抽象時(shí)序圖 的特點(diǎn)是引入了一個(gè)個(gè)事件。3、從抽象時(shí)序圖到有限狀態(tài)機(jī)表示有限狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換圖是一種有向圖(Directed Graph)。在有向圖中,邊 都是單向的將定義的每條邊的頂點(diǎn)對(duì)看作是一個(gè)有序?qū)Γ付艘粋€(gè)單向鄰接,我們可 以從首頂點(diǎn)到次頂點(diǎn),但是卻不能從次頂點(diǎn)到首頂點(diǎn)。在有限狀態(tài)機(jī),每一條邊都是由當(dāng)前 狀態(tài)指向轉(zhuǎn)換后的下一個(gè)狀態(tài)的有向邊。借助計(jì)算機(jī)的處理,從有限狀態(tài)機(jī)模型出發(fā)可以 得到高效的功能驗(yàn)證流,而這需要尋求一種存儲(chǔ)結(jié)構(gòu)。在圖論中,有向圖的存儲(chǔ)有兩種主要 的結(jié)構(gòu),它們分別是鄰接矩陣表示法和鄰接表表示法,由于是有關(guān)于圖的計(jì)算機(jī)存儲(chǔ)規(guī)模 和運(yùn)算效率,因此可選擇鄰接表表示法。根據(jù)圖論中的鄰接表建立和存儲(chǔ)結(jié)構(gòu),如果得到有向圖所有有向邊的頂點(diǎn)的個(gè)數(shù) 以及輸入所有的頂點(diǎn)對(duì)<i,j>,即可在計(jì)算機(jī)內(nèi)部存儲(chǔ)該狀態(tài)轉(zhuǎn)換圖。而已經(jīng)得到的抽象 時(shí)序圖,恰恰表明了抽象事件間的前驅(qū)和后繼關(guān)系,也就是每個(gè)有向邊的前后頂點(diǎn)。抽象時(shí) 序圖架設(shè)了從原時(shí)序圖到狀態(tài)轉(zhuǎn)換圖之間的橋梁,而事件1和它的后繼態(tài)事件2共同組成 狀態(tài)圖的輸入點(diǎn)對(duì)<i,j>。圖7示出了根據(jù)I2C總線協(xié)議,經(jīng)過(guò)我們的前三個(gè)步驟所得到的Master模式的有 限狀態(tài)機(jī)。從狀態(tài)機(jī)可以任意分離出一條狀態(tài)轉(zhuǎn)移路徑作為實(shí)際驗(yàn)證的輸入向量路徑,比 如空閑(Idle)->開(kāi)始(Mart)->從地址(SlaveAddress)->從應(yīng)答(Slave Ack)->寫(xiě) 數(shù)據(jù)(Write Date) - >應(yīng)答(Ack)- >停止(Stop) - >空閑(Idle)。我們可以先把該狀態(tài) 機(jī)的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)起來(lái),以方便下一步的操作。4遍歷有限狀態(tài)機(jī)產(chǎn)生事件序列(1)狀態(tài)機(jī)遍歷的兩個(gè)基本假設(shè)
對(duì)于一個(gè)待驗(yàn)證模塊來(lái)講,驗(yàn)證工程師不僅要面對(duì)外部接口的組合邏輯問(wèn)題,更 要面對(duì)內(nèi)部寄存器同時(shí)作用的時(shí)序邏輯問(wèn)題,系統(tǒng)達(dá)到的狀態(tài)數(shù)與系統(tǒng)本身的尺度遠(yuǎn)遠(yuǎn)不 止是指數(shù)關(guān)系。為了實(shí)現(xiàn)對(duì)系統(tǒng)的全面驗(yàn)證,我們提出了遍歷的兩個(gè)基本假設(shè)第一,生成的一組驗(yàn)證序列中,必須保證使?fàn)顟B(tài)機(jī)的每個(gè)狀態(tài)都能夠到達(dá)。我們假 設(shè)每一個(gè)狀態(tài)都有前驅(qū)或者是后繼,即圖是連通的,則從圖中某一個(gè)頂點(diǎn)出發(fā)可以訪問(wèn)到 圖中所有頂點(diǎn),否則只能訪問(wèn)到一部分頂點(diǎn)。第二,生成的驗(yàn)證序列必須遍歷具有前驅(qū)和后繼關(guān)系的狀態(tài)之間的轉(zhuǎn)換。在此基礎(chǔ)上,我們同時(shí)對(duì)某些帶有有向環(huán)路的關(guān)鍵路徑設(shè)定循環(huán)參數(shù)n,以最大程 度的滿足覆蓋率要求。(2)有限狀態(tài)機(jī)的遍歷算法圖的遍歷是從某個(gè)頂點(diǎn)出發(fā),沿著某條搜索路徑對(duì)圖中所有頂點(diǎn)作一次訪問(wèn),我 們分兩種情況處理可能遇到的狀態(tài)機(jī)第一,針對(duì)無(wú)有向環(huán)路的狀態(tài)機(jī)我們采用以下算法來(lái)實(shí)現(xiàn)對(duì)有限狀態(tài)機(jī)的遍歷,生成所有期望的驗(yàn)證向量序列1)定義狀態(tài)機(jī)數(shù)據(jù)結(jié)構(gòu)
權(quán)利要求
1.一種IC功能驗(yàn)證方法,其特征在于包括以下步驟步驟A 把待測(cè)設(shè)計(jì)內(nèi)部寄存器配置信息和外部接口時(shí)序統(tǒng)一成一個(gè)歸一化的時(shí)序圖;步驟B 利用抽象時(shí)序圖去描述由步驟A得到的歸一化時(shí)序圖; 步驟C 將抽象時(shí)序圖轉(zhuǎn)換為可操作的有限狀態(tài)機(jī)結(jié)構(gòu); 步驟D 遍歷有限狀態(tài)機(jī)產(chǎn)生事件序列; 步驟E 把事件序列對(duì)應(yīng)到具體的向量組。
2.根據(jù)權(quán)利要求1所述的一種IC功能驗(yàn)證方法,其特征在于所述的步驟A中,所述 的待測(cè)設(shè)計(jì)內(nèi)部寄存器配置信息是按下面步驟完成與外部接口時(shí)序統(tǒng)一成一個(gè)歸一化時(shí) 序圖的步驟Al 在外部接口時(shí)序中額外引入一組與所述待測(cè)設(shè)計(jì)內(nèi)部寄存器位長(zhǎng)相等,并且 以內(nèi)部寄存器名稱命名的數(shù)據(jù)線,而內(nèi)部寄存器的配置即為該組數(shù)據(jù)線的取值;由此引入 待測(cè)模塊的若干工作模式均作為數(shù)據(jù)線取值后的當(dāng)前或者下一個(gè)狀態(tài),得到了新的涵蓋待 測(cè)模塊內(nèi)、外部信息的時(shí)序圖。
3.根據(jù)權(quán)利要求1所述的一種IC功能驗(yàn)證方法,其特征在于所述的步驟B中所述 的抽象時(shí)序圖對(duì)于同步時(shí)序來(lái)說(shuō),是指以一拍或者多拍內(nèi)各信號(hào)線的一個(gè)或多個(gè)的值來(lái)共 同描述一個(gè)事件的一種時(shí)序圖;而對(duì)于異步時(shí)序,則是依從事件間的相對(duì)關(guān)系,依舊是采用 各信號(hào)線的一個(gè)或多個(gè)的值,來(lái)共同描述同一個(gè)事件的時(shí)序圖。
4.根據(jù)權(quán)利要求1所述的一種IC功能驗(yàn)證方法,其特征在于在步驟C中,有限狀態(tài) 機(jī)中有向圖的存儲(chǔ)為鄰接表表示法。
5.根據(jù)權(quán)利要求1所述的一種IC功能驗(yàn)證方法,其特征在于在步驟D中產(chǎn)生的事 件序列具有如下特點(diǎn)生成的一組驗(yàn)證序列中,必須保證使?fàn)顟B(tài)機(jī)的每個(gè)狀態(tài)都能夠到達(dá); 生成的驗(yàn)證序列必須遍歷具有前驅(qū)和后繼關(guān)系的狀態(tài)之間的轉(zhuǎn)換; 對(duì)某些帶有有向環(huán)路的關(guān)鍵路徑設(shè)定循環(huán)參數(shù)。
6.根據(jù)權(quán)利要求5所述的一種IC功能驗(yàn)證方法,其特征在于在步驟D中針對(duì)無(wú)有 向環(huán)路的狀態(tài)機(jī),遍歷是從某個(gè)頂點(diǎn)出發(fā),沿著某條搜索路徑對(duì)圖中所有頂點(diǎn)作一次訪問(wèn), 按如下步驟完成遍歷有限狀態(tài)機(jī)產(chǎn)生事件序列的D01、定義狀態(tài)機(jī)數(shù)據(jù)結(jié)構(gòu); D02、定義狀態(tài)變量;D03、定義步驟D02中的某一個(gè)變量為初始狀態(tài),另一個(gè)變量為結(jié)束狀態(tài);所述的初始 狀態(tài)沒(méi)有前驅(qū),所述的結(jié)束狀態(tài)沒(méi)有后繼點(diǎn);D04、尋找所有以初始狀態(tài)為起點(diǎn),經(jīng)過(guò)狀態(tài)轉(zhuǎn)換后可以到的第一狀態(tài)集合;D05、以所有以步驟D04中的第一狀態(tài)集合中的元素為起點(diǎn),經(jīng)過(guò)狀態(tài)轉(zhuǎn)換后可以到的第二狀態(tài)集合;D06、對(duì)所有的狀態(tài)變量重復(fù)步驟5,尋找所有的狀態(tài)轉(zhuǎn)換路徑。 D07、通過(guò)遞歸算法,輸出所有可能的狀態(tài)轉(zhuǎn)換路徑。
7.根據(jù)權(quán)利要求5所述的一種IC功能驗(yàn)證方法,其特征在于在步驟D中針對(duì)存在 有向環(huán)路的有限狀態(tài)機(jī),在D06步驟后,進(jìn)行以下步驟D11、刪除有限狀態(tài)機(jī)圖所有到達(dá)被標(biāo)記頂點(diǎn)的有向邊,并以<Vj; Vi)的形式記錄這樣 的有向邊,\代表有向邊所指向的節(jié)點(diǎn),Vi代表有向邊的發(fā)出節(jié)點(diǎn);設(shè)定對(duì)該有向環(huán)的循環(huán) 次數(shù),即由起始節(jié)點(diǎn)走完所有的循環(huán)路徑,循環(huán)設(shè)定次數(shù)后,走完至路徑指定的結(jié)束節(jié)點(diǎn); D12、重復(fù)步驟D11,路徑按拓?fù)渑判蜉敵觥?br>
8.根據(jù)權(quán)利要求1所述的一種IC功能驗(yàn)證方法,其特征在于在步驟D中運(yùn)用算法 自動(dòng)遍歷狀態(tài)機(jī),對(duì)關(guān)鍵的讀寫(xiě)操作和中斷請(qǐng)求應(yīng)答環(huán)路設(shè)定適當(dāng)?shù)难h(huán)次數(shù)。
9.根據(jù)權(quán)利要求1所述的一種IC功能驗(yàn)證方法,其特征在于在步驟E中具體實(shí)現(xiàn) 是在程序里面增加一個(gè)Event字符數(shù)組,每一個(gè)元素用每一個(gè)事件所對(duì)應(yīng)的向量字符初始 化。
全文摘要
本發(fā)明提出了一種新型的IC功能驗(yàn)證方法。它基于待測(cè)模塊的設(shè)計(jì)規(guī)范中反映待測(cè)模塊外部特性的接口時(shí)序圖以及反映其內(nèi)部狀態(tài)的內(nèi)部寄存器的配置信息,建立有限狀態(tài)機(jī)(Finite State Machine)模型,然后遍歷有限狀態(tài)機(jī)中的狀態(tài),同時(shí)通過(guò)對(duì)用戶較關(guān)心的有向環(huán)路和關(guān)鍵路徑增加循環(huán)參數(shù)設(shè)置,從而實(shí)現(xiàn)了較高的功能覆蓋率。最終的目的在于以較少的驗(yàn)證向量數(shù)目獲取較多的功能驗(yàn)證覆蓋,從而提高驗(yàn)證工作效率,降低驗(yàn)證成本,增加設(shè)計(jì)可靠性,縮短產(chǎn)品上市時(shí)間。
文檔編號(hào)G06F17/50GK102147829SQ20111007644
公開(kāi)日2011年8月10日 申請(qǐng)日期2011年3月29日 優(yōu)先權(quán)日2011年3月29日
發(fā)明者孫釗, 蘇世祥, 謝崢, 連志斌 申請(qǐng)人:李?yuàn)瑯?lè)