AXI协议:基本介绍

AXI与AMBA协议的对应关系:

AXI和ACE的版本与AMBA版本对应关系如下:


image.png

• AXI3:适用于以后的所有版本。后续版本新增内容会在新版本规范中特别标识。
• AMBA 5引入了一些新特性,这些新特性通常是以前AMBA 4规范中可选的附加部分。在新的设计中鼓励使用AMBA 5接口。

A1.1 关于AXI协议

AMBA AXI协议支持用于主从模块之间通信的高性能、高频率系统设计。

AXI 协议的定位:

• 适用于高带宽、低时延设计

• 不需要复杂的桥就可以满足高频时钟的要求

• 满足大多数模块的接口需求

• 适用于初始延迟较高的存储器控制

• 在总线互联架构上提供更大的灵活性

• 后向兼容AHB和APB接口

AXI 协议的主要特征:

• 地址/控制操作与数据操作分离

• 使用byte strobes(字节选通)信号实现非对齐数据传输

• 使用burst传输(突发传输)时只需要发送首地址,便可以发送一段数据

• 读数据和写数据通道独立,从而支持DMA(low-cost Direct Memory Access)

• 支持outstanding功能,可以发送多个地址进行读写

• 支持out-of-order传输

• Permits easy addition of register stages to provide timing closure

AXI 协议包括:

• AXI4-Lite:是AXI4协议的子集,用于简单的控制寄存器类型接口的组件互联

• AXI5-Lite:是AXI5协议的子集,使用AXI5协议特性,用于简单的控制寄存器类型接口的组件互联。

A1.2 AXI协议架构

AXI协议基本传输模式为burst模式,定义了5个独立的传输通道:

image.png

地址通道传输表征要传输数据特性的控制信息。

数据通道用来在主从模块间传输数据:

• 写数据通道:将数据从master传输给slave。在一次写传输中,slave通过Write response通道告诉master传输已经完成。

• 读数据通道:将数据从slave传输给master

AXI协议:

• 允许地址信息先于数据传输;

• 支持多个outstanding传输;

• 支持out-of-order传输

图A1-1描述了一次写传输的操作过程,需要用到写地址通道、写数据通道、写响应通道。


image.png

图A1-2描述了一次读传输的操作过程,需要用到读地址通道、读数据通道。


image.png

A1.2.1 通道定义 channel definition

5个独立的通道,每一个通道都由一组信息信号和一对握手信号VALID、READY组成

VALID:信源用来表示information(数据/控制信号等信息)在该通道有效;READY:信宿用来表示信息已经获取;LAST信号:数据通道有一个LAST信号,用来标识传输的最后一个数据。

读和写地址通道

读传输和写传输都有自己对应的地址通道,携带传输需要的地址和控制信息。

读数据通道

读数据通道携带从salve传输给master的读数据和读响应信息:

• 数据总线位宽可使用:8, 16, 32, 64, 128, 256, 512, or 1024 bits

• 读响应信号表示读传输完成

写数据通道

写数据通道携带从master传输给salve的写数据:

• 数据总线位宽可使用:8, 16, 32, 64, 128, 256, 512, or 1024 bits

• 每8个数据位(1个字节)有一个strobe选通信号,用来表示该字节数据有效

写数据通道的信息经常被认为是有缓冲的,所以master不需要slave对上一次传输确认就可以执行写传输。

写响应通道

Slave通过该通道对写传输做出响应。所有的写传输都需要在该通道发出完成的响应信号。

图A1-1可以看出,写响应信号仅在一次传输完成时发出,不会对传输中的每个数据响应。

A1.2.2 接口和互连 interface and interconnect

多个连接在一起的master和slave构成的典型系统如图A1-3所示:

image.png

AXI协议为以下模块之间连接给出了一个单一的接口定义:

image.png

AXI 接口定义支持许多不同的互连实现。

典型系统拓扑结构

大部分系统使用以下三种拓扑结构中的一种:

• 共享地址和数据总线

• 共享地址总线,有多个数据总线

• 多层结构,有多个地址和数据总线

在大多数系统中,地址信道带宽要求明显小于数据信道带宽要求。因此,通过共享地址总线和多个数据总线来实现并行数据传输的系统,可以在系统性能和互连复杂性之间实现良好的平衡。

A1.2.3 寄存器片 Register slices

每一个AXI通道的信息传输都是单向的,且各个通道之间也不需要固定的关系。这些特性意味着可以在任何通道的几乎任何位置插入一个寄存器片,而代价是增加一个延迟周期。

注意:这些特点使以下成为可能:

在延迟周期和最大操作频率之间进行权衡

处理器和高性能内存之间的直接、快速连接,但要使用简单的寄存器片来隔离较长的路径,以减少对性能要求不高的外围设备。

A1.3 术语 Terminology

本节总结本规范中使用的术语,这些术语是在术语表或其他地方定义的。在适当的地方,本节中列出的术语链接到相应的术语表定义。

A1.3.1 AXI components and topology

Components: 一种具有至少一个AMBA接口的独特功能部件。组件可以用作主组件、从组件、外设组件和互连组件的通用术语。

Master component:发起传输的组件。一个组件既可以是master,也可以是slave,比如DMA组件在发起数据传输时为master,当被编程时为slave。

Slave component:接收传输请求,并作出响应。分为Memory slave component和Peripheral slave component。

Interconnect component:一个具有多个AMBA接口的组件,该接口将一个或多个主组件连接到一个或多个从组件。

对于一个特殊的AXI传输,上游和下游指的是AXI组件在AXI拓扑中的相对位置。

A1.3.2 AXI transactions, and memory types

当AXI master向AXI slave发起一次AXI传输,

• 在AXI总线上所需的一整套操作构成了AXI传输。

• 任何需要的有效载荷数据都将作为一个AXI突发传输。

• 一个突发传输可以包含多个数据传输,或AXI Beats(单独的数据)。

A1.3.3 Caches and cache operation

这个规范没有定义标准的缓存术语,这些术语是在任何有关缓存的参考工作中定义的,但是缓存和高速缓存线路的术语表阐明了在本文档中如何使用这些术语。

Cache line:高速缓存中的基本存储单元。它在文字上的大小总是二的幂。高速缓存线必须与高速缓存线的大小对齐。

你可能感兴趣的:(AXI协议:基本介绍)