軟件仿真(Simulation),原型驗證(Prototyping),以及硬件仿真 (Emulation),是當前主要的三種有效的驗證方法,在芯片前端設(shè)計的功能性驗證階段起到了關(guān)鍵的作用。
近年來,由于大數(shù)據(jù)處理和AI芯片設(shè)計規(guī)模的擴大,以及市場競爭激烈導(dǎo)致的快速迭代需求,越來越多的芯片設(shè)計公司開始選擇硬件仿真,以提高芯片驗證效率,縮短芯片開發(fā)周期。
相較于軟件仿真和原型驗證,硬件仿真具有可支持設(shè)計容量大、擴展性好、工程構(gòu)建時間短、仿真速度快、調(diào)試能力強、驗證場景豐富等特點,適合大型設(shè)計從模塊級、芯片級到系統(tǒng)級的仿真驗證。
硬件仿真驗證模式
硬件仿真支持的豐富的驗證模式,可以滿足芯片設(shè)計不同階段的驗證需求,常用于架構(gòu)設(shè)計、前期開發(fā)、模塊開發(fā)、IP開發(fā)、系統(tǒng)深度調(diào)試等芯片開發(fā)階段。
常見的仿真驗證模式,主要包括:電路內(nèi)仿真(In-Circuit Emulation,ICE仿真),事務(wù)級的仿真加速(Transaction Based Acceleration,TBA仿真),以及混合仿真(QEMU)等。在不同的芯片設(shè)計階段,可以選擇合適的仿真加速方法,來提升驗證效率。
電路內(nèi)仿真(In-Circuit Emulation,ICE仿真)
電路內(nèi)仿真是使用在線仿真器(In-Circuit Emulator)進行具有特定調(diào)試技術(shù)的硬件仿真加速,其中在線仿真器代替實際硬件以便在實際系統(tǒng)環(huán)境中運行和測試。此方法允許工程師在實際的系統(tǒng)環(huán)境中進行測試和調(diào)試,而無需等待硬件原型的生產(chǎn)。這可以大大加速開發(fā)過程,并提高最終產(chǎn)品的質(zhì)量。
事務(wù)級的仿真加速(Transaction Based Acceleration,TBA仿真)
事務(wù)級的仿真加速是通過使用總線功能模型Bus Functional Model (BFM),將運行在軟件上的Testbench和運行在硬件仿真系統(tǒng)中的DUT進行事務(wù)級層面的軟硬聯(lián)合驗證。即在主機上運行的Testbench和在硬件仿真上運行的DUT是通過無時序的事物進行交互。通過這種方法,仿真速度可以大大提高,因為仿真的焦點從每個時鐘周期的具體操作轉(zhuǎn)移到了更高級別的事務(wù)。這種方法常用于大規(guī)模系統(tǒng)的設(shè)計驗證,可以提高仿真的效率。
混合仿真(Hybrid Emulation)
混合仿真是將硬件仿真與軟件仿真相結(jié)合,允許工程師同時觀察和調(diào)試系統(tǒng)的硬件和軟件部分。混合仿真可以提供對整個系統(tǒng)的全面視圖,并可以在更高的抽象級別進行仿真,可以進一步提高仿真速度和效率。是IC設(shè)計團隊在早期架構(gòu)優(yōu)化、軟硬件協(xié)同開發(fā)、RTL級仿真驗證中的重要驗證方法。
這些驗證模式都是硬件仿真的一部分或者擴展,它們提供了不同層次和粒度的仿真和驗證能力,以適應(yīng)不同的設(shè)計需求和驗證目標。在實際的設(shè)計和驗證過程中,工程師可能會根據(jù)需要選擇適合的仿真方法。
混合仿真(QEMU)
QEMU
QEMU是純軟件實現(xiàn)的一個開源、跨平臺的虛擬化模擬器,幾乎可以模擬任何硬件設(shè)備。通常是模擬一臺能夠獨立運行操作系統(tǒng)的虛擬機,混合仿真時虛擬機會以為自己和真實硬件進行數(shù)據(jù)交互,而該“硬件”實際上卻是QEMU模擬,QEMU 將這些指令轉(zhuǎn)譯給真正的硬件。本質(zhì)上,虛擬出的每個虛擬機對應(yīng)宿主系統(tǒng)(Host)上的一個QEMU進程,而虛擬機的執(zhí)行線程(如 CPU 線程、I/O 線程等)對應(yīng)QEMU進程的一個線程。
圖1 QEMU架構(gòu)圖
SystemC
SystemC是一個支持系統(tǒng)建模的開源的C++ library。混合仿真驗證前,通常優(yōu)先開發(fā)抽象SystemC模型(如TLM模型),然后將此模型轉(zhuǎn)化為RTL并基于此模型上開發(fā)軟件。在此過程中,軟硬件的諸多錯誤能盡早被發(fā)現(xiàn),從而節(jié)省開發(fā)時間。使用QEMU和SystemC可以共同組成虛擬驗證平臺,實現(xiàn)SoC系統(tǒng)級建模。
圖2SystemC Simulation
基于QEMU的混合仿真驗證
混合驗證是一種方法,它在使用硬件仿真進行DUT仿真的同時,利用虛擬原型建立目標SoC環(huán)境,并進行相應(yīng)軟硬件的協(xié)同開發(fā)調(diào)試。混合仿真是IC設(shè)計團隊在早期架構(gòu)優(yōu)化、軟硬件協(xié)同開發(fā)、RTL級仿真驗證中的重要工具。
基于QEMU和硬件仿真系統(tǒng)的混合仿真,是在硬件仿真系統(tǒng)和QEMU上同時運行SoC的不同設(shè)計模塊,在SoC整體架構(gòu)硬件實現(xiàn)之前提供嵌入式軟件和硬件的協(xié)同仿真,為系統(tǒng)架構(gòu)的優(yōu)化、RTL的早期開發(fā)、以及嵌入式軟件開發(fā),提供準確,即時的仿真驗證環(huán)境,有力推動產(chǎn)品開發(fā)周期左移,從而加速SoC的研發(fā)進程。
QEMU運行在Runtime Server上,一般通過SystemC實現(xiàn)TLM(Transaction Level Model)模型,提供虛擬CPU、Linux內(nèi)核以及用戶態(tài)程序。QEMU通過標準SCEMI協(xié)議和硬件仿真器通信,硬件仿真器上可運行SOC外設(shè)等IP,從而實現(xiàn)完整的混合仿真環(huán)境。
圖3QEMU混合仿真
混合仿真帶來的好處
混合仿真帶來了諸多好處,主要表現(xiàn)在軟件開發(fā)和集成測試的工作可以大幅度提前,顯著地縮短了項目周期。在應(yīng)用混合驗證之前,軟硬件開發(fā)和集成測試往往要等待硬件設(shè)計完成后才能開始,這將會導(dǎo)致項目周期延長。而在使用混合驗證之后,軟硬件開發(fā)和集成測試可以在硬件設(shè)計階段同時進行,這樣將會顯著地縮短整個項目周期。
圖4使用混合驗證前
圖5使用混合驗證后
基于OmniArk
和QEMU的混合仿真
思爾芯自主研發(fā)的OmniArk芯神鼎硬件仿真系統(tǒng),采用超大規(guī)模可擴展陣列架構(gòu)設(shè)計,設(shè)計容量最大10億門。支持TBA、ICE 、混合仿真等多種仿真驗證模式,可以滿足不同驗證場景需求。
思爾芯提供的混合驗證解決方案,通過連接開源虛擬機QEMU工具和OmniArk芯神鼎硬件仿真系統(tǒng),實現(xiàn)了虛擬原型硬件和嵌入式軟件協(xié)同混合驗證,為早期的設(shè)計架構(gòu)的驗證優(yōu)化、嵌入式軟件的協(xié)同開發(fā)、RTL級的仿真加速提供更準確、更及時的仿真驗證環(huán)境。
以混合仿真一個SoC芯片設(shè)計為例。SoC整體系統(tǒng)架構(gòu)如下圖所示,主要由ARMv8 CPU、AMBA BUS、NVDLA和DRAM等模塊組成。為了實現(xiàn)QEMU虛擬平臺與OmniArk芯神鼎硬件仿真系統(tǒng)的混合仿真,我們將NVDLA和DRAM移植到OmniArk芯神鼎硬件仿真系統(tǒng)中進行仿真,同時使用QEMU實現(xiàn)ARMv8的軟件模型。
圖7SoC系統(tǒng)框圖
在設(shè)計移植到OmniArk芯神鼎硬件仿真系統(tǒng)后,Runtime Server端采用QEMU模擬運行ARMv8,并通過TLM Wrapper將其掛載到AMBA總線上。OmniArk芯神鼎硬件仿真系統(tǒng)仿真運行NVDLA,通過AXI Transactor(簡稱Xtor)、GPIO Transactor掛載到AMBA總線上。Runtime Server和OmniArk芯神鼎硬件仿真系統(tǒng)之間通過SCE-MI協(xié)議進行軟硬件協(xié)同仿真。
圖8QEMU混合仿真系統(tǒng)框圖
TLM Wrapper,建立一套基于TLM模型的通信機制,將QEMU包裝成TLM模型,使QEMU模擬的設(shè)備能夠與SystemC開發(fā)的模塊進行通信。
AMBA Router,以軟件形式模擬AMBA總線,實現(xiàn)了標準的AMBA路由機制和仲裁機制,可將多個TLM模型連接并進行數(shù)據(jù)通信。
AXI TLM,是一個基于AXI總線的TLM模型,負責將AXI接口設(shè)備適配到AMBA Router總線上。
IRQ TLM,則是中斷TLM模型,負責將設(shè)備的中斷信號經(jīng)TLM2C發(fā)送給QEMU模擬的CPU,由CPU作出響應(yīng)處理。
總結(jié)
當前,許多全流程驗證工作都依賴于硬件仿真來完成。在早期,硬件仿真主要被用于代碼設(shè)計的后端階段,主要用于確認代碼功能的正確性。然而,隨著設(shè)計流程時間需求的加劇,更多的步驟開始被集成到硬件仿真中,包括早期的功耗分析、系統(tǒng)環(huán)境構(gòu)建和邏輯調(diào)試等。
同時,硬件仿真系統(tǒng)的專用化趨勢日益顯著。對于那些需要處理大量數(shù)據(jù),但算法相對單一的應(yīng)用領(lǐng)域,例如加密算法和WIFI應(yīng)用等,他們對仿真的需求正在逐步增大。在芯片設(shè)計過程中,根據(jù)設(shè)計的復(fù)雜性和特性,可能需要采用不同的仿真驗證模式。在芯片設(shè)計中,我們可能需要不同的仿真驗證模式以適應(yīng)不同的設(shè)計復(fù)雜性和特性。因此,專用的硬件仿真技術(shù)提供了強大的支持,使硬件仿真具有更高的靈活性和適應(yīng)性,滿足各種不同場景和需求的驗證任務(wù)。
思爾芯自主研發(fā)的OmniArk芯神鼎硬件仿真系統(tǒng),正是這種具有更高靈活性和適應(yīng)性的硬件仿真系統(tǒng),目前已在多個芯片設(shè)計企業(yè)成功使用。產(chǎn)品除了支持TBA、ICE 、混合仿真等多種仿真驗證模式外,還支持用戶設(shè)計的快速導(dǎo)入和全自動快速編譯、可以支持高速的仿真運行速度,同時具備強大的調(diào)試能力和對海量的數(shù)據(jù)處理能力,可以快速尋找和修復(fù)源代碼中潛在的深度錯誤和性能瓶頸。利用這個平臺,用戶可以更高效地進行芯片設(shè)計和優(yōu)化,極大地提高了芯片設(shè)計的質(zhì)量和效率。
關(guān)于思爾芯 S2C
思爾芯(S2C)自2004年設(shè)立上海總部以來始終專注于集成電路EDA領(lǐng)域。作為業(yè)內(nèi)知名的EDA解決方案專家,公司業(yè)務(wù)已覆蓋架構(gòu)設(shè)計、軟件仿真、硬件仿真、原型驗證、驗證云服務(wù)等工具。已與超過600家國內(nèi)外企業(yè)建立了良好的合作關(guān)系,服務(wù)于人工智能、高性能計算、圖像處理、數(shù)據(jù)存儲、信號處理等數(shù)字電路設(shè)計功能的實現(xiàn),廣泛應(yīng)用于物聯(lián)網(wǎng)、云計算、5G通信、智慧醫(yī)療、汽車電子等終端領(lǐng)域。
公司總部位于上海,并建立了全球化的技術(shù)研發(fā)與市場服務(wù)網(wǎng)絡(luò),在北京、深圳、西安、香港、東京、首爾及圣何塞等地均設(shè)有分支機構(gòu)或辦事處。
思爾芯在EDA領(lǐng)域的技術(shù)實力受到了業(yè)界的廣泛認可,通過多年耕耘,已在數(shù)字前端EDA領(lǐng)域構(gòu)筑了技術(shù)與市場的雙優(yōu)勢地位。并參與了我國EDA團體標準的制定,承擔了多項國家及地方重大科研項目,獲評為國家級專精特新“小巨人”企業(yè)。
審核編輯:湯梓紅
-
芯片
+關(guān)注
關(guān)注
459文章
52076瀏覽量
435185 -
軟件仿真
+關(guān)注
關(guān)注
1文章
21瀏覽量
14177 -
仿真系統(tǒng)
+關(guān)注
關(guān)注
1文章
103瀏覽量
21065 -
qemu
+關(guān)注
關(guān)注
0文章
57瀏覽量
5601
原文標題:基于OmniArk芯神鼎硬件仿真系統(tǒng)和QEMU的混合驗證平臺
文章出處:【微信號:S2C_Corporation,微信公眾號:思爾芯S2C】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于OmniArk芯神鼎硬件仿真系統(tǒng)和QEMU的混合驗證平臺

融合賦能 芯華章發(fā)布高性能FPGA雙模驗證系統(tǒng) 打造統(tǒng)一硬件驗證平臺

Veloce Apps硬件仿真平臺
DXY鼎芯電源系統(tǒng)部專注ENPIRION電源解決方案
設(shè)備仿真模擬軟件 QEMU 8.0 發(fā)布:改進對 ARM / RISC-V 架構(gòu)支持
可測性DSP軟硬件協(xié)同仿真驗證平臺設(shè)計

Mentor Graphics硬件加速仿真服務(wù)使用Veloce 硬件加速仿真平臺加速驗證
思爾芯并購國微晶銳 同步發(fā)布兩款重磅EDA新產(chǎn)品
推薦一款企業(yè)級硬件仿真系統(tǒng)—OmniArk芯神鼎
國內(nèi)原型驗證市占第一,思爾芯發(fā)布硬件仿真系統(tǒng),提速數(shù)字EDA全流程

芯華章發(fā)布國內(nèi)首臺超百億門大容量硬件仿真系統(tǒng) 完備數(shù)字驗證全流程工具平臺

企業(yè)級硬件仿真系統(tǒng)——OmniArk芯神鼎

新突破|詳解企業(yè)級國產(chǎn)硬件仿真系統(tǒng)——OmniArk芯神鼎

評論