AXI总线
- AXI4:ARM公司推出的高性能、高带宽、低延迟的片内总线
- AXI总线分类:
- AXI4_FULL:被称为AXI4,支持突发传输,突发长度1-256
- AXI4_LITE:常用于数据量较小的传输,轻量级的
AXI4_FULL - AXI4_STREAM:丢弃了地址项,常用于高速数据传输
- AXI4用途:
- FPGA内部两个模块数据传输
- ZYNQ中PS与PL交互
握手
- 只有当
WVALID和WREADY同时为高,握手成功,数据在这一拍完成传输 - 握手信号:
- VALID:由发送方驱动,表示数据、地址、控制信号已经准备就绪
- READY:接收方驱动,表示接收方可以接收数据
AXI4_STEAM
端口信号
- 输入:
- clk
- reset
- axis_tready
- 输出:
- axis_tvalid
- axis_tlast
- axis_tdata
- 非必要信号:
- axis_tkeep、axis_tstrb:同时为高时tdata有效
- axis_tid:主机id
- axis_tdest:从机id
- axis_tuser:用户自定义
AXI4_LITE
什么是突发
- 没突发:主机发送 1个数据+1个地址
- 突发:主机发送 4个数据+1个地址
- 突发长度:4个数据+1个地址,则突发长度burst length为4
AXI4_LITE的通道
- 写地址:主设备发送写操作的地址、控制信息
- 写数据:主设备发送要写入的数据
- 写响应:从设备返回读取的数据、状态
- 读地址:主设备发送读操作的地址、控制信息
- 读数据:从设备返回读取的数据、状态
每个通道使用握手机制(VALID、READY信号)
AXI4_LITE的端口信号、功能
- 写数据信号:
- 控制信号(A开头的)
- 数据相关信号(W开头的)
- 回复信号(B开头的)
工作流程
- 写操作
- 主设备通过写地址通道发送目标地址;写数据通道发送数据/字节选通
- 从设备处理请求后,通过写响应通道返回状态
- 读操作
- 主设备通过读地址通道发送目标地址
- 从设备通过读数据通道返回数据、状态