06 AXI Transactions
06 AXI Transactions
1 AXI: Transactions
Slide 21-1:
111740**slide
2020.1
111740!*note
Slide 21-2:
■ Read address
channel
■ Read data
channel
■ Write address
channel
www.xilinx.com Page 1
© Copyright 2020 Xilinx
Participant Guide AXI: Transactions
The AXI interface has separate and independent read and write channels
that can be used simultaneously.
Each channel has its own address and data buses.
Both channels are non-posted; that is, there is always a response. In the
read case, the response is simply the read data coming back. For a write,
a separate response bus acknowledges data delivery.
Summary of the five AXI channels:
■ Read address channel
■ Read data channel
■ Write address channel
■ Write data channel
■ Write response channel
Slide 21-3:
www.xilinx.com Page 2
© Copyright 2020 Xilinx
Participant Guide AXI: Transactions
111742!*note
It is up to the master to assert the valid signal and the slave to assert the
ready signals for all channels except the read data channel, where the
slave asserts valid to indicate that it is returning data.
The agent that asserts ready determines the flexibility as seen in the
three waveform options.
This ready/valid acknowledge protocol provides masters and slaves the
flexibility to pull wait states to prevent data overrun and starvation
situations.
Slide 21-4:
■ Two channels
— Address
— Data
■ Up to 256
transfer data AXI – Burst Read
phase
■ Selectable data
transfer size
The AXI4 read interface allows for data phase transfer up to 256 beats as
opposed to 16 beats that were supported for AXI3. AXI-Lite has identical
timing except that there is no support for data bursts - that is, there is
only one beat.
Some signal features may not be required for all types of transfers,
depending on user requirements and capabilities.
Read Address Channel
■ ARID[3:0] – Master read address ID. This signal is the identification
tag for the read address group of signals.
www.xilinx.com Page 3
© Copyright 2020 Xilinx
AXI: Transactions Participant Guide
■ ARADDR[31:0] – Master read address. The read address bus gives the
initial address of a read burst transaction. Only the start address of the
burst is provided and the control signals that are issued alongside the
address detail how the address is calculated for the remaining
transfers in the burst.
■ ARLEN[7:0] – Master burst length. The burst length gives the exact
number of transfers in a burst. This information determines the
number of data transfers associated with the address.
■ ARSIZE[2:0] – Master burst size. This signal indicates the size of each
transfer in the burst.
■ ARBURST[1:0] – Master burst type. The burst type, coupled with the
size information, details how the address for each transfer within the
burst is calculated.
■ ARLOCK[1:0] – Master lock type. This signal provides additional
information about the atomic characteristics of the transfer.
■ ARCACHE[3:0] – Master cache type. This signal provides additional
information about the cacheable characteristics of the transfer.
■ ARPROT[2:0] – Master protection type. This signal provides protection
unit information for the transaction.
■ ARVALID – Master read address valid. This signal indicates, when
HIGH, that the read address and control information is valid and will
remain stable until the address acknowledge signal, ARREADY, is high.
1 = address and control information valid. 0 = address and control
information not valid.
■ ARREADY – Slave read address ready. This signal indicates that the
slave is ready to accept an address and associated control signals: 1 =
slave ready; 0 = slave not ready.
Read Data Channel
■ RID[3:0] – Slave read ID tag. This signal is the ID tag of the read data
group of signals. The RID value is generated by the slave and must
match the ARID value of the read transaction to which it is responding.
■ RDATA[31:0] – Slave read data. The read data bus can be 8, 16, 32,
64, 128, 256, 512, or 1024 bits wide (the PL limits this to a maximum
width of 256).
■ RRESP[1:0] – Slave read response. This signal indicates the status of
the read transfer. The allowable responses are OKAY, EXOKAY,
SLVERR, and DECERR.
■ RLAST – Slave read last. This signal indicates the last transfer in a
read burst.
■ RVALID – Slave read valid. This signal indicates that the required read
data is available and the read transfer can complete: 1 = read data
available; 0 = read data not available.
Page 4 www.xilinx.com
© Copyright 2020 Xilinx
Participant Guide AXI: Transactions
■ RREADY – Master read ready. This signal indicates that the master can
accept the read data and response information: 1= master ready; 0 =
master not ready.
Slide 21-5:
■ Three channels
— Address
— Data
— Response
■ Up to 256 transfer
data phase
AXI – Burst Write
■ Selectable data
transfer size
The AXI4 write interface allows for data phase transfer up to 256 beats as
opposed to 16 beats that were supported for AXI3. AXI-Lite has identical
timing except that there is no support for data bursts - that is, there is
only one beat.
Some signal features may not be required for all types of transfers,
depending on user requirements and capabilities.
Write Address Channel
■ AWID[3:0] – Master write address ID. This signal is the identification
tag for the write address group of signals.
■ AWADDR[31:0] – Master write address. The write address bus gives
the address of the first transfer in a write burst transaction. The
associated control signals are used to determine the addresses of the
remaining transfers in the burst.
■ AWLEN[3:0] – Master burst length. The burst length gives the exact
number of transfers in a burst. This information determines the
number of data transfers associated with the address.
www.xilinx.com Page 5
© Copyright 2020 Xilinx
AXI: Transactions Participant Guide
■ AWSIZE[2:0] – Master burst size. This signal indicates the size of each
transfer in the burst. Byte lane strobes indicate exactly which byte
lanes to update.
Page 6 www.xilinx.com
© Copyright 2020 Xilinx
Participant Guide AXI: Transactions
■ AWBURST[1:0] – Master burst type. The burst type, coupled with the
size information, details how the address for each transfer within the
burst is calculated.
■ AWLOCK[1:0] – Master lock type. This signal provides additional
information about the atomic characteristics of the transfer.
■ AWCACHE[3:0] – Master cache type. This signal indicates the
bufferable, cacheable, write-through, write-back, and allocate
attributes of the transaction.
■ AWPROT[2:0] – Master protection type. This signal indicates the
normal, privileged, or secure protection level of the transaction and
whether the transaction is a data access or an instruction access.
■ AWVALID – Master write address valid. This signal indicates that valid
write address and control information are available: 1 = address and
control information available; 0 = address and control information not
available. The address and control information remain stable until the
address acknowledge signal, AWREADY, goes HIGH.
■ AWREADY – Slave write address ready. This signal indicates that the
slave is ready to accept an address and associated control signals: 1 =
slave ready; 0 = slave not ready.
Write Data Channel
■ WID[3:0] – Master write ID tag. This signal is the ID tag of the write
data transfer. The WID value must match the AWID value of the write
transaction.
■ WDATA[31:0] – Master write data. The write data bus can be 8, 16,
32, 64, 128, 256, 512, or 1024 bits wide (the PL limits this to a
maximum width of 256).
■ WSTRB[3:0] – Master write strobes. This signal indicates which byte
lanes to update in memory. There is one write strobe for each eight
bits of the write data bus. Therefore, WSTRB[n] corresponds to
WDATA[(8 × n) + 7:(8 × n)].
■ WLAST – Master write last. This signal indicates the last transfer in a
write burst.
■ WVALID – Master write valid. This signal indicates that valid write data
and strobes are available: 1 = write data and strobes available; 0 =
write data and strobes not available.
■ WREADY – Slave write ready. This signal indicates that the slave can
accept the write data: 1 = slave ready; 0 = slave not ready.
Write Response Channel
■ BID[3:0] – Slave response ID. The identification tag of the write
response. The BID value must match the AWID value of the write
transaction to which the slave is responding.
www.xilinx.com Page 7
© Copyright 2020 Xilinx
AXI: Transactions Participant Guide
■ Data only
— No address channel
— Minimum control
— Unlimited burst length
— Sideband signals optionally used to condition data
— Contents of data stream interpreted by slave
111759!*note
Page 8 www.xilinx.com
© Copyright 2020 Xilinx
Participant Guide AXI: Transactions
AXI streaming does not have an address phase; all transactions go to the
same place. Also note that the direction is always from master to slave.
AXI streaming is very similar to the MicroBlaze™ processor fast simplex
link (FSL) except that there is no requirement that a processor be
involved.
Note that the AXI-Stream signals are less numerous than for AXI4 or AXI4-
Lite, as only a single channel is required. In many instances, not all of the
signals are required for a given application.
www.xilinx.com Page 9
© Copyright 2020 Xilinx
AXI: Transactions Participant Guide
Page 10 www.xilinx.com
© Copyright 2020 Xilinx
Participant Guide AXI: Transactions
Slide 21-7:
■ Other side-band
signals may be
used for other
needs
— As required by
the design
Thi
111748!*note
This example illustrates how TLAST might be used to indicate the type of
data being sent. Consider streaming data conveying a frame of
information (such as video or audio). How can the device know where the
frame begins or ends? Here, TLAST helps the receiving device determine
how to interpret the incoming data.
Consider a stream of single-channel sensor data that a device is
averaging and thresholding. In such a case, TLAST would not matter, as
all the data is treated the same and there is no start or finish to the
packet-less information.
www.xilinx.com Page 11
© Copyright 2020 Xilinx
AXI: Transactions Participant Guide
Page 12 www.xilinx.com
© Copyright 2020 Xilinx