当前位置:网站首页>AXI协议基础知识
AXI协议基础知识
2022-06-11 16:46:00 【XPii】
AXI协议基础知识












1、AXI简介
AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持显著传输访问和乱序访问,并更加容易就行时序收敛。
2、AXI 特点
- 单向通道体系结构,信息流只以单方向传输,简化时钟域间的桥接,减少门数量。
- 通过并行执行猝发操作,极大地提高了数据吞吐能力,可在更短的时间内完成任务,在满足高性能要求的同时,又减少了功耗。
- 独立的地址和数据通道。地址和数据通道分开,能对每一个通道进行单独优化,可以根据需要控制时序通道,将时钟频率提到最高,并将延时降到最低。
3、AXI 总体结构
- AXI总线共有5个通道分别是read address channel 、write address channel 、read data channel 、 write data channel、 write response channel。每一个AXI传输通道都是单方向的。
- 读事务的结构图如下:

- 写事务的结构图如下:

- 这5条独立的通道都包含一个信息信号和一个双路的VALD、READY握手机制,信息源通过VALID信号来指示通道中的数据和控制信息什么时候有效。目地源用READY信号来表示何时能够接收数据。读数据和写数据通道都包括一个LAST信号,用来指明一个事务传输的最后一个数据。
- 传输地址信息和数据都是在VALID和READY同时为高时有效。
4、AXI 协议中的信号
4.1 全局信号
| 信号 | 源 | 描述 |
|---|---|---|
| ACLK | Clock source | 全局时钟信号 |
| ARESETn | Reset source | 全局复位信号,低电平有效 |
4.2 写地址通道中的信号
| 信号 | 源 | 描述 |
|---|---|---|
| AWID[3:0] | 主机 | 写地址ID,这个信号是写地址信号组的ID tag。 |
| AWADDR[31:0] | 主机 | 写地址 |
| AWLEN[3:0] | 主机 | 突发传输长度,此长度决定突发式写所传输的数据的个数,即一次突发中传输的数据数量为AWLEN + 1。 |
| AWSIZE[2:0] | 主机 | 突发传输宽度,每周期传输的数据字节数量。即DATA_WIDTH/8 = 2AWSIZE 。 指在burst传输的次数中一次传输的字节数,具体的数值等于2AWSIZE 。因此一次burst传输的总共字节数等于(burst的次数) * 2AWSIZE 。 |
| AWBURST[1:0] | 主机 | 突发类型,共FIXED,INCR,WRAP三种,下面详细介绍。 |
| AWLOCK[1:0] | 主机 | 总线锁信号,normal, exclusive, locked。 |
| AWCACHE[3:0] | 主机 | Cache类型。这信号指明事务的bufferable、cacheable、write-through、write-back、allocate attributes信息。 |
| AWVALID | 主机 | 写地址有效。1 = 地址和控制信息有效,0 = 地址和控制信息无效;该信号会一直保持,直到AWREADY变为高。 |
| AWREADY | 从机 | 该信号用来指明从机已经准备好接受地址和控制信息。1 = 从机已经准备好,0 = 从机未准备好。 |
4.3 写数据通道中的信号
| 信号 | 源 | 描述 |
|---|---|---|
| WID[3:0] | 主机 | 写ID tag,WID的值必须与AWID的值匹配。 |
| WDATA[31:0] | 主机 | 写数据 |
| WSTRB[3:0] | 主机 | 写数据有效的字节线,用来表明哪8bits数据是有效的。 |
| WLAST | 主机 | 突发写传输的最后一个数据 |
| WVALID | 主机 | 写数据有效信号,1 = 此时数据有效,0 = 此时数据无效。 |
| WREADY | 从机 | 写就绪信号,代表从机是否已经准备好接收数据了。1 = 从机已经准备好,0 = 从机未准备好。 |
4.4 写响应通道中的信号
| 信号 | 源 | 描述 |
|---|---|---|
| BID[3:0] | 从机 | 响应ID,这个数值必须与AWID的数值匹配。 |
| BRESP[1:0] | 从机 | 写响应。这个信号指明写事务的状态。可能有的响应:OKAY、EXOKAY、SLVERR、DECERR。 |
| BVALID | 从机 | 写响应有效。1 = 写响应有效,0 = 写响应无效。 |
| BREADY | 主机 | 主机接受响应就绪信号 。该信号表示主机是否能够接受响应信息。1 = 主机就绪,0 = 主机未就绪。 |
4.5 读地址通道中的信号
| 信号 | 源 | 描述 |
|---|---|---|
| ARID[3:0] | 主机 | 响应ID,这个数值必须与AWID的数值匹配。 |
| ARADDR[31:0] | 主机 | 读地址。 |
| ARLEN[3:0] | 主机 | 突发传输长度,此长度决定突发式写所传输的数据的个数,即一次突发中传输的数据数量为AWLEN + 1。 |
| ARSIZE[2:0] | 主机 | 突发传输宽度,每周期传输的数据字节数量。即DATA_WIDTH/8 = 2AWSIZE 。 |
| ARBURST[1:0] | 主机 | 突发式读类型。共FIXED,INCR,WRAP三种,下面详细介绍。 |
| ARLOCK[1:0] | 主机 | 总线锁信号,normal, exclusive, locked。 |
| ARCACHE[3:0] | 主机 | Cache类型。这信号指明事务的bufferable、cacheable、write-through、write-back、allocate attributes信息。 |
| ARPROT[2:0] | 主机 | 保护类型。 |
| ARVALID | 主机 | 读地址有效。信号一直保持不变,直到ARREADY为高。1 = 地址和控制信息有效,0 = 地址和控制信息无效。 |
| ARREADY | 从机 | 从机接收读地址就绪。指明从机已经准备好接收读地址了。1 = 从机就绪,0 = 从机未就绪。 |
4.6 读数据通道中的信号
| 信号 | 源 | 描述 |
|---|---|---|
| RID[3:0] | 从机 | 读ID tag。RID的数值必须与ARID的数值匹配。 |
| RDATA[31:0] | 从机 | 读数据。 |
| RRESP[1:0] | 从机 | 读响应信号。这个信号指明读传输的状态:OKAY、EXOKAY、SLVERR、DECERR。 |
| RLAST | 从机 | 读事务传送的最后一个数据。 |
| RVALID | 从机 | 读数据有效。1 = 读数据有效。0 = 读数据无效。 |
| RREADY | 主机 | 主机接收读数据信号是否就绪。1 = 主机就绪,0 = 主机未就绪。 |
5、主机/从机之间的握手过程以及READY和VALID握手信号的关系
5.1 VALID和READY信号的三种关系
全部5个通道使用相同的VALID/READY握手机制传输数据及控制信息。传输源产生VLAID信号来指明何时数据或控制信息有效。而目地源产生READY信号来指明已经准备好接受数据或控制信息。传输发生在VALID和READY信号同时为高的时候。
- VALID先变高READY后变高。时序图如下,数据传输在箭头处发生。

- READY先变高VALID后变高。时序图如下,数据传输在箭头处发生。

- VALID和READY信号同时变高。时序图如下,数据传输在箭头处发生。

5.2 五个通道之间的关系
两种关系必须保持:
- 读数据必须总是跟在与其数据相关联的地址之后。
- 写响应必须总是跟在与其相关联的写事务的最后出现。
5.3 握手信号之间的关系
5.3.1 写事务握手信号之间的关系:
- 主机不可以等待从机先给出AWREADY或WREADY信号信号后再给出信号AWVALID或WVLAID。
- 从机可以等待信号AWVALID或WVALID信号有效或者两个都有效之后再给出AWREADY信号。
- 从机可以等待AWVALID或WVALID信号有效或者两个信号都有效之后再给出WREADY信号
5.3.2 读事务握手信号之间的关系:
- 从机可以在ARVALID出现的时候在给出ARREADY信号,也可以先给出ARREADY信号,再等待ARVALID信号。
- 从机必须等待ARVALID和ARREADY信号都有效才能给出RVALID信号,开始数据传输。
6、AXI突发式读写的类型、读写事务地址的计算
6.1 一次突发的地址不能跨越4K边界。
4k边界对齐的最大原因是系统中定义一个page大小为4kBytes,为了更好设定每个slave的访问attribute,就给一个slave划分4k空间。AXI协议中一次突发不能越过4K边界是为了避免一笔burst交易访问两个slave(每个slave都是4k对齐),如果一次burst传输访问大于4k,则可能会造成地址从slave1增加了slave2上,slave2又不响应,导致传输无法完成。
6.2 信号AWLEN或信号ARLEN指定每一次突发式读写所传输的数据的个数。

6.3 ARSIZE信号或AWSIZE信号指定每一个时钟节拍所传输的数据的最大位数。

6.4 三种突发式读写的类型
AXI协议定义了三种突发式读写的类型:固定式的突发读写、增值式突发读写、包装式突发读写。用信号ARBURST或AWBURST来选择突发式读写的类型。具体如下:
- 固定式突发读写是指地址是固定的,每一次传输的地址都不变。这样的突发式读写是重复的对一个相同的位置进行存取。例如FIFO。
- 增值式突发读写是指每一次读写的地址都比上一次的地址增加一个固定的值(2AWSIZE)。
- 包装式突发读写跟增值式突发读写类似。包装式突发读写的地址是包数据的低地址当到达一个包边界。
7、AXI中的ID tags
7.1 五个通道中的事务ID tags
| 名称 | 描述 |
|---|---|
| AWID | 写地址群组信号 |
| WID | 主机传送一个WID去匹配与地址相一致的AWID |
| BID | 从机会传送BID去匹配与AWID和WID相一致的事务 |
| ARID | 读地址群组信号 |
| RID | 从机传送RID去匹配与ARID相一致的事务 |












边栏推荐
- R1 Quick Open Pressure Vessel Operation test Library and Simulation Test in 2022
- Wechat applet timestamp conversion time format + time subtraction
- 微服务连接云端Sentinel 控制台失败及连接成功后出现链路空白问题(已解决)
- 每周推荐短视频:菜鸟CEO谈未来物流新赛道
- 启牛推荐开通的股票账户安全吗?靠谱吗
- Katalon Studio Enterprise
- 笔记本连接外部键盘后,如何把笔记本自身的键盘禁用
- Analysis of time complexity and space complexity
- 2022 high altitude installation, maintenance and demolition test simulation 100 questions and online simulation test
- Simulated 100 questions and simulated examination for main principals of hazardous chemical business units in 2022
猜你喜欢

pycharm和anaconda的基础上解决Jupyter连接不上Kernel(内核)的问题--解决方案1

^32执行上下文栈面试题

leetcode463. Perimeter of the island (simple)

虚拟局域网划分与虚拟局域网间路由(VLAN)

【pytest学习】pytest 用例执行失败后其他不再执行

R1 Quick Open Pressure Vessel Operation test Library and Simulation Test in 2022

Kernel density estimation (2D, 3D)

VLAN partition and routing between VLANs

2022 safety officer-a certificate test question simulation test question bank simulation test platform operation

Center detection of circular marking points for opencv camera calibration
随机推荐
2022安全员-C证特种作业证考试题库及答案
Katalon Studio Enterprise
Le compte de titres de l'école de commerce kainiu est - il sécurisé? Frais d'ouverture de compte
Analysis of time complexity and space complexity
每周推荐短视频:菜鸟CEO谈未来物流新赛道
Can I eat meat during weight loss? Will you get fat?
开关电源电路图及原理12v分析-详细版
Leetcode 450. Deleting a node in a binary search tree
2022 simulated examination question bank and simulated examination for crane driver (limited to bridge crane)
Text driven for creating and editing images (with source code)
LeetCode——42. 接雨水(双指针)
【pytest学习】pytest 用例执行失败后其他不再执行
Rdkit tutorial
【opencvsharp】opencvsharp_samples.core示例代码笔记
JINTE NET基金会将通过线上直播参与维度链全球战略发布会
C语言各数据类型的内存映像
Why does chip design also need "Craftsmanship"?
做跨境电商卖什么产品好?热销类目有哪些?
R1 Quick Open Pressure Vessel Operation test Library and Simulation Test in 2022
RSP:遥感预训练的实证研究