|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
在做的项目使用了一个比较老的VIP环境,VIP自带的squence机制使用的是比较老的`uvm_sequence_utils的宏注册到VIP自带的sequencer上,现有的环境吧原来的VIP sequence作为子sequence放到seq lib基类中,在seq lib中用
- virtual task pre_body();
- if(starting_phase != null)
- starting_phase.raise_objection(this,{"Running sequence '",get_full_name(),"'"});
- endtask : pre_body
- virtual task post_body();
- if(starting_phase != null)
- starting_phase.drop_objection(this,{"Completed sequence '",get_full_name(),"'"});
- endtask : post_body
复制代码
raise 和drop objection
原有的VIP的sequencer加入到virtual sequencer中,
新增加的virtual sequence继承seq lib基类而来,然后在test阶段将vseq绑定到v sequencer上
仿真报告中,seq lib基类中pre_body和post_body的信息没有打印
在vseq中检查starting_phase phase !=null,但是vseq用`uvm_do_on 调用的VIP seq中 starting_phase=null
run_phase阶段仿真时间没有推进,但是进入了body函数 ,使用工具 irun 12.20-s15 ,uvm版本1.1c,请问这种现象是什么原因引起的,在网上看到介绍说starting_phase 是seq成功指向sequencer的指针,那么我环境的问题是否是由于seq和sequencer的transaction类型不导致的 |
|