【【萌新的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位

所有访问都不能修改和没有缓存的 它不支持一个独占式的访问

相关推荐
训山6 分钟前
4000字浅谈Java网络编程
java·开发语言·网络
VertexGeek12 分钟前
Rust学习(四):作用域、所有权和生命周期:
java·学习·rust
抱走江江1 小时前
SpringCloud框架学习(第二部分:Consul、LoadBalancer和openFeign)
学习·spring·spring cloud
写bug的小屁孩2 小时前
websocket身份验证
开发语言·网络·c++·qt·websocket·网络协议·qt6.3
不会编程的懒洋洋2 小时前
Spring Cloud Eureka 服务注册与发现
java·笔记·后端·学习·spring·spring cloud·eureka
chenjingming6662 小时前
网络技术-定义配置ACL规则的语法和命令
网络
scc21402 小时前
spark的学习-06
javascript·学习·spark
luoganttcc2 小时前
能否推荐开源GPU供学习GPU架构
学习·开源
Dynadot_tech2 小时前
使用API有效率地管理Dynadot域名,列表形式查看账户whois联系人信息
网络·api·域名注册·dynadot
垂杨有暮鸦⊙_⊙3 小时前
阅读2020-2023年《国外军用无人机装备技术发展综述》笔记_技术趋势
笔记·学习·无人机