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