一个component的路径可以通过get_full_name() 来获得,要想避免config_db::set第二个参数引起的问题,一种可行的想法是把这个参数使用get_full_name() uvm_config_db#(int)::set(null, env.i_agt.drv.get_full_name(),"pre_num",100);//若要对sequence的某个参数设置,可以:uvm_config_db#(int)::set...
get_full_name - 获取组件路径及名称 uvm_top.find("*.seqr") - 按照逻辑名字查找组件 uvm_top.find("*.drv_?",comps) - 使用通配符查找组件,查找到之后,将其放到队列comps中 查询组件的层次关系 使用逻辑层次配置组件 type - 可以填变量或者是类型 context - 上下文环境,一般就是this string instance_name...
intwr_sig;uvm_config_db#(int)::get(null,get_full_name(),"wr_sig",wr_sig);`uvm_info(this.name,$sformatf("wr_sig=%0d.",wr_sig),UVM_LOW) get_full_name()获得了sequencer的路径加上例化sequence时传递的名字,用来找到sequence。 除此之外,如果对组件使用通配符,例如: initialbeginuvm_config_...
UVM源代码执行**cntxt.get_full_name()**来将完整路径句柄字符串名称返回到引用的cntxt句柄,然后通常将完整路径句柄字符串连接到inst_name字符串以形成引用uvm_component的完整路径字符串。 自从inst_name字符串可以包含通配符,完整路径字符串通常包含通配符路径。完整路径字符串实际上只是一个在uvm_config_db::get时...
二个cntxt和第三个参数instname一起定义了uvmconfigdb中set或get函数的作用范围第四个参数决定了是对作用范围中的那个对象或变量进行操作第五个参数value会存储当前操作对象的句柄或着操作变量的值需要注意的是当我们指定的第二个参数是一个uvm组件时uvm会用它的全局名字去替换它而全局名字会通过uvm的getfullname去...
compA[i] = componentA::type_id::create(inst_name, this); `uvm_info("CFG_SET", $sformatf("Setting dif_pkt_type for %s to %s to %s", inst_name, type_for_this_instance.name(), get_full_name() ), UVM_LOW); // Assume you want to alternate the packet type between COMPA and ...
// The context has a pool that is keyed by the inst/field name.static uvm_pool#(string,uvm_resource#(T)) m_rsc[uvm_component];// Internal waiter list for wait_modified static local uvm_queue#(m_uvm_waiter) m_waiters[string];// function: get // // Get the value for ~field_name...
void uvm_config_db #( type T = int )::set( uvm_component cntxt , string inst_name , ...
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...
The scope is formed by appending the instance name to the full hierarchical name of the context, like {cntxt.get_full_name(),".",inst_name}. field_name supplies the name of the resource value is the thing which is actually going to be put into the database. Here is an example. ...