Philips Semiconductors Futurebus+ Products Preliminary specification
FB2012AFuturebus+ central arbitration controller
November 11, 1994
3
FUNCTIONAL DESCRIPTION OF THE FB2012A
The FB2012A has two priority levels, each with 14 inputs. For ease
of labeling, the two priority levels, labeled RQ1* and RQ0* in the
Futurebus+ 896.1 specification, are labeled RQHn* (level-1) and
RQLn* (level-0), respectively, on the FB2012A, where ‘n’ is the
module number from 0 through 13. The assignment of a module to
a particular request line has no significance; all requests (of a
particular priority level) are treated identically. Once asserted, a
request should remain asserted until the corresponding grant is
received (according to IEEE 896.1). (If the user chooses to release
a request before the corresponding grant is asserted, he may do so;
the FB2012A allows this option.) Level-0 and level-1 requests may
be asserted simultaneously. Refer to FUNCTIONAL WAVEFORMS
for general functionality.
A grant will become active only after any metastable conditions
involving its request(s) are resolved. Only one of the 14 grant lines
will be active at a time. The order of serviced requests for each
level is first-come-first-served (FCFS) — the request that has been
asserted the longest receives the grant. However, level-0 requests
are serviced only when no level-1 requests are asserted.
The grant outputs are enabled when the EN* input is Low. However,
when EN* is released while a grant is active, the grant will remain
active until the corresponding request(s) are released. Also,
whenever a grant is asserted, the ANYGR* output signal will also be
asserted.
The FB2012A has two preemption modes:
1. If the PPE* input is asserted (priority preemption mode), PE* and
pe will be asserted whenever there is a level-1 request that is not
being serviced while another grant is asserted. That is, the
preemption lines will be asserted if more than one level-1 request
is asserted or if a level-0 request is being serviced when a
level-1 request(s) is asserted.
2. If PPE* is not asserted, PE* and pe will be asserted whenever
two or more requests, regardless of their priority levels, are
asserted. (Assertion of a level-1 request and a level-0 request
from the same module is considered as a single request.)
The action taken by a module when PE* (and pe) are asserted is
strictly up to the designer.
The FB2012A monitors RE* to detect the signaling of the bus
initialize and system reset conditions. If the RE* input is asserted
less than 2.0ms, neither BINIT* (bus initialize) nor SYSRST*
(system reset) will be asserted. If RE* is asserted longer than
2.0ms, BINIT* may be asserted; and after 3.9ms BINIT* is
guaranteed to be asserted. If RE* is asserted longer than 30ms,
SYSRST* may be asserted; and after 60ms SYSRST* is also
guaranteed to be asserted. If asserted, BINIT* and SYSRST* will
be released after RE* has been released at least 60ns and no more
than 140ns.
When BINIT* is asserted, future grants are disabled in the same
way that they are disabled in response to the de-assertion of the
EN* signal. (Normally all requests are removed during bus
initialization). When SYSRST* is asserted, PE* (and pe) will also be
forced into the asserted state independently of pre-emption
conditions. After RE* has been continuously released for at least
1µs and for not more than 2.2µs, the grants are re-enabled and PE*
(with pe) is released from its forced assertion, if it had entered one.
(In some systems, the assertion of PE* for at least 1µs after the
release of RE* (following system reset) is a condition that signals
the presence of a central arbiter.)
To accommodate the possibility of a system requirement for
redundant and removable FB2012A, a BIAS V input is provided to
bias the internal BTL circuity. This way the redundant FB2012A may
be live inserted without disrupting system operation.
For designs with a single FB2012A, the BIAS V input should be
connected to V
CC
.
METASTABILITY CHARACTERISTICS OF THE
FB2012A
One of the concerns when dealing with an asynchronous arbiter is
understanding what would happen when competing requests arrive
at the same time. Input requests are processed by a bank of
mutual-exclusion elements. A mutual-exclusion element (ME) is a
state-holding device that arbitrates between a pair of inputs. This is
the point at which metastabilities can occur. The design of the ME
precludes anomalous signaling by suppressing output assertion until
metastabilities are resolved.
To determine the Mean Time Between Unacceptable Delays
(MTBUD) the following formula is used:
MTBUD
exp(
t
)
(T
O
)(fr1fr2)
t’ is the maximum acceptable delay between the request edge
(RQXn) and the corresponding grant output signal (GR*); and f
rx
is
the frequency of the request inputs.
The central arbiter has metastability characteristics of τ of 93ps, T
O
of 2.3E33 seconds, and a normal propagation of 8.76ns measured
at room temperature and 5V V
CC
. (Those unfamiliar with these
parameters may consult Philips Semiconductors application note
AN219, “A Metastability Primer”.)
The following example shows that at an individual ME, metastability
induced delays of appreciable size are extremely rare.
Assume that there are two possible requests and the average
request frequency for each is 250kHz. From the formula above,
with a t’ of 10.76ns (8.76ns + 2ns), the MTBUD is calculated to be
341 hours. If t’ was 12.76ns, the MTBUD would be about 85 million
years. Notice that 12.76ns is only an additional four nanosecond
delay above the normal propagation delay. (This example assumes
that a module may make a request immediately upon releasing
tenure.)
The example illustrates only two modules competing for the bus. In
real systems more request channels are active and more MEs are
involved. If ‘n’ channels are active, then n(n-1)/2 MEs are active.
Note, however, that any metastabilities that occur while a grant is
active undesired delay would be noticed.
It is difficult to imagine that a user would ever experience a grant
delay that cannot be tolerated.