【【萌新的SOC学习之AXI接口简介】】
萌新的SOC学习之AXI接口简介
AXI总线的初步介绍
AXI 总线是 ARM AMBA 一部分 (高级可扩展接口)
AMBA(高级微控制器总线架构) :开放的片内互联的总线标准,能再多主机设计中实现多个控制器和外围设备之间的连接和管理。
AXI(高级扩展接口)
(AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大 256 轮的数据突发传输;
AXI4-Lite:(For simple, low-throughput memory-mapped communication )是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元。
AXI4-Stream:(For high-speed streaming data.)面向高速流数据传输;去掉了地址项,允许无限制的数据突发传输规模。)
AXI4(AXI4-Full): 用于高性能的存储器映射需求;
(存储器映射:主机再对从机进行读写操作时,指定一个目标地址,这个地址就是对应系统存储空间的地址,表示对该空间进行读写操作);
AXI4-Lite : 简化版的AXI4接口
用于低吞吐率存储器映射的通信
AXI4-Stream(ST) : 用于高速的流数据通信
AXI4(AXI4-Full)(支持突发256),和AXI4-Lite(1个数据) 属于存储器映射 需要指定地址
AXI4-Stream(ST)不属于存储器映射,它的突发长度不受限制, 用于数据流传输大量数据
AXI4 和 AXI4-lite 包含5个不同的通道
(1)读地址通道,包含 ARVALID, ARADDR, ARREADY 信号;
(2)读数据通道,包含 RVALID, RDATA, RREADY, RRESP 信号;
(3)写地址通道,包含 AWVALID,AWADDR, AWREADY 信号;
(4)写数据通道,包含 WVALID, WDATA,WSTRB, WREADY 信号;
(5)写应答通道,包含 BVALID, BRESP, BREADY 信号;
(6)系统通道,包含:ACLK,ARESETN 信号
AXI4 : 由于读写地址通道是分离的,所以支持双向同时传输;突发长度最大256
AXI4-lite : 和AXI4比较类似,但是不支持突发传输
AXI-stream:只有一个单一数据通道,和AXI4的写数据通道比较类似 突发长度不受限制
AXI-DMA可以实现从存储器映射到stream数据流的转变
AXI InterConnect 和 AXI SmartConnect
这两个IP核都是用于连接单/多个存储器映射的AXI Master 和 单/多个存储器映射的 AXI Slave
AXI通道的定义 :
每一个独立的通道 都包含一组信息信号,VALID信号和READY信号
用于提供双向的握手机制。
信息源端使用VALID信号表示地址,数据和控制信息什么时候有效,
目的端通过使用READY表示什么时候可以接受信息
读数据和写数据通道都包含一个LAST信号,用于表示传输的最后一个数据
读数据通道和写数据通道 都包含各自的地址 通道,地址通道携带了请求所需的地址和信息
读数据通道,由从机发送给主机,包含了读数据和读响应的信息,读响应的信号用于表示都传输是否操作完成
写数据通道 是由主机发送给从机,包含了写数据的信息,然后通过WSTRB表示当前数据的哪个字节有效
写响应通道由从机发送给主机,包含了写响应信号,用于表示当前写操作是否完成
对于信号需要注意的
写地址通道信号需要注意的东西
AWREADY 是由从机发送给主机的
AWVALID 是一组的握手信号 主机发送给从机
AWADDR 起始地址
AWLEN 突发长度 实际的要在这个上面加1 前面是4次 那么这个数据就是3
AWSIZE 突发大小 看多少字节

AWBUST 突发类型
固定值 FIXED 所有值都是写到一个地址里面去的
INCR 自增 : 在突发发生后 地址会进行累加 这是我们使用的相对较多的一种模式 (用的比较多)
回环突发 WRAP
AWVALID 是由 master发送的,用来表示当前的地址是否有效
AWREADY 由从机发送
/下面是写数据的信号
WDATA
WSTRB : 用来表示当前的WDATA哪个字节有效
WLAST : 用来表示突发传输的最后一个数据
WVALID
WREADY 又是两个握手信号 对于AXI 其实每一个独立的通道都包含了
/写响应
BRESP : 表示写传输的状态
BVALID 和BREADY 握手信号 每个独立通道都会有这两个信号
(会返回四种类型:
OKEY : 返回成功
EXOKAY : 独占式存取OK
SLVERR :表示从机错误,虽然从机已经接受到了数据,但出现了错误
DECERR :表示解码错误,互联模块无法成功译码从机 )
/读地址通道的信号
ARADDR
ARLEN
等等 和写地址差不多
/读数据通道
都差不多内含了一个
RLAST表示最后一个信号
下面是AXI通道的时钟介绍
ACLK 所有的输出都在ACLK上升沿完成输出
Reset 在复位的时候 我们的 master信号 驱动ARVALID AWVALID WVALID -low
从机信号驱动 RVALID 和 BVALID -low
源端产生valid 信号 表示地址信息和控制什么时候有效
目的端产生ready信号表示当前可以接受信息
传输会发生在当valid和 ready信号同时为高的时候
关于握手机制的处理
所有五个信号都是由valid 和ready信号一起控制 因为双向握手的机制意味着主机和从机在传输数据的时候都可以控制速率
传输会发生在当valid和 ready信号同时为高的时候
从机必须等待ARAVALID 和 ARREADY都拉高之后才能确定
下面是最后介绍一下AXI4-lite
AXI4-lite 适用于当不需要使用AXI4完整功能的时候,比如说一些简单的控制寄存器的读写
支持数据位宽是32位或64位
所有访问都不能修改和没有缓存的 它不支持一个独占式的访问
相关文章:
【【萌新的SOC学习之AXI接口简介】】
萌新的SOC学习之AXI接口简介 AXI总线的初步介绍 AXI 总线是 ARM AMBA 一部分 (高级可扩展接口) AMBA(高级微控制器总线架构) :开放的片内互联的总线标准,能再多主机设计中实现多个控制器和外围设备之间的连接和管理。…...
ios safari 浏览器跳转页面没有自适应
今天开发遇到了一个问题,当用户点击浏览器中的表单进行注册时,表单元素会放大,随后跳转页面无法还原到初始状态。 这是因为如果 的 font-size 被设定为 16px 或更大,那么 iOS 上的 Safari 将正常聚焦到输入表单中。但是ÿ…...
node、npm、nvm相关概念区别
node:一个基于Chrome V8引擎的JavaScript运行环境,让JavaScript 运行在服务端的开发平台。 nvm:node.js 版本管理工具。不同项目可能需要不同版本的 node,可以使用 nvm 来管理 node.js 版本。 安装教程参考 nvm下载及详细安装教程…...
Dubbo3应用开发—Dubbo3注册中心(zookeeper、nacos、consul)的使用
Dubbo3注册中心的使用 zookeeper注册中心的使用 依赖引入 <dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-dependencies-zookeeper-curator5</artifactId><version>${dubbo.version}</version><type>p…...
Chrome自动播放限制策略
原文链接:Chrome 自动播放限制策略 Web浏览器正在朝着更严格的自动播放策略发展,以便改善用户体验,最大限度地降低安装广告拦截器的积极性并减少昂贵和/或受限网络上的数据消耗。这些更改旨在为用户提供更大的播放控制权,并使开发…...
k8s安全机制
安全机制 一、机制说明二、认证(Authentication)HTTP Token 认证HTTP Base 认证HTTPS 证书认证(最严格) 三、鉴权(Authorization)角色角色绑定主体(subject)Role and ClusterRoleRol…...
Java多线程:Runnable与Callable的区别和原理
Java多线程:Runnable与Callable的区别和原理 在Java多线程编程中,我们经常使用Runnable和Callable接口来创建并执行线程。这两个接口都是Java.lang包中的部分,并且都用于实现多线程。虽然它们有些相似之处,但它们之间也存在明显的…...
解决yolo无法指定显卡的问题,实测v5、v7、v8有效
方法1 基本上这个就能解决了!!! 在train.py的最上方加上下面这两行,注意是最上面,其次指定的就是你要使用的显卡 import os os.environ[CUDA_VISIBLE_DEVICES]6方法2: **问题:**命令行参数指…...
arc 166 a
#include<bits/stdc.h> using namespace std; using VI vector<int>; using ll long long; const int mod 998244353; //当只有ab的时候,看作把a可以向右移动 //1 - x 是a 1 - y a //x中的 a 的 下标 < y 中 a 的下标 //这样就可以通过位移得到 …...
Lua05——Lua基本数据类型
lua 是动态类型语言,变量使用前不需要定义类型,在使用时直接赋值即可。 1 基本数据类型 值可以存储在变量中,作为参数传递或作为结果返回。 lua中有八个基本数据类型: nil 只有值nil属于该类,表示一个无效值&#…...
一文3000字从0到1使用pytest-xdist实现分布式APP自动化测试
目录 01、分布式测试的原理 02、测试项目 03、环境准备 04、搭建步骤 05、分布式执行 06、测试报告 不知道大家有没有遇到这样一种情况,实际工作中,app自动化测试的用例可能是成百上千条的,如果放在一台机器上跑,消耗的时间…...
pyqt5:pandas 读取 Excel文件或 .etx 电子表格文件,并显示
pip install pandas ; pip install pyqt5; pip install pyqt5-tools; 编写 pyqt5_read_etx.py 如下 # -*- coding: utf-8 -*- """ pandas 读取 Excel文件或 .etx 电子表格文件,显示在 QTableWidget 中 """ import os import sys…...
【QT】Windows 编译并使用 QT 5.12.7源码
1、下载 QT 源码 QT5.12.7源码下载地址: download | QT 5.12.7 选择任意一种下载即可,适用于 Windows 和 Linux 环境 这里选择下载 .zip 文件。 2、安装依赖 (1) 安装 perl perl 安装包下载地址: download | perl for windows 根据当前系统选择对应版本。…...
php实战案例记录(15)获取GET和POST请求参数
在PHP中,可以使用$_GET和$_POST超全局变量来获取GET和POST请求参数。 获取GET请求参数: 要获取GET请求参数,可以使用$_GET超全局变量。它是一个关联数组,其中键是参数的名称,值是参数的值。例如,如果URL是…...
k8s-9 ingress-nginx 特性
TLS加密 创建证书 测试 auth认证 创建认证文件 rewrite重定向 进入域名 会自动重定向hostname.html 示例二: 测试 后面必须跟westos 这个关键字 canary金丝雀发布 基于header灰度 场景:版本的升级迭代,比如一个service 升级到另…...
java案例24:模拟百度翻译
思路: 编写一个程序模拟百度翻译 用户输入英文之后,搜索程序中对应的中文, 如果搜索到1对应的中文,就输出搜索结果,反之给出提示 要求使用Map集合实现英文与中文的存储。1.百度翻译主要用于翻译对应的意思,…...
汽车烟雾测漏仪(EP120)
【汽车烟雾测漏仪(EP120)】 此烟雾测漏仪专为车辆管道(油道、气道、冷却管道) 的泄露检测而设计。适用于所有轻型 汽车、摩托车、轻卡、游艇等。 【特点】 具有空气模式和烟雾模式。空气模式,无需烟雾,检测…...
【轻松玩转MacOS】安全隐私篇
引言 这一篇将介绍如何保护MacOS的安全,包括如何设置密码,使用防火墙,备份数据等重要环节,避免因不慎操作或恶意攻击带来的安全风险,让你的MacOS之旅更安心、更放心。 一、设置密码:保护你的MacOS的第一道…...
4.02 用户中心-上传头像功能开发
详细内容请看下面地址: 地址:http://www.gxcode.top/code...
在Ubuntu 18.04安装Docker
安装需要的包 $ sudo apt-get update 安装 apt 依赖包,用于通过HTTPS来获取仓库 $ sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg-agent \software-properties-common添加 Docker 的官方 GPG 密钥 $ curl -fsSL https://download.do…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
