AXI(Advanced eXtensible Interface)ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)的一个部分,是一种高性能、高带宽、低延迟的片内总线。
AXI4包含三种接口:
AXI4——For high-performance memory-mapped requirements.
AXI4-Lite——For simple, low-throughput memory-mapped communication (for example, to and from control and status registers).
AXI4-Stream——For high-speed streaming data.
AXI协议是基于burst的传输,定义了5个独立的传输通道:
读地址通道
读数据通道
写地址通道
写数据通道
写响应通道
AXI 每个通道在master和slave之间的交互都是通过ready/valid 握手机制进行交互的。因此每个通道都有一组ready/valid 信号。
上图是AXI 读示意图,涉及到读地址通道和读数据通道,master发送读命令给slave端,包括读地址、burst_len、burst_type、size(每个transfer 传输2^size个字节),存储类型AXCACHE、AXLOCK、AxPROT等。slave接收到指令后通过读数据通道发送读数据给master。
上图是写数据示意图,写过程涉及到三个通道,master通过写地址通道将写命令传输给slave,写数据通过写数据通道传输,而写响应通道用于将此次写传输的状态回复给主机。
下图是从规范文档中截取的读,overlapping 读,写的时序图。