AXI stands for Advanced eXtensible Interface. It is a part of the AMBA (Advanced Microcontroller Bus Architecture) protocol family, developed by ARM. AXI is designed for high-performance, high-frequency system designs and is widely adopted in FPGAs and SoCs.
Zynq SoC connects between Processing System (PS) and Programmable Logic (PL)
Interconnection between Xilinx IP cores (e.g., Block RAM, DMA, TEMAC)
Communication with MicroBlaze processor
AXI Interconnect to connect multiple master/slave devices
Types of AXI Interfaces
TypeDescriptionUse CaseAXI4Full-featured, supports burst transfersMemory-mapped interfaces (e.g., DDR)AXI4-LiteLightweight, no burst supportControl and configuration registersAXI4-StreamNo address phase, continuous data flowHigh-speed streaming (video, audio)
When working with Xilinx IP cores, you’ll often use one or more of these AXI interfaces, depending on your system needs.
The AXI Channels
AXI4 and AXI4-Lite interfaces are composed of the following independent channels:
Write Address Channel (AW*)
Write Data Channel (W*)
Write Response Channel (B*)
Read Address Channel (AR*)
Read Data Channel (R*)
Read Response Channel (RRESP)
Each channel uses VALID/READY handshake signals to transfer data reliably. This enables pipelining and parallelism, essential for high-performance designs.
AXI4 (Memory Mapped)
AXI4 Memory-Mapped (AXI4-MM) is designed for high-performance memory-mapped communication between a master (e.g., CPU, DMA) and a slave (e.g., memory, custom IP).
SignalDirectionDescriptionawaddrMaster → SlaveWrite addressawvalidMaster → SlaveWrite address validawreadySlave → MasterWrite address acceptedwdataMaster → SlaveWrite datawvalidMaster → SlaveWrite data validwreadySlave → MasterWrite data acceptedbrespSlave → MasterWrite response (OKAY, SLVERR, etc)bvalidSlave → MasterWrite response validbreadyMaster → SlaveMaster ready to receive responsearaddrMaster → SlaveRead addressarvalidMaster → SlaveRead address validarreadySlave → MasterRead address acceptedrdataSlave → MasterRead datarvalidSlave → MasterRead data validrreadyMaster → SlaveMaster ready to accept read datarrespSlave → MasterRead response (OKAY, SLVERR, etc)
Write Transaction
Master sends write address over AW channel
Master sends write data over W channel
Slave send write response over B channel
Read Transaction
Master sends read address over AR channel
Slave send read data the response over R channel
Key Features
FeatureDescriptionAddress-basedAll data transactions use memory addressesSupports burstsUp to 256 data beats per burstSeparate channelsIndependent channels for address, data, and responsesOut-of-order supportResponses can come back out-of-order
Simulation Waveform of AXI4-MM Write Transaction
AXI4-MM Write Channel
AXI4-MM Write Response
Simulation Waveform of AXI4-MM Read Transaction
AXI4-MM Read Address Channel
AXI4-MM Read Response
AXI4-Lite
AXI4-Lite is a lightweight version of the AXI4 protocol, used for low-throughput control interfaces. It is typically used for accessing control and status registers in IP cores.
Key Features
No burst, only single data transfers
Lower logic and routing resource usage
Ideal for control/status register access
Master (e.g., CPU) configures slave IP core
FeatureAXI4-MMAXI4-LiteBurst Transfers✅ Supported❌ Not supportedMax Transfer SizeUp to 256 beats1 beatComplexityHigherLowerUse CaseHigh data transferControl registers
Simulation waveform of AXI4-Lite Write Transaction
Simulation waveform of AXI4-Lite Read Transcation
AXI Stream
AXI4-Stream is a simplified AXI protocol designed to transmit raw data without addressing. It is optimized for high-throughput, continuous data transfer, such as video, audio, or network packets.
Features
No address channel-simple interface
Handshake using TVALID and TREADY
Pipelined structure for high speed
Supports TKEEP, TLAST, TUSER for flexibility
SignalDescriptionTVALIDSender indicates valid dataTREADYReceiver is ready to accept dataTDATAActual data being transmittedTLASTMarks the end of a frame or packetTKEEPByte qualifier for which bytes in TDATA are validTUSEROptional user-defined signalAXI4-Stream Key Signals
When TVALID is high and TREADY is high, a data transfer occurs on the TDATA bus. This handshake ensures safe and synchronized data transmission.
The TVALID and TDATA wait until TREADY is high.
TLAST Marks the end of a frame packet
AXI is the de facto standard interface in modern FPGA and SoC designs. A good understanding of AXI is essential for efficient and scalable hardware design.
Below is the link to the AXI website: https://www.arm.com/architecture/system-architectures/amba/amba-specifications