注册 登录
ET创芯网论坛(EETOP) 返回首页

ee_king的个人空间 http://blog.eetop.cn/?1494617 [收藏] [复制] [分享] [RSS]

日志

Connections to DUT Interfaces(从SVCreationOrder开始)

已有 514 次阅读2018-9-21 16:19 |系统分类:芯片设计

        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
             

      

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|ET创芯网 ( 京ICP备:10050787号 京公网安备:110105001212 )

GMT+8, 2019-4-25 08:05 , Processed in 0.029452 second(s), 8 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部