Материал: AMBA_v30_AXI_v10

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
background image

Introduction 

ARM IHI 0022B

Copyright © 2003, 2004 ARM Limited. All rights reserved.

1-3

1.2

Architecture

The AXI protocol is burst-based. Every transaction has address and control information 
on the address channel that describes the nature of the data to be transferred. The data 
is transferred between master and slave using a write data channel to the slave or a read 
data channel to the master. In write transactions, in which all the data flows from the 
master to the slave, the AXI protocol has an additional write response channel to allow 
the slave to signal to the master the completion of the write transaction. 

The AXI protocol enables:

address information to be issued ahead of the actual data transfer

support for multiple outstanding transactions 

support for out-of-order completion of transactions.

Figure 1-1 shows how a read transaction uses the read address and read data channels. 

Figure 1-1 Channel architecture of reads

Figure 1-2 on page 1-4 shows how a write transaction uses the write address, write data, 
and write response channels.

Master

interface

Slave

interface

Address

and

control

Read address channel

Read

data

Read

data

Read

data

Read

data

Read data channel

background image

Introduction 

1-4

Copyright © 2003, 2004 ARM Limited. All rights reserved.

ARM IHI 0022B

Figure 1-2 Channel architecture of writes

1.2.1

Channel definition

Each of the five independent channels consists of a set of information signals and uses 
a two-way 

VALID

 and 

READY

 handshake mechanism.

The information source uses the 

VALID

 signal to show when valid data or control 

information is available on the channel. The destination uses the 

READY

 signal to 

show when it can accept the data. Both the read data channel and the write data channel 
also include a 

LAST

 signal to indicate when the transfer of the final data item within a 

transaction takes place.

Read and write address channels

Read and write transactions each have their own address channel. The appropriate 
address channel carries all of the required address and control information for a 
transaction. The AXI protocol supports the following mechanisms: 

variable-length bursts, from 1 to 16 data transfers per burst

bursts with a transfer size of 8-1024 bits

wrapping, incrementing, and non-incrementing bursts

atomic operations, using exclusive or locked accesses 

system-level caching and buffering control

Master

interface

Slave

interface

Address

and

control

Write address channel

Write

data

Write data channel

Write

data

Write

data

Write

data

Write

response

Write response channel

background image

Introduction 

ARM IHI 0022B

Copyright © 2003, 2004 ARM Limited. All rights reserved.

1-5

secure and privileged access.

Read data channel

The read data channel conveys both the read data and any read response information 
from the slave back to the master. The read data channel includes:

the data bus, which can be 8, 16, 32, 64, 128, 256, 512, or 1024 bits wide

a read response indicating the completion status of the read transaction.

Write data channel

The write data channel conveys the write data from the master to the slave and includes:

the data bus, which can be 8, 16, 32, 64, 128, 256, 512, or 1024 bits wide

one byte lane strobe for every eight data bits, indicating which bytes of the data 
bus are valid.

Write data channel information is always treated as buffered, so that the master can 
perform write transactions without slave acknowledgement of previous write 
transactions.

Write response channel

The write response channel provides a way for the slave to respond to write transactions. 
All write transactions use completion signaling.

The completion signal occurs once for each burst, not for each individual data transfer 
within the burst.

1.2.2

Interface and interconnect

A typical system consists of a number of master and slave devices connected together 
through some form of interconnect, as shown in Figure 1-3.

Figure 1-3 Interface and interconnect

Interconnect

Slave 1

Slave 2

Slave 3

Slave 4

Master 1

Master 2

Master 3

Interface

Interface

background image

Introduction 

1-6

Copyright © 2003, 2004 ARM Limited. All rights reserved.

ARM IHI 0022B

The AXI protocol provides a single interface definition for describing interfaces:

between a master and the interconnect

between a slave and the interconnect

between a master and a slave.

The interface definition enables a variety of different interconnect implementations. 
The interconnect between devices is equivalent to another device with symmetrical 
master and slave ports to which real master and slave devices can be connected.

Most systems use one of three interconnect approaches:

shared address and data buses

shared address buses and multiple data buses

multilayer, with multiple address and data buses.

In most systems, the address channel bandwidth requirement is significantly less than 
the data channel bandwidth requirement. Such systems can achieve a good balance 
between system performance and interconnect complexity by using a shared address 
bus with multiple data buses to enable parallel data transfers.

1.2.3

Register slices

Each AXI channel transfers information in only one direction, and there is no 
requirement for a fixed relationship between the various channels. This is important 
because it enables the insertion of a register slice in any channel, at the cost of an 
additional cycle of latency. This makes possible a trade-off between cycles of latency 
and maximum frequency of operation.

It is also possible to use register slices at almost any point within a given interconnect. 
It can be advantageous to use a direct, fast connection between a processor and 
high-performance memory, but to use simple register slices to isolate a longer path to 
less performance-critical peripherals.

background image

Introduction 

ARM IHI 0022B

Copyright © 2003, 2004 ARM Limited. All rights reserved.

1-7

1.3

Basic transactions

This section gives examples of basic AXI protocol transactions. Each example shows 
the 

VALID

 and 

READY

 handshake mechanism. Transfer of either address information 

or data occurs when both the 

VALID

 and 

READY

 signals are HIGH. The examples are 

provided in:

Read burst example

Overlapping read burst example

 on page 1-8

Write burst example

 on page 1-9.

This section also describes 

Transaction ordering

 on page 1-9.

1.3.1

Read burst example

Figure 1-4 shows a read burst of four transfers. In this example, the master drives the 
address, and the slave accepts it one cycle later.

Note

 The master also drives a set of control signals showing the length and type of the burst, 
but these signals are omitted from the figure for clarity.

After the address appears on the address bus, the data transfer occurs on the read data 
channel. The slave keeps the 

VALID

 signal LOW until the read data is available. For 

the final data transfer of the burst, the slave asserts the 

RLAST

 signal to show that the 

last data item is being transferred.

Figure 1-4 Read burst

ARADDR

A

T12

T0

T1

T2

T3

T4

T5

T6

T7

T8

T9

T10

T11

T13

ARVALID

ARREADY

D(A0)

D(A1)

D(A2)

D(A3)

RVALID

RDATA

RLAST

RREADY

ACLK

Источник: https://files.student-it.ru/previewfile/15363