2.3.5. Cyclic Dependency Avoidance Schemes (CDAS)

Because the AXI protocol permits re-ordering of transactions, it might be necessary for the AMBA Network Interconnect to enforce rules to prevent deadlock when routing multiple transactions concurrently to multiple slaves from a single point of divergence, that is, at a switch slave interface.

Each slave interface of a switch can have a different CDAS configured. The same CDAS scheme is configured for both read and write transactions, but they operate independently.

This section describes:

Single slave

This ensures that at a slave interface of a switch:

  • all outstanding read transactions are to a single end destination

  • all outstanding write transactions are to a single end destination.

If the slave interface receives a transaction to a different destination to the current destination for that transaction type, the network stalls the transactions until all the outstanding transactions of that type have been completed.

Single slave per ID

This ensures that at a slave interface of a switch:

  • all outstanding read transactions with the same ID go the same destination

  • all outstanding write transactions with the same ID go the same destination.

When the slave interface receives a transaction:

  • if it has an ID that does not match any outstanding transactions, it passes the CDAS

  • if it has an ID that matches the ID of an outstanding transaction, and the destinations also match, it passes the CDAS

  • if it has an ID that matches the ID of an outstanding transaction, and the destinations do not match, it fails the CDAS check and is stalled.

A stalled transaction remains stalled until one of the rules passes. For complex infrastructures, it might be necessary to configure an additional rule for write transactions.

Note

This is only for the single-slave-per-ID CDAS configured slave interfaces.

The extended write rule ensures that if single-slave-per-ID rules are passed, then the network only issues a write transaction to a new destination if all the outstanding write transactions have had the last write data beat transmitted.

The AMBA Designer tool automatically detects when this is required. See Additional reading.

Copyright © 2006-2009 ARM. All rights reserved.ARM DDI 0397F
Non-Confidential