? ? ? ???在之前的文章中,我们介绍的主要内容是AXI协议的数据读写结构和读写响应结构,主要讲述了当遇到各种特殊情况时,AXI如何完成数据的读写操作,最后介绍了读写响应的4种类型。
? ? ? ? 在本文中,我们将介绍AXI协议的传输属性。
? ? ? ? AXI传输中,从机可以被定义成以下的两种:(1)内存型从机(2)外设型从机
? ? ? ? 内存型的从机要求能够正确处理所有的传输类型。
? ? ? ? 外设型的从机具有 实现定义(IMPLEMENTATION DEFINED)的访问方式。通常,这在元件的数据表中被定义,它描述了从设备能够正确处理的传输类型。对不属于实现定义(IMPLEMENTATION DEFINED)访问方法的外设型从设备的任何访问都必须按照协议完成。要注意的是,一旦进行了这样的访问(不属于实现方法的),外设型从设备就不一定会继续正确操作,它只需要继续以符合协议要求的方式完成进一步的传输即可。
????????AXI协议定义了一组支持内存和外设从设备的事务属性。ARCACHE 和?AWCACHE信号定义了传输属性,它们控制:
- 传输如何通过系统进行
- 系统级缓存如何处理传输
? ? ? ? 在AXI3协议中,AxCACHE[3:0]中每一位都有着不同的特性,具体的特性编码方式如上图所示,我们来简单介绍以下各个位所代表特性的具体含义:
????????当生效这个位时,互连(或任何元件)都可以把传输到达目的地的时间延迟任意个时钟周期。(注意:通常,可缓冲的属性只与写操作相关。)
? ? ? ? 本质上来说,就是代表是否可缓存,AWCACHE[0]当为低时,表示写响应由终端设备发出;否则,可以由中间设备发出。ARCACHE[0]表示读数据由终端设备发出或所写的目的设备发出。
????????当这个位失效时,将禁止对传输的分配。
????????生效此位时:
????????当生效此位时,建议对传输进行读分配,但不是强制性的。如果已失效C位,则不能生效RA位。
????????当失效此位时,建议对传输进行写分配,但不是强制性的。如果已失效C位,则不能生效WA位。
? ? ? ? AXI4协议是在AXI3协议的基础上发展而来的,在内存属性信号的部分,AXI4对于AXI3进行了如下的更改:
- AxCACHE[1]位被重命名为可修改位(这样的更改是为了更好地描述所需的功能。实际的功能没有改变。)
- 为不可修改的传输处理定义了ordering requirements
- 更新了读分配和写分配的意义。
????????在AXI4中,AxCACHE[1]位是可修改位。当HIGH时,可修改表示可以修改传输的特征。当可修改为低时,参数为不可修改。
? ? ? ? 对于不可修改的交易来说,不能将其分割成多个传输或者其他传输的合并。当传输为不可修改的传输时,下面的参数是不可修改的,即传输地址(AWADDR、ARADDR、AWREGION、ARREGION)、猝发大小(AWSIZE、ARSIZE)、猝发长度(AWLEN、ARLEN)、猝发类型(AWBURST、ARBURST)、锁类型(AWLOCK、ARLOCK)和保护类型(AWPROT、ARPROT)。
????????只能修改AxCACHE属性,以便将事务从可缓冲转换为不可缓冲。不允许对AxCACHE进行其他更改。?传输的ID和QoS是可以修改的,对于猝发长度大于16的不可修改的传输来说,允许分割成多个传输。每个传输的传输都满足上面的要求,但减少猝发长度,所产生的猝发地址也相应进行修改。
? ? ? ? 可修改的传输可以通过下面的方式进行操作:
AWPROT或者ARPROT信号提供三种级别的存取保护:
信号ARPROT[2:0] 和 信号AWPROT[2:0]的编码如下图:
? ? ? ? 本文中我们介绍了AXI协议的传输属性,主要介绍了AxCACHE信号不同位对应的不同含义以及使用方式,最后简单介绍了保护类型相关的信号。