svt_subenv Class Reference

Inheritance diagram for class svt_subenv:

List of all members.


Detailed Description

Class that provides the basic infrastructure common to all SVT subenvs which are based on svt_subenv.



Public Member Functions

function void  display_checked_out_features ( )
function svt_configuration  get_debug_opts_cfg ( svt_configuration cfg )
function string  get_instance ( )
function bit  get_is_debug_enabled ( )
virtual function bit  get_is_started ( )
function string  get_name ( )
function string  get_object_hiername ( )
function void  get_subenv_cfg ( ref svt_configuration cfg )
function string  get_suite_name ( )
function void  kill ( )
function void  new ( string suite_name, string name, string inst, vmm_consensus end_test )
function void  reconfigure ( svt_configuration cfg )
function void  report ( )
task   reset ( vmm_env :: restart_e kind = vmm_env::FIRM )
function void  set_instance ( string inst )
task   start ( )

Public Attributes

vmm_log  data_log 
svt_err_check  err_check = null; 
int  intermediate_report = 1; 

Protected Member Functions

function void  change_dynamic_cfg ( svt_configuration cfg )
function void  change_static_cfg ( svt_configuration cfg )
function void  enable_debug_opts ( string pkg_prefix, string timeunit_str, svt_configuration cfg, svt_configuration save_cfg = null )
function void  enable_debug_opts_messaging ( )
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 )


Member Function Documentation

 protected function void
 svt_subenv::change_dynamic_cfg

 (  svt_configuration cfg  ) 


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

 protected function void
 svt_subenv::change_static_cfg

 (  svt_configuration cfg  ) 


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

  function void
 svt_subenv::display_checked_out_features

 (   ) 


Displays the license features that were used to authorize this suite

 protected function void
 svt_subenv::enable_debug_opts

 (  string pkg_prefix , string timeunit_str , svt_configuration cfg , svt_configuration save_cfg = null  ) 


If this component is enabled for debug then this method will record the supplied timeunit and enable the configuration properties that correspond to debug features.

pkg_prefix - String prepended to the methodology extension

timeunit_str - String identifying the timeunit for the supplied package

cfg - Configuration object to enable debug features on

save_cfg - Configuration that is to be saved. If 'null', then 'cfg' is saved.

 protected function void
 svt_subenv::enable_debug_opts_messaging

 (   ) 


Utility used to route transcripts to file and print the header for automated debug.

  function svt_configuration
 svt_subenv::get_debug_opts_cfg

 (  svt_configuration cfg  ) 


Function to get the configuration that should be stored for this component when debug_opts have been enabled.

cfg - The configuration that has been supplied to reconfigure.

Return values - The configuration that is to be stored.

 protected virtual function void
 svt_subenv::get_dynamic_cfg

 (  ref svt_configuration cfg  ) 


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

  function string
 svt_subenv::get_instance

 (   ) 


Returns the instance name associated with this subenv.

  function bit
 svt_subenv::get_is_debug_enabled

 (   ) 


Function looks up whether debug is enabled for this component. This mainly acts as a front for svt_debug_opts, caching and reusing the information after the first lookup.

 virtual function bit
 svt_subenv::get_is_started

 (   ) 


Used to identify whether the subenv has been started. Based on whether the transactors in the subenv have been started.

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

  function string
 svt_subenv::get_name

 (   ) 


Returns the name associated with this subenv.

  function string
 svt_subenv::get_object_hiername

 (   ) 


Method which returns a string for the instance path of the svt_subenv instance for VMM 1.1.

 protected virtual function void
 svt_subenv::get_static_cfg

 (  ref svt_configuration cfg  ) 


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

  function void
 svt_subenv::get_subenv_cfg

 (  ref svt_configuration cfg  ) 


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

  function string
 svt_subenv::get_suite_name

 (   ) 


Returns the model suite name associated with an object.

 protected function bit
 svt_subenv::is_valid_cfg_type

 (  svt_configuration cfg  ) 


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

  function void
 svt_subenv::kill

 (   ) 


This is not part of the defined VMM SUBENV run-flow; this method is added to destroy the SUBENV contents so that it can operate in a test loop. The main action is to kill the contained compoenent and scenario generator transactors.

  function void
 svt_subenv::new

 (  string suite_name , string name , string inst , vmm_consensus end_test  ) 


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

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

name - Name assigned to this subenv.

inst - Name assigned to this subenv instance.

end_test - Consensus object provided by the env to coordinate test exit.

  function void
 svt_subenv::reconfigure

 (  svt_configuration cfg  ) 


Updates the subenv configuration with data from the supplied object. This method always results in a call to reconfigure for the transactors.

  function void
 svt_subenv::report

 (   ) 


VMM Run Flow: If final report (i.e., intermediate_report = 0) this method calls report on the check object.

 Superseded functions 
 vmm_subenv :: report 

  task
 svt_subenv::reset

 (  vmm_env :: restart_e kind = vmm_env::FIRM  ) 


This is not part of the defined VMM SUBENV run-flow; this method is added to support a reset in the run-flow so the subenv can support test loops. It resets the objects contained in the subenv. It also clears out transaction summaries and drives signals to hi-Z. If this is a HARD reset this method can also result in the destruction of all of the transactors and channels managed by the subenv. This is basically used to destroy the subenv and start fresh in subsequent test loops.

 Superseded tasks 
 vmm_subenv :: reset 

  function void
 svt_subenv::set_instance

 (  string inst  ) 


Sets the instance name associated with this subenv.

inst - The new instance name to be associated with this subenv.

  task
 svt_subenv::start

 (   ) 


VMM Run Flow: Implementation of the start-up phase of the run-flow.

 Superseded tasks 
 vmm_subenv :: start 


Member Attribute Documentation

 vmm_log  attribute
 svt_subenv::data_log


Shared log instance used for internally generated data objects.

 svt_err_check  attribute
 svt_subenv::err_check = null


DUT Error Check infrastructure object shared by the subenv transactors.

 int  attribute
 svt_subenv::intermediate_report = 1


Determines if a transaction summary should be generated in the report task.