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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2777|回复: 11

[求助] 请问一个紧急问题:在sequence get config

[复制链接]
发表于 2020-7-20 14:21:39 来自手机 | 显示全部楼层 |阅读模式

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

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

x
请问在test里:
configuration m_con[4];
uvm_config_db#(configuration)::set(this,"*", m_con[0],  m_con[0] );

在sequence里:
configuration m_con[4];
uvm_config_db#(configuration)::get(null,"*", m_con[0],  m_con[0] );
为何get不到?谢谢
 楼主| 发表于 2020-7-20 14:23:45 | 显示全部楼层
是这样的code
configuration m_con[4];
uvm_config_db#(configuration)::set(this,"*", "m_con[0]",  m_con[0] );

在sequence里:
configuration m_con[4];
uvm_config_db#(configuration)::get(null,"*", "m_con[0]",  m_con[0] );
为何get不到?谢谢
发表于 2020-7-20 14:26:37 | 显示全部楼层
配置路径只有一个通配符,找不到吧
发表于 2020-7-20 14:38:27 | 显示全部楼层
有一个时间点的问题,就是你在sequence里get的时候,test里面的set动作是不是做了,先get后set肯定不行,所以在sequence里要用wait modified去等你的set确实动作了,再去执行get,这个在UVM实战书里有例子,可以去看看~
发表于 2020-7-20 15:40:28 | 显示全部楼层
uvm_config_db#(configuration)::set(null,"*", m_con[0],  m_con[0] );
 楼主| 发表于 2020-7-20 17:47:29 来自手机 | 显示全部楼层


dtyuzhou 发表于 2020-7-20 15:40
uvm_config_db#(configuration)::set(null,"*", m_con[0],  m_con[0] );


真是高手,多谢多谢
 楼主| 发表于 2020-7-28 17:12:53 | 显示全部楼层


dtyuzhou 发表于 2020-7-20 15:40
uvm_config_db#(configuration)::set(null,"*", m_con[0],  m_con[0] );


再请教一下,

class father:
base_cfg cfg;

function do();
     对cfg操作
     ...
endfunction
endclass

class a1 extends father;
extend_cfg cfg1;(extend_cfg  从father派生)

如果想调用父类的do,从而对cfg1操作,怎么实现比较好?

endclass

谢谢!

发表于 2020-7-28 18:59:43 | 显示全部楼层


kahn01011 发表于 2020-7-28 17:12
再请教一下,

class father:


没有怎么看明白啊,这种问题一般也就是virtual function再配合适当的$cast调用就可以了
 楼主| 发表于 2020-7-28 19:28:47 | 显示全部楼层


dtyuzhou 发表于 2020-7-28 18:59
没有怎么看明白啊,这种问题一般也就是virtual function再配合适当的$cast调用就可以了
...


感谢回复,你的意思是这样吗?
class father:
base_cfg cfg;

function do(base_cfg cfg);
     对cfg操作
     ...
endfunction
endclass

class a1 extends father;
extend_cfg cfg1;

$cast(cfg1,cfg);

do(cfg1);

endclass

但是报出来cast类型不匹配
 楼主| 发表于 2020-7-28 20:06:43 | 显示全部楼层


dtyuzhou 发表于 2020-7-28 18:59
没有怎么看明白啊,这种问题一般也就是virtual function再配合适当的$cast调用就可以了
...


现在可以cast,但是我在派生类有很多成员,cast成基类之后,这些成员访问不了,do(cfg1),比如do里面有sprintf,那打印的只是基类的成员?




您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-25 21:22 , Processed in 0.030965 second(s), 6 queries , Gzip On, Redis On.

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