-
AXI
总线协议资料整理
第一部分:
1
、
AXI
简介:
AXI
(
Adva need eXte nsible In
terface
是一种总线协议,该协议是
ARM
公司提出的
AMBA
(
Advaneed
Mieroeontroller Bus
Architecture
)
3.0
协议中
最重要的部分,是一种面向高
性能、高带宽、低延迟的片内总线。它的地址
/
控
制和数
据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首
地
址,同时分离的读写数据通道、并支持显著传输访问和乱序访问,
并更加容易
就行时
序收敛。
AXI
是
AMBA
中一个新的高性能协议。
AXI
技术丰富了现有<
/p>
的
AMBA
标
准内容,满足超高性能和复杂的片上系统
(
SoC
)
设计的需求。
2
、
AXI
特点:单向通道体系结构。信息流只以单方向传输,简化时钟域间的
桥接,
减少门数量。当信号经过复杂的片上系统时,减少
延时。
支持多项数据交换。通过并行执行猝发操作,极大地提
高了数据吞吐能力,
可
在更短的时间
内完成任务,在满足高性能要求的同时,又减少了功耗。
独立
的地址和数据通道。地址和数据通道分开,能对每一个通道进行单独优
化,可以根据需要控制时序通道,将时钟频率提到最高,并将延时降到最低。
第二部分:
本部分对
AXI1.0
协议的各章进行整理。
第一章
本章主要介绍
AXI
协议和
AXI
协议定义
的基础事务。
1
、
AXI
总线共有
5
个通道分别是
read address channel
、
write address
channel
、
read
data channel
、
write data
channe
、
write
response channe
。每一个
AXI
传输通道都是单方向的。
2
、
每一个
事务都有地址和控制信息在地址通道
(
address
channel
中,用来描
述被传
输数据的性质。
3
、读事务的结构图如下
:
Figure 1-1
Channel architecture of reads
4
、写事务的结构图如下:
Figure 1-2 Channel architecture of
writes
5
< br>、这
5
条独立的通道都包含一个信息信号和一个双路的<
/p>
机制。
VA
LD
、
READY
握手
6
信息源通过
VALID
信号来指示通道中的数据和控制信息什么时候有效。目
■
p>
地源
用
READY
信号来表示何时能够接收数据。读数据和写数据通道都包括一个
LAST
信
号,用来指明一个事物传输的最后一个数据。
p>
7
、读和写事务都有他们自己的地址通道
,
这地址通道携带着传输事务所必须的
地址
和信息。
8
、读数据通道传送着从设备到主机的读数据和读响应信息。
读响应信息指明读
事务的完成状态
9
、写数
据通路传送着主机向设备的写数据。每八个数据都会有一个
byte lane
,
用来指明数据总线上面的哪些
byt
e
有效。写响应通道提供了设备响应写事务的
一种方式。这完成信号每一次突发式读写会产生一个。
10
、主机和设备的接口和互联图如
下
:
Master 1
|
interface
-
------------
?
|_ Master
2Master 3
*
-
----------
Interface
Interconnect
1
|
Sla
惟空
Slave 3
Slave 4
Figure 1-3
Interface and interconnect
11
、传输地址信息和数据都是在
<
/p>
VALID
和
READY
同时为高时有效。
--------
Note
--------------------
The master also drives a
set of control signals showing the length and type
of the burst, but
these
signals are omiued from the figure for clurity.
12
、突发式读的时序图如下
:
TO T1 T2 T3 T4 T5 T$$ 17 T&
T9 T10 Tt1 T12
A
K
ARADOR^X
AR
沁
ID
ARREADY
RDA1A
RLAST
HVALID
RREADY
^
p>
nL_^^LTT_rLTTjrTjnLn_Ti_nLTT_rL_rLJ
T&
T13
J
I
AC
:
ff
Figure
卜斗
Read
txirst
当地址出现在地址总
线后,传输的数据将出现在读数据通道上。设备保持
VALID
为低直到读数据有效。为了表明一次突发式读写的完成,设备用
RLAST
信号来
表示最后一个被传输的数据
13
、重叠突发式读时序图如下
:
TO
ACLK
~
[
ARADDR'
J
ARVAUO
J}
T1
TLJ~L
nmL
n
A
12
T3
T-
T5
LTUTL
-Turun
T6
T7
Th
T9
T10
T11
rr m
T12
XL
I
ARRE AD?
~~
ii
i
、
A
RDATA
1
IbtAil
I
衍回
K
T
d
R
__
%
FUAST
_______________________________________
I
f~
~
理
R
VALID
_
________________
l
_
___________________
J
RREAD
#
___________
g
1}
Q
/
厂
V
—
Figure V5 Overlappjn^ read bursts
设
备会在第一次突发式读完成后处理第二次突发式读数据。
也就意味着,主机一
开始
传送了两个地址给设备。设备在完全处理完第一个地址的数据之后才开始处
理第
二个地址的数据。
14
、
突发式写时序图如下
:
Figure 1-6 Write
burst
这一过程的开始时,主机发送地址和控制信息到写
地址通道中,然后主机发送每
一个
写
数据到写数据通道中。当主机发送最后一个数据时,
WLAST
信号就变为
高。当设
备接收完所有数据之后他将一个写响应发送回主机来表明写事务完成
。
15
、
A
XI
协议支持乱序传输。他给每一个通过接口的事务一个
相同
ID
tag
的事务必须有序完成,而不同
ID tag
可以乱序完成
IDtag
。协议要求
第二章
本章主要介绍一些
信号描述,其中包括全局信号、写地址通道信号、写数据
通道
信号、写响应通道信号、读地址通道信号、读数据通道信号、低功耗接口信
号。本章
的所有表都是以
32
位的数据总线、
4
位的写数据闸门
、
4
位的
ID
段。
1
、全局信号
信号
ACLK
源
Clock
source
Reset
source
描述
全局时钟信号
全局复位信号,低电平有效
ARESETn
2
、写地址通道信号
信号
源
主机
主机
主机
描述
与地址
ID
,这个信号是与地址信号组
的
ID tag
。
写地址。
突发式写的长度。此长度决定突发式写所传输的数据的
个
数。
AWID[3:0]
AWADDR[31:0]
AWLEN[3:0]
AWSIZE[2:0]
AWBURST[1:0]
AWLOCK[1:0]
AWCACHE[3:0]
主机
主机
主机
主机
突发式写的大小。
突发式写的类型。
锁类型。
Cache
类型。这信号指明事务的
bufferable
、
cachea
ble
write-
through
、
write-
back
、
allocate
attributes
信息。
AWPROT[2:0]
AWVALID
主机
主机
保护类型。
写地址有效。
1
=
地址和控制信息有效
0
=
地址和控制信息无效
这个信号会一直保持,直到
AWREADY
变为高。
AWREADY
设备
写地址准备好。这个信号用来指明设备已经准备好接受
地
址和控制信息了。
1 =
设备准备好
0=
设备没准备好
3
、写数据通道信号
信号
WID[3:0]
WDATA[31:0]
WSTRB[3:0]
源
主机
主机
主机
描述
写
ID tag
,
< br>WID
的值必须与
AWID
的值
匹配
写的数据。
< br>写阀门。
WSTRB[n]
标示的区间为
WDATA[(8*n)+7:(8*n)]
[Cl
1 1 _ 1 1
M
葫
7
48
47
轴翱
5
I
徒
31
4
2
山
3
|
2
15
1
B
7
D
0
Figure H Byte lane mapping
WLAST
WVALID
主机
主机
写的最后一个数据。
写有效
1=
写数据和阀门有效
0 =
写数据和阀门无效
WREADY
设备
写就绪。指明设备已经准备好接受数据了
1=
设备就绪
0 =
设备未就绪
4
、写响应通道信号
源
描述
信号
BID[3:0]
BRESP[1:0]
设备
响应
ID
,这个数值必须与
AWID
的数值匹配。
设备
写响应。这个信号指明写事务的状态。可能有的响应:
OKAY
、
EXOKAY
、
SLVERR
、
DECERR<
/p>
。
BVALID
设备
写响应有效。
1=
写响应有效
0 =
写响应无效
BREADY
主机
接受响应就绪。该信号表示主机已经能够接受响应信息。
1 =
主机就绪
0 =
主机未就绪
5
、读地址通道信号
信号
ARID[3:0]
ARADDR[31:0]
ARLEN[3:0]
ARSIZE[2:0]
ARBURST[1:0]
ARLOCK[1:0]
ARCACHE[3:0]
ARPROT[2:0]
ARVALID
源
主机
主机
主机
主机
主机
主机
主机
主机
主机
描述
读地址
ID
。
读地址。
突发式读长度。
突发式读大小。
突发式读类型。
锁类型。
Cache
类型。
保护类型。
读地址有效。信号一直保持,直到
ARREADY
为高。
1 =
地址和控制信息有效
0 =
地址和控制信息无效
ARREADY
设备
读地址就绪。指明设备已经准备好接受数据了。
1=
设备就绪
0 =
设备未就绪
6
读数据通道信号
源
设备
设备
设备
描述
读
ID
tag
。
RID
的数值必须与
ARID
的数值匹配。
读数据。
读响应。这个信号指明读传输的状态:
OKAY
、
EXOKAY
、
SLVERR
、
DECERR
。
信号
RID[3:0]
RDATA[31:0]
RRESP[1:0]
RLAST
RVALID
设备
设备
读事务传送的最后一个数据。
读数据有效。
1
=
读数据有效。
0
=
读数据无效。
RREADY
主机
读数据就绪。
1=
主机就绪
0 =
主机未就绪
7
、低功耗接口信号
源
CLOCK con
troller
描述
系统低功耗请求。此信号来自系统时钟控制
器,使外围设备进入低功耗状态。
信号
CSYSREQ
CSYSACK
CACTIVE
外围设备
外围设备
低功耗请求应答。
Clock
active
1=
外围设备时钟请求
0 =
外围设备时钟无请求
第三章
本
章介绍主机
/
设备之间的握手过程以及
READY
和
VALD
握手信号的关系
以及
默认值。
1
、全部
5
个通道使用相同的
VALID/READY
握手机制传输数据及控制信息。传
输源
产生
VLAID<
/p>
信号来指明何时数据或控制信息有效。而目地源产生
信号来指明已经准备好接受数据或控制信息。传输发生在
READY
VALID
和
READY
信
号同时为高的时候。
VALID
和
READY
信号的出现有三种关系。
(
1
)
p>
V
ALID
先变高
READY
后变高。时序图如下:
ACLK
|
INFORMATIION
VALID
READY
ff
Figure 3-1 VALID before READY
handshake
在箭头处信息传输发生。
(2) <
/p>
READY
先变高
VALID
后变高。时序图如下
:
同样在箭头处信息传输发生。
(
3
)
VA
LID
和
READY
信号同时变高。时
序图如下
:
Figure 3-3 VALID with READY
handshake
在这种情况下,信息传输立马发生,如图
箭头处指明信息传输发生
2
、通道之间的关系
地址、读、写和写响应通道之间的关系是灵活的。
例如,写数据可以出现在接口上早于与其相关联的写地址。也有可能写数据
与写地
址在一个周期中出现。
两种关系必须被保持:
(
1
)
读数据必须总是跟在与其数据相关联的地址之后。
(
2
)
写响应必须总是跟在与其相关联的写事务的最后出现。
3
、通道握手信号之间的依赖性
读事务握手依赖关系如图:
Figure 3-4 Read transaction handshake
dependencies
(
1
)
p>
设备可以在
ARVALID
出现的时候在给
出
ARREADY
信号,也可以先给出
ARREADY
信号,再等待
ARVALID
信号。
(
2
)
但是设备必须等待
ARVALID<
/p>
和
ARREADY
信号都有效才能给出<
/p>
RVALID
信
号,开始数据传输。
出信号
AWVALID
或
WVLAID
。
(
2
)设备
可以等待信号
AWVALID
或
WVA
LID
信号有效或者两个都有效之后再
给出
AWREADY
信号。
(3)
设备可以等待
AWVALID
或
WVALID
信号有效或者两个信号
都有效之后再
给出
WREADY
p>
信号。
-
--------
Note
--------------------
It is important (hat during a write
lransaciion
T
a
master must not wait tor
READY
to be asserted
before driving
WVALID.
This could cause a deadlock condition
if the slave is conversely tailing
Ibr
VV VA1.1D
befnre cisserting
AW READY.
第四章
本章主要介绍
AXI
突发式读写的类型和在一次突发式读写事务内如何计算
< br>
地址和
byte
lanes
1
、
< br>突发式读写的地址必须以
4KB
对齐。
< br>
Bursts must not cross 4KB
boundaries lo prevtnl them
in
)
m cmssing boundaries
between slaves and
io fimii the size of
the address incrementer required wiihin slaves.
2
、
信号<
/p>
AWLEN
或信号
ARLEN
指定每一次突发式读写所传输的数据的个数。
具体信息如下图:
Table
4-1 Burst length encoding
ARLEN[3
:
0]
AWLEN[3:0]
bOOOO
bOOOl
bOOlO
Number of data
transfers
1
2
3
bl 101
blilO
bllll
]4
15
16
3
、
ARSIZE
信号或
AWSIZE
信号指定每一个时钟节拍所传输的数据的最大位
数。
具体信息如下图
:
Table 4*2 Burst size
encoding
ARSIZE[2:0]
AWSIZE[2:0]
bOOO
bOOl
h()IO
bOll
bl
00
blOl
bl 10
bill
Bytes in
transfer
]
2
4
8
16
32
64
128
需要注意的是任何传输的
SIZE
都不
能超过数据总线的宽度。
4
、
AXI
协议定义了三种突发式读写的类型:固定式的突发读写、增值式
突发读
写、包装式突发读写。用信号
ARBURST
或
AWBURST
p>
来选择突发式读写的类
型。具体信息如下图:
Table
4-3 Burst type encoding
ARBU
RST[1
T
O]
AWBURST[1^1
I
WX)
bOI
blO
Burst type
FIXED
INCR
WRAP
Description
Fined-adduce Tiursl
< br>lncrenk'mii
)
g-
;
iildre
1 2 3
>s
hur st
1 nt remtnl
i
ng-additr si bur>L lhal
wnip
、
a
lower
al the wrap
bouiidiiry
Access
FIFO-lypc
Nnnnal
set|in?r
)
iiiil
inenxir
Cuuhc
line
bli
-
-
的低地址当到达一个包边界。
包装式突发读写有两个限制:
①
p>
起始地址必须以传输的
size
对齐。
p>
1
固定式突
发读写是指地址是固定的,每一次传输的地址都不变。这样的突
FIFO
。
发式读写是重复的对一个相同的位置进行存取。例如
2
3
增值式突发读写是指每一次读
写的地址都比上一次的地址增加一个固定的
值。
包装式突发读写跟增值式突发读
写类似。包装式突发读写的地址是包数据
-
-
-
-
-
-
-
-
-
上一篇:苏教版英语五年级下
下一篇:AMBA_AXI总线中文详解