在Sequencer上启动一个Sequence

描述

Sequencer默认不执行任何Sequence。验证工程师可以通过调用start()启动一个Sequence,也可以通过uvm_config_db指定一个自动启动的Sequence。

手动启动Sequence

验证工程师可以实例化,然后随机化一个Sequence,最后调用start()启动这个Sequence。

自动启动Sequence 

随着run-time phase的启动,sequencer将检查该phase是否有一个Sequence可以自动启动。这样的“自动启动Sequence”通常在test case中设置。

sequence

也可以启动一个Sequence的特定实例

sequence

进入指定phase后,该Sequence实例将被启动。sequencer不会对Sequence的实例进行随机化。 

覆盖Sequence Items和Sequences

在用户定义的uvm_test中,例如base_test_ubus_demo,你可以通过factory配置uvm验证环境来创建不一样的SequencesSequence Items

a) 扩展基类simple_item,声明一个用户定义的Sequence Items类word_aligned_item。 

b) 调用合适的 uvm_factory覆盖方法,类型覆盖或者实例覆盖。假设simple_seq_do sequence由simple_sequencer sequencer执行,你可以选择用word_aligned_item类型来替换simple_item类型。

sequence

sequence

覆盖生效之后,将创建一个word_aligned_item,而不是一个simple_item。

  审核编辑:汤梓红
 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分