AXI总线中文详细讲解.docx

上传人:b****7 文档编号:9451478 上传时间:2023-02-04 格式:DOCX 页数:31 大小:212.93KB
下载 相关 举报
AXI总线中文详细讲解.docx_第1页
第1页 / 共31页
AXI总线中文详细讲解.docx_第2页
第2页 / 共31页
AXI总线中文详细讲解.docx_第3页
第3页 / 共31页
AXI总线中文详细讲解.docx_第4页
第4页 / 共31页
AXI总线中文详细讲解.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

AXI总线中文详细讲解.docx

《AXI总线中文详细讲解.docx》由会员分享,可在线阅读,更多相关《AXI总线中文详细讲解.docx(31页珍藏版)》请在冰豆网上搜索。

AXI总线中文详细讲解.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1