5.0 Arbitrating for Futurebus
a
(Continued)
! MGRQ* will be given a higher priority and will be acted
upon during this arbitration cycle. ! BRQ* will wait to arbitrate during the next arbitration cycle.
5. A Bus Request (! BRQ*) will cause APO to be asserted
(if it is doing Single Pass or the First Pass of Two-Pass
Arbitration). This will cause the Futurebus
a
AP* to be
asserted and will indicate to the other modules that an
arbitration competition is beginning.
Note that the user will violate the Futurebus
a
specification
if he leaves the local modules resources locked (! LKD*)
and has IBA enabled in the arbitration controller. This incident is dangerous because it could lead to another module
winning IBA with the local modules resources being locked.
If the other module tried to access the local modules resources it would result in deadlock.
5.5.1.2 Phase 0, Idle Bus Arbitration Events That Cause
a Transition to Phase 1
If IBA is desired and the arbitration cycle is in Phase 0
(! APO, ! AQI, ARO), the parallel bus is idle (AS*,AK*,!AI*),
and DS* has been released for a minimum period of time
(Futurebus
a
spec.) the Masters external logic may assert !
DS*. This will alert any module capable of doing IBA that
IBA has been enabled.
5.5.1.3 Phase 0, Parking
The aim of Parking is to give the Futurebus
a
bus master
quick access to the bus to perform other transfers when no
one else desires to use it. If Parking is enabled (! IBAÐPK*)
and is successful the arbitration controller will issue BGNT*
in Phase 0. If another module gets a message request or
bus request, the arbitration competition cycle begins like it
normally does to handle the request (see Section 5.5.4 for
more information).
5.5.2 Phase 1, Decision Phase
This Phase is characterized by AP* and AR* asserted and
AQ* released on Futurebus
a
. See
Figure 7b
for the
DS3875 Arbitration Controller Phase 1 state diagram.
The arbitration controller will be asserting APO and ARO
and negating AQO. This is the state of the arbitration synchronization lines when the decision phase (1) is in progress.
During Phase 1 the individual modules must make the decision whether they want to compete. This decision will be
based upon the state of the modules bus request, message
request or locked status (! BRQ* or ! MSGRQ* or ! LKD*)at
the time APO is asserted. Since this condition is subject to
mestastability a metastable hardened latch is used internal
to the DS3875 to resolve this potential condition.
If the module is going to compete the arbitration competition
number (CN(7:0)) and its parity bit (CNp) will be asserted to
the arbitration transceiver, Latch enable of the arbitration
transceiver will be asserted and negated (! CNÐLE* asserted for 20 ns) to latch in the arbitration number, and compete
will be asserted (! CMPT*) to enable the arbitration competition number onto Futurebus
a
.
If the module is a slow module (! FS*, see Section 7.6) the
arbitration handshake signal AC0O will be asserted.
Once the decision to compete has been made, the arbitration handshake signal (! AC1O) that cancels the arbitration
cycle will be negated. The Programmable Skew (PS(1:0))
gives time for the arbitration number to become valid on
Futurebus
a
before ARO is negated. Once the Programma-
ble Skew has timed out ARO will be negated. Once all modules have negated AR* the arbitration cycle will transition to
Phase 2.
Once all modules have negated AR* a1ms timer is started.
This timer is used to guarantee that the competition cycle
does not get stuck in phase 2. During Phase 2, the winner of
the competition cycle, after waiting its t
A
(arbitration settling
time) time, transitions the cycle to Phase 3. The timer is
used to prevent livelock where the winning module may not
transition the cycle to Phase 3.
5.5.2.1 Phase 1, Idle Bus Arbitration Events That Cause
a Transition to Phase 2
During phase 1 the arbitration controller will output ! IBA
Ð
CPT*. When the external logic sees ! IBAÐCTP* and the
parallel bus is inactive (AS*,AK*,!AI*) it should drive one
of the data bits of the parallel address/data bus.
5.5.3 Phase 2, Competition Phase
This Phase is characterized by AP* asserted and AQ* and
AR* released on Futurebus
a
. See
Figure 7c
for the
DS3875 Arbitration Controller Phase 2 state diagram.
The arbitration controller will be asserting APO, negating
AQO and receiving ARI negated. This is the state of the
arbitration synchronization lines when the competition
phase (2) is in progress.
While in Phase 2 the following actions are performed:
1. ABÐRE* is asserted after 30 ns. This allows the arbitra-
tion controller to monitor the winning competition number.
2. The FIFO STRobe is now asserted (! FSTR*).
There are two conditions that can cause AQO to be asserted causing a transition to Phase 3:
1. The AQI input being asserted.
2. Competing, arbitration competition settling time (t
a
) expired, one ms Phase 2 arbitration error timer not expired,
and the WIN*ÐGT* input being asserted.
5.5.3.1 Phase 2, Idle Bus Arbitration Events That Cause
a Transition to Phase 3
The external logic should drive the IBA Success signal
(! IBAÐS*) during phase 2 if DI* is released, only this modules data bit is driven on the data bus, and the arbitration
settling Time (t
s
) has not expired.
When the arbitration controller sees ! IBAÐS* asserted it
will issue bus grant (! BGRNT*) to give access of the bus to
the module that won the IBA. If two or more modules have a
request, then normal arbitration will determine which module will gain access.
5.5.4 Phase 3, Error Check Phase
This Phase is characterized by AP* and AQ* asserted AR*
released on Futurebus
a
. See
Figure 7d
for the DS3875
Arbitration Controller Phase 3 state diagram. Also see
Fig-
ures 6b, c, d
for how ASÐCANCEL relates to Phase 3.
The arbitration controller will be asserting APO and AQO,
and negating ARO. This is the state of the arbitration synchronization lines when the error check phase (3) is in progress.
While in Phase 3 the following actions are performed:
1. If the module is a competitor and winner of the arbitration, the W(winner) bit in the STATUS register is set.
2. Upon entering phase 3, after 20 ns, ABÐRE* is negated.
21