AXI协议

目录

一、关于 AXI 协议

二、架构

  1) 写事务

  2) 读事务

三、接口和互连

1)全局信号

2)写地址通道信号

3)写数据通道信号

4)写响应通道信号

5)读地址通道信号

6)读数据通道信号

四、接口要求

1)时钟和复位

2)通道间的关系

3)事务结构

五、事务ID


 

一、关于 AXI 协议

1、AXI协议支持高性能、高频系统设计,用于主、从组件之间的通信。

  • 适用于高带宽和低延迟的设计。
  • 提供高频操作,无需使用复杂的桥。
  • 满足多种组件的接口要求。
  • 适用于初始访问延迟高的内存控制器。
  • 在互连架构的实现中提供灵活性。
  • 向后兼容AHB和APB接口。

2、AXI协议的主要特点是

  • 独立的地址/控制和数据通道。
  • 通过字节选通支持非对齐数据传输。
  • 使用基于突发的事务,只发出起始地址。
  • 独立的读写数据通道,可以提供低成本的直接内存访问(DMA)。
  • 支持地址超发。
  • 支持乱序事务。
  • 允许添加寄存器级,以实现时序收敛。

二、架构

五个独立的传输通道

  • 读地址 (AR)
  • 读数据 (R)
  • 写地址 (AW)
  • 写数据 (W)
  • 写响应 (B)

  1) 写事务

写数据通道:

  • 主端通过写数据通道向从端发送写数据
  • 支持8、16、32、64、128、256、512、1024bit位宽
  • 每个字节有一个字节选通信号用来指示该字节是否有效

写响应通道:

  • 从端通过写响应告诉主端本次写事务(burst)完成,而不是一个事务中每次传输(beat)的完成。

  2) 读事务

读数据通道:

  • 从端通过读数据通道向主端发送读数据和读响应,读响应意味着本次事务的完成。
  • 支持8、16、32、64、128、256、512、1024bit位宽

三、接口和互连

通过互连将几个主端和从端连在一起

1)全局信号

signal

discription

ACLK

全局时钟

ARESETn

全局复位

2)写地址通道信号

AWID

写事务的ID

AWADDR

一次写事务中,第一次传输的地址

AWLEN

一次写事务中,进行几次传输

AWSIZE

一次写事务中,每次数据传输的字节数

AWBURST

突发类型,表明一次写事务中每次数据传输时地址的变化方式

AWLOCK

提供关于写事务的原子特征的信息

AWCACHE

指示写事务如何在系统中进行。

AWPROT

写事务的保护属性:权限、安全级别和访问类型。

AWQOS

写事务的服务质量标识符。

AWREGION

写事务的区域指示器。

AWUSER

用户自定义写地址通道扩展名。

AWVALID

写地址通道的有效指示

AWREADY

写地址通道的ready指示

3)写数据通道信号

WID

写数据传输的ID

WDATA

写数据

WSTRB

写选通,指示哪个字节有效

WLAST

指示是否是一次写事务中的最后一次数据传输

WUSER

用户自定义写数据通道扩展

WVALID

写数据有效

WREADY

写数据ready

4)写响应通道信号

BID

写响应通道的ID

BRESP

写响应,指示写事务的状态

BUSER

用户自定义写响应通道扩展

BVALID

写响应通道信号有效

BREADY

写响应通道ready

5)读地址通道信号

ARID

读事务的ID

ARADDR

一次读事务中,第一次传输的地址

ARLEN

一次读事务中,具体传输的数据量

ARSIZE

一次读事务中,每次数据传输的字节

ARBURST

突发类型,表明一次读事务中每次数据传输时地址的变化

ARLOCK

提供关于读事务的原子特征的信息

ARCACHE

指示读事务如何在系统中进行。

ARPROT

读事务的保护属性:权限、安全级别和访问类型。

ARQOS

读事务的服务质量标识符。

ARREGION

读事务的区域指示器。

ARUSER

用户自定义读地址通道扩展名。

ARVALID

读地址通道的有效指示

ARREADY

读地址通道的ready指示

6)读数据通道信号

RID

读数据传输的ID

RDATA

写数据

RRESP

读响应,指示读传输的状态

RLAST

指示是否是一次写事务中的最后一次数据传输

RUSER

用户自定义写数据通道扩展

RVALID

写数据有效

RREADY

写数据ready

四、接口要求

1)时钟和复位

  • 在主接口和从接口上,输入和输出信号之间不能有组合路径。??
  • 在复位(低电平复位)期间,所有通道的VALID信号必须为低。VALID信号可以拉高的最早时机是复位信号拉高后的第一个时钟上升沿

2)通道间的关系

关于握手

  • 五个通道都通过握手机制进行信息传输,握手可以实现双向流控。
  • 主端信号有效时拉高VALID进行指示,从端可以接收时拉高READY进行指示。只有VALID和READY同时拉高时才进行信息的传输。
  • VALID信号拉高时,数据会一直保持直到握手成功才会传输下一下数据。
  • 主端发送VALID信号不能依赖于从端接收信息的READY信号,防止造成死锁。??

写事务

  • 写地址和写数据是独立的,没有固定的先后关系
  • 在写事务中,写响应要紧随最后一次写传输,BVALID只有在WVALID和WREADY都为高时才能拉高

单头箭头指向的信号可以在箭头开始处的信号之前或之后拉高

双头箭头指向的信号只有在箭头开始处的信号拉高后才能拉高

读事务

  • 读数据必须要紧随数据的读地址(只有有了读地址才可能返回读数据),ARVALID和ARREADY是相互独立的,但RVALID只有在ARVALID和ARREADY都为高时才能拉高

单头箭头指向的信号可以在箭头开始处的信号之前或之后拉高

双头箭头指向的信号只有在箭头开始处的信号拉高后才能拉高

3)事务结构

burst len :突发长度,表示一次突发(burst)支持几个传输(beat)

burst size:表示一次传输(beat)支持的字节数

burst type:

一次突发不能越过4KB的边界

突发没法提前中止

五、事务ID

具有相同ID的事务必须按顺序读写,不同ID的事务间无顺序要求

有了ID,可以无需等待上一事务完成就能开始下一个事务。

参考AXI协议书

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值