请教uvm中uvm_config_db 的set和get问题
时间:10-02
整理:3721RD
点击:
请问下各位,config机制下,是否对config_db传送的参数set一次,是否可以多次get这个参数,
例如只设置一次uvm_config_db#(int)::set(this, "*.ip.env0.monitor_A", "A", A);
那么我多次用uvm_config_db#(int)::get(this, "*", "A", A);都能成功,也就是多次使用uvm_config_db#(int)::get的函数返回值是否都为1
比如这样用:
forever begin
if(uvm_config_db#(int)::get(this, "*", "A", A))begin
。
end
end
是否每次都能进入if的分支
谢谢各位解惑
例如只设置一次uvm_config_db#(int)::set(this, "*.ip.env0.monitor_A", "A", A);
那么我多次用uvm_config_db#(int)::get(this, "*", "A", A);都能成功,也就是多次使用uvm_config_db#(int)::get的函数返回值是否都为1
比如这样用:
forever begin
if(uvm_config_db#(int)::get(this, "*", "A", A))begin
。
end
end
是否每次都能进入if的分支
谢谢各位解惑
应该是可以多次get的,相似的例子还有virtual interface的传递。比如在top里面给testbench set一次,从env下面的driver, monitor都可以get到
嗯,试了一下,确实可以,多谢多谢