AXI总线协议

这篇具有很好参考价值的文章主要介绍了AXI总线协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

AXI协议简介

通道结构

基本传输

读burst示例

连续读burst示例 

写burst示例

传输顺序

握手过程

写地址通道

写数据通道

写响应通道

读地址通道

读数据通道

通道之间的关系

通道握手信号的依赖关系

关于寻址选择

burst长度

burst大小

burst类型

 地址固定的burst

地址递增的burst

地址卷回的burst

响应信号简介

响应类型

正常访问成功

独占访问

从设备错误

译码错误


AXI协议简介

AMBA-AXI协议以高性能,高频系统设计为目标,提供了很多适合高速亚微型系统互连的特征。

最新的AMBA接口的目标是:

        适合高带宽、低延迟的设计

        不使用复杂桥的情况下能够进行高频的操作适应多部件的接口要求

        适合高初始访问延迟的访问控制器为互联结构实现提供灵活性

        后向兼容现存的AHB和APB接口AXI协议的关键特征有:

        分离的地址/控制和数据通道

        采用字节选通的方式支持不对齐数据的传输基于burst交易的数据传输,主机只需提供首地址分离的读写数据通道,能支持低功耗的DMA支持outstanding交易

        支持乱序交易

        易于通过添加寄存器达到时序收敛

除了数据传输协议,AXI协议还提供可选扩展支持低功耗操作。

通道结构

AXI 协议是基于burst 的,每个交易都包括一些地址和控制信息描述了需要传输的数据的特征,这些地址和控制信息被放在地址通道上。数据在主设备和从设备之间传输,主设备通过写数据通道写数据到从设备,通过读数据通道从从设备读取数据。写交易中,所有数据流从主设备流向从设备,AXI协议提供一个额外的写响应通道,用于从设备通知主设备写交易完成。

AXI协议可以实现:

        在实际的数据传输之前发出地址信息支持多个outstanding 交易

        支持乱序交易

axi总线协议,协议,网络协议

 axi总线协议,协议,网络协议

五个独立的通道都包含一组标记信息的信号,并且使用双向的VALID和 READY信号实现握手机制。

源设备使用VALID信号标志通道上的数据合法和控制信息可用,目的设备使用READY信号标志可以接收数据。读数据和写数据通道都包含一个LAST信号标志一次交易中最后一个数据传输。

读地址和写地址通道

读交易和写交易都有各自的地址通道,地址通道包含了所有一次交易的所需地址和控制信息。AXI协议支持以下机制:

        可变长度burst,每个burst的长度可以为1-16拍

        每拍数据宽度支持8-1024bits

        地址卷回、地址递增和地址固定的burst

        通过独占交易和锁定交易实现原子操作

        系统级的缓存和缓冲控制

        安全访问和特权访问

读数据通道

读数据通道用于传输从从设备返回给主设备的读数据和读响应信息。读数据通道包含:

        数据总线,宽度可以为8,16,32,64,128,256,512或1024bits

        读响应标志了读交易完成的信息

写数据通道

写数据通道负责从主设备向从设备传输写数据,其包含:

        数据总线,宽度可以为8,16,32,64,128,256,512或1024bits

        每8个bit一个字节选通位,标志总线上的哪个字节可用

写数据通道的信息通常要加缓冲器,以使主设备可以在没有得到从设备先前写交易确认的情况下继续进行新的写交易。

写响应通道

写响应通道为从设备返回写交易响应的通道。所有的写交易结束都返回完成信号。

不是每个beat返回一个完成信号,而是每个burst完成后一起返回一个完成信号。

基本传输

本部分给出基于AXI协议的基本交易的示例。每个示例都使用了VALID和READY握手机制。地址信息及数据的传输都是在VALID和READY信号同时为高的时候传输。

读burst示例

图1-4为一个4拍的读burst交易的时序图。在这个例子中,主设备发送地址,一个周期后从设备接收。

主设备在发送地址的同时也发送了一些控制信息标志了burst的程度和类型,为了保持图的清晰性,在此省略这些信号。

地址总线上出现地址之后,在读数据通道上发生数据的传输。从设备一直保持VALID信号为低,直到读数据准备好。从设备发送RLAST信号标志此次 burst交易中最后一个数据的传输。

axi总线协议,协议,网络协议

连续读burst示例 

图1-5为主设备在从设备接收第一个burst交易的地址后发送另一个burst交易的地址的时序图。这样可以保证一个从设备在完成第一个burst交易的同时可以开始处理第二个burst交易的数据。

axi总线协议,协议,网络协议

写burst示例

图1-6为一次写交易的时序图。当主设备发送地址和控制信息到写地址通道之后,交易过程开始。然后主设备通过写数据通道发送每一个写数据,当为最后一个需要发送的数据时,主设备将WLAST信号置高。当从设备接收完所有的数据时,从设备返回给主设备一个写响应标志本次写交易的结束。

axi总线协议,协议,网络协议

传输顺序

AXI 协议支持交易乱序完成。它给通过AXI总线发送的交易分配一个ID标签。协议要求相同ID的交易按顺序完成,而对不同ID的交易没有顺序限制,可以乱序完成。

乱序交易可以在两个方面提高系统系能:

        互连设备可以使快速响应的从设备交易完成早于较慢速度的从设备

        复杂的从设备可以乱序返回读数据。例如,较晚访问的数据可能因为来自内部缓冲器而比先前访问的数据更早获得。

如果以个主设备要求交易完成的顺序要按照发送的顺序,则那些交易要使用相同的ID标签。但是若主设备不要求按顺序完成交易,则可以为不同的交易分配不同的ID,可以按任何顺序完成交易。

在一个多主设备的系统中,互连设备负责给ID添加额外信息保证从所有主设备而来的ID标签是唯一的。ID就像一个主设备号码,但通过扩展可以使得每个主设备可以通过提供ID,访问同一个接口,就像是好多虚拟的主设备一样。

虽然复杂的装置可以利用乱序,但是简单的装置不要求使用。简单的主设备可以为每个交易分配相同的ID,简单的从设备可以按序响应交易,不用管ID。

握手过程

所有五个通道使用相同的VALID/READY握手来传输数据和控制信息。这中双向的流控制机制可以使得主设备和从设备都可以控制数据和控制信息的传输速率。源设备产生VALID信号标志数据和控制信息有效。目的设备产生READY信号标志可以接收数据和控制信息。只有当VALID和READY同时为高时,传输进行。

不管主设备接口还是从设备接口,在输入和输出信号之间不允许有组合路径。图3-1到图3-3为握手时序图。图3-1中,源设备发出数据和控制信息同时将VALID信号拉高,数据和控制信息一直稳定,直到目的设备可以接收数据和控制信息将READY信号拉高时。箭头指示了传输开始的时刻。

axi总线协议,协议,网络协议

图3-2中,目的设备将READY信号拉高早于数据和控制信号有效。这表示目的设备可以在VALID信号有效后的一个周期内接收数据和控制信息。箭头指示了传输开始的时刻。

axi总线协议,协议,网络协议

图3-3中,源设备和目的设备恰好在同一个周期内可以进行数据和控制信息的传输。这种情况下,传输会立即进行。箭头指示了传输开始的时刻。

axi总线协议,协议,网络协议

写地址通道

主设备只有当它发送合法的地址和控制信息的情况下将AWVALID信号置为有效,并且必须保持有效直到从设备接收了地址和控制信息并且返回AWREADY信号。

AWREADY的默认值可以为高,也可以为低。推荐设置为高,尽管这样从设备必须能在任何合法地址发来的时候予以接收。

AWREADY的默认值可以为低,但不推荐,因为这样传输至少花费两个周期,一个置高AWVALID,一个置高AWREADY。

写数据通道

在一个写burst交易中,主设备只有当发送合法地址的时候将WVALID信号置为有效,并且必须保持有效知道从设备接收了写数据并且返回WREADY信号。

只有从设备总能在一个周期内接收写数据,WREADY的默认值可以设置为高。主设备必须发送 WLAST信号标志一次写burst交易中最后一拍数据传输。

当WVALID为低时,WSTRB[3:0]信号可以为任何值,但推荐这个信号置为低或保持原值。

写响应通道

当写响应有效时,从设备将BVALID信号置为有效,并且保持有效直到主设备接收响应并且返回BREADY信号。

只有主设备总能在一个周期内接收写响应,BREADY的默认值可以设置为高。

读地址通道

主设备只有当它发送合法的地址和控制信息的情况下将ARVALID信号置为有效,并且必须保持有效直到从设备接收了地址和控制信息并且返回ARREADY信号。

ARREADY的默认值可以为高,也可以为低。推荐设置为高,尽管这样从设备必须能在任何合法地址发来的时候予以接收。

ARREADY的默认值可以为低,但不推荐,因为这样传输至少花费两个周期,一个置高ARVALID,一个置高ARREADY。

读数据通道

在一次读交易中,只有当从设备数据有效时,从设备将RVALID信号置为有效,并且一直保持有效直到主设备接收数据并且返回RREADY信号。即使一个从设备只有一个读数据,它也必须响应对此数据的访问,将RVALID信号置为有效。

主设备使用RREADY信号标志可以接收数据。RREADY的默认值可以设置为高,但是只有在主设备无论何时进行读交易时都可以立即接收数据的情况下。

从设备必须发送RLAST信号标志一次读burst交易中最后一拍数据的传输。

通道之间的关系

地址通道、读数据通道、写数据通道和写响应通道的关系是灵活的。

例如,写数据可以在相关的写地址之前出现在总线接口上。当写地址通道包含较多的寄存器级数多于写地址通道时,会出现这种情况。写数据也可以与相关的写地址同时有效。

当必须确定目的地址空间或者从设备空间时,互连设备必须重新对齐地址和写数据。为了确保写数据只相对于其要写入的从设备是有效的,这样做是必要的。

两种关系必须满足:

        读数据必须在其相关的地址之后

        写响应必须在其相关写交易最后一拍数据写完之后

通道握手信号的依赖关系

为了防止发生死锁,必须重视握手信号之间的依赖关系。

任何交易中:

        一个AXI模块的VALID信号不能依赖于另一个模块的READY信号

        READY信号可以等VALID信号

可以在发送VALID信号之后发送 READY,也可以在发送VALID信号之前将READY信号置为默认值,这样做可以得到更高效的设计。.

图3-4和图3-5为各握手信号之间的依赖关系图。一个箭头表示箭头两端的信号先后没有规定。双箭头表示箭头指向的信号只能在箭头前的信号之后。

图3-4为一次读交易中:

        从设备可以在ARVALID之后发送ARREADY

        从设备在置RVALID信号有效返回读数据之前必须等待ARVALID 和ARREADY信号有效之后。

axi总线协议,协议,网络协议

图3-5为一次写交易中:

         主设备发送AWVALID和WVALID信号前不等从设备发送AWREADY和WREADY

        从设备可以在发送AWREADY信号之前等AWVALID或者 WVALID,或两者一起

        从设备可以在发送WREADY信号之前等AWVALID或者WVALID,或两者一起

        从设备发送BVALID之前必须等待WVALID和WREADY信号之后

axi总线协议,协议,网络协议

注意在一次写交易中,主设备在发送WVALID之前不要等AWREADY有效,这一点是很重要的。如果主设备等AWREADY信号有效之后在发送WVALID信号,并且从设备恰好是接收到WVALID信号之后才发送AWREADY,则这样就会造成死锁状况。

关于寻址选择

AXI总线协议是基于burst的,并且主设备通过发送一次传输中第一个字节的地址和控制信息开始一次 burst交易。Burst交易进行过程中,从设备负责计算 burst 中所有数据的地址。

Burst不能超过4KB的范围,防止在从设备之间超过范围,也限制从设备内地址增量的大小。

burst长度

AWLEN和ARLEN信号标志了一个burst中有多少拍的数据。如表4-1所示,每个burst长度可以为1-16拍。

axi总线协议,协议,网络协议

对于地址卷回的 burst,其长度必须为2,4,8,16拍。

每个交易必须制定ARLEN和AWLEN信号指示其中有多少拍数据。没有部件可以终止一个burst交易来减少其长度。在一次写交易中,主设备可以通过禁止所有的字节选通位来终止进一步的写操作,但是也必须完成剩下的数据传输。一次读交易中,主设备可以抛弃读到的数据,但是也必须完成剩下数据的传输。

注意当访问一个读敏感设备例如FIFO时,抛弃不需要的读数据会导致丢失数据。主设备永远不要以长于要求长度的burst来访问这种设备。

burst大小

表4-2为burst大小译码表,ARSIZE和AWSIZE信号标志了在一次交易一拍数据中最大的字节数。

axi总线协议,协议,网络协议

AXI通过每拍的地址确定数据总线中使用那个字节通道。

对于地址递增和地址卷回而且每拍数据宽度窄于数据总线的 burst传输,每次数据传输都在总线的不同的字节通道上。地址固定的 burst交易由于地址固定不变,每拍数据传输都使用相同的字节通道。

任何数据传输的宽度都不能超过交易中部件数据总线的宽度。

burst类型

AXI协议定义了三种 burst类型:

        地址固定的burst

        地址递增的burst

        地址卷回的burst

表4-3为ARBURST or AWBURST的译码表

axi总线协议,协议,网络协议

 地址固定的burst

一次地址固定的burst交易中,burst中每拍数据的地址保持不变。这种 burst类型适用于对同一位置进行重复访问的操作,如装载和清空FIFO。

地址递增的burst

一次地址递增的交易中,一次 burst交易中每拍的地址是以前数据拍的地址基础上加增量。增量的大小由每拍数据的大小决定。例如,一次 burst交易中每拍包含四个字节,则其地址为先前地址加四。

地址卷回的burst

地址卷回的交易与地址递增的交易类似,每拍数据的地址都是先前地址加一个增量。但在地址卷回的交易中,当地址到达一个边界,地址会卷回到一个较小的地址。边界为burst中每拍数据的大小乘以burst中数据拍的个数。

对于地址卷回的burst有两个限制:

        开始的地址必须与数据拍的大小对齐

        Burst的长度必须为2,4,8或16

响应信号简介

AXI 协议对读交易和交易都有响应信号。对于读交易,从设备的响应信息通过读数据一起返回,而写交易的响应信息通过写响应通道返回。

AXI协议的相应包括:

axi总线协议,协议,网络协议

 对于一次写交易,不是每拍数据传输完毕都有一个响应,而是对整个burst 只有一个响应。

一次读交易中,从设备可以对一个 burst中不同的数据拍返回不同的响应。例如,在一个16拍的burst 中,从设备可能会对其中的15个数据拍返回OKAY响应,而对其中的一个数据拍返回SLVERR响应。

协议规定要求的数据拍都必须被执行完毕,甚至在出现错误的情况下也不能终止。例如,一次8拍的读burst 传输中从设备发生了错误,这时从设备也必须完成8个数据拍的传输,每个数据拍返回一个错误响应。从设备返回一个错误响应,一个burst 中剩余的数据拍并不会被取消。

本协议限制支持乱序交易的主设备必须同时支持精确地错误报告功能。这样的主设备必须能够在较后的数据传输正在进行的情况下,处理较先的数据拍的错误响应。

响应类型

本部分介绍四种AXI协议的响应类型;

正常访问成功

OKAY响应表示:

        一次正常访问的成功

        一次独占访问的失败

        对不支持独占访问的设备进行了独占访问操作

OKAY是大多数交易的响应信号。

独占访问

EXOKAY 响应表示一次独占访问的成功。

从设备错误

SLVERR响应表示一次不成功的交易。从设备出错的情况有:

        FIFO/buffer 上溢出和下溢出

        不支持的数据拍大小

        对只读的地址执行写操作

        从设备访问超时

        试图访问没有可用寄存器的地址

        试图访问不使能或断电的设备

为了简化系统监视和调试,推荐错误响应只用于错误的情况而不要用于正常的和可预测的事物。

译码错误

在一个没有进行全译码地址变换的系统中,可能出现某写地址没有从设备,因此无法响应对此地址的交易。这种系统中,互连设备必须提供一个合适的错误响应来标记此访问非法并且阻止系统因为访问了一个不存在的从设备而锁住。

当互联设备不能成功对一个从设备访问解码时,它可以有效地将访问转向一个默认的从设备,并且默认设备返回DECERR响应。

一种实现的选择是使默认的从设备也记录下解码错误的细节,以确定错误是如何发生的。用这种方法,默认的从设备可以很显著的简化调试过程。

AXI协议要求一次交易中所有的数据拍都必须完成,即使发生错误也不能停止。所以每个能返回DECERR的部件也要求都必须能满足这个要求。

参考内容来源于网络。文章来源地址https://www.toymoban.com/news/detail-607983.html

到了这里,关于AXI总线协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 带你快速入门AXI4总线--AXI4-Full篇(1)----AXI4-Full总线

    目录 1、什么是AXI4-Full? 2、通道(Channel) 2.1、AXI 读取传输事务 2.2、AXI 写入传输事务

    2024年02月01日
    浏览(51)
  • 【ARM AMBA AXI 入门 11 - AXI 总线 AWCACHE 和 ARCACHE 介绍】

    请阅读 【ARM AMBA AXI 总线 文章专栏导读】 转自:https:

    2024年02月09日
    浏览(52)
  • 【ARM AMBA AXI 入门 9 - AXI 总线 AxPROT 与安全之间的关系 】

    请阅读 【ARM AMBA AXI 总线 文章专栏导读】 上篇文章:ARM AMBA AXI 入门 8 - AXI 协议中 RID/ARID/AWID/WID 信号 ARMv8 架构中的AXI(Advanced eXtensible Interface)总线与NS(Non-Secure)位密切相关。NS位是指在ARM TrustZone安全扩展中定义的一种状态,用于区分安全和非安全的处理器执行环境。AXI总

    2024年02月11日
    浏览(46)
  • 手撕AXI-Full总线接口,实现AXI_Full Master接口

    AXI全称Advanced eXtensible Interface,属于AMBA总线中的一种,由ARM公司制定。目前主流的包括AXI3和AXI4,其中AXI4又包括AXI4_Lite、AXI4_Full以及AXI4_Stream。本文是基于Xilinx AXI4 IP实现AXI4_FULL Master控制接口。 AXI协议是基于突发传输的,意味着只需要告诉首地址以及突发大小等信息即可实现

    2024年01月19日
    浏览(50)
  • AXI4总线学习心得(一)

    AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大 256 轮的数据突发传输; AXI4-Lite:(For simple, low-throughput memory-mapped communication )是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元。 AXI4-Stream:

    2024年02月12日
    浏览(42)
  • FPGA——AXI4总线详解

    目录 AXI4总线 1、什么是AXI 2、AXI4协议的优势 AXI4的工作模式 AXI4读操作: AXI4写操作 AXI4和AXI4-Lite、AXI4-Stream接口信号 握手信号 AXI相关术语     AXI(Advanced eXtensible Interface高级可扩展总线)是一种总线协议     AXI4包含3种类型的接口: 1)AXI4:主要面向高性能地址映射通信的

    2024年02月02日
    浏览(56)
  • 【ARM AMBA AXI 入门 10 - AXI 总线 DATA信号与 STRB 信号之间的关系 】

    请阅读 【ARM AMBA AXI 总线 文章专栏导读】 AXI总线是ARM公司设计的高性能处理器接口,其中 STRB 和 DATA 信号在AXI协议中有特殊的含义和关系。 DATA信号 :在AXI中,DATA信号用于在读写操作中传输实际的数据。数据的大小可以根据AXI接口的位宽来变化,例如 32 位、 64 位或 128 位等

    2024年02月11日
    浏览(48)
  • XILINX ZYNQ 7000 AXI总线 (二)

    了解了AXI 的大部分内容后,开始做一个实战,就是完成AXI 结构的输入输出搭建。 一.创建一个IP 3. 4. 5. 6.选择AXI FULL,创界主接口和从接口 7. 8.可以看到XILINX AXI FULL 的源代码 二.创建一个新的工程,把IP导入到这个工程 2.创建 block design 放入两个AXI IP 三 设计 创建两个 接口进行

    2024年02月16日
    浏览(59)
  • FPGA AXI4总线信号介绍篇

    AXI是一种总线协议,可以挂在多个master和slave:         (1)AXI4:主要面向高性能地址映射通信的需求;(突发数据)(地址映射模式)         (2)AXI4-Lite:是一个轻量级的,适用于吞吐量较小的地址映射通信总线;(无突发)(地址映射模式)         (3)AXI4-

    2024年04月11日
    浏览(59)
  • 【AMBA】ARM总线-APB/AHB/AXI介绍

    什么是总线?首先,在学习AMBA总线之前,我们先对总线下一个定义。根据维基百科的定义:总线(Bus)是指计算机组件间规范化的交换数据(data)的方式,即以一种通用的方式为各组件提供数据传送和控制逻辑。根据chatgpt的解释: 总线(Bus)是计算机中用于传输数据、地址

    2024年02月12日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包