深入理解AMBA总线(十九)AXI4新增信号以及AXI4-lite

简介: 深入理解AMBA总线(十九)AXI4新增信号以及AXI4-lite

前面的文章中我们已经系统性的讲完了AXI3协议,同时穿插了部分AXI4的讲解。但是AXI4的部分信号和AXI4-lite还没有讲解,本篇文章系统性的给大家讲解一下剩余的信号(水一篇文章)。

1、AXI4新增的信号

AXI4相比于AXI3扩展了一些信号,前面的文章中我们已经讲过了其中的AxQoS信号,这里不重复讲解。我们讲解一下之前没有讲过的信号。

1.1、Region Signal

AxRegion信号,该信号为4bit。分为AWRegionARRegion两个信号。顾名思义,它的用途是用来指定相应的Region,由于它有4bit,相应的最多可以指定16个Region。

该信号用来干什么呢?举个例子,我在同一个Slave之间有不同的数据类型,如果你用AXI对其进行访问,那么就需要对地址进行译码,从而选择需要的Region。但是如果有Region信号,可以直接根据Region信号去选择需要的Region,从而简化了译码逻辑。再比如你去访问一个MUX,你如果有该信号,可以大大简化MUX的设计逻辑。

此外之前有讲到过Secure Region和Non Secure Region,这种情况下可以根据Region来判断它是只读的还是读写的或者是别的。比如只读的规定Region为0,否则为1。

总而言之,该信号可以传递额外的信息。用于区分不同的Region,对于不同的Region你可以定义不同的行为。该信号相对比较灵活,但是实际上该信号用的并不太多。至少我接触过一些AXI相关的IP,都没有实际使用该信号。

1.2、User Signal

AxUSER信号,该信号相比于Region信号而言,用途可以说多得多。AXI官方没有指定该信号的具体用途,因此该信号可以说非常的灵活。你可以用它来做不同的指示信号。

以下是一些使用建议:

  • 该信号用来传递额外的控制信号。比如本人之前设计的一款原子操作模块,用该信号来说明是否是原子操作指令,如果是的话是哪一种原子操作指令。使用其中的2bit;
  • 不是所有的Channel都需要支持该信号;
  • 位宽没有严格的限制,不同Channel的User信号位宽可以不一样;
  • 两个模块连接的时候要注意User用法是否一样;

1.3、AXI4和AXI3的主要区别

主要区别如下:

  • AXI4支持更长的突发传输(AxLEN从4bit扩展为8bit,相应的突发长度最大可以到256);
  • 增加了QoS信号,以提供服务质量。减少延迟,便于仲裁;
  • 多Slave Region(即AxRegion信号);
  • 移除了WID信号,因此不支持写数据interleave;
  • AxLOCK从2bit变为1bit,不再支持Lock Transfer;
  • 写响应必须在写数据和写地址全部给了以后才允许返回(之前可以在给了写数据以后就返回写响应);
  • 将Cacheable改为Modifyable

2、AXI4-lite

顾名思义,AXI4-lite是在AXI4的基础上做了相应的简化,为什么要做简化呢?因为很多时候我们用不到那么多AXI 的特性,使用简化版本可以省面积省功耗。AXI4-lite一般用在寄存器配置或者是其它的一些简单外设上,该协议基本上是用来替代APB协议的。

AXI4-lite的特性如下:

  • 所有的Transaction的Burst length为1,即不支持突发传输,只支持Single Transfer;
  • 没有突发传输自然没有Last信号;
  • 没有Strobe信号,因此会使用完整的data bus作为传输;
  • 由于AXI4-lite主要是用来配置寄存器,配置寄存器基本都希望立即生效,因此其是Non-bufferable和Non-modifiable的;
  • 不支持原子操作;

目录
相关文章
ZYNQ-AXI总线的信号接口要求以及时序关系
ZYNQ-AXI总线的信号接口要求以及时序关系
294 0
ZYNQ-AXI总线的信号接口要求以及时序关系
|
8月前
|
vr&ar SoC 内存技术
深入理解AMBA总线(十二)AXI突发传输和AXI控制信号
深入理解AMBA总线(十二)AXI突发传输和AXI控制信号
363 0
|
8月前
|
存储 网络性能优化 vr&ar
深入理解AMBA总线(十七)AXI是如何提高性能的
深入理解AMBA总线(十七)AXI是如何提高性能的
436 1
|
8月前
|
存储 数据处理 计算机视觉
深入理解AMBA总线(十五)AXI-stream
深入理解AMBA总线(十五)AXI-stream
261 0
|
8月前
|
vr&ar 内存技术
深入理解AMBA总线(十八)一个简单的AXI2SRAM设计
深入理解AMBA总线(十八)一个简单的AXI2SRAM设计
214 0
|
8月前
|
SoC 内存技术
深入理解AMBA总线(五)AHB-lite Transfer进阶
深入理解AMBA总线(五)AHB-lite Transfer进阶
192 0
|
8月前
|
存储
深入理解AMBA总线(六)AHB-lite Slave响应和其它控制信号
深入理解AMBA总线(六)AHB-lite Slave响应和其它控制信号
303 0
|
8月前
|
监控 Scala 虚拟化
深入理解AMBA总线(十三)AXI原子访问机制和AXI响应
深入理解AMBA总线(十三)AXI原子访问机制和AXI响应
221 0
|
8月前
|
存储 安全
深入理解AMBA总线(四)AHB-lite总线
深入理解AMBA总线(四)AHB-lite总线
211 0
|
8月前
|
SoC
深入理解AMBA总线(十六)AXI设计的关键问题(二)
深入理解AMBA总线(十六)AXI设计的关键问题(二)
292 0
深入理解AMBA总线(十六)AXI设计的关键问题(二)