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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6757|回复: 12

[求助] UVM验证平台

[复制链接]
发表于 2015-10-5 22:19:47 | 显示全部楼层 |阅读模式
10资产
UVM实战卷一的6.5.1节的top_tb的对应的dut,如果端口数目改成20个以上,在top_tb中uvm_config_db按照书上的方法太麻烦了,有没有代码量不是这么大的方法?如下方法总是报错

class base_test 。。。
  my_env env[20]
...
endclass

module top_tb
my_if input_if[20](clk,rst_n);
...

initial
   begin
   for(int i=0;i<20;i++)
   begin
    uvm_config_db#(virtual my_if)::set(null,"uvm_test_top.env[i].i_agt.drv","vif",input_if[i]);
...
end
end

发表于 2015-10-7 16:12:35 | 显示全部楼层
本帖最后由 luyaker 于 2015-10-7 16:13 编辑

试一下这样,如果可行,请告诉我一声:
string s;
initial
   begin
   for(int i=0;i<20;i++)
   begin
   $sformat(s,"uvm_test_top.env[%0d].i_agt.drv",i);
    uvm_config_db#(virtual my_if)::set(null,s,"vif",input_if);
...
end
end
 楼主| 发表于 2015-10-8 10:17:56 | 显示全部楼层
这个方法是可行的,但是input_if[0],...input_if[20]怎么解决,只能接成一个接口,另外请问把20个接口做到一个env里面,是用i_agt[20].drv还是i_agt.drv[20].
发表于 2015-10-8 10:34:57 | 显示全部楼层
uvm_config_db#(virtual my_if)::set(null,s,"vif",input_if[[i]);
[i]被我漏掉了
后面这个你自己考虑吧,我觉得都是可以的,我也不是专家,就不乱说了
 楼主| 发表于 2015-10-8 11:18:35 | 显示全部楼层
加上[i]就报错了。违法赋值
发表于 2015-10-8 13:30:54 | 显示全部楼层
本帖最后由 luyaker 于 2015-10-8 13:47 编辑

回复 5# happy_SINGLE

具体报错是怎么说的?
 楼主| 发表于 2015-10-8 14:24:54 | 显示全部楼层
illegal operand for constant expression[4IEEE]
发表于 2015-10-8 15:47:49 | 显示全部楼层
楼主,你的interface 是一个array,所以当你想要用config_db的时候,最好用一个class把这些array包一下。
例如申明一个class vif_wrapper, 然后在里面例化相同的vif array,这样你只需要config_db::set你的class得obj就可以了。
你get的时候也可以get这个class,再去找他下面的vif。

当然可以先用宏把通用的代码包起来,就会快很多,我们都是这么用的,放心的去实现吧。
细节可以发出来给我看看。
发表于 2015-10-8 15:51:22 | 显示全部楼层
[i=s] 本帖最后由 luyaker 于 2015-10-8 15:57 编辑 [/i]

我试了一下,vcs不能识别input_if[i],分开写input_if[0],input_if[1]……input_if[19],这样是可以的。
发表于 2015-10-8 15:58:42 | 显示全部楼层
发现一个bug,eetop会自动将我的[i]删除,所以前面我写的input_if[i]变成了input_if
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2025-1-23 05:58 , Processed in 0.032707 second(s), 22 queries , Gzip On.

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