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_ahb_transaction:
This is the transaction class which contains all the physical attributes of the transaction like address, burst type, burst size, data etc. At the end of each transaction, the master and slave VIP component provides extended object of type svt_ahb_transaction from its analysis ports in active and passive mode.
|
||||||||||
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 displayed in PA | ||||||||||
|
|
||
Returns calculated parity check value for address (HADDRCHK)
|
|
||
Returns calculated parity check value for user defined control (control_huserchk)
|
|
||
Returns calculated parity check value for data (HWDATACHK, HRDATACHK)
|
|
||
Returns calculated parity check value for user defined data (HWDATA_HUSERCHK, HRDATA_HUSERCHK)
|
|
||
Returns calculated parity check value for user defined response (resp_huserchk)
|
|
||
Returns calculated parity check value for write strobes (HWSTRBCHK)
|
|
||
Returns the beat address location with respect to WRAP boundary
|
|
||
Compares the contents of two data attributes when write strobes enabled. xact_data - A data array of the transaction under comparison data_size - Size of the data array xact_wstrb - A bit stream array of the wstrb which denotes active/inactive byte lanes. If xact_wstrb is 0, corresponding xact_data is not compared ref_data - A data array of the reference data to which xact_data must be compared. Return values - Returns 1 if the comparison passed, else returns 0. |
|
||||||
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. | ||||||||||||
|
|
||||||||||||||
|
|
||||||||||||
Checks to see that the data field values are valid, focusing mainly on checking/enforcing valid_ranges constraint.
silent - If 1, no messages are issued by this method. If 0, error messages are issued by this method. kind - Supported kind values are svt_sequence_item_base :: RELEVANT and svt_sequence_item_base :: COMPLETE. If kind is set to svt_sequence_item_base :: RELEVANT, this method performs validity checks only on relevant fields. Typically, these fields represent the physical attributes of the protocol. If kind is set to svt_sequence_item_base :: COMPLETE, this method performs validity checks on all fields of the class. | ||||||||||||
|
|
||||
This virtual method is used to enable/disable the trace capability. The base class implementation always returns 0, indicating that this feature is disabled. Extended classes wishing to support this feature must consider whether this feature should always be enabled, be enabled for all instances of the extended class, or enabled on a per instance basis. This method, and any supporting data fields, etc., in the extended class should be implemented in accordance with these decisions.
| ||||
|
|
||||||
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 hbstrb generated for the address provided
|
|
||
Returns the address and lanes corresponding to the beat number
|
|
||
Returns the active data byte lanes corresponding to the beat number, beat address
|
|
||
Returns the burst length based on burst_type
|
|
||
Returns the total number of bytes transferred in this transaction Return values - The total number of bytes transferred in this transaction |
|
||||||||||
Returns the class name for the object.
| ||||||||||
|
|
||||
Gets the maximum byte address which is addressed by this transaction
convert_to_global_addr - Indicates if the min and max address of this transaction must be translated to a global address before checking for overlap convert_to_slave_addr - Indicates whether the address should be converted to a slave address requester_name - Name of the master component from which the transaction originated Return values - Maximum byte address addressed by this transaction | ||||
|
|
||||
Gets the minimum byte address which is addressed by this transaction
convert_to_global_addr - Indicates if the min and max address of this transaction must be translated to a global address before checking for overlap convert_to_slave_addr - Indicates whether the address should be converted to a slave address requester_name - Name of the master component from which the transaction originated Return values - Minimum byte address addressed by this transaction | ||||
|
|
||||||||||||
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. | ||||||||||||
|
|
||
Returns calculated parity value for 16 bits of data
|
|
||
Returns calculated parity value for 8 bits of data
|
|
||||||||||||
HDL Support: For read access to public data members of this class.
| ||||||||||||
|
|
||
This method returns the number of times this transaction has an associated RETRY response. num_retry_responses - Number of RETRY responses that the transaction has beats_with_retry_response - Array of beat numbers with the RETRY response |
|
||||
|
|
||
Returns the index (of data or wstrb fields) corresponding to the wrap boundary
|
|
||
Returns 1 if the transfer is sparse based on the byte stobe values and returns 0 if address is not sparse Eg: For a SINGLE burst with beat_bstrb[0] = 0111_1000 with 64-BIT burst size, since all the byte lanes are not active, this can be considered as a sparse transfer.
|
|
||
Returns 1 if address is unaligned and returns 0 if address is aligned
|
|
||
Returns 1, If the error injection configuration for given parity check signal in the svt_ahb_transaction :: user_inject_parity_signal_array is enabled, else returns 0.
|
|
||||||||||||||||
CONSTRUCTOR: Create a new transaction instance, passing the appropriate argument values to the parent class.
name - Instance name of the transaction | ||||||||||||||||
|
|
||
Returns the data in the data_to_pack[] field as a byte stream based on the burst_type. The assumption is that either data[] or cache_write_data[] fields of this class have been passed as arguments to data_to_pack[] field. In the case of WRAP bursts the data is returned such that packed_data[0] corresponds to the data for the wrap boundary. In the case of INCR bursts, the data as passed in data_to_pack[] is directly packed to packed_data[]. data_to_pack - Data to be packed packed_data - [] Output byte stream with packed data |
|
||
Returns the wstrb in the wstrb_to_pack[] field as a byte stream based on the burst_type. In the case of WRAP bursts the wstrb is returned such that packed_wstrb[0] corresponds to the wstrb for the wrap boundary. In the case of INCR bursts, the wstrb as passed in wstrb_to_pack[] is directly packed to packed_wstrb[]. wstrb_to_pack - wstrb to be packed packed_wstrb - [] Output byte stream with packed wstrb |
|
||||
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.
| ||||||||||
|
|
||||
Called when rebuilding of a transaction is required start_addr - Starting address for the rebuild transaction | ||||
|
|
||||||||||||
HDL Support: For write access to public data members of this class.
| ||||||||||||
|
|
||
Returns 1 if the transfer crosses the byte boundary and returns 0 if transfer does not cross byte boundary This function determines if the transfer is unaligned, whether splitting the transfer is required based on the data width and remaining byte lanes available to access. Eg: If a 32-BIT SINGLE burst transfer with address 0x1003 is driven on 64-BIT data width, even the transfer is unaligned, the transfer can be proceeded in one transfer without splitting transfer based on the unaligned address.
|
|
|
Represents whether transaction got aborted due to reset or not.
|
|
|
The maximum width of this signal is controlled through macro SVT_AHB_MAX_ADDR_WIDTH. Default value of this macro is 64. To change the maximum width of this variable, user can change the value of this macro. Define the new value for the macro in file svt_ahb_user_defines.svi, and then specify this file to be compiled by the simulator. Also, specify +define+SVT_AHB_INCLUDE_USER_DEFINES on the simulator compilation command line. Please consult User Guide for additional information, and consult VIP example for usage demonstration. The SVT_AHB_MAX_ADDR_WIDTH macro is only used to control the maximum width of the signal. |
|
|
This array variable stores the resp_huser (HBUSER) user response signal values for all the completed beats of transaction.
|
|
|
This array variable stores the responses for all the completed beats of transaction. Following are the possible response types
|
|
|
The variable represents configuration for parity value generation. When the value is set to '1', VIP generates the parity values for corresponding check signals and drives them. When the value is set to '0', and respective parity signal index are set to '1' in the user_inject_parity_signal_array, VIP drives the parity values provided by the user. Default Value : 1. |
|
|
Represents the current status of the transaction. Following are the possible status types.
|
|
|
Represents the burst size of a transaction
|
|
|
Represents the burst type of a transaction
|
|
|
Applicable only for master in ACTIVE mode. If this transaction was generated from a UVM TLM Generic Payload, this member indicates the GP from which this AHB transaction was generated
|
|
|
Reference to ahb configuration
|
|
|
AHB control sideband signal. The maximum width of this signal is controlled through macro SVT_AHB_MAX_USER_WIDTH. Default value of this macro is 32. To change the maximum width of this variable, user can change the value of this macro. Define the new value for the macro in file svt_ahb_user_defines.svi, and then specify this file to be compiled by the simulator. Also, specify +define+SVT_AHB_INCLUDE_USER_DEFINES on the simulator compilation command line. Please consult User Guide for additional information, and consult VIP example for usage demonstration. The SVT_AHB_MAX_USER_WIDTH macro is only used to control the maximum width of the signal. |
|
|
The variable holds the value for control_huserchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
Indicates the beat number of the current transfer. For the first beat (transfer type NSEQ) of the transaction, the value of current_data_beat_num would be 0. For subsequent beats (transfer type SEQ), the value would be incremented. This member is populated by the VIP.
|
|
|
MASTER in active mode:
For write transactions this variable specifies write data to be driven on the HWDATA bus. SLAVE in active mode: For read transactions this variable specifies read data to be driven on the HRDATA bus. PASSIVE MODE: This variable stores the write or read data as seen on HWDATA or HRDATA bus.
APPLICABLE IN ALL MODES: The maximum width of this signal is controlled through macro SVT_AHB_MAX_DATA_WIDTH. Default value of this macro is 64. To change the maximum width of this variable, user can change the value of this macro. Define the new value for the macro in file svt_ahb_user_defines.svi, and then specify this file to be compiled by the simulator. Also, specify +define+SVT_AHB_INCLUDE_USER_DEFINES on the simulator compilation command line. Please consult User Guide for additional information, and consult VIP example for usage demonstration. |
|
|
This variable represents the data check parity bits with respect to valid data. It consists of a bit for each data byte in the transaction data. Each bit of parity check data is calculated from every 8bit of data. Active Manager: In case of Read type transactions, the parity value seen in the hrdatachk channel is stored in this attribute. Active Subordinate: In case of Write type transactions, the parity value received in the hwdatachk is stored in this attribute. Passive components: Parity value observed in the read or write data will be stored in this attribute. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
Currently, this feature AHB Data sideband signal is supported only in Master and Slave active mode MASTER in active mode: For write transactions this variable specifies write data to be driven on the hwdata_huser bus corresponding to all the beats. SLAVE in active mode: For read transactions this variable holds the read data to be driven on the hrdata_huser bus corresponding to all the beats the user has to program beat_data_huser for current data beat For example: In ahb_slave_random_response_sequence, program the beat_data_huser for current data beat as below `svt_xvm_rand_send_with(req, { beat_data_huser == 64'h0000_0000_DEAD_BEAF; }) PASSIVE MODE: Not yet supported APPLICABLE IN ALL MODES: The maximum width of this signal is controlled through macro SVT_AHB_MAX_DATA_USER_WIDTH. Default value of this macro is 64. To change the maximum width of this variable, user can change the value of this macro. 1) Define the new value for the macro in file svt_ahb_user_defines.svi, and then specify this file to be compiled by the simulator. 2)Specify +define+SVT_AHB_INCLUDE_USER_DEFINES on the simulator compilation command line. Please consult User Guide for additional information, and consult VIP example for usage demonstration. The SVT_AHB_MAX_DATA_USER_WIDTH macro is only used to control the maximum width of the signals hwdata_huser and hrdata_huser. |
|
|
Represents the status of exclusive monitor. Following are the possible status types:
A combination of excl_access_status and excl_mon_status can be used to determine the reason for failure of exclusive store. This attribute is applicable to both read and write exclusive transactions. This attribute is programmed to 'EXCL_MON_RESET' on completion of the exclusive transactions. It is programmed to 'EXCL_MON_SET' only if the exclusive read is successful else it is marked as 'EXCL_MON_RESET'. |
|
|
hexokay is the exclusive response from the slave.
|
|
|
hexcl is used for exclusive transfer indication
|
|
|
hmaster is used for exclusive capable thread indication
|
|
|
This enum represents the value for conditions under which the exclusive transactions are failed. Conditions are based on the values of excl_mon_status and excl_response_type. Combination of these attributes causes the transaction to fail.
Following are the possible status types:
|
|
|
The variable holds the value for haddrchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
The variable holds the value for hctrlchk1 signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
The variable holds the value for hctrlchk2 signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
The variable holds the value for hprotchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
The variable holds the value for hrdatachk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
The variable holds the value for hrdata_huserchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
The variable holds the value for hreadychk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
The variable holds the value for hready_inchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
The variable holds the value for hrespchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
The variable holds the value for hselchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
The variable holds the value for htranschk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
The variable holds the value for hwdatachk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
The variable holds the value for hwdata_huserchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
The variable holds the value for hwstrbchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
Represents the hwrite signal value when svt_ahb_transaction :: xact_type is svt_ahb_transaction :: IDLE_XACT. This is applicable only for active master. |
|
|
This variable indicates whether the data check parity error is detected in the transaction. This bit is set to 1, if parity error is deducted in a transaction. By default, this is set to 0. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
This variable represents the data check parity error bits with respect to valid data. Each bit of parity check data is calculated from every 8bit of data with 1bit of datachk. By default, all bits are set to 'b1, if any parity error is detected the that particular bit is set to 0. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
Lock control
|
|
|
When a multi-layer interconnect component is used in a multi-master system, it can terminate a burst so that another master can gain access to the slave The slave must terminate the burst from the original master and then respond appropriately to the new master if this occurs. This variable indicates burst terminated at Slave VIP when svt_ahb_system_configuration :: ahb_lite_multilayer is '1' This is set to '1', when termination of burst occurs. Slave VIP also updates the svt_ahb_transaction :: status as ABORTED. If svt_ahb_slave_configuration :: rebuild_after_multilayer_interconnect_termination is set to '1', the slave VIP waits for the rebuilding of the aborted transaction. The variable or the Multilayer Interconnect Termination feature is supported only at slave end.
|
|
|
hnonsec is used for secure transfer indication
|
|
|
Number of busy cycles to be inserted after every beat except for last beat. In case of INCR burst, number of busy cycles can be inserted after the last beat. This can be achieved by setting svt_ahb_configuration :: end_incr_with_busy is '1' along with svt_ahb_system_configuration :: ahb3 is 1 and svt_ahb_system_configuration :: ahb_lite is 1
|
|
|
Number of beats in a INCR burst.
|
|
|
Number of wait states inserted by slave for given transfer. This member is used to report the number of wait cycles observed for each beat. This member is populated by VIP in the object provided by master & slave models at the end of the transaction, in active & passive mode.
|
|
|
Variable that holds the object_num of this transaction. VIP assigns a unique number to each transaction it generates from analysis port. This number is also used by the debug port of the VIP, so that transaction number can be displayed in waveform. This helps in ease of debug as it helps to correlate the transaction displayed in log file and in the waveform.
|
|
|
|
Represents port ID.
|
|
|
prot[0] is used for Data Access control
|
|
|
prot[1] is used for Privileged Access control
|
|
|
prot[2] is used for Bufferable access control
|
|
|
prot[3] is used for Modifiable Access control when hprot is extended
|
|
|
prot[3] is used for Cacheable access control
|
|
|
prot[4] is used for Cache Lookup control when hprot is extended
|
|
|
prot[4] is used for Cache allocate control for AHB_v6 only.
|
|
|
prot[5] is used for Cache allocate control when hprot is extended
|
|
|
prot[5] is used for exclusive access support for AHB-V6 only. Exclusive access functionality is not supported yet.
|
|
|
prot[6] is used for Shareable Memory access when hprot is extended
|
|
|
The variable holds the value for resp_huserchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.
|
|
|
Response from the slave. This attribute indicates the response corresponding to most recently completed beat
|
|
|
Attribute for AHB user response sideband signal support.
|
|
|
Represents the current status of the transaction. Following are the possible status types.
|
|
|
Indicates the type of the current transfer, which can be NONSEQUENTIAL, SEQUENTIAL, IDLE, or BUSY. This member is populated by the VIP.
|
|
|
This is parameter that is used to define the hunalign value for a particular burst_type.
|
|
|
The array holds the enable/disable configuration values for user inject parity support.
Set svt_ahb_transaction :: auto_parity_gen_enable to '0' and user_inject_parity_signal_array[HADDRCHK_EN] = 1. |
|
|
Array of Write strobes which denotes the active/inactive byte lanes in a write transfer when Write_Strobes property is enabled in AHB5 mode.
The mapping of write strobes to data bus is fixed and is not dependent on endianness of the access. Eg : HWSTRB mapping for the write data bus of 64-BIT HWSTRB[0] applies to HWDATA[7:0] HWSTRB[1] applies to HWDATA[15:8] HWSTRB[2] applies to HWDATA[23:16] HWSTRB[3] applies to HWDATA[31:24] HWSTRB[4] applies to HWDATA[39:32] HWSTRB[5] applies to HWDATA[47:40] HWSTRB[6] applies to HWDATA[55:48] HWSTRB[7] applies to HWDATA[63:56] When wstrb[0] == 8'b1111_1001, byte lanes 1 and 2 are inactive while byte lanes 0, 3, 4, 5, 6, 7 are active. For READ transfers, as per recommendation in the specification, write strobes are deasserted to avoid any confusion. |
|
|
Represents the transaction type of a transaction
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|