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

Inheritance diagram for class svt_apb_checker:

List of all members.



Class Member Groupings

Unaligned Transfers Feature Checks  This group contains checks added for Unaligned Transfers feature.
APB5 Subsystem Identifier Feature Checks  This group contains checks added for APB5 Subsystem Identifier feature.
APB5 Realm Management Extension Feature Checks  This group contains checks added for APB5 Realm Management Extension feature.
APB5 Wake-up Signaling Feature Checks  This group contains checks added for APB5 Wake-up Signaling feature.
APB5 User Signaling Feature Checks  This group contains checks added for APB5 User Signaling feature.
APB5 Interface Parity Protection Feature Checks  This group contains checks added for APB5 Interface Parity Protection feature.
APB4 Write Strobes Feature Checks  This group contains checks added for APB4 Write Strobes feature.
APB4 Protection Unit Support Feature Checks  This group contains checks added for APB4 Protection Unit Support feature.
Transaction Timeout Checks  This group contains checks to verify Transaction Timeout
Address Mapping Checks  This group contains checks to verify Address Mapping
Slave Selection Checks  This group contains checks to verify Slave Selection
State Transition Checks  This group contains checks to verify state transition
Signal Stability Checks  This group contains checks to verify stability of signals
Signal Validity Checks  This group contains checks to verify validity(not X/Z) of signals

Public Member Functions

function void  new ( string name, svt_apb_configuration cfg, ovm_report_object reporter = null )
function void  perform_read_signal_level_checks ( ref logic [SVT_APB_MAX_DATA_WIDTH-1:0] observed_prdata, ref logic observed_pready, ref logic observed_pslverr, ref logic observed_pwrite, output bit is_pready_valid, output bit is_pslverr_valid, output bit is_prdata_valid )
function void  perform_write_signal_level_checks ( ref logic [SVT_APB_MAX_NUM_SLAVES-1:0] observed_psel, ref logic [SVT_APB_MAX_ADDR_WIDTH-1:0] observed_paddr, ref logic observed_pwrite, ref logic observed_penable, ref logic [SVT_APB_MAX_DATA_WIDTH-1:0] observed_pwdata, ref logic [((SVT_APB_MAX_DATA_WIDTH/8)-1):0] observed_pstrb, ref logic [2:0] observed_pprot, output bit is_psel_valid, output bit is_paddr_valid, output bit is_pwrite_valid, output bit is_penable_valid, output bit is_pwdata_valid, output bit is_pstrb_valid, output bit is_pprot_valid )

Public Attributes

svt_err_check_stats  access_to_access 
svt_err_check_stats  address_not_aligned_when_unaligned_address_support_not_enabled 
svt_err_check_stats  bus_in_enable_state_for_one_clock 
svt_err_check_stats  idle_to_access 
svt_err_check_stats  initial_bus_state_after_reset 
svt_err_check_stats  multiple_select_signals_active_during_transfer 
svt_err_check_stats  paddr_changed_during_transfer 
svt_err_check_stats  penable_after_psel 
svt_err_check_stats  penable_changed_during_transfer 
svt_err_check_stats  pprot_changed_during_transfer 
svt_err_check_stats  pready_timeout_check 
svt_err_check_stats  psel_changed_during_transfer 
svt_err_check_stats  psel_match_with_address_map 
svt_err_check_stats  pstrb_asserted_for_invalid_byte_in_unaligned_transfer 
svt_err_check_stats  pstrb_changed_during_transfer 
svt_err_check_stats  pstrb_low_for_read 
svt_err_check_stats  pwdata_changed_during_transfer 
svt_err_check_stats  pwrite_changed_during_transfer 
svt_err_check_stats  setup_to_idle 
svt_err_check_stats  setup_to_setup 
svt_err_check_stats  signal_valid_paddr_check 
svt_err_check_stats  signal_valid_penable_check 
svt_err_check_stats  signal_valid_pprot_check 
svt_err_check_stats  signal_valid_prdata_check 
svt_err_check_stats  signal_valid_pready_check 
svt_err_check_stats  signal_valid_psel_check 
svt_err_check_stats  signal_valid_pslverr_check 
svt_err_check_stats  signal_valid_pstrb_check 
svt_err_check_stats  signal_valid_pwdata_check 
svt_err_check_stats  signal_valid_pwrite_check 

Class Member Groupings



Group: Unaligned Transfers Feature Checks

This group contains checks added for Unaligned Transfers feature.

svt_err_check_stats  address_not_aligned_when_unaligned_address_support_not_enabled 
svt_err_check_stats  pstrb_asserted_for_invalid_byte_in_unaligned_transfer 


Group: APB5 Subsystem Identifier Feature Checks

This group contains checks added for APB5 Subsystem Identifier feature.



Group: APB5 Realm Management Extension Feature Checks

This group contains checks added for APB5 Realm Management Extension feature.



Group: APB5 Wake-up Signaling Feature Checks

This group contains checks added for APB5 Wake-up Signaling feature.



Group: APB5 User Signaling Feature Checks

This group contains checks added for APB5 User Signaling feature.



Group: APB5 Interface Parity Protection Feature Checks

This group contains checks added for APB5 Interface Parity Protection feature.



Group: APB4 Write Strobes Feature Checks

This group contains checks added for APB4 Write Strobes feature.

svt_err_check_stats  pstrb_changed_during_transfer 
svt_err_check_stats  pstrb_low_for_read 
svt_err_check_stats  signal_valid_pstrb_check 


Group: APB4 Protection Unit Support Feature Checks

This group contains checks added for APB4 Protection Unit Support feature.

svt_err_check_stats  pprot_changed_during_transfer 
svt_err_check_stats  signal_valid_pprot_check 


Group: Transaction Timeout Checks

This group contains checks to verify Transaction Timeout

svt_err_check_stats  pready_timeout_check 


Group: Address Mapping Checks

This group contains checks to verify Address Mapping

svt_err_check_stats  psel_match_with_address_map 


Group: Slave Selection Checks

This group contains checks to verify Slave Selection

svt_err_check_stats  multiple_select_signals_active_during_transfer 


Group: State Transition Checks

This group contains checks to verify state transition

svt_err_check_stats  access_to_access 
svt_err_check_stats  bus_in_enable_state_for_one_clock 
svt_err_check_stats  idle_to_access 
svt_err_check_stats  initial_bus_state_after_reset 
svt_err_check_stats  penable_after_psel 
svt_err_check_stats  setup_to_idle 
svt_err_check_stats  setup_to_setup 


Group: Signal Stability Checks

This group contains checks to verify stability of signals

svt_err_check_stats  paddr_changed_during_transfer 
svt_err_check_stats  penable_changed_during_transfer 
svt_err_check_stats  psel_changed_during_transfer 
svt_err_check_stats  pwdata_changed_during_transfer 
svt_err_check_stats  pwrite_changed_during_transfer 


Group: Signal Validity Checks

This group contains checks to verify validity(not X/Z) of signals

svt_err_check_stats  signal_valid_paddr_check 
svt_err_check_stats  signal_valid_penable_check 
svt_err_check_stats  signal_valid_prdata_check 
svt_err_check_stats  signal_valid_pready_check 
svt_err_check_stats  signal_valid_psel_check 
svt_err_check_stats  signal_valid_pslverr_check 
svt_err_check_stats  signal_valid_pwdata_check 
svt_err_check_stats  signal_valid_pwrite_check 


Member Function Documentation

  function void
 svt_apb_checker::new

 (  string name , svt_apb_configuration cfg , ovm_report_object reporter = null  ) 


CONSTRUCTOR: Create a new checker instance, passing the appropriate argument

name - Checker name

cfg - Required argument used to set (copy data into) cfg.

reporter - Report object through which messages are routed

  function void
 svt_apb_checker::perform_read_signal_level_checks

 (  ref logic [SVT_APB_MAX_DATA_WIDTH-1:0] observed_prdata , ref logic observed_pready , ref logic observed_pslverr , ref logic observed_pwrite , output bit is_pready_valid , output bit is_pslverr_valid , output bit is_prdata_valid  ) 


Executes signal validity checks for the signals driven by the Slave

  function void
 svt_apb_checker::perform_write_signal_level_checks

 (  ref logic [SVT_APB_MAX_NUM_SLAVES-1:0] observed_psel , ref logic [SVT_APB_MAX_ADDR_WIDTH-1:0] observed_paddr , ref logic observed_pwrite , ref logic observed_penable , ref logic [SVT_APB_MAX_DATA_WIDTH-1:0] observed_pwdata , ref logic [((SVT_APB_MAX_DATA_WIDTH/8)-1):0] observed_pstrb , ref logic [2:0] observed_pprot , output bit is_psel_valid , output bit is_paddr_valid , output bit is_pwrite_valid , output bit is_penable_valid , output bit is_pwdata_valid , output bit is_pstrb_valid , output bit is_pprot_valid  ) 


Executes signal validity checks for the signals driven by the Master

Member Attribute Documentation

 svt_err_check_stats  attribute
 svt_apb_checker::access_to_access


Check description: Checks that if illegal state transition occured from access to access in APB2. In APB3 state transition from access to access is valid transition.

Pass condition: No state transition occured from access to access in APB2

Fail condition: Illegal state transition occured from access to access in APB2

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::address_not_aligned_when_unaligned_address_support_not_enabled


Check description: Checks if unaligned address is driven on PADDR when unaligned_address_support is not enabled.

Pass condition: Aligned address is driven on PADDR

Fail condition: Unaligned address is driven on PADDR

Applicable device type: Passive Master, Active & Passive Slave

Additional information:

 svt_err_check_stats  attribute
 svt_apb_checker::bus_in_enable_state_for_one_clock


Check description: Checks that bus remains in ENABLE state for one clock cycle in APB2

Pass condition: Bus remains in ENABLE state for one clock cycle in APB2

Fail condition: Bus remains in ENABLE state for more than one clock cycle in APB2

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::idle_to_access


Check description: Checks that if illegal state transition occured from idle to access

Pass condition: No state transition occured from idle to access

Fail condition: Illegal state transition occured from idle to access

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::initial_bus_state_after_reset


Check description: Checks that after reset de-assertion, APB Bus is in either IDLE or SETUP state.

Pass condition: APB Bus is in either IDLE or SETUP state after reset de-assertion.

  • For master, either PSEL is zero or PENABLE is 0, immediately after reset de-assertion
  • For slave, either PSEL or PENABLE sampled as 0, immediately after reset de-assertion

Fail condition: APB Bus is in ACCESS state after reset de-assertion.

  • For master, PSEL of the selected slave is 1 and PENABLE is 1, immediately after reset de-assertion
  • For slave, PSEL and PENABLE both sampled as 1, immediately after reset de-assertion

Applicable device type: Active & Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::multiple_select_signals_active_during_transfer


Check description: Checks if multiple select signals asserted during transfer

Pass condition: Only one select signal asserted during transfer

Fail condition: Multiple select signals asserted during transfer

Applicable device type: Passive Master

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::paddr_changed_during_transfer


Check description: Checks if PADDR changed value during transfer

Pass condition: PADDR is stable during transfer

Fail condition: PADDR is changed during transfer

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::penable_after_psel


Check description: Checks that PENABLE is asserted after one clock cycle of PSEL being asserted.

Pass condition: PENABLE is asserted after one clock cycle of PSEL being asserted

Fail condition:

  • PSEL and PENABLE asserted simultaneously
  • PENABLE is not asserted after one clock cycle of PSEL being asserted

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::penable_changed_during_transfer


Check description: Checks if PENABLE changed value during access phase of transfer

Pass condition: PENABLE high during access phase of transfer

Fail condition: PENABLE low during access phase of transfer

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::pprot_changed_during_transfer


Check description: Checks if PPROT changed value during transfer

Pass condition: PPROT is stable during transfer

Fail condition: PPROT is changed during transfer

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::pready_timeout_check


Check description: Checks that PREADY signal is asserted by slave within timeout period slave_pready_timeout

Pass condition: PREADY signal is asserted by slave within timeout period slave_pready_timeout

Fail condition: PREADY signal is not asserted by slave within timeout period slave_pready_timeout

Applicable device type: Passive Slave, Active & Passive Master

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::psel_changed_during_transfer


Check description: Checks if PSEL changed value during transfer

Pass condition: PSEL is stable during the transfer

Fail condition: PSEL is changed during transfer

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::psel_match_with_address_map


Check description: Checks that asserted PSEL matches with the address map. Refer to ARM IHI 0011A section 2.4, signal description of PSELx for the protocol info.

Pass condition: slave ID obtained by address decoding is equal to the slave ID that has PSEL asserted.

Fail condition: slave ID obtained by address decoding is not equal to the slave ID that has PSEL asserted.

Applicable device type: Passive Master, Active & Passive Slave

Additional information: In case of complex_memory_map enabled, pprot1 is also considered in address decoding.

 svt_err_check_stats  attribute
 svt_apb_checker::pstrb_asserted_for_invalid_byte_in_unaligned_transfer


Check description: Checks if PSTRB is correctly asserted when unaligned address is driven on PADDR with unaligned_address_support enabled.

Pass condition: PSTRB is correctly asserted based on the address alignment

Fail condition: PSTRB is not correctly asserted based on the address alignment

Applicable device type: Passive Master, Active & Passive Slave

Additional information:

 svt_err_check_stats  attribute
 svt_apb_checker::pstrb_changed_during_transfer


Check description: Checks if PSTRB changed value during write transfer

Pass condition: PSTRB is stable during write transfer

Fail condition: PSTRB is changed during write transfer

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::pstrb_low_for_read


Check description: Checks that PSTRB is low for read transfer

Pass condition: All bits of PSTRB are low for read transfer

Fail condition: Any bit of PSTRB is high for read transfer

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::pwdata_changed_during_transfer


Check description: Checks if PWDATA changed value during write transfer

Pass condition: PWDATA is stable during write transfer

Fail condition: PWDATA is changed during write transfer

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

If svt_apb_configuration :: check_valid_data_bytes_only_enable and svt_apb_system_configuration :: apb4_enable are set to 1, then check will be performed only on active data byte lanes based on pstrb.

 svt_err_check_stats  attribute
 svt_apb_checker::pwrite_changed_during_transfer


Check description: Checks if PWRITE changed value during transfer

Pass condition: PWRITE is stable during transfer

Fail condition: PWRITE is changed during transfer

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::setup_to_idle


Check description: Checks that if illegal state transition occured from setup to idle

Pass condition: No state transition occured from setup to idle

Fail condition: Illegal state transition occured from setup to idle

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::setup_to_setup


Check description: Checks that if illegal state transition occured from setup to setup

Pass condition: No state transition occured from setup to setup

Fail condition: Illegal state transition occured from setup to setup

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::signal_valid_paddr_check


Check description: Checks that PADDR is not X or Z when PSEL is asserted

Pass condition: PADDR is not X or Z when PSEL is asserted

Fail condition: PADDR is X or Z when PSEL is asserted

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::signal_valid_penable_check


Check description: Checks that PENABLE is not X or Z when PSEL is asserted

Pass condition: PENABLE is not X or Z when PSEL is asserted

Fail condition: PENABLE is X or Z when PSEL is asserted

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::signal_valid_pprot_check


Check description: Checks that PPROT is not X or Z when PSEL is asserted

Pass condition: PPROT is not X or Z when PSEL is asserted

Fail condition: PPROT is X or Z when PSEL is asserted

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::signal_valid_prdata_check


Check description: Checks that PRDATA is not X or Z when PSEL, PENABLE and PREADY are asserted for read transfer

Pass condition: PRDATA is not X or Z when PSEL, PENABLE and PREADY are asserted for read transfer

Fail condition: PRDATA is X or Z when PSEL, PENABLE and PREADY are asserted for read transfer

Applicable device type: Passive Slave, Active & Passive Master

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::signal_valid_pready_check


Check description: Checks that PREADY is not X or Z when PSEL and PENABLE are asserted

Pass condition: PREADY is not X or Z when PSEL and PENABLE are asserted

Fail condition: PREADY is X or Z when PSEL and PENABLE are asserted

Applicable device type: Passive Slave, Active & Passive Master

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::signal_valid_psel_check


Check description: Checks that PSEL is not X or Z

Pass condition: PSEL is not X or Z

Fail condition: PSEL is X or Z

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::signal_valid_pslverr_check


Check description: Checks that PSLVERR is not X or Z when PSEL, PENABLE and PREADY are asserted

Pass condition: PSLVERR is not X or Z when PSEL, PENABLE and PREADY are asserted

Fail condition: PSLVERR is X or Z when PSEL, PENABLE and PREADY are asserted

Applicable device type: Passive Slave, Active & Passive Master

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::signal_valid_pstrb_check


Check description: Checks that PSTRB is not X or Z when PSEL is asserted

Pass condition: PSTRB is not X or Z when PSEL is asserted

Fail condition: PSTRB is X or Z when PSEL is asserted

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

 svt_err_check_stats  attribute
 svt_apb_checker::signal_valid_pwdata_check


Check description: Checks that PWDATA is not X or Z when PSEL is asserted for write transfer

Pass condition: PWDATA is not X or Z when PSEL is asserted for write transfer

Fail condition: PWDATA is X or Z when PSEL is asserted for write transfer

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when:

If svt_apb_configuration :: check_valid_data_bytes_only_enable and svt_apb_system_configuration :: apb4_enable are set to 1, then check will be performed only on active data byte lanes based on pstrb.

 svt_err_check_stats  attribute
 svt_apb_checker::signal_valid_pwrite_check


Check description: Checks that PWRITE is not X or Z when PSEL is asserted

Pass condition: PWRITE is not X or Z when PSEL is asserted

Fail condition: PWRITE is X or Z when PSEL is asserted

Applicable device type: Passive Master, Active & Passive Slave

Additional information: This check is applicable only when: