Outstanding support in AXI slave


I have an AXI master and AXI slave in my design. The master can send up to 32 outstanding transactions with different IDs. (Both master and slave have 5 bit ID ports)

What kind of logic is to be implemented in the AXI slave, to have capability to accept 32 outstanding requests? Does it require a FIFO of depth 5 that determines the arready/awready? 

Thanks in advance.

  • It depends on the complexity of your slave and what your slave wishes to do. The important thing is that your slave ensures that it completes these transactions in a protocol compliant manner.  This would primarily mean:

    - Ensuring that it gives the correct number of responses for each request

    - Ensuring that ID ordering rules are maintained.  For example, ensuring that same ID transactions are responded to in the correct order.

    In the simplest implementation, a FIFO with 32 entries that stores the incoming transactions would work if the slave responded to each transaction in the order they were received.  A more complicated system would have a transaction tracker that could respond to transactions in the most performant order, while still obeying AXI ordering rules.

More questions in this forum