FPGA-AMBA协议、APB协议、AHB规范、AXI4协议规范概述及它们之间的关系
FPGA-AMBA协议、APB协议、AHB协议、AXI4协议规范概述
笔记记录,AMBA协议、APB协议、AHB规范、AXI4协议规范概述,只是概述描述,具体详细的协议地址传输、数据传输等内容将在下一章节详细说明。
文章目录
- FPGA-AMBA协议、APB协议、AHB协议、AXI4协议规范概述
- 一、AMBA规范
- 二、AMBA APB规范
- 三、AMBA AHB规范
- 四、AMBA AXI4规范
- 总结
一、AMBA规范
AMBA(Advanced Microcontroller Bus Architecture)是一种由ARM公司提出的处理器总线架构,它定义了处理器、内存和外设之间的通信标准。
在AMBA架构中,存在多个总线协议,其中包括 APB(Advanced Peripheral Bus)、AHB(Advanced High-performance Bus)和 AXI(Advanced eXtensible Interface)。
这些协议是为不同的系统设计需求和性能级别而设计的,它们之间存在一些关系和区别。


二、AMBA APB规范
APB(Advanced Peripheral Bus):
APB是AMBA架构中定义的一种低功耗、低带宽的总线协议。
主要用于连接低带宽外设,如GPIO(通用输入/输出)、定时器等。
APB通常用于连接速度要求较低的外设,因为其传输速率相对较慢。

三、AMBA AHB规范
AHB(Advanced High-performance Bus):
AHB是AMBA架构中定义的中等性能的总线协议。
用于连接中等带宽要求的外设,如DMA(直接存储器访问)控制器、LCD控制器等。
AHB在性能上比APB更高,因此适用于连接一些要求中等性能的外设。

四、AMBA AXI4规范
AXI(Advanced eXtensible Interface):
AXI是AMBA架构中定义的高性能、高带宽的总线协议。
适用于连接高性能的外设,如高性能处理器、高速存储器等。
AXI相比于AHB在性能上有较大的提升,支持乱序传输、突发传输等高级特性。

总结
本章节介绍了FPGA中总线协议,AMBA协议、APB协议、AHB规范、AXI4协议规范概述,以及它们之间的关系。
简而言之:
AMAB包含APB、AHB、AXI;
AXI4是AXI第四个版本性能更好;
性能:AXI > AHB > APB,对应的使用场景也不同
AXI4的协议内容和功能十分重要,对于zynq的学习十分重要,协议的具体内容和代码实现,下个章节再来描述。
相关文章:
FPGA-AMBA协议、APB协议、AHB规范、AXI4协议规范概述及它们之间的关系
FPGA-AMBA协议、APB协议、AHB协议、AXI4协议规范概述 笔记记录,AMBA协议、APB协议、AHB规范、AXI4协议规范概述,只是概述描述,具体详细的协议地址传输、数据传输等内容将在下一章节详细说明。 文章目录 FPGA-AMBA协议…...
NI VeriStand中的硬件I / O延迟时间
NI VeriStand中的硬件I / O延迟时间 - NI 适用于 软件 VeriStand 问题详述 在我的VeriStand项目中,我要从DAQ或FPGA硬件中获取数据,在模型中处理输出,然后输出数据。在硬件输入和输出之间,我应该期望什么样的延迟?如…...
YoloV8的目标检测推理
YoloV8的目标检测推理 原始的YoloV8封装的层次太高,想要为我们所用可能需要阅读很多API,下面给出比较简单的使用方式 导入所需的库 os:用于操作文件系统。cv2 (OpenCV):用于图像处理。numpy:提供数学运算࿰…...
c语言中数据结构
一、结构体的由来 1. 数据类型的不足 C语言中,基本数据类型只有整型、字符型、浮点型等少数几种,无法满足复杂数据类型的需要。 2. 数组的限制 虽然数组可以存储多个同类型的数据,但是数组中的元素个数是固定的,无法动态地改变…...
【GitHub精选项目】抖音/ TikTok 视频下载:TikTokDownloader 操作指南
前言 本文为大家带来的是 JoeanAmier 开发的 TikTokDownloader 项目,这是一个高效的下载 抖音/ TikTok 视频的开源工具。特别适合用户们保存他们喜欢的视频或分享给其他人。 TikTokDownloader 是一个专门设计用于下载 TikTok 视频的工具,旨在为用户提供一…...
Java开发框架和中间件面试题(3)
14.Spring事务中的隔离级别有哪几种? 在TransactionDefinition接口中定义了五个表示隔离级别的常量: 1⃣️ISOLATION DEFAULT:使用后端数据库默认的隔离级别,Mysql默认采用的可重复读隔离级别;Oracle默认采用的读已提…...
React面试题
1. 什么是 React? React 是一个用于构建用户界面的 JavaScript 库。它由 Facebook 开发并开源,广泛应用于现代 Web 应用程序的开发中。 2. React 中的组件是什么? 组件是 React 中构建用户界面的基本单位。它们是可重用且自包含的代码块&a…...
机器学习-数学学习汇总
***I数学只是一个工具,会使用,能解决问题就可以了,精确例如到3.14够用就可以了*** 微积分作用:解决非线性问题 学习:27分。 高中数学: 1.高中数学所有知识点表格总结,高中知识点一个不漏&am…...
17个常用经典数据可视化图表与冷门图表
数据可视化是创建信息图形表示的过程。随着可视化技术的飞速发展,可以利用强大的可视化工具选择合适的数据可视化图表来展示数据。以下专业人士都应该知道的一些最重要的数据可视化图表。 常见数据可视化图表 饼图 饼图是最常见和最基本的数据可视化图表之一。饼图…...
(五)Python 垃圾回收机制
一、垃圾回收的工作原理 Python的垃圾回收机制是自动的,负责管理程序中的内存。它基于两种主要技术:引用计数和循环引用检测器。 引用计数 每当一个对象被引用时,Python会增加该对象的引用计数;每当一个对象不再被引用时&#…...
策略模式(组件协作)
策略模式(组件协作) 链接:策略模式实例代码 注解 目的 正常情况下,一个类/对象中会包含其所有可能会使用的内外方法,但是一般情况下,这些常使用的类都是由不同的父类继承、组合得来的,来实现…...
每日一题-----逆序字符串
大家好我是Beilef,在一个美好的下午我意外接触到编程并且产生了兴趣,哈哈我要努力成为一个跨界者,让我们一起加油吧O(∩_∩)O 文章目录 目录 文章目录 前言 大家好请上车 一、逆序字符串 题⽬描述: 输⼊⼀个字符串,写…...
js两个对象数组合并。并且去掉里边某个属性相同的对象
要合并两个JavaScript对象数组并去除其中某个属性相同的对象,您可以使用concat()方法将两个数组合并,然后使用reduce()方法进行筛选。 以下是一个示例代码,演示了如何合并两个对象数组并去除其中某个属性相同的对象 const array1 [{ id: 1…...
创建重试机制
要自己创建重试机制,可以使用循环结构来实现。以下是一个简单的重试机制的示例代码: java public class RetryExample { public static void main(String[] args) { int maxRetryTimes 3; // 最大重试次数 int retryInterval 1000; /…...
[c]统计数字
题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。 输入描述: 第1行是整数…...
采用ODP.NET 批量进行数据同步
因开发、测试场景经常需要模拟机生产环境的数据,原同事开发了一个ado.net图形化同步工具,对非技术人员操作友好,但对技术员使用并不方便,每次同步需源库数据与目标的数据源字段进行配置,且同步大数据时慢,因…...
【vue滚动条插件vuescroll】【vue自定义滚动条】
文章目录 前言一、使用步骤1.下载2.引入库三、在组件中如何使用?四、跳转到顶部的方法scrollTo() 五、效果总结 前言 由于浏览器自带的滚动条比较不符合设计图,所以在大部分项目中,我们都会自定义滚动条的样式,来还原设计图&…...
python 1200例——【8】冒泡排序
冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 冒泡排序的代码: def bubble_sort(arr):n = len(arr)for i in range(n):#…...
在PyTorch中设置随机数生成器的种子值
在PyTorch中设置随机数生成器的种子值的方法 CPU:可以使用torch.manual_seed()函数 GPU:需要额外设置torch.cuda.manual_seed()来设置GPU上的随机数生成器种子值。 import torch# 设置随机种子 torch.manual_seed(0)if torch.cuda.is_available():tor…...
用手机做无人直播怎么做?
用手机进行无人直播已经成为了一种新兴的方式,给我们的生活带来了便利和创新。无人直播是指通过手机进行实时转播,而无需人工操作的一种直播形式。以下将介绍如何用手机实现无人直播。 首先,要实现手机无人直播,我们需要一个稳定…...
别再死记硬背了!用Python+SymPy玩转含参积分,从卷积到信号处理一次搞懂
用PythonSymPy玩转含参积分:从数学原理到信号处理实战 数学中的含参积分常常让学习者感到抽象难懂,尤其是当涉及到极限交换、求导与积分顺序交换等概念时。但如果我们换一种方式——用代码和可视化来探索这些数学概念,一切就会变得清晰起来。…...
django-tenants测试策略:单元测试、集成测试与持续集成
django-tenants测试策略:单元测试、集成测试与持续集成 【免费下载链接】django-tenants Django tenants using PostgreSQL Schemas 项目地址: https://gitcode.com/gh_mirrors/dj/django-tenants django-tenants是一个基于PostgreSQL模式的Django多租户解决…...
TVBOX最新电视直播软件tv版下载与安装教程
如何安装最新版电视直播软件tv版TVBOX?先讲清楚:TVBox 是开源播放器,本身不带影视资源,装好后必须配置 “数据源 / 接口” 才能用。下面分「下载 → 安装 → 配置 → 常见问题」一步步来。(如果不会配置,可…...
从IMC层到应力点:手把手教你用SEM/EDS给BGA焊点做一次‘体检’
从IMC层到应力点:手把手教你用SEM/EDS给BGA焊点做一次‘体检’ 当一块电路板上的BGA焊点出现异常时,往往就像人体某个关节出了问题——表面看不出明显伤痕,但功能已经受限。这时候,我们需要像医生一样,用专业设备给焊…...
别再死磕标注数据了!用扩散模型从海量无标签遥感图像中‘白嫖’语义信息,提升变化检测精度
扩散模型在遥感变化检测中的无监督语义挖掘实战 遥感图像变化检测一直是地理信息科学和计算机视觉交叉领域的重要课题。传统方法高度依赖大量精确标注的训练数据,而标注成本高昂、周期漫长,成为制约算法性能提升的瓶颈。2022年涌现的多项突破性研究证明&…...
Flutter代码混淆实战指南:原理、配置与常见问题解决方案
1. 项目概述:为什么Flutter代码混淆是开发者的必修课?在Flutter应用开发中,我们常常将精力倾注于UI的丝滑流畅、功能的丰富强大,却容易忽视一个至关重要的环节——代码安全。当你的应用发布到各大应用商店,那些辛苦编写…...
学习刷题公众号管理系统
功能特点支持视频、音频、图文三种课程形式,按知识点分类管理,支持自由添加和编辑课程章节。课程可设置为免费或付费模式,支持VIP会员免费学习权限设置。提供智能组卷功能,学员可按知识点自主组卷,系统从题库中随机抽题…...
避坑指南:在VisDrone上训练YOLOv7时,我遇到的过拟合与数据增强那些坑
VisDroneYOLOv7实战避坑手册:从数据增强到过拟合的深度调优 第一次在VisDrone数据集上跑YOLOv7时,我盯着验证集mAP0.5从0.4缓慢爬到0.5就停滞不前,而训练集指标却一路飙升到0.9——典型的过拟合现象。更讽刺的是,当我尝试将图片切…...
独立开发者如何借助Taotoken管理多个AI侧项目
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 独立开发者如何借助Taotoken管理多个AI侧项目 作为一名独立开发者,同时维护多个使用大模型的小型项目是常态。你可能有…...
ARM与FPGA通信接口设计:从并行总线到AXI的软硬件协同实践
1. 项目概述:从一次调试“事故”说起去年,我在一个边缘计算网关的项目上,遇到了一个让人头大的问题。项目核心是一块定制板,处理器是四核的ARM Cortex-A53,旁边紧挨着一片中等规模的FPGA。我们的设计是让ARM负责复杂的…...
