赞
踩
AXI——Advanced Xtensible Interface(高级可扩展接口)是为了满足高性能系统设计而定义的一套独立通道协议,在AMBA3.0中提出,AMBA4.0将其修改升级为AXI4.0,目前已经到达AMBA5.0版本。
AMBA4.0包括AXI4.0、AXI4.0-Lite、ACE4.0、AXI4.0-stream四个版本。AXI4.0-Lite是AXI的简化版本,ACE4.0是AXI缓存一致性扩展接口,AXI4.0-stream是ARM公司和Xilinx公司一起提出,主要是用在FPGA进行以数据为主导的大量数据的传输应用。
5.0目前未接触,暂不讨论。
本文参考的官方文档链接如下所示:
https://developer.arm.com/documentation/ihi0022/c/
AMBA AXI协议的目标是高性能、高频的系统设计,包括许多特性,使其适合高速亚微米互联。
最新一代AMBA接口的目标是:
关键特点:
除了数据传输协议外,AXI协议还包括可选扩展、涵盖低功耗操作的信号。
AXI协议多来年一直是工业标准,AMBA协议规范1.0版本描述了AIX接口。
这次修订,即文档的2.0版本,包含了关于原来的AXI协议规范(现在称为AXI3)的所有信息,以及两个新的章节,详细介绍了AXI4和AXI4-lite。
AXI4
AXI4比AXI3更新了以下内容:
AXI4还包括了使用默认信号的信息,并讨论模块之间互操作性。
AXI4-Lite
AXI4-Lite是AXI4协议的一个子集,旨在与组件中的控制寄存器风格的接口进行通信,并允许构建更简单的组件接口。
AXI4-Lite接口的关键特性是:
AXI 协议是基于突发的。 每个事务在地址通道上都有地址和控制信息,这些信息描述了要传输的数据的性质。 使用到从机的写数据通道或到主机的读数据通道在主机和从机之间传输数据。 在所有数据从主设备流向从设备的写事务中,AXI 协议有一个额外的写响应通道,允许从设备向主设备发出写事务完成的信号。
AXI 协议支持:
图1-1显示了读事务如何使用读地址和读数据通道。
图1-2显示了写事务如何使用写地址、写数据和写响应通道。
五个独立通道中的每一个都包含一组信息信号,并使用双向 VALID 和 READY 握手机制。
信息源使用 VALID 信号来显示有效数据或控制信息何时在通道上可用。 目的地址使用 READY 信号来显示它何时可以接受数据。 读数据通道和写数据通道都包含一个 LAST 信号,用于指示事务内最终数据项的传输何时发生。
读写地址通道
读和写事务都有自己的地址通道。 适当的地址通道携带事务所需的所有地址和控制信息。 AXI 协议支持以下机制:
读数据通道
读数据通道将读数据和任何读响应信息从从设备传送回主设备。 读取数据通道包括:
写数据通道
写数据通道将写数据从主机传送到从机,包括:
写数据通道信息总是被视为缓冲的,因此主设备可以执行写事务而无需从设备对先前写事务的确认。
写响应沟道
写响应通道为从设备提供了一种响应写事务的方式。 所有写事务都使用完成信号。
完成信号针对每个突发出现一次,而不是针对突发内的每个单独数据传输。
典型的系统由若干主设备和从设备通过某种互连方式连接在一起组成,如图1-3所示。
AXI 协议提供了用于描述接口的单一接口定义:
接口定义支持各种不同的互连实现。 设备之间的互连相当于另一个具有对称主从端口的设备,可以连接真正的主从设备。
大多数系统使用以下三种互连方法之一:
在大多数系统中,地址通道带宽要求明显低于数据通道带宽要求。 通过使用具有多个数据总线的共享地址总线来实现并行数据传输,此类系统可以在系统性能和互连复杂性之间实现良好的平衡。
每个AXI通道只在一个方向传输信息,各个通道之间不需要固定的关系。 这很重要,因为它可以在任何通道中插入寄存器片,但代价是额外的延迟周期。 这使得在延迟周期和最大操作频率之间进行权衡成为可能。
还可以在给定互连内的几乎任何点使用寄存器片。 在处理器和高性能存储器之间使用直接、快速的连接可能是有利的,但使用简单的寄存器片将更长的路径隔离到对性能不太重要的外围设备。
本节给出基本的axi协议事务的示例。每个示例都展示了VALID和READY握手机制。当VALID和READY信号都是HIGH时,就会发生地址信息或数据的传输。例子为:
本节还描述了传输顺序。
图1-4显示了4次传输的读burst。在这个例子中,主设备驱动地址,一个周期后从服设备接受它。
注意:
主设备还驱动一组显示脉冲串长度和类型的控制信号,但为清楚起见,图中省略了这些信号。
地址出现在地址总线上后,数据传输发生在读数据通道上。 从机将 VALID 信号保持为低电平,直到读取数据可用。 对于突发的最后数据传输,从器件置位 RLAST 信号以表明正在传输最后一个数据项。
图 1-5 显示了在从设备接受第一个地址后,主设备如何驱动另一个突发地址。 这使得从设备能够在完成第一个突发的同时开始处理第二个突发的数据。
图 1-6 显示了一个写事务。 当主机在写地址通道上发送地址和控制信息时,该过程开始。 然后主设备通过写数据通道发送每一项写数据。 当主机发送最后一个数据项时,WLAST 信号变为高电平。 当从设备接受了所有数据项后,它将写响应驱动回主设备以表示写事务已完成。
AXI 协议支持无序事务完成。 它为界面上的每笔事务都提供了一个 ID 标签。 该协议要求具有相同 ID 标签的事务按顺序完成,但具有不同 ID 标签的事务可以乱序完成。
无序事务可以通过两种方式提高系统性能:
• 互连可以使与快速响应从属的事务在与较慢从属的较早事务之前完成。(个人理解:慢点事务原本在前,但是太慢了会影响后续事务的传输,因此互连无序事务可以避免这种堵塞)
• 复杂从设备可以无序返回读取数据。 例如,在用于较早访问的数据可用之前,可以从内部缓冲区获得用于稍后访问的数据项。
如果 master 要求事务以它们发出的相同顺序完成,那么它们都必须具有相同的 ID 标签。 但是,如果主设备不需要按顺序完成事务,它可以为事务提供不同的 ID 标签,使它们能够以任何顺序完成。
在多主设备中,互连负责将附加信息附加到 ID 标签,以确保所有主设备的 ID 标签都是唯一的。 ID 标签类似于主设备编号,但具有扩展性,即每个主设备可以通过提供一个 ID 标签来指示虚拟主设备编号,从而在同一端口内实现多个虚拟主设备。
虽然复杂的设备可以使用乱序设施,但简单的设备不需要使用它。 简单的master可以使用相同的 ID 标签发出每笔交易,而简单的slave可以按顺序响应每笔交易,而不管 ID 标签如何。
AXI协议也提供以下附加属性:
突发类型:
AXI 协议支持三种不同的突发类型,适用于:
参见第4章寻址选项。
系统缓存支持:
AXI 协议的缓存支持信号使主设备能够向系统级缓存提供事务的可缓冲、可缓存和分配属性。
请参阅第 5-2 页的缓存支持。
保护单元支持:
为了同时启用特权访问和安全访问,AXI 协议提供了三个级别的保护单元支持。
请参阅第 5-5 页的保护单元支持。
原子操作:
AXI协议定义了独占访问和锁定访问的机制。
错误支持:
AXI协议为地址解码错误和Slave产生的错误提供错误支持。
参见第7章响应信号。
地址对齐:
为了提高突发内的初始访问性能,AXI协议支持非对齐的突发起始地址。
见第10章非对齐传输。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。