《電子技術應用》
您所在的位置:首頁 > 測試測量 > 業界動態 > 基于RVM的可重用性SoC測試平臺設計

基于RVM的可重用性SoC測試平臺設計

2008-05-29
作者:張旭峰, 楊豐瑞, 鄭建宏

  摘 要: 簡要介紹了一種基于事務的用于SoC系統芯片驗證的RVM驗證方法" title="驗證方法">驗證方法學,以及應用該方法學搭建的具有分層結構的測試平臺" title="測試平臺">測試平臺,該測試平臺具有良好的可重用性" title="可重用性">可重用性。為了對該方法進行示范,驗證了TD-SCDMA手機芯片中的I2C模塊的RTL級實現,并給出了相應的測試平臺模型及其在系統級" title="系統級">系統級上的重用。
  關鍵詞: RVM 可重用性測試平臺 基于事務的驗證 寄存器傳輸級驗證


  隨著芯片復雜度的上升,驗證工作的復雜度和工作量呈指數形式上升。芯片系統要想盡快推向市場,驗證已經成為極其重要的一環,甚至是最重要的一環,這就迫使系統芯片驗證工程師要盡可能多地重用已有的驗證資源。和設計重用類似,驗證的重用可以大大提高驗證的效率,減小驗證代價,得到高質量的設計。
  本文介紹的Synopsys的RVM(Reference Verification Methodology)驗證方法學,是采用Vera硬件驗證語言建立目標模型環境、激勵自動生成、含錯誤指示的自核對式測試、覆蓋狀況分析能力[1]。通過簡化問題和建立復雜的測試平臺,為驗證工程師提供了更高的設計生產率,并使測試平臺具有良好的可重用性。
1 搭建可重用測試平臺的關鍵技術
  在傳統驗證方法的許多情況下,測試平臺是在信號級(Signal Level)的接口上直接與可驗證性" title="可驗證性">可驗證性設計(Design Under Test,DUT)相通信的,即使用激勵直接驅動DUT的引腳,并通過檢查接口信號的值和變化,達到驗證設計功能的目的。這種驗證方法的抽象層次較低,平臺的開發與設計的接口協議緊密相關,從而使得測試平臺的重用變得十分困難。所以測試平臺要想在不同的項目之間重復使用,至少是部分重用,首先測試平臺的結構要被有效地模塊化,使得構成平臺的各個模塊的改變和重用變得容易;其次測試平臺必須有明確的層次化定義,并要清晰地定義層和層之間的接口,使得各層之間具有一定的獨立性,改變底層并不會影響上層的重用[2]
  基于上述考慮,在驗證過程中提出了基于事務的驗證思想[3]。基于事務的驗證:可以在一個更高的層次上進行驗證,可以明顯地減少測試工作量,簡化調試,并有助于統計測量功能覆蓋率。所謂事務[4](Transaction)是指設計對象與事務處理器(Transactor)之間通過接口所做的一次數據或控制的傳輸。事務可以是一個簡單事務,如讀取某個存儲器單元,也可以是一個復雜事務,如傳輸整個結構式數據報文;同時可以把單獨信號的特殊性、比特和字節的繁瑣性都模型化并且包裝起來,這樣把驗證提高到更高的抽象的層次上,這個層就是事務層,這樣能夠更有效地完成更多的功能。具體在RTL級的驗證中,可以設計一個用戶定義的事務處理器[5],將可驗證性設計(DUT)與所構建的測試平臺連接起來,其中用戶定義的事務處理器能夠將事務級的測試激勵與RTL級的信號(Singal)進行相互轉換。
  基于事務的驗證工具讓驗證工程師除了可以在信號/引腳級上進行驗證,還可以在事務級上進行驗證,從而提高了驗證工程師的設計效率,同時驗證的模塊化也大大地提高了驗證的可重用性。
2 RVM驗證方法學
  RVM驗證方法學主要是基于事務驗證的思想,結合隨機化驗證和覆蓋率驅動技術,幫助驗證工程師快速建立一個可重用的驗證環境。RVM采用了易于驗證重用的分層測試平臺結構,同時它還具有全面的采用面向對象技術的庫,從而使RVM驗證環境模塊化、實用化。從基于事務驗證思想的角度來分析,RVM可以分為三層:信號層、事務層和測試層。RVM測試平臺結構如圖1[6]所示。


  其中,信號層是與被測設計對象(DUT)直接聯系的,主要起到事務層和DUT連通的作用。事務層則包括了Scenario Generator、Driver、Monitor、Transactor、Scoreboard和Checker,它將根據上層測試層的請求,將測試層協議映射到信號層。測試層(Tests)用于在系統中協調事務層的處理。
  RVM的分層結構使驗證的抽象層次從信號層提升到了事務層,很好地利用了事務級驗證的思想。這樣驗證工程師就可以不用太關心DUT內部的具體實現過程,只需根據設計工程師提供的設計文檔,提取出DUT工作所需的激勵和輸入輸出的端口信息以及相應的時序關系,就可以進行測試平臺的設計和驗證代碼的編寫工作了,設計出的測試平臺具有明顯的模塊化特征,易于重用。
  為了更好地構建RVM驗證環境,完成層與層之間的通訊,RVM還可以直接調用RVM驗證基類函數庫,里面定義了很多標準的函數類[7]。主要包括構造事務對象的RVM_DATA類、構造處理事務對象的處理器(Transactor)的RVM_XACTOR類、構造傳輸事物對象的通道(Channel)的RVM_CHANNEL類、構造控制整個驗證環境的RVM_ENV類和反饋信息的消息類RVM_LOG等。有了這些基類后,驗證工程師很容易實現各個組件間的同步關系和事物對象在組件間的傳輸等,不僅使得驗證工程師能很容易地編寫一些較復雜的測試平臺,而且還使得編寫出的驗證環境更容易理解、調試和重用。
3 RVM驗證方法學在芯片驗證中的應用
  筆者在重郵信科TD-SCDMA手機芯片的驗證中運用了RVM驗證方法學來搭建測試平臺,提高了驗證的效率,同時也大大提高了驗證資源的可重用性。本文重點介紹芯片中I2C總線的寄存器傳輸級(Register Transfer Level,RTL)驗證及相應測試平臺的搭建。I2C總線(即IIC總線,Inter Integrated Circuit Bus)是一種用于IC控制的簡單的雙向兩線串行總線,系統中每個I2C器件都有一個唯一的地址。發送器或接收器可以在主模式或從模式下操作。I2C總線最重要的特征就是只要求兩條總線線路:一條串行數據線SDA,一條串行時鐘線SCL。簡單的兩線串行I2C總線將IC間互聯減到最小。

?


3.1 I2C的RTL級驗證
  在驗證過程中,需要對邏輯功能、模塊行為、波形定時關系等進行檢查,如果不滿足要求,會輸出仿真錯誤信息,以引起驗證人員注意。其中,I2C的RTL級測試平臺的結構如圖2所示。
3.1.1測試平臺中的主要模塊
  (1)可驗證性設計模塊(DUT):即被測試設計模塊,在測試中提供給信號層端口信息,實現與整個驗證模塊的正常通訊。本文中的I2C DUT主要支持三種工作方式:寫、連續讀(直接讀取)和復合讀(先寫后讀)。DUT對外的主要通信端口如表1所示。
  (2)測試例模塊(Testcases):Testcase是頂層模塊,控制著整個環境的運行。主要是驗證工程師根據設計人員提供的設計分析文檔編寫隨機測試例,限制底層模塊激勵的產生和驅動,驗證工程師可以根據需要編寫的多個測試例來完成模塊所有功能的測試。I2C模塊共寫了四個測試例,分別是寫、連續讀、復合讀和隨機產生錯誤ACK的測試例。
  (3)激勵產生模塊(Generator):這個模塊主要是產生驗證DUT的隨機激勵。這些激勵被封裝在一個數據對象(data object)或事務(transaction)中,Generator將產生的這些數據對象或者事務通過輸出通道傳到下層模塊。I2C包括兩個Generator:Master Generator和Slave Generator。Master Generator主要是隨機產生DUT的配置數據,如:寄存器的地址配置信息等。Slave Generator主要是隨機產生讀、寫的數據和類型等事務序列。
  (4)驅動模塊(Driver):包括主機驅動(Master Driver)、從機驅動(Slave Driver)和中斷服務程序(Interrupt Service Transactor)。在Master Driver中定義了寫、讀兩個任務(task),將寫或讀過程中的所有激勵都封裝在任務(task)中。Master Driver模仿外圍設備(APB)通過對DUT與APB的外部接口進行驅動,將產生的數據傳給DUT。Slave Driver主要是模仿Master要訪問的外設,通過Slave Generator隨機產生一些讀時需要的數據,根據端口i2c_scl和i2c_sda_o來判斷何時主機開始讀數據,然后驅動i2c_sda_i來輸出數據并送到DUT的讀寄存器。Interrupt Service Transactor是一個中斷服務程序,當接收到中斷時,會把中斷信息傳給Master Driver。
  (5)監控器(Monitor)和自檢器(Checker):I2C共有兩個Monitor:Master Monitor和Slave Monitor,分別負責監測主機和從機的端口信息。Monitor時刻監測DUT的端口信息,將DUT端口變化的數據信息記錄在一個事務中,通過相應的事務通道將這個事務送到Checker中。Checker將從兩個Monitor中接收到的事務進行自動比較,檢查DUT是否存在bugs。
  (6)功能覆蓋(Function Coverage):功能覆蓋模塊和測試平臺中的所有模塊都有聯系,使用功能覆蓋可以幫助找出功能上的缺陷,主要用來衡量模塊設計是否符合設計需求的所有功能。在I2C模塊中主要考察了寄存器配置、中斷和使能等覆蓋的情況。
3.1.2 測試結果
  通過編寫隨機測試例使DUT的驗證達到了代碼覆蓋率96.65%和功能覆蓋率100%。根據驗證的要求,代碼覆蓋率應該達到100%。通過和設計工程師的交流,找出沒有覆蓋到的代碼,查找原因,發現了一些驗證中的不足和源程序中的冗余及缺陷(bug),通過修改源代碼,同時增加一些直接的測試例,使代碼達到了完全的覆蓋。
  在驗證中采用了含錯誤指示的自核對式測試技術,在生成的.log文件中根據是否有錯誤報警來判斷模塊設計或驗證代碼是否存在缺陷,免去了直接從仿真波形上查找錯誤的繁瑣性。但在測試中,通過仿真出來的波形來檢驗驗證的過程及結果也是非常必要的,特別是牽涉到時序方面的驗證時,仿真波形更顯示出其在驗證過程中的作用;從波形上可以直接獲取信號的信息,對驗證代碼進行修改完善,同時也能觀察到存在于DUT內部的信號,查找出更多的bug。在驗證I2C模塊中仿真出來的寫操作部分波形如圖3所示。


  通過采用RVM設計的測試平臺,I2C模塊的RTL級驗證很成功,達到了預期的效果,設計的測試平臺模塊性強,易于理解和重用。
3.2 I2C驗證模塊在整個系統級驗證中的重用
  進行完RTL級的驗證后,需要把SoC芯片中的各個模塊通過接口連接起來,進行整個系統級的驗證。在系統級驗證時,驗證工程師需要對自己的驗證模塊進行監控,檢查各個模塊的輸入和輸出端口,進行輸入輸出結果的比較。此時,可以將模塊級測試平臺中的部分模塊重用到系統級驗證中來。由于此時的激勵是由系統產生的,所以驗證工程師只需要把各自模塊里面的Monitor、Checker及Functional Coverage模塊重用到系統級即可。系統級中I2C驗證模型如圖4所示。


  圖2中的Master Monitor、Self checker和Slave Monitor分別被重用到圖4中的Master to I2C Monitor、I2C Checker和I2C to Slave Monitor,同時功能覆蓋模塊也可以重用到系統級,為系統級的驗證節省了很多重新編寫新代碼的工作和寶貴的時間。
  通過實際驗證設計,與傳統的測試平臺比較,基于RVM的可重用性SoC測試平臺具有更高的抽象性、更清晰的層次性和結構的模塊化,易于驗證的重用,提高了驗證的效率,加快了產品設計和面市時間。
參考文獻
1孫海平,丁 健.系統芯片(SoC)驗證方法與技術[M].北京:電子工業出版社,2005
2 Keating M, Bricaud P. Reuse methodology manual for system on a chip designs(third edition).[M] Kluwer Academic Pub-lishers,2002
3 詹文法. 測試平臺的可重用性研究.合肥工業大學碩士學位論文[D],2004:22~35
4 孟 慶,何樂年等.基于事務的SoC驗證策略.半導體技術[J],2002;27(6):29~32
5 王錦程,李德識等.SCV及其在SoC驗證中的應用.武漢大學學報[J],2004;37(5):116~119
6 SYNOPSYS data sheet. VCS verificaton library. Printed in the U.S.A,2005
7 SYNOPSYS. Reference verification methodology user guild. Version 8.5.11, December 2004

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 亚洲精品中文字幕久久久久久 | 国产欧美久久久精品 | 国产第三区 | 国产一区二区在线 |播放 | 国产亚洲精品成人一区看片 | 欧美一级专区免费大片俄罗斯 | 亚州视频一区二区 | 99视频免费 | 久久精品亚瑟全部免费观看 | 色综合a怡红院怡红院首页 色综合精品久久久久久久 色综合九九 | 国产成人精品一区二区免费 | 欧美一区二区在线视频 | 国产精品欧美韩国日本久久 | 欧美性活一级视频 | 毛片一级做a爰片性色 | 国产亚洲精品九九久在线观看 | 国产亚洲高清不卡在线观看 | 超级香蕉97视频在线观看一区 | 国产三级在线看 | 亚洲成 人a影院青久在线观看 | 亚洲欧美性视频 | 91精品一区二区三区在线观看 | 国产性较精品视频免费 | 久久频这里精品99香蕉久网址 | 精品72久久久久久久中文字幕 | 久久在线免费 | 欧美午夜视频 | 人成18亚洲资源在线 | 免费观看一级特黄欧美大片 | 日韩亚洲人成网站在线播放 | 久久久久免费 | 亚洲天天看 | 久久久久久久久久久久福利 | 国产成人无精品久久久久国语 | 亚洲美女高清aⅴ视频免费 亚洲美女黄色片 | 手机看片国产在线 | 在线毛片免费 | 精品午夜寂寞影院在线观看 | 亚洲精品国产综合久久一线 | 免费精品久久久久久中文字幕 | 国产精品hd免费观看 |