Inheritance diagram for class svt_mem_suite_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 void | create_sub_configurations ( ) |
| function svt_pattern | do_allocate_pattern ( ) |
| function bit | do_compare ( vmm_data to, output string diff, input int kind ) |
| function vmm_data | do_sub_obj_copy_create ( vmm_data to = null ) |
| 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 void | new ( vmm_log log = null, string suite_name = "" ) |
| function void | pre_randomize ( ) |
| 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 ) |
Class Parameters | |
| type | MRC = svt_configuration; |
| type | TC = svt_configuration; |
Public Attributes | |
| rand int unsigned | bank_addr_width |
| rand int unsigned | chip_select_addr_width |
| rand int unsigned | cmd_addr_width |
| rand int unsigned | column_addr_width |
| rand int unsigned | data_mask_width |
| rand int unsigned | data_strobe_width |
| rand MRC | mode_register_cfg |
| rand int unsigned | num_data_bursts |
| rand int unsigned | prefetch_length |
| rand int unsigned | row_addr_width |
| rand TC | timing_cfg |
Constraints | |
| constraint | mem_suite_configuration_valid_ranges ( ) |
| constraint | reasonable_data_mask_width ( ) |
|
||||||||||||
|
|
||||||||
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.
| ||||||||
|
|
||||
Constructs the timing_cfg and mode_register_cfg sub-configuration classes.
| ||||
|
|
||||||||||
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. | ||||||||||
|
|
||||||||||
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. | ||||||||||
|
|
||
Utility method used to populate sub cfgs and status.
to - Destination class to be populated based on this operation |
|
||||||||
Returns the class name for the object used for logging.
| ||||||||
|
|
||||||||||
HDL Support: For read access to public data members of this class.
| ||||||||||
|
|
||||||||||
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. | ||||||||||
|
|
||
Constructs the timing and mode register sub-configuration classes
|
|
||||||||
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.
| ||||||||
|
|
|
|
|
Width of the bank select portion of the logical address
|
|
|
Width of the chip select portion of the logical address
|
|
|
Width of the command address
|
|
|
Width of the column select portion of the logical address
|
|
|
Width of the data mask
|
|
|
Width of the data strobe
|
|
|
Mode Register configuration class
|
|
|
Number of data bursts supported
|
|
|
Prefetch length
|
|
|
Width of the row select portion of the logical address
|
|
|
Timing configuration class
|
|
|
Valid ranges constraints keep the values with usable values.
| |
constraint mem_suite_configuration_valid_ranges {
bank_addr_width <= 64; row_addr_width <= 64; column_addr_width <= 64; chip_select_addr_width <= 64; bank_addr_width + row_addr_width + column_addr_width + chip_select_addr_width <= addr_width; data_mask_width <= 1024; data_strobe_width <= 1024; } |
|
|
Makes sure that the data_mask_width is greater than 0.
| |
constraint reasonable_data_mask_width {
data_mask_width > 0; } |