AXI总线协议资料整理第一部分:1、 AXI 简介:AXI (Advanced extensible Interface)是一种总线协议,该协议是 ARM 公司提出的 AMBA(Advanced Microcontroller Bus Architecture)3.0 协议中 最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线它的地址/控 制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首 地址,同时分离的读写数据通道、并支持显著传输访问和乱序访问,并更加容易 就行时序收敛AXI是AMBA中一个新的高性能协议AXI技术丰富了现有 的AMBA标准内容,满足超高性能和复杂的片上系统(SoC)设计的需求2、 AXI特点:单向通道体系结构信息流只以单方向传输,简化时钟域间的 桥接,减少门数量当信号经过复杂的片上系统时,减少延时支持多项数据交换通过并行执行猝发操作,极大地提高了数据吞吐能力, 可在更短的时间内完成任务,在满足高性能要求的同时,又减少了功耗独立的地址和数据通道地址和数据通道分开,能对每一个通道进行单独优 化,可以根据需要控制时序通道,将时钟频率提到最高,并将延时降到最低。
第二部分:本部分对AXI1.0协议的各章进行整理第一章本章主要介绍AXI协议和AXI协议定义的基础事务1、 AXI总线共有5个通道分别是read address channel、write address channel、read data channel、write data channel、write response channel每一个AXI传输通道都是单方向的2、 每一个事务都有地址和控制信息在地址通道(address channel)中,用来描 述被传输数据的性质3、 读事务的结构图如下:Figure 1-1 Channel architecture of readsFigure 1-2 Channel architecture of writes5、 这5条独立的通道都包含一个信息信号和一个双路的VALD、READY握手 机制6、 信息源通过VALID信号来指示通道中的数据和控制信息什么时候有效目 地源用READY信号来表示何时能够接收数据读数据和写数据通道都包括一个 LAST信号,用来指明一个事物传输的最后一个数据7、 读和写事务都有他们自己的地址通道,这地址通道携带着传输事务所必须的 地址和信息。
8、读数据通道传送着从设备到主机的读数据和读响应信息读响应信息指明读事务的完成状态9、写数据通路传送着主机向设备的写数据每八个数据都会有一个byte lane, 用来指明数据总线上面的哪些byte有效写响应通道提供了设备响应写事务的 一种方式这完成信号每一次突发式读写会产生一个10、主机和设备的接口和互联图如下:InterfaceFigure 1-3 Interface and interconnect11、传输地址信息和数据都是在VALID和READY同时为高时有效 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.12、 突发式读的时序图如下:TO T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13ARADDR~)( a X : :ARVALID』 [ARREADY \RDATA— )(5^RLAST _f\RVALID 0~院 U?~~R H~~Rrready j r l ? — i n——Figure 1-4 Read burst当地址出现在地址总线后,传输的数据将出现在读数据通道上。
设备保持VALID 为低直到读数据有效为了表明一次突发式读写的完成,设备用RLAST信号来 表示最后一个被传输的数据13、 重叠突发式读时序图如下:Figure 1-5 Overlapping read bursts设备会在第一次突发式读完成后处理第二次突发式读数据也就意味着,主机一 开始传送了两个地址给设备设备在完全处理完第一个地址的数据之后才开始处 理第二个地址的数据14、突发式写时序图如下:Figure 1-6 Write burst这一过程的开始时,主机发送地址和控制信息到写地址通道中,然后主机发送每 一个写数据到写数据通道中当主机发送最后一个数据时,WLAST信号就变为 高当设备接收完所有数据之后他将一个写响应发送回主机来表明写事务完成15、AXI协议支持乱序传输他给每一个通过接口的事务一个IDtag协议要求 相同ID tag的事务必须有序完成,而不同ID tag可以乱序完成第二章本章主要介绍一些信号描述,其中包括全局信号、写地址通道信号、写数据 通道信号、写响应通道信号、读地址通道信号、读数据通道信号、低功耗接口信 号本章的所有表都是以32位的数据总线、4位的写数据闸门、4位的ID段。
1、全局信号信号源描述ACLKClock source全局时钟信号ARESETnReset source全局复位信号,低电平有效2、写地址通道信号信号源描述AWID[3:0]主机写地址ID,这个信号是写地址信号组的ID tagAWADDR[31:0]主机写地址AWLEN[3:0]主机突发式写的长度此长度决定突发式写所传输的数据的 个数AWSIZE[2:0]主机突发式写的大小AWBURST[1:0]主机突发式写的类型AWLOCK[1:0]主机锁类型AWCACHE[3:0]主机Cache类型这信号指明事务的bufferable、cacheable> write-through、write-back、allocate attributes 信息AWPROT[2:0]主机保护类型AWVALID主机写地址有效1=地址和控制信息有效0=地址和控制信息无效这个信号会一直保持,直到AWREADY变为高AWREADY设备写地址准备好这个信号用来指明设备已经准备好接受地址和控制信息了1=设备准备好0 =设备没准备好信号源描述WID[3:0]主机写ID tag, WID的值必须与AWID的值匹配WDATA[31:0]主机写的数据。
WSTRB[3:0]主机写阀门WSTRB[n]标示的区间为 WDATA[(8*n)+7:(8*n)]63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 07 6 5 4 3 2 1 0Figure 9-1 Byte lane mappingWLAST主机写的最后一个数据WVALID主机写有效1=写数据和阀门有效0 =写数据和阀门无效WREADY设备写就绪指明设备已经准备好接受数据了1=设备就绪0=设备未就绪4、写响应通道信号信号源描述BID[3:0]设备响应ID,这个数值必须与AWID的数值匹配BRESP[1:0]设备写响应这个信号指明写事务的状态可能有的响应:OKAY、EXOKAY、SLVERR、DECERRBVALID设备写响应有效1=写响应有效0=写响应无效BREADY主机接受响应就绪该信号表示主机已经能够接受响应信息1=主机就绪0=主机未就绪5、读地址通道信号信号源描述ARID[3:0]主机读地址IDARADDR[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]设备读ID tagRID的数值必须与ARID的数值匹配RDATA[31:0]设备读数据RRESP[1:0]设备读响应这个信号指明读传输的状态:OKAY、EXOKAY、SLVERR、DECERRRLAST设备读事务传送的最后一个数据RVALID设备读数据有效1 =读数据有效0 =读数据无效RREADY主机读数据就绪1=主机就绪0=主机未就绪7、低功耗接口信号信号源描述CSYSREQCLOCK controller系统低功耗请求此信号来自系统时钟控制 器,使外围设备进入低功耗状态CSYSACK外围设备低功耗请求应答CACTIVE外围设备Clock active1=外围设备时钟请求0=外围设备时钟无请求第三章本章介绍主机/设备之间的握手过程以及READY和VALD握手信号的关系 以及默认值。
1、全部5个通道使用相同的VALID/READY握制传输数据及控制信息传 输源产生VLAID信号来指明何时数据或控制信息有效而目地源产生READY 信号来指明已经准备好接受数据或控制信息传输发生在VALID和READY信 号同时为高的时候VALID和READY信号的出现有三种关系1)VALID先变高READY后变高时序图如下:ACLKFigure 3-1 VALID before READY handshake在箭头处信息传输发生2) READY先变高VALID后变高时序图如下:同样在箭头处信息传输发生3)VALID和READY信号同时变高时序图如下:Figure 3-3 VALID with READY handshake在这种情况下,信息传输立马发生,如图箭头处指明信息传输发生2、通道之间的关系ARVALIDi R VALID地址、读、写和写响应通道之间的关系是灵活的例如,写数据可以出现在接口上早于与其相关联的写地址也有可能写数据 与写地址在一个周期中出现两种关系必须被保持:(1) 读数据必须总是跟在与其数据相关联的地址之后2) 写响应必须总是跟在与其相关联的写事务的最后出现3、通道握手信号之间的依赖性读事务握手依赖关系如图:RREADYAWREADYWREADYBREADYARREADYFigure 3-4 Read tran。