AXI定义:
高级可扩展接口(Advanced eXtenable Interface)的 AXI 是 ARM 定义为 AMBA (高级微控制器总线架构)标准的一种接口协议。
分类:
AXI Read and Write Channels:
分为5个channel:
写地址
写数据
写响应
读地址
读数据
通道(channel)是与 VALID 和 READY 信号相关联的 AXI 信号的独立集合。
注意: AXI4/AXI3/AXI4-Lite 接口可以只读(只包括2个读通道)或只写(只包括3个写通道)。
在单个信道上传输的一段数据称为transfer。当有valid和ready都很高时,当时钟边缘上升时,就会发生传输。例如,在下图中,transfer发生在 T3上:
AXI Read Transactions(交易 or 事务)
一个AXI读交易需要在2个读通道上进行多次传输。
首先,地址读取通道从master发送至slave,以设置地址和一些控制信号。然后,这个地址的数据在读数据通道上由slave传送给master。
注意,按照下图,每个地址可以有多个数据传输。这种类型的交易被称为突发(burst)。
AXI Write Transactions
一个AXI写交易需要在3个读通道上进行多次传输。
首先,地址写入通道由master发送到slave,以设置地址和一些控制信号。然后,这个地址的数据在写数据通道上由master传送给slave。
最后,在写响应通道上,slave向master发送写响应,以表明传输是否成功。
注意点:
当一个VALID(AxVALID/xVALID)信号被断言时,它必须保持断言,直到从机断言AxREADY/xREADY之后的上升时钟沿。
发送信息的AXI接口的VALID信号必须不依赖于接收该信息的AXI接口的READY信号
然而,READY信号的状态可以取决于VALID信号
写入响应必须始终跟随写入事务中的最后一次写入传输,它是该事务的一部分
读取数据必须始终跟随数据所涉及的地址
从机必须等待ARVALID和ARREADY都被断言,然后再断言RVALID以表明有效数据可用。