RM0082
DDR memory controller (MPMC)
Doc ID 018672 Rev 1
123/844
Figure 10.
Weighted round-robin priority group structure
Using relative priority concept, the arbitration is skewed in favor of certain ports following
user setting.
Note:
The relative priority parameters have a minimum acceptable value of 1 to prevent port
lockout: A 0 value triggers an error condition.
If the relative priorities are all programmed to the same value within any priority group, the
arbitration will mimic a version of simple round-robin scheme within that specific priority
group. Instead of incrementing as any request is processed, the simple round-robin counter
will only increment to the next port after the ahbX_priorityY_relative_priority number of
requests are processed.
To each port X owning priority level Y, it will be allocated resources corresponding to the
ratio of that port's relative priority (ahbX_priorityY_relative_priority) to the sum of all
requesting port's relative priority values. If a particular port is not requesting, it will be not
included in the sum calculation, i.e. the arbitration will be proportionately split among the
requesting ports.
For instance, let us consider a system with 4 ports where all requests have priority 0. This
system is described in
.
Programmable Register Settings
Priority Group 0
Priority Group 1
Priority Group 2
Priority Group Z
ahb0_priority0_relative_priority
ahb1_priority0_relative_priority
ahb2_priority0_relative_priority
…
abhX_priority0_relative_priority
Priority
Sort
ing
Priori
ty
Sel
e
ct M
od
ule
Priority 0
Priority 2
Priority 1
Priority Z
Commands
Commands
Commands
Commands
C
omm
an
d
Q
ue
ue
of t
h
e
D
at
aba
hn
C
ore
ahb0_priority1_relative_priority
…
ahbX_priority1_relative_priority
ahb0_priority2_relative_priority
…
ahbX_priority2_relative_priority
ahb0_priorityZ_relative_priority
…
ahbX_priorityZ_relative_priority
Ports
0-X