Presentation is loading. Please wait.

Presentation is loading. Please wait.

AMBA AXI4协议 何宾 2012.02.

Similar presentations


Presentation on theme: "AMBA AXI4协议 何宾 2012.02."— Presentation transcript:

1 AMBA AXI4协议 何宾

2 本章内容 AMBA AXI4协议是由Xilinx公司和ARM公司制定的 用于SOC内IP互联的规范。
本章详细介绍了AXI4规范。主要内容包括AXI概 述、AXI4功能、AXI4-Lite功能和AXI4-Stream功能等。 其中AXI4功能、AXI4-Lite功能和AXI4-Stream功能 是本章的重点内容,也是构成AXI4协议的主要部分。

3 AXI概述 Xilinx 同 ARM 密切合作,共同为基于 FPGA 的高性 能系统和设计定义了 AXI4 规范。并且在其新一代可编
程门阵列芯片上采用了高级可扩展接口(Advanced eXtensible Interface, AXI)协议。 AXI总线是ARM高级微控制器总线结构(Advanced Microcontroller Bus Architecture, AMBA)的一部分。AXI 总线的第一个版本包含在AMBA3.0(2003年发布)中, AXI总线的第二个版本AXI4包含在AMBA4.0(2010年发 布)中。

4 AXI概述 最新一代的AMBA接口的目标是: (1)适合于高带宽和低延迟设计; (2)在不使用复杂的桥接方式下,允许更高频率的操作;
(3)满足普遍情况下的元件接口要求; (4)适用于高初始访问延迟的存储器控制器; (5)为互联结构的实现提供了灵活性; (6)与已有的AHB和APB接口向下兼容。

5 AXI概述 AXI协议的关键特性表现在以下几个方面: (1)独立的地址/控制和数据阶段; (2)使用字节选通,支持非对齐的数据传输;
(3)只有开始地址的猝发交易; (4)独立的读和写数据通道,可以使能低成本的直接存 储器访问DMA传输; (5)能发出多个未解决的地址; (6)完成无序交易; (7)容易添加寄存器切片,满足时序收敛要求;

6 AXI概述 -- AXI协议的优势 1.提供了更高的生产率,主要体现在以下几个方 面:
用户仅需了解单个系列的接口; (2)简化了不同领域 IP 的集成,并使自身或第三方合作伙 伴 IP 的开发工作更简单易行; (3)由于AXI4 IP 已为实现最高性能、最大吞吐量以及最低 时延进行了优化,从而使设计工作进一步获得简化;

7 AXI概述 2.提供了更大的灵活性,主要体现在以下几个 方面: (1)支持嵌入式、DSP 及逻辑版本用户;
(2)调节互连机制,满足系统要求:性能、面积及功耗; (3)帮助设计者在目标市场中构建最具号召力的产品;

8 AXI概述 3.提供了广泛的 IP 可用性 (1)第三方 IP 和 EDA 厂商普遍采用开放式 AXI4 标
准,从而使该接口获得了更广泛的应用。 (2)基于 AXI4 的目标设计平台可加速嵌入式处理、 DSP以及连接功能设计开发。

9 AXI4功能 AXI4协议基于猝发式传输机制。在地址通道上, 每个交易有地址和控制信息,这些信息描述了需要传 输的数据性质。
在主设备和从设备之间所传输的数据分别使用到 从设备的写数据通道和到主设备的读数据通道。 在从主设备到从设备的写数据交易中,AXI有一个 额外的写响应通道,从设备通过该通道向主设备发出 信号表示完成写交易。

10 AXI4功能 所有的AXI4包含了5个不同的通道: (1)读地址通道(Read address channel, AR) ;
(2)写地址通道(Write address channel, AW); (3)读数据通道(Read data channel, R); (4) 写数据通道(Write data channel, W); (5) 写响应通道(Write response channel, B);

11 AXI4功能 每个通道由一个信号集构成,并且使用双向的 VALID和READY握手信号机制。 信息源使用VALID信号,表示在通道上存在可用
信号,表示可以接收数据。 读数据通道和写数据通道也包含LAST信号,该信 号用来表示在一个交易发生时,最后一个传输的数据 项。

12 AXI4功能 图2.1给出了AXI4使用读地址和读数据通道的读 交易。图2.2给出了AXI4使用写地址和写数据通道的 写交易 读数据通道
地址和控制 读数据 读地址通道 读数据通道 图2.1 读通道结构

13 AXI4功能 写响应通道 地址和控制 写数据 写地址通道 写数据通道 图2.2 写通道结构 写响应

14 全局时钟信号。所有的信号在全局时钟的上升沿采样。
AXI4全局信号 信号 描述 ACLK 时钟源 全局时钟信号。所有的信号在全局时钟的上升沿采样。 ARESETn 复位源 全局复位信号。该信号低有效。

15 系统低功耗请求。这个信号来自系统时钟控制器使外设进入低功耗状态
低功耗接口信号 信号 描述 CSYSREQ 时钟控制器 系统低功耗请求。这个信号来自系统时钟控制器使外设进入低功耗状态 CSYSACK 外设 低功耗请求响应信号。这个信号来自系统低功耗请求外设的响应信号 CACTIVE 时钟活动。该信号表示外设是否要求它的时钟信号。1=要求外设时钟。

16 AXI4通道及信号 读和写交易有各自的地址通道。地址通道上给出交易 所要求的地址和控制信息。AXI4读和写地址通道包括下面 的机制:
(1)可变长度的猝发操作,每次猝发操作包含1-256数据; (2)提供服务质量(QoS)信号 (3)支持多个区域接口; (4)猝发传输不能超过4k边界; (5)包裹、递增和非递增猝发; (6)使用互斥和锁的原子操作; (7)系统级缓存和缓冲控制; (8)安全和特权访问。

17 AXI4通道及信号 --读和写地址通道 (写地址)
信号名 描述 AWID[3:0] 写地址ID。这个信号用于写地址信号组的标记。 AWADDR[31:0] 写地址。写地址信号给出写猝发交易的第一个传输地址。相关的控制信号线用于确定猝 发中剩余传输的地址。 AWLEN[7:0] 猝发长度。给出猝发中准确的传输个数。该信息给出了和地址相关的数据传输数量。 AWSIZE[2:0] 猝发大小。这个信号确定猝发中每个传输的大小。字节通道选通用来说明需要更新的字 节通道。 AWBURST[1:0] 猝发类型。该信息与大小信息一起,表示在猝发过程中,地址如何用于每个传输。 AWLOCK 锁类型。这个信号提供了关于传输原子特性的额外信息(普通或互斥访问) AWCACHE[3:0] 缓存类型。这个信号表示可缓冲、可缓存、写通过、写回和分配交易属性。 AWPROT[2:0] 保护类型。这个信号表示交易的普通、特权、或安全保护级,以及交易是数据访问还是 指令访问。 AWVALID 写地址有效。这个信号表示写地址有效和控制信息是可用的。该信号一直保持有效,直 到响应信号AWREADY为高。 AWREADY 写地址准备。这个信号表示从设备准备接受地址和相关的控制信号。 AWQOS[3:0] 用于每个写交易的地址通道上的4位QoS标识符(可作为优先级标志) AWREGION[3:0] 用于每个写交易的地址通道上的域标识符。

18 AXI4通道及信号 --读和写地址通道 (读地址)
信号名 描述 ARID[3:0] 读地址ID。这个信号用于读地址信号组的标记。 ARADDR[31:0] 读地址。读地址信号给出读猝发交易的第一个传输地址。只提供猝发的开始地址和 给出控制信号,详细描述了在猝发的剩余传输中如何计算地址。 ARLEN[7:0] 猝发长度。给出猝发中准确的传输个数。该信息给出了和地址相关的数据传输数 量。 ARSIZE[2:0] 猝发大小。这个信号确定猝发中每个传输的大小。字节通道选通用来指示需要更新 的字节通道。 ARBURST[1:0] 猝发类型。该信息与大小信息一起,用于在猝发过程中,地址如何用于每个传输。 ARLOCK 锁类型。这个信号提供了关于传输原子特性的额外信息(普通或互斥访问) ARCACHE[3:0] 缓存类型。这个信号提供可缓存传输属性。 ARPROT[2:0] 保护类型。这个信号提供用于传输的保护单元信息。 ARVALID 读地址有效。这个信号表示读地址有效和控制信息是可用的。该信号一直保持有 效,直到响应信号ARREADY为高。 ARREADY 读地址准备。这个信号表示从设备准备接受地址和相关的控制信号。 ARQOS[3:0] 用于每个读交易的地址通道上的4位QoS标识符(可作为优先级标志) ARREGION[3:0] 用于每个读交易的地址通道上的域标识符。

19 AXI4通道及信号 --读数据通道 读数据通道传送所有来自从设备到主设备的读 数据及读相应信息。表2.5给出了读数据通道信号及 其信号定义。
读数据通道包括: (1) 数据总线宽度:8、16、32、64、128、256、 512和1024位宽度; (2) 读响应表示读交易完成的状态

20 AXI4通道及信号 --读数据通道 信号名 源 描述 RID[3:0] 从
读ID标记。这个信号是读数据信号组标记。由从设备产生RID,RID必须和 读交易中的ARID值匹配。 RDATA[31:0] 读数据。读数据总线可以是8,16,32,64,128,256,512或者1024位宽度。 RRESP[1:0] 读响应。这个信号表示读传输的状态。可允许的相应为OKAY,EXOKAY, SLVERR和DECERR. RLAST 读最后一个。表示读猝发中的最后一个传输。 RVALID 读有效。这个信号表示所要求的读数据是可用的,能完成读传输。 RREADY 读准备。这个信号表示主设备能接受读数据和响应信息。

21 AXI4通道及信号 --写数据通道 写数据通道传送所有从主设备到从设备的写数据。 表2.6给出了写数据通道信号及信号定义。写数据通道 包括:
(1) 数据总线宽度:8、16、32、64、128、256、 512和1024位宽度; (2) 每8位有一个字节通道选通,用来表示数据总线 上的哪个字节是有效的;

22 AXI4通道及信号 --写数据通道 信号名 源 描述 WDATA[31:0] 主
写数据。写数据总线可以是8,16,32,64,128,256,512或者1024位宽度。 WSTRB[3:0] 写选通。用于表示更新存储器的字节通道。对于数据总线的每8位有一个写选通。 WLAST 写最后一个。表示写猝发中的最后一个传输。 WVALID 写有效。这个信号表示所要求的写有效的写数据和选通是可用的。 WREADY 写准备。这个信号表示从设备能接受写数据。

23 AXI4通道及信号 --写响应通道 写响应通道提供了一种方法,用于从设备响应写 交易。所有的写信号使用完成信号。每个响应用于一
次猝发的完成,而不是用于每个交易的数据。 读交易和写交易可以通过下面的交易例子进行说 明: 1)读猝发交易 2)重叠猝发交易 3)写猝发交易

24 AXI4通道及信号 --写响应通道 信号名 源 描述 BID[3:0] 从 响应ID. 写响应识别标记。BID值必须匹配写交易的AWID值。
BRESP[1:0] 写响应。这个信号表示写交易的状态。可允许的相应为OKAY,EXOKAY, SLVERR和DECERR. BVALID 写响应有效。这个信号表示所要求的有效写响应是可用的。 BREADY 响应准备。这个信号表示主设备可以接受响应信息。

25 AXI4通道及信号 --写响应通道 图2.3给出了读猝发交易过程中典型信号的交互 过程。 图2.3读猝发交易过程中典型信号的交互过程

26 AXI4通道及信号 --写响应通道 图2.4给出了写交易过程中典型信号的交互过程。 图2.4写猝发交易过程中典型信号的交互过程

27 AXI4交易通道的握手信号关系 为了避免死锁条件,必须考虑握手信号之间存在的 依赖关系。在任何交易中:
(1) AXI互联中的VALID信号不依赖于交易中其它元件的 READY信号; (2) READY信号能等待VALID信号的确认;

28 AXI4交易通道的握手信号关系 --AXI4读交易的握手信号关系
图2.5给出了读交易中握手之间的依赖关系。 图2.5 读交易中的握手之间的依赖关系

29 AXI4交易通道的握手信号关系 --AXI4读交易的握手信号关系
在读交易中: (1) 在确认ARREADY信号前,从设备能等待确认ARVALID信 号; (2)在从设备通过确认RVALID信号开始返回数据前,必须等待 确认所有的ARVALID和ARREADY信号;

30 AXI4交易通道的握手信号关系 --AXI4写交易的握手信号关系
图2.6给出了写交易中握手之间的依赖关系。 图2.6 写交易中的握手之间的依赖关系

31 AXI4交易通道的握手信号关系 --AXI4写交易的握手信号关系
在写交易中: (1) 在确认AWVALID和WVALID信号前,主设备不需要等待从 设备确认AWREADY或者WREADY信号; (2) 在确认AWREADY前,从设备能等待AWVALID或WVALID 信号,或者全部这两个信号; (3) 在确认WREADY前,从设备能等待AWVALID或WVALID信 号,或者全部这两个信号; (4) 从设备在确认BVALID前,从设备必须等待确认所有的 AWVALID和AWREADY信号; (5) 在确认BVALID前,从设备不需要等待主设备确认BREADY 信号。 (6) 在确认BREADY前,主设备能等待BVALID信号;

32 AXI4猝发类型及地址计算 --AXI4猝发类型
(1) 固定猝发(Fixed burst); (2) 递增猝发(Incrementing burst); (3) 包裹猝发(Wrapping burst) 表2.8给出了ARBURST和AWBURST信号所选择的 猝发类型:

33 AXI4猝发类型及地址计算 --AXI4猝发类型
ARBURST[1:0] AWBURST[1:0] 猝发类型 描述 访问 00 固定(FIXED) 固定地址猝发 FIFO类型 01 递增(INCR) 递增地址猝发 通常的顺序存储器 10 包裹(WRAP) 递增地址猝发,但是在边界时,返回到低地址。 高速缓存行 11 保留 -

34 AXI4猝发类型及地址计算 --AXI4猝发类型
对于包裹式的猝发方式,有两个限制: (1) 开始地址必须对齐传输大小; (2) 猝发的长度必须是2,4,8或16。 (3) 大于16拍的猝发传输只支持INCR类型。WRAP和 FIXED类型只限于小于16拍的猝发传输。

35 AXI4猝发类型及地址计算 --AXI4猝发地址
为了说明猝发交易过程中地址的计算方法,首先给出 计算过程中,所需要使用的一些术语: (1) Start_Address: 主设备给出的开始地址; (2) Number_Bytes: 每次数据传输过程中最大的字节个数; (3) Data_Bus_Bytes: 数据总线上的字节通道的个数; (4) Aligned_Address: 开始地址的对齐版本; (5) Burst_Length: 在一个猝发中数据传输的总个数; (6) Address_N: 在一个猝发中传输N个的地址; (7) Wrap_Boundary: 在一个包裹猝发方式的低地址; (8) Lower_Byte_Lane: 一个传输最低寻址字节的字节通道; (9) Upper_Byte_Lane: 一个传输中最高寻址字节的字节通道; (10) INT(x): x取整操作;

36 AXI4猝发类型及地址计算 --AXI4猝发地址
给上面的术语进行如下的赋值操作: (1) Start_Address=ADDR; (2) Number_Bytes=2SIZE; (3) Burst_Length=LEN+1; (4)Aligned_Address=(INT(Start_Address/Number_Byte))x Number_Bytes;

37 AXI4猝发类型及地址计算 --AXI4猝发地址
在一个猝发中,第一个传输的地址表示为: Address_1=Start_Address; 在一个猝发中,传输N个数据后的地址表示为: Address_N=Aligned_Address+(N-1)x Number_Bytes; 对于WARP的猝发方式,其边界由下式确定为: Wrap_Boundary=(Int(Start_Address/(Number_Bytes x Burst_Length))) x (Number_Bytes x Burst_Length); 如果Address_N=Wrap_Boundary+(Number_Bytes x Burst_Length). 则使用这个等式: Address_N=Wrap_Address 在边界后,使用这个等式: Address_N = Start_Address + ((N – 1) x Number_Bytes) – (Number_Bytes x Burst_Length);

38 AXI4猝发类型及地址计算 --AXI4猝发地址
使用下面的等式确定第一个传输中使用哪个字 节通道: Lower_Byte_Lane = Start_Address - (INT(Start_Address / Data_Bus_Bytes))x Data_Bus_Bytes Upper_Byte_Lane = Aligned_Address + (Number_Bytes – 1) -(INT(Start_Address / Data_Bus_Bytes)) x Data_Bus_Bytes;

39 AXI4猝发类型及地址计算 --AXI4猝发地址
使用下面的等式确定在一个猝发中第一个传输 后用于所有传输中使用哪个字节通道: Lower_Byte_Lane = Address_N – (INT(Address_N / Data_Bus_Bytes)) x Data_Bus_Bytes; Upper_Byte_Lane = Lower_Byte_Lane + Number_Bytes – 1; 传输数据的范围在: DATA[(8xUpper_Byte_Lane) + 7 : (8 x Lower_Byte_Lane)];

40 AWCACHE和ARCACHE属性 AWCACHE[3:2]和ARCACHE[3:2]
对于读交易,写分配位表示: (1) 由于一个写交易,位置能预先在高速缓存Cache中进行分 配; (2) 由于其它主设备的行为,位置能预先在高速缓存Cache中 进行分配; (3) 对于写交易,读分配位表示: (4) 由于一个读交易,位置能预先在高速缓存Cache中进行分 (5) 由于其它主设备的行为,位置能预先在高速缓存Cache中

41 AWCACHE和ARCACHE属性AWCACHE[1]和ARCACHE[1]
AWCACHE[1]和ARCACHE[1]在AXI4中表示可修改 位。该位为1时,表示交易是可修改的,否则交易时不可 修改的。 1.不可修改的交易 不可修改交易不能分割成多个交易或者与其它交易合 并。交易不可修改时,下面的参数是不可修改的:传输地 址(AWADDR, ARADDR, AWREGION, ARREGION)、 猝发大小(AWSIZE, ARSIZE)、猝发长度(AWLEN, ARLEN)、猝发类型(AWBURST. ARBURST)、锁类 型(AWLOCK, ARLOCK)、保护类型(AWPROT, ARPROT)。

42 AWCACHE和ARCACHE属性AWCACHE[1]和ARCACHE[1]
不可修改交易中,交易ID和QoS值是可修改的。对 于猝发长度大于16的不可修改的交易,允许分割成多 个交易。每个产生的交易都满足上面的要求,但减少 猝发长度,所产生的猝发地址也相应的修改。

43 AWCACHE和ARCACHE属性AWCACHE[1]和ARCACHE[1]
2.可修改的交易 可修改的交易可以通过下面的方法进行操作: (1) 交易能分割成多个交易; (2) 多个交易能合并成一个交易; (3) 读交易能取出比要求多的数据; (4) 写交易能访问比要求更大的地址范围,使用写选通信号 来保证只更新合理的位置; (5) 可以修改每个产生交易的传输地址(AWADDR, ARADDR)、猝发大小(AWSIZE, ARSIZE)、猝发长度 (AWLEN, ARLEN)、猝发类型(AWBURST. ARBURST) 但是不能修改锁类型(AWLOCK, ARLOCK)、保护类型 (AWPROT,ARPROT)。可修改交易中,交易ID和QoS值是 可修改的。

44 AWCACHE和ARCACHE属性AWCACHE[0]和ARCACHE[0]
端设备发出或者由写的是最终目的地发出。

45 AXI互联结构模型 其互联结构模型包括: 下面对这几种互联结构模型进行介绍: 直通模式; 只转换模式; N-1互联模式; 1-N互联模式;
N-M互联模式。 下面对这几种互联结构模型进行介绍:

46 AXI互联结构模型 --直通模式 如图2.7所示,当只有一个主设备和一个从设备和 AXI互联时,AXI互联不执行任何转换或流水线功能,
有延迟存在,同时不消耗逻辑资源。 主设备0 从设备0 图2.7 直通模式 互联

47 AXI互联结构模型 --只转换模式 如图2.8所示,当连接一个主设备和一个从设备时, AXI互联能执行不同的转换和流水线功能。这些功能主
要包括: 数据宽度转换; 时钟速率转化; AXI4-Lite从适应; AXI-3从适应; 流水线(例如一个寄存器Slice或者数据通道FIFO)。 在只转换模式下,AXI互联不包含仲裁、解码或布线 逻辑,但是可能产生延迟。

48 AXI互联结构模型 --只转换模式 主设备0 转换/流水 从设备0 图2.8转换模式 互联

49 AXI互联结构模型 --N-1互联模式 如图2.9所示,AXI互联的一个普通的退化配置模 式是,多个主设备访问一个从设备。
典型的情况是,一个存储器控制器,很显然需要仲 裁逻辑。这种情况下,AXI互联不需要地址译码逻辑 (除非需要确认地址的有效范围)。在这个配置中, 也执行数据宽度和时钟速率的转换。

50 AXI互联结构模型 --N-1互联模式 互联 主设备0 从设备0 图2.9 N-1互联模式 主设备1

51 AXI互联结构模型 --1-N互联模式 如图2.10所示,另一个AXI互联退化的结构是,一 个主设备,典型的处理器,访问多个存储器映射的从
写数据通道)。 互联 主设备0 从设备0 图 N互联模式 从设备1 解码/布线

52 AXI互联结构模型 --N-M互联模式 AXI互联提供了一种共享地址多数据流(SAMD) 拓扑结构,这种结构中包含稀疏的数据交叉开关连
接,单线程写和读地址仲裁。如图2.11所示,给出了一 种共享写和读地址仲裁的N-M的AXI互联结构。

53 AXI互联结构模型 --N-M互联模式 互联 从设备0 主设备0 路由器 从设备1 主设备1 从设备2 主设备2
写交易仲裁器 读交易仲裁器 AW AR 主设备0 路由器 图2.11 共享写和读地址仲裁结构 主设备1 主设备2 互联 从设备0 从设备1 从设备2

54 用户信号 通常情况下,不推荐使用用户信号,因为在AXI4协 议中没有定义它们的功能,这样两个元件在不兼容行
为下使用相同的用户信号,可能导致互操作性问题。 下面给出每个AXI4通道的用户信号名字: AWUSER:写地址通道用户信号; ARUSER:读地址通道用户信号; WUSER:写数据通道用户信号; RUSER:读数据通道用户信号; BUSER:写响应通道用户信号;

55 用户信号 当实现用户信号时,并不要求所有通道支持用户 信号。此外,不希望在一个通用的主设备和从设备元 件接口支持用户信号。
推荐,包含支持用户信号的互联元件允许这些信 号在主设备和从设备之间进行传递。用户信号的宽度 在实现时定义,在每个通道的宽度可以不同。

56 AXI4-Lite功能 AXI4-Lite接口是AXI4接口的子集专用于和元件内的
口,这个接口是较小的,对设计和验证方面的要求更 少。AXI4-Lite接口的关键特性包含: 所有交易的猝发长度为1; 所有访问数据的大小和数据总线宽度相同; 支持数据总线宽度为32位或64位(要求64位原子访问); 所有的访问相当于AWCACHE和ARCACHE等于b0000(非缓冲和非缓存的); 不支持互斥性操作;

57 AXI4-Lite功能 全局 写地址通道 写数据通道 写响应通道 读地址通道 读数据通道 ACLK AWVAILD WVALID
BVALID ARVALID RVALID ARESETn AWREADY WREADY BREADY ARREADY RREADY - AWADDR WDATA BRESP ARADDR RDATA AWPROT WSTRB ARPROT PRRESP

58 AXI4-Lite功能 支持多个未完成的交易,但是一个从设备的设计 允许通过合理的使用握手信号,对这种交易进行限制。
在AXI-Lite中不支持AXI IDs。这个定义规定了所 有的交易必须是顺序的,所有的交易必须使用一个单 独固定的ID值。 从设备可选择支持AXI ID信号,这样允许使用的从 设备是全AXI接口,而不需要对接口进行修改。

59 AXI4-Lite功能 AXI4-Lite支持写选通。这样允许实现多个不同大 小的寄存器,也允许实现可以使用字节和半字访问进
行写操作的存储器结构。所有的主接口和互联必须提 供正确的写选通信号。所有的从设备元件可以选择是 否使用写选通信号。对于提供类似存储器行为的从设 备元件必须充分的支持写选通。

60 AXI4-Lite功能 表2.10给出了AXI和AXI4-Lite的互通性。只有主设
种情况要求反映ID,使用和地址交易相关的AXI ID,然 后随读数据或者写响应返回相同的ID号,这是因为主设 备需要返回的ID来正确识别交易的响应。

61 AXI4-Lite功能 主设备 从设备 互通性 AXI 充分 AXI-Lite 要求反映AXI ID,可能要求转换

62 AXI4-Stream功能 AXI4-Stream协议作为一个标准的接口,这个接口 用于连接希望交换数据的元件。接口用于将产生数据
的一个主设备和接收数据的一个从设备连接。当很多 元件和从元件连接时,也能使用这个协议。协议支持 使用具有相同设置共享总线的多个数据流,允许建立 一个互联结构,这个结构能够执行扩展、压缩和路由 操作。 AXI-Stream接口支持很多不同的流类型。流协议在 传输和包之间定义了联系。表2.11给出了AXI-Stream接 口的信号定义。

63 AXI4-Stream功能 信号 源 描述 ACLK 时钟源 全局时钟信号。所有信号在ACLK信号上升沿采样 ARESETn 复位源
TVALID TVALID表明主设备正在驱动一个有效的传输。当确认TVALID和TREADY信号后,发生一个传输。 TREADY TREADY表明在当前周期能接收一个传输 TDATA[(8n-1):0] TDATA是基本的有效载荷,用来提供跨越接口的数据。数据为整数个字节 TSTRB[(n-1):0] TSTRB为字节修饰符,用来描述TDATA相关字节内容作为一个数字字节或者一个位置字节被处理。 TKEEP[(n-1):0] TKEEP是字节修饰符,用来表明TDATA相关字节的内容是否作为数据流的一部分被处理。 TKEEP字节修饰符未被确认的那些相关的字节是空字节,可以从数据流中去除。 TLAST TLAST表明了包的边界 TID[(i-1):0] TID是数据流的标识符,用来表明不同的数据流。 TDEST[(d-1):0] TDEST为数据流提供路由信息。 TUSER[(u-1):0] TUSER是用户定义的边带信息,这些信息能伴随数据流进行发送。

64 AXI4-Stream功能 TVALID和TREADY握手信号用来确定跨越接口数 据的时间。双向的流控制机制使得主设备和从设备能
控制跨越接口所发送的数据和控制信息的速度。对于 一个发生的传输,必须确认TVALID和TREADY信号。 一个主设备不允许在确认TVALID前,等待确认 TREADY。一旦确认TVALID,必须一直保持这个状 态,直到产生握手信号。 在确认相应的TREADY信号前,一个从设备允许等 待确认TVALID。 如果从设备确认了TREADY,在TVALID信号确认 前,允许不确认(释放)TREADY。

65 AXI4-Stream功能 1. TVALID在TREADY前的握手信号 图2.13给出了TVALID在TREADY前的握手信号。
从图中可以看出,主设备给出数据和控制信号,并且确 认TVALID信号为高。一旦主设备确认了VALID,来自主 设备的数据或者控制信息保持不变,这种状态一直保持 到从设备驱动TREADY信号为高,用来表示从设备可以 接收数据和控制信号。在这种情况下,一旦从设备确认 TREADY为高,则进行传输。箭头标记的地方表示传输 开始。

66 AXI4-Stream功能 图2.13 TVALID在TREADY前握手

67 AXI4-Stream功能 2. TREADY在TVALID前的握手信号 图2.14给出了TREADY在TVALID前的握手信号
图。图中可以看出,从设备在数据和控制信息有效 前,驱动TREADY信号为高。这表示,目的设备能在 一个ACLK周期内接收数据和控制信息。在这种情况 下,一旦主机确认TVALID信号为高,则开始传输。箭 头标记的地方表示传输开始。

68 AXI4-Stream功能 图2.14 TREADY在TVALID前握手

69 AXI4-Stream功能 3.TVALID和TREDAY握手 图2.15给出了TVALID和TREADY握手的图。在一
个ACLK周期内,主设备确认TVALID为高,从设备确 认TREADY为高。在箭头标记的地方产生传输。

70 AXI4-Stream功能 图2.15 TREADY和TVALID握手


Download ppt "AMBA AXI4协议 何宾 2012.02."

Similar presentations


Ads by Google