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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[求助] 求助:如何将两个不同driver发送的sequence放到一起?

[复制链接]
发表于 2012-7-9 08:54:12 | 显示全部楼层 |阅读模式

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

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

x
各位:
      前几天发过帖子求助virtual sequence错误的问题,到目前为止没人解答,所以干脆另开一贴,从零开始,重新考虑如何将两个sequence放到一起。
      有两个单独的验证环境,一个是apb的,另外一个是video(r,g,b,hs,vs....)的。现在要把这两个验证环境整合到一起,使用apb配置DUT的寄存器,然后再使用video发送DUT需要的图像激励。那么需要先发送apb验证环境的apb_config_seq,然后再发送video验证环境的send_two_frame_seq。该如何操作才能实现呢?
发表于 2012-7-9 19:10:20 | 显示全部楼层
看了你的具体问题,应该是uvm中模块级如何过渡到系统级验证的问题吧?
发表于 2012-7-10 00:59:48 | 显示全部楼层
最直接的办法,在test里面例化,然后用启动sequence自带的一个函数就可以执行了。呵呵。
发表于 2012-7-10 06:34:18 | 显示全部楼层
其实主要是两个driver同步的问题,根据我的VMM的经验,可以采用类似notify的机制啊,实质就是event sync的机制。想必UVM里也有同样的机制
 楼主| 发表于 2012-7-10 08:52:09 | 显示全部楼层
回复 2# pursues


    是的。本来是打算用virtual sequence的,但是具体实现过程中遇到一些问题,可能是我中间哪步出错了,所以想知道别人是怎么做的,好对照一下,另外,也看是否有其他办法来实现。
 楼主| 发表于 2012-7-10 10:28:44 | 显示全部楼层
回复 3# gaurson


    那个, 我刚开始学UVM,你说的太简洁,我不大明白呀。请问在test里面例化是例化sequencer还是sequence,然后,这个sequence自带的一个函数是什么函数呢?
 楼主| 发表于 2012-7-10 10:31:17 | 显示全部楼层
回复 4# tbb2009


   谢谢! 请问是不是systemverilog中使用的用event同步呢,就像generater和driver一样?这个我会。
发表于 2012-7-10 18:52:37 | 显示全部楼层
回复 6# oscillator_cn1


   例化的是sequence。

以下是伪代码,供参考:
class sys_test
{
      apb_config_seq apb_config_seq0;
       send_two_frame_seq  send_two_frame_seq0;

   virtual task body();      
      `uvm_do(apb_config_seq0)
      `uvm_do(send_two_frame_seq0)
  endtask : body

}
 楼主| 发表于 2012-7-10 18:56:32 | 显示全部楼层
回复 8# pursues


    可是这两个sequence是通过不同的sequencer发送的,这样可以么?
发表于 2012-7-10 21:37:51 | 显示全部楼层
本帖最后由 pursues 于 2012-7-10 21:40 编辑

回复 9# oscillator_cn1


   可以。 sequence和sequencer是在上层组件中的connect_phase()阶段函数中连接好的,若没有连接,会报error的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-13 15:58 , Processed in 0.042782 second(s), 9 queries , Gzip On, Redis On.

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