《深入理解AXI4协议:从入门到实践》 -- 第二篇:AXI4接口信号详解

第二篇:AXI4接口信号详解

AXI4协议通过分立的通道实现高效数据传输,每个通道包含特定功能的信号。本篇将深入解析所有信号及其交互时序,帮助读者掌握AXI4接口的核心设计逻辑。


1. 全局信号

所有AXI4接口必须包含的全局控制信号:

  • ACLK(全局时钟) :所有信号在ACLK上升沿同步。
  • ARESETn(全局复位) :低电平有效,复位时所有VALID信号必须置为低电平。

2. 读传输通道

读操作分为 读地址通道(AR)读数据通道(R)

2.1 读地址通道(Read Address Channel)

主设备(Master)发起读请求,从设备(Slave)接收地址。

  • ARADDR (主→从):读操作的起始地址(字节地址)。
  • ARVALID (主→从):主设备指示地址有效。
  • ARREADY (从→主):从设备准备好接收地址。
  • ARID (主→从):事务ID,用于区分多个未完成读请求。
  • ARLEN (主→从):突发长度(Burst Length),定义传输的数据拍数(1~256)。
  • ARSIZE (主→从):每拍数据字节数(如ARSIZE=3表示8字节)。
  • ARBURST (主→从):突发类型(INCR、WRAP、FIXED)。
  • ARLOCK (主→从):锁定类型(普通访问、独占访问)。
  • ARCACHE (主→从):缓存属性(如Bufferable、Cacheable)。
  • ARPROT (主→从):保护属性(特权级、安全等级)。
  • ARQOS (主→从):服务质量优先级(0~15,值越大优先级越高)。

握手规则

  • 当ARVALID和ARREADY同时为高时,地址传输完成。

2.2 读数据通道(Read Data Channel)

从设备返回读数据给主设备。

  • RDATA (从→主):读取的数据。
  • RVALID (从→主):从设备指示数据有效。
  • RREADY (主→从):主设备准备好接收数据。
  • RID (从→主):事务ID,与ARID匹配。
  • RRESP (从→主):响应状态(OKAY、EXOKAY、SLVERR、DECERR)。
  • RLAST (从→主):指示当前数据是突发传输的最后一拍。

关键时序

  • 每个数据拍需等待RVALID和RREADY同时为高才能传输。
  • RLAST在最后一拍必须置高。

3. 写传输通道

写操作分为 写地址通道(AW)写数据通道(W)写响应通道(B)

3.1 写地址通道(Write Address Channel)

主设备发起写请求,信号定义与读地址通道类似:

  • AWADDR (主→从):写操作的起始地址。
  • AWVALID (主→从)、 AWREADY (从→主)等信号与AR通道对应。
3.2 写数据通道(Write Data Channel)

主设备发送待写入的数据:

  • WDATA (主→从):写入的数据。
  • WSTRB (主→从):字节使能信号,标记WDATA中哪些字节有效。
  • 例如,WDATA为32位,WSTRB=4’b1100表示高16位有效。
  • WLAST (主→从):指示当前数据是突发传输的最后一拍。
  • WVALID (主→从)、 WREADY (从→主):握手信号。
3.3 写响应通道(Write Response Channel)

从设备返回写操作结果:

  • BRESP (从→主):响应状态(同RRESP)。
  • BID (从→主):事务ID,与AWID匹配。
  • BVALID (从→主)、 BREADY (主→从):握手信号。

写操作流程

  1. 主设备发送AWADDR和WDATA(可并行发送)。
  2. 从设备接收数据后返回BRESP。

4. 信号交互时序图
4.1 基本读操作时序
  • 单次读传输(无突发)
  ACLK   _/‾\_/‾\_/‾\_/‾\_/‾\_  
  ARADDR  X  A  X  X  X  
  ARVALID _/‾‾‾\___________  
  ARREADY ________/‾‾‾\____  
  RVALID  __________/‾‾‾\__  
  RREADY  __________/‾‾‾\__  
  • 地址在Cycle 2传输,数据在Cycle 4返回。
4.2 突发写操作时序(INCR类型)
  • 4拍突发写传输
  ACLK   _/‾\_/‾\_/‾\_/‾\_/‾\_/‾\_  
  AWADDR  X  A  X  X  X  X  
  AWVALID _/‾‾‾\_____________  
  AWREADY ____/‾‾‾\__________  
  WDATA   X  D1 D2 D3 D4 X  
  WVALID  _/‾‾‾‾‾‾‾‾\_______  
  WREADY  __/‾‾‾\__/‾‾‾\____  
  WLAST   _________/‾‾‾\____  
  BVALID  ___________/‾‾‾\__  
  BREADY  ___________/‾‾‾\__  
  • 地址在Cycle 2传输,数据在Cycle 2~5连续写入。
  • WREADY可能因从设备缓冲能力波动。

5. 关键信号配置与注意事项
5.1 数据宽度与地址对齐
  • 数据总线宽度(WDATA/RDATA)
  • 通常为32位、64位或128位,需与ARSIZE/AWSIZE匹配。
  • 例如,64位总线 + ARSIZE=3(8字节)可实现最高效率。
  • 地址对齐
  • 地址需按数据宽度对齐(如64位数据对应地址末3位为0)。
5.2 事务ID(AxID)的作用
  • 允许多个未完成事务乱序返回,需保证同一ID的事务按顺序完成。
  • 典型应用:CPU同时发起多个缓存行填充请求。
5.3 错误处理(RRESP/BRESP)
  • SLVERR :从设备内部错误(如访问未支持的地址)。
  • DECERR :互联矩阵路由错误(如地址无对应从设备)。

*6. 总结
  • 总结 :AXI4通过分离通道和握手信号实现高效传输,需严格遵循VALID/READY时序规则。

附录:AXI4信号速查表

信号方向描述
ACLK全局输入全局时钟信号
ARESETn全局输入全局复位信号(低有效)
ARADDR[31:0]主→从读地址
ARVALID主→从读地址有效
ARREADY从→主读地址准备好
RDATA[63:0]从→主读数据
RVALID从→主读数据有效
RREADY主→从读数据准备好
WDATA[63:0]主→从写数据
WSTRB[7:0]主→从字节使能
BVALID从→主写响应有效
BREADY主→从写响应准备好
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值