Reading Assignment, AXI Bus

Please read the following sections from the AMBA AXI and ACE Protocol Specification - alternate link:

  • Chapter A1
  • Chapter A2, which is mostly about signal definitions. You don’t need to understand what all of the signals do at this point, but make sure that you do understand what the VALID, READY, ADDR, LEN, and SIZE signals do within each of the channels. For example, ADDR refers to the AWADDR in the Write Address Channel, and ARADDR in the Read Address Channel, and so forth.
  • Chapter A3 (A3.1-A3.3), which is largely about protocol. Make sure that you understand how the handshaking works in each channel.

Study Questions

  1. How many transaction channels are in the AXI architecture?
  2. How many of the transaction channels are related to read transactions? How many are related for write transactions?
  3. What is the purpose of the Write Response Channel?
  4. What is the allowable minimum width for the read data bus? for the write data bus?
  5. What is the maximum allowable width for the read data bus? for the write data bus?
  6. (T or F) The master can perform write transactions without slave acknowledgement for previous write transaction.
  7. (T or F) AXI supports multiple address and data busses.
  8. (T or F) AXI channels are bidirectional.
  9. What is a register slice? What advantage do they provide?
  10. Why is it important that reset deassertion occur on the rising edge of ACLK?
  11. All 5 channels use the same VALID/READY handshake process. Please explain exactly when the handshake occurs.
  12. (T or F) A slave can assert a VALID signal.
  13. (T or F) A master can assert a READY signal.
  14. (T or F) The source can wait for the READY signal before asserting VALID.
  15. (T or F) The destination can assert the READY signal before a VALID signal arrives.
  16. Who (Master or Slave) sources AWVALID?
  17. Who (Master or Slave) sources RVALID?
  18. Who (Master or Slave) sources ARREADY?
  19. How many channels are involved in every read operation?
  20. How many channels are involved in every write operation?
  21. (T or F) The master can wait for the slave to assert ARREADY before asserting ARVALID.
  22. (T or F) The slave can wait for ARVALID to be asserted before it asserts ARREADY.
  23. Name the signals involved in the handshake for the Read Data Channel.

These are extra questions that can be ignored for the quiz but we may discuss them if we have time.

  1. (T or F) The slave can assert BVALID as soon as WVALID and WREADY are asserted. What is a “beat”?
  2. (T or F) The slave can terminate a burst if an error occurs.
  3. (T or F) The master can terminate a burst if an error occurs.
  4. (T or F) All bus transactions are bursts.
  5. How does the slave indicate the success or failure of a read or write transaction?

In-Class Exercise

axi_example.sv