基于混合建模的 SoC軟硬件協(xié)同驗證平臺研究

發(fā)布時(shí)間:2010-2-20 10:32    發(fā)布者:李寬
關(guān)鍵詞: SoC , 建模 , 平臺 , 軟硬件 , 驗證
引言

伴隨著(zhù)微電子產(chǎn)業(yè)的發(fā)展和摩爾定律的不斷應驗,IC設計的規模越來(lái)越大,集成度也越來(lái)越高,已經(jīng)足以將整個(gè)系統集成到一個(gè)芯片中,這種技術(shù)就是 SoC(System onChip,片上系統)技術(shù)。相對于PCB(Printed CircuitB0ard,印刷電路板)級的系統,SoC的優(yōu)點(diǎn)是顯而易見(jiàn)的。SoC意味著(zhù)更好的電路時(shí)序和更高的可靠性,但同時(shí)SoC也意味著(zhù)更復雜的邏輯。為了解決SoC的眾多設計難題,SoC設計方法學(xué)中最顯著(zhù)的一個(gè)特征就是IP(Intellec-tual Property,知識產(chǎn)權)的復用技術(shù);然而系統的復雜度決定了不可能簡(jiǎn)單地將各個(gè)IP模塊集成起來(lái)就完成了SoC的設計,SoC驗證成為了一個(gè)新的問(wèn)題。

在驗證問(wèn)題成為SoC設計的新的挑戰之后,人們逐漸提出各種應對方法。其中,SoC軟硬件協(xié)同驗證的思想,切實(shí)反應了SoC驗證中的問(wèn)題和解決方法,越來(lái)越多地受到關(guān)注。本文以SoC軟硬件協(xié)同驗證思想為基礎,提出一種驗證平臺的實(shí)現;同時(shí)考慮到SoC的不同設計層次,建立起統一的高速的系統級驗證環(huán)境,有效的緩解了SoC驗證中的關(guān)鍵難題。

1 SoC軟硬件協(xié)同驗證

SoC設計中,系統的功能是需要SoC的軟件硬件相互配合共同實(shí)現的,這就出現了軟硬件接口的驗證問(wèn)題。在以往的系統設計流程中,由于軟件的實(shí)際運行需要一個(gè)完整的可用的硬件平臺,軟件與硬件的接口的驗證過(guò)程是在硬件全部開(kāi)發(fā)完畢,至少獲得了硬件原型之后。這樣的開(kāi)發(fā)流程最嚴重的問(wèn)題就是,軟硬件之間的接口可能出現設計上的錯誤。而要糾正這樣的錯誤,要么修改軟件來(lái)適應硬件(這一般都會(huì )導致系統整體性能的損失),要么修改硬件來(lái)適應軟件(這又要導致硬件的設計、制造的更改,造成成本上升,設計周期延長(cháng))。無(wú)論哪一種方法都是設計者所不希望看到但是又不能保證避免的。所以,在SoC的設計方法學(xué)中,必須在軟硬件的開(kāi)發(fā)過(guò)程中,就完成硬件原型的建立,并開(kāi)始軟硬件的聯(lián)合驗證,即SoC軟硬件協(xié)同驗證。

2 混合建模實(shí)現SoC軟硬件協(xié)同驗證

本文在一般的SoC軟硬件協(xié)同驗證的基礎上,提出混合建模方法(Co-Modeling),使用各種不同抽象層次的模型共同組成SoC硬件系統,直接為SoC的軟件提供可運行的載體,來(lái)實(shí)現SoC軟硬件協(xié)同驗證。不同抽象層次的模型包括事務(wù)級模型、功能性模型的高抽象層次的模型和RTL模型。

2.1 驗證平臺架構說(shuō)明

如圖1所示,整個(gè)驗證平臺的架構可以分為兩個(gè)部分:軟件建模部分,以PC機上軟件的形式建模;硬件建模部分,以FPGA的形式建模。全部的硬件部分和除“ARM軟件集成開(kāi)發(fā)環(huán)境”之外的軟件部分都用來(lái)建模SOC硬件系統,SoC軟件可以直接在這個(gè)SoC硬件系統模型上運行、調試,如圖中“ARM 軟件集成開(kāi)發(fā)環(huán)境”所示。驗證平臺建模的SoC硬件系統,是針對ARM架構的SoC,以AHB總線(xiàn)為基礎。AHB總線(xiàn)上的各模塊為建模的基本單元。



驗證平臺軟件部分中最重要的模型是CPU的ISS(Instlruction Set Simulator,指令集仿真器),用來(lái)模擬SoC系統中的CPU,可以提供軟件代碼執行時(shí)周期準確的仿真結果。平臺中使用的是ARM系列CPU的 ISS,稱(chēng)為ARMulator。ARMulator也是ARM CPU軟件集成開(kāi)發(fā)環(huán)境的直接載體,SoC的軟件開(kāi)發(fā)人員可以在基于A(yíng)R-Mulator’的集成開(kāi)發(fā)環(huán)境中運行、調試源代碼,與其在真實(shí)的CPU上的運行調試完全相同。其他的總線(xiàn)模型,如圖中所示的IP3、IP4,用來(lái)描述SoC硬件系統中除CPU之外的一些模塊,最好都是SystemC語(yǔ)言描述的事務(wù)級模型。事務(wù)級模型是RTL級硬件模型的抽象,省略了RTL級的實(shí)現細節,但是仍然以周期數精確等方式反映了RTL級模型的特點(diǎn),是設計初期系統建模的常用選擇。不過(guò)考慮到驗證環(huán)境的通用性,再加上ARMulator本身也并不是SystemC語(yǔ)言的模型,而是基于C的功能性模型,驗證環(huán)境自然需要同時(shí)支持事務(wù)級模型與功能性模型,因此,驗證平臺也支持其他總線(xiàn)模塊以C/C++等語(yǔ)言描述的功能級模型。這些模型與ARMulator都連接到AHB總線(xiàn)的模型上,如圖1中IP3、IP4所示,AHB總線(xiàn)模型負責完成ARMulator。與軟件方各總線(xiàn)模型間,以及與硬件方之間的連接。

驗證平臺硬件部分的物理載體是以FPGA為主的PCB板卡,以PCI總線(xiàn)為物理通道連接到PC機。SoC硬件系統中RTL模型形式的總線(xiàn)模塊全部下載到FPGA內部,如圖1中的IPl、IP2。由于FPGA內模塊的RTL模型與CPU之間的總線(xiàn)通信數據可以在軟件方得到良好的可觀(guān)測性,對于以驗證總線(xiàn)模塊間通信正確性為目的的系統級驗證來(lái)說(shuō),模塊間通信數據的可觀(guān)測性是足夠的,這也就部分避免了硬件建模方法觀(guān)測性不足的缺點(diǎn)。

因為軟件方的模型抽象層次比硬件方RTL模型的抽象層次高,所以要想把軟件方模型和硬件方模型組合起來(lái)形成可用的SoC硬件系統,就必須完成這兩種抽象層次之間的數據同步和交換,這個(gè)任務(wù)是BFM完成的。BFM的具體實(shí)現將在后面詳細闡述?傮w的效果是,在軟件方模型看來(lái),BFM代表了硬件上的 RTL模型,對軟件方隱藏了RTL模型的實(shí)現細節,軟件方只需要訪(fǎng)問(wèn)BFM,就得到了相應模塊的數據;而在硬件方模型看來(lái),BFM代表了軟件方的所有總線(xiàn)模塊,BFM驅動(dòng)的RTL級總線(xiàn)信號就是由軟件方中各總線(xiàn)模塊的總線(xiàn)訪(fǎng)問(wèn)轉化而來(lái)的。

硬件方與軟件方接口的實(shí)現,以PCI總線(xiàn)為基礎,遵守SCE-MI(Standard C-Emulation Modeling Interface)協(xié)議。SCE-MI是.Accellera組織提出的用于規范協(xié)同仿效平臺中軟件方與硬件方之間的接口的協(xié)議,是業(yè)界實(shí)際的標準,目前已被多個(gè)商業(yè)化驗證平臺支持。本驗證平臺的BFM遵守SCE-MI協(xié)議接口,也是為了驗證平臺以及BFM本身的通用性。

如上所述,通過(guò)BFM的層次轉接作用,軟件方模型和硬件方模型得以完成連接,不同抽象層次的模型共同構成了SoC的硬件系統;而SoC的軟件則可以以此硬件系統為基礎,得到實(shí)際的運行和調試,最終建立起了混合建模的軟硬件協(xié)同驗證環(huán)境。

2.2 以平臺為基礎的驗證流程

基于上述驗證平臺,混合建模方法的流程如圖2所示。在系統級仿真和軟硬件劃分之后,開(kāi)始軟件和硬件的并行設計,同時(shí)開(kāi)始軟硬件協(xié)同驗證。協(xié)同驗證過(guò)程可以分為三個(gè)階段。在最初的驗證階段中,SoC硬件系統全部由軟件方的模型建模。隨后的階段,開(kāi)始完成硬件系統中高層模型中IP模塊的逐個(gè)細化,此時(shí),完成了RTL模塊開(kāi)發(fā)的IP可從軟件建模部分移到硬件建模部分的FPGA中,還未開(kāi)發(fā)出的模塊,或是未完成配置的IP仍然由軟件方的模型建模。這樣,設計人員完成一個(gè)模塊的細化,驗證人員就可以開(kāi)始系統級驗證工作,而不必等到系統的全部模塊全部完成細化后才開(kāi)始驗證。這樣,一方面避免了驗證等待設計的情況;另一方面,模塊的逐個(gè)細化,可以使新出現的仿真錯誤的bug被定位到最后細化的模塊中,有效降低了驗證的難度。最后的階段,除CPU之外,SoC硬件的所有模塊都被逐步移到了驗證平臺的硬件方FPGA中,即基本完成了RTL級模型的SoC軟硬件協(xié)同驗證,之后向快速原型驗證的遷移是也非常方便的,大部分的驗證環(huán)境都可以復用。



總的來(lái)說(shuō),混合建模方法的好處就在于:建立支持不同抽象層次模型的驗證環(huán)境,從而在不同層次的驗證中實(shí)現驗證環(huán)境的復用,也使得在不同層次的設計過(guò)程中始終都可以進(jìn)行系統級驗證;同時(shí)糅合了軟件和硬件建模方法的特點(diǎn)來(lái)解決RTL模型仿真速度慢的問(wèn)題,并且避免了硬件建模的低可觀(guān)測性增加系統驗證難度的問(wèn)題。

3 總線(xiàn)功能模型BFM

在上述的驗證平臺中,BFM模塊起著(zhù)混合建模方法中高層次模型與RTL模型間的轉接作用,是驗證平臺中最為關(guān)鍵的組成部分。下面詳細闡述BFM 模塊的概念和具體實(shí)現。

3.1 BFM及事務(wù)級的概念

BFM是與TL(Transaction Level,事務(wù)級)的概念分不開(kāi)的。TL模型是高于RTL模型的一個(gè)抽象層次,忽略了RTL模型中具體的信號和時(shí)序信息,但是保持RTL模型中模塊的框架和模塊間數據通信的信息和周期數。TL模型最典型的例子就是符合總線(xiàn)接口協(xié)議的模塊,例如符合AHB總線(xiàn)接口的一個(gè)模塊A,模塊A的TL模型保持與其 RTL模型相同的模塊接口、模塊邊界以及內部功能,但是其內部功能只是功能性描述,不涉及硬件具體實(shí)現;模塊的接口則是忽略了AHB總線(xiàn)接口協(xié)議的具體信號和相關(guān)時(shí)序,只關(guān)心其總線(xiàn)訪(fǎng)問(wèn)的關(guān)鍵信息,如訪(fǎng)問(wèn)的地址、數據、完成訪(fǎng)問(wèn)所花的周期數等。模型的優(yōu)點(diǎn)是忽略了硬件具體實(shí)現細節,使得模型大大簡(jiǎn)化,模型的建立和仿真都不復雜,同時(shí)又保留了部分RTL模型的特征,使得仿真結果的精確度有一定保證,滿(mǎn)足了系統級仿真的需求。

BFM的作用是完成TL和RTL之間的數據同步和交互。簡(jiǎn)單的來(lái)說(shuō),BFM一方面完成了將RTL級的總線(xiàn)傳輸信號抽象為事務(wù)級的數據包的作用,封裝了總線(xiàn)傳輸中繁瑣的具體時(shí)序信息,只將其中的地址、數據等有用信息提取出來(lái),形成TL信息,完成了抽象程度的提升;另一方面,BFM根據特定的接口標準,在TL數據的基礎上,補充其缺失的RTL時(shí)序、信號信息,還原為RTL數據,即完成抽象程度的下降。因此,BFM與模塊接口的標準是緊密結合的,一種 BFM負責一種接口標準的TL和RTL數據的相互轉化。下面以我們驗證平臺中的BFM為例,說(shuō)明TL數據訪(fǎng)問(wèn)與RTL數據訪(fǎng)問(wèn)之間的對應關(guān)系。驗證平臺中的BFM以AHB總線(xiàn)為接口。

3.2 BFM的具體實(shí)現

本文中的BFM可以分為兩個(gè)組成部分:與SCE-MI協(xié)議的接口和與AHB總線(xiàn)的接口。與SCE-MI協(xié)議的接口部分完成TL數據的接收和發(fā)送。與AHB總線(xiàn)的接口部分完成總線(xiàn)RTL信號的驅動(dòng),其實(shí)現的關(guān)鍵在于A(yíng)HB總線(xiàn)協(xié)議的信號識別,這里采用有限狀態(tài)機來(lái)檢測、控制AHB總線(xiàn)RTL信號,下面給出狀態(tài)機中控制AHB單周期總線(xiàn)傳輸的狀態(tài)機狀態(tài)轉移圖。如圖3所示,狀態(tài)HTRANS對應AHB時(shí)序圖中address phase周期;狀態(tài)WAIT對應Data Phase;狀態(tài)SUSPEND對應AHB時(shí)鐘停止,接收/發(fā)送TL數據的狀態(tài);狀態(tài)ERROR對應總線(xiàn)傳輸出錯的情況。



BFM是為了驗證的目的而引入的一個(gè)額外模塊。BFM本身的設計和驗證雖然會(huì )增加工作量,但是由于BFM作為一個(gè) VIP(Verification IP),可以在不同的驗證流程中得到復用。例如,本驗證平臺中AHB總線(xiàn)接口的BFM,就可以在不同的使用AHB總線(xiàn)的SoC驗證中得到復用,相當于降低了BFM的開(kāi)發(fā)復雜度。BFM遵守SCE-MI協(xié)議的規定也正是出于通用性的考慮。

4 實(shí)驗與結論

為了說(shuō)明驗證平臺的可行性和驗證的高效性,以一個(gè)AC3音頻格式解碼系統為例,使用混合建模的方法構建其系統級模型并完成了驗證。AC3音頻解碼系統的硬件架構如圖4所示,系統采用ARM架構,主要由ARM處理器核、存儲器以及解碼硬件加速器IP、DAC(Digital to AnalogConverter,數模轉換器)構成。采用混合建模的方法,ARM處理器核以及存儲器部分在軟件方建模,解碼加速器IP、DAC則使用 RTL模型,在硬件方建模。實(shí)驗證明,混合建模的驗證平臺是可行的,驗證速度也在可以接受的范圍內。



總的來(lái)說(shuō),本文介紹的基于混合建模的SoC軟硬件協(xié)同驗證的方法,針對SoC驗證挑戰中最突出的問(wèn)題,提出在SoC的設計過(guò)程中以混合建模的方式完成SoC整個(gè)系統的建模并開(kāi)始驗證,使系統各層次之間的驗證平滑過(guò)渡,縮短了設計周期;同時(shí)也減少了軟硬件之間不協(xié)調的可能性,避免了大跨度的設計流程的迭代,并且滿(mǎn)足了系統級仿真的速度要求,沒(méi)有影響驗證的效率。因此,這種方法對于SoC的驗證方法的不斷完善有著(zhù)一定的積極意義。

參考文獻

   1. Rashinkar Prakash.Paterson Peter.Singh Leena System-on-a-Chip Verification Methodology and Techniques 2002
   2. 趙剛.侯立剛.劉源.朱修殿.吳武臣 基于 SoC設計的軟硬件協(xié)同驗證方法學(xué) [期刊論文] -微電子學(xué)與計算機2006(6)
   3. Xie Fei.Yang Guowu.Song Xiaoyu Component-Based Hardware/Software Co-Verification 2006
   4. Accellera Standard Co-Emulation Modeling Interface Reference Manual Version 1.10 2005
   5. 劉凱.李平.廖永波 基于SCE- MI標準的事務(wù)級SoC協(xié)同仿效平臺設計 [期刊論文] -微電子學(xué)2007(5)
   6. Soha Hassoun.Murali Kudlugi.Duaine Pryor A Transaction-Based Unified Architecture for Simulation and Emulation 2005(2)

作者:電子科技大學(xué) 馮博凌  李平  王憶文 來(lái)源:單片機嵌入式系統應用 2009(5)
本文地址:http://selenalain.com/thread-8363-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页