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)行通信。
要?jiǎng)?chuàng)建一個(gè)Driver:
派生自u(píng)vm_driver基類(lèi)。
注冊(cè)到factory機(jī)制。
從sequencer中獲取下一個(gè)數(shù)據(jù)項(xiàng),將數(shù)據(jù)項(xiàng)驅(qū)動(dòng)到總線(xiàn)上。
在Driver中聲明一個(gè)virtual interface,配置到連接DUT實(shí)際interface的virtual interface上。
下面例子中的simple_driver定義了一個(gè)Driver類(lèi)。這個(gè)例子從uvm driver派 生 出 simple_driver(參數(shù)化為simple_item事務(wù)類(lèi)型),并使用seq_item_port中的方法與sequencer進(jìn)行通信。
simple_driver包括一個(gè)構(gòu)造函數(shù),以及使用`uvm_component_utils宏在factory中注冊(cè)simple_driver類(lèi)型。
第1行 擴(kuò)展出driver。
第5行 添加UVM宏,注冊(cè)simple_driver類(lèi)型。
第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ì)。
審核編輯:劉清
-
UVM
+關(guān)注
關(guān)注
0文章
182瀏覽量
19193 -
TLM
+關(guān)注
關(guān)注
1文章
32瀏覽量
24761 -
DUT
+關(guān)注
關(guān)注
0文章
189瀏覽量
12425
原文標(biāo)題:創(chuàng)建UVM Driver
文章出處:【微信號(hào):芯片驗(yàn)證工程師,微信公眾號(hào):芯片驗(yàn)證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論