AXI4 icon indicating copy to clipboard operation
AXI4 copied to clipboard

WaitForTransaction on AXIS Receiver returns after 1 delta - either add a warning or wait until an actual transaction occurs.

Open SkydiverTricky opened this issue 9 months ago • 7 comments

Currently, the AXIS Receiver waits for a single delta when the user calls WaitForTransaction(rx_transrec)

https://github.com/OSVVM/AXI4/blob/2233256b2b9d8816ccc67ae36e847de38f42c054/AxiStream/src/AxiStreamReceiver.vhd#L224

This returns after a single delta with no warnings etc that this is what is happening.

For me, it would make more sense if it returned after an AXI transaction has occured. Any reason you cannot simply do the following?

when WAIT_FOR_TRANSACTION =>
          
          wait until rising_edge(clk) and TValid = '1' and TReady = '1';
          wait for 0 ns;                -- possibly wait the extra delta to allow internal queues to get filled

My use case here: I am using an external Queue of data for checking because OSVVM does not currently support CheckAsync functionality. I was hoping I could simply wait until a transaction had occured in the AXIS interface to synchronise to the VC.

SkydiverTricky avatar Jan 15 '25 10:01 SkydiverTricky