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 void | copy_dynamic_data ( uvm_sequence_item to ) |
| function void | copy_static_data ( uvm_sequence_item to ) |
| function void | create_sub_configurations ( ) |
| function svt_pattern | do_allocate_pattern ( ) |
| function bit | do_compare ( uvm_object rhs, uvm_comparer comparer ) |
| function void | do_pack ( uvm_packer packer ) |
| function void | do_sub_obj_copy_create ( uvm_object rhs ) |
| function void | do_unpack ( uvm_packer packer ) |
| 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_sequence_item_base data_obj ) |
| function void | new ( string name = "svt_mem_suite_configuration", 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. | ||
|
|
|
||||||||||
|
|
||||||||
Pack the dynamic objects and object queues as the default uvm_packer/ovm_packer
cannot create objects dynamically on the unpack.
| ||||||||
|
|
||
Utility method used to populate sub cfgs and status.
rhs - Source object to use as the basis for populating the master and slave cfgs. |
|
||||||||
Unpack the dynamic objects and object queues as the default uvm_packer/ovm_packer
cannot create objects dynamically on the unpack.
| ||||||||
|
|
||||||||
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 parent class.
name - Instance name of the configuration
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; } |