• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于VMM方法的SOC集成驗證

      2011-01-26 08:09:18羅勝欽
      電子與封裝 2011年1期
      關(guān)鍵詞:測試用例總線芯片

      李 磊,羅勝欽

      (同濟大學電子科學與技術(shù)系,上海 201804)

      1 引言

      隨著集成電路設(shè)計向超大規(guī)模發(fā)展,芯片驗證工作的難度在不斷增大,驗證的工作量已經(jīng)占到整個SOC研發(fā)的70%左右,芯片驗證直接影響到芯片上市的時間,因此提高芯片驗證的效率已變得至關(guān)重要[1]。

      VMM是synopsys公司推出的基于system verilog的一套驗證方法學,繼承于RVM。利用VMM的層次化、隨機約束等特點,能有效提升現(xiàn)有的驗證方法,快速搭建具有目標模塊的驗證環(huán)境[2]。

      2 SOC集成驗證

      SOC驗證可以分為集成驗證IV(Integrated Verification)和系統(tǒng)驗證SV(System Verification)。本文主要介紹SOC集成驗證,采用VMM驗證方法學和DesignWare VIP,Master例化為VIP Interface模型,通過約束VIP Transaction參數(shù)產(chǎn)生各種定向激勵;通過約束Scenario Class產(chǎn)生各種隨機激勵。

      2.1 集成驗證的功能

      集成驗證需要完成的任務(wù)包括:

      (1)驗證各功能模塊是否正常連接;

      (2)驗證各模塊對片外IO是否連接正常;

      (3)驗證各模塊間的互聯(lián)是否正常,例如DMA請求信號和VIC請求信號;

      (4)驗證各層總線的地址映射是否正常;

      (5)Memory地址遍歷和隨機測試;

      (6)多Master沖突檢測等。

      集成驗證是基于時鐘周期的測試,能夠基于時序非常方便地發(fā)送各種不同的操作,可以彌補系統(tǒng)驗證的不足;同時由于不需要啟動系統(tǒng),集成驗證具有運行速度快的特點。集成驗證在芯片驗證中極其重要。

      2.2 集成驗證平臺

      在SOC集成驗證中需要將每個Master替換為VIP Interface模型,通過例化的模型訪問所有的IP寄存器和Memory地址空間,驗證架構(gòu)互連的正確性。項目的集成驗證平臺采用VMM方法。圖1顯示了VMM層次化驗證平臺的結(jié)構(gòu)[3]。

      圖1 VMM層次化驗證平臺結(jié)構(gòu)圖

      VMM驗證平臺有多個層組成,主要包括圖1中的測試層、場景層、功能層、命令層和信號層,反映了設(shè)計所處理數(shù)據(jù)的抽象層次。驗證平臺能滿足不同測試用例的各種要求,測試用例的編寫位于該驗證平臺的頂層,每個層次都能給上層提供一系列的服務(wù),并通過抽象將低層次的細節(jié)隱藏起來[4]。

      3 集成驗證環(huán)境

      3.1 可歸一化的集成驗證環(huán)境

      集成驗證是否高效,跟集成驗證環(huán)境的優(yōu)劣密切相關(guān)。其中,集成驗證環(huán)境的歸一化對集成驗證工作具有重要意義。

      集成驗證環(huán)境的搭建是需要花費很多人力時間才能完成的。在追求芯片快速上市的今天,一個項目搭建一個全新的驗證環(huán)境已經(jīng)無法讓人接受[5]。集成驗證環(huán)境的歸一化主要體現(xiàn)在一些公有目錄和文件的存放具有統(tǒng)一性,可被其他項目重用,從而避免一個項目一個驗證環(huán)境的情況,對于新的項目只需修改一小部分文件即可。

      本項目采用可歸一化的驗證環(huán)境,在驗證環(huán)境搭建中減少了很多工作量。

      可歸一化SOC驗證環(huán)境文件的存放如下:

      |—Verification // 驗證的總目錄

      |—common // 系統(tǒng)驗證和集成驗證公共目錄

      |—bin // 公共腳本

      |—testbench //存放公共的測試文件

      |—vfilelists //存放所有的RTL代碼

      |—pmap //存放IP的pmap文件

      |—mem-model //存放存儲器模型

      ……

      |—iv // 集成驗證目錄

      |—env //驗證環(huán)境文件的存放

      |—sim //仿真開始目錄

      |—log //仿真log文件夾|—wave //仿真波形文件夾

      |—output //編譯仿真過程文件

      ……

      |—tc //驗證用例目錄

      |—reg //寄存器測試用例目錄

      |—mem //Memory測試用例目錄

      ……

      |—script //腳本文件目錄

      |—vmt_bfm //Vmtmaster的bfm目錄

      ……

      其中,env文件下存放著VMM驗證代碼模板。Ahb_env.sv主要用于把各個Master、slave和他們各自的數(shù)據(jù)通道連接起來,起到貫穿所有組件的作用。Ahb_gen.sv用于產(chǎn)生各種激勵,通過約束Vip transaction參數(shù)來定義上層激勵函數(shù)。Ahb_defines.sv包含系統(tǒng)使用的宏定義。

      對于架構(gòu)、功能等不同的片上系統(tǒng),SOC驗證環(huán)境的修改不可避免,但是有了可歸一化的SOC驗證環(huán)境,其繼承性就大大加強。根據(jù)歸一化驗證平臺,就可快速搭建一個新項目的SOC驗證環(huán)境。

      3.2 基于VMM和DW VIP的集成驗證環(huán)境

      AMBA總線是ARM公司推出的SOC總線,應(yīng)用廣泛。本項目也是基于AMBA總線架構(gòu),采用ARM9處理器,SOC的集成驗證環(huán)境是基于VMM和DesignWare VIP。

      V M M提供了用于實現(xiàn)驗證環(huán)境的基本類vmm_env,任何驗證環(huán)境都從該類繼承,該類控制著整個仿真的進程,用于控制其他類的實例化,進程啟動和結(jié)束[6]。

      Vmm_env提供的基本函數(shù)和方法使得環(huán)境的搭建到仿真的完成只需9步操作。這9步操作均在ahb_env.sv中定義和配置,分別是:env.gen_cfg,env.build,env.reset_dut,env.cfg_dut,env.start,env.wait_for_end,env.stop,env.cleanup,env.report。

      在這9步操作中,我們可以根據(jù)具體驗證的要求和任務(wù),在 env.build、env.start、env.wait_for_end、env.stop這幾個步驟中進行設(shè)定。圖2是SOC系統(tǒng)芯片結(jié)構(gòu)簡圖。

      圖2 SOC系統(tǒng)芯片結(jié)構(gòu)簡圖

      在SOC集成驗證中我們將每個Master替換為AHB VIP Interface模型,通過例化的模型訪問所有的IP寄存器和Memory地址空間[7]。

      測試層testcase主要是驗證用例的編寫。而VMM_SCENARIO_GEN類由宏生成,根據(jù)指定的VMM_DATA類來生成場景發(fā)生器。

      本文的測試用例構(gòu)造最常用的方式是:`ARMD.write_32(`asicSYSCTRL,32’h00000010)。此語句是Master ARMD訪問系統(tǒng)控制器SYS CTRL的一個寄存器。其中,`ARMD是一個宏定義,為場景層的generator發(fā)生器的一個通道。在write_32函數(shù)中,運用了VMM_channel類out_chan.put(item),主要作用是generator將數(shù)據(jù)包放入通向transactor的channel中。

      AHB VIP模型在VMM驗證中起著重要的作用,在VMM中實現(xiàn)的是功能層和命令層的功能。這里采用的是DW_Vip_ahb_master_rvm類,此類具有事務(wù)處理器(transacor)的功能。構(gòu)造函數(shù)為:

      Function new(

      string Instname,

      AhbmasterPort portconnect,

      dw_vip_ahb_master_configration cfg,

      dw_vip_ahb_transaction_channel in_chan,

      dw_vip_ahb_transaction_channel out_chan,

      從in_chan輸入的transaction,經(jīng)過transactor解析后,轉(zhuǎn)換成AHB Masterport的信號。通過AHB Masterport interface和DUT交互,從而完成了從測試層到DUT接口的激勵傳輸。

      從測試層到達信號層的過程很好地體現(xiàn)了VMM驗證方法的核心。

      VMM驗證與傳統(tǒng)的功能驗證區(qū)別在于:傳統(tǒng)的功能驗證是在DUT的接口上直接輸入激勵,通過DUT檢查響應(yīng)。這種方法抽象級別低,在復(fù)雜的SOC中不容易定位錯誤,驗證耗時也長;VMM驗證如上述的過程,是抽象級別高的驗證方法,testcase采用面向?qū)ο蟮膕ystem verilog語言,有豐富的類庫支持,能有效提高驗證的功能覆蓋率和驗證的效率[8]。

      4 結(jié)論

      在越來越高的抽象層次上進行驗證是驗證方法學不斷發(fā)展的趨勢。本文以AMBA總線架構(gòu)系統(tǒng)芯片的集成驗證為例,采用VMM和DW VIP的集成驗證方法。驗證環(huán)境歸一性強,進行簡單修改即可被新項目繼承,同時驗證環(huán)境采用大量的腳本文件,自動化程度高,節(jié)省了人力資源和時間,可顯著地提高驗證的工作效率,從而縮短整個復(fù)雜SOC的研發(fā)時間。

      [1]Chris Spear. SystemVerilog for Verification[M].Springer,2006,1-18.

      [2]Verification Methodology Mannual[P].Synopsys,Inc,&ARM,Inc.

      [3]Janick Bergeron,Eduard Cemy,Alan Hunter等著,夏宇聞等譯. System Verilog驗證方法學[M].北京:北京航空航天大學出版社,2007.

      [4]Jinbin Hu,Xiaoguang Li.System verification based on VMM and SOPC[C].Computer Science and Information Technology (ICCSIT), 2010 3rd IEEE International Conference.2010:41-43.

      [5]孫海平,丁健. 系統(tǒng)芯片驗證方法與技術(shù)[M].北京:電子工業(yè)出版社,2005.

      [6]Keaveney Martin ,McMahon Anthony,O’Keeffe Niall,et al..The development of advanced verification environments using System Verilog[C]. Signals and Systems Conference,208. (ISSC 2008). IET Irish.2008:325-330.

      [7]Lu Kong,Wu-Chen Wu,Yong He,et al.. Design of SoC verification platform based on VMM methodology[C]. ASIC,2009. ASICON ’09. IEEE 8th International Conference.2009:1272-1275.

      [8]Janick Bergeron.Writing Testbenches using SystemVerilog[M].Springer,2006.

      猜你喜歡
      測試用例總線芯片
      基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
      基于PCI Express總線的xHC與FPGA的直接通信
      機載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計
      基于混合遺傳算法的回歸測試用例集最小化研究
      芯片測試
      多通道采樣芯片ADS8556在光伏并網(wǎng)中的應(yīng)用
      基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
      多通道ARINC429總線檢查儀
      基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計
      河南科技(2014年16期)2014-02-27 14:13:22
      74HC164芯片的應(yīng)用
      河南科技(2014年10期)2014-02-27 14:09:18
      饶阳县| 云林县| 安康市| 黔江区| 新密市| 绥中县| 象州县| 辽阳县| 喀什市| 阿拉善盟| 绥芬河市| 东台市| 长海县| 庐江县| 彩票| 金溪县| 庆安县| 弥渡县| 札达县| 新田县| 内黄县| 紫金县| 喀什市| 涞水县| 淮北市| 保康县| 张掖市| 穆棱市| 昌乐县| 东台市| 清河县| 长乐市| 青海省| 堆龙德庆县| 大化| 南京市| 陇西县| 惠来县| 忻州市| 小金县| 青冈县|