135
SAM9G45 [DATASHEET]
6438K–ATARM–12-Feb-13
19.5.1.1
Undefined Length Burst Arbitration
In order to optimize AHB burst lengths and arbitration, it may be interesting to set a maximum for undefined length
bursts (INCR). The Bus Matrix provides specific logic in order to re-arbitrate before the end of the INCR transfer. A
predicted end of burst is used as a defined length burst transfer and can be selected from among the following
Undefined Length Burst Type (ULBT) possibilities:
1.
Unlimited: No predicted end of burst is generated and therefore INCR burst transfer will not be broken by
this way, but will be able to complete unless broken at the Slot Cycle Limit. This is normally the default and
should be let as is in order to be able to allow full 1 Kilobyte AHB intra-boundary 256-beat word bursts per-
formed by some ATMEL AHB masters.
2.
1-beat bursts: Predicted end of burst is generated at each single transfer inside the INCR transfer.
3.
4-beat bursts: Predicted end of burst is generated at the end of each 4-beat boundary inside INCR
transfer.
4.
8-beat bursts: Predicted end of burst is generated at the end of each 8-beat boundary inside INCR
transfer.
5.
16-beat bursts: Predicted end of burst is generated at the end of each 16-beat boundary inside INCR
transfer.
6.
32-beat bursts: Predicted end of burst is generated at the end of each 32-beat boundary inside INCR
transfer.
7.
64-beat bursts: Predicted end of burst is generated at the end of each 64-beat boundary inside INCR
transfer.
8.
128-beat bursts: Predicted end of burst is generated at the end of each 128-beat boundary inside INCR
transfer.
Use of undefined length 16-beat bursts or less is discouraged since this generally decreases significantly overall
bus bandwidth due to arbitration and slave latencies at each first access of a burst.
If the master does not permanently and continuously request the same slave or has an intrinsically limited average
throughput, the ULBT should be let at its default unlimited value, knowing that the AHB specification natively limits
all word bursts to 256 beats and double-word bursts to 128 beats because of its 1 Kilobyte address boundaries.
Unless duly needed the ULBT should be let to its default 0 value for power saving.
This selection can be done through the field ULBT of the Master Configuration Registers (MATRIX_MCFG).
19.5.1.2
Slot Cycle Limit Arbitration
The Bus Matrix contains specific logic to break long accesses, such as back to back undefined length bursts or
very long bursts on a very slow slave (e.g., an external low speed memory). At each arbitration time a counter is
loaded with the value previously written in the SLOT_CYCLE field of the related Slave Configuration Register
(MATRIX_SCFG) and decreased at each clock cycle. When the counter elapses, the arbiter has the ability to re-
arbitrate at the end of the current AHB bus access cycle.
Unless some master has a very tight access latency constraint which could lead to data overflow or underflow due
to a badly undersized internal fifo with respect to its throughput, the Slot Cycle Limit should be disabled
(SLOT_CYCLE = 0) or let to its default maximum value in order not to inefficiently break long bursts performed by
some ATMEL masters.
However, the Slot Cycle Limit should not be disabled in the very particular case of a master capable of accessing
the slave by performing back to back undefined length bursts shorter than the number of ULBT beats with no Idle
cycle in between, since in this case the arbitration could be frozen all along the bursts sequence.
In most cases this feature is not needed and should be disabled for power saving.
Warning: This feature cannot prevent any slave from locking its access indefinitely.