Currently, the AXIS Receiver waits for a single delta when the user calls WaitForTransaction(rx_transrec)
|
when WAIT_FOR_TRANSACTION => |
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.
Currently, the AXIS Receiver waits for a single delta when the user calls
WaitForTransaction(rx_transrec)AXI4/AxiStream/src/AxiStreamReceiver.vhd
Line 224 in 2233256
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?
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.