一、virtual sequence 与virtual sequencer 二、layering sequence

一、

1.virtual sequence一般挂载到virtual sequencer上面,virtual sequencer里面有各个sequencer(如reg_sequencer formatter_sequencer 的句柄),这样virtual sequence就可以通过句柄将不同类型sequence挂载到不同的sequencer上;要使用uvm_do_on ,这个才可以把不同sequence挂载到不同sequencer上。uvm_do是吧sequence挂载到同一个sequencer,是属于hierarchical的;

8b95da8da763405a805447073fcc77ae.png

 

2.virtual sequence声明时一般挂载到p_sequencer 上,p_sequencer 是新鲜定义的,uvm_declare_p_sequencer (midfielder_virtual_sequencer),这里面作了两步:1.定义了一个mcdf_virtual_sequencer:p_sequencer 2.$cast 转化,把父类句柄m_sequencer 转化为p_sequencer 

 

3.virtual _sequencer 是组件,要自己创建

4.在connect_phase阶段句柄不能悬空,要把各个底层实例的sqr句柄传给virtual_sequencer的句柄

7ceafc4455cb4462a006b4ea63cab689.png

 

二、

1.class layer_trans extends uvm_sequence_item;

layer _trans 是抽象级的item,要用adapter_sequence作一个转化,把高抽象级转为低抽象级。

05bd0aec47574dd7a208e313e25e7480.png 

 

2.adapter_sequence挂载在p_sequencer 上,

layer _sequence挂载在layering_sequencer上,

p_sequencer通过layering_sequencer的句柄up_sequencer ,get_next_item就可以拿到layer_tran里面的item,这样就把抽象级的item拿到了。

3.adapter_sequence作转化,高抽象级转为低抽象级

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值