Reply To: Optional ports on AXI stream transmitter and receiver cannot be left unused

Why OSVVM™? Forums OSVVM Optional ports on AXI stream transmitter and receiver cannot be left unused Reply To: Optional ports on AXI stream transmitter and receiver cannot be left unused

#2509
Hassan
Member

The USER can be assigned as follows:
SetAxiStreamOptions(StreamTxRec, DEFAULT_USER, User);

Or, within the send and sendburst commands:
Send(StreamTxRec, X”AAAA_AAAA”, ID1 & DEST1 & USER1 & ‘0’, TRUE) ;
SendBurst(StreamTxRec, 8, ID2 & DEST2 & USER2 & ‘1’) ;

The check can be done like this:
Check(StreamRxRec, X”BBBB_BBBB”, ID1 & DEST1 & USER1 & ‘0’) ;
CheckBurst(StreamRxRec, 8, ID1 & DEST1 & USER1 & ‘1’) ;

Now there are basically two questions here.

1. Why do we need SetAxiStreamOptions when we can assign the value of ID & DEST & USER in the Send* commands?
2. What are the ‘0’ and ‘1’ being concatenated after USER? I assume that this is TLAST. It is not clear why it is being appended as a bit rather than via a variable.
3. How is GetAxiStreamOptions supposed to be used when checking for the value of USER?