在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

創(chuàng)建UVM Testcase的步驟

芯片驗(yàn)證工程師 ? 來(lái)源:芯片驗(yàn)證工程師 ? 2023-06-15 09:41 ? 次閱讀

在UVM中,Testcase是一個(gè)類(lèi),它封裝了測(cè)試用例開(kāi)發(fā)者編寫(xiě)的特定激勵(lì)序列。

創(chuàng)建Base Test

下面首先開(kāi)發(fā)了一個(gè)Base Test。這個(gè)Base Test是所有基于ubus_example_env開(kāi)發(fā)的測(cè)試用例的一個(gè)起點(diǎn)。

108a8c2e-0ace-11ee-962d-dac502259ad0.png

base test的build_phase()創(chuàng)建了ubus_example_env。任何從ubus_example_base_test派生的Testcase都會(huì)繼承ubus_example_base_test中的所有定義,這意味著如果派生的Testcase調(diào) 用 super.build_phase() , 也會(huì)將構(gòu)建top-levelenvironment。

Base Test基類(lèi)創(chuàng)建測(cè)試用例

測(cè)試用例編寫(xiě)者可以從Base Test派生出使用相同驗(yàn)證環(huán)境的測(cè)試用例。top-level environment是由Base Test的build_phase()創(chuàng)建的,派生測(cè)試用例可 以 對(duì)run_phase()做一些 調(diào) 整 ( 例 如,改變環(huán)境中執(zhí)行的 default sequence ) 。下 面 是一 個(gè)繼 承 自u(píng)bus_example_base_test 的簡(jiǎn)單測(cè)試用例。

10b0acc4-0ace-11ee-962d-dac502259ad0.png

這個(gè)測(cè) 試 用例改變了由masters[0] agent和slaves[0]agent執(zhí) 行 的default sequence。

通過(guò)基類(lèi)super.build_phase(),將創(chuàng)建驗(yàn)證環(huán)境ubus_example_env0以及它的所有驗(yàn)證子組件。因此,任何會(huì)影響這些驗(yàn)證組件構(gòu)建的配置(比如要?jiǎng)?chuàng)建多少個(gè)masters)都必須在調(diào)用super.build_phase()之前設(shè)置好。

對(duì)于這個(gè)例子,由于sequences要到后面的phase才開(kāi)始獲取,所以可以在調(diào)用super.build_phase()之后再調(diào)用uvm_config_db::set。

選擇測(cè)試用例

在定義了擴(kuò)展測(cè)試用例后,需要調(diào)用uvm_pkg::run_test()任務(wù)來(lái)選擇一個(gè)要執(zhí)行仿真的測(cè)試用例。它的原型是:

task run_test(string test_name="");

UVM支持通過(guò)兩種不同的機(jī)制指明要運(yùn)行的測(cè)試用例。

測(cè)試用例(即已經(jīng)向factory注冊(cè)的測(cè)試用例名稱(chēng))可以直接傳遞給run_test()任務(wù),也可以通過(guò)+UVM_TESTNAME在命令行中聲明。

如果兩種機(jī)制都使用,命令行優(yōu)先。一旦選擇了一個(gè)測(cè)試用例名稱(chēng),run_test()任務(wù)就會(huì)調(diào)用factory機(jī)制來(lái)創(chuàng)建一個(gè)測(cè)試用例的實(shí)例,實(shí)例名稱(chēng)為uvm_test_top。最后,run_test()通過(guò)執(zhí)行各個(gè)phase來(lái)啟動(dòng)測(cè)試。

下面的例子顯示了如何通過(guò)仿真器的命令行參數(shù)向run_test()任務(wù)提供類(lèi)型名為test_read_modify_write的測(cè)試。使用命令行參數(shù)可以避免在調(diào)用run_test()的任務(wù)中hardcode指定testcase名稱(chēng)。在一個(gè)initial語(yǔ)句中,調(diào)用run_test()如下:

// DUT, interfaces, and all non-UVM code
initial
uvm_pkg::run_test();

使用仿真器命令行選項(xiàng)選擇一個(gè)test_read_modify_write類(lèi)型的測(cè)試用例,使用以下命令:

% simulator-command other-options +UVM_TESTNAME=test_read_modify_write

如果提供給run_test()的測(cè)試用例名稱(chēng)不存在,仿真器將立即調(diào)用$fatal報(bào)錯(cuò)退出。如果發(fā)生這種情況,很可能是名字打錯(cuò)了或者是`uvm_component_utils宏沒(méi)有被使用注冊(cè)這個(gè)testcase。

通過(guò)使用這種方法,只改變+UVM_TESTNAME參數(shù),可以運(yùn)行多個(gè)測(cè)試,而不必重新編譯測(cè)試平臺(tái)。

??


審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1018

    瀏覽量

    83771
  • UVM
    UVM
    +關(guān)注

    關(guān)注

    0

    文章

    182

    瀏覽量

    19182

原文標(biāo)題:創(chuàng)建UVM Testcase

文章出處:【微信號(hào):芯片驗(yàn)證工程師,微信公眾號(hào):芯片驗(yàn)證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    數(shù)字IC驗(yàn)證之“構(gòu)成uvm測(cè)試平臺(tái)的主要組件”(4)連載中...

    擴(kuò)展于uvm component。下面的類(lèi)都是以它為基類(lèi)擴(kuò)展而來(lái)的。  uvm test,對(duì)應(yīng)著testcase測(cè)試案例,驗(yàn)證工程師的測(cè)試案例都是從這個(gè)基類(lèi)擴(kuò)展而來(lái)。  uvm env
    發(fā)表于 01-22 15:33

    UVM代碼如何把testcase與driver分開(kāi)

    UVM代碼如何把testcase與driver分開(kāi)
    發(fā)表于 03-11 07:58

    什么是uvmuvm的特點(diǎn)有哪些呢

    大家好,我是一哥,上章內(nèi)容我們介紹什么是uvmuvm的特點(diǎn)以及uvm為用戶(hù)提供了哪些資源?本章內(nèi)容我們來(lái)看一看一個(gè)典型的uvm驗(yàn)證平臺(tái)應(yīng)該是什么樣子的,來(lái)看一個(gè)典型的
    發(fā)表于 02-14 06:46

    談?wù)?b class='flag-5'>UVM中的uvm_info打印

    , this);  endfunction  m_rh是uvm_report_handler class類(lèi)型的。在1個(gè)基于uvm_report_object繼承過(guò)來(lái)的class在new的時(shí)候,會(huì)自動(dòng)創(chuàng)建出m_rh
    發(fā)表于 03-17 16:41

    我的第一個(gè)UVM代碼——Hello world

    run_test調(diào)用了uvm_test派生出來(lái)的testcase(hello_world)。 為什么run_test能夠通過(guò)字符串\"hello_world\"找到testcase?與宏定義
    發(fā)表于 11-03 10:18

    Modelsim uvm庫(kù)編譯及執(zhí)行

    第一句話(huà)是設(shè)置uvm環(huán)境變量,指定uvm的dpi位置。 第二句話(huà)是創(chuàng)建work工作目錄。 第三句話(huà)是編譯源文件,并且通過(guò)-L指定幾個(gè)編譯庫(kù)。 第三句是執(zhí)行仿真,調(diào)用uvm庫(kù)
    的頭像 發(fā)表于 12-01 11:25 ?3886次閱讀
    Modelsim <b class='flag-5'>uvm</b>庫(kù)編譯及執(zhí)行

    allegro與PADS的區(qū)別及創(chuàng)建PCB封裝的步驟

    allegro與PADS的區(qū)別及創(chuàng)建PCB封裝的步驟
    發(fā)表于 03-27 10:56 ?66次下載
    allegro與PADS的區(qū)別及<b class='flag-5'>創(chuàng)建</b>PCB封裝的<b class='flag-5'>步驟</b>

    多負(fù)載電源解決方案的創(chuàng)建步驟

    多負(fù)載電源解決方案的創(chuàng)建步驟
    發(fā)表于 05-28 10:03 ?14次下載

    典型的UVM Testbench架構(gòu)

    UVM類(lèi)庫(kù)提供了通用的代碼功能,如component hierarchy、transaction level model(TLM),configuration database等等,使用戶(hù)能夠創(chuàng)建任何類(lèi)型的Testbench架構(gòu)。
    的頭像 發(fā)表于 05-22 10:14 ?2138次閱讀
    典型的<b class='flag-5'>UVM</b> Testbench架構(gòu)

    UVM學(xué)習(xí)筆記(一)

    driver應(yīng)該派生自uvm_driver,而uvm_driver派生自uvm_component。
    的頭像 發(fā)表于 05-26 14:38 ?1404次閱讀
    <b class='flag-5'>UVM</b>學(xué)習(xí)筆記(一)

    創(chuàng)建UVM Driver的步驟

    Driver的作用是從sequencer中獲得數(shù)據(jù)項(xiàng),按照接口協(xié)議將數(shù)據(jù)項(xiàng)驅(qū)動(dòng)到總線(xiàn)上。
    的頭像 發(fā)表于 05-30 09:22 ?1027次閱讀
    <b class='flag-5'>創(chuàng)建</b><b class='flag-5'>UVM</b> Driver的<b class='flag-5'>步驟</b>

    創(chuàng)建UVM Driver

    Driver的作用是從sequencer中獲得數(shù)據(jù)項(xiàng),按照接口協(xié)議將數(shù)據(jù)項(xiàng)驅(qū)動(dòng)到總線(xiàn)上。UVM類(lèi)庫(kù)提供了uvm_driver基類(lèi),所有的Driver類(lèi)都應(yīng)該直接或間接地從該類(lèi)中擴(kuò)展出來(lái)。Driver有一個(gè)TLM port,通過(guò)它與sequencer進(jìn)行通信。
    的頭像 發(fā)表于 05-30 16:17 ?811次閱讀
    <b class='flag-5'>創(chuàng)建</b><b class='flag-5'>UVM</b> Driver

    UVM中的uvm_do宏簡(jiǎn)析

    uvm_do宏及其變體提供了創(chuàng)建、隨機(jī)化和發(fā)送transaction items或者sequence的方法。
    的頭像 發(fā)表于 06-09 09:36 ?5036次閱讀
    <b class='flag-5'>UVM</b>中的<b class='flag-5'>uvm</b>_do宏簡(jiǎn)析

    我的第三個(gè)UVM代碼—把testcase與driver分開(kāi)

    testcase里驅(qū)動(dòng)interface,當(dāng)代碼越來(lái)越多,需要考慮把環(huán)境拆分成多個(gè)小的環(huán)境,便于修改和維護(hù)。
    的頭像 發(fā)表于 06-15 10:54 ?661次閱讀
    我的第三個(gè)<b class='flag-5'>UVM</b>代碼—把<b class='flag-5'>testcase</b>與driver分開(kāi)

    Testcase在芯片驗(yàn)證中的作用

    隨著半導(dǎo)體技術(shù)的快速發(fā)展,集成電路芯片的復(fù)雜度日益增加,芯片設(shè)計(jì)中的驗(yàn)證工作變得越來(lái)越重要。驗(yàn)證的目的是確保芯片在各種工況下的功能正確性和性能穩(wěn)定性。在這個(gè)過(guò)程中,testcase(測(cè)試用例)扮演著關(guān)鍵角色。本文將簡(jiǎn)要介紹 testcase 的基本概念、設(shè)計(jì)方法和在芯片驗(yàn)
    的頭像 發(fā)表于 09-09 09:32 ?1399次閱讀
    主站蜘蛛池模板: 天天操夜夜骑| 2021久久精品99精品久久| www.丁香| 亚洲一区二区黄色| 中文字幕第8页| 中出丰满大乳中文字幕| 亚洲人成www在线播放| 影音先锋午夜资源网站| 亚洲高清不卡视频| 一级毛片aaaaaa视频免费看| 看黄网站在线| 亚洲黄色第一页| 中国一级特黄真人毛片| 天天插天天透| 欧美18同性gay视频| 国内一级特黄女人精品片| 欧美精品1| 国产三级精品视频| 污夜影院| 亚洲人成在线精品不卡网| 亚a在线| 亚洲国产成人久久一区久久| 日本在线黄| 日本午夜色| 激情午夜婷婷| 天天做日日爱| 完全免费在线视频| 精品一区二区三区在线视频| 午夜免费福利影院| 老色批午夜免费视频网站| 美女被羞羞产奶视频网站| 波多野结衣在线网址| 久久久香蕉视频| 日本亚洲卡一卡2卡二卡三卡四卡| 亚洲国产成人精彩精品| 欧美潘金莲一级风流片a级| a爱视频| 天天干天天操天天摸| 色爱区综合激情五月综合激情 | 国产高清视频免费最新在线 | 久久精品视频国产|