zoukankan      html  css  js  c++  java
  • uvm_monitor——借我一双慧眼

      monitor 用来捕获(监视)和检查总线的信号是否满足预期的要求。所有的user_monitor 继承自uvm_monitor,uvm_monitor继承自uvm_component,从源代码来看里面没有做什么工作,那为什么又费力去做这么一件事,这么做的原因是让不同的模块做不同事,从名字就可以区分开该模块的功能,提供代码的可阅读性。
    A monitor should have the following functions :
      • Collect bus information through a virtual interface
      • Collected data can be used for protocol checking and coverage
      • Collected data is exported via an analysis port

    //-----------------------------------------------------------------------------
    // CLASS: uvm_monitor
    //
    // This class should be used as the base class for user-defined monitors. 
    //
    // Deriving from uvm_monitor allows you to distinguish monitors from generic
    // component types inheriting from uvm_component.  Such monitors will
    // automatically inherit features that may be added to uvm_monitor in the future.
    //
    //-----------------------------------------------------------------------------
    
    virtual class uvm_monitor extends uvm_component;
    
      // Function: new
      //
      // Creates and initializes an instance of this class using the normal
      // constructor arguments for <uvm_component>: ~name~ is the name of the
      // instance, and ~parent~ is the handle to the hierarchical parent, if any.
    
      function new (string name, uvm_component parent);
        super.new(name, parent);
      endfunction
    
      const static string type_name = "uvm_monitor";
    
      virtual function string get_type_name ();
        return type_name;
      endfunction
    
    endclass

    参考文献:

    1 uvm_monitor. http://www.chipverify.com/uvm/monitor

  • 相关阅读:
    STL--sort源码分析
    进程和线程的区别
    static 关键字 静态成员变量及静态成员函数
    二叉树遍历总结 先序、中序、后续、广度、深度
    C++用new和不用new创建类对象区别
    传输层--TCP和UDP的区别
    传输层的作用
    微信商户/H5支付申请 被拒原因:网站存在不实内容或不安全信息
    Oracle本地网络服务名配置
    存储过程常用技巧
  • 原文地址:https://www.cnblogs.com/dpc525/p/7921073.html
Copyright © 2011-2022 走看看