AMBA-AHB2/3/5协议详解(附带Multi-layer)

摘要:本文系统梳理 ARM AMBA 总线家族中 AHB 协议的演进脉络,覆盖 AMBA 2 AHB、AMBA 3 AHB-Lite 与 AMBA 5 AHB5 三个主要版本。内容从版本背景与对比总览出发,依次讲解 AHB2 的多主机仲裁与 Split 传输、AHB-Lite 的单主机精简架构及其信号与传输规则,再到 AHB5 在安全传输、排他访问、写选通、信号宽度属性、User 信号与奇偶校验等方面的扩展,最后介绍 Multi-layer AHB 互联矩阵结构,并附完整信号速查表,适合 SoC 设计与验证工程师作为 AHB 协议的系统性参考。

一、版本介绍

AMBA(Advanced Microcontroller Bus Architecture)是 ARM 公司推出的片上系统(SoC)互联标准,自 1996 年发布至今已历经 AMBA 1 → AMBA 5 五个主要版本。AHB(Advanced High-performance Bus)是 AMBA 总线家族中面向高性能、高时钟频率、低延迟的核心总线协议。

AHB 协议相较于简单的 APB,具有以下显著特点:

流水线(Pipelined)操作:地址相位与数据相位分离,地址相位占用一个周期,数据相位可通过 HREADY 反压扩展。

突发(Burst)传输:支持 INCR、WRAP、SINGLE 等多种突发模式,每次仅发送首地址即可完成整笔传输。

多主机(Multi-master)支持:AHB2 原生支持多主机仲裁;AHB-Lite 精简为单主机,但可通过 Multi-layer 互联实现多主机。

Split 传输(AHB2):Slave 可分离当前传输以释放总线,待数据就绪后再恢复。

信号级编码:HTRANS[1:0]、HSIZE[2:0]、HBURST[2:0]、HPROT[3:0]/[6:0] 等编码位域清晰,便于硬件实现。

Table1.1 AMBA 版本演进与 AHB 的关系

AMBA 版本

发布年份

总线协议

AHB 相关版本

AMBA 1

1997

ASB, APB

AMBA 2

1999

AHB, ASB, APB

AHB(原始版,多主机仲裁+Split)

AMBA 3

2003

AXI, AHB-Lite, APB, ATB

AHB-Lite(单主机精简版)

AMBA 4

2010

AXI4, ACE, AHB, APB4

AHB-Lite 继续使用

AMBA 5

2015+

AXI5, ACE5, AHB5, APB5, CHI

AHB5(基于 AHB-Lite 扩展)

二、版本对比一览

下表总结了 AHB2、AHB-Lite(AMBA 3)、AHB5(AMBA 5)三个版本间的主要信号与功能差异。

Table2.1 各个版本 AHB 的对比总览

功能/信号

AHB2 (AMBA 2)

AHB-Lite (AMBA 3)

AHB5 (AMBA 5)

多主机仲裁

✓ 原生支持

✗(需 Multi-layer)

✗(需 Multi-layer)

Split 传输

✓ (HSPLITx)

HADDR 位宽

32-bit

32-bit

10~64-bit (ADDR_WIDTH)

HMASTLOCK

HPROT 位宽

4-bit

4-bit

0/4/7-bit

扩展内存类型

✓ (HPROT[6:4])

安全传输 HNONSEC

排他传输 HEXCL/HEXOKAY

写选通 HWSTRB

✓ (Issue C)

User 信号 (HAUSER等)

✓ (Issue C)

接口奇偶校验

✓ (Issue C)

信号宽度可配置

✓ (Issue C)

原子性

✓ (Multi/SC Atomicity)

端序支持 BE8/BE32

仅固定

仅固定

✓ Endian property

三、AMBA2 AHB

AMBA 2 AHB(1999 年发布)是 AHB 协议的第一个版本,替换了原有的 ASB 总线。它的核心设计目标是支持多主机(Multi-master)操作,通过仲裁器(Arbiter)和地址/数据多路选择器(Mux)实现总线共享,涵盖了 Split 传输、Retry、锁定传输等进阶特性。

3.1 架构

AHB2 系统由以下组件构成:

Master:发起读写传输,驱动地址和控制信号。

Slave:接收传输请求,返回响应和数据。

Arbiter(仲裁器):管理多个 Master 的总线请求,生成授权信号 HGRANTx。

Decoder(译码器):根据地址选择目标 Slave,产生 HSELx 信号。

地址/数据多路选择器(Mux):由 Arbiter 和 Decoder 控制,选择正确的地址/数据路径。

AHB2 的地址相位和数据相位采用流水线结构,地址相位持续一个周期,数据相位可以通过 HREADY 扩展。

3.2 仲裁器信号

Table3.1 仲裁器信号列表

信号

位宽

方向

描述

HBUSREQx

1

Master → Arbiter

Master 请求总线使用权

HLOCKx

1

Master → Arbiter

锁定总线,表示正在执行不可打断的传输序列

HGRANTx

1

Arbiter → Master

授权 Master 使用总线

HMASTER[3:0]

4

Arbiter → Slave

标识当前拥有总线的 Master 编号

HSPLITx[15:0]

16

Slave → Arbiter

Split 传输响应的 Master 位掩码

HMASTLOCK

1

Master → Slave

锁定传输指示

3.3 Split传输

Split 传输是 AHB2 中提高总线利用率的关键机制:当 Slave 预计需要较多时钟周期才能完成传输时,Slave 记录 Master ID(HMASTER),发出 SPLIT 响应。Arbiter 收到 SPLIT 后降低该 Master 的优先级,将总线让给其他 Master。当 Slave 准备好后,通过 HSPLITx 断言对应的 Master 位,Arbiter 重新授权给该 Master 完成传输。

AHB-Lite 和 AHB5 已移除 Split 传输,因为单主机架构不需要此机制。

3.4 传输类型 HTRANS[1:0]

HTRANS[1:0] 编码与 AHB-Lite/AHB5 完全一致,参见第四章 4.4 节。

3.5 锁定传输 HMASTLOCK

若 Master 需要不可打断的原子序列(如 ARM SWP 指令),则置位 HMASTLOCK 信号,指示所有 Slave 当前传输不可被中断。锁定传输结束后,建议 Master 插入一个 IDLE 传输。

3.6 传输大小 HSIZE[2:0] 与突发 HBURST[2:0]

AHB2 的 HSIZE 和 HBURST 编码与 AHB-Lite 完全一致,详见第四章。

四、AMBA3 AHB-lite

AHB-Lite 是 AMBA 3(2003 年发布,2006 年正式规范 IHI0033A v1.0)中对 AHB2 的精简版本。其核心变化是移除仲裁器(Arbiter)和相关信号,变为单主机架构,同时保留 AHB 的高速流水线、突发、锁定等核心特性。

AHB-Lite 的典型应用场景是 Cortex-M 系列处理器与片内外设的互联。

4.1 AHB-lite架构框图

Figure4.1 AHB-lite架构框图

4.2 全局信号

Table4.1 全局信号列表

名称

位宽

描述

HCLK

时钟源

1

总线时钟,所有信号时序基于 HCLK 上升沿

HRESETn

复位控制器

1

总线复位信号,低电平有效,唯一低电平有效信号

4.3 Master信号

Table4.2 Master信号列表

名称

位宽

方向

描述

HADDR[31:0]

32

输出

32-bit 字节地址总线

HWRITE

1

输出

写传输指示:1=写,0=读;突发期间保持恒定

HTRANS[1:0]

2

输出

传输类型:IDLE/BUSY/NONSEQ/SEQ

HSIZE[2:0]

3

输出

传输大小编码,如 Byte/Halfword/Word 等

HBURST[2:0]

3

输出

突发类型编码

HWDATA[31:0]

32+

输出

写数据总线,最小 32-bit 推荐

HMASTLOCK

1

输出

锁定传输指示

HPROT[3:0]

4

输出

保护控制信号

注:在 AHB-Lite 中,Master 信号不包含 AHB2 的 HBUSREQx、HLOCKx 等仲裁器信号,因为 AHB-Lite 仅支持单主机。

4.4 Slave信号

Table4.3 Slave信号列表

名称

位宽

方向

描述

HRDATA[31:0]

32+

输出

读数据总线

HREADYOUT

1

输出

传输完成指示,低电平表示插入等待状态

HRESP

1

输出

传输响应:0=OKAY,1=ERROR

4.5 Decoder与Multiplexer信号

Table4.4 Decoder与Multiplexer信号列表

名称

位宽

描述

HSELx

1

Decoder

Slave 选择信号,高电平有效

HREADY(combined)

1

Mux

合并后的 HREADY,反馈给所有 Master 和 Slave

HRDATA (muxed)

32+

Mux

多路复用后的读数据

HRESP (muxed)

1

Mux

多路复用后的传输响应

4.6 基本传输

AHB 传输由两个相位组成:

地址相位(Address Phase):一个 HCLK 周期,Master 驱动地址和控制信号。

数据相位(Data Phase):一个或多个 HCLK 周期,HREADY 信号控制数据相位是否完成。

(1) 零等待传输(无等待状态):数据相位紧接在地址相位后一个周期完成。

(2) 有等待传输:当 HREADY 为低时,数据相位被扩展,地址和控制信号保持不变,直到 HREADY 拉高。

(3) 流水线效应:在上一笔数据相位未完成时,下一笔的地址相位已经发出,形成了典型的流水线操作。

4.7 传输类型HTRANS[1:0]

Table4.5 HTRANS信号列表

HTRANS[1:0]

类型

描述

0b00

IDLE

无数据传输,Slave 必须返回零等待 OKAY 响应

0b01

BUSY

Master 在突发中间插入空闲周期,地址反映下一拍传输

0b10

NONSEQ

单次传输或突发的第一拍,地址与控制信号与上一笔无关

0b11

SEQ

突发的后续拍,地址为上一拍地址 + 传输字节数

4.8 传输大小HSIZE[2:0]

Table4.6 HSIZE信号列表

HSIZE[2]

HSIZE[1]

HSIZE[0]

大小 (bits)

描述

0

0

0

8

Byte

0

0

1

16

Halfword

0

1

0

32

Word

0

1

1

64

Doubleword

1

0

0

128

4-word Line

1

0

1

256

8-word Line

1

1

0

512

1

1

1

1024

注意事项:

HSIZE 设置的传输大小必须 ≤ 数据总线位宽。例如 32-bit 总线只能使用 0b000/0b001/0b010。

HSIZE 在突发期间必须保持恒定。

HSIZE 与 HBURST 共同决定 Wrapping Burst 的地址边界。

4.9 突发传输HBRUST[2:0]

Table4.7 HBURST信号列表

HBURST[2:0]

类型

描述

0b000

SINGLE

单拍传输

0b001

INCR

未定义长度递增突发

0b010

WRAP4

4 拍回环突发

0b011

INCR4

4 拍递增突发

0b100

WRAP8

8 拍回环突发

0b101

INCR8

8 拍递增突发

0b110

WRAP16

16 拍回环突发

0b111

INCR16

16 拍递增突发

关键规则:

固定长度突发(INCR4/8/16、WRAP4/8/16)必须以 SEQ 传输结束,不允许以 BUSY 结束。

未定义长度突发 INCR 可以以 BUSY 结束,之后由 NONSEQ 或 IDLE 终止。

Master 不得发起跨越 1KB 地址边界的递增突发。

突发传输所有拍必须地址对齐:Word 传输要求 HADDR[1:0]=0b00,Halfword 要求 HADDR[0]=0。

WRAP 回环边界 = HBURST 拍数 × HSIZE 字节数。例如 WRAP4 + HSIZE=Word(4B)时,边界为 16B。

SINGLE 突发后必须跟 IDLE 或 NONSEQ,不允许 BUSY。

4.10 锁定传输HMASTERLOCK

HMASTLOCK 信号置高指示当前传输序列不可被中断。在锁定传输序列结束后,建议 Master 插入一个 IDLE 传输。

典型应用:ARM SWP(Swap)指令的原子读-修改-写操作。

4.11 保护控制信号HPROT[3:0]

HPROT[3:0] 提供总线访问的额外保护信息,主要面向有 MMU 的 Master 和需要保护检查的模块。

Table4.8 HPROT信号列表

名称

描述

HPROT[0]

Data/Opcode

0=指令取指,1=数据访问

HPROT[1]

Privileged

0=用户访问,1=特权访问

HPROT[2]

Bufferable

0=不可缓冲,1=可缓冲

HPROT[3]

Modifiable (AHB-Lite: Cacheable)

0=不可缓存/不可修改,1=可缓存/可修改

如果 Master 无法产生精确的保护信息,建议设置 HPROT = 0b0011(Non-cacheable, Non-bufferable, Privileged, Data access)。

4.12 Slave响应信号HRESP

AHB-Lite 的 Slave 响应组合:

Table4.9 HRESP信号列表

HRESP

HREADYOUT

含义

0 (OKAY)

0

传输未完成(等待状态)

0 (OKAY)

1

传输成功完成

1 (ERROR)

0

ERROR 响应第一拍

1 (ERROR)

1

ERROR 响应第二拍

ERROR 响应需要两个周期:第一周期 HRESP=HIGH, HREADYOUT=LOW;第二周期 HRESP=HIGH, HREADYOUT=HIGH,结束传输。

Figure4.2 遇见ERROR响应的传输图

T1-T2:Slave插入了一个等待状态,提供了一个OKAY响应。

T2-T3:Slave发布了一个ERROR响应,这是ERROR响应两拍机制的第一拍,此时HREADY为低电平。

T3-T4:Slave发布了一个ERROR响应,这是第二拍,此时HREADY为高电平,Master改变传输类型为IDLE,取消了原计划对地址B的传输,这是由于Slave在T2是一个错误的登记。说人话,就是Slave由于流水线的存在在T2接受了B的地址,现在Master告诉Slave需要取消。

T4-T5:Slave回应一个OKAY响应。

4.13 数据总线

AHB 支持 8/16/32/64/128/256/512/1024-bit 数据总线。推荐最小 32-bit。数据总线宽度可以不对称(读/写总线可不同宽度)。

端序支持:AHB-Lite 支持 Little-endian 和 Big-endian。Big-endian 有两种方式:BE8(字节不变)和 BE32(字不变)。

当窄 Master 连接宽 Slave 或反之,需要通过外部逻辑进行数据对齐和扩展,不支持超出自身接口位宽的传输。

4.14 时钟与复位

HCLK:总线时钟,所有信号在 HCLK 上升沿采样。

HRESETn:低电平复位信号,复位时 Master 必须驱动 HTRANS=IDLE,HWDATA=0,其他信号相应复位。

如果 Master 无法产生精确的保护信息,建议设置 HPROT = 0b0011(Non-cacheable, Non-bufferable, Privileged, Data access)。

五、AMBA5 AHB5

AHB5 是 AMBA 5 规范(2015 年 IHI0033C Issue B,2021 年 Issue C)中基于 AHB-Lite 的功能扩展版本。它保留了 AHB-Lite 的单主机架构,但通过属性(Property)机制新增了多项能力:

Issue B(2015):增加 AHB5。新功能包括扩展内存类型(HPROT[6:4])、安全传输(HNONSEC)、排他传输(HEXCL/HEXOKAY/HMASTER)。

Issue C(2021):增加信号宽度属性(ADDR_WIDTH/DATA_WIDTH 等)、写选通(HWSTRB)、User 信号更新、接口奇偶校验保护。

术语变更:Issue C 将 Master/Slave 更名为 Manager/Subordinate。

5.1 新增信号总览

Table5.1 AHB5新增信号列表

信号

位宽

属性

描述

HNONSEC

1

Secure_Transfers

指示传输安全属性:1=Non-secure,0=Secure

HEXCL

1

Exclusive_Transfers

排他传输指示

HMASTER[m:0]

0~8

Exclusive_Transfers

Manager 标识符

HEXOKAY

1

Exclusive_Transfers

排他传输成功/失败指示

HWSTRB

DATA_WIDTH/8

Write_Strobes

写字节选通信号

HAUSER/HWUSER/HRUSER

自定义

User_Signals

用户自定义信号

HPROT[6:4]

3

Extended_Memory_Types

扩展内存类型:Lookup/Allocate/Shareable

5.2 扩展内存类型HPROT[6:4]

AHB5 定义了 Extended_Memory_Types 属性。启用后,HPROT 扩展为 7-bit(HPROT[6:0]),其中 HPROT[6:4] 提供额外的内存类型信息:

Table5.2 扩展内存类型信号列表

名称

描述

HPROT[4]

Lookup

1=需要查找缓存,0=不需要查找,直接访问最终目的地

HPROT[5]

Allocate

1=建议分配缓存行,0=建议不分配

HPROT[6]

Shareable

1=共享内存区域,响应必须保证对其他 Manager 可见;0=非共享

HPROT[6:2] 的组合定义具体内存类型:

Table5.3 内存类型组合定义表

HPROT[6] Shareable

HPROT[5] Allocate

HPROT[4] Lookup

HPROT[3] Modifiable

HPROT[2] Bufferable

内存类型

0

0

0

0

0

Device-nE(不可提前响应)

0

0

0

0

1

Device-E(可提前响应)

0

0

0

1

0

Normal Non-cacheable, Non-shareable

0

0/1

1

1

0

Write-through, Non-shareable

0

0/1

1

1

1

Write-back, Non-shareable

1

0

0

1

0

Normal Non-cacheable, Shareable

1

0/1

1

1

0

Write-through, Shareable

1

0/1

1

1

1

Write-back, Shareable

5.3 安全传输HNONSEC

AHB5 的 Secure_Transfers 属性启用后,新增 HNONSEC 信号:

HNONSEC = 1:Non-secure 传输(非安全)。

HNONSEC = 0:Secure 传输(安全)。

HNONSEC 是地址相位信号,在整个突发期间必须保持恒定。

5.4 排他传输 HEXCL/HMASTER/HEXOKAY

AHB5 的 Exclusive_Transfers 属性启用后,支持排他访问(Exclusive Access)机制,用于实现信号量(Semaphore)操作。

排他访问序列:

(1) Master 发起排他读传输(HEXCL=1),从目标地址读取数据。

(2) Master 根据读取值计算新值。

(3) Master 发起排他写传输(HEXCL=1)到同一地址。

(4) 若从排他读之后没有其他 Master 写入该地址,排他写成功(HEXOKAY=1),内存更新;否则失败(HEXOKAY=0),内存不更新。

(5) 若排他写失败,Master 应重试整个排他序列。

HMASTER[m:0]:Manager 标识符,用于区分同一 Manager 内的多个排他线程。推荐位宽:Manager 端 4-bit,Slave 端 8-bit。

5.5 写选通HWSTRB

AHB5 Issue C 定义了 Write_Strobes 属性。启用后,新增 HWSTRB 信号:

HWSTRB 宽度 = DATA_WIDTH / 8,每个 bit 对应 HWDATA 的一个字节。

HWSTRB[n] = 1 表示 HWDATA[(8n)+7:(8n)] 包含有效数据。

HWSTRB 是数据相位信号,与 HWDATA 具有相同的有效性规则。

支持稀疏写(Sparse Write):部分字节选通位为 0,允许只更新指定字节。

所有选通位为 0 的传输是合法的,不写入任何字节。

5.6 信号宽度属性

Issue C 引入了信号宽度属性机制,允许接口配置以下宽度:

ADDR_WIDTH:HADDR 位宽,推荐 10~64。Issue A/B 固定为 32。

DATA_WIDTH:HWDATA/HRDATA 位宽,可选 8/16/32/64/128/256/512/1024,推荐 32~256。

HBURST_WIDTH:HBURST 位宽,必须为 0 或 3。

HPROT_WIDTH:HPROT 位宽,必须为 0、4 或 7(取决于 Extended_Memory_Types)。

HMASTER_WIDTH:HMASTER 位宽,推荐 0~8。

5.7 User信号

AHB5 Issue C 定义了 User 信号,分为三组:

HAUSER:地址相位 User 信号,伴随 HADDR。

HWUSER:写数据相位 User 信号,伴随 HWDATA。

HRUSER:读数据相位 User 信号,伴随 HRDATA。

协议规范不强制要求实现 User 信号,建议仅在互联组件中包含 User 信号透传。若两个组件以不兼容的方式使用相同 User 信号,会导致互操作性问题。

5.8 接口奇偶校验保护

IHI0033C Issue C 新增了接口保护机制,使用奇偶校验检测关键控制信号和数据的传输错误:

奇偶校验信号:针对 HADDR、HWDATA、HRDATA 等关键信号提供奇偶校验位。

错误检测行为:定义奇偶校验错误时的处理方式,包括错误上报和恢复机制。

适用于需要高可靠性(如汽车电子、工业控制)的 SoC 设计。

5.9 信号有效性规则

AHB5 Issue C 定义了信号有效性规则(Signal Validity Rules),明确信号在何时必须有效:

地址相位信号:HADDR、HWRITE、HSIZE、HBURST、HPROT、HMASTLOCK、HNONSEC、HEXCL 在 HTRANS 非 IDLE 时必须有效。

数据相位信号:HWDATA、HWSTRB 在写传输的数据相位有效期间必须有效。

HRDATA 在读传输的数据相位有效期间必须有效。

5.10 原子性(Atomicity)

AHB5 定义了两种原子性属性:

Single-copy Atomicity(单拷贝原子性):定义单个访问的最小原子访问大小。

Multi-copy Atomicity(多拷贝原子性):定义多 Manager 系统中写操作的全局可见性保证。

5.11 端序支持(Endianness)

AHB5 引入 Endian 属性,定义了两种 big-endian 模式:

BE8(Byte-invariant big-endian):字节不变大端序。字节访问使用与 little-endian 相同的数据总线位。多字节传输时,最高有效字节放在传输地址,后续字节依次放在递增地址。

BE32(Word-invariant big-endian):字不变大端序。字访问时最高有效字节和最低有效字节分别使用与 little-endian 相同的数据总线位。

、Multi-layer AHB(多层AHB互联)

Multi-layer AHB 是一种基于 AHB-Lite 协议的互联矩阵方案(2004 年 DVI0045B),用于在 AHB-Lite 单主机架构上实现多主机系统。每个 Master 拥有独立的 AHB-Lite 层,通过互联矩阵(Interconnect Matrix)连接到共享的 Slave。

关键优势:

多 Master 可同时访问不同的 Slave,实现并行数据传输。

每层使用 AHB-Lite 协议,无需修改标准 AHB 模块。

每层只有单个 Master,不需要仲裁器或 Master-to-Slave Mux。

仲裁仅在多个 Master 同时访问同一个 Slave 时发生,是点对点仲裁。

可复用已有的 AHB Master 和 Slave 模块,无需修改。

6.1 互联矩阵结构

互联矩阵(Interconnect Matrix)包含以下组件:

译码器(Decoder):每层一个,确定当前传输目标 Slave。

仲裁器(Arbiter):每个 Slave 端口一个,管理多个 Master 对该 Slave 的访问优先级。

输入级(Input Stage):当某层被等待时,存储流水线地址和控制信息副本。

多路选择器(Mux):将传输从对应层路由到目标 Slave。

6.2 仲裁策略

每个 Slave 端口独立仲裁,常见策略:

Round-robin(轮询):每传输或每突发轮换。

Fixed Priority(固定优先级):高优先级层始终优先。

未被授权的层通过 HREADY 信号被等待,直到获得访问权限。

6.3 高级配置选项

本地 Slave(Local Slave):将特定 Slave 私有化到某层,减少互联矩阵复杂度。

多 Slave 单端口:将多个低带宽 Slave 合并为一个逻辑端口。

多 Master 共享层:多个低带宽 Master 共享一个 AHB 层。

多端口 Slave:支持从多个层同时访问的 Slave(如多端口内存控制器)

七、Appendix 信号速查表

A.1 全局信号

信号

位宽

描述

HCLK

时钟源

1

总线时钟,上升沿采样

HRESETn

复位控制器

1

总线复位,低电平有效

A.2 Master(Manager)信号

信号

位宽

AHB-Lite

AHB5

描述

HADDR

32 / ADDR_WIDTH

地址总线

HWRITE

1

写传输指示

HTRANS

2

传输类型 IDLE/BUSY/NONSEQ/SEQ

HSIZE

3

传输大小编码

HBURST

3

突发类型编码

HWDATA

DATA_WIDTH

写数据总线

HMASTLOCK

1

锁定传输

HPROT

4/7

保护控制信号

HNONSEC

1

安全传输属性

HEXCL

1

排他传输指示

HMASTER

HMASTER_WIDTH

Manager 标识符

HWSTRB

DATA_WIDTH/8

写字节选通

HAUSER

自定义

地址相位 User 信号

HWUSER

自定义

写数据相位 User 信号

A.3 Slave(Subordinate)信号

信号

位宽

AHB-Lite

AHB5

描述

HRDATA

DATA_WIDTH

读数据总线

HREADYOUT

1

传输完成/等待指示

HRESP

1

传输响应 OKAY/ERROR

HEXOKAY

1

排他传输成功/失败

HRUSER

自定义

读数据相位 User 信号

A.4 Decoder与Multiplexer信号

信号

位宽

描述

HSELx

1

Decoder

Slave 选择信号

HREADY

1

Mux

合并后的传输完成指示

HRDATA(muxed)

DATA_WIDTH

Mux

多路复用读数据

HRESP(muxed)

1

Mux

多路复用传输响应

A.5 编码速查表

HTRANS[1:0]

编码

类型

说明

0b00

IDLE

无传输

0b01

BUSY

突发中间插入空闲

0b10

NONSEQ

首拍/单拍

0b11

SEQ

后续拍

HSIZE[2:0]

编码

大小

说明

0b000

8-bit

Byte

0b001

16-bit

Halfword

0b010

32-bit

Word

0b011

64-bit

Doubleword

0b100

128-bit

4-word

0b101

256-bit

8-word

0b110

512-bit

0b111

1024-bit

HBURST[2:0]

编码

类型

说明

0b000

SINGLE

单拍

0b001

INCR

未定义长度递增

0b010

WRAP4

4拍回环

0b011

INCR4

4拍递增

0b100

WRAP8

8拍回环

0b101

INCR8

8拍递增

0b110

WRAP16

16拍回环

0b111

INCR16

16拍递增

HPROT[3:0](AHB-lite)

名称

0

1

[0]

Data/Opcode

指令取指

数据访问

[1]

Privileged

用户访问

特权访问

[2]

Bufferable

不可缓冲

可缓冲

[3]

Modifiable

不可修改

可修改

HPROT[6:4](AHB5 扩展)

名称

0

1

[4]

Lookup

不需查找缓存

需查找缓存

[5]

Allocate

不建议分配

建议分配

[6]

Shareable

非共享

共享

HRESP

HRESP

HREADYOUT

含义

0

0

传输未完成(等待)

0

1

传输成功完成

1

0

ERROR 第一拍

1

1

ERROR 第二拍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值