3.5.2. Transfers Using the waitrequestAllowance Property
The default value of waitrequestAllowance is 0, which corresponds to the behavior described in Typical Read and Write Transfers, where waitrequest assertion stops the current transfer from being issued or accepted.
An Avalon® -MM agent with a waitrequestAllowance greater than 0 would typically assert waitrequest when its internal buffer can only accept waitrequestAllowance more entries before becoming full. Avalon® -MM hosts with a waitrequestAllowance greater than 0 have waitrequestAllowance additional cycles to stop sending transfers, which allows more pipelining in the host logic. The host must deassert the read or write signal when the waitrequestallowance has been spent.
Values of waitrequestAllowance greater than 0 support high-speed design where immediate forms of backpressure may result in a drop in the maximum operating frequency (FMAX) often due to combinatorial logic in the control path. An Avalon® -MM agent must support all possible transfer timings that are legal for its waitrequestAllowance value. For example, a agent with waitrequestAllowance = 2 must be able to accept any of the host transfer waveforms shown in the following examples.