zoukankan      html  css  js  c++  java
  • UVM的factory机制

    在UVM中使用工厂模式基本上分为三个步骤:

    1. 注册

    当定义一个类的时候,它的类型必须要注册,UVM已经提供了专用的宏。

    `uvm_component_utils(class_type_name)

    `uvm_component_param_utils(class_type_name #(params))

    `uvm_object_utils(class_type_name)

    `uvm_object_param_utils(class_type_name #(params))

    这四个宏中两个是为参数化的类准备的,另外两个是为非参数化的类注册用的。

    2. 实例化对象

    在对component或object型对象进行实例化的时候要使用静态方法create(),不能采用new()去实例化。也就是要用如下这个非常奇怪的实例化格式:

    object_name = class_type::type_id::create("object_name",this);

    3. 重载override

    最后就是在需要override的时候,按照类型或者名称去override原来的对象。

    set_inst_override_by_type(original_type, override_type, full_inst_path )

    set_inst_override_by_name(original_type_name, override_type_name, full_inst_path )

     

    参考文献:

    [1] UVM的factory机制. http://www.asicdv.com/uvm_scan.asp?id=30

    [2] UVM FACTORY . http://www.testbench.in/UT_06_UVM_FACTORY.html

  • 相关阅读:
    C# 中对COOKIES的操作
    guruguru
    异或序列
    最优贸易
    farm
    Fruit Ninja
    商务旅行
    Generation I
    Heritage of skywalkert
    Bichrome Tree
  • 原文地址:https://www.cnblogs.com/dpc525/p/5464040.html
Copyright © 2011-2022 走看看