
139
11028E–ATARM–22-Apr-13
SAM9G46
transfer as long as the slave is free from any other master access, but does not provide any ben-
efit as soon as the slave is continuously accessed by more than one master, since arbitration is
pipelined and then has no negative effect on the slave bandwidth or access latency.
This bus granting mechanism sets a different default master for every slave.
At the end of the current access, if no other request is pending, the slave remains connected to
its associated default master. A slave can be associated with three kinds of default masters: no
default master, last access master and fixed default master.
To change from one kind of default master to another, the Bus Matrix user interface provides the
Slave Configuration Registers, one for each slave, that set a default master for each slave. The
Slave Configuration Register contains two fields: DEFMSTR_TYPE and FIXED_DEFMSTR. The
2-bit DEFMSTR_TYPE field selects the default master type (no default, last access master, fixed
default master), whereas the 4-bit FIXED_DEFMSTR field selects a fixed default master pro-
19.4.1
No Default Master
After the end of the current access, if no other request is pending, the slave is disconnected from
all masters. No Default Master suits low-power mode.
This configuration incurs one latency clock cycle for the first access of a burst after bus Idle.
Arbitration without default master may be used for masters that perform significant bursts or sev-
eral transfers with no Idle in between, or if the slave bus bandwidth is widely used by one or
more masters.
This configuration provides no benefit on access latency or bandwidth when reaching maximum
slave bus throughput whatever is the number of requesting masters.
19.4.2
Last Access Master
After the end of the current access, if no other request is pending, the slave remains connected
to the last master that performed an access request.
This allows the Bus Matrix to remove the one latency cycle for the last master that accessed the
slave. Other non privileged masters still get one latency clock cycle if they want to access the
same slave. This technique is useful for masters that mainly perform single accesses or short
bursts with some Idle cycles in between.
This configuration provides no benefit on access latency or bandwidth when reaching maximum
slave bus throughput whatever is the number of requesting masters.
19.4.3
Fixed Default Master
After the end of the current access, if no other request is pending, the slave connects to its fixed
default master. Unlike last access master, the fixed master does not change unless the user
modifies it by a software action (field FIXED_DEFMSTR of the related MATRIX_SCFG).
This allows the Bus Matrix arbiters to remove the one latency clock cycle for the fixed default
master of the slave. Every request attempted by this fixed default master will not cause any arbi-
tration latency whereas other non privileged masters will still get one latency cycle. This
technique is useful for a master that mainly perform single accesses or short bursts with some
Idle cycles in between.