Avalon® Interface Specifications

ID 683091
Date 1/24/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

3.5.2. Transfers Using the waitrequestAllowance Property

The waitrequestAllowance property specifies the number of transfers an Avalon® -MM host can issue or an Avalon® -MM agent must accept after the waitrequest signal is asserted. waitrequestAllowance is available starting with the Intel® Quartus® Prime 17.1 software release.

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.