本篇主要介绍uvm_env
uvm environment实际上是验证环境的可重用的单元。 其中可以包含多个uvm_agent, 不同的interface,
coverage collector和checker等。
如下图所示是一个uvm_env的示例图:
下面说明创建uvm_env的过程:
- 从uvm_env派生出一个自定义的env, 比如说是my_env, 用factory 机制注册, 并且创建new函数:
1 | class my_env extends uvm_env; |
- 申明这个env中的一些component:
1 | // apb_agnt and other components are assumed to be user-defined classes that already exist in TB |
- 在connec_phase连接各个uvm_component
如下图所示是一个定义env的例子:
1 | class my_env extends uvm_env ; |