一、AXI4简介

AXI4(Advanced eXtensible Interface 4)是ARM公司推出的高性能片上总线协议,属于AMBA(Advanced Microcontroller Bus Architecture)标准的一部分。它专为高带宽、低延迟的片上通信设计,广泛应用于处理器、DSP、FPGA等复杂系统中。AXI4包含三个变体:

  • AXI4:标准版本,支持高带宽内存映射通信。
  • AXI4-Lite:简化版,用于寄存器等简单设备的轻量级访问。
  • AXI4-Stream:无地址协议,适用于高速数据流传输(如视频、音频)。

二、写数据

一、写地址通道

一、不重要信号:

信号名信号源信号介绍
AWID
mastar

写地址ID。这个信号是写地址组的标识标签的信号

AWLOCKmastar提供有关传输的原子特性的其他信息。
AWCACHE
mastar总线存储类型
AWPROT
mastar保护类型。他的信号表明事务的特权和安全级别,以及该事务是数据访问还是指令访问。
AWQOS
mastar

服务质量,QoS为每个写事务发送的QoS标识符。仅在axis4中实现。

AWREGION
mastar

区域标识符。允许从机上的单个物理接口用于多个逻辑接口。仅在axis4中实现。

AWUSER
mastar

用户信号。可选写地址通道中的用户自定义信号。仅在axis4中支持

二、重要信号

信号名信号源信号介绍
AWADDR
mastar写地址.写地址给出了写突发事务中第一次传输的地址
AWLEN
mastar突发长度,突发长度给出了突发中传输的确切数量。此信息确定与该地址相关的数据传输的数量。这在AXI3和AXI4之间有所不同
AWSIZE
mastar突发大小。这个信号表示在突发中每次传输的大小
AWBURST
mastar突发类型。突发类型,加上大小信息(AWSIZE),详细说明了如何在突发中计算每个传输的地址。
AWVALID
mastar

写地址有效。该信号表明通道正在发送有效写入信号地址和控制信息

AWREADY
slaver写地址准备好。这个信号表明从机准备好接受一个地址和相关的控制信号:1 =从机准备好了0 =从机还没有准备好

二、写数据通道

一、不重要信号:

信号名信号源信号介绍
WID
mastar写ID标签。这个信号是写入数据传输的ID标签。仅在axis3中支持。
WUSER
mastar

用户信号。可选写数据通道中的用户自定义信号。仅在axis4中支持

二、重要信号:

信号名信号源信号介绍
WDATA
mastar写数据
WSTRB
mastar写选通(strobe)。这个信号指示内存中要更新的字节位置。写数据总线的每8位都有一个写选通。因此,WSTRB[n]对应于WDATA[(8 × n) + 7:(8 × n)],即每一位选通自己对应的Byte
WLAST
mastar写最后一个数据。这个信号指示写突发中的最后一次传输。
WVALID
mastar写有效。这个信号表示有效的写数据和选通可用:1 = 写数据和WSTRB可用 ; 0 =写数据和WSTRB不可用。
WREADY
slaver写准备好信号。这个信号表示从机可以接受写数据

写选通介绍:假如32数据我们只要写入低十六位,只要将WSTRB设置为0011即可。

verilog
// 只更新低16位数据
WDATA = 32'hAABBCCDD;
WSTRB = 4'b0011; // 只使能最低两个字节// 这将导致:
// - 字节0 (DATA[7:0]) = DD (被写入)
// - 字节1 (DATA[15:8]) = CC (被写入)
// - 字节2 (DATA[23:16]) = BB (被忽略)
// - 字节3 (DATA[31:24]) = AA (被忽略)

三、写响应通道信号

一、不重要信号

信号名信号源信号介绍
BID
slave写ID标签。这个信号是写入数据传输的ID标签。仅在axis3中支持。
BUSER
slave

用户信号。可选写数据通道中的用户自定义信号。仅在axis4中支持

二、重要信号

信号名信号源信号介绍
BRESP
slave写响应。这个信号指示写事务的状态。允许的响应有OKAY、EXOKAY、SLVERR和DECERR。
BVALID
slave写响应有效。这个信号表明一个有效的写响应是可用的:1 =写响应可用0 =写响应不可用
BREADY
mastar响应ready。这个信号表示主机可以接受响应信息。1 = master就绪0 = master未就绪

四、写通道介绍

写数据的三个通道是相互独立的。显示写事务如何使用写地址、写数据和写响应通道。

三、读数据

一、读地址通道

一、不重要信号

信号名信号源信号介绍
ARID
mastar读地址ID。该信号是信号读地址组的识别标签
ARLOCK
mastar提供有关传输的原子特性的其他信息。
ARCACHE
mastar存储类型。该信号指示事务如何在系统中进行
ARPROT
mastar

保护类型。该信号表示事务的特权和安全级别,以及该事务是数据访问还是指令访问

ARQOS
mastar

服务质量,QoS为每个读事务发送的QoS标识符。仅实现在axis4中

ARREGION
mastar

区域标识符。允许从机上的单个物理接口用于多个接口逻辑接口。仅在axis4中实现

ARUSER
mastar

用户信号。可选读地址通道中自定义信号。仅在axis4中支持

二、重要信号

信号名信号源信号介绍
ARADDR
mastar

读地址。读地址给出了读突发中第一次传输的地址事务

ARLEN
mastar

突发长度。这个信号表明在一个突发中传输的确切数量。这在AXI3和AXI4之间有所不同

ARSIZE
mastar突发大小。这个信号表示在突发中每次传输的大小。
ARBURST
mastar突发类型。突发类型和大小信息决定了如何计算突发内每个传输的地址
ARVALID
mastar读地址有效。该信号表明通道正在发送有效的读地址和控制信息
ARREADY
Slave
读地址准备好了。这个信号表明从机已经准备好接受一个地址以及相关的控制信号

二、读数据通道

一、不重要信号

信号名信号源信号介绍
RID
Slave
读取ID标签。该信号是从机产生的读数据组信号的识别标签
RRESP
Slave
读取响应。该信号表示读传输的状态。
RUSER
Slave
用户信号。可选读数据通道中的用户自定义信号。仅在axis4中支持。

二、重要信号

信号名信号源信号介绍
RDATA
Slave
读数据。
RLAST
Slave
读最后一次。这个信号表示读突发中的最后一次传输
RVALID
Slave
读有效信号。该信号表明通道正在发送所需的读取数据
RREADY
mastar都准备好信号。这个信号表示主机可以接受读取的数据和响应信息

三、读数据介绍

AXI4读事务使用读地址和读数据通道示意:

四、AXI4 LIte和AXI4接口对比图。

如下可见AXI4 lite接口相较于AXI4做了很多简化,基本上只保留重要信号。

特性AXI4-LiteAXI4 (Full)
设计目的简单控制寄存器访问高性能大数据量传输
突发传输不支持。每次传输只读/写一个数据支持。可传输大量连续数据(最多256 beat)。
数据宽度通常固定为 32bit 或 64bit支持更宽的数据总线(可到1024bit)
通道信号大幅简化功能完整
读写通道分离的读/写地址和数据通道分离的读/写地址和数据通道
事务属性极少(如:非安全、非特权、数据无关)丰富(如:内存类型、缓存、缓冲区策略)
使用场景访问IP核的控制状态寄存器(CSR)高带宽内存(DDR)、DMA高速外设通信
实现复杂度,逻辑资源占用少,逻辑资源占用多
握手信号必须有(xVALID/xREADY必须有(xVALID/xREADY

1. 突发传输 (Burst Transfer)

这是最根本的区别。

  • AXI4-Lite每次事务只能传输一个数据单元。例如,要写入4个32位的数据,主设备必须发起4次独立的写事务(每次包含地址 phase 和数据 phase)。这效率低下,但控制简单。

  • AXI4支持突发传输。主设备只需提供起始地址突发长度(Burst Length,例如4),就可以在一次事务中连续传输4个数据。从设备会自动递增地址。这极大地提高了数据传输效率,减少了总线开销。

2. 通道信号简化

AXI4-Lite 移除了AXI4中与高性能操作相关的所有复杂信号,例如:

  • AxLEN突发长度。AXI4-Lite 没有这个信号,因为长度固定为1。

  • AxSIZE突发大小。每次传输的大小必须与数据总线宽度一致(如32位总线就是4字节)。

  • AxBURST突发类型。固定为增量突发(Incr),但因为长度是1,所以地址也不会变。

  • WLAST最后一个写数据。因为每次写只有一个数据,所以这个信号不需要。

  • RLAST最后一个读数据。同理,不需要。

  • AxLOCKAxCACHEAxQOSAxPROT 等:事务属性。大部分被移除或固定为常量值。

3.如何选择?

选择使用哪种接口取决于IP核的功能和性能需求:

  • 使用 AXI4-Lite 当:

    • IP核只需要被配置(例如:设置使能位、中断掩码、控制寄存器)。

    • IP核只需要提供状态信息(例如:读取状态寄存器、中断状态位)。

    • 数据传输是偶尔的、零星的,对带宽要求极低。

    • 你想要最小化逻辑资源和功耗。

  • 使用 AXI4 当:

    • IP核需要持续不断地流式传输大量数据(例如:视频帧、音频数据、网络数据包)。

    • IP核作为DMA控制器,需要在内存和外设之间搬移大块数据。

    • IP核需要高带宽和低延迟来访问系统内存(DDR)。

    • 性能是首要考虑因素。

五、握手机制

1、基本握手机制

AXI4 使用简单的双向握手协议:

  • VALID 信号:由发送方驱动,表示数据/地址/控制信息已经准备好并有效

  • READY 信号:由接收方驱动,表示接收方已准备好接受数据

传输发生在时钟上升沿当 VALID 和 READY 同时为高时

2、AXI4 通道及其握手信号

通道方向VALID 信号READY 信号功能描述
写地址通道主→从AWVALIDAWREADY传输写地址和控制信息
写数据通道主→从WVALIDWREADY传输写数据和写选通
写响应通道从→主BVALIDBREADY返回写操作响应
读地址通道主→从ARVALIDARREADY传输读地址和控制信息
读数据通道从→主RVALIDRREADY返回读数据和响应

六、突发传输

由图可见在突发读时候,地址必须要在读地址有效和读地址准备信号同时有效时候才能有效。T2时刻上升沿时候可见。然后就是读数据通道。读数据通道下,读有效和读有效准备信号也是同时拉高才有效。然后在读数据通道根据我们读地址信号的数据进行突发传输。但是从机响应的准备信号拉高时和用户读有效拉高时候才传输。突发写同理不过多介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/98089.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/98089.shtml
英文地址,请注明出处:http://en.pswp.cn/web/98089.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《饿殍:明末千里行》Switch版试玩发布 3月13日发售

使用jQuery的常用方法与返回值分析 jQuery是一个轻量级的JavaScript库,旨在简化HTML文档遍历和操作、事件处理以及动画效果的创建。本文将介绍一些常用的jQuery方法及其返回值,帮助开发者更好地理解和运用这一强大的库。 1. 选择器方法 jQuery提供了多种…

[特殊字符] 认识用户手册用户手册(也称用户指南、产品手册)是通过对产品功能的清

一份优秀的用户手册能有效降低用户的使用门槛,提升用户体验和工作效率。下面我将为你梳理编写用户手册的核心要点、步骤和技巧。📖 认识用户手册用户手册(也称用户指南、产品手册)是​​通过对产品功能的清晰解释,为特…

苹果软件代码混淆,iOS混淆、iOS加固、ipa安全与合规取证注意事项(实战指南)

在移动软件交付与合规审计中,苹果软件代码混淆已成为保护知识产权与用户数据的常规手段。但混淆带来的不仅是逆向难度的提升,也会触发崩溃取证、符号化(symbolication)、审计合规与法律证据保存等问题。本文从工程与合规双视角出发…

Redis框架详解

目录 1. redis是什么 主要特点 2. redis中存储的数据类型 2.1 String类型 2.2 List类型 2.3 Hash类型 2.4 Set类型 2.5 Zset类型 2.6 其它类型 3.redis高可用框架 1. redis是什么 Redis 是一个开源的、基于内存的数据结构存储系统,是 Remote Dictionary…

每日随机展示10个wordpress置顶文章

WordPress 置顶文章是博主根据自己的需要设置的&#xff0c;通常用于展示重要或热门的文章。 以下是一个示例代码&#xff0c;用于在 WordPress 主题中展示 10 个置顶文章&#xff1a; <?php // 查询置顶文章 $sticky get_option(sticky_posts); $args array(post__in …

金融工程vs金融数学:谁更贴近量化交易?

在金融行业迈向高度数字化的今天&#xff0c;量化交易已成为顶尖金融机构的核心竞争力之一。它以数学模型为基础&#xff0c;借助编程技术实现策略自动化&#xff0c;在高频、中低频、套利、因子投资等多个领域展现出强大生命力。对于有志于此的大学生而言&#xff0c;选择一个…

实测AI Ping,一个大模型服务选型的实用工具

作为一名长期奋战在一线的AI应用工程师&#xff0c;我在技术选型中最头疼的问题就是&#xff1a;“这个模型服务的真实性能到底如何&#xff1f;” 官方的基准测试总是在理想环境下进行&#xff0c;而一旦投入使用&#xff0c;延迟波动、吞吐下降、高峰期服务不可用等问题就接踵…

深信服软件:aTrustAgent异常占用问题处理

问题&#xff1a;aTrustAgent占用CPU 大早上开电脑&#xff0c;风扇转的飞起&#xff0c;任务管理器看&#xff0c;发现是有几个 aTrustAgent 进程搞得鬼。 印象中&#xff0c;好像没有装过这个软件&#xff0c;搜了下&#xff0c;是深信服的软件&#xff0c;不知道是不是装哪…

基于国产银河麒麟服务器SP3项目实战(Nginx+Keepalive)实现高可用负载均衡

一、环境准备 192.168.113.11NginxKeepalive(Master)192.168.113.22Nginxkeepalive(Backup)192.168.113.33Nginx(web服务器)192.168.113.44 Nginx(服务器&#xff09; 二、环境搭建准备 2.1 Nginx源码编译安装 参考作责之前发布《Nginx源码编译安装》https://blog.csdn.net…

K近邻:从理论到实践

K近邻&#xff1a;从理论到实践 文章目录K近邻&#xff1a;从理论到实践1. 核心思想2. 距离度量3. k的选择与误差分析3.1 近似误差3.2 估计误差3.3 总误差4. kd树的构造与搜索4.1 kd树的构造4.2 kd树的搜索5. 总结6. K近邻用于iris数据集分类6.1加载数据6.2加载模型并可视化1. …

Dokcer的安装(ubuntu-20.04.6):

Dokcer的安装(ubuntu-20.04.6)&#xff1a; 1.添加Docker仓库 #更新本地软件包索引&#xff0c;获取最新的软件包信息 sudo apt-get update #安装依赖包 sudo apt-get install -y \ ca-certificates \ curl \ gnupg \ lsb-release #创建密钥存储目录 sudo mkdir -p /etc/apt/…

CT图像重建原理

一、CT到底测了什么&#xff1f;硬件动作X 射线源与探测器阵列对置&#xff0c;围着物体旋转。每转到一个角度 θ&#xff08;也叫一个视角 / view&#xff09;&#xff0c;源发射扇形/平行的射线束&#xff0c;探测器阵列上有很多“通道/像素/bin”&#xff08;记作索引 n&…

【pycharm】 ubuntu24.04 搭建uv环境

通过uv配置python环境 一直是conda环境 现在有个开源项目说用uv更快更好 所以在pycharm搞起。 一开始在在一个conda项目的里面某个项目里搞 发现会被conda 环境影响。 导致deepseed 安装不了。 python 环境不对 # NOTE: We must explicitly request them as `dependencies` abo…

从软件工程角度谈企业管理

从软件工程角度谈企业管理企业管理&#xff0c;本质上是人与人之间的博弈。 管理的最大难题&#xff0c;不是定目标、不是写流程&#xff0c;而是&#xff1a;如何让个体的利益最大化路径&#xff0c;与组织的整体目标一致&#xff1f; 这就是经济学里的“激励相容”。 在互联网…

vue3 实现前端生成水印效果

vue3 实现前端生成水印效果首先一点哈&#xff0c;就是单纯web前端生成水印只能作为警示使用&#xff0c;如果享彻底防住几乎是不可能的&#xff0c;有无数种方式去掉web前端生成的水印&#xff0c;所以这种方式只当是一个君子协议吧。编写水印组件 首先直接把这部分封装成一个…

Armonia Mall超级数字生态WEB3商城的引领者

Armonia Mall是一个基于Web3技术的超级数字生态商城&#xff0c;旨在打造全球首家Web3数字普惠商城&#xff0c;帮助千万行销人实现数字生态创业&#xff0c;让全球一亿家庭共享数字经济红利。 Armonia Mall商城创始人&#xff1a;石玉华Armonia Mall七大超级机制&#xff08;模…

Axios与Java Spring构建RESTful API服务集成指南

1 前后端分离时代的技术选择 现在的Web开发&#xff0c;前后端分离已经不是什么新鲜事了。前端用什么&#xff1f;很多团队选择Axios。后端呢&#xff1f;Java Spring依然是企业级应用的首选。 Axios这个JavaScript库确实好用&#xff0c;Promise-based的设计让异步请求变得简单…

Django ORM多对多关系实战指南

一、Django 多对多关系的原理 在关系型数据库中&#xff0c;多对多关系通常需要 第三张中间表 来维护两张表之间的对应关系。 在 Django 中&#xff0c;你只需要定义 ManyToManyField&#xff0c;Django 会自动帮你创建这张中间表。 特点&#xff1a; 可以双向查询&#xff08;…

STM32 单片机开发 - TIM 定时器(PWM)

一、硬件定时器高级控制定时器 Advanced Control Timers (TIM1/TIM8)通用定时器 General Purpose Timers (TIM2/TIM3/TIM4/TIM5)通用定时器 General Purpose Timers (TIM15/TIM16/TIM17)基本定时器 Basic Timers (TIM6/TIM7)表 1 定时器种类二、TIM 中 PWM 概念PWM 的基本原理就…

OpenCV内置分类器实现简单的人脸识别

引言 人脸检测是计算机视觉领域的基础任务之一&#xff0c;广泛应用于安防监控、人机交互、图像美化等场景。今天我们将通过一段简洁的Python代码&#xff0c;使用OpenCV库实现实时摄像头人脸检测功能。无论你是计算机视觉新手还是有经验的开发者&#xff0c;这篇文章都能帮你理…