axi4stream_transaction

The axi4stream_transaction class is the base class of AXI4STREAM Verification Component.It inherits all the methods of xil_sequence_item.In this transaction, it has cmd_id,dest,id,data,user,strb,keep,last, signal_set etc which can be accessed by set/get_x APIs.

Functions
new
function new(
input string name"unnamed_axi4stream_transaction",
xil_axi4stream_sigset_t set XIL_AXI4STREAM_SIGSET_READY | XIL_AXI4STREAM_SIGSET_DATA,
xil_axi4stream_uint dw 32,
xil_axi4stream_uint uw 32,
xil_axi4stream_uint bpb 8,
xil_axi4stream_uint idw 2,
xil_axi4stream_uint destw 4
);

Constructor to create a new axi4stream_transaction. ~name~ is the name of the instance,

copy
function void copy(
axi4stream_transaction rhs
);

Copies the contents of the input transaction to the current transaction

my_clone
virtual function axi4stream_transaction my_clone ();

Returns a clones of the contents of the transaction.

get_id
virtual function xil_axi4stream_uint get_id ();

Returns the value of TID of the axi4stream_transaction.

set_id
virtual function void set_id (
input xil_axi4stream_uint new_id
);

Sets the value of TID of the axi4stream_transaction.

get_dest
function xil_axi4stream_uint get_dest ();

Returns the value of TDEST of the axi4stream_transaction.

set_dest
virtual function void set_dest (
input xil_axi4stream_uint new_dest
);

Sets the value of TDEST of the axi4stream_transaction.

get_last
function bit get_last ();

Returns the value of TLAST of the axi4stream_transaction. This transaction will return 1 when the TLAST signal is not enabled.

set_last
virtual function void set_last (
input bit new_last
);

Sets the value of TLAST of the axi4stream_transaction.

get_strb
function void get_strb(
output xil_axi4stream_strb ext_strb []
);

Returns the unpacked version of TSTRB of the axi4stream_transaction.

set_strb
virtual function void set_strb (
input xil_axi4stream_strb updated []
);

Sets the value of TSTRB of the axi4stream_transaction using an unpacked array.

get_strb_beat
function xil_axi4stream_strb_beat get_strb_beat();

Returns the beat type version of TSTRB of the axi4stream_transaction.

set_strb_beat
virtual function void set_strb_beat (
input xil_axi4stream_strb_beat updated
);

Sets the value of TSTRB of the axi4stream_transaction using a beat type.

get_keep
function void get_keep(
output xil_axi4stream_strb ext_keep []
);

Returns the unpacked version of TKEEP of the axi4stream_transaction.

set_keep
virtual function void set_keep (
input xil_axi4stream_strb updated []
);

Sets the value of TKEEP of the axi4stream_transaction using an unpacked array.

get_keep_beat
function xil_axi4stream_strb_beat get_keep_beat();

Returns the beat type version of TKEEP of the <axi4stream_transaction>.It is different from get_keep since get_keep returns unpacked version of TKEEP.

set_keep_beat
virtual function void set_keep_beat (
input xil_axi4stream_strb_beat updated
);

Sets the value of TKEEP of the axi4stream_transaction using a beat type.It is different from set_keep since set_keep using unpacked version of array.

get_data
virtual function void get_data(
output xil_axi4stream_data_byte ext_data []
);

Returns the unpacked version of TDATA of the axi4stream_transaction.

set_data
virtual function void set_data(
input xil_axi4stream_data_byte updated[]
);

Sets the value of TDATA of the axi4stream_transaction using an unpacked array.

get_data_beat
function xil_axi4stream_data_beat get_data_beat();

Returns the beat type version of TDATA of the axi4stream_transaction.

set_data_beat
function void set_data_beat(
input xil_axi4stream_data_beat updated
);

Sets the value of TDATA of the axi4stream_transaction using a beat type.

set_user_beat
virtual function void set_user_beat(
input xil_axi4stream_user_beat updated
);

Sets the value of TUSER of the axi4stream_transaction using a beat type.

get_user_beat
virtual function xil_axi4stream_user_beat get_user_beat();

Returns the beat type version of TUSER of the axi4stream_transaction.

get_signal_set
virtual function xil_axi4stream_sigset_t get_signal_set();

Returns the current settings of the interface.

set_signal_set
virtual function void set_signal_set(
input xil_axi4stream_sigset_t updated
);

Sets the value of signal set. This value MUST match the interface properties.

get_data_width
virtual function xil_axi4stream_uint get_data_width();

Returns the DATA width of the axi4stream_transaction.

resize_payload_arrays
virtual function void resize_payload_arrays();

Creates/Adjusts the different internal data structures to match correct data,strb.keep and user size when they are available.

set_data_width
virtual function void set_data_width(
input xil_axi4stream_uint updated
);

Sets the value of DATA width for the axi4stream_transaction.

get_dest_width
virtual function xil_axi4stream_uint get_dest_width();

Returns the DEST width of the axi4stream_transaction.

set_dest_width
virtual function void set_dest_width(
input xil_axi4stream_uint updated
);

Sets the value of DEST width for the axi4stream_transaction.

get_id_width
virtual function xil_axi4stream_uint get_id_width();

Returns the ID width of the axi4stream_transaction.

set_id_width
virtual function void set_id_width(
input xil_axi4stream_uint updated
);

Sets the value of ID width for the axi4stream_transaction.

get_user_width
virtual function xil_axi4stream_uint get_user_width();

Returns the USER width of the axi4stream_transaction.

set_user_width
virtual function void set_user_width(
input xil_axi4stream_uint updated
);

Sets the value of USER width for the axi4stream_transaction.

set_user_bits_per_byte
virtual function void set_user_bits_per_byte(
input xil_axi4stream_uint updated
);

Sets the value of the user bits per byte for the axi4stream_transaction.

get_user_bits_per_byte
virtual function xil_axi4stream_uint get_user_bits_per_byte();

Returns the value of the user bits per byte of the axi4stream_transaction.

set_driver_return_item
virtual function void set_driver_return_item ();

Sets the driver_return_item property to XIL_AXI4STREAM_AT_ACCEPT_RETURN. driver_return_item can be XIL_AXI4STREAM_NO_RETURN,XIL_AXI4STREAM_AT_ASSERT_RETURN,XIL_AXI4STREAM_AT_ACCEPT_RETURN. please refer xil_axi4stream_driver_return_policy_t for more details.

set_driver_return_item_policy
virtual function void set_driver_return_item_policy (
input xil_axi4stream_driver_return_policy_t set
);

Sets the driver_return_item property of the axi4stream_transaction.  Driver return item policy can be XIL_AXI4STREAM_NO_RETURN,XIL_AXI4STREAM_AT_ASSERT_RETURN, XIL_AXI4STREAM_AT_ACCEPT_RETURN. please refer xil_axi4stream_driver_return_policy_t for more details.

get_driver_return_item_policy
virtual function xil_axi4stream_driver_return_policy_t get_driver_return_item_policy ();

Returns the value of driver_return_item property of the axi4stream_transaction.  Driver return item policy can be XIL_AXI4STREAM_NO_RETURN,XIL_AXI4STREAM_AT_ASSERT_RETURN, XIL_AXI4STREAM_AT_ACCEPT_RETURN. please refer xil_axi4stream_driver_return_policy_t for more details.

clr_driver_return_item
virtual function void clr_driver_return_item ();

Set driver return item policy to be XIL_AXI4STREAM_NO_RETURN. Driver return item policy can be XIL_AXI4STREAM_NO_RETURN,XIL_AXI4STREAM_AT_ASSERT_RETURN,XIL_AXI4STREAM_AT_ACCEPT_RETURN. please refer xil_axi4stream_driver_return_policy_t for more details.

get_cmd_id
virtual function xil_axi4stream_uint get_cmd_id();

Returns cmd_id of the axi4stream_transaction. This id is the symbol of axi4stream_transaction which is useful for debug

set_xfer_alignment
virtual function void set_xfer_alignment (
input xil_axi4stream_xfer_alignment_t set
);

Sets xfer_alignment of the <axi4stream_transaction>.axi4stream transaction has four types of transfer alignment XIL_AXI4STREAM_XFER_ALL_SET, XIL_AXI4STREAM_XFER_ALL_NULLBYTE,XIL_AXI4STREAM_XFER_ALL_POSBYTE, XIL_AXI4STREAM_XFER_RANDOM. please refer xil_axi4stream_xfer_alignment_t for more details.

get_xfer_alignment
virtual function xil_axi4stream_xfer_alignment_t get_xfer_alignment ();

Returns xfer_alignment of the axi4stream_transaction. axi4stream transaction has four types of transfer alignment XIL_AXI4STREAM_XFER_ALL_SET, XIL_AXI4STREAM_XFER_ALL_NULLBYTE,XIL_AXI4STREAM_XFER_ALL_POSBYTE, XIL_AXI4STREAM_XFER_RANDOM. please refer xil_axi4stream_xfer_alignment_t for more details.

convert2string
virtual function string convert2string();

Returns a form of string for axi4stream transaction which includes SIGNAL_SET, DEST, ID, USER, LAST,PAYLOAD(data, strb, keep) user bits.

do_compare
virtual function bit do_compare (
xil_object rhs 
);

Compare current transaction with rhs, it includes comparison of signal_set and all the information of a transaction which are keep,strb,data, user,last,id,dest etc .

get_delay
virtual function xil_axi4stream_uint get_delay();

Returns delay of the axi4stream_transaction. This delay is from when the driver get the transaction item till it starts to drive data onto the data bus.

set_delay
virtual function void set_delay(
input xil_axi4stream_uint updated
);

Sets delay of the <axi4stream_transaction>.This delay is from when the driver get the transaction item till it starts to drive data onto the data bus.

get_delay_policy
virtual function xil_axi4stream_xfer_delay_insertion_policy_t get_delay_policy();

Returns delay_policy of the axi4stream_transaction

set_delay_policy
virtual function void set_delay_policy(
input xil_axi4stream_xfer_delay_insertion_policy_t updated
);

This function is to set delay_policy of the axi4stream_transaction. Delay policy can be XIL_AXI4STREAM_DELAY_INSERTION_ALWAYS or XIL_AXI4STREAM_DELAY_INSERTION_FROM_IDLE.  Please refer xil_axi4stream_xfer_delay_insertion_policy_t for delay policy explanation.

get_delay_range
function void get_delay_range(
output xil_axi4stream_uint min,
output xil_axi4stream_uint max
);

Returns min_delay and max_delay of the axi4stream_transaction

set_delay_range
virtual function void set_delay_range(
input xil_axi4stream_uint min,
input xil_axi4stream_uint max
);

There is a delay between the driver get the transaction and it starts to drive the data onto data bus.  This delay is randomized in the range of min_delay and max_delay. set_delay_range is to set min_delay and max_delay of the axi4stream_transaction which late is used to generate delay when randomization of axi4stream_transaction is being called.

set_strb_array_all_disabled
virtual function void set_strb_array_all_disabled();

When HAS_STRB is on, this function sets all strobe bits to 0. Else, it does nothing.

set_strb_array_all_enabled
virtual function void set_strb_array_all_enabled();

When HAS_STRB is on, this function sets all strobe bits to 1. Else, it does nothing.

set_keep_array_all_disabled
virtual function void set_keep_array_all_disabled();

When HAS_KEEP is on, it sets all keep bits to 0. Else, it does nothing.

set_keep_array_all_enabled
virtual function void set_keep_array_all_enabled();

When HAS_KEEP is on, it sets all keep bits to 1 . Else, it does nothing.

post_randomize
function void post_randomize();

Sets final value of strobe of the axi4stream_transaction