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

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

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

基于SystemC的系統(tǒng)級(jí)建模和驗(yàn)證流程

牽手一起夢(mèng) ? 來(lái)源:計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué) ? 作者:童琨,邊計(jì)年 ? 2020-10-04 14:36 ? 次閱讀

1 系統(tǒng)級(jí)設(shè)計(jì)與驗(yàn)證簡(jiǎn)介

片上電子系統(tǒng)的速度和復(fù)雜度的不斷提高不僅使得底層的設(shè)計(jì)實(shí)現(xiàn)易于出問(wèn)題,而且頂層的系統(tǒng)架構(gòu)、通訊機(jī)制、軟硬件劃分等都可能使系統(tǒng)的功能、性能或成本、開(kāi)發(fā)周期等指標(biāo)不滿(mǎn)足要求。一旦在底層的實(shí)現(xiàn)階段發(fā)現(xiàn)了這種頂層的設(shè)計(jì)問(wèn)題,會(huì)有大量的設(shè)計(jì)工作重新進(jìn)行;此外,工程師對(duì)設(shè)計(jì)規(guī)格的理解偏差,或設(shè)計(jì)規(guī)格本身的不完整及二義性也是造成設(shè)計(jì)錯(cuò)誤的原因之一;底層硬件的設(shè)計(jì)在驗(yàn)證時(shí)需要大量的輸入激勵(lì)和檢驗(yàn)響應(yīng),在信號(hào)級(jí)完成這樣的工作不但速度很慢而且容易遺漏。

由于電子系統(tǒng)中相當(dāng)部分的工作是由軟件完成,所以必須確保在應(yīng)用環(huán)境下軟硬件能夠正確地協(xié)同工作。以前軟件中依賴(lài)于硬件的部分通常要等到樣機(jī)加工好后才能調(diào)試,使得嵌入式軟件的完整驗(yàn)證只能在系統(tǒng)設(shè)計(jì)周期的后端進(jìn)行,此時(shí)發(fā)現(xiàn)的設(shè)計(jì)錯(cuò)誤通常要花費(fèi)較高的修改代價(jià),特別是那些牽涉到軟硬件劃分等系統(tǒng)層次的問(wèn)題。

所有這些都要求我們用跟以往大不相同的方式看待電子系統(tǒng)的設(shè)計(jì)流程:設(shè)計(jì)規(guī)格必須用形式化的、語(yǔ)法嚴(yán)格且語(yǔ)義明確的高級(jí)語(yǔ)言描述;從系統(tǒng)的頂層到底層的每一適當(dāng)?shù)某橄髮哟味疾捎煤线m的高級(jí)語(yǔ)言建立相應(yīng)的模型;每一層次的模型都要進(jìn)行驗(yàn)證,并可作為下一層次系統(tǒng)模型的參考模型和子模塊的測(cè)試平臺(tái)。如此,便可形成一系列可執(zhí)行的設(shè)計(jì)規(guī)格( Executable Specification ),并將驗(yàn)證工作左移到系統(tǒng)設(shè)計(jì)的早期階段,從而達(dá)到消除設(shè)計(jì)規(guī)格的歧義性和及早發(fā)現(xiàn)較高層次的設(shè)計(jì)錯(cuò)誤的目的。

目前國(guó)際上已普遍做到用高級(jí)語(yǔ)言來(lái)進(jìn)行系統(tǒng)的規(guī)格描述和底層實(shí)現(xiàn),從而形成從系統(tǒng)頂層到底層的一系列可驗(yàn)證的模型;軟件與硬件的相互驗(yàn)證不必等到實(shí)物樣機(jī)加工好再進(jìn)行,而是與硬件的RTL模型聯(lián)合仿真。其存在的主要問(wèn)題有:頂層設(shè)計(jì)如算法等用的是傳統(tǒng)的軟件高級(jí)語(yǔ)言C++、Fortran等,而底層的硬件設(shè)計(jì)用的是硬件描述語(yǔ)言VHDL、Verilog,這樣造成整個(gè)設(shè)計(jì)和驗(yàn)證流程不夠順暢,各層次之間難以做到無(wú)縫連接;對(duì)于更復(fù)雜或運(yùn)算量非常大的系統(tǒng),驗(yàn)證的速度尤其是軟硬件聯(lián)合仿真的速度太慢,難以進(jìn)行有效的驗(yàn)證。上述問(wèn)題的解決方法是:規(guī)定軟硬件設(shè)計(jì)和驗(yàn)證統(tǒng)一的高級(jí)描述語(yǔ)言;規(guī)范抽象方式和級(jí)別,特別是在RTL之上規(guī)范硬件平臺(tái)的建模方法。

國(guó)際上EDA界經(jīng)過(guò)幾年的發(fā)展與討論,公認(rèn)最有前途成為電子系統(tǒng)設(shè)計(jì)與驗(yàn)證統(tǒng)一語(yǔ)言的就是SystemC,它是在C++的基礎(chǔ)上加上一套適合于硬件描述的模板庫(kù)和仿真內(nèi)核構(gòu)成,并不斷地?cái)U(kuò)充進(jìn)有望成為標(biāo)準(zhǔn)的附加庫(kù),如驗(yàn)證庫(kù)SCV、事務(wù)級(jí)建模庫(kù)TLM API等。

在基于SystemC的系統(tǒng)級(jí)建模和驗(yàn)證流程中,首先在頂層建立較高抽象級(jí)的模型,主要用于完成系統(tǒng)控制與算法的設(shè)計(jì)分析,進(jìn)行物理架構(gòu)的功能性能的設(shè)計(jì)分析。通過(guò)建立系統(tǒng)級(jí)的抽象模型,執(zhí)行仿真分析和評(píng)估給出量化的指標(biāo),從而對(duì)系統(tǒng)級(jí)的功能性能作出正確的設(shè)計(jì),并在此基礎(chǔ)上進(jìn)行軟硬件模塊劃分。

2 模型層次

為便于后面敘述的方便,這里先簡(jiǎn)要介紹一下系統(tǒng)建模的幾種抽象方式和應(yīng)用類(lèi)型。

抽象方式可分為:

非定時(shí)功能UTF(UnTimed Functional):可用于模型的接口和內(nèi)部功能,進(jìn)程的執(zhí)行和數(shù)據(jù)傳輸都不耗費(fèi)時(shí)間, 時(shí)間只可能作為定序機(jī)制而使用。

定時(shí)功能TF(Timed Functional):可用于模型的接口和內(nèi)部功能,進(jìn)程的執(zhí)行和數(shù)據(jù)傳輸都都分配了有限的時(shí)間。

總線(xiàn)周期精確BCA(Bus Cycle Accurate):僅用于模型的接口,而非內(nèi)部功能,定時(shí)精確到時(shí)鐘周期,通常與系統(tǒng)時(shí)鐘相關(guān),不引入管腳級(jí)的細(xì)節(jié),信息傳輸通常以事務(wù)的方式建模。

管腳周期精確PCA(Pin Cycle Accurate):僅用于模型的接口,而非內(nèi)部功能,定時(shí)精確到時(shí)鐘周期,通常與系統(tǒng)時(shí)鐘相關(guān),描述精確到管腳級(jí)。

寄存器傳輸精確RT(Register Transfer accurate):同時(shí)用于模型的接口和內(nèi)部功能,所有的事情都被安排了時(shí)間,時(shí)鐘用于同步,需要做完整的詳細(xì)的功能說(shuō)明,每個(gè)寄存器、每條總線(xiàn)、每一位在每個(gè)周期的行為都有描述,能夠直接被邏輯綜合器綜合成硬件實(shí)現(xiàn),等同于RTL模型。

應(yīng)用類(lèi)型可分為:

系統(tǒng)架構(gòu)模型SAM(System Architectural Model):是系統(tǒng)的一份不含時(shí)間信息的可執(zhí)行規(guī)格,描述系統(tǒng)的硬件和軟件成分。模型接口用不含管腳細(xì)節(jié)的UTF方式,通常描述通訊協(xié)議;模型功能也用UTF方式,行為用算法來(lái)建模,且主要以順序方式描述。此種模型主要用于架構(gòu)探索和算法驗(yàn)證。

系統(tǒng)性能模型SPM(System Performance Model):是系統(tǒng)的一份含時(shí)間信息的可執(zhí)行規(guī)格,描述系統(tǒng)的硬件和軟件成分。模型接口用不含管腳細(xì)節(jié)的UTF或TF方式,通常描述通訊協(xié)議,通訊行為可以是定時(shí)的但不一定達(dá)到周期精確;模型功能可用TF或UTF方式,行為用算法來(lái)建模,順序或并發(fā)方式都可以采用,定時(shí)不是周期精確的。此種模型主要用于高層次性能建模和時(shí)間預(yù)算。

事務(wù)級(jí)模型TLM(Transaction Level Model):用于建模可執(zhí)行的平臺(tái),通常只描述硬件。模型接口用不含管腳細(xì)節(jié)的TF方式,可以是也可以不是周期精確的,數(shù)據(jù)傳輸用事務(wù)方式建模;模型功能用TF方式,但不必是周期精確的。

功能模型(Functional Model):指抽象級(jí)別在TLM之上的模型,包括SAM和SPM。

系統(tǒng)級(jí)模型(System Level Model):指抽象級(jí)別在RTL之上的模型,包括SAM、SPM和TLM。

3 事務(wù)級(jí)建模方法TLM

事務(wù)級(jí)建模方法TLM(Transaction Level Modeling)是為了解決以下問(wèn)題而發(fā)展起來(lái)的,這些問(wèn)題包括提供軟件開(kāi)發(fā)的早期平臺(tái);系統(tǒng)架構(gòu)探索與驗(yàn)證;系統(tǒng)級(jí)模型在模塊級(jí)驗(yàn)證中的應(yīng)用。它用于建??蓤?zhí)行的平臺(tái),通常只描述硬件。

所謂事務(wù),一方面指把低層次的信息傳輸組合成的較高級(jí)別的傳輸,比如把讀寫(xiě)一大塊數(shù)據(jù)作為一個(gè)事務(wù),它包含總線(xiàn)上的若干次突發(fā)傳輸,每個(gè)突發(fā)傳輸又會(huì)包含地址連續(xù)的多個(gè)數(shù)據(jù)傳輸;另一方面指不牽涉具體的信號(hào),而是把傳輸中涉及到的信息分類(lèi)作為整體表示。事務(wù)級(jí)建模方法把模塊的功能和模塊間的通訊分開(kāi)建模,模塊間通訊用事務(wù)來(lái)表示,接口用不含管腳細(xì)節(jié)的TF方式,功能也用TF方式,是否周期精確根據(jù)需要而定。通過(guò)提高抽象級(jí)別,并把分散在各模塊中的通訊協(xié)議處理功能集成在專(zhuān)門(mén)的通訊模塊中完成,極大地加快了系統(tǒng)仿真的速度。

軟件工程師可以使用處理器指令集仿真器ISS(Instruction Set Simulator)來(lái)測(cè)試程序,ISS使用總線(xiàn)事務(wù)訪(fǎng)問(wèn)外部設(shè)備,總線(xiàn)事務(wù)通過(guò)總線(xiàn)功能模型連接到硬件模型,從而使軟硬件測(cè)試過(guò)程無(wú)縫連接。以前的總線(xiàn)功能模型是PCA,相應(yīng)的硬件模型是RTL,導(dǎo)致仿真速度很慢, 現(xiàn)在通過(guò)使用事務(wù)作為內(nèi)部模塊間通信的方式,總線(xiàn)功能模型是BCA,相應(yīng)的硬件模型是TLM,軟件模型、硬件模型和測(cè)試平臺(tái)可以在較高的抽象級(jí)連接成整體,仿真速度快100倍以上,并可在設(shè)計(jì)周期中更早的階段與ISS一起作為軟件運(yùn)行的平臺(tái)。具體可見(jiàn)示意圖1。

在TLM級(jí)實(shí)現(xiàn)可執(zhí)行的規(guī)格有助于進(jìn)行系統(tǒng)架構(gòu)的性能分析,探索不同的架構(gòu)方案;為RTL設(shè)計(jì)提供參考模型和驗(yàn)證平臺(tái);可以作為軟件開(kāi)發(fā)的平臺(tái),優(yōu)化軟硬件劃分方案。所以事務(wù)級(jí)的系統(tǒng)硬件可執(zhí)行規(guī)格又稱(chēng)為可執(zhí)行平臺(tái)EP( Executable Platform )。它是架構(gòu)精確的,為軟件開(kāi)發(fā)和模塊級(jí)的驗(yàn)證提供一個(gè)快速全功能的環(huán)境。當(dāng)EP作為底層RTL模塊的測(cè)試平臺(tái)時(shí),需要將相應(yīng)的TLM模塊替換為目標(biāo)RTL模塊與transactor的組合,transactor是SystemC的術(shù)語(yǔ),作用是將一種抽象級(jí)的接口轉(zhuǎn)換為另一種抽象級(jí)的接口。

基于SystemC的系統(tǒng)級(jí)建模和驗(yàn)證流程

圖1 由TLM構(gòu)成的可執(zhí)行平臺(tái)

由于高層模型(如算法模型)的仿真速度通常要比低一層的模型快10倍或更多,同時(shí)高層模型可重用為低層次設(shè)計(jì)的參考模型,高層的可執(zhí)行規(guī)格可作為低層設(shè)計(jì)模塊的驗(yàn)證平臺(tái),因此經(jīng)常需要將不同層次的模型混合仿真。把高層模型的對(duì)外接口用transactor形式轉(zhuǎn)換成低層模型的接口,就可以連接到整個(gè)系統(tǒng)上。

4 總結(jié)

系統(tǒng)級(jí)設(shè)計(jì)和驗(yàn)證包括從系統(tǒng)規(guī)格開(kāi)始的設(shè)計(jì)輸入、架構(gòu)評(píng)估、功能驗(yàn)證、多層次多語(yǔ)言混合驗(yàn)證、軟硬件協(xié)同開(kāi)發(fā)及驗(yàn)證等高抽象度的描述方法和驗(yàn)證技術(shù)。

SystemC作為一種適用于多層次建模和仿真的高級(jí)語(yǔ)言,已被廣泛應(yīng)用于系統(tǒng)級(jí)設(shè)計(jì)和驗(yàn)證的多個(gè)領(lǐng)域,為研究不同的系統(tǒng)結(jié)構(gòu)、進(jìn)行算法評(píng)估、軟硬件任務(wù)劃分和軟件開(kāi)發(fā)提供了有效的方法。它能使整個(gè)團(tuán)隊(duì)使用一種語(yǔ)言來(lái)靈活地組合不同的抽象層次,使設(shè)計(jì)者優(yōu)化系統(tǒng)的設(shè)計(jì)和驗(yàn)證流程。

事務(wù)級(jí)模型(TLM)與寄存器傳輸級(jí)(RTL)模型相比較,是在更高抽象級(jí)別上對(duì)系統(tǒng)硬件建模,在結(jié)構(gòu)級(jí)的組件上交換數(shù)據(jù)或執(zhí)行事件。事務(wù)級(jí)描述抽象度較高,比RTL容易開(kāi)發(fā),這樣在設(shè)計(jì)早期就可得到系統(tǒng)的硬件模型;TLM比相應(yīng)的RTL模型仿真速度快100倍以上,在TLM級(jí)的平臺(tái)上可以很快地運(yùn)行軟件,非常適合于架構(gòu)和性能分析、早期的軟硬件協(xié)同驗(yàn)證。

責(zé)任編輯:gt

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

    關(guān)注

    33

    文章

    8257

    瀏覽量

    149960
  • eda
    eda
    +關(guān)注

    關(guān)注

    71

    文章

    2654

    瀏覽量

    172171
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SystemC的隨機(jī)驗(yàn)證過(guò)程是怎樣的?

    SystemC是基于C++的系統(tǒng)級(jí)設(shè)計(jì)語(yǔ)言,兼具描述硬件電路模型和面向?qū)ο蟮某橄竽芰Α?/div>
    的頭像 發(fā)表于 08-07 09:43 ?787次閱讀
    <b class='flag-5'>SystemC</b>的隨機(jī)<b class='flag-5'>驗(yàn)證</b>過(guò)程是怎樣的?

    關(guān)于功能驗(yàn)證、時(shí)序驗(yàn)證、形式驗(yàn)證、時(shí)序建模的論文

    隨著集成電路的規(guī)模和復(fù)雜度不斷增大,驗(yàn)證的作用越來(lái)越重要。要在較短的時(shí)間內(nèi)保證芯片最終能正常工作,需要將各種驗(yàn)證方法相結(jié)合,全面充分地驗(yàn)證整個(gè)系統(tǒng)。FF-DX是一款高性能定點(diǎn)DSP,為
    發(fā)表于 12-07 17:40

    如何在ModelSim下用SystemC的做驗(yàn)證

    如何在ModelSim下編譯和仿真SystemC的設(shè)計(jì)?如何在ModelSim下用SystemC的做驗(yàn)證?SystemC作為一種系統(tǒng)
    發(fā)表于 03-01 11:30

    請(qǐng)問(wèn)數(shù)字電路的系統(tǒng)級(jí)設(shè)計(jì)驗(yàn)證工具及流程?

    群主好,我想請(qǐng)教數(shù)字電路的系統(tǒng)級(jí)設(shè)計(jì)驗(yàn)證工具及流程?即系統(tǒng)工程師常用的硬件描述語(yǔ)言,系統(tǒng)驗(yàn)證工具
    發(fā)表于 09-05 15:11

    如何基于uvm方法學(xué)采用systemc進(jìn)行IC驗(yàn)證?

    請(qǐng)教各位大佬,UVM是基于sv的驗(yàn)證方法學(xué),如果采用systemc語(yǔ)言編程,如何實(shí)現(xiàn)?
    發(fā)表于 11-07 15:30

    硬件驗(yàn)證語(yǔ)言——簡(jiǎn)介

    級(jí)建模語(yǔ)言。 SystemC 應(yīng)用于系統(tǒng)級(jí)建模、架構(gòu)探索、性能
    發(fā)表于 02-16 13:36

    SystemC進(jìn)行SoC的系統(tǒng)級(jí)設(shè)計(jì)與仿真

    IC 技術(shù)已發(fā)展到SoC 階段,系統(tǒng)級(jí)設(shè)計(jì)、仿真和驗(yàn)證已成為IC 設(shè)計(jì)面臨的巨大挑戰(zhàn)。SystemC 是新興的系統(tǒng)
    發(fā)表于 05-18 13:44 ?28次下載

    基于SystemC事務(wù)級(jí)建模仿真研究

    事務(wù)級(jí)(Transaction-Level,TL)建模SystemC 中提出的一種新型高層次建模方法,以CoCentric System Studio(CCSS)作為
    發(fā)表于 07-30 15:27 ?24次下載

    基于SystemC系統(tǒng)驗(yàn)證研究和應(yīng)用

    視頻編解碼芯片中運(yùn)動(dòng)估計(jì)與補(bǔ)償單元(MECU)的算法復(fù)雜,使用傳統(tǒng)硬件描述語(yǔ)言建立模型和模型驗(yàn)證的過(guò)程繁瑣耗時(shí),為了縮短芯片驗(yàn)證時(shí)間,本文針對(duì)MECU模塊提出了基于SystemC語(yǔ)言
    發(fā)表于 02-24 12:07 ?16次下載

    數(shù)字專(zhuān)用集成電路設(shè)計(jì)中的SystemC建模驗(yàn)證方法

    數(shù)字專(zhuān)用集成電路設(shè)計(jì)中的SystemC建模驗(yàn)證方法
    發(fā)表于 07-17 16:36 ?31次下載

    利用基于SystemC/TLM的方法學(xué)進(jìn)行IP開(kāi)發(fā)和FPGA

    利用基于SystemC/TLM的方法學(xué)進(jìn)行IP開(kāi)發(fā)和FPGA建模 隨著系統(tǒng)級(jí)芯片技術(shù)的出現(xiàn),設(shè)計(jì)規(guī)模正變得越來(lái)越大,因而變得非常復(fù)雜,同時(shí)上市時(shí)間也變得更加苛刻。通常RTL已
    發(fā)表于 01-04 13:11 ?5319次閱讀
    利用基于<b class='flag-5'>SystemC</b>/TLM的方法學(xué)進(jìn)行IP開(kāi)發(fā)和FPGA

    片上網(wǎng)絡(luò)的SystemC建模研究

    為了實(shí)現(xiàn)軟硬件協(xié)同設(shè)計(jì)和提高仿真速度的需求,采用SystemC語(yǔ)言的建模方法,通過(guò)對(duì)片上網(wǎng)絡(luò)體系結(jié)構(gòu)的研究,提出了一種片上網(wǎng)絡(luò)的建模方案,并對(duì)一個(gè)mesh結(jié)構(gòu)完成了SystemC
    發(fā)表于 07-30 11:46 ?42次下載
    片上網(wǎng)絡(luò)的<b class='flag-5'>SystemC</b><b class='flag-5'>建模</b>研究

    SystemC驗(yàn)證方法和流程介紹

    SystemC 是由C++衍生而來(lái),本質(zhì)是在C++的基礎(chǔ)上添加了硬件擴(kuò)展庫(kù)和仿真核,這使SystemC 可以在不同抽象級(jí)對(duì)復(fù)雜電子系統(tǒng)建模。
    發(fā)表于 07-19 11:55 ?4933次閱讀
    <b class='flag-5'>SystemC</b> 的<b class='flag-5'>驗(yàn)證</b>方法和<b class='flag-5'>流程</b>介紹

    采用SystemC ESL設(shè)計(jì)的九個(gè)理由

    支持SystemC的電子系統(tǒng)級(jí)(ESL)設(shè)計(jì)和驗(yàn)證環(huán)境旨在設(shè)計(jì),分析,優(yōu)化和驗(yàn)證片上系統(tǒng)(SoC
    的頭像 發(fā)表于 10-03 17:05 ?4964次閱讀

    ESL設(shè)計(jì)的核心——事務(wù)級(jí)建模介紹

    關(guān)于ESL的描述更多側(cè)重于它在方法學(xué)上的抽象描述,實(shí)現(xiàn)ESL設(shè)計(jì)的核心是事務(wù)級(jí)建模(TLM,Transaction Level Modeling)。 要實(shí)現(xiàn)ESL的設(shè)計(jì)流程,包括系統(tǒng)
    的頭像 發(fā)表于 11-02 14:38 ?1047次閱讀