AHB Bus Matrix
UG0331 User Guide Revision 15.0
221
Figure 109 •
WRR and Fixed Priority Slave Arbitration Scheme
WRR with fixed priority arbitration allows more efficient usage of slave bandwidth in cases where the
slaves have a penalty when transitioning from one master to another. For example, in situations where
both the Ethernet MAC and Cortex-M3 processor ICode/DCode interfaces are performing write and read
AHB bursts to eSRAM, this scheme groups together a maximum of N Ethernet MAC accesses followed
by a maximum of M Cortex-M3 processor accesses (even if AHB bursts of greater than N or M transfers
are in progress from the master’s point of view). Due to the fact that the eSRAM AHB controller inserts an
idle cycle every time there is a write followed by a read, enabling WRR can increase the effective eSRAM
bandwidth during this time from 66% to 94% of the theoretical maximum. If a sequence of locked
transfers is in progress, the locked master remains selected by the slave arbiter until the lock sequence
is finished, regardless of the number of transfers. For the case described, the values of N and M are
SW_WEIGHT_MAC and SW_WEIGHT_HPDMA in the MASTER_WEIGHT0_CR control register.
Arbitration for Non-eSRAM Slaves
In non-eSRAM slaves, any WRR master getting access to the slave can perform uninterrupted
transactions equal to its programmed weight before re-arbitrating for the slave. Thus, for example, if
FIC_1 is programmed with a weight of 8, it can do 8 continuous transactions with the slave even if the
HMASTLOCK
Dcode
M1
System
Controller
M9
S-Bus
M2
Icode
M0
USB
M8
HPDMA
M3
MAC
M6
FIC_1
M5
PDMA
M7
FIC_0
M4
Fixed Priority
Masters
Round Robin
Masters
HMASTLOCK
HMASTLOCK
HMASTLOCK
PrgWeight
PrgWeight
PrgWeight
PrgWeight
PrgWeight
PrgWeight