專利名稱:一種檢測專用集成電路的方法及裝置的制作方法
技術領域:
本發明涉及一種專用集成電路(Application Specific Integrated Circuits,ASIC)技術,特別涉及一種檢測專用集成電路的方法及裝置。
背景技術:
專用集成電路ASIC是指應特定用戶要求或特定電子系統的需要而設計、制造的集成電路。ASIC作為集成電路(IC)技術與特定用戶的整機或系統技術緊密結合的產物,與通用集成電路相比,在構成電子系統時具有以下幾個方面的優越性(1)縮小體積、減輕重量、降低功耗;(2)提高可靠性,用ASIC芯片進行系統集成后,外部連線減少,因而可靠性明顯提高;(3)易于獲得高性能,ASIC是針對專門應用而特別設計的;系統設計、電路設計、工藝設計之間緊密結合,這種一體化的設計有利于獲得前所未有的高性能系統;(4)可增強保密性,電子產品中的ASIC芯片對用戶來說相當于一個“黑匣子”,難于仿造;(5)在大批量應用時,可顯著降低系統成本。
目前,基于交換路由ASIC芯片的項目開發,在驗證激勵數據包送入芯片后,芯片是否滿足正確的交換路由功能時,大都采取以下兩種方案方案一根據ASIC芯片的交換路由功能,制定針對性的測試計劃或測試列表。測試列表中的每一項測試功能都代表著一個不同的測試用例,每一個測試用例會產生不同的激勵數據包,每一個測試用例下的激勵數據包對應著同一個測試結果。把激勵數據包輸入芯片后,經過芯片交換路由處理,當芯片輸出結果不同于測試用例所對應的測試結果時,表明芯片處理激勵數據包有誤,芯片存在設計BUG。
但是,這種方式的不足之處在于需要對芯片交換路由功能進行測試用例的窮舉列表,當芯片交換路由邏輯非常復雜時,這種原始的羅列方式并不能涵蓋所有的細節分支,存在驗證上的很大缺陷,同時,該方式也會耗用相當的人力和占有相當的工作量。
方案二根據ASIC芯片的交換路由功能,由和芯片設計人員不同的人為芯片建立一個仿真模型,該仿真模型完成和芯片相同的所有交換路由功能。仿真模型建立后,產生大量隨機的激勵數據包,這些激勵數據包是由代碼智能產生、并且可控。產生智能可控的激勵數據包后,將這些數據包分別同時輸入芯片和仿真模型,然后比較芯片輸出結果和仿真模型的輸出結果,當兩個結果不同時,說明芯片設計或者仿真模型中的某一個存在BUG。這種方式的好處在于,不用人為的去羅列測試用例,并根據每一個測試用列分別產生激勵,并驗證結果,而是可以直接在一個測試環境下,隨機產生大量智能數據包,去自動覆蓋芯片功能。
但是,這種方式的不足之處在于需要建立一個仿真模型,當出現問題時,也要分析是仿真模型還是芯片的BUG,同樣存在耗用相當的人力和占有相當的工作量問題。
發明內容
本發明的目的在于,提供一種檢測專用集成電路ASIC的方法,能夠不需要創建仿真模型,即可對ASIC芯片進行檢測或驗證,節約人力成本。
本發明的另一目的在于,提供一種檢測專用集成電路ASIC的裝置,能夠不需要創建仿真模型,即可對ASIC芯片進行檢測或驗證,節約人力成本。
本發明的檢測集成電路ASIC的方法,包括下列步驟步驟A在激勵數據包進入ASIC芯片以執行其相應的操作之前,根據激勵數據包要執行的操作,將預先設置的相應的輸出信息封裝在該激勵數據包的載荷內容中,然后將該激勵數據包送入至ASIC芯片執行相應處理;步驟B在ASIC芯片的輸出端監聽激勵數據包的輸出,并將實際的輸出結果與激勵數據包中封裝的預設的輸出信息進行比較,如果兩個結果相一致,則表示芯片正常,不存在BUG;否則表示芯片存在BUG。
其中,所述步驟A中,未封裝有預設的輸出信息的激勵數據包為用于執行相應操作的標準的路由交換數據包。
其中,所述步驟A中,所述預先設置的輸出信息包括交換路由信息和/或芯片理論輸出結果。
此外,所述步驟A中,預先設置輸出信息包括設置路由交換端口信息、和/或在輸出信息中是否插入或刪除虛擬局域網標簽VLAN TAG、和/或是否替換介質訪問控制地址。
其中,所述步驟B中,比較結果不一致的情況包括實際輸出端口與預設的輸出端口不一致;實際輸出結果并沒有依照預設的輸出信息插入或刪除VLAN TAG,或者插入或刪除的VLAN TAG值錯誤;未替換介質訪問控制地址,或替換信息錯誤。
本發明的檢測專用集成電路ASIC的裝置,包括預設信息單元、檢測單元,其中,所述預設信息單元,用于在激勵數據包進入ASIC芯片以執行其相應的操作之前,根據激勵數據包要執行的操作,將預先設置的相應的輸出信息封裝在該激勵數據包的載荷內容中,然后將該激勵數據包送入至ASIC芯片執行相應處理;所述檢測單元,用于在ASIC芯片的輸出端監聽激勵數據包的輸出,并將實際的輸出結果與激勵數據包中封裝的預設的輸出信息進行比較,在兩個結果相一致時,檢測結果為芯片正常,不存在BUG;在結果不一致時,檢測結果為芯片存在BUG。
其中,所述激勵數據包在未封裝有預設的輸出信息時為用于執行各種操作的標準的路由交換數據包。
所述激勵數據包中封裝的預設的輸出信息為交換路由信息和/或芯片理論輸出結果。
所述激勵數據包中封裝的預設的輸出信息可以包括設置路由交換端口信息、和/或在輸出信息中是否插入或刪除虛擬局域網標簽VLAN TAG、和/或是否替換介質訪問控制地址。
此外,所述檢測單元檢測結果不一致的情況包括在實際輸出端口與預設的輸出端口不一致;實際輸出結果并沒有依照預設的輸出信息插入或刪除VLAN TAG,或者插入或刪除的VLAN TAG值錯誤;未替換介質訪問控制地址,或替換信息錯誤。
本發明的有益效果是依照本發明的檢測專有集成電路ASIC的方法及裝置,通過在激勵數據包進入ASIC芯片以執行其相應的操作之前,根據激勵數據包要執行的操作,將預先設置的相應的輸出信息封裝在該激勵數據包的載荷內容中,然后將該激勵數據包送入至ASIC芯片執行相應處理,并在ASIC芯片的輸出端監聽激勵數據包的輸出,在實際的輸出結果與預設的輸出信息不一致時,檢測到ASIC芯片存在BUG,并可以根據實際輸出結果與預設的相關信息不一致的地方,對BUG進行逐級定位,能夠不需要創建仿真模型,即可對ASIC芯片進行檢測或驗證,節約人力成本。
圖1為本發明的對ASIC進行檢測的方法流程圖;圖2為本發明的對ASIC進行檢測的裝置示意圖。
具體實施例方式
以下,參考圖1~2詳細描述本發明的對ASIC進行檢測的方法及裝置。
如圖1所示,本發明的對ASIC進行檢測的方法,包括下列步驟步驟100在激勵數據包進入ASIC芯片以執行其相應的操作之前,根據激勵數據包要執行的操作,將預先設置的相應的輸出信息封裝在該激勵數據包的載荷內容中,然后將該激勵數據包送入至ASIC芯片執行相應處理;其中,在步驟100中,未封裝有預設的輸出信息的激勵數據包為用于執行各種操作的標準的路由交換數據包。
其中,該預先設置的輸出信息包括交換路由信息和/或芯片理論輸出結果。例如,包括設置路由交換端口信息、和/或者在輸出信息中是否插入或刪除虛擬局域網(Virtual Local Area Network,VLAN)標簽(TAG)、和/或者是否替換介質訪問控制(Media Access Control,MAC)地址等信息。
此外,在步驟100中,可以以編碼等形式將上述預設的輸出信息封裝到該數據包的載荷內容中。
步驟200在ASIC芯片的輸出端監聽激勵數據包的輸出,并將實際的輸出結果與激勵數據包中封裝的預設的輸出信息進行比較,如果兩個結果相一致,則表示芯片正常,不存在BUG;否則表示芯片存在BUG。
其中,在步驟200中,比較結果不一致的情況可以包括如下(1)實際輸出端口與預設的輸出端口不一致;(2)盡管實際輸出端口與預設的輸出端口相一致,但實際輸出結果并沒有依照預設的輸出信息插入或刪除VLAN TAG;(3)盡管實際輸出結果也依照了預設的輸出信息插入或刪除了VLANTAG,但是該TAG值并不是預設的TAG值;(4)未替換介質訪問控制地址,或替換信息錯誤等。
此外,在步驟200中,當確認芯片存在BUG時,進一步包括下列步驟分析實際輸出結果與預設的相關信息不一致的地方,對BUG進行逐級定位。
預設的輸出信息被封裝在激勵數據包的載荷內容中,該預設的輸出信息跟隨激勵數據包進入ASIC芯片,并最終從ASIC芯片輸出。由于ASIC芯片在進行各種邏輯運算時,只解析激勵數據包的包頭,并不對載荷內容部分進行解析,因此,不會影響芯片對該激勵數據包的原有處理,并且在芯片輸出端可從該載荷內容部分直接提取預設的輸出信息,并通過跟芯片實際的輸出結果進行比較,分析是否存在BUG,然后根據交換路由信息及時進行BUG的分析定位。
下面,舉一個例子來說明本發明的檢驗ASIC芯片的方法。
首先,針對ASIC芯片要實現的某交換路由功能,設置相應的交換路由信息為路由交換端口為第二端口,并設置在輸出信息中插入VLAN TAG,且TAG具體值為1,將該預設信息以編碼的形式嵌入激勵數據包的載荷內容中,然后將該激勵數據包送入至ASIC芯片進行相應處理。
其中,可以用該載荷內容的前兩個Bit表示路由交換接口信息;用第三個Bit表示在輸出信息中是否插入或刪除該TAG;用后面12個Bit表示具體的TAG數值。
在激勵數據包在ASIC芯片中進行相應處理后,從ASIC芯片的輸出端輸出時,將實際的輸出結果與激勵數據包中封裝的預設的輸出信息進行比較,如果兩個結果相一致,則表示芯片正常,不存在BUG;否則表示芯片存在BUG。例如,芯片理論輸出端口為第二端口,但實際輸出端口為第三端口;或者,盡管實際輸出端口為第二端口,但實際輸出結果并沒有插入或刪除VLAN TAG;或者,盡管插入或刪除了VLAN TAG,但是該TAG值并不是預設的TAG值等。
如圖2所示,為本發明的檢測ASIC芯片的裝置示意圖。該裝置包括預設信息單元、檢測單元。其中,該預設信息單元,用于在激勵數據包進入ASIC芯片以執行其相應的操作之前,根據激勵數據包要執行的操作,將預先設置的相應的輸出信息封裝在該激勵數據包的載荷內容中,然后將該激勵數據包送入至ASIC芯片執行相應處理;該檢測單元,用于在ASIC芯片的輸出端監聽激勵數據包的輸出,并將實際的輸出結果與激勵數據包中封裝的預設的輸出信息進行比較,在兩個結果相一致時,檢測結果為芯片正常,不存在BUG;在結果不一致時,檢測結果為芯片存在BUG。
其中,未封裝有預設的輸出信息的激勵數據包為用于執行各種操作的標準的路由交換數據包。
其中,該預先設置的輸出信息包括交換路由信息和/或芯片理論輸出結果。例如,包括設置路由交換端口信息、和/或者在輸出信息中是否插入或刪除虛擬局域網(Virtual Local Area Network,VLAN)標簽(TAG)、和/或者是否替換介質訪問控制(Media Access Control,MAC)地址等信息。
此外,該預設信息單元可以以編碼等形式將上述預設的輸出信息封裝到該數據包的載荷內容中。
其中,在檢測單元中,比較結果不一致的情況可以包括如下(1)實際輸出端口與預設的輸出端口不一致;(2)盡管實際輸出端口與預設的輸出端口相一致,但實際輸出結果并沒有依照預設的輸出信息插入或刪除VLAN TAG;(3)盡管實際輸出結果也依照了預設的輸出信息插入或刪除了VLANTAG,但是該TAG值并不是預設的TAG值;(4)未替換介質訪問控制地址,或替換信息錯誤等。
此外,基于如上所述,該檢測單元在確認芯片存在BUG時,可以進一步用于分析實際輸出結果與預設的相關信息不一致的地方,對BUG進行逐級定位。
綜上所述,依照本發明的檢驗ASIC芯片的方法及裝置,通過在激勵數據包進入ASIC芯片以執行其相應的操作之前,根據激勵數據包要執行的操作,將預先設置的相應的輸出信息封裝在該激勵數據包的載荷內容中,然后將該激勵數據包送入至ASIC芯片執行相應處理,并在ASIC芯片的輸出端監聽激勵數據包的輸出,在實際的輸出結果與預設的輸出信息不一致時,檢測到ASIC芯片存在BUG,并可以根據實際輸出結果與預設的相關信息不一致的地方,對BUG進行逐級定位。
以上是為了使本領域普通技術人員理解本發明,而對本發明所進行的詳細描述,但可以想到,在不脫離本發明的權利要求所涵蓋的范圍內還可以做出其它的變化和修改,這些變化和修改均在本發明的保護范圍內。
權利要求
1.一種檢測集成電路ASIC的方法,包括下列步驟步驟A在激勵數據包進入ASIC芯片以執行其相應的操作之前,根據激勵數據包要執行的操作,將預先設置的相應的輸出信息封裝在該激勵數據包的載荷內容中,然后將該激勵數據包送入至ASIC芯片執行相應處理;步驟B在ASIC芯片的輸出端監聽激勵數據包的輸出,并將實際的輸出結果與激勵數據包中封裝的預設的輸出信息進行比較,如果兩個結果相一致,則表示芯片正常,不存在BUG;否則表示芯片存在BUG。
2.如權利要求1所述的檢測ASIC的方法,其特征在于,所述步驟A中,未封裝有預設的輸出信息的激勵數據包為用于執行相應操作的標準的路由交換數據包。
3.如權利要求1所述的檢測ASIC的方法,其特征在于,所述步驟A中,所述預先設置的輸出信息包括交換路由信息和/或芯片理論輸出結果。
4.如權利要求3所述的檢測ASIC的方法,其特征在于,所述步驟A中,預先設置輸出信息包括設置路由交換端口信息、和/或在輸出信息中是否插入或刪除虛擬局域網標簽VLAN TAG、和/或是否替換介質訪問控制地址。
5.如權利要求4所述的檢測ASIC的方法,其特征在于,所述步驟B中,比較結果不一致的情況包括實際輸出端口與預設的輸出端口不一致;實際輸出結果并沒有依照預設的輸出信息插入或刪除VLAN TAG,或者插入或刪除的VLAN TAG值錯誤;未替換介質訪問控制地址,或替換信息錯誤。
6.一種檢測專用集成電路ASIC的裝置,其特征在于,包括預設信息單元、檢測單元,其中,所述預設信息單元,用于在激勵數據包進入ASIC芯片以執行其相應的操作之前,根據激勵數據包要執行的操作,將預先設置的相應的輸出信息封裝在該激勵數據包的載荷內容中,然后將該激勵數據包送入至ASIC芯片執行相應處理;所述檢測單元,用于在ASIC芯片的輸出端監聽激勵數據包的輸出,并將實際的輸出結果與激勵數據包中封裝的預設的輸出信息進行比較,在兩個結果相一致時,檢測結果為芯片正常,不存在BUG;在結果不一致時,檢測結果為芯片存在BUG。
7.如權利要求6所述的檢測ASIC的裝置,其特征在于,所述激勵數據包在未封裝有預設的輸出信息時為用于執行各種操作的標準的路由交換數據包。
8.如權利要求6所述的檢測ASIC的裝置,其特征在于,所述激勵數據包中封裝的預設的輸出信息為交換路由信息和/或芯片理論輸出結果。
9.如權利要求8所述的檢測ASIC的裝置,其特征在于,所述激勵數據包中封裝的預設的輸出信息包括設置路由交換端口信息、和/或在輸出信息中是否插入或刪除虛擬局域網標簽VLAN TAG、和/或是否替換介質訪問控制地址。
10.如權利要求9所述的檢測ASIC的裝置,其特征在于,所述檢測單元檢測結果不一致的情況包括在實際輸出端口與預設的輸出端口不一致;實際輸出結果并沒有依照預設的輸出信息插入或刪除VLAN TAG,或者插入或刪除的VLAN TAG值錯誤;未替換介質訪問控制地址,或替換信息錯誤。
全文摘要
本發明提供一種檢測集成電路ASIC的方法及裝置,包括下列步驟步驟A在激勵數據包進入ASIC芯片以執行其相應的操作之前,根據激勵數據包要執行的操作,將預先設置的相應的輸出信息封裝在該激勵數據包的載荷內容中,然后將該激勵數據包送入至ASIC芯片執行相應處理;步驟B在ASIC芯片的輸出端監聽激勵數據包的輸出,并將實際的輸出結果與激勵數據包中封裝的預設的輸出信息進行比較,如果兩個結果相一致,則表示芯片正常,不存在BUG;否則表示芯片存在BUG。依照本發明的檢測專有集成電路ASIC的方法及裝置,能夠不需要創建仿真模型,即可對ASIC芯片進行檢測或驗證,節約人力成本。
文檔編號G01R31/317GK101042424SQ20071009874
公開日2007年9月26日 申請日期2007年4月26日 優先權日2007年4月26日
發明者陳卓, 孫杰 申請人:北京南山之橋信息技術有限公司