1 AXI简介
AXI 的英文全称是 Advanced eXtensible Interface,即高级可扩展接口,它是 ARM 公司所提出的 AMBA (Advanced Microcontroller Bus Architecture)协议的一部分。AXI 协议就是描述了主设备和从设备之间的数据传输方式,在该协议中,主设备和从设备之间通过握手信号建立连接。
AXI4 协议支持以下三种类型的接口:
1)AXI4:高性能存储映射接口。支持突发传输,主要用于处理器访问存储器等需要指定地址的高速数据传输场景。
2) AXI4-Lite:简化版的 AXI4 接口,用于较少数据量的存储映射通信。主要用于访问一些低速外设中的寄存器。
3) AXI4-Stream:用于高速数据流传输,非存储映射接口。AXI4-Stream接口像 FIFO 一样, 数据传输时不需要地址,在主从设备之间直接连续读写数据,主要用于如视频、高速 AD、PCIe、DMA 接 口等需要高速数据传输的场合。
2 Zynq AXI
在Zynq MIO和EMIO中,介绍了用EMIO能实现PS 端与 PL 端的交互;但是PS 与 PL 最主要 的连接方式则是AXI接口。


2.1 AXI_HP Interfaces
AXI_HP以PL为主机,以高带宽的数据通路连接到DDR和OCM,每个AXI_HP有两个FIFO作为读写缓存提高传输性能。
2.2 AXI_GP Interfaces
AXI_GP没有读写缓存,数据位宽固定为32bits,这些接口仅供通用用途,并非旨在实现高性能。
2.3 AXI_ACP Interfaces
AXI_ACP接口提供对可编程逻辑主机的低延迟访问,并具有与 L1 和 L2 缓存的可选一致性。 从系统角度来看,ACP 接口与 APU CPU 具有相似的连接性。 由于这种紧密的连接性,ACP 直接与它们竞争 APU 块之外的资源访问。
3 PL端AXI相关的软核

在IP搜索栏中输入‘AXI’,可以看到Vivado中已经集成了很多AXI相关的软核,这些软核可直接连接PS端的AXI总线,用户可根据需求直接调用。
PS调用AXI总线时的地址分配可见:Zynq AXI地址空间分配。
下面举例说明。
4 AXI GPIO IP
AXI GPIO IP 核为 AXI 接口提供了一个通用的输入/输出接口。与 PS 端的 GPIO 不同,AXI GPIO 是一 个软核(Soft IP),由用户通过配置 PL 端的逻 辑资源来实现的一个功能模块。
AXI GPIO 可以配置成单通道或者双通道,每个通道的位宽可以单独设置。另外通过打开或者关闭三态 缓冲器,AXI GPIO 的端口还可以被动态地配置成输入或者输出接口。
除此之外,该模块还具有中断控制功能(设置时选择“使能中断”);可以向PS传递来自PL端的中断。
