svt_debug_opts_carrier Class Reference

Inheritance diagram for class svt_debug_opts_carrier:

List of all members.


Detailed Description

The svt_debug_opts_carrier is used to intercept and manage whether the baseline pattern data carrier functionality is actually utilized.



Public Member Functions

function void  add_prop ( string name, bit [1023:0] value = 0, int array_ix = 0, svt_pattern_data :: type_enum typ = svt_pattern_data::UNDEF )
virtual function vmm_data  allocate ( )
virtual function unsigned int  byte_pack ( ref logic [7:0] bytes[], input int unsigned offset, input int kind )
virtual function unsigned int  byte_unpack ( const ref logic [7:0] bytes[], input int unsigned offset, input int len, input int kind )
virtual function bit  compare ( vmm_data to, output string diff, input int kind )
virtual function vmm_data  copy ( vmm_data to = null )
function void  do_all ( vmm_data :: do_what_e do_what, ref logic [7:0] pack[], const ref logic [7:0] unpack[] )
function string  get_class_name ( )
function bit [1023:0]   get_primitive_val ( svt_debug_opts_carrier pdc, string name, output int size )
function bit  get_primitive_vals ( svt_debug_opts_carrier pdc, get_set_struct prim_propsprim_props = [$], output bit [1023:0] prim_vals )
virtual function bit  is_valid ( bit silent = 1, int kind = -1 )
function void  new ( vmm_log log = null, string host_inst_name = "", create_struct field_descfield_desc = [$], string obj_class_typeobj_class_type = [$], svt_data prop_objprop_obj = [$], bit [1023:0] prop_valprop_val = [$] )
virtual function string  psdisplay ( string prefix = "" )
function bit  set_multiple_prop_vals ( get_set_struct prop_desc[$] )
function bit  update_save_prop_vals_to_fsdb ( string inst_name, string parent_object_uid = "", get_set_struct update_descupdate_desc = [$] )

Protected Attributes

static protected svt_debug_opts_carrier  __vmm_rhs 


Member Function Documentation

  function void
 svt_debug_opts_carrier::add_prop

 (  string name , bit [1023:0] value = 0, int array_ix = 0, svt_pattern_data :: type_enum typ = svt_pattern_data::UNDEF  ) 


Method to add a new name/value pair to the current set of name/value pairs included in the pattern.

name - Name portion of the new name/value pair.

value - Value portion of the new name/value pair.

array_ix - Index associated with the value when the value is in an array.

typ - Type portion of the new name/value pair.


 Superseded functions 
 svt_pattern_data_carrier :: add_prop 

 virtual function vmm_data
 svt_debug_opts_carrier::allocate

 (   ) 


 Superseded functions 
 vmm_data :: allocate 
 svt_data :: allocate 
 svt_pattern_data_carrier :: allocate 

 virtual function unsigned int
 svt_debug_opts_carrier::byte_pack

 (  ref logic [7:0] bytes [], input int unsigned offset , input int kind  ) 


 Superseded functions 
 vmm_data :: byte_pack 
 svt_data :: byte_pack 
 svt_pattern_data_carrier :: byte_pack 

 virtual function unsigned int
 svt_debug_opts_carrier::byte_unpack

 (  const ref logic [7:0] bytes [], input int unsigned offset , input int len , input int kind  ) 


 Superseded functions 
 vmm_data :: byte_unpack 
 svt_data :: byte_unpack 
 svt_pattern_data_carrier :: byte_unpack 

 virtual function bit
 svt_debug_opts_carrier::compare

 (  vmm_data to , output string diff , input int kind  ) 


 Superseded functions 
 vmm_data :: compare 
 svt_data :: compare 
 svt_pattern_data_carrier :: compare 

 virtual function vmm_data
 svt_debug_opts_carrier::copy

 (  vmm_data to = null  ) 


 Superseded functions 
 vmm_data :: copy 
 svt_data :: copy 
 svt_pattern_data_carrier :: copy 

  function void
 svt_debug_opts_carrier::do_all

 (  vmm_data :: do_what_e do_what , ref logic [7:0] pack [], const ref logic [7:0] unpack []  ) 


 Superseded functions 
 vmm_data :: do_all 
 svt_data :: do_all 
 svt_pattern_data_carrier :: do_all 

  function string
 svt_debug_opts_carrier::get_class_name

 (   ) 


Returns the name of this class, or a class derived from this class.

 Superseded functions 
 svt_data :: get_class_name 
 svt_pattern_data_carrier :: get_class_name 

  function bit [1023:0]
 svt_debug_opts_carrier::get_primitive_val

 (  svt_debug_opts_carrier pdc , string name , output int size  ) 


Used during playback, this method is used to update ref arguments on callbacks. The pattern data carrier object that is recorded prior to callback execution must be supplied because the pattern data carrier object that is obtained post-callback execution are string values, and so the original property type is not available in the post-execution pattern data carrier object.

pdc - Pattern data carrier object recorded prior to callback execution

name - Property name to be obtained

size - Number of bits needed to encode the return value

  function bit
 svt_debug_opts_carrier::get_primitive_vals

 (  svt_debug_opts_carrier pdc , get_set_struct prim_props prim_props = [$], output bit [1023:0] prim_vals  ) 


Returns a queue of prop_val elements

 virtual function bit
 svt_debug_opts_carrier::is_valid

 (  bit silent = 1, int kind = -1  ) 


 Superseded functions 
 vmm_data :: is_valid 
 svt_data :: is_valid 
 svt_pattern_data_carrier :: is_valid 

  function void
 svt_debug_opts_carrier::new

 (  vmm_log log = null, string host_inst_name = "", create_struct field_desc field_desc = [$], string obj_class_type obj_class_type = [$], svt_data prop_obj prop_obj = [$], bit [1023:0] prop_val prop_val = [$]  ) 


CONSTRUCTOR: Creates a new instance of the svt_debug_opts_carrier class. This should only ever be called if debug_opts have been enabled. This is enforced by the SVT_DEBUG_OPTS_CARRIER_PRE_CB macro, so clients are strongly advised to use that macro to create instances of this object.

log - A vmm_log object reference used to replace the default internal logger.

host_inst_name - Instance name to check against

field_desc - Shorthand description of the fields to be created in the carrier.

obj_class_type - Class type values which must be provided (in order) for all of the object fields provided in the field_desc.

 virtual function string
 svt_debug_opts_carrier::psdisplay

 (  string prefix = ""  ) 


 Superseded functions 
 vmm_data :: psdisplay 
 svt_data :: psdisplay 
 svt_pattern_data_carrier :: psdisplay 

  function bit
 svt_debug_opts_carrier::set_multiple_prop_vals

 (  get_set_struct prop_desc [$]  ) 


Method to assign multiple values to the corresponding named properties included in the carrier.

prop_desc - Shorthand description of the fields to be modified.

Return values - A single bit representing whether or not the indicated properties were set successfully.


 Superseded functions 
 svt_pattern_data_carrier :: set_multiple_prop_vals 

  function bit
 svt_debug_opts_carrier::update_save_prop_vals_to_fsdb

 (  string inst_name , string parent_object_uid = "", get_set_struct update_desc update_desc = [$]  ) 


This method modifies the object with the provided updates and then writes the resulting property values associated with the data object to an FSDB file. This implementation is mainly here to intercept the request and pass it along or discard it, depending on whether debug opts are enabled.

inst_name - The full instance path of the component that is writing the object to FSDB

parent_object_uid - Unique ID of the parent object

update_desc - Shorthand description of the primitive fields to be updated in the carrier.

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


 Superseded functions 
 svt_pattern_data_carrier :: update_save_prop_vals_to_fsdb 


Member Attribute Documentation

 static protected svt_debug_opts_carrier  attribute
 svt_debug_opts_carrier::__vmm_rhs