IDT Bus Arbitration
Theory of Operation
79RC32438 User Reference Manual
5 - 6
November 4, 2002
Notes
Example IPBus Arbiter Configurations
To illustrate the operation of the IPBus arbiter, this section examines several IPBus arbiter configura-
tions. For simplicity, only three priorities and four bus masters are considered. The examples can be easily
extended to all priorities and bus masters.
Strict Priority Arbitration
Figure 5.3 shows an IPBus arbiter configuration that implements strict priority. In this example, masters
with priority three are given preference over masters with lower priorities. Priority two is given preference
over priority one. Since the PTC and MTC values for priority three are one, a new arbitration epoch begins
each time the bus is granted to a priority three master.
Figure 5.4 illustrates the operation of the IPBus arbiter with the configuration in Figure 5.3. Each rect-
angle represents one transaction or 64 clock cycles. The value in a rectangle shows the current value of
CPTC or CMTC. The bottom row shows the current bus master. A rectangle is shaded if the corresponding
bus master is requesting ownership of the bus.
Figure 5.3 IPBus Arbiter Configuration for Strict Priority Arbitration
Figure 5.4 Example Operation of IPBus Arbiter with Strict Priority Arbitration
Fair Arbitration
Figure 5.5 shows an IPBus arbiter configuration that implements fair arbitration. In this configuration the
MF bit in the IPAP3C register must be set. This maintains fairness across arbitration epochs.
1
Since all
masters have the same priority and a zero MTC, access to the bus is granted in a fair manner using the fair-
ness bit method described in Figure 5.2.
Priority 3
PTC
3
=1
MTC
1
=1
MTC
2
=1
Priority 2
PTC
2
=1
MTC
3
=1
Priority 1
PTC
1
=1
MTC
4
=1
1.
If the MF bit were not set, then the fairness bit would be cleared each clock cycle since PTC is equal to one. This
would result in the bus being granted unfairly to the bus master with the lowest index.
CMTC
1
=1
CMTC
2
=1
CMTC
3
=1
CMTC
4
=1
CPTC
1
=1
CPTC
2
=1
CPTC
3
=1
Bus Ownership
Idle
1
1
1
1
1
1
1
Master 1
1
1
1
1
1
1
1
Master 2
1
1
1
1
1
1
1
Master 3
1
1
1
1
1
1
1
Master 1
1
1
1
1
1
1
1
Master 4
1
1
1
1
1
1
1
Idle
1
1
1
1
1
1
1
Master 1
1
1
1
1
1
1
1
Master 2
1
1
1
1
1
1
1
Master 1
1
1
1
1
1
1
1
Master 2
1
1
1
1
1
1
1
Master 2
1
1
1
1
1
1
1
MF=0