• UVM中重要函数


    1、get_full_name()

    获取这个节点的完整层次,这函数在object中就有定义,但是在component类中进行了重载,实现输出从uvm_test_top到当前节点的路径(是通过执行m_set_full_name是保存路径在m_name中)。返回值如:env.agt.drv(这些名字不是类名,是实例名字)

    2、get()

    这个函数在很多类中都有,比如uvm_object_register #(T,Tname)和uvm_factory都要这个get()函数,这个函数都是通过单例模式返回这个类的唯一对象。

    // uvm_factory中的源码
    static local uvm_factory m_inst;
    
    function uvm_factory uvm_factory::get();
        if(m_inst == null) begin
            m_inst = new();
        end
        return m_inst;
    endfunction

     3、get_name()

    获取当前节点的实例名字,(不是类名)

    4、get_type_name()

    获取类的名字,以string形式返回,这个string是在注册的时候产生的。

    5、get_type()

    这个函数是类在注册的时候产生的静态函数,通过这个函数获取的是一个uvm_object_registry或者uvm_component_registry的单例对象,通过这个对象,其实跟调用get()函数功能差不多,只是调用get()函数得到的是uvm_object_wrapper对象,而调用get_type则将uvm_object_wrapper转换成了子类类型,uvm_object_registry #(T,Tname)。

  • 相关阅读:
    Java CountDownLatch应用
    servlet 表单
    servlet简单方法
    MySQL WHERE
    JavaScript typeof
    JavaScript字符串
    jsp语法
    HTML链接
    2021.3.10
    2021.3.9
  • 原文地址:https://www.cnblogs.com/yuandonghua/p/11981705.html
Copyright © 2020-2023  润新知