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...