• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 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)先級技術
    人降鈣素原定量檢測方法學評價
    禄劝| 延长县| 社会| 威海市| 涪陵区| 邯郸市| 彭阳县| 辽宁省| 唐海县| 普格县| 长岭县| 汝阳县| 酒泉市| 开远市| 慈利县| 延安市| 徐闻县| 太保市| 定结县| 临朐县| 怀仁县| 右玉县| 正定县| 白水县| 文山县| 高平市| 应城市| 滁州市| 灵台县| 洛扎县| 南平市| 北海市| 罗山县| 万安县| 荔波县| 盐城市| 武夷山市| 乌鲁木齐市| 邯郸县| 永兴县| 临沂市|