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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4364|回复: 16

[求助] 【问题】关于UVM的复用

[复制链接]
发表于 2012-9-18 17:05:22 | 显示全部楼层 |阅读模式

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

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

x
各位大侠:


最近在使用UVM中遇到一个问题,我在写一个agent,发现除了data,其他都一样,这种情况如何复用呢?只有数据结构不一样
发表于 2012-9-18 23:11:32 | 显示全部楼层
agent里面包含了driver和monitor等组件,这个data是什么意思?data在哪一个层次?data是item里面的属性吗?如果是的话,不同的sequence即可区分,agent简单多例化几个就好。还是把你的场景描述清楚比较好。
 楼主| 发表于 2012-9-19 09:40:50 | 显示全部楼层
哦,不好意思,描述不清楚,这里data就是item的意思,是整个item不一样,是不是可以用override的方法,正在试验中,也请高手们帮忙
发表于 2012-9-20 02:47:54 | 显示全部楼层
还是不太清楚你的应用场景,是要多个agent,还是只有一个agent?一般来说一个agent就对应一套接口协议,所以如果仅仅是item的差异,我想没必要写多个agent,只是在写sequence的时候来区分验证场景的不同。另外你说的data之间的差异是什么,也最好描述一下,既然能共用一个agent,那肯定有相同的地方,也许你说的不同更多只是约束和方法的不同。
发表于 2012-9-20 09:04:26 | 显示全部楼层
试试callback
 楼主| 发表于 2012-9-20 09:15:43 | 显示全部楼层
大侠,是这样的,我如果想同时替换掉driver还想替换掉driver上传递的数据结构呢?
我目前的结构是这样
sequence->sequencer->driver
sequence里面用的是class pps_tod_packet,现在想用class item_1
sequence里面是申明的也是class pps_tod_sequencer extends uvm_sequencer #(pps_tod_packet);
那如何将pps_tod_packet替换成item_1
 楼主| 发表于 2012-9-22 17:34:39 | 显示全部楼层
请大家帮忙
发表于 2012-9-22 23:23:47 | 显示全部楼层
忘记factory机制能不能重载item的东西,你可以找和factory有关的资料看看。
发表于 2012-9-23 10:17:06 | 显示全部楼层
不能让tod_packet 和 item_1都来自一个共同的父类吗?
发表于 2012-9-23 10:25:46 | 显示全部楼层




   可以在同一个seqence中,使用不同sequence_item,如果要动态替换item,就创造另一个不同sequence, 不同的driver可以在factory注册以后,用set_config来替换吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-23 17:25 , Processed in 0.024694 second(s), 9 queries , Gzip On, Redis On.

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