svt_driver Class Reference

Inheritance diagram for class svt_driver:

List of all members.


Detailed Description

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



Public Member Functions

function void  build ( )
function void  extract ( )
function void  get_cfg ( ref svt_configuration cfg )
function bit  get_is_running ( )
function string  get_suite_name ( )
function void  new ( string name, ovm_component parent, string suite_name )
function void  reconfigure ( svt_configuration cfg )
task   run ( )

Class Parameters

type  REQ = ovm_sequence_item
type  RSP 

Public Attributes

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


Member Function Documentation

  function void
 svt_driver::build

 (   ) 


OVM build phase

 Superseded functions 
 ovm_component :: build 

 protected function void
 svt_driver::change_dynamic_cfg

 (  svt_configuration cfg  ) 


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

 Superseding functions 
 svt_mem_driver :: change_dynamic_cfg 

 protected function void
 svt_driver::change_static_cfg

 (  svt_configuration cfg  ) 


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

 Superseding functions 
 svt_mem_driver :: change_static_cfg 

  function void
 svt_driver::extract

 (   ) 


OVM extract phase

 Superseded functions 
 ovm_component :: extract 

  function void
 svt_driver::get_cfg

 (  ref svt_configuration cfg  ) 


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

 Superseding functions 
 svt_driver_bfm_shell :: get_cfg 

 protected virtual function void
 svt_driver::get_dynamic_cfg

 (  ref svt_configuration cfg  ) 


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

 Superseding functions 
 svt_mem_driver :: get_dynamic_cfg 

  function bit
 svt_driver::get_is_running

 (   ) 


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

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

 protected virtual function void
 svt_driver::get_static_cfg

 (  ref svt_configuration cfg  ) 


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

 Superseding functions 
 svt_mem_driver :: get_static_cfg 

  function string
 svt_driver::get_suite_name

 (   ) 


Returns the model suite name associated with an object.

 protected function bit
 svt_driver::is_valid_cfg_type

 (  svt_configuration cfg  ) 


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

  function void
 svt_driver::new

 (  string name , ovm_component parent , string suite_name  ) 


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

name - Instance name

parent - Handle to the hierarchical parent

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


 Superseding functions 
 svt_driver_bfm_shell :: new 
 svt_reactive_driver :: new 
 svt_mem_driver :: new 

  function void
 svt_driver::reconfigure

 (  svt_configuration cfg  ) 


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

 Superseding functions 
 svt_driver_bfm_shell :: reconfigure 
 svt_mem_driver :: reconfigure 

  task
 svt_driver::run

 (   ) 


OVM run phase

 Superseded tasks 
 ovm_component :: run 


Class Parameters Documentation

 type  attribute
 svt_driver::REQ = ovm_sequence_item

 type  attribute
 svt_driver::RSP


Member Attribute Documentation

 svt_err_check  attribute
 svt_driver::err_check = null


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

 svt_event_pool  attribute
 svt_driver::event_pool


Event pool associated with this driver

 protected bit  attribute
 svt_driver::is_running


Flag that indicates the driver has entered the run phase.

 ovm_report_object  attribute
 svt_driver::reporter = this


SVT message macros route messages through this reference

 static svt_err_check  attribute
 svt_driver::shared_err_check = null


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