基于TLM的驗證
在驗證領域,使得基于事務的驗證方法學被廣泛接受的背后推動力是新興標準。諸如OSCI的TLM(事務級建模)2.0和Accellera的標準協(xié)同仿真建模接口(SCE-MI)等標準導致了對事務的興趣高漲。此外,驗證流程目前使用硬件加速和仿真來加速基于事務的驗證。
為什么要使用事務?
Cadence Design Systems系統(tǒng)設計和驗證產(chǎn)品管理部門總監(jiān)Ran Avinun表示,在系統(tǒng)設計建模時,通常要實現(xiàn)三個目標?!暗谝粋€是早期軟件開發(fā),第二個是早期系統(tǒng)定義,第三個是可執(zhí)行規(guī)范的描述,當你進行架構權衡的最初會需要它們,”Avinun說。
事務適合用在哪些地方?為什么設計工程師希望從事務級模型開始,并最終將這些模型用硬件加速實現(xiàn)?對許多用戶來說,答案在于它可實現(xiàn)快得多的模擬?!叭绻銓⒛P蛯懗?B>TLM,或通過基于事務的驗證進行通信,就可實現(xiàn)更快速的模擬?!盇vinun指出。
采用TLM的另一個好處是調(diào)試起來更快、更容易?!耙话銇碚f,如果你編寫TLM,則生成的錯誤更少,且調(diào)試所花的時間也更少。它還提供了一個區(qū)分功能和實現(xiàn)的機會,”Avinun稱。
“你想要編寫一個能表述功能的模型,然后將約束分開。它們可以是時鐘約束或是針對特定工藝節(jié)點,隨時間變化的東西。當你從一個應用轉(zhuǎn)到另一個應用或從一個節(jié)點轉(zhuǎn)向另一個節(jié)點時,復用模型會更容易。”Avinun說。
事務是如何使用的
據(jù)Synopsys的系統(tǒng)級解決方案產(chǎn)品營銷總監(jiān)Frank Schirrmeister介紹,當談及TLM時,至少有五種使用模型已成主流(見下表)。排在列表首位的是復用的情況。
在這種情況下,你的設計的很大一部分已經(jīng)用RTL編寫。此時,最佳方案是一種混合模式的模擬方法學,其中,現(xiàn)有的RTL在FPGA上運行。與此同時,該設計中面向新模塊的TLM作為虛擬樣機運行。
排名第二位的是驗證使用模式。在這種情況下,你啟動一個測試平臺,然后在RTL可用之前開發(fā)一個虛擬樣機。這是借助無時序TLM實現(xiàn)的。
“人們從無時序模型著手定義其想要涵蓋的驗證場景?!盨chirrmeister說,“當我用手機玩游戲和下載東西時,它還能接電話嗎?借助虛擬平臺,你可在早期很容易地定義這些情況,因為它們由運行在處理器上的軟件完成。隨后你可以在項目中使用它們?!?/P>
第三種使用模式是評估系統(tǒng)與外部世界之間的聯(lián)系。這些聯(lián)系既可以是物理的也可能是虛擬I/O形態(tài)。
“例如,對于USB接口,你希望在高保真條件下與真實世界建立連接。但如果這一接口還不存在,你可以用虛擬的方式與其建立連接,這樣你就能著手軟件開發(fā),”Schirrmeister說。
雖然USB是一個具有說服力的例子,但Schirrmeister 還列舉了設計團隊采用該方法學在手機中接入無線接口的例子。它是通過FPGA軟件在虛擬端實現(xiàn)的。
第四個使用模型是針對遠程軟件開發(fā)的情況。為滿足物理硬件尚不存在這一情況下的需求,可借助于以虛擬原型形式出現(xiàn)的早期軟件開發(fā)環(huán)境。“在這種情況下,你要創(chuàng)建一個開發(fā)環(huán)境,工作在該環(huán)境下的軟件開發(fā)人員甚至不需要知道其軟件是運行在FPGA原型還是虛擬平臺上?!闭鏢chirrmeister 所言,這是一種“使軟件開發(fā)人員置身實驗室之外”的做法。
第五個(也是最后一個)使用模式是一種涉及在FPGA上構建硬件原型的更簡單的軟件開發(fā)方法?!笆聦嵶C明,F(xiàn)PGA不是運行處理器的首選,因為FPGA更多地是關注DSP?!盨chirrmeister 說。通過將處理器模型本身轉(zhuǎn)為軟件實現(xiàn),你可以通過連接硬件原型以及在軟件側(cè)進行處理獲得更均衡的處理速度。此外,因不再需要考慮軟件的某些部分,可獲得非??斓倪\行速度。
工具和流程演變
為實現(xiàn)進一步發(fā)展,TLM需滿足三個要求。其中最顯而易見的兩個是嵌入式軟件開發(fā)和設計驗證。“驗證工程師需要簡單、直接的測試?!盨chirrmeister說。另一個不斷發(fā)展變化的要求是隨機測試生成,它采用校驗監(jiān)控器以及包含用TLM表述的用于系統(tǒng)級芯片(SoC)綜合驗證的覆蓋范圍。隨機測試模式的生成、覆蓋檢查以及監(jiān)視器的使用等情況將及時傳播到TLM領域和虛擬樣機。
TLM有待融合的第三個要求是與實現(xiàn)的直接鏈接?!拔覀兎Q這一流程為‘TLM到GDSII’?!盨chirrmeister 說。 “過去有兩個世界。一個側(cè)重虛擬平臺,而另一個側(cè)重高級綜合。我們認為在將來某個時候,這兩個世界將合二為一?!?/P>
對許多設計工程師以及EDA供應商來說,問題是如何在虛擬平臺和高級綜合(HLS)流程之間建立鏈接。
“一直以來都試圖用TLM鏈接這些世界?!盕orte Design Systems的市場和銷售副總裁Brett Cline說?!暗珕栴}始終是該標準只考慮了驗證而沒考慮綜合。在TLM規(guī)范中缺少了一些非?;镜珜τ布O計而言至關重要的東西。例如,沒有專有的復位機制?!?/P>
OSCI內(nèi)部的努力最終導致了TLM 1.0標準的修訂,進而催生了TLM 2.0版本。 “我們對OSCI TLM 1.0進行了擴展,做了一些你或許期望我們做的一些事,也即對綜合的了解?!盋line說。“TLM 2.0是一個更加關注綜合的標準,它主要專注于基于總線的系統(tǒng)?!盩LM 2.0包括各種面向基于總線系統(tǒng)的事務應用編程接口(API)。
Cline認為,由于驗證工程師和實現(xiàn)之間的鴻溝,虛擬平臺和HLS是分開的。“人們從兩個角度來看待它。你或者是一位驗證者(從虛擬平臺角度來看),或者是一位用SystemC進行硬件設計的實現(xiàn)者?!盋line說?!艾F(xiàn)在,驗證者已經(jīng)認識到,TLM代表著一條無需重寫就能完成實現(xiàn)的可行途徑。同時,實現(xiàn)者也正開始明白該如何將一些東西集成進運行得非常快的系統(tǒng)模型?!?/P>
Schirrmeister表示,過去,大部分廠商和用戶在隔離時已經(jīng)使用了虛擬平臺和/或HLS?!皠?chuàng)制TLM 2.0是為有助于早期軟件開發(fā)和高性能模擬,但它對HLS考慮不多。實際上,我們正借助可綜合子集來推動TLM 2.0標準解決HLS需求。這是業(yè)界需應對的發(fā)展方向?!彼f。
硬件生成
基于事務驗證的一個重要組成是借助TLM可實現(xiàn)極高速驗證的硬件。最近,Synopsys推出了其快速原型系統(tǒng)HAPS-60系列作為Confirma平臺的組成部分?;谫愳`思Virtex-6 FPGA構建的HAPS-60系統(tǒng)是對“自建還是購買”決策的最新回應,過去涉及快速原型技術時會面臨該問題。
該系列產(chǎn)品包括三種型號:HAPS-61(單 FPGA,多達450萬門容量),HAPS-62(雙FPGA,900萬門容量)以及HAPS-64(4 FPGA,1800萬門容量)。除了容量是上一代HAPS-50系列的一倍以外,HAPS-60還將性能到時鐘頻率高達200MHz。
對Confirma快速原型系統(tǒng)(圖1)中組件的一種高級概述是從貫穿綜合始終的RTL設計文件開始。接著在快速原型板上對設計進行分割。系統(tǒng)的Confirma軟件執(zhí)行這一分割過程,而且該軟件明白其目標是一塊HAPS板。然后,用戶就可以進行模擬原型所需的接口實例化,以及協(xié)同仿真和基于事務的驗證所需的將設計鏈接到其它環(huán)境中。
圖1:一個Confirma快速原型系統(tǒng)從RTL設計文件開始,接著進行綜合然后對設計進行分割。
早期的快速原型系統(tǒng)與帶寬的限制相沖突,這一限制是由FPGA引腳數(shù)無法跟上設計規(guī)模和速度要求而引起。過去,對該問題的解決辦法是互連復用,這可以作為權宜之計,但最終會限制系統(tǒng)的整體性能。
HAPS-60系統(tǒng)采用自動高速時分復用避免了這些帶寬限制。該系統(tǒng)的軟件自動(而不是強迫用戶手動)插入時分復用邏輯(圖2左)?!鞍凑者^去的方式將需要深入解讀RTL設計文件?!盨ynopsys方案營銷業(yè)務拓展經(jīng)理Doug Amos說。
圖2:HAPS-60系統(tǒng)通過采用自動高速時分復用避免了帶寬限制。該系統(tǒng)的軟件自動(而不是強迫用戶手動)插入時分復用邏輯(圖2左)
這種自動化方法最終實現(xiàn)了一種與自動時序同步耦合的1Gb數(shù)據(jù)速率。這相當于將管腳帶寬效率提高7倍,以及將平均系統(tǒng)性能提高30%(圖2右)。
包含UMRbus架構使得HAPS-60系統(tǒng)尤其適用于基于事務的驗證(圖3)。UMRbus是一種高性能、低延時通信總線,它能為所有板載FPGA、存儲器、寄存器和其它資源提供連接。
“UMRbus被用于整個電路板控制,”Amos說。它支持用于配置和監(jiān)控的對整個系統(tǒng)的遠程訪問。許多設計互動和監(jiān)控功能(圖3右)均包括在內(nèi)?!坝脩艨梢钥刂圃O計、訪問設計、補充設計、回讀存儲器并調(diào)試糾錯,”Amos說。
UMRbus還支持若干先進模式,包括基于事務的驗證和協(xié)同仿真(圖3左)。 “用戶可編寫程序來實現(xiàn)各種設計互動和監(jiān)控功能,” Amos說。該系統(tǒng)包含許多基于主機的調(diào)試模式,這些模式過去是與仿真關聯(lián)的。
當涉及基于事務的驗證時,通過使用SCE-MI 2.0事務接口(圖4),HAPS-60系統(tǒng)可以大大縮短驗證時間。“這正是開發(fā)SCE-MI 2.0的目的,”Amos說?!癝CE-MI接口使我們能用軟件進行事務處理,將事務傳遞到硬件,以及硬件再生成事務。該技術被用在仿真器類型的環(huán)境中來模仿真實世界的做法?!?/P>
現(xiàn)在,HAPS-60系統(tǒng)使這種仿真器型方法學可以在一個快速原型系統(tǒng)上實現(xiàn)。SCE-MI允許在原型部分使用高級概念?!斑@個系統(tǒng)模糊了原型和仿真器之間的界限,而SCE-MI是使其得以實現(xiàn)的推手,”Amos說。其結(jié)果是,當在HAPS硬件上運行簡化的測試平臺時,速度可比仿真快10,000倍。
支持TLM 2.0
提供支持基于事務的驗證的另一家硬件供應商EVE,最近在其ZeBu仿真平臺產(chǎn)品線中增加了對TLM 2.0標準的支持。 TLM 2.0是Open SystemC Initiative(OSCI)用于SystemC模型互操作性和重用的接口標準。“考慮到我們在此背景下引入了仿真器,因此對我們來說,這更像是基于事務的協(xié)同仿真,”EVE-USA總經(jīng)理Lauro Rizzatti說。
EVE已通過一種事務處理適配器(圖5)實現(xiàn)了對 TLM 2.0的支持。該適配器支持多個目標和發(fā)起人、阻斷和非阻斷傳輸接口,以及松散定時(LT)、松散定時時間解耦(LTD)和近似定時(AT)編碼方式。
在系統(tǒng)級,用戶可以將虛擬平臺、TLM 2.0事務處理適配器以及先進SystemVerilog硬件驗證環(huán)境整合起來。在仿真器級,ZeBu TLM-2.0事務處理適配器是一種可實現(xiàn)與其它ZeBu事務處理器的互操作的開放架構,其它的ZeBu事務處理器既或是來自EVE的事務處理器目錄,或是由ZEMI–3生成。ZEMI–3是EVE用于事務處理器總線功能模型(BFM)的行為SystemVerilog編譯器,該編譯器使得編寫周期精確的BFM以及與C++或SystemVerilog測試平臺進行信息交換變得非常容易。
據(jù)Rizzatti稱,在基于事務的模式中,70%至80%的EVE客戶使用ZeBu?!霸诤唵蔚幕贑的循環(huán)模式(而不是事務模式)中,他們也可能將其用于調(diào)用。但即使這樣做,他們?nèi)匀灰驗槭聞漳J降暮锰幎捎迷撃J?,”他說。
EVE營銷總監(jiān)Ron Choi表示,對TLM 2.0的支持使EVE的仿真器在互操作性方面更上一層樓?!岸嗄陙?,我們都采用一個事務級接口。但它必須通過一個專有API來實現(xiàn)。這是一種非常有用的方法學,但現(xiàn)在對于基于標準的方法有更強烈的訴求,”他說。
TLM 2.0事務處理適配器解決了設計工程師為橋接不同產(chǎn)品必須編寫不同代碼這個問題?!耙话銇碚f,ESL工具總是有能力通過編程語言接口(PLI)連接到RTL模擬器,以及通過API調(diào)用C/C++函數(shù)連接到仿真器,”Rizzatti說?!斑@要求他們針對不同的接口編寫外圍應用。他們在編程時必須寫入其自有的互操作性。一個更好的辦法是使用定義了互操作層的 TLM 2.0,它使用戶無需考慮底層實現(xiàn)。這樣,他們是否使用SystemC模型就不重要了?!?/P>
評論