《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 解決方案 > 系統(tǒng)建模成為主流

系統(tǒng)建模成為主流

Ron Wilson,Altera公司
2012-08-09

    “系統(tǒng)建模”這一詞語揭示了復(fù)雜芯片系統(tǒng)(SoC)設(shè)計工程以及規(guī)模龐大的航空航天計劃,。而實際上,,系統(tǒng)建模技術(shù)的根本在于IC設(shè)計和航空航天工業(yè)。但是今天,,出于各種原因,,很多領(lǐng)域的系統(tǒng)設(shè)計人員在開發(fā)完整的原型系統(tǒng)之前必須對其電子系統(tǒng)設(shè)計進(jìn)行建模,。

 
    原因是多方面的,這些原因?qū)е鲁霈F(xiàn)了各種各樣的系統(tǒng)模型,,如圖1所示,。有時候,僅僅是因為軟件團(tuán)隊希望盡早開始設(shè)計工作,。原理上,,規(guī)劃人員可以把軟件分成與硬件無關(guān)規(guī)模較大的部分,以及與硬件功能相關(guān)而規(guī)模要小很多的部分,。(Android等平臺強(qiáng)化了這種不同,,應(yīng)用程序完全與硬件無關(guān))。然后,,設(shè)計人員能夠在服務(wù)器自帶工具上開發(fā)硬件相關(guān)代碼,,使用服務(wù)器功能替代目標(biāo)系統(tǒng)的應(yīng)用程序接口(API)。這種API替代本身就是一種系統(tǒng)建模,。
 
圖1.系統(tǒng)模型中的抽象層
 
    但是,,隨著系統(tǒng)設(shè)計的集成度越來越高,他們需要把詳細(xì)的硬件行為放到應(yīng)用層中,,包括延時和能耗等,。這種發(fā)展趨勢導(dǎo)致一些經(jīng)驗豐富的設(shè)計人員開始懷疑硬件無關(guān)軟件這種觀念。Mike Dini是FPGA設(shè)計公司Dini集團(tuán)的創(chuàng)始人,,在今年的設(shè)計自動化大會(DAC)原型開發(fā)討論組中闡述了“軟件設(shè)計人員如果沒有實際硬件就無法取得真正進(jìn)步”這一令人注目的觀點(diǎn),。相似的,Tensilica的資深產(chǎn)品專家Andrea Kroll在系統(tǒng)建模DAC討論組中發(fā)表了自己的看法,,“在華為,,我們嘗試了軟件驅(qū)動的系統(tǒng)開發(fā)。但是,,軟件團(tuán)隊在沒有硬件時,,并不知道怎樣開始工作。”這些懷疑觀點(diǎn)導(dǎo)致設(shè)計團(tuán)隊在設(shè)計早期便構(gòu)建詳細(xì)的硬件模型,,以便軟件團(tuán)隊能夠開始工作,。
 
系統(tǒng)研究
 
    由于系統(tǒng)越來越復(fù)雜,規(guī)劃人員很難預(yù)測最終產(chǎn)品會怎樣工作,。傳統(tǒng)的表格模型甚至最好的SoC數(shù)據(jù)表都不足以回答關(guān)鍵問題:數(shù)據(jù)包吞吐量實際是多少?應(yīng)用程序性能會滿足用戶的預(yù)期嗎?能接受電池壽命或者散熱嗎?有時候,,回答這類問題的唯一方法是開發(fā)非常詳細(xì)的系統(tǒng)模型,利用模型來研究用戶案例和體系結(jié)構(gòu)替代方案,。
 
    系統(tǒng)建模的第三種應(yīng)用是系統(tǒng)驗證,,這種應(yīng)用可能看起來不太引人注意。軟件的優(yōu)勢是明顯的,。Xilinx研究實驗室的Austin Lesea在DAC系統(tǒng)建模組中發(fā)表評論說:“您可以在C語言中進(jìn)行大量的軟件驗證,。當(dāng)您需要周期精確標(biāo)準(zhǔn)時,,問題就來了。”軟件驗證需要精確的可執(zhí)行硬件模型,。
 
    但是,,需求已經(jīng)超出了軟件調(diào)試。Cadence資深設(shè)計師Stuart Swan在討論組對此發(fā)表不同看法:“我們需要改變我們的觀念,。我們應(yīng)該把更多的系統(tǒng)驗證提高到更高的抽象級,,重新使用更抽象的模型來生成底層模型。”這一方法要求在開發(fā)原型之前,,在各種抽象級上驗證系統(tǒng)模型功能,,很多情況下,甚至是某些IC涉及到的寄存器傳送級(RTL),。
 
    有些專家說,,早期驗證不僅僅是盡早找到設(shè)計錯誤,還有很重要的結(jié)果,。測試臺是會話發(fā)起器和校驗器,,進(jìn)行隨機(jī)測試,可以重用驗證事物級模型開發(fā)的基本工具,,將其應(yīng)用于更詳細(xì)的模型上,,甚至是物理原型。通過這種方式,,系統(tǒng)設(shè)計團(tuán)隊不僅避免了在設(shè)計期間多次重新開發(fā)相同的測試臺,,而且還可以在設(shè)計過程中盡早開始調(diào)試測試臺。此時,,團(tuán)隊進(jìn)行詳細(xì)的系統(tǒng)驗證,,測試臺應(yīng)該非常穩(wěn)定。
但是,,我并沒有進(jìn)行SoC開發(fā)
 
    您會說,所有這一切聽起來很合理,。但是,,如果我們的設(shè)計團(tuán)隊購買了專用標(biāo)準(zhǔn)產(chǎn)品(ASSP),而不是設(shè)計自己的SoC,,情況會怎樣?我們要使用模型,,應(yīng)該怎么辦?這里有幾種回答。
 
    對于系統(tǒng)設(shè)計團(tuán)隊,,最直觀的方法是編寫非常抽象的事物級模型,,他們只需要在數(shù)據(jù)表級理解ASSP及其周圍的芯片。在這一等級足以理解系統(tǒng)的工作,,并與系統(tǒng)進(jìn)行通信,,研究使用案例,。對于以后更復(fù)雜的建模工作,這可以用作工作臺,。
 
    理想情況下,,如果可以使用ASSP,很明顯的下一步是硬件原型設(shè)計,,采用芯片供應(yīng)商已經(jīng)設(shè)計好并調(diào)試過的開發(fā)套件來進(jìn)行開發(fā),。如果沒有開發(fā)套件,甚至連硅片也沒有,,或者系統(tǒng)設(shè)計還沒準(zhǔn)備好支持部分原型,,那么,還有別的選擇,。
 
    正如ARM設(shè)計技術(shù)副總裁John Goodenough在建模討論組中所建議的,,一種選擇是,在您的前一代SoC上使用開發(fā)套件,,仔細(xì)的實現(xiàn)各種不同應(yīng)用,。取決于這些不同應(yīng)用的差異程度,例如,,從功能和用戶案例研究到性能建模,,甚至是某些驅(qū)動程序的開發(fā)等,可以一直使用這些原型,。這有助于幾代ASSP共享存儲器和總線體系結(jié)構(gòu),,只需要進(jìn)行很小的改動,就能夠加速設(shè)計實現(xiàn),。
 
虛擬原型
 
    那么,,如果既沒有您計劃使用的ASSP,也沒有非常相近的器件,,該怎么辦呢?當(dāng)您已經(jīng)快完成了硬件原型開發(fā),,但是需要提高對系統(tǒng)內(nèi)部的可視化程度,您應(yīng)該怎么辦呢?芯片供應(yīng)商通過系統(tǒng)級虛擬原型來回答這些問題,,如圖2所示,。
圖2.虛擬原型工具將不同級別的模型連接至統(tǒng)一的調(diào)試工作臺中
 
    理想情況下,系統(tǒng)虛擬原型會是一組模型,,在幾種抽象級上精確的表示系統(tǒng)(請參考工具條:每一目標(biāo)模型),。原型會提供已經(jīng)開發(fā)好的調(diào)試和軟件執(zhí)行接口,提供很好的方法將組件加入到系統(tǒng)模型中,。
 
    這一想法并非不切實際,。Frank Schirrmeister是Cadence系統(tǒng)開發(fā)產(chǎn)品市場資深總監(jiān),他認(rèn)為,越來越多的IC供應(yīng)商構(gòu)建了復(fù)雜SoC的虛擬模型,,幫助客戶圍繞芯片模型開發(fā)全系統(tǒng)虛擬模型,。在某些情況下,這些模型實際上成為IC數(shù)據(jù)表,。Schirrmeister評論說,,我們將模型提供給客戶,這些模型通常包括事物級和加密RTL視圖,,硅片供應(yīng)商的現(xiàn)場應(yīng)用工程師還為客戶提供幫助,。芯片模型成為系統(tǒng)開發(fā)人員完整系統(tǒng)模型的一部分,也是硅片和系統(tǒng)設(shè)計團(tuán)隊之間的通信手段,。實際上,,當(dāng)FPGA供應(yīng)商Altera和Xilinx最近推出集成了CPU群的FPGA后,他們出于這一目的,,都為新芯片提供了虛擬模型,。
 
設(shè)計人員實際使用什么
 
     在DAC系統(tǒng)模型建模討論組中,EDN的EDA編輯,、主持人Brian Bailey詢問小組成員,,他們的系統(tǒng)建模實際是什么情況。答案反映了不同設(shè)計團(tuán)隊的各種需求,,以及他們的各種觀點(diǎn),。
 
     運(yùn)動研究(RIM)公司的資深建模專家Frederic Risacher描述了大部分開發(fā)人員通常會面臨的環(huán)境。我們不設(shè)計IC,。Risacher解釋說:“我們購買硅片,,然后通過軟件來突出我們的產(chǎn)品優(yōu)勢。”
 
     Risacher說,,RIM不設(shè)計自己的硅片這一事實使得設(shè)計團(tuán)隊的建模策略比較復(fù)雜,,但是基本上不會改變。工作不是從硬件建模開始,,而是從軟件開始,。Risacher說:“至少在我們得到硅片之前的九個月,甚至是在得到虛擬原型之前,,我們就開始開發(fā)過程和線程模型,。然后,盡快開發(fā)功能精確,、周期近似的硬件模型。”
 
      Risacher繼續(xù)解釋了RIM在這些模型上依靠其IC供應(yīng)商,。但是在這種關(guān)系上存在一個基本問題,。芯片設(shè)計人員把他們的可綜合RTL代碼作為其IC的定義模型。但是,不能直接從RTL獲得RIM需要的更抽象的模型,。Risacher解釋說:“因此,,所有的都來自規(guī)范,而不是RTL,。”
 
    RIM出于幾種不同的目的來使用這些模型,。在設(shè)計早期階段,重點(diǎn)是理解軟件對硬件的要求,。Risacher提醒說:“硅片和用戶需求之間的不同要求對硬件進(jìn)行改動,。您會嘗試預(yù)測這些問題。”當(dāng)系統(tǒng)設(shè)計整合到一起時,,RIM團(tuán)隊轉(zhuǎn)到更詳細(xì)的模型,,用于系統(tǒng)調(diào)整——例如,設(shè)置緩沖深度,,還用于研究新想法,。結(jié)果是功能強(qiáng)大的工具組,但是,,存在管理難題,。Risacher說:“我們在三種不同的領(lǐng)域中有四種不同的模型。這些模型的每一個都可以分別進(jìn)行提取,、驗證和維持,。
 
     Qualcomm的首席工程師Richard Higgins從硅片供應(yīng)商的角度講述了一個相似的案例。Higgins說,;“我們使用系統(tǒng)模型來預(yù)測硬件的行為,,盡早開始軟件開發(fā)。”問題是,,要實現(xiàn)這兩個目標(biāo)需要很多不同抽象級,。Higgins解釋說:“我們使用完整的系列模型,包括,,結(jié)構(gòu),、功能、行為和接口級抽象,。此外,,我們會有一些可執(zhí)行SysML,還涉及到一些可綜合SystemC,。”
 
     和RIM相似,,Qualcomm面臨保持模型連續(xù)性這一難題,與硅片團(tuán)隊在RTL上有相同的看法,。Higgins建議說,,這方面最重要的最佳實踐是,為所有不同的模型維持一個公共驗證途徑。但這很難,。他說:“目前,,還沒有真正的體系結(jié)構(gòu)和軟件模型公共驗證途徑。”
 
    Tensilica的Kroll說,,甚至IP開發(fā)人員也面臨相似的問題,。她說:“在開發(fā)IP子系統(tǒng)時,對于多核設(shè)計,,我們在早期軟件開發(fā),、互聯(lián)分析和性能驗證中使用系統(tǒng)模型。”這一工作需要從指令集仿真器到數(shù)據(jù)流發(fā)生器的所有一切,,以便采用注釋時序?qū)τ布K進(jìn)行建模,。Kroll建議說:“您應(yīng)該知道使用模型的目的,確定各種抽象級的組合,,以及您所需要的精度,。”

總結(jié)
 
    幾個不同設(shè)計團(tuán)隊的經(jīng)驗表明,即使是使用商用ASSP的系統(tǒng)設(shè)計團(tuán)隊,,系統(tǒng)級建模都有很大的優(yōu)勢,。使用模型,軟件開發(fā)團(tuán)隊在能夠使用硬件原型之前,,盡早開始工作,。這樣,系統(tǒng)團(tuán)隊盡早查看系統(tǒng)行為,、性能,,以及能耗等,從而降低風(fēng)險,。使用系統(tǒng)模型,,初步規(guī)劃怎樣構(gòu)建系統(tǒng)測試臺,可以盡早開始系統(tǒng)驗證,。
 
    “但玫瑰都有刺”,。一些不知名的系統(tǒng)設(shè)計團(tuán)隊很難甚至不可能從ASSP供應(yīng)商那里得到模型和支持。這些團(tuán)隊可能不得不從數(shù)據(jù)表描述中獲得他們自己的IC模型,。系統(tǒng)模型需要進(jìn)行驗證,,正如系統(tǒng)本身自己那樣。所有不同的系統(tǒng)模型應(yīng)保持一致性,,這非常重要,。但這是很大的挑戰(zhàn),因為,,不同的模型一般由不同的工程師手動得到,,有時候還有不同的來源,。不同的模型還存在于不同的工具環(huán)境中,,一般不具有互操作性,,可以由不同的團(tuán)隊使用??紤]到這些問題,,建模工作不應(yīng)受限于資源,本身也不應(yīng)成為完整的設(shè)計工程,,這一點(diǎn)非常重要,。
 
    既能夠發(fā)揮優(yōu)點(diǎn),又解決了難點(diǎn)問題,,全面的系統(tǒng)建模計劃并不是每一設(shè)計的最佳解決方案,。但是,由于系統(tǒng)越來越復(fù)雜,,更多的設(shè)計都會需要模型,。盡早熟悉該技術(shù)是很明智的,而不應(yīng)該等到您確定“我們應(yīng)該對此進(jìn)行建模”時才想起這一技術(shù),。
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]