PNX1300/01/02/11 Data Book
Philips Semiconductors
20-6
PRELIMINARY SPECIFICATION
Where
As an example, if CPU
is 3, L2
weight
is 2, VO
weight
is 3 and L3
weight
is 7, then
D
2
is ceil[(3 + 2) / 2] = 3,
D
VO
is ceil[(3 + 7) / 3] * 3 +1 = 13.
If CPU/SDRAM ratio is 5/4 (for example memory fre-
quency is 80 MHz and CPU frequency is 100 MHz), re-
fresh interval K
is 1220 cycles, and R
x
is 2, then the
maximum latency for VO is:
L
= 13 * 20 + 10 + ceil[13 * 20 / 1220] * 19 +
ceil(16 * 2 / (5 / 4)] = 315 SDRAM cycles
L
VO
= L
VO,sc
* 12.5 = 3937.5 ns
Note
: Average latency is normally much lower than worst
case latency because on rare occasions many units will
issue requests at exactly the same time (this is assumed
when evaluating the maximum latency).
Note
: All real-time units have a special exception notifi-
cation flag that is raised if an overflow or underflow oc-
curs while operating.
Note
: To compute the latency L
when a unit is not en-
abled, its weight has to be set to
‘
0
’
in the D
{2,3,4,5,6}
equations and in D
{AI,AO,VLD}
for AI, AO or VLD.
These equations are not accurate for all the weights, but
give an upper bound of the worst case (which is usually
too pessimistic).
A much more accurate number could be found by simu-
lating the arbiter, e.g. if the settings are: CPU
weight
=1,
L2
weight
=2, VO
weight
=1 and L3
weight
=1, then
D
VO
= ceil[(1 + 1) / 1] * ceil[(1 + 2) / 2]
giving 4 requests. But actually the worst case grant re-
quests order is: CPU, L3, VO - resulting in 3 requests
only.
20.5.2
Bandwidth Analysis
In the following, ceil(x) means the least integral value
greater than or equal to x.
Minimum
allocated bandwidth, B
x
for a unit x, by the ar-
biter is defined as follows:
B
x
= (M
cycles
- K
k
) * S / [T * E
x
+ (16 * R
x
/ C)]
Where:
M
is the total amount of SDRAM cycles available in
a period P in which the bandwidth is computed. For ex-
ample, if the period is 1 second and SDRAM runs at 80
MHz then M
cycles
is 80,000,000.
K
is the amount of SDRAM cycles used by the refresh
during the same period P.
If P is in seconds it could be expressed as:
K
k
= ceil(4096 * P / .064) * K
For example, if P is 1 second then K
k
is
ceil(4096 * 1 / .064) * 19 = 1216000 SDRAM cycles.
S is the size of the transaction on the bus.
For PNX1300, S is equal to 64 (bytes).
E
is the ratio of requests available for a unit x according
to the arbiter settings.
It means the unit x will get 1 / E
out of the total requests.
E
x
is derived from the arbiter settings as follows:
Where:
D
2
ceil
CPU
------------------------------------------------------
L
2
+
L
2
weight
+
L
3
weight
+
L
4
weight
+
L
5
weight
=
D
3
ceil
---------------------------------3
weight
D
2
×
=
D
4
ceil
-----------------------------------4
weight
D
3
×
=
D
5
ceil
-----------------------------5
weight
D
4
×
=
D
6
ceil
PCI
---------------------------------------------------
L
6
+
L
6
weight
D
5
×
=
E
CPU
CPU
------------------------------------------------------
L
2
+
weight
L
3
+
VO
weight
ICP
ICP
weight
VI
+
VI
weight
PCI
PCI
weight
1
1
+
+
2
=
=
E
VO
-------------------------------------------------
E
2
×
=
E
ICP
weight
-------------------------+
E
3
×
=
E
VI
weight
-----------------------------5
E
4
×
=
E
PCI
weight
-------------------------+
E
5
×
=
E
VLD
0
1
1
+
2
+
+
E
6
×
E
AI
2
1
1
0
1
1
+
+
+
1
+
+
E
6
×
=
E
AO
2
1
1
0
1
1
+
+
+
1
+
+
E
6
×
=
E
DVDD
2
1
1
0
1
1
+
+
+
1
+
+
E
6
×
=
E
SPDO
2
1
1
0
1
1
+
+
+
1
+
+
E
6
×
=
E
2
CPU
------------------------------------------------------
L
2
+
L
2
weight
+
L
3
weight
=
E
3
---------------------------------3
weight
E
2
×
=
E
4
ICP
---------------------------------------------------
L
4
+
L
4
weight
E
3
×
=