色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于base test如何來構造測試用例

lhl545545 ? 來源:FPGA學姐 ? 作者:FPGA學姐 ? 2022-09-19 09:16 ? 次閱讀

在設計仿真用例時,有限制條件的激勵相比漫無目的的仿真更加有效的找出RTL的bug。因此,同一份測試方案,不同的sequence往往代表著不同的test_case。真正的測試用例都是基于base_test派生的一個類。

第一,在這么多不同的case下,我們可以設置一個base_case,base_case將環境env,cfg等一些東西包進去;

第二,需要幾個不同的sequence就寫幾個sequence,sequence之間沒有聯系,繼承于uvm_sequence;

第三,在每個具體的執行case下,可以用asserte插入具體的配置參數,并且每個case設置自己獨立的default_sequence;

第四,在終端指定不同的case_name跑不同的case;

文件:src/base_test.svclass base_test extends uvm_test;my_envenv;functionnew(stringname="base_test",uvm_componentparent=null);super.new(name,parent);endfunction
externvirtualfunctionvoidbuild_phase(uvm_phasephase);externvirtualfunctionvoidreport_phase(uvm_phasephase);`uvm_component_utils(base_test) //使用uvm_component_utils宏來注冊到factory中endclass
//在build_phase中實例化my_env,并設置sequencer的default_sequence來啟動my_sequencefunctionvoidbase_test::build_phase(uvm_phasephase);super.build_phase(phase);env=my_env::create("env",this);uvm_config_db#(uvm_object_wrapper)::set(this,"env.i_agt.sqr.main_phase","default_sequence",my_sequence::get());endfunction//根據UVM_ERROR的數量來打印不同的信息,一些日志分析工具functionvoidbase_test::report_phase(uvm_phasephase);uvm_report_serverserver;interr_num;super.report_phase(phase);server=get_report_server();err_num=server.get_severity_count(UVM_ERROR);if(err_num!=0)begin$display("TESTCASEFAILED");endelsebegin$display("TESTCASEPASSED");endendfunction

代碼中的super.new(name,parent)是繼承基類的構造函數的寫法,包括下面的 super.build_phase(phase)也是繼承基類的表現。

除了上述操作外,還通常在base_test中做如下事情:

第一,設置整個驗證平臺的超時退出時間;

第二,通過config_db設置驗證平臺中某些參數的值。這些根據不同的驗證平臺及不同的公司而不同,沒有統一的答案

下面介紹基于上面定義的basetest如何來構造測試用例呢

首先構造用例case0的激勵sequence

然后基于base case構造自己的case來啟動自己的激勵sequence

文件:src/my_case0.sv class case0_sequence extends uvm_sequence #(my_transaction); my_transaction m_trans; …virtual task body();if(starting_phase != null)starting_phase.raise_objection(this);//啟動仿真repeat (10) begin `uvm_do(m_trans)//發送此transaction。 end #100; if(starting_phase != null) starting_phase.drop_objection(this);//仿真結束 endtask … endclass  class my_case0 extends base_test; function new(string name = "my_case0", uvm_component parent = null); super.new(name,parent); endfunction extern virtual function void build_phase(uvm_phase phase); `uvm_component_utils(my_case0) endclass //通過設置默認sequence來啟動case0_sequence function void my_case0::build_phase(uvm_phase phase); super.build_phase(phase);uvm_config_db#(uvm_object_wrapper)::set(this,"env.i_agt.sqr.main_phase","default_sequence",case0_sequence::get());endfunction

UVM會利用UVM_TEST_NAME從命令行中尋找測試用例的名字,創建它的實例并運行

 … +UVM_TEST_NAME=my_case0
審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1629

    文章

    21729

    瀏覽量

    603005
  • 仿真
    +關注

    關注

    50

    文章

    4070

    瀏覽量

    133552
  • 終端
    +關注

    關注

    1

    文章

    1128

    瀏覽量

    29865

原文標題:仿真驗證之base test

文章出處:【微信號:FPGA學姐,微信公眾號:FPGA學姐】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于pCTL的循環優化測試用自動生成方法

    【作者】:余俠;薛云志;陶秋銘;【來源】:《小型微型計算機系統》2010年03期【摘要】:循環優化測試對保證現代編譯器質量有著重要作用.傳統手工構造測試用方法面臨著效率低的問題,而目
    發表于 04-24 09:51

    如何編寫測試用

    我們如何在訪問儀器庫的工具中編寫任何測試用。 以上來自于谷歌翻譯 以下為原文how we need to write any test case in tool which access the instrument lib
    發表于 11-09 10:34

    修改自測試用run_test遇到的問題求解

    我修改了add.S文件,想讓make run_test SIM=iverilog后出現file.可是編譯不了,add.S文件也沒顯示更新。 可是我在測試測試用的時候,make
    發表于 08-12 06:50

    基于UML的生成場景測試用研究

    使用UML生成場景測試用,有利于測試者設計測試用。使用UML的類圖、狀態圖和順序圖來說明DHCP實例的場景
    發表于 03-31 09:49 ?15次下載

    手機硬件測試用

    手機硬件測試用 1.RF 測試 2.BB測試 3.Audio 測試 4.EMC測試
    發表于 04-28 16:59 ?56次下載

    基于跨平臺系統中測試用復用的解決方法

    在軟件開發過程中,測試做為一種保障產品質量的有效手段,被越來越多的人所重視。測試通常需要依據若干已經設計好的測試用逐步展開,使用測試用
    發表于 11-14 15:55 ?10次下載
    基于跨平臺系統中<b class='flag-5'>測試用</b><b class='flag-5'>例</b>復用的解決方法

    基于DSEA的弱變異測試用集生成方法

    為解決基于集合進化算法(SEA)的弱變異測試用集生成過程中個體規模固定和執行開銷大的問題,提出一種基于動態集合進化算法( DSEA)的弱變異測試用集生成方法。以
    發表于 11-28 16:11 ?0次下載

    數據測試:輸入數據的設計方法和測試用設計方法

    測試用的設計是測試設計的重要內容,關于測試用的設計方法,當前不少出版的測試書和發表的
    的頭像 發表于 06-29 10:22 ?2924次閱讀

    詳談Web測試中的界面測試用設計

    詳談Web測試中的界面測試用設計
    的頭像 發表于 06-29 10:48 ?2116次閱讀

    測試用的管理 介紹測試用的幾種管理方法

    摘要 隨著軟件系統規模的持續增大,業務復雜度的持續增加,軟件測試的復雜度也隨之越來越大。而軟件測試工作復雜度的直接體現,就是測試用編寫、維護、執行和管理,所以編寫易讀、易維護和易管理
    的頭像 發表于 11-26 15:13 ?6688次閱讀
    <b class='flag-5'>測試用</b><b class='flag-5'>例</b>的管理 介紹<b class='flag-5'>測試用</b><b class='flag-5'>例</b>的幾種管理方法

    測試用質量的重要性

    在進行測試時,通常會花很多精力選擇“正確”的測試工具。這其實只是為了實現次要目標。當然,一個適合開發環境、項目和流程的工具是重要的。然而,對于良好測試而言,最重要的是測試用
    的頭像 發表于 09-03 15:13 ?855次閱讀
    <b class='flag-5'>測試用</b><b class='flag-5'>例</b>質量的重要性

    篇 | 單元測試用復用到集成測試?Testlet Library來助力!(上)

    作者:fox小編:吃不飽作為一名測試工程師,在做MiL測試時,編寫測試用的效率影響整個測試項目的進度,如何有效提升編寫
    的頭像 發表于 11-04 10:14 ?856次閱讀
    用<b class='flag-5'>例</b>篇 | 單元<b class='flag-5'>測試用</b><b class='flag-5'>例</b>復用到集成<b class='flag-5'>測試</b>?Testlet Library來助力!(上)

    磁盤eCryptfs加密測試用

    apt安裝用戶態工具ecryptfs-utils即可。 4.1、測試用 下圖是一個腳本基礎測試用。先創建test目錄和文件hello,
    的頭像 發表于 11-29 11:27 ?1194次閱讀
    磁盤eCryptfs加密<b class='flag-5'>測試用</b><b class='flag-5'>例</b>

    DEKRA被CSA指定為Zigbee統一測試工具開發和優化新功能和測試用

    DEKRA德凱被CSA聯盟(Connectivity Standards Alliance,CSA)指定負責為Zigbee統一測試工具(Zigbee Unified Test Harness,ZUTH)開發和優化新功能和測試用
    的頭像 發表于 04-09 14:10 ?508次閱讀

    端到端測試用怎么寫

    編寫端到端測試用是確保軟件系統從頭到尾能夠正常工作的關鍵步驟。以下是一個詳細的指南,介紹如何編寫端到端測試用: 一、理解端到端測試 端到
    的頭像 發表于 09-20 10:29 ?440次閱讀
    主站蜘蛛池模板: 日日天干夜夜狠狠爱| 国产99久久九九精品无码不卡| 亚洲视频在线观看视频| 网友自拍偷拍| 视频一区亚洲视频无码| 日本888 xxxx| 人妖操女人| 日韩亚洲国产欧美免费观看| 青青伊人影院| 日本美女bb| 四虎影视国产精品亚洲精品| 亚洲国产综合另类视频| 国产精品久久久久影院免费| 国产乱对白精彩在线播放| 国产ZZJJZZJJ视频全免费| 国产短视频精品区| 国产精品亚洲第一区二区三区 | 亚洲 日本 天堂 国产 在线| 午夜视频体内射.COM.COM| 小蝌蚪视频在线观看免费观看WWW| 午夜影院费试看黄| 亚洲精品中文字幕无码A片蜜桃| 亚洲欧美国产综合在线| 在线亚洲精品福利网址导航| 91九色麻豆| 大陆极品少妇内射AAAAAA| 国产成人永久免费视频| 国产亚洲福利精品一区| 久久88综合| 男子扒开美女尿口做羞羞的事 | 河南老太XXXXXHD| 久久综合色超碰人人| 欧美精品成人久久网站| 日本乱子人伦在线视频| 亚洲国产精品自在自线观看| 一级特黄aa大片欧美| 97资源总站(中文字幕)| 俄罗斯XXXXXL18| 含羞草免费完整视频在线观看| 久久笫一福利免费导航| 欧美性色xo影院69|