<Xilinx AXI4> AXI4_Full(一)总线说明

news2024/9/24 3:18:40

目录

01 AXI4-Full Brust传输介绍

write burst transcation

read burst transcation

02 AXI4_Full读写事务接口说明

写事务(Write transaction)

AXI4-Full_master写事务逻辑信号

AXI4-Full_slave写事务逻辑信号

读事务(Read transaction)

AXI4-Full_master读事务逻辑信号

AXI4-Full_slave读事务逻辑信号

03 文章总结


大家好,这里是程序员杰克。一名平平无奇的嵌入式软件工程师。

前面的推送已对AXI总线的特性以及相关内容进行了总结分享。本篇对AXI4-Full总线的一些特性不再赘述,本篇主要内容是对axi4-full的最重要的特性“burst传输”以及读写事务相关信号接口进行总结分享。


01 AXI4-Full Brust传输介绍

AXI4-Full总线协议其支持突发传输,主要用于处理器访问存储器等需要指定地址的高速数据传输场景。在Xilinx的SOC芯片中,主要用于PL与PS间对DDR/BRAM等高速存储器的读写访问。其在高速、高带宽的数据交互有着很大的作用。本节主要是介绍一下write、read突发传输的传输模型以及简单时序图。


write burst transcation

突发写传输模型如下图所示:

图片

突发写传输时序略图如下所示:

图片

上图与axi4-lite的时序对比来看,axi4-full的握手传输信号多了一个WLAST用以表示brust传输的最后一次;而axi4-lite仅仅支持burst一次;其他的诸如握手机制大同小异。此处其他配置信号并未显示出来。


read burst transcation

突发读传输模型如下图所示:

图片

突发读传输时序略图如下所示:

图片


02 AXI4_Full读写事务接口说明

对于AXI4、AXI4-Lite而言,关键是地址和数据。对于地址和数据有效而言,取决于各通道的握手机制(xVALID、xREADY),以此为依据对时序进行分析。


写事务(Write transaction)

AXI4_Full写传输事务逻辑仿真如下:

图片

  • AXI4-Full_master写事务逻辑信号

AXI4-Full_master控制的信号如下表:

信号所属通道说明
AWID写地址通道写地址ID,用来表征一组写信号
AWADDR写入地址/突发传输开始地址
AWLEN

AWLEN[7:0]写传输的长度(burst次数),位宽为8bit,

burst次数=ARLEN + 1,即最大支持256次burst传输.

对于INCR模式(地址递增):最大支持256次brust传输

对于WAP模式(边界环回):最大支持16次brust传输

AWSIZE[7:0]

固定位宽

AWSIZE[2:0]单次burst传输的字节大小,位宽为3bit,用于表示传输字节[1, 128]具体如下:

0'b000 = 3'd0  :1字节(8bit)

0'b001 = 3'd1  :2字节(16bit)

0'b010 = 3'd2  :4字节(32bit)

0'b011 = 3'd3  :8字节(64bit)

0'b100 = 3'd4  :16字节(128bit)

0'b101 = 3'd5  :32字节(256bit)

0'b110 = 3'd6  :64字节(512bit)

0'b111 = 3'd7  :128字节(1024bit)

AWBURST[1:0]

固定位宽

写突发传输类型:

0'b00-FIXED(固定长度),用于FIFO访问.

0'b01-INCR(地址递增),地址增量取决于AxSIZE的值

0'b10-WRAP(边界环回)

0'b11-RESERVED(无效保留)

AWLOCK锁信号, 支持原子操作

AWCACHE[3:0]

固定位宽

内存参数(默认为0):

AWCACHE[0] - Bufferable

AWCACHE[1] - Modifiable

AWCACHE[2] - Other Allocate

AWCACHE[3] - Allocate

AWPROT[2:0]

固定位宽

内存访问属性. 可用于保护内存免受意外事务的影响.

AWPROT[0]:特权/非特权访问

0'b1-特权, 0'b0-非特权

AWPROT[1]:安全属性,与AxNSE共同作用(不详细说明)

AWPROT[2]:访问的类型(数据/指令)

0'b1-指令访问, 0'b0-数据访问

AWQOS事务优先级信号, 默认设置为0x0
AWREGION域识别符,表征物理内存区域,可实现单一物理接口对应多个逻辑接口
AWUSER扩展的用户自定义信号
AWVALID有效信号
WDATA写数据通道写数据
WSTRB写数据选通信号
WLAST传输标志信号,表示最后一个突发传输
WUSER用户自定义扩展数据
WVALID写有效信号
BREADY写响应通道ready信号, 表示master可接收写响应

  • AXI4-Full_slave写事务逻辑信号

AXI4-Full_slave控制的信号如下表:

信号所属通道说明
AWREADY写地址通道ready信号, 表示slave可接收写地址控制信号
WREADY写数据通道ready信号, 表示slave可接收写数据
BID写响应通道写传输响应 ID
BRESP写响应信号,表示写传输的状态
BUSER用户自定义扩展信号
BVALID写响应有效信号


读事务(Read transaction)

AXI4_Full读传输事务逻辑仿真如下:

图片


  • AXI4-Full_master读事务逻辑信号

AXI4-Full_master控制的信号如下表:

信号所属通道说明
ARID读地址通道读地址ID,用来表征一组读信号
ARADDR数据突发传输开始读取地址
ARLEN

ARLEN[7:0]写传输的长度(burst次数),位宽为8bit,

burst次数=ARLEN[7:0] + 1,即最大支持256次burst传输.

对于INCR模式(地址递增):最大支持256次brust传输

对于WAP模式(边界环回):最大支持16次brust传输

ARSIZE[7:0]

固定位宽

ARSIZE[2:0]单次burst传输的字节大小,位宽为3bit,用于表示传输字节[1, 128]具体如下:

0'b000 = 3'd0  :1字节(8bit)

0'b001 = 3'd1  :2字节(16bit)

0'b010 = 3'd2  :4字节(32bit)

0'b011 = 3'd3  :8字节(64bit)

0'b100 = 3'd4  :16字节(128bit)

0'b101 = 3'd5  :32字节(256bit)

0'b110 = 3'd6  :64字节(512bit)

0'b111 = 3'd7  :128字节(1024bit)

ARBURST[1:0]

固定位宽

读突发传输类型:

0'b00-FIXED(固定长度),用于FIFO访问.

0'b01-INCR(地址递增),地址增量取决于AxSIZE的值

0'b10-WRAP(边界环回)

0'b11-RESERVED(无效保留)

ARLOCK锁信号, 支持原子操作

ARCACHE[3:0]

固定位宽

内存参数(默认为0):

ARCACHE[0] - Bufferable

ARCACHE[1] - Modifiable

ARCACHE[2] - Allocate

ARCACHE[3] - Other Allocate

特别注意:

此处与AWCACHE的各bit代表的含义不一致. 注意区分.

ARPROT[2:0]

固定位宽

内存访问属性. 可用于保护内存免受意外事务的影响.

ARPROT[0]:特权/非特权访问

0'b1-特权, 0'b0-非特权

ARPROT[1]:安全属性,与AxNSE共同作用(不详细说明)

ARPROT[2]:访问的类型(数据/指令)

0'b1-指令访问, 0'b0-数据访问

ARQOS事务优先级信号, 默认设置为0x0
ARREGION域识别符,表征物理内存区域,可实现单一物理接口对应多个逻辑接口
ARUSER扩展的用户自定义信号
ARVALID有效信号
RREADY读数据通道ready信号

  • AXI4-Full_slave读事务逻辑信号

AXI4-Full_slave控制的信号如下表:

信号所属通道说明
ARREADY读地址通道ready信号, 表示slave可接收读地址控制信号
RID读数据通道读传输响应 ID
RDATA读数据
RRESP读响应,用于表示读传输的状态
RLAST传输标志信号,表示最后一个突发读传输
RUSER扩展的用户自定义信号
RVALID有效信号

03 文章总结

鉴于公众号文章篇幅不宜过长,本文仅是对AXI_Full的burst传输模型以及相关接口进行说明,AXI4_Full模板(master/slave)代码的分析便只能在下一篇推送进行分享。

参考文档:

《ug761_axi_reference_guide.pdf》

《UG1037-Vivado-AXI Reference Guide.pdf》

《IHI0022E_amba_axi_and_ace_protocol_spec.pdf》

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

删除、移动、复制文件时总是要卡在99%一段时间解决方法

Win10文件夹重命名、移动、删除等操作卡顿3-5秒。 原因分析: 查看发现,卡顿期间资源管理器无响应,并且其高度占用CPU资源,但是对于非文件夹文件操作没有问题。 解决方案: 1、双击“此电脑”,选择“查看”,再选择“选…

基于 Spring 前后端分离版本的论坛系统

访问地址:http://8.130.142.126:18080/sign-in.html 代码获取:基于 Spring 前后端分离版本的论坛系统: 基于 Spring 前后端分离版本的论坛系统 一.前置知识 1.软件生命周期 a. 可行性研究:通过分析软件开发要求,确定软件项目的性质、目标和规模&am…

苹果电脑同时使用内外网

公司用的有线的内网,自己要用无线的外网。插上网线就不能用wifi,很烦。于是学到了一种插上网线也能使用wifi的方法。 第一步,调整wifi和网线的顺序 系统偏好设置-网络-左下角设定服务顺序,把wifi调到有线网络前面。 第二步&…

盘点2023最新国内SaaS系统TOP20排名,中国的SaaS系统有未来吗?

在SaaS系统飞速发展的2023年,国内涌现出了一大批优秀的SaaS系统公司,都有哪些企业位列其中呢?SaaS系统有着什么样独特的竞争力,能够不断发展,成为目前市面上发展的较好的云服务框架?SaaS究竟是什么&#xf…

21.3 CSS 背景属性

1. 背景颜色 background-color属性: 设置元素的背景颜色. 它可以接受各种颜色值, 包括命名颜色, 十六进制颜色码, RGB值, HSL值等.快捷键: bctab background-color:#fff;<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"…

微芯I/O控制器瞄准工业与嵌入式运算应用

微芯科技(Microchip Technology)日前发布SCH322X系列I/O控制器新品&#xff0c;该系列产品基于工业及嵌入式开发工程师的需求而开发&#xff0c;功能丰富且具高灵活性。新一代I/O控制器系列拥有尺寸更小的包装和更长的产品生命周期&#xff0c;可运用于更多经济型工业及嵌入式开…

DSP_TMS320F28377D_算法加速方法3_使用TMU库加速

继上两篇方法 DSP_TMS320F28377D_算法加速方法1_拷贝程序到RAM运行_江湖上都叫我秋博的博客-CSDN博客 DSP_TMS320F28377D_算法加速方法2_添加浮点运算快速补充库rts2800_fpu32_fast_supplement.lib_江湖上都叫我秋博的博客-CSDN博客 之后&#xff0c;本文继续讨论第三种DSP算法…

Google Pay外包开发流程

集成 Google Pay 可以为你的应用提供方便的支付体验。下面是一个简要的 Google Pay 集成流程概述&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.创建 Google 开发者账号&#xff1a; 如果你还没有…

激活函数总结(二十六):激活函数补充(Probit、Smish)

激活函数总结&#xff08;二十六&#xff09;&#xff1a;激活函数补充 1 引言2 激活函数2.1 Probit 激活函数2.2 Smish 激活函数 3. 总结 1 引言 在前面的文章中已经介绍了介绍了一系列激活函数 (Sigmoid、Tanh、ReLU、Leaky ReLU、PReLU、Swish、ELU、SELU、GELU、Softmax、…

CUDA小白 - NPP(2) - Arithmetic and Logical Operations(1)

cuda小白 原文链接 NPP GPU架构近些年也有不少的变化&#xff0c;具体的可以参考别的博主的介绍&#xff0c;都比较详细。还有一些cuda中的专有名词的含义&#xff0c;可以参考《详解CUDA的Context、Stream、Warp、SM、SP、Kernel、Block、Grid》 常见的NppStatus&#xff0c…

Sentinel配置的blockHandler方法不生效

①首先配置流控的资源名跟SentinelResource中的Value配置的一定要一直且唯一 ②其次blockhandler后面的方法一定要跟下面指定的方法名称是一样的 ③也就是我犯下的错误&#xff0c;一定要注意是上面那个才是Sentinel的&#xff0c;下面的是sun公司的…我说呢&#xff0c;一直…

Java“牵手”京东商品列表数据,关键词搜索京东商品数据接口,京东API申请指南

京东商城是一个网上购物平台&#xff0c;售卖各类商品&#xff0c;包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取京东商品列表和商品详情页面数据&#xff0c;您可以通过开放平台的接口或者直接访问京东商城的网页来获取商品详情信息。以下是两种常用方法的介绍&…

Nacos 配置管理及相关使用

文章目录 Nacos 配置管理一、统一配置管理1、在Nacos 中添加配置文件2、从微服务拉取配置3、配置实现步骤&#xff08;1&#xff09;引入 nacos-config 依赖&#xff08;2&#xff09;添加 bootstrap.yml&#xff08;4&#xff09;在 nacos 中添加配置 二、配置热更新1、配置热…

Sentry 是一个开源的错误监控和日志聚合平台-- 通过docker-compose 安装Sentry

概述 Sentry 是一个开源的错误监控和日志聚合平台&#xff0c;用于帮助开发团队实时监控和调试应用程序中的错误和异常。它可以捕获应用程序中的错误和异常&#xff0c;并提供详细的错误报告&#xff0c;包括错误堆栈跟踪、环境信息、用户信息等。这些报告可以帮助开发团队快速…

关于C语言参数传递的

一、C语言参数传递是整体带入 #include <stdio.h> #define DF(a,b) (a2*b) int main() { int s5; int k DF((s1),(s-3)); printf("%d",k); }输出结果 原因&#xff1a; #define DF(a,b) (a2*b) int k DF((s1),(s-3)); //等效 int k DF((s1)2 * (s-3)); …

CRM软件排行榜靠前的都有哪些特点?

CRM软件是企业管理客户关系的重要工具&#xff0c;它可以帮助企业提高销售效率、增强客户满意度、提升市场竞争力。在众多的CRM软件中&#xff0c;排名靠前的CRM软件有哪些&#xff1f; 1、功能全面 Zoho CRM提供了从销售、营销、客服到AI人工智能、BI数据分析再到定制开发等…

Dockerfile 使用教程

1.Dockerfile 1.1 什么是Dockerfile Dockerfile可以认为是 Docker镜像的描述文件&#xff0c;是由一系列命令和参数构成的脚本 。主要作用是 用来构建docker镜像的构建文件 。 通过架构图可以看出通过DockerFile可以直接构建镜像 1.2 Dockerfile解析过程 构建镜像步骤&#xf…

Java中的Reference

1. 常用四种引用 快速记忆法&#xff1a;“硬(俗称的强引用) --> 软(SoftReference) --> 弱(WeakReference) --> 虚(PhantomReference)” 此处将常说的“强引用”记忆成“硬引用”可以对应到次席的“软引用”&#xff08;反义词&#xff1a;硬-软&#xff09;这样更容…

ExpressLRS开源代码之框架结构

ExpressLRS开源代码之框架结构 1. 源由2. Arduino应用框架3. ExpressLRS应用框架4. 硬件设计框架4.1 单天线4.2 双天线单PA4.3 双天线双PA 5. 应用软件设计6. 参考资料 1. 源由 最近为了理解《ExpressLRS开源之基本调试数据含义》&#xff0c;做了一些源代码的研读。 概念、文…

Nginx基础+高级(2022版):待更新

1. 文章说明 说明&#xff1a;目前讲的是第一部分nginx核心技术篇&#xff0c;后需篇章会以第一部分为核心技术篇为基础来展开深度讲解&#xff0c;详情关注后续课程的发布。 2. 介绍和准备环境 2.1 介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器&#xf…