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

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规范
amba规范


二、AMBA APB规范

APB(Advanced Peripheral Bus):

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

APB规范

三、AMBA AHB规范

AHB(Advanced High-performance Bus):

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

四、AMBA AXI4规范

AXI(Advanced eXtensible Interface):

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


总结

本章节介绍了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:提供数学运算&#xff0…...

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…...

用手机做无人直播怎么做?

用手机进行无人直播已经成为了一种新兴的方式,给我们的生活带来了便利和创新。无人直播是指通过手机进行实时转播,而无需人工操作的一种直播形式。以下将介绍如何用手机实现无人直播。 首先,要实现手机无人直播,我们需要一个稳定…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...