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.
AHB5 protocol attributes  This group contains attributes which are relevant to AHB5 protocol.
AHB protocol attributes  This group contains attributes which are relevant to AHB protocol.

Public Member Functions

function svt_pattern  allocate_xml_pattern ( )
static function bit [SVT_AHB_MAX_ADDRCHK_WIDTH-1:0]  calculate_parity_for_addr ( logic [SVT_AHB_MAX_ADDR_WIDTH-1:0] beat_addr )
static function bit [SVT_AHB_MAX_CTRL_USERCHK_WIDTH-1:0]  calculate_parity_for_control_huser ( bit [SVT_AHB_MAX_USER_WIDTH-1:0] control_huser )
function logic [SVT_AHB_MAX_DATACHK_WIDTH-1:0]  calculate_parity_for_data ( logic [SVT_AHB_MAX_DATA_WIDTH-1:0] beat_data )
function logic [SVT_AHB_MAX_DATA_USERCHK_WIDTH-1:0]  calculate_parity_for_data_huser ( logic [SVT_AHB_MAX_DATA_USER_WIDTH-1:0] beat_user_data )
function bit [SVT_AHB_MAX_RESP_USERCHK_WIDTH-1:0]  calculate_parity_for_resp_huser ( bit [SVT_AHB_MAX_RESP_USER_WIDTH-1:0] resp_huser )
function bit [SVT_AHB_MAX_WSTRBCHK_WIDTH-1:0]  calculate_parity_for_wstrb ( bit [SVT_AHB_HWSTRB_WIDTH-1:0] wstrb_data )
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 )
function bit  compare_write_data ( bit [SVT_AHB_MAX_DATA_WIDTH-1:0] xact_data[], int data_size, bit [(SVT_AHB_HWSTRB_WIDTH-1):0] xact_wstrb[], bit [SVT_AHB_MAX_DATA_WIDTH-1:0] ref_data[] )
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 = -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 = "" )
static function bit  get_parity_bit_from_16bit_data ( bit [3:0] data_granularity, bit [15:0] data, bit odd_parity = 1 )
static function bit  get_parity_bit_from_8bit_data ( bit [3:0] data_granularity, bit [7:0] data, bit odd_parity = 1 )
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  get_retry_response_info ( output int num_retry_responses, output int beats_with_retry_response[] )
function svt_sequence_item  get_trace_xact_factory ( )
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 )
function bit  is_user_inject_parity_value_enabled ( svt_ahb_transaction :: user_inject_parity_signal_enum user_inject_parity_signal )
function void  new ( string name = "svt_ahb_transaction" )
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[] )
function void  pack_wstrb_to_byte_stream ( input int data_width, input bit [SVT_AHB_HWSTRB_WIDTH-1:0] wstrb_to_pack[], output bit packed_wstrb[] )
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 )
function bit  transfer_crosses_byte_boundary ( input int data_width_in_bytes, svt_ahb_transaction :: burst_size_enum transfer_burst_size = burst_size )

Public Attributes

svt_ahb_transaction :: aborted_xact_status_enum  aborted_xact_status 
rand bit [SVT_AHB_MAX_ADDR_WIDTH-1:0]  addr = 0; 
bit [SVT_AHB_MAX_RESP_USER_WIDTH-1:0]  all_beat_resp_huser [] 
svt_ahb_transaction :: response_type_enum  all_beat_response[] 
bit  auto_parity_gen_enable = 1; 
svt_sequence_item :: status_enum  beat_status 
rand svt_ahb_transaction :: burst_size_enum  burst_size 
rand svt_ahb_transaction :: burst_type_enum  burst_type 
uvm_tlm_generic_payload  causal_gp_xact 
svt_ahb_configuration  cfg 
rand bit [SVT_AHB_MAX_USER_WIDTH-1:0]  control_huser = 0; 
rand bit [SVT_AHB_MAX_CTRL_USERCHK_WIDTH-1:0]  control_huserchk 
int  current_data_beat_num 
rand bit [SVT_AHB_MAX_DATA_WIDTH-1:0]  data [] 
rand bit [SVT_AHB_MAX_DATACHK_WIDTH-1:0]  datachk_parity_value [] 
rand bit [SVT_AHB_MAX_DATA_USER_WIDTH-1:0]  data_huser [] 
svt_ahb_transaction :: excl_mon_status_enum  excl_mon_status 
rand svt_ahb_transaction :: excl_resp_type_enum  excl_response_type 
rand svt_ahb_transaction :: excl_trans_enum  excl_trans 
rand bit [SVT_AHB_HMASTER_PORT_WIDTH-1:0]  exclusive_thread = 0; 
svt_ahb_transaction :: excl_xact_fail_cond_enum  excl_xact_fail_cond 
rand bit [SVT_AHB_MAX_ADDRCHK_WIDTH-1:0]  haddrchk 
rand bit  hctrlchk1 
rand bit  hctrlchk2 
rand bit  hprotchk 
rand bit [SVT_AHB_MAX_DATACHK_WIDTH-1:0]  hrdatachk 
rand bit [SVT_AHB_MAX_DATA_USERCHK_WIDTH-1:0]  hrdata_huserchk 
rand bit  hreadychk 
rand bit  hready_inchk 
rand bit  hrespchk 
rand bit  hselchk 
rand bit  htranschk 
rand bit [SVT_AHB_MAX_DATACHK_WIDTH-1:0]  hwdatachk 
rand bit [SVT_AHB_MAX_DATA_USERCHK_WIDTH-1:0]  hwdata_huserchk 
rand bit [SVT_AHB_MAX_WSTRBCHK_WIDTH-1:0]  hwstrbchk 
rand bit  idle_xact_hwrite = 1; 
rand bit  is_datachk_parity_error = 0; 
rand bit [SVT_AHB_MAX_DATACHK_WIDTH-1:0]  is_datachk_passed [] 
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 bit [SVT_AHB_MAX_RESP_USERCHK_WIDTH-1:0]  resp_huserchk 
rand svt_ahb_transaction :: response_type_enum  response_type 
rand bit [SVT_AHB_MAX_RESP_USER_WIDTH-1:0]  resp_huser = 0; 
svt_sequence_item :: status_enum  status 
svt_ahb_transaction :: trans_type_enum  trans_type 
rand bit  unalign = 0; 
bit  user_inject_parity_signal_array [ user_inject_parity_signal_enum ] 
rand bit [SVT_AHB_HWSTRB_WIDTH-1:0]  wstrb [] 
rand svt_ahb_transaction :: xact_type_enum  xact_type 

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  excl_mon_status_enum 
 typedef enum  excl_trans_enum 
 typedef enum  excl_resp_type_enum 
 typedef enum  excl_xact_fail_cond_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  user_inject_parity_signal_enum 
 typedef enum  xact_type_enum 

Class Member Groupings



Group: Miscellaneous attributes

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

uvm_tlm_generic_payload  causal_gp_xact 
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_sequence_item :: status_enum  beat_status 
int  current_data_beat_num 
svt_sequence_item :: status_enum  status 


Group: AHB5 protocol attributes

This group contains attributes which are relevant to AHB5 protocol.

bit  auto_parity_gen_enable = 1; 
rand bit [SVT_AHB_MAX_CTRL_USERCHK_WIDTH-1:0]  control_huserchk 
rand bit [SVT_AHB_MAX_DATACHK_WIDTH-1:0]  datachk_parity_value [] 
svt_ahb_transaction :: excl_mon_status_enum  excl_mon_status 
rand svt_ahb_transaction :: excl_resp_type_enum  excl_response_type 
rand svt_ahb_transaction :: excl_trans_enum  excl_trans 
rand bit [SVT_AHB_HMASTER_PORT_WIDTH-1:0]  exclusive_thread = 0; 
svt_ahb_transaction :: excl_xact_fail_cond_enum  excl_xact_fail_cond 
rand bit [SVT_AHB_MAX_ADDRCHK_WIDTH-1:0]  haddrchk 
rand bit  hctrlchk1 
rand bit  hctrlchk2 
rand bit  hprotchk 
rand bit [SVT_AHB_MAX_DATACHK_WIDTH-1:0]  hrdatachk 
rand bit [SVT_AHB_MAX_DATA_USERCHK_WIDTH-1:0]  hrdata_huserchk 
rand bit  hreadychk 
rand bit  hready_inchk 
rand bit  hrespchk 
rand bit  hselchk 
rand bit  htranschk 
rand bit [SVT_AHB_MAX_DATACHK_WIDTH-1:0]  hwdatachk 
rand bit [SVT_AHB_MAX_DATA_USERCHK_WIDTH-1:0]  hwdata_huserchk 
rand bit [SVT_AHB_MAX_WSTRBCHK_WIDTH-1:0]  hwstrbchk 
rand bit  is_datachk_parity_error = 0; 
rand bit [SVT_AHB_MAX_DATACHK_WIDTH-1:0]  is_datachk_passed [] 
rand bit [SVT_AHB_MAX_RESP_USERCHK_WIDTH-1:0]  resp_huserchk 
bit  user_inject_parity_signal_array [ user_inject_parity_signal_enum ] 
rand bit [SVT_AHB_HWSTRB_WIDTH-1:0]  wstrb [] 


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; 
bit [SVT_AHB_MAX_RESP_USER_WIDTH-1:0]  all_beat_resp_huser [] 
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 
rand bit [SVT_AHB_MAX_RESP_USER_WIDTH-1:0]  resp_huser = 0; 
svt_ahb_transaction :: trans_type_enum  trans_type 
rand bit  unalign = 0; 
rand svt_ahb_transaction :: xact_type_enum  xact_type 


Member Function Documentation

  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_sequence_item_base :: allocate_xml_pattern 
 Superseding functions 
 svt_ahb_master_transaction :: allocate_xml_pattern 
 svt_ahb_slave_transaction :: allocate_xml_pattern 

 static function bit [SVT_AHB_MAX_ADDRCHK_WIDTH-1:0]
 svt_ahb_transaction::calculate_parity_for_addr

 (  logic [SVT_AHB_MAX_ADDR_WIDTH-1:0] beat_addr  ) 


Returns calculated parity check value for address (HADDRCHK)

 static function bit [SVT_AHB_MAX_CTRL_USERCHK_WIDTH-1:0]
 svt_ahb_transaction::calculate_parity_for_control_huser

 (  bit [SVT_AHB_MAX_USER_WIDTH-1:0] control_huser  ) 


Returns calculated parity check value for user defined control (control_huserchk)

  function logic [SVT_AHB_MAX_DATACHK_WIDTH-1:0]
 svt_ahb_transaction::calculate_parity_for_data

 (  logic [SVT_AHB_MAX_DATA_WIDTH-1:0] beat_data  ) 


Returns calculated parity check value for data (HWDATACHK, HRDATACHK)

  function logic [SVT_AHB_MAX_DATA_USERCHK_WIDTH-1:0]
 svt_ahb_transaction::calculate_parity_for_data_huser

 (  logic [SVT_AHB_MAX_DATA_USER_WIDTH-1:0] beat_user_data  ) 


Returns calculated parity check value for user defined data (HWDATA_HUSERCHK, HRDATA_HUSERCHK)

  function bit [SVT_AHB_MAX_RESP_USERCHK_WIDTH-1:0]
 svt_ahb_transaction::calculate_parity_for_resp_huser

 (  bit [SVT_AHB_MAX_RESP_USER_WIDTH-1:0] resp_huser  ) 


Returns calculated parity check value for user defined response (resp_huserchk)

  function bit [SVT_AHB_MAX_WSTRBCHK_WIDTH-1:0]
 svt_ahb_transaction::calculate_parity_for_wstrb

 (  bit [SVT_AHB_HWSTRB_WIDTH-1:0] wstrb_data  ) 


Returns calculated parity check value for write strobes (HWSTRBCHK)

  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

  function bit
 svt_ahb_transaction::compare_write_data

 (  bit [SVT_AHB_MAX_DATA_WIDTH-1:0] xact_data [], int data_size , bit [(SVT_AHB_HWSTRB_WIDTH-1):0] xact_wstrb [], bit [SVT_AHB_MAX_DATA_WIDTH-1:0] ref_data []  ) 


Compares the contents of two data attributes when write strobes enabled.

xact_data - A data array of the transaction under comparison

data_size - Size of the data array

xact_wstrb - A bit stream array of the wstrb which denotes active/inactive byte lanes. If xact_wstrb is 0, corresponding xact_data is not compared

ref_data - A data array of the reference data to which xact_data must be compared.

Return values - Returns 1 if the comparison passed, else returns 0.

  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_sequence_item_base :: decode_prop_val 
 svt_sequence_item :: decode_prop_val 

  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_sequence_item_base :: do_allocate_pattern 
 svt_sequence_item :: do_allocate_pattern 
 Superseding functions 
 svt_ahb_master_transaction :: do_allocate_pattern 
 svt_ahb_slave_transaction :: do_allocate_pattern 

  function bit
 svt_ahb_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_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_sequence_item_base :: RELEVANT and svt_sequence_item_base :: COMPLETE. If kind is set to svt_sequence_item_base :: 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_sequence_item_base :: COMPLETE, this method performs validity checks on all fields of the class.


 Superseded functions 
 svt_sequence_item_base :: do_is_valid 
 svt_sequence_item :: 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_sequence_item :: 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_sequence_item_base :: encode_prop_val 
 svt_sequence_item :: 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_sequence_item_base :: 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_sequence_item_base :: get_pa_obj_data 
 svt_sequence_item :: get_pa_obj_data 
 Superseding functions 
 svt_ahb_master_transaction :: get_pa_obj_data 
 svt_ahb_slave_transaction :: get_pa_obj_data 

 static function bit
 svt_ahb_transaction::get_parity_bit_from_16bit_data

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


Returns calculated parity value for 16 bits of data

 static function bit
 svt_ahb_transaction::get_parity_bit_from_8bit_data

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


Returns calculated parity value for 8 bits of data

  function bit
 svt_ahb_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_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_sequence_item
 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_sequence_item :: get_trace_xact_factory 

  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

  function bit
 svt_ahb_transaction::is_user_inject_parity_value_enabled

 (  svt_ahb_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_ahb_transaction :: user_inject_parity_signal_array is enabled, else returns 0.

  function void
 svt_ahb_transaction::new

 (  string name = "svt_ahb_transaction"  ) 


CONSTRUCTOR: 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_ahb_master_transaction :: new 
 cust_svt_tlm_gp_to_ahb_master_transaction :: new 
 svt_ahb_master_reg_transaction :: new 
 svt_ahb_slave_transaction :: new 

  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

  function void
 svt_ahb_transaction::pack_wstrb_to_byte_stream

 (  input int data_width , input bit [SVT_AHB_HWSTRB_WIDTH-1:0] wstrb_to_pack [], output bit packed_wstrb []  ) 


Returns the wstrb in the wstrb_to_pack[] field as a byte stream based on the burst_type. In the case of WRAP bursts the wstrb is returned such that packed_wstrb[0] corresponds to the wstrb for the wrap boundary. In the case of INCR bursts, the wstrb as passed in wstrb_to_pack[] is directly packed to packed_wstrb[].

wstrb_to_pack - wstrb to be packed

packed_wstrb - [] Output byte stream with packed wstrb

  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_sequence_item :: 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_sequence_item_base :: 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_sequence_item_base :: set_prop_val 
 svt_sequence_item :: set_prop_val 
 Superseding functions 
 svt_ahb_master_transaction :: set_prop_val 
 svt_ahb_slave_transaction :: set_prop_val 

  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.

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.

 bit [SVT_AHB_MAX_RESP_USER_WIDTH-1:0]  attribute
 svt_ahb_transaction::all_beat_resp_huser[]


This array variable stores the resp_huser (HBUSER) user response signal values for all the completed beats of transaction.

  • ACTIVE/PASSIVE Mode - Manager/Subordinate: Stores the user response signal values (HBUSER) seen on the bus for all the completed beats of transaction.
  • This attribute in applicable only when user response signaling is enabled through svt_ahb_configuration :: resp_huser_enable set to 1.
  • The actual width of this attribute is controlled through svt_ahb_configuration :: resp_huser_width where its default value is set to `SVT_AHB_MAX_RESP_USER_WIDTH.
  • Array size is equal to the the number of beats in the transaction.
  • The minimum packed size of this array should be 1.
  • The maximum packed size of this array is controlled through macro SVT_AHB_MAX_RESP_USER_WIDTH. Default value of this macro is 16.

 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

 bit  attribute
 svt_ahb_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 are set to '1' in the user_inject_parity_signal_array, VIP drives the parity values provided by the user.
Default Value : 1.

 svt_sequence_item :: 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

 uvm_tlm_generic_payload  attribute
 svt_ahb_transaction::causal_gp_xact


Applicable only for master in ACTIVE mode. If this transaction was generated from a UVM TLM Generic Payload, this member indicates the GP from which this AHB transaction was generated

 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.

 rand bit [SVT_AHB_MAX_CTRL_USERCHK_WIDTH-1:0]  attribute
 svt_ahb_transaction::control_huserchk


The variable holds the value for control_huserchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 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_DATACHK_WIDTH-1:0]  attribute
 svt_ahb_transaction::datachk_parity_value[]


This variable represents the data check parity bits with respect to valid data. It consists of a bit for each data byte in the transaction data. Each bit of parity check data is calculated from every 8bit of data. Active Manager: In case of Read type transactions, the parity value seen in the hrdatachk channel is stored in this attribute. Active Subordinate: In case of Write type transactions, the parity value received in the hwdatachk is stored in this attribute. Passive components: Parity value observed in the read or write data will be stored in this attribute. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 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.

 svt_ahb_transaction :: excl_mon_status_enum  attribute
 svt_ahb_transaction::excl_mon_status = EXCL_MON_INVALID


Represents the status of exclusive monitor. Following are the possible status types:
  • EXCL_MON_INVALID : exclusive monitor does not monitor the exclusive access
  • EXCL_MON_SET : exclusive monitor is set for exclusive access
  • EXCL_MON_RESET : exclusive monitor is reset for exclusive access

A combination of excl_access_status and excl_mon_status can be used to determine the reason for failure of exclusive store. This attribute is applicable to both read and write exclusive transactions. This attribute is programmed to 'EXCL_MON_RESET' on completion of the exclusive transactions. It is programmed to 'EXCL_MON_SET' only if the exclusive read is successful else it is marked as 'EXCL_MON_RESET'.

 rand svt_ahb_transaction :: excl_resp_type_enum  attribute
 svt_ahb_transaction::excl_response_type = EXERROR


hexokay is the exclusive response from the slave.

 rand svt_ahb_transaction :: excl_trans_enum  attribute
 svt_ahb_transaction::excl_trans = NORMAL_TRANSFER


hexcl is used for exclusive transfer indication

 rand bit [SVT_AHB_HMASTER_PORT_WIDTH-1:0]  attribute
 svt_ahb_transaction::exclusive_thread = 0


hmaster is used for exclusive capable thread indication

 svt_ahb_transaction :: excl_xact_fail_cond_enum  attribute
 svt_ahb_transaction::excl_xact_fail_cond = EXCL_MON_FAILURE_COND_DEFAULT_VALUE


This enum represents the value for conditions under which the exclusive transactions are failed. Conditions are based on the values of excl_mon_status and excl_response_type. Combination of these attributes causes the transaction to fail.

Following are the possible status types:

  • EXCL_MON_FAILURE_COND_DEFAULT_VALUE : Default value.
  • EXCL_MON_RESET_ACCESS_FAIL_XACT_FAILED : Set if the exclusive transaction is failed as the excl_mon_status is reset and the exclusive_access_status is failed.
  • EXCL_MON_SET_ACCESS_FAIL_XACT_FAILED : Set if the exclusive transaction is failed as the excl_mon_status is set and the exclusive_access_status is failed as unexpected INVALID status encountered.
  • EXCL_MON_RESET_WRITE_WITHOUT_READ_XACT_FAILED : Set if the exclusive transaction is failed as the excl_mon_status is invalid and excl_response_type is failed. This occurs when write without read is issued by the manager.
  • EXCL_MON_INVALID_MAX_EXCL_ACCESS_XACT_FAILED : Set if the exclusive transaction is failed when the maximum number of active exclusive accesses exceeds 4.

 rand bit [SVT_AHB_MAX_ADDRCHK_WIDTH-1:0]  attribute
 svt_ahb_transaction::haddrchk


The variable holds the value for haddrchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit  attribute
 svt_ahb_transaction::hctrlchk1


The variable holds the value for hctrlchk1 signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit  attribute
 svt_ahb_transaction::hctrlchk2


The variable holds the value for hctrlchk2 signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit  attribute
 svt_ahb_transaction::hprotchk


The variable holds the value for hprotchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit [SVT_AHB_MAX_DATACHK_WIDTH-1:0]  attribute
 svt_ahb_transaction::hrdatachk


The variable holds the value for hrdatachk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit [SVT_AHB_MAX_DATA_USERCHK_WIDTH-1:0]  attribute
 svt_ahb_transaction::hrdata_huserchk


The variable holds the value for hrdata_huserchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit  attribute
 svt_ahb_transaction::hreadychk


The variable holds the value for hreadychk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit  attribute
 svt_ahb_transaction::hready_inchk


The variable holds the value for hready_inchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit  attribute
 svt_ahb_transaction::hrespchk


The variable holds the value for hrespchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit  attribute
 svt_ahb_transaction::hselchk


The variable holds the value for hselchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit  attribute
 svt_ahb_transaction::htranschk


The variable holds the value for htranschk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit [SVT_AHB_MAX_DATACHK_WIDTH-1:0]  attribute
 svt_ahb_transaction::hwdatachk


The variable holds the value for hwdatachk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit [SVT_AHB_MAX_DATA_USERCHK_WIDTH-1:0]  attribute
 svt_ahb_transaction::hwdata_huserchk


The variable holds the value for hwdata_huserchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit [SVT_AHB_MAX_WSTRBCHK_WIDTH-1:0]  attribute
 svt_ahb_transaction::hwstrbchk


The variable holds the value for hwstrbchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 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::is_datachk_parity_error = 0


This variable indicates whether the data check parity error is detected in the transaction. This bit is set to 1, if parity error is deducted in a transaction. By default, this is set to 0. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit [SVT_AHB_MAX_DATACHK_WIDTH-1:0]  attribute
 svt_ahb_transaction::is_datachk_passed[]


This variable represents the data check parity error bits with respect to valid data. Each bit of parity check data is calculated from every 8bit of data with 1bit of datachk. By default, all bits are set to 'b1, if any parity error is detected the that particular bit is set to 0. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 rand bit  attribute
 svt_ahb_transaction::lock = 1'b0


Lock control

 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 bit [SVT_AHB_MAX_RESP_USERCHK_WIDTH-1:0]  attribute
 svt_ahb_transaction::resp_huserchk


The variable holds the value for resp_huserchk signal. Only applicable when svt_ahb_system_configuration :: ahb5 is enabled., and svt_ahb_configuration :: check_type is set as ODD_PARITY_BYTE_ALL.

 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

 rand bit [SVT_AHB_MAX_RESP_USER_WIDTH-1:0]  attribute
 svt_ahb_transaction::resp_huser = 0


Attribute for AHB user response sideband signal support.

  • This attribute in applicable only when user response signaling is enabled through svt_ahb_configuration :: resp_huser_enable set to 1.
  • The actual width of this attribute is controlled through svt_ahb_configuration :: resp_huser_width where its default value is set to `SVT_AHB_MAX_RESP_USER_WIDTH.
  • This attribute will store the driven or sampled value for the interface signal resp_huser which is indicated as HBUSER in the AHB5 specification.
  • This is a beat level attribute and holds the value of the current beat's user response value.
  • The minimum width of this signal should be 1.
  • The maximum width of this signal is controlled through macro SVT_AHB_MAX_RESP_USER_WIDTH. Default value of this macro is 16.

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

 bit  attribute
 svt_ahb_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 enable only when svt_ahb_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 HADDRCHK:
Set svt_ahb_transaction :: auto_parity_gen_enable to '0' and user_inject_parity_signal_array[HADDRCHK_EN] = 1.

 rand bit [SVT_AHB_HWSTRB_WIDTH-1:0]  attribute
 svt_ahb_transaction::wstrb[]


Array of Write strobes which denotes the active/inactive byte lanes in a write transfer when Write_Strobes property is enabled in AHB5 mode.

The mapping of write strobes to data bus is fixed and is not dependent on endianness of the access. Eg : HWSTRB mapping for the write data bus of 64-BIT HWSTRB[0] applies to HWDATA[7:0] HWSTRB[1] applies to HWDATA[15:8] HWSTRB[2] applies to HWDATA[23:16] HWSTRB[3] applies to HWDATA[31:24] HWSTRB[4] applies to HWDATA[39:32] HWSTRB[5] applies to HWDATA[47:40] HWSTRB[6] applies to HWDATA[55:48] HWSTRB[7] applies to HWDATA[63:56]

When wstrb[0] == 8'b1111_1001, byte lanes 1 and 2 are inactive while byte lanes 0, 3, 4, 5, 6, 7 are active.

For READ transfers, as per recommendation in the specification, write strobes are deasserted to avoid any confusion.

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


Represents the transaction type of a transaction

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::excl_mon_status_enum

Enum to represent the status of exclusive monitor, which indicates the cause of failure of an exclusive store Following are the possible status types:
  • EXCL_MON_INVALID : exclusive monitor does not monitor the exclusive access
  • EXCL_MON_SET : exclusive monitor is set for exclusive access
  • EXCL_MON_RESET : exclusive monitor is reset for exclusive access

EXCL_MON_INVALID(SVT_AHB_EXCL_MON_INVALID)
EXCL_MON_SET(SVT_AHB_EXCL_MON_SET)
EXCL_MON_RESET(SVT_AHB_EXCL_MON_RESET)

 typedef enum  svt_ahb_transaction::excl_trans_enum

Enum to represent the exclusive transfer support

NORMAL_TRANSFER(SVT_AHB_TRANSACTION_NORMAL_TRANSFER)
Normal Transfer.
EXCLUSIVE_TRANSFER(SVT_AHB_TRANSACTION_EXCLUSIVE_TRANSFER)
Exclusive Transfer.

 typedef enum  svt_ahb_transaction::excl_resp_type_enum

Enum to represent the exclusive transfer response

EXOKAY(SVT_AHB_TRANSACTION_EXCL_RESPONSE_TYPE_EXOKAY)
Normal Transfer.
EXERROR(SVT_AHB_TRANSACTION_EXCL_RESPONSE_TYPE_EXERROR)
Exclusive Transfer.

 typedef enum  svt_ahb_transaction::excl_xact_fail_cond_enum

Enum to represent the condition under which exclusive transaction is failed. It also indicate why the exclusive monitor needs to be reset. Following are the possible status types:
  • EXCL_MON_FAILURE_COND_DEFAULT_VALUE : Default value.
  • EXCL_MON_RESET_ACCESS_FAIL_XACT_FAILED : Set if the exclusive transaction is failed as the excl_mon_status is reset and the exclusive_access_status is failed.
  • EXCL_MON_SET_ACCESS_FAIL_XACT_FAILED : Set if the exclusive transaction is failed as the excl_mon_status is set and the exclusive_access_status is failed as unexpected INVALID status encountered.
  • EXCL_MON_RESET_WRITE_WITHOUT_READ_XACT_FAILED : Set if the exclusive transaction is failed as the excl_mon_status is invalid and exclusive_access_status is failed. This occurs when write without read is issued by the master.
  • EXCL_MON_INVALID_MAX_EXCL_ACCESS_XACT_FAILED : Set if the exclusive transaction is failed when the maximum number of active exclusive accesses exceeds 4.

EXCL_MON_FAILURE_COND_DEFAULT_VALUE(SVT_AHB_EXCL_MON_FAILURE_COND_DEFAULT_VALUE)
EXCL_MON_RESET_ACCESS_FAIL_XACT_FAILED(SVT_AHB_EXCL_MON_RESET_ACCESS_FAIL_XACT_FAILED)
EXCL_MON_SET_ACCESS_FAIL_XACT_FAILED(SVT_AHB_EXCL_MON_SET_ACCESS_FAIL_XACT_FAILED)
EXCL_MON_RESET_WRITE_WITHOUT_READ_XACT_FAILED(SVT_AHB_EXCL_MON_RESET_WRITE_WITHOUT_READ_XACT_FAILED)
EXCL_MON_INVALID_MAX_EXCL_ACCESS_XACT_FAILED(SVT_AHB_EXCL_MON_INVALID_MAX_EXCL_ACCESS_XACT_FAILED)

 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::user_inject_parity_signal_enum

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

PARITY_ERROR_NOT_SET
HTRANSCHK_EN
HADDRCHK_EN
HCTRLCHK1_EN
HCTRLCHK2_EN
HPROTCHK_EN
HWSTRBCHK_EN
HWDATACHK_EN
HRDATACHK_EN
HRESPCHK_EN
CONTROL_HUSERCHK_EN
HWDATA_HUSERCHK_EN
HRDATA_HUSERCHK_EN
RESP_HUSERCHK_EN

 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.