• 
    

    
    

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

      基于UVM的總線仲裁模塊的驗證研究

      2021-07-20 07:58:52袁儒明陳迎春汪楊陳紹輝
      電子制作 2021年13期
      關鍵詞:方法學測試用例控制權

      袁儒明,陳迎春,汪楊,陳紹輝

      (合肥工業(yè)大學,安徽合肥,230009)

      0 引言

      驗證工作起始于設計規(guī)格書或者需求書。從架構的設計,行為級的系統(tǒng)建模到RTL建模的設計,甚至到最后的網表設計和后端的詳細布局,驗證工作貫穿在芯片設計的整個過程中[1]。因此,對硬件電路的仿真和驗證就成為了影響項目進度的瓶頸,往往占整個IC開發(fā)周期70%左右的時間[2]。

      傳統(tǒng)的驗證語言存在抽象建模能力不足,不易擴展和維護,缺少帶約束的隨機激勵,仿真速度慢等缺點[3],已經遠遠不能滿足當前驗證的需要。UVM是Accellera公司于2011年推出的基于systemverilog語言的通用驗證方法學,其主體來源為OVM,同時又采納了Synopsys在VMM中的寄存器解決方案RAL[4]。UVM克服了OVM和VMM各自的缺點,成為目前最主流的驗證方法學,指引了驗證方法學的發(fā)展方向。

      本文通過重用驗證組件、繼承驗證場景和重用驗證序列,實現(xiàn)了不同模塊的功能驗證,縮短了驗證周期,提高了驗證效率。

      1 總線仲裁模塊

      為了解決多個主設備同時競爭總線的控制權的問題,應當采用總線仲裁部件,以某種方式選擇一個主設備優(yōu)先獲得總線控制權。只有獲得了總線控制權的設備,才能開始傳送數據。

      本模塊采用主設備控制模式,對總線有控制權,信息的傳送是由主設備啟動的,仲裁框圖如圖1所示。

      圖1 總線仲裁框圖

      工作流程:

      (1)主設備發(fā)送請求信號;

      (2)若多個主設備同時需要使用總線,總線控制器根據仲裁邏輯、判優(yōu)按一定的優(yōu)先等級順序確定可以使用總線的主設備;

      (3)獲得總線使用權的主設備開始傳送數據。

      2 UVM驗證的重用性

      ■2.1 通用UVM平臺

      UVM提供了一系列標準類,如uvm_test、uvm_env、uvm_agent、uvm_driver、 uvm_monitor、uvm_sequence、uvm_sequencer等。UVM方法學將uvm_driver、uvm_monitor、 uvm_sequencer封裝成uvm_agent類,這些可配置、可重用的組件(Universal Verification Component,UVC) 作為最重要的可重用組件能夠加快驗證的實施[5-6]。

      在UVM驗證平臺中,以UVC為基礎,把類uvm_driver、uvm_monitor封裝成uvm_agent后,在uvm_env中只需要實例化uvm_agent,而不需要再直接實例化uvm_driver和uvm_monitor[7-8],UVM通用平臺如圖2所示。

      圖2 UVM通用平臺

      基于UVM的Factory機制,重載驗證平臺中的組件,避免重復開發(fā),具有很強的靈活性[9-10]。

      ■2.2 驗證組件的可重用性實現(xiàn)

      當對總線仲裁模塊和主設備模塊進行整體模塊的功能驗證時,采用驗證組件橫向的重用性,重用總線仲裁模塊的驗證組件。橫向的可重用性是指驗證組件在不同的IP驗證中的重用,不同的IP具有相同的總線接口。

      本文首先對仲裁模塊進行功能驗證,并且采用了兩個UVC組件。兩個UVC組件的結構是一致的,不同的是,UVC1的主要功能是用來發(fā)送激勵和接收總線仲裁模塊輸出的數據,UVC2的主要功能是用來模擬總線仲裁模塊的功能,DUT模塊為dut_dummy.v,即為總線仲裁模塊。兩個UVC組件的monitor模塊收集數據并發(fā)送到bus_monitor模塊中,bus_monitor把數據發(fā)送到scoreboard模塊中進行比較。在scoreboard中會校對發(fā)送和接收的數據,以及總線的讀寫模式??偩€仲裁模塊驗證環(huán)境如圖3所示。

      圖3 總線仲裁模塊的驗證環(huán)境

      本文主設備選用2個UART模塊。當對總線仲裁模塊和主設備模塊進行整體模塊的功能驗證時,DUT模塊為top.v模塊,top.v模塊包含總線仲裁模塊和UART模塊。因UART模塊為內部數據模塊,對IP的接口不產生影響,所以采用驗證的橫向可重用性,重用UVC1和UVC2組件,整體模塊的驗證組件重用方式如圖4所示。其中,IP1是總線仲裁模塊,IP2是top.v模塊,在對IP2的驗證中,驗證環(huán)境重用了IP1的UVC1和UVC2組件,實現(xiàn)了驗證組件的重用性。

      圖4 驗證重用方式

      本文在對整體模塊進行功能驗證時,重用了圖3所示的驗證環(huán)境uvm_env,同時通過繼承uvm_base的方式創(chuàng)建了三個新的base_test類test_2m_4s、test_r8_w8_r4_w4和test_read_modify_write,這三個類分別在每個base_test類中創(chuàng)建新的測試用例,從而實現(xiàn)了驗證場景的繼承,驗證場景的繼承方式如圖5所示。

      圖5 驗證場景的繼承

      ■2.3 驗證序列的可重用性實現(xiàn)

      可重用性不僅表現(xiàn)在驗證組件的可重用性上,也體現(xiàn)在測試用例的可重用上。在UVM平臺中,測試用例的重用方式以驗證序列的重用為基礎。一般通過三種方式重用驗證序列:一是組合重用,二是繼承重用,三是模塊級測試用例到系統(tǒng)級的重用。組合重用是指通過不同的排列組合規(guī)劃已有的序列生成新的序列。繼承重用是指通過類的繼承,重用先前類的屬性和方法,繼承已有的序列生成新的序列。本文主要使用組合重用和繼承重用兩種方法。在使用組合重用的過程中,對已經開發(fā)完成的讀、寫操作組合成讀后寫等新的操作。在使用繼承重用的過程中,本文通過添加新的控制屬性或者修改已有的約束條件,生成不同的測試用例,測試用例如表1所示。

      表1 仲裁模塊測試用例列表

      3 驗證結果分析

      ■3.1 總線仲裁模塊的驗證結果分析

      總線仲裁模塊主要驗證多個主設備同時競爭總線的控制權,本文選用兩個UART模塊掛載到總線仲裁模塊上??偩€仲裁模塊驗證結果顯示,master和slave選擇0位的設備優(yōu)先獲得總線的控制權,讀模式打印的結果是READ,寫模式打印的結果是WRITE,讀寫的數據是data。如圖6和圖7所示,設備0獲得優(yōu)先的總線控制權,然后對數據進行讀寫,寫出的數據比讀出的數據少1。

      圖6 讀模式

      圖7 寫模式

      ■3.2 覆蓋率結果分析

      通過添加不同的激勵,不斷的提高驗證的完備性,驗證覆蓋率結果如圖8所示。其中,語句覆蓋率達到100%,行覆蓋率達到100%,翻轉覆蓋率達到100%。

      圖8 覆蓋率報告

      通過UVM報告可以看出,scoreboard對實際數據和預取數據進行對比,分別實現(xiàn)讀寫對比,scoreboard數據對比如圖9所示。

      圖9 scoreboard數據對比

      4 結束語

      UVM方法學吸收主流方法學的優(yōu)點,不僅功能強大,而且架構清晰,在可重用性等方面具有很大的優(yōu)勢,使得驗證難度被有效分解,縮短了流程,加快了驗證的實施。本文基于UVM環(huán)境,對驗證組件進行重用,快速的完成了總線仲裁模塊功能驗證,以及整體模塊的驗證工作,驗證效率得到大幅提升,在實際應用中具有很高的利用價值。

      猜你喜歡
      方法學測試用例控制權
      全球首個氫燃料電池汽車碳減排方法學獲批
      大型學術著作《藥理研究方法學》出版發(fā)行
      神農科技集團正式接收廣譽遠控制權
      基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
      FF陷控制權爭奪漩渦
      汽車觀察(2018年10期)2018-11-06 07:05:06
      基于混合遺傳算法的回歸測試用例集最小化研究
      上市公司控制權爭奪中獨立董事的義務——以萬華之爭為例
      追蹤方法學在院前急救護理安全管理中的應用
      基于依賴結構的測試用例優(yōu)先級技術
      人降鈣素原定量檢測方法學評價
      阿瓦提县| 庆云县| 年辖:市辖区| 定边县| 登封市| 湘潭县| 兴文县| 迁安市| 交城县| 万源市| 望江县| 长沙县| 资兴市| 大英县| 长治县| 中方县| 景东| 定远县| 中江县| 离岛区| 杭锦后旗| 苍梧县| 漳浦县| 温州市| 彭泽县| 临夏市| 眉山市| 嵊州市| 梓潼县| 洪洞县| 门源| 峨眉山市| 布拖县| 宁陵县| 竹北市| 海南省| 湖南省| 图们市| 华池县| 昌黎县| 丘北县|