本發明專利技術涉及一種基于模擬器的軟硬件模型協同驗證方法及其系統。該方法包括:硬件模型在指令流水線開始工作前調用軟件模型,并將硬件模型仿真的時鐘信息發送給軟件模型;軟件模型驅動內核模擬器進行初始化配置;當硬件模型在指令流水線執行到指令執行階段時調用軟件模型,并將硬件模型仿真的當前時間點發送給軟件模型;軟件模型驅動內核模擬器執行完指令,并根據硬件模型仿真的當前時間點、時鐘信息計算指令在硬件模型中執行完成的時間點;當硬件模型寫寄存器堆時,調用軟件模型,并將指令執行完的數據信息發送給軟件模型;軟件模型驅動內核模擬器進行數據信息比較,如果數據信息比較不一致,則定位出錯指令。本發明專利技術可高效定位出錯指令。
【技術實現步驟摘要】
本專利技術涉及處理器驗證技木,特別涉及ー種基于模擬器的軟硬件協同驗證方法及系統。
技術介紹
伴隨著DSP(Digital Signal Processing,數字信號處理)處理器設計復雜度的增カロ,驗證的代價也在穩步提升。作為DSP處理器設計不可或缺的ー個環節,驗證逐漸成為了DSP處理器設計中的瓶頸,因此,尋找更加豐富的驗證手段或方法十分重要。傳統DSP處理器驗證中,軟件描述語言模型(以下簡稱“軟件模型”)和硬件描述語言模型(以下簡稱“硬件模型”)分開驗證各自的功能是否正確,這種驗證方法的缺點在干,首先,軟件模型和硬件模型必須按照各自對系統資源的要求,以及目標,配置獨立的驗證環境,這導致無法有效利用相互間的資源;其次,通過軟件模型模擬硬件模型有別于實際的DSP處理器結構,容易產生 不可預期的錯誤,導致DSP處理器設計周期的延長。軟硬件模型協同驗證的方法,在很大程度上解決了軟件模型和硬件模型分開驗證的缺點,使軟件模型和硬件模型能在同一時間進行,能夠及時發現軟件和硬件中存在的錯誤。目前基于模擬器驗證的方法已經在越來越多的處理器設計難驗證中得到了應用,在開發ー款新型號的處理器之前,首先通過軟件模型模擬微處理器內部的功能和處理器的指令集,這種模擬器主要用于檢測指令集的的設計方案是否合理,各大芯片制造公司為用戶開發硬件產品也提供了相應的模擬器,但這種模擬器主要用于軟件開發和代碼移植,無法和硬件仿真器的其他部份連接,主要的原因在于這些公司所提供的模擬器上,沒有提供接ロ供硬件仿真環境的自動調用。為了解決這個問題,最常見的是軟原型驗證,即將硬件設計仿真器協同在工作站上模擬,軟件模型與硬件模型之間通過Verilog編程語言接ロ(ProgramLanguage Interface,簡稱PLI)通信實現整個系統的軟硬件模型部分的聯合仿真。 傳統的軟硬件協同驗證方案中,通常對硬件模型設計要求偏高,在實際的驗證過程中很難精定位到出錯的指令,執行效率低下導致了自動化協同驗證效果不明顯,在軟件模型的設計上,通常需要設計周期精確的模擬器,而這種模擬器的設計復雜度通常較大。
技術實現思路
本專利技術的目的是為了解決現有技術中軟硬件模型協同驗證中不能精確定位到出錯的指令、且驗證效率低下的技術的問題。為實現上述目的,一方面,本專利技術提供了一種基于模擬器的軟硬件模型協同驗證的方法,該方法包括以下步驟硬件模型在指令流水線開始工作前調用軟件模型,并將所述硬件模型仿真的時鐘信息發送給軟件模型;軟件模型驅動內核模擬器進行初始化配置;當硬件模型在指令流水線執行到指令執行階段時調用軟件模型,并將硬件模型仿真的當前時間點發送給軟件模型;軟件模型驅動內核模擬器執行完指令,并根據硬件模型仿真的當前時間點、時鐘信息計算指令在硬件模型中執行完成的時間點;當硬件模型寫寄存器堆時,調用軟件模型,并將指令執行完的數據信息發送給軟件模型;軟件模型驅動內核模擬器進行數據信息比較,如果數據信息比較不一致,則定位出錯指令。另ー方面,本專利技術提供了一種基于模擬器的軟硬件模型協同驗證的系統,該系統包括包括硬件模型和軟件模型,其中軟件模型包括初始化模塊、模擬執行模塊和數據比較模塊。初始化模塊用于所述硬件模型在指令流水線開始工作前,驅動模擬器進行初始化配置,并接收由所述硬件模型發送的硬件仿真的時鐘精度與步長;模擬執行模塊用于當所述硬件模型在指令流水線執行到指令執行階段吋,驅動所述模擬器執行完指令,并接收所述硬件模型仿真的當前時間點,所述模擬器根據所述硬件模型仿真的當前時間點、所述時鐘精度與步長計算所述指令在硬件模型中執行完成的時間點;數據比較模塊用于接收由所述硬件模型發送的指令執行完的數據信息,并驅動所述模擬器進行數據信息比較,如果數據信息比較不一致,則定位出錯指令。本專利技術實施例提供的基于模擬器的軟硬件模型協同驗證方法,對硬件模型的設計·要求很低,且硬件模型調用軟件模型相對簡單,環境配置要求簡單,實際使用過程中通過自動化操作可高效完成出錯指令的定位。另外,不需要軟件模型提供時鐘模型,降低了對軟件模型設計的復雜度。附圖說明圖I為本專利技術實施例提供的基于模擬器的軟硬件模型協同驗證方法流程圖;圖2為本專利技術實施例提供的硬件模型訪問寄存器堆時的數據比較示意圖;圖3為本專利技術實施例提供的數據比較方法流程圖。圖4為本專利技術實施例提供的基于模擬器的軟硬件模型協同驗證系統結構示意圖。具體實施例方式本專利技術實施例提供了一種基于模擬器的軟硬件模型協同驗證方法,該方法以硬件模型為主控端,通過調用軟件模型提供的接ロ指導其執行行為。軟件模型則用于提供正確的指令級參考模型(模擬器),并以動態鏈接庫的形式交由硬件仿真軟件使用,完成模擬器執行驅動、數據比較、時鐘計算等功能。本專利技術實施例提供的軟硬件模型協同驗證方法,對硬件模型的設計要求很低,且硬件模型調用軟件模型相對容易,環境配置要求簡單,實際使用過程中通過自動化操作可高效完成出錯指令的定位。另外,軟件模型不需要提供時鐘模型,只需要提供對指令行為級的模擬,降低了對軟件模型設計的復雜度。下面通過附圖和實施例,對本專利技術的技術方案做進ー步的詳細描述。圖I為本專利技術實施例提供的一種基于模擬器的軟硬件模型協同驗證方法流程圖。如圖I所示,步驟101-103由主控端硬件模型執行,步驟110-115由軟件模型協同執行。本專利技術實施例軟件模型根據Verilog PLI提供的標準訪問機制來訪問Verilog代碼,按照PLI提供的標準訪問機制,需要在軟件模型中預先定義系統訪問函數。系統訪問函數定義如下S-tfcell 一-dec I spec (dll export) ver iusertf s [] = { {usertask, 0,0,0,cpu-step, 0, "$cpustep"},{usertask, 0,0,0,data-load, 0,"Idataload"},{usertask, 0, 0,0, peek—meiptr,0, "$peek_meni-ptr"},{usertask, 0,0,0,peek—mem—data, 0, "$peek_mem_data"},{usertask, 0,0,0,peek—meiaddress, 0,"$peek-meni-address"},{usertask, 0,0,0,dimipmera, 0, "$dumpmem"}, (0}} 在一個例子中,上述數據結構的定義描述如下權利要求1.一種基于模擬器的軟硬件模型協同驗證方法,其特征在于 硬件模型在指令流水線開始工作前調用軟件模型,并將所述硬件模型仿真的時鐘信息發送給所述軟件模型;所述軟件模型驅動內核模擬器進行初始化配置; 當所述硬件模型在指令流水線執行到指令執行階段時調用所述軟件模型,并將所述硬件模型仿真的當前時間點發送給所述軟件模型;所述軟件模型驅動所述內核模擬器執行完指令,并根據所述硬件模型仿真的當前時間點、所述時鐘信息計算所述指令在硬件模型中執打完成的時間點; 當所述硬件模型寫寄存器堆時,調用所述軟件模型,并將指令執行完成時的數據信息發送給所述軟件模型;所述軟件模型驅動所述內核模擬器進行數據信息比較,如果數據信息比較不一致,則定位出錯指令。2.根據權利要求I所述的方法,其特征在于本文檔來自技高網...
【技術保護點】
一種基于模擬器的軟硬件模型協同驗證方法,其特征在于:硬件模型在指令流水線開始工作前調用軟件模型,并將所述硬件模型仿真的時鐘信息發送給所述軟件模型;所述軟件模型驅動內核模擬器進行初始化配置;當所述硬件模型在指令流水線執行到指令執行階段時調用所述軟件模型,并將所述硬件模型仿真的當前時間點發送給所述軟件模型;所述軟件模型驅動所述內核模擬器執行完指令,并根據所述硬件模型仿真的當前時間點、所述時鐘信息計算所述指令在硬件模型中執行完成的時間點;當所述硬件模型寫寄存器堆時,調用所述軟件模型,并將指令執行完成時的數據信息發送給所述軟件模型;所述軟件模型驅動所述內核模擬器進行數據信息比較,如果數據信息比較不一致,則定位出錯指令。
【技術特征摘要】
【專利技術屬性】
技術研發人員:朱浩,彭楚,王東輝,張鐵軍,洪纓,
申請(專利權)人:中國科學院聲學研究所,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。