路科验证(Rocker IC)专注于验证系统思想和前沿工程资讯,拥有一支活跃的技术原创团队,著有《芯片验证漫游指南》一书,致力为高校微电子相关专业学生与IC从业人员提供技术食粮。 您可以在手机移动端同步关注微信订阅号“路科验证”或是登录网页www.rockeric.com了解更多资讯。如果您需要联系我们,请发送邮件至 bin.rocker.liu@intel.com 。

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

上一篇 / 下一篇  2018-06-29 19:04:53 / 个人分类:验证系统思想

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的混合仿真》。


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





TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

路科验证

路科验证

路科验证(Rocker IC)专注于验证系统思想和前沿工程资讯,拥有一支活跃的技术原创团队,为高校微电子相关专业学生与IC从业人员提供技术食粮。 您可以在手机移动端同步关注微信订阅号“路科验证”。如果您需要联系我们,请发送邮件至 rocker.ic@vip.163.com 或者 bin.rocker.liu@intel.com 。

日历

« 2018-07-22  
1234567
891011121314
15161718192021
22232425262728
293031    

数据统计

  • 访问量: 132145
  • 日志数: 238
  • 建立时间: 2016-06-25
  • 更新时间: 2018-06-29

RSS订阅

Open Toolbar