【IC设计】草履虫都能看懂的AXI入门博客(大量图文来袭,手把手教学,波形仿真)

本文详细阐述了AXI协议的分类、三种接口(AXI4-Full,AXI4-Lite,AXI4-Stream)特点,以及其五个通道和高效的时序机制。通过AXI读写实例和BlockDesign仿真展示了协议的工作流程,适合理解和应用AXI技术的开发者。
该文章已生成可运行项目,

AXI:Advanced eXtensible Interface 高级可扩展接口
AXI是AMBA总线协议的一种,AMBA是ARM公司1996年首次推出的微控制器总线协议。

概述

AXI的三类接口

通常所说的AXI指AXI4,有三类接口:

  • AXI4-Full:用于高性能内存映射需求。
  • AXI4-Lite:用于简单的地吞吐量内存映射通信(例如,进出控制寄存器和状态寄存器)
  • AXI4-Stream:用于高速流数据

从Spartan-6和Virtex-6器件开始,Xilinx的IP开始采用AXI接口。后续的UltraScale架构、Zynq-7000系列全部使用AXI总线。
AXI总线在Xilinx产品中被广泛采用,主要是高效、灵活、便捷。

AXI的特点

高效:
通过对AXI接口进行标准化,开发人员只需学习用于IP的单一协议。

灵活:
AXI4适用于内存映射接口,仅一个地址阶段就允许高达256个数据传输周期的高吞吐量爆发。
AXI4-Lite是一个轻量级的传输接口,逻辑占用很小,在设计和使用上都是一个简单的接口。
AXI4-Stream完全取消了对地址阶段的要求,并允许无限的数据突发大小。

便携:
使用AXI协议,不仅可以访问Vivado IP目录,还可以访问ARM合作伙伴的全球社区。许多IP提供商支持AXI协议。
一个强大的第三方AXI工具供应商集合,提供许多验证、系统开发和性能表征工具。

AXI的五个通道

AXI4和AXI4-Lite接口都有5个不同的通道组成,每个通道有若干个接口信号。

  • 读地址通道
  • 写地址通道
  • 读数据通道
  • 写数据通道
  • 写响应通道

AXI的时序

为了理解AXI的读写时序,首先需要理解基于valid-ready的握手机制,然后理解AXI的读/写流程,接着理解给出AXI所有接口信号的含义,
最后理解AXI读写的时序图,并以一个简单的AXI接口的block design为例进行仿真,查看波形图。

AXI的握手机制

AXI 基于valid-ready的握手机制:
发送方(主)通过置高 vaild 信号表示地址/数据/控制信息已准备好,并保持在消息总线上;
接收方(从)通过置高 ready 信号表示接收方已做好接收的准备。在 ACLK 上升沿,若 vaild、ready 同时为高,则进行数据传输。

注意①:
valid和ready不能相互依赖,避免产生相互等待的死锁, 通常建议ready和valid完全独立,这样主从双方都有终止通信的能力。 若想要从机接收全部的来自主机的数据,可设 ready = H 。

注意②:
根据 valid、ready 到达时间,可以分为 3 种情况,如右图。 应当注意到,在 valid 置高的同时,发送方就应该给出有效数据,并将有效数据保持在总线,而在之后的 ACLK 上升沿,若 valid、ready 均有效,则应更新有效数据。

在这里插入图片描述
在这里插入图片描述

关键时序图形的约定
在这里插入图片描述

AXI的读写流程

写操作

写流程如图,涉及到写地址通道 AWC、写数据通道 DWC、写回复通道 RC 三个通道。

  1. 首先, master 在 写地址通道 上给出写地址和控制信息。
  2. 然后,在 写数据通道 上传输数据,AXI 的数据传输是突发性的,一次可传输多个数据,在传输最后一个数据时,须同步给出 last 信号以表示数据传输即将终止。
  3. 最后, slave 将在 写响应通道 上给出写响应消息,对本次数据传输表示确认。
    在这里插入图片描述

读操作

**读流程如图,**涉及读地址通道 ARC、读数据通道 DRC 两个通道。
4. 首先, master 在 读地址通道 上给出读地址和控制消息,
5. 然后,slave 将在 读数据通道 上给出数据。
值得注意的是,读数据通道 集成了读回复功能,且是从 slave 发送给 master 的,在 slave 完成数据传输后,会在读数据通道 上给出回复消息,标志一次读取结束。

此外,AXI 可以连接成多对多的拓扑,这可以借助 AXI Interconnect IP 来实现。

本文章已经生成可运行项目
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

农民真快落

我琢磨着也没人给我打赏呀。。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值