uvm_config_db::set get
时间:12-12
整理:3721RD
点击:
set get必须要一一对应么;
能不能多个地方set 在另外一个地方get,会报错不?
如果下面这种
class test
tb tb_env
uvm_config_db::set(**,"aa",1);
end
class tb
uvm_config_db::set(**,"aa",2);
end
class **
uvm_config_db::set(**,"aa",get_regs);
end
这种到底哪个起作用呢?
能不能多个地方set 在另外一个地方get,会报错不?
如果下面这种
class test
tb tb_env
uvm_config_db::set(**,"aa",1);
end
class tb
uvm_config_db::set(**,"aa",2);
end
class **
uvm_config_db::set(**,"aa",get_regs);
end
这种到底哪个起作用呢?
1.如果是在build_phase里面设置的,hierarchy高的优先级高,同一个hierarchy的优先级一样,最后设置的起作用
2.在其他phase里面,优先级都一样,最后设置的起作用
我理解set/get通常是为了写不同的case测试,比如在不同的test里面set某个component里的一个参数或者task对应的default_sequence。每次run的时候,只有一个set语句会执行。