【转载】AXI通道定义及AXI总线信号描述

本文详细介绍了AXI协议的各个通道,包括读写地址、读写数据、写响应等通道,以及各通道中的信号如VALID、READY、LAST等,还涉及到突发传输的大小、长度和类型,并提到了AXI4-Full和AXI4-Lite接口的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习内容

本文主要介绍了AXI通道以及在每个通道下信号的概述。

AXI通道定义

简单回顾前文提到的AXI的通道定义,AXI协议是基于突发的,并定义了以下独立的传输通道:

• read address

• read data

• write address

• write data

• write response

每个独立通道由一组信息信号、VALID信号和READY信号组成。用于提供双向握手机制。VALID信号:信息源端使用VALID信号来显示何时是有效地址;数据或控制信息是否在通道上可用。READY信号:目的端使用READY信号来显示何时可以接受信息。LAST信号:读数据通道和写数据通道都包括一个LAST信号,以指示传输中的最后一个数据。

读写数据地址通道

读写通道都各自包含了他们各自的地址通道,地址通道携带了所有被需请求的的地址和相关的控制信息。

读数据通道

读数据通道把读数据和读响应信息从slave传送到master。其中包含下述信息:

数据总线,可以是8、16、32、64、128、256、512、1024位。

一个读响应信号用于表示读操作完成状态。

写数据通道

写数据通道将写数据从master传送到slave。其中包含下述信息:

数据总线,可以是8、16、32、64、128、256、512、1024位。

一个字节的通道频闪信号(WSTRB)指示8个数据位,指示哪些数据字节是有效的。

写数据通道信息总是被当作缓冲处理,因此主机执行写操作时,不需要从机确认之前的写操作。

写响应通道

写响应通道由从机发送给主机,包含了写响应信号,用于指示当前写操作是否完成。所有写操作都需要在写响应通道上发送完成信号。

AXI总线信号描述

了解完通道的内容,接着介绍具体的信号功能。本节介绍的是AXI4-Full的信号功能,后文将介绍AXI4-Lite接口,相对AXI4-Full,AXI4-Lite接口信号会少很多。

全局信号

ACLK :全局时钟

ARESETn :复位信号低电平有效。

在AXI总线中所有的数据都是在全局时钟的上升沿进行采样的。

写地址通道信号

下面的表格列举出写地址通道的信号,常用的信号将加粗标注。

AWIDMaster写地址ID。这个信号是信号的写地址组的识别标签。指定某些特殊传输任务的顺序
AWADDRMaster写地址。写地址给出了写突发传输下第一个数据的地址。
AWLENMaster突发传输长度。AWLEN给出了在一次突发传输中的确切数目长度。在AXI3和AXI4定义不同
AWSIZEMaster突发传输的大小。这个信号指示了单次传输的的数据大小。
AWBURSTMaster突发传输的类型。突发类型和大小信息,确定如何计算突发内每个传输的地址。
AWLOCKMaster锁存的类型。提供关于转移的附加信息。在AXI3和AXI4定义不同,区分正常传输(0)和独有传输(1)
AWCACHEMaster内存类型。这个信号指示操作如何在系统中进行。总线中的存储类型(0010:不缓存模式)
AWPROTMaster保护类型。这个信号表明操作的优先级和安全级别,以及操作是数据访问还是指令访问。
AWQOSMaster服务质量QoS。为每个写操作发送的QoS标识符。仅在AXI4中支持。
AWREGIONMaster区域ID标识符。允许一个slave上的单个物理接口用于多个逻辑接口。仅在AXI4中支持。
AWUSERMaster用户信号。可选写地址通道自定义信号。(完成用户的自定义操作),仅在AXI4中支持。
AWVALIDMaster写地址有效。这个信号表明通道正在发送有效的写地址和控制信息。
AWREADYSlave写地址准备。这个信号表明从机准备接受一个地址和相关的控制信号。
SignalSourceDescription

如何确定突发传输的大小、长度、类型?

下面给出一个例子:如下图所指示:下图是一个读地址通道的操作,这里用方框框选的数据传输,是一次突发传输。对于该次突发传输:一共进行了四次数据传输,所以突发的长度就是4。然后针对一次数据传输,每次数据传输位宽,为突发传输的大小。假设传输的数据是8位的,这里的突发长度就是8。

对于突发传输的长度的不同,这里直接引用ARM的文档内容参考即可。

对于突发的大小,这里定义了组寄存器来标识传输的数据位宽:

对于突发的类型,这里有三种突发类型分别如下:

FIXED(固定型):在一个固定的突发中,地址对于突发中的每一次传输都是相同的。这种突发类型用于重复访问相同的位置,例如加载或清空FIFO。INCR(自增型):在递增的突发中,突发中每个传输的地址是前一个传输的地址的增量。增量值取决于传输的大小。例如,在一个大小为4个bvtes的突发中,每个传输的地址是前一个地址的加4个。这种突发类型用于访问顺序存储器。
WRAP(回环突发):回环突发类似于递增突发。不同的是,如果达到了地址上限,地址将被重新装一个较低的地址。这种突发类型用于高速缓存线访问。使用回环突发必须遵守下列限制条件:

起始地址必须与每次传输的大小一致;

突发的长度必须是2、4、8或16。

回环突发要求:

突发使用的最低地址与要传输的数据的总大小对齐,即为((突发中每个传输的大小)×(突发中传输的数量))。这个地址被定义为换行边界。

在每次传输之后,地址以同样的方式增加,就像增加带宽一样。但是,如果这个增加的地址是((wrap boundary) +(要传输的数据的总大小),那么地址就会绕到wrap boundary。

在突发中的第一次传输可以使用一个比绕包边界更高的地址,这取决于适用于绕包突发的限制。这意味着对任何第一个地址高于边界的操作,会自动换行突发。

突发类型的寄存器的解码表如下:

写数据通道信号

WIDMaster写ID。这个信号是写数据传输的ID标签。仅在AXI3中支持
WDATAMaster写入数据
WSTRBMaster写频闪信号。该信号指示哪些字节通道保存有效数据。写数据总线的每8位有一个写频闪位。
WLASTMasterLAST指示信号。这个信号指示写操作中的最后一次传输。
WUSERMaster用户信号。可选写入数据通道的自定义信号。仅在AXI4中支持。
WVALIDMaster写有效。这个信号表明有效的写数据和频闪是可用的
WREADYSlave写准备。这个信号表明从机可以接受写数据。
SignalSourceDescription

写响应通道信号

BIDSlave写ID。这个信号是写数据传输的ID标签。仅在AXI3中支持
BRESPSlave写响应。这个信号指示写操作的状态。
BUSERSlave用户信号。可选写响应通道中的自定义信号。仅在AXI4中支持。
BVALIDSlave写响应有效。该信号表明通道正在发出有效的写响应信号。
BREADYMaster写响应准备。这个信号表明主机可以接受写响应。
SignalSourceDescription

对于写响应通道的BRESP信号,具体响应有下述四种类型:

OKAY:正常访问成功。表示正常访问成功。也可以指示独占访问失败。

EXOKAY:独占访问。指示独占访问的读或写部分已经成功。

SLVERR:从机错误。当访问成功到达从机时使用,但是从机向主机返回一个错误条件。

DECERR:解码错误。通常由互连组件生成,以指示在操作地址处没有从从机响应。

BRESP信号解码表如下:

读地址通道信号

ARIDMaster读地址ID。这个信号是信号读地址组的识别标签。指定某些特殊传输任务的顺序
ARADDRMaster读地址。读地址给出了读突发传输下第一个数据的地址。
ARLENMaster突发传输长度。AWLEN给出了在一次突发传输中的确切数目长度。在AXI3和AXI4定义不同
ARSIZEMaster突发传输的大小。这个信号指示了单次传输的的数据大小。
ARBURSTMaster突发传输的类型。突发类型和大小信息,确定如何计算突发内每个传输的地址。
ARLOCKMaster锁存的类型。提供关于转移的附加信息。在AXI3和AXI4定义不同,区分正常传输(0)和独有传输(1)
ARCACHEMaster内存类型。这个信号指示操作如何在系统中进行。总线中的存储类型(0010:不缓存模式)
ARPROTMaster保护类型。这个信号表明操作的优先级和安全级别,以及操作是数据访问还是指令访问。
ARQOSMaster服务质量QoS。为每个读操作发送的QoS标识符。仅在AXI4中支持。
ARREGIONMaster区域ID标识符。允许一个slave上的单个物理接口用于多个逻辑接口。仅在AXI4中支持。
ARUSERMaster用户信号。可选读地址通道自定义信号。(完成用户的自定义操作),仅在AXI4中支持。
ARVALIDMaster读地址有效。这个信号表明通道正在发送有效的读地址和控制信息。
ARREADYSlave读地址准备。这个信号表明从机准备接受一个地址和相关的控制信号。
SignalSourceDescription

读数据通道信号

RIDSlave读ID标签。这个信号是识别标签的读取数据信号的从机产生的
RDATASlave读入数据
RRESPSlave读取响应。这个信号指示读传输的状态。。
RLASTSlaveLAST指示信号。这个信号指示读操作中的最后一次传输。
RUSERSlave用户信号。可选读取数据通道中的用户自定义信号。仅在AXI4中支持。
WVALIDSlave读有效。该信号表明通道正在发送所需的读取数据。
RREADYMaster读准备。该信号表明主机可以接受读取数据和响应信息
SignalSourceDescription

Reference

正点原子ZYNQ视频教程

ARM官方文档:IHI0022D

审核编辑:汤梓红

原文章地址:https://www.elecfans.com/d/1871945.html

转载理由:写的很好,怕没了,于是转载到这里。谨代表个人向原作者致谢,侵删。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值