svt_monitor Class Reference

Inheritance diagram for class svt_monitor:

List of all members.


Detailed Description

Class that provides the basic infrastructure common to all SVT UVM/OVM monitors.



Public Member Functions

function void  build_phase ( uvm_phase phase )
function void  extract_phase ( uvm_phase phase )
function void  get_cfg ( ref svt_configuration cfg )
function bit  get_is_running ( )
function string  get_suite_name ( )
function void  new ( string name, uvm_component parent, string suite_name )
function void  pre_abort ( )
function void  reconfigure ( svt_configuration cfg )
task   run_phase ( uvm_phase phase )

Class Parameters

type  REQ = uvm_sequence_item

Public Attributes

svt_err_check  err_check = null; 
svt_event_pool  event_pool 
svt_debug_opts_analysis_port  item_observed_port 
uvm_report_object  reporter = this; 
static svt_err_check  shared_err_check = null; 

Protected Member Functions

function void  change_dynamic_cfg ( svt_configuration cfg )
function void  change_static_cfg ( svt_configuration cfg )
virtual function void  get_dynamic_cfg ( ref svt_configuration cfg )
virtual function void  get_static_cfg ( ref svt_configuration cfg )
function bit  is_valid_cfg_type ( svt_configuration cfg )

Protected Attributes

protected uvm_phase  hdl_cmd_phase 
protected bit  is_running 
protected int  mcd_cb_number = 0; 
protected int  mcd_id_constructor = 0; 
protected int  mcd_id_get_cfg = 0; 
protected int  mcd_id_reconfigure = 0; 
protected int  mcd_id_start_monitor = 0; 
protected int  mcd_id_stop_monitor = 0; 
protected string  mcd_in_port_numbers = ""; 
protected string  mcd_in_port_values = ""; 
protected bit  mcd_logging_input_objects_only = 1'b1; 
protected bit  mcd_logging_on = 1'b0; 
protected int  mcd_log_file 
protected int  mcd_n_number = 0; 
protected bit  mcd_notification_described = 0; 
protected string  mcd_out_port_numbers = ""; 
protected string  mcd_out_port_values = ""; 
protected int  mcd_task_number = 0; 


Member Function Documentation

  function void
 svt_monitor::build_phase

 (  uvm_phase phase  ) 


UVM build phase

 Superseded functions 
 uvm_component :: build_phase 

 protected function void
 svt_monitor::change_dynamic_cfg

 (  svt_configuration cfg  ) 


Copies (deep) the dynamic configuration properties from the argument into the configuration object stored in the monitor. Used internally by reconfigure; not to be called directly.

 protected function void
 svt_monitor::change_static_cfg

 (  svt_configuration cfg  ) 


Copies (deep) the static configuration properties from the argument into the configuration object stored in the monitor. Used internally by reconfigure; not to be called directly.

  function void
 svt_monitor::extract_phase

 (  uvm_phase phase  ) 


UVM extract phase

 Superseded functions 
 uvm_component :: extract_phase 

  function void
 svt_monitor::get_cfg

 (  ref svt_configuration cfg  ) 


Returns a copy of the monitor's configuration object, including the current configuration settings. If cfg is null, creates configuration object of appropriate type.

 Superseding functions 
 svt_monitor_bfm_shell :: get_cfg 

 protected virtual function void
 svt_monitor::get_dynamic_cfg

 (  ref svt_configuration cfg  ) 


Copies (deep) the dynamic configuration properties from the configuration object stored in the monitor into the argument. If cfg is null, creates configuration object of appropriate type. Used internally by get_cfg; not to be called directly.

  function bit
 svt_monitor::get_is_running

 (   ) 


Returns the current setting of is_running, indicating whether the monitor has been entered the run phase.

Return values - 1 indicates that the monitor has been started, 0 indicates it has not.

 protected virtual function void
 svt_monitor::get_static_cfg

 (  ref svt_configuration cfg  ) 


Copies (deep) the static configuration properties from the configuration object stored in the monitor into the argument. If cfg is null, creates config object of appropriate type. Used internally by get_cfg; not to be called directly.

  function string
 svt_monitor::get_suite_name

 (   ) 


Returns the model suite name associated with an object.

 protected function bit
 svt_monitor::is_valid_cfg_type

 (  svt_configuration cfg  ) 


Expected to return a 1 if the supplied configuration object is of the correct type for the monitor. Extended classes implementing specific monitors will provide an extended version of this method and call it directly.

  function void
 svt_monitor::new

 (  string name , uvm_component parent , string suite_name  ) 


CONSTRUCTOR: Create a new monitor instance, passing the appropriate argument values to the parent class.

name - Instance name

parent - Handle to the hierarchical parent

suite_name - Identifies the product suite to which the monitor object belongs.


 Superseding functions 
 svt_monitor_bfm_shell :: new 
 svt_uvm_monitor :: new 

  function void
 svt_monitor::pre_abort

 (   ) 


pre_abort phase

 Superseded functions 
 uvm_component :: pre_abort 

  function void
 svt_monitor::reconfigure

 (  svt_configuration cfg  ) 


Updates the monitor's configuration with data from the supplied object. This method always results in a call to change_dynamic_cfg. If the monitor has not been started calling this method also results in a call to change_static_cfg.

 Superseding functions 
 svt_monitor_bfm_shell :: reconfigure 

  task
 svt_monitor::run_phase

 (  uvm_phase phase  ) 


UVM run phase

 Superseded tasks 
 uvm_component :: run_phase 


Class Parameters Documentation

 type  attribute
 svt_monitor::REQ = uvm_sequence_item


Member Attribute Documentation

 svt_err_check  attribute
 svt_monitor::err_check = null


Local svt_err_check instance that may be specific to the monitor, or otherwise shared across a subsystem (e.g., subenv).

 svt_event_pool  attribute
 svt_monitor::event_pool


Event pool associated with this monitor.

 protected uvm_phase  attribute
 svt_monitor::hdl_cmd_phase


Phase handle used to drop the objection raised during the run phase for HDL CMD models.

 protected bit  attribute
 svt_monitor::is_running


Flag that indicates the monitor has entered the run phase.

 svt_debug_opts_analysis_port  attribute
 svt_monitor::item_observed_port


Analysis port makes observed transactions available to the user.

 protected int  attribute
 svt_monitor::mcd_cb_number = 0

 protected int  attribute
 svt_monitor::mcd_id_constructor = 0

 protected int  attribute
 svt_monitor::mcd_id_get_cfg = 0

 protected int  attribute
 svt_monitor::mcd_id_reconfigure = 0

 protected int  attribute
 svt_monitor::mcd_id_start_monitor = 0

 protected int  attribute
 svt_monitor::mcd_id_stop_monitor = 0

 protected string  attribute
 svt_monitor::mcd_in_port_numbers = ""

 protected string  attribute
 svt_monitor::mcd_in_port_values = ""

 protected bit  attribute
 svt_monitor::mcd_logging_input_objects_only = 1'b1

 protected bit  attribute
 svt_monitor::mcd_logging_on = 1'b0

 protected int  attribute
 svt_monitor::mcd_log_file

 protected int  attribute
 svt_monitor::mcd_n_number = 0

 protected bit  attribute
 svt_monitor::mcd_notification_described = 0

 protected string  attribute
 svt_monitor::mcd_out_port_numbers = ""

 protected string  attribute
 svt_monitor::mcd_out_port_values = ""

 protected int  attribute
 svt_monitor::mcd_task_number = 0

 uvm_report_object  attribute
 svt_monitor::reporter = this


SVT message macros route messages through this reference

 static svt_err_check  attribute
 svt_monitor::shared_err_check = null


Common svt_err_check instance shared by all SVT-based monitors. Individual monitors may alternatively choose to store svt_err_check_stats in a local svt_err_check instance, check_mgr, that may be specific to the monitor, or otherwise shared across a subsystem (e.g., subenv).