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類型。
- 第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)系本站處理。
舉報投訴
相關(guān)推薦
連載....小編考慮到一個好的連續(xù)劇不能沒有結(jié)尾,所以后期會持續(xù)更新ic驗證的UVM相關(guān)內(nèi)容.......今天更新一個最簡單的驗證平臺,只有driver的驗證平臺.....driver是驗證平臺最基本
發(fā)表于 12-04 15:48
加入factory機制 上一節(jié)《IC驗證"一個簡單的UVM驗證平臺"是如何搭建的(五)》給出了一個只有driver、使用UVM搭建的驗證平臺。嚴格來說這根本就不算是UVM驗證
發(fā)表于 12-08 12:07
/my_driver.sv 13 task my_driver::main_phase(uvm_phase phase); 14 phase.raise_objection(this); 15 `
發(fā)表于 12-09 18:28
?! D示是一個典型的uvm測試平臺的結(jié)構(gòu)圖,構(gòu)成測試平臺的每一個元素稱為組件,既component?! ∠旅鎻牡讓拥礁邔?,就每一個組件來說明它們在測試平臺中所起到了作用?! 〉谝粋€組件是driver
發(fā)表于 01-22 15:33
UVM代碼如何把testcase與driver分開
發(fā)表于 03-11 07:58
直觀的印象,就是uvm驗證平臺,它是分層的結(jié)構(gòu)。圖中的每一個巨型框都代表著平臺的一個構(gòu)成元素。這些元素呢,我們稱為平臺組建,下面來簡單的分析一下。從最底層上來看,agent 中包含了driver,monitor和sequencer,其中
發(fā)表于 02-14 06:46
uvm_object基類擴展得到。UVM sequences不是在仿真的開始,而是在仿真的過程中生成并分配內(nèi)存的,也沒有類似uvm_component的層次結(jié)構(gòu)。隨著仿真的進行,將創(chuàng)建
發(fā)表于 04-11 16:43
, this); endfunction m_rh是uvm_report_handler class類型的。在1個基于uvm_report_object繼承過來的class在new的時候,會自動創(chuàng)建出m_rh
發(fā)表于 03-17 16:41
第一句話是設(shè)置uvm環(huán)境變量,指定uvm的dpi位置。
第二句話是創(chuàng)建work工作目錄。
第三句話是編譯源文件,并且通過-L指定幾個編譯庫。
第三句是執(zhí)行仿真,調(diào)用uvm庫
發(fā)表于 12-01 11:25
?3806次閱讀
很多UVM用戶平時更多的使用get_response()方式去獲得uvm_driver的response,但get_response有些缺點
發(fā)表于 05-23 16:56
?1535次閱讀
driver應(yīng)該派生自uvm_driver,而uvm_driver派生自uvm_component。
發(fā)表于 05-26 14:38
?1317次閱讀
Driver的作用是從sequencer中獲得數(shù)據(jù)項,按照接口協(xié)議將數(shù)據(jù)項驅(qū)動到總線上。
發(fā)表于 05-30 09:22
?970次閱讀
sequencer生成激勵數(shù)據(jù),并將其傳遞給driver執(zhí)行。UVM類庫提供了uvm_sequencer基類,其參數(shù)為request和response數(shù)據(jù)類型。
發(fā)表于 06-07 11:58
?1582次閱讀
uvm_do宏及其變體提供了創(chuàng)建、隨機化和發(fā)送transaction items或者sequence的方法。
發(fā)表于 06-09 09:36
?4765次閱讀
在UVM中,Testcase是一個類,它封裝了測試用例開發(fā)者編寫的特定激勵序列。
發(fā)表于 06-15 09:41
?1505次閱讀
評論