如何在SoC設計中使用事務(wù)處理(一)
建模、驗證與調試需要統一標準的符號和框架,以便使架構師和設計工程師能夠協(xié)同進(jìn)行復雜SoC的開(kāi)發(fā)。事務(wù)處理級模型(TLM)是進(jìn)行這種分析的理想模型,在片上系統(SoC)設計中使用事務(wù)處理級建模,可讓設計從高效率協(xié)同仿真和高產(chǎn)出的分析與調試中受益。
本文引用地址:http://dyxdggzs.com/article/148680.htm 片上系統(SoC)平臺是異質(zhì)性的實(shí)體。它們通常包含至少一個(gè)處理器部件(譬如微處理器或DSP),以及外圍設備、隨機邏輯、嵌入式存儲器、通訊基礎結構和傳感器、傳動(dòng)裝置之類(lèi)的外部接口元件。這些變化多樣的設計平臺正在將設計焦點(diǎn)和折衷分析轉移至通訊層面。
由 于SoC內的功能單元常常是通過(guò)若干標準及基于數據總線(xiàn)的專(zhuān)有協(xié)議來(lái)實(shí)現通信,所以理解模塊間通訊已經(jīng)成為驗證的一個(gè)關(guān)鍵。設計活動(dòng)向通訊基礎架構設計的 轉移,也促進(jìn)了對混合級建模以及調試技術(shù)的使用。這些技術(shù)使設計工程師能夠完全應對從電阻晶體管邏輯電路(RTL)到更高事務(wù)處理級的轉移,而且無(wú)需中斷 使用目前的功能驗證方法。
有鑒于現今協(xié)議的復雜性,要詳盡理解信號級上的同步互動(dòng)是艱難而又費時(shí)的。此外,由于不同的團隊和個(gè)人都將設計視為從規格到實(shí)現的提煉過(guò)程,所以各個(gè)設計團隊之間以及團隊內部都需要找到一個(gè)通用參考框架(frame)。
有代表性的參考標準必須足夠靈活以便適合于多個(gè)應用領(lǐng)域。它也必須經(jīng)得起抽象和提煉,以便適用于由上而下設計或由下而上的配置。事務(wù)處理級建模(TLM)被用作所需的中間建模抽象級,成為連接頂層和底層的橋梁。
事務(wù)處理級建模的概念
目前的SoC設計流程是一個(gè)混合過(guò)程,包括由上而下的從規格制定到實(shí)現、從下而上的設計模塊集成,以及對來(lái)自外部供應商或內部重用模塊的知識產(chǎn)權的驗證。事 務(wù)處理可以作為連接不同設計建模層間間隙的一個(gè)最終優(yōu)化規范。這包括用高級語(yǔ)言實(shí)現的無(wú)時(shí)序(untimed)純功能性建模、通過(guò)架構估計得到大致時(shí)序的 功能級,一直到實(shí)現級、循環(huán)精確的RTL。
除此之外,事務(wù)處理級建模也作為系統工程師和專(zhuān)用模塊開(kāi)發(fā)者之間的一個(gè)通用描述性媒介而發(fā)揮著(zhù) 作用,該媒介超越了不同的適用于具體設計或驗證活動(dòng)的語(yǔ)言的界限。于是,事務(wù)處理就變成實(shí)施構架開(kāi)發(fā)和折衷分析的一種形式。它是一種通過(guò)分析系統功能有效 性和性能度量(譬如整體吞吐量、模塊與存儲器交互延遲等)來(lái)自動(dòng)進(jìn)行設計理解和調試過(guò)程的手段。
![]() |
圖1顯示的是從算法級到實(shí)現級的各個(gè)抽象級,通常包括SystemC(IEEE P1666)、SystemVerilog(IEEE P1800)和e(IEEE P1647)在內的幾種功能建模與驗證語(yǔ)言(及標準)被用于設計。另外,先進(jìn)的方法實(shí)踐,例如從OpenVera的“參考驗證法指南”以及e的“e再使用法推薦”抽取出的方法實(shí)踐,為算法、構架以及事務(wù)處理級建模提供參考。
事務(wù)處理級建模是一個(gè)相當普通的應用,它涉及并描述設計的每一個(gè)功能線(xiàn)程。事務(wù)處理級的焦點(diǎn)是“如何”進(jìn)行,特別是通訊交互“如何”進(jìn)行,而不在于功能是 “什么”。事務(wù)處理所提供的是執行細節在時(shí)間上的抽象與空間上的封裝在DD這是最初注重通訊基礎架構而不是功能模塊的思想的體現。做這樣的抽象建模的好處 是驗證效率高。事實(shí)上,對事務(wù)處理的運用正變得日益廣泛、多種多樣,并成為主流。
在模塊間捕捉同步傳輸的事務(wù)處理也注定會(huì )成為折衷分析中的重要角色。因此,建模與記錄事務(wù)處理對提升基于事務(wù)處理的驗證和調試技術(shù)非常關(guān)鍵,而驗證和調試技術(shù)是提高開(kāi)發(fā)效率與設計質(zhì)量所必須的。
如何進(jìn)行事務(wù)處理級建模
高級語(yǔ)言(也稱(chēng)為“HLL”,例如SystemC)、其它的硬件驗證語(yǔ)言(也稱(chēng)為“HVL”,例如OpenVera、e)以及測試向量(testbenchz)與硬件設計語(yǔ)言(例如SystemVerilog)對事務(wù)處理都有程度不一的內在支持。SystemC (www.SystemC.org)可為建模語(yǔ)言?xún)戎玫挠脩?hù)驅動(dòng)事務(wù)處理的創(chuàng )建提供支持,并可把它們記錄到數據庫中,就如同采用SCV函數庫的sc_trace()寫(xiě)入數據庫一樣。SCV有許多預先定義的非常有用的類(lèi),包括下面三個(gè)主要的記錄對象:scv_tr_db: 事務(wù)處理數據庫對象,它允許用戶(hù)控制記錄。該對象是通用的且獨立于數據庫格式。第三方記錄API供應商可以將底層服務(wù)對應到他們自己的數據庫方案中。
評論