UVM 關於UVM的路徑問題

2021-08-26 15:28:21 字數 930 閱讀 9125

3.5 config_db機制

3.5.1 uvm中的路徑

在**清單2-3中已經介紹過,乙個component(如my_driver)內通過get_full_name()函式可以得到此component的路徑:

**清單 3-91

function void my_driver::build_phase();

super.build_phase(phase);

$display("%s", get_full_name());

endfunction

上述**如果是在圖3-4所示的層次結構中的my_driver中,那麼列印出來的值是uvm_test_top.env.i_agt.drv。

為了方便,圖3-4中使用了new函式而不是factory式的create方式來建立例項。在這幅圖中,uvm_test_top例項化時的名字是uvm_test_top,這個名字是由uvm在run_test時自動指定的。uvm_top的名字是__top__,但是在顯示路徑的時候,並不會顯示出這個名字,而只顯示從uvm_test_top開始的路徑。

路徑的概念與通常的層次結構不太一樣,雖然基本上它們是一樣的。從圖3-4中的my_casen看來,drv的層次結構是env.i_agt.drv,其相對於my_casen的相對路徑是env.i_agt.drv。如果drv在new時指定的名字不是drv,而是driver,即:

**清單 3-92

drv = my_driver::type_id::create("driver");

那麼drv在my_casen看來,層次結構依然是env.i_agt.drv,但其路徑變為了env.i_agt.driver。在好的編碼習慣中,這種變數名與其例項化時傳遞的名字不一致的情況應該盡量避免。

UVM驗證培訓 factory 實用的UVM機制

路科驗證官網 路科驗證 專注於數字晶元驗證的系統思想和前沿工程領域 eetop路科首頁 eetop 路科驗證 ic驗證培訓 csdn路科首頁 csdn 路科驗證 ic驗證培訓 uvm鼓勵工程師建立模組化 可復用的測試平台。uvm通過tlm介面,把乙個元件及其他與之相連的元件隔離開來,以此實現模組化。...

uvm類庫搜尋 UVM的類庫

乙個uvm驗證平台可以看成由多個模組組合在一起的,這和以前的verilog 以及verilog結合其它各種語言的驗證手段在理念上是一樣的,最大的不同就是這些模組不再是函式或者過程,而是乙個個物件,其實仔細想想如果想實現繼承,多型等等這些功能,類的概念勢必要引入的,這一點在學習systemverilo...

UVM 7 3 1 UVM 中前門訪問的實現

1.前門訪問操作只有兩種 讀操作和寫操作。2.對於參考模型來說,最大問題是如何在其中啟動乙個sequence。全域性變數和config db。3.除了這兩種方式之外,如果能在參考模型中得到sequencer 的指標,也可以啟動sequence。只要在其中設定p sqr變數,並在env 中將seque...