【【萌新的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位
所有访问都不能修改和没有缓存的 它不支持一个独占式的访问

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

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

相关文章

奥威BI系统:做数据可视化大屏,又快又简单

数据可视化大屏的制作难吗?会很花时间精力吗?这就要看用的是什么软件了。如果用的是BI系统,特别是奥威BI系统这类BI商业智能软件,那就是又快又简单。 奥威BI系统介绍: 奥威BI系统是一款高效的数据可视化大屏工具&…

flask入门

第一个Flask项目 创建后项目如下图 static存放静态文件,templates存放Jinja2模板,app.py是整个项目的入口文件 我们略微理解下app.py这里的代码 # 从flask这个包中导入Flask类 from flask import Flask#使用Flask类创建一个app对象 #__name__:代表当前…

MFC文本输出学习

void CTxttstView::OnDraw(CDC* pDC) {CTxttstDoc* pDoc GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCString str1;pDC->SetBkColor(RGB(0,0,0));pDC->TextOut(50, 50, "一段文字");pDC->SetBkColor(RGB(255,255,255))…

1. Windows平台下如何编译C++版本的Redis库hiredis

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并…

数据结构--算法、数据结构的基本概念

📕参考:王道 一、算法的基本概念 1.程序数据结构算法 2.算法的特性 (1)有穷性 执行有穷步之后结束,且每一步都可在有穷时间内完成。 (2)确定性 (3)可行性 可通过已经实…

3D 生成重建005-NeRF席卷3D的表达形式

3D生成重建005-NeRF席卷3D的表达形式 文章目录 0 论文工作1 论文方法1.1 体渲染1.2 离散积分1.3位置编码1.4分层采样1.5 影响 2 效果 0 论文工作 NeRF(神经辐射场技术)最早2020年提出用于新视图合成任务,并在这个领域取得了优秀的效果。如下图所示,受到…

Kafka集群架构设计原理详解

从 Zookeeper 数据理解 Kafka 集群工作机制 这一部分主要是理解 Kafka 的服务端重要原理。但是 Kafka 为了保证高吞吐,高性能,高可扩展的三高架构,很多具体设计都是相当复杂的。如果直接跳进去学习研究,很快就会晕头转向。所以&am…

整理笔记——UWB技术

USB(超宽带)是一种无载波通信技术,利用纳秒至微秒级的非正弦波窄脉冲传输数据,频段范围3.1GHZ~10.6GHZ。 一、UWB定位 一般先获得和位置相关的变量,建立定位数学模型,再利用起参数和相关数学模型计算目标位置的信息。…

新能源电动汽车安全性能检测中采集车架号及BMS电池数据的难点

按照新能源电动汽车安全性能检测,必须采集到汽车的车架号及BMS电池数据做对应的评测。国内电动汽车主要以比亚迪、特斯拉、广汽埃安、五菱新能源、长安新能源、大众、理想、蔚来、哪吒等主流为主。与传统燃油车不同的是,电动汽车不用执行OBD2标准&#x…

【C++】List -- 详解

一、list的介绍及使用 https://cplusplus.com/reference/list/list/?kwlist list 是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 list 的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中&…

Springcloud笔记(2)-Eureka服务注册

Eureka服务注册 服务注册,发现。 在Spring Cloud框架中,Eureka的核心作用是服务的注册和发现,并实现服务治理。 Eureka包含两个组件:Eureka Server和Eureka Client。 Eureka Server提供服务注册服务,各个节点启动后…

函数reshape(-1,)里的-1的意思

reshape函数是对narray的数据结构进行维度变换,由于变换遵循对象元素个数不变,在进行变换时,假设一个数据对象narray的总元素个数为N,如果我们给出一个维度为(m,-1)时,我们就理解为将…

聊聊分布式架构05——[NIO基础]BIO到NIO的演进

目录 I/O I/O模型 BIO示例 BIO与NIO比较 NIO的三大核心 NIO核心之缓冲区 Buffer常用子类: Buffer常用API Buffer中的重要概念 NIO核心之通道 FileChannel 类 FileChannel常用方法 NIO核心之选择器 概述 应用 NIO非阻塞原理分析 服务端流程 客户端…

【【萌新的SOC学习之重新起航SOC】】

萌新的SOC学习之重新起航SOC ZYNQ PL 部分等价于 Xilinx 7 系列 FPGA PS端:Zynq 实际上是一个以处理器为核心的系统,PL 部分可以看作是它的一个外设。 我们可以通过使用AXI(Advanced eXtensible Interface)接口的方式调用 IP 核,系统通过 AX…

MAX30102心率血氧传感器

MAX30102心率血氧传感器介绍 背景基本功能基本结构基本原理采集方法直通式采集方法反射式采集方法 血氧采集原理Beer-Lambert 定理皮肤组织模型血氧测量过程AC / DC 的计算 心率采集原理 实验结果代码走读资源链接 背景 目前,基本上所有的可穿戴式设备都集成了心率…

4.02 用户中心-上传头像功能开发

详细内容请看下面地址: 地址:http://www.gxcode.top/code

华为云云耀云服务器L实例评测|测试CentOS的网络配置和访问控制

目录 引言 1 理解几个基础概念 2 配置VPC、子网以及路由表 3 配置安全组策略和访问控制规则 3.1 安全组策略和访问控制简介 3.2 配置安全组策略 3.3 安全组的最佳实践 结论 引言 在云计算时代,网络配置和访问控制是确保您的CentOS虚拟机在云环境中安全运行的…

【JavaScript】浅拷贝与深拷贝

引言 浅拷贝、深拷贝是对引用类型而言的。 引用类型的变量对应一个栈区地址,这个栈区地址处存储的值是存放的真正的数据的堆区地址。 基本数据类型的变量也对应一个栈区地址,但是该地址存储的是其真正的值。 let a b发生了什么? let obj…

docker compose的安装和使用

docker-copose 介绍 docker-compose 是一个容器编排工具(自动化部署、管理); 它用来在单台 Linux 服务器上运行多个 Docker 容器; docker-compose 使用YAML文件来配置所有需要运行的 Docker 容器,该 YAML 文件的默认名称为 docker-compose.…

pytorch算力与有效性分析

pytorch Windows中安装深度学习环境参考文档机器环境说明3080机器 Windows11qt_env 满足遥感CS软件分割、目标检测、变化检测的需要gtrs 主要是为了满足遥感监测管理平台(BS)系统使用的,无深度学习环境内容swin_env 与 qt_env 基本一致od 用于…