| |
The Env
环境或者称env是一个容器组件,用于将子组件组合成block,或者将多个blocks集成到更高层次。
Block Level Env
在块级UVM测试平台中,环境(env)用于将在一个地方与DUT接口通信所需的多个agents收集在一起。与agent一样,与env关联的不同的类是组织成一个SystemVerilog package,SystemVerilog package将导入agent包。
除了agent之外,env还将包含以下部分或全部类型的组件:
【此处需插入一幅图】
该图显示了一个块级测试平台,它由一系列tests组成,这些tests构建一个包含多个analysis components和两个agents的env。【test比env高一级】
Integration Level Env
当集成块以创建子系统时,可以通过将在每个块级测试平台中使用的env重新合并到更高级别的env中来实现垂直重用。块级envs提供测试每个块所需的所有结构,但是作为集成过程的结果,并非所有块级接口都在边界处暴露,因此块级env的一些功能将是多余的。然后需要配置集成级别env以使被连接到内部接口的agents是passive(与active对应),此处集成级env甚至可能根本不包含agent。
此配置在test中完成,每个子env的配置对象嵌套在下一层层次结构的env的配置对象中。
【此处需插入一幅图】
作为说明,该图显示了第一级集成,其中两个块级环境已合并在一起以测试外设文件。env中标“灰色”的组件是集成级别环境中不再使用的组件。集成级别的配置对象包含嵌套在其中的其余配置对象。
通过在彼此内部分层多个集成级别env,可以实现更高级别的集成。
The UVM Testbench Build and Connection Process
在UVM测试平台启动应用激励之前,必须构建其组件层次结构,并且必须在验证组件之间建立连接。在构建UVM测试平台的文章中描述了配置和构建agent以及块级和集成级UVM测试平台的过程。