ADM-XRC SDK 2.8.1 User Guide (Linux)
© Copyright 2001-2009 Alpha Data


Local bus arbitration

The local bus protocol permits multiple master-capable agents to reside on the local bus. The bus arbiter on an ADM-XRC series card permits at most one master-capable agent on the local bus to be a master at any time. This section describes the arbitration protocol.

Each master-capable agent on the local bus has a pair of signals HOLD and HOLDA. These are not bussed to other agents; each agent has its own pair. These signals work as follows:

In an ADM-XRC series card, the respective HOLD/HOLDA pairs are given different names to avoid confusion between the two:

The HDL source code samples use this convention.

The following timing diagrams illustrate the arbitration protocol:

Single-burst bus tenure

Multi-burst bus tenure

Two bus tenures

Single-burst bus tenure

The following timing diagram illustrates a bus tenure that consists of a single burst.

Multi-burst bus tenure

The following timing diagram illustrates a bus tenure that consists of a more than one burst.

Note:

  1. A master may perform an arbitrary number of bursts during its bus tenure. A master voluntarily gives up the bus when it has finished with the bus, by deasserting its HOLD signal.
  2. On some models, sideband signals connected between agents can cause an agent to relinquish the bus at the request of another agent.
  3. Strictly speaking, since the master retains ownership of the bus between the bursts that make up its tenure, it could drive LADS#, LBLAST# etc. between bursts with no possibility of contention.

Two bus tenures

The following timing diagram illustrates two bus tenures by the same master.

Note:

  1. After an agent transitions HOLD, it must wait for the arbiter to acknowledge the change via HOLDA, before transitioning HOLD again.

 


 Top of page