AMBA5 AHB协议规范(AHB5,AHB-Lite)中文版-第六章 数据总线

article/2025/10/13 22:53:41

第六章

数据总线
本章描述了数据总线。它包含以下部分:
– 数据总线 on page 6-60.
– 大小端 on page 6-61.
– 数据总线宽度 on page 6-65.

6.1 Data buses

实现AHB系统需要独立的读写数据总线。虽然推荐的最小数据总线宽度被指定为32位,但可以按照第6-65页的数据总线宽度进行更改。
数据总线描述如下:
– HWDATA.
– HRDATA.
– Endianness on page 6-61.

6.1.1 HWDATA

在写传输过程中,主机驱动写数据总线。如果传输被扩展,那么主机必须保持数据有效,直到传输完成,传输完成用HREADY HIGH表示。关于保持信号在多个周期内有效的详细信息,请参见7-68页的时钟。
对于小于总线宽度的传输,例如32位总线上的16位传输,主机只需要驱动适当的字节通道。从机从正确的字节通道中选择写数据。关于小端和大端系统中活跃的字节通道的详细信息,请参见第6-61页的Endianness。

6.1.2 HRDATA

在读传输期间,合适的从机驱动读数据总线。如果从机通过保持HREADY LOW来扩展读传输,那么从机只需要在传输的最后一个周期中提供有效的数据,用HREADY HIGH表示。
对于小于总线宽度的传输,从机只需要在活跃字节通道上提供有效的数据。主机从正确的字节通道中选择数据。
当传输以OKAY响应完成时,从机只需要提供有效的数据。错误响应不需要有效的读数据。

6.2 Endianness

AHB同时支持大端和小端系统。支持两种大端数据存储方法。
AHB5引入了Endian属性来定义支持哪种形式的大端数据访问。
BE8–字节不变量大端格式. 这个词语,字节不变量的大端字节,源于字节访问(8位)使用相同的数据总线位作为小端访问相同的地址。
BE32–字不符变量大端格式。术语“字不变大端格式”源于一个事实,即字访问(32位)使用相同的数据总线位来访问最重要(MS)和最不重要(LS)字节,就像访问相同地址的小端序访问一样。
关于字节不变的大端字节数的更多信息可以在第6-63页的字节不变一节中找到。
下面的方程组定义了哪些数据位用于小端、字节不变的大端和字不变的大端访问。
方程使用以下变量:
Address–传输的地址.
Data_Bus_Bytes --8位数据总线字节通道的数量。
INT(x) --向下舍入x的整数值。

6.2.1 Little endian

当一个小端组件访问一个字节时,下面的公式显示使用哪些数据总线位:
Byte_Lane=Address–(INT(Address / Data_bus_Bytes))×Data_Bus_Bytes
数据在DATA[(8 × Byte_Lane) + 7 : (8 × Byte_Lane)]上传输。
当发生较大的小端传输时,数据的传输是这样的:
– LS字节被传输到传输地址。
– 增长的高位字节被传输到顺序递增的地址。

6.2.2 Byte-invariant big-endian

当一个字节不变的大端格式组件访问一个字节时,下面的公式显示使用哪些数据总线位:
Byte_Lane=Address–(INT(Address / Data_bus_Bytes))×Data_Bus_Bytes
数据在DATA[(8 × Byte_lane) + 7 : (8 × Byte_lane)]上传输。
Note
这些方程与小端格式的方程是相同的。因为大端和小端访问对于字节传输是相同的,所以术语字节不变量被用于这些传输。
当发生较大的字节不变的大端字节传输时,数据的传输是这样的:
– MS字节被传输到传输地址
– 递减的高位字节被传输到顺序递增的地址。
Note
这是字节不变的大端和小端组件之间的关键区别。

6.2.3 Word-invariant big-endian

当一个字不变的大端格式元件访问一个字节时,下面的公式显示使用哪些数据总线位:
Address_Offset=Address–(INT(Address/Data_Bus_Bytes))× Data_bus_Bytes
Word_Offset=(INT(Address_Offset/4)) × 4
Byte_Offset = Address_Offset – Word_Offset
数据在DATA[(8 × (Word_Offset + 3 – Byte_Offset)) + 7 : 8 × (Word_Offset + 3 – Byte_Offset)]上传输。
对于32位总线,Word_Offset总是0,因此方程简化为:
DATA[(8 × (3 – Byte_Offset)) + 7 : 8 × (3 – Byte_Offset)]
Note
这显示了字不变的大端和小端格式组件之间的关键区别。与小端和字节不变的大端组件相比,字不变的大端组件使用不同的数据总线位来传输字节数。
对于使用字不变大端格式的半字和字传输,数据的传输是这样的:
– 最高字节位被传送到传送地址。
– 递减的高位字节被转移到顺序递增的地址。
对于使用字不变大端格式的大于一个字的传输,数据被分割成字大小的块:
– 最低位字节被传输到传输地址。
– 递增的字位被传输到递增的地址。
表6-1、6-63页的表6-2和6-63页的表6-3中的32位数据总线可以扩展为更宽的数据总线实现。
传输大小小于数据总线宽度的突发传输对于突发的每个节拍有不同的有效字节通道。
第6-63页的表6-1和表6-2显示了在小端或字节不变的大端系统中有效的32位总线上的字节通道。在这两种情况下,有效的字节通道是相同的,但最高有效字节和最低有效字节的位置不同。

表6-3显示了32位总线上有效的字不变大端系统的字节通道。

6.2.4 Byte invariance

字节不变大端数据结构的使用简化了对单一内存空间中混合端数据结构的访问。
使用字节不变的大端和小端格式意味着,对于数据结构中的任何多字节元素:
– 该元素使用相同的连续内存字节,而不考虑数据的大小端。
– 大小端决定了这些字节在内存中的顺序,这意味着它决定了内存中的第一个字节是元素的MS字节还是LS字节。
– 到给定地址的任何字节传输都将同一数据总线上的8位数据传递到相同的地址位置,而不考虑字节所在的数据元素的字节顺序。
图6-1展示了一个需要字节不变访问的数据结构示例。在这个例子中,报头字段使用小端顺序,而数据负载使用大端顺序。

例如,在这个结构中,Count是一个两字节的小端元素,这意味着它的最低地址是它的LS字节。字节不变性的使用确保了对负载的大端访问不会破坏小端元素。

6.3 Data bus width

在不增加操作频率的情况下提高总线带宽的一种方法是使片上总线的数据路径更宽。 金属层的增加和嵌入式DRAM等大型片上内存块的使用是鼓励更宽片上总线使用的驱动因素。
指定总线的固定宽度意味着,在许多情况下,总线的宽度对应用程序来说不是最佳的。因此,采用了一种方法,使总线宽度具有灵活性,但仍然确保模块在设计之间具有高度可移植性。
该协议允许数据总线宽度为8、16、32、64、128、256、512或1024位。 但是,建议使用最小32位的总线宽度。 256位的最大总线宽度对于几乎所有的应用都是足够的。
对于读和写传输,接收模块必须从总线上正确的字节通道中选择数据。不需要跨所有字节通道复制数据。
以下部分将介绍:
– 在宽总线上实现窄从从机.
– 在6–66页上在窄总线上实现一个宽从机
– 在6-66页实现宽总线上的主机

6.3.1 Implementing a narrow slave on a wide bus

图6-2显示了原本设计用于32位数据总线的从机模块如何转换到64位总线上操作。这只需要添加外部逻辑,而不需要进行任何内部设计更改,因此该技术适用于硬宏单元格。

对于输出,当将窄总线转换为宽总线时,请执行以下操作之一:
– 在宽总线的两个半宽总线复制数据,如图6-2所示。
– 使用附加逻辑确保只更改适当的一半总线部分。这导致了电力消耗的减少。
从机只能接受与其自然接口一样宽的传输。如果主机尝试的传输宽度超过了从机的支持范围,那么从机可以使用ERROR传输响应。

6.3.2 Implementing a wide slave on a narrow bus

通过使用外部逻辑,预先设计或导入的从机可以适应在较窄的数据总线上工作。图6-3是在窄总线上实现的宽从机。

6.3.3 Implementing a master on a wide bus

主机可以被修改为工作在比原来更宽的总线上,就像从机被修改为工作在更宽的总线上一样。通过:
– 输入总线复用。
– 复制输出总线。
Note
主机不能在比最初计划的更窄的总线上工作,除非在主机中包含某种机制来限制主机尝试的传输宽度。主机绝不能尝试在HSIZE指示的宽度比它连接的数据总线宽的地方进行传输。


http://chatgpt.dhexx.cn/article/wLjDuoTI.shtml

相关文章

[接口-AMBA-AHB] AHB总线协议

一、典型AMBA系统 AHB总线的强大之处在于它可以将微控制器CPU、高带宽的片上RAM、高带宽的外部存储器接口、DMA总线master、各种拥有AHB接口的控制器等连接起来构成一个独立的完成SOC系统,不仅如此,还可以通过AHB-APB桥来连接APB总线系统。 AHB可以成为一…

基于AHB的SRAM设计

基于AHB的SRAM设计 一、描述 作为系统的缓存;SRAM存储体由MeMery complier生成;项目完成SRAM控制器的设计;SRAM作为AHB Slave的形式存在; 二、特性 支持8位,16位和32位的SRAM数据读写操作;支持SRAM的单…

AHB lite协议

文章目录 概述特点AHB的组成单个master的AHB lite结构多个master的AHB lite结构结构1结构2 AHB lite基本信号1.系统信号2.master3.slave信号4.译码器信号5.多路器 信号详细解释HSIZE[2:0]HTRANS[1:0]HBURST[2:0]HREADY与HREADYOUTHRESP AHB基本传输1.没有等待状态的单个传输2.有…

【读书笔记】AMBA 2 AHB、AMBA 3 AHB(AHB_Lite)和AMBA 5 AHB协议比较

1、牛客算是一个Verilog宝藏刷题网站了&#xff0c;网站提供在线仿真环境&#xff0c;不用自己找题&#xff08;点击直达&#xff09;&#xff0c;<刷题记录>专栏&#xff0c;持续打卡中… 2、官方手册&#xff1a;AMBA系列官方协议规范文档&#xff0c;点击下载 更详细的…

Ahb2ApbBridge

一、设计前需注意 &#xff08;1&#xff09;要做总线&#xff0c;协议是关键&#xff0c;每个控制信号与输入输出的时序一定要搞清楚&#xff0c;直接看amba官方spec&#xff0c;链接已贴出http://pan.baidu.com/s/1gfwxTWB。 &#xff08;2&#xff09;Ahb2Apb桥作为逻辑连接…

AHB总线协议

文章目录 1.说明2.简介3. SOC中的AHB4.完整的AHB架构5.AHB接口信号列表6.htrans[1:0]/hsize[2:0]/hburst[2:0]/hresp[1:0]信号解读1.htrans[1:0]2.hsize[2:0]3.hburst[2:0]4. hresp[1:0] 7.基本传输1. 没有等待的读写操作2.有等待的传输3. 多个流水传输3.WRAP4的传输 8. hready…

AMBA AHB介绍

AMBA AHB介绍 AHB是为提出高性能可综合设计的要求而产生的新一代AMBA总线。它是一种支持多总线主机和提供高带宽操作的高性能总线。 AMBA AHB实现了高性能&#xff0c;高时钟频率系统的以下特征要求&#xff1a; 突发传输分块处理单周期总线主机移交非三态执行更宽的数据总线…

qspi AHB总线学习 - 01

经过几天的学习发现如果不了解AHB总线有些知识get不到&#xff0c;下面是转 qixin_william的博客 http://blog.163.com/qixin_william/blog/static/240217035201491133626819/ 一、AHB的基本介绍 AHB是ARM退出的AMBA总线系列中的其中一种&#xff0c;它是一种高性能的pipe系统总…

AMBA5 AHB协议规范(AHB5,AHB-Lite)中文版-第五章 从机响应信号

第五章 从机响应信号 介绍从机响应信号。它包括以下部分: – 从机传输响应on page 5-56. 5.1 Slave transfer responses 在主机开始传输后&#xff0c;控制传输的进展。在传输开始后&#xff0c;主机不能取消传输。 对于支持AHB5 Exclusive_Transfers属性的组件&#xff0c;…

AHB总线学习汇总

博客不是写书&#xff0c;基本的背景也不做什么介绍了&#xff0c;了解的人是不会介意这些东西的。 一、AHB的基本介绍 AHB是ARM退出的AMBA总线系列中的其中一种&#xff0c;它是一种高性能的pipe系统总线。 1. AHB总线有一下特性&#xff1a; a.Burst 传输 b.Split 事务处理…

AHB协议相关

AHB协议相关 Created: November 9, 2021 7:19 PM Tags: AMBA &#x1f340;简介 AHB(Advanced High Performance Bus)总线规范是AMBA(Advanced Microcontroller Bus Architecture) V2.0总线规范的一部分&#xff0c;AMBA总线规范是ARM公司提出的总线规范&#xff0c;被大多数…

AHB协议

文章目录 什么是AHB总线协议AHB总线组成AHB信号描述AHB传输Bust传输 AMBA高级处理器总线架构&#xff0c;不同的速率要求构成了高性能SOC设计的通信标准: AHB高级高性能总线APB高级外围总线AXI高级可拓展接口 什么是AHB总线协议 AHB&#xff1a;主要是针对高速率、高频宽及快…

AHB 协议学习

文章目录 AHB 协议学习一、 AHB 协议 信号二、 AHB 协议 传输2.1 a read transfer with two wait states2.2 a write transfer with one wait states2.3 transfer with HTRANS&#xff08;控制信号&#xff09;**2.4 transfer &#xff1a;Eight-beat incrementing burst, INCR…

AMBA5 AHB协议规范(AHB5,AHB-Lite)中文版-第三章 传输

第三章 Transfers 本章描述读写传输。它包括以下部分: – 基本传输 on page 3-28. – 传输类型 on page 3-30. – 锁定传输 on page 3-32. – 传输大小 on page 3-33. – 突发操作 on page 3-34. – 等待传输 on page 3-39. – 保护控制 on page 3-44. – 内存类型 on page 3-…

AMBA 系列之 AHB 协议

目录 1. 简介 1.1 AHB总线的架构 1.2 AHB基本特性 2. AHB总线的组成 3. 信号描述 3.1 AHB Slave 接口 3.2 AHB Master 接口 3.3 AHB Arbiter 接口 3.4 AHB Decoder 接口 4. 总线操作 5. 基本传输 5.1 没有等待状态的单次传输&#xff08;Single Transfer&#xff0…

AHB总线

大部分的总结在csdn里面都有。这里只是总结自己理解的。 AHB基本特性有&#xff1a; Burst传输&#xff08;一共有Hburst[2 : 0]的类型&#xff09;&#xff0c;single&#xff0c;incr&#xff0c;wrap4&#xff0c;incr4&#xff0c;wrap8&#xff0c;incr8&#xff0c;wra…

AMBA5 AHB协议规范(AHB5,AHB-Lite)中文版-第一章 引言

ARM AMBA 5 AHB 协议规范 AHB5, AHB-Lite 发行信息 变更历史 日期版本保密性更改2006/6/26A非保密First release for v1.02015/6/25B.a保密Update for AMBA 5 AHB Protocol Specification2015/10/30B.b非保密Confidential to Non-Confidential Release Contents ARM AMBA 5 A…

AHB协议详解

AHB总线 AHB总线在AMBA2中就已经定义&#xff0c;AHB总线一开始主要是作为系统高速总线使用&#xff0c;适用于高性能&#xff0c;低功耗的系统设计。目前因为AXI总线作为高速总线的优势更加明显&#xff0c;AHB会用在相对低速的系统设计中。基本排序就是APB适用于低速设计&am…

AHB学习笔记

1.AHB概述 AHB总线是一种专为高性能同步传输设计的总线&#xff0c;层次高于APB总线&#xff0c;支持以下特性&#xff1a; 突发传输拆分事务主设备单时钟周期传输单时钟沿操作非三态实现宽数据总线配置&#xff08;64/128bit&#xff09; 1.1.典型AHB系统 典型的AHB系统包括以…

AHB协议学习

AHB协议总结 AHB协议学习1. AHB简介2. AHB的接口信号2.1 Global signals2.2 Master signals2.3 slave signals2.4 decoder signals2.5 multiplexor signals 3. 传输4. Decoder5. Multiplexor6. 大小端Endianness&#xff1a;7. Exclusive transfer AHB协议学习 1. AHB简介 AH…