路科验证的个人空间 https://blog.eetop.cn/1561828 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

SV及UVM高级话题篇之四:OVM到UVM的移植(续3)

已有 974 次阅读| 2018-6-29 19:04 |个人分类:验证系统思想|系统分类:芯片设计

sequencer的变化

类似地,`ovm_sequencer_utils宏也已经废止,需要将其替换为`ovm_component_utils,调整前后的代码如下:

调整前:

class my_sequencer extends ovm_sequencer #(my_seq_item);

  `ovm_sequencer_utils(my_sequencer)

  `ovm_update_sequence_lib_and_item(my_seq_item)

调整后:

class my_sequencer extends ovm_sequencer #(my_seq_item);

  `ovm_component_utils(my_sequencer)


环境的变化

在上面提到了,跟sequencer相关的'count'和'default_sequence'用法也已经废止,这一点用户需要额外注意。

调整前:

class my_env extends ovm_env;

  set_config_int("*.i_sequencer", "count", 0);

  set_config_string("*.i_sequencer","default_sequence","my_seq");

调整后:

class my_env extends ovm_env;


test执行root sequence的变化

既然已经移除了'count'和'defualt_sequence'用法,用户则不再需要关心默认的序列如何指定。而伴随着这一特性的改变,在顶层test中,我们不再依赖于default_sequence来指定root sequence,而可以通过sequence自带的方法start来实现sequence挂载到sequencer上。

调整前:

class tc_test_seq extends my_test_base_seq;

...


class my_test extends ovm_test;

  virtual function void build();

    super.build();

    set_config_string("top_env.i_top_sequencer",

      "default_sequence", "tc_test_seq");


调整后:

class tc_test_seq extends my_test_base_seq;

...

class my_test extends ovm_test;

  tc_test_seq test_seq;

  virtual task run();

  super.run();

    test_seq = tc_test_seq::type_id::create("test_seq");

    test_seq.start(top_env.i_top_sequencer);


在介绍完了OVM到UVM的迁移之后,如果读者现在有完整的OVM环境且有需要向UVM迁移的计划,那么可以考虑通过上面详细的步骤和建议完成迁移。如果受限制与项目的人力、节点和技术等多个因素,无法完成短时间的迁移,但又不能避免OVM与UVM之间的混合仿真,那么请关注我们下一节《OVM与UVM的混合仿真》。


谢谢你对路科验证的关注,也欢迎你分享和转发真正的技术价值,你的支持是我们保持前行的动力。





点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 253

    粉丝
  • 25

    好友
  • 33

    获赞
  • 45

    评论
  • 访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 14:08 , Processed in 0.013258 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部