9. Is it specified that HPROT, HSIZE and HWRITE remain constant throughout a burst?
Yes, the control signals must remain constant throughout the duration of a burst.
10. What default state should be used for the HREADY and HRESP outputs from a slave?
It is recommended that the default value for HREADY is high and the default value for HRESP is OKAY.
This combination ensures that the slave will respond correctly to IDLE transfers to the slave, even if the
slave is in some form of power saving mode.
11. Is HREADY an input or an output from slaves?
An AHB slave must have the HREADY signal as both an input and an output.
HREADY is required as an output from a slave so that the slave can extend the data phase of a transfer.
HREADY is also required as an input so that the slave can determine when the previously selected slave
has completed its final transfer and the first data phase transfer for this slave is about to commence.
Each AHB Slave should have an HREADY output signal (conventionally named HREADYOUT) which is
connected to the Slave-to-Master Multiplexer. The output of this multiplexer is the global HREADY signal
which is routed to all masters on the AHB and is also fed back to all slaves as the HREADY input.
12. How many masters can there be in an AHB system?
The AHB specification caters for up to 16 masters. However, allowing for a dummy bus master means the
maximum number of real bus masters is actually 15. By convention bus master number 0 is allocated to
the dummy bus master.
13. Can a master change the address/control signals during a waited transfer?
Yes. If the address/control signals are indicating an IDLE transfer then the master can change to a real
transfer (NONSEQ) when HREADY is low.
However, if a master is indicating a real transfer (NONSEQ or SEQ) then it cannot cancel this during a
waited transfer unless it receives a SPLIT, RETRY or ERROR response.
14. When a master rebuilds a burst which has been terminated early are there any limitations on how
it rebuilds the burst?
The only limitation is that the master uses legal burst combinations to rebuild the burst. For example, if a
master was performing an 8 beat burst,but had only completed 3 transfers before losing control of the
bus, then the remaining 5 transfers could be performed either by using a 1 beat SINGLE burst followed
by a 4 beat INCR4 burst, or it could be performed using a 5 beat undefined length INCR burst.
For simplicity it is recommended that masters use INCR bursts to rebuild the remaining transfers.
15. What is the recommended default value for HPROT?
Many bus masters will not be able to generate accurate protection information and for these bus
masters it is recommended that the HPROT encoding shows, Non-cacheable, Non-bufferable, Privileged,
Data Accesses which corresponds to HPROT[3:0] = 4'b0011.
16. Do all slaves have to support the BUSY transfer type?
Yes. All slaves must support the BUSY transfer type to ensure they are compatible with any bus master.
17. What system support is required if a slave can be powered down or have its clock stopped?
If a slave access is attempted while that slave is in a power down state or has had its clock stopped, you
must ensure that an access will cause the power/clock to be restored, or else configure the AHB decoder
up to redirect any such accesses to the dummy slave so that the system does not hang forever when an
access to the device is made when it is disabled.
Redirecting the access in this way will ensure that random "IDLE" addresses are treated with the HREADY
high and HRESP=OKAY default response, but real accesses (NONSEQ or SEQ) will be detected with an
ERROR response.
18. When can Early Burst Termination occur
Bursts can be early terminated either as a result of the Arbiter removing the HGRANT to a master part
way through a burst, or after a slave returns a non-OKAY response to any beat of a burst. Note however
that a master cannot decide to terminate a defined length burst unless prompted to do so by the Arbiter
or Slave responses.
All AHB Masters, Slaves and Arbiters must be designed to support Early Burst Termination.