嵌入式系統(tǒng)芯片的軟硬件協(xié)同仿真環(huán)境設計
摘要:針對嵌入式系統(tǒng)芯片SoC開發(fā)驗證階段的需求,介紹了一種通用的SoC軟硬件協(xié)同仿真平臺。軟件仿真由C/C++和匯編語言編寫,硬件仿真基于VMM驗證方法學所搭建,SoC設計代碼由RTL代碼編寫而成。將SoC設計代碼中的ARM由DSM模型替代,通過VCS編譯器將軟硬件協(xié)同起來進行信息交互,實現(xiàn)一種速度快、真實性高、調(diào)試方便的通用性仿真平臺。
關鍵詞:協(xié)同仿真;DSM模型;驗證方法學;片上系統(tǒng)
1 概述
隨著微電子產(chǎn)業(yè)日新月異的發(fā)展,IC設計的規(guī)模越來越大,集成度越來越高,已經(jīng)足以將一套完整的系統(tǒng)集成到一塊小小的芯片中。在這種形勢下,SoC技術應運而生。隨著IP核復用技術的出現(xiàn),SoC芯片的設計已經(jīng)不再是很大的難題,SoC芯片的驗證已逐漸取代芯片設計成為芯片開發(fā)階段的瓶頸?,F(xiàn)階段SoC芯片設計的正確性要經(jīng)過前仿真、后仿真以及FPGA驗證來保證。前仿真包括單元驗證、集成驗證和系統(tǒng)驗證,后仿真包括帶反標時序SDF的網(wǎng)表仿真,其中系統(tǒng)驗證和后仿真都需要關注SoC芯片的全局功能,這就涉及SoC的軟件仿真和硬件仿真的協(xié)同問題。本文以DSM模型替代ARM核,以VMM驗證方法學和VCS仿真器為基礎,搭建一個可重用性高、調(diào)試和定位問題方便、仿真真實性高、軟件和硬件能夠很好配合的協(xié)同驗證平臺。
軟硬件協(xié)同仿真架構如圖1所示,協(xié)同驗證分軟件驗證環(huán)境和硬件驗證環(huán)境兩部分。軟件代碼通常由C/C++和匯編語言混合編寫而成,然后由軟件編譯器轉換成二進制格式,最后將該二進制文件加載到SoC芯片的存儲器中去,芯片boot啟動時由ARM核調(diào)用軟件代碼并執(zhí)行;硬件環(huán)境基于VMM驗證方法學進行搭建,下文中會有詳細介紹。協(xié)同仿真就是通過事件和命令,使用一些機制,在這兩個環(huán)境間進行控制。
2 DSM模型的使用
SoC芯片的CPU一般選用ARM,協(xié)同驗證平臺中ARM可以用seamless CVE模型替代,或者直接選用ARM網(wǎng)表。采用seamless CVE模型進行仿真,雖然速度比較快,但需要替換設計中的Memory模型,且必須使用CVE自己的模型,這樣與芯片真實情況有出入;采用ARM網(wǎng)表進行仿真,速度比較慢,調(diào)試也不方便,但是更接近實際情況。相比于這兩者,本文采用的DSM(Design Simulation Model)模型由ARM公司提供,能完全模擬ARM的接口和時序行為,具有更高的真實性,而且DSM無需更換存儲器模型和外掛仿真工具,使驗證DUT與實際芯片完全一致,即不必為了滿足仿真需求修改部分RTL代碼。此外,DSM環(huán)境仿真過程中輸出的LOG文件log.eis真實記錄每個周期執(zhí)行的CPU代碼和操作。根據(jù)該文件能快速定位軟件問題。CVE環(huán)境通過調(diào)用XRAY軟件調(diào)試工具,雖然可以進行單步調(diào)試、沒置斷點等操作,但出現(xiàn)軟件問題時定位沒有DSM環(huán)境那么直觀、方便。
評論