UVM学习笔记(三)

发布网友 发布时间:2024-10-23 17:09

我来回答

1个回答

热心网友 时间:5分钟前

前言

笔记内容对应张强所著的《UVM实战》。该书对UVM使用进行了比较详尽的介绍,并在前言中提供了书籍对应源码的下载网址,是一本带有实操性的书籍,对新手比较友好,推荐阅读。

第2章一个简单的UVM验证平台2.4 UVM的终极大作: sequence

2.4.1 在验证平台中加入sequencer

sequence机制作用:用于产生激励。其分为两部分,一是sequence,二是sequencer。

在定义driver时指明此driver要驱动的transaction的类型,这样定义的好处是可以直接使用uvm_driver中的某些预先定义好的成员变量,如uvm_driver中有成员变量req,它的类型就是传递给uvm_driver的参数。由此带来的变化如下:(不需要定义中间变量tr了)

2.4.2 sequence机制

三者关系:

每一个sequence都有一个body任务,当一个sequence启动之后,会自动执行body中的代码。body中uvm_do这个宏的作用如下:

如果不使用uvm_do宏,也可以直接使用start_item与finish_item的方式产生transaction。

sequencer负责协调sequence和driver的请求

get_next_item和try_next_item的比较

2.4.3 default_sequence的使用

引入default_sequence的原因:

如何使用default_sequence:

使用default_sequence时如何提起和撤销objection?

2.5 建造测试用例2.5.1 加入base_test

对my_env进一步封装,添加一些公司个性化内容,举例如下:

2.5.2 UVM中测试用例的启动

通过传递参数变量值启动的原因:

如何使用:

参考资料

UVM实战(卷一) 张强 编著 机械工业出版社

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com