Inheritance diagram for class svt_mem_configuration:
This memory configuration class encapsulates the configuration information for a single memory core instance.
Public Member Functions | |
| function unsigned int | byte_size ( int kind = -1 ) |
| function void | copy_dynamic_data ( vmm_data to ) |
| function void | copy_static_data ( vmm_data to ) |
| function bit | decode_prop_val ( string prop_name, bit [1023:0] prop_val, ref string prop_val_string, input svt_pattern_data :: type_enum typ ) |
| function svt_pattern | do_allocate_pattern ( ) |
| function unsigned int | do_byte_pack ( ref logic [7:0] bytes[], input int unsigned offset, input int kind = -1 ) |
| function unsigned int | do_byte_unpack ( const ref logic [7:0] bytes[], input int unsigned offset, input int len, input int kind ) |
| function bit | do_compare ( vmm_data to, output string diff, input int kind ) |
| function bit | do_is_valid ( bit silent = 1, int kind = RELEVANT ) |
| function bit | encode_prop_val ( string prop_name, string prop_val_string, ref bit [1023:0] prop_val, input svt_pattern_data :: type_enum typ ) |
| function string | get_mcd_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 | load_cfg_from_catalog ( svt_mem_vendor_catalog_base catalog, string mem_package, string mem_vendor, string part_name ) |
| function void | new ( vmm_log log = null, string suite_name = "" ) |
| function int | reasonable_constraint_mode ( bit on_off ) |
| function bit | set_prop_val ( string prop_name, bit [1023:0] prop_val, int array_ix ) |
| function int | static_rand_mode ( bit on_off ) |
Public Attributes | |
| rand int | addr_width = 32; |
| rand int | attr_width = 8; |
| string | core_name = "MEMSERVER"; |
| rand int | data_width = 32; |
| bit | enable_memcore_xml_gen = 0; |
| string | fname = ""; |
| rand bit | is_4state = 0; |
| rand bit | is_ro = 0; |
| svt_xml_writer :: format_type_enum | pa_format_type |
Constraints | |
| constraint | mem_configuration_valid_ranges ( ) |
|
||||||||||||||
|
|
||||||||||
Used to limit a copy to the dynamic data members of the object.
| ||||||||||
|
|
||||||||||
Used to limit a copy to the dynamic data members of the object.
| ||||||||||
|
|
||||||
Simple utility used to convert 'bit [1023:0]' property value representation
into its equivalent string property value representation. Extended to support
decoding of enum values.
prop_name - The name of the property being encoded. prop_val_string - The string describing the value to be encoded. prop_val - The bit vector encoding of prop_val_string. typ - Optional field type used to help in the encode effort.
Return values - The enum value corresponding to the desc. | ||||||
|
|
||||||||||||
HDL Support: This method allocates a pattern containing svt_pattern_data
instances for all of the primitive data fields in the object. The
svt_pattern_data :: name is set to the corresponding field name, the
svt_pattern_data :: value is set to 0.
Return values - An svt_pattern instance containing entries for all of the data fields. | ||||||||||||
|
|
||||||||
Packs the object into the bytes buffer, beginning at offset. Only supports COMPLETE
pack so kind must be svt_data :: COMPLETE.
bytes - Buffer that will contain the packed bytes at the end of the operation. offset - Offset into bytes where the packing is to begin. kind - This int indicates the type of byte_pack being requested. Only supported kind value is svt_data :: COMPLETE, which results in all of the fields being packed and the return of an integer indicating the number of packed bytes. All other kind values result in no change to the buffer contents, and a return value of 0. | ||||||||
|
|
||||||||
Unpacks the object from the bytes buffer, beginning at offset. Only supports COMPLETE
unpack so kind must be svt_data :: COMPLETE.
bytes - Buffer containing the bytes to be unpacked. offset - Offset into bytes where the unpacking is to begin. len - Number of bytes to be unpacked. kind - This int indicates the type of byte_unpack being requested. Only supported kind value is svt_data :: COMPLETE, which results in all of the fields being unpacked and the return of an integer indicating the number of unpacked bytes. All other kind values result in no change to the buffer contents, and a return value of 0. | ||||||||
|
|
||||||||||||
Compares the object with to. Differences are placed in diff. Only
supported kind values are -1 and svt_data :: COMPLETE. Both values result
in a COMPLETE compare.
to - vmm_data object to be compared against. diff - String indicating the differences between this and to. kind - This int indicates the type of compare to be attempted. Only supported kind value is svt_data :: COMPLETE, which results in comparisons of the non-static data members. All other kind values result in a return value of 1. | ||||||||||||
|
|
||||||
|
|
||||
Simple utility used to convert string property value representation into its
equivalent 'bit [1023:0]' property value representation. Extended to support
encoding of enum values.
prop_name - The name of the property being encoded. prop_val_string - The string describing the value to be encoded. prop_val - The bit vector encoding of prop_val_string. typ - Optional field type used to help in the encode effort.
Return values - The enum value corresponding to the desc. | ||||
|
|
||||||||||
Returns the class name for the object used for logging.
| ||||||||||
|
|
||||||||||||
HDL Support: For read access to public data members of this class.
| ||||||||||||
|
|
||
Walk through the part catalog to select the proper part number and returns the
path to the configuration file.
catalog - The vendor part catalog that is to be used to find the part.
mem_package - Determines which package category to select the part number from.
mem_vendor - Determines which vendor category to selct the part number from.
part_name - Specifies the part name to load.
Return values - Indicates whether the load was a success. |
|
||||||||||||
CONSTRUCTOR: Create a new configuration instance, passing the appropriate argument
values to the vmm_data parent class.
log - Sets the log file that is used for status output.
suite_name - A String that identifies the product suite to which the configuration object belongs. | ||||||||||||
|
|
||||||||||
Method to turn reasonable constraints on/off as a block.
| ||||||||||
|
|
||||||||||||
HDL Support: For write access to public data members of this class.
| ||||||||||||
|
|
||||||||||
Method to turn static config param randomization on/off as a block.
| ||||||||||
|
|
|
Defines the number of address bits.
Must be less than or equal to `SVT_MAX_MEM_ADDR_WIDTH. |
|
|
Defines the number of user-defined attribute bits.
Must be less than or equal to `SVT_MAX_MEM_ATTR_WIDTH. |
|
|
Name of the mem_core used in C sparse array.
|
|
|
Defines the number of data bits.
Must be less than or equal to `SVT_MAX_MEM_DATA_WIDTH. |
|
|
Indicates whether XML generation is included for memcore operations. The resulting
file can be loaded in Protocol Analyzer to obtain a graphical presenation of the
memcore activity. Set the value to 1 to enable the memcore XML generation.
Set the value to 0 to disable the memcore XML generation.
|
|
|
Name of the file used to initialize the memory content.
If the value is "", then no file initialization will happen.
|
|
|
Memory is 4state if TRUE(1).
|
|
|
Memory is read-only if TRUE(1).
|
|
|
Determines in which format the file should write the transaction data.
A value 0 indicates XML format, 1 indicates FSDB and 2 indicates both XML and FSDB.
|
|
|
Keeps the randomized width from being zero
| |
constraint mem_configuration_valid_ranges {
data_width inside { [1: 1024] }; addr_width inside { [4: 64] }; attr_width inside { [0: 8] }; } |