AMBA AXI Protocol Version:2.0
序言
面向的读者:
这是AMBA (高速微控制器总线结构)AXI(高速可扩展接口) 协议的说明书。主要面向想熟悉AMBA、或是想去设计与AMBA AXI协议相兼容的系统和模块的读者。
说明书的内容安排:
第一章 绪论
阅读本章,你会了解到AXI协议的结构、该协议中定义的基本的交易过程。 第二章 信号描述
本章主要介绍AXI一些信号的定义,如:写地址通道、读数据通道、写反应通道、读地址通道、读数据通道、以及低功耗接口等所用到信号。 第三章 通道握手
介绍通道握手的整个过程 第四章 地址选择
主要讲AXI猝发类型、如何去计算地址、在一次猝发中使用字节通道传输的过程。
第五章 附加的控制信息
本章主要讲怎样让AXI协议支持系统级缓存和保护单元。 第六章 自动访问
本章主要讲互斥访问和锁定访问 第七章 反应信号
主要讲 AXI从模块的四种交易反应。 第八章 模式调整
主要讲 AXI协议如何使用ID 标签去进行无序传输。 第九章 数据总线
主要讲在AXI读和写数据线上,如何处理交易大小可变的数据,以及如何用字节固定端的方式去处理混合端类型数据。 第十章 非对齐传输
主要讲如何使用AXI协议处理非对齐传输。 第十一章 时钟和复字节
主要讲述 AXI时钟和复字节信号的时序。 第十二章 低功耗接口
主要讲如何使用AXI时钟控制接口,进入或者跳出一种低功耗的模式。 第十三章 AXI4
主要描述AXI协议中AXI3版本和AXI4版本技术上的不同。 第十四章 AXI4-Lite
主要 讲述AXI4-Lite接口,它是一种简单控制寄存器类型的接口,在不需要AXI4全部功能的时候使用。
说明书中的约定如下:
1
●印刷字体的类型
●第四页的时序图 ●第四页中的信号 印刷字体的类型:
斜体 此类型的字体用于突出显示重要的注释,介绍专用术语,指出文中所用到的参照和引用。
加粗字体 此类型的字体用于突出显示接口包含的成分,如:菜单名。指示出信号的名字。在描述列表的适当之处,也可用来表示术语。
等宽字体 此类型字体指出通过键盘输入的文本,如:命令,文件,程序名,源代码。
等宽的带下滑线字体 此类型的字体指出一个命令或选项可以使用它的缩写。不需要输入命令或选项的全称,输入相应下划线的部分即可。 等宽斜体 此类型的字体指出等宽字体文本中的参数,文本中那些地方可以用一种特殊值替换参数。
等宽粗体 当引用外部示例代码时,指出所用的语言关键字
< and > 在汇编所在的代码或代码段处,使用括号里的术语替换汇编的语法。例如:MRC p15,0
如图是时序图关键性约定,解释了时序图中用到的成分。当这些成分发生变化的时候,都会有清晰度标注。不需要假定表中任何不明确的时序信息。
时序关键性约定图
阴影部分的总线和信号区域没有给出定义,因此这个时候,在阴影区域内,可以假定总线或者信号是任意一个值。而实际的电平值是多少并不重要,也不影响正常的操作。
时序图中有时,会同时出现单比特字节表示的信号,如HIGH 和 LOW,并且它们与时序关键性约定图中显示的总线变化很相似。如果一个时序图中用上述方式显示一个单比特字节信号,那么,信号的值不会影响到它所在图中的描述。 信号
信号约束如下: 信号电平:
2
有效信号的电平取决于这个信号是高电平有效还是低电平有效。有效的意思是: ●高有效 高电平有效的信号 ●低有效 低电平有效的信号
低电平情况下的命名 在信号名字的开始或结尾指出是一个低电平有效的信号。
第一章 绪论
阅读本章,你会了解到AXI协议的结构、该协议中定义的基本的交易过程。包含的章节如下:
●AXI协议的介绍 ●AXI协议中的结构 ●AXI协议中的基本交易
1.1 AXI协议的介绍
AMBA AXI 协议是以高性能,高频系统设计为目标,提供了很多适合高速
亚微型系统互连的特征。
最新的 AMBA 接口的目标是: ", 适合高带宽、低延迟的设计 ", 不使用复杂桥的情况下能够进行高频的操作 ", 适应多部件的接口要求 ", 适合初始访问高延迟的访问控制器 ", 为互联结构实现提供灵活性 ", 向后兼容现存的 AHB 和APB 接口 AXI 协议的关键特征有: ", 分离的地址/控制和数据通道 ", 采用字节选通的方式,支持非对齐数据的传输 ", 基于猝发交易的数据传输,主机只需提供首地址 ", 分离的读写数据通道,能支持低功耗的 DMA ", 可以发出多个未使用地址 ", 支持乱序交易 ", 易于通过添加寄存器段结束时序
除了数据传输协议,AXI 协议还提供可选扩展功能,该功能包含支持低功耗操作的信号。
1.1.1 AXI协议的版本
AXI协议在许多年前就作为一种工业标准,并且AMBA AXI协议版本1.0的说明
书中介绍了AXI协议接口。 2.0版本的说明文档,包括1.0版本AXI协议中的所有信息,当前的文档涉及到AXI3,添加新的两章内容分别对AXI4和AXI4-Lite做了详细介绍。 AXI4
AXI4协议是对AXI3协议内容的更新,更新的内容如下: ",支持的猝发长度达256节拍
3
", 质量服务(QoS)信号 ", 支持多个区域的接口 ", 更新写响应需求 ", 更新AWCACHE 和 ARCACHE信令细节 ", 顺序传输需求上的其他信息 ", 可选的用户信令 ", 去除锁定传输 ", 清除交错写入
AXI4也包括上述所用到的默认信令信息,并讨论了各组成部分的互操作性。 AXI4-Lite
AXI4精简版是AXI4协议的一个子集,目的是为了与控制寄存器风格的接口组件进行通信并允许建立简单的组件接口。 AXI4-Lite的接口的主要特点是: ?所有传输都是猝发长度为1
?所有数据访问宽度和数据总线的宽度大小相同 ?支持数据总线宽度为32字节或64字节
?AWCACHE或ARCACHE访问操作都是相同的,等于B0000 ?不支持独占访问。
1.2 AXI协议中的通道结构
AXI4协议基于猝发式传输机制。在地址通道上,每个交易有地址和控制信息,这些信息描述了需要传输的数据性质。主从设备间的数据传输有两种情况,一种是主设备经过写通道向从设备写数据(简称写交易),另一种是主设备经过读通道从从设备那里读取数据(简称读交易)。在写交易过程中,AXI有一个额外的写响应通道,从设备通过该通道向主设备发出信号表示完成写交易。
AXI 协议可以实现: ", 地址信息发出先于实际传输的数据 ", 支持多个未完成的交易 ", 支持乱序交易
图 1-1 展示了使用读地址和读数据通道如何实现读交易。
图 1-1 读通道结构
图 1-2 描述了使用写地址、写数据和写响应通道如何实现一次写交易。
4
图 1-2 写通道结构
1.2.1 通道定义
五个独立的通道都包含一组标记信息的信号,并且使用双向的 VALID 和READY信号实现握手机制。
当通道上的有效数据或控制信息可用时,发送信息的源设备将使能 VALID 信号。当目的设备接收到数据时,使能READY 信号.当一次交易中最后数据传输完成时,读数据通道和写数据通道都会发出一个LAST 信号。
读地址和写地址通道
读交易和写交易都有各自的地址通道,相应的地址通道承载了一次交易中所有需要的地址和控制信息。AXI 协议支持以下机制: ", 可变长度猝发,每次猝发完成1-16次数据传输 ", 支持8-1024字节的传输块猝发 ", 地址卷回、地址递增和地址固定的猝发 ", 通过独占交易和锁定交易实现原子操作 ", 系统级的缓存和缓冲控制 ", 安全访问和特权访问
读数据通道
读数据通道用于传输从设备返回给主设备的数据和读响应信息。读数据通 道包含: ", 8,16,32,64,128,256,512 或1024位宽的数据总线 ", 读响应标志了读交易完成的状态
写数据通道
写数据通道主要传输从主设备向从设备写数据信息,其包含: ", 数据总线,宽度可以为 8,16,32,64,128,256,512 或1024字节 ", 每 8 个比特一个字节选通字节,标志总线上的哪个字节可用 写数据通道的信息总是放入缓存中,当前一个写交易从设备没有做出响应的情况下,以便于主设备进行写交易。
5