0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

先進(jìn)仿真器需要具備什么功能?

話說科技 ? 2021-03-26 17:37 ? 次閱讀


芯片有別于其他產(chǎn)品,一個(gè)顯著特性就是它的一次性工程費(fèi)用(NRE)非常的高昂。芯片內(nèi)一個(gè)微小邏輯錯(cuò)誤可能導(dǎo)致上千萬(wàn)美金損失。這也意味在流片前,工程師需要花大量時(shí)間利用數(shù)字仿真器來(lái)驗(yàn)證芯片,保證其功能的正確。

仿真技術(shù)是芯片驗(yàn)證必不可少的一個(gè)環(huán)節(jié),它是保證芯片功能正常的關(guān)鍵手段。仿真主要是通過計(jì)算機(jī)結(jié)合測(cè)試激勵(lì)(stimuli)來(lái)模擬芯片在真實(shí)環(huán)境下的運(yùn)行狀況;同時(shí)工程師可以通過各種調(diào)試手段來(lái)判斷運(yùn)行結(jié)果是否符合預(yù)期。數(shù)字仿真器主要是針對(duì)數(shù)字電路的仿真,設(shè)計(jì)工程師需要應(yīng)用硬件描述語(yǔ)言(HDL)來(lái)設(shè)計(jì)電路,而驗(yàn)證工程師也需要用抽象層的HDL來(lái)搭建測(cè)試環(huán)境;仿真工具需要解釋編譯這些HDL代碼,并計(jì)算出仿真結(jié)果,以便工程師檢查結(jié)果。

圖一 數(shù)字仿真器流程

二十年前,一百萬(wàn)門的設(shè)計(jì)可以被稱作超大規(guī)模集成電路,而今數(shù)千萬(wàn)門的電路已經(jīng)司空見慣。數(shù)字芯片集成度越來(lái)越高,伴隨的設(shè)計(jì)驗(yàn)證語(yǔ)言和方法學(xué)不斷推陳出新,各種應(yīng)用平臺(tái)也層出不窮。這一系列的技術(shù)發(fā)展都給數(shù)字仿真器帶來(lái)了前所未有的挑戰(zhàn)。設(shè)計(jì)具有競(jìng)爭(zhēng)力的片上系統(tǒng)(SoC)需要合理地利用各種高精尖的技術(shù)。對(duì)于數(shù)字仿真器來(lái)說,它面臨的挑戰(zhàn)不僅僅是芯片規(guī)模上的增長(zhǎng),還有伴隨而來(lái)的一系列問題,包括:算力受限、調(diào)試效率低下、平臺(tái)單一化等。芯華章在數(shù)字仿真器領(lǐng)域做了深入的研究和探索。放眼未來(lái),我們認(rèn)為一款好的數(shù)字仿真器應(yīng)該具備以下條件:

一、語(yǔ)義解析的合規(guī)性(conformity)

仿真器對(duì)語(yǔ)法正確解析決定了它能否正確理解設(shè)計(jì)意圖,同時(shí)也可以避免相同的編碼在不同的仿真器下產(chǎn)生不同仿真結(jié)果。設(shè)計(jì)仿真器最大的挑戰(zhàn)在于對(duì)HDL語(yǔ)法全面的解析。Verilog標(biāo)準(zhǔn)(IEEE1364)和SystemVerilog標(biāo)準(zhǔn)(IEEE1800)定義的這兩種語(yǔ)言的語(yǔ)義非常的復(fù)雜,關(guān)鍵字眾多,各種組合情況近乎無(wú)窮。如SystemVerilog中的interface,在interface中可以做assert,可以在其中使用task,function,還可在其中擴(kuò)展各種modport等。要做到全面完整的測(cè)試,需要在構(gòu)建仿真器的測(cè)試用例時(shí)考慮的語(yǔ)法的各個(gè)方面,以及各種邊界場(chǎng)景。

通常人們認(rèn)為,計(jì)算機(jī)語(yǔ)言是形式化(formal)的表達(dá)式,不存在歧義,但實(shí)際上,IEEE標(biāo)準(zhǔn)中存在很多模糊的界定,尤其在對(duì)發(fā)生競(jìng)爭(zhēng)冒險(xiǎn)(race condition)時(shí)的行為沒有明確的規(guī)定,處理這些問題,就需要開發(fā)者的經(jīng)驗(yàn)和技巧。

二、良好的性能 (performance)

衡量仿真器的性能量化指標(biāo)之一是:運(yùn)行(runtime)時(shí)的CPU處理速度和內(nèi)存消耗?,F(xiàn)今的大規(guī)模集成電路動(dòng)輒上億門,如果還是依賴傳統(tǒng)的仿真技術(shù),當(dāng)設(shè)計(jì)和環(huán)境的規(guī)模一旦達(dá)到某個(gè)數(shù)值,大部分商業(yè)仿真器性能都會(huì)顯著下降,造成效率低下。這其實(shí)是因?yàn)閭鹘y(tǒng)的工具基本都是基于單機(jī)(single host)構(gòu)架來(lái)設(shè)計(jì)的。在網(wǎng)絡(luò)互聯(lián)日益發(fā)達(dá)的今天,分布式數(shù)據(jù)庫(kù)和多核并行計(jì)算等理論越來(lái)越成熟,仿真器也必須考慮并利用這些新技術(shù)取得更多性能上的突破。

三、卓越的調(diào)試功能(debuggability)

調(diào)試的重點(diǎn)在于可觀測(cè)性和可控制性。在數(shù)字電路調(diào)試中可觀測(cè)性表現(xiàn)形式有多種,如波形,記錄文本(log file),電路圖(schematics),源代碼,事務(wù)級(jí)數(shù)據(jù)表圖等等。調(diào)試工具的核心功能是針對(duì)不同的場(chǎng)景提供能夠各種有效的數(shù)據(jù)表現(xiàn)形式,并在不同數(shù)據(jù)形式間的可以同步數(shù)據(jù)標(biāo)注(annotation)。此外,降低工具的使用門檻,讓初級(jí)用戶非??焖俚卣莆照{(diào)試技術(shù),并且提供通用語(yǔ)言的二次開發(fā)的接口,也是優(yōu)秀的調(diào)試工具需要著重考慮的。

四、支持跨平臺(tái)(platform-independent)

傳統(tǒng)的EDA工具大多數(shù)和單一CPU構(gòu)架耦合度高,例如某些EDA工具僅支持x86的平臺(tái)。一旦需要遷移到另一種平臺(tái)上,所需要的研發(fā)工作量是巨大的。如今,處理器生態(tài)越來(lái)越多樣化,未來(lái)的平臺(tái)不再是某個(gè)單一處理器的平臺(tái),降低EDA工具對(duì)底層CPU構(gòu)架的耦合度,可以讓用戶更加有效地把工具部署在任何平臺(tái)上,也讓產(chǎn)品有更多應(yīng)用空間,比如:在移動(dòng)端的和云端的交互仿真,在移動(dòng)端和服務(wù)器端的聯(lián)合仿真,利用FPGA和GPGPU的異構(gòu)加速仿真等。

LLVM的存在為跨平臺(tái)提供了技術(shù)支撐。LLVM是Chris Lattner博士于2000年開發(fā)的一種編譯器的框架系統(tǒng),他的目的在于提供一種可以適配多平臺(tái)的編譯系統(tǒng),讓前端語(yǔ)言和后端目標(biāo)平臺(tái)解耦。利用LLVM框架開發(fā)的仿真軟件,理論上可以適配到任意目標(biāo)平臺(tái),甚至可以部署在分布式操作系統(tǒng)上,產(chǎn)品應(yīng)用范圍顯著擴(kuò)大。

芯華章在跨平臺(tái)方面做了研究探索,2020年11月,芯華章的仿真器利用LLVM技術(shù)已經(jīng)成功將軟件運(yùn)行在國(guó)產(chǎn)CPU架構(gòu)上。這一步工程量看似不大,但是現(xiàn)實(shí)意義非凡:這是中國(guó)EDA企業(yè)率先利用LLVM技術(shù)實(shí)現(xiàn)跨平臺(tái)支持,從某種意義上,它說也推動(dòng)了傳統(tǒng)保守的EDA行業(yè)朝著更開放的技術(shù)領(lǐng)域拓展。

五、特定場(chǎng)景應(yīng)用(scenario-based applications)

不同的應(yīng)用場(chǎng)景對(duì)仿真器有不同的特殊要求,先進(jìn)的仿真器需要具備各種場(chǎng)景下所需的功能。在大規(guī)模設(shè)計(jì)中,整個(gè)設(shè)計(jì)和驗(yàn)證環(huán)境的編譯時(shí)間可能高達(dá)數(shù)十小時(shí),這種速度在調(diào)試頻繁的設(shè)計(jì)初期是無(wú)法接受。因此,如果仿真器能夠只針對(duì)修改過的設(shè)計(jì)部分進(jìn)行重編譯,而保留大部分沒改變已有編譯結(jié)果(snapshot),那么重編譯一次的時(shí)間就會(huì)大大減少,效率就得以提升。這種技術(shù)通常叫做:增量式編譯(incremental elaboration),或者分區(qū)式編譯(partition compilation)。

消費(fèi)電子芯片中涉及到大量的冷復(fù)位和熱復(fù)位,在這些復(fù)位情況下的不定態(tài)傳播(x-state propagation)很大幾率會(huì)造成芯片潛在的非確定性(indeterministic)功能故障。因此,檢查不定態(tài)(X-state)在復(fù)位情況下的傳播極為重要。傳統(tǒng)的仿真器通常僅能在門級(jí)仿真(Gate Level Simulation)時(shí)檢查這些功能,但是門級(jí)仿真已經(jīng)屬于設(shè)計(jì)后期,且仿真效率低下,即便檢查出問題再修改,對(duì)項(xiàng)目進(jìn)度來(lái)說也是壓力巨大。如果仿真器能夠在設(shè)計(jì)前期對(duì)RTL就能快速檢查不定態(tài)傳播,那么就可以節(jié)省更多后仿真時(shí)間。

當(dāng)然,還有很多其他的場(chǎng)景應(yīng)用,如基于多進(jìn)程多核加速,基于異構(gòu)系統(tǒng)的仿真等,囿于文章篇幅這里不能一一展開,我們將在今后的文章中擇機(jī)敘述。

圖二 先進(jìn)仿真器

數(shù)字仿真在浩瀚的科學(xué)海洋只是某個(gè)分支,但也是一個(gè)技術(shù)密集型的多學(xué)科的領(lǐng)域,它涉及到各種技術(shù),包括:編譯原理、數(shù)據(jù)庫(kù)、運(yùn)籌學(xué)、形式邏輯、拓?fù)鋵W(xué)、控制理論等。

在十四五計(jì)劃指導(dǎo)下,我們深深意識(shí)到科學(xué)技術(shù),尤其是EDA技術(shù),從來(lái)沒有像今天這樣深刻影響著國(guó)家的前途命運(yùn)。芯華章在EDA仿真技術(shù)領(lǐng)域不斷探索進(jìn)取,同時(shí)也深感肩負(fù)使命的迫切,我們非常愿意和業(yè)界專業(yè)人士交流分享,共同成為新時(shí)代科技創(chuàng)新的排頭兵!


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    EE-175: 仿真器與EZ-KIT Lite評(píng)估系統(tǒng)問題解決指南

    電子發(fā)燒友網(wǎng)站提供《EE-175: 仿真器與EZ-KIT Lite評(píng)估系統(tǒng)問題解決指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-08 14:41 ?0次下載
    EE-175: <b class='flag-5'>仿真器</b>與EZ-KIT Lite評(píng)估系統(tǒng)問題解決指南

    TMS320C8x仿真器安裝指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C8x仿真器安裝指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-24 17:43 ?0次下載
    TMS320C8x<b class='flag-5'>仿真器</b>安裝指南

    ISOM871x高速單通道光仿真器評(píng)估模塊

    電子發(fā)燒友網(wǎng)站提供《ISOM871x高速單通道光仿真器評(píng)估模塊.pdf》資料免費(fèi)下載
    發(fā)表于 11-15 14:29 ?0次下載
    ISOM871x高速單通道光<b class='flag-5'>仿真器</b>評(píng)估模塊

    使用PSpice仿真器對(duì)TI智能高側(cè)開關(guān)中的熱行為進(jìn)行建模

    電子發(fā)燒友網(wǎng)站提供《使用PSpice仿真器對(duì)TI智能高側(cè)開關(guān)中的熱行為進(jìn)行建模.pdf》資料免費(fèi)下載
    發(fā)表于 09-24 09:26 ?0次下載
    使用PSpice<b class='flag-5'>仿真器</b>對(duì)TI智能高側(cè)開關(guān)中的熱行為進(jìn)行建模

    光耦仿真器簡(jiǎn)介

    電子發(fā)燒友網(wǎng)站提供《光耦仿真器簡(jiǎn)介.pdf》資料免費(fèi)下載
    發(fā)表于 08-28 11:45 ?0次下載
    光耦<b class='flag-5'>仿真器</b>簡(jiǎn)介

    TI磁感應(yīng)仿真器功能簡(jiǎn)介

    電子發(fā)燒友網(wǎng)站提供《TI磁感應(yīng)仿真器功能簡(jiǎn)介.pdf》資料免費(fèi)下載
    發(fā)表于 08-28 09:48 ?0次下載
    TI磁感應(yīng)<b class='flag-5'>仿真器</b><b class='flag-5'>功能</b>簡(jiǎn)介

    隔離認(rèn)證標(biāo)準(zhǔn)揭秘:光耦合與光耦仿真器

    電子發(fā)燒友網(wǎng)站提供《隔離認(rèn)證標(biāo)準(zhǔn)揭秘:光耦合與光耦仿真器.pdf》資料免費(fèi)下載
    發(fā)表于 08-27 10:49 ?0次下載
    隔離認(rèn)證標(biāo)準(zhǔn)揭秘:光耦合<b class='flag-5'>器</b>與光耦<b class='flag-5'>仿真器</b>

    仿真器的使用方法有哪些

    仿真器是一種用于模擬和測(cè)試電子系統(tǒng)、軟件或硬件的工具。它可以幫助工程師在實(shí)際硬件或軟件部署之前,對(duì)設(shè)計(jì)進(jìn)行驗(yàn)證和調(diào)試。 仿真器的基本概念 仿真器是一種軟件或硬件工具,用于模擬和測(cè)試電子系統(tǒng)、軟件或
    的頭像 發(fā)表于 08-22 09:16 ?945次閱讀

    用ST-LINK仿真器IAR調(diào)試STM8板子,仿真器總是報(bào)錯(cuò)如何解決?

    Thu Feb 23, 2017 13:48:17: Failed to get execution status: SWIM error [30004]: Comm timeout ,之前沒用過STM8,新買仿真器,仿真器總是出現(xiàn)這個(gè)錯(cuò)誤,如何解決
    發(fā)表于 05-08 07:46

    fpga仿真器是什么?它有哪些優(yōu)勢(shì)?

    FPGA仿真器是一種用于模擬FPGA(現(xiàn)場(chǎng)可編程門陣列)硬件行為的軟件工具。它通過模擬FPGA內(nèi)部的邏輯電路、時(shí)序和接口等,幫助工程師在FPGA設(shè)計(jì)過程中進(jìn)行功能驗(yàn)證和性能測(cè)試。FPGA仿真器在FPGA開發(fā)流程中扮演著至關(guān)重要的
    的頭像 發(fā)表于 03-15 15:15 ?1824次閱讀

    fpga原型驗(yàn)證平臺(tái)與硬件仿真器的區(qū)別

    FPGA原型驗(yàn)證平臺(tái)與硬件仿真器在芯片設(shè)計(jì)和驗(yàn)證過程中各自發(fā)揮著獨(dú)特的作用,它們之間存在明顯的區(qū)別。
    的頭像 發(fā)表于 03-15 15:07 ?1157次閱讀

    fpga仿真器接口定義

    FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列)仿真器接口的定義主要依賴于仿真器的具體設(shè)計(jì)和所支持的通信協(xié)議。在FPGA的設(shè)計(jì)和仿真過程中,接口的定義對(duì)于實(shí)現(xiàn)與
    的頭像 發(fā)表于 03-15 14:01 ?1315次閱讀

    光耦仿真器的優(yōu)勢(shì)有哪些

    光耦仿真器與業(yè)內(nèi)最常見的光耦合引腳對(duì)引腳兼容,有助于無(wú)縫集成到現(xiàn)有設(shè)計(jì)中,同時(shí)提供相同的信號(hào)行為。
    的頭像 發(fā)表于 01-30 15:07 ?579次閱讀

    快速原型開發(fā)板如何連接EZ-CUBE3仿真器

    EZ-CUBE3是具有Flash存儲(chǔ)編程功能的片上調(diào)試仿真器,可以用于調(diào)試MCU程序或?qū)⒊绦驘龑懙組CU的內(nèi)置Flash中。
    的頭像 發(fā)表于 01-25 09:19 ?2719次閱讀
    快速原型開發(fā)板如何連接EZ-CUBE3<b class='flag-5'>仿真器</b>

    NuMaker_Uni脫離仿真器代碼無(wú)法運(yùn)行怎么解決?

    RT,使用NuMaker_Uni控制OLED,連接仿真器下載代碼正常,拔掉仿真器通過電池供電的5V端口供電MCU代碼不運(yùn)行(代碼中有控制LED閃爍,LED不亮),用示波器測(cè)試了Vcc,RESET等電壓均正常。
    發(fā)表于 01-17 06:48