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_axi_master:
This class is OVM Driver that implements an AXI Master component.
Public Member Functions | |
| function void | build ( ) |
| function bit | get_ids_used_by_active_master_transactions ( output bit [SVT_AXI_MAX_ID_WIDTH-1:0] id_list[$], output bit is_idunq, input string mode, input int rw_type, input bit use_min_width, input bit silent ) |
| function int | get_number_of_outstanding_master_transactions ( bit silent = 1 ) |
| virtual function ovm_object_wrapper | get_object_type ( ) |
| function int | get_outstanding_master_transactions ( bit silent = 1, output svt_axi_master_transaction actvQ[$] ) |
| static function type_id | get_type ( ) |
| virtual function string | get_type_name ( ) |
| function void | new ( string name, ovm_component parent ) |
| function void | reconfigure ( svt_configuration cfg ) |
| function void | report ( ) |
| task | run ( ) |
| function void | set_common ( svt_axi_common common ) |
| function void | set_shared_status ( svt_axi_status shared_status ) |
| task | wait_for_out_of_reset ( int mode = 0 ) |
Public Attributes | |
| svt_axi_cache | axi_cache |
| ovm_event | EVENT_TX_READ_XACT_STARTED |
| ovm_event | EVENT_TX_WRITE_XACT_STARTED |
| ovm_event | EVENT_TX_XACT_CONSUMED |
| ovm_event | EVENT_TX_XACT_ENDED |
| ovm_seq_item_pull_port | snoop_seq_item_port |
| static const string | type_name = "svt_axi_master"; |
| ovm_blocking_put_port | vlog_cmd_put_port |
Protected Member Functions | |
| function void | associate_xact_to_barrier_pair ( svt_axi_master_transaction xact, svt_axi_barrier_pair_transaction barrier_pair_xact[$] ) |
| function void | modify_computed_parity_value ( string signal_context = "", string parity_signal = "", ref bit calculated_parity_signal_val ) |
| function void | post_cache_update ( svt_sequence_item_base xact ) |
| function void | post_input_port_get ( svt_axi_transaction xact, ref bit drop ) |
| function void | post_memory_update_xact_gen ( svt_axi_transaction xact ) |
| function void | post_service_input_port_get ( svt_axi_service xact, ref bit drop ) |
| function void | post_snoop_input_port_get ( svt_axi_master_snoop_transaction xact, ref bit drop ) |
| function void | post_vip_randomized_xact_id_update ( ref int device_id_queue[$], ref int non_device_id_queue[$] ) |
| function void | pre_address_phase_started ( svt_axi_transaction xact, ref bit drop ) |
| function void | pre_cache_update ( svt_axi_master_transaction xact ) |
| function void | pre_data_stream_started ( svt_axi_transaction xact ) |
| function void | pre_snoop_data_phase_started ( svt_axi_master_snoop_transaction xact ) |
| function void | pre_snoop_resp_phase_started ( svt_axi_master_snoop_transaction xact ) |
| function void | pre_write_data_phase_started ( svt_axi_transaction xact, ref bit drop ) |
Protected Attributes | |
| protected svt_axi_port_configuration | cfg_snapshot |
| protected svt_axi_common | common |
Member Typedefs | |
| typedef class | type_id |
|
||
Called when barrier_enable is set to 1 in svt_axi_port_configuration and
associate_barrier_xact bit is set in svt_axi_master_transaction class.
xact - reference to the data descriptor object of interest.
barrier_pair_xact - Barrier pair associated with this transaction |
|
||||||
Build Phase
Constructs the common class
| ||||||
|
|
||
This method is used to get list of all IDs which are currently under use by outstanding transactions. However, user
can choose the type of outstanding transactions this method should consider while extracting ID of active transactions.
"mode" and "rw_type" arguments should be used for this purpose.
It returns '1' if total number of unique IDs currently used by active transactions, is less than all possible ID that can be used by an AXI transaction. This helps in determining whether randomizing ID field of a new transaction which should not be part of the all the IDs currently in use, is possible or not.
mode - Type of outstanding transactions this method should consider while extracting ID of active transactions. Currently it supports following modes (defined as string) ::
rw_type - Indicates which channel id width should be considered.
use_min_width - If set to '1', minimum of read and write channel id width should be used otherwise maximum. This is applicable only if "rw_type == -1" i.e. no particular channel id width is specified.
silent - Suppresses debug messages from this method if set to '1' |
|
|
||||
|
|
||
This method returns list of transactions which are currently active and pending inside master agent.
silent - Suppresses debug messages from this method if set to '1'. Default value is '1'. |
|
||||
|
|
||||||
|
|
||
Called when there user wants to drive user injected check values on non-transaction parity signals.
signal_context - Context why the callback is called for a given signal. parity_signal - Name of parity signal for which the callback is being called. calculated_parity_signal_val - Value of the parity signal. |
|
||||||
|
|
||
Called when there is change in the state of the cache.
xact - A reference to the data descriptor object of interest. |
|
||
|
||
Called after randomizing memory update transaction.
xact - A reference to the memory update descriptor object of interest. |
|
||
Called by the component after pulling a AXI Service Requst out of its
AXI Service Request input, but before acting on the AXI Service Request in any way.
xact - A reference to the data descriptor object of interest. |
|
||
Called after pulling a snoop transaction descriptor out of the input channel which
is connected to the generator, but before acting on the transaction descriptor
in any way.
xact - A reference to the transaction descriptor object of interest.
drop - A ref argument, which if set by the user's callback implementation causes the transactor to discard the transaction descriptor without further action. |
|
||
Called after getting a transaction from the input tlm port.
device_id_queue - A reference to the ID's of device type transactions which are currently beeing processed by the master.
non_device_id_queue - A reference to the ID's of non device type transactions which are currently beeing processed by the master. |
|
||
|
||
Called before writing into the cache.
xact - A reference to the data descriptor object of interest. |
|
||
Called before driving the first transfer of a data stream transaction.
xact - A reference to the data descriptor object of interest. |
|
||
Called before driving the snoop data phase of a transaction
xact - A reference to the data descriptor object of interest. |
|
||
Called before driving a response to a snoop transaction.
xact - A reference to the data descriptor object of interest. |
|
||
|
||||
Called when a new configuration is applied to the VIP
| ||||
|
|
||||
Report phase execution of the OVM component
| ||||
|
|
||||||
Run phase
Starts persistent threads like consume_from_seq_item_port()
| ||||||
|
|
||
Method to set common
|
|
||
Method to set shared status
|
|
||
waits until master is out of reset state
mode - if set to '1' then it waits for 1 clock cycle after reset is detected deasserted. otherwise, it waits for reset to be sampled as deasserted and comes out of reset after waiting for the negedge of the same sampling clock that detected reset de-assertion to avoid any race condition. values greater than 1 shouldn't be used. |
|
|
A reference to the cache of the master
|
|
|
Configuration object copy to be used in set/get operations.
|
|
|
Common features of AXI Master components
|
|
|
Event triggers when master has driven the read transaction on the port interface
|
|
|
Event triggers when master has driven the write transaction on the port interface
|
|
|
Event triggers when master driver consumes the transaction object.
At this point, transaction object is not yet processed or transmitted on the bus.
|
|
|
Event triggers when master has completed transaction i.e. for WRITE
transaction this events triggers once master receives the write response and
for READ transaction this event triggers when master has received all
data.
|
|
|
Request port provided to get the snoop requests
|
|
||||
|
|
|