VIP Smartsearch

X
  • VIP Smartsearch is a framework that supports search within VIP reference documents using query in natural language. It facilitates reordering of search results and keeps record of user’s decision for the ordering of result display and applies that in search of same query on subsequent usage.
  • How to download VIP smartsearch?

    1. Get VIP Smartsearch (Available as a seperate run file).
    2. Set environment variable
      DESIGNWARE_HOME
      to required designware home location where VIP Smartsearch should be downloaded.
    3. Run
      vip_smartsearch_<version>.run
      file.
      VIP Smartsearch will be downloaded to the location
      $DESIGNWARE_HOME/vip/svt/vip_smartsearch/<version>
  • How to install VIP Smartsearch?

    Please refer to the file
    VIP_Smartsearch_installation_and_usage_guide.pdf
    in
    $DESIGNWARE_HOME/vip/svt/vip_smartsearch/<version>
    for installation steps.
  • Customer Support

    For more details about VIP smartsearch tool, contact support_center@synopsys.com.
    Mention your queries along with below details and send email to above email id.
    Product: Verification IP
    Sub Product: <vip_title>
    Tool: VIP Smartsearch

svt_axi_service Class Reference

Inheritance diagram for class svt_axi_service:

List of all members.


Detailed Description

This class is a service transaction class:



Public Member Functions

function svt_pattern  allocate_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 bit  do_compare ( ovm_object rhs, ovm_comparer comparer )
function void  do_copy ( ovm_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_axi_service" )
function void  post_randomize ( )
function void  pre_randomize ( )
function string  psdisplay_short ( string prefix = "", bit hdr_only = 0 )
function bit  set_prop_val ( string prop_name, bit [1023:0] prop_val, int array_ix )

Public Attributes

svt_axi_port_configuration  cfg = null; 
real  lp_ack_assertion_time 
real  lp_active_assertion_time 
real  lp_entry_active_req_delay 
real  lp_entry_req_ack_delay 
real  lp_exit_ctrl_active_ack_delay 
real  lp_exit_ctrl_req_ack_delay 
real  lp_exit_ctrl_req_active_delay 
real  lp_exit_prp_active_req_delay 
real  lp_exit_prp_req_ack_delay 
rand svt_axi_service :: lp_handshake_type_enum  lp_handshake_type 
rand svt_axi_service :: lp_initiator_type_enum  lp_initiator 
real  lp_req_assertion_time 
rand bit [SVT_AXI_QOS_WIDTH-1:0]  read_qos_accept_level = 0; 
rand svt_axi_service :: service_type_enum  service_type 
svt_sequence_item :: status_enum  status 
rand bit [SVT_AXI_QOS_WIDTH-1:0]  write_qos_accept_level = 0; 

Member Typedefs

 typedef enum  lp_handshake_type_enum 
 typedef enum  lp_initiator_type_enum 
 typedef enum  service_type_enum 


Member Function Documentation

  function svt_pattern
 svt_axi_service::allocate_pattern

 (   ) 


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.


 Superseded functions 
 svt_sequence_item_base :: allocate_pattern 

  function bit
 svt_axi_service::decode_prop_val

 (  string prop_name , bit [1023:0] prop_val , ref string prop_val_string , input svt_pattern_data :: type_enum typ  ) 


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.


 Superseded functions 
 svt_sequence_item_base :: decode_prop_val 
 svt_sequence_item :: decode_prop_val 

  function bit
 svt_axi_service::do_compare

 (  ovm_object rhs , ovm_comparer comparer  ) 


Compares the object with rhs..

rhs - Object to be compared against.

comparer - TBD


 Superseded functions 
 ovm_object :: do_compare 
 svt_sequence_item_base :: do_compare 
 svt_sequence_item :: do_compare 

  function void
 svt_axi_service::do_copy

 (  ovm_object rhs  ) 


Extend the UVM copy routine to cleanup the exception xact pointers.

rhs - Source object to be copied.


 Superseded functions 
 ovm_object :: do_copy 
 ovm_transaction :: do_copy 
 svt_sequence_item_base :: do_copy 
 svt_sequence_item :: do_copy 

  function bit
 svt_axi_service::do_is_valid

 (  bit silent = 1, int kind = RELEVANT  ) 


Does a basic validation of this status object.

silent - bit indicating whether failures should result in warning messages.

kind - This int indicates the type of is_valid check to attempt.


 Superseded functions 
 svt_sequence_item_base :: do_is_valid 
 svt_sequence_item :: do_is_valid 

  function bit
 svt_axi_service::encode_prop_val

 (  string prop_name , string prop_val_string , ref bit [1023:0] prop_val , input svt_pattern_data :: type_enum typ  ) 


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.


 Superseded functions 
 svt_sequence_item_base :: encode_prop_val 
 svt_sequence_item :: encode_prop_val 

  function string
 svt_axi_service::get_mcd_class_name

 (   ) 


Returns the class name for the object used for logging.

 Superseded functions 
 svt_sequence_item_base :: get_mcd_class_name 

  function bit
 svt_axi_service::get_prop_val

 (  string prop_name , ref bit [1023:0] prop_val , input int array_ix , ref svt_sequence_item_base data_obj  ) 


HDL Support: For read access to public data members of this class.

 Superseded functions 
 svt_sequence_item_base :: get_prop_val 
 svt_sequence_item :: get_prop_val 

  function void
 svt_axi_service::new

 (  string name = "svt_axi_service"  ) 


CONSTUCTOR: Create a new transaction instance, passing the appropriate argument values to the parent class.

name - Instance name of the transaction


 Superseded functions 
 ovm_object :: new 

  function void
 svt_axi_service::post_randomize

 (   ) 


Post randomize implementation of the class.

 Superseded functions 
 svt_sequence_item :: post_randomize 

  function void
 svt_axi_service::pre_randomize

 (   ) 


Performs setup actions required before randomization of the class.

 Superseded functions 
 svt_sequence_item :: pre_randomize 

  function string
 svt_axi_service::psdisplay_short

 (  string prefix = "", bit hdr_only = 0  ) 


 Superseded functions 
 svt_sequence_item :: psdisplay_short 

  function bit
 svt_axi_service::set_prop_val

 (  string prop_name , bit [1023:0] prop_val , int array_ix  ) 


HDL Support: For write access to public data members of this class.

 Superseded functions 
 svt_sequence_item_base :: set_prop_val 
 svt_sequence_item :: set_prop_val 


Member Attribute Documentation

 svt_axi_port_configuration  attribute
 svt_axi_service::cfg = null


Handle to configuration

 real  attribute
 svt_axi_service::lp_ack_assertion_time


This variable stores the timestamp information when CSYSACK is asserted. If lp_handshake_type=POWER_DOWN, it indicates the time at which CSYSACK has gone low. If lp_handshake_type=POWER_UP, it indicates the time at which CSYSACK has gone high.

 real  attribute
 svt_axi_service::lp_active_assertion_time


This variable stores the timestamp information when CACTIVE has changed. If lp_handshake_type=POWER_DOWN, it indicates the time at which CACTIVE has gone low. If lp_handshake_type=POWER_UP, it indicates the time at which CACTIVE has gone high.

 real  attribute
 svt_axi_service::lp_entry_active_req_delay


This is aplicable if lp_handshake_type=POWER_DOWN. It indicates the absolute time delay between assertion of CACTIVE and assertion of CSYSREQ

 real  attribute
 svt_axi_service::lp_entry_req_ack_delay


This is aplicable if lp_handshake_type=POWER_DOWN. It indicates the absolute time delay between assertion of CSYSREQ and assertion of CSYSACK

 real  attribute
 svt_axi_service::lp_exit_ctrl_active_ack_delay


This is aplicable if lp_handshake_type=POWER_UP and lp_initiator=CLOCK_CONTROLLER. It indicates the absolute time delay between deassertion of CSYSREQ and deassertion of CACTIVE

 real  attribute
 svt_axi_service::lp_exit_ctrl_req_ack_delay


This is aplicable if lp_handshake_type=POWER_UP and lp_initiator=CLOCK_CONTROLLER. It indicates the absolute time delay between deassertion of CSYSREQ and deassertion of CSYSACK

 real  attribute
 svt_axi_service::lp_exit_ctrl_req_active_delay


This is aplicable if lp_handshake_type=POWER_UP and lp_initiator=CLOCK_CONTROLLER. It indicates the absolute time delay between deassertion of CSYSREQ and deassertion of CACTIVE

 real  attribute
 svt_axi_service::lp_exit_prp_active_req_delay


This is aplicable if lp_handshake_type=POWER_UP and lp_initiator=PERIPHERAL. It indicates the absolute time delay between deassertion of CACTIVE and deassertion of CSYSREQ

 real  attribute
 svt_axi_service::lp_exit_prp_req_ack_delay


This is aplicable if lp_handshake_type=POWER_UP and lp_initiator=PERIPHERAL. It indicates the absolute time delay between deassertion of CSYSREQ and deassertion of CSYSACK

 rand svt_axi_service :: lp_handshake_type_enum  attribute
 svt_axi_service::lp_handshake_type


Type of low power handshake

 rand svt_axi_service :: lp_initiator_type_enum  attribute
 svt_axi_service::lp_initiator


initiator of low power handshake

 real  attribute
 svt_axi_service::lp_req_assertion_time


This variable stores the timestamp information when CSYSREQ is asserted. If lp_handshake_type=POWER_DOWN, it indicates the time at which CSYSREQ has gone low. If lp_handshake_type=POWER_UP, it indicates the time at which CSYSREQ has gone high.

 rand bit [SVT_AXI_QOS_WIDTH-1:0]  attribute
 svt_axi_service::read_qos_accept_level = 0


Value of the axi qos accept level of the read transactions

 rand svt_axi_service :: service_type_enum  attribute
 svt_axi_service::service_type = NOP


Type of axi service request to be performed

 svt_sequence_item :: status_enum  attribute
 svt_axi_service::status = INITIAL


Processing status for the transaction.

 rand bit [SVT_AXI_QOS_WIDTH-1:0]  attribute
 svt_axi_service::write_qos_accept_level = 0


Value of the axi qos accept level of the write transactions

Member Typedef Documentation

 typedef enum  svt_axi_service::lp_handshake_type_enum

Enum to represent low power handshake type

POWER_DOWN(0)
POWER_UP(1)

 typedef enum  svt_axi_service::lp_initiator_type_enum

Enum to represent low power handshake initiator

PERIPHERAL(0)
CLOCK_CONTROLLER(1)

 typedef enum  svt_axi_service::service_type_enum
NOP(0)
COHERENCY_ENTRY(1)
: Guiding the coherency state to enter into COHERENCY_ENABLED phase.
COHERENCY_EXIT(2)
: Guiding the coherency state to enter into COHERENCY_DISABLED phase.
QOS_ACCEPT_WRITE(3)
: Updating the QOS level for write transactions.
QOS_ACCEPT_READ(4)
: Updating the QOS level for read transactions.