本發(fā)明涉及集成電路設(shè)計領(lǐng)域,尤其涉及一種集成電路的驗證方法及裝置。
背景技術(shù):
集成電路驗證是集成電路設(shè)計中不可或缺的重要組成部分,它用于判別設(shè)計規(guī)范和實現(xiàn)之間是否一致,確保實際設(shè)計實現(xiàn)規(guī)范文檔中所描述的功能,發(fā)現(xiàn)功能模塊中存在的邏輯缺陷,保證設(shè)計邏輯的正確性。隨著集成電路產(chǎn)業(yè)的迅速發(fā)展,集成電路設(shè)計的多樣性和復(fù)雜性程度也越來越高,而傳統(tǒng)工程驗證方法處理的設(shè)計規(guī)模和效率的增長落后于開發(fā)規(guī)模的增長,使得集成電路驗證面臨的困難也越來越大。
目前,對于集成電路的驗證方法主要有動態(tài)仿真和形式驗證兩種手段,其中,基于動態(tài)仿真的驗證方法是:在集成電路的連接一端上輸入各種測試信號,在連接的另一端進(jìn)行檢測;通過對比二者是否一致來證明連接的正確性;基于形式驗證的驗證方法是:預(yù)先編寫好約束條件,算法通過約束條件遍歷集成電路的各種情況,確認(rèn)在約束條件下,集成連接總是能夠滿足,從而證明集成的正確性。
在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:
由于動態(tài)仿真的驗證方法對輸入的測試信號依賴性很強,而測試信號的類型有可能不夠全面,因此動態(tài)仿真的驗證方法會存在驗證結(jié)果不可信的情況,即:驗證結(jié)果雖然為通過,但是在實際連接中會存在錯誤,因此采用動態(tài)仿真的驗證方法,其驗證結(jié)果的置信度不能達(dá)到100%;對于形式驗證的方法,如果集成電路設(shè)計規(guī)模過大,會出現(xiàn)耗時過長,或者算法不能收斂的情況。
技術(shù)實現(xiàn)要素:
為解決現(xiàn)有存在的技術(shù)問題,本發(fā)明實施例提供一種集成電路的驗證方法及裝置,不僅能夠提高集成電路驗證結(jié)果的置信度,而且還能夠提高集成電路 的驗證效率。
為達(dá)到上述目的,本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的:
本發(fā)明實施例提供一種集成電路的驗證方法,包括:
獲取集成電路的各個待驗文件中的待驗端口;
根據(jù)全部所述待驗文件的待驗端口確定所述集成電路的端口路徑;
當(dāng)在所述集成電路的端口路徑中查找到預(yù)設(shè)匹配的起點和終點時,判定所述集成電路連接通過。
在上述實施例中,所述獲取集成電路的各個待驗文件中的待驗端口,包括:
從預(yù)先設(shè)定的文件列表中選擇一個未驗證的文件作為當(dāng)前待驗文件;
獲取所述當(dāng)前待驗文件的全部待驗端口。
在上述實施例中,所述根據(jù)全部所述待驗文件的待驗端口確定所述集成電路的端口路徑,包括:
在全部所述待驗端口中選擇一個未驗證的端口作為當(dāng)前待驗端口;
確定所述當(dāng)前待驗端口的端口路徑;
根據(jù)全部當(dāng)前待驗端口的端口路徑,確定集成電路的端口路徑。
在上述實施例中,所述確定所述當(dāng)前待驗端口的端口路徑,包括:
將所述當(dāng)前待驗端口作為關(guān)鍵字在所述當(dāng)前待驗文件中進(jìn)行查找,確定所述當(dāng)前待驗端口所在的當(dāng)前實例;
確定通過所述當(dāng)前待驗端口與所述當(dāng)前實例進(jìn)行實例調(diào)用的實例和端口;
根據(jù)與所述當(dāng)前實例進(jìn)行實例調(diào)用的實例和端口,確定所述當(dāng)前待驗端口的端口路徑。
在上述實施例中,在所述確定所述當(dāng)前待驗端口的端口路徑之前,所述方法還包括:
判斷所述當(dāng)前待驗端口所在的當(dāng)前實例被預(yù)設(shè)的頂層實例調(diào)用的深度是否大于預(yù)先設(shè)置的深度閾值;
若是,則結(jié)束確定所述當(dāng)前待驗端口的端口路徑。
本發(fā)明實施例提供一種集成電路的驗證裝置,包括:
獲取單元,用于獲取集成電路的各個待驗文件中的待驗端口,將所述待驗 端口發(fā)送給確定單元;
所述確定單元,用于根據(jù)全部所述待驗端口確定所述集成電路的端口路徑,將所述集成電路的端口路徑發(fā)送給判定單元;
所述判定單元,用于當(dāng)在所述集成電路的端口路徑中查找到預(yù)設(shè)匹配的起點和終點時,判定所述集成電路連接通過。
在上述實施例中,所述獲取單元,包括:
第一選擇子單元,用于從預(yù)先設(shè)定的文件列表中選擇一個未驗證的文件作為當(dāng)前待驗文件,將所述當(dāng)前待驗文件發(fā)送給獲取子單元;
所述獲取子單元,用于獲取所述當(dāng)前待驗文件的全部待驗端口。
在上述實施例中,所述確定單元包括:
第二選擇子單元,用于在全部所述待驗端口中選擇一個未驗證的端口作為當(dāng)前待驗端口,將所述當(dāng)前待驗端口發(fā)送給確定子單元;
所述確定子單元,用于確定所述當(dāng)前待驗端口的端口路徑;根據(jù)全部當(dāng)前待驗端口的端口路徑,確定集成電路的端口路徑。
在上述實施例中,所述確定單元,還用于將所述當(dāng)前待驗端口作為關(guān)鍵字在所述當(dāng)前待驗文件中進(jìn)行查找,確定所述當(dāng)前待驗端口所在的當(dāng)前實例;確定通過所述當(dāng)前待驗端口與所述當(dāng)前實例進(jìn)行實例調(diào)用的實例和端口;根據(jù)與所述當(dāng)前實例進(jìn)行實例調(diào)用的實例和端口,確定所述當(dāng)前待驗端口的端口路徑。
在上述實施例中,所述判定單元,還用于判斷所述當(dāng)前待驗端口所在的當(dāng)前實例被預(yù)設(shè)的頂層實例調(diào)用的深度是否大于預(yù)先設(shè)置的深度閾值;若是,則結(jié)束確定所述當(dāng)前待驗端口的端口路徑。
由此可見,在本發(fā)明實施例的技術(shù)方案中,首先獲取集成電路的各個待驗文件中的全部待驗端口,然后根據(jù)全部待驗端口確定集成電路的端口路徑,當(dāng)在集成電路的端口路徑中查找到預(yù)設(shè)匹配的起點和終點時,判定集成電路連接通過。在本發(fā)明實施例的技術(shù)方案中,不需要在集成電路連接的一端輸入各種測試信號,也無需預(yù)先編寫約束條件;相反,在現(xiàn)有技術(shù)中,動態(tài)仿真的驗證方法對輸入的測試信號依賴性很強,其驗證結(jié)果的置信度不能達(dá)到100%,而形式驗證的方法不能適用于大規(guī)模設(shè)計電路。因此,和現(xiàn)有技術(shù)相比,本發(fā)明實施例提出的集成電路的驗證方法和裝置,不僅能夠提高集成電路驗證結(jié)果的置 信度,而且還能夠提高集成電路的驗證效率;并且,實現(xiàn)起來簡單方便,便于普及,適用范圍更廣。
附圖說明
圖1為本發(fā)明實施例中集成電路的驗證方法的實現(xiàn)流程示意圖;
圖2為本發(fā)明實施例中獲取各個待驗文件的待驗端口的實現(xiàn)方法流程示意圖;
圖3為本發(fā)明實施例中確定集成電路的端口路徑的實現(xiàn)方法流程示意圖;
圖4為本發(fā)明實施例中當(dāng)前待驗端口的第一種連接關(guān)系的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例中當(dāng)前待驗端口的第二種連接關(guān)系的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實施例中當(dāng)前待驗端口的第三種連接關(guān)系的結(jié)構(gòu)示意圖;
圖7為本發(fā)明實施例中確定當(dāng)前待驗端口的端口路徑的實現(xiàn)方法流程示意圖;
圖8為本發(fā)明實施例中結(jié)束確定端口路徑的第一種情況的結(jié)構(gòu)示意圖;
圖9為本發(fā)明實施例中結(jié)束確定端口路徑的第二種情況的結(jié)構(gòu)示意圖;
圖10為本發(fā)明實施例中確定集成電路的端口路徑的結(jié)構(gòu)示意圖;
圖11為本發(fā)明實施例中集成電路的驗證裝置的組成結(jié)構(gòu)示意圖。
具體實施方式
在本發(fā)明的各種實施例中,圖1為本發(fā)明實施例中集成電路的驗證方法的實現(xiàn)流程示意圖,如圖1所示,該驗證方法包括以下步驟:
步驟101、獲取集成電路的各個待驗文件中的待驗端口。
在本發(fā)明的具體實施例中,所述待驗端口包括:輸入端口、輸出端口和輸入輸出端口。
veriloghdl(hardwaredescriptionlanguage)是一種以文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的硬件描述語言,用它可以表示包括組合邏輯器件和時序邏輯器件的邏輯電路圖、邏輯表達(dá)式,還可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。
使用veriloghdl描述硬件電路的基本設(shè)計單元是模塊(module),構(gòu)建復(fù)雜的電子電路,主要是通過模塊的相互連接和調(diào)用來實現(xiàn)的。veriloghdl中的模塊能夠提供輸入端口、輸出端口以及輸入輸出端口,在veriloghdl可以通過將一個模塊實例化來調(diào)用其他模塊,也可以被其他模塊實例化后調(diào)用。因此,本發(fā)明實施例利用veriloghdl中的模塊提供輸入端口、輸出端口以及輸入輸出端口。
圖2為本發(fā)明實施例中獲取各個待驗文件的待驗端口的實現(xiàn)方法流程示意圖,如圖2所示,獲取待驗端口的實現(xiàn)方法包括以下步驟:
步驟101a、在預(yù)先設(shè)定的文件列表中選擇一個未驗證的文件作為當(dāng)前待驗文件。
通常情況下,集成電路的設(shè)計文件包括:頂層代碼文件、引腳代碼文件、引腳控制代碼文件以及核心實體代碼文件等。在本發(fā)明的具體實施例中,可以通過腳本在預(yù)先設(shè)定的文件列表中選擇一個當(dāng)前待驗文件,由于目前集成電路的設(shè)計普遍采用自上而下(top-down)的設(shè)計方法,因此,在本步驟中,腳本首先可以選擇文件列表中的top文件作為當(dāng)前待驗文件。
步驟101b、獲取當(dāng)前待驗文件的全部待驗端口。
在本步驟中,采用ieee標(biāo)準(zhǔn)中的正則表達(dá)式對當(dāng)前待驗文件進(jìn)行匹配,可以獲取當(dāng)前待驗文件的全部待驗端口,其中,所述待驗端口包括輸入端口、輸出端口和輸入輸出端口。
步驟102、根據(jù)全部待驗文件的待驗端口確定集成電路的端口路徑。
圖3為本發(fā)明實施例中確定集成電路的端口路徑的實現(xiàn)方法流程示意圖,如圖3所示,確定集成電路的端口路徑的方法包括以下步驟:
步驟102a、在當(dāng)前待驗文件的全部待驗端口中選擇一個未驗證的端口作為當(dāng)前待驗端口。
在本步驟中,可以通過腳本在當(dāng)前待驗文件的全部待驗端口中選擇一個未驗證的端口作為當(dāng)前待驗端口。例如,可以選擇當(dāng)前待驗文件中的輸入端口a作為當(dāng)前待驗端口。
步驟102b、確定當(dāng)前待驗端口的端口路徑。
在本發(fā)明的具體實施例中,當(dāng)前待驗端口在當(dāng)前待驗文件中可以有三種連接關(guān)系。
圖4為本發(fā)明實施例中當(dāng)前待驗端口的第一種連接關(guān)系的結(jié)構(gòu)示意圖,如圖4所示,當(dāng)前待驗端口a為實例a的輸入端口,端口b為實例b的輸出端口;實例a與實例b的調(diào)用關(guān)系是:實例a調(diào)用實例b;當(dāng)前待驗端口a在當(dāng)前待驗文件中的連接關(guān)系是:實例a的輸入端口a與實例b的輸出端口b相連,可以表示為:實例a.實例b.輸出端口b→實例a.輸入端口a。
圖5為本發(fā)明實施例中當(dāng)前待驗端口的第二種連接關(guān)系的結(jié)構(gòu)示意圖,如圖5所示,當(dāng)前待驗端口a為實例a的輸入端口,端口b為實例b的輸出端口;實例a與實例b的調(diào)用關(guān)系是:實例a調(diào)用實例b;當(dāng)前待驗端口a在當(dāng)前待驗文件中的連接關(guān)系是:實例a的輸入端口a通過反相器和緩存器與實例b的輸出端口b相連,可以表示為:實例a.實例b.輸出端口b→反相器→緩存器→實例a.輸入端口a。
圖6為本發(fā)明實施例中當(dāng)前待驗端口的第三種連接關(guān)系的結(jié)構(gòu)示意圖,如圖6所示,當(dāng)前待驗端口a為實例a的輸入端口,實例a中包括組合邏輯或時序邏輯,當(dāng)前待驗端口a在當(dāng)前待驗文件中的連接關(guān)系是:實例a的輸入端口a與實例a中的組合邏輯或時序邏輯相連。
圖7為本發(fā)明實施例中確定當(dāng)前待驗端口的端口路徑的實現(xiàn)方法流程示意圖,如圖7所示,確定端口路徑的方法包括以下步驟:
步驟102b_1、將當(dāng)前待驗端口作為關(guān)鍵字在當(dāng)前待驗文件中進(jìn)行查找,確定當(dāng)前待驗端口所在的當(dāng)前實例。
在本發(fā)明的具體實施例中,還可以采用ieee標(biāo)準(zhǔn)中的正則表達(dá)式對當(dāng)前待驗文件進(jìn)行匹配,獲取當(dāng)前待驗文件中的全部實例,以及與各個實例相對應(yīng)的端口列表。因此,在本步驟中,將當(dāng)前待驗端口作為關(guān)鍵字在當(dāng)前待驗文件中進(jìn)行查找,可以確定當(dāng)前待驗端口所在的當(dāng)前實例。舉例說明,假設(shè)當(dāng)前待驗端口為輸入端口a,在本發(fā)明的具體實施例中,可以將輸入端口a作為關(guān)鍵字在當(dāng)前待驗文件中進(jìn)行查找,可以確定輸入端口a所在的當(dāng)前實例為實例a。
步驟102b_2、確定通過當(dāng)前待驗端口與當(dāng)前實例進(jìn)行實例調(diào)用的實例和端口。
在本步驟中,可以采用現(xiàn)有技術(shù)中實例調(diào)用的分析方法,確定通過當(dāng)前待 驗端口與當(dāng)前實例進(jìn)行實例調(diào)用的實例和端口。例如,通過當(dāng)前待驗端口a與當(dāng)前實例a進(jìn)行實例調(diào)用的實例和端口為實例b和輸出端口b,在本步驟中,確定通過當(dāng)前待驗端口與當(dāng)前實例進(jìn)行實例調(diào)用的實例和端口分別為實例b和輸出端口b。
步驟102b_3、根據(jù)與當(dāng)前實例進(jìn)行實例調(diào)用的實例和端口,確定當(dāng)前待驗端口的端口路徑。
在本步驟中,在確定了與當(dāng)前實例進(jìn)行實例調(diào)用的實例和端口之后,就可以根據(jù)該實例和端口確定當(dāng)前待驗端口的端口路徑。例如,實例b通過輸出端口b和當(dāng)前實例a的輸入端口a與當(dāng)前實例a進(jìn)行實例調(diào)用,在本步驟中,可以確定當(dāng)前待驗端口a的端口路徑為:實例b.輸出端口b→實例a.輸入端口a。
進(jìn)一步的,在本發(fā)明的具體實施例中,還可以將緩存器和輸入端口a,或者,將反相器和輸入端口a作為關(guān)鍵字在當(dāng)前待驗文件中進(jìn)行查找,從而可以確定實例a的輸入端口a是否通過緩存器或者反相器連接到了其他實例中。例如,假設(shè)當(dāng)前實例a的輸入端口a通過緩存器的輸出端口c和輸入端口c1連接到了實例b的輸出端口b上,因此,可以將緩存器buf和輸入端口a作為關(guān)鍵字在當(dāng)前待驗文件中進(jìn)行查找,當(dāng)查找到buf(c,a)時,可以首先確定當(dāng)前實例a的輸入端口a連接到了緩存器的輸出端口c上,然后再將緩存器的輸入端口c1作為關(guān)鍵字在當(dāng)前待驗文件中進(jìn)行查找,進(jìn)一步可以確定緩存器通過輸入端口c1連接到了實例b的輸出端口b,因此,可以確定當(dāng)前待驗端口a的路徑為:實例b.輸出端口b→緩存器.輸入端口c1→緩存器.輸出端口c→實例a.輸入端口a。
圖8為本發(fā)明實施例中結(jié)束確定端口路徑的第一種情況的結(jié)構(gòu)示意圖,如圖8所示,當(dāng)前待驗端口a為實例a的輸入端口,實例a、實例c以及組合邏輯或時序邏輯的調(diào)用關(guān)系是:實例c調(diào)用實例c以及組合邏輯或時序邏輯。在本發(fā)明的具體實施例中,在將當(dāng)前待驗端口a作為關(guān)鍵字在當(dāng)前待驗文件中進(jìn)行查找時,如果當(dāng)前待驗端口a連接到了實例a中的組合邏輯或時序邏輯中時,則結(jié)束確定當(dāng)前待驗端口a的端口路徑的流程。也就是說,如果當(dāng)前待驗端口a連接到了實例a中的組合邏輯或時序邏輯中,可以將該組合邏輯或者時序邏輯作為當(dāng)前待驗端口a的端口路徑的一個終點。
圖9為本發(fā)明實施例中結(jié)束確定端口路徑的第二種情況的結(jié)構(gòu)示意圖,如圖9所示,當(dāng)前待驗端口a1為實例a的輸出端口,端口t1為當(dāng)前待驗文件中頂層實例(即實例top)的輸入端口;實例a與實例top的調(diào)用關(guān)系是:實例top調(diào)用實例a;當(dāng)前待驗端口a在當(dāng)前待驗文件中的連接關(guān)系是:實例a的輸出端口a1與實例top的輸入端口t1相連。在本發(fā)明的具體實施例中,如果當(dāng)前實例被實例top調(diào)用,則在獲取到當(dāng)前待驗端口的端口路徑之后,可以將實例top的輸入端口t1作為當(dāng)前待驗端口的端口路徑的一個終端。
步驟102c、根據(jù)全部當(dāng)前待驗端口的端口路徑,確定集成電路的端口路徑。
在本步驟中,在確定全部當(dāng)前待驗端口的端口路徑之后,可以根據(jù)全部當(dāng)前待驗端口的端口路徑,確定集成電路的端口路徑。
圖10為本發(fā)明實施例中確定集成電路的端口路徑的結(jié)構(gòu)示意圖,如圖10所示,端口a為實例a的輸入端口,端口a1為實例a的輸出端口;端口b為實例b的輸出端口;端口d為實例d的輸入端口;實例a、實例b和實例d的調(diào)用關(guān)系是:實例d調(diào)用實例a和實例b;實例a的輸入端口a的端口路徑為:實例a的輸入端口a與實例b的輸出端口b相連,即:實例d.實例b.輸出端口b→實例d.實例a.輸入端口a;實例a的輸出端口a1的端口路徑為:實例a的輸出端口a1與實例d的輸入端口d相連,即:實例d.實例a.輸出端口a1→實例d.輸入端口d,在本步驟中,可以將實例a的輸入端口a和輸出端口a1兩個端口路徑合并為一個端口路徑,即:實例d.實例b.輸出端口b→實例d.實例a.輸入端口a→實例d.實例a.輸出端口a1→實例d.輸入端口d。
根據(jù)上述的描述可知,通過上述的步驟102a~102c,可以根據(jù)全部待驗端口確定集成電路的端口路徑,由此可見,在本發(fā)明的具體實施方式中,需要在集成電路連接的一端輸入各種測試信號,也無需預(yù)先編寫約束條件,因此,和現(xiàn)有技術(shù)相比,本發(fā)明實施例提出的集成電路的驗證方法,不僅能夠提高集成電路驗證結(jié)果的置信度,而且還能夠提高集成電路的驗證效率。
較佳地,在本發(fā)明的具體實施例中,還可以預(yù)先設(shè)置實例分析的深度閾值。例如,在一個集成電路的設(shè)計中只有從頂層實例起向下的三層實例和管腳相關(guān),則在本發(fā)明的具體實施例中,可以將所述深度閾值設(shè)置為3,如果一個集成電路的設(shè)計中從頂層實例起向下的四層實例和管腳相關(guān),則在本發(fā)明的具體實施例中,可以將所述深度閾值設(shè)置為4。
因此,在確定當(dāng)前待驗端口的端口路徑之前,可以首先判斷當(dāng)前待驗端口所在的當(dāng)前實例被預(yù)設(shè)的頂層實例調(diào)用的深度是否大于所述深度閾值,若是,則結(jié)束確定當(dāng)前待驗端口的端口路徑的流程;否則,確定當(dāng)前待驗端口的端口路徑。
步驟103、當(dāng)在集成電路的端口路徑中查找到預(yù)設(shè)匹配的起點和終點時,確定集成電路連接通過。
在本發(fā)明的具體實施例中,在確定集成電路的端口路徑之后,可以將預(yù)設(shè)匹配的起點和終端在集成電路的端口路徑中進(jìn)行查找,當(dāng)查找成功時,確定集成電路連接通過;否則,確定集成電路連接不通過。
具體地,可以在集成電路的輸入端輸入預(yù)設(shè)匹配的起點,然后在集成電路的端口路徑中進(jìn)行查找,當(dāng)查找到預(yù)設(shè)匹配的終點時,則確定集成電路連接通過;當(dāng)沒有查找到預(yù)設(shè)匹配的終點時,則確定集成電路連接不通過。
本發(fā)明實施例提出的集成電路的驗證方法,不需要在集成電路連接的一端輸入各種測試信號,也無需預(yù)先編寫約束條件,因此,和現(xiàn)有技術(shù)相比,本發(fā)明實施例提出的集成電路的驗證方法,不僅能夠提高集成電路驗證結(jié)果的置信度,而且還能夠提高集成電路的驗證效率;并且,實現(xiàn)起來簡單方便,便于普及,適用范圍更廣。
圖11為本發(fā)明實施例中集成電路的驗證裝置的組成結(jié)構(gòu)示意圖,如圖11所示,該驗證裝置包括:獲取單元1101、確定單元1102和判定單元1103;其中,
所述獲取單元1101,用于獲取集成電路的各個待驗文件中的待驗端口,將所述待驗端口發(fā)送給所述確定單元1102;
所述確定單元1102,用于根據(jù)全部所述待驗端口確定所述集成電路的端口路徑,將所述集成電路的端口路徑發(fā)送給所述判定單元1103;
所述判定單元1103,用于當(dāng)在所述集成電路的端口路徑中查找到預(yù)設(shè)匹配的起點和終點時,判定所述集成電路連接通過。
進(jìn)一步的,所述獲取單元1101,包括:
第一選擇子單元11011,用于從預(yù)先設(shè)定的文件列表中選擇一個未驗證的文件作為當(dāng)前待驗文件,將所述當(dāng)前待驗文件發(fā)送給獲取子單元11012;
所述獲取子單元11012,用于獲取所述當(dāng)前待驗文件的全部待驗端口。
進(jìn)一步的,所述確定單元1102包括:
第二選擇子單元11021,用于在全部所述待驗端口中選擇一個未驗證的端口作為當(dāng)前待驗端口,將所述當(dāng)前待驗端口發(fā)送給確定子單元11022;
所述確定子單元11022,用于確定所述當(dāng)前待驗端口的端口路徑;根據(jù)全部當(dāng)前待驗端口的端口路徑,確定集成電路的端口路徑。
進(jìn)一步的,所述確定單元1102,還用于將所述當(dāng)前待驗端口作為關(guān)鍵字在所述當(dāng)前待驗文件中進(jìn)行查找,確定所述當(dāng)前待驗端口所在的當(dāng)前實例;確定通過所述當(dāng)前待驗端口與所述當(dāng)前實例進(jìn)行實例調(diào)用的實例和端口;根據(jù)與所述當(dāng)前實例進(jìn)行實例調(diào)用的實例和端口,確定所述當(dāng)前待驗端口的端口路徑。
進(jìn)一步的,所述判定單元1103,還用于判斷所述當(dāng)前待驗端口所在的當(dāng)前實例被預(yù)設(shè)的頂層實例調(diào)用的深度是否大于預(yù)先設(shè)置的深度閾值;若是,則結(jié)束確定所述當(dāng)前待驗端口的端口路徑。
在實際應(yīng)用中,所述獲取單元1101、確定單元1102和判定單元1103均可由位于集成電路設(shè)計器的中央處理器(cpu)、微處理器(mpu)、數(shù)字信號處理器(dsp)、或現(xiàn)場可編程門陣列(fpga)等實現(xiàn)。
本發(fā)明實施例提出的集成電路的驗證裝置,不需要在集成電路連接的一端輸入各種測試信號,也無需預(yù)先編寫約束條件,因此,和現(xiàn)有技術(shù)相比,本發(fā)明實施例提出的集成電路的驗證裝置,不僅能夠提高集成電路驗證結(jié)果的置信度,而且還能夠提高集成電路的驗證效率;并且,實現(xiàn)起來簡單方便,便于普及,適用范圍更廣。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用硬件實施例、軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié) 合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。