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

【【萌新的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.lryc.cn/news/187991.html

相关文章:

  • ios safari 浏览器跳转页面没有自适应
  • node、npm、nvm相关概念区别
  • Dubbo3应用开发—Dubbo3注册中心(zookeeper、nacos、consul)的使用
  • Chrome自动播放限制策略
  • k8s安全机制
  • Java多线程:Runnable与Callable的区别和原理
  • 解决yolo无法指定显卡的问题,实测v5、v7、v8有效
  • arc 166 a
  • Lua05——Lua基本数据类型
  • 一文3000字从0到1使用pytest-xdist实现分布式APP自动化测试
  • pyqt5:pandas 读取 Excel文件或 .etx 电子表格文件,并显示
  • 【QT】Windows 编译并使用 QT 5.12.7源码
  • php实战案例记录(15)获取GET和POST请求参数
  • k8s-9 ingress-nginx 特性
  • java案例24:模拟百度翻译
  • 汽车烟雾测漏仪(EP120)
  • 【轻松玩转MacOS】安全隐私篇
  • 4.02 用户中心-上传头像功能开发
  • 在Ubuntu 18.04安装Docker
  • Vue-2.1scoped样式冲突
  • Matlab之查询子字符串在字符串中的起始位置函数strfind
  • [游戏开发][Unity]安卓出包报错记录
  • 在两个有序数组中找整体第k小的数
  • Linux 指令心法(十)`head` 显示文本文件的开头部分
  • 前端——Layui的导航栏与tab页联动
  • 一致性哈希算法
  • 深度学习基础之参数量(3)
  • 红队专题-从零开始VC++远程控制软件RAT-C/S-[2]界面编写及上线
  • 磁盘满了对日志打印(Logback)的影响
  • 【算法与数据结构】--算法基础--数据结构概述