Inheritance diagram for class svt_traffic_profile_transaction:
Generic class that models a traffic profile. Only parameters which are generic across all protocols are encapsulated here. Protocol specific parameters must be specified in an extended class.
|
||||
allocate_xml_pattern method collects all the fields which are primitive data fields of the transaction and filters the fields to get only the fields to be displayed in the PA.
Return values - An svt_pattern instance containing entries for required fields to be dispalyed in PA | ||||
|
|
||||||
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. | ||||||
|
|
||||||
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. | ||||||
|
|
||||||||
|
|
||||||||||
Extend the copy method to take care of the transaction fields and cleanup the exception xact pointers.
rhs - Source object to be copied. | ||||||||||
|
|
||||||
Checks to see that the data field values are valid, focusing mainly on checking/enforcing valid_ranges constraint. Only supported kind values are -1 and svt_sequence_item_base :: COMPLETE. Both values result in the same check of the fields.
| ||||||
|
|
||||||
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.
| ||||||
|
|
||||||
CONSTRUCTOR: Create a new traffic profile 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. | ||||||
|
|
||||
Method to turn reasonable constraints on/off as a block.
| ||||
|
|
||||||
HDL Support: For write access to public data members of this class.
| ||||||
|
|
|
Indicates the type of address generation If set to sequential, a sequential range of address value starting from base_addr will be used. If set to twomin, a two dimensional address pattern is used. Check description of properties below for details. If set to random, random values between base_addr and base_addr+addr_xrange-1 is used. Values will be chosen such that all the valid paths to slaves from this master are covered.
|
|
|
Valid if addr is twodim. This determines the offset of each new row
|
|
|
Valid if addr is twodim. After a transaction uses address specified by (base_addr + addr_twodim_yrange - addr_twodim_stride + addr_twodim_xrange 1), the next transaction uses address specified by base_addr.
|
|
|
Address range to be used for various address patterns. If addr is sequential, sequential addressing is used from base_addr until it reaches base_addr + addr_xrange - 1, upon which the next transaction will use base_addr as the address. If addr is twodim, after a transaction uses address specified by (base_addr + addr_xrange - 1), the next transaction uses address specified by (base_addr + addr_twodim_stride). This pattern continues until addr_twodim_yrange is reached. If addr is random, base_addr + addr_xrange 1 indicates the maximum address that can be generated
|
|
|
The base address to be used for address generation
|
|
|
Indicates whether fixed, cycle or random data is to be used for transactions. If set to fixed, a fixed data value as indicated in data_min is used. If set to cycle, a range of data values is cycled through from data_min to data_max. If set to random, a random data value is used between data_min and data_max.
|
|
|
The upper bound of data value to be used. Valid if data is set to cycle
|
|
|
The lower bound of data value to be used. Valid if data is set to cycle
|
|
|
Applicable if any of the output_event_type is FRAME_SIZE. Indicates the number of bytes after which the corresponding output_event must be triggered. The event is triggered after every frame_size number of bytes are transmitted.
|
|
|
Applicable if any of the output_event_type is FRAME_TIME. Indicates the number of cycles after which the corresponding output_event must be triggered. The event is triggered after every frame_time number of cycles
|
|
|
The name of the group in the traffic profile corresponding to this configuration
|
|
|
The sequence number of the group in the traffic profile corresponding to this configuration
|
|
|
Name of input events based on which this traffic profile will will start. The traffic profile will start if any of the input events are triggered. The names given in this variable should be associated with the output event of some other profile, so that this traffic profile will start based on when the output event is triggered.
|
|
|
Event pool for input events
|
|
|
Name of output events triggered from this traffic profile at pre-defined points which are specified in output_event_type. The names given in this variable should be associated with the input event of some other profile, which will will start based on when the output event is triggered.
|
|
|
Event pool for output events
|
|
|
Indicates the pre-defined points at which the output events given in output_event must be triggered If set to END_OF_PROFILE, the output event is triggered when the last transaction from the profile is complete If set to END_OF_FRAME_TIME, the output event is triggered every frame_time number of cycles If set to END_OF_FRAME_SIZE, the output event is triggered after every frame_size number of bytes are transmitted
|
|
|
Name of the profile
|
|
|
Configuration for rate control in READ FIFO.
|
|
|
Utility class for performing FIFO based rate control for READ transactions
|
|
|
Full Name of the sequencer instance on which this profile is to run This name must match the full hierarchical name of the sequencer
|
|
|
Name of the sequencer on which this profile is to run This can be a proxy name and need not match the actual name of the sequencer
|
|
|
Number of Transactions in a sequence.
|
|
|
Configuration for rate control in WRITE FIFO.
|
|
|
Utility class for performing FIFO based rate control for WRITE transactions
|
|
|
The total number of bytes transferred in each transaction Applicable only for non-cache line size transactions. For cache-line size transactions, it is defined by the protocol and corresponding VIP constraints
|
|
|
|
|
|
|
constraint reasonable_data_val {
data_max >= data_min; } |
|
|
constraint valid_ranges {
frame_time > 0; frame_time < 4096; frame_size >= xact_size; // Transaction size for one transaction frame_size <= 4096; total_num_bytes > 0; total_num_bytes <= 4096; } |