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

Inheritance diagram for class svt_chi_transaction:

List of all members.


Detailed Description

This class contains fields required for CHI RN and SN transaction. This class acts as a base class for RN and SN transaction classes.



Public Member Functions

function bit [SVT_CHI_MAX_TAGGED_ADDR_WIDTH-1:0]  get_atomic_max_byte_address ( bit use_tagged_addr = 0 )
function int  get_atomic_max_byte_idx ( )
function bit [SVT_CHI_MAX_TAGGED_ADDR_WIDTH-1:0]  get_atomic_min_byte_address ( bit use_tagged_addr = 0 )
function int  get_atomic_min_byte_idx ( )
function real  get_compack_realtime ( )
function int  get_compdata_src_id_for_dct ( )
function dat_msg_type_enum  get_dat_flit_type_for_writes_atomics ( )
function byte_enable_pattern_enum  get_entire_byte_enable_pattern_type ( )
function data_pattern_enum  get_entire_write_data_pattern_type ( )
function bit [SVT_CHI_MAX_TAGGED_ADDR_WIDTH-1:0]  get_max_byte_address ( bit use_tagged_addr = 0 )
function int  get_max_byte_idx ( )
function bit [SVT_CHI_MAX_TAGGED_ADDR_WIDTH-1:0]  get_min_byte_address ( bit use_tagged_addr = 0 )
function int  get_min_byte_idx ( )
function string  get_mru_data_flits_type ( )
function bit  get_ns_from_tagged_addr ( bit [SVT_CHI_MAX_TAGGED_ADDR_WIDTH-1:0] tagged_addr )
function bit  get_readreceipt_realtime ( output real readreceipt_end_time )
function realtime  get_req_accept_realtime ( )
function bit  get_resperr_status ( input svt_chi_common_transaction :: resp_err_status_enum response_type, input bit get_first_match = 1'b1 )
function realtime  get_resp_status_accept_realtime ( )
function int  get_valid_byte_count ( )
function bit [(SVT_CHI_XACT_MAX_BE_WIDTH-1):0]  get_valid_wysiwyg_byte_enable ( )
function bit [(SVT_CHI_XACT_MAX_DATA_WIDTH-1):0]  get_valid_wysiwyg_data ( )
function void  get_write_data_and_byte_enable_pattern_type ( )
function xact_category_enum  get_xact_category ( )
function void  get_xacts_to_same_cacheline_started_before_curr_xact ( output svt_chi_transaction xacts_to_same_cache_line[$] )
function bit  is_cbwrite_xact_involves_data ( )
function bit  is_cmo_xact ( )
function bit  is_copyback_write_xact ( )
function bit  is_dvm_sync ( )
function bit  is_final_completing_flit_from_rn ( )
function bit  is_ordered_read_xact ( )
function bit  is_range_based_dvm_tlbi_operation ( )
function bit  is_req_order_asserted ( )
function svt_chi_snoop_transaction  is_snpquery_used_for_xact ( )
function bit  is_xact_valid_to_support_dwt ( )
function void  new ( string name = "svt_chi_transaction" )
function void  pack_byte_enable_to_byte_stream ( input bit [SVT_CHI_XACT_MAX_BE_WIDTH-1:0] byte_enable_to_pack, output bit packed_byte_enable[] )
function void  pack_data_to_byte_stream ( input bit [SVT_CHI_XACT_MAX_DATA_WIDTH-1:0] data_to_pack, output bit [7:0] packed_data[] )
function queue_of_str  print_pending_flits ( svt_chi_common_transaction common_xact )
function int  reasonable_constraint_mode ( bit on_off )
function void  set_combined_responses_order ( )
function void  set_end_of_transaction ( bit aborted = 0 )
function void  set_req_accept_realtime ( )
function void  set_resp_status_accept_realtime ( )
function void  unpack_byte_stream_to_atomic_read_data ( input bit [7:0] data_to_unpack[], output bit [SVT_CHI_XACT_MAX_DATA_WIDTH-1:0] unpacked_data )
function void  unpack_byte_stream_to_byte_enable ( input bit byte_enable_to_unpack[], output bit [SVT_CHI_XACT_MAX_BE_WIDTH-1:0] unpacked_byte_enable )
function void  unpack_byte_stream_to_data ( input bit [7:0] data_to_unpack[], output bit [SVT_CHI_XACT_MAX_DATA_WIDTH-1:0] unpacked_data )

Public Attributes

rand bit  allocate_in_cache = 1; 
rand bit [(SVT_CHI_XACT_MAX_DATA_WIDTH-1):0]  allocate_in_cache_data_for_tag_fetch_readunique = 0; 
svt_chi_transaction  associated_barrier_xact 
rand bit [(SVT_CHI_MAX_ATOMIC_DATA_WIDTH-1):0]  atomic_compare_data = 0; 
rand bit [(SVT_CHI_MAX_ATOMIC_TAG_WIDTH-1):0]  atomic_compare_tag = 0; 
rand svt_chi_common_transaction :: resp_err_status_enum  atomic_comp_resp_err 
rand bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  atomic_compare_datacheck = 0; 
rand bit [(SVT_CHI_MAX_ATOMIC_POISON_WIDTH-1):0]  atomic_compare_poison = 0; 
rand svt_chi_common_transaction :: resp_err_status_enum  atomic_dbid_resp_err 
rand svt_chi_common_transaction :: tag_op_enum  atomic_read_data_tag_op 
bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  atomic_read_datacheck = 0; 
bit [(SVT_CHI_XACT_MAX_POISON_WIDTH-1):0]  atomic_read_poison = 0; 
bit [(SVT_CHI_MAX_ATOMIC_DATA_WIDTH-1):0]  atomic_returned_initial_data = 0; 
bit [(SVT_CHI_MAX_ATOMIC_DATACHECK_WIDTH-1):0]  atomic_returned_initial_datacheck = 0; 
bit [(SVT_CHI_MAX_ATOMIC_POISON_WIDTH-1):0]  atomic_returned_initial_poison = 0; 
rand bit [(SVT_CHI_MAX_ATOMIC_TAG_WIDTH-1):0]  atomic_returned_initial_tag = 0; 
rand bit [(SVT_CHI_MAX_ATOMIC_LD_ST_DATACHECK_WIDTH-1):0]  atomic_store_load_datacheck = 0; 
rand bit [(SVT_CHI_MAX_ATOMIC_LD_ST_POISON_WIDTH-1):0]  atomic_store_load_poison = 0; 
rand bit [(SVT_CHI_MAX_ATOMIC_LD_ST_DATA_WIDTH-1):0]  atomic_store_load_txn_data = 0; 
rand bit [(SVT_CHI_MAX_ATOMIC_TAG_WIDTH-1):0]  atomic_store_load_txn_tag = 0; 
rand bit [(SVT_CHI_MAX_ATOMIC_DATA_WIDTH-1):0]  atomic_swap_data = 0; 
rand bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  atomic_swap_datacheck = 0; 
rand bit [(SVT_CHI_MAX_ATOMIC_POISON_WIDTH-1):0]  atomic_swap_poison = 0; 
rand bit [(SVT_CHI_MAX_ATOMIC_TAG_WIDTH-1):0]  atomic_swap_tag = 0; 
rand svt_chi_common_transaction :: tag_op_enum  atomic_write_data_tag_op 
bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  atomic_write_datacheck = 0; 
bit [(SVT_CHI_XACT_MAX_POISON_WIDTH-1):0]  atomic_write_poison = 0; 
svt_chi_transaction :: auto_generation_category_enum  auto_generation_category 
rand bit [(SVT_CHI_XACT_MAX_BE_WIDTH-1):0]  byte_enable = 0; 
bit  cache_update_complete = 0; 
svt_chi_transaction :: completion_of_cmo_in_wrcmo_flow_category_enum  completion_of_cmo_in_wrcmo_flow_category_type 
svt_chi_transaction :: comp_dbid_responses_order_enum  comp_dbid_responses_order 
svt_chi_transaction :: comp_persist_responses_order_enum  comp_persist_responses_order 
svt_chi_transaction :: comp_stashdone_responses_order_enum  comp_stashdone_responses_order 
rand int  comp_to_dbidrespord_flit_delay = SVT_CHI_MIN_COMPTODBIDRESPORD_DELAY
rand int  comp_to_dbid_flit_delay = SVT_CHI_MIN_COMPTODBID_DELAY
rand int  comp_to_stashdone_flit_delay = SVT_CHI_MIN_COMPTOSTASHDONE_DELAY
rand bit  copyback_write_data_cancel_upon_snoop_hazard = 0; 
int  current_dat_flit_num = 0; 
svt_chi_common_transaction :: tag_state_enum  current_tag_state 
rand bit [(SVT_CHI_XACT_MAX_DATA_WIDTH-1):0]  data = 0; 
rand bit [(SVT_CHI_XACT_CBUSY_WIDTH-1):0]  data_cbusy [] 
rand svt_chi_common_transaction :: tag_op_enum  data_tag_op 
rand bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  datacheck = 0; 
bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  datacheck_computed_on_received_data = 0; 
bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  datacheck_daterror_computed_value = 0; 
rand bit [(SVT_CHI_XACT_DAT_RSVDC_WIDTH-1):0]  dat_rsvdc [] 
rand svt_chi_common_transaction :: resp_err_status_enum  data_resp_err_status[] 
rand int  dbidrespord_to_comp_flit_delay = SVT_CHI_MIN_DBIDRESPORDTOCOMP_DELAY
rand svt_chi_common_transaction :: dbid_policy_enum  dbid_policy 
rand int  dbid_to_comp_flit_delay = SVT_CHI_MIN_DBIDTOCOMP_DELAY
bit  enable_interleave = 0; 
svt_chi_common_transaction :: excl_access_status_enum  excl_access_status 
svt_chi_common_transaction :: excl_mon_status_enum  excl_mon_status 
bit  excl_store_cache_update = 0; 
svt_chi_common_transaction :: excl_xact_drop_cond_enum  excl_xact_drop_cond 
svt_chi_common_transaction :: cache_state_enum  final_cache_line_state 
svt_chi_common_transaction :: tag_state_enum  final_tag_state 
rand bit [SVT_CHI_HN_NODE_IDX_WIDTH-1:0]  hn_node_idx = 0; 
svt_chi_common_transaction :: cache_state_enum  initial_cache_line_state 
svt_chi_common_transaction :: tag_state_enum  initial_tag_state 
int  interleaved_group_object_num = -1; 
rand svt_chi_transaction :: interleave_pattern_enum  interleave_pattern 
bit  invalidating_type_snoop_received_while_xact_is_outstanding = 0; 
bit  is_auto_generated = 0; 
bit  is_cached_data = 0; 
bit  is_cacheline_reserved = 1'b0; 
bit  is_cancelled_on_retry = 0; 
rand bit  is_compack_after_all_compdata = 1'b1; 
rand bit  is_compack_after_respsepdata_and_all_datasepresp = 1'b1; 
bit  is_comp_received = 0; 
bit  is_compcmo_received = 0; 
bit  is_comppersist_received = 0; 
bit  is_dbid_received = 0; 
bit  is_dbidrespord_received = 0; 
bit  is_dct_used = 1'b0; 
bit  is_dmt_used = 1'b0; 
bit  is_dwt_used = 1'b0; 
rand bit  is_ncbwrdatacompack_used_for_write_xact = 0; 
bit  is_p_crd_grant_allocated = 0; 
rand bit  is_p_crd_grant_before_retry_ack = 0; 
bit  is_persist_issued_from_sn_to_rn = 0; 
bit  is_persist_received = 0; 
bit  is_read_data_unknown = 1'b0; 
rand bit  is_respsepdata_datasepresp_flow_used = 1'b0; 
rand bit  is_retried_with_original_qos = 1; 
rand bit  is_retried_with_original_rsvdc = 1; 
rand bit  is_retried_with_original_slcrephint_replacement = 1; 
rand bit  is_retried_with_original_slcrephint_unusedprefetch = 1; 
rand bit  is_retried_with_original_tgt_id = 1; 
rand bit  is_retried_with_original_trace_tag = 1; 
rand bit  is_retried_with_original_txn_id = 1; 
bit  is_snp_response_with_non_data_error_seen_while_mru_xact_is_outstanding = 0; 
bit  is_stashdone_received = 0; 
bit  is_tag_match_computed = 0; 
bit  is_tag_match_received = 0; 
bit  is_tgt_id_remapped = 0; 
rand bit  is_writedatacancel_used_for_write_xact = 0; 
bit  is_xact_dropped = 0; 
svt_chi_transaction :: link_activation_deactivation_initiator_info_enum  link_deactivation_during_xact_queue[$] 
svt_chi_transaction :: link_activation_deactivation_initiator_info_enum  link_reactivation_during_xact_queue[$] 
rand bit [(SVT_CHI_XACT_MAX_DATA_WIDTH-1):0]  makereadunique_read_data = 0; 
rand bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  makereadunique_read_datacheck = 0; 
rand bit [(SVT_CHI_XACT_MAX_POISON_WIDTH-1):0]  makereadunique_read_poison = 0; 
rand bit [(SVT_CHI_XACT_MAX_TAG_WIDTH-1):0]  makereadunique_read_tag = 0; 
bit  non_invalidating_type_snoop_received_while_xact_is_outstanding = 0; 
int  num_dat_flits = 0; 
bit [(SVT_CHI_TGT_ID_WIDTH-1):0]  original_tgt_id = 0; 
bit  outstanding_transactions_with_same_tag_group_id = 0; 
rand int  pcreditgrant_to_retryack_flit_delay = SVT_CHI_MIN_PCREDITGRANTTORETRYACK_DELAY
rand bit [(SVT_CHI_XACT_MAX_POISON_WIDTH-1):0]  poison = 0; 
rand int  random_interleave_array [] 
rand svt_chi_transaction :: reference_event_for_comp_to_dbid_flit_delay_enum  reference_event_for_comp_to_dbid_flit_delay 
rand svt_chi_transaction :: reference_event_for_comp_to_dbidrespord_flit_delay_enum  reference_event_for_comp_to_dbidrespord_flit_delay 
rand svt_chi_transaction :: reference_event_for_comp_to_stashdone_flit_delay_enum  reference_event_for_comp_to_stashdone_flit_delay 
rand svt_chi_transaction :: reference_event_for_dbid_to_comp_flit_delay_enum  reference_event_for_dbid_to_comp_flit_delay 
rand svt_chi_transaction :: reference_event_for_dbidrespord_to_comp_flit_delay_enum  reference_event_for_dbidrespord_to_comp_flit_delay 
rand svt_chi_transaction :: reference_event_for_pcreditgrant_to_retryack_flit_delay_enum  reference_event_for_pcreditgrant_to_retryack_flit_delay 
rand svt_chi_transaction :: reference_event_for_req_to_compdata_flit_delay_enum  reference_event_for_req_to_compdata_flit_delay 
rand svt_chi_transaction :: reference_event_for_req_to_compdbid_flit_delay_enum  reference_event_for_req_to_compdbid_flit_delay 
rand svt_chi_transaction :: reference_event_for_req_to_compstashdone_flit_delay_enum  reference_event_for_req_to_compstashdone_flit_delay 
rand svt_chi_transaction :: reference_event_for_req_to_comp_flit_delay_enum  reference_event_for_req_to_comp_flit_delay 
rand svt_chi_transaction :: reference_event_for_req_to_comppersist_flit_delay_enum  reference_event_for_req_to_comppersist_flit_delay 
rand svt_chi_transaction :: reference_event_for_req_to_dbid_flit_delay_enum  reference_event_for_req_to_dbid_flit_delay 
rand svt_chi_transaction :: reference_event_for_req_to_dbidrespord_flit_delay_enum  reference_event_for_req_to_dbidrespord_flit_delay 
rand svt_chi_transaction :: reference_event_for_req_to_pcreditgrant_flit_delay_enum  reference_event_for_req_to_pcreditgrant_flit_delay 
rand svt_chi_transaction :: reference_event_for_req_to_persist_flit_delay_enum  reference_event_for_req_to_persist_flit_delay 
rand svt_chi_transaction :: reference_event_for_req_to_retryack_flit_delay_enum  reference_event_for_req_to_retryack_flit_delay 
rand svt_chi_transaction :: reference_event_for_req_to_stashdone_flit_delay_enum  reference_event_for_req_to_stashdone_flit_delay 
rand svt_chi_transaction :: reference_event_for_retryack_to_pcreditgrant_flit_delay_enum  reference_event_for_retryack_to_pcreditgrant_flit_delay 
rand svt_chi_transaction :: reference_event_for_stashdone_to_comp_flit_delay_enum  reference_event_for_stashdone_to_comp_flit_delay 
realtime  req_accept_realtime = 0; 
rand int unsigned  req_order_stream_id = 0; 
rand svt_chi_common_transaction :: tag_op_enum  req_tag_op 
rand int  req_to_compstashdone_flit_delay = SVT_CHI_MIN_REQTOCOMPSTASHDONE_DELAY
rand int  req_to_comp_flit_delay = SVT_CHI_MIN_REQTOCOMP_DELAY
rand int  req_to_compdata_flit_delay = SVT_CHI_MIN_REQTOCOMPDATA_DELAY
rand int  req_to_compdbid_flit_delay = SVT_CHI_MIN_REQTOCOMPDBID_DELAY
rand int  req_to_comppersist_flit_delay = SVT_CHI_MIN_REQTOCOMPPERSIST_DELAY
rand int  req_to_dbid_flit_delay = SVT_CHI_MIN_REQTODBID_DELAY
rand int  req_to_dbidrespord_flit_delay = SVT_CHI_MIN_REQTODBIDRESPORD_DELAY
rand int  req_to_pcreditgrant_flit_delay = SVT_CHI_MIN_REQTOPCREDITGRANT_DELAY
rand int  req_to_persist_flit_delay = SVT_CHI_MIN_REQTOPERSIST_DELAY
rand int  req_to_retryack_flit_delay = SVT_CHI_MIN_REQTORETRYACK_DELAY
rand int  req_to_stashdone_flit_delay = SVT_CHI_MIN_REQTOSTASHDONE_DELAY
realtime  resp_status_accept_realtime = 0; 
rand bit [(SVT_CHI_XACT_CBUSY_WIDTH-1):0]  response_cbusy [] 
rand svt_chi_common_transaction :: resp_err_status_enum  response_resp_err_status 
rand int  retryack_to_pcreditgrant_flit_delay = SVT_CHI_MIN_RETRYACKTOPCREDITGRANT_DELAY
rand svt_chi_common_transaction :: tag_op_enum  rsp_tag_op 
svt_chi_transaction :: snoop_filter_precision_info_enum  snoop_filter_precision_info 
svt_chi_snoop_transaction  snoop_xacts_started_after_curr_xact_queue [$] 
rand int  stashdone_to_comp_flit_delay = SVT_CHI_MIN_STASHDONETOCOMP_DELAY
svt_chi_common_transaction :: chi_suspend_resume_status_enum  suspend_wr_data_status 
rand bit [(SVT_CHI_XACT_MAX_TAG_WIDTH-1):0]  tag = 0; 
rand bit [(SVT_CHI_TAG_MATCH_RESP_WIDTH-1):0]  tag_match_resp = 0; 
rand svt_chi_common_transaction :: resp_err_status_enum  tag_match_resp_err_status 
rand bit [(SVT_CHI_XACT_MAX_TAG_UPDATE_WIDTH-1):0]  tag_update = 0; 
svt_chi_common_transaction :: byte_enable_pattern_enum  write_dat_be_pattern[] 
svt_chi_common_transaction :: data_pattern_enum  write_dat_data_pattern[] 
rand svt_chi_common_transaction :: resp_err_status_enum  writecmo_compcmo_resp_err 
svt_chi_transaction :: xact_flow_category_enum  xact_flow_category_type 
rand svt_chi_common_transaction :: xact_type_enum  xact_type 
svt_chi_transaction  xacts_started_before_curr_xact_queue [$] 

Member Typedefs

 typedef enum  auto_generation_category_enum 
 typedef enum  completion_of_cmo_in_wrcmo_flow_category_enum 
 typedef enum  comp_dbid_responses_order_enum 
 typedef enum  comp_persist_responses_order_enum 
 typedef enum  comp_stashdone_responses_order_enum 
 typedef enum  interleave_pattern_enum 
 typedef enum  link_activation_deactivation_initiator_info_enum 
 typedef enum  reference_event_for_comp_to_dbidrespord_flit_delay_enum 
 typedef enum  reference_event_for_comp_to_dbid_flit_delay_enum 
 typedef enum  reference_event_for_comp_to_stashdone_flit_delay_enum 
 typedef enum  reference_event_for_dbidrespord_to_comp_flit_delay_enum 
 typedef enum  reference_event_for_dbid_to_comp_flit_delay_enum 
 typedef enum  reference_event_for_pcreditgrant_to_retryack_flit_delay_enum 
 typedef enum  reference_event_for_req_to_compstashdone_flit_delay_enum 
 typedef enum  reference_event_for_req_to_comp_flit_delay_enum 
 typedef enum  reference_event_for_req_to_compdata_flit_delay_enum 
 typedef enum  reference_event_for_req_to_compdbid_flit_delay_enum 
 typedef enum  reference_event_for_req_to_comppersist_flit_delay_enum 
 typedef enum  reference_event_for_req_to_dbid_flit_delay_enum 
 typedef enum  reference_event_for_req_to_dbidrespord_flit_delay_enum 
 typedef enum  reference_event_for_req_to_pcreditgrant_flit_delay_enum 
 typedef enum  reference_event_for_req_to_persist_flit_delay_enum 
 typedef enum  reference_event_for_req_to_retryack_flit_delay_enum 
 typedef enum  reference_event_for_req_to_stashdone_flit_delay_enum 
 typedef enum  reference_event_for_retryack_to_pcreditgrant_flit_delay_enum 
 typedef enum  reference_event_for_stashdone_to_comp_flit_delay_enum 
 typedef enum  snoop_filter_precision_info_enum 
 typedef enum  txn1_followed_by_txn2_enum 
 typedef enum  xact_category_enum 
 typedef enum  xact_flow_category_enum 

Constraints

constraint  chi_transaction_valid_ranges  ( )
constraint  reasonable_comp_to_dbidrespord_flit_delay  ( )
constraint  reasonable_comp_to_dbid_flit_delay  ( )
constraint  reasonable_comp_to_stashdone_flit_delay  ( )
constraint  reasonable_dbidrespord_to_comp_flit_delay  ( )
constraint  reasonable_dbid_to_comp_flit_delay  ( )
constraint  reasonable_pcreditgrant_to_retryack_flit_delay  ( )
constraint  reasonable_req_to_compstashdone_flit_delay  ( )
constraint  reasonable_req_to_comp_flit_delay  ( )
constraint  reasonable_req_to_compdata_flit_delay  ( )
constraint  reasonable_req_to_compdbid_flit_delay  ( )
constraint  reasonable_req_to_comppersist_flit_delay  ( )
constraint  reasonable_req_to_dbid_flit_delay  ( )
constraint  reasonable_req_to_dbidrespord_flit_delay  ( )
constraint  reasonable_req_to_pcreditgrant_flit_delay  ( )
constraint  reasonable_req_to_persist_flit_delay  ( )
constraint  reasonable_req_to_retryack_flit_delay  ( )
constraint  reasonable_req_to_stashdone_flit_delay  ( )
constraint  reasonable_retryack_to_pcreditgrant_flit_delay  ( )
constraint  reasonable_stashdone_to_comp_flit_delay  ( )


Member Function Documentation

  function bit [SVT_CHI_MAX_TAGGED_ADDR_WIDTH-1:0]
 svt_chi_transaction::get_atomic_max_byte_address

 (  bit use_tagged_addr = 0  ) 


Returns maximum byte address for the cacheline corresponding to current address for an atomic transaction

  function int
 svt_chi_transaction::get_atomic_max_byte_idx

 (   ) 


Returns maximum byte inded for the cacheline corresponding to current address for an atomic transaction

  function bit [SVT_CHI_MAX_TAGGED_ADDR_WIDTH-1:0]
 svt_chi_transaction::get_atomic_min_byte_address

 (  bit use_tagged_addr = 0  ) 


Returns minimum byte address for the cacheline corresponding to current address for an atomic transaction

  function int
 svt_chi_transaction::get_atomic_min_byte_idx

 (   ) 


Returns minimum byte index for the cacheline corresponding to current address for an atomic transaction

  function real
 svt_chi_transaction::get_compack_realtime

 (   ) 


This method returns the time at which the compack flit is completed.

  function int
 svt_chi_transaction::get_compdata_src_id_for_dct

 (   ) 


This method returns the src_id of the compdata flit when DCT flow is used. Returns -1 If Compdata is not sent by any Peer RN.

  function dat_msg_type_enum
 svt_chi_transaction::get_dat_flit_type_for_writes_atomics

 (   ) 


Returns the write data type observed for a write/atomic transaction. This function is internal to VIP and used only for coverage collection.

  function byte_enable_pattern_enum
 svt_chi_transaction::get_entire_byte_enable_pattern_type

 (   ) 


Used to get the byte_enable pattern of entire write data

  function data_pattern_enum
 svt_chi_transaction::get_entire_write_data_pattern_type

 (   ) 


Used to get the data pattern of entire write data

  function bit [SVT_CHI_MAX_TAGGED_ADDR_WIDTH-1:0]
 svt_chi_transaction::get_max_byte_address

 (  bit use_tagged_addr = 0  ) 


Returns maximum byte address for the cacheline corresponding to current address

 Superseded functions 
 svt_chi_common_transaction :: get_max_byte_address 

  function int
 svt_chi_transaction::get_max_byte_idx

 (   ) 


Returns maximum byte inded for the cacheline corresponding to current address

  function bit [SVT_CHI_MAX_TAGGED_ADDR_WIDTH-1:0]
 svt_chi_transaction::get_min_byte_address

 (  bit use_tagged_addr = 0  ) 


Returns minimum byte address for the cacheline corresponding to current address

 Superseded functions 
 svt_chi_common_transaction :: get_min_byte_address 

  function int
 svt_chi_transaction::get_min_byte_idx

 (   ) 


Returns minimum byte index for the cacheline corresponding to current address

  function string
 svt_chi_transaction::get_mru_data_flits_type

 (   ) 


Indicates if the MakereadUnique transaction involves data or not.
  • "compdata" : compdata is observed
  • "comp" : comp is observed
This function is internal to VIP and used only for coverage collection and should be called only after the transaction is complete.

  function bit
 svt_chi_transaction::get_ns_from_tagged_addr

 (  bit [SVT_CHI_MAX_TAGGED_ADDR_WIDTH-1:0] tagged_addr  ) 


Returns NS bit from the provided CHI tagged address.

  function bit
 svt_chi_transaction::get_readreceipt_realtime

 (  output real readreceipt_end_time  ) 


This method returns the time at which readreceipt is sent for an optimized DMT. readreceipt_end_time: The simulation time when the READRECEIPT FLIT completes is captured in this member. This is applicable only for Slave Transaction. Returns 1, if the READRECEIPT Flit exists, else return 0.

  function realtime
 svt_chi_transaction::get_req_accept_realtime

 (   ) 


Accessor method which returns the time at which the req is accepted as a realtime value.

  function bit
 svt_chi_transaction::get_resperr_status

 (  input svt_chi_common_transaction :: resp_err_status_enum response_type , input bit get_first_match = 1'b1  ) 


This method is used to check for a particular response type provided as an argument to this method by traversing the data_resp_err_status array and checking the value in the response_resp_err_status attribute.

response_type - The response type to search.

get_first_match - Flag to indicate whether to get the first match for the response_type or to match the response_type with all the values of data_resp_err_status array and response_resp_err_status attribute. In case this argument is set to 0, the method will return 1 only when the response_type matches with all the values of data_resp_err_status array and response_resp_err_status attribute based on transaction type. Default value is 1 for this argument which allows the method to return after the first matching occurance is found.

Return values - Returns 1 if the particular response type is found else returns 0.

  function realtime
 svt_chi_transaction::get_resp_status_accept_realtime

 (   ) 


Accessor method which returns the time at which CompAck is observed as a realtime value.

  function int
 svt_chi_transaction::get_valid_byte_count

 (   ) 


Returns number of byte whose byte_enable is '1'

  function bit [(SVT_CHI_XACT_MAX_BE_WIDTH-1):0]
 svt_chi_transaction::get_valid_wysiwyg_byte_enable

 (   ) 


Returns byte_enable of the transaction in wysiwyg format with all the bits corresponding to invalid byte lanes maksed as zeros.

  function bit [(SVT_CHI_XACT_MAX_DATA_WIDTH-1):0]
 svt_chi_transaction::get_valid_wysiwyg_data

 (   ) 


Returns data of the transaction in wysiwyg format with all the bits corresponding to invalid byte lanes maksed as zeros.

  function void
 svt_chi_transaction::get_write_data_and_byte_enable_pattern_type

 (   ) 


Used to get the byte_enable pattern of write data flit

  function xact_category_enum
 svt_chi_transaction::get_xact_category

 (   ) 


Returns category type for the current transaction object

  function void
 svt_chi_transaction::get_xacts_to_same_cacheline_started_before_curr_xact

 (  output svt_chi_transaction xacts_to_same_cache_line [$]  ) 


This API gives out xacts to the same cache line that are started before this transaction.

  function bit
 svt_chi_transaction::is_cbwrite_xact_involves_data

 (   ) 


Indicates if the copyback write transaction involves data response (compdbidresp -> copybackwritedata) or not (comp -> compack).
  • 1 : compdbidresp -> copybackwritedata
  • 0 : comp -> compack
This function is internal to VIP and used only for coverage collection and should be called only after the transaction is complete as it looks at rsp/data status attributes.

  function bit
 svt_chi_transaction::is_cmo_xact

 (   ) 


Determines if this transaction is a CMO transaction.

  function bit
 svt_chi_transaction::is_copyback_write_xact

 (   ) 


Determines if this transaction is a Copyback transaction (includes Combined CBWrite and (P)CMO type transactions).

  function bit
 svt_chi_transaction::is_dvm_sync

 (   ) 


Determines if this transaction is a DVM sync

  function bit
 svt_chi_transaction::is_final_completing_flit_from_rn

 (   ) 


Method which indicates if the completing flit of the transaction is sent or expected to be sent by the RN.

  function bit
 svt_chi_transaction::is_ordered_read_xact

 (   ) 


Determines if the transaction is an ordered read transaction.

  function bit
 svt_chi_transaction::is_range_based_dvm_tlbi_operation

 (   ) 


Determines if this transaction is a Range based DVM TLBI

  function bit
 svt_chi_transaction::is_req_order_asserted

 (   ) 


Determines if the transaction's attribute for request ordering is asserted.

  function svt_chi_snoop_transaction
 svt_chi_transaction::is_snpquery_used_for_xact

 (   ) 


This API checks if a SnpQuery transaction was seen at the RN while the current transaction was ongoing. If a SnpQuery was seen and it completed before the end of the current transaction, the API returns the handle of the SnpQuery transaction

  function bit
 svt_chi_transaction::is_xact_valid_to_support_dwt

 (   ) 


Indicates if the transaction can support DWT DWT is permitted only in writes that are Non-CopyBack. DWT is not permitted in Non-CopyBack writes that are OWO writes

  function void
 svt_chi_transaction::new

 (  string name = "svt_chi_transaction"  ) 


CONSTRUCTOR: Create a new sequence item instance.

name - Instance name of the sequence item.


 Superseded functions 
 uvm_object :: new 
 uvm_sequence_item :: new 
 svt_chi_common_transaction :: new 
 svt_chi_base_transaction :: new 
 Superseding functions 
 svt_chi_rn_transaction :: new 
 svt_chi_ic_rn_transaction :: new 
 svt_chi_sn_transaction :: new 
 svt_chi_ic_sn_transaction :: new 

  function void
 svt_chi_transaction::pack_byte_enable_to_byte_stream

 (  input bit [SVT_CHI_XACT_MAX_BE_WIDTH-1:0] byte_enable_to_pack , output bit packed_byte_enable []  ) 


Returns the byte_enable in the byte_enable_to_pack[] field as a byte stream based on the address. The assumption is that byte_enable[] field of this class have been passed as arguments to byte_enable_to_pack[] field. The output has byte_enable packed with the first element corresponding to the address aligned to the data_size.

byte_enable_to_pack - byte_enable to be packed

packed_byte_enable - [] Output byte stream with packed byte_enable

  function void
 svt_chi_transaction::pack_data_to_byte_stream

 (  input bit [SVT_CHI_XACT_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 address. The assumption is that data[] field of this class have been passed as arguments to data_to_pack[] field. The output has data packed with the first element corresponding to the address aligned to the data_size.

data_to_pack - Data to be packed

packed_data - [] Output byte stream with packed data

  function queue_of_str
 svt_chi_transaction::print_pending_flits

 (  svt_chi_common_transaction common_xact  ) 


This method is used to printh the information of Pending flits for a transaction at the point of transaction inactivity timeout

  function int
 svt_chi_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 
 svt_chi_common_transaction :: reasonable_constraint_mode 
 svt_chi_base_transaction :: reasonable_constraint_mode 
 Superseding functions 
 svt_chi_rn_transaction :: reasonable_constraint_mode 
 svt_chi_sn_transaction :: reasonable_constraint_mode 
 svt_chi_ic_sn_transaction :: reasonable_constraint_mode 

  function void
 svt_chi_transaction::set_combined_responses_order

 (   ) 


Sets Combined response attributes:
  • comp_dbid_responses_order
  • comp_persist_responses_order
  • comp_stashdone_responses_order
This function is internal to VIP and used only for coverage collection.

  function void
 svt_chi_transaction::set_end_of_transaction

 (  bit aborted = 0  ) 


Mark end of transaction.

aborted - indicates that, tranaction is aborted. Currently this argument is not used for any functionality.

  function void
 svt_chi_transaction::set_req_accept_realtime

 (   ) 


Method setting the req_accept_time to the current simulation time.

  function void
 svt_chi_transaction::set_resp_status_accept_realtime

 (   ) 


Method setting the resp_status_accept_realtime to the current simulation time.

  function void
 svt_chi_transaction::unpack_byte_stream_to_atomic_read_data

 (  input bit [7:0] data_to_unpack [], output bit [SVT_CHI_XACT_MAX_DATA_WIDTH-1:0] unpacked_data  ) 


Populates the data in the data_to_unpack[] field into unpacked_data based on the address. The first element in the data_to_unpack must correspond to the address aligned to data_size and subsequent elements must correspond to consecutive address locations. The size of this array must be equal to the number of bytes transferred based on data_size.

data_to_unpack - Data to be unpacked

unpacked_data - [] Unpacked data

  function void
 svt_chi_transaction::unpack_byte_stream_to_byte_enable

 (  input bit byte_enable_to_unpack [], output bit [SVT_CHI_XACT_MAX_BE_WIDTH-1:0] unpacked_byte_enable  ) 


Populates the byte_enable in the byte_enable_to_unpack[] field into unpacked_byte_enable based on the address. The first element in the byte_enable_to_unpack must correspond to the address aligned to data_size and subsequent elements must correspond to consecutive address locations. The size of this array must be equal to the number of bytes transferred based on data_size.

byte_enable_to_unpack - byte_enable to be unpacked

unpacked_byte_enable - [] Unpacked byte_enable

  function void
 svt_chi_transaction::unpack_byte_stream_to_data

 (  input bit [7:0] data_to_unpack [], output bit [SVT_CHI_XACT_MAX_DATA_WIDTH-1:0] unpacked_data  ) 


Populates the data in the data_to_unpack[] field into unpacked_data based on the address. The first element in the data_to_unpack must correspond to the address aligned to data_size and subsequent elements must correspond to consecutive address locations. The size of this array must be equal to the number of bytes transferred based on data_size.

data_to_unpack - Data to be unpacked

unpacked_data - [] Unpacked data


Member Attribute Documentation

 rand bit  attribute
 svt_chi_transaction::allocate_in_cache = 1


Indicates if the data as given in data field is to be allocated in cache. Currently applicable only for CLEANUNIQUE and MakeReadUnique transaction. . A CLEANUNIQUE transaction is used to write partial data into the cache when the requesting RN already has the cacheline, but the cache line is in a shared state. . If this bit is set, the data as given in data field will be written into cache according to the byte-enables set in the byte_enable field. Also, the cacheline will move to a UD state. In case of CleanUnique, if the cacheline gets deleted by an incoming snoop before this transaction completes, the cacheline moves to a UDP state. In case of MakeReadUnique, if the cacheline gets deleted by an incoming Snoop before the transaction completes, the cacheine will be updated with the transaction data, given by "makereadunique_read_data" and then overriden with the data and byte_enable programmed in the transaction handle. The cacheline will move to UD state. . If this bit is unset, the data given in the data field has no relevance. In case of CLeanUnique, if the cacheline gets deleted by an incoming snoop before this transaction completes, the cacheline moves to a UCE state. In case of MakeReadUnique, if the cacheline gets deleted by an incoming Snoop before the transaction completes, the cacheline moves to the state specified in the read data response.

 rand bit [(SVT_CHI_XACT_MAX_DATA_WIDTH-1):0]  attribute
 svt_chi_transaction::allocate_in_cache_data_for_tag_fetch_readunique = 0


This field defines the data that must be written onto the RN cache at the end of a ReadUnique transaction with TagOp in the request (req_tag_op) set to fetch (TAG_FETCH_MATCH).
This field is only applicable for active RN VIP configured in CHI-E or later mode.
This field is not applicable for transaction types other than ReadUnique.
This field must be programmed by the user only if TagOp in the ReadUnique is Fetch
The data corresponds to all 64 bytes.
  • This field corresponds to number of bytes starting from the address that is aligned to the data size.

 svt_chi_transaction  attribute
 svt_chi_transaction::associated_barrier_xact


This member points to a CHI transaction of barrier type (EOBarrier or ECBarrier) associated to this current transaction. When associated_barrier_xact is null, it indicates that this current transaction is not a post-barrier transaction. When associated_barrier_xact is non-null, this current transaction will wait for the response of the barrier transaction associated_barrier_xact, before this transaction can be transmitted.

Please refer to User Guide for more details on usage of this member.

 rand bit [(SVT_CHI_MAX_ATOMIC_DATA_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_compare_data = 0


Data that must be sent as Compare Data in AtomicCompare transactions.
Only applicable when xact_type is set to ATOMICCOMPARE.
User must program the bits corresponding to (outbound data size/2), which should be one of 1, 2, 4, 8 or 16 bytes.

 rand bit [(SVT_CHI_MAX_ATOMIC_TAG_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_compare_tag = 0


This field defines the valid Tags corresponding to the Compare data that is passed in the Write data response for an AtomicCompare transaction.
Only the nibbles corresponding to the inbound data size of the AtomicCompare transaction will be considered. There will be one Tag nibble for every 16 Bytes of data.
As the inbound data size for an Atomic Compare transaction cannot exceed 16B, there can only be one valid Tag value.
The value of this field must be the same as atomic_swap_tag when the transaction type is AtomicCompare.
This field is not applicable for transaction types other than AtomicCompare.

 rand svt_chi_common_transaction :: resp_err_status_enum  attribute
 svt_chi_transaction::atomic_comp_resp_err = NORMAL_OKAY


Captures the RespErr field seen in the Comp or CompDBID response for an AtomicStore transaction.

 rand bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_compare_datacheck = 0


Datacheck that must be sent as Compare datacheck in AtomicCompare transactions.
Only applicable when xact_type is set to ATOMICCOMPARE.
Need not be set by the user as the currupted bit within the data window will be asserted when corresponding 1 data byte has been previously been corrupted.
The bits corresponding to (outbound data size/2), which should be one of 1, 2, 4, 8 or 16 bytes, will be asserted.

 rand bit [(SVT_CHI_MAX_ATOMIC_POISON_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_compare_poison = 0


Poison that must be sent as Compare poison in AtomicCompare transactions.
Only applicable when xact_type is set to ATOMICCOMPARE.
Need not be set by the user as the poison bit within the data window will be asserted when set of corresponding 8 data bytes have been previously been corrupted.
The bits corresponding to (outbound data size/2), which should be one of 1, 2, 4, 8 or 16 bytes, will be asserted.

 rand svt_chi_common_transaction :: resp_err_status_enum  attribute
 svt_chi_transaction::atomic_dbid_resp_err = NORMAL_OKAY


Captures the RespErr field seen in the DBID Resp for an Atomic transaction. For AtomicStore transactions that receive a combined CompDBID response, this field will not be populated.

 rand svt_chi_common_transaction :: tag_op_enum  attribute
 svt_chi_transaction::atomic_read_data_tag_op = TAG_INVALID


Defines the tag_op field in the Read data of an AtomicOp transaction This field is automatically populated by the VIP and must not be programmed by the users. This field is applicable only when svt_chi_node_configuration :: chi_spec_revision is set to ISSUE_E or later.

 bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_read_datacheck = 0


Datacheck is sent out along with CompData in Atomic transactions.
Only applicable when xact_type is set to ATOMICLOAD*, ATOMICSWAP or ATOMICCOMPARE.
User must not program this field as it is automatically populated based on the received CompData flits and later unpacked to the atomic_returned_initial_data field.

 bit [(SVT_CHI_XACT_MAX_POISON_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_read_poison = 0


Poison is sent out along with CompData in Atomic transactions.
Only applicable when xact_type is set to ATOMICLOAD*, ATOMICSWAP or ATOMICCOMPARE.
User must not program this field as it is automatically populated based on the received CompData flits and later unpacked to the atomic_returned_initial_data field.

 bit [(SVT_CHI_MAX_ATOMIC_DATA_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_returned_initial_data = 0


Data containing the original value of the addressed location that is returned by the Completer for Atomic transactions. Only applicable when xact_type is set to ATOMICLOAD, ATOMICCOMPARE or ATOMICSWAP. User must not program this field. This field will be populated by the agent after all CompData flits corresponding to the Atomic transaction are received. Only the bits corresponding to the inbound data size must be considered.

 bit [(SVT_CHI_MAX_ATOMIC_DATACHECK_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_returned_initial_datacheck = 0


Datacheck containing the original value of the addressed location that is returned by the Completer for Atomic transactions. Only applicable when xact_type is set to ATOMICLOAD, ATOMICCOMPARE or ATOMICSWAP. User must not program this field. This field will be populated by the agent after all CompData flits corresponding to the Atomic transaction are received. Only the bits corresponding to the inbound data size must be considered.

 bit [(SVT_CHI_MAX_ATOMIC_POISON_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_returned_initial_poison = 0


Poison containing the original value of the addressed location that is returned by the Completer for Atomic transactions. Only applicable when xact_type is set to ATOMICLOAD, ATOMICCOMPARE or ATOMICSWAP. User must not program this field. This field will be populated by the agent after all CompData flits corresponding to the Atomic transaction are received. Only the bits corresponding to the inbound data size must be considered.

 rand bit [(SVT_CHI_MAX_ATOMIC_TAG_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_returned_initial_tag = 0


This field defines the valid Tags corresponding to the Read data that is seen for an AtomicLoad, AtomicSwap or AtomicCompare transaction.
Only the nibbles corresponding to the inbound data size of the Atomic transaction will be considered. There will be one Tag nibble for every 16 Bytes of data.
As the data size for an Atomic Load/Swap transaction cannot exceed 8B, there can only be one valid Tag value.
As the inbound data size for an Atomic Compare transaction cannot exceed 16B, there can only be one valid Tag value.
This field is not applicable for transaction types other than AtomicLoad/Swap/Compare.

 rand bit [(SVT_CHI_MAX_ATOMIC_LD_ST_DATACHECK_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_store_load_datacheck = 0


Datacheck must be sent along with Write Data in AtomicStore and AtomicLoad transactions.
Only applicable when xact_type is set to ATOMICSTORE_* or ATOMICLOAD_*.
User must program the bits appropriately based on the data size, which should be one of 1, 2, 4, or 8 bytes. The bits corresponding to the data size field will be copied over to the write datacheck field in data (NCBWrData) field.

 rand bit [(SVT_CHI_MAX_ATOMIC_LD_ST_POISON_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_store_load_poison = 0


Poison must be sent along with Write Data in AtomicStore and AtomicLoad transactions.
Only applicable when xact_type is set to ATOMICSTORE_* or ATOMICLOAD_*.
User must program the bits appropriately based on the data size, which should be one of 1, 2, 4, or 8 bytes. The bits corresponding to the data size field will be copied over to the write poison field in data (NCBWrData) field.

 rand bit [(SVT_CHI_MAX_ATOMIC_LD_ST_DATA_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_store_load_txn_data = 0


Data that must be sent as Write Data in AtomicStore and AtomicLoad transactions.
Only applicable when xact_type is set to ATOMICSTORE_* or ATOMICLOAD_*.
User must program the bits appropriately based on the data size, which should be one of 1, 2, 4, or 8 bytes. The bits corresponding to the data size field will be copied over to the write data (NCBWrData) field.

 rand bit [(SVT_CHI_MAX_ATOMIC_TAG_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_store_load_txn_tag = 0


This field defines the valid Tags that are passed in the Write data response for an AtomicStore or AtomicLoad transaction.
Only the nibbles corresponding to the data size of the Atomic transaction will be considered. There will be one Tag nibble for every 16 Bytes of data.
As the data size for an Atomic Store or Load cannot exceed 8B, there can only be one valid Tag value.
This field is not applicable for transaction types other than AtomicStore/Load.

 rand bit [(SVT_CHI_MAX_ATOMIC_DATA_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_swap_data = 0


Data that must be sent as Swap Data in AtomicSwap and AtomicCompare transactions.
Only applicable when xact_type is set to ATOMICSWAP or ATOMICCOMPARE.
For AtomicSwap, user must program the bits corresponding to the outbound data size, which should be one of 1, 2, 4, or 8 bytes. For AtomicCompare, user must program the bits corresponding to (outbound data size/2), which should be one of 1, 2, 4, 8 or 16 bytes. Therefore, for AtomicSwap only the least significant 8 bytes ([63:0]) of atomic_swap_data will be considered while for AtomicCompare all 16 bytes will be considered.

 rand bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_swap_datacheck = 0


Datacheck that must be sent along with Swap Data in AtomicSwap and AtomicCompare transactions.
Only applicable when xact_type is set to ATOMICSWAP or ATOMICCOMPARE.
Need not be set by the user as the currupted bits within the data window will be asserted when corresponding 1 data byte has been previously been corrupted.
Therefore, for AtomicSwap only the least significant 8 bytes ([63:0]) of atomic_swap_data will be considered while for AtomicCompare all 16 bytes will be considered.

 rand bit [(SVT_CHI_MAX_ATOMIC_POISON_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_swap_poison = 0


Poison that must be sent as Swap poison in AtomicSwap and AtomicCompare transactions.
Only applicable when xact_type is set to ATOMICSWAP or ATOMICCOMPARE.
Need not be set by the user as the poison bit within the data window will be asserted when set of corresponding 8 data bytes have been previously been corrupted.
For AtomicSwap, user must program the bits corresponding to the outbound data size, which should be one of 1, 2, 4, or 8 bytes. For AtomicCompare, user must program the bits corresponding to (outbound data size/2), which should be one of 1, 2, 4, 8 or 16 bytes. Therefore, for AtomicSwap only the least significant 8 bytes ([63:0]) of atomic_swap_data will be considered while for AtomicCompare all 16 bytes will be considered.

 rand bit [(SVT_CHI_MAX_ATOMIC_TAG_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_swap_tag = 0


This field defines the valid Tags corresponding to the Swap data that is passed in the Write data response for an AtomicSwap or AtomicCompare transaction.
Only the nibbles corresponding to the inbound data size of the Atomic transaction will be considered. There will be one Tag nibble for every 16 Bytes of data.
As the data size for an Atomic Swap transaction cannot exceed 8B, there can only be one valid Tag value.
As the inbound data size for an Atomic Compare transaction cannot exceed 16B, there can only be one valid Tag value.
This field is not applicable for transaction types other than AtomicSwap/Compare.

 rand svt_chi_common_transaction :: tag_op_enum  attribute
 svt_chi_transaction::atomic_write_data_tag_op = TAG_INVALID


Defines the tag_op field in the Write data of an AtomicOp transaction. This field must be set to the same value as the TagOp field in the Atomic request (represented by req_tag_op). This field can only be set when svt_chi_node_configuration :: chi_spec_revision is set to ISSUE_E or later.

 bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_write_datacheck = 0


Datacheck is sent out along with NonCopyBackWrData in Atomic transactions.
Only applicable when xact_type is set to ATOMICSTORE*, ATOMICLOAD*, ATOMICSWAP or ATOMICCOMPARE.
User must not program this field as it is automatically populated based on the programmed Atomic Store/Load/Compare/Swap data fields.

 bit [(SVT_CHI_XACT_MAX_POISON_WIDTH-1):0]  attribute
 svt_chi_transaction::atomic_write_poison = 0


Poison is sent out along with NonCopyBackWrData in Atomic transactions.
Only applicable when xact_type is set to ATOMICSTORE*, ATOMICLOAD*, ATOMICSWAP or ATOMICCOMPARE.
User must not program this field as it is automatically populated based on the programmed Atomic Store/Load/Compare/Swap data fields.

 svt_chi_transaction :: auto_generation_category_enum  attribute
 svt_chi_transaction::auto_generation_category = NOT_AUTO_GENERATED


Indicates the reason for VIP to issue an auto-generated transaction.
Applicable only for Active RN. Applicable only when is_auto_generated bit is set to 1.
When this field is set to:
  • NOT_AUTO_GENERATED: This transaction is not auto generated.
  • CACHE_FULL_AND_ENTRY_IN_CACHE_NEEDED: This transaction is auto-generated when the cache is full and an entry needs to be evicted from the cache.
  • WRITE_TO_MEMEORY_BEFORE_CMO: This transaction is auto-generated when user supplied a cache maintenance transaction and the protocol requires that the cache line is first written into memory before sending the cache maintenance transaction.
  • INVALIDATE_CACHELINE_BEFORE_ATOMIC_WITH_SNOOPME_ZERO: This transaction is auto-generated when user supplied an atomic transaction with snoopme set to zero and the protocol requires that the cache line is first invalidated before sending the atomic transaction.
  • SYSCO_CACHE_CLEANUP: This transaction is auto-generated when Cache copies are invalidated/cleaned up before moving to the Coherency DISCONNECT phase
  • AUTO_READ_AFTER_PARTIAL_WRITE_XACT: This transaction is auto-generated when user supplies a partial write transaction. In this case, the VIP auto-generates a full cacheline read for the partial write transactions.
This is a read-only member and should not be modified by the user.

 rand bit [(SVT_CHI_XACT_MAX_BE_WIDTH-1):0]  attribute
 svt_chi_transaction::byte_enable = 0


This field defines the byte enable.
This field is applicable for write data, DVM payload.
This field is not applicable for Atomic transactions and will be ignored.
It consists of a bit for each data byte in the transaction data, which when set indicates that the corresponding data byte is valid.
For DVM, this field is always right aligned. For other transaction types, the details are described below.
When svt_chi_node_configuration :: wysiwyg_enable is set to 1: The byte_enable corresponds to all 64 bytes irrespective of data size of the transaction.

When svt_chi_node_configuration :: wysiwyg_enable is set to 0: The byte_enable value is right aligned.
  • For Normal type memory transactions, this corresponds to number of bytes as per the data size of the transaction, starting from the address that is aligned to the data size.
  • For Device type memory transactions, this corresponds to the addresses starting from transaction's address, upto next aligned address to the data size.

 bit  attribute
 svt_chi_transaction::cache_update_complete = 0


This is a flag that indicates whether the cache has been updated for the current transaction. Only applicable in case of allocation read and dataless transactions initiated from active RN-F.
This will be set internally and must not be programmed by the user.
Default value is 0.

 svt_chi_transaction :: completion_of_cmo_in_wrcmo_flow_category_enum  attribute
 svt_chi_transaction::completion_of_cmo_in_wrcmo_flow_category_type = DEFAULT_COMPCMO


Indicates the completion of (P)CMO flow in Combined Write and CMO transactions. Captures for a Combined Write and CMO transaction whether the completion response COMPCMO of (P)CMO observed before/after the completion response COMP/COMPDBIDRESP of Write. Applicable only for Combined Write and CMO transactions.

 svt_chi_transaction :: comp_dbid_responses_order_enum  attribute
 svt_chi_transaction::comp_dbid_responses_order = NOT_SET_COMP_DBIDRESP_ORDER


For a Write transaction when separate comp and dbidresp responses are observed, this attribute indicates the order in which COMP and DBIDRESP are observed.
  • NOT_SET_COMP_DBIDRESP_ORDER: This attribute is not set.
  • COMP_DBIDRESP : First Comp respons is observed, later DBIDResp is observed.
  • DBIDRESP_COMP : First DBIDResp respons is observed, later Comp is observed.
  • COMP_DBIDRESPORD : First Comp respons is observed, later DBIDRespOrd is observed.
  • DBIDRESPORD_COMP : First DBIDRespOrd respons is observed, later Comp is observed.
  • COMBINED_COMPDBIDRESP : Combined CompDBIDResp respons is observed.
Applicable only in Active RN. This is a read-only attribute that is populated internally in the VIP and used for coverage purposes.

 svt_chi_transaction :: comp_persist_responses_order_enum  attribute
 svt_chi_transaction::comp_persist_responses_order = NOT_SET_COMP_PERSIST_ORDER


For a *persistsep transaction when separate comp and persist responses are observed, this attribute indicates the order in which COMP and PERSIST are observed.
  • NOT_SET_COMP_PERSIST_ORDER: This attribute is not set.
  • COMP_PERSIST : First Comp respons is observed, later Persist is observed.
  • PERSIST_COMP : First Persist respons is observed, later Comp is observed.
  • COMBINED_COMPPERSIST : Combined CompPersist respons is observed.
Applicable only in Active RN. This is a read-only attribute that is populated internally in the VIP and used for coverage purposes.

 svt_chi_transaction :: comp_stashdone_responses_order_enum  attribute
 svt_chi_transaction::comp_stashdone_responses_order = NOT_SET_COMP_STASHDONE_ORDER


For a *stashsep transaction when separate comp and stashdone responses are observed, this attribute indicates the order in which COMP and STASHDONE are observed.
  • NOT_SET_COMP_STASHDONE_ORDER: This attribute is not set.
  • COMP_STASHDONE : First Comp respons is observed, later Stashdone is observed.
  • STASHDONE_COMP : First Stashdone respons is observed, later Comp is observed.
  • COMBINED_COMPSTASHDONE : Combined Compstashdone respons is observed.
Applicable only in Active RN. This is a read-only attribute that is populated internally in the VIP and used for coverage purposes.

 rand int  attribute
 svt_chi_transaction::comp_to_dbidrespord_flit_delay = SVT_CHI_MIN_COMPTODBIDRESPORD_DELAY


Defines the delay in number of cycles between COMP and DBIDRespOrd flit in the case when COMP is sent before DBIDRespOrd. This is only applicable for WriteNoSnp* and WriteUnique* transactions when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_COMP. The clock cycles are with respect to the TXRSPFLITV signal asserted for COMP Response.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to DBID RSP_ORD Flit is enforced to 0 and tx_flit_delay corresponding to COMP RSP flit is randomized.If the tx_flit_delay corresponding to DBID RSP_ORD flit is not enforced to zero, we will not see the actual comp_to_dbidrespord_flit_delay getting applied.

The reference event for this delay is reference_event_for_comp_to_dbidrespord_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode

 rand int  attribute
 svt_chi_transaction::comp_to_dbid_flit_delay = SVT_CHI_MIN_COMPTODBID_DELAY


Defines the delay in number of cycles between COMP and DBIDResp flit in the case when COMP is sent before DBIDResp. This is only applicable for WriteNoSnp* and WriteUnique* transactions when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_COMP. The clock cycles are with respect to the TXRSPFLITV signal asserted for COMP Response.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to DBID RSP Flit is enforced to 0 and tx_flit_delay corresponding to COMP RSP flit is randomized.If the tx_flit_delay corresponding to DBID RSP flit is not enforced to zero, we will not see the actual comp_to_dbid_dlit_delay getting applied.

The reference event for this delay is reference_event_for_comp_to_dbid_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode

 rand int  attribute
 svt_chi_transaction::comp_to_stashdone_flit_delay = SVT_CHI_MIN_COMPTOSTASHDONE_DELAY


Defines the delay in number of cycles between COMP and STASHDONE flit in the case when COMP is sent before STASHDONE. This is only applicable for StashOnceSep* transactions when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_COMP_STASHDONE. The clock cycles are with respect to the TXRSPFLITV signal asserted for COMP Response.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to STASH Flit is enforced to 0 and tx_flit_delay corresponding to COMP RSP flit is randomized.If the tx_flit_delay corresponding to STASHDONE flit is not enforced to zero, we will not see the actual comp_to_stashdone_flit_delay getting applied.

The reference event for this delay is reference_event_for_comp_to_stashdone_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode

 rand bit  attribute
 svt_chi_transaction::copyback_write_data_cancel_upon_snoop_hazard = 0


Indicates if WriteData cancellation rules for CopyBack specified in the ISSUE_B or later spec are applied to this transaction.
Can be set to 1 only when the compile macro SVT_CHI_ISSUE_B_ENABLE or SVT_CHI_ISSUE_C_ENABLE is defined and svt_chi_node_configuration :: chi_spec_revision is set to ISSUE_B or later.
For Active RN : When set, indicates that the CopyBack is cancelled by zeroing Byte Enable and data byte lanes in the CopyBackWrData flits, in case there's an intervening Snoop that changes the cache state to I or SC.
For Passive RN : Wen set, indicates that the CopyBack transaction was cancelled by the active RN through the de-assertion of Byte Enable bits and zeroing of data byte lanes in the CopyBackWrData flits before the WriteData is initiated for the CopyBack.
  • Default value: 0.

 int  attribute
 svt_chi_transaction::current_dat_flit_num = 0


This is a counter which is incremented for every DAT flit transmitted for a read transaction. Applicable for CHI ICN Full-Slave mode.

 svt_chi_common_transaction :: tag_state_enum  attribute
 svt_chi_transaction::current_tag_state = TAG_STATE_INVALID


This field defines the state in which the Tag is cached at the requester at the point of transmission or reception of transaction data. Only applicable in case of active RN-F.

 rand bit [(SVT_CHI_XACT_MAX_DATA_WIDTH-1):0]  attribute
 svt_chi_transaction::data = 0


This field defines the data.
This field is applicable for write data, read data and DVM payload of the transaction.
This field is not applicable for Atomic transactions and will be ignored.
For DVM, this field is always right aligned. For other transaction types, the details are described below.
When svt_chi_node_configuration :: wysiwyg_enable is set to 1: The data corresponds to all 64 bytes irrespective of data size of the transaction.
When svt_chi_node_configuration :: wysiwyg_enable is set to 0: The data value is right aligned.
  • For Normal type memory transactions, this corresponds to number of bytes as per the data size of the transaction, starting from the address that is aligned to the data size.
  • For Device type memory transactions, this corresponds to the addresses starting from transaction's address, upto next aligned address to the data size.

 rand bit [(SVT_CHI_XACT_CBUSY_WIDTH-1):0]  attribute
 svt_chi_transaction::data_cbusy[]


- This field holds the cbusy value of the Protocol Data VC Flits associated to this transaction.
  • The array is sized dynamically according to the number of data VC flits associated.
  • The array indices correspond to the order in which the data flits are transmitted/received.
  • The interpretation of this attribute is IMPLEMENTATION DEFINED.
  • In case of Read transactions, this attribute represents the cbusy fields set by the completer of transaction in CompData/DataSepResp flits.
  • In case of AtomicLoad, AtomicSwap and Atomiccompare transactions, this attribute represents the cbusy fields set by the completer in CompData flits.
  • This attribute is applicable only for Read tranasactions and AtomicLoad, AtomicSwap and Atomiccompare transactions.
  • Consider the following example:
    • In case of ReadShared transaction without DMT or DCT, the data_cbusy array indicates the cbusy values in the compdata flits transmitted/received by HN/RN.
    • In case of ReadShared transaction with DMT, the data_cbusy array indicates the cbusy values in the compdata flits transmitted/received by SN/RN.
  • Active SN, populates svt_chi_flit :: cbusy field of appropriate DAT flits with this attribute.
  • Passive SN/RN, populates this attribute with svt_chi_flit :: cbusy field of appropriate DAT flits received.
  • If required, user can extend this class and add constraints for each value of array.
  • This field is not applicable for ACE-Lite mapped CHI transactions.

 rand svt_chi_common_transaction :: tag_op_enum  attribute
 svt_chi_transaction::data_tag_op = TAG_INVALID


Defines the tag_op field in the transaction data. This field is applicable for the following :
  • Write transactions other than WriteNoSnpZero, WriteUniqueZero and WriteUnique+CMOs In case of CopyBack writes, this field will be populated by the RN agent based on the state of the Tag in the RN cache and, therefore, need not be programmed by users.
  • All read transactions
For all other transactions, this field is in applicable and must not be set by the users. Also, this field can only be set when svt_chi_node_configuration :: chi_spec_revision is set to ISSUE_E or later.

 rand bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  attribute
 svt_chi_transaction::datacheck = 0


This field defines the datacheck.
This field is applicable for write data, read data and DVM payload of the transaction.
This field is not applicable for Atomic transactions and will be ignored.
It consists of a bit for each data byte in the transaction data, which when set indicates that the corresponding data byte is corrupted.
For DVM, this field is always right aligned. For other transaction types, the details are described below.
When svt_chi_node_configuration :: wysiwyg_enable is set to 1: The byte_enable corresponds to all 64 bytes irrespective of data size of the transaction.

When svt_chi_node_configuration :: wysiwyg_enable is set to 0: The byte_enable value is right aligned.
  • For Normal type memory transactions, this corresponds to number of bytes as per the data size of the transaction, starting from the address that is aligned to the data size.
  • For Device type memory transactions, this corresponds to the addresses starting from transaction's address, upto next aligned address to the data size.

Active RN.

  • In case of Write type transactions, the datacheck value programmed such that ODD data byte parity is generated and is transmitted in the Write data flits.
  • In case of coherent Read type transactions, the datacheck value seen in the CompData flits is stored in this attribute. checks for datacheck error which is computed from datacheck and data attributes on received CompData flits , if it detects datacheck error, it is converted to equivalent poison and is updated in the RN cache.
  • In case of subsequent snoop transaction with data transfer, the datacheck value is programmed such that ODD data byte parity is generated and transmitted in the snprespdata flits.

Active SN.

  • In case of Write type transactions,the datacheck value received in the write data flits is stored in this attribute.
  • Additionally, the active SN checks if the received datacheck has any errors by comparing it with the computed expected value. If any errors are detected, an error is flagged after which the erroneous Datacheck bits are converted to their equivalent poison value and updated in the memory.
  • In case of Read type transactions, the datacheck value programmed such that ODD data byte parity is generated and is transmitted as part of CompData flits.

Passive components.

  • Datacheck value observed in the read or write data will be stored in this attribute.
  • Checks whether the received data is always generated with ODD Byte parity when DATACHECK feature is enabled, if not flags an parity mismatch error eg: valid_parity_datacheck_for_write_data_checkerror or valid_parity_datacheck_for_read_data_check. Passive SN will additionally convert the erroneous datacheck bits to equivalent poison and update its memory

 bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  attribute
 svt_chi_transaction::datacheck_computed_on_received_data = 0


Indicates Datacheck computed on the received data
  • Applicable for Passive RN and SN

 bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  attribute
 svt_chi_transaction::datacheck_daterror_computed_value = 0


Indicates Datacheckerror computed on the received data and Datacheck passed
  • Applicable for Passive RN and SN

 rand bit [(SVT_CHI_XACT_DAT_RSVDC_WIDTH-1):0]  attribute
 svt_chi_transaction::dat_rsvdc[]


This field defines the Reserved Value defined by the user for each of the Protocol Data VC Flits associated to the current transaction.
The size of this array must be equal to the number of data VC flits associated.
The array indices correspond to the order in which the flits are transmitted/received.
Any value can be driven on this field.

 rand svt_chi_common_transaction :: resp_err_status_enum  attribute
 svt_chi_transaction::data_resp_err_status[]


This field holds the resp_err_status defined by the user for each of the Protocol Data VC Flits associated to the current transaction.
The size of this array must be equal to the number of data VC flits associated.
The array indices correspond to the order in which the flits are transmitted/received.
All valid values for Response Error status (NORMAL_OKAY, EXCLUSIVE_OKAY, DATA_ERROR and NON_DATA_ERROR) can be driven on this field.
In case of WriteEvictorEvict transaction, as the data transfer depends on the response from the completer, this field values are used and populated in DAT flits only when there is write data transfer.

 rand int  attribute
 svt_chi_transaction::dbidrespord_to_comp_flit_delay = SVT_CHI_MIN_DBIDRESPORDTOCOMP_DELAY


Defines the delay in number of cycles between DBIDRespOrd and COMP flit in the case when DBIDRespOrd is sent before COMP. This is only applicable for WriteNoSnp* and WriteUnique* transactions when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_DBIDRESPORD. The clock cycles are with respect to the TXRSPFLITV signal asserted for DBIDRESPORD response.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to COMP RSP Flit is enforced to 0 and tx_flit_delay corresponding to DBID RSP_ORD flit is randomized.If the tx_flit_delay corresponding to COMP RSP flit is not enforced to zero, we will not see the actual comp_to_dbidrespord_flit_delay getting applied

The reference event for this delay is reference_event_for_dbidrespord_to_comp_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode

 rand svt_chi_common_transaction :: dbid_policy_enum  attribute
 svt_chi_transaction::dbid_policy = ZEROS


The DBID policy used for DBID field value of certain RSP, DAT flit types of current transaction. Please refer to documentation of the svt_chi_common_transaction :: dbid_policy_enum for more details.

 rand int  attribute
 svt_chi_transaction::dbid_to_comp_flit_delay = SVT_CHI_MIN_DBIDTOCOMP_DELAY


Defines the delay in number of cycles between DBIDResp and COMP flit in the case when DBIDResp is sent before COMP. This is only applicable for WriteNoSnp* and WriteUnique* transactions when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_DBIDRESP. The clock cycles are with respect to the TXRSPFLITV signal asserted for DBIDRESP response.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to COMP RSP Flit is enforced to 0 and tx_flit_delay corresponding to DBID RSP flit is randomized.If the tx_flit_delay corresponding to COMP RSP flit is not enforced to zero, we will not see the actual comp_to_dbid_dlit_delay getting applied

The reference event for this delay is reference_event_for_dbid_to_comp_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode

 bit  attribute
 svt_chi_transaction::enable_interleave = 0


This variable controls enabling of interleaving for the current transaction. When set to 1, interleaving is enabled for current transaction. Currently, interleaving is not supported for Ordered transactions. Default value is 0

Applicable only for CHI ICN Full-Slave mode.

 svt_chi_common_transaction :: excl_access_status_enum  attribute
 svt_chi_transaction::excl_access_status = EXCL_ACCESS_INITIAL


Represents the status of an exclusive access. Following are the possible status types:
  • EXCL_ACCESS_INITIAL : Initial state of the transaction before it is processed by RN
  • EXCL_ACCESS_PASS : CHI exclusive access is successful
  • EXCL_ACCESS_FAIL : CHI exclusive access is failed

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 exclusive load/read and store/write. excl_access_status is applicable to read/load transactions only if the exclusive load transaction get OK response instead of EXOK response which indicates the exclusive access fail and the sequence must be terminated and respective exclusive monitor needs to be reset. Please refer to the User Guide for more description.

 svt_chi_common_transaction :: excl_mon_status_enum  attribute
 svt_chi_transaction::excl_mon_status = EXCL_MON_INVALID


Represents the status of RN exclusive monitor. Following are the possible status types:
  • EXCL_MON_INVALID : RN exclusive monitor does not monitor the exclusive access on the cache line associated with the transaction
  • EXCL_MON_SET : RN exclusive monitor is set for exclusive access on the cache line associated with the transaction
  • EXCL_MON_RESET : RN exclusive monitor is reset for exclusive access on the cache line associated with the transaction

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/load and write/store 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 load/read is successful else it is marked as 'EXCL_MON_RESET'. Please refer to the User Guide for more description.

 bit  attribute
 svt_chi_transaction::excl_store_cache_update = 0


Flag to indicate update cache for successfull excl store when the transaction is dropped and the cache line is already present in unique state at the RN.

 svt_chi_common_transaction :: excl_xact_drop_cond_enum  attribute
 svt_chi_transaction::excl_xact_drop_cond = EXCL_MON_FAILURE_COND_DEFAULT_VALUE_XACT_DROPPED


This enum represents the value for conditions under which the RN coherent exclusive transactions are dropped. Conditions are based on the values of excl_mon_status and excl_access_status. Combination of these attributes causes the transaction to drop.

Following are the possible status types:

  • EXCL_MON_FAILURE_COND_DEFAULT_VALUE_XACT_DROPPED : Default value.
  • EXCL_MON_RESET_ACCESS_FAIL_XACT_DROPPED : set if the exclusive transaction is dropped as the excl_mon_status is reset and the exclusive_access_status is failed
  • EXCL_MON_SET_ACCESS_FAIL_XACT_DROPPED : set if the exclusive transaction is dropped as the excl_mon_status is set and the exclusive_access_status is failed as unexpected INVALID cache line status encountered
  • EXCL_MON_SET_ACCESS_PASS_XACT_DROPPED : set if the exclusive transaction is dropped as when RN has a cacheline for which CU is generated, excl_mon is set for the same cacheline address and the cacheline state is unique, which means this is a RN speculative transaction to a cacheline present in it's own cache. In such scenario, do a silent write into the cache and drop the transaction. Need not issue this transaction.
  • EXCL_MON_RESET_SNOOP_INVALIDATION_XACT_DROPPED : set to indicate that exclusive sequence needs to restart as the exclusive monitored RN cache has been invalidated by the incoming invalidating snoop request from different lpid or due to the normal coherent store[CU] transactions.
  • EXCL_MON_RESET_STORE_WITHOUT_LOAD_XACT_DROPPED : set if the exclusive transaction is dropped as the excl_mon_status is invalid and exclusive_access_status is failed. This occurs when store without Load/Read is issued by the RN or there was an intervening Store/Write before the current exclusive store/write transaction.
  • EXCL_MON_INVALID_MAX_EXCL_ACCESS_XACT_DROPPED : set if the exclusive transaction is dropped when the maximum number of active exclusive acessses exceeds 4.

 svt_chi_common_transaction :: cache_state_enum  attribute
 svt_chi_transaction::final_cache_line_state = I


This field indicates the final state of the cache line for this transaction.
  • Applicable for RN-F agent in active mode.
  • Used by the functional coverage related to cache states.
  • Updated when the cache line is updated.

 svt_chi_common_transaction :: tag_state_enum  attribute
 svt_chi_transaction::final_tag_state = TAG_STATE_INVALID


This field defines the state in which the Tag is cached at the requester at the end of a transaction. Only applicable in case of active RN-F.

 rand bit [SVT_CHI_HN_NODE_IDX_WIDTH-1:0]  attribute
 svt_chi_transaction::hn_node_idx = 0


HN Node Index to which transactions need to be sent to. This variable is not used by the VIP, but can potentially be used by users in sequences.

 svt_chi_common_transaction :: cache_state_enum  attribute
 svt_chi_transaction::initial_cache_line_state = I


This field indicates the initial state of the cache line for this transaction.
  • Applicable for RN-F agent in active mode.
  • Used by the functional coverage related to cache states.
  • Updated when the request flit is created by active RN-F agent.

 svt_chi_common_transaction :: tag_state_enum  attribute
 svt_chi_transaction::initial_tag_state = TAG_STATE_INVALID


This field defines the state in which the Tag is cached at the requester at the point of transmission of the transaction request. Only applicable in case of active RN-F.

 int  attribute
 svt_chi_transaction::interleaved_group_object_num = -1


Variable that holds the interleaved_group_object_num of this transaction. VIP assigns a unique number to each transaction it generates from interleaved ports.
Applicable for interleaved ports only. For normal ports it is same as obect_num.

 rand svt_chi_transaction :: interleave_pattern_enum  attribute
 svt_chi_transaction::interleave_pattern = RANDOM_BLOCK


Represents the various interleave pattern for a read transaction. The interleave_pattern gives flexibility to program interleave blocks with different patterns as mentioned below.

A Block is group of DAT flits within a transaction. RANDOM_BLOCK : Drives the blocks programmed in random_interleave_array Applicable only for CHI ICN Full-Slave mode.

 bit  attribute
 svt_chi_transaction::invalidating_type_snoop_received_while_xact_is_outstanding = 0

 bit  attribute
 svt_chi_transaction::is_auto_generated = 0


Indicates if the transaction is auto generated by the VIP. Transactions are auto-generated when:
  • 1) The cache is full and an entry needs to be evicted from the cache.
  • 2) User supplies a cache maintenance transaction and the protocol requires that the cache line is first written into memory before sending the cache maintenance transaction.
  • 3) User supplies an atomic transaction with snoopme set to zero and the protocol requires that the cache line is first invalidated before sending the atomic transaction.
  • 4) Cache copies are invalidated/cleaned up before moving to the Coherency DISCONNECT phase.
  • 5) User supplies a partial write transaction. In this case, the VIP auto-generates a full cacheline read for the partial write transactions.

This is a read-only member, which VIP uses to indicate whether the transaction is auto generated. It should not be modified by the user.

Applicable for ACTIVE RN only.

 bit  attribute
 svt_chi_transaction::is_cached_data = 0


Indicates if the transaction ended because the requested data was already available in the cache. This bit is set by the master, no action is taken if the user sets this bit. A transaction with this bit set was not sent out on the bus and therefore other components in the testbench will not detect this transaction.

This is a read-only member, which VIP uses to indicate whether the requested data was cached. It should not be modified by the user.

Applicable for ACTIVE RN only.

 bit  attribute
 svt_chi_transaction::is_cacheline_reserved = 1'b0


This bit is set by RN if a cache line is reserved for the transaction. Thie field is used by task which unreserves the cache line at the end of transaction to filtering. This is to ensure only command that reserved cache line should unreserve cache line.

Applicable for ACTIVE RN only

 bit  attribute
 svt_chi_transaction::is_cancelled_on_retry = 0


This field indicates if the request is cancelled after receiving a retry response.

 rand bit  attribute
 svt_chi_transaction::is_compack_after_all_compdata = 1'b1


- Applicable for RN configured with svt_chi_node_configuration :: chi_spec_revision >= svt_chi_node_configuration :: ISSUE_C.
  • Applicable for all Read transactions that has exp_comp_ack=1
  • Active RN:
    • When is_compack_after_all_compdata is set to 1:
      • CompAck will be sent out after reception of all CompData flits
    • When is_compack_after_all_compdata is set to 0:
      • CompAck will be sent out after reception of the first CompData flit
  • Passive RN: CompAck will wait for the reception of first CompData flit
    • If CompAck is seen after all CompData flits is_compack_after_all_compdata will be set to 1.
    • If CompAck is seen before the last CompData flit is_compack_after_all_compdata will be set to 0.
  • Default value is set to 1

 rand bit  attribute
 svt_chi_transaction::is_compack_after_respsepdata_and_all_datasepresp = 1'b1


- Applicable for RN configured with svt_chi_node_configuration :: chi_spec_revision >= svt_chi_node_configuration :: ISSUE_C.
  • Applicable for all Read transactions that has exp_comp_ack=1, except read transactions with Exclusives
  • Applicable when Seperate Read Data and Seperate Home response are observed.
  • Active RN:
    • When is_compack_after_respsepdata_and_all_datasepresp is set to 1:
      • CompAck will be sent out after reception of respsepdata and all datasepresp flits
    • When is_compack_after_respsepdata_and_all_datasepresp is set to 0:
      • For ordered ReadOnce* and ReadNoSnp, CompAck will be sent out after reception of respsepdata and atleast one datasepresp flits
      • For unordered ReadOnce* and ReadNoSnp, CompAck can be sent out immediately after reception of respsepdata and without waiting for datasepresp flits. It is permitted, but not required, for a Requester to wait for any or all data to be received befor sending a CompAck acknowledgement.
      • For ReadClean, ReadShared, ReadNotSharedDirty and ReadUnique, CompAck can be sent out immediately after reception of respsepdata and without waiting for datasepresp flits
  • Passive RN:
    • For ordered ReadOnce* and ReadNoSnp, CompAck will wait for reception of respsepdata and atleast one datasepresp flits.
      • If CompAck Is seen after all datasepresp flits is_compack_after_respsepdata_and_all_datasepresp will be set to 1.
      • If CompAck Is seen before the last datasepresp flit is_compack_after_respsepdata_and_all_datasepresp will be set to 0.
    • For unordered ReadOnce*, ReadNoSnp and ReadClean, RaedShared, ReadNotSharedDirty and ReadUnique CompAck will wait for reception of respsepdata.
      • If CompAck Is seen after all datasepresp flits is_compack_after_respsepdata_and_all_datasepresp will be set to 1.
      • If CompAck Is seen before the last datasepresp flit is_compack_after_respsepdata_and_all_datasepresp will be set to 0.
  • In all other cases, this is not applicable.
  • Default value is set to 1

 bit  attribute
 svt_chi_transaction::is_comp_received = 0


Indicates if COMP has been received

 bit  attribute
 svt_chi_transaction::is_compcmo_received = 0


Indicates if COMPCMO has been received. Only applicable for Combined Write and (P)CMO type transactions. This is a Read only status attribute and should not be programmed by the user.

 bit  attribute
 svt_chi_transaction::is_comppersist_received = 0


Indicates if COMPPERSIST response has been received

 bit  attribute
 svt_chi_transaction::is_dbid_received = 0


Indicates if DBID has been received

 bit  attribute
 svt_chi_transaction::is_dbidrespord_received = 0


Indicates if DBIDRespOrd has been received

 bit  attribute
 svt_chi_transaction::is_dct_used = 1'b0


This field indicates whether Direct cache transfer is used or not This should not be programmed by user. Applicable for RN.

 bit  attribute
 svt_chi_transaction::is_dmt_used = 1'b0


This field indicates whether Direct memory transfer is used or not This should not be programmed by user. Applicable for both RN and SN.

 bit  attribute
 svt_chi_transaction::is_dwt_used = 1'b0


This field indicates whether Direct Write transfer is used or not This should not be programmed by user. Applicable for both RN and SN.

 rand bit  attribute
 svt_chi_transaction::is_ncbwrdatacompack_used_for_write_xact = 0


This field indicates that NCBWRDATACOMPACK shall be transmitted over DAT channel instead of independent NCBWRDATA and CompAck in response to the write type transactions when this flag is asserted.
Applicable for WriteUnique transactions with ExpCompAck asserted.
Applicable for WriteNoSnp transactions with ExpCompAck asserted when svt_chi_node_configuration :: chi_spec_revision is ISSUE_D or later.
If svt_chi_node_configuration :: chi_spec_revision is ISSUE_C and DBIDResp is received first, this field will be overriden to zero and the Write Data and CompAck flits will be transmitted separately.
If svt_chi_node_configuration :: chi_spec_revision is ISSUE_C, the combined flit NCBWRDATACOMPACK will be send out if the order of responses for write transactions are Comp followed by DBIRESP or COMPDBIDRESP and the fields is_ncbwrdatacompack_used_for_write_xact, is_writedatacancel_used_for_write_xact are set to 1 and 0 respectively.
If svt_chi_node_configuration :: chi_spec_revision is ISSUE_D or later, the combined flit NCBWRDATACOMPACK will be send out if the fields is_ncbwrdatacompack_used_for_write_xact and is_writedatacancel_used_for_write_xact are set to 1 and 0 respectively.
If svt_chi_node_configuration :: chi_spec_revision is ISSUE_D or later, if DBIDResp response is received first and at that time Compack timing rules or not met then NCBWRDATA and CompAck are sent independently and is_ncbwrdatacompack_used_for_write_xact if set to 1 then overriden to zero.

 bit  attribute
 svt_chi_transaction::is_p_crd_grant_allocated = 0


For a requester, this field indicates if the PcrdGrant is received.
For a completer, this field indicates if the PcrdGrant is transmitted.

 rand bit  attribute
 svt_chi_transaction::is_p_crd_grant_before_retry_ack = 0


For a requester, this field indicates if the PcrdGrant is received before the RetryAck.
For a completer, this field indicates if the PcrdGrant is sent before the RetryAck.

 bit  attribute
 svt_chi_transaction::is_persist_issued_from_sn_to_rn = 0


This variable when set to 1 indicates that SN sent PERSIST response directly to RN provided SNs are present in CHI system. This variable will set be 0 when PERSIST response was issued from ICN full slave or interconnect VIP to RN Applicable for : CleanSharedPersistSep transaction when SVT_CHI_ISSUE_D_ENABLE macro is defined and chi_spec_revision >= ISSUE_D. svt_chi_node_configuration cleansharedpersistsep_xact_enable is set to 1. RN only. This is a Read only status attribute and should not be programmed by the user.

 bit  attribute
 svt_chi_transaction::is_persist_received = 0


Indicates if PERSIST response has been received

 bit  attribute
 svt_chi_transaction::is_read_data_unknown = 1'b0


This bit is set by SN if the read is performed to a memory location that was not writtent to earlier. This should not be programmed by user. Applicable for SN only

 rand bit  attribute
 svt_chi_transaction::is_respsepdata_datasepresp_flow_used = 1'b0


- This field indicates whether Seperate Data and Separe Home Response flow is used or not
  • This should not be programmed by user.
  • Applicable for RN and ICN full slave VIP.
  • Note that active SN-F VIP will respond back to ReadNoSnpSep with DataSepResp.
  • This attribute along with is_dmt_used indicates the following:
    • is_dmt_used = 0, is_respsepdata_datasepresp_flow_used = 0: normal CompData flow without DMT
    • is_dmt_used = 1, is_respsepdata_datasepresp_flow_used = 0: normal CompData flow with DMT
    • is_dmt_used = 0, is_respsepdata_datasepresp_flow_used = 1: home sent data, home sent response. ICN full slave VIP supports this.
    • is_dmt_used = 1, is_respsepdata_datasepresp_flow_used = 1: slave sent data, home sent response

 rand bit  attribute
 svt_chi_transaction::is_retried_with_original_qos = 1


Indicates if the transaction is retried with original qos of original request or not. In case of active RN, based on this field, RN driver decides to use original qos or any random qos for the retried transaction.

 rand bit  attribute
 svt_chi_transaction::is_retried_with_original_rsvdc = 1


Indicates if the transaction is retried with original req_rsvdc of original request not. In case of active RN, based on this field, RN driver decides to use original req_rsvdc or any random req_rsdvc for the retried transaction. This is applicable only when svt_chi_node_configuration :: chi_spec_revision is not set to ISSUE_A.

 rand bit  attribute
 svt_chi_transaction::is_retried_with_original_slcrephint_replacement = 1


Indicates if the transaction is retried with original slcrephint_replacement of original request or not. In case of active RN, based on this field, RN driver decides to use original slcrephint_replacement or any random slcrephint_replacement for the retried transaction. when svt_chi_node_configuration :: slcrephint_mode is set to SLC_REP_HINT_DISABLED, this field should be constraint to 1.

 rand bit  attribute
 svt_chi_transaction::is_retried_with_original_slcrephint_unusedprefetch = 1


Indicates if the transaction is retried with original slcrephint_unusedprefetch of original request or not. In case of active RN, based on this field, RN driver decides to use original slcrephint_unusedprefetch or any random slcrephint_unusedprefetch for the retried transaction. when svt_chi_node_configuration :: slcrephint_mode is set to SLC_REP_HINT_DISABLED, this field should be constraint to 1.

 rand bit  attribute
 svt_chi_transaction::is_retried_with_original_tgt_id = 1


Indicates if the transaction is retried with original tgt_id of original request or not. In case of active RN, based on this field, RN driver decides to use original tgt_id or the remapped tgt_id for the retried transaction, when svt_chi_system_configuration :: expect_target_id_remapping_by_interconnect is set to 1.

 rand bit  attribute
 svt_chi_transaction::is_retried_with_original_trace_tag = 1


Indicates if the transaction is retried with original trace_tag of original request or not. In case of active RN, based on this field, RN driver decides to use original trace_tag or any random trace_tag for the retried transaction.

 rand bit  attribute
 svt_chi_transaction::is_retried_with_original_txn_id = 1


Indicates if the transaction is retried with original txn_id of original request or not. In case of active RN, based on this field, RN driver decides to use original txn_id or any random txn_id for the retried transaction.

 bit  attribute
 svt_chi_transaction::is_snp_response_with_non_data_error_seen_while_mru_xact_is_outstanding = 0

 bit  attribute
 svt_chi_transaction::is_stashdone_received = 0


Indicates if STASHDONE has been received. Only applicable for StashOnceSep* transaction. This is a Read only status attribute and should not be programmed by the user.

 bit  attribute
 svt_chi_transaction::is_tag_match_computed = 0


Indicates if TagMatch result has been computed in the SN memory. Only applicable for Active SN_F VIP. This is a Read only status attribute and should not be programmed by the user.

 bit  attribute
 svt_chi_transaction::is_tag_match_received = 0


Indicates if TagMatch response has been received. Only applicable for Write transactions with TagOp set to MATCH. This is a Read only status attribute and should not be programmed by the user.

 bit  attribute
 svt_chi_transaction::is_tgt_id_remapped = 0


Indicates if the tgt_id is remapped by Interconnect, to a different value other than the tgt_id field sent in the request flit by RN.

 rand bit  attribute
 svt_chi_transaction::is_writedatacancel_used_for_write_xact = 0


This transaction attribute indicates if WriteDataCancel flits are to be sent in place of NCBWrData flits corresponding to a WriteUniquePtl or Normal type WriteNoSnpPtl transaction.
This field is defined only when the compile time macro SVT_CHI_ISSUE_B_ENABLE is set.
This field can be programmed to 1 only when svt_chi_node_configuration :: chi_spec_revision is set to ISSUE_B.
When set to 1, byte_enable and data fields are post-randomized to all zeroes for WriteUniquePtl and Normal WriteNoSnpPtl transactions in the RN transaction handle and the active RN drives WriteDataCancel flits instead of NCBWrData.
For all transaction types other than WriteUniquePtl and Normal WriteNoSnpPtl, this attribute is not applicable and must be set to 0.
  • Default value: 0.

 bit  attribute
 svt_chi_transaction::is_xact_dropped = 0


Indicates if a transaction is dropped because the start state of the corresponding cache line is not as expected before transmitting the transaction. The expected start states for each of the transaction types are given in Table 6-1 of the specification.
This will be set automatically by the RN driver based on the initial cache state validity check. If the user wishes to drop transactions based on any additional/custom rules or transaction fields, they can set this attribute to 1 in svt_chi_rn_protocol_callback :: post_initial_cache_state_check that is invoked before the request flit is scheduled for a given transaction. Applicable for ACTIVE RN only.

 svt_chi_transaction :: link_activation_deactivation_initiator_info_enum  attribute
 svt_chi_transaction::link_deactivation_during_xact_queue[$]


For every instance of link deactivation that happens while the transaction is outstanding, indicates if the deactivation was initiated by the local or the remote node.

 svt_chi_transaction :: link_activation_deactivation_initiator_info_enum  attribute
 svt_chi_transaction::link_reactivation_during_xact_queue[$]


For every instance of link reactivation that happens while the transaction is outstanding, indicates if the reactivation was initiated by the local or the remote node.

 rand bit [(SVT_CHI_XACT_MAX_DATA_WIDTH-1):0]  attribute
 svt_chi_transaction::makereadunique_read_data = 0


This field defines the data that is received for a MakeReadUnique transaction.
This field is not applicable for transaction types other than MakeReadUnique.
As read data is optional for MakeReadUnique, this field must be considered only if data_status is not INITIAL.
The data corresponds to all 64 bytes.
  • This field corresponds to number of bytes starting from the address that is aligned to the data size.

 rand bit [(SVT_CHI_XACT_MAX_DATACHECK_WIDTH-1):0]  attribute
 svt_chi_transaction::makereadunique_read_datacheck = 0


This field defines the datacheck that is received for a MakeReadUnique transaction.
This field is not applicable for transaction types other than MakeReadUnique.
As read data is optional for MakeReadUnique, this field must be considered only if data_status is not INITIAL.
The datacheck corresponds to all 64 bytes.
  • This field corresponds to number of bytes starting from the address that is aligned to the data size.

 rand bit [(SVT_CHI_XACT_MAX_POISON_WIDTH-1):0]  attribute
 svt_chi_transaction::makereadunique_read_poison = 0


This field defines the Poison that is received for a MakeReadUnique transaction.
This field is not applicable for transaction types other than MakeReadUnique.
As read data is optional for MakeReadUnique, this field must be considered only if data_status is not INITIAL.
The Poison corresponds to all 64 bytes.
  • This field corresponds to bytes starting from the address that is aligned to the data size.

 rand bit [(SVT_CHI_XACT_MAX_TAG_WIDTH-1):0]  attribute
 svt_chi_transaction::makereadunique_read_tag = 0


This field defines the Tag that is received for a MakeReadUnique transaction.
This field is not applicable for transaction types other than MakeReadUnique.
As read data is optional for MakeReadUnique, this field must be considered only if data_status is not INITIAL.
The Tag corresponds to all 64 bytes.

 bit  attribute
 svt_chi_transaction::non_invalidating_type_snoop_received_while_xact_is_outstanding = 0

 int  attribute
 svt_chi_transaction::num_dat_flits = 0


This field indicates the number of data Flits required to transfer the data based on the data width of the interface and the data size attribute of the transaction.
Consider the example that the data size is 64 Byte and data width of the interface is 16 Byte. In this case, the num_dat_flits will be 4.

 bit [(SVT_CHI_TGT_ID_WIDTH-1):0]  attribute
 svt_chi_transaction::original_tgt_id = 0


Captures the value of original_tgt_id, that is tgt_field of the associated request flit.

 bit  attribute
 svt_chi_transaction::outstanding_transactions_with_same_tag_group_id = 0


Indicates if there are any outstanding transaction with the same tag_group_id. Only applicable for Write transactions with TagOp set to MATCH. Will be set to 1 for all the outstanding transactions with the same tag_group_id. This is a Read only status attribute and should not be programmed by the user.

 rand int  attribute
 svt_chi_transaction::pcreditgrant_to_retryack_flit_delay = SVT_CHI_MIN_PCREDITGRANTTORETRYACK_DELAY


Defines the delay in number of cycles between RetryAck and PcrdGrant RSP flits in the case RetryAck is sent before PcrdGrant(svt_chi_transaction :: is_p_crd_grant_before_retry_ack = 0), when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_RETRYACK. The clock cycles are with respect to the RSPFLITV signal asserted for RetryAck response.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to PcrdGrant RSP Flit is enforced to 0. This is reqired to ensure that actual pcreditgrant_to_retryack_flit_delay getting applied. Note that tx_flit_delay corresponding to RetryAck RSP flit is still randomized. The reference event for this delay is reference_event_for_pcreditgrant_to_retryack_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode.

 rand bit [(SVT_CHI_XACT_MAX_POISON_WIDTH-1):0]  attribute
 svt_chi_transaction::poison = 0


This field defines the Poison.
This field is applicable for write data, read data and DVM payload.
This field is not applicable for Atomic transactions and will be ignored.
It consists of a bit for each 8 data byte in the transaction data, which when set indicates that set of corresponding 8 data bytes have been previously been corrupted.
For DVM, this field is always right aligned. For other transaction types, the details are described below.
When svt_chi_node_configuration :: wysiwyg_enable is set to 1: The Poison corresponds to all 64 bytes irrespective of data size of the transaction.

When svt_chi_node_configuration :: wysiwyg_enable is set to 0: The Poison value is right aligned.
  • For Normal type memory transactions, this corresponds to number of bytes as per the data size of the transaction, starting from the address that is aligned to the data size.
  • For Device type memory transactions, this corresponds to the addresses starting from transaction's address, upto next aligned address to the data size.

Active RN.

  • In case of Write type transactions, the poison value programmed in this attribute is transmitted in the Write data flits
  • In case of Read type transactions, the poison value seen in the CompData flits is stored in this attribute. Also, in case of coherent Reads, the received poison is updated in the RN cache.
  • In case of subsequent snoop transaction with data transfer, the poison value seen in cache is stored in this attirbute and transmitted in the snprespdata flits.

Active SN.

  • In case of Write type transactions,the poison value received in the write data flits is stored in this attribute. Also, the received poison value is updated to memory.
  • In case of Read type transactions, if the address holds poisoned data, the poison value is transmitted as part of CompData flits.

Passive components.

  • Poison value observed in the read or write data will be stored in this attribute.
  • Passive SN:
    • Will store the poison value observed in the Write or Read data in the memory.

 rand int  attribute
 svt_chi_transaction::random_interleave_array[]


When the interleave_pattern is set to RANDOM_BLOCK, the user would program this array with blocks. There are default constraints, which the user can override and set their own block patterns. Applicable only for CHI ICN Full-Slave mode.

 rand svt_chi_transaction :: reference_event_for_comp_to_dbid_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_comp_to_dbid_flit_delay = TXRSPFLITV_FOR_COMPTODBID_VALID


Defines a reference event from which the comp_to_dbid_flit_delay should start. Following are the different reference events:

TXRSPFLITV_FOR_COMPTODBID_VALID: Reference event is TXRSPFLITV signal assertion for the current write request.

 rand svt_chi_transaction :: reference_event_for_comp_to_dbidrespord_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_comp_to_dbidrespord_flit_delay = TXRSPFLITV_FOR_COMPTODBIDRESPORD_VALID


Defines a reference event from which the comp_to_dbidrespord_flit_delay should start. Following are the different reference events:

TXRSPFLITV_FOR_COMPTODBIDRESPORD_VALID: Reference event is TXRSPFLITV signal assertion for the current write request.

 rand svt_chi_transaction :: reference_event_for_comp_to_stashdone_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_comp_to_stashdone_flit_delay = TXRSPFLITV_FOR_COMPTOSTASHDONE_VALID


Defines a reference event from which the comp_to_stashdone_flit_delay should start. Following are the different reference events: TXRSPFLITV_FOR_COMPTOSTASHDONE_VALID: Reference event is TXRSPFLITV signal assertion for the current request.

 rand svt_chi_transaction :: reference_event_for_dbid_to_comp_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_dbid_to_comp_flit_delay = TXRSPFLITV_FOR_DBIDTOCOMP_VALID


Defines a reference event from which the dbid_to_comp_flit_delay should start. Following are the different reference events:

TXRSPFLITV_FOR_DBIDTOCOMP_VALID: Reference event is TXRSPFLITV signal assertion for the current write request.

 rand svt_chi_transaction :: reference_event_for_dbidrespord_to_comp_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_dbidrespord_to_comp_flit_delay = TXRSPFLITV_FOR_DBIDRESPORDTOCOMP_VALID


Defines a reference event from which the dbidrespord_to_comp_flit_delay should start. Following are the different reference events:

TXRSPFLITV_FOR_DBIDRESPORDTOCOMP_VALID: Reference event is TXRSPFLITV signal assertion for the current write request.

 rand svt_chi_transaction :: reference_event_for_pcreditgrant_to_retryack_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_pcreditgrant_to_retryack_flit_delay = RSPFLITV_FOR_PCREDITGRANT_TO_RETRYACK_VALID


Defines a reference event from which the pcreditgrant_to_retryack_flit_delay should start. Following are the different reference events:

RSPFLITV_FOR_PCREDITGRANT_TO_RETRYACK_VALID: Reference event is RSPFLITV signal assertion for the current request.

 rand svt_chi_transaction :: reference_event_for_req_to_compdata_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_req_to_compdata_flit_delay = TXREQFLITV_FOR_COMPDATA_VALID


Defines a reference event from which the req_to_compdata_flit_delay should start. Following are the different reference events:

TXREQFLITV_FOR_COMPDATA_VALID: Reference event is TXREQFLITV signal assertion for the current write request.

 rand svt_chi_transaction :: reference_event_for_req_to_compdbid_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_req_to_compdbid_flit_delay = TXREQFLITV_FOR_COMPDBID_VALID


Defines a reference event from which the req_to_compdbid_flit_delay should start. Following are the different reference events:

TXREQFLITV_FOR_COMPDBID_VALID: Reference event is TXREQFLITV signal assertion for the current write request.

 rand svt_chi_transaction :: reference_event_for_req_to_compstashdone_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_req_to_compstashdone_flit_delay = TXREQFLITV_FOR_COMPSTASHDONE_VALID


Defines a reference event from which the req_to_compstashdone_flit_delay should start. Following are the different reference events: TXREQFLITV_FOR_COMPSTASHDONE_VALID: Reference event is TXREQFLITV signal assertion for the current request.

 rand svt_chi_transaction :: reference_event_for_req_to_comp_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_req_to_comp_flit_delay = TXREQFLITV_FOR_COMP_VALID


Defines a reference event from which the req_to_comp_flit_delay should start. Following are the different reference events:

TXREQFLITV_FOR_COMP_VALID: Reference event is TXREQFLITV signal assertion for the current write request.

 rand svt_chi_transaction :: reference_event_for_req_to_comppersist_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_req_to_comppersist_flit_delay = TXREQFLITV_FOR_COMPPERSIST_VALID


Defines a reference event from which the req_to_comppersist_flit_delay should start. Following are the different reference events:

TXREQFLITV_FOR_COMPPERSIST_VALID: Reference event is TXREQFLITV signal assertion for the current CleanSharedPersistep request.

 rand svt_chi_transaction :: reference_event_for_req_to_dbid_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_req_to_dbid_flit_delay = TXREQFLITV_FOR_DBID_VALID


Defines a reference event from which the req_to_dbid_flit_delay should start. Following are the different reference events:

TXREQFLITV_FOR_DBID_VALID: Reference event is TXREQFLITV signal assertion for the current write request.

 rand svt_chi_transaction :: reference_event_for_req_to_dbidrespord_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_req_to_dbidrespord_flit_delay = TXREQFLITV_FOR_DBIDRESPORD_VALID


Defines a reference event from which the req_to_dbidrespord_flit_delay should start. Following are the different reference events:

TXREQFLITV_FOR_DBIDRESPORD_VALID: Reference event is TXREQFLITV signal assertion for the current write request.

 rand svt_chi_transaction :: reference_event_for_req_to_pcreditgrant_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_req_to_pcreditgrant_flit_delay = REQFLITV_FOR_PCREDITGRANT_VALID


Defines a reference event from which the req_to_pcreditgrant_flit_delay should start. Following are the different reference events:

REQFLITV_FOR_PCREDITGRANT_VALID: Reference event is REQFLITV signal assertion for the current request.

 rand svt_chi_transaction :: reference_event_for_req_to_persist_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_req_to_persist_flit_delay = TXREQFLITV_FOR_PERSIST_VALID


Defines a reference event from which the req_to_persist_flit_delay should start. Following are the different reference events:

TXREQFLITV_FOR_PERSIST_VALID: Reference event is TXREQFLITV signal assertion for the current CleanSharedPersistSep request.

 rand svt_chi_transaction :: reference_event_for_req_to_retryack_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_req_to_retryack_flit_delay = REQFLITV_FOR_RETRYACK_VALID


Defines a reference event from which the req_to_retryack_flit_delay should start. Following are the different reference events:

REQFLITV_FOR_RETRYACK_VALID: Reference event is REQFLITV signal assertion for the current request.

 rand svt_chi_transaction :: reference_event_for_req_to_stashdone_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_req_to_stashdone_flit_delay = TXREQFLITV_FOR_STASHDONE_VALID


Defines a reference event from which the req_to_stashdone_flit_delay should start. Following are the different reference events: TXREQFLITV_FOR_STASHDONE_VALID: Reference event is TXREQFLITV signal assertion for the current request.

 rand svt_chi_transaction :: reference_event_for_retryack_to_pcreditgrant_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_retryack_to_pcreditgrant_flit_delay = RSPFLITV_FOR_RETRYACK_TO_PCREDITGRANT_VALID


Defines a reference event from which the retryack_to_pcreditgrant_flit_delay should start. Following are the different reference events:

RSPFLITV_FOR_RETRYACK_TO_PCREDITGRANT_VALID: Reference event is RSPFLITV signal assertion for the current request.

 rand svt_chi_transaction :: reference_event_for_stashdone_to_comp_flit_delay_enum  attribute
 svt_chi_transaction::reference_event_for_stashdone_to_comp_flit_delay = TXRSPFLITV_FOR_STASHDONETOCOMP_VALID


Defines a reference event from which the stashdone_to_comp_flit_delay should start. Following are the different reference events: TXRSPFLITV_FOR_STASHDONETOCOMP_VALID: Reference event is TXRSPFLITV signal assertion for the current request.

 realtime  attribute
 svt_chi_transaction::req_accept_realtime = 0


Time at which this transaction was accepted by the completer recorded as a realtime value. This represents the timestamp at which a ReadReceipt/Comp/CompData response was seen for the transaction.

 rand int unsigned  attribute
 svt_chi_transaction::req_order_stream_id = 0


This member indicates the ID of the request order stream to which this transaction belongs to. Active RN agent orders the requests within a stream without any ordering dependency to the transaction that belong to other streams.

Applicable to only active RN agent. The value should be inside [0:(svt_chi_node_configuration :: num_req_order_streams-1)]

 rand svt_chi_common_transaction :: tag_op_enum  attribute
 svt_chi_transaction::req_tag_op = TAG_INVALID


Defines the tag_op field in the transaction request. This field is applicable for the following:
  • Write transaction other than WriteNoSnpZero, WriteUniqueZero and WriteUnique+CMOs In case of CopyBack writes, this field will be populated by the RN agent based on the state of the Tag in the RN cache and, therefore, need not be programmed by users.
  • All read transactions
  • Atomic transactions
  • Dataless transactions:
    • MakeReadUnique
    • MakeUnique
    • StashOnce
For all other transactions, this field is in applicable and must not be set by the users. Also, this field can only be set when svt_chi_node_configuration :: chi_spec_revision is set to ISSUE_E or later.

 rand int  attribute
 svt_chi_transaction::req_to_compstashdone_flit_delay = SVT_CHI_MIN_REQTOCOMPSTASHDONE_DELAY


Defines the delay in number of cycles between REQ flit and COMPSTASHDONE flit. This is only applicable for StashOnceSep* transactions when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_COMPSTASHDONE. The clock cycles are with respect to the TXREQFLITV signal assertion for the current request.

This delay is applied after the response item is received by the interconnect from the IC SN xact sequencer before dispatching the RSP flit to the link layer. In case the response is suspended, the response item should reach the driver in 0 time, hence the delay is still applied once the response is resumed.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to COMPSTASHDONE RSP Flit is enforced to 0.

The reference event for this delay is reference_event_for_req_to_compstashdone_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode.

 rand int  attribute
 svt_chi_transaction::req_to_comp_flit_delay = SVT_CHI_MIN_REQTOCOMP_DELAY


Defines the delay in number of cycles between Write REQ flit and Comp flit. This is applicable for all write, CMO and other control (DVM,Barrier) transactions when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_COMP. The clock cycles are with respect to the TXREQFLITV signal assertion for the current request.

This delay is applied after the response item is received by the interconnect from the IC SN xact sequencer before dispatching the RSP flit to the link layer. In case the response is suspended, the response item should reach the driver in 0 time, hence the delay is still applied once the response is resumed.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to COMP RSP Flit is enforced to 0.

The reference event for this delay is reference_event_for_req_to_comp_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode.

 rand int  attribute
 svt_chi_transaction::req_to_compdata_flit_delay = SVT_CHI_MIN_REQTOCOMPDATA_DELAY


Defines the delay in number of cycles between Read REQ flit and COMPDATA flit. This is only applicable for ReadNoSnp and ReadOnce transactions when svt_chi_sn_transaction :: xact_rsp_msg_type is set to RSP_MSG_COMPDATA. The clock cycles are with respect to the TXREQFLITV signal assertion for the current request.

This delay is applied after the response item is received by the interconnect from the IC SN xact sequencer before dispatching the DAT flit to the link layer. In case the response is suspended, the response item should reach the driver in 0 time, hence the delay is still applied once the response is resumed.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to COMPDATA DAT Flit is enforced to 0. The reference event for this delay is reference_event_for_req_to_compdata_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode

 rand int  attribute
 svt_chi_transaction::req_to_compdbid_flit_delay = SVT_CHI_MIN_REQTOCOMPDBID_DELAY


Defines the delay in number of cycles between Write REQ flit and COMPDBIDResp flit. This is only applicable for WriteNoSnp* and WriteUnique* transactions when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_COMPDBIDRESP. The clock cycles are with respect to the TXREQFLITV signal assertion for the current request.

This delay is applied after the response item is received by the interconnect from the IC SN xact sequencer before dispatching the RSP flit to the link layer. In case the response is suspended, the response item should reach the driver in 0 time, hence the delay is still applied once the response is resumed.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to COMPDBIDRESP RSP Flit is enforced to 0.

The reference event for this delay is reference_event_for_req_to_compdbid_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode

 rand int  attribute
 svt_chi_transaction::req_to_comppersist_flit_delay = SVT_CHI_MIN_REQTOCOMPPERSIST_DELAY


Defines the delay in number of cycles between Write REQ flit and COMPPERSIST flit. This is applicable for CLEANSHAREDPERSISTSEP transaction when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_COMPPERSIST. The clock cycles are with respect to the TXREQFLITV signal assertion for the current request.

This delay is applied after the response item is received by the interconnect from the IC SN xact sequencer before dispatching the RSP flit to the link layer. In case the response is suspended, the response item should reach the driver in 0 time, hence the delay is still applied once the response is resumed.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to COMPPERSIST Flit is enforced to 0.

The reference event for this delay is reference_event_for_req_to_persist_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode.

 rand int  attribute
 svt_chi_transaction::req_to_dbid_flit_delay = SVT_CHI_MIN_REQTODBID_DELAY


Defines the delay in number of cycles between Write REQ flit and DBIDResp flit. This is only applicable for WriteNoSnp* and WriteUnique* transactions when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_DBIDRESP. The clock cycles are with respect to the TXREQFLITV signal assertion for the current request.

This delay is applied after the response item is received by the interconnect from the IC SN xact sequencer before dispatching the RSP flit to the link layer. In case the response is suspended, the response item should reach the driver in 0 time, hence the delay is still applied once the response is resumed.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to DBIDRESP RSP Flit is enforced to 0.

The reference event for this delay is reference_event_for_req_to_dbid_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode.

 rand int  attribute
 svt_chi_transaction::req_to_dbidrespord_flit_delay = SVT_CHI_MIN_REQTODBIDRESPORD_DELAY


Defines the delay in number of cycles between Write REQ flit and DBIDRespOrd flit. This is only applicable for WriteNoSnp*, WriteUnique*, Combined writes and CMO transactions when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_DBIDRESPORD. The clock cycles are with respect to the TXREQFLITV signal assertion for the current request.

This delay is applied after the response item is received by the interconnect from the IC SN xact sequencer before dispatching the RSP flit to the link layer. In case the response is suspended, the response item should reach the driver in 0 time, hence the delay is still applied once the response is resumed.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to DBIDRESPORD RSP Flit is enforced to 0.

The reference event for this delay is reference_event_for_req_to_dbidrespord_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode.

 rand int  attribute
 svt_chi_transaction::req_to_pcreditgrant_flit_delay = SVT_CHI_MIN_REQTOPCREDITGRANT_DELAY


Defines the delay in number of cycles between REQ flit and Pcrdgrant RSP flit, when PcrdGrant is sent ahead of RetryAck (svt_chi_transaction :: is_p_crd_grant_before_retry_ack = 1). This is only applicable for all request transactions that can have PcrdGrant as a valid response, that is, with svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_RETRYACK. The clock cycles are with respect to the REQFLITV signal assertion for the current request.
This delay is applied after the response item is received by the interconnect from the IC SN xact sequencer before dispatching the Pcrdgrant RSP flit to the link layer. In case the response is suspended, the response item should reach the driver in 0 time, hence the delay is still applied once the response is resumed.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to Pcrdgrant RSP Flit is enforced to 0.

The reference event for this delay is reference_event_for_req_to_pcreditgrant_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode.

 rand int  attribute
 svt_chi_transaction::req_to_persist_flit_delay = SVT_CHI_MIN_REQTOPERSIST_DELAY


Defines the delay in number of cycles between Write REQ flit and PERSIST flit. This is applicable for CLEANSHAREDPERSISTSEP transaction when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_PERSIST_COMP. The clock cycles are with respect to the TXREQFLITV signal assertion for the current request.

This delay is applied after the response item is received by the interconnect from the IC SN xact sequencer before dispatching the RSP flit to the link layer. In case the response is suspended, the response item should reach the driver in 0 time, hence the delay is still applied once the response is resumed.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to PERSIST Flit is enforced to 0.

The reference event for this delay is reference_event_for_req_to_persist_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode.

 rand int  attribute
 svt_chi_transaction::req_to_retryack_flit_delay = SVT_CHI_MIN_REQTORETRYACK_DELAY


Defines the delay in number of cycles between REQ flit and RetryAck RSP flit, when RetryAck is sent ahead of PcrdGrant (svt_chi_transaction :: is_p_crd_grant_before_retry_ack = 0). This is only applicable for all request transactions that can have RetryAck as a valid response, that is, with svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_RETRYACK. The clock cycles are with respect to the REQFLITV signal assertion for the current request.
This delay is applied after the response item is received by the interconnect from the IC SN xact sequencer before dispatching the RetryAck RSP flit to the link layer. In case the response is suspended, the response item should reach the driver in 0 time, hence the delay is still applied once the response is resumed.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to RetryAck RSP Flit is enforced to 0.

The reference event for this delay is reference_event_for_req_to_retryack_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode.

 rand int  attribute
 svt_chi_transaction::req_to_stashdone_flit_delay = SVT_CHI_MIN_REQTOSTASHDONE_DELAY


Defines the delay in number of cycles between REQ flit and STASHDONE flit. This is only applicable for StashOnceSep* transactions when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_STASHDONE_COMP. The clock cycles are with respect to the TXREQFLITV signal assertion for the current request.

This delay is applied after the response item is received by the interconnect from the IC SN xact sequencer before dispatching the RSP flit to the link layer. In case the response is suspended, the response item should reach the driver in 0 time, hence the delay is still applied once the response is resumed.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to STASHDONE RSP Flit is enforced to 0.

The reference event for this delay is reference_event_for_req_to_stashdone_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode.

 realtime  attribute
 svt_chi_transaction::resp_status_accept_realtime = 0


Time at which response was sent from the requester to the completer. This represents the timestamp at which a CompAck response was seen for the transaction.

 rand bit [(SVT_CHI_XACT_CBUSY_WIDTH-1):0]  attribute
 svt_chi_transaction::response_cbusy[]


- This field holds the cbusy value of the Response Flits associated to this transaction.
  • There can be more than one RSP flit associated to a given CHI transaction.
  • The array is sized dynamically according to the number of Response flits associated.
  • The array indices correspond to the order in which the response flits are transmitted/received.
  • The interpretation of this attribute is IMPLEMENTATION DEFINED.
  • In case of Read* transaction with separate comp and data response, this attribute indicates the cbusy field in RespSepData or ReadReceipt.
  • In case of ReadNoSnp and ReadOnce* transactions with order field set, this attribute indicates the cbusy field in ReadReceipt.
  • In case of Dataless transactions, this attribute indicates the cbusy field in Comp response.
  • In case of Write transactions and AtomicStore transaction, this attribute indicates the cbusy fields in Comp and DBIDResp responses or CompDBIDResp response.
  • In case of Copyback transactions, this attribute indicates the cbusy fields in CompDBIDResp response.
  • In case of AtomicLoad, AtomicSwap and AtomiCompare transactions, this attribute indicates the cbusy fields in DBIDResp response.
  • In case of DVM transactions, this attribute indicates the cbusy fields in Comp and DBIDResp responses.
  • In case of a transaction with RETRYACK response, this attribute represents the cbusy field of the RETRYACK response.
  • This attribute doesn't indicate the cbusy field in PCRDGRANT response, Active SN will populate random value of cbusy filed in PCRDGRANT but passive SN currently doesn't have a place holder for PCRDGRANT.
  • Consider the following example:
    • In case of WriteNoSnpfull transaction, the response_cbusy array indicates the cbusy values in the comp and DBIDResp responses transmitted/received by HN/RN.
    • In case of WriteBackFull transaction, the response_cbusy array indicates the cbusy value in the comp response transmitted/received by HN/RN.
  • Active SN, populates svt_chi_flit :: cbusy field of appropriate RSP flits with this attribute.
  • Passive SN/RN, populates this attribute with svt_chi_flit :: cbusy field of appropriate RSP flits received.
  • If required, user can extend this class and add constraints for each value of array.
  • This field is not applicable for ACE-Lite mapped CHI transactions.

 rand svt_chi_common_transaction :: resp_err_status_enum  attribute
 svt_chi_transaction::response_resp_err_status = NORMAL_OKAY


Indicates the RespErr field of the Response flits associated to this transaction that can have a variable value for RespErr field.
Even though there can be more than one RSP flit associated to a given CHI transaction, as per section “14.4 Error Response Use By Transaction Type” of CHI 4.0 specification, only one of the response flits can have a variable value {Okay/ExOkay, Data Error/Non-Data Error} for this field. Whereas, the remaining response flits need to be transmitted only with a fixed value as described in above mentioned reference.
Consider the following example:
  • In case of WriteNoSnpFull, assume that the Comp and DBIDResp are received separately.
  • The DBIDResp can have only Okay value for RespErr.
  • However, Comp can have any value for RespErr.
  • In this case, the user interface needs to accommodate only for specifying/storing the RespErr that corresponds to Comp.

 rand int  attribute
 svt_chi_transaction::retryack_to_pcreditgrant_flit_delay = SVT_CHI_MIN_RETRYACKTOPCREDITGRANT_DELAY


Defines the delay in number of cycles between RetryAck and PcrdGrant RSP flits in the case RetryAck is sent before PcrdGrant(svt_chi_transaction :: is_p_crd_grant_before_retry_ack = 0), when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_RETRYACK. The clock cycles are with respect to the RSPFLITV signal asserted for RetryAck response.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to PcrdGrant RSP Flit is enforced to 0. This is reqired to ensure that actual retryack_to_pcreditgrant_flit_delay getting applied. Note that tx_flit_delay corresponding to RetryAck RSP flit is still randomized. The reference event for this delay is reference_event_for_retryack_to_pcreditgrant_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode.

 rand svt_chi_common_transaction :: tag_op_enum  attribute
 svt_chi_transaction::rsp_tag_op = TAG_INVALID


Defines the tag_op field in the Comp response seen for a transaction. This field can be set to a value other than TAG_INVALID only in case of a MakeReadUnique transaction. This field is applicable only when svt_chi_node_configuration :: chi_spec_revision is set to ISSUE_E or later.

 svt_chi_transaction :: snoop_filter_precision_info_enum  attribute
 svt_chi_transaction::snoop_filter_precision_info


This field defines the Snoop filter accuracy info for MakeReadUnique. This field is only applicable for RN-F in active mode and must not be programmed by the users. It will be set by the RN-F agent at the end of MakeReadUnique transactions. Following are the valid values:
  • SF_ABSENT : Snoop filter is not present at the HN-F.
  • SF_IMPRECISE : Snoop filter info is not accurate. This value will be set when a data response is received for a MakeReadUnique even though the RN has a copy of the line in its cache.
  • SF_PRECISE : Snoop filter info is accurate. This value will be set if a data response is received for a MakeReadUnique when the line is no longer present at the RN-F and also if a dataless response is received when the line is present in the RN cache.

 svt_chi_snoop_transaction  attribute
 svt_chi_transaction::snoop_xacts_started_after_curr_xact_queue[$]


Internal queue of snoop transactions which started after current transaction started

 rand int  attribute
 svt_chi_transaction::stashdone_to_comp_flit_delay = SVT_CHI_MIN_STASHDONETOCOMP_DELAY


Defines the delay in number of cycles between STASHDONE and COMP flit in the case when STASHDONE is sent before COMP. This is only applicable for StashOnceSep* transactions when svt_chi_ic_sn_transaction:: xact_rsp_msg_type is set to RSP_MSG_STASHDONE_COMP. The clock cycles are with respect to the TXRSPFLITV signal asserted for STASHDONE response.

The delay will have no effect in case the number of clock cycles programmed for this delay is already elapsed with respect to the reference event even before this delay is applied.

If this delay is set to a non-zero value, the tx_flit_delay corresponding to COMP RSP Flit is enforced to 0 and tx_flit_delay corresponding to STASHDONE flit is randomized.If the tx_flit_delay corresponding to COMP RSP flit is not enforced to zero, we will not see the actual stashdone_to_comp_flit_delay getting applied

The reference event for this delay is reference_event_for_stashdone_to_comp_flit_delay. Default value is 0. Applicable only for CHI ICN in Full-Slave mode

 svt_chi_common_transaction :: chi_suspend_resume_status_enum  attribute
 svt_chi_transaction::suspend_wr_data_status = SUSPEND_RESUME_INITIAL


- This attribute captures the status of the transaction with respect to suspend_wr_data
  • This is a read-only field for testbench, and is updated by VIP components

 rand bit [(SVT_CHI_XACT_MAX_TAG_WIDTH-1):0]  attribute
 svt_chi_transaction::tag = 0


Represents the Tag field in the transaction. This field is applicable in the following cases:
  • Write transactions with TagOp in the data set to TAG_FETCH_MATCH, TAG_TRANSFER or TAG_UPDATE. The value programmed in this field is propagated in the write data flits. This field will be populated by the RN agent in case of CopyBack Writes (when the Tag is held in the RN cache). In case of non-copyback writes, this field must be programmed by the users when req_tag_op is set to TAG_FETCH_MATCH or TAG_TRANSFER or TAG_UPDATE.
  • MakeUnique transaction with TagOp in the request (req_tag_op) set to TAG_UPDATE. In case of such a transaction, the Tag in the RN cache will be updated with this field and the Tag state will be considered dirty.
  • MakeReadUnique with allocate_in_cache set to 1, TagOp in the request (req_tag_op) set to TAG_TRANSFER and the tag_update field set to a non-zero value. In case of such a transaction, the Tag in the RN cache will be updated with this field based on tag_update and the Tag state will be considered dirty.
  • CleanUnique with allocate_in_cache set to 1 and the tag_update field set to a non-zero value. In case of such a transaction the Tag in the RN cache will be updated with this field based on tag_update and the Tag state will be considered dirty.
  • All other read transactions with TagOp in the data (data_tag_op) set to TAG_TRANSFER or TAG_UPDATE. For Reads, this field will be populated by the VIP with the Tag value in the read data received by the node and should not be programmed by users.
For all other transactions, this field is in applicable and must not be set by the users.

 rand bit [(SVT_CHI_TAG_MATCH_RESP_WIDTH-1):0]  attribute
 svt_chi_transaction::tag_match_resp = 0


Represents the ‘Resp’ field in the TagMatch response. This field is only applicable for Write and Atomic transactions with TagOp in the request set to Match (TAG_FETCH_MATCH). This field will be populated by the VIP and must not be set by the users.

 rand svt_chi_common_transaction :: resp_err_status_enum  attribute
 svt_chi_transaction::tag_match_resp_err_status = NORMAL_OKAY


Captures the RespErr field of the TagMatch RSP flit corresponding to a Tag Match Write transaction.

 rand bit [(SVT_CHI_XACT_MAX_TAG_UPDATE_WIDTH-1):0]  attribute
 svt_chi_transaction::tag_update = 0


Represents the Tag Update field in the transaction. This field is only applicable in the following cases:
  • Write transactions with TagOp in the request and data set to TAG_UPDATE. The value programmed in this field is propagated in the write data flits. This field will be populated by the RN agent in case of CopyBack Writes (when the Tag is held in the cache in dirty state). In case of non-copyback writes, this field must be programmed by the users when req_tag_op is set to TAG_UPDATE.
  • MakeReadUnique with allocate_in_cache set to 1 and TagOp in the request (req_tag_op) set to TAG_TRANSFER. In case of such a transaction:
    • If this field is set to a non-zero value, the Tag in the RN cache will be updated with the tag field in the transaction handle based on this field fields programmed and the Tag state will be considered dirty.
    • If this field is set to zero, then the Tag value in the RN cache will not be updated at the end of the MakeReadUnique and only the data in the cache will be updated.
  • CleanUnique with allocate_in_cache set to 1. In case of such a transaction:
    • If this field is programmed to a non-zero value, the Tag in the RN cache will be updated with the tag field in the transaction handle based on this field fields programmed and the Tag state will be considered dirty.
    • If this field is programmed to zero, then the Tag value in the RN cache will not be updated at the end of the MakeReadUnique and only the data in the cache will be updated.
For all other transactions, this field is in applicable and must not be set by the users.

 svt_chi_common_transaction :: byte_enable_pattern_enum  attribute
 svt_chi_transaction::write_dat_be_pattern[]


Byte Enable pattern for DAT flits of a write transactions.

 svt_chi_common_transaction :: data_pattern_enum  attribute
 svt_chi_transaction::write_dat_data_pattern[]


Data pattern for DAT flits of a write transactions.

 rand svt_chi_common_transaction :: resp_err_status_enum  attribute
 svt_chi_transaction::writecmo_compcmo_resp_err = NORMAL_OKAY


Captures the RespErr field of the CompCMO/CompPresist RSP flits corresponding to a Combined Write with CMO transaction.

 svt_chi_transaction :: xact_flow_category_enum  attribute
 svt_chi_transaction::xact_flow_category_type = DEFAULT_REQ


This property indicates the order in which the flits are seen for the transaction. It is populated at the end of the transaction based on the order in which the associated flits are completed. When the CHI_E replicated channel feature is enabled it is possible that multiple flits are seen on the interface at the same point in time, in such a scenario this field reflect the order in which these flits are stored in the internal queues of the transaction class. This is a read only field and is internally populated by the VIP.

 rand svt_chi_common_transaction :: xact_type_enum  attribute
 svt_chi_transaction::xact_type = READNOSNP


This field defines the Transaction type.

 svt_chi_transaction  attribute
 svt_chi_transaction::xacts_started_before_curr_xact_queue[$]


Internal queue of transactions which started before current transaction started, populated only in case of RN

Member Typedef Documentation

 typedef enum  svt_chi_transaction::auto_generation_category_enum

Cache copies are invalidated/cleaned up before moving to the Coherency DISCONNECT phase.

NOT_AUTO_GENERATED(0)
CACHE_FULL_AND_ENTRY_IN_CACHE_NEEDED(1)
WRITEBACK_TO_MEMORY_BEFORE_CMO(2)
AUTO_READ_AFTER_PARTIAL_WRITE_XACT(3)
INVALIDATE_CACHELINE_BEFORE_ATOMIC_WITH_SNOOPME_ZERO(4)
SYSCO_CACHE_CLEANUP(5)

 typedef enum  svt_chi_transaction::completion_of_cmo_in_wrcmo_flow_category_enum

Completion response of CMO observed after the completion of Write in a Combine Write and CMO transaction

DEFAULT_COMPCMO(0)
COMPCMO_BEFORE_WRITE_COMP_OR_COMPDBIDRESP(1)
COMPCMO_AFTER_WRITE_COMP_OR_COMPDBIDRESP(2)

 typedef enum  svt_chi_transaction::comp_dbid_responses_order_enum

This enum declaration is used to specify the order of COMP and DBIDRESP responses for a Write transaction. Applicable only in Active RN.

NOT_SET_COMP_DBIDRESP_ORDER
COMP_DBIDRESP
DBIDRESP_COMP
COMP_DBIDRESPORD
DBIDRESPORD_COMP
COMBINED_COMPDBIDRESP

 typedef enum  svt_chi_transaction::comp_persist_responses_order_enum

This enum declaration is used to specify the order of COMP and PERSIST responses for a *persistsep transaction. Applicable only in Active RN.

NOT_SET_COMP_PERSIST_ORDER
COMP_PERSIST
PERSIST_COMP
COMBINED_COMPPERSIST

 typedef enum  svt_chi_transaction::comp_stashdone_responses_order_enum

This enum declaration is used to specify the order of COMP and STASHDONE responses for a *stashsep transaction. Applicable only in Active RN.

NOT_SET_COMP_STASHDONE_ORDER
COMP_STASHDONE
STASHDONE_COMP
COMBINED_COMPSTASHDONE

 typedef enum  svt_chi_transaction::interleave_pattern_enum

Enum for interleave block pattern

RANDOM_BLOCK(SVT_CHI_TRANSACTION_INTERLEAVE_RANDOM_BLOCK)

 typedef enum  svt_chi_transaction::link_activation_deactivation_initiator_info_enum
LOCAL
: If link activation/deactivation was initiated by the current node
REMOTE
: If link activation/deactivation was initiated by the peer node

 Typedefe'd string ==>   string

 typedef enum  svt_chi_transaction::reference_event_for_comp_to_dbidrespord_flit_delay_enum

Enum to represent comp_to_dbidrespord_flit_delay reference event

TXRSPFLITV_FOR_COMPTODBIDRESPORD_VALID(SVT_CHI_TXRSPFLITV_FOR_COMPTODBIDRESPORD_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_comp_to_dbid_flit_delay_enum

Enum to represent comp_to_dbid_flit_delay reference event

TXRSPFLITV_FOR_COMPTODBID_VALID(SVT_CHI_TXRSPFLITV_FOR_COMPTODBID_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_comp_to_stashdone_flit_delay_enum

Enum to represent comp_to_stashdone_flit_delay reference event

TXRSPFLITV_FOR_COMPTOSTASHDONE_VALID(SVT_CHI_TXRSPFLITV_FOR_COMPTOSTASHDONE_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_dbidrespord_to_comp_flit_delay_enum

Enum to represent dbidrespord_to_comp_flit_delay reference event

TXRSPFLITV_FOR_DBIDRESPORDTOCOMP_VALID(SVT_CHI_TXRSPFLITV_FOR_DBIDRESPORDTOCOMP_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_dbid_to_comp_flit_delay_enum

Enum to represent dbid_to_comp_flit_delay reference event

TXRSPFLITV_FOR_DBIDTOCOMP_VALID(SVT_CHI_TXRSPFLITV_FOR_DBIDTOCOMP_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_pcreditgrant_to_retryack_flit_delay_enum

Enum to represent pcreditgrant_to_retryack_flit_delay reference event

RSPFLITV_FOR_PCREDITGRANT_TO_RETRYACK_VALID(SVT_CHI_RSPFLITV_FOR_PCREDITGRANT_TO_RETRYACK_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_req_to_compstashdone_flit_delay_enum

Enum to represent req_to_compstashdone_flit_delay reference event

TXREQFLITV_FOR_COMPSTASHDONE_VALID(SVT_CHI_TXREQFLITV_FOR_COMPSTASHDONE_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_req_to_comp_flit_delay_enum

Enum to represent req_to_comp_flit_delay reference event

TXREQFLITV_FOR_COMP_VALID(SVT_CHI_TXREQFLITV_FOR_COMP_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_req_to_compdata_flit_delay_enum

Enum to represent req_to_compdata_flit_delay reference event

TXREQFLITV_FOR_COMPDATA_VALID(SVT_CHI_TXREQFLITV_FOR_COMPDATA_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_req_to_compdbid_flit_delay_enum

Enum to represent req_to_compdbid_flit_delay reference event

TXREQFLITV_FOR_COMPDBID_VALID(SVT_CHI_TXREQFLITV_FOR_COMPDBID_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_req_to_comppersist_flit_delay_enum

Enum to represent req_to_comppersist_flit_delay reference event

TXREQFLITV_FOR_COMPPERSIST_VALID(SVT_CHI_TXREQFLITV_FOR_COMPPERSIST_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_req_to_dbid_flit_delay_enum

Enum to represent req_to_dbid_flit_delay reference event

TXREQFLITV_FOR_DBID_VALID(SVT_CHI_TXREQFLITV_FOR_DBID_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_req_to_dbidrespord_flit_delay_enum

Enum to represent req_to_dbidrespord_flit_delay reference event

TXREQFLITV_FOR_DBIDRESPORD_VALID(SVT_CHI_TXREQFLITV_FOR_DBIDRESPORD_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_req_to_pcreditgrant_flit_delay_enum

Enum to represent req_to_pcreditgrant_flit_delay reference event

REQFLITV_FOR_PCREDITGRANT_VALID(SVT_CHI_REQFLITV_FOR_PCREDITGRANT_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_req_to_persist_flit_delay_enum

Enum to represent req_to_persist_flit_delay reference event

TXREQFLITV_FOR_PERSIST_VALID(SVT_CHI_TXREQFLITV_FOR_PERSIST_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_req_to_retryack_flit_delay_enum

Enum to represent req_to_retryack_flit_delay reference event

REQFLITV_FOR_RETRYACK_VALID(SVT_CHI_REQFLITV_FOR_RETRYACK_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_req_to_stashdone_flit_delay_enum

Enum to represent req_to_stashdone_flit_delay reference event

TXREQFLITV_FOR_STASHDONE_VALID(SVT_CHI_TXREQFLITV_FOR_STASHDONE_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_retryack_to_pcreditgrant_flit_delay_enum

Enum to represent retryack_to_pcreditgrant_flit_delay reference event

RSPFLITV_FOR_RETRYACK_TO_PCREDITGRANT_VALID(SVT_CHI_RSPFLITV_FOR_RETRYACK_TO_PCREDITGRANT_VALID_REF)

 typedef enum  svt_chi_transaction::reference_event_for_stashdone_to_comp_flit_delay_enum

Enum to represent stashdone_to_comp_flit_delay reference event

TXRSPFLITV_FOR_STASHDONETOCOMP_VALID(SVT_CHI_TXRSPFLITV_FOR_STASHDONETOCOMP_VALID_REF)

 typedef enum  svt_chi_transaction::snoop_filter_precision_info_enum

Defines the Snoop filter accuracy info for MakeReadUnique

SF_ABSENT
: Snoop filter is not present at the HN-F
SF_IMPRECISE
: Snoop filter info is not accurate
SF_PRECISE
: Snoop filter info is accurate

 typedef enum  svt_chi_transaction::txn1_followed_by_txn2_enum

Enumerated type to indicate the order_type and transaction category of two transactions

NO_TRANSACTION_TO_SAME_CACHE_FOLLOWING_CURRENT_TRANSACTION(0)
NO_ORDERING_REQUIRED_WRITE_NO_ORDERING_REQUIRED_WRITE(1)
NO_ORDERING_REQUIRED_WRITE_NO_ORDERING_REQUIRED_READ(2)
NO_ORDERING_REQUIRED_WRITE_NO_ORDERING_REQUIRED_ATOMIC(3)
NO_ORDERING_REQUIRED_WRITE_REQ_ORDERING_REQUIRED_WRITE(4)
NO_ORDERING_REQUIRED_WRITE_REQ_ORDERING_REQUIRED_READ(5)
NO_ORDERING_REQUIRED_WRITE_REQ_ORDERING_REQUIRED_ATOMIC(6)
NO_ORDERING_REQUIRED_WRITE_OWO_WRITE(7)
NO_ORDERING_REQUIRED_WRITE_OWO_READ(8)
NO_ORDERING_REQUIRED_WRITE_OWO_ATOMIC(9)
NO_ORDERING_REQUIRED_WRITE_REQ_EP_ORDERING_REQUIRED_WRITE(10)
NO_ORDERING_REQUIRED_WRITE_REQ_EP_ORDERING_REQUIRED_READ(11)
NO_ORDERING_REQUIRED_WRITE_REQ_EP_ORDERING_REQUIRED_ATOMIC(12)
REQ_ORDERING_REQUIRED_WRITE_NO_ORDERING_REQUIRED_WRITE(13)
REQ_ORDERING_REQUIRED_WRITE_NO_ORDERING_REQUIRED_READ(14)
REQ_ORDERING_REQUIRED_WRITE_NO_ORDERING_REQUIRED_ATOMIC(15)
REQ_ORDERING_REQUIRED_WRITE_REQ_ORDERING_REQUIRED_WRITE(16)
REQ_ORDERING_REQUIRED_WRITE_REQ_ORDERING_REQUIRED_READ(17)
REQ_ORDERING_REQUIRED_WRITE_REQ_ORDERING_REQUIRED_ATOMIC(18)
REQ_ORDERING_REQUIRED_WRITE_OWO_WRITE(19)
REQ_ORDERING_REQUIRED_WRITE_OWO_READ(20)
REQ_ORDERING_REQUIRED_WRITE_OWO_ATOMIC(21)
REQ_ORDERING_REQUIRED_WRITE_REQ_EP_ORDERING_REQUIRED_WRITE(22)
REQ_ORDERING_REQUIRED_WRITE_REQ_EP_ORDERING_REQUIRED_READ(23)
REQ_ORDERING_REQUIRED_WRITE_REQ_EP_ORDERING_REQUIRED_ATOMIC(24)
OWO_WRITE_NO_ORDERING_REQUIRED_WRITE(25)
OWO_WRITE_NO_ORDERING_REQUIRED_READ(26)
OWO_WRITE_NO_ORDERING_REQUIRED_ATOMIC(27)
OWO_WRITE_REQ_ORDERING_REQUIRED_WRITE(28)
OWO_WRITE_REQ_ORDERING_REQUIRED_READ(29)
OWO_WRITE_REQ_ORDERING_REQUIRED_ATOMIC(30)
OWO_WRITE_OWO_WRITE(31)
OWO_WRITE_OWO_READ(32)
OWO_WRITE_OWO_ATOMIC(33)
OWO_WRITE_REQ_EP_ORDERING_REQUIRED_WRITE(34)
OWO_WRITE_REQ_EP_ORDERING_REQUIRED_READ(35)
OWO_WRITE_REQ_EP_ORDERING_REQUIRED_ATOMIC(36)
EP_ORDERING_REQUIRED_WRITE_NO_ORDERING_REQUIRED_WRITE(37)
EP_ORDERING_REQUIRED_WRITE_NO_ORDERING_REQUIRED_READ(38)
EP_ORDERING_REQUIRED_WRITE_NO_ORDERING_REQUIRED_ATOMIC(39)
EP_ORDERING_REQUIRED_WRITE_REQ_ORDERING_REQUIRED_WRITE(40)
EP_ORDERING_REQUIRED_WRITE_REQ_ORDERING_REQUIRED_READ(41)
EP_ORDERING_REQUIRED_WRITE_REQ_ORDERING_REQUIRED_ATOMIC(42)
EP_ORDERING_REQUIRED_WRITE_OWO_WRITE(43)
EP_ORDERING_REQUIRED_WRITE_OWO_READ(44)
EP_ORDERING_REQUIRED_WRITE_OWO_ATOMIC(45)
EP_ORDERING_REQUIRED_WRITE_REQ_EP_ORDERING_REQUIRED_WRITE(46)
EP_ORDERING_REQUIRED_WRITE_REQ_EP_ORDERING_REQUIRED_READ(47)
EP_ORDERING_REQUIRED_WRITE_REQ_EP_ORDERING_REQUIRED_ATOMIC(48)

 typedef enum  svt_chi_transaction::xact_category_enum

Defines transaction category type

READ
: READNOSNP, READONCE, READCLEAN, READSHARED, READUNIQUE
CMO
: CLEANUNIQUE, MAKEUNIQUE, CLEANINVALID, CLEANSHARED, MAKEINVALID, EVICT
WRITE
: WRITEBACKFULL, WRITEBACKPTL, WRITECLEANFULL, WRITECLEANPTL, WRITEEVICTFULL, WRITEUNIQUEFULL,WRITEUNIQUEPTL, WRITENOSNPFULL, WRITENOSNPPTL
CTRL
: DVMOP, EOBARRIER, ECBARRIER
ATOMIC
: ATOMICSTORE, ATOMICLOAD, ATOMICSWAP, ATOMICCOMPARE
OTHERS
: PCRDRETURN

 typedef enum  svt_chi_transaction::xact_flow_category_enum

WRITEBACKFULL, WRITEBACKPTL, WRITECLEANFULL, WRITECLEANPTL, WRITEEVICTFULL

DEFAULT_REQ(0)
REQ_DBID_COMP_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH,WRITENOSNPPTL
REQ_COMP_DBID_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH,WRITENOSNPPTL
REQ_DBID_WRITEDATACANCEL_COMP
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH,WRITENOSNPPTL
REQ_COMPDBIDRESP_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH,WRITENOSNPPTL
REQ_DBID_COMP_WRITEDATACANCEL_COMPACK
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_COMP_DBID_WRITEDATACANCEL_COMPACK
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBID_WRITEDATACANCEL_COMP_COMPACK
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBID_COMP_COMPACK_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_COMP_COMPACK_DBID_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_COMP_DBID_COMPACK_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_COMPDBIDRESP_WRITEDATACANCEL_COMPACK
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_COMPDBIDRESP_COMPACK_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_COMPDBIDRESP_WRITEDATACANCEL_COMPACK_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_COMP_DBID_WRITEDATACANCEL_COMPACK_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBID_WRITEDATACANCEL_COMP_WRITEDATACANCEL_COMPACK
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBID_WRITEDATACANCEL_COMP_WRITEDATACANCEL_COMPACK_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBID_WRITEDATACANCEL_COMP_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBID_WRITEDATACANCEL_COMP_COMPACK_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBID_COMP_WRITEDATACANCEL_COMPACK_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBID_COMP_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE
REQ_COMP_DBID_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE
REQ_DBID_NCBWRDATA_COMP
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE, DVM
REQ_COMPDBIDRESP_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL
REQ_DBID_COMP_NCBWRDATA_COMPACK_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE, DVM
REQ_COMP_DBID_NCBWRDATA_COMPACK_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE, DVM
REQ_DBID_NCBWRDATA_COMP_NCBWRDATA_COMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE, DVM
REQ_DBID_NCBWRDATA_COMP_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE, DVM
REQ_DBID_NCBWRDATA_COMP_NCBWRDATA_COMPACK_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE, DVM
REQ_DBID_NCBWRDATA_COMP_COMPACK_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE, DVM
REQ_COMPDBIDRESP_NCBWRDATA_COMPACK_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE, DVM
REQ_DBID_COMPACK_COMP_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBID_COMPACK_NCBWRDATA_COMP
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBID_NCBWRDATA_COMPACK_COMP
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBID_COMPACK_NCBWRDATA_COMP_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBID_NCBWRDATA_COMPACK_COMP_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBID_NCBWRDATA_COMPACK_NCBWRDATA_COMP
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBID_NCBWRDATA_COMPACK_NCBWRDATA_COMP_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBID_WRITEDATACANCEL_COMPACK_COMP
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBID_COMPACK_COMP_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBID_COMPACK_WRITEDATACANCEL_COMP
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBID_WRITEDATACANCEL_COMPACK_COMP_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBID_COMPACK_WRITEDATACANCEL_COMP_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBID_WRITEDATACANCEL_COMPACK_WRITEDATACANCEL_COMP_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBID_WRITEDATACANCEL_COMPACK_WRITEDATACANCEL_COMP
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBID_NCBWRDATACOMPACK_COMP
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBID_NCBWRDATACOMPACK_COMP_NCBWRDATACOMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBID_COMP_NCBWRDATACOMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_COMP_DBID_NCBWRDATACOMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_COMPDBIDRESP_NCBWRDATACOMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBID_COMP_NCBWRDATA_COMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_COMP_DBID_NCBWRDATA_COMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBID_NCBWRDATA_COMP_COMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBID_COMP_COMPACK_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_COMP_COMPACK_DBID_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_COMP_DBID_COMPACK_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_COMPDBIDRESP_NCBWRDATA_COMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_COMPDBIDRESP_COMPACK_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_COMPDBIDRESP_CBWRDATA
REQ_DBID_COMPDATA_NCBWRDATA
: ATOMICLOAD, ATOMICSWAP, ATOMICCOMPARE
REQ_COMPDATA_DBID_NCBWRDATA
: ATOMICLOAD, ATOMICSWAP, ATOMICCOMPARE
REQ_DBID_NCBWRDATA_COMPDATA
: ATOMICLOAD, ATOMICSWAP, ATOMICCOMPARE
REQ_COMPDATA_COMPACK_COMPDATA
REQ_RESPSEPDATA_COMPACK_DATASEPRESP
REQ_RESPSEPDATA_DATASEPRESP_COMPACK
REQ_DATASEPRESP_RESPSEPDATA_COMPACK
REQ_RESPSEPDATA_DATASEPRESP
REQ_DATASEPRESP_RESPSEPDATA_DATASEPRESP
REQ_DATASEPRESP_RESPSEPDATA
REQ_READRECEIPT_COMPDATA_COMPACK_COMPDATA
REQ_RESPSEPDATA_DATASEPRESP_COMPACK_DATASEPRESP
REQ_DATASEPRESP_RESPSEPDATA_COMPACK_DATASEPRESP
REQ_COMPDATA_READRECEIPT_COMPDATA
REQ_COMPDATA_READRECEIPT_COMPACK_COMPDATA
REQ_COMPDATA_READRECEIPT_COMPDATA_COMPACK
REQ_DBID_COMP
: WRITEUNIQUEZERO,WRITENOSNPZERO
REQ_COMP_DBID
: WRITEUNIQUEZERO,WRITENOSNPZERO
REQ_COMPDBIDRESP
: WRITEUNIQUEZERO,WRITENOSNPZERO
REQ_DBID_COMPDATA_NCBWRDATA_TAGMATCH
REQ_COMPDATA_DBID_NCBWRDATA_TAGMATCH
REQ_DBID_NCBWRDATA_TAGMATCH_COMPDATA
REQ_DBID_NCBWRDATA_COMPDATA_TAGMATCH
REQ_COMP_COMPACK_DBID_NCBWRDATA_TAGMATCH
REQ_COMP_DBID_COMPACK_NCBWRDATA_TAGMATCH
REQ_COMP_DBID_NCBWRDATA_TAGMATCH
REQ_COMP_DBID_NCBWRDATACOMPACK_TAGMATCH
REQ_COMP_DBID_NCBWRDATA_TAGMATCH_COMPACK
REQ_COMP_DBID_NCBWRDATA_COMPACK_TAGMATCH
REQ_COMP_DBID_NCBWRDATA_COMPACK_NCBWRDATA_TAGMATCH
REQ_COMPDBIDRESP_COMPACK_NCBWRDATA_TAGMATCH
REQ_COMPDBIDRESP_NCBWRDATA_TAGMATCH
REQ_COMPDBIDRESP_NCBWRDATACOMPACK_TAGMATCH
REQ_COMPDBIDRESP_NCBWRDATA_TAGMATCH_COMPACK
REQ_COMPDBIDRESP_NCBWRDATA_COMPACK_TAGMATCH
REQ_COMPDBIDRESP_NCBWRDATA_COMPACK_NCBWRDATA_TAGMATCH
REQ_DBID_COMPACK_COMP_NCBWRDATA_TAGMATCH
REQ_DBID_COMPACK_NCBWRDATA_TAGMATCH_COMP
REQ_DBID_COMPACK_NCBWRDATA_COMP_TAGMATCH
REQ_DBID_COMPACK_NCBWRDATA_COMP_NCBWRDATA_TAGMATCH
REQ_DBID_COMP_COMPACK_NCBWRDATA_TAGMATCH
REQ_DBID_COMP_NCBWRDATA_TAGMATCH
REQ_DBID_COMP_NCBWRDATACOMPACK_TAGMATCH
REQ_DBID_COMP_NCBWRDATA_TAGMATCH_COMPACK
REQ_DBID_COMP_NCBWRDATA_COMPACK_TAGMATCH
REQ_DBID_COMP_NCBWRDATA_COMPACK_NCBWRDATA_TAGMATCH
REQ_DBID_NCBWRDATA_TAGMATCH_COMP
REQ_DBID_NCBWRDATA_COMP_TAGMATCH
REQ_DBID_NCBWRDATA_TAGMATCH_COMPACK_COMP
REQ_DBID_NCBWRDATA_COMPACK_TAGMATCH_COMP
REQ_DBID_NCBWRDATA_COMPACK_COMP_TAGMATCH
REQ_DBID_NCBWRDATACOMPACK_TAGMATCH_COMP
REQ_DBID_NCBWRDATACOMPACK_COMP_TAGMATCH
REQ_DBID_NCBWRDATA_COMPACK_COMP_NCBWRDATA_TAGMATCH
REQ_DBID_NCBWRDATACOMPACK_COMP_NCBWRDATACOMPACK_TAGMATCH
REQ_DBID_NCBWRDATA_COMPACK_NCBWRDATA_TAGMATCH_COMP
REQ_DBID_NCBWRDATA_COMPACK_NCBWRDATA_COMP_TAGMATCH
REQ_DBID_NCBWRDATA_COMPACK_NCBWRDATA_COMP_NCBWRDATA_TAGMATCH
REQ_DBID_NCBWRDATA_TAGMATCH_COMP_COMPACK
REQ_DBID_NCBWRDATA_COMP_TAGMATCH_COMPACK
REQ_DBID_NCBWRDATA_COMP_COMPACK_TAGMATCH
REQ_DBID_NCBWRDATA_COMP_COMPACK_NCBWRDATA_TAGMATCH
REQ_DBID_NCBWRDATA_COMP_NCBWRDATA_TAGMATCH
REQ_DBID_NCBWRDATA_COMP_NCBWRDATA_TAGMATCH_COMPACK
REQ_DBID_NCBWRDATA_COMP_NCBWRDATA_COMPACK_TAGMATCH
REQ_DBID_NCBWRDATA_COMP_NCBWRDATA_COMPACK_NCBWRDATA_TAGMATCH
REQ_COMP_STASHDONE
: STASHONCESEPUNIQUE, STASHONCESEPSHARED
REQ_STASHDONE_COMP
: STASHONCESEPUNIQUE, STASHONCESEPSHARED
REQ_COMPSTASHDONE
: STASHONCESEPUNIQUE, STASHONCESEPSHARED
REQ_COMPDATA_COMPACK
: READCLEAN, READNOTSHAREDDIRTY, READSHARED, READUNIQUE, READNOSNP, READONCE, ROMI, ROCI
REQ_COMPDATA
: READNOSNP, READONCE, ROMI, ROCI
REQ_READRECEIPT_COMPDATA
: READNOSNP, READONCE, ROMI, ROCI
REQ_COMPDATA_READRECEIPT
: READNOSNP, READONCE, ROMI, ROCI
REQ_READRECEIPT_COMPDATA_COMPACK
: READNOSNP, READONCE, ROMI, ROCI
REQ_COMPDATA_READRECEIPT_COMPACK
: READNOSNP, READONCE, ROMI, ROCI
REQ_COMPDATA_COMPACK_READRECEIPT
: READNOSNP, READONCE, ROMI, ROCI
REQ_COMP
: EVICT, STASHONCEUNIQUE, STASHONCESHARED, CLEANSHARED, CLEANSHAREDPERSIST, CLEANINVALID, MAKEINVALID
REQ_COMP_COMPACK
: CLEANUNIQUE, MAKEUNIQUE
REQ_RETRYACK
REQ_PERSIST_COMP
: CLEANSHAREDPERSISTSEP
REQ_COMP_PERSIST
: CLEANSHAREDPERSISTSEP
REQ_COMPPERSIST
: CLEANSHAREDPERSISTSEP
REQ_DBIDRESPORD_COMP_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH,WRITENOSNPPTL
REQ_COMP_DBIDRESPORD_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH,WRITENOSNPPTL
REQ_DBIDRESPORD_WRITEDATACANCEL_COMP
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH,WRITENOSNPPTL
REQ_DBIDRESPORD_COMP_WRITEDATACANCEL_COMPACK
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_COMP_DBIDRESPORD_WRITEDATACANCEL_COMPACK
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_WRITEDATACANCEL_COMP_COMPACK
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_COMP_COMPACK_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_COMP_COMPACK_DBIDRESPORD_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_COMP_DBIDRESPORD_COMPACK_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_COMP_DBIDRESPORD_WRITEDATACANCEL_COMPACK_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_WRITEDATACANCEL_COMP_WRITEDATACANCEL_COMPACK
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_WRITEDATACANCEL_COMP_WRITEDATACANCEL_COMPACK_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_WRITEDATACANCEL_COMP_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_WRITEDATACANCEL_COMP_COMPACK_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_COMP_WRITEDATACANCEL_COMPACK_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_COMP_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE
REQ_COMP_DBIDRESPORD_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE
REQ_DBIDRESPORD_NCBWRDATA_COMP
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE
REQ_DBIDRESPORD_COMP_NCBWRDATA_COMPACK_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE
REQ_COMP_DBIDRESPORD_NCBWRDATA_COMPACK_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE
REQ_DBIDRESPORD_NCBWRDATA_COMP_NCBWRDATA_COMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE
REQ_DBIDRESPORD_NCBWRDATA_COMP_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE
REQ_DBIDRESPORD_NCBWRDATA_COMP_NCBWRDATA_COMPACK_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE
REQ_DBIDRESPORD_NCBWRDATA_COMP_COMPACK_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH, WRITENOSNPFULL, WRITENOSNPPTL, ATOMICSTORE
REQ_DBIDRESPORD_COMPACK_COMP_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_COMPACK_NCBWRDATA_COMP
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_NCBWRDATA_COMPACK_COMP
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_COMPACK_NCBWRDATA_COMP_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_NCBWRDATA_COMPACK_COMP_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_NCBWRDATA_COMPACK_NCBWRDATA_COMP
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_NCBWRDATA_COMPACK_NCBWRDATA_COMP_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_WRITEDATACANCEL_COMPACK_COMP
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_COMPACK_COMP_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_COMPACK_WRITEDATACANCEL_COMP
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_WRITEDATACANCEL_COMPACK_COMP_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_COMPACK_WRITEDATACANCEL_COMP_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_WRITEDATACANCEL_COMPACK_WRITEDATACANCEL_COMP_WRITEDATACANCEL
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_WRITEDATACANCEL_COMPACK_WRITEDATACANCEL_COMP
: WRITEUNIQUEPTL,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_NCBWRDATACOMPACK_COMP
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_NCBWRDATACOMPACK_COMP_NCBWRDATACOMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_COMP_NCBWRDATACOMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_COMP_DBIDRESPORD_NCBWRDATACOMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_COMP_NCBWRDATA_COMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_COMP_DBIDRESPORD_NCBWRDATA_COMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_NCBWRDATA_COMP_COMPACK
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_COMP_COMPACK_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_COMP_COMPACK_DBIDRESPORD_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_COMP_DBIDRESPORD_COMPACK_NCBWRDATA
: WRITEUNIQUEFULL,WRITEUNIQUEPTL,WRITEUNIQUEFULLSTASH,WRITEUNIQUEPTLSTASH
REQ_DBIDRESPORD_COMPDATA_NCBWRDATA
: ATOMICLOAD, ATOMICSWAP, ATOMICCOMPARE
REQ_COMPDATA_DBIDRESPORD_NCBWRDATA
: ATOMICLOAD, ATOMICSWAP, ATOMICCOMPARE
REQ_DBIDRESPORD_NCBWRDATA_COMPDATA
: ATOMICLOAD, ATOMICSWAP, ATOMICCOMPARE
REQ_DBIDRESPORD_COMP
: WRITEUNIQUEZERO,WRITENOSNPZERO
REQ_COMP_DBIDRESPORD
: WRITEUNIQUEZERO,WRITENOSNPZERO
REQ_DBIDRESPORD_COMPDATA_NCBWRDATA_TAGMATCH
REQ_COMPDATA_DBIDRESPORD_NCBWRDATA_TAGMATCH
REQ_DBIDRESPORD_NCBWRDATA_TAGMATCH_COMPDATA
REQ_DBIDRESPORD_NCBWRDATA_COMPDATA_TAGMATCH
REQ_COMP_COMPACK_DBIDRESPORD_NCBWRDATA_TAGMATCH
REQ_COMP_DBIDRESPORD_COMPACK_NCBWRDATA_TAGMATCH
REQ_COMP_DBIDRESPORD_NCBWRDATA_TAGMATCH
REQ_COMP_DBIDRESPORD_NCBWRDATACOMPACK_TAGMATCH
REQ_COMP_DBIDRESPORD_NCBWRDATA_TAGMATCH_COMPACK
REQ_COMP_DBIDRESPORD_NCBWRDATA_COMPACK_TAGMATCH
REQ_COMP_DBIDRESPORD_NCBWRDATA_COMPACK_NCBWRDATA_TAGMATCH
REQ_DBIDRESPORD_COMPACK_COMP_NCBWRDATA_TAGMATCH
REQ_DBIDRESPORD_COMPACK_NCBWRDATA_TAGMATCH_COMP
REQ_DBIDRESPORD_COMPACK_NCBWRDATA_COMP_TAGMATCH
REQ_DBIDRESPORD_COMPACK_NCBWRDATA_COMP_NCBWRDATA_TAGMATCH
REQ_DBIDRESPORD_COMP_COMPACK_NCBWRDATA_TAGMATCH
REQ_DBIDRESPORD_COMP_NCBWRDATA_TAGMATCH
REQ_DBIDRESPORD_COMP_NCBWRDATACOMPACK_TAGMATCH
REQ_DBIDRESPORD_COMP_NCBWRDATA_TAGMATCH_COMPACK
REQ_DBIDRESPORD_COMP_NCBWRDATA_COMPACK_TAGMATCH
REQ_DBIDRESPORD_COMP_NCBWRDATA_COMPACK_NCBWRDATA_TAGMATCH
REQ_DBIDRESPORD_NCBWRDATA_TAGMATCH_COMP
REQ_DBIDRESPORD_NCBWRDATA_COMP_TAGMATCH
REQ_DBIDRESPORD_NCBWRDATA_TAGMATCH_COMPACK_COMP
REQ_DBIDRESPORD_NCBWRDATA_COMPACK_TAGMATCH_COMP
REQ_DBIDRESPORD_NCBWRDATA_COMPACK_COMP_TAGMATCH
REQ_DBIDRESPORD_NCBWRDATACOMPACK_TAGMATCH_COMP
REQ_DBIDRESPORD_NCBWRDATACOMPACK_COMP_TAGMATCH
REQ_DBIDRESPORD_NCBWRDATA_COMPACK_COMP_NCBWRDATA_TAGMATCH
REQ_DBIDRESPORD_NCBWRDATACOMPACK_COMP_NCBWRDATACOMPACK_TAGMATCH
REQ_DBIDRESPORD_NCBWRDATA_COMPACK_NCBWRDATA_TAGMATCH_COMP
REQ_DBIDRESPORD_NCBWRDATA_COMPACK_NCBWRDATA_COMP_TAGMATCH
REQ_DBIDRESPORD_NCBWRDATA_COMPACK_NCBWRDATA_COMP_NCBWRDATA_TAGMATCH
REQ_DBIDRESPORD_NCBWRDATA_TAGMATCH_COMP_COMPACK
REQ_DBIDRESPORD_NCBWRDATA_COMP_TAGMATCH_COMPACK
REQ_DBIDRESPORD_NCBWRDATA_COMP_COMPACK_TAGMATCH
REQ_DBIDRESPORD_NCBWRDATA_COMP_COMPACK_NCBWRDATA_TAGMATCH
REQ_DBIDRESPORD_NCBWRDATA_COMP_NCBWRDATA_TAGMATCH
REQ_DBIDRESPORD_NCBWRDATA_COMP_NCBWRDATA_TAGMATCH_COMPACK
REQ_DBIDRESPORD_NCBWRDATA_COMP_NCBWRDATA_COMPACK_TAGMATCH
REQ_DBIDRESPORD_NCBWRDATA_COMP_NCBWRDATA_COMPACK_NCBWRDATA_TAGMATCH


Member Constraint Documentation

  constraint
 svt_chi_transaction::chi_transaction_valid_ranges


Valid ranges constraints insure that the transaction settings are supported by the chi components.

constraint chi_transaction_valid_ranges {
     solve xact_type before txn_id, qos, addr, is_non_secure_access, p_crd_type, data_size, is_likely_shared, is_dyn_p_crd, order_type,
                            mem_attr_is_early_wr_ack_allowed, mem_attr_mem_type, mem_attr_is_cacheable, mem_attr_allocate_hint,
                            snp_attr_is_snoopable, snp_attr_snp_domain_type, lpid, is_exclusive, exp_comp_ack;
     solve data_size before byte_enable;
    req_to_retryack_flit_delay inside {[ 0: 16]};
    req_to_pcreditgrant_flit_delay inside {[ 0: 16]};
    req_to_dbid_flit_delay inside {[ 0: 16]};
    req_to_compdbid_flit_delay inside {[ 0: 16]};
    req_to_comp_flit_delay inside {[ 0: 16]};
    req_to_compdata_flit_delay inside {[ 0: 16]};
    comp_to_dbid_flit_delay inside {[ 0: 16]};
    dbid_to_comp_flit_delay inside {[ 0: 16]};
    retryack_to_pcreditgrant_flit_delay inside {[ 0: 16]};
    pcreditgrant_to_retryack_flit_delay inside {[ 0: 16]};
     req_to_comppersist_flit_delay inside{[ 0: 16]};
    req_to_persist_flit_delay inside{[ 0: 16]};
      req_to_dbidrespord_flit_delay inside {[ 0: 16]};
     req_to_stashdone_flit_delay inside {[ 0: 16]};
     req_to_compstashdone_flit_delay inside {[ 0: 16]};
     comp_to_dbidrespord_flit_delay inside {[ 0: 16]};
     dbidrespord_to_comp_flit_delay inside {[ 0: 16]};
     comp_to_stashdone_flit_delay inside {[ 0: 16]};
     stashdone_to_comp_flit_delay inside {[ 0: 16]};
     }

  constraint
 svt_chi_transaction::reasonable_comp_to_dbidrespord_flit_delay


constraint reasonable_comp_to_dbidrespord_flit_delay {
   comp_to_dbidrespord_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_comp_to_dbid_flit_delay


constraint reasonable_comp_to_dbid_flit_delay {
   comp_to_dbid_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_comp_to_stashdone_flit_delay


constraint reasonable_comp_to_stashdone_flit_delay {
   comp_to_stashdone_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_dbidrespord_to_comp_flit_delay


constraint reasonable_dbidrespord_to_comp_flit_delay {
   dbidrespord_to_comp_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_dbid_to_comp_flit_delay


constraint reasonable_dbid_to_comp_flit_delay {
   dbid_to_comp_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_pcreditgrant_to_retryack_flit_delay


constraint reasonable_pcreditgrant_to_retryack_flit_delay {
   pcreditgrant_to_retryack_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_req_to_compstashdone_flit_delay


constraint reasonable_req_to_compstashdone_flit_delay {
   req_to_compstashdone_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_req_to_comp_flit_delay


constraint reasonable_req_to_comp_flit_delay {
   req_to_comp_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_req_to_compdata_flit_delay


constraint reasonable_req_to_compdata_flit_delay {
   req_to_compdata_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_req_to_compdbid_flit_delay


constraint reasonable_req_to_compdbid_flit_delay {
   req_to_compdbid_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_req_to_comppersist_flit_delay


constraint reasonable_req_to_comppersist_flit_delay {
   req_to_comppersist_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_req_to_dbid_flit_delay


constraint reasonable_req_to_dbid_flit_delay {
   req_to_dbid_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_req_to_dbidrespord_flit_delay


constraint reasonable_req_to_dbidrespord_flit_delay {
   req_to_dbidrespord_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_req_to_pcreditgrant_flit_delay


constraint reasonable_req_to_pcreditgrant_flit_delay {
   req_to_pcreditgrant_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_req_to_persist_flit_delay


constraint reasonable_req_to_persist_flit_delay {
   req_to_persist_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_req_to_retryack_flit_delay


constraint reasonable_req_to_retryack_flit_delay {
   req_to_retryack_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_req_to_stashdone_flit_delay


constraint reasonable_req_to_stashdone_flit_delay {
   req_to_stashdone_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_retryack_to_pcreditgrant_flit_delay


constraint reasonable_retryack_to_pcreditgrant_flit_delay {
   retryack_to_pcreditgrant_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }

  constraint
 svt_chi_transaction::reasonable_stashdone_to_comp_flit_delay


constraint reasonable_stashdone_to_comp_flit_delay {
   stashdone_to_comp_flit_delay dist {
       0 := MIN_DELAY_wt,
     [ 0:( 16 >> 2)] :/ SHORT_DELAY_wt,
     [(( 16 >> 2)+1): 16] :/ LONG_DELAY_wt
   };
  }