新聞中心

基于TLM的驗(yàn)證

作者: 時(shí)間:2011-06-10 來源:網(wǎng)絡(luò) 收藏
與電子產(chǎn)業(yè)的其它領(lǐng)域一樣,在設(shè)計(jì)自動(dòng)化領(lǐng)域,借助標(biāo)準(zhǔn)化,許多技術(shù)和方法學(xué)得以被廣泛接受。例如,硬件描述語言Verilog的標(biāo)準(zhǔn)化使得RTL綜合在80年代中期就開始應(yīng)用。

  在驗(yàn)證領(lǐng)域,使得基于事務(wù)的驗(yàn)證方法學(xué)被廣泛接受的背后推動(dòng)力是新興標(biāo)準(zhǔn)。諸如OSCI的TLM(事務(wù)級(jí)建模)2.0和Accellera的標(biāo)準(zhǔn)協(xié)同仿真建模接口(SCE-MI)等標(biāo)準(zhǔn)導(dǎo)致了對(duì)事務(wù)的興趣高漲。此外,驗(yàn)證流程目前使用硬件加速和仿真來加速基于事務(wù)的驗(yàn)證。

  為什么要使用事務(wù)?

  Cadence Design Systems系統(tǒng)設(shè)計(jì)和驗(yàn)證產(chǎn)品管理部門總監(jiān)Ran Avinun表示,在系統(tǒng)設(shè)計(jì)建模時(shí),通常要實(shí)現(xiàn)三個(gè)目標(biāo)?!暗谝粋€(gè)是早期軟件開發(fā),第二個(gè)是早期系統(tǒng)定義,第三個(gè)是可執(zhí)行規(guī)范的描述,當(dāng)你進(jìn)行架構(gòu)權(quán)衡的最初會(huì)需要它們,”Avinun說。

  事務(wù)適合用在哪些地方?為什么設(shè)計(jì)工程師希望從事務(wù)級(jí)模型開始,并最終將這些模型用硬件加速實(shí)現(xiàn)?對(duì)許多用戶來說,答案在于它可實(shí)現(xiàn)快得多的模擬?!叭绻銓⒛P蛯懗?B>TLM,或通過基于事務(wù)的驗(yàn)證進(jìn)行通信,就可實(shí)現(xiàn)更快速的模擬?!盇vinun指出。

  采用TLM的另一個(gè)好處是調(diào)試起來更快、更容易。“一般來說,如果你編寫TLM,則生成的錯(cuò)誤更少,且調(diào)試所花的時(shí)間也更少。它還提供了一個(gè)區(qū)分功能和實(shí)現(xiàn)的機(jī)會(huì),”Avinun稱。

  “你想要編寫一個(gè)能表述功能的模型,然后將約束分開。它們可以是時(shí)鐘約束或是針對(duì)特定工藝節(jié)點(diǎn),隨時(shí)間變化的東西。當(dāng)你從一個(gè)應(yīng)用轉(zhuǎn)到另一個(gè)應(yīng)用或從一個(gè)節(jié)點(diǎn)轉(zhuǎn)向另一個(gè)節(jié)點(diǎn)時(shí),復(fù)用模型會(huì)更容易?!盇vinun說。

  事務(wù)是如何使用的

  據(jù)Synopsys的系統(tǒng)級(jí)解決方案產(chǎn)品營銷總監(jiān)Frank Schirrmeister介紹,當(dāng)談及TLM時(shí),至少有五種使用模型已成主流(見下表)。排在列表首位的是復(fù)用的情況。

  


  在這種情況下,你的設(shè)計(jì)的很大一部分已經(jīng)用RTL編寫。此時(shí),最佳方案是一種混合模式的模擬方法學(xué),其中,現(xiàn)有的RTL在FPGA上運(yùn)行。與此同時(shí),該設(shè)計(jì)中面向新模塊的TLM作為虛擬樣機(jī)運(yùn)行。

  排名第二位的是驗(yàn)證使用模式。在這種情況下,你啟動(dòng)一個(gè)測(cè)試平臺(tái),然后在RTL可用之前開發(fā)一個(gè)虛擬樣機(jī)。這是借助無時(shí)序TLM實(shí)現(xiàn)的。

  “人們從無時(shí)序模型著手定義其想要涵蓋的驗(yàn)證場(chǎng)景?!盨chirrmeister說,“當(dāng)我用手機(jī)玩游戲和下載東西時(shí),它還能接電話嗎?借助虛擬平臺(tái),你可在早期很容易地定義這些情況,因?yàn)樗鼈冇蛇\(yùn)行在處理器上的軟件完成。隨后你可以在項(xiàng)目中使用它們?!?/P>

  第三種使用模式是評(píng)估系統(tǒng)與外部世界之間的聯(lián)系。這些聯(lián)系既可以是物理的也可能是虛擬I/O形態(tài)。

  “例如,對(duì)于USB接口,你希望在高保真條件下與真實(shí)世界建立連接。但如果這一接口還不存在,你可以用虛擬的方式與其建立連接,這樣你就能著手軟件開發(fā),”Schirrmeister說。

  雖然USB是一個(gè)具有說服力的例子,但Schirrmeister 還列舉了設(shè)計(jì)團(tuán)隊(duì)采用該方法學(xué)在手機(jī)中接入無線接口的例子。它是通過FPGA軟件在虛擬端實(shí)現(xiàn)的。

  第四個(gè)使用模型是針對(duì)遠(yuǎn)程軟件開發(fā)的情況。為滿足物理硬件尚不存在這一情況下的需求,可借助于以虛擬原型形式出現(xiàn)的早期軟件開發(fā)環(huán)境?!霸谶@種情況下,你要?jiǎng)?chuàng)建一個(gè)開發(fā)環(huán)境,工作在該環(huán)境下的軟件開發(fā)人員甚至不需要知道其軟件是運(yùn)行在FPGA原型還是虛擬平臺(tái)上。”正如Schirrmeister 所言,這是一種“使軟件開發(fā)人員置身實(shí)驗(yàn)室之外”的做法。

  第五個(gè)(也是最后一個(gè))使用模式是一種涉及在FPGA上構(gòu)建硬件原型的更簡(jiǎn)單的軟件開發(fā)方法?!笆聦?shí)證明,F(xiàn)PGA不是運(yùn)行處理器的首選,因?yàn)镕PGA更多地是關(guān)注DSP?!盨chirrmeister 說。通過將處理器模型本身轉(zhuǎn)為軟件實(shí)現(xiàn),你可以通過連接硬件原型以及在軟件側(cè)進(jìn)行處理獲得更均衡的處理速度。此外,因不再需要考慮軟件的某些部分,可獲得非常快的運(yùn)行速度。

  工具和流程演變

  為實(shí)現(xiàn)進(jìn)一步發(fā)展,TLM需滿足三個(gè)要求。其中最顯而易見的兩個(gè)是嵌入式軟件開發(fā)和設(shè)計(jì)驗(yàn)證?!膀?yàn)證工程師需要簡(jiǎn)單、直接的測(cè)試?!盨chirrmeister說。另一個(gè)不斷發(fā)展變化的要求是隨機(jī)測(cè)試生成,它采用校驗(yàn)監(jiān)控器以及包含用TLM表述的用于系統(tǒng)級(jí)芯片(SoC)綜合驗(yàn)證的覆蓋范圍。隨機(jī)測(cè)試模式的生成、覆蓋檢查以及監(jiān)視器的使用等情況將及時(shí)傳播到TLM領(lǐng)域和虛擬樣機(jī)。

  TLM有待融合的第三個(gè)要求是與實(shí)現(xiàn)的直接鏈接?!拔覀兎Q這一流程為‘TLM到GDSII’?!盨chirrmeister 說。 “過去有兩個(gè)世界。一個(gè)側(cè)重虛擬平臺(tái),而另一個(gè)側(cè)重高級(jí)綜合。我們認(rèn)為在將來某個(gè)時(shí)候,這兩個(gè)世界將合二為一。”

  對(duì)許多設(shè)計(jì)工程師以及EDA供應(yīng)商來說,問題是如何在虛擬平臺(tái)和高級(jí)綜合(HLS)流程之間建立鏈接。

  “一直以來都試圖用TLM鏈接這些世界?!盕orte Design Systems的市場(chǎng)和銷售副總裁Brett Cline說。“但問題始終是該標(biāo)準(zhǔn)只考慮了驗(yàn)證而沒考慮綜合。在TLM規(guī)范中缺少了一些非?;镜珜?duì)硬件設(shè)計(jì)而言至關(guān)重要的東西。例如,沒有專有的復(fù)位機(jī)制?!?/P>

  OSCI內(nèi)部的努力最終導(dǎo)致了TLM 1.0標(biāo)準(zhǔn)的修訂,進(jìn)而催生了TLM 2.0版本。 “我們對(duì)OSCI TLM 1.0進(jìn)行了擴(kuò)展,做了一些你或許期望我們做的一些事,也即對(duì)綜合的了解?!盋line說?!癟LM 2.0是一個(gè)更加關(guān)注綜合的標(biāo)準(zhǔn),它主要專注于基于總線的系統(tǒng)。”TLM 2.0包括各種面向基于總線系統(tǒng)的事務(wù)應(yīng)用編程接口(API)。

  Cline認(rèn)為,由于驗(yàn)證工程師和實(shí)現(xiàn)之間的鴻溝,虛擬平臺(tái)和HLS是分開的?!叭藗儚膬蓚€(gè)角度來看待它。你或者是一位驗(yàn)證者(從虛擬平臺(tái)角度來看),或者是一位用SystemC進(jìn)行硬件設(shè)計(jì)的實(shí)現(xiàn)者?!盋line說?!艾F(xiàn)在,驗(yàn)證者已經(jīng)認(rèn)識(shí)到,TLM代表著一條無需重寫就能完成實(shí)現(xiàn)的可行途徑。同時(shí),實(shí)現(xiàn)者也正開始明白該如何將一些東西集成進(jìn)運(yùn)行得非常快的系統(tǒng)模型?!?/P>

  Schirrmeister表示,過去,大部分廠商和用戶在隔離時(shí)已經(jīng)使用了虛擬平臺(tái)和/或HLS?!皠?chuàng)制TLM 2.0是為有助于早期軟件開發(fā)和高性能模擬,但它對(duì)HLS考慮不多。實(shí)際上,我們正借助可綜合子集來推動(dòng)TLM 2.0標(biāo)準(zhǔn)解決HLS需求。這是業(yè)界需應(yīng)對(duì)的發(fā)展方向?!彼f。

  硬件生成

  基于事務(wù)驗(yàn)證的一個(gè)重要組成是借助TLM可實(shí)現(xiàn)極高速驗(yàn)證的硬件。最近,Synopsys推出了其快速原型系統(tǒng)HAPS-60系列作為Confirma平臺(tái)的組成部分?;谫愳`思Virtex-6 FPGA構(gòu)建的HAPS-60系統(tǒng)是對(duì)“自建還是購買”決策的最新回應(yīng),過去涉及快速原型技術(shù)時(shí)會(huì)面臨該問題。

  該系列產(chǎn)品包括三種型號(hào):HAPS-61(單 FPGA,多達(dá)450萬門容量),HAPS-62(雙FPGA,900萬門容量)以及HAPS-64(4 FPGA,1800萬門容量)。除了容量是上一代HAPS-50系列的一倍以外,HAPS-60還將性能到時(shí)鐘頻率高達(dá)200MHz。

  對(duì)Confirma快速原型系統(tǒng)(圖1)中組件的一種高級(jí)概述是從貫穿綜合始終的RTL設(shè)計(jì)文件開始。接著在快速原型板上對(duì)設(shè)計(jì)進(jìn)行分割。系統(tǒng)的Confirma軟件執(zhí)行這一分割過程,而且該軟件明白其目標(biāo)是一塊HAPS板。然后,用戶就可以進(jìn)行模擬原型所需的接口實(shí)例化,以及協(xié)同仿真和基于事務(wù)的驗(yàn)證所需的將設(shè)計(jì)鏈接到其它環(huán)境中。

  

  圖1:一個(gè)Confirma快速原型系統(tǒng)從RTL設(shè)計(jì)文件開始,接著進(jìn)行綜合然后對(duì)設(shè)計(jì)進(jìn)行分割。

  早期的快速原型系統(tǒng)與帶寬的限制相沖突,這一限制是由FPGA引腳數(shù)無法跟上設(shè)計(jì)規(guī)模和速度要求而引起。過去,對(duì)該問題的解決辦法是互連復(fù)用,這可以作為權(quán)宜之計(jì),但最終會(huì)限制系統(tǒng)的整體性能。

  HAPS-60系統(tǒng)采用自動(dòng)高速時(shí)分復(fù)用避免了這些帶寬限制。該系統(tǒng)的軟件自動(dòng)(而不是強(qiáng)迫用戶手動(dòng))插入時(shí)分復(fù)用邏輯(圖2左)?!鞍凑者^去的方式將需要深入解讀RTL設(shè)計(jì)文件?!盨ynopsys方案營銷業(yè)務(wù)拓展經(jīng)理Doug Amos說。

  

圖2:HAPS-60系統(tǒng)通過采用自動(dòng)高速時(shí)分復(fù)用避免了帶寬限制。該系統(tǒng)的軟件自動(dòng)(而不是強(qiáng)迫用戶手動(dòng))插入時(shí)分復(fù)用邏輯(圖2左)

  圖2:HAPS-60系統(tǒng)通過采用自動(dòng)高速時(shí)分復(fù)用避免了帶寬限制。該系統(tǒng)的軟件自動(dòng)(而不是強(qiáng)迫用戶手動(dòng))插入時(shí)分復(fù)用邏輯(圖2左)

  這種自動(dòng)化方法最終實(shí)現(xiàn)了一種與自動(dòng)時(shí)序同步耦合的1Gb數(shù)據(jù)速率。這相當(dāng)于將管腳帶寬效率提高7倍,以及將平均系統(tǒng)性能提高30%(圖2右)。

  包含UMRbus架構(gòu)使得HAPS-60系統(tǒng)尤其適用于基于事務(wù)的驗(yàn)證(圖3)。UMRbus是一種高性能、低延時(shí)通信總線,它能為所有板載FPGA、存儲(chǔ)器、寄存器和其它資源提供連接。

  

新興標(biāo)準(zhǔn)助力基于TLM的驗(yàn)證

  “UMRbus被用于整個(gè)電路板控制,”Amos說。它支持用于配置和監(jiān)控的對(duì)整個(gè)系統(tǒng)的遠(yuǎn)程訪問。許多設(shè)計(jì)互動(dòng)和監(jiān)控功能(圖3右)均包括在內(nèi)。“用戶可以控制設(shè)計(jì)、訪問設(shè)計(jì)、補(bǔ)充設(shè)計(jì)、回讀存儲(chǔ)器并調(diào)試糾錯(cuò),”Amos說。

  UMRbus還支持若干先進(jìn)模式,包括基于事務(wù)的驗(yàn)證和協(xié)同仿真(圖3左)。 “用戶可編寫程序來實(shí)現(xiàn)各種設(shè)計(jì)互動(dòng)和監(jiān)控功能,” Amos說。該系統(tǒng)包含許多基于主機(jī)的調(diào)試模式,這些模式過去是與仿真關(guān)聯(lián)的。

  當(dāng)涉及基于事務(wù)的驗(yàn)證時(shí),通過使用SCE-MI 2.0事務(wù)接口(圖4),HAPS-60系統(tǒng)可以大大縮短驗(yàn)證時(shí)間。“這正是開發(fā)SCE-MI 2.0的目的,”Amos說?!癝CE-MI接口使我們能用軟件進(jìn)行事務(wù)處理,將事務(wù)傳遞到硬件,以及硬件再生成事務(wù)。該技術(shù)被用在仿真器類型的環(huán)境中來模仿真實(shí)世界的做法?!?/P>

  

  現(xiàn)在,HAPS-60系統(tǒng)使這種仿真器型方法學(xué)可以在一個(gè)快速原型系統(tǒng)上實(shí)現(xiàn)。SCE-MI允許在原型部分使用高級(jí)概念?!斑@個(gè)系統(tǒng)模糊了原型和仿真器之間的界限,而SCE-MI是使其得以實(shí)現(xiàn)的推手,”Amos說。其結(jié)果是,當(dāng)在HAPS硬件上運(yùn)行簡(jiǎn)化的測(cè)試平臺(tái)時(shí),速度可比仿真快10,000倍。

  支持TLM 2.0

  提供支持基于事務(wù)的驗(yàn)證的另一家硬件供應(yīng)商EVE,最近在其ZeBu仿真平臺(tái)產(chǎn)品線中增加了對(duì)TLM 2.0標(biāo)準(zhǔn)的支持。 TLM 2.0是Open SystemC Initiative(OSCI)用于SystemC模型互操作性和重用的接口標(biāo)準(zhǔn)?!翱紤]到我們?cè)诖吮尘跋乱肓朔抡嫫鳎虼藢?duì)我們來說,這更像是基于事務(wù)的協(xié)同仿真,”EVE-USA總經(jīng)理Lauro Rizzatti說。

  EVE已通過一種事務(wù)處理適配器(圖5)實(shí)現(xiàn)了對(duì) TLM 2.0的支持。該適配器支持多個(gè)目標(biāo)和發(fā)起人、阻斷和非阻斷傳輸接口,以及松散定時(shí)(LT)、松散定時(shí)時(shí)間解耦(LTD)和近似定時(shí)(AT)編碼方式。

  在系統(tǒng)級(jí),用戶可以將虛擬平臺(tái)、TLM 2.0事務(wù)處理適配器以及先進(jìn)SystemVerilog硬件驗(yàn)證環(huán)境整合起來。在仿真器級(jí),ZeBu TLM-2.0事務(wù)處理適配器是一種可實(shí)現(xiàn)與其它ZeBu事務(wù)處理器的互操作的開放架構(gòu),其它的ZeBu事務(wù)處理器既或是來自EVE的事務(wù)處理器目錄,或是由ZEMI–3生成。ZEMI–3是EVE用于事務(wù)處理器總線功能模型(BFM)的行為SystemVerilog編譯器,該編譯器使得編寫周期精確的BFM以及與C++或SystemVerilog測(cè)試平臺(tái)進(jìn)行信息交換變得非常容易。

  據(jù)Rizzatti稱,在基于事務(wù)的模式中,70%至80%的EVE客戶使用ZeBu?!霸诤?jiǎn)單的基于C的循環(huán)模式(而不是事務(wù)模式)中,他們也可能將其用于調(diào)用。但即使這樣做,他們?nèi)匀灰驗(yàn)槭聞?wù)模式的好處而采用該模式,”他說。

  EVE營銷總監(jiān)Ron Choi表示,對(duì)TLM 2.0的支持使EVE的仿真器在互操作性方面更上一層樓?!岸嗄陙?,我們都采用一個(gè)事務(wù)級(jí)接口。但它必須通過一個(gè)專有API來實(shí)現(xiàn)。這是一種非常有用的方法學(xué),但現(xiàn)在對(duì)于基于標(biāo)準(zhǔn)的方法有更強(qiáng)烈的訴求,”他說。

  TLM 2.0事務(wù)處理適配器解決了設(shè)計(jì)工程師為橋接不同產(chǎn)品必須編寫不同代碼這個(gè)問題?!耙话銇碚f,ESL工具總是有能力通過編程語言接口(PLI)連接到RTL模擬器,以及通過API調(diào)用C/C++函數(shù)連接到仿真器,”Rizzatti說。“這要求他們針對(duì)不同的接口編寫外圍應(yīng)用。他們?cè)诰幊虝r(shí)必須寫入其自有的互操作性。一個(gè)更好的辦法是使用定義了互操作層的 TLM 2.0,它使用戶無需考慮底層實(shí)現(xiàn)。這樣,他們是否使用SystemC模型就不重要了?!?/P>



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉