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

学习内容

本文主要介绍了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通道定义及AXI总线信号描述_第1张图片

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

写地址通道信号

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

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

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

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

【转载】AXI通道定义及AXI总线信号描述_第2张图片

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

【转载】AXI通道定义及AXI总线信号描述_第3张图片

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

【转载】AXI通道定义及AXI总线信号描述_第4张图片

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

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

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

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

回环突发要求:

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

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

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

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

【转载】AXI通道定义及AXI总线信号描述_第5张图片

写数据通道信号

WID Master 写ID。这个信号是写数据传输的ID标签。仅在AXI3中支持
WDATA Master 写入数据
WSTRB Master 写频闪信号。该信号指示哪些字节通道保存有效数据。写数据总线的每8位有一个写频闪位。
WLAST Master LAST指示信号。这个信号指示写操作中的最后一次传输。
WUSER Master 用户信号。可选写入数据通道的自定义信号。仅在AXI4中支持。
WVALID Master 写有效。这个信号表明有效的写数据和频闪是可用的
WREADY Slave 写准备。这个信号表明从机可以接受写数据。
Signal Source Description

写响应通道信号

BID Slave 写ID。这个信号是写数据传输的ID标签。仅在AXI3中支持
BRESP Slave 写响应。这个信号指示写操作的状态。
BUSER Slave 用户信号。可选写响应通道中的自定义信号。仅在AXI4中支持。
BVALID Slave 写响应有效。该信号表明通道正在发出有效的写响应信号。
BREADY Master 写响应准备。这个信号表明主机可以接受写响应。
Signal Source Description

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

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

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

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

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

BRESP信号解码表如下:

【转载】AXI通道定义及AXI总线信号描述_第6张图片

读地址通道信号

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

读数据通道信号

RID Slave 读ID标签。这个信号是识别标签的读取数据信号的从机产生的
RDATA Slave 读入数据
RRESP Slave 读取响应。这个信号指示读传输的状态。。
RLAST Slave LAST指示信号。这个信号指示读操作中的最后一次传输。
RUSER Slave 用户信号。可选读取数据通道中的用户自定义信号。仅在AXI4中支持。
WVALID Slave 读有效。该信号表明通道正在发送所需的读取数据。
RREADY Master 读准备。该信号表明主机可以接受读取数据和响应信息
Signal Source Description

Reference

正点原子ZYNQ视频教程。

ARM官方文档:IHI0022D

审核编辑:汤梓红

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

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

你可能感兴趣的:(fpga开发)