Arbiter loop in OpenBus document
This compiler hint appears when the IO and MEM ports of a processor in the OpenBus System are linked, through a single Arbiter component, to the same slave memory or I/O peripheral device, effectively forming a loop. The message is displayed in the Messages panel in the following format:
Arbiter
ArbiterName is in the loop
,
where
ArbiterName is the designator of the offending Arbiter component.
Default Report Mode
Fatal Error
Recommendation
It is nonsensical in a processor-based system to connect a slave device to both the Peripheral I/O and External Memory interfaces of a processor concurrently. Therefore ensure that the IO and MEM ports of a processor in the OpenBus System are linked to their intended (and different) slave devices using distinct interconnects – Interconnect and/or Arbiter components. Typically for a single processor system, an Interconnect component and one or more Arbiter components would be used on the MEM side of the processor, with the processor and any memory-based peripheral I/O devices linked to slave memory through the Arbiter(s). The IO side of the processor would involve use of an Interconnect component only, to which the bank of peripheral I/O devices – to be used by the processor – are linked.