🚀 AXI 协议简介
什么是 AXI?
AXI(Advanced eXtensible Interface)是 ARM AMBA 总线协议的一部分,用于高性能、高带宽的 IP 间通信。
Xilinx 从 Spartan-6 / Virtex-6 开始广泛采用 AXI,并在 UltraScale、7 系列、Zynq-7000、Zynq UltraScale+ 中继续使用。
AXI 接口类型

🛠️ 在 Vivado 中使用 AXI
1. 使用 AXI IP
- 在 IP Catalog 中可直接调用支持 AXI 的 IP(如 DMA、Interconnect、FIFO 等)。
- 支持在 RTL 项目中直接实例化。
2. 创建自定义 AXI IP
- 使用 Create and Package IP Wizard:
- 支持自动生成 AXI4-Lite 或 AXI4 外设模板。
- 可生成 HDL 代码、驱动、测试程序、仿真示例。
- 支持中断、多接口、数据宽度配置。
3. 使用 IP Integrator 连接 AXI IP
- 图形化连接 AXI 主从设备。
- 自动连接信号、支持 DRC(设计规则检查)。
- 支持 AXI Interconnect / SmartConnect 自动配置。
4. 使用 System Generator for DSP
- 支持 AXI4-Lite 和 AXI4-Stream 接口。
- 可将 DSP 设计集成到 AXI 系统中。
5. 使用 High-Level Synthesis (HLS)
- 支持将 C/C++ 代码转换为带 AXI 接口的 RTL。
- 支持的接口类型:
- axis:AXI4-Stream
- s_axilite:AXI4-Lite 控制接口
- m_axi:AXI4 主设备接口
🔌 常用 AXI IP 简介

🧩 ZYNQ 中的 AXI 接口
ZYNQ-7000 AXI 接口类型

ZYNQ UltraScale+ MPSoC AXI 接口
- 支持 ACE(AXI Coherency Extensions)用于缓存一致性。
- 提供 HPC(High Performance Coherent)接口用于 I/O 一致性访问。
📦 AXI4-Stream 数据格式与视频协议
数据格式
- TDATA 宽度必须是 8 的倍数。
- 支持实数、复数、多通道数据。
- 可使用 TLAST 表示包结束,TUSER 传递辅助信息(如 SOF、EOL)。
AXI4-Stream Video Protocol
- 用于视频数据传输。
- 信号包括:
- TDATA:像素数据
- TVALID / TREADY:流控制
- TLAST:行结束(EOL)
- TUSER[0]:帧开始(SOF)
⚙️ 系统优化建议
性能优化
- 使用 AXI SmartConnect 替代 AXI Interconnect(更高效)。
- 启用 Register Slice 改善时序。
- 使用 数据路径 FIFO 提高吞吐量。
- 避免窄突发(narrow burst),尽量使用全数据宽度。
资源优化
- 使用 AXI4-Lite 替代 AXI4 用于控制接口。
- 减少跨时钟域转换。
- 使用 Shared Address Shared Data(SASD)模式简化互联。
调试支持
- 使用 AXI Protocol Checker 检测协议错误。
- 使用 AXI Performance Monitor 分析带宽和延迟。
- 使用 ILA(Integrated Logic Analyzer) 实时抓取 AXI 信号。
🔄 迁移到 AXI
从 FSL(Fast Simplex Link)迁移到 AXI4-Stream
- 信号映射如下:

- MicroBlaze 支持 FSL 与 AXI4-Stream 并存,可通过配置选择。
245

被折叠的 条评论
为什么被折叠?



