電子產業(yè)一站式賦能平臺

PCB聯盟網

搜索
查看: 2492|回復: 0
收起左側

嵌入式硬件培訓出來_嵌入式系統(tǒng)芯片的軟硬件協同仿真環(huán)境設計

[復制鏈接]

2607

主題

2607

帖子

7472

積分

高級會員

Rank: 5Rank: 5

積分
7472
跳轉到指定樓層
樓主
發(fā)表于 2020-7-27 17:59:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
嵌入式硬件培訓出來_嵌入式系統(tǒng)芯片的軟硬件協同仿真環(huán)境設計,   

   

  隨著微電子產業(yè)日新月異的發(fā)展,IC設計的規(guī)模越來越大,集成度越來越高,已經足以將一套完整的系統(tǒng)集成到一塊小小的芯片中。在這種形勢下,SoC技術應運而生。隨著IP核復用技術的出現,SoC芯片的設計已經不再是很大的難題,SoC芯片的驗證已逐漸取代芯片設計成為芯片開發(fā)階段的瓶頸,F階段SoC芯片設計的正確性要經過前仿真、后仿真以及FPGA驗證來保證。前仿真包括單元驗證、集成驗證和系統(tǒng)驗證,后仿真包括帶反標時序SDF的網表仿真,其中系統(tǒng)驗證和后仿真都需要關注SoC芯片的全局功能,這就涉及SoC的軟件仿真和硬件仿真的協同問題。本文以DSM模型替代ARM核,以VMM驗證方法學和VCS仿真器為基礎,搭建一個可重用性高、調試和定位問題方便、仿真真實性高、軟件和硬件能夠很好配合的協同驗證平臺。

  
  


   

  軟硬件協同仿真架構如圖1所示,協同驗證分軟件驗證環(huán)境和硬件驗證環(huán)境兩部分。軟件代碼通常由C/C++和匯編語言混合編寫而成,然后由軟件編譯器轉換成二進制格式,最后將該二進制文件加載到SoC芯片的存儲器中去,芯片boot啟動時由ARM核調用軟件代碼并執(zhí)行;硬件環(huán)境基于VMM驗證方法學進行搭建,下文中會有詳細介紹。協同仿真就是通過事件和命令,使用一些機制,在這兩個環(huán)境間進行控制。

  2 DSM模型的使用

  SoC芯片的CPU一般選用ARM,協同驗證平臺中ARM可以用seamless CVE模型替代,或者直接選用ARM網表。采用seamless CVE模型進行仿真,雖然速度比較快,但需要替換設計中的Memory模型,且必須使用CVE自己的模型,這樣與芯片真實情況有出入;采用ARM網表進行仿真,速度比較慢,調試也不方便,但是更接近實際情況。相比于這兩者,本文采用的DSM(Design SimulaTIon Model)模型由ARM公司提供,能完全模擬ARM的接口和時序行為,具有更高的真實性,而且DSM無需更換存儲器模型和外掛仿真工具,使驗證DUT與實際芯片完全一致,即不必為了滿足仿真需求修改部分RTL代碼。此外,DSM環(huán)境仿真過程中輸出的LOG文件log.eis真實記錄每個周期執(zhí)行的CPU代碼和操作。根據該文件能快速定位軟件問題。CVE環(huán)境通過調用XRAY軟件調試工具,雖然可以進行單步調試、沒置斷點等操作,但出現軟件問題時定位沒有DSM環(huán)境那么直觀、方便。

  DSM是ARM公司提供的設計仿真模型,該模型直接從ARM公司的RTL代碼經過加密處理轉化而來,具有同真實RTL代碼完全一致的功能和特性。在時序仿真過程中,還能直接對該模型反標時序。在仿真過程中,將模型WRAPPER——也就是模型的最頂層——例化到RTL代碼中,仿真器在仿真過程中觸發(fā)WRAPPER,請求Model Manager動態(tài)調用模型庫進行仿真。Model Manager響應請求動態(tài)調用模型庫文件,達到功能仿真的目的。由此可以看出,Model Manager在仿真過程中充當中介角色,將模型和仿真器動態(tài)連接在一起。DSM模型的工作原理如圖2所示。

  
  


   

  3 軟件仿真疆嵌入式筆試題目, 基于嵌入式qt, 墻體嵌入式收納, 嵌入式系統(tǒng)漢英, arm嵌入式環(huán)境, 嵌入式開發(fā)網上培訓, 武漢科技大學嵌入式, 嵌入式馬桶好嘛, 嵌入式芯片檢測, 嵌入式技術主要應用, 成都嵌入式音箱, plc屬于嵌入式嗎, 嵌入式工控機知識, 嵌入式工程師工作日常, 大華嵌入式錄播設備, 嵌入式開發(fā)板與pc, 狀態(tài)機編程和嵌入式, 嵌入式項目中的難點, 蘇州嵌入式培訓中心, 嵌入式應用開發(fā)總結,

  ARM匯編器工具ARMASM、ARM的C/C++編譯工具ARMCC和ARMCPP,以及ARM的鏈接工具ARMLINK,利用ARM工具對軟件代碼進行編譯鏈接生成的文件格式為ELF格式(Executable Link File),原始代碼在文件中的位置通過SCATTER文件指定,ARM提供了fromelf工具,該工具將ELF格式的文件根據運行時域轉化為二進制文件,以便在仿真起始階段將代碼放到指定的Memory中。在makefile中將ELF格式轉化為BIN文件的具體實例如下:

  Fromelf-bin output./softWare.elf

  上述語句表示將software.elf文件轉化為二進制文件放到當前目錄。

  在軟硬件協同仿真的初始階段,需要將生成的二進制文件導入相應的存儲器中,這通過Verilog提供的系統(tǒng)函數fread實現。下面是一個將二進制文件導入存儲器的實例,先通過$fopen函數讀出文件地址,然后通過$fread函數將指定地址的文件數據傳給變量inst_fik_word,最后將變量inst_file_world中的值傳給存儲器中的相應地址單元。在DSM仿真中都需要一個這樣的“橋梁”文件,將軟件和邏輯鏈接起來。

  
  


   

  
  


   

  軟硬件協同仿真的軟件結構如圖3所示,系統(tǒng)BOOT起來后直接跳轉到main()函數進行單進程任務,如果出現中斷異常,則boot代碼中根據中斷向量表地址跳轉到中斷處理函數。中斷處理函數中包含對各中斷的處理,main()函數中調用各個模塊的TC(Test Case)函數,TC調用底層的驅動代碼。驅動代碼的編寫則基于各個模塊的寄存器定義文件和全局變量。該軟件結構清晰可控,便于各測試用例TC的并行提交和管理。

  
  


   

  
回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯系客服 關注微信 下載APP 返回頂部 返回列表