当前位置: 首页 > news >正文

【电路笔记 通信】AXI4-Lite协议 论文阅读 简化的高级可扩展接口(AdvancedeXtensibleInterface4Lite)

  • 原文地址:AMBA AXI and ACE Protocol Specification

文章目录

  • Chapter B1 AMBA AXI4-Lite
    • B1.1 Definition of AXI4-Lite
  • 第B1章 AMBA AXI4-Lite
    • B1.1 AXI4-Lite的定义
      • B1.1.1 Signal list AXI4-Lite 接口信号列表(AXI4-Lite Interface Signals)
        • 在AXI4-Lite中修改的AXI4信号
        • AXI4-Lite不支持AXI4信号
      • B1.1.2 Bus width
      • B1.1.3 Write strobes WSTRB[3:0]
      • B1.1.4 Optional signaling
    • B1.2 Interoperability 互操作性
        • 表 B1-2:AXI 与 AXI4-Lite 互操作性
      • B1.2.1 Bridge requirements of AXI4-Lite slaves
      • B1.2.2 AXI4-Lite 从设备的直接连接要求
    • B1.3 Defined conversion mechanism
      • B1.3.1 Conversion rules
    • B1.4 Conversion, protection, and detection (AXI 到 AXI4-Lite 的转换、保护与检测系统)
      • B1.4.1 Conversion and protection levels 转换与保护等级
      • B1.4.2 Implementation considerations

Chapter B1 AMBA AXI4-Lite

  • 本章定义了 AXI4-Lite 接口及相关协议。AXI4-Lite 适用于较为简单的控制寄存器式接口,这些接口不需要 AXI4 的全部功能。

B1.1 Definition of AXI4-Lite

  • 本节定义了 AXI4-Lite 组件的功能和信号要求。AXI4-Lite 操作的关键功能如下:
    • 所有事务的突发长度均为 1。
    • 所有数据访问均使用数据总线的全宽 (AXI4-Lite 支持 32 位或 64 位数据总线宽度)。
    • 所有访问均不可修改且不可缓冲。
    • 不支持独占访问( Exclusive Accesses)。

第B1章 AMBA AXI4-Lite

  • 本章定义了AXI4-Lite接口及其相关协议。AXI4-Lite适用于不需要完整AXI4功能的简单控制寄存器式接口。

B1.1 AXI4-Lite的定义

本节定义了AXI4-Lite组件的功能和信号要求。
AXI4-Lite操作的关键功能包括:

  • 所有事务的突发长度均为1。
  • 所有的数据访问都使用数据总线的全部宽度。
    AXI4-Lite支持32位或64位的数据总线宽度。
  • 所有访问都是非可修改、非缓冲的。
  • 不支持独占访问。

B1.1.1 Signal list AXI4-Lite 接口信号列表(AXI4-Lite Interface Signals)

  • 本表列出了 AXI4-Lite 接口所需的全部信号,并按通道分类。
    注:AXI4-Lite 是 AXI4 协议的简化子集,仅支持单次传输(fixed burst length of 1),适用于寄存器级访问。
属性 \ 通道全局信号 (Global)写地址通道 (Write Address)写数据通道 (Write Data)写响应通道 (Write Response)读地址通道 (Read Address)读数据通道 (Read Data)
信号名称ACLK
ARESETn
AWVALID
AWREADY
AWADDR[31:0]
AWPROT[2:0]
WVALID
WREADY
WDATA[31:0]
WSTRB[3:0]
BVALID
BREADY
BRESP[1:0]
ARVALID
ARREADY
ARADDR[31:0]
ARPROT[2:0]
RVALID
RREADY
RDATA[31:0]
RRESP[1:0]
方向输入
输入
主 → 从
从 → 主
主 → 从
主 → 从
主 → 从
从 → 主
主 → 从
主 → 从
从 → 主
主 → 从
从 → 主
主 → 从
从 → 主
主 → 从
主 → 从
从 → 主
主 → 从
从 → 主
从 → 主
描述- 主时钟信号,所有传输同步于此时钟上升沿。
- 异步复位信号(低电平有效),用于初始化接口。
- 写地址有效:主设备声明地址和控制信息有效。
- 写地址就绪:从设备准备好接收地址。
- 写地址:指定要写入的寄存器地址。
- 写保护类型:指示访问的特权级别和安全属性(可选)。
- 写数据有效:主设备声明写数据和字节选通有效。
- 写数据就绪:从设备准备好接收数据。
- 写数据:要写入从设备的数据。
- 写字节选通:指示哪些字节有效。
- 写响应有效:从设备返回写操作完成状态。
- 写响应就绪:主设备准备好接收响应。
- 写响应:
2'b00: OKAY(成功)
2'b01: EXOKAY(独占成功)
2'b10: SLVERR(从设备错误)
2'b11: DECERR(解码错误)
- 读地址有效:主设备声明读地址有效。
- 读地址就绪:从设备准备好接收读地址。
- 读地址:指定要读取的寄存器地址。
- 读保护类型:同 AWPROT(可选)。
- 读数据有效:从设备返回数据有效。
- 读数据就绪:主设备准备好接收数据。
- 读数据:从设备返回的寄存器数据。
- 读响应:含义同 BRESP
在AXI4-Lite中修改的AXI4信号
  • AXI4-Lite接口并不完全支持以下信号:
    RRESP,BRESP(RRESPBRESPAXI4 协议中两个非常重要的响应信号
    • 读取数据和写入响应通道不支持EXOKAY(Exclusive Access OKAY —— 独占访问成功)响应。
信号所属通道方向位宽含义
RRESP[1:0]读数据通道(R Channel)从设备 → 主设备2 位读操作的响应状态
BRESP[1:0]写响应通道(B Channel)从设备 → 主设备2 位写操作的响应状态
二进制值十六进制名称含义
2'b002h0OKAY操作成功:正常完成,无错误。
2'b012h1EXOKAY独占访问成功:仅用于支持独占访问的系统(AXI4 支持,AXI4-Lite 不支持)。
2'b102h2SLVERR从设备错误:从设备(如 FPGA 外设)在处理时发生错误(如非法操作、内部故障)。
2'b112h3DECERR解码错误:地址无效,没有对应的从设备(类似“地址越界”)。
特性AXI4AXI4-Lite
支持 OKAY (2'b00)支持支持
支持 EXOKAY (2'b01)支持(用于独占访问)不支持,必须忽略
支持 SLVERR (2'b10)支持支持(可选,用于检测非法访问)
支持 DECERR (2'b11)支持支持(通常由互连矩阵生成)
AXI4-Lite不支持AXI4信号
被省略的信号默认/固定行为说明与设计原因
AWLEN, ARLEN突发长度 = 1(AxLEN = 0AXI4-Lite 仅支持单次传输,无需指定突发长度。
AWSIZE, ARSIZE数据宽度 = 数据总线宽度每次传输完整数据字(如 32 位或 64 位),无需动态指定大小。
AWBURST, ARBURST突发类型无意义因为突发长度固定为 1,突发类型(INCR/WRAP/FIXED)无效。
AWLOCK, ARLOCK访问类型 = 普通访问(AxLOCK = 0不支持总线锁定或独占访问,所有操作为“Normal Access”。
AWCACHE, ARCACHE缓存属性AxRCACHE = 4'b0000所有访问定义为:
• 不可修改(Non-modifiable)
• 不可缓存(Non-bufferable)
WLAST, RLAST固定为高电平,始终 = 1每次传输即为最后一次(突发长度为 1),信号被隐式固定,无需传递。

B1.1.2 Bus width

AXI4-Lite具有固定的数据总线宽度,所有事务的宽度都与数据总线相同。数据总线宽度必须是32位或64位。
ARM预计:

  • 大多数组件使用32位接口
  • 只有需要64位原子访问的组件才使用64位接口。
    一个64位组件可以被设计为可由32位主设备访问,但实现时必须确保该组件将所有事务视为64位事务。

注意
这种互操作性可以通过在组件的寄存器映射中,包含适合 32 位主设备访问的寄存器地址来实现。通常,这些地址仅使用数据总线的低 32 位。

B1.1.3 Write strobes WSTRB[3:0]

        AXI4-Lite 协议支持写选通(write strobes)。这意味着可以实现多种尺寸的寄存器,并且支持需要 8 位和 16 位访问的内存结构。

        所有主设备接口和互连组件必须提供正确的写选通信号。 任何从设备组件均可选择是否使用写选通信号。允许的选择包括:

  • 充分利用写选通信号;
  • 忽略写选通信号,并将所有写访问视为完整数据总线宽度的访问;
  • 检测不支持的写选通组合,并返回错误响应。

        对于提供内存访问功能的从设备,必须完全支持写选通信号。内存映射中的其他从设备可能支持较为有限的写选通选项。

        在从完整 AXI 转换到 AXI4-Lite 时,可能会在 AXI4-Lite 上生成所有写选通信号均未激活的写事务。允许但不要求自动抑制此类事务。参见第 B1-131 页的“转换、保护与检测”。

  • 注:每 8 位(1 字节)对应 1 位写选通,WSTRB 的位数 = 数据总线宽度(bit) ÷ 8

B1.1.4 Optional signaling

        AXI4-Lite 支持多个未完成的事务(outstanding transactions),但从设备可以通过适当使用握手信号来限制此行为。

        AXI4-Lite 不支持 AXI ID 信号。这意味着所有事务必须按顺序进行,且所有访问使用一个固定的单一 ID 值。

注意
可选地,一个 AXI4-Lite 从设备可以支持 AXI ID 信号,以便能够在不作修改的情况下连接到完整的 AXI 接口。详见第 B1-128 页的“互操作性(Interoperability)”。

AXI4-Lite 不支持数据交错(data interleaving),突发长度定义为 1。

B1.2 Interoperability 互操作性

  • 本节描述了 AXI 与 AXI4-Lite 主设备和从设备之间的互操作性。表 B1-2 展示了接口可能的组合方式,并指出:唯一需要特别处理的情况是 AXI 主设备连接到 AXI4-Lite 从设备
表 B1-2:AXI 与 AXI4-Lite 互操作性
主设备(Master)从设备(Slave)互操作性说明
AXIAXI完全兼容,可正常工作。
AXIAXI4-Lite需要 AXI ID 反射(ID reflection),可能需要进行协议转换。
AXI4-LiteAXI完全兼容,可正常工作。
AXI4-LiteAXI4-Lite完全兼容,可正常工作。
  • 注:
  • AXI 主设备 → AXI4-Lite 从设备 是唯一需要关注的组合:
    • 因为 AXI 支持多个未完成事务(outstanding transactions)和事务 ID(AXI ID),而 AXI4-Lite 不支持 ID,也不支持乱序响应;
    • 因此,在连接时,通常需要:
      • ID 反射(ID Reflection):从设备在响应通道(如 BIDRID)中回传主设备发出的 ID;
      • 协议转换逻辑(如通过 AXI Interconnect 或 Adapter):将 AXI 的多 ID、乱序能力适配到 AXI4-Lite 的单 ID、顺序传输限制;
      • 或者,AXI4-Lite 从设备可选地支持 ID 信号,以实现无缝连接(见前文“注意”)。

B1.2.1 Bridge requirements of AXI4-Lite slaves

  • 如表 B1-2 所示,唯一需要特别考虑的互操作情况是将 AXI4-Lite 从设备接口连接到完整的 AXI 主设备接口。

  • 此连接要求支持 AXI ID 反射。AXI4-Lite 从设备必须在返回该事务的读取数据或写入响应时,回传与该事务地址相关联的 AXI ID。之所以需要这样做,是因为主设备需要通过返回的 ID 来正确识别对应事务的响应。

  • 如果一个实现无法确保 AXI 主设备接口仅生成属于 AXI4-Lite 子集的事务,则需要某种形式的适配。详见第 B1-131 页的“转换、保护与检测”(Conversion, protection, and detection)。

B1.2.2 AXI4-Lite 从设备的直接连接要求

        AXI4-Lite 从设备可以设计为包含 ID 反射逻辑。这意味着,只要系统能够保证主设备对从设备的访问仅使用符合 AXI4-Lite 子集的事务,该从设备就可以无需桥接功能(bridge function),直接连接到完整的 AXI 总线上。

注意
本规范建议,ID 反射逻辑应使用 AWID 而不是 WID,以确保与 AXI3 和 AXI4 的兼容性。

B1.3 Defined conversion mechanism

  • 本节定义了将任意合法 AXI 事务转换为可在 AXI4-Lite 组件上使用的事务所需满足的要求。 第 B1-131 页的“转换、保护与检测”讨论了可采用的各种方法的优缺点。

B1.3.1 Conversion rules

  • 转换要求 AXI 的数据宽度等于或大于 AXI4-Lite 的数据宽度。如果不满足此条件,则必须首先将 AXI 数据宽度转换为 AXI4-Lite 的数据宽度。

注意
AXI4-Lite 不支持 EXOKAY 响应,因此转换规则中不考虑该响应类型。

完整 AXI 接口转换的规则如下:

  • 如果某个事务的突发长度大于 1,则必须将该突发拆分为多个突发长度为 1 的事务。生成的事务数量取决于原始事务的突发长度。

  • 在生成突发中后续拍(beat)的地址时,对于长度大于 1 的突发,转换过程必须考虑突发类型。对于 INCRWRAP 突发,若起始地址未对齐,则后续拍的地址必须递增并对齐。对于 FIXED 突发,所有拍均使用相同的地址。

  • 当长度大于 1 的写突发被转换为多个写事务时,负责执行转换的组件必须将所有生成事务的响应进行合并,以产生一个针对原始突发的单一响应。任何错误响应具有“粘滞性”(sticky)。也就是说,只要任意一个生成的事务返回了错误响应,该错误就会被保留,最终的合并响应应指示出错。如果同时收到 SLVERRDECERR,则以最先收到的响应作为合并响应的结果。

  • 对于宽度大于目标 AXI4-Lite 接口的事务,必须将其拆分为多个与 AXI4-Lite 接口宽度相同的事务。对于起始地址未对齐的事务,拆分操作应在与 AXI4-Lite 接口宽度对齐的边界上进行。

  • 当宽事务被转换为多个窄事务时,负责转换的组件必须将所有窄事务的响应合并,以产生一个针对原始事务的单一响应。任何错误响应具有粘滞性。如果同时收到 SLVERRDECERR,则以最先收到的响应作为合并响应的结果。

  • 宽度小于 AXI4-Lite 接口的事务直接通过,无需转换。

  • 写选通信号(Write strobes)直接传递,不作修改。

  • 没有写选通(即所有 WSTRB 为 0)的写事务也直接通过。

注意
AXI4-Lite 协议不要求抑制此类无写选通的事务。

  • 所有事务的 AxLOCK 信号均被丢弃。对于一连串的锁定事务,任何锁定保证都将丢失。然而,事务的锁定属性仅在下游仲裁点处丢失。对于独占访问序列,由于 AXI 的信令要求,任何独占写访问必须失败

  • 所有 AxCACHE 信号均被丢弃。所有事务均被视为不可修改(Non-modifiable)不可缓存(Non-bufferable)

注意
这种处理方式是可接受的,因为 AXI 协议允许将可修改(Modifiable)访问视为不可修改,也将可缓存(Bufferable)访问视为不可缓存。

  • 所有 AxPROT 信号直接传递,不作修改。
  • WLAST 信号被舍弃
  • 无需RLAST 信号, 并且对于读取数据通道上的每次传输都被视为有效。

B1.4 Conversion, protection, and detection (AXI 到 AXI4-Lite 的转换、保护与检测系统)

  • 如果无法确保主设备仅发出符合 AXI4-Lite 要求的事务,则将 AXI4-Lite 从设备连接到 AXI4 主设备时,需要某种形式的适配。

  • 本节描述了在系统设计中可采用的技术,以帮助实现组件之间的互操作性,并协助调试系统设计问题。这些技术包括:

    • 转换(Conversion)
      需要将所有事务转换为符合 AXI4-Lite 要求的格式。

    • 保护(Protection)
      需要检测任何不符合规范的事务。该不符合规范的事务将被丢弃,并向生成该事务的主设备返回错误响应。

    • 检测(Detection)
      需要监视任何超出 AXI4-Lite 要求的事务,并:
      • 向控制软件报告该异常访问;
      • 允许该访问在硬件接口层面继续进行。

B1.4.1 Conversion and protection levels 转换与保护等级

可以实现不同级别的转换与保护,具体如下:

  • 完全转换(Full Conversion)
    按照第 B1-129 页“定义的转换机制”所述,将所有 AXI 事务进行完整转换,使其符合 AXI4-Lite 的要求。

  • 简单转换加保护(Simple Conversion with Protection)
    允许仅需简单转换的事务通过,但对需要复杂处理的事务进行抑制,并返回错误报告。

  • 允许通过的事务示例:丢弃一个或多个 AxLOCKAxCACHE 信号的事务(即忽略这些信号)。

  • 被丢弃并生成错误报告的事务示例:需要进行突发长度转换或数据宽度转换的事务。

  • 完全保护(Full Protection)
    对任何不符合 AXI4-Lite 要求的事务,均进行抑制并返回错误响应。

B1.4.2 Implementation considerations

  • 采用丢弃事务方式的保护机制,必须提供符合协议规范的错误响应,以防止发生死锁。例如,在完整的 AXI 协议中,读突发事务要求对突发中的每一拍(beat)都返回一个错误响应,并正确置位 RLAST 信号。

结合使用检测(Detection)和转换(Conversion)机制,可实现如下硬件设计:

  • 不阻止意外访问的发生;
  • 提供一种机制,向控制软件报告此类意外访问,从而加快调试过程。

        在复杂的设计中,结合转换与检测的优势在于:能够支持设计时未预见到的未来使用场景。例如,在设计阶段可能认为只有处理器会对外设的控制寄存器进行编程;但在实际应用中,其他[peripheral]设备(如 DSP 或 DMA 控制器)也可能需要对外设进行配置,而这些设备无法生成完全符合 AXI4-Lite 要求的访问事务。

不同方法的优缺点如下:

  • 保护(Protection)所需的门电路数量更少,实现更简单,硬件开销低。
  • 转换(Conversion)可确保接口能够处理未预见到的访问,提升系统兼容性。
  • 转换有助于提高软件在不同系统之间的可移植性
  • 转换可能更高效地利用 AXI 基础设施。例如,对 FIFO 的一组写操作可以作为单个突发传输发出,而无需拆分为多个单次传输。
  • 转换可能更高效地利用窄带宽链路,特别是在地址和数据负载信号共享通路的情况下。
  • 转换可提升组件的灵活性,使其能用于 AXI4-Lite 接口。通过在外围转换突发并允许稀疏写选通(sparse strobes),可将存储器直接连接到 AXI4-Lite 接口,而无需在存储器设备内部进行突发转换。这本质上是将突发转换逻辑进行共享。
http://www.lryc.cn/news/623007.html

相关文章:

  • 【计算机网络架构】混合型架构简介
  • 车载诊断架构 --- 怎么解决对已量产ECU增加具体DTC的快照信息?
  • 超越Transformer:大模型架构创新的深度探索
  • 【自动化运维神器Ansible】Ansible逻辑运算符详解:构建复杂条件判断的核心工具
  • 11、软件需求工程
  • 【系统分析师】软件需求工程——第11章学习笔记(下)
  • 架构调整决策
  • 软件需求管理过程详解
  • M-LAG双活网关
  • linux I2C核心、总线与设备驱动
  • 特洛伊木马和后门程序的定义、联系、区别与应用场景
  • UE5多人MOBA+GAS 45、制作冲刺技能
  • 深入详解PCB布局布线技巧-去耦电容的摆放位置
  • 【AndroidStudio修改中文设置】
  • 玉米及淀粉深加工产业展|2026中国(济南)国际玉米及淀粉深加工产业展览会
  • UE5多人MOBA+GAS 46、制作龙卷风技能
  • 机器学习——PCA算法
  • 心路历程-学Linux的开端
  • 【php反序列化介绍与常见触发方法】
  • Linux 多线程:线程回收策略 线程间通信(互斥锁详解)
  • MyBatis 的 SQL 拦截器:原理、实现与实践
  • 【昇腾】单张48G Atlas 300I Duo推理卡MindIE+WebUI方式跑7B大语言模型_20250816
  • Wi-Fi 7 将如何重塑互联工作场所
  • Python脚本开发-统计Rte中未连接的Port
  • Python---异常链(Exception Chaining)
  • 完整设计 之 定稿 之:后现代元宇宙九宫格(重命名)-腾讯元宝答问
  • 线性代数之两个宇宙文明关于距离的对话
  • 分享一个大数据的源码实现 基于Hadoop的二手车市场数据分析与可视化 基于Spark的懂车帝二手车交易数据可视化分析系统
  • Transformer浅说
  • MySQL完整重置密码流程(针对 macOS)