在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2583|回复: 5

[求助] UVM uvm_config_db请教

[复制链接]
发表于 2018-4-24 18:51:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

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端的最后第二个参数也是保证匹配的
 楼主| 发表于 2018-4-24 19:15:08 | 显示全部楼层
我现在每层调用之间只是做了实例化,uvm不需要调用run,start等之类到函数而能自动执行到吧
发表于 2018-4-24 19:16:56 | 显示全部楼层
你的uvm_config_db#后面的类型为什么不一样?
都改成uvm_config_db #(virtual Tsi_if)就可以啦
 楼主| 发表于 2018-4-24 19:25:16 | 显示全部楼层
回复 3# idealm


    公司内网不通外网,这代码临时手打的,你指正的地方是现在打上去的笔误,原代码都是Tsi_if.mon类型,
你说到全部换成Tsi_if我也试过了,不行。到这一层连整型都传不下来
发表于 2018-4-25 09:38:29 | 显示全部楼层
你这样吧,分一层一层传递,先传到env,在config db到agent,然后看哪级除了问题再debug,你这样怕是大家也看不出来吧
 楼主| 发表于 2018-4-25 16:49:41 | 显示全部楼层
经过查资料,uvm_config_db函数有两个调试函数,check_config_usage()和print_config(),最终发现是路径不对的问题。
按照我以前的思维跨class的数据引用都是通过具体实例化一级一级指过去的,所以我的各个class的实例化名字为test_top->tsi_test->tsi_env->tsi_in_agent->tsi_mon,但是这个class(component)在create的时候第一个参数(name)跟实例化名字并不相同,uvm貌似认的是传递的name,而不是实例化的具体实体。这对我这个新手来说真不好理解。
解决了这个问题,uvm_config_db的问题也就解决了,谢谢大家的关注
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-14 22:14 , Processed in 0.018207 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表