AXI-Lite协议(以模块使用AXI-Lite协议作为从机为例)

本文详细介绍了AXI协议的三种类型(AXI-Lite、AXI-Full和AXI-Stream),重点阐述了AXI-Lite协议的握手原理和数据传输流程,包括地址和数据通道的工作方式,以及写入和读取操作的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AXI协议种类

AXI协议分为AXI-Lite、AXI-Full、AXI-Stream三种,其中AXI-Lite、AXI-Full两种协议都有地址,针对特定的内存地址访问。

  • AXI-Lite协议用于IP核初始化以及小批量数据传输
  • AXI-Full协议用于高性能、大批量数据传输
  • AXI-Stream协议没有地址,数据是数据流一次性发送到下端

AXI-Lite协议的6个通道

AXI-Lite协议握手原理

AXI-Lite协议基于握手的原理,也就是主机给从机发送请求信号,从机给主机发送准备好的信号,表示握手成功。在AXI-Lite协议数据传输的通道中valid表示请求信号(由主机发送给从机),ready表示准备好信号(接收从机回来的信号),valid和ready信号不分前后拉高顺序,只要二者同时为高电平表示握手成功,数据就会进行传输。

Global(全局通道)

  • ACLK:同步时钟
  • ARESETn:同步,低电平有效复位

Write Address(写地址通道 aw)[发送方提供VALID信号,接收方提供READY信号]

  • AXI_AWADDR:输入,主机输入给从机写地址(1byte = 1地址)
  • AXI_AWVALID:输入,主机输入给从机写请求信号
  • AXI_AWREADY:输出,从机输出给主机写准备信号,VALID信号拉高之后,某一时钟周期检测到READY信号拉高时,则VALID信号拉低,也就是VALID信号和READY信号会同时持续一个周期的高电平。 

Read Address(读地址通道 ar)

  • AXI_ARADDR:输出,从机输出给主机读地址(1byte = 1地址)
  • AXI_ARVALID:输出,从机输出给主机读请求信号,对于从机来说,从机向主机请求写一个地址
  • AXI_ARREADY:输入,主机输入给从机读准备信号

Write Data(写数据通道 w)

  • AXI_WDATA:输入,主机输入给从机
  • AXI_WVALID:输入,主机输入给从机
  • AXI_WREADY:输出,从机输出给主机
  • AXI_WSTRB:输入,主机输入给从机,字节屏蔽,用于多字节传输。

WDATA[31:0]是32位宽数据,WSTRB[3:0]是4位宽的数据,则WDATA的32位被分为4给字节,WSTRB的每一位对应一个字节,当WSTRB其中一位为1的时候对应的字节有效,为0的时候对应的字节无效。

例如

WDATA[31:0][31:24][23:16][15:8][7:0]
WSTRB[3:0]1010
对应的字节是否有效有效无效有效无效

Read Data(读数据通道 r)

  • AXI_RDATA:输出,从机输出给主机
  • AXI_RVALID:输出,从机输出给主机,对于从机来说,从机向主机请求写一个数据
  • AXI_RREADY:输入,主机输入给从机
  • AXI_RRESP[1:0]:输出,从机输出给主机,用来标识读错误,包括4种状态 

主要关注00和10状态

00: Okay

01:在AXI-Lite协议中不存在,在AXI-Full协议中存在

10:Slave Error 从机错误

11:Decode Error 总线解码错误

Write Response(写响应通道 b)将写入的结果状态反馈给主机

  • AXI_BVALID:输出,从机输出给主机有效响应信号,如果写操作完成或产生错误从机会拉高VALID
  • AXI_BREADY:输入,主机输入给从机准备响应信号,如果主机准备好接收写响应会拉高READY
  • AXI_BRESP[1:0]:输出,从机输出给主机,用来标识读错误,包括4种状态 

AXI-Lite协议数据传输流程

写数据:地址准备好数据准备好等待响应(过程包含VALID和READY同时拉高)

完成一次写数据传输的过程:

  • 写地址完成一次传输 -> 写数据完成一次传输 -> 等待写响应
  • 写数据完成一次传输 -> 写地址完成一次传输 -> 等待写响应
  • 写数据和写地址同时完成一次传输 -> 等待写响应

读数据:地址准备好等待发来的数据(过程包含VALID和READY同时拉高)

完成一次读数据传输的过程:

  • 读地址完成一次传输 -> 等待发来的数据

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值