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

Inheritance diagram for class svt_apb_configuration:

List of all members.


Detailed Description

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:

Note: Custom surbodinate agent naming is supported through svt_configuration :: inst attribute.



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; 
svt_apb_configuration :: check_type_enum  check_type 
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 
int unsigned  pauser_width = SVT_APB5_MAX_PAUSER_WIDTH
int unsigned  pbuser_width = SVT_APB5_MAX_PBUSER_WIDTH
bit  protocol_checks_coverage_enable = 0; 
bit  protocol_checks_enable = 1; 
int unsigned  pruser_width = SVT_APB5_MAX_PWRUSER_WIDTH
int unsigned  psubsysid_width = SVT_APB5_MAX_PSUBSYSID_WIDTH
int unsigned  pwakeup_assert_max_delay = 4; 
int unsigned  pwakeup_assert_min_delay = 1; 
int unsigned  pwakeup_least_deassert_max_delay = 5; 
int unsigned  pwakeup_least_deassert_min_delay = 0; 
svt_apb_configuration :: pwakeup_signal_enum  pwakeup_signal 
int unsigned  pwuser_width = SVT_APB5_MAX_PWRUSER_WIDTH
bit  report_enable = 0; 
svt_apb_configuration :: rme_support_enum  rme_support 
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  check_type_enum 
 typedef enum  idle_val_enum 
 typedef enum  pwakeup_signal_enum 
 typedef enum  rme_support_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.

svt_apb_configuration :: check_type_enum  check_type 
int unsigned  pauser_width = SVT_APB5_MAX_PAUSER_WIDTH
int unsigned  pbuser_width = SVT_APB5_MAX_PBUSER_WIDTH
int unsigned  pruser_width = SVT_APB5_MAX_PWRUSER_WIDTH
int unsigned  psubsysid_width = SVT_APB5_MAX_PSUBSYSID_WIDTH
int unsigned  pwakeup_assert_max_delay = 4; 
int unsigned  pwakeup_assert_min_delay = 1; 
int unsigned  pwakeup_least_deassert_max_delay = 5; 
int unsigned  pwakeup_least_deassert_min_delay = 0; 
svt_apb_configuration :: pwakeup_signal_enum  pwakeup_signal 
int unsigned  pwuser_width = SVT_APB5_MAX_PWRUSER_WIDTH
svt_apb_configuration :: rme_support_enum  rme_support 


Member Function Documentation

  function svt_pattern
 svt_apb_configuration::allocate_debug_feature_pattern

 (   ) 


Need to enable trace_enable, report_enable, and enable_xml_gen

 Superseded functions 
 svt_configuration :: allocate_debug_feature_pattern 

  function void
 svt_apb_configuration::copy_dynamic_data

 (  uvm_sequence_item to  ) 


Used to limit a copy to the dynamic configuration members of the object.

 Superseded functions 
 svt_configuration :: copy_dynamic_data 
 Superseding functions 
 svt_apb_slave_configuration :: copy_dynamic_data 
 svt_apb_system_configuration :: copy_dynamic_data 

  function void
 svt_apb_configuration::copy_static_data

 (  uvm_sequence_item to  ) 


 Superseded functions 
 svt_configuration :: copy_static_data 
 Superseding functions 
 svt_apb_slave_configuration :: copy_static_data 
 svt_apb_system_configuration :: copy_static_data 

  function bit
 svt_apb_configuration::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_configuration :: decode_prop_val 
 Superseding functions 
 svt_apb_system_configuration :: decode_prop_val 

  function svt_pattern
 svt_apb_configuration::do_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 :: do_allocate_pattern 
 svt_configuration :: do_allocate_pattern 
 Superseding functions 
 svt_apb_slave_configuration :: do_allocate_pattern 
 svt_apb_system_configuration :: do_allocate_pattern 

  function bit
 svt_apb_configuration::do_compare

 (  uvm_object rhs , uvm_comparer comparer  ) 


Compares the object with rhs..

rhs - Object to be compared against.


 Superseded functions 
 uvm_object :: do_compare 
 svt_sequence_item_base :: do_compare 
 Superseding functions 
 svt_apb_slave_configuration :: do_compare 

  function void
 svt_apb_configuration::do_copy

 (  uvm_object rhs  ) 


Extend the copy routine to copy the virtual interface

 Superseded functions 
 uvm_object :: do_copy 
 uvm_transaction :: do_copy 
 svt_sequence_item_base :: do_copy 
 svt_configuration :: do_copy 
 Superseding functions 
 svt_apb_slave_configuration :: do_copy 
 svt_apb_system_configuration :: do_copy 

  function bit
 svt_apb_configuration::do_is_valid

 (  bit silent = 1, int kind = RELEVANT  ) 


Does a basic validation of this configuration object

 Superseded functions 
 svt_sequence_item_base :: do_is_valid 
 Superseding functions 
 svt_apb_slave_configuration :: do_is_valid 
 svt_apb_system_configuration :: do_is_valid 

  function bit
 svt_apb_configuration::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 
 Superseding functions 
 svt_apb_system_configuration :: encode_prop_val 

  function string
 svt_apb_configuration::get_mcd_class_name

 (   ) 


Returns the class name for the object used for logging.

 Superseded functions 
 svt_sequence_item_base :: get_mcd_class_name 
 Superseding functions 
 svt_apb_slave_configuration :: get_mcd_class_name 
 svt_apb_system_configuration :: get_mcd_class_name 

  function bit
 svt_apb_configuration::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_configuration :: get_prop_val 
 Superseding functions 
 svt_apb_slave_configuration :: get_prop_val 
 svt_apb_system_configuration :: get_prop_val 

  function void
 svt_apb_configuration::new

 (  string name = "svt_apb_configuration"  ) 


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

name - Instance name of the configuration


 Superseded functions 
 uvm_object :: new 
 uvm_sequence_item :: new 

  function string
 svt_apb_configuration::psdisplay_short

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


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).


 Superseding functions 
 svt_apb_slave_configuration :: psdisplay_short 
 svt_apb_system_configuration :: psdisplay_short 

  function int
 svt_apb_configuration::reasonable_constraint_mode

 (  bit on_off  ) 


Method to turn reasonable constraints on/off as a block.

 Superseded functions 
 svt_sequence_item_base :: reasonable_constraint_mode 
 Superseding functions 
 svt_apb_slave_configuration :: reasonable_constraint_mode 
 svt_apb_system_configuration :: reasonable_constraint_mode 

  function bit
 svt_apb_configuration::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_configuration :: set_prop_val 
 Superseding functions 
 svt_apb_slave_configuration :: set_prop_val 
 svt_apb_system_configuration :: set_prop_val 


Member Attribute Documentation

 int  attribute
 svt_apb_configuration::amba_system_port_id = -1


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).

 svt_apb_configuration :: check_type_enum  attribute
 svt_apb_configuration::check_type = FALSE


Indicates if APB5 parity signals/checks are enabled

 bit  attribute
 svt_apb_configuration::check_valid_data_bytes_only_enable = 0


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. .

 bit  attribute
 svt_apb_configuration::control_puser_enable = 0


Enables control_puser sideband signal in APB interface

 int  attribute
 svt_apb_configuration::control_puser_width = SVT_APB_MAX_CONTROL_PUSER_WIDTH


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

 svt_apb_configuration :: idle_val_enum  attribute
 svt_apb_configuration::data_idle_value = idle_val_enum'SVT_APB_DEFAULT_DATA_IDLE_VALUE


Used by the APB master, slave models. This configuration parameter controls the values during the IDLE period,data signals will take this value.

 svt_amba_addr_mapper  attribute
 svt_apb_configuration::dest_addr_mappers[]


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

 bit  attribute
 svt_apb_configuration::enable_xml_gen = 0


Determines if Verdi Protocol Analyzer FSDB generation is enabled. type: Static

 bit  attribute
 svt_apb_configuration::implement_each_xact_enable = 0


Enables to implement a new object for each transaction, instead of reuse the same one

 bit  attribute
 svt_apb_configuration::initialize_output_signals_at_start = 1'b0


Specifies whether output signals from master/slave IFs should be initialized to 0 asynchronously at 0 simulation time.
  • 1: Intializes output signals from master/slave IFs to 0 asynchronously at 0 simulation time.
  • 0: Initializes output signals from master/slave IFs to 0 synchronously at 0 simulation time.
Configuration type: Static
Default value: 0

 bit  attribute
 svt_apb_configuration::is_active = 1


Specifies if the agent is an active or passive component. Allowed values are:
  • 1: Configures component in active mode. Enables driver, monitor and sequencer in the the agent.
  • 0: Configures component in passive mode. Enables only the monitor in the agent.
type: Static

 format_type_enum  attribute
 svt_apb_configuration::pa_format_type


Determines in which format the file should write the transaction data. Only following setting is supported: FSDB indicates FSDB format.

 int unsigned  attribute
 svt_apb_configuration::pauser_width = SVT_APB5_MAX_PAUSER_WIDTH


This attribute indicates the width that the APB master VIP will drive on PAUSER signal, and the APB slave VIP will extract from PAUSER signal. A value of 0 indicates that the APB VIP will consider PAUSER signal as disabled. Default value = 1, can be smaller.

 int unsigned  attribute
 svt_apb_configuration::pbuser_width = SVT_APB5_MAX_PBUSER_WIDTH


This attribute indicates the width that the APB slave VIP will drive on PBUSER signal, and the APB master VIP will extract from PBUSER signal. A value of 0 indicates that the APB VIP will consider PBUSER signal as disabled. Default value = 1, can be smaller.

 bit  attribute
 svt_apb_configuration::protocol_checks_coverage_enable = 0


Enables coverage for protocol checking. In a disabled state, no protocol checks coverage is generated.
  • In case of svt_apb_system_configuration object, this field controls enabling of protocol checks coverage for master.
  • In case of svt_apb_slave_configuration object, this field controls enabling of protocol checks coverage for slave.
  • This can be enabled only when protocol_checks_enable is enabled.
  • type: Dynamic

 bit  attribute
 svt_apb_configuration::protocol_checks_enable = 1


- Enables protocol checking. In a disabled state, no protocol violation messages (error or warning) are issued.
  • In case of svt_apb_system_configuration object, this field controls enabling of protocol checks for master.
  • In case of svt_apb_slave_configuration object, this field controls enabling of protocol checks for slave.
  • type: Dynamic

 int unsigned  attribute
 svt_apb_configuration::pruser_width = SVT_APB5_MAX_PWRUSER_WIDTH


This attribute indicates the width that the APB slave VIP will drive on PRUSER signal, and the APB master VIP will extract from PRUSER signal. A value of 0 indicates that the APB VIP will consider PRUSER signal as disabled. Default value = 1, can be smaller.

 int unsigned  attribute
 svt_apb_configuration::psubsysid_width = SVT_APB5_MAX_PSUBSYSID_WIDTH


This attribute indicates the width that the APB master VIP will drive on PSUBSYSID signal, and the APB slave VIP will extract from PSUBSYSID signal. A value of 0 indicates that the APB VIP will consider PSUBSYSID signal as disabled. Default value = 1, can be smaller.

 int unsigned  attribute
 svt_apb_configuration::pwakeup_assert_max_delay = 4


This variable determines the maximum value of svt_apb_transaction :: pwakeup_assert_delay. Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: pwakeup_signal are set.

 int unsigned  attribute
 svt_apb_configuration::pwakeup_assert_min_delay = 1


This variable determines the minimum value of svt_apb_transaction :: pwakeup_assert_delay. Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: pwakeup_signal are set.

 int unsigned  attribute
 svt_apb_configuration::pwakeup_least_deassert_max_delay = 5


This variable determines the maximum value of svt_apb_transaction :: pwakeup_least_deassert_delay. Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: pwakeup_signal are set.

 int unsigned  attribute
 svt_apb_configuration::pwakeup_least_deassert_min_delay = 0


This variable determines the minimum value of svt_apb_transaction :: pwakeup_least_deassert_delay. Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: pwakeup_signal are set.

 svt_apb_configuration :: pwakeup_signal_enum  attribute
 svt_apb_configuration::pwakeup_signal = APB5_WAKEUP_FALSE


APB5_WAKEUP_TRUE indicates PWAKEUP signal is enabled. APB5_WAKEUP_FALSE indicates that the APB VIP will consider PWAKEUP signal as disabled. Only applicable when svt_apb_system_configuration :: apb5_enable is set.

 int unsigned  attribute
 svt_apb_configuration::pwuser_width = SVT_APB5_MAX_PWRUSER_WIDTH


This attribute indicates the width that the APB master VIP will drive on PWUSER signal, and the APB slave VIP will extract from PWUSER signal. A value of 0 indicates that the APB VIP will consider PWUSER signal as disabled. Default value = 1, can be smaller.

 bit  attribute
 svt_apb_configuration::report_enable = 0


Determines whether transaction report information is generated in log file.
  • 1’b1: Enable trace report generation.
  • 1’b0: Disable trace report generation

  • Default value: 1'b0
  • Type: Dynamic

 svt_apb_configuration :: rme_support_enum  attribute
 svt_apb_configuration::rme_support = APB5_RME_FALSE


APB5_RME_TRUE indicates PNSE signal is enabled. APB5_RME_FALSE indicates that the APB VIP will consider PNSE signal as disabled.

 svt_amba_addr_mapper  attribute
 svt_apb_configuration::source_addr_mappers[]


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

 bit  attribute
 svt_apb_configuration::state_coverage_enable = 0


Enables state coverage of signals. State Coverage covers all possible states of a signal.
type: Dynamic

 bit  attribute
 svt_apb_configuration::toggle_coverage_enable = 0


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

 bit  attribute
 svt_apb_configuration::trace_enable = 0


Determines whether transaction trace file generation is enabled.
  • 1’b1: Enable trace file generation.
  • 1’b0: Disable trace file generation

  • Default value: 1'b0
  • Type: Dynamic

 string  attribute
 svt_apb_configuration::trace_file_name = ""


- Applicable only when trace_enable is set to 1’b1.
  • When set to a non-null string, this string type attribute indicates the name of the transaction trace file generated by the monitor.
    • Eg: apb_sys_cfg.trace_file_name = “periph_i2c.log”;
    • Eg: apb_sys_cfg.slave_cfg[0].trace_file_name = “periph_slave_i2c.log”;
  • When this is set to a null string (default value), the trace file name follows standard SVT VIP naming conventions.
  • Note:
    • The string settings should follow the standard SystemVerilog string literal requirements. For example, should not include following charaters: [, ], \, :, /, "
    • In case there are multiple agents, user needs to ensure that the trace file name settings across the agents are unique for a given simulation.
  • Default value: ""
  • Type: Static

 bit  attribute
 svt_apb_configuration::transaction_coverage_enable = 0


Enables transaction level coverage. This parameter also enables delay coverage. Delay coverage is coverage on wait states.
type: Dynamic

 bit  attribute
 svt_apb_configuration::trans_apb_state_after_reset_deasserted_enable = 1


Enables coverage group apb state after reset deasserted. type: Static

 bit  attribute
 svt_apb_configuration::trans_apb_states_covered_enable = 1


Enables coverage for covergroup trans_apb_states_covered.
type: Static

 bit  attribute
 svt_apb_configuration::trans_cross_master_to_slave_path_access_cov_enable = 0


Enables APB transaction coverage group for APB master_to_slave_path_access
type: Static

 bit  attribute
 svt_apb_configuration::trans_cross_write_pstrb_enable = 1


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.

 bit  attribute
 svt_apb_configuration::trans_cross_xact_type_address_enable = 1


Enables coverage group for cross coverage between transaction type and address.
type: Static

 bit  attribute
 svt_apb_configuration::trans_cross_xact_type_pprot_enable = 1


Enables coverage group for cross coverage between transaction type and PPROT.
type: Static

Only applicable when svt_apb_system_configuration :: apb4_enable is set.

 bit  attribute
 svt_apb_configuration::trans_cross_xact_type_pslverr_enable = 1


Enables coverage group for cross coverage between transaction type and PSLVERR.
type: Static

 bit  attribute
 svt_apb_configuration::trans_cross_xact_type_wait_enable = 1


Enables coverage group for cross coverage between transaction type and number of wait states.
type: Static

 bit  attribute
 svt_apb_configuration::trans_four_state_err_resp_sequence_cov_enable = 1


Enables coverage group for coverage of a ERR response for a sequence of four transactions
type: Static

 bit  attribute
 svt_apb_configuration::trans_four_state_rd_wr_sequence_cov_enable = 1


Enables coverage group for coverage of a sequence of four transactions
type: Static

 bit  attribute
 svt_apb_configuration::trans_pslverr_signal_transition_enable = 1


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

 bit  attribute
 svt_apb_configuration::trans_pstrb_addr_aligned_unaligned16_cov_enable = 1


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.

 bit  attribute
 svt_apb_configuration::trans_pstrb_addr_aligned_unaligned32_cov_enable = 1


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.

 bit  attribute
 svt_apb_configuration::trans_pstrb_addr_aligned_unaligned64_cov_enable = 1


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.

 bit  attribute
 svt_apb_configuration::trans_read_x_on_prdata_when_pslverr_enable = 1


Enables coverage group x on prdata when pslverr=1.
type: Static

 bit  attribute
 svt_apb_configuration::unaligned_address_support = 0


This attribute controls the unaligned address support. Enabling this configuration provides the VIP support for Unaligned transfers.
  • This will generate unaligned addresses and perform any checks for the unaligned addresses which the manager generate.
  • Subordinate will not flag any errors or warnings for unaligned addresses and manage the unaligned address by aligning it to appropriate aligned address and write/read for the correct byte lane using PSTRB or address alignment.

 bit  attribute
 svt_apb_configuration::use_pv_socket = 0


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.

 bit  attribute
 svt_apb_configuration::use_tlm_generic_payload = 0


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//apb_master_agent_svt/sverilog/src/vcs/svt_apb_tlm_gp_sequence_collection.svp Transactions created by the layering sequence are of type cust_svt_tlm_gp_to_apb_master_transaction. Any user constraints specific to APB must be provided in a class extended from this class.

In passive mode, observed APB transactions are made available as TLM GP transactions through the tlm_generic_payload_observed_port in the monitor.


Member Typedef Documentation

 typedef enum  svt_apb_configuration::check_type_enum

Enumerated type to specify for APB5 parity signals.

FALSE(0)
ODD_PARITY_BYTE_ALL(1)

 typedef enum  svt_apb_configuration::idle_val_enum

Enumerated type to specify idle state of signals.

INACTIVE_LOW_VAL(SVT_APB_INACTIVE_LOW_VAL)
Signal is driven to 0. For multi-bit signals each bit is driven to 0.
INACTIVE_HIGH_VAL(SVT_APB_INACTIVE_HIGH_VAL)
Signal is driven to 1. For multi-bit signals each bit is driven to 1.
INACTIVE_X_VAL(SVT_APB_INACTIVE_X_VAL)
Signal is driven to X. For multi-bit signals each bit is driven to X.
INACTIVE_Z_VAL(SVT_APB_INACTIVE_Z_VAL)
Signal is driven to Z. For multi-bit signals each bit is driven to Z.
INACTIVE_PREV_VAL(SVT_APB_INACTIVE_PREV_VAL)
Signal is driven to a previous value.

 typedef enum  svt_apb_configuration::pwakeup_signal_enum

Enumerated type to specify for APB5 pwakeup support.

APB5_WAKEUP_FALSE(0)
APB5_WAKEUP_TRUE(1)

 typedef enum  svt_apb_configuration::rme_support_enum

Enumerated type to specify for APB5 rme support.

APB5_RME_FALSE(0)
APB5_RME_TRUE(1)


Member Constraint Documentation

  constraint
 svt_apb_configuration::valid_ranges


Randomizable variables

constraint valid_ranges {
  }