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_configuration:
This class serves as the base class for APB configuration objects. Properties that are common to system configuration and slave configuration such as is_active are present in this class. Some of the important information provided by port configuration class is:
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_debug_feature_pattern ( ) |
| function void | copy_dynamic_data ( uvm_sequence_item to ) |
| function void | copy_static_data ( uvm_sequence_item to ) |
| 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 void | do_copy ( uvm_object rhs ) |
| 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 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_apb_configuration" ) |
| 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 | |
| int | amba_system_port_id = -1; |
| bit | check_valid_data_bytes_only_enable = 0; |
| bit | control_puser_enable = 0; |
| int | control_puser_width = SVT_APB_MAX_CONTROL_PUSER_WIDTH; |
| svt_apb_configuration :: idle_val_enum | data_idle_value |
| svt_amba_addr_mapper | dest_addr_mappers [] |
| bit | enable_xml_gen = 0; |
| bit | implement_each_xact_enable = 0; |
| bit | initialize_output_signals_at_start = 1'b0; |
| bit | is_active = 1; |
| format_type_enum | pa_format_type |
| bit | protocol_checks_coverage_enable = 0; |
| bit | protocol_checks_enable = 1; |
| bit | report_enable = 0; |
| svt_amba_addr_mapper | source_addr_mappers [] |
| bit | state_coverage_enable = 0; |
| bit | toggle_coverage_enable = 0; |
| bit | trace_enable = 0; |
| string | trace_file_name = ""; |
| bit | transaction_coverage_enable = 0; |
| bit | trans_apb_state_after_reset_deasserted_enable = 1; |
| bit | trans_apb_states_covered_enable = 1; |
| bit | trans_cross_master_to_slave_path_access_cov_enable = 0; |
| bit | trans_cross_write_pstrb_enable = 1; |
| bit | trans_cross_xact_type_address_enable = 1; |
| bit | trans_cross_xact_type_pprot_enable = 1; |
| bit | trans_cross_xact_type_pslverr_enable = 1; |
| bit | trans_cross_xact_type_wait_enable = 1; |
| bit | trans_four_state_err_resp_sequence_cov_enable = 1; |
| bit | trans_four_state_rd_wr_sequence_cov_enable = 1; |
| bit | trans_pslverr_signal_transition_enable = 1; |
| bit | trans_pstrb_addr_aligned_unaligned16_cov_enable = 1; |
| bit | trans_pstrb_addr_aligned_unaligned32_cov_enable = 1; |
| bit | trans_pstrb_addr_aligned_unaligned64_cov_enable = 1; |
| bit | trans_read_x_on_prdata_when_pslverr_enable = 1; |
| bit | unaligned_address_support = 0; |
| bit | use_pv_socket = 0; |
| bit | use_tlm_generic_payload = 0; |
Member Typedefs | |
| typedef enum | idle_val_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. | |
|
||||
Need to enable trace_enable, report_enable, and enable_xml_gen
| ||||
|
|
||||||||||
Used to limit a copy to the dynamic configuration members of the object.
| ||||||||||
|
|
||||||||||
|
|
||||||||||
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. | ||||||||||||
|
|
||||||||||
Compares the object with rhs..
rhs - Object to be compared against. | ||||||||||
|
|
||||||||||||||||
Extend the copy routine to copy the virtual interface
| ||||||||||||||||
|
|
||||||||||
Does a basic validation of this configuration 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. | ||||||||
|
|
||||||||||
Returns the class name for the object used for logging.
| ||||||||||
|
|
||||||||||||
HDL Support: For read access to public data members of this class.
| ||||||||||||
|
|
||||||
CONSTUCTOR: Create a new configuration instance, passing the appropriate argument values to the parent class.
name - Instance name of the configuration | ||||||
|
|
||||||
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.
| ||||||||||||
|
|
|
A unique ID assigned to master/slave port corresponding to this configuration. This ID must be unique across all AMBA components instantiated in the testbench. This is currently applicable only when the AMBA system monitor is used and is configured using a configuration plain text file (as opposed to a SystemVerilog code that sets the configuration).
|
|
|
Enables checking of pwdata only on valid byte lanes based on pstrb for the checks signal_valid_pwdata_check and pwdata_changed_during_transfer. In a disabled state, whole pwdata will be taken into consideration to perform the checks. Applicable only when svt_apb_system_configuration :: apb4_enable set to 1. .
|
|
|
Enables control_puser sideband signal in APB interface
|
|
|
Defines the width of control_puser sideband signal in APB interface. Default value of SVT_APB_MAX_CONTROL_PUSER_WIDTH is 5. width is user can configure the width using SVT_APB_MAX_CONTROL_PUSER_WIDTH macro
|
|
|
Used by the APB master, slave models. This configuration parameter controls the values during the IDLE period,data signals will take this value.
|
|
|
Address map that maps global address to a local address at destination Typically applicable to slave components Applicable only if svt_apb_system_configuration :: enable_complex_memory_map is set
|
|
|
Determines if Verdi Protocol Analyzer FSDB generation is enabled. type: Static
|
|
|
Enables to implement a new object for each transaction, instead of reuse the same one
|
|
|
Specifies whether output signals from master/slave IFs should be initialized to 0 asynchronously at 0 simulation time.
Default value: 0 |
|
|
Specifies if the agent is an active or passive component. Allowed values are:
|
|
|
Determines in which format the file should write the transaction data. Only following setting is supported: FSDB indicates FSDB format.
|
|
|
Enables coverage for protocol checking. In a disabled state, no protocol checks coverage is generated.
|
|
|
- Enables protocol checking. In a disabled state, no protocol violation messages (error or warning) are issued.
|
|
|
Determines whether transaction report information is generated in log file.
|
|
|
Address map that maps a local address to a global address at a source Typically applicable to master components. However, it can applicable to a slave component if that is connected downstream through another interconnect/bridge to components which are further downstream. Applicable only if svt_apb_system_configuration :: enable_complex_memory_map is set in the configuration
|
|
|
Enables state coverage of signals. State Coverage covers all possible states of a signal. type: Dynamic |
|
|
Enables coverage. Toggle Coverage gives us information on whether a bit toggled from 0 to 1 and back from 1 to 0. This does not indicate that every value of a multi-bit vector was seen, but measures if individual bits of a multi-bit vector toggled. This coverage gives information on whether a system is connected properly or not. type: Dynamic |
|
|
Determines whether transaction trace file generation is enabled.
|
|
|
- Applicable only when trace_enable is set to 1’b1.
|
|
|
Enables transaction level coverage. This parameter also enables delay coverage. Delay coverage is coverage on wait states. type: Dynamic |
|
|
Enables coverage group apb state after reset deasserted. type: Static
|
|
|
Enables coverage for covergroup trans_apb_states_covered. type: Static |
|
|
Enables APB transaction coverage group for APB master_to_slave_path_access type: Static |
|
|
Enables coverage group for cross coverage between WRITE transaction type and PSTRB. type: Static Only applicable when svt_apb_system_configuration :: apb4_enable is set. |
|
|
Enables coverage group for cross coverage between transaction type and address. type: Static |
|
|
Enables coverage group for cross coverage between transaction type and PPROT. type: Static Only applicable when svt_apb_system_configuration :: apb4_enable is set. |
|
|
Enables coverage group for cross coverage between transaction type and PSLVERR. type: Static |
|
|
Enables coverage group for cross coverage between transaction type and number of wait states. type: Static |
|
|
Enables coverage group for coverage of a ERR response for a sequence of four transactions type: Static |
|
|
Enables coverage group for coverage of a sequence of four transactions type: Static |
|
|
Enables coverage group for default low value of PSLVERR signal and valid transitions of PSLVERR signal i.e only goes high when PREADY and PENABLE are 1 type: Static |
|
|
Enables coverage group for coverage of if the RD/WR transfer is Aligned/Unaligned based on address and pstrb when pdata_width is 16bit type: Static Only applicable when svt_apb_system_configuration :: apb4_enable is set. |
|
|
Enables coverage group for coverage of if the RD/WR transfer is Aligned/Unaligned based on address and pstrb when pdata_width is 32bit type: Static Only applicable when svt_apb_system_configuration :: apb4_enable is set. |
|
|
Enables coverage group for coverage of if the RD/WR transfer is Aligned/Unaligned based on address and pstrb when pdata_width is 64bit type: Static Only applicable when svt_apb_system_configuration :: apb4_enable is set. |
|
|
Enables coverage group x on prdata when pslverr=1. type: Static |
|
|
This attribute controls the unaligned address support. Enabling this configuration provides the VIP support for Unaligned transfers.
|
|
|
In active mode, creates an AMBA-PV-compatible socket that can be used to connect APB Master VIP component to an AMBA-PV master model.
Enabling this functionality causes the instantiation of socket b_fwd of type uvm_tlm_b_target_socket in class svt_apb_master_agent. Generic payload transactions received through the forward b_fwd interface are executed on the tlm_generic_payload_sequencer in the agent. When this option is set, it implies that use_tlm_generic_payload is also set, whether it actually is or not. |
|
|
In active mode, creates a tlm_generic_payload_sequencer sequencer capable of generating UVM TLM Generic Payload transactions and connects the sequencer to it. The master sequencer starts a layering sequence that gets transactions from the tlm_generic_payload_sequencer, converts them to (one or more) APB transaction(s) and sends them to the driver.
APB transactions observed by the agent are also made available as TLM GP transactions through the tlm_generic_payload_observed_port in the monitor. Note that the TLM GP transactions issued through the analysis port may not match one to one with GP sequence items created by the tlm_generic_payload_sequencer because the GP sequence items may have to be mapped to multiple APB transactions according to protocol requirements. The TLM GP that is available through the tlm_generic_payload_observed_port of the monitor is a direct mapping of the observed APB transactions converted to a TLM GP. No attempt is made to re-assemble a set of APB transaction into a larger TLM GP.
The layering sequence that converts the TLM GP to APB transactions is the svt_apb_tlm_gp_to_apb_sequence and is available at $DESIGNWAREHOME/vip/svt/amba_svt/
In passive mode, observed APB transactions are made available as TLM GP transactions through the tlm_generic_payload_observed_port in the monitor.
|
|