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

Inheritance diagram for class svt_ahb_transaction:

List of all members.


Detailed Description

This is the transaction class which contains all the physical attributes of the transaction like address, burst type, burst size, data etc. At the end of each transaction, the master and slave VIP component provides extended object of type svt_ahb_transaction from its analysis ports in active and passive mode.



Class Member Groupings

Miscellaneous attributes  This group contains miscellaneous attributes which do not fall under any of the categories above.
AHB transaction status attributes  This group contains attributes which report the status of AHB transaction.
AHB protocol attributes  This group contains attributes which are relevant to AHB protocol.

Public Member Functions

virtual function vmm_data  allocate ( )
function svt_pattern  allocate_xml_pattern ( )
virtual function unsigned int  byte_pack ( ref logic [7:0] bytes[], input int unsigned offset, input int kind )
function unsigned int  byte_size ( int kind = -1 )
virtual function unsigned int  byte_unpack ( const ref logic [7:0] bytes[], input int unsigned offset, input int len, input int kind )
function void  check_addr_location_wrt_wrap_boundary ( input int beat_num, output bit [SVT_AHB_MAX_ADDR_WIDTH-1:0] wrap_boundary, output svt_ahb_transaction :: beat_addr_wrt_wrap_boundary_enum addr_wrt_wrap_boundary, output int num_beats_till_wrap )
virtual function bit  compare ( vmm_data to, output string diff, input int kind )
virtual function vmm_data  copy ( vmm_data to = null )
static function svt_ahb_transaction  create_instance ( vmm_object parent, string name, string fname = "", int lineno = 0 )
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 void  do_all ( vmm_data :: do_what_e do_what, ref logic [7:0] pack[], const ref logic [7:0] unpack[] )
function svt_pattern  do_allocate_pattern ( )
function unsigned int  do_byte_pack ( ref logic [7:0] bytes[], input int unsigned offset, input int kind )
function unsigned int  do_byte_unpack ( const ref logic [7:0] bytes[], input int unsigned offset, input int len, input int kind )
function bit  do_compare ( vmm_data to, output string diff, input int kind )
function bit  do_is_valid ( bit silent = 1, int kind = -1 )
function bit  enable_trace ( )
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  generate_hbstrb ( input logic [SVT_AHB_MAX_ADDR_WIDTH-1:0] beat_addr, input int beat_num, input int data_width, output bit [SVT_AHB_HBSTRB_PORT_WIDTH-1:0] beat_hbstrb )
function logic [SVT_AHB_MAX_ADDR_WIDTH-1:0]  get_beat_addr ( input int beat_num, input int data_width )
function void  get_beat_lane ( input int beat_num, input logic [SVT_AHB_MAX_ADDR_WIDTH-1:0] beat_addr, input int data_width_in_bytes, output int lower_byte_lane, output int upper_byte_lane )
function int  get_burst_length ( )
function int  get_byte_count ( )
function string  get_class_name ( )
function bit [SVT_AHB_MAX_ADDR_WIDTH-1:0]  get_max_byte_address ( bit convert_to_global_addr = 0, bit convert_to_slave_addr = 0, string requester_name = "", svt_ahb_configuration cfg = null )
function bit [SVT_AHB_MAX_ADDR_WIDTH-1:0]  get_min_byte_address ( bit convert_to_global_addr = 0, bit convert_to_slave_addr = 0, string requester_name = "", svt_ahb_configuration cfg = null )
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_data data_obj )
function void  get_retry_response_info ( output int num_retry_responses, output int beats_with_retry_response[] )
function svt_transaction  get_trace_xact_factory ( )
virtual function string  get_typename ( )
function int  get_wrap_boundary_idx ( input int data_width )
function bit  is_sparse_transfer ( input int data_width_in_bytes, input int beat_num )
function bit  is_unaligned_address ( input int beat_num )
virtual function bit  is_valid ( bit silent = 1, int kind = -1 )
function void  new ( vmm_log log = null )
static function void  override_with_copy ( string name, svt_ahb_transaction factory, vmm_log log, string fname = "", int lineno = 0 )
static function void  override_with_new ( string name, svt_ahb_transaction factory, vmm_log log, string fname = "", int lineno = 0 )
function void  pack_data_to_byte_stream ( input int data_width, input bit [SVT_AHB_MAX_DATA_WIDTH-1:0] data_to_pack[], output bit [7:0] packed_data[] )
virtual function string  psdisplay ( string prefix = "" )
function string  psdisplay_short ( string prefix = "", bit hdr_only = 0 )
function int  reasonable_constraint_mode ( bit on_off )
function void  rebuild_transaction ( bit [SVT_AHB_MAX_ADDR_WIDTH-1:0] start_addr, int beat_num, bit ebt_due_to_loss_of_grant = 'b0, bit rebuild_using_wrap_boundary_as_start_addr = 'b0, output bit [SVT_AHB_MAX_ADDR_WIDTH-1:0] wrap_boundary, output svt_ahb_transaction :: beat_addr_wrt_wrap_boundary_enum addr_wrt_wrap_boundary, input svt_ahb_transaction rebuild_xact )
function bit  set_prop_val ( string prop_name, bit [1023:0] prop_val, int array_ix )
static function svt_ahb_transaction  this_type ( )
function bit  transfer_crosses_byte_boundary ( input int data_width_in_bytes, svt_ahb_transaction :: burst_size_enum transfer_burst_size = burst_size )
static function void  Xadd_patternX ( vmm_factory_pattern_info fact )

Public Attributes

svt_ahb_transaction :: aborted_xact_status_enum  aborted_xact_status 
rand bit [SVT_AHB_MAX_ADDR_WIDTH-1:0]  addr = 0; 
svt_ahb_transaction :: response_type_enum  all_beat_response[] 
svt_transaction :: status_enum  beat_status 
rand svt_ahb_transaction :: burst_size_enum  burst_size 
rand svt_ahb_transaction :: burst_type_enum  burst_type 
svt_ahb_configuration  cfg 
rand bit [SVT_AHB_MAX_USER_WIDTH-1:0]  control_huser = 0; 
int  current_data_beat_num 
rand bit [SVT_AHB_MAX_DATA_WIDTH-1:0]  data [] 
rand bit [SVT_AHB_MAX_DATA_USER_WIDTH-1:0]  data_huser [] 
rand bit  idle_xact_hwrite = 1; 
rand bit  lock = 1'b0; 
bit  multilayer_interconnect_termination = 0; 
rand svt_ahb_transaction :: nonsec_trans_enum  nonsec_trans 
rand int  num_busy_cycles [] 
rand int  num_incr_beats = 1; 
int  num_wait_cycles_per_beat [$] 
int  object_num = -1; 
string  object_typ 
int  port_id 
rand svt_ahb_transaction :: prot0_type_enum  prot0_type 
rand svt_ahb_transaction :: prot1_type_enum  prot1_type 
rand svt_ahb_transaction :: prot2_type_enum  prot2_type 
rand svt_ahb_transaction :: prot3_ex_type_enum  prot3_ex_type 
rand svt_ahb_transaction :: prot3_type_enum  prot3_type 
rand svt_ahb_transaction :: prot4_ex_type_enum  prot4_ex_type 
rand svt_ahb_transaction :: prot4_type_enum  prot4_type 
rand svt_ahb_transaction :: prot5_ex_type_enum  prot5_ex_type 
rand svt_ahb_transaction :: prot5_type_enum  prot5_type 
rand svt_ahb_transaction :: prot6_ex_type_enum  prot6_ex_type 
rand svt_ahb_transaction :: response_type_enum  response_type 
svt_transaction :: status_enum  status 
svt_ahb_transaction :: trans_type_enum  trans_type 
rand bit  unalign = 0; 
rand svt_ahb_transaction :: xact_type_enum  xact_type 

Protected Attributes

static protected svt_ahb_transaction  __vmm_rhs 

Member Typedefs

 typedef enum  aborted_xact_status_enum 
 typedef enum  beat_addr_wrt_wrap_boundary_enum 
 typedef enum  burst_size_enum 
 typedef enum  burst_type_enum 
 typedef enum  nonsec_trans_enum 
 typedef enum  prot0_type_enum 
 typedef enum  prot1_type_enum 
 typedef enum  prot2_type_enum 
 typedef enum  prot3_ex_type_enum 
 typedef enum  prot3_type_enum 
 typedef enum  prot4_ex_type_enum 
 typedef enum  prot4_type_enum 
 typedef enum  prot5_ex_type_enum 
 typedef enum  prot5_type_enum 
 typedef enum  prot6_ex_type_enum 
 typedef enum  response_type_enum 
 typedef enum  trans_type_enum 
 typedef enum  xact_type_enum 
 typedef class  _factory_base 

Class Member Groupings



Group: Miscellaneous attributes

This group contains miscellaneous attributes which do not fall under any of the categories above.

int  object_num = -1; 
string  object_typ 
int  port_id 


Group: AHB transaction status attributes

This group contains attributes which report the status of AHB transaction.

svt_ahb_transaction :: aborted_xact_status_enum  aborted_xact_status 
svt_transaction :: status_enum  beat_status 
int  current_data_beat_num 
svt_transaction :: status_enum  status 


Group: AHB protocol attributes

This group contains attributes which are relevant to AHB protocol.

rand bit [SVT_AHB_MAX_ADDR_WIDTH-1:0]  addr = 0; 
svt_ahb_transaction :: response_type_enum  all_beat_response[] 
rand svt_ahb_transaction :: burst_size_enum  burst_size 
rand svt_ahb_transaction :: burst_type_enum  burst_type 
rand bit [SVT_AHB_MAX_USER_WIDTH-1:0]  control_huser = 0; 
rand bit [SVT_AHB_MAX_DATA_WIDTH-1:0]  data [] 
rand bit [SVT_AHB_MAX_DATA_USER_WIDTH-1:0]  data_huser [] 
rand bit  idle_xact_hwrite = 1; 
rand bit  lock = 1'b0; 
bit  multilayer_interconnect_termination = 0; 
rand svt_ahb_transaction :: nonsec_trans_enum  nonsec_trans 
rand int  num_busy_cycles [] 
rand int  num_incr_beats = 1; 
int  num_wait_cycles_per_beat [$] 
rand svt_ahb_transaction :: prot0_type_enum  prot0_type 
rand svt_ahb_transaction :: prot1_type_enum  prot1_type 
rand svt_ahb_transaction :: prot2_type_enum  prot2_type 
rand svt_ahb_transaction :: prot3_ex_type_enum  prot3_ex_type 
rand svt_ahb_transaction :: prot3_type_enum  prot3_type 
rand svt_ahb_transaction :: prot4_ex_type_enum  prot4_ex_type 
rand svt_ahb_transaction :: prot4_type_enum  prot4_type 
rand svt_ahb_transaction :: prot5_ex_type_enum  prot5_ex_type 
rand svt_ahb_transaction :: prot5_type_enum  prot5_type 
rand svt_ahb_transaction :: prot6_ex_type_enum  prot6_ex_type 
rand svt_ahb_transaction :: response_type_enum  response_type 
svt_ahb_transaction :: trans_type_enum  trans_type 
rand bit  unalign = 0; 
rand svt_ahb_transaction :: xact_type_enum  xact_type 


Member Function Documentation

 virtual function vmm_data
 svt_ahb_transaction::allocate

 (   ) 


 Superseded functions 
 vmm_data :: allocate 
 svt_data :: allocate 
 svt_transaction :: allocate 
 Superseding functions 
 svt_ahb_master_transaction :: allocate 
 svt_ahb_slave_transaction :: allocate 

  function svt_pattern
 svt_ahb_transaction::allocate_xml_pattern

 (   ) 


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

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


 Superseded functions 
 svt_data :: allocate_xml_pattern 
 svt_transaction :: allocate_xml_pattern 
 Superseding functions 
 svt_ahb_master_transaction :: allocate_xml_pattern 
 svt_ahb_slave_transaction :: allocate_xml_pattern 

 virtual function unsigned int
 svt_ahb_transaction::byte_pack

 (  ref logic [7:0] bytes [], input int unsigned offset , input int kind  ) 


 Superseded functions 
 vmm_data :: byte_pack 
 svt_data :: byte_pack 
 svt_transaction :: byte_pack 
 Superseding functions 
 svt_ahb_master_transaction :: byte_pack 
 svt_ahb_slave_transaction :: byte_pack 

  function unsigned int
 svt_ahb_transaction::byte_size

 (  int kind = -1  ) 


Returns the size (in bytes) required by the byte_pack operation.

kind - This int indicates the type of byte_size being requested. Only supported kind value is svt_data :: COMPLETE, which results in a size calculation based on the non-static fields. All other kind values result in a return value of 0.


 Superseded functions 
 vmm_data :: byte_size 
 svt_data :: byte_size 
 svt_transaction :: byte_size 
 Superseding functions 
 svt_ahb_master_transaction :: byte_size 
 svt_ahb_slave_transaction :: byte_size 

 virtual function unsigned int
 svt_ahb_transaction::byte_unpack

 (  const ref logic [7:0] bytes [], input int unsigned offset , input int len , input int kind  ) 


 Superseded functions 
 vmm_data :: byte_unpack 
 svt_data :: byte_unpack 
 svt_transaction :: byte_unpack 
 Superseding functions 
 svt_ahb_master_transaction :: byte_unpack 
 svt_ahb_slave_transaction :: byte_unpack 

  function void
 svt_ahb_transaction::check_addr_location_wrt_wrap_boundary

 (  input int beat_num , output bit [SVT_AHB_MAX_ADDR_WIDTH-1:0] wrap_boundary , output svt_ahb_transaction :: beat_addr_wrt_wrap_boundary_enum addr_wrt_wrap_boundary , output int num_beats_till_wrap  ) 


Returns the beat address location with respect to WRAP boundary

 virtual function bit
 svt_ahb_transaction::compare

 (  vmm_data to , output string diff , input int kind  ) 


 Superseded functions 
 vmm_data :: compare 
 svt_data :: compare 
 svt_transaction :: compare 
 Superseding functions 
 svt_ahb_master_transaction :: compare 
 svt_ahb_slave_transaction :: compare 

 virtual function vmm_data
 svt_ahb_transaction::copy

 (  vmm_data to = null  ) 


 Superseded functions 
 vmm_data :: copy 
 svt_data :: copy 
 svt_transaction :: copy 
 Superseding functions 
 svt_ahb_master_transaction :: copy 
 svt_ahb_slave_transaction :: copy 

 static function svt_ahb_transaction
 svt_ahb_transaction::create_instance

 (  vmm_object parent , string name , string fname = "", int lineno = 0  ) 


 Superseding functions 
 svt_ahb_master_transaction :: create_instance 
 svt_ahb_slave_transaction :: create_instance 

  function bit
 svt_ahb_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_data :: decode_prop_val 
 svt_transaction :: decode_prop_val 

  function void
 svt_ahb_transaction::do_all

 (  vmm_data :: do_what_e do_what , ref logic [7:0] pack [], const ref logic [7:0] unpack []  ) 


 Superseded functions 
 vmm_data :: do_all 
 svt_data :: do_all 
 svt_transaction :: do_all 
 Superseding functions 
 svt_ahb_master_transaction :: do_all 
 svt_ahb_slave_transaction :: do_all 

  function svt_pattern
 svt_ahb_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_data :: do_allocate_pattern 
 svt_transaction :: do_allocate_pattern 
 Superseding functions 
 svt_ahb_master_transaction :: do_allocate_pattern 
 svt_ahb_slave_transaction :: do_allocate_pattern 

  function unsigned int
 svt_ahb_transaction::do_byte_pack

 (  ref logic [7:0] bytes [], input int unsigned offset , input int kind  ) 


Packs the object into the bytes buffer, beginning at offset, based on the requested byte_pack kind.

bytes - Buffer that will contain the packed bytes at the end of the operation.

offset - Offset into bytes where the packing is to begin.

kind - This int indicates the type of byte_pack being requested. Only supported kind value is svt_data :: COMPLETE, which results in all of the non-static fields being packed and the return of an integer indicating the number of packed bytes. All other kind values result in no change to the buffer contents, and a return value of 0.


 Superseded functions 
 vmm_data :: do_byte_pack 
 svt_data :: do_byte_pack 
 svt_transaction :: do_byte_pack 
 Superseding functions 
 svt_ahb_master_transaction :: do_byte_pack 
 svt_ahb_slave_transaction :: do_byte_pack 

  function unsigned int
 svt_ahb_transaction::do_byte_unpack

 (  const ref logic [7:0] bytes [], input int unsigned offset , input int len , input int kind  ) 


Unpacks the object from the bytes buffer, beginning at offset, based on the requested byte_unpack kind.

bytes - Buffer containing the bytes to be unpacked.

offset - Offset into bytes where the unpacking is to begin.

len - Number of bytes to be unpacked.

kind - This int indicates the type of byte_unpack being requested. Only supported kind value is svt_data :: COMPLETE, which results in all of the non-static fields being unpacked and the return of an integer indicating the number of unpacked bytes. All other kind values result in no change to the exception contents, and a return value of 0.


 Superseded functions 
 vmm_data :: do_byte_unpack 
 svt_data :: do_byte_unpack 
 svt_transaction :: do_byte_unpack 
 Superseding functions 
 svt_ahb_master_transaction :: do_byte_unpack 
 svt_ahb_slave_transaction :: do_byte_unpack 

  function bit
 svt_ahb_transaction::do_compare

 (  vmm_data to , output string diff , input int kind  ) 


Compares the object with to, based on the requested compare kind. Differences are placed in diff.

to - vmm_data object to be compared against.

diff - String indicating the differences between this and to.

kind - This int indicates the type of compare to be attempted. Only supported kind value is svt_data :: COMPLETE, which results in comparisons of the non-static data members. All other kind values result in a return value of 1.


 Superseded functions 
 vmm_data :: do_compare 
 svt_data :: do_compare 
 svt_transaction :: do_compare 
 Superseding functions 
 svt_ahb_master_transaction :: do_compare 
 svt_ahb_slave_transaction :: do_compare 

  function bit
 svt_ahb_transaction::do_is_valid

 (  bit silent = 1, int kind = -1  ) 


Checks to see that the data field values are valid, focusing mainly on checking/enforcing valid_ranges constraint.

silent - If 1, no messages are issued by this method. If 0, error messages are issued by this method.

kind - Supported kind values are svt_data :: RELEVANT and svt_data :: COMPLETE. If kind is set to svt_data :: RELEVANT, this method performs validity checks only on relevant fields. Typically, these fields represent the physical attributes of the protocol. If kind is set to svt_data :: COMPLETE, this method performs validity checks on all fields of the class.


 Superseded functions 
 vmm_data :: do_is_valid 
 svt_data :: do_is_valid 
 svt_transaction :: do_is_valid 
 Superseding functions 
 svt_ahb_master_transaction :: do_is_valid 
 svt_ahb_slave_transaction :: do_is_valid 

  function bit
 svt_ahb_transaction::enable_trace

 (   ) 


This virtual method is used to enable/disable the trace capability. The base class implementation always returns 0, indicating that this feature is disabled. Extended classes wishing to support this feature must consider whether this feature should always be enabled, be enabled for all instances of the extended class, or enabled on a per instance basis. This method, and any supporting data fields, etc., in the extended class should be implemented in accordance with these decisions.

 Superseded functions 
 svt_transaction :: enable_trace 

  function bit
 svt_ahb_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_data :: encode_prop_val 
 svt_transaction :: encode_prop_val 

  function void
 svt_ahb_transaction::generate_hbstrb

 (  input logic [SVT_AHB_MAX_ADDR_WIDTH-1:0] beat_addr , input int beat_num , input int data_width , output bit [SVT_AHB_HBSTRB_PORT_WIDTH-1:0] beat_hbstrb  ) 


Returns hbstrb generated for the address provided

  function logic [SVT_AHB_MAX_ADDR_WIDTH-1:0]
 svt_ahb_transaction::get_beat_addr

 (  input int beat_num , input int data_width  ) 


Returns the address and lanes corresponding to the beat number

  function void
 svt_ahb_transaction::get_beat_lane

 (  input int beat_num , input logic [SVT_AHB_MAX_ADDR_WIDTH-1:0] beat_addr , input int data_width_in_bytes , output int lower_byte_lane , output int upper_byte_lane  ) 


Returns the active data byte lanes corresponding to the beat number, beat address

  function int
 svt_ahb_transaction::get_burst_length

 (   ) 


Returns the burst length based on burst_type

  function int
 svt_ahb_transaction::get_byte_count

 (   ) 


Returns the total number of bytes transferred in this transaction

Return values - The total number of bytes transferred in this transaction

  function string
 svt_ahb_transaction::get_class_name

 (   ) 


Returns the class name for the object.

 Superseded functions 
 svt_data :: get_class_name 
 Superseding functions 
 svt_ahb_master_transaction :: get_class_name 
 svt_ahb_slave_transaction :: get_class_name 

  function bit [SVT_AHB_MAX_ADDR_WIDTH-1:0]
 svt_ahb_transaction::get_max_byte_address

 (  bit convert_to_global_addr = 0, bit convert_to_slave_addr = 0, string requester_name = "", svt_ahb_configuration cfg = null  ) 


Gets the maximum byte address which is addressed by this transaction

convert_to_global_addr - Indicates if the min and max address of this transaction must be translated to a global address before checking for overlap

convert_to_slave_addr - Indicates whether the address should be converted to a slave address

requester_name - Name of the master component from which the transaction originated

Return values - Maximum byte address addressed by this transaction


 Superseding functions 
 svt_ahb_slave_transaction :: get_max_byte_address 

  function bit [SVT_AHB_MAX_ADDR_WIDTH-1:0]
 svt_ahb_transaction::get_min_byte_address

 (  bit convert_to_global_addr = 0, bit convert_to_slave_addr = 0, string requester_name = "", svt_ahb_configuration cfg = null  ) 


Gets the minimum byte address which is addressed by this transaction

convert_to_global_addr - Indicates if the min and max address of this transaction must be translated to a global address before checking for overlap

convert_to_slave_addr - Indicates whether the address should be converted to a slave address

requester_name - Name of the master component from which the transaction originated

Return values - Minimum byte address addressed by this transaction


 Superseding functions 
 svt_ahb_slave_transaction :: get_min_byte_address 

  function svt_pa_object_data
 svt_ahb_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_data :: get_pa_obj_data 
 svt_transaction :: get_pa_obj_data 
 Superseding functions 
 svt_ahb_master_transaction :: get_pa_obj_data 
 svt_ahb_slave_transaction :: get_pa_obj_data 

  function bit
 svt_ahb_transaction::get_prop_val

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


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

 Superseded functions 
 svt_data :: get_prop_val 
 svt_transaction :: get_prop_val 
 Superseding functions 
 svt_ahb_master_transaction :: get_prop_val 
 svt_ahb_slave_transaction :: get_prop_val 

  function void
 svt_ahb_transaction::get_retry_response_info

 (  output int num_retry_responses , output int beats_with_retry_response []  ) 


This method returns the number of times this transaction has an associated RETRY response.

num_retry_responses - Number of RETRY responses that the transaction has

beats_with_retry_response - Array of beat numbers with the RETRY response

  function svt_transaction
 svt_ahb_transaction::get_trace_xact_factory

 (   ) 


This virtual method must be replaced by transactions that make use of the trace [$] property. Derived transactions must return a typed factory object which can be used when generating the transaction references in the trace [$] transaction list.

 Superseded functions 
 svt_transaction :: get_trace_xact_factory 

 virtual function string
 svt_ahb_transaction::get_typename

 (   ) 


 Superseding functions 
 svt_ahb_master_transaction :: get_typename 
 svt_ahb_slave_transaction :: get_typename 

  function int
 svt_ahb_transaction::get_wrap_boundary_idx

 (  input int data_width  ) 


Returns the index (of data or wstrb fields) corresponding to the wrap boundary

  function bit
 svt_ahb_transaction::is_sparse_transfer

 (  input int data_width_in_bytes , input int beat_num  ) 


Returns 1 if the transfer is sparse based on the byte stobe values and returns 0 if address is not sparse Eg: For a SINGLE burst with beat_bstrb[0] = 0111_1000 with 64-BIT burst size, since all the byte lanes are not active, this can be considered as a sparse transfer.

  function bit
 svt_ahb_transaction::is_unaligned_address

 (  input int beat_num  ) 


Returns 1 if address is unaligned and returns 0 if address is aligned

 virtual function bit
 svt_ahb_transaction::is_valid

 (  bit silent = 1, int kind = -1  ) 


 Superseded functions 
 vmm_data :: is_valid 
 svt_data :: is_valid 
 svt_transaction :: is_valid 
 Superseding functions 
 svt_ahb_master_transaction :: is_valid 
 svt_ahb_slave_transaction :: is_valid 

  function void
 svt_ahb_transaction::new

 (  vmm_log log = null  ) 


 Superseding functions 
 svt_ahb_master_transaction :: new 
 svt_ahb_slave_transaction :: new 

 static function void
 svt_ahb_transaction::override_with_copy

 (  string name , svt_ahb_transaction factory , vmm_log log , string fname = "", int lineno = 0  ) 

 static function void
 svt_ahb_transaction::override_with_new

 (  string name , svt_ahb_transaction factory , vmm_log log , string fname = "", int lineno = 0  ) 

  function void
 svt_ahb_transaction::pack_data_to_byte_stream

 (  input int data_width , input bit [SVT_AHB_MAX_DATA_WIDTH-1:0] data_to_pack [], output bit [7:0] packed_data []  ) 


Returns the data in the data_to_pack[] field as a byte stream based on the burst_type. The assumption is that either data[] or cache_write_data[] fields of this class have been passed as arguments to data_to_pack[] field. In the case of WRAP bursts the data is returned such that packed_data[0] corresponds to the data for the wrap boundary. In the case of INCR bursts, the data as passed in data_to_pack[] is directly packed to packed_data[].

data_to_pack - Data to be packed

packed_data - [] Output byte stream with packed data

 virtual function string
 svt_ahb_transaction::psdisplay

 (  string prefix = ""  ) 


 Superseded functions 
 vmm_object :: psdisplay 
 vmm_data :: psdisplay 
 svt_data :: psdisplay 
 svt_transaction :: psdisplay 
 Superseding functions 
 svt_ahb_master_transaction :: psdisplay 
 svt_ahb_slave_transaction :: psdisplay 

  function string
 svt_ahb_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_transaction :: psdisplay_short 

  function int
 svt_ahb_transaction::reasonable_constraint_mode

 (  bit on_off  ) 


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

 Superseded functions 
 svt_data :: reasonable_constraint_mode 
 Superseding functions 
 svt_ahb_master_transaction :: reasonable_constraint_mode 
 svt_ahb_slave_transaction :: reasonable_constraint_mode 

  function void
 svt_ahb_transaction::rebuild_transaction

 (  bit [SVT_AHB_MAX_ADDR_WIDTH-1:0] start_addr , int beat_num , bit ebt_due_to_loss_of_grant = 'b0, bit rebuild_using_wrap_boundary_as_start_addr = 'b0, output bit [SVT_AHB_MAX_ADDR_WIDTH-1:0] wrap_boundary , output svt_ahb_transaction :: beat_addr_wrt_wrap_boundary_enum addr_wrt_wrap_boundary , input svt_ahb_transaction rebuild_xact  ) 


Called when rebuilding of a transaction is required

start_addr - Starting address for the rebuild transaction


 Superseding functions 
 svt_ahb_master_transaction :: rebuild_transaction 

  function bit
 svt_ahb_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_data :: set_prop_val 
 svt_transaction :: set_prop_val 
 Superseding functions 
 svt_ahb_master_transaction :: set_prop_val 
 svt_ahb_slave_transaction :: set_prop_val 

 static function svt_ahb_transaction
 svt_ahb_transaction::this_type

 (   ) 


 Superseding functions 
 svt_ahb_master_transaction :: this_type 
 svt_ahb_slave_transaction :: this_type 

  function bit
 svt_ahb_transaction::transfer_crosses_byte_boundary

 (  input int data_width_in_bytes , svt_ahb_transaction :: burst_size_enum transfer_burst_size = burst_size  ) 


Returns 1 if the transfer crosses the byte boundary and returns 0 if transfer does not cross byte boundary This function determines if the transfer is unaligned, whether splitting the transfer is required based on the data width and remaining byte lanes available to access. Eg: If a 32-BIT SINGLE burst transfer with address 0x1003 is driven on 64-BIT data width, even the transfer is unaligned, the transfer can be proceeded in one transfer without splitting transfer based on the unaligned address.

 static function void
 svt_ahb_transaction::Xadd_patternX

 (  vmm_factory_pattern_info fact  ) 


 Superseding functions 
 svt_ahb_master_transaction :: Xadd_patternX 
 svt_ahb_slave_transaction :: Xadd_patternX 


Member Attribute Documentation

 svt_ahb_transaction :: aborted_xact_status_enum  attribute
 svt_ahb_transaction::aborted_xact_status = NOT_ABORTED


Represents whether transaction got aborted due to reset or not.

  • NOT_ABORTED : Default status of enum. It indicated that the transaction is not aborted.

  • ABORTED_DUE_TO_RESET : Status of enum when the transaction is aborted due to RESET
  • ABORTED_DUE_TO_SPLIT_RESP: Status of enum when the transaction is aborted due to SPLIT
  • ABORTED_DUE_TO_ERROR_RESP: Status of enum when the transaction is aborted due to ERROR with error response policy being ABORT_ON_ERROR
  • ABORTED_DUE_TO_RETRY_RESP: Status of enum when the transaction is aborted due to RETRY
  • ABORTED_DUE_TO_LOSS_OF_GRANT: Status of enum when the transaction is aborted due to loss of grant

 rand bit [SVT_AHB_MAX_ADDR_WIDTH-1:0]  attribute
 svt_ahb_transaction::addr = 0


The maximum width of this signal is controlled through macro SVT_AHB_MAX_ADDR_WIDTH. Default value of this macro is 64. To change the maximum width of this variable, user can change the value of this macro. Define the new value for the macro in file svt_ahb_user_defines.svi, and then specify this file to be compiled by the simulator. Also, specify +define+SVT_AHB_INCLUDE_USER_DEFINES on the simulator compilation command line. Please consult User Guide for additional information, and consult VIP example for usage demonstration.
The SVT_AHB_MAX_ADDR_WIDTH macro is only used to control the maximum width of the signal.

 svt_ahb_transaction :: response_type_enum  attribute
 svt_ahb_transaction::all_beat_response[]


This array variable stores the responses for all the completed beats of transaction. Following are the possible response types
  • OKAY
  • ERROR
  • RETRY
  • SPLIT
  • XFAIL (applicable for Active master if AHB_LITE AHB_v6 is enabled)
ACTIVE/PASSIVE Mode -Master/Slave: Stores the responses seen on the bus for all the completed beats of transaction

 svt_transaction :: status_enum  attribute
 svt_ahb_transaction::beat_status = INITIAL


Represents the current status of the transaction. Following are the possible status types.

  • INITIAL : Indicates the default state of the flag. It gets updated once the beat level transfer begins
  • PARTIAL_ACCEPT : The status changes from INITIAL to PARTIAL_ACCEPT once the address of each beat is accepted by slave
  • ACCEPT : The status changes to ACCEPT once the beat level data is accepted by the slave
  • ABORTED : The status changes to ABORT in case the transaction is ABORTED due to ERROR/SPLIT or RETRY response from the slave or in case of EBT

 rand svt_ahb_transaction :: burst_size_enum  attribute
 svt_ahb_transaction::burst_size = BURST_SIZE_8BIT


Represents the burst size of a transaction

 rand svt_ahb_transaction :: burst_type_enum  attribute
 svt_ahb_transaction::burst_type = SINGLE


Represents the burst type of a transaction

 svt_ahb_configuration  attribute
 svt_ahb_transaction::cfg


Reference to ahb configuration

 rand bit [SVT_AHB_MAX_USER_WIDTH-1:0]  attribute
 svt_ahb_transaction::control_huser = 0


AHB control sideband signal. The maximum width of this signal is controlled through macro SVT_AHB_MAX_USER_WIDTH. Default value of this macro is 32. To change the maximum width of this variable, user can change the value of this macro. Define the new value for the macro in file svt_ahb_user_defines.svi, and then specify this file to be compiled by the simulator. Also, specify +define+SVT_AHB_INCLUDE_USER_DEFINES on the simulator compilation command line. Please consult User Guide for additional information, and consult VIP example for usage demonstration.
The SVT_AHB_MAX_USER_WIDTH macro is only used to control the maximum width of the signal.

 int  attribute
 svt_ahb_transaction::current_data_beat_num


Indicates the beat number of the current transfer. For the first beat (transfer type NSEQ) of the transaction, the value of current_data_beat_num would be 0. For subsequent beats (transfer type SEQ), the value would be incremented. This member is populated by the VIP.

 rand bit [SVT_AHB_MAX_DATA_WIDTH-1:0]  attribute
 svt_ahb_transaction::data[]


MASTER in active mode:

For write transactions this variable specifies write data to be driven on the HWDATA bus.

SLAVE in active mode:

For read transactions this variable specifies read data to be driven on the HRDATA bus.

PASSIVE MODE: This variable stores the write or read data as seen on HWDATA or HRDATA bus.

APPLICABLE IN ALL MODES: The maximum width of this signal is controlled through macro SVT_AHB_MAX_DATA_WIDTH. Default value of this macro is 64. To change the maximum width of this variable, user can change the value of this macro. Define the new value for the macro in file svt_ahb_user_defines.svi, and then specify this file to be compiled by the simulator. Also, specify +define+SVT_AHB_INCLUDE_USER_DEFINES on the simulator compilation command line. Please consult User Guide for additional information, and consult VIP example for usage demonstration.
The SVT_AHB_MAX_DATA_WIDTH macro is only used to control the maximum width of the signal.

 rand bit [SVT_AHB_MAX_DATA_USER_WIDTH-1:0]  attribute
 svt_ahb_transaction::data_huser[]


Currently, this feature AHB Data sideband signal is supported only in Master and Slave active mode
MASTER in active mode:
For write transactions this variable specifies write data to be driven on the hwdata_huser bus corresponding to all the beats.
SLAVE in active mode:
For read transactions this variable holds the read data to be driven on the hrdata_huser bus
corresponding to all the beats
the user has to program beat_data_huser for current data beat
For example: In ahb_slave_random_response_sequence, program the beat_data_huser for current data beat as below
`svt_xvm_rand_send_with(req,
{ beat_data_huser == 64'h0000_0000_DEAD_BEAF;
})
PASSIVE MODE:
Not yet supported
APPLICABLE IN ALL MODES:
The maximum width of this signal is controlled through macro
SVT_AHB_MAX_DATA_USER_WIDTH. Default value of this macro is 64. To change the
maximum width of this variable, user can change the value of this macro.
1) Define the new value for the macro in file svt_ahb_user_defines.svi, and
then specify this file to be compiled by the simulator.
2)Specify +define+SVT_AHB_INCLUDE_USER_DEFINES on the simulator compilation command
line. Please consult User Guide for additional information, and consult VIP
example for usage demonstration.
The SVT_AHB_MAX_DATA_USER_WIDTH macro is only used to control the maximum width
of the signals hwdata_huser and hrdata_huser.

 rand bit  attribute
 svt_ahb_transaction::idle_xact_hwrite = 1


Represents the hwrite signal value when svt_ahb_transaction :: xact_type is svt_ahb_transaction :: IDLE_XACT.
This is applicable only for active master.

 rand bit  attribute
 svt_ahb_transaction::lock = 1'b0


Lock control: This feature is currently unsupported.

 bit  attribute
 svt_ahb_transaction::multilayer_interconnect_termination = 0


When a multi-layer interconnect component is used in a multi-master system, it can terminate a burst so that another master can gain access to the slave The slave must terminate the burst from the original master and then respond appropriately to the new master if this occurs. This variable indicates burst terminated at Slave VIP when svt_ahb_system_configuration :: ahb_lite_multilayer is '1' This is set to '1', when termination of burst occurs. Slave VIP also updates the svt_ahb_transaction :: status as ABORTED. If svt_ahb_slave_configuration :: rebuild_after_multilayer_interconnect_termination is set to '1', the slave VIP waits for the rebuilding of the aborted transaction. The variable or the Multilayer Interconnect Termination feature is supported only at slave end.

 rand svt_ahb_transaction :: nonsec_trans_enum  attribute
 svt_ahb_transaction::nonsec_trans = NONSECURE_TRANSFER


hnonsec is used for secure transfer indication

 rand int  attribute
 svt_ahb_transaction::num_busy_cycles[]


Number of busy cycles to be inserted after every beat except for last beat. In case of INCR burst, number of busy cycles can be inserted after the last beat. This can be achieved by setting svt_ahb_configuration :: end_incr_with_busy is '1' along with svt_ahb_system_configuration :: ahb3 is 1 and svt_ahb_system_configuration :: ahb_lite is 1

 rand int  attribute
 svt_ahb_transaction::num_incr_beats = 1


Number of beats in a INCR burst.

 int  attribute
 svt_ahb_transaction::num_wait_cycles_per_beat[$]


Number of wait states inserted by slave for given transfer. This member is used to report the number of wait cycles observed for each beat. This member is populated by VIP in the object provided by master & slave models at the end of the transaction, in active & passive mode.

 int  attribute
 svt_ahb_transaction::object_num = -1


Variable that holds the object_num of this transaction. VIP assigns a unique number to each transaction it generates from analysis port. This number is also used by the debug port of the VIP, so that transaction number can be displayed in waveform. This helps in ease of debug as it helps to correlate the transaction displayed in log file and in the waveform.

 string  attribute
 svt_ahb_transaction::object_typ

 int  attribute
 svt_ahb_transaction::port_id


Represents port ID.

 rand svt_ahb_transaction :: prot0_type_enum  attribute
 svt_ahb_transaction::prot0_type = DATA_ACCESS


prot[0] is used for Data Access control

 rand svt_ahb_transaction :: prot1_type_enum  attribute
 svt_ahb_transaction::prot1_type = PRIVILEDGED_ACCESS


prot[1] is used for Privileged Access control

 rand svt_ahb_transaction :: prot2_type_enum  attribute
 svt_ahb_transaction::prot2_type = BUFFERABLE


prot[2] is used for Bufferable access control

 rand svt_ahb_transaction :: prot3_ex_type_enum  attribute
 svt_ahb_transaction::prot3_ex_type = MODIFIABLE


prot[3] is used for Modifiable Access control when hprot is extended

 rand svt_ahb_transaction :: prot3_type_enum  attribute
 svt_ahb_transaction::prot3_type = CACHEABLE


prot[3] is used for Cacheable access control

 rand svt_ahb_transaction :: prot4_ex_type_enum  attribute
 svt_ahb_transaction::prot4_ex_type = LOOKUP


prot[4] is used for Cache Lookup control when hprot is extended

 rand svt_ahb_transaction :: prot4_type_enum  attribute
 svt_ahb_transaction::prot4_type = DO_ALLOCATE


prot[4] is used for Cache allocate control for AHB_v6 only.

 rand svt_ahb_transaction :: prot5_ex_type_enum  attribute
 svt_ahb_transaction::prot5_ex_type = ALLOCATE


prot[5] is used for Cache allocate control when hprot is extended

 rand svt_ahb_transaction :: prot5_type_enum  attribute
 svt_ahb_transaction::prot5_type = NON_EXCLUSIVE_ACCESS


prot[5] is used for exclusive access support for AHB-V6 only. Exclusive access functionality is not supported yet.

 rand svt_ahb_transaction :: prot6_ex_type_enum  attribute
 svt_ahb_transaction::prot6_ex_type = SHAREABLE


prot[6] is used for Shareable Memory access when hprot is extended

 rand svt_ahb_transaction :: response_type_enum  attribute
 svt_ahb_transaction::response_type = OKAY


Response from the slave. This attribute indicates the response corresponding to most recently completed beat

 svt_transaction :: status_enum  attribute
 svt_ahb_transaction::status = INITIAL


Represents the current status of the transaction. Following are the possible status types.

  • INITIAL : Address phase has not yet started on the channel
  • PARTIAL_ACCEPT : First beat has been completed
  • ACCEPT : Last beat of transaction has completed
  • ABORTED : Current transaction is aborted with RESET or ERROR/SPLIT/RETRY response

 svt_ahb_transaction :: trans_type_enum  attribute
 svt_ahb_transaction::trans_type


Indicates the type of the current transfer, which can be NONSEQUENTIAL, SEQUENTIAL, IDLE, or BUSY. This member is populated by the VIP.

 rand bit  attribute
 svt_ahb_transaction::unalign = 0


This is parameter that is used to define the hunalign value for a particular burst_type.

 rand svt_ahb_transaction :: xact_type_enum  attribute
 svt_ahb_transaction::xact_type = IDLE_XACT


Represents the transaction type of a transaction

 static protected svt_ahb_transaction  attribute
 svt_ahb_transaction::__vmm_rhs


Member Typedef Documentation

 typedef enum  svt_ahb_transaction::aborted_xact_status_enum

Enum to identify whether the transaction got aborted due to reset or not.

NOT_ABORTED(SVT_AHB_TRANSACTION_ABORTED_XACT_STATUS_NOT_ABORTED)
Default status
ABORTED_DUE_TO_RESET(SVT_AHB_TRANSACTION_ABORTED_XACT_STATUS_ABORTED_DUE_TO_RESET)
When the trasaction is aborted due to reset
ABORTED_DUE_TO_SPLIT_RESP(SVT_AHB_TRANSACTION_ABORTED_XACT_STATUS_ABORTED_DUE_TO_SPLIT_RESP)
When the transaction is aborted due to SPLIT>
ABORTED_DUE_TO_ERROR_RESP(SVT_AHB_TRANSACTION_ABORTED_XACT_STATUS_ABORTED_DUE_TO_ERROR_RESP)
When the transaction is aborted due to ERROR reponse with error response policy as ABORT_ON_ERROR>
ABORTED_DUE_TO_RETRY_RESP(SVT_AHB_TRANSACTION_ABORTED_XACT_STATUS_ABORTED_DUE_TO_RETRY_RESP)
When the transactionis aborted due to RETRY>
ABORTED_DUE_TO_LOSS_OF_GRANT(SVT_AHB_TRANSACTION_ABORTED_XACT_STATUS_ABORTED_DUE_TO_LOSS_OF_GRANT)
When the transaction is aborted due to loss of grant>
ABORTED_DUE_TO_XFAIL_RESP(SVT_AHB_TRANSACTION_ABORTED_XACT_STATUS_ABORTED_DUE_TO_XFAIL_RESP)
When the transaction is ABORTED due to XFAIL response, currently applicable only for active master VIP if AHB_LITE AHB_V6 is enabled

 typedef enum  svt_ahb_transaction::beat_addr_wrt_wrap_boundary_enum

Enum to represent beat address location for wrap boundary

ADDRESS_STATUS_INITIAL(SVT_AHB_TRANSACTION_TYPE_INITIAL)
ADDRESS_BEFORE_WRAP_BOUNDARY(SVT_AHB_TRANSACTION_TYPE_ADDR_BEFORE_WRAP)
Beat address lies before WRAP boundary.
ADDRESS_AFTER_WRAP_BOUNDARY(SVT_AHB_TRANSACTION_TYPE_ADDR_AFTER_WRAP)
Beat address lies after WRAP boundary.
ADDRESS_ON_WRAP_BOUNDARY(SVT_AHB_TRANSACTION_TYPE_ADDR_ON_WRAP)
Beat address lies on WRAP boundary.

 typedef enum  svt_ahb_transaction::burst_size_enum

Enum to represent Transfer size

BURST_SIZE_8BIT(SVT_AHB_TRANSACTION_BURST_SIZE_8)
8-bits transfer size
BURST_SIZE_16BIT(SVT_AHB_TRANSACTION_BURST_SIZE_16)
16-bits transfer size
BURST_SIZE_32BIT(SVT_AHB_TRANSACTION_BURST_SIZE_32)
32-bits transfer size
BURST_SIZE_64BIT(SVT_AHB_TRANSACTION_BURST_SIZE_64)
64-bits transfer size
BURST_SIZE_128BIT(SVT_AHB_TRANSACTION_BURST_SIZE_128)
128-bits transfer size
BURST_SIZE_256BIT(SVT_AHB_TRANSACTION_BURST_SIZE_256)
256-bits transfer size
BURST_SIZE_512BIT(SVT_AHB_TRANSACTION_BURST_SIZE_512)
512-bits transfer size
BURST_SIZE_1024BIT(SVT_AHB_TRANSACTION_BURST_SIZE_1024)
1024-bits transfer size

 typedef enum  svt_ahb_transaction::burst_type_enum

Enum to represent Burst type in a transaction

SINGLE(SVT_AHB_TRANSACTION_BURST_TYPE_SINGLE)
SINGLE Burst type
INCR(SVT_AHB_TRANSACTION_BURST_TYPE_INCR)
INCR Burst type
WRAP4(SVT_AHB_TRANSACTION_BURST_TYPE_WRAP4)
4-beat WRAP Burst type
INCR4(SVT_AHB_TRANSACTION_BURST_TYPE_INCR4)
4-beat INCR Burst type
WRAP8(SVT_AHB_TRANSACTION_BURST_TYPE_WRAP8)
8-beat WRAP Burst type
INCR8(SVT_AHB_TRANSACTION_BURST_TYPE_INCR8)
8-beat INCR Burst type
WRAP16(SVT_AHB_TRANSACTION_BURST_TYPE_WRAP16)
16-beat WRAP Burst type
INCR16(SVT_AHB_TRANSACTION_BURST_TYPE_INCR16)
16-beat INCR Burst type

 typedef enum  svt_ahb_transaction::nonsec_trans_enum

Enum to represent the secure transfer support / hnonsec

SECURE_TRANSFER(SVT_AHB_TRANSACTION_SECURE_TRANSFER)
Secure Transfer.
NONSECURE_TRANSFER(SVT_AHB_TRANSACTION_NONSECURE_TRANSFER)
Non-secure Transfer.

 typedef enum  svt_ahb_transaction::prot0_type_enum

Enum to represent hprot[0]

OPCODE_FETCH(SVT_AHB_TRANSACTION_PROT0_TYPE_OPCODE_FETCH)
Data Access control - Opcode Fetch.
DATA_ACCESS(SVT_AHB_TRANSACTION_PROT0_TYPE_DATA_ACCESS)
Data Access control - Data Access.

 typedef enum  svt_ahb_transaction::prot1_type_enum

Enum to represent hprot[1]

USER_ACCESS(SVT_AHB_TRANSACTION_PROT1_TYPE_USER_ACCESS)
Privileged Access control - User Access.
PRIVILEDGED_ACCESS(SVT_AHB_TRANSACTION_PROT1_TYPE_PRIVILEDGED_ACCESS)
Privileged Access control- Privileged Access.

 typedef enum  svt_ahb_transaction::prot2_type_enum

Enum to represent hprot[2]

NON_BUFFERABLE(SVT_AHB_TRANSACTION_PROT2_TYPE_NON_BUFFERABLE)
Bufferable access - Non Bufferable.
BUFFERABLE(SVT_AHB_TRANSACTION_PROT2_TYPE_BUFFERABLE)
Bufferable access - Bufferable.

 typedef enum  svt_ahb_transaction::prot3_ex_type_enum

Enum to represent hprot[3] when extened_memory_type property is defined

NON_MODIFIABLE(SVT_AHB_TRANSACTION_PROT3_TYPE_NON_MODIFIABLE)
Modifiable Access - Non Modifiable.
MODIFIABLE(SVT_AHB_TRANSACTION_PROT3_TYPE_MODIFIABLE)
Modifiable Access - Modifiable.

 typedef enum  svt_ahb_transaction::prot3_type_enum

Enum to represent hprot[3]

NON_CACHEABLE(SVT_AHB_TRANSACTION_PROT3_TYPE_NON_CACHEABLE)
Cacheable access - Non Cacheable.
CACHEABLE(SVT_AHB_TRANSACTION_PROT3_TYPE_CACHEABLE)
Cacheable access - Cacheable.

 typedef enum  svt_ahb_transaction::prot4_ex_type_enum

Enum to represent hprot[4] when extened_memory_type property is defined

NO_LOOKUP(SVT_AHB_TRANSACTION_PROT4_TYPE_NO_LOOKUP)
Cache Lookup control - No Lookup into cache.
LOOKUP(SVT_AHB_TRANSACTION_PROT4_TYPE_LOOKUP)
Cache Lookup control - Lookup into cache.

 typedef enum  svt_ahb_transaction::prot4_type_enum

Enum to represent hprot[4], applicable for AHB_V6 only (when ahb_interface_type is AHB_V6).

DONOT_ALLOCATE(SVT_AHB_TRANSACTION_PROT4_TYPE_DONOT_ALLOCATE)
Cache Allocate control - No Cache Allocate.
DO_ALLOCATE(SVT_AHB_TRANSACTION_PROT4_TYPE_DO_ALLOCATE)
Cache Allocate control - Cache Allocate.

 typedef enum  svt_ahb_transaction::prot5_ex_type_enum

Enum to represent hprot[5] when extened_memory_type property is defined

NO_ALLOCATE(SVT_AHB_TRANSACTION_PROT5_TYPE_NO_ALLOCATE)
Cache Allocate control - No Cache Allocate.
ALLOCATE(SVT_AHB_TRANSACTION_PROT5_TYPE_ALLOCATE)
Cache Allocate control - Cache Allocate.

 typedef enum  svt_ahb_transaction::prot5_type_enum

Enum to represent hprot[5], applicable for AHB_V6 only (when ahb_interface_type is AHB_V6).

NON_EXCLUSIVE_ACCESS(SVT_AHB_TRANSACTION_PROT5_TYPE_NON_EXCLUSIVE_ACCESS)
Exclusive access control - Non exclusive access.
EXCLUSIVE_ACCESS(SVT_AHB_TRANSACTION_PROT5_TYPE_EXCLUSIVE_ACCESS)
Exclusive access control - Exclusive access.

 typedef enum  svt_ahb_transaction::prot6_ex_type_enum

Enum to represent hprot[6] when extened_memory_type property is defined

NON_SHAREABLE(SVT_AHB_TRANSACTION_PROT6_TYPE_NON_SHAREABLE)
Shareable Memory access - Non Shareable.
SHAREABLE(SVT_AHB_TRANSACTION_PROT6_TYPE_SHAREABLE)
Shareable Memory access - Shareable.

 typedef enum  svt_ahb_transaction::response_type_enum

Enum to represent Response type.

OKAY(SVT_AHB_TRANSACTION_RESPONSE_TYPE_OKAY)
OKAY response
ERROR(SVT_AHB_TRANSACTION_RESPONSE_TYPE_ERROR)
ERROR response
RETRY()
RETRY response
SPLIT(SVT_AHB_TRANSACTION_RESPONSE_TYPE_SPLIT)
SPLIT response
XFAIL(SVT_AHB_TRANSACTION_RESPONSE_TYPE_XFAIL)
XFAIL response, currently applicable only for active master VIP if AHB_LIE AHB-V6 is enabled

 typedef enum  svt_ahb_transaction::trans_type_enum

Enum to represent Transfer type.

IDLE(SVT_AHB_TRANSACTION_TRANS_TYPE_IDLE)
IDLE transaction
BUSY(SVT_AHB_TRANSACTION_TRANS_TYPE_BUSY)
BUSY transaction
NSEQ(SVT_AHB_TRANSACTION_TRANS_TYPE_NSEQ)
NONSEQUENTIAL transaction
SEQ(SVT_AHB_TRANSACTION_TRANS_TYPE_SEQ)
SEQUENTIAL transaction

 typedef enum  svt_ahb_transaction::xact_type_enum

Enum to represent Transaction type

READ(SVT_AHB_TRANSACTION_TYPE_READ)
Read transaction.
WRITE(SVT_AHB_TRANSACTION_TYPE_WRITE)
Write transaction.
IDLE_XACT(SVT_AHB_TRANSACTION_TYPE_IDLE_XACT)
Idle transaction. In case of active Master: all the control signals except hlock(always zero) can be controlled through respective transaction attributes (similar to READ or WRITE transaction types); the value of hwrite signal can be controlled through svt_ahb_transaction :: idle_xact_hwrite.

 typedef class  svt_ahb_transaction::_factory_base
 Typedefe'd string ==>   vmm_class_factory_base#(svt_ahb_transaction)