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

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

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

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

芯片驗證工程師 ? 來源:芯片驗證工程師 ? 2023-05-30 09:22 ? 次閱讀

Driver的作用是從sequencer中獲得數(shù)據(jù)項,按照接口協(xié)議將數(shù)據(jù)項驅(qū)動到總線上。UVM類庫提供了uvm_driver基類,所有的Driver類都應(yīng)該直接或間接地從該類中擴展出來。

Driver有一個TLM port,通過它與sequencer進行通信。

要創(chuàng)建一個Driver:

派生自uvm_driver基類。

注冊到factory機制。

從sequencer中獲取下一個數(shù)據(jù)項,將數(shù)據(jù)項驅(qū)動到總線上。

在Driver中聲明一個virtual interface,配置到連接DUT實際interface的virtual interface上。

下面例子中的simple_driver定義了一個Driver類。這個例子從uvm driver派 生 出 simple_driver(參數(shù)化為simple_item事務(wù)類型),并使用seq_item_port中的方法與sequencer進行通信。

simple_driver包括一個構(gòu)造函數(shù),以及使用`uvm_component_utils宏在factory中注冊simple_driver類型。

878da58a-fe68-11ed-90ce-dac502259ad0.png

87c13a30-fe68-11ed-90ce-dac502259ad0.png

第1行 擴展出driver。

第5行 添加UVM宏,注冊simple_driver類型。

第13行 獲取virtual interface配置

第22行 調(diào)用get_next_item(),從sequencer中獲取下一個激勵的數(shù)據(jù)項。

第25行 向sequencer發(fā)出信號,表示當(dāng)前數(shù)據(jù)項的驅(qū)動已經(jīng)完成。

第30行 在這里驅(qū)動virtual interface來完成數(shù)據(jù)項激勵。





審核編輯:劉清

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

    關(guān)注

    0

    文章

    181

    瀏覽量

    19087
  • TLM
    TLM
    +關(guān)注

    關(guān)注

    1

    文章

    32

    瀏覽量

    24711
  • DUT
    DUT
    +關(guān)注

    關(guān)注

    0

    文章

    188

    瀏覽量

    12191

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    IC驗證"一個簡單的UVM驗證平臺"是如何搭建的(六)

    連載....小編考慮到一個好的連續(xù)劇不能沒有結(jié)尾,所以后期會持續(xù)更新ic驗證的UVM相關(guān)內(nèi)容.......今天更新一個最簡單的驗證平臺,只有driver的驗證平臺.....driver是驗證平臺最基本
    發(fā)表于 12-04 15:48

    IC驗證"UVM驗證平臺加入factory機制"(六)

      加入factory機制 上一節(jié)《IC驗證"一個簡單的UVM驗證平臺"是如何搭建的(五)》給出了一個只有driver、使用UVM搭建的驗證平臺。嚴(yán)格來說這根本就不算是UVM驗證
    發(fā)表于 12-08 12:07

    IC驗證“UVM驗證平臺加入objection機制和virtual interface機制“(七)

    /my_driver.sv 13 task my_driver::main_phase(uvm_phase phase); 14 phase.raise_objection(this); 15 `
    發(fā)表于 12-09 18:28

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

    ?! D示是一個典型的uvm測試平臺的結(jié)構(gòu)圖,構(gòu)成測試平臺的每一個元素稱為組件,既component?! ∠旅鎻牡讓拥礁邔?,就每一個組件來說明它們在測試平臺中所起到了作用?! 〉谝粋€組件是driver
    發(fā)表于 01-22 15:33

    UVM代碼如何把testcase與driver分開

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

    什么是uvmuvm的特點有哪些呢

    直觀的印象,就是uvm驗證平臺,它是分層的結(jié)構(gòu)。圖中的每一個巨型框都代表著平臺的一個構(gòu)成元素。這些元素呢,我們稱為平臺組建,下面來簡單的分析一下。從最底層上來看,agent 中包含了driver,monitor和sequencer,其中
    發(fā)表于 02-14 06:46

    請問一下在UVM中的UVMsequences是什么意思啊

    uvm_object基類擴展得到。UVM sequences不是在仿真的開始,而是在仿真的過程中生成并分配內(nèi)存的,也沒有類似uvm_component的層次結(jié)構(gòu)。隨著仿真的進行,將創(chuàng)建
    發(fā)表于 04-11 16:43

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

    , this);  endfunction  m_rh是uvm_report_handler class類型的。在1個基于uvm_report_object繼承過來的class在new的時候,會自動創(chuàng)建出m_rh
    發(fā)表于 03-17 16:41

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

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

    UVM response_handler和get_response機制

    很多UVM用戶平時更多的使用get_response()方式去獲得uvm_driver的response,但get_response有些缺點
    的頭像 發(fā)表于 05-23 16:56 ?1224次閱讀
    <b class='flag-5'>UVM</b> response_handler和get_response機制

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

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

    創(chuàng)建UVM Driver

    Driver的作用是從sequencer中獲得數(shù)據(jù)項,按照接口協(xié)議將數(shù)據(jù)項驅(qū)動到總線上。UVM類庫提供了uvm_driver基類,所有的Driver類都應(yīng)該直接或間接地從該類中擴展出來
    的頭像 發(fā)表于 05-30 16:17 ?697次閱讀
    <b class='flag-5'>創(chuàng)建</b><b class='flag-5'>UVM</b> <b class='flag-5'>Driver</b>

    UVM driver和sequencer的通信

    sequencer生成激勵數(shù)據(jù),并將其傳遞給driver執(zhí)行。UVM類庫提供了uvm_sequencer基類,其參數(shù)為request和response數(shù)據(jù)類型。
    的頭像 發(fā)表于 06-07 11:58 ?1416次閱讀
    <b class='flag-5'>UVM</b> <b class='flag-5'>driver</b>和sequencer的通信

    UVM中的uvm_do宏簡析

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

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

    UVM中,Testcase是一個類,它封裝了測試用例開發(fā)者編寫的特定激勵序列。
    的頭像 發(fā)表于 06-15 09:41 ?1361次閱讀
    <b class='flag-5'>創(chuàng)建</b><b class='flag-5'>UVM</b> Testcase的<b class='flag-5'>步驟</b>