深入浅出AXI协议(6)——传输属性

2023-12-23 21:18:54

一、前言

? ? ? ???在之前的文章中,我们介绍的主要内容是AXI协议的数据读写结构和读写响应结构,主要讲述了当遇到各种特殊情况时,AXI如何完成数据的读写操作,最后介绍了读写响应的4种类型。

? ? ? ? 在本文中,我们将介绍AXI协议的传输属性。

二、传输类型与属性

? ? ? ? AXI传输中,从机可以被定义成以下的两种:(1)内存型从机(2)外设型从机

1、内存型从机(Memory Slave )

? ? ? ? 内存型的从机要求能够正确处理所有的传输类型。

2、外设型从机(Peripheral Slave )

? ? ? ? 外设型的从机具有 实现定义(IMPLEMENTATION DEFINED)的访问方式。通常,这在元件的数据表中被定义,它描述了从设备能够正确处理的传输类型。对不属于实现定义(IMPLEMENTATION DEFINED)访问方法的外设型从设备的任何访问都必须按照协议完成。要注意的是,一旦进行了这样的访问(不属于实现方法的),外设型从设备就不一定会继续正确操作,它只需要继续以符合协议要求的方式完成进一步的传输即可。

????????AXI协议定义了一组支持内存和外设从设备的事务属性。ARCACHE 和?AWCACHE信号定义了传输属性,它们控制:

  • 传输如何通过系统进行
  • 系统级缓存如何处理传输

三、AXI3内存属性信号

? ? ? ? 在AXI3协议中,AxCACHE[3:0]中每一位都有着不同的特性,具体的特性编码方式如上图所示,我们来简单介绍以下各个位所代表特性的具体含义:

1、AxCACHE[0], Bufferable (B) bit

????????当生效这个位时,互连(或任何元件)都可以把传输到达目的地的时间延迟任意个时钟周期。(注意:通常,可缓冲的属性只与写操作相关。)

? ? ? ? 本质上来说,就是代表是否可缓存,AWCACHE[0]当为低时,表示写响应由终端设备发出;否则,可以由中间设备发出。ARCACHE[0]表示读数据由终端设备发出或所写的目的设备发出。

2、AxCACHE[1], Cacheable (C) bit

????????当这个位失效时,将禁止对传输的分配。

????????生效此位时:

  • 允许参数的分配。RA和WA提供了额外的提示信息。
  • 在最终目的地处的传输的特征不必与原始传输的特征相匹配。对于写操作,这意味着许多不同的写操作可以合并在一起。对于读取,这意味着可以预取一个位置的内容,或者来自单个读取的值可以用于多个读取事务。

3、AxCACHE[2], Read-allocate (RA) bit

????????当生效此位时,建议对传输进行读分配,但不是强制性的。如果已失效C位,则不能生效RA位。

4、AxCACHE[3], Write-allocate (WA) bit

????????当失效此位时,建议对传输进行写分配,但不是强制性的。如果已失效C位,则不能生效WA位。

四、AXI4内存属性信号

? ? ? ? AXI4协议是在AXI3协议的基础上发展而来的,在内存属性信号的部分,AXI4对于AXI3进行了如下的更改:

  • AxCACHE[1]位被重命名为可修改位(这样的更改是为了更好地描述所需的功能。实际的功能没有改变。)
  • 为不可修改的传输处理定义了ordering requirements
  • 更新了读分配和写分配的意义。

1、AxCACHE[1], Modifiable

????????在AXI4中,AxCACHE[1]位是可修改位。当HIGH时,可修改表示可以修改传输的特征。当可修改为低时,参数为不可修改。

1.1 不可修改的传输

? ? ? ? 对于不可修改的交易来说,不能将其分割成多个传输或者其他传输的合并。当传输为不可修改的传输时,下面的参数是不可修改的,即传输地址(AWADDR、ARADDR、AWREGION、ARREGION)、猝发大小(AWSIZE、ARSIZE)、猝发长度(AWLEN、ARLEN)、猝发类型(AWBURST、ARBURST)、锁类型(AWLOCK、ARLOCK)和保护类型(AWPROT、ARPROT)。

????????只能修改AxCACHE属性,以便将事务从可缓冲转换为不可缓冲。不允许对AxCACHE进行其他更改。?传输的ID和QoS是可以修改的,对于猝发长度大于16的不可修改的传输来说,允许分割成多个传输。每个传输的传输都满足上面的要求,但减少猝发长度,所产生的猝发地址也相应进行修改。

1.2 可修改的传输

? ? ? ? 可修改的传输可以通过下面的方式进行操作:

  • 传输可以分割成多个传输
  • 多个传输可以合并成一个传输
  • 读传输能够读取出比要求多的数据
  • 写传输可以访问比要求更大的地址范围,使用写选通信号以保证只更新正确的地址空间
  • 可以修改每个传输的传输地址,猝发大小,猝发长度。但是,不能修改锁类型和保护类型。

五、保护类型

AWPROT或者ARPROT信号提供三种级别的存取保护:

  • 正常存取或者特权存取, ARPROT[0] 和 AWPROT[0]安
  • 全性存取或者没有安全性存取, ARPROT[1] 和 AWPROT[1]
  • 指令存取或者数据存取? ,ARPROT[2] 和 AWPROT[2]

信号ARPROT[2:0] 和 信号AWPROT[2:0]的编码如下图:

六、总结

? ? ? ? 本文中我们介绍了AXI协议的传输属性,主要介绍了AxCACHE信号不同位对应的不同含义以及使用方式,最后简单介绍了保护类型相关的信号。

文章来源:https://blog.csdn.net/apple_53311083/article/details/132689352
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。