当前位置:诺佳网 > 电子/半导体 > 物联网 >

UVM学习笔记(三)

时间:2023-05-26 | 栏目:物联网 | 点击:

第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机制

三者关系:

1.jpg

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

  1. 创建一个my_transaction的实例m_trans;
  2. 将其随机化;
  3. 最终将其送给sequencer。

如果不使用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中测试用例的启动

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

如何使用:

您可能感兴趣的文章:

相关文章