UVM configuration機制(屬性配置工具)
- 傳遞值
- 傳遞對象
- 傳遞interface
(1)半個全局變量,避免全局變量帶來的風險
(2)高層組件可以通過configuration機制在不改變代碼的情況下更改所包含的子組件的變量
(3)支持通配符和正則表達式對多個變量進行配置
(4)支持用戶定義的數據類型
(5)可以在仿真運行的過程中進行配置
1、配置sequence產生transaction的數量
(運行完打開.log文件,查看transaction的數量,統計產生了20個transaction,而默認爲10,表明config有效)
2、配置interface
在run_phase中轉化爲pin級信號,驅動DUT
3、配置用戶自定義的config類
UVM sequence機制
控制和產生一系列激勵,並將激勵發送給driver的機制
如何使用sequence機制?
(1)首先聲明句柄
my transaction tr;
(2)句柄是sequence_item類型
tr = my_transaction::type_id::create(“tr”);
(3)調用start_item()
start_item(tr);
(4)隨機化item
tr.randomize();
(5)調用finish_item()
finish_item(tr);
啓動sequence的方法:
(1)配置sequencer的default_sequence
(2)在組件中手動啓動sequence
sequence的嵌套
sequence獲取響應:
driver發送響應: