在top_tb中通过config_db机制的set函数设置virtual interface时,set函数的第一个函数为null。在这种情况下,UVM会自动把第一个单数替换为uvm_root::get(),即uvm_top。换句话说,以下两种写法完全等价: uvm_config_db#(virtual my_if)::set(null,"uvm_test_top.env.i_agt.drv","vif", input_vif); uvm_c...
uvm_config_db#(int)::set(null,"uvm_test_top.fifo_env.wr_agt.drv","wr_stop_sig",wr_stop_sig) get函数为: uvm_config_db#(int)::get(this,"","wr_stop_sig",wr_stop_sig); 因为是在top中set,第一个参数为null,会自动替换为uvm_root::get(),即uvm_top。 set和get的第三个参数必须保证...
举个栗子,如果要存放的数据对象的可见范围是m_agent以下,那么cntxt参数可以设为uvm_root::get()来获得全局的顶层实例,inst_name可以设为“m_env.m_agent.*”;当然cntxt也可以直接设为null,然后inst_name设为“uvm_test_top.m_env.m_agent.*”,效果是一样的。 field_name的类型同样是string,它指的就是上...
uvm_config_db #(bit)::set(null, str_re,"test_var",1'b1);if( uvm_config_db #(bit)::get(null,str,"test_var", test_var) ) $display("Get the test_var from path: %s",str);else$display("Not get the test_var from path: %s",str);str="uvm_test.*.monitor"; $display("%s ...
(2) uvm_config_db::set的参数解释: 1initialbegin2uvm_config_db#(virtual my_if)::set(null,"uvm_test_top.env.i_agt.drv","vif",input_if);3end45initialbegin6uvm_config_db#(virtual my_if)::set(uvm_root::get(),"uvm_test_top.env.i_agt.drv","vif",input_if);7end ...
config_db.set(null, "my_param_key", my_param); ``` ### 步骤 3:从uvm_config_db中获取配置参数 在这一步中,我们将从uvm_config_db中获取之前添加的配置参数。以下是示例代码: ```verilog // 从uvm_config_db中获取配置参数 int my_param_val; ...
cntxt可以为null,这时inst_name提供完整的层次信息,cntxt为null和uvm_root::get是等价的,他们都表示uvm_topcntxt可以为this,表示cntxt为当前层次。inst_name可以为空。如果在build前进行set,则使用 cntxt 层次结构来确定优先级,层次结构越高,优先级越高; 同一层次结构的set后面的配置会覆盖前面的配置。如果...
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,以最⾼层为准(...
uvm_config_db #(virtual abc)::set(null, "*", "my_vir_inf", a1); Share Improve this answer Follow answered Sep 19, 2017 at 5:12 Karan Shah 1,96211 gold badge3030 silver badges4646 bronze badges Add a comment 0 You can set the value in the component using foreach(qu[...