Testbench_UVM Testbench Hierarchy(Env)

上一篇 / 下一篇  2018-09-06 10:01:56

      The Env      
      环境或者称env是一个容器组件,用于将子组件组合成block,或者将多个blocks集成到更高层次。
      Block Level Env
      在块级UVM测试平台中,环境(env)用于将在一个地方与DUT接口通信所需的多个agents收集在一起。与agent一样,与env关联的不同的类是组织成一个SystemVerilog package,SystemVerilog package将导入agent包。
      除了agent之外,env还将包含以下部分或全部类型的组件:

      【此处需插入一幅图】

  •  Configuration object - env将具有一个配置对象,让testcase编写程序员能够控制构建哪些环境子组件。env配置对象还应该包含一个句柄,这句柄指向每个agent的配置对象。然后使用set_config_object将它们分配给envs agents。
  • Scoreboards - 记分板是一种analysis component,用于检查DUT是否正常运行。UVM记分板使用来自agent内部的monitor的analysis transactions【tr:即item】。记分板通常会比较来自至少两个agent的transactions,这就是它通常出现在env中的原因。
  • Predictors - predictor是计算激励所期望的响应的组件,通常与记分板等其他组件一起使用。
  • Functional Coverage Monitors - A functional coverage monitor analysis component包含一个或多个covergroups,用于收集与测试用例期间测试平台中发生的相关的功能覆盖信息。A functional coverage monitor对于DUT来说通常是特定的。

        该图显示了一个块级测试平台,它由一系列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测试平台的过程。

      



TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2018-09-19  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

我的存档

数据统计

  • 访问量: 3199
  • 日志数: 21
  • 建立时间: 2018-09-03
  • 更新时间: 2018-09-18

RSS订阅

Open Toolbar