OVM自学笔记.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.Sequence 中的 m_sequencer和p_sequencer ovm_sequencer_base继承而来在factory中注册的那个sequencer。区别是m_sequencer由ovm_sequencer_base保护,不可ovm_user来更改,而p_sequencer可由user通过`uvm_declare_p_sequencer(sequencer_name)来改变指向。 所以用户如果想从一个sequence得到sequencer的信息可指定p_sequencer的指向,之后通过p_sequencer.*的方式取得相应信息。 实例:(uvm实例ovm通用) `uvm_object_utils(seq_name) `uvm_declare_p_sequencer(sequencer_name) if you need to access the sequencer information (or any of its hierarchy information) from a sequence. I believe m_sequencer should not be used as it is protected. /forums/showthread.php?193-m_sequencer-vs-p_sequencer 2.一个Sequence 中的 CREATED: The sequence has been allocated. PRE_BODY: The sequence is started and the pre_body task is being executed. BODY: The sequence is started and the body task is being executed. POST_BODY:The sequence is started and the post_body task is being executed. ENDED: The sequence has ended by the completion of the body task. STOPPED: The sequence has been forcibly ended by issuing a kill() on the sequence. FINISHED: The sequence is completely finished executing. 3.OVM使仿真结束方法 (1)global_stop_request:基于task的目标结束方式 (2)ovm_test_done:object结束方式,当所有object dropped调用global_stop_request (3)kill or do_kill_all:强行结束,不推荐 (4)timeout:超时结束,需要用set_global_timeout来设定超时时间 详细内容参考OVM_Reference的P38 4.ovm_test_done ovm_test_done_objection的实例化class(global类),用来结束run phase。当所有它挂起的object都dropped时,其会调用global_stop_request来结束整个仿真 实例:ovm_example xbus/xbus_master_seq_lib.sv/xbus_base_sequence virtual class xbus_base_sequence extends ovm_sequence #(xbus_transfer); function new(string name=xbus_base_seq); super.new(name); endfunction // Raise in pre_body so the objection is only raised for root sequences. // There is no need to raise for sub-sequences since the root sequence // will encapsulate the sub-sequence. virtual task pre_body(); m_sequencer.ovm_report_info(get_type_name(), $psprintf(%s pre_body() raising an ovm_test_done objection, get_sequence_path()), OVM_M

文档评论(0)

企业资源 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档