我有一个UVM项目。 我有每个代理的配置文件,我将文件设置为env中的config_db:
uvm_config_db #(rx_agent_config)::set(this, "*", "db_rx_agent_config", m_cfg.m_rx_agent_cfg);
uvm_config_db #(tx_agent_config)::set(this, "*", "db_tx_agent_config", m_cfg.m_tx_agent_cfg);
我必须从测试平台中的那些配置文件中获取值,所以我通过以下方式获取对象(配置文件):
initial begin
start_of_simulation_ph.wait_for_state(UVM_PHASE_STARTED);
if(!uvm_config_db #(rx_agent_config)::get(null, "uvm_test_top.env", "db_rx_agent_config", m_rx_cfg)) begin
`uvm_error("top", "rx_agent_config not found")
end//if
if(!uvm_config_db #(tx_agent_config)::get(null, "uvm_test_top.env", "db_tx_agent_config", m_tx_cfg)) begin
`uvm_error("top", "tx_agent_config not found")
end//if
end
当我尝试运行模拟时出现错误: UVM_ERROR ../sv/girobo2_tb_top.sv(175)@ 0:记者[回到顶部]找不到rx_agent_config
我应该在get和set函数中编写不同的cntxt和inst_name吗?