AXI4
AXI4 copied to clipboard
WaitForTransaction on AXIS Receiver returns after 1 delta - either add a warning or wait until an actual transaction occurs.
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.