uvm_config_db的set函数
uvm_config_db#(int)set::(this,"env.i_agt.drv","pre_num",100)
#(int)表示第四个参数100是int类型;
this,"env.i_agt.drv"表示路径,即this.env.i_agt.drv;
"pre_num"表示需要赋值的变量;
100表示pre_num的值。
uvm_config_db的get函数
uvm_config_db#(int)::get(this,"","pre_num",pre_num)
#(int)表示第四个参数pre_num是int类型;
this,""表示路径,""表示空,则路径为this,即当前组件;
"pre_num"为set的第三个参数;
pre_num为当前组件接受设置的变量。
备注:
有时可以看到第一个参数设置为uvm_root::get,null,uvm_top,都表示uvm树的最顶层
举例:
1在top_tb中设置interface
2 在i_agt的drv中通过config_db get到vif
check_config_usage
因为路径设置错误导致无法get到,用此函数可以看到哪些set却没有get,因为set和get一般都在build_phase中,故在connect_phase中使用。
1 设置4个
2 调用check_config_usage3 log中查看,3个没有被get