0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AXI通道定义及AXI总线信号描述

FPGA之家 来源:FPGA之家 作者:FPGA之家 2022-08-04 10:49 次阅读

学习内容

本文主要介绍了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 :复位信号低电平有效。

66d95652-138d-11ed-ba43-dac502259ad0.png

在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。

66e96c9a-138d-11ed-ba43-dac502259ad0.png

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

66fc116a-138d-11ed-ba43-dac502259ad0.png

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

67105512-138d-11ed-ba43-dac502259ad0.png

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

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

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

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

回环突发要求:

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

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

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

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

67220aa0-138d-11ed-ba43-dac502259ad0.png

写数据通道信号

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信号解码表如下:

672d3ac4-138d-11ed-ba43-dac502259ad0.png

读地址通道信号

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

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 总线
    +关注

    关注

    10

    文章

    2863

    浏览量

    87957
  • AXI
    AXI
    +关注

    关注

    1

    文章

    127

    浏览量

    16585

原文标题:Reference

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Xilinx zynq AXI总线全面解读

    AXI (Advanced eXtensible Interface) 本是由ARM公司提出的一种总线协议, Xilinx从 6 系列的 FPGA 开始对 AXI 总线提供支持,目前使
    的头像 发表于 12-04 12:22 7029次阅读
     Xilinx zynq <b class='flag-5'>AXI</b><b class='flag-5'>总线</b>全面解读

    基于AXI总线的加法器模块解决方案

    前面一节我们学会了创建基于AXI总线的IP,但是对于AXI协议各信号的时序还不太了解。这个实验就是通过SDK和Vivado联合调试观察AXI
    的头像 发表于 12-23 15:32 2514次阅读

    ARM+FPGA开发:基于AXI总线的GPIO IP创建

    开发基于总线的系统。 使用的板子是zc702。 AXI总线初识: AXI (Advanced eXtensible Interface),由ARM公司提出的一种
    的头像 发表于 12-25 14:07 5556次阅读
    ARM+FPGA开发:基于<b class='flag-5'>AXI</b><b class='flag-5'>总线</b>的GPIO IP创建

    ZYNQ & AXI总线 & PS与PL内部通信(用户自定义IP)

    , WDATA,WSTRB, WREADY信号;(5)写应答通道,包含BVALID, BRESP, BREADY信号;(6)系统通道,包含:ACLK,ARESETN
    发表于 01-08 15:44

    玩转Zynq连载3——AXI总线协议介绍1

    独立的数据产生。 1.2.2 接口和互联一个典型的系统包含数个主机和从机设备,这些设备通过互联总线的形式连接在一起,如图所示。AXI协议提供单一接口定义的形式来描述这种互联: ●在主
    发表于 05-06 16:55

    AXI总线的相关资料下载

    AXI总线学习AXI协议的主要特征主要结构通道定义读写地址通道读数据
    发表于 02-09 07:17

    看看在SpinalHDL中AXI4总线互联IP的设计

    。readDataReorderingDepth:读乱序传输的深度。AXI4总线定义为:AXI4总线定义
    发表于 08-02 14:28

    AMBA AXI总线学习笔记

    AMBA AXI 总线学习笔记,非常详细的AXI总线操作说明
    发表于 11-11 16:49 11次下载

    AXI 总线和引脚的介绍

    1、AXI 总线通道总线和引脚的介绍 AXI接口具有五个独立的通道: (1)写地址
    发表于 01-05 08:13 1w次阅读
    <b class='flag-5'>AXI</b> <b class='flag-5'>总线</b>和引脚的介绍

    你必须了解的AXI总线详解

    DMA的总结 ZYNQ中不同应用的DMA 几个常用的 AXI 接口 IP 的功能(上面已经提到): AXI-DMA:实现从 PS 内存到 PL 高速传输高速通道 AXI-HP----AXI
    的头像 发表于 10-09 18:05 7375次阅读
    你必须了解的<b class='flag-5'>AXI</b><b class='flag-5'>总线</b>详解

    ZYNQ中DMA与AXI4总线

    ZYNQ中DMA与AXI4总线 为什么在ZYNQ中DMA和AXI联系这么密切?通过上面的介绍我们知道ZYNQ中基本是以AXI总线完成相关功能
    的头像 发表于 11-02 11:27 4282次阅读
    ZYNQ中DMA与<b class='flag-5'>AXI</b>4<b class='flag-5'>总线</b>

    浅谈ZYNQ-AXI总线信号接口要求以及时序关系

    学习内容 学习关于AXI总线信号接口的具体要求(包括不同通道之间的关系,握手机制说明等)和AXI4-Lite的相关信息,在文章后半部分对
    的头像 发表于 06-01 10:57 2586次阅读
    浅谈ZYNQ-<b class='flag-5'>AXI</b><b class='flag-5'>总线</b>的<b class='flag-5'>信号</b>接口要求以及时序关系

    AXI总线学习(AXI3&4)

    AXI总线学习AXI协议的主要特征主要结构通道定义读写地址通道读数据
    发表于 12-05 16:21 5次下载
    <b class='flag-5'>AXI</b><b class='flag-5'>总线</b>学习(<b class='flag-5'>AXI</b>3&4)

    AXI4协议五个不同通道的握手机制

    AXI4 协议定义了五个不同的通道,如 AXI 通道中所述。所有这些通道共享基于 VALID 和
    的头像 发表于 05-08 11:37 1182次阅读
    <b class='flag-5'>AXI</b>4协议五个不同<b class='flag-5'>通道</b>的握手机制

    AXI总线工作流程

    在zynq开发过程中,AXI总线经常遇到,每次看到AXI总线相关的信号时都一头雾水,仔细研究一下,将信号
    的头像 发表于 05-25 11:22 955次阅读
    <b class='flag-5'>AXI</b><b class='flag-5'>总线</b>工作流程