《深入理解AXI4协议:从入门到实践》 -- 第七篇:AXI4-Lite与AXI4-Stream

AXI4协议之AXI4-Lite接口详解及实战 本文首先对AXI4总线协议进行了一个简单的介绍,然后使用vivado提供的模板创建了一个AXI4-Lite Master的接口,并生成了一个具有Master和Slave的代码实例,阅读该示例代码,进行修改后用于自己的项目。 阅读详情
AI摘要

本文深入对比AXI4-Lite与AXI4-Stream两个子协议。AXI4-Lite是简化版,用于低复杂度、低带宽场景;AXI4-Stream适用于高吞吐量、无地址的连续数据流。文中介绍了它们的核心特性、接口信号、应用场景,还给出混合系统设计案例及设计注意事项。

第七篇:AXI4-Lite与AXI4-Stream

AXI4协议针对不同场景提供了两个关键子协议: AXI4-Lite (轻量级控制)和 AXI4-Stream (流式数据传输)。本篇将深入对比它们的特性、接口设计及应用场景,帮助读者灵活选择适配方案。


1. AXI4-Lite:轻量级控制接口

AXI4-Lite是AXI4的简化版本,专为低复杂度、低带宽的寄存器或控制接口设计。

1.1 核心特性
  • 单次传输 :
    不支持突发传输(AxLEN=1),每次事务仅传输1拍数据。
    地址必须按数据宽度对齐(如32位数据对应地址末2位为0)。
  • 信号精简 :
    移除 AxLEN、AxBURST、AxCACHE等复杂信号。
    仅保留基础控制信号(AxADDR、AxVALID、AxREADY等)。
  • 资源占用低 :
    逻辑复杂度较AXI4减少50%以上,适合FPGA资源受限场景。
1.2 接口信号

AXI4-Lite接口信号与AXI4对比(以写通道为例):

信号AXI4AXI4-Lite说明
AWADDR✓✓写地址
AWLEN✓✗突发长度(AXI4-Lite固定为1)
AWSIZE✓✗数据宽度(由总线宽度隐式定义)
WSTRB✓✓字节使能
BVALID/BREADY✓✓写响应通道
1.3 典型应用场景
  • 外设寄存器配置 :
    通过AXI4-Lite访问GPIO、UART、SPI等外设的控制寄存器。
  • 低带宽控制接口 :
    传感器校准参数写入、状态寄存器读取。
  • 硬件加速器控制 :
    启动/停止命令、工作模式配置。

示例操作 (32位寄存器写入):

verilog

// 写入地址0x1000,数据0x12345678  
assign AWADDR  = 32'h1000;  
assign WDATA   = 32'h12345678;  
assign AWVALID = 1'b1;  
assign WVALID  = 1'b1;  
assign WSTRB   = 4'b1111;  // 4字节使能  
// 等待AWREADY和WREADY握手  

2. AXI4-Stream:无地址流式传输

AXI4-Stream专为高吞吐量、无地址的连续数据流设计,适用于实时数据传输。

2.1 核心特性
  • 无地址机制 :
    数据按顺序连续传输,无需指定目标地址。
    接收端通过 TLAST标记数据包边界。
  • 极简接口 :
    仅包含数据通道(无地址、响应通道)。
    支持背压机制(通过 TVALID/TREADY握手)。
  • 高实时性 :
    数据流“即到即传”,无地址解析延迟。
2.2 接口信号

AXI4-Stream核心信号:

信号方向描述
TVALID主→从发送端数据有效
TREADY从→主接收端准备好接收数据
TDATA[N:0]主→从传输的数据(位宽可配置)
TLAST主→从标记数据包最后一拍
TKEEP[N/8-1:0]主→从字节使能(可选)
TUSER[M:0]主→从用户自定义附加信息(可选)
2.3 传输时序
  • 基本握手规则 :
    发送端在 TVALID=1时保持数据稳定,直到 TREADY=1完成传输。
    TLAST=1表示当前拍是数据包的结尾。
2.4 典型应用场景
  • 视频流处理 :
    摄像头数据通过AXI4-Stream传输到ISP(图像信号处理器)。
  • 高速数据采集 :
    ADC采样数据实时传输至FPGA处理模块。
  • DMA传输 :
    DMA控制器将内存数据以流形式推送至外设(如以太网MAC)。

示例操作 (视频行数据传输):

**verilog**

// 传输一行1920像素的RGB数据(每像素32位)
// 传输一行1920像素的RGB数据(每像素32位)  
for (int i=0; i<1920; i++) begin  
  assign TDATA  = rgb_data[i];  
  assign TVALID = 1'b1;  
  assign TLAST  = (i == 1919) ? 1'b1 : 1'b0;  
  wait (TREADY);  // 等待接收端准备  
end  
---
3. AXI4-Lite与AXI4-Stream对比
特性AXI4AXI4-LiteAXI4-Stream
传输类型地址映射读写单次寄存器读写无地址连续流
突发传输支持(1~256)不支持(固定1拍)无地址,持续流
通道数量5个独立通道5个(简化版)1个数据通道
吞吐量高低极高
典型应用内存控制器外设寄存器视频/传感器数据流

4. 混合系统设计案例
4.1 视频处理系统
  • AXI4-Stream :
    摄像头输入 → 图像预处理模块 → HDMI输出。
  • AXI4-Lite :
    CPU通过AXI4-Lite配置预处理参数(如对比度、亮度)。
  • AXI4 :
    帧缓冲区通过AXI4接口连接DDR内存。
4.2 数据采集与控制系统
  • AXI4-Stream :
    ADC采集数据流 → FPGA滤波模块 → 实时显示。
  • AXI4-Lite :
    CPU通过AXI4-Lite配置ADC采样率、滤波系数。

5. 设计注意事项
5.1 AXI4-Lite的地址对齐

若主设备发送未对齐地址,从设备需返回 SLVERR(或忽略未对齐位)。

5.2 AXI4-Stream的流控

接收端需及时置 TREADY=1,避免数据丢失。若接收缓冲满,可暂停握手。

5.3 协议转换桥接
  • AXI4-Stream转AXI4 :
    添加地址生成逻辑,将数据流写入内存(如DMA控制器)。
  • AXI4转AXI4-Stream :
    从内存读取数据并转换为流格式(如视频帧读取)。

6. 总结

AXI4-Lite :轻量化控制接口,适合寄存器访问。
AXI4-Stream :高效流式传输,专为实时数据设计。

附录:协议转换代码片段

AXI4-Stream转AXI4写传输(Verilog片段) :

verilog

// 状态机控制流数据写入内存  
always @(posedge ACLK) begin  
  case (state)  
    IDLE:  
      if (TVALID && TREADY) begin  
        AWADDR  <= target_addr;  
        WDATA   <= TDATA;  
        AWVALID <= 1'b1;  
        WVALID  <= 1'b1;  
        state   <= SEND_ADDR_DATA;  
      end  
    SEND_ADDR_DATA:  
      if (AWREADY && WREADY) begin  
        AWVALID <= 1'b0;  
        WVALID  <= 1'b0;  
        target_addr <= target_addr + 4;  // 32位数据,地址递增4  
        state   <= IDLE;  
      end  
  endcase  
end  
AMBA总线协议学习笔记——AXI4-Stream Transfer:通过AXI4-stream接口的一次数据传输。单个传输由单个 TVALID、TREADY 握手定义。Packet:包括单个或者多个Transfer,类似于AXI4中的burst概念。Frame:AXI4-Stream协议中数据分组的最高级别,一个Frame可以包含很多个Packet。ACLK和ARESETn,时钟和复位信号。AXI4-Stream 的组件都使用相同的时钟信号ACLK,上升沿有效。ARESETn 采用低电平复位。需要注意的是 TVALID在复位时必须保证是处于低电平的。 阅读详情

相关推荐

《深入理解AXI4协议:从入门到实践》 -- 第八篇:AXI4实战案例

本文通过四个实际案例,详细展示了如何基于AXI4协议进行高性能系统设计。案例1介绍了如何在FPGA中实现一个基于AXI4-Lite接口的温度传感器控制模块,包括寄存器读写状态机的设计与验证。案例2探讨了SoC系统中AXI4互联矩阵的设计,重点在于地址路由与仲裁逻辑的实现。案例3展示了如何利用AXI4-Stream接口实现视频流处理系统,特别是图像灰度化的实时计算与流水线优化。案例4则详细描述了AXI4 DMA控制器的设计,涵盖突发传输、状态机流程及中断处理。每个案例均结合代码片段与调试技巧,帮助读者将AXI

GateWorld的博客 1443

AXI4总线--AXI4-Stream篇

1、什么是AXI4-Stream? AXI 表示 Advanced eXtensible Interface(高级可扩展接口),它是由 Arm 定义的接口协议,包含在“高级微控制器总线架构 AMBA”标准中。 AXI4 接口 (AMBA 4.0) 分 3 种类型: AXI4 (AXI4-Full):用于满足高性能存储器映射需求。 AXI4-Lite:用于简单的低吞吐量存储器映射通信(例如,往来于状态寄存器的通信)。 AXI4-Stream:用于高速流传输数据。 ...

HHH的博客 7528

从DDR读写到视频流:深入理解AXI4、AXI4-Lite和AXI-Stream三大协议选型

本文深入解析AXI4、AXI4-Lite和AXI-Stream三大协议在SoC/FPGA系统中的选型策略,涵盖DDR读写、外设配置和视频流处理等场景。通过对比协议特性、性能参数和实战配置,帮助工程师优化AXI总线架构设计,提升系统带宽利用率和硬件资源效率。

weixin_42546392的博客 367

ZYNQ的AXI_Lite 总线详解

https://www.cnblogs.com/milinker/p/6474706.html 12.1前言 ZYNQ拥有ARM+FPGA这个神奇的架构,那么ARM和FPGA究竟是如何进行通信的呢?本章通过剖析AXI总线源码,来一探其中的秘密。 12.2 AXI总线与ZYNQ的关系 AXI(Advanced eXtensible Interface)本是由ARM公司提出的一种总线协议,Xi...

lyfwill的博客 1万+

一文说清vivado2025中AXI总线通信机制原理

详细剖析vivado2025环境下AXI总线的工作原理与通信机制,帮助开发者理解数据传输流程与接口时序,提升在vivado2025平台上的系统设计效率与调试能力。

weixin_42576804的博客 993

AXI协议信号详解:从握手时序到调试实战,掌握片上互联核心

在数字系统设计中,片上总线协议是连接处理器、存储器和外设IP核的通信基础,其核心在于定义模块间高效、可靠的数据交换机制。AXI(Advanced eXtensible Interface)协议作为当前业界事实上的标准,通过分离的地址、数据与响应通道,以及基于VALID/READY的握手机制,实现了传输的完全解耦与深度流水线,从而显著提升了系统吞吐量与并行处理能力。这一设计对于满足高性能计算、实时视频流处理等场景的带宽与延迟要求至关重要。理解AXI信号,如实现非对齐传输关键的WSTRB字节选通信号和支持乱序完

weixin_29183637的博客 354

详解ZYNQ里AXI4&AXI4-Lite&AXI4-Stream协议资源文件介绍:深入理解ZYNQ设计核心

详解ZYNQ里AXI4&AXI4-Lite&AXI4-Stream协议资源文件介绍:深入理解ZYNQ设计核心 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在现代高性能处理器设计中,AXI(Advanced eXtensible Interface)协议扮演着至关重要的角色。今天,我们将为您详细介绍一个开源项目——《详解ZYNQ里AXI4&AX...

gitblog_06726的博客 625

AXI总线协议详解:从基础概念到FPGA实战应用

在复杂片上系统(SoC)和FPGA设计中,高效可靠的片上总线协议是连接处理器、内存控制器、DMA及各类外设IP核的关键基础设施。AXI(Advanced eXtensible Interface)作为AMBA标准的核心成员,通过分离的地址/数据通道与基于握手的传输机制,实现了高带宽、低延迟的流水线操作,显著提升了系统整体吞吐量。其技术价值在于为异构IP核提供了统一的“通用语言”,极大降低了系统集成复杂度。在工程实践中,AXI协议家族针对不同场景细分为:面向高性能内存映射的AXI4、用于轻量级寄存器访问的AX

weixin_29172201的博客 335

AMBA总线协议实战:AXI4-Lite与Stream接口RTL设计与EDA仿真

在数字芯片与SoC设计中,总线协议是连接处理器、存储器和外设的核心“交通规则”,它定义了模块间高效、可靠通信的机制。AMBA总线作为ARM推出的片上互联标准,其分离通道、握手流控等原理,为现代SoC提供了高带宽、低延迟的数据通路。掌握AMBA协议对于实现高性能、可扩展的芯片架构具有重要技术价值,广泛应用于移动设备、汽车电子和AI加速器等场景。本文聚焦于AMBA协议家族中最主流的AXI4接口,通过**Verilator仿真**和**EDA工具链**,手把手演示AXI4-Lite寄存器访问与AXI4-Strea

weixin_33788244的博客 330

详解AXI4-Lite接口(1)--什么是AXI4-Lite接口

通过本文您会学到:什么是AXI-Lite接口?

孤独的单刀 1万+

详解AXI4-Stream接口(1)--什么是AXI4-Stream接口?

通过本文您会学到:什么是AXI4-Stream接口?

孤独的单刀 2万+

FPGA基础知识(十)DMA与AXI4总线

背景:FPGA的系统搭建中必定出现DMA和AXI总线的相关内容。 目的:介绍DMA与AXI总线的相关知识,以便理解与应用。 相关内容: FPGA基础知识(一)UG998中FPGA相关的硬件知识与基本结构 FPGA基础知识(四)UG902 RTL仿真与输出 FPGA基础知识(六)UG586 Mermoy Interface Solutions内存接口的生成与使用 FPGA基础知识(七)片...

祥瑞的技术博客 2万+

Verilog手写AXI-4接口:从协议原理到FPGA工程实现详解

在FPGA和SoC设计中,片上总线协议是连接处理器、存储器和外设IP核的核心骨架,决定了系统互联的效率和可靠性。AXI(Advanced eXtensible Interface)作为ARM AMBA协议家族的主流标准,通过分离的地址/数据通道和握手机制,实现了高性能、低延迟的并行通信。其技术价值在于为复杂片上系统提供了标准化、可扩展的互联方案,广泛应用于视频处理、网络加速和嵌入式控制等场景。本文聚焦于使用Verilog硬件描述语言手动实现AXI-4协议接口,深入剖析其有限状态机设计、通道握手逻辑,并探讨如

weixin_42543046的博客 361

【总线】AXI总线:FPGA设计中的通信骨干

【总线】AXI总线:FPGA设计中的通信骨干

sqqwm的专栏 2293

UG1037实战指南:Vivado中AXI协议落地的五大核心场景

AXI(Advanced eXtensible Interface)是Xilinx FPGA系统中连接处理器、DMA、外设与高速存储器的核心总线协议,其本质是一套面向高性能、可扩展片上互连的AMBA规范实现。理解AXI不仅需掌握awvalid/awready等基础握手原理,更关键在于将协议映射到Vivado工程语言——包括IP封装时的接口命名约束、SmartConnect与Interconnect的选型逻辑、HLS中#pragma HLS INTERFACE的参数陷阱、DMA状态机行为建模,以及AXI4-S

weixin_29190651的博客 183

AXI协议实战避坑指南:从UG1037到Vivado波形级调通

AXI(Advanced eXtensible Interface)是Xilinx Zynq/FPGA中PS与PL通信的核心总线协议,其本质是一套基于VALID/READY握手机制、ID事务跟踪和Burst地址对齐的硬件级通信规范。理解AXI需穿透时序约束(如AWREADY/WREADY响应窗口)、ID唯一性要求(避免乱序响应)及Lite/Full/Stream子集差异。该协议的技术价值在于支撑高带宽、低延迟、多主设备协同的片上互连,广泛应用于嵌入式AI加速、视频流处理、高速数据采集等场景。本文聚焦AXI-

weixin_29164185的博客 175

深入解析ZYNQ芯片的AXI总线设计与应用实践

本文深入解析了Xilinx ZYNQ芯片中AXI总线的核心设计与应用实践。文章将AXI总线比作连接ARM处理器系统与可编程逻辑的“高速公路”,详细剖析了AXI4-Lite、AXI4和AXI4-Stream三种协议的特性与适用场景,并通过实战案例演示了如何构建高效的PS-PL数据交互系统,是发挥ZYNQ软硬协同优势的关键。

weixin_29194693的博客 321

UE4 专用服务器搭建(UE4.27为例)

专用服务器、DS服务器

mimo134的博客 2773

axi总线粗略学习

笔者因为项目需要用到AXI总线来控制数据跨时钟域的传输,通过这篇文章来当做学习的笔记本文主要参考另一篇博主的文章以及b站up主视频如需进一步的思考,可供参考AXI(Advanced eXtensible Interface)高级可拓展接口主要分为AXI4:支持256长度burst传输AXI-LIte:简单,不支持burstAXI-Stream:不需要地址,可无限burst。

2301_76707170的博客 1098

避坑指南:华为2288H-V5服务器安装系统时常见的RAID与驱动问题解决方案

本文针对华为2288H-V5服务器在安装系统时常见的RAID与驱动问题,提供了详细的避坑指南。文章深度解析了从BIOS版本兼容性核查、RAID配置实战到驱动加载与集成的全流程,重点解决了安装过程中因RAID控制器驱动缺失或兼容性问题导致的硬盘无法识别等典型故障,帮助用户高效完成系统部署。

weixin_29240711的博客 975

STM32F103C8T6+A4988驱动42步进电机全流程(附接线图+代码解析)

本文详细介绍了使用STM32F103C8T6单片机与A4988驱动模块控制42步进电机的完整流程。内容涵盖硬件接线图解析、电流设置、GPIO驱动代码编写以及细分控制等核心实践,旨在帮助嵌入式开发者和DIY爱好者快速实现精准运动控制,适用于3D打印机、CNC等需要精密定位的项目。

Python的专栏 792
上一篇: 《深入理解AXI4协议:从入门到实践》-- 第六篇:AXI4验证与调试
下一篇: 《深入理解AXI4协议:从入门到实践》 -- 第八篇:AXI4实战案例
GateWorld
博客等级 码龄2年 489粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值