Testbench_Testbench/Build

上一篇 / 下一篇  2018-09-06 14:14:45

         UVM测试平台的第一个phase是build phase。在此phase期间,组成测试平台层次结构的uvm_component类被构造成对象。构造过程自上而下,在配置和构造下一级别之前构建层次结构的每一级。这种构造方法称为延迟构造。

    【此处需插入一幅图】

    在顶层test module 的initial块中调用run_test()方法时,UVM测试平台将被激活。此方法是一个UVM静态方法,它采用一个字符串参数来定义要运行的test并通过factory来构造它。然后,UVM基础结构通过调用test类build方法来启动build phase。
    在执行tests build phase期间,验证平台组件配置对象将被准备,并对配置对象中的虚拟接口句柄进行testbench module接口的分配。下一步是将配置对象放入test的配置表中。最后,下一级层次结构被构建。
    在下一级层次结构中,检索由test准备的配置对象,并且可以进行进一步的配置。在配置对象用于指导下一级层次结构的配置和条件构造之前,可以通过该级别的层次结构修改它。此条件构造会影响测试平台的topology或层次结构。build phase自上而下工作,因此对于测试平台层次结构的每个继承级别都重复该过程,直到到达分层树的底部。
    build phase完成后,connect phase用于确保所有内部组件被连接。connect phase从测试平台层次结构的底部到顶部工作。connect phase之后,其余的UVM phases在控制权传递回testbench module之前运行完成。

    The Test Is The Starting Point For The Build Process:

    UVM测试平台的构建过程从test class开始,并自上而下工作。 The test class build method是在build phase期间首先被调用的方法,test method设置的内容决定了在UVM测试平台中构建的内容。the tests build method的功能是:
    设置一些factory overrides,以便将配置对象或组件对象创建为继承类型;
    创建和配置各个子组件所需的配置对象;
    通过testbench module,将一些虚拟接口句柄分配放入配置空间;
    构建嵌套的env配置对象,然后将其设置到配置空间中;
    在testbench层次结构中构建下一级别,通常是顶层env。
 
    对于给定的设计验证环境,构建方法中完成的大部分工作对于所有tests都是相同的,因此建议创建一个可以轻松扩展为每个test case的测试基类。
    为了帮助解释test build过程的工作原理,此处将引用块级验证环境。
    此示例是SPI主接口DUT的环境,它包含两个agents,一个用于其APB总线接口,另一个用于其SPI接口。可以在Block Level Testbench Example文章中找到此示例的构建和连接过程的详细说明。

    【此处需插入一幅图】

    

    


TAG:

 

评分:0

我来说两句

显示全部

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

日历

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

我的存档

数据统计

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

RSS订阅

Open Toolbar
博聚网