AXI4总线学习1

361 阅读3分钟

AXI协议:

ZYNQ将高性能ARM-cottex-A系列处理器和FPGA在单芯片内紧密结合。 两者之间交互通过AXI4总线协议,即高级可扩展接口,是ARM发布的AMBA4.0协议的一部分。

AXI4协议是一种高性能,高带宽,低延迟的片内总线。其数据、控制、地址通道是分离的。 支持不对齐传输,支持突发传输。

AXI4三种接口类型:

image.png AXI4传输三种类型接口,其最大的区别就是突发传输的不同。

AXI4 -FULL支持突发传输,主要用于处理器访问存储器等需要指定地址的高速数据传输场景。

AXI-Lite为外设提供单个数据传输,主要用于访问一些低速外设中的寄存器。

AXI-STREAM在数据传输时不需要地址,在主从设备之间直接连续读写数据,主要用于如视频、高速AD、PCIe、DMA接口等需要高速数据传输的场合。

AXI协议一共有5个独立的通道:写地址通道、写数据通道、写响应通道、读地址通道以及读数据通道,各自通道都有自己的握手协议,可以实现直接存储访问(Direct Memory Access, DMA)。

AXI描述了主(Master)、从(Slave)之间的数据传输方式。

在读传输过程中,在读取数据之前,主机通过读地址通道给出读地址以及控制信号,随后从机由读数据通道返回读出的数据:

image.png

写传输过程,包含了写地址、写数据和写响应三个通道,主机在写地址通道给出写地址和控制信号,然后在写数据通道连续突发写数据。从机在接收数据之后,在写响应通道给出响应信号。

image.png VAILD和ready信号:vaild表示通道数据和控制信号什么时候有效,ready表示什么时候接受数据。

这五条独立的通道都包含一个信息信号以及双路VAILD、READY握手机制,VALID信号表示通道数据以及控制信号何时有效,READY信号表示何时接受信号数据,此二者接包含一个LAST信号,表示传输的最后一个数据。

AXI互联IP :

Xilinx AXI Interconnect IP和AXI SmartConnect IP都可以将一个或多个AXI存储器映射的主设备连接到一个或多个存储器映射的从设备。而使用AXI SmartConnect IP,更紧密地集成到Vivado设计环境中,用户以最小的用户干预自动配置和适应已连接的AXI主从IP。AXI互联IP(AXI SmartConnect IP and AXI Interconnect IP)可以用于所有的存储器映射设计中。

在某些情况下,对于高带宽应用程序,使用SmartConnect IP可以提供更好的优化。AXI SmartConnect IP通过综合针对重要接口进行优化的低区域自定义互连,在低延迟下提供最大的系统吞吐量。

AXI Interconnect IP(axi_interconnect)可以将一个或多个AXI存储器映射的主设备连接到一个或多个存储器映射的从设备。Interconnect 相对于SmartConnect IP更符合来自ARM的AMBA AXI4规范,包括AXI4-Lite 接口。

AXI Interconnect IP和AXI SmartConnect IP仅用于存储器映射传输。AXI4-Stream传输不适用。但可以使用AXI4-Stream Interconnect IP (axis_interconnect)。带有AXI4-Stream接口的IP通常彼此连接到DMA IP或者AXI4-Stream Interconnect IP上。

综上:对于中到高性能设计,推荐使用AXI SmartConnect IP,因为它在面积和时间上提供了更好的向上扩展。对于低性能(AX14-Lite)或中小型复杂性设计,AXI Interconnect IP可能更有效的面积。