mastosh的个人空间 https://blog.eetop.cn/899845 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

sequence&sequencer&driver

已有 1464 次阅读| 2018-2-8 12:24 |系统分类:芯片设计

1.sequence机制
     uvm_task_phase,start_default_sequence调用seq.start(sqr)调用uvm_do。
start_phase_sequence,sequencer内部函数,启动default.非正常sequencer.start启动.匹配到default sequence,然后执行seq.start,调用body。
      进入到熟悉的uvm_do,这就牵涉到item的送取以及done的过程。
          简化就是 start_item(seq);
                          finish_item(seq);
                      
可以看到sequencer在这个地方的组件作用被弱化,只是调用了sequener的seq处理方法。送到seq_expert端口。结合tlm的fifo机制,不难理解,fifo从sequencer的port端口得到item,送到driver的port端口。连接关系:

       seq_port   ====  <export_fifo ---- export>  ====driver_port

virtual sequence.  ----多个virtual主要对应于多接口下发的数据存在一些时序先后关系。
   使用方法:
重新定义virtual sequence和sequencer。定义过程有一些约束,在定义virtual sequence的时候需要'uvm_declare_p_sequencer(vir_sequencer).赋值给p_sequencer.后续调用uvm_on的时候会用到。

       class vsequencer extends uvm_sequencer;
             'uvm_component_utils(v_sequencer);
             c_sequencer c_seqr;
             d_sequencer d_seqr;
        endclass
   class tc_base uvm_test;
       b_env env;
       vsequencer  vsqr;
        function build_phase(uvm_phase phase);
              v_sequencer::type_id::create("vsqr",this);
        endfunction
       function connect_phase();
                vsqr.c_sqr=env.d_vip.c_sqr;
                vsqr.d_sqr=env.d_vio.d_sqr;
       endfunction
    endclass  
class vseq extends uvm_sequence;
     'uvm_object_with();
     'uvm_declare_p_sequencer(v_sequencer);
  task body();
       c_seq cseq;
       d_seq  dseq;
        'uvm_do_on(cseq,p_sequencer.c_sqr);
         'uvm_do_on(dseq,p_sequencer.d_sqr);
    endtask
endclass

2.uvm小栗子及debug方法


点赞

全部作者的其他最新日志

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 0

    评论
  • 1017

    访问数
关闭

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

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

GMT+8, 2024-3-29 20:33 , Processed in 0.022516 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部