svt_agent Class Reference

Inheritance diagram for class svt_agent:

List of all members.


Detailed Description

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



Public Member Functions

function void  build_phase ( uvm_phase phase )
function void  connect_phase ( uvm_phase phase )
function void  display_checked_out_features ( )
function void  final_phase ( uvm_phase phase )
function void  get_cfg ( ref svt_configuration cfg )
function string  get_suite_name ( )
function void  new ( string name = "", uvm_component parent = null, string suite_name = "" )
function void  phase_started ( uvm_phase phase )
function void  pre_abort ( )
function void  reconfigure ( svt_configuration cfg )
function void  report_phase ( uvm_phase phase )
task   run_phase ( uvm_phase phase )
function void  svt_check_and_load_verbosity ( )

Public Attributes

svt_err_check  err_check = null; 
svt_event_pool  event_pool 
int  intermediate_report = 1; 
uvm_report_object  reporter = this; 

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 bit  get_is_running ( )
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_agent::build_phase

 (  uvm_phase phase  ) 


Build phase

 Superseded functions 
 uvm_component :: build_phase 
 uvm_agent :: build_phase 

 protected function void
 svt_agent::change_dynamic_cfg

 (  svt_configuration cfg  ) 


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

 protected function void
 svt_agent::change_static_cfg

 (  svt_configuration cfg  ) 


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

  function void
 svt_agent::connect_phase

 (  uvm_phase phase  ) 


Connect phase

 Superseded functions 
 uvm_component :: connect_phase 

  function void
 svt_agent::display_checked_out_features

 (   ) 


Displays the license features that were used to authorize this suite

  function void
 svt_agent::final_phase

 (  uvm_phase phase  ) 


Close out the debug log file

 Superseded functions 
 uvm_component :: final_phase 

  function void
 svt_agent::get_cfg

 (  ref svt_configuration cfg  ) 


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

 protected virtual function void
 svt_agent::get_dynamic_cfg

 (  ref svt_configuration cfg  ) 


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

 protected virtual function bit
 svt_agent::get_is_running

 (   ) 


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

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

 protected virtual function void
 svt_agent::get_static_cfg

 (  ref svt_configuration cfg  ) 


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

 (   ) 


Returns the model suite name associated with an object.

 protected function bit
 svt_agent::is_valid_cfg_type

 (  svt_configuration cfg  ) 


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

  function void
 svt_agent::new

 (  string name = "", uvm_component parent = null, string suite_name = ""  ) 


CONSTRUCTOR: Create a new agent instance, passing the appropriate argument values to the `SVT_XVM(agent) parent class.

name - Name assigned to this agent.

parent - Component which contains this agent

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

  function void
 svt_agent::phase_started

 (  uvm_phase phase  ) 


Record the start time for each phase for automated debug

 Superseded functions 
 uvm_component :: phase_started 

  function void
 svt_agent::pre_abort

 (   ) 


If the simulation ends early due to messaging, then close out the debug log file

 Superseded functions 
 uvm_component :: pre_abort 

  function void
 svt_agent::reconfigure

 (  svt_configuration cfg  ) 


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

  function void
 svt_agent::report_phase

 (  uvm_phase phase  ) 


Report phase: If final report (i.e., intermediate_report = 0) this method calls svt_err_check :: report on the err_check object.

 Superseded functions 
 uvm_component :: report_phase 

  task
 svt_agent::run_phase

 (  uvm_phase phase  ) 


Run phase

 Superseded tasks 
 uvm_component :: run_phase 

  function void
 svt_agent::svt_check_and_load_verbosity

 (   ) 


Check and load verbosity

Member Attribute Documentation

 svt_err_check  attribute
 svt_agent::err_check = null


DUT Error Check infrastructure object shared by the components of the agent.

 svt_event_pool  attribute
 svt_agent::event_pool


Event pool associated with this agent

 protected uvm_phase  attribute
 svt_agent::hdl_cmd_phase


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

 int  attribute
 svt_agent::intermediate_report = 1


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

 protected bit  attribute
 svt_agent::is_running


Flag that indicates the driver has entered the run phase.

 uvm_report_object  attribute
 svt_agent::reporter = this


SVT message macros route messages through this reference