How to download VIP smartsearch?
DESIGNWARE_HOMEto required designware home location where VIP Smartsearch should be downloaded.
vip_smartsearch_<version>.runfile.
$DESIGNWARE_HOME/vip/svt/vip_smartsearch/<version>
How to install VIP Smartsearch?
Please refer to the fileVIP_Smartsearch_installation_and_usage_guide.pdfin
$DESIGNWARE_HOME/vip/svt/vip_smartsearch/<version>for installation steps.
Customer Support
For more details about VIP smartsearch tool, contact support_center@synopsys.com.Inheritance diagram for class svt_apb_transaction:
This is the transaction class which contains all the physical attributes of the transaction like address and data. It also provides the wait state information of the transaction.
Class Member Groupings | |
| APB5 protocol attributes | This group contains attributes which are relevant to APB5 protocol. As of now User signaling is added. |
Public Member Functions | |
| function svt_pattern | allocate_xml_pattern ( ) |
| 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 bit | do_compare ( uvm_object rhs, uvm_comparer comparer ) |
| 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 void | generate_pstrb ( input int data_width ) |
| function bit [SVT_APB_MAX_ADDR_WIDTH-1:0] | get_aligned_addr ( bit [SVT_APB_MAX_ADDR_WIDTH-1:0] addr, int data_wdth ) |
| function bit [SVT_APB_MAX_DATA_WIDTH/8-1:0] | get_byteen_for_unaligned_addr ( bit [SVT_APB_MAX_ADDR_WIDTH-1:0] aligned_addr, int data_wdth ) |
| function string | get_mcd_class_name ( ) |
| function svt_pa_object_data | get_pa_obj_data ( string uid = "", string typ = "", string parent_uid = "", string channel = "" ) |
| 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 string | get_uid ( ) |
| function void | new ( string name = "svt_apb_transaction" ) |
| function string | psdisplay_short ( string prefix = "", bit hdr_only = 0 ) |
| function int | reasonable_constraint_mode ( bit on_off ) |
| function bit | set_prop_val ( string prop_name, bit [1023:0] prop_val, int array_ix ) |
Public Attributes | |
| rand bit [SVT_APB_MAX_ADDR_WIDTH-1:0] | address = 0; |
| rand bit [SVT_APB_MAX_CONTROL_PUSER_WIDTH-1:0] | control_puser = 0; |
| svt_apb_transaction :: xact_state_enum | curr_state |
| rand bit [SVT_APB_MAX_DATA_WIDTH-1:0] | data = 0; |
| rand int | num_idle_cycles = 1; |
| rand int | num_wait_cycles = 0; |
| rand svt_apb_transaction :: physical_mem_region_enum | physical_mem_region |
| rand svt_apb_transaction :: pprot0_enum | pprot0 |
| rand svt_apb_transaction :: pprot1_enum | pprot1 |
| rand svt_apb_transaction :: pprot2_enum | pprot2 |
| rand bit | pslverr_enable = 0; |
| rand bit [SVT_APB_MAX_DATA_WIDTH/8-1:0] | pstrb = 'hf; |
| int | slave_id |
| rand svt_apb_transaction :: xact_type_enum | xact_type |
Member Typedefs | |
| typedef enum | physical_mem_region_enum |
| typedef enum | pprot0_enum |
| typedef enum | pprot1_enum |
| typedef enum | pprot2_enum |
| typedef enum | xact_state_enum |
| typedef enum | xact_type_enum |
Constraints | |
| constraint | valid_ranges ( ) |
Class Member Groupings | |
Group: APB5 protocol attributes | |
| This group contains attributes which are relevant to APB5 protocol. As of now User signaling is added. | |
|
||||||||
allocate_xml_pattern method collects all the fields which are primitive data fields of the transaction and filters the filelds to get only the fileds 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 name is set to the corresponding field name, the value is set to 0.
Return values - An svt_pattern instance containing entries for all of the data fields. | ||||||||||||
|
|
||||||||||||||
|
|
||||||||||||
Does a basic validation of this transaction object
| ||||||||||||
|
|
||||||
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. | ||||||
|
|
||
Generate PSTRB (Write Strobes) for the address with respect to the data width. Applicable for APB4 only.
|
|
||
Calculate the aligned address for the provided unaligned address with respect to the data width.
|
|
||
Generate byteen for write transactions based on the unaligend address for slave memory updates.
|
|
||||||||||
Returns the class name for the object used for logging.
| ||||||||||
|
|
||||||||||||
This method returns PA object which contains the PA header information for XML or FSDB.
uid - Optional string indicating the unique identification value for object. If not provided uses the 'get_uid' method to retrieve the value. typ - Optional string indicating the 'type' of the object. If not provided uses the type name for the class. parent_uid - Optional string indicating the UID of the object's parent. If not provided the method assumes there is no parent. channel - Optional string indicating an object channel. If not provided the method assumes there is no channel.
Return values - The requested object block description. | ||||||||||||
|
|
||||||||||||
HDL Support: For read access to public data members of this class.
| ||||||||||||
|
|
||||||||||
This method returns a string indication unique identification value for object .
| ||||||||||
|
|
||||||||||||||
CONSTUCTOR: Create a new transaction instance, passing the appropriate argument values to the parent class.
name - Instance name of the transaction | ||||||||||||||
|
|
||||||||||
Returns a string (with no line feeds) that reports the essential contents of the packet generally necessary to uniquely identify that packet.
prefix - (Optional: default = "") The string given in this argument becomes the first item listed in the value returned. It is intended to be used to identify the transactor (or other source) that requested this string. This argument should be limited to 8 characters or less (to accommodate the fixed column widths in the returned string). If more than 8 characters are supplied, only the first 8 characters are used. hdr_only - (Optional: default = 0) If this argument is supplied, and is '1', the function returns a 3-line table header string, which indicates which packet data appears in the subsequent columns. If this argument is '1', the prefix argument becomes the column label for the first header column (still subject to the 8 character limit). | ||||||||||
|
|
||||||||||
Method to turn reasonable constraints on/off as a block.
| ||||||||||
|
|
||||||||||||
HDL Support: For write access to public data members of this class.
| ||||||||||||
|
|
|
Payload address.
This property is non-rand for slave transactions. |
|
|
This property allows user to send sideband information on APB interface signal control_puser
|
|
|
This member reflects the current state of the transaction. This member is updated by the VIP. After user gets access to the transaction object handle, user can track the transaction progress using this member. This member reflects whether transaction is in IDLE state, SETUP state, ACCESS state or ABORTED state.
|
|
|
Payload data.
This property is rand for both master and slave transactions. |
|
|
If this is an idle transaction, define the number of cycles idle.
This property is non-rand for slave transactions. |
|
|
Number of wait cycles that the slave injects
This property is non-rand for master transactions. Only applicable when svt_apb_system_configuration :: apb3_enable or svt_apb_system_configuration :: apb4_enable is set. |
|
|
This variable represents targeted physical memory region, and determines pnse/pprot1 values. APB_SECURE: pnse=0, pprot=0, applicable in APB4 APB_NON_SECURE: pnse=0, pprot=1, applicable in APB4 APB_ROOT: pnse=1, pprot=0, only applicable in APB5 APB_REALM: pnse=1, pprot=1, only applicable in APB5 Only applicable when svt_apb_system_configuration :: apb4_enable, or svt_apb_system_configuration :: apb4_enable and svt_apb_system_configuration:apb5_enable and svt_apb_configuration:rme_support are set.
|
|
|
prot[0] value
This property is non-rand for slave transactions. Only applicable when svt_apb_system_configuration :: apb4_enable is set. |
|
|
prot[1] value
This property is non-rand for slave transactions. This variable is determined by svt_apb_transaction :: physical_mem_region. Only applicable when svt_apb_system_configuration :: apb4_enable is set. |
|
|
prot[2] value
This property is non-rand for slave transactions. Only applicable when svt_apb_system_configuration :: apb4_enable is set. |
|
|
On Slave side, this member is used to inject slave error response.
APB Slave VIP drives error response when this member is set to 1 in APB Slave transaction. On Master side, this member is used to report whether master received error response. If APB Master VIP receives error response from slave, this member is set to 1 in APB Master transaction. This property is non-rand in APB Master transaction. Only applicable when svt_apb_system_configuration :: apb3_enable or svt_apb_system_configuration :: apb4_enable is set. |
|
|
Write strobe values
This property controls which bytes are written to memory. This property is non-rand for slave transactions. Only applicable when svt_apb_system_configuration :: apb4_enable is set. |
|
|
Value identifies which slave index this transaction was received on
|
|
|
Defines whether this is a write or read transaction, or an idle transaction.
This property is rand for master transactions, and non-rand for slave transactions. |
|
|
|
|
|
|