UVM(四)

UVM configuration机制(属性配置工具)

  • 传递值
  • 传递对象
  • 传递interface

(1)半个全局变量,避免全局变量带来的风险
(2)高层组件可以通过configuration机制在不改变代码的情况下更改所包含的子组件的变量
(3)支持通配符和正则表达式对多个变量进行配置
(4)支持用户定义的数据类型
(5)可以在仿真运行的过程中进行配置

UVM(四)
UVM(四)
1、配置sequence产生transaction的数量
UVM(四)
UVM(四)
UVM(四)
(运行完打开.log文件,查看transaction的数量,统计产生了20个transaction,而默认为10,表明config有效)

2、配置interface
UVM(四)
UVM(四)
在run_phase中转化为pin级信号,驱动DUT
UVM(四)
UVM(四)
UVM(四)
3、配置用户自定义的config类
UVM(四)
UVM(四)
UVM(四)
UVM(四)
UVM(四)
UVM(四)
UVM(四)
UVM(四)
UVM(四)
UVM sequence机制
控制和产生一系列激励,并将激励发送给driver的机制
UVM(四)
UVM(四)
如何使用sequence机制?
UVM(四)
UVM(四)
UVM(四)
UVM(四)
(1)首先声明句柄
my transaction tr;
(2)句柄是sequence_item类型
tr = my_transaction::type_id::create(“tr”);
(3)调用start_item()
start_item(tr);
(4)随机化item
tr.randomize();
(5)调用finish_item()
finish_item(tr);

启动sequence的方法:
(1)配置sequencer的default_sequence
UVM(四)
(2)在组件中手动启动sequence
UVM(四)
sequence的嵌套
UVM(四)
UVM(四)
sequence获取响应:
UVM(四)
driver发送响应:
UVM(四)