在test.env中get:class my_env extends uvm_env;my_config cfg;...function void bulid_phase(uvm_phase phase);...if(!uvm_config_db#(my_config)::get(this,"","cfg",cfg))begin`uvm_fatal(" get config object failed")end...endfunctionendclass ...
uvm_config_db#(virtual my_if)::set(null, "uvm_test_top", "vif", input_if); 2. 收信(Get): 在`my_driver`或其他UVM组件中,他们在开始工作之前会通过`uvm_config_db#(...)::get(...)`来“收信” - 即查找并获取接口实例的地址。 // 在my_driver中 - 收信 virtual my_if vif; if ...
(uvm_phase phase); super.build_phase(phase); // create the environment e0 = env::type_id::create("e0", this); // Get virtual IF handle from the top level and pass it to everything // in the env level if(!uvm_config_db#(virtual des_if)::get(this, "", "de...
set/get_config_string和set/get_config_object。它们分别对应uvm_config_db#(string) ::set/get和uvm_config_db#(uvm_object) ::set/get config_db比set/get_config强大的地方在于,它设置的参数类型并不局限于以上三种。常见的枚举类型、virtual interface、bit类...UVM...
=null) begin starting_phase.raise_objection(this); end if(!uvm_config_db #(dev_config)::get(null, get_full_name(), "dev_config", cfg)) `uvm_fatal(get_type_name(), "dev_config config_db lookup failed") addr_cfgd=cfg.addr_cfgdve_address; `uvm_info(get_type_name(), $sformatf...
set和get方法是静态的,所以必须使用 :: 三、一个示例 在test中set: classmy_testextendsuvm_test; my_config cfg; ... functionvoidbulid_phase(uvm_phase phase); ... uvm_config_db#(my_config)::set(this,"env","cfg",cfg); ... endfunction ...
(uvm_phase phase); super.build_phase(phase); // create the environment e0 = env::type_id::create("e0", this); // Get virtual IF handle from the top level and pass it to everything // in the env level if(!uvm_config_db#(virtual des_if)::get(this,...
(uvm_phase phase); super.build_phase(phase); // create the environment e0 = env::type_id::create("e0", this); // Get virtual IF handle from the top level and pass it to everything // in the env level if(!uvm_config_db#(virtual des_if)::get(this, "", "de...
(uvm_phase phase); super.build_phase(phase); // create the environment e0 = env::type_id::create("e0", this); // Get virtual IF handle from the top level and pass it to everything // in the env level if(!uvm_config_db#(virtual des_if)::get(this, "", "des_if", vi...
(uvm_phase phase); super.build_phase(phase); // create the environment e0 = env::type_id::create("e0", this); // Get virtual IF handle from the top level and pass it to everything // in the env level if(!uvm_config_db#(virtual des_if)::get(this, "", "d...