微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > 问下uvm p_sequencer

问下uvm p_sequencer

时间:12-12 整理:3721RD 点击:

你说的完全正确,前提是你知道seq的hier path。如果你在test里面声明seq,然后用seq.start(...seqr)这种方式,甚至不需要用config_db::set,直接用seq.smac=xxx就可以。

正解

seq 属于seq item 生命周期有限 哪有hier  这种试试用resource_db?  
  

自己在sequence里面打印一下get_full_name就清楚了。

Other objects might be associated with component hierarchy but are not themselves components.  For example, uvm_sequence #(REQ,RSP) classes are typically associated with a uvm_sequencer #(REQ,RSP).  In this case, it is useful to override get_full_name to return the sequencer’s full name concatenated with the sequence’s name.  This provides the sequence a full context, which is useful when debugging.

其实不是hier 是个context  
  

config_bd本来就指定的是context前缀,只不过用hier path做前缀,可以防止冲突。

config_db set可以认为, config_db#(int)::set(comp,path, member_name,obj),aa[{comp.get_full_name(),path, member_name}] = obj

为什么这里非要用uvm_config_db呢?你这用法,把sequence和sequencer耦合在一起,很不好。如果有多个sequence和这个sequencer联系,怎么破?或者你哪天想换个sequencer,也不好搞。

sequence本来就是sequencer耦合在一起的,即便是换掉sequencer也是从该seqr继承。不过个人认为,让seqr启动sequence是有待推敲的,主动start sequence更灵活,更简单,更直接。

这个无所谓吧,seqr启动方便就让seqr启动好了,这个应该不需要讲究

seq是可以有hier的

你应该换driver吧,多数情况下seqr就是一个空壳。

不同意sqr和seq是耦合的。
个人理解sqr和driver耦合的更紧。seq在同一个test里可以换,sqr就一直用这一个了吧。  
  
.18

seq通过p_sequencer是可以访问seqr的,而driver和seqr只是用seq_item_port连在一起,当然前者更紧密。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top