AXI总线中文详细讲解.docx
- 文档编号:9451478
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:31
- 大小:212.93KB
AXI总线中文详细讲解.docx
《AXI总线中文详细讲解.docx》由会员分享,可在线阅读,更多相关《AXI总线中文详细讲解.docx(31页珍藏版)》请在冰豆网上搜索。
AXI总线中文详细讲解
AXI总线协议资料整理
第一部分:
1、AXI简介:
AXI(AdvaneedeXtensibleInterface)是一种总线协议,该协议
是ARM公司提出的AMBA(AdvaneedMieroeontrollerBusArchitecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。
它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持显著传输访问和乱序访问,并更加容易就行时序收敛。
AXI是AMBA中一个新的高性能协议。
AXI技术丰富了现有的AMBA标准内容,满足超高性能和复杂的片上系统(SoC)设计的
需求。
2、AXI特点:
单向通道体系结构。
信息流只以单方向传输,简化时钟域间的桥接,减少门数量。
当信号经过复杂的片上系统时,减少延时。
支持多项数据交换。
通过并行执行猝发操作,极大地提高了数据吞吐能
力,可在更短的时间内完成任务,在满足高性能要求的同时,又减少了功耗。
独立的地址和数据通道。
地址和数据通道分开,能对每一个通道进行单独优化,可以根据需要控制时序通道,将时钟频率提到最高,并将延时降到最低。
第二部分:
本部分对AXI1.0协议的各章进行整理。
第一章
本章主要介绍AXI协议和AXI协议定义的基础事务。
1、AXI总线共有5个通道分别是readaddresschannel
、writeaddresschannel、readdatachannel、writedatachannel、
writeresponsechannel。
每一个AXI传输通道都是单方向的。
2、每一个事务都有地址和控制信息在地址通道(addresschannel)中,用来描述被传输数据的性质。
3、读事务的结构图如下:
Figure1-1Channelarchitectureofreads
4、写事务的结构图如下:
Figure1-2Channelarchitectureofwrites
5、这5条独立的通道都包含一个信息信号和一个双路的VALD、READY握手机
制。
6信息源通过VALID信号来指示通道中的数据和控制信息什么时候有效。
目地源用READY信号来表示何时能够接收数据。
读数据和写数据通道都包括一个LAST信号,用来指明一个事物传输的最后一个数据。
7、读和写事务都有他们自己的地址通道,这地址通道携带着传输事务所必须
的地址和信息。
8、读数据通道传送着从设备到主机的读数据和读响应信息。
读响应信息指明读事务的完成状态。
9、写数据通路传送着主机向设备的写数据。
每八个数据都会有一个bytelane,用来指明数据总线上面的哪些byte有效。
写响应通道提供了设备响应写事务的一种方式。
这完成信号每一次突发式读写会产生一个。
10、主机和设备的接口和互联图如下:
Interface
Figure1-3Interfaceandinterconnect
11、传输地址信息和数据都是在VALID和READY同时为高时有效。
Note
Themasteralsodrivesasetofcontrolsignalsshowingthelengthandtypeoftheburst,butthesesignalsareomittedfromthefigureforclarity.
12、突发式读的时序图如下:
Figure1-4Readburst
当地址出现在地址总线后,传输的数据将出现在读数据通道上。
设备保持
VALID为低直到读数据有效。
为了表明一次突发式读写的完成,设备用RLAST
信号来表示最后一个被传输的数据
13、重叠突发式读时序图如下:
TOT1T2T3T4T5T6T7T8T9T1OT11T12
ACLKn厂
ARADDR\a
H
ARVALIDJj~
J
\\
ARREADY=f]~
飞
1]
RDATA^
Zml
能屈°㈣JC
RLAST
J!
\
iH0
RVALID
_JI
11
U1
1UI
RREADY
\\./
Figure1-5Overlappingreadbursts
设备会在第一次突发式读完成后处理第二次突发式读数据。
也就意味着,主机
一开始传送了两个地址给设备。
设备在完全处理完第一个地址的数据之后才开始处理第二个地址的数据
14、突发式写时序图如下:
Figure1-6Writeburst
这一过程的开始时,主机发送地址和控制信息到写地址通道中,然后主机发送每一个写数据到写数据通道中。
当主机发送最后一个数据时,WLAST信号就变为高。
当设备接收完所有数据之后他将一个写响应发送回主机来表明写事务完成。
15、AXI协议支持乱序传输。
他给每一个通过接口的事务一个IDtag。
协议要
求相同IDtag的事务必须有序完成,而不同IDtag可以乱序完成
第二章
本章主要介绍一些信号描述,其中包括全局信号、写地址通道信号、写数据通道信号、写响应通道信号、读地址通道信号、读数据通道信号、低功耗接口信号。
本章的所有表都是以32位的数据总线、4位的写数据闸门、4位的ID段。
1、全局信号
信号
源
描述
ACLK
Clocksource
全局时钟信号
ARESETn
Resetsource
全局复位信号,低电平有效
2、写地址通道信号
信号
源
描述
AWID[3:
0]
主机
与地址ID,这个信号是与地址信号组的IDtag。
AWADDR[31:
0]
主机
写地址。
AWLEN[3:
0]
主机
突发式写的长度。
此长度决定突发式写所传输的数据
的个数。
AWSIZE[2:
0]
主机
突发式写的大小。
AWBURST[1:
0]
主机
突发式写的类型。
AWLOCK[1:
0]
主机
锁类型。
AWCACHE[3:
0]
主机
Cache类型。
这信号指明事务的bufferable、
cacheable、write-through、write-back、allocateattributes信息。
AWPROT[2:
0]
主机
保护类型。
AWVALID
主机
写地址有效。
1=地址和控制信息有效
0=地址和控制信息无效
这个信号会一直保持,直到AWREADY变为高。
AWREADY
设备
写地址准备好。
这个信号用来指明设备已经准备好接受地址和控制信息了。
1=设备准备好
0=设备没准备好
3、写数据通道信号
信号
源
描述
WID[3:
0]
主机
写IDtag,WID的值必须与AWID的值匹配
WDATA[31:
0]
主机
写的数据。
WSTRB[3:
0]
主机
写阀门。
WSTRB[n]标示的区间为WDATA[(8*n)+7:
(8*n)]
6356554^4?
4039323124231615570
543210
Figure9-1Byielanemapping
WLAST
主机
写的最后一个数据。
WVALID
主机
写有效
1=写数据和阀门有效
0=写数据和阀门无效
WREADY
设备
写就绪。
指明设备已经准备好接受数据了
1=设备就绪
0=设备未就绪
4、写响应通道信号
信号
源
描述
BID[3:
0]
设备
响应ID,这个数值必须与
AWID的数值匹配。
BRESP[1:
0]
设备
写响应。
这个信号指明写事务的状态。
可能有的响应:
OKAY、EXOKAYSLVERRDECERR
BVALID
设备
写响应有效。
1=写响应有效
0=写响应无效
BREADY
主机
接受响应就绪。
该信号表示主机已经能够接受响应信息。
1=主机就绪
0=主机未就绪
5、读地址通道信号
信号
源
描述
ARID[3:
0]
主机
读地址ID。
ARADDR[31:
0]
主机
读地址。
ARLEN[3:
0]
主机
突发式读长度。
ARSIZE[2:
0]
主机
突发式读人小。
ARBURST[1:
0]
主机
突发式读类型。
ARLOCK[1:
0]
主机
锁类型。
ARCACHE[3:
0]
主机
Cache类型。
ARPROT[2:
0]
主机
保护类型。
ARVALID
主机
读地址有效。
信号一直保持,直到ARREADY为高。
1=地址和控制信息有效
0=地址和控制信息无效
ARREADY
设备
读地址就绪。
指明设备已经准备好接受数据了。
1=设备就绪
0=设备未就绪
6读数据通道信号
信号
源
描述
RID[3:
0]
设备
读IDtag。
RID的数值必须与ARID的数值匹配。
RDATA[31:
0]
设备
读数据。
RRESP[1:
0]
设备
读响应。
这个信号指明读传输的状态:
OKAY、
EXOKAYSLVERRDECERR
RLAST
设备
读事务传送的最后一个数据。
RVALID
设备
读数据有效。
1=读数据有效。
0=读数据无效。
RREADY
主机
读数据就绪。
1=主机就绪
0=主机未就绪
7、低功耗接口信号
信号
源
描述
CSYSREQ
CLOCKcontroller
系统低功耗请求。
此信号来自系统时钟控制
器,使外围设备进入低功耗状态。
CSYSACK
外围设备
低功耗请求应答。
CACTIVE
外围设备
Clockactive
1=外围设备时钟请求
0=外围设备时钟无请求
第三章
本章介绍主机/设备之间的握手过程以及READY和VALD握手信号的关系以及默认值。
1、全部5个通道使用相同的VALID/READY握手机制传输数据及控制信息。
传输源产生VLAID信号来指明何时数据或控制信息有效。
而目地源产生READY信号来指明已经准备好接受数据或控制信息。
传输发生在VALID和READY信号同时为高的时候。
VALID和READY信号的出现有三种关系。
(1)VALID先变高READY后变高。
时序图如下:
Figure3-1VALIDbeforeREADYhandshake
在箭头处信息传输发生。
(2)READY先变高VALID后变高。
时序图如下:
ACLK
READYJJ
同样在箭头处信息传输发生
(3)VALID和READY信号同时变高。
时序图如下:
ACLK[
INFORMATION
VALID
READY
Figure3-3VALIDwithREADYhandshake
在这种情况下,信息传输立马发生,如图箭头处指明信息传输发生。
2、通道之间的关系
地址、读、写和写响应通道之间的关系是灵活的。
例如,写数据可以出现在接口上早于与其相关联的写地址。
也有可能写数据与写地址在一个周期中出现。
两种关系必须被保持:
(1)读数据必须总是跟在与其数据相关联的地址之后。
(2)写响应必须总是跟在与其相关联的写事务的最后出现。
3、通道握手信号之间的依赖性
读事务握手依赖关系如图:
Figure3-4Readtransactionhandshakedependencies
(1)设备可以在ARVALID出现的时候在给出ARREADY信号,也可以先给出
ARREADY信号,再等待ARVALID信号
(2)但是设备必须等待ARVALID和ARREADY信号都有效才能给出RVALID信
号,开始数据传输。
写事务握手依赖关系如图:
BREADY
Figure3-5Writetransactionhandshakedependencies
(1)主机必须不能够等待设备先给出AWREADY或WREADY信号信号后再给
出信号AWVALID或WVLAID。
(2)设备可以等待信号AWVALID或WVALID信号有效或者两个都有效之后再
给出AWREADY信号。
(3)设备可以等待AWVALID或WVALID信号有效或者两个信号都有效之后再
给出WREADY信号。
Note
Itisimporlantthatduringawritetransaction,amastermustnotwailf<>rAWREADY【obeassertedbeforedrivingWVALID,ThiscouldcauseadeadlockconditioniflheslaveisconverselywailingforWVALIDbeforeassertingAWREADY.
第四章
本章主要介绍AXI突发式读写的类型和在一次突发式读写事务内如何计算
地址和bytelanes。
1、突发式读写的地址必须以4KB对齐。
Burstsnmstnotcross4KBboundariesiopreventthemfiomcrossingboundariesbetweenslavesandlolimilthesizeoftheaddressincrementerrequiredwithinslaves.
2、信号AWLEN或信号ARLEN指定每一次突发式读写所传输的数据的个数。
具体信息如下图:
Table4*1Burstlengthencoding
ARLEN[3:
0]AWLEN[3:
0]
Numberofdatatransfers
bOOOO
1
bOOOl
2
bOOlO
3
bllOl
14
blllO
15
bllll
16
3、ARSIZE信号或AWSIZE信号指定每一个时钟节拍所传输的数据的最大位数。
具体信息如下图:
Table4-2Burstsizeencoding
ARSIZE[2:
0]AWSIZE[2:
0]
Bytesintransfer
b()()()
1
bOOl
2
bO10
斗
bOU
8
bl00
16
blOl
32
bl1()
64
blJ1
128
需要注意的是任何传输的SIZE都不能超过数据总线的宽度。
4、AXI协议定义了三种突发式读写的类型:
固定式的突发读写、增值式突发读写、包装式突发读写。
用信号ARBURST或AWBURST来选择突发式读写的类型。
具体信息如下图:
Table4-3Bursttypeencoding
ARBURST[1:
0]AWBURST[1:
0]
Bursttype
DescrFption
Access
MX!
FIXED
Fixed-iiddressburst
FJFO-lype
bOl
IISTCR
Inertmcnling-addrcsshursl
sequentialmemory
610
WRAP
Incremenlin^-addressburstthatwrapstoisloweraddressatrhewmpboundary
Cacheline
bll
RcNcrved
-
-
(1)固定式突发读写是指地址是固定的,每一次传输的地址都不变。
这样的突发式读写是重复的对一个相同的位置进行存取。
例如FIFO。
(2)增值式突发读写是指每一次读写的地址都比上一次的地址增加一个固定的
(3)包装式突发读写跟增值式突发读写类似。
包装式突发读写的地址是包数据的低地址当到达一个包边界。
包装式突发读写有两个限制:
O起始地址必须以传输的size对齐。
O突发式读写的长度必须是2、4、8或者16。
5、关于一些地址的计算公式。
Start_Address
主机发送的起始地址
Number_Bytes
每一次数据传输所能传输的数据byte的最大数里
Data_Bus_Bytes
数据总线上面bytelanes的数量
Aligned_Address
对齐版本的起始地址
Burst_Length
一次突发式读写所传输的数据的个数
Address_N
每一次突发式读写所传输的地址数量,范围是2-16
Wrap_Boundary
包装式突发读写的最低地址
Lower_Byte_Lane传输的最低地址的bytelane
Upper_Byte_Lane传输的最高地址的bytelane
INT(x)对x进行向下取整
下面是计算公式:
Start_Address=ADDR
Number_Bytes=2SIZE
Burst_Length=LEN+1
Aligned_Address=(INT(Start_Address/Number_Bytes))xNumber_Bytes
Address_1=Start_Address
Address_N=Aligned_Address+(N-1)xNumber_Bytes
Wrap_Boundary=(INT(Start_Address/(Number_BytesxBurst_Length)))
x(Number_BytesxBurst_Length)
如果有Address_N=Wrap_Boundary+(Number_BytesxBurst_Length),则
后面的公式成立Address_N=Wrap_Boundary。
第一次突发式读写:
Lower_Byte_Lane=Start_Address-(INT(Start_Address/Data_Bus_Bytes))xData_Bus_Bytes
Upper_Byte_Lane=Aligned_Address+(Number_Bytes-1)-
(INT(Start_Address/Data_Bus_Bytes))xData_Bus_Bytes
除了第一次读写之后的读写:
Lower_Byte_Lane=Address_N-(INT(Address_N/Data_Bus_Bytes))
xData_Bus_Bytes
Upper_Byte_Lane=Lower_Byte_Lane+Number_Bytes-1
DATA[(8xUpper_Byte_Lane)+7:
(8xLower_Byte_Lane)]。
本章描述了AXI协议支持的系统级的Cache和保护单元1、ARCACHE[3:
0]和AWCACHE[3:
0]的编码如下图:
WA
RA
C
吕
Transactionattributes
0
0
0
0
Noncacheableandnonbufferable
0
0
0
1
Buftcrablconly
0
0
1
<}
Cacheablc,butdonotallocate
0
0
1
1
Cachcablcandbitffcrable,butdoallocate
0
1
0
0
Reserved
0
1
0
1
RcseiTed
0
1
1
0
Cacheablewrite-thmugh.allocateonrendsonly
0
1
1
1
Cachcablcwnrc-backTall(x:
atcoilreadsonly
1
0
0
0
Reserved
1
0
0
]
Reserved
1
0
1
0
Cacheablewrite-tbrough,allocateonwritesonly
1
0
1
j
Cacheablewriteback,allocateonv.rilesonly
1
1
0
G
Reserved
1
1
0
]
Reserved
1
1
1
(}
Cacheablewrile-through,allocateonbothreadsandwrites
1
1
1
]
Cacheabkwriie-back+allocateonbellireadsandwrites
在一些情况下,信号AWACAHE可以用来确定哪个部件来提供写响应。
如果写事务被指定为bufferable,那么他接受来自桥或者系统级的cache提供的写响应。
如果事务被指定为non-bufferable,那么写响应必须有最终目的源提供。
2、AWPROT或者ARPROT信号提供三种级别的存取保护:
(1)正常存取或者特权存取,ARPROT[O]和AWPROT[O]
(2)安全性存取或者没有安全性存取,ARPROT[1]和AWPROT[1]
(3)指令存取或者数据存取ARPROT[2]和AWPROT[2]信号ARPROT[2:
0]和信号AWPROT[2:
O]的编码如下图:
Table5-2Protectionencoding
ARPROT[2:
0]
AWPROT[2:
0]
Protectionlevel
[0]
1=privilegedaccess
0=normalaccess
[11
1二nonsecureaccess
0-secureaccess
Pl
1=instruciionaccess
0=dataaccess
第六章
1、当对自动存取时能之后,可以通过信号ARLOCK[1:
0]或信号配置独占式存取和锁存取。
编码如下图:
Table6-1Atomicaccessencoding
ARLOCK[1:
0]
AWLOCK[1:
0]
Accesstype
b(X)
Normalaccess
bOI
Exclusiveaccess
blO
Lockedaccess
bll
Reserved
本章描述了AXI协议工具的独占式存取和锁存取机制
AWLOCK[1:
0]来
我们通过信号ARLOCK[1:
0]或AWLOCK[1:
0]来选择独占式存取,用信号
RRES
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AXI 总线 中文 详细 讲解