我们首先在env的build_phase()中执行如下set uvm_config_db#( jelly_bean_agent_config )::set( .cntxt ( this ), .inst_name ( "jb_agent1*" ), .field_name( "jb_agent_cfg" ), .value( jb_env_cfg.jb_agent_cfg1 ) ); uvm_config_db#( jelly_bean_agent_config )::set( .cntxt ( ...
UVM_ALL_ON)`uvm_component_utils_endvirtualwr_interfacewr_drv_if;stringname;functionnew(stringname="",uvm_componentparent=null);super.new(name,parent);this.name=name;test_sig=5;endfunctionexternvirtualfunctionvoidbuild_phase(uvm_phasephase);externvirtualfunction...
`uvm_info("my_driver", $sformatf("after super.build_phase, the pre_num is %0d", pre_num), UVM_LOW)if(!uvm_config_db#(virtual my_if)::get(this,"","vif", vif)) `uvm_fatal("my_driver","virtual interface must be set for vif!!!")endfunction//省略下面get语句:uvm_config_db#...
(1) 如在scoreboard中,对driver的某些变量使用config_db机制进行设置,则称为非直线设置; 1//my_scoreboard.sv2functionvoid my_scoreboard::build_phase(uvm_phase phase);3...4uvm_config_db#(int)::set(this.m_parent,"i_agt.drv","pre_num",200);5...6endfunction78//my_scoreboard.sv9functionvoi...
uvm_config_db #(virtual spi_if)::set(null, "", "vif", vif)end endmodule classs spi_drv extend uvm_driver;virtual spi_if vif;uvm_config_db #(virtual spi_if)::get(this, "", "vif", vif);endclass 对于config 机制只需要掌握两个原则:⼀是不同层次进⾏set,以最⾼层为准(...
I have been trying to set queue values in config db at run phase of test and trying to get that using uvm_config_db in sequence but I am not successful in this(nothing is been obtained in the get call from uvm_config_db), only below mentioned error appears, please let me know were...
uvm_config_db #(string)::set(this,"","Friend","Joey");// Same get methodif(uvm_config_db #(string)::get(null,"uvm_test_top","Friend",name))`uvm_info("ENV",$sformatf("Found %s",name),UVM_MEDIUM) Simulation Log ...UVM_INFO /playground_lib/uvm-1.2/src/base/uvm_resource_db...
if (!uvm_config_db#(int)::get(this, "", "m_num_tx", m_num_tx)) begin `uvm_warning("CFG", "m_num_tx not set; using default") end `uvm_info("CFG_GET", $sformatf("Attempting to retrieve dif_pkt_type for %s", get_full_name()), UVM_LOW); ...
("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", vif)) `uvm_fatal("TEST", "Did not get vif") uvm_config_db#(virtual des_if)::set(...
set()の第1引数として指定した「this」は、「uvm_test_top.env」に変換されています。これはSystem Verilogのキーワードですね。そしてset()の第2引数「agent1」を結合した文字列が、scope列に入ったことになります。 このことは、set()の第一引数と第二引数に機能的な違いはないことを意味し...