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.
function new( |
| ); |
Constructor to create a new axi4stream_transaction. ~name~ is the name of the instance.
function void copy( |
| ); |
Copies the contents of the input transaction to the current transaction
Returns a clones of the contents of the transaction.
virtual function void set_id ( |
| ); |
Sets the value of TID of the transaction.
virtual function void set_dest ( |
| ); |
Sets the value of TDEST of the transaction.
Returns the value of TLAST of the transaction. This transaction will return 1 when the TLAST signal is not enabled.
virtual function void set_last ( |
| ); |
Sets the value of TLAST of the transaction.
function void get_strb( |
| ); |
Returns the unpacked version of TSTRB of the transaction.
virtual function void set_strb ( |
| ); |
Sets the value of TSTRB of the transaction using an unpacked array.
Returns the beat type version of TSTRB of the transaction.
virtual function void set_strb_beat ( |
| ); |
Sets the value of TSTRB of the transaction using a beat type.
function void get_keep( |
| ); |
Returns the unpacked version of TKEEP of the transaction.
virtual function void set_keep ( |
| ); |
Sets the value of TKEEP of the transaction using an unpacked array.
Returns the beat type version of TKEEP of the transaction. It is different from get_keep since get_keep returns unpacked version of TKEEP.
virtual function void set_keep_beat ( |
| ); |
Sets the value of TKEEP of the transaction using a beat type. It is different from set_keep since set_keep using unpacked version of array.
virtual function void get_data( |
| ); |
Returns the unpacked version of TDATA of the transaction.
virtual function void set_data( |
| ); |
Sets the value of TDATA of the transaction using an unpacked array.
Returns the beat type version of TDATA of the transaction.
function void set_data_beat( |
| ); |
Sets the value of TDATA of the transaction using a beat type.
virtual function void set_user_beat( |
| ); |
Sets the value of TUSER of the transaction using a beat type.
Returns the beat type version of TUSER of the transaction.
Returns the current settings of the interface.
virtual function void set_signal_set( |
| ); |
Sets the value of signal set. This value MUST match the interface properties.
Returns the DATA width of the transaction.
Creates/Adjusts the different internal data structures.
virtual function void set_data_width( |
| ); |
Sets the value of DATA width for the transaction.
Returns the DEST width of the transaction.
virtual function void set_dest_width( |
| ); |
Sets the value of DEST width for the transaction.
Returns the ID width of the transaction.
virtual function void set_id_width( |
| ); |
Sets the value of ID width for the transaction.
Returns the USER width of the transaction.
virtual function void set_user_width( |
| ); |
Sets the value of USER width for the transaction.
virtual function void set_user_bits_per_byte( |
| ); |
Sets the value of the user bits per byte for the transaction.
Returns the value of the user bits per byte of the transaction.
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.
virtual function void set_driver_return_item_policy ( |
| ); |
Sets the driver_return_item property of the 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.
Returns the value of driver_return_item property of the 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.
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.
virtual function void set_xfer_alignment ( |
| ); |
Sets xfer_alignment of the 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.
Returns xfer_alignment of the 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.
Returns a form of string for axi4stream transaction which includes SIGNAL_SET, DEST, ID, USER, LAST,PAYLOAD(data, strb, keep) user bits.
virtual function bit do_compare ( |
| ); |
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 .
Returns delay of the transaction This delay is from when the driver get the transaction item till it starts to drive data onto the data bus.
virtual function void set_delay( |
| ); |
Sets delay of the transaction This delay is from when the driver get the transaction item till it starts to drive data onto the data bus.
Returns delay_policy of the transaction
virtual function void set_delay_policy( |
| ); |
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.
function void get_delay_range( |
| ); |
Returns min_delay and max_delay of the transaction
virtual function void set_delay_range( |
| ); |
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.
Sets all strobe bits to 0 when HAS_STRB is on
Sets all strobe bits to 1 when HAS_STRB is on
Sets all keep bits to 0 when HAS_KEEP is on
Sets all keep bits to 1 when HAS_KEEP is on
Sets final value of strobe of the transaction