Avalon® Interface Specifications

ID 683091
Date 9/26/2022
Public
Document Table of Contents

5.9.2. Data Transfers Using readyLatency

If the source or the sink do not specify a value for readyAllowance then readyAllowance= readyLatency. Designs that use source and sink do not require the addition of readyAllowance unless you want the source or the sink to take advantage of this feature.
Figure 28.  Transfer with Backpressure, readyLatency=0The following figure illustrates these events:
  1. The source provides data and asserts valid on cycle 1, even though the sink is not ready.
  2. The source waits until cycle 2, when the sink does assert ready, before moving onto the next data cycle.
  3. In cycle 3, the source drives data on the same cycle and the sink is ready to receive data. The transfer occurs immediately.
  4. In cycle 4, the sink asserts ready, but the source does not drive valid data.
Figure 29. Transfer with Backpressure, readyLatency=1The following figures show data transfers with readyLatency=1 and readyLatency=2, respectively. In both these cases, ready is asserted before the ready cycle, and the source responds 1 or 2 cycles later by providing data and asserting valid. When readyLatency is not 0, the source must deassert valid on non-ready cycles.
Figure 30. Transfer with Backpressure, readyLatency=2