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

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

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

創(chuàng)建UVM Driver

jf_78858299 ? 來(lái)源:芯片驗(yàn)證工程師 ? 作者:驗(yàn)證哥布林 ? 2023-05-30 16:17 ? 次閱讀

Driver的作用是從sequencer中獲得數(shù)據(jù)項(xiàng),按照接口協(xié)議將數(shù)據(jù)項(xiàng)驅(qū)動(dòng)到總線上。UVM類庫(kù)提供了uvm_driver基類,所有的Driver類都應(yīng)該直接或間接地從該類中擴(kuò)展出來(lái)。Driver有一個(gè)TLM port,通過(guò)它與sequencer進(jìn)行通信。

要?jiǎng)?chuàng)建一個(gè)Driver:

  • 派生自u(píng)vm_driver基類。
  • 注冊(cè)到factory機(jī)制。
  • 從sequencer中獲取下一個(gè)數(shù)據(jù)項(xiàng),將數(shù)據(jù)項(xiàng)驅(qū)動(dòng)到總線上。
  • 在Driver中聲明一個(gè)virtual interface,配置到連接DUT實(shí)際interface的virtual interface上。

下面例子中的simple_driver定義了一個(gè)Driver類。這個(gè)例子從uvm driver派 生 出 simple_driver(參數(shù)化為simple_item事務(wù)類型),并使用seq_item_port中的方法與sequencer進(jìn)行通信。simple_driver包括一個(gè)構(gòu)造函數(shù),以及使用**`uvm_component_utils宏**在factory中注冊(cè)simple_driver類型。

圖片

圖片

  • 第1行 擴(kuò)展出driver。
  • 第5行 添加UVM宏,注冊(cè)simple_driver類型。
  • 第13行 獲取virtual interface配置
  • 第22行 調(diào)用get_next_item(),從sequencer中獲取下一個(gè)激勵(lì)的數(shù)據(jù)項(xiàng)。
  • 第25行 向sequencer發(fā)出信號(hào),表示當(dāng)前數(shù)據(jù)項(xiàng)的驅(qū)動(dòng)已經(jīng)完成。
  • 第30行 在這里驅(qū)動(dòng)virtual interface來(lái)完成數(shù)據(jù)項(xiàng)激勵(lì)。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • driver
    +關(guān)注

    關(guān)注

    0

    文章

    526

    瀏覽量

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

    關(guān)注

    0

    文章

    182

    瀏覽量

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

    關(guān)注

    1

    文章

    32

    瀏覽量

    24750
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    IC驗(yàn)證"一個(gè)簡(jiǎn)單的UVM驗(yàn)證平臺(tái)"是如何搭建的(六)

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

    IC驗(yàn)證"UVM驗(yàn)證平臺(tái)加入factory機(jī)制"(六)

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

    IC驗(yàn)證“UVM驗(yàn)證平臺(tái)加入objection機(jī)制和virtual interface機(jī)制“(七)

    /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驗(yàn)證之“什么是UVM”“UVM的特點(diǎn)”“UVM提供哪些資源”(2)連載中...

    原文鏈接:https://zhuanlan.zhihu.com/p/345775995大家好,我是一哥,上章內(nèi)容主要講述兩個(gè)內(nèi)容,芯片驗(yàn)證以及驗(yàn)證計(jì)劃。那本章我們主要講述的內(nèi)容有介紹什么是uvm
    發(fā)表于 01-21 16:00

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

    ?! D示是一個(gè)典型的uvm測(cè)試平臺(tái)的結(jié)構(gòu)圖,構(gòu)成測(cè)試平臺(tái)的每一個(gè)元素稱為組件,既component。  下面從底層到高層,就每一個(gè)組件來(lái)說(shuō)明它們?cè)跍y(cè)試平臺(tái)中所起到了作用?! 〉谝粋€(gè)組件是driver
    發(fā)表于 01-22 15:33

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

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

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

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

    請(qǐng)問(wèn)一下在UVM中的UVMsequences是什么意思啊

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

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

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

    UVM response_handler和get_response機(jī)制

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

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

    driver應(yīng)該派生自uvm_driver,而uvm_driver派生自uvm_component。
    的頭像 發(fā)表于 05-26 14:38 ?1400次閱讀
    <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)到總線上。
    的頭像 發(fā)表于 05-30 09:22 ?1024次閱讀
    <b class='flag-5'>創(chuàng)建</b><b class='flag-5'>UVM</b> <b class='flag-5'>Driver</b>的步驟

    UVM driver和sequencer的通信

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

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

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

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

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