Why you should adopt AXI-4 for all your FPGA interfaces

Every FPGA design has interconnections of some form, either between internal blocks or from FPGA-to-FPGA and designers often end up inventing some kind of new “protocol” from one design to the next. For your next design, consider using the AXI-4 standard for all of those interconnections – there are many good reasons for doing this:

  • It’s a well established standard used in many applications. The standard documents are freely available from the ARM website.
  • You no longer need to provide descriptions and timing waveforms for your interfaces in the FPGA design documentation – just reference the ARM AMBA standards. This is a huge time saver.
  • Your design team only needs to learn and use one kind of protocol. Everyone “knows” the protocol and that eliminates confusion and misunderstanding.
  • There are different “flavours” of AXI-4, from the simple handshaking of AXI Streaming, to the more complex AXI memory-mapped, so you can always find one to meet your needs.
  • Xilinx uses AXI for all its IPs and for the interconnections in Zynq, so your design will become compatible with Xilinx solutions.
  • In the Vivado Design Suite, there are multiple IPs available for checking and verifying your AXI interconnects, both in simulation and in hardware:
    • AXI Protocol Verifiers
    • AXI Traffic Generators
    • AXI Bus Functional Model
    • JTAG to AXI Master
  • Having AXI interfaces on your custom logic allows it to be easily imported into the Vivado IP Integrator tool and rapidly connected to other AXI-based logic.