本發明專利技術適用于芯片技術領域,本發明專利技術實施例提供了一種SOC芯片的驗證方法,所述方法包括下述步驟:加載測試程序;根據所述測試程序在系統接口函數庫中調用相應的系統函數,根據所述系統函數,及所述系統函數對應的維護列表,生成隨機事務;根據所述隨機事務,對待測試芯片進行驗證。本發明專利技術使得軟件工程師編寫的測試程序可以直接在現有的驗證平臺上運行,實現了軟硬件協同驗證,同時把低層信息進行封裝,使得驗證系統便于使用,且易于復用。
【技術實現步驟摘要】
本專利技術屬于芯片
,尤其涉及一種SOC芯片的驗證方法及系統。
技術介紹
芯片設計完成后需要進行驗證,驗證的主要任務是驗證設計的正確性,確定芯片是否符合所有的設計規范。傳統的驗證方法是直接向量測試(direct vector test),直接向量測試是一種信號級驗證,通過制造固定場景的激勵直接在信號級上與待驗證芯片進行通信,通過檢查芯片引腳信號的值和變化來驗證芯片的功能。這種驗證方法要求必須事先設計出芯片的工作場景,驗證人員直接處理非常低層次的信號級信息。采用這種驗證方法,驗證人員工作量很大,并且一些意外場景、錯誤處理場景不可能一一考慮和驗證到,而導致驗證不全面。當芯·片比較復雜、規模比較大時,直接向量測試的驗證方法基本沒有驗證能力。由于是信號級的驗證,驗證平臺直接與芯片的接口協議相關,驗證平臺重用性很差,芯片換代時原有的驗證平臺基本不可以重復使用,必須重新搭建新的驗證平臺。為了克服傳統驗證方法的缺點,芯片驗證的發展趨勢是提高抽象層次,進行事務級的驗證。代表性的事務級(transaction level)驗證方法是驗證方法手冊(VerificationMethodology Manual,VMM)。VMM驗證系統的架構如圖I所示,通過驗證人員操作配置器中的約束條件來約束產生器產生測試事務,并通過自動比較器實現了在線自動比較。采用VMM驗證方法后,可以實現受約束的隨機驗證(constrained randomverification),在設定的約束條件下進行隨機,以覆蓋正常工作場景和意外工作場景 ’覆蓋率驅動驗證(coverage driven verification),當功能覆蓋率、代碼覆蓋率達目標值以后停止隨機驗證;全自動在線比較,遇到錯誤自動報警并停止仿真,保存現場;基于斷言的驗證(assertion based verification)。VMM驗證方法實現了驗證方法從信號級向事務級的轉變,方便了數據通路類型芯片的驗證。但由于VMM驗證方法的數據交互和控制比較復雜,對多媒體芯片來說,操作待驗證芯片的方法相當復雜,不方便控制仿真流程,易用性低,而且因為其無法加入設備驅動,故無法驗證復雜的應用場景和升級成系統級驗證。
技術實現思路
本專利技術實施例的目的在于提供一種SOC芯片的驗證方法,旨在解決現有技術對于現有驗證平臺,驗證操作復雜,且無法驗證復雜的應用場景,無法在仿真系統上實現軟硬件協同驗證的問題。本專利技術實施例是這樣實現的,一種SOC芯片的驗證方法,所述方法包括下述步驟加載測試程序;根據所述測試程序在系統接口函數庫中調用相應的系統函數,根據所述系統函數,及所述系統函數對應的維護列表,生成隨機事務;根據所述隨機事務,對待測試芯片進行驗證。本專利技術實施例還提供了一種SOC芯片的驗證系統,所述系統包括加載器,用于加載測試程序;隨機事務產生器,用于根據所述加載器加載的測試程序在系統接口函數庫中調用相應的系統函數,根據所述系統函數,及所述系統函數對應的維護列表,生成隨機事務;驗證單元,用于根據所述隨機事務產生器產生的隨機事務,對待測試芯片進行驗證。本專利技術實施例通過加載的測試程序在系統接口函數庫中調用相應的系統函數,根 據系統函數,及系統函數對應的維護列表,生成隨機事務,根據隨機事務,對待測試芯片進行驗證。使得軟件工程師編寫的測試程序可以直接在現有的驗證平臺上運行,將驗證方法提升為系統級驗證,實現了軟硬件協同驗證,實現了復雜應用場景的驗證,同時通過把低層信息進行封裝,使得驗證系統便于使用,且易于復用。附圖說明圖I是本專利技術提供的現有技術的VMM驗證平臺的結構圖;圖2是本專利技術實施例一提供的SOC芯片的驗證方法的實現流程圖。圖3是本專利技術實施例一提供的測試程序開發的流程圖;圖4是本專利技術實施例二提供的生成隨機事務的方法的實現流程圖;圖5是本專利技術實施例二提供的生成測試事務的實現示例的實現流程圖;圖6是本專利技術實施例三提供的生成隨機事務的方法的實現流程圖;圖7是本專利技術實施例三提供的生成IO操作事務的實現示例的實現流程圖;圖8是本專利技術實施例四提供的生成隨機事務的方法的實現流程圖;圖9是本專利技術實施例四提供的生成隨機數或者隨機序列實現示例的實現流程圖;圖10是本專利技術實施例五提供的SOC芯片的驗證結構圖;圖11是本專利技術實施例六提供的SOC芯片的驗證結構圖;圖12是本專利技術實施例七提供的SOC芯片的驗證結構圖;圖13是本專利技術實施例七提供的隨機器件配置操作單元的結構圖;圖14是本專利技術實施例七提供的隨機IO操作單元的結構圖;圖15是本專利技術實施例七提供的隨機序列操作單元的結構圖;圖16是本專利技術實施例八提供的SOC芯片的驗證過程的流程圖。具體實施例方式為了使本專利技術的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本專利技術進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本專利技術,并不用于限定本專利技術。本專利技術實施例通過上述加載的測試程序在系統接口函數庫中調用相應的系統函數,根據上述系統函數,及上述系統函數對應的維護列表,生成隨機事務,根據上述隨機事務,對待測試芯片進行驗證。為了便于說明本專利技術的技術方案,下面通過具體實施例來進行說明實施例一圖2示出了本專利技術實施例一提供的SOC芯片的驗證方法的實現流程圖,詳述如下在步驟S201中,加載測試程序。 在本專利技術實施例中,測試程序可以實現以下功能(I)控制驗證系統的流程。(2)取得和改變驗證系統的狀態。(3)操作、訪問待測芯片。(4)產生隨機測試事務來測試芯片。(5)其他標準C/C++能完成的操作。在本專利技術實施例中,測試程序可以為驅動程序或者應用程序,例如,可以包括主程序和中斷服務程序等,其中,I、中斷服務程序可以是具有以下形式的函數int isr(int pid, int source, int port);凡具有以上形式的函數,均可以向系統注冊,成為中斷服務程序。2、中斷服務程序在主測試程序中的注冊的方式,可以調用以下函數int register_isr(int pid, int port, isr_pt isr);其中的pid是測試器件編號,port是中斷端口編號,isr即為欲注冊的函數。3、中斷的形式可以分為軟中斷和硬中斷,由“硬件”即待測試器件發出的中斷稱為“硬中斷”,而測試程序亦可向系統發出中斷,稱為“軟中斷”。調用下列函數即發出軟中斷assert_irq (int pid, int source_id, int port_id)其中,pid是測試器件編號,SOurCe_id是中斷源編號,用于表明調用者身份,port_i d則是中斷端口編號。在本專利技術實施例中,測試程序可以有多個,測試程序可以是標準的c/c++程序,此時,可以使用標準的c/c++編譯器,而且測試程序可以以測試程序庫的形式存在,例如,可以通過gCC等編譯成測試程序庫文件,測試程序庫的開發流程可以采用如圖3所示的開發流程,在開發過程中,根據c/c++庫文件,分別開發測試主程序和中斷服務程序,測試主程序和中斷服務程序經過gcc編譯成目標文件,所有目標文件經過打包生成測試程序庫。在本專利技術實施例中,可以通過直接編程接口(Direct Programming Interface,DPI)加載測試程序,通過DPI接口,C/C+本文檔來自技高網...
【技術保護點】
一種SOC芯片的驗證方法,其特征在于,所述方法包括下述步驟:加載測試程序;根據所述測試程序在系統接口函數庫中調用相應的系統函數,根據所述系統函數,及所述系統函數對應的維護列表,生成隨機事務;根據所述隨機事務,對待測試芯片進行驗證。
【技術特征摘要】
1.一種SOC芯片的驗證方法,其特征在于,所述方法包括下述步驟 加載測試程序; 根據所述測試程序在系統接口函數庫中調用相應的系統函數,根據所述系統函數,及所述系統函數對應的維護列表,生成隨機事務; 根據所述隨機事務,對待測試芯片進行驗證。2.如權利要求I所述的方法,其特征在于,當隨機事務為隨機測試事務時,所述根據所述系統函數,及所述系統函數對應的維護列表,生成隨機事務的步驟具體為 在待測試器件配置列表中,查找與所述待測試器件對應的待測試器件配置; 根據所述待測試器件配置,生成與測試事務對應的類對象; 對所述類對象進行隨機; 根據對所述類對象進行隨機的結果,生成測試事務。3.如權利要求2所述的方法,其特征在于,所述待測試器件配置包括待測試器件的寄存器映像和待測試器件的約束表達式,所述寄存器映像具體包括寄存器的名稱、地址、位寬、默認配置值、當前配置值及前一次配置值,所述約束表達式限定待測試器件的隨機參數的范圍。4.如權利要求I所述的方法,其特征在于,當隨機事務為隨機IO操作事務時,所述根據所述系統函數,及所述系統函數對應的維護列表,生成隨機事務的步驟具體為 確定隨機IO函數中需要隨機化的隨機參數; 通過IO列表,按時間先后順序產生所述隨機參數的隨機值; 根據所述隨機參數的隨機值,生成隨機IO操作事務。5.如權利要求I所述的方法,其特征在于,當隨機事務為隨機序列操作事務時,所述根據所述系統函數,及所述系統函數對應的維護列表,生成隨機事務的步驟具體為 確定測試程序需要的隨機數或者隨機序列的參數; 根據隨機序列表及所述參數,計算測試程序需要的隨機數或者隨機序列; 將所述計算出的隨機數或者隨機序列返回給測試程序,并保存在隨機序列表中。6.如權利要求I所述的方法,其特征在于,所述測試程序包括測試主程序和測試中斷服務程序; 當待測試器件沒有中斷產生時,執行測試主程序; 當待測試器件發出中斷請求時,執行中斷服務程序。7.一種SOC芯片的驗證系統,其特征在于,所述系統包括 加載器,用于加載測試程序; 隨機事務產生器,用于根據所述加載器加載...
【專利技術屬性】
技術研發人員:李新輝,
申請(專利權)人:炬力集成電路設計有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。