svt_transaction_report Class Reference

Inheritance diagram for class svt_transaction_report:

List of all members.


Detailed Description

This class provides testbenches a transaction mechanism for reporting transactions. It reports summary information for individual transactions that are in progress and accumulates information into a summary report.



Public Member Functions

function void  clear_summary ( )
function string  get_filename ( string file_group )
function void  new ( string suite_name = "" )
function string  psdisplay_null_group_summary ( )
function string  psdisplay_summary ( )
static function string  psdisplay_xact ( svt_transaction xact, string reporter, bit with_header )
function string  psdisplay_xact_chan ( vmm_channel chan, string reporter, bit with_header )
function string  psdisplay_xact_queue ( svt_transaction xacts[$], string reporter, bit with_header )
function void  record_message ( string msg, string file_group )
function void  record_xact ( svt_transaction xact, string reporter, string summary_group = "", string file_group = "", bit runtime_trace_recording = 0 )
function bit  set_filename ( string file_group, string filename )
function void  set_impl_display_depth ( int impl_display_depth, string summary_group = "", string file_group = "" )
function bit  set_lone_filename ( string filename )
function void  set_trace_display_depth ( int trace_display_depth, string summary_group = "", string file_group = "" )
function void  set_trace_header_present ( string file_group, bit trace_header_present_val )

Protected Member Functions

function void  record_xact_impl ( svt_transaction xact, string prefix, string reporter, int file, int depth )
function void  record_xact_trace ( svt_transaction xact, string prefix, string reporter, int file, int depth )

Protected Attributes

protected int  file_impl_display_depth [string] 
protected int  file_trace_display_depth [string] 
protected svt_transaction_report  group_xact_summary [string] 
static protected vmm_log  log = new; 
protected int  null_group_impl_display_depth 
protected int  null_group_trace_display_depth 
protected string  null_group_xact_summary [$] 
protected int  summary_impl_display_depth [string] 
protected int  summary_trace_display_depth [string] 
protected int  trace_file [string] 
protected string  trace_filename [string] 
protected bit  trace_header_present [string] 


Member Function Documentation

  function void
 svt_transaction_report::clear_summary

 (   ) 


Clear the currently stored summary report.

  function string
 svt_transaction_report::get_filename

 (  string file_group  ) 


Method to retrieve the filename for the indicated file group. If no filename has been specified for the file group, then the original file_group argument is returned. The filename returned by this method is the filename that will be used to setup the output file when the first call is made to record_xact for the file group.

file_group - File group whose filename is being retrieved.

Return values - String that corresponds to the filename associated with file_group.

  function void
 svt_transaction_report::new

 (  string suite_name = ""  ) 


Creates a new instance of this class.

suite_name - The name of the VIP suite.

  function string
 svt_transaction_report::psdisplay_null_group_summary

 (   ) 


Method to rollup the contents of null_group_xact_summary into a single string

  function string
 svt_transaction_report::psdisplay_summary

 (   ) 


Return the current report in a string for use by the caller.

 static function string
 svt_transaction_report::psdisplay_xact

 (  svt_transaction xact , string reporter , bit with_header  ) 


Create an individual transaction summary, with a header if requested.

xact - Transaction to be displayed.

reporter - Identifies the client reporting the transaction, for inclusion in the message.

with_header - Indicates whether the transaction display should be preceded by a header.

  function string
 svt_transaction_report::psdisplay_xact_chan

 (  vmm_channel chan , string reporter , bit with_header  ) 


Create an transaction summary for a transaction channel.

chan - Channel containing the transactions to be displayed.

reporter - Identifies the client reporting the transactions, for inclusion in the message.

with_header - Indicates whether the transaction display should be preceded by a header.

  function string
 svt_transaction_report::psdisplay_xact_queue

 (  svt_transaction xacts [$], string reporter , bit with_header  ) 


Create an transaction summary for a queue of transactions.

xacts - Transactions to be displayed.

reporter - Identifies the client reporting the transactions, for inclusion in the message.

with_header - Indicates whether the transaction display should be preceded by a header.

  function void
 svt_transaction_report::record_message

 (  string msg , string file_group  ) 


Method to record a message in the file associated with file_group.

msg - The message to be reported.

file_group - Group that identifies the destination file report for the message.

  function void
 svt_transaction_report::record_xact

 (  svt_transaction xact , string reporter , string summary_group = "", string file_group = "", bit runtime_trace_recording = 0  ) 


Generate the appropriate report data for the provided transaction, placing it in a combined report for later access.

xact - Transaction that is to be added to the report.

reporter - The object that is reporting this transaction.

summary_group - Optional group that allows for the creation of multiple distinct summary reports.

file_group - Optional group that allows for the creation of multiple distinct file reports.

runtime_trace_recording - Optional allows runtime recording of data in trace file. By default data is dumped at the end of simulation.

 protected function void
 svt_transaction_report::record_xact_impl

 (  svt_transaction xact , string prefix , string reporter , int file , int depth  ) 


Method to record the implementation queue for a transaction

xact - Transaction whose implementation is to be added to the report.

prefix - String placed at the beginning of each new entry.

reporter - The object that is reporting this transaction.

file - Indicates whether this is going to file, and if so to which file. 0 indicates no file.

depth - Implementation hierarchy display depth.

 protected function void
 svt_transaction_report::record_xact_trace

 (  svt_transaction xact , string prefix , string reporter , int file , int depth  ) 


Method to record the trace queue for a transaction

xact - Transaction whose trace is to be added to the report.

prefix - String placed at the beginning of each new entry.

reporter - The object that is reporting this transaction.

file - Indicates whether this is going to file, and if so to which file. 0 indicates no file.

depth - Trace hierarchy display depth.

  function bit
 svt_transaction_report::set_filename

 (  string file_group , string filename  ) 


Method to set the filename for the indicated file group. Note that if the file has already been opened then the filename will not be associated with the file group.

This basically means the filename must be setup prior to the first call to record_xact for the file group.

file_group - File group whose filename is being defined.

filename - Filename that is to be used for the file group output.

Return values - Indicates the success (1) or failure (0) of the operation.

  function void
 svt_transaction_report::set_impl_display_depth

 (  int impl_display_depth , string summary_group = "", string file_group = ""  ) 


Controls the implementation display depth for a transaction summary and/or file group.

impl_display_depth - New implementation display depth. Can be set to any any non-negative value.

summary_group - Summary group this setting is to apply to. If not set, and file_group is not set, then applies to the null group.

file_group - File group this setting is to apply to. If not set, and summary_group is not set, then applies to the null group.

  function bit
 svt_transaction_report::set_lone_filename

 (  string filename  ) 


Method which can be used if there is only one file group being handled by the reporter to set the filename associated with that file group. Note that if the file has already been opened then the filename will not be associated with the file group.

This basically means the filename must be setup prior to the first call to record_xact for the file group.

filename - Filename that is to be used for the file group output.

Return values - Indicates the success (1) or failure (0) of the operation.

  function void
 svt_transaction_report::set_trace_display_depth

 (  int trace_display_depth , string summary_group = "", string file_group = ""  ) 


Controls the trace display depth for a transaction summary and/or file group.

trace_display_depth - New trace display depth. Can be set to any non-negative value.

summary_group - Summary group this setting is to apply to. If not set, and file_group is not set, then applies to the null group.

file_group - File group this setting is to apply to. If not set, and summary_group is not set, then applies to the null group.

  function void
 svt_transaction_report::set_trace_header_present

 (  string file_group , bit trace_header_present_val  ) 


Used to set the trace_header_present value for a file group.

Member Attribute Documentation

 protected int  attribute
 svt_transaction_report::file_impl_display_depth[string]


Controls the depth of the implementaion display for the the indicated file group. Defaults to 0, but can be set to include implementation display to any non-negative depth. Updated via set_impl_display_depth.

 protected int  attribute
 svt_transaction_report::file_trace_display_depth[string]


Controls the depth of the trace display for the the indicated file group. Defaults to 0, but can be set to include trace display to any non-negative depth. Updated via set_trace_display_depth.

 protected svt_transaction_report  attribute
 svt_transaction_report::group_xact_summary[string]


Used to build up additional labeled tabular summaries of transactions as seen by all of the chosen transactors and monitors. This feature uses the svt_transaction :: psdisplay_short method to create this report. These contained transaction report objects are not provided with labels, and are simply used to manage the strings that go with the labels.

 static protected vmm_log  attribute
 svt_transaction_report::log = new


Shared log object that can be used for messaging, normally just used for warning/error/fatal messaging.

 protected int  attribute
 svt_transaction_report::null_group_impl_display_depth


Controls the depth of the implementaion display for the the null group. Defaults to 0, but can be set to include implementation display to any non-negative depth. Updated via set_impl_display_depth.

 protected int  attribute
 svt_transaction_report::null_group_trace_display_depth


Controls the depth of the trace display for the the null group. Defaults to 0, but can be set to include trace display to any non-negative depth. Updated via set_trace_display_depth.

 protected string  attribute
 svt_transaction_report::null_group_xact_summary[$]


Used to store the tabular summary of null group (i.e., summary_group = "") transactions as seen by all of the chosen transactors and monitors. This feature uses the svt_transaction :: psdisplay_short method to create this report. This is the one summary stored directly in this transaction report instance. Grouped transactions are stored in their own svt_transaction_report objects, inside the grouped_xact_summary array.

 protected int  attribute
 svt_transaction_report::summary_impl_display_depth[string]


Controls the depth of the implementaion display for the the indicated summary group. Defaults to 0, but can be set to include implementation display to any non-negative depth. Updated via set_impl_display_depth.

 protected int  attribute
 svt_transaction_report::summary_trace_display_depth[string]


Controls the depth of the trace display for the the indicated summary group. Defaults to 0, but can be set to include trace display to any non-negative depth. Updated via set_trace_display_depth.

 protected int  attribute
 svt_transaction_report::trace_file[string]


File handles used to create a trace of transactions as seen by all of the chosen transactors and monitors to an individual file. The trace feature uses the svt_transaction :: psdisplay_short method to create the individual trace entries.

 protected string  attribute
 svt_transaction_report::trace_filename[string]


File names for the trace files, indexed by the group value. If mapping does not exist for a specific group, then the filename defaults to the name of the group.

 protected bit  attribute
 svt_transaction_report::trace_header_present[string]


Indicates whether the header for the trace is present (1) or absent (0).