最近在学习ZYNQ,其中一个很重要的部分是ZYNQ中的AXI接口。在这里将AXI接口的时序进行一下记录,便于将来的查阅。

AXI结构

AXI 的结构如下图所示;可以将 AXI 的 master 和 slave 之间的数据交互划分为其中五个通道。
在写地址通道,主要进行传输 AXI 的 master 向 slave 中写入数据时的地址。
在写数据通道,主要进行传输 AXI 的 master 向 slave 中写入的数据。
在写响应通道,主要进行传输 AXI 的 master 向 slave 中写入数据时的响应。
在读地址通道,主要进行传输 AXI 的 master 从 slave 中读出数据时的地址。
在读数据通道,主要进行传输 AXI 的 master 从 slave 中读出的数据。

  其中,每一个通道中都有各自的信号,其中,各个通道的信号并非完全独立,而是相互之间有联系的。

axios 接口连接时间设置_axios 接口连接时间设置

各个通道对应的时序和关键信号

AXI写地址通道、写数据通道、写响应通道

与AXI写时序相关的三个通道其相互联系较为紧密。这三个通道之间的关键信号有下图所示的时序关系。

axios 接口连接时间设置_数据_02


从图中可以看出,AXI接口在进行传输数据时主要是靠握手机制来进行的。

信号

描述

ACLK

AXI总线时钟

AWADDR

一次AXI总线传输的起始地址

AWVALID

地址有效信号

AWREADY

下游器件准备好接收地址信号

WDATA

AXI总线上传输的数据

WLAST

一次突发传输数据的最后一拍

WVLIAD

传输数据有效信号

WREADY

下游器件准备号接收数据信号

BRESP

下游器件给出的写数据响应

BVALID

响应有效信号

BREADY

发起写突发的器件准备接收响应信号

从图中可以看出一次AXI总线的写突发传输时序,首先需要给出本次突发的起始地址,当地址被下游器件接收后,才能进行本次突发的数据传输。
对于突发传输的数据,是在WVLIADWREADY共同有效的情况下被下游器件所接收,通过这种握手机制进行数据的传输。一次传输结束需要使用WLAST信号来标志本次突发写数完成。
响应通道上的信号,用于表明数据已经正确被下游器件所接收。

AXI 读地址通道和读数据通道

axios 接口连接时间设置_axios 接口连接时间设置_03

信号

描述

ACLK

AXI总线时钟

ARADDR

一次AXI总线传输的起始地址

ARVALID

地址有效信号

ARREADY

下游器件准备好接收地址信号

RDATA

AXI总线上传输的数据

RLAST

一次突发传输数据的最后一拍

RVLIAD

传输数据有效信号

RREADY

本模块准备好接收数据信号

AXI总线的读时序与写时许十分类似,同样先给出要突发读的起始地址,下游器件响应到本次地址后开始向本模块返回数据。读出数据是在RREADY和RVLID共同有效的情况下才会进行数据的接收。