Connections to DUT Interfaces(从SVCreationOrder开始)

上一篇 / 下一篇  2018-09-21 16:19:32

        SystemVerilog Instance Worlds 

        在生成UVM测试平台,特别是DUT - 测试平台之间通信时,了解SystemVerilog的两个不同“实例领域”之间的差异以及创建事物的顺序是有帮助的。

       SystemVerilog Simulation Steps or Phases   

       SystemVerilog仿真包含三个步骤或阶段(不要与UVM phase混淆):compilation, elaboration and run-time。

       【此处需一幅图】

       Compilation是解析和分析代码的地方。

       Elaboration是将设计组件绑定在一起的过程。除其他外,Elaboration包括创建实例化,计算参数值,解析分层名称和连接nets。通常在引用compilation and elaboration阶段时,它们不会被区分,但通常直接被称为compilation。换句话说,“编译时错误”可能指的是run-time阶段之前的任何时间的错误。

       Run-time被认为是仿真实际执行或运行过程执行、仿真时间提前等。

       诸如“prior to simulation”或“before simulation”之类的短语通常用于指代在run-time之前,然而,“during simulation”发生的编译和细化步骤,以指代run-time步骤或阶段。

       Static Instance World

       在仿真开始之前,在elaboration期间会创建许多SystemVerilog组件实例。一旦仿真开始,这些组件的实例既不会再次被创建也不会被破坏,而是会在整个仿真过程中被保持。我们将此称为静态实例领域。属于这个领域的组件是模块实例,接口实例,checker instances,primitive instances和设计层次结构的顶层模块实例。

       Dynamic Instance World

       在仿真期间可能创建和销毁的组件实例(SystemVerilog run phase)属于所谓的动态实例领域。属于这个领域的组件是classes。
       但是有一个例外。声明为static的Class methods and properties 在runtime之前创建。但是,它们【声明为static的class methods和properties】是在静态领域的组件实例之后创建的。
       这个例外通常用于在仿真之前创建和初始化 class properties(包括class objects)。这称为静态初始化。UVM factory是静态初始化的对象的一个示例。

       Order of Creation

       两个实例领域的组件按以下顺序创建:

       【此处需一幅图】

       在Elaboration期间:
       1.静态领域的组件实例
       2.Static methods and static properties of classes

       在run-time期间:
       1.Class instances
             

      


TAG:

 

评分:0

我来说两句

显示全部

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

日历

« 2018-12-13  
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

数据统计

  • 访问量: 15126
  • 日志数: 49
  • 建立时间: 2018-09-03
  • 更新时间: 2018-12-12

RSS订阅

Open Toolbar
博评网