AXI总线介绍ppt课件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1AXIIntroductionICD/SIDBobQin(覃海洋)2015/12/312Topic1•WhatistheAXI?3AXI介绍AXI(AdvancedeXtensibleInterface)是一种总线协议,该协议是ARM公司提出的AMBA3.0(AHB是在2.0中提出)协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线.4AXI特点1.它的地址/控制和数据相位是Sperated2.支持Unaligned的数据传输3.同时在Burst传输中,只需要首地址4.单向通道体系结构提高传输效率4.同时分离的读、写数据通道5.并支持outstanding传输访问和Outoforder访问Topic2WhatconstitutestheAXI?56AXI通道组成部分•Readaddresschannel添加描述•Writeaddresschannel•Readdatachannel•Writedatachannel•Writeresponsechannel每一个AXI传输通道都是单方向的Readtransactionstructure72ChannelsWritetransactionstructure83ChannelsHandshakemechanism•英文叙述并强调传输地址信息和数据都是在VALID和READY同时为高时有效910AXI信号(1)信号源描述ACLKClocksource全局时钟信号ARESETnResetsource全局复位信号,低电平有效GlobalSignal:AXI信号(2)11Writeaddresschannel:信号源描述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=设备没准备好AXI信号(3)12Writedatachannel:信号源描述WID[3:0]主机写IDtag,WID的值必须与AWID的值匹配WDATA[31:0]主机写的数据。WSTRB[3:0]主机写阀门。WSTRB[n]标示的区间为WDATA[(8*n)+7:(8*n)]WLAST主机写的最后一个数据。WVALID主机写有效1=写数据和阀门有效0=写数据和阀门无效WREADY设备写就绪。指明设备已经准备好接受数据了1=设备就绪0=设备未就绪AXI信号(4)13Writeresponsechannel:信号源描述BID[3:0]设备响应ID,这个数值必须与AWID的数值匹配。BRESP[1:0]设备写响应。这个信号指明写事务的状态。可能有的响应:OKAY、EXOKAY、SLVERR、DECERR。BVALID设备写响应有效。1=写响应有效0=写响应无效BREADY主机接受响应就绪。该信号表示主机已经能够接受响应信息。1=主机就绪0=主机未就绪AXI信号(5)14Readaddresschannel:信号源描述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=设备未就绪AXI信号(6)15Readdatachannel:信号源描述RID[3:0]设备读IDtag。RID的数值必须与ARID的数值匹配。RDATA[31:0]设备读数据。RRESP[1:0]设备读响应。这个信号指明读传输的状态:OKAY、EXOKAY、SLVERR、DECERR。RLAST设备读事务传送的最后一个数据。RVALID设备读数据有效。1=读数据有效。0=读数据无效。RREADY主机读数据就绪。1=主机就绪0=主机未就绪AXI信号(7)16Lowpowerinterface:信号源描述CSYSREQCLOCKcontroller系统低功耗请求。此信号来自系统时钟控制器,使外围设备进入低功耗状态。CSYSACK外围设备低功耗请求应答。CACTIVE外围设备Clockactive1=外围设备时钟请求0=外围设备时钟无请求Topic3•HowcanyoumakeatransferonAXI?1718BasicAXItransferReadburst:19BasicAXItransferOverlappingreadburst:20BasicAXItransferWriteburst:21BasicAXItransferAXI协议支持乱序传输。他给每一个通过接口的事务一个IDtag。协议要求相同IDtag的事务必须有序完成,而不同IDtag可以乱序完成Topic4Somethingabouthandshakemechanism,VALIDandREADYareimportant.22VALID先变高READY后变高在箭头处信息传输发生。23READY先变高VALID后变高同样在箭头处信息传输发生。24VALID和READY信号同时变高在这种情况下,信息传输立马发生,如图箭头处指明信息传输发生2526RelationshipamongchannelsReadtransaction:1、设备可以在ARVALID出现的时候在给出ARREADY信号,也可以先给出ARREADY信号,再等待ARVALID信号。2、但是设备必须等待ARVALID和ARREADY信号都有效才能给出RVALID信号,开始数据传输。27RelationshipamongchannelsWritetransaction:1、主机必须不能够等待设备先给出AWREADY或WREADY信号信号后再给出信号AWVALID或WVLAID。2、设备可以等待信号AWVALID或WVALID信号有效或者两个都有效之后再给出AWREADY信号。3、设备可以等待AWVALID或WVALID信号有效或者两个信号都有效之后再给出WREADY信号。Attention:地址、读、写和写响应通道之间的关系是灵活的。例如,写数据可以出现在接口上早于与其相关联的写地址。也有可能写数据与写地址在一个周期中出现。两种关系必须被保持:(1)读数据必须总是跟在与其数据相关联的地址之后。(2)写响应必须总是跟在与其相关联的写事务的最后出现。2829Topic5Somethingaboutbursttransaction.30Attention:1、突发式读写的地址必须以4KB对齐。2、信号AWLEN或信号ARLEN指定每一次突发式读写所传输的数据的个数。3、ARSIZE信号或AWSIZE信号指定每一个时钟节拍所传输的数据的最大位数;需要注意的是任何传输的SIZE都不能超过数据总线的宽度。4、AXI协议定义了三种突发式读写的类型:固定式的突发读写、增值式突发读写、包装式突发读写。用信号ARBURST或AWBURST来选择突发式读写的类型31Burst方式1、固定式突发读写是指地址是固定的,每一次传输的地址都不变。这样的突发式读写是重复的对一个相同的位置进行存取。例如FIFO。2、增值式突发读写是指每一次读写的地址都比上一次的地址增加一个固定的值。包装式突发读写跟增值式突发读写类似。包装式突发读写的地址是包数据的低地址当到达一个包边界。3、包装式突发读写有两个限制:1起始地址必须以传输的size对齐。2突发式读写的长度必须是2、4、8或者1632地址计算公式Start_Address主机发送的起始地址Number_Bytes每一次数据传输所能传输的数据byte的最大数量Data_Bus_Bytes数据总线上面bytelanes的数量Aligned_Address对齐版本的起始地址Burst_Length一次突发式读写所传输的数据的个数Address_N每一次突发式读写所传输的地址数量,范围是2-16Wrap_Boundary包装式突发读写的最低地址Lower_Byte_Lane传输的最低地址的bytelaneUpper_Byte_Lane传输的最高地址的bytelaneINT(x)对x进行向下取整下面是计算公式:Start_Address=ADDRNumber_Bytes=2SIZEBurst_Length=LEN+1Aligned_Address=(INT(Start_Address/Number_Bytes))xNumber_BytesAddress_1=Start_AddressAddress_N=Aligned_Address+(N–1)xNumber_BytesWrap_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_BytesUpper_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_BytesUpper_Byte_Lane=Lower_Byte_Lane+Number_Bytes–1DATA[(8xUpper_Byte_Lane)+7:(8xLower_Byte_Lane)]。Topic6ExclusivetransactionandLockedtransactionandsoon…33ARCACHE[3:0]和AWCACHE[3:0]在一些情况下,信号AWACAHE可以用来确定哪个部件来提供写响应。如果写事务被指定为bufferable,那么他接受来自桥或者系统级的cache提供的写响应。如果事务被指定为non-bufferable,那么写响应必须有最终目的源提供。34AWPROT和ARPROT•正常存取或者特权存取,ARPROT[0]和AWPROT[0]•安全性存取或者没有安全性存取,ARPROT[1]和AWPROT[1]•指令存取或者数据存取ARPROT[2]和AWPROT[2]35ARLOCK[1:0]和信号AWLOCK[1:0]361、我们通过信号ARLOCK[1:0]或AWLOCK[1:0]来选择独占式存取,用信号RRESP[1:0]或BRESP[1:0]来指明独占式存取的成功与否。2、主机在请求独占式存取时,设备会返回两个响应分别是EXOKAY和OKAY。EXOKAY是指设备支持独占式存取,而OKAY是指设备不

1 / 47
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功