马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 7号时代 于 2018-4-24 19:22 编辑
公司准备从VMM切换到UVM,第一次新写了个UVM简答平台,但是interface不能从test-top传入mon里面,请大家帮忙指正,谢谢各位
顶层代码:
initial begin
uvm_config_db #(virtual Tsi_if.mon)::set(null,"uvm_test_top.tsi_env.tsi_in_agent.tsi_mon","tsi_if",tsi_in_if);
end
initial begin
run_test("tsi_test");
end
内部tsi_mon代码
virtual function void build_phase(uvm_phase phase);
super.build_phase(phase);
if(!uvm_config_db#(virtual Tsi_if.mon)::get(this,"","tsi_if",tsi_if) begin
`uvm_fatal("Mon","virtual interface must be set for tsi_if");
end
endfunction
验证平台结构:test_top->tsi_test->tsi_env->tsi_in_agent->tsi_mon
目前碰到的情况是test-top上面到interface不能正确传递到tsi-mon上,报那个uvm-fatal错误。
尝试把interface到modport去掉也不行
尝试传整型数据也不行
但是整型数据和interface可以正确传到到tsi-test这一层,再下一层tsi-env就不能传下,实在不知道是啥原因了
这是我第一次写uvm,可能犯极其低级的错误,请各位指正,谢谢大家
验证平台实例化的路径可保证是对的,uvm_config_db到set和get端的最后第二个参数也是保证匹配的 |