Testbench_Testbench/Build(从Building The Next Level Of Hierarchy开始)

上一篇 / 下一篇  2018-09-10 13:46:26

        Building The Next Level Of Hierarchy

        test构建过程的最后阶段是使用UVM factory构建下一级别的测试平台层次结构。这通常意味着构建顶层env,但可能有多个env或者可能存在可以在几个env之间进行选择的条件构建。

        【此处需一幅图】

        编码约定 - Factory Create Method的名称参数应与本地句柄匹配。

        create方法有两个参数,一个是名称字符串,另一个是指向父uvm_component class objec的指针。这些参数的值用于在链表中创建entry,UVM用它来定位伪层次结构中的uvm_components,此列表用于消息传递和配置机制。按照惯例,name参数字符串应该与组件的声明句柄相同,而parent参数应该是关键字“this”,以便它引用正在创建组件的uvm_component。使用与句柄相同的名称可以更容易地交叉引用路径和句柄。在前面的代码片段中,spi_env是在test中使用其声明句柄m_env创建的。这意味着,在build process结束后,spi_env的UVM路径将为“spi_test.m_env”。

        Hierarchical Build Process

        UVM中的build phase自上而下工作。一旦构建了test class,就会调用它的build method,并且然后调用test的子类的build method。按照顺序地,通过测试平台树的每个子节点的build methods被调用,直到构造了整个层次结构。这种延迟的构造方法意味着每个build method都可以影响测试平台层次结构中较低层次的组件build过程中发生的情况。例如,如果agent配置为passive,则agent的build过程将忽略agents sequencer and driver的创建,因为只有在agent处于active状态时才需要这些sequencer and driver。

        【此处需一幅图】

        The Hierarchical Connection Process

        build phase完成后,UVM测试平台组件层次结构就成型了,各个组件已构建并连接到组件层次结构链表中。connect phase紧随build phase开始按照层次树自下而上的工作。其目的是在TLM类之间建立连接,为其句柄分配虚拟接口指针,以及为诸如寄存器模型之类的资源进行一些其他分配。配置对象在连接过程中被使用,因为它们可能包含对虚拟接口的引用,或者它们可能包含指导连接过程的信息。例如,在agent内部,只有在agent处于active状态时,才能将agent中的虚拟接口传到driver,同样,只有在agent处于active状态时,一个driver才能和它的sequencer 建立TLM连接。

        Examples

        通过查看一些示例来说明build过程,以说明如何构建不同类型的组件层次结构:
        一个包含agent的块级测试平台
       集成级测试平台


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      

我的存档

数据统计

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

RSS订阅

Open Toolbar