AXI Protocol
AXI Protocol
The AXI protocol is structured around five channels, each with its own set of input and output ports. These
channels are:
Read Address Channel : -
ARADDR: Read address specifies the address of the data to be read.
ARID: Read address ID. identification of the read transaction.
ARLEN: Burst length. specifies the number of data transfers in the burst.
ARSIZE: Burst size. specifies the size of each data transfer.
ARBURST: Burst type. determines how the address for each transfer within the burst is calculated.
ARLOCK: Lock Type. Output port that provides the lock status information.
ARCACHE: Cache Type. Output port that carries the cache type information.
ARPROT: Protection Type. Output port that provides protection type information.
ARVALID: Read Address Valid Output port indicating when the read address and control signals are valid.
ARREADY: Read Address Ready. Input port that indicates when the slave is ready to accept the address and
control signals.
● Valid and Ready Signals: Like a green light system indicating when the student or librarian is ready for
the next step, preventing miscommunication.
Benefits
● Efficiency: Clear roles and separate channels mean everyone knows what to do and when, reducing
waiting times and errors.
● High Performance: The library can handle many requests quickly, just like AXI can support high-speed
data transfers.
● Flexibility: Different students can request and return books simultaneously without interfering with
each other, just like multiple masters can communicate with multiple slaves independently.
Master M2 then reads from Slave device S1 using the same ID thread ID1.
Slave S1 responds to Master M2 first. It is allowed to respond to M2 before M1 first, since the two Masters
have different IDs. However, the AXI Crossbar cannot pass the response to M2 because Master M2 must first
receive its response from Slave S2.
Slave S2 responds to Master M1 first without reordering. But the AXI Crossbar cannot pass the response to
Master M1 because M1 must first receive its response from Slave S1, resulting in a deadlock situation.
Helpfully, the AXI Interconnect IP already resolves this concern by mandating the “Single Slave per ID” rule,
where generally only one master device can talk to any slave at any given time. With this in-order rule, the
Read transaction in step 2 from M1 to S2 is stalled until S1 completes its response to M1. Similarly, the
transaction between M2 and S1 in step 4 is stalled until S2 completes its response to M2. This is important to
keep in mind as the AXI protocol itself has no in-order check between Read and Write transactions, meaning
that deadlock can occur elsewhere, especially when combining multiple Interconnects and SmartConnects
together.
11. How many channels are in AXI protocol? Explain the operation channel detail. of each
Read Address Channel:
The Read Address channel is used by a master to initiate read transactions.
The master sends requests to read data from a specific address in the slave device's memory or register
space.It includes signals such as the read address, read data length, and read burst type.
Read Data Channel:
The Read Data channel is used by the slave to return data to the master in response to read requests.
The slave sends back the requested data along with additional information like response status.
It includes signals such as the read data, response status, and read completion indication.
Write Address Channel:
The Write Address channel is used by a master to initiate write transactions.
The master sends requests to write data to a specific address in the slave device's memory or register space.
It includes signals such as the write address, write data length, and write burst type.
Write Data Channel:
The Write Data channel is used by the master to send data to the slave as part of write transactions.
The master sends the data to be written along with other information like byte enable signals.
It includes signals such as the write data and byte enables.
Write Response Channel:
The Write Response channel is used by the slave to return response information to the master for write
transactions.The slave sends back response signals indicating the status of the write operation.
It includes signals such as the write response status and write completion indication.