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

Inheritance diagram for class svt_atb_transaction:

List of all members.


Detailed Description

This is the base transaction type which contains all the physical attributes of the transaction like id, data, burst length, etc. It also provides the timing information of the transaction to the master & slave transactors, that is, delays for valid and ready signals with respect to some reference events.

The svt_atb_transaction also contains a handle to configuration object of type svt_atb_port_configuration , which provides the configuration of the port on which this transaction would be applied. The port configuration is used during randomizing the transaction.



Class Member Groupings

Miscellaneous attributes  This group contains miscellaneous attributes which do not fall under any of the categories above.
ATB transaction status attributes  This group contains attributes which report the status of ATB transaction.
ATB timing attributes  This group contains attributes which are used to capture various timing details.
ATB delay attributes  This group contains attributes which can be used to control delays in ATB signals.
ATB protocol attributes  This group contains attributes which are relevant to ATB protocol.

Public Member Functions

function void  add_databeat ( bit [SVT_ATB_MAX_DATA_WIDTH-1:0] databeat )
function void  add_databeat_array ( bit [SVT_ATB_MAX_DATA_WIDTH-1:0] databeat[] )
function bit  decode_prop_val ( string prop_name, bit [1023:0] prop_val, ref string prop_val_string, input svt_pattern_data :: type_enum typ )
function svt_pattern  do_allocate_pattern ( )
function bit  do_compare ( ovm_object rhs, ovm_comparer comparer )
function void  do_copy ( ovm_object rhs )
function bit  do_is_valid ( bit silent = 1, int kind = RELEVANT )
function bit  encode_prop_val ( string prop_name, string prop_val_string, ref bit [1023:0] prop_val, input svt_pattern_data :: type_enum typ )
function int  get_burst_length ( )
function int  get_byte_count ( )
function bit [SVT_ATB_MAX_DATA_WIDTH-1:0]  get_databeat ( int curr_beat = -1 )
function string  get_mcd_class_name ( )
function svt_pa_object_data  get_pa_obj_data ( string uid = "", string typ = "", string parent_uid = "", string channel = "" )
function bit  get_prop_val ( string prop_name, ref bit [1023:0] prop_val, input int array_ix, ref svt_sequence_item_base data_obj )
function bit  is_trigger ( )
function void  new ( string name = "svt_atb_transaction", svt_atb_port_configuration port_cfg_handle = null )
function void  pack_data_to_byte_stream ( input bit [SVT_ATB_MAX_DATA_WIDTH-1:0] data_to_pack[], output bit [7:0] packed_data[] )
function string  psdisplay_short ( string prefix = "", bit hdr_only = 0 )
function int  reasonable_constraint_mode ( bit on_off )
function void  set_cfg ( svt_atb_port_configuration cfg )
function void  set_databeat ( int curr_beat = -1, bit [SVT_ATB_MAX_DATA_WIDTH-1:0] databeat )
function bit  set_prop_val ( string prop_name, bit [1023:0] prop_val, int array_ix )
function void  unpack_byte_stream_to_data ( input bit [7:0] data_to_unpack[], output bit [SVT_ATB_MAX_DATA_WIDTH-1:0] unpacked_data[] )

Public Attributes

rand int unsigned  burst_length = 1; 
int  current_data_beat_num = 0; 
bit  current_flush_ready = 0; 
bit  current_flush_valid = 0; 
rand bit [7:0]   data_byte [] 
int  data_ready_assertion_cycle [] 
real  data_ready_assertion_time [] 
rand int unsigned  data_ready_delay [] 
int  data_valid_assertion_cycle [] 
real  data_valid_assertion_time [] 
rand bit [SVT_ATB_MAX_DATA_VALID_BYTES_WIDTH-1:0]  data_valid_bytes [] 
rand int unsigned  data_valid_delay [] 
int  flush_ready_assertion_cycle 
real  flush_ready_assertion_time 
int  flush_valid_assertion_cycle 
real  flush_valid_assertion_time 
rand bit [SVT_ATB_MAX_ID_WIDTH-1:0]  id = 0; 
int  LONG_BURST_wt = 400; 
int  LONG_DELAY_wt = 1; 
int  object_id = -1; 
string  pa_object_type = ""; 
svt_atb_port_configuration  port_cfg 
int  port_id 
rand svt_atb_transaction :: reference_event_for_data_ready_delay_enum  reference_event_data_ready_delay 
rand svt_atb_transaction :: reference_event_for_data_valid_delay_enum  reference_event_data_valid_delay 
int  SHORT_BURST_wt = 500; 
int  SHORT_DELAY_wt = 500; 
svt_atb_transaction :: status_enum  xact_status 
rand svt_atb_transaction :: xact_type_enum  xact_type 
int  ZERO_BURST_wt = 100; 
int  ZERO_DELAY_wt = 100; 

Member Typedefs

 typedef enum  reference_event_for_data_ready_delay_enum 
 typedef enum  reference_event_for_data_valid_delay_enum 
 typedef enum  status_enum 
 typedef enum  xact_type_enum 

Class Member Groupings



Group: Miscellaneous attributes

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

int  object_id = -1; 
svt_atb_port_configuration  port_cfg 
int  port_id 


Group: ATB transaction status attributes

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

int  current_data_beat_num = 0; 
bit  current_flush_ready = 0; 
bit  current_flush_valid = 0; 
svt_atb_transaction :: status_enum  xact_status 


Group: ATB timing attributes

This group contains attributes which are used to capture various timing details.

int  data_ready_assertion_cycle [] 
real  data_ready_assertion_time [] 
int  data_valid_assertion_cycle [] 
real  data_valid_assertion_time [] 
int  flush_ready_assertion_cycle 
real  flush_ready_assertion_time 
int  flush_valid_assertion_cycle 
real  flush_valid_assertion_time 


Group: ATB delay attributes

This group contains attributes which can be used to control delays in ATB signals.

rand int unsigned  data_ready_delay [] 
rand int unsigned  data_valid_delay [] 
int  LONG_DELAY_wt = 1; 
rand svt_atb_transaction :: reference_event_for_data_ready_delay_enum  reference_event_data_ready_delay 
rand svt_atb_transaction :: reference_event_for_data_valid_delay_enum  reference_event_data_valid_delay 
int  SHORT_DELAY_wt = 500; 
int  ZERO_DELAY_wt = 100; 


Group: ATB protocol attributes

This group contains attributes which are relevant to ATB protocol.

rand int unsigned  burst_length = 1; 
rand bit [7:0]   data_byte [] 
rand bit [SVT_ATB_MAX_DATA_VALID_BYTES_WIDTH-1:0]  data_valid_bytes [] 
rand bit [SVT_ATB_MAX_ID_WIDTH-1:0]  id = 0; 
int  LONG_BURST_wt = 400; 
int  SHORT_BURST_wt = 500; 
rand svt_atb_transaction :: xact_type_enum  xact_type 
int  ZERO_BURST_wt = 100; 


Member Function Documentation

  function void
 svt_atb_transaction::add_databeat

 (  bit [SVT_ATB_MAX_DATA_WIDTH-1:0] databeat  ) 


adds this databeat as data bytes to current data_byte array.

databeat - Data beat that needs to be added to current transaction

  function void
 svt_atb_transaction::add_databeat_array

 (  bit [SVT_ATB_MAX_DATA_WIDTH-1:0] databeat []  ) 


adds array of databeats as data bytes to current data_byte array.

databeat - Array containing set of databeats

  function bit
 svt_atb_transaction::decode_prop_val

 (  string prop_name , bit [1023:0] prop_val , ref string prop_val_string , input svt_pattern_data :: type_enum typ  ) 


Simple utility used to convert 'bit [1023:0]' property value representation into its equivalent string property value representation. Extended to support decoding of enum values.

prop_name - The name of the property being encoded.

prop_val_string - The string describing the value to be encoded.

prop_val - The bit vector encoding of prop_val_string.

typ - Optional field type used to help in the encode effort.

Return values - The enum value corresponding to the desc.


 Superseded functions 
 svt_sequence_item_base :: decode_prop_val 
 svt_sequence_item :: decode_prop_val 

  function svt_pattern
 svt_atb_transaction::do_allocate_pattern

 (   ) 


This method allocates a pattern containing svt_pattern_data instances for all of the primitive data fields in the object. The name is set to the corresponding field name, the value is set to 0.

Return values - An svt_pattern instance containing entries for all of the data fields.


 Superseded functions 
 svt_sequence_item_base :: do_allocate_pattern 
 svt_sequence_item :: do_allocate_pattern 
 Superseding functions 
 svt_atb_master_transaction :: do_allocate_pattern 
 svt_atb_slave_transaction :: do_allocate_pattern 

  function bit
 svt_atb_transaction::do_compare

 (  ovm_object rhs , ovm_comparer comparer  ) 


Compares the object with rhs..

rhs - Object to be compared against.

comparer - TBD


 Superseded functions 
 ovm_object :: do_compare 
 svt_sequence_item_base :: do_compare 
 svt_sequence_item :: do_compare 
 Superseding functions 
 svt_atb_master_transaction :: do_compare 
 svt_atb_slave_transaction :: do_compare 

  function void
 svt_atb_transaction::do_copy

 (  ovm_object rhs  ) 


Extend the copy method to take care of the transaction fields and cleanup the exception xact pointers.

rhs - Source object to be copied.


 Superseded functions 
 ovm_object :: do_copy 
 ovm_transaction :: do_copy 
 svt_sequence_item_base :: do_copy 
 svt_sequence_item :: do_copy 
 Superseding functions 
 svt_atb_master_transaction :: do_copy 
 svt_atb_slave_transaction :: do_copy 

  function bit
 svt_atb_transaction::do_is_valid

 (  bit silent = 1, int kind = RELEVANT  ) 


Does a basic validation of this transaction object

 Superseded functions 
 svt_sequence_item_base :: do_is_valid 
 svt_sequence_item :: do_is_valid 
 Superseding functions 
 svt_atb_master_transaction :: do_is_valid 
 svt_atb_slave_transaction :: do_is_valid 

  function bit
 svt_atb_transaction::encode_prop_val

 (  string prop_name , string prop_val_string , ref bit [1023:0] prop_val , input svt_pattern_data :: type_enum typ  ) 


Simple utility used to convert string property value representation into its equivalent 'bit [1023:0]' property value representation. Extended to support encoding of enum values.

prop_name - The name of the property being encoded.

prop_val_string - The string describing the value to be encoded.

prop_val - The bit vector encoding of prop_val_string.

typ - Optional field type used to help in the encode effort.

Return values - The enum value corresponding to the desc.


 Superseded functions 
 svt_sequence_item_base :: encode_prop_val 
 svt_sequence_item :: encode_prop_val 

  function int
 svt_atb_transaction::get_burst_length

 (   ) 


Gets the number of beats of data to be sent.

  function int
 svt_atb_transaction::get_byte_count

 (   ) 


Returns the total number of bytes transferred in this transaction

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

  function bit [SVT_ATB_MAX_DATA_WIDTH-1:0]
 svt_atb_transaction::get_databeat

 (  int curr_beat = -1  ) 


This method returns complete data-beat based on databus width specified in port-configuration, from data_byte array. While returning data-beat it considers current_data_beat_num to choose which bytes from data_byte array will be packed. However, if this method is called with a non-negative value then it uses that value as current data beat number and chooses data bytes from data_byte accordingly. It places bytes with lowest index to LSB postion of returning databeat.

curr_beat - Specifies beat number for which data need to be returned.

  function string
 svt_atb_transaction::get_mcd_class_name

 (   ) 


Returns the class name for the object used for logging.

 Superseded functions 
 svt_sequence_item_base :: get_mcd_class_name 
 Superseding functions 
 svt_atb_master_transaction :: get_mcd_class_name 
 svt_atb_slave_transaction :: get_mcd_class_name 

  function svt_pa_object_data
 svt_atb_transaction::get_pa_obj_data

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


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

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

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

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

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

Return values - The requested object block description.


 Superseded functions 
 svt_sequence_item_base :: get_pa_obj_data 
 svt_sequence_item :: get_pa_obj_data 
 Superseding functions 
 svt_atb_master_transaction :: get_pa_obj_data 
 svt_atb_slave_transaction :: get_pa_obj_data 

  function bit
 svt_atb_transaction::get_prop_val

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


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

 Superseded functions 
 svt_sequence_item_base :: get_prop_val 
 svt_sequence_item :: get_prop_val 
 Superseding functions 
 svt_atb_master_transaction :: get_prop_val 
 svt_atb_slave_transaction :: get_prop_val 

  function bit
 svt_atb_transaction::is_trigger

 (   ) 


Returns 1 if current Transaction carries Trigger message from Trace Source

  function void
 svt_atb_transaction::new

 (  string name = "svt_atb_transaction", svt_atb_port_configuration port_cfg_handle = null  ) 


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

name - Instance name of the transaction


 Superseding functions 
 svt_atb_master_transaction :: new 
 svt_atb_slave_transaction :: new 

  function void
 svt_atb_transaction::pack_data_to_byte_stream

 (  input bit [SVT_ATB_MAX_DATA_WIDTH-1:0] data_to_pack [], output bit [7:0] packed_data []  ) 


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

data_to_pack - Data to be packed

packed_data - [] Output byte stream with packed data

  function string
 svt_atb_transaction::psdisplay_short

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


Returns a string (with no line feeds) that reports the essential contents of the packet generally necessary to uniquely identify that packet.

prefix - (Optional: default = "") The string given in this argument becomes the first item listed in the value returned. It is intended to be used to identify the transactor (or other source) that requested this string. This argument should be limited to 8 characters or less (to accommodate the fixed column widths in the returned string). If more than 8 characters are supplied, only the first 8 characters are used.

hdr_only - (Optional: default = 0) If this argument is supplied, and is '1', the function returns a 3-line table header string, which indicates which packet data appears in the subsequent columns. If this argument is '1', the prefix argument becomes the column label for the first header column (still subject to the 8 character limit).


 Superseded functions 
 svt_sequence_item :: psdisplay_short 
 Superseding functions 
 svt_atb_master_transaction :: psdisplay_short 

  function int
 svt_atb_transaction::reasonable_constraint_mode

 (  bit on_off  ) 


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

 Superseded functions 
 svt_sequence_item_base :: reasonable_constraint_mode 
 Superseding functions 
 svt_atb_master_transaction :: reasonable_constraint_mode 
 svt_atb_slave_transaction :: reasonable_constraint_mode 

  function void
 svt_atb_transaction::set_cfg

 (  svt_atb_port_configuration cfg  ) 


Sets the configuration property

 Superseding functions 
 svt_atb_master_transaction :: set_cfg 

  function void
 svt_atb_transaction::set_databeat

 (  int curr_beat = -1, bit [SVT_ATB_MAX_DATA_WIDTH-1:0] databeat  ) 


This method returns complete data-beat to corresponding data_byte array locations. It starts populating associated data_byte array locations from lowest indices with LSB bytes of databeat.

curr_beat - Specifies beat number for which data need to be stored.

  function bit
 svt_atb_transaction::set_prop_val

 (  string prop_name , bit [1023:0] prop_val , int array_ix  ) 


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

 Superseded functions 
 svt_sequence_item_base :: set_prop_val 
 svt_sequence_item :: set_prop_val 
 Superseding functions 
 svt_atb_master_transaction :: set_prop_val 
 svt_atb_slave_transaction :: set_prop_val 

  function void
 svt_atb_transaction::unpack_byte_stream_to_data

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


Unpacks the data in data_to_unpack[] into utemp_datanpacked_data. For an INCR burst, the data is directly unpacked into unpacked_data For a WRAP burst, the data is unpacked such that unpacked_data[0] corresponds to the starting address. The assumption here is that data_to_unpack[] has a byte stream whose data starts from the address corresponding to the wrap boundary

data_to_unpack - The data to unpack.

unpacked_data - The unpacked data.


Member Attribute Documentation

 rand int unsigned  attribute
 svt_atb_transaction::burst_length = 1


The variable represents the actual length of the burst. For eg. burst_length = 1 means a burst of length 1.

 int  attribute
 svt_atb_transaction::current_data_beat_num = 0


This is a counter which is incremented for every dataword transfer specified as part of the burst. Useful when user would try to access the transaction class to know its current state. This represents the beat number for which the status is reflected in member xact_status.

 bit  attribute
 svt_atb_transaction::current_flush_ready = 0


This attribute represents the value of afready signal for the current beat. This attribute is populated with the afready signal value at the end of each beat. User after getting the transaction object from the analysis port can identify if the data associated with current beat is flush data or not by checking the value of current_flush_valid and current_flush_ready attribute. If the value of current_flush_valid is 1 and current_flush_ready is 0 then only the data will be flush data. Applicable only when svt_atb_port_configuration :: flush_request_enable is set.

 bit  attribute
 svt_atb_transaction::current_flush_valid = 0


This attribute represents the value of afvalid signal for the current beat. This attribute is populated with the afvalid signal value at the end of each beat. User after getting the transaction object from the analysis port can identify if the data associated with current beat is flush data or not by checking the value of current_flush_valid and current_flush_ready attribute. If the value of current_flush_valid is 1 and current_flush_ready is 0 then only the data will be flush data. Applicable only when svt_atb_port_configuration :: flush_request_enable is set.

 rand bit [7:0]   attribute
 svt_atb_transaction::data_byte[]


Represents all the data bytes that will be placed onto databus as a data-word or byte(s). It is stored in byte-wise format and accessible as a collection of bytes. While placing these data bytes onto databus, Driver will align first byte i.e. data[0] to LSB of dataword.

parameter svt_atb_port_configuration :: data_width.

 int  attribute
 svt_atb_transaction::data_ready_assertion_cycle[]


This variable stores the cycle information when data ready is asserted VIP updates the value of this variable, user does not need to program.

 real  attribute
 svt_atb_transaction::data_ready_assertion_time[]


This variable stores the timestamp information when data valid is asserted VIP updates the value of this variable, user does not need to program.

 rand int unsigned  attribute
 svt_atb_transaction::data_ready_delay[]


If configuration parameter svt_atb_port_configuration :: default_atready is FALSE, this member defines the ATREADY signal delay in number of clock cycles. The reference event for this delay is reference_event_for_data_ready_delay_enum

If configuration parameter svt_atb_port_configuration :: default_atready is TRUE, this member defines the number of clock cycles for which ATREADY signal should be deasserted after each handshake, before pulling it up again to its default value.

Applicable for ACTIVE SLAVE only.

 int  attribute
 svt_atb_transaction::data_valid_assertion_cycle[]


This variable stores the cycle information when data valid is asserted VIP updates the value of this variable, user does not need to program.

 real  attribute
 svt_atb_transaction::data_valid_assertion_time[]


This variable stores the timestamp information when data valid is asserted VIP updates the value of this variable, user does not need to program.

 rand bit [SVT_ATB_MAX_DATA_VALID_BYTES_WIDTH-1:0]  attribute
 svt_atb_transaction::data_valid_bytes[]


Represents all the data valid bytes that will be placed onto databus to indicate how many data bytes from ATDATA bus should be captured. Data bytes that need to be captured should be counted from LSB bytes.

 rand int unsigned  attribute
 svt_atb_transaction::data_valid_delay[]


Defines the delay in number of cycles for ATVALID signal. The reference event for this delay is:
  • For data_valid_delay[0] : reference_event_for_data_valid_delay
  • For remaining indices of data_valid_delay : reference_event_for_dat_valid_delay
Applicable for ACTIVE MASTER only.

 int  attribute
 svt_atb_transaction::flush_ready_assertion_cycle


This variable stores the cycle information when flush ready is asserted VIP updates the value of this variable, user does not need to program.

 real  attribute
 svt_atb_transaction::flush_ready_assertion_time


This variable stores the timestamp information when flush valid is asserted VIP updates the value of this variable, user does not need to program.

 int  attribute
 svt_atb_transaction::flush_valid_assertion_cycle


This variable stores the cycle information when flush valid is asserted VIP updates the value of this variable, user does not need to program.

 real  attribute
 svt_atb_transaction::flush_valid_assertion_time


This variable stores the timestamp information when flush valid is asserted VIP updates the value of this variable, user does not need to program.

 rand bit [SVT_ATB_MAX_ID_WIDTH-1:0]  attribute
 svt_atb_transaction::id = 0


The variable holds the value of ATB Transaction ID associated with each transfer.
parameter svt_atb_port_configuration :: id_width.

 int  attribute
 svt_atb_transaction::LONG_BURST_wt = 400


Weight used to control distribution of longer bursts within transaction generation.

This controls the distribution of the length of the bursts using burst_length field

 int  attribute
 svt_atb_transaction::LONG_DELAY_wt = 1


Weight used to control distribution of long delays within transaction generation.

This controls the distribution of delays for the 'delay' fields (e.g., delays for asserting the ready signals).

 int  attribute
 svt_atb_transaction::object_id = -1


Variable that holds the object_id of this transaction

 string  attribute
 svt_atb_transaction::pa_object_type = ""

 svt_atb_port_configuration  attribute
 svt_atb_transaction::port_cfg


The port configuration corresponding to this transaction

 int  attribute
 svt_atb_transaction::port_id


Represents port ID. Not currently supported.

 rand svt_atb_transaction :: reference_event_for_data_ready_delay_enum  attribute
 svt_atb_transaction::reference_event_data_ready_delay = PREV_DATA_VALID_ATR


Defines the reference events to delay ATREADY signal. Following are the different events under this category:

PREV_DATA_VALID: Reference event for ATREADY is assertion of the ATVALID signal

MANUAL_RREADY: (Not supported currently)

Currently only positive delay to assert ATREADY is supported.

 rand svt_atb_transaction :: reference_event_for_data_valid_delay_enum  attribute
 svt_atb_transaction::reference_event_data_valid_delay = PREV_DATA_HANDSHAKE


Defines the reference events to delay ATVALID signal. Following are the different events under this category:

PREV_DATA_VALID: Reference event for ATVALID is assertion of previous ATVALID signal

PREV_DATA_HANDSHAKE: Reference event for ATVALID is completion of previous ATVALID/ATREADY handshake

For very first transaction in the simulation after reset, driver will use this delay to wait first before asserting first ATVALID. For first ATVALID of a particular transaction driver checks if the delay specified has already been elapsed from the mentioned reference point. If it is greater that or equal to specified delay then it will assert ATVALID immediately otherwise it will wait for rest of the delay before assertint ATVALID.

Currently only positive delay to assert ATVALID is supported.

 int  attribute
 svt_atb_transaction::SHORT_BURST_wt = 500


Weight used to control distribution of short bursts within transaction generation.

This controls the distribution of the length of the bursts using burst_length field

 int  attribute
 svt_atb_transaction::SHORT_DELAY_wt = 500


Weight used to control distribution of short delays within transaction generation.

This controls the distribution of delays for the 'delay' fields (e.g., delays for asserting the ready signals).

 svt_atb_transaction :: status_enum  attribute
 svt_atb_transaction::xact_status = INITIAL


Represents the status of the ATB Transfer. Following are the possible status types:
  • INITIAL : VALID/READY has not been asserted
  • ACTIVE : At least one Data Transfer has Started
  • PARTIAL_ACCEPT : At least one Data Transfer has been completed
  • ACCEPT : All Data Transfer has been completed
  • FLUSH_ACK : Flush Acknowledgement has been asserted / Synchronization Info has been sent
  • ABORTED : Current transaction is aborted

 rand svt_atb_transaction :: xact_type_enum  attribute
 svt_atb_transaction::xact_type = NORMAL_DATA


Represents the transaction type. Following are the possible transaction types:
  • NORMAL_DATA : Represent a transaction sending NORMAL Trace Data to Slave.
  • FLUSH_DATA : Represent a transaction sending FLUSHED Trace Data to Slave.
  • TRIGGER : Represent a transaction sending TRIGGER information to Slave.
  • SYNC_DATA : Represent a transaction sending SYNC information to Slave. This xact_type is only applicable to master transaction.

 int  attribute
 svt_atb_transaction::ZERO_BURST_wt = 100


Weight used to control distribution of burst length to 1 within transaction generation.

This controls the distribution of the length of the bursts using burst_length field

 int  attribute
 svt_atb_transaction::ZERO_DELAY_wt = 100


Weight used to control distribution of zero delay within transaction generation.

This controls the distribution of delays for the 'delay' fields (e.g., delays for asserting the ready signals).


Member Typedef Documentation

 typedef enum  svt_atb_transaction::reference_event_for_data_ready_delay_enum

Enum to represent data ready delay reference event

PREV_DATA_VALID_ATR(SVT_ATB_TRANSACTION_PREV_DATA_VALID_REF)
PREV_DATA_READY_ATR(SVT_ATB_TRANSACTION_PREV_DATA_HANDSHAKE_REF)

 typedef enum  svt_atb_transaction::reference_event_for_data_valid_delay_enum

Enum to represent data valid delay reference event

PREV_DATA_VALID_ATV(SVT_ATB_TRANSACTION_PREV_DATA_VALID_REF)
PREV_DATA_HANDSHAKE(SVT_ATB_TRANSACTION_PREV_DATA_HANDSHAKE_REF)

 typedef enum  svt_atb_transaction::status_enum

Enum to represent transaction completion status

INITIAL()
ACTIVE()
PARTIAL_ACCEPT()
ACCEPT()
FLUSH_ACK(4)
ABORTED()

 typedef enum  svt_atb_transaction::xact_type_enum

Enum to represent transaction type

NORMAL_DATA(SVT_ATB_TRANSACTION_TYPE_NORMAL_DATA)
FLUSH_DATA(SVT_ATB_TRANSACTION_TYPE_FLUSH_DATA)
TRIGGER_DATA(SVT_ATB_TRANSACTION_TYPE_TRIGGER_DATA)
SYNC_DATA(SVT_ATB_TRANSACTION_TYPE_SYNC_DATA)