A distributed arbitration scheme includes arbiters with each agent. The arbiters
receive request signals indicating which agents are arbitrating for the bus. Additionally,
the agent currently using the bus broadcasts an agent identifier assigned to that
agent. The arbiters receive the agent identifier and use the agent identifier as
an indication of the winner of the preceding arbitration. Accordingly, the arbiters
determine if the corresponding agent wins the arbitration, but may not attempt
to calculate which other agent wins the arbitration. In one embodiment, the arbiter
maintains a priority state indicative of which of the other agents are higher priority
than the corresponding agent and which of the other agents are lower priority.
In one implementation, the bus may be a split transaction bus and thus each requesting
agent may include an address arbiter and each responding agent may include a data arbiter.