【ARM AMBA AXI 入门 5 - AXI 协议中的 QoS信号及User信号介绍 】

文章目录

    • 1.1 QoS信号(QoS Signaling)
      • 1.1.1QoS 信号的意义
      • 1.1.2 QoS 在芯片设计中的使用
      • 1.1.3 AxREGION 信号
      • 1.1.4 USER 信号

1.1 QoS信号(QoS Signaling)

1.1.1QoS 信号的意义

QOS 信号实际上没有明确的定义,但协议中推荐大家使用 QOS信号来展示 transaction 的优先级,该标识符AxQOS[3:0]表示服务的优先级。在 AXI 协议中,常常用下面规则来体现 AXI 协议的执行顺序:

  • Transaction ID 相同,顺序执行;
  • Transaction ID不同,乱序执行。

增加的 QoS 信号可以在这句话的基础上进一步指导 Transaction 的执行顺序,通常情况下,高优先级, QOS信号数值也会大一些。

默认的 QoS 信号值为 0b0000, 表示接口未参加 QoS 优先级排序,
因协议对 QoS 的规定为推荐值,也可以用其他的方式解释 QoS 这组信号

QoS信号列表 位宽 来源 描述
AWQOS 4bits master 服务质量,即每次写传输的QoS标识符,仅AXI4支持
ARQOS 4 bits master 服务质量,即每次读传输的QoS标识符,仅AXI4支持

AWQOS 是针对于写操作优先级而言的;
ARQOS 是针对于读操作优先级而言的。

协议里面并没有规定具体的用法,只是建议用 AxQOS 信号作为区分优先级使用,数值越大表示优先级越高。
就是在资源有限的情况下,尽可能的保证高优先级的模块或组件获得足够的资源,比如内存带宽。

1.1.2 QoS 在芯片设计中的使用

在芯片设计中,以内存带宽为例,对于手机 SoC 或通用的图像 GPU而言,显示接口模块显然需要稍高一些的优先级,否则打游戏时显示图像不流畅会极大的影响用户体验。不同的SoC中拥有的系统资源各不相同,需求也各不相同。对于SoC来说,QOS是一个系统问题,所以AXI协议中没有规定具体的实施,这要依赖于系统架构设计。也正是因为这样,协议规定AXI的事务排序优先于QOS排序。

1.1.3 AxREGION 信号

AxREGION 信号 AWREGION和ARREGION 都是4bit宽度,用于支持多区域接口(multiple region interface)。
AxREGION 用于唯一标识多个不同的区域,提供高阶地址位的解码。区域标识符(region identifier)必须在任何4K字节的地址空间内保持不变。使用AxREGION意味着从机上的单个物理接口可以提供多个逻辑接口,每个接口在系统地址映射中具有不同的位置。从机不必支持不同逻辑接口之间的地址解码。

1.1.4 USER 信号

AXI4 提供了一组称为 USER 的用户自定义信号,对应5个通道,分别是:

  • AWUSER;
  • ARUSER;
  • WUSER;
  • RUSER;
  • BUSER。

协议没有规定这些信号的具体用法,甚至都没规定这些信号的宽度。而且协议也不要求同时实现 5 个通道的USER信号。在一些SoC设计中,可以利用USER信号来传输一些边带信息。要注意的是,如果是不同厂家的 IP,在集成时千万要看好了USER信号的具体用法,很有可能不兼容,不能直连。

你可能感兴趣的:(#,ARM,Bus,Introduction,fpga开发,arm开发)