Inheritance diagram for class svt_pattern_data_carrier:
The svt_pattern_data carrier is used to gather up properties so that they can be acted upon as a group.
Public Member Functions | |
| function void | add_multiple_props ( create_struct field_desc[$] ) |
| 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 ) |
| function void | add_supp_data ( string prop_name, string name, bit [1023:0] value, svt_pattern_data :: type_enum typ = svt_pattern_data::UNDEF ) |
| function void | add_supp_string ( string prop_name, string name, string value ) |
| 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 svt_pattern | do_allocate_pattern ( ) |
| function string | get_class_name ( ) |
| function bit | get_prop_val ( string prop_name, ref bit [1023:0] prop_val, input int array_ix, ref svt_data data_obj ) |
| function bit | get_prop_val_via_pattern ( ref svt_pattern pttrn ) |
| function bit | get_supp_data_value ( string prop_name, string name, ref bit [1023:0] value ) |
| virtual function bit | is_valid ( bit silent = 1, int kind = -1 ) |
| function void | new ( vmm_log log = null, create_struct field_descfield_desc = [$] ) |
| virtual function string | psdisplay ( string prefix = "" ) |
| function bit | set_multiple_prop_vals ( get_set_struct prop_desc[$] ) |
| function bit | set_prop_object ( string prop_name, svt_data prop_obj, int array_ix ) |
| function bit | set_prop_val ( string prop_name, bit [1023:0] prop_val, int array_ix ) |
| function bit | update_save_prop_vals_to_fsdb ( string inst_name, string parent_object_uid = "", get_set_struct update_descupdate_desc = [$] ) |
Public Attributes | |
| svt_pattern_data | contents [$] |
Protected Attributes | |
| static protected svt_pattern_data_carrier | __vmm_rhs |
|
||
Method to add multiple new name/value pairs to the current set of name/value pairs included in the pattern.
field_desc - Shorthand description of the fields to be created in the carrier. |
|
||||
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. | ||||
|
|
||
|
||
|
||||||||||
|
|
||||||||||
|
|
||||||||||
|
|
||||||||||
|
|
||||||||||
|
|
||||||||||
|
|
||||
This method allocates a pattern containing svt_pattern_data instances for all of the primitive data fields in the object.
Return values - An svt_pattern instance containing entries for all of the data fields. | ||||
|
|
||||||||
Returns the name of this class, or a class derived from this class.
| ||||||||
|
|
||||
This method is used by a component's command interface, to allow command code to retrieve the value of a single named property of a data class derived from this class. If the prop_name argument does not match a property of the class, or if the array_ix argument is not zero and does not point to a valid array element, this function returns '0'. Otherwise it returns '1', with the value of the prop_val argument assigned to the value of the specified property. However, If the property is a sub-object, a reference to it is assigned to the data_obj (ref) argument. In that case, the prop_val argument is meaningless. The component will then store the data object reference in its temporary data object array, and return a handle to its location as the prop_val argument of the get_data_prop task of the component. The command testbench code must then use that handle to access the properties of the sub-object.
prop_name - The name of a property in this class, or a derived class. prop_val - A ref argument used to return the current value of the property, expressed as a 1024 bit quantity. When returning a string value each character requires 8 bits so returned strings must be 128 characters or less. array_ix - If the property is an array, this argument specifies the index being accessed. If the property is not an array, it should be set to 0. data_obj - If the property is not a sub-object, this argument is assigned to null. If the property is a sub-object, a reference to it is assigned to this (ref) argument. In that case, the prop_val argument is meaningless. The component will then store the data object reference in its temporary data object array, and return a handle to its location as the prop_val argument of the get_data_prop task of the component. The command testbench code must then use that handle to access the properties of the sub-object. Return values - A single bit representing whether or not a valid property was retrieved. | ||||
|
|
||||
Since for do_allocate_pattern this class simply returns its own contents field the expectation is that this will be processing a pattern made up of the original carrier contents. Implying that it already has the values.
If a simple check validates this to be the case, this method basically just returns as the values are already contained in contents. If the check indicates there are differences with contents then this implementation simply calls the super to let it load up the values.
pttrn - Pattern to be loaded from the data object.
Return values - Success (1) or failure (0) of the get operation. | ||||
|
|
||
Utility method for accessing supplemental data on an individual property.
prop_name - Name of the property to be accessed. name - Name of the supplemental data whose value is to be retrieved. value - Retrieved value. Return values - Indicates whether the named supplemental data was found (1) or not found (0). This also indicates whether the 'value' is valid. |
|
||||||||||
|
|
||
CONSTRUCTOR: Creates a new instance of the svt_pattern_data_carrier class.
log - A vmm_log object reference used to replace the default internal logger. field_desc - Shorthand description of the fields to be created in the carrier. |
|
||||||||||
|
|
||||
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. | ||||
|
|
||||
This method allows clients to assign an object to a single named property included in the carrier's contents.
prop_name - The name of a property in this class, or a derived class. prop_obj - The object to assign to the property, expressed as svt_data instance. array_ix - If the property is an array, this argument specifies the index being accessed. If the property is not an array, it should be set to 0. Return values - A single bit representing whether or not a valid property was set. | ||||
|
|
||||
This method is used by a component's command interface, to allow command code to set the value of a single named property of a data class derived from this class. This method cannot be used to set the value of a sub-object, since sub-object construction is taken care of automatically by the command interface. If the prop_name argument does not match a property of the class, or it matches a sub-object of the class, or if the array_ix argument is not zero and does not point to a valid array element, this function returns '0'. Otherwise it returns '1'.
prop_name - The name of a property in this class, or a derived class. prop_val - The value to assign to the property, expressed as a 1024 bit quantity. When assigning a string value each character requires 8 bits so assigned strings must be 128 characters or less. array_ix - If the property is an array, this argument specifies the index being accessed. If the property is not an array, it should be set to 0. Return values - A single bit representing whether or not a valid property was set. | ||||
|
|
||||
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.
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. | ||||
|
|
|
The properties which have been stored in the carrier.
|
|