05 AXI Variations
05 AXI Variations
1 AXI: Variations
Slide 20-1:
111751**slide
2020.1
111751!*note
At the time of this writing the current version of AXI is "4", so technically,
each reference to AXI made here should be AXI4. However, in the interest
of brevity and future versions of AXI, the generic "AXI" term is used
instead of containing the version number. The exception to this is where
the version number is relevant.
After completing this module, you will be able to:
■ Describe the differences and similarities among the three primary AXI
variations.
Slide 20-2:
This is the superset of the AXI variations that will follow in the next slides.
www.xilinx.com Page 1
© Copyright 2020 Xilinx
Participant Guide AXI: Variations
AXI-Lite
111754**slide
■ The AXI-Lite
interface is a
subset of the
AXI interface
— Intended
for
communic
ation with
control
registers in
component
s
■ Goals of AXI-Lite
— Supports simple component interfaces
— Requires fewer resources
o Saves power and space, eases timing and routing
o Easier to design and validate
Note the similarities between the AXI-Full channels and the AXI-Lite
channels shown here. The only difference is that only one piece of data (a
datum) can be written or read; that is, burst length is always 1.
www.xilinx.com Page 2
© Copyright 2020 Xilinx
Participant Guide AXI: Variations
www.xilinx.com Page 3
© Copyright 2020 Xilinx
AXI: Variations Participant Guide
111756**slide
111756!*note
Slide 20-5:
Page 4 www.xilinx.com
© Copyright 2020 Xilinx
Participant Guide AXI: Variations
The above list includes the common needs for any AXI master
attachment.
The Lite version of the attachment does not require burst handling and
last data detection logic since all data phases are single transaction.
Address generation logic is required for all transactions. For Lite, this is a
simple driving of the channel address bus. For Full, the logic must also
generate M_AXI_AxBURST to determine proper transaction alignment and
generate the proper starting address. Transaction initiation logic is used
to begin address phases for the read or write channels.
For the Full master, burst counting data phase logic and last data phase
logic is required. The complexity of this logic will depend on the burst
features desired, which also determines how M_AXI_AxBURST generation
logic will be built.
Error handling logic is implemented according to the designer's needs,
from logic that is just always assuming an OK response, to more complex
response logic that may occur if a transaction has errors or cannot be
completed.
www.xilinx.com Page 5
© Copyright 2020 Xilinx
AXI: Variations Participant Guide
Slide 20-6:
— Transaction response
80160!*note
The above list is includes the common needs for any AXI slave
attachment.
The Lite version of the attachment just requires the ready/valid for all
channels, address latching, and transaction response since all data
phases are single transaction. The Full version requires a burst data phase
counter to keep track of the data coming across the interface.
The address latch is required for decoding internal read and write strobes
to the internal logic. For Lite, this is a simple latching of the channel
address bus. For Full, the logic must check S_AXI_AxBURST to determine
proper transaction alignment.
Transaction response is implemented according to the designer's needs,
from logic that is just always indicating an OK response, to more complex
response logic that may occur if a transaction has errors or cannot be
completed.
Page 6 www.xilinx.com
© Copyright 2020 Xilinx
Participant Guide AXI: Variations
Slide 20-7:
■ 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
www.xilinx.com Page 7
© Copyright 2020 Xilinx
AXI: Variations Participant Guide
Page 8 www.xilinx.com
© Copyright 2020 Xilinx
Participant Guide AXI: Variations
Slide 20-8:
www.xilinx.com Page 9
© Copyright 2020 Xilinx
AXI: Variations Participant Guide
Slide 20-9:
■ The ACE protocol extends the AXI4 protocol and provides support for
hardware-coherent caches
— A five-state cache model to define the state of any cache line in the
coherent system
— Additional signaling on the existing AXI4 channels that enables new
transactions and information to be conveyed to locations that
require hardware coherency support
— Additional channels that enable communication with a cached
master when another master is accessing an address location that
might be shared
— Barrier transactions that guarantee transaction ordering within a
system
— ACE-Lite variation for I/O coherency
The AXI coherency extension (ACE) protocol extends the AXI4 protocol
and provides support for hardware-coherent caches. The ACE protocol
enables system architects to select the most appropriate technique for
sharing data between system components.
The protocol does not define specific usage cases, but typical usage cases
are:
■ Coherent connection of system components
■ Coherent connection of subsystems that have non-uniform memory
resources
■ Coherent connection of components that have a highly optimized local
coherency system
■ Filtering of coherency communications
■ Coherent connection of components that support different coherency
protocols, such as MESI, ESI, MEI, and MOESI
■ Wrapping of components that do not support coherency natively,
enabling them to be used effectively within a coherent system level
design
Page 10 www.xilinx.com
© Copyright 2020 Xilinx
Participant Guide AXI: Variations
The Zynq UltraScale+™ MPSoCs have two ACE masters (PS-APU and PL).
The ACE port uses a 40-bit wide physical address. The ACE port enables
the PL masters to have their caches in PL. The PL-ACE master cannot
allocate into the APU L2 cache; however, it has coherent access to L2
cache.
Full-coherent masters can snoop each other's caches. For fine-grain data
sharing between the APU and the PL, a system can have cache
implemented in PL. Full coherency is provided through the cache coherent
interface (CCI) ACE ports. ACE provides additional signals that allow a CCI
to request data from various masters (APU or PL).
The ACE-Lite interface is a defined subset of the full ACE interface. ACE-
Lite is used by master components that do not have hardware-coherent
caches, but can issue transactions that could be held in the hardware
coherent caches of other masters. ACE-Lite enables un-cached masters to
snoop ACE coherent masters.
Additional Channels Defined by ACE
Three new channels are supported (snoop address channel, snoop data
channel, and snoop response channel):
■ The snoop address (AC) channel is an input to a cached master that
provides the address and associated control information for snoop
transactions.
■ The snoop response (CR) channel is an output channel from a cached
master that provides a response to a snoop transaction. Every snoop
transaction has a single response associated with it. The snoop
response indicates if an associated data transfer on the CD channel is
expected.
■ The snoop data (CD) channel is an optional output channel that passes
snoop data out from a master. Typically, this occurs for a read or clean
snoop transaction when the master being snooped has a copy of the
data available to return.
www.xilinx.com Page 11
© Copyright 2020 Xilinx
AXI: Variations Participant Guide
Acknowledge Signaling
ACE supports two additional acknowledge signals. These signals indicate
that a master has completed a read or write transaction.
Page 12 www.xilinx.com
© Copyright 2020 Xilinx
Participant Guide AXI: Variations
www.xilinx.com Page 13
© Copyright 2020 Xilinx