首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AMBA AHB面试题连载(九)

AMBA AHB面试题连载(九)

作者头像
tech life
发布于 2021-09-02 01:59:16
发布于 2021-09-02 01:59:16
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

32、为什么在AHB中有一个1KB边界的限制?

1KB边界限制在AHB中表示burst传输不能跨越1KB边界的约束。该限制旨在防止burst传输从一个slave交叉到另一个slave。在实践中,这意味着如果master必须要进行跨1KB边界的burst传输则必须切分成两次传输。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0x3F00 x3F40 x3F80 x3FC0 x4000 x4040 x4080

这种1KB地址边界地址传输需要划分成

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NSEQ SEQ SEQ SEQ NSEQ SEQ SEQ

33、举例说明什么是Wrap 边界 ? WRAP4,WRAP8,WRAP16 ?

Wrap边界取决于Hsize和burst beat的数量(4,8,16)

"For wrapping bursts, if the start address of the transfer is not aligned to the total number of bytes in the burst (size x beats) then the address of the transfers in the burst will wrap when the boundary is reached" AHB SPEC

Case1: Start Address is 0x4,Wrap4,Hsize is 2.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
beat1 - 0x4
beat2 - 0x8
beat3 - 0xc
beat4 - 0x0

Hsize为2,意味着一次传输4字节。Wrap4 意味着一次burst共4拍,并且总的传输字节为16(beats*Hsize)字节。如果起始地址从0x4开始,则在0x10处wrap

Case2: Start Address is 0x4,Wrap4,Hsize is 1.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
beat1 - 0x4
beat2 - 0x6
beat3 - 0x0
beat4 - 0x2

Hsize为1,意味着一次传输2字节。Wrap4 意味着一次burst共4拍,并且总的传输字节为8(beats*Hsize)字节。如果起始地址从0x4开始,则在0x8处wrap

Case3: Start Address is 0x4,Wrap8,Hsize is 1.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
beat1 - 0x4
beat2 - 0x6
beat3 - 0x8
beat4 - 0xa
beat5 - 0xc
beat6 - 0xe
beat7 - 0x0
beat8 - 0x2

Hsize为1,意味着一次传输2字节。Wrap8 意味着一次burst共8拍,并且总的传输字节为16(beats*Hsize)字节。如果起始地址从0x4开始,则在0x10处wrap。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数字芯片实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
AXI协议详解-AMBA总线协议AHB、APB、AXI对比分析
在基于IP复用的SoC设计中,片上总线设计是最关键的问题。为此,业界出现了很多片上总线标准。其中,由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC系统集成者的青睐,已成为一种流行的工业标准片上结构。AMBA规范主要包括了AHB(Advanced High performance Bus)系统总线和APB(Advanced Peripheral Bus)外围总线。
碎碎思
2020/08/31
10.3K0
AMBA AHB面试题连载(三)
BUSY传输只能在未定义长度的burst传输(INCR)结束时发生,不能在固定长度burst传输(SINGLE, INCR4, WRAP4, INCR8, WRAP8, INCR16, WRAP16)的末端发生。
tech life
2021/08/06
1.1K0
AMBA之AHB总线学习笔记
AHB同是由ARM提出的总线规范,全称为Advanced High Performance Bus,高级高性能总线(高性能、高速时钟),主要用于高速模块(如CPU、DMA、DSP)之间的连接,作为SoC的片上系统总线,它包括以下特性:
根究FPGA
2020/09/10
1.8K0
AMBA之AHB总线学习笔记
AMBA AHB面试题连载(七)
以四拍传输大小为4字节的wrapping burst传输为例(共传输16字节)。如果传输的起始地址是0x30,则burst传输的四次地址为0x30、0x34、0x38和0x3C。尽管HBURST被设置为WRAP4,但实际上不会发生wrap,当然这也是AMBA AHB协议允许的。
tech life
2021/09/02
5980
AHB总线传输(时序)
如果是写操作,master获取HREADY高信号,表明slave已成功接收数据,操作成功;
数字芯片社区
2020/08/27
7.6K0
AHB总线传输(时序)
AMBA AHB面试题连载(四)
如果定义了整个4G地址空间,则不需要默认的slave。如果内存映射中存在未定义的区域,那么必须确保对不存在的地址的访问不会锁定系统。在decoder中实现default slave非常简单并且通常是有意义的。
tech life
2021/08/06
5150
AMBA AHB面试题连载(二)
在一个Burst 传输中的任何一拍,slave返回非OKAY响应之后Bursts 传输可以提前终止,或者仲裁器将HGRANT给其他master。但是请注意,除非收到相应的仲裁器或slave响应提示,否则master不能主动地决定终止burst传输。
tech life
2021/08/06
1.3K0
AMBA AHB面试题连载(二)
AMBA AHB面试题连载(六)
对于不需要这些保护信息的masters ,建议HPROT默认值为HPROT[3:0]=4‘b0011,即Non-cacheable, Non-bufferable, Privileged, Data Accesses
tech life
2021/09/02
5380
单片机DA转换实现正弦波
使用的是查表法: 1.c文件: #include "reg52.h" #include <intrins.h> #include <i2c.h> #define PCF8591 0x90 #define uint unsigned int #define uchar unsigned char #define arr_length 720 //正弦波数组长度 code unsigned char sin1[720]={0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x
用户1749219
2018/05/16
1.3K0
《coredump问题原理探究》Linux x86版5.5节C风格数据结构内存布局之基本数据类型构成的结构体
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/details/8743982
血狼debugeeker
2018/09/20
4990
《coredump问题原理探究》Linux x86版6.3节有成员变量的类coredump例子
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/details/42685207
血狼debugeeker
2018/09/20
1.7K0
从汇编角度来理解linux下多层函数调用堆栈运行状态
我们用下面的C代码来研究函数调用的过程。 int bar(int c, int d) {     int e = c + d;     return e; } int foo(int a, int 
s1mba
2017/12/28
1.6K0
从汇编角度来理解linux下多层函数调用堆栈运行状态
深入AXI4总线-[三]传输事务结构
那么在数据传输的范畴中,就使用 burst 来表示一种传输模式:在一段时间中,连续地传输多个(地址相邻的)数据。此时可译为突发传输或者猝发传输。
空白的贝塔
2020/06/24
3.3K0
深入AXI4总线-[三]传输事务结构
栈详解
ARM64是先开辟一段栈空间,fp移动到栈顶再往栈中存放内容(编译期就已经确定大小)。不存在push操作。在iOS中栈是往低地址开辟空间
派大星在吗
2021/12/17
2K0
初窥卡巴斯基ARK读取MBR
LONG LONG LONG AGO就发现通过Hook磁盘端口驱动程序中的IRP_MJ_SCSI派遣函数方式过不了KB了,最近又遇到这个问题就想借此机会分析一下,看看万能的KB是如何绕过Hook读取MBR的。
FB客服
2018/07/31
7660
初窥卡巴斯基ARK读取MBR
HCTF2017 babycrack Writeup
还是很抱歉题目的验证逻辑还是出现了不可逆推的问题,被迫在比赛中途加入4个hint来修复问题,下面我们来慢慢看看代码。
LoRexxar
2023/02/21
2760
HCTF2017 babycrack Writeup
AHB学习笔记1.AHB概述2.AHB信号3.AHB传输4.控制信号
1.AHB概述 AHB总线是一种专为高性能同步传输设计的总线,层次高于APB总线,支持以下特性: 突发传输 拆分事务 主设备单时钟周期传输 单时钟沿操作 非三态实现 宽数据总线配置(64/128bit
月见樽
2018/04/27
7.1K0
AHB学习笔记1.AHB概述2.AHB信号3.AHB传输4.控制信号
[医疗信息化][DICOM教程]1.使用Java的DICOM基础-理解DICOM文件-DICOM Basics using Java - Making Sense of the DICOM File
这是我有关DICOM标准的系列文章的一部分。在我们开始本教程之前,请快速浏览一下我之前的文章“ DICOM标准简介”,以简短,快速地介绍该标准。请注意,本教程假定您知道Java(或任何等效的面向对象的语言,如C#或C ++)。
landv
2020/08/06
3.7K0
[医疗信息化][DICOM教程]1.使用Java的DICOM基础-理解DICOM文件-DICOM Basics using Java - Making Sense of the DICOM File
免杀工具charlotte详解,想要成为白帽子,你不会连这个工具都不会用吧?「建议收藏」
charlotte是一款Python编写的自动化免杀工具,用来生成免杀的dll文件,在antiscan.me上为全绿,效果可见一斑。
全栈程序员站长
2022/09/24
4510
免杀工具charlotte详解,想要成为白帽子,你不会连这个工具都不会用吧?「建议收藏」
函数调用时栈是如何变化的?
大家都知道函数调用是通过栈来实现的,而且知道在栈中存放着该函数的局部变量。但是对于栈的实现细节可能不一定清楚。本文将介绍一下在Linux平台下函数栈是如何实现的。
嵌入式与Linux那些事
2021/12/17
4K0
函数调用时栈是如何变化的?
推荐阅读
相关推荐
AXI协议详解-AMBA总线协议AHB、APB、AXI对比分析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验