Barrier Transactions in ACE

Can somebody please explain how barrier transactions in ACE work?

Thanks in advance.

Parents
  • I'm not sure which part of ACE barriers are unclear, but your primary reference should be Section D8 in the ACE Specification.  Specifically, D8.4.1 contains a diagram and the various requirements that the barrier must obey, which should give you a good idea of how they work.

    The gist of ACE barriers is that they issued as two halves, one on the AW channel and one on the AR channel.  All the transactions before the barrier appears on the channel are considered to be before the barrier.  These transactions before the barrier must be observable to all transactions after the barrier.  Transactions are considered to be after the barrier once both barrier responses have been received.

    In general, it's not recommended to broadcast barriers within a system, as they are harmful to system performance.  A system should ensure that once the response to a transaction is seen, that the transaction is then observable to any future transactions from any other masters, which ensures that barriers can be terminated within the master.  In AXI5/ACE5, barriers have been deprecated for these reasons, and so should not be used.

Reply
  • I'm not sure which part of ACE barriers are unclear, but your primary reference should be Section D8 in the ACE Specification.  Specifically, D8.4.1 contains a diagram and the various requirements that the barrier must obey, which should give you a good idea of how they work.

    The gist of ACE barriers is that they issued as two halves, one on the AW channel and one on the AR channel.  All the transactions before the barrier appears on the channel are considered to be before the barrier.  These transactions before the barrier must be observable to all transactions after the barrier.  Transactions are considered to be after the barrier once both barrier responses have been received.

    In general, it's not recommended to broadcast barriers within a system, as they are harmful to system performance.  A system should ensure that once the response to a transaction is seen, that the transaction is then observable to any future transactions from any other masters, which ensures that barriers can be terminated within the master.  In AXI5/ACE5, barriers have been deprecated for these reasons, and so should not be used.

Children