svt_component Class Reference

Inheritance diagram for class svt_component:

List of all members.


Detailed Description

Class that provides the basic infrastructure common to all SVT components.



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  reconfigure ( svt_configuration cfg )
task   run_phase ( uvm_phase phase )

Public Attributes

svt_err_check  err_check = null; 
svt_event_pool  event_pool 
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 


Member Function Documentation

  function void
 svt_component::build_phase

 (  uvm_phase phase  ) 


UVM build phase

 Superseded functions 
 uvm_component :: build_phase 
 Superseding functions 
 svt_traffic_arbiter :: build_phase 

 protected function void
 svt_component::change_dynamic_cfg

 (  svt_configuration cfg  ) 


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

 protected function void
 svt_component::change_static_cfg

 (  svt_configuration cfg  ) 


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

  function void
 svt_component::extract_phase

 (  uvm_phase phase  ) 


UVM extract phase

 Superseded functions 
 uvm_component :: extract_phase 

  function void
 svt_component::get_cfg

 (  ref svt_configuration cfg  ) 


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

 protected virtual function void
 svt_component::get_dynamic_cfg

 (  ref svt_configuration cfg  ) 


Copies (deep) the dynamic configuration properties from the configuration object stored in the component 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_component::get_is_running

 (   ) 


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

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

 protected virtual function void
 svt_component::get_static_cfg

 (  ref svt_configuration cfg  ) 


Copies (deep) the static configuration properties from the configuration object stored in the component 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_component::get_suite_name

 (   ) 


Returns the model suite name associated with an object.

 protected function bit
 svt_component::is_valid_cfg_type

 (  svt_configuration cfg  ) 


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

  function void
 svt_component::new

 (  string name , uvm_component parent , string suite_name  ) 


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

name - Instance name

parent - Handle to the hierarchical parent

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

  function void
 svt_component::reconfigure

 (  svt_configuration cfg  ) 


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

  task
 svt_component::run_phase

 (  uvm_phase phase  ) 


UVM run phase

 Superseded tasks 
 uvm_component :: run_phase 
 Superseding tasks 
 svt_traffic_arbiter :: run_phase 


Member Attribute Documentation

 svt_err_check  attribute
 svt_component::err_check = null


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

 svt_event_pool  attribute
 svt_component::event_pool


Event pool associated with this component

 protected uvm_phase  attribute
 svt_component::hdl_cmd_phase


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

 protected bit  attribute
 svt_component::is_running


Flag that indicates the component has entered the run phase.

 uvm_report_object  attribute
 svt_component::reporter = this


SVT message macros route messages through this reference

 static svt_err_check  attribute
 svt_component::shared_err_check = null


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