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_chi_interconnect Class Reference

Inheritance diagram for class svt_chi_interconnect:

List of all members.


Detailed Description

This class is UVM Driver that implements an CHI interconnect component.



Public Member Functions

function void  build_phase ( uvm_phase phase )
task   consume_from_seq_item_port ( )
task   consume_from_snp_seq_item_port ( )
task   get ( output svt_chi_ic_sn_transaction xact )
virtual function uvm_object_wrapper  get_object_type ( )
task   get_snp_xact ( output svt_chi_ic_snoop_transaction xact )
static function type_id  get_type ( )
virtual function string  get_type_name ( )
function void  __m_uvm_field_automation ( uvm_object tmp_data__, int what__, string str__ )
function void  new ( string name, uvm_component parent )
task   put_rn_dat_flit ( svt_chi_flit dat_flit )
task   put_rn_req_flit ( svt_chi_flit req_flit )
task   put_rn_rsp_flit ( svt_chi_flit rsp_flit )
task   put_sn_dat_flit ( svt_chi_flit dat_flit )
task   put_sn_rsp_flit ( svt_chi_flit rsp_flit )
task   run_phase ( uvm_phase phase )

Public Attributes

uvm_event  EVENT_CHI_SNOOP_TRANSACTION_ENDED 
uvm_event  EVENT_CHI_TRANSACTION_ENDED 
uvm_blocking_get_imp  response_request_imp 
uvm_blocking_put_imp_rn_dat_flit  rn_rx_dat_flit_export [] 
uvm_blocking_put_imp_rn_req_flit  rn_rx_req_flit_export [] 
uvm_blocking_put_imp_rn_rsp_flit  rn_rx_rsp_flit_export [] 
uvm_blocking_put_imp_sn_dat_flit  sn_rx_dat_flit_export [] 
uvm_blocking_put_imp_sn_rsp_flit  sn_rx_rsp_flit_export [] 
uvm_blocking_get_imp_snp_xact  snp_response_request_imp 
uvm_seq_item_pull_port  snp_seq_item_port 
static const string  type_name = "svt_chi_interconnect"; 

Member Typedefs

 typedef class  type_id 


Member Function Documentation

  function void
 svt_chi_interconnect::build_phase

 (  uvm_phase phase  ) 


Build Phase Constructs the common class

 Superseded functions 
 uvm_component :: build_phase 
 svt_driver :: build_phase 

  task
 svt_chi_interconnect::consume_from_seq_item_port

 (   ) 


This task gets svt_chi_ic_sn_transaction sequence item from the sequencer and make it available to the common driver. This task will only be called in Full-Slave mode.

  task
 svt_chi_interconnect::consume_from_snp_seq_item_port

 (   ) 


This task get svt_chi_ic_snoop_transaction sequeunce item from the snoop sequencer and makes it available to the common driver.This task will only be called in Full-Slave mode.

  task
 svt_chi_interconnect::get

 (  output svt_chi_ic_sn_transaction xact  ) 


Implementation of the get method needed for response_request_imp. This get method should be called in forever loop, whenever monitor receives valid for new transaction , the get method gives out a svt_chi_ic_sn_transaction object. Blocks when monitor does not have any new transaction.

xact - svt_chi_ic_sn_transaction output object

Applicable for CHI ICN VIP in Full-Slave mode.

 virtual function uvm_object_wrapper
 svt_chi_interconnect::get_object_type

 (   ) 


 Superseded functions 
 uvm_object :: get_object_type 

  task
 svt_chi_interconnect::get_snp_xact

 (  output svt_chi_ic_snoop_transaction xact  ) 


Get method that supports the snp_response_request_imp

 static function type_id
 svt_chi_interconnect::get_type

 (   ) 


 Superseded functions 
 uvm_object :: get_type 

 virtual function string
 svt_chi_interconnect::get_type_name

 (   ) 


 Superseded functions 
 uvm_object :: get_type_name 
 uvm_component :: get_type_name 
 uvm_driver :: get_type_name 

  function void
 svt_chi_interconnect::__m_uvm_field_automation

 (  uvm_object tmp_data__ , int what__ , string str__  ) 


 Superseded functions 
 uvm_object :: __m_uvm_field_automation 

  function void
 svt_chi_interconnect::new

 (  string name , uvm_component parent  ) 


CONSTRUCTOR: Create a new driver instance

name - The name of this instance. Used to construct the hierarchy.

parent - The component that contains this intance. Used to construct the hierarchy.


 Superseded functions 
 uvm_component :: new 
 uvm_driver :: new 

  task
 svt_chi_interconnect::put_rn_dat_flit

 (  svt_chi_flit dat_flit  ) 


Put method supporting the rn_rx_dat_flit_export.

  task
 svt_chi_interconnect::put_rn_req_flit

 (  svt_chi_flit req_flit  ) 


Put method supporting the rn_rx_req_flit_export.

  task
 svt_chi_interconnect::put_rn_rsp_flit

 (  svt_chi_flit rsp_flit  ) 


Put method supporting the rn_rx_rsp_flit_export.

  task
 svt_chi_interconnect::put_sn_dat_flit

 (  svt_chi_flit dat_flit  ) 


Put method supporting the sn_rx_dat_flit_export.

  task
 svt_chi_interconnect::put_sn_rsp_flit

 (  svt_chi_flit rsp_flit  ) 


Put method supporting the sn_rx_rsp_flit_export.

  task
 svt_chi_interconnect::run_phase

 (  uvm_phase phase  ) 


Run phase The link layer ports are connected to the interconnect via the rx_rx*flit_exports. These exports call the corresponding put_rn__flit method, which in turn puts them in mailboxes. The run phase source flits from each of these mailboxes in the corresponding source_* tasks and associates them to active transactions. Starts persistent threads like consume_from_seq_item_port for CHI ICN VIP in Full-Slave mode.

 Superseded tasks 
 uvm_component :: run_phase 
 svt_driver :: run_phase 


Member Attribute Documentation

 uvm_event  attribute
 svt_chi_interconnect::EVENT_CHI_SNOOP_TRANSACTION_ENDED


Event for snoop transaction ended

 uvm_event  attribute
 svt_chi_interconnect::EVENT_CHI_TRANSACTION_ENDED


Event for transaction ended

 uvm_blocking_get_imp  attribute
 svt_chi_interconnect::response_request_imp


Implementation port class which makes response requests available to the IC SN xact sequencer. Applicable for CHI ICN VIP in Full-Slave mode.

 uvm_blocking_put_imp_rn_dat_flit  attribute
 svt_chi_interconnect::rn_rx_dat_flit_export[]

 uvm_blocking_put_imp_rn_req_flit  attribute
 svt_chi_interconnect::rn_rx_req_flit_export[]


Put port implementations that connect to corresponding put ports in the link layer

 uvm_blocking_put_imp_rn_rsp_flit  attribute
 svt_chi_interconnect::rn_rx_rsp_flit_export[]

 uvm_blocking_put_imp_sn_dat_flit  attribute
 svt_chi_interconnect::sn_rx_dat_flit_export[]

 uvm_blocking_put_imp_sn_rsp_flit  attribute
 svt_chi_interconnect::sn_rx_rsp_flit_export[]

 uvm_blocking_get_imp_snp_xact  attribute
 svt_chi_interconnect::snp_response_request_imp


Dummy port created as a workaround for [Connection Error] connection count of 0 does not meet required minimum of 1. Applicable for CHI ICN VIP in Full-Slave mode.

 uvm_seq_item_pull_port  attribute
 svt_chi_interconnect::snp_seq_item_port


Snoop Response TLM Sequence Item Pull Port

Provides a mechanism for submitting snoop response transactions recognized by the protocol. The handle to this TLM sequence item pull port can be set or obtained through the driver's public member snp_seq_item_port. Applicable only in case of Full-Slave mode.

 static const string  attribute
 svt_chi_interconnect::type_name = "svt_chi_interconnect"


 Superseded attributes 
 uvm_component :: type_name 
 uvm_driver :: type_name 


Member Typedef Documentation

 typedef class  svt_chi_interconnect::type_id
 Typedefe'd string ==>   uvm_component_registry#(svt_chi_interconnect,)