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

Inheritance diagram for class svt_apb_transaction:

List of all members.


Detailed Description

This is the transaction class which contains all the physical attributes of the transaction like address and data. It also provides the wait state information of the transaction.



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_xml_pattern ( )
function bit  cal_parity_bit_from_data ( bit [3:0] data_granularity = 8, bit [7:0] data, bit odd_parity = 1 )
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 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 void  gen_parity_attribute_check ( string entry = "", bit perform_check, svt_apb_configuration cfg )
function void  generate_pstrb ( input int data_width )
function bit [SVT_APB_MAX_ADDR_WIDTH-1:0]  get_aligned_addr ( bit [SVT_APB_MAX_ADDR_WIDTH-1:0] addr, int data_wdth )
function bit [SVT_APB_MAX_DATA_WIDTH/8-1:0]  get_byteen_for_unaligned_addr ( bit [SVT_APB_MAX_ADDR_WIDTH-1:0] aligned_addr, int data_wdth )
function string  get_mcd_class_name ( )
function svt_pa_object_data  get_pa_obj_data ( string uid = "", string typ = "", string parent_uid = "", string channel = "" )
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 string  get_uid ( )
function bit  is_user_inject_parity_value_enabled ( svt_apb_transaction :: user_inject_parity_signal_enum user_inject_parity_signal )
function void  new ( string name = "svt_apb_transaction" )
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

rand bit [SVT_APB_MAX_ADDR_WIDTH-1:0]  address = 0; 
bit  auto_parity_gen_enable = 1; 
rand bit [SVT_APB_MAX_CONTROL_PUSER_WIDTH-1:0]  control_puser = 0; 
svt_apb_transaction :: xact_state_enum  curr_state 
rand bit [SVT_APB_MAX_DATA_WIDTH-1:0]  data = 0; 
rand int  num_idle_cycles = 1; 
rand int  num_wait_cycles = 0; 
rand bit [SVT_APB_MAX_ADDRCHK_WIDTH-1:0]  paddrchk 
int  parity_failure_count = 0; 
rand bit [SVT_APB5_MAX_PAUSER_WIDTH-1:0]  pauser = 0; 
rand bit [SVT_APB5_MAX_PAUSERCHK_WIDTH-1:0]  pauserchk 
rand bit [SVT_APB5_MAX_PBUSER_WIDTH-1:0]  pbuser = 0; 
rand bit [SVT_APB5_MAX_PBUSERCHK_WIDTH-1:0]  pbuserchk 
rand bit  pctrlchk 
rand svt_apb_transaction :: physical_mem_region_enum  physical_mem_region 
rand bit  pnse = 0; 
rand svt_apb_transaction :: pprot0_enum  pprot0 
rand svt_apb_transaction :: pprot1_enum  pprot1 
rand svt_apb_transaction :: pprot2_enum  pprot2 
rand bit  pslverr_enable = 0; 
rand bit  pslverrchk 
rand bit [SVT_APB_MAX_DATA_WIDTH/8-1:0]  pstrb = 'hf; 
rand bit  pstrbchk 
rand bit [SVT_APB5_MAX_PSUBSYSID_WIDTH-1:0]  psubsysid = 0; 
rand bit  psubsysidchk 
rand int unsigned  pwakeup_assert_delay = 0; 
rand svt_apb_transaction :: pwakeup_assert_mode_enum  pwakeup_assert_mode 
rand int unsigned  pwakeup_least_deassert_delay = 0; 
rand bit [SVT_APB_MAX_DATACHK_WIDTH-1:0]  pwrdatachk 
rand bit [SVT_APB5_MAX_PWRUSER_WIDTH-1:0]  pwruser = 0; 
rand bit [SVT_APB5_MAX_PWRUSERCHK_WIDTH-1:0]  pwruserchk 
int  slave_id 
bit  user_inject_parity_signal_array [ user_inject_parity_signal_enum ] 
rand svt_apb_transaction :: xact_type_enum  xact_type 

Member Typedefs

 typedef enum  physical_mem_region_enum 
 typedef enum  pprot0_enum 
 typedef enum  pprot1_enum 
 typedef enum  pprot2_enum 
 typedef enum  pwakeup_assert_mode_enum 
 typedef enum  user_inject_parity_signal_enum 
 typedef enum  xact_state_enum 
 typedef enum  xact_type_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.

bit  auto_parity_gen_enable = 1; 
rand bit [SVT_APB_MAX_ADDRCHK_WIDTH-1:0]  paddrchk 
int  parity_failure_count = 0; 
rand bit [SVT_APB5_MAX_PAUSER_WIDTH-1:0]  pauser = 0; 
rand bit [SVT_APB5_MAX_PAUSERCHK_WIDTH-1:0]  pauserchk 
rand bit [SVT_APB5_MAX_PBUSER_WIDTH-1:0]  pbuser = 0; 
rand bit [SVT_APB5_MAX_PBUSERCHK_WIDTH-1:0]  pbuserchk 
rand bit  pctrlchk 
rand bit  pnse = 0; 
rand bit  pslverrchk 
rand bit  pstrbchk 
rand bit [SVT_APB5_MAX_PSUBSYSID_WIDTH-1:0]  psubsysid = 0; 
rand bit  psubsysidchk 
rand int unsigned  pwakeup_assert_delay = 0; 
rand svt_apb_transaction :: pwakeup_assert_mode_enum  pwakeup_assert_mode 
rand int unsigned  pwakeup_least_deassert_delay = 0; 
rand bit [SVT_APB_MAX_DATACHK_WIDTH-1:0]  pwrdatachk 
rand bit [SVT_APB5_MAX_PWRUSER_WIDTH-1:0]  pwruser = 0; 
rand bit [SVT_APB5_MAX_PWRUSERCHK_WIDTH-1:0]  pwruserchk 
bit  user_inject_parity_signal_array [ user_inject_parity_signal_enum ] 


Member Function Documentation

  function svt_pattern
 svt_apb_transaction::allocate_xml_pattern

 (   ) 


allocate_xml_pattern method collects all the fields which are primitive data fields of the transaction and filters the filelds to get only the fileds to be displayed in the PA.

Return values - An svt_pattern instance containing entries for required fields to be dispalyed in PA


 Superseded functions 
 svt_sequence_item_base :: allocate_xml_pattern 
 Superseding functions 
 svt_apb_slave_transaction :: allocate_xml_pattern 

  function bit
 svt_apb_transaction::cal_parity_bit_from_data

 (  bit [3:0] data_granularity = 8, bit [7:0] data , bit odd_parity = 1  ) 


Calculate parity bit for corresponding data, also used for check, odd_parity as received parity bit, return value = 1 means check passed.

  function bit
 svt_apb_transaction::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 svt_pattern
 svt_apb_transaction::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_sequence_item :: do_allocate_pattern 
 Superseding functions 
 svt_apb_master_transaction :: do_allocate_pattern 
 svt_apb_slave_transaction :: do_allocate_pattern 

  function bit
 svt_apb_transaction::do_compare

 (  uvm_object rhs , uvm_comparer comparer  ) 


Compares the object with rhs..

rhs - Object to be compared against.

comparer - TBD


 Superseded functions 
 uvm_object :: do_compare 
 svt_sequence_item_base :: do_compare 
 svt_sequence_item :: do_compare 
 Superseding functions 
 svt_apb_master_transaction :: do_compare 
 svt_apb_slave_transaction :: do_compare 

  function bit
 svt_apb_transaction::do_is_valid

 (  bit silent = 1, int kind = RELEVANT  ) 


Does a basic validation of this transaction object

 Superseded functions 
 svt_sequence_item_base :: do_is_valid 
 svt_sequence_item :: do_is_valid 
 Superseding functions 
 svt_apb_master_transaction :: do_is_valid 
 svt_apb_slave_transaction :: do_is_valid 

  function bit
 svt_apb_transaction::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 void
 svt_apb_transaction::gen_parity_attribute_check

 (  string entry = "", bit perform_check , svt_apb_configuration cfg  ) 


Generate parity attributes, also used used for parity check With entry=“MASTER” and perform_check=0, generate P***CHK attributes sent by the master based on corresponding signals. With entry=“MASTER” and perform_check=1, perform parity checks for signals received by the master. With entry=“SLAVE” and perform_check=0, generate P***CHK attributes sent by the slave based on corresponding signals. With entry=“SLAVE” and perform_check=1, perform parity checks for signals received by the slave.

  function void
 svt_apb_transaction::generate_pstrb

 (  input int data_width  ) 


Generate PSTRB (Write Strobes) for the address with respect to the data width. Applicable for APB4 only.

  function bit [SVT_APB_MAX_ADDR_WIDTH-1:0]
 svt_apb_transaction::get_aligned_addr

 (  bit [SVT_APB_MAX_ADDR_WIDTH-1:0] addr , int data_wdth  ) 


Calculate the aligned address for the provided unaligned address with respect to the data width.

  function bit [SVT_APB_MAX_DATA_WIDTH/8-1:0]
 svt_apb_transaction::get_byteen_for_unaligned_addr

 (  bit [SVT_APB_MAX_ADDR_WIDTH-1:0] aligned_addr , int data_wdth  ) 


Generate byteen for write transactions based on the unaligend address for slave memory updates.

  function string
 svt_apb_transaction::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_master_transaction :: get_mcd_class_name 
 svt_apb_slave_transaction :: get_mcd_class_name 

  function svt_pa_object_data
 svt_apb_transaction::get_pa_obj_data

 (  string uid = "", string typ = "", string parent_uid = "", string channel = ""  ) 


This method returns PA object which contains the PA header information for XML or FSDB.

uid - Optional string indicating the unique identification value for object. If not provided uses the 'get_uid' method to retrieve the value.

typ - Optional string indicating the 'type' of the object. If not provided uses the type name for the class.

parent_uid - Optional string indicating the UID of the object's parent. If not provided the method assumes there is no parent.

channel - Optional string indicating an object channel. If not provided the method assumes there is no channel.

Return values - The requested object block description.


 Superseded functions 
 svt_sequence_item_base :: get_pa_obj_data 
 svt_sequence_item :: get_pa_obj_data 
 Superseding functions 
 svt_apb_master_transaction :: get_pa_obj_data 
 svt_apb_slave_transaction :: get_pa_obj_data 

  function bit
 svt_apb_transaction::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 
 Superseding functions 
 svt_apb_master_transaction :: get_prop_val 
 svt_apb_slave_transaction :: get_prop_val 

  function string
 svt_apb_transaction::get_uid

 (   ) 


This method returns a string indication unique identification value for object .

 Superseded functions 
 svt_sequence_item_base :: get_uid 
 Superseding functions 
 svt_apb_master_transaction :: get_uid 
 svt_apb_slave_transaction :: get_uid 

  function bit
 svt_apb_transaction::is_user_inject_parity_value_enabled

 (  svt_apb_transaction :: user_inject_parity_signal_enum user_inject_parity_signal  ) 


Returns 1, If the error injection configuration for given parity check signal in the svt_apb_transaction :: user_inject_parity_signal_array is enabled, else returns 0.

  function void
 svt_apb_transaction::new

 (  string name = "svt_apb_transaction"  ) 


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

name - Instance name of the transaction


 Superseded functions 
 uvm_object :: new 
 uvm_sequence_item :: new 
 Superseding functions 
 svt_apb_master_transaction :: new 
 svt_apb_master_reg_transaction :: new 
 svt_apb_slave_transaction :: new 

  function string
 svt_apb_transaction::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).


 Superseded functions 
 svt_sequence_item :: psdisplay_short 
 Superseding functions 
 svt_apb_master_transaction :: psdisplay_short 
 svt_apb_slave_transaction :: psdisplay_short 

  function int
 svt_apb_transaction::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_master_transaction :: reasonable_constraint_mode 
 svt_apb_slave_transaction :: reasonable_constraint_mode 

  function bit
 svt_apb_transaction::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 
 Superseding functions 
 svt_apb_master_transaction :: set_prop_val 
 svt_apb_slave_transaction :: set_prop_val 


Member Attribute Documentation

 rand bit [SVT_APB_MAX_ADDR_WIDTH-1:0]  attribute
 svt_apb_transaction::address = 0


Payload address.

This property is non-rand for slave transactions.

 bit  attribute
 svt_apb_transaction::auto_parity_gen_enable = 1


The variable represents configuration for parity value generation. When the value is set to '1', VIP generates the parity values for corresponding check signals and drives them. When the value is set to '0', and respective parity signal index is set to '1' in the svt_apb_transaction :: user_inject_parity_signal_array, VIP drives the parity values provided by the user. Default Value : 1.

 rand bit [SVT_APB_MAX_CONTROL_PUSER_WIDTH-1:0]  attribute
 svt_apb_transaction::control_puser = 0


This property allows user to send sideband information on APB interface signal control_puser

 svt_apb_transaction :: xact_state_enum  attribute
 svt_apb_transaction::curr_state


This member reflects the current state of the transaction. This member is updated by the VIP. After user gets access to the transaction object handle, user can track the transaction progress using this member. This member reflects whether transaction is in IDLE state, SETUP state, ACCESS state or ABORTED state.

 rand bit [SVT_APB_MAX_DATA_WIDTH-1:0]  attribute
 svt_apb_transaction::data = 0


Payload data.

This property is rand for both master and slave transactions.

 rand int  attribute
 svt_apb_transaction::num_idle_cycles = 1


If this is an idle transaction, define the number of cycles idle.

This property is non-rand for slave transactions.

 rand int  attribute
 svt_apb_transaction::num_wait_cycles = 0


Number of wait cycles that the slave injects

This property is non-rand for master transactions.

Only applicable when svt_apb_system_configuration :: apb3_enable or svt_apb_system_configuration :: apb4_enable is set.

 rand bit [SVT_APB_MAX_ADDRCHK_WIDTH-1:0]  attribute
 svt_apb_transaction::paddrchk


This variable represents PADDRCHK value Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 int  attribute
 svt_apb_transaction::parity_failure_count = 0


This variable represents the failure count of parity checks, observe the failure details in the error prints. Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit [SVT_APB5_MAX_PAUSER_WIDTH-1:0]  attribute
 svt_apb_transaction::pauser = 0


This variable represents PAUSER value. Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: pauser_width are set.

 rand bit [SVT_APB5_MAX_PAUSERCHK_WIDTH-1:0]  attribute
 svt_apb_transaction::pauserchk


This variable represents PAUSERCHK value Only present if PAUSER exists Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit [SVT_APB5_MAX_PBUSER_WIDTH-1:0]  attribute
 svt_apb_transaction::pbuser = 0


This variable represents PBUSER value. Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: pbuser_width are set.

 rand bit [SVT_APB5_MAX_PBUSERCHK_WIDTH-1:0]  attribute
 svt_apb_transaction::pbuserchk


This variable represents PBUSERCHK value Only present if PBUSER exists Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit  attribute
 svt_apb_transaction::pctrlchk


This variable represents PCTRLCHK value Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand svt_apb_transaction :: physical_mem_region_enum  attribute
 svt_apb_transaction::physical_mem_region = APB_SECURE


This variable represents targeted physical memory region, and determines pnse/pprot1 values. APB_SECURE: pnse=0, pprot=0, applicable in APB4 APB_NON_SECURE: pnse=0, pprot=1, applicable in APB4 APB_ROOT: pnse=1, pprot=0, only applicable in APB5 APB_REALM: pnse=1, pprot=1, only applicable in APB5 Only applicable when svt_apb_system_configuration :: apb4_enable, or svt_apb_system_configuration :: apb4_enable and svt_apb_system_configuration:apb5_enable and svt_apb_configuration:rme_support are set.

 rand bit  attribute
 svt_apb_transaction::pnse = 0


This variable represents PNSE value, and is determined by svt_apb_transaction :: physical_mem_region. Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: rme_support are set.

 rand svt_apb_transaction :: pprot0_enum  attribute
 svt_apb_transaction::pprot0 = NORMAL


prot[0] value

This property is non-rand for slave transactions.

Only applicable when svt_apb_system_configuration :: apb4_enable is set.

 rand svt_apb_transaction :: pprot1_enum  attribute
 svt_apb_transaction::pprot1 = SECURE


prot[1] value

This property is non-rand for slave transactions. This variable is determined by svt_apb_transaction :: physical_mem_region.

Only applicable when svt_apb_system_configuration :: apb4_enable is set.

 rand svt_apb_transaction :: pprot2_enum  attribute
 svt_apb_transaction::pprot2 = DATA


prot[2] value

This property is non-rand for slave transactions.

Only applicable when svt_apb_system_configuration :: apb4_enable is set.

 rand bit  attribute
 svt_apb_transaction::pslverr_enable = 0


On Slave side, this member is used to inject slave error response.

APB Slave VIP drives error response when this member is set to 1 in APB Slave transaction.

On Master side, this member is used to report whether master received error response. If APB Master VIP receives error response from slave, this member is set to 1 in APB Master transaction.

This property is non-rand in APB Master transaction.

Only applicable when svt_apb_system_configuration :: apb3_enable or svt_apb_system_configuration :: apb4_enable is set.

 rand bit  attribute
 svt_apb_transaction::pslverrchk


This variable represents PSLVERRCHK value Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit [SVT_APB_MAX_DATA_WIDTH/8-1:0]  attribute
 svt_apb_transaction::pstrb = 'hf


Write strobe values

This property controls which bytes are written to memory.

This property is non-rand for slave transactions.

Only applicable when svt_apb_system_configuration :: apb4_enable is set.

 rand bit  attribute
 svt_apb_transaction::pstrbchk


This variable represents PSTRBCHK value Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit [SVT_APB5_MAX_PSUBSYSID_WIDTH-1:0]  attribute
 svt_apb_transaction::psubsysid = 0


This variable represents PSUBSYSID value. Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: psubsysid_width are set.

 rand bit  attribute
 svt_apb_transaction::psubsysidchk


This variable represents PSUBSYSIDCHK value Only present if PSUBSYSID exists Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand int unsigned  attribute
 svt_apb_transaction::pwakeup_assert_delay = 0


This variable represents the delay clock cycles between PWAKEUP and PSEL assertions for svt_apb_transaction :: pwakeup_assert_mode. It’s constrained in range of svt_apb_configuration :: pwakeup_assert_min_delay (default 1) and svt_apb_configuration :: pwakeup_assert_max_delay (default 4). Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: pwakeup_signal are set, and svt_apb_transaction :: pwakeup_assert_mode is set to APB5_PWAKEUP_BEFORE_PSEL/APB5_PWAKEUP_AFTER_PSEL. Only applicable for IDLE transfers or the first transfer, reset when PSELx are all 0.

 rand svt_apb_transaction :: pwakeup_assert_mode_enum  attribute
 svt_apb_transaction::pwakeup_assert_mode = APB5_PWAKEUP_NONE


APB5_PWAKEUP_NONE indicates PWAKEUP is disabled. APB5_PWAKEUP_IDLE indicates PWAKEUP asserted for IDLE transfer. APB5_PWAKEUP_BEFORE_PSEL indicates PWAKEUP asserted before PSEL. APB5_PWAKEUP_DURING_PSEL indicates PWAKEUP asserted during PSEL. APB5_PWAKEUP_AFTER_PSEL indicates PWAKEUP asserted after PSEL, this option could risk the DUT completer to miss setup phase info. Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: pwakeup_signal are set. Only applicable for IDLE transfers or the first transfer, reset when PSELx are all 0.

 rand int unsigned  attribute
 svt_apb_transaction::pwakeup_least_deassert_delay = 0


Value of 0 means PWAKEUP will not de-assert until IDLE state, PSELx are all 0. Value of positive means the least delay clock cycles before de-asserting PWAKEUP, as PWAKEUP can only de-assert while transfer completion. It’s constrained in range of svt_apb_configuration :: pwakeup_least_deassert_min_delay (default 0) and svt_apb_configuration :: pwakeup_least_deassert_max_delay (default 5). Note the exception that PWAKEUP could de-assert in advance for IDLE state. Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: pwakeup_signal are set. Only applicable for IDLE transfers or the first transfer, reset when PSELx are all 0.

 rand bit [SVT_APB_MAX_DATACHK_WIDTH-1:0]  attribute
 svt_apb_transaction::pwrdatachk


This variable represents PWDATACHK/PRDATACHK value Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit [SVT_APB5_MAX_PWRUSER_WIDTH-1:0]  attribute
 svt_apb_transaction::pwruser = 0


This variable represents PWUSER/PRUSER value. Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: pwuser_width or svt_apb_configuration :: pruser_width are set.

 rand bit [SVT_APB5_MAX_PWRUSERCHK_WIDTH-1:0]  attribute
 svt_apb_transaction::pwruserchk


This variable represents PWUSERCHK/PRUSERCHK value Only present if PWUSER/PRUSER exists Only applicable when svt_apb_system_configuration :: apb5_enable, and svt_apb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 int  attribute
 svt_apb_transaction::slave_id


Value identifies which slave index this transaction was received on

 bit  attribute
 svt_apb_transaction::user_inject_parity_signal_array[ user_inject_parity_signal_enum ]


The array holds the enable/disable configuration values for user inject parity support.
  • User can set the respective parity signal index to '1' to inject user provided parity value on the respective *chk signals.
  • This feature can be enabled only when svt_apb_transaction :: auto_parity_gen_enable is set to '0' and corresponding parity signal index in the array is set to '1'.
For example, to inject user provided parity value on check signal PADDRCHK: Set svt_apb_transaction :: auto_parity_gen_enable to '0' and user_inject_parity_signal_array[PADDRCHK_EN] = 1.

 rand svt_apb_transaction :: xact_type_enum  attribute
 svt_apb_transaction::xact_type = IDLE


Defines whether this is a write or read transaction, or an idle transaction.

This property is rand for master transactions, and non-rand for slave transactions.


Member Typedef Documentation

 typedef enum  svt_apb_transaction::physical_mem_region_enum

Enumerated type to specify for APB5 physical memory region.

APB_SECURE(0)
APB_NON_SECURE(1)
APB_ROOT(2)
APB_REALM(3)

 typedef enum  svt_apb_transaction::pprot0_enum

Enum to represent prot[0]

NORMAL(SVT_APB_TRANSACTION_PPROT0_NORMAL)
PRIVILEGED(SVT_APB_TRANSACTION_PPROT0_PRIVILEGED)

 typedef enum  svt_apb_transaction::pprot1_enum

Enum to represent prot[0]

SECURE(SVT_APB_TRANSACTION_PPROT1_SECURE)
NON_SECURE(SVT_APB_TRANSACTION_PPROT1_NON_SECURE)

 typedef enum  svt_apb_transaction::pprot2_enum

Enum to represent prot[0]

DATA(SVT_APB_TRANSACTION_PPROT2_DATA)
INSTRUCTION(SVT_APB_TRANSACTION_PPROT2_INSTRUCTION)

 typedef enum  svt_apb_transaction::pwakeup_assert_mode_enum

Enumerated type to specify APB5 PWAKEUP mode

APB5_PWAKEUP_NONE(0)
APB5_PWAKEUP_IDLE(1)
APB5_PWAKEUP_BEFORE_PSEL(2)
APB5_PWAKEUP_DURING_PSEL(3)
APB5_PWAKEUP_AFTER_PSEL(4)

 typedef enum  svt_apb_transaction::user_inject_parity_signal_enum

Enum to enable/disable user inject parity value support in parity feature. These enums are used as indices for associative array: svt_apb_transaction :: user_inject_parity_signal_array.

PADDRCHK_EN
PCTRLCHK_EN
PWRDATACHK_EN
PSLVERRCHK_EN
PSTRBCHK_EN
PAUSERCHK_EN
PWRUSERCHK_EN
PBUSERCHK_EN
PSUBSYSIDCHK_EN

 typedef enum  svt_apb_transaction::xact_state_enum

Enum to represent FSM State

IDLE_STATE(SVT_APB_TRANSACTION_STATE_IDLE)
SETUP_STATE(SVT_APB_TRANSACTION_STATE_SETUP)
ACCESS_STATE(SVT_APB_TRANSACTION_STATE_ENABLE)
UNKNOWN_STATE(SVT_APB_TRANSACTION_STATE_UNKNOWN)
ABORT_STATE(SVT_APB_TRANSACTION_STATE_ABORTED)

 typedef enum  svt_apb_transaction::xact_type_enum

Enum to represent transaction type

READ(SVT_APB_TRANSACTION_TYPE_READ)
WRITE(SVT_APB_TRANSACTION_TYPE_WRITE)
IDLE(SVT_APB_TRANSACTION_TYPE_IDLE)


Member Constraint Documentation

  constraint
 svt_apb_transaction::valid_ranges


constraint valid_ranges {
  }