uvm_config_db 取代原始的OVM function
在set方面
set_config_int(...) => uvm_config_db#(uvm_bitstream_t)::set(cntxt,...)
set_config_string(...) => uvm_config_db#(string)::set(cntxt,...)
set_config_object(...) => uvm_config_db#(uvm_object)::set(cntxt,...)
在get方面
get_config_int(...) => uvm_config_db#(uvm_bitstream_t)::get(cntxt,...)
get_config_string(...) => uvm_config_db#(string)::get(cntxt,...)
get_config_object(...) => uvm_config_db#(uvm_object)::get(cntxt,...)
uvm_config_db的get/set function的語法
| static function bit get( |
| uvm_component | cntxt, |
|
| string | inst_name, |
|
| string | field_name, |
| ref | T | value | ) |
| static function void set( | uvm_component | cntxt, |
| string | inst_name, |
| string | field_name, |
| T | value | ) |
其它使用的例子
uvm_config_db#(int)::set(this,"*.masters[0]", "master_id", 0);
uvm_config_db#(uvm_object_wrapper)::
set(this, “*.ubus0.masters[0].sequencer.main_phase",
"default_sequence", read_modify_write_seq::type_id::get());
uvm_config_db#(virtual ubus_if)::set(this,"ubus_example_tb0.*","vif",vif);