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

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

Ron Wilson,Altera公司
2012-08-09

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

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

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