第二篇: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 (主→从):握手信号。
写操作流程 :
- 主设备发送AWADDR和WDATA(可并行发送)。
- 从设备接收数据后返回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 | 主→从 | 写响应准备好 |