AMBA-AXI(一)burst 传输-INCR/WRAP/Fixed
💡Note:
本文是根据AXI协议IHI0022F_b_amba_axi_protocol_spec.pdf(issue F)整理的。
主要是分享AXI3.0和4.0部分。
如果内容有问题请大家在评论区中指出,有补充或者疑问也可以发在评论区,互相学习🙌
Burst 传输
跟burst相关的信号有AxSIZE, AxLEN, AxBURST,编码如下:
AXI对burst传输方式的要求:
AXI3.0中incr burst的burst length最大为8,AxLEN为4bit信号;在AXI4.0中,incr burst的burst length为256,AxLEN为8bit信号。
对于其他类型的burst传输(fixed,wrap),burst length最大16.
AXI4.0(H suite)中说,对于非INCR burst,支持1-16 burst length,但后面又说wrap传输只支持2、4、8、16 burst length。
Burst length不能超过4KB边界。
Burst 传输不能被提前终止,即使发生了传输错误。在写中,发生错误,也还要将写传输周期完成,master可以将wtrb拉低。在读的时候,传输周期也要完成,但是master可以discard data。
对于device设备,读操作发生错误,会怎么样呢?Device memory一般是read-sensitive的,读了之后,device中的设备就被移除了,如果我们把数据discard,这些数据就丢失了。所以spec中建议:a Manager must use a burst length that exactly matches the size of the required data transfer.
在AXI4.0中,对于一个non-modifible的INCR burst,并且她的长度大于16,也可以把它转换成多个小的burst。虽然是non-modifiable,也可以改变,但只能改变Axlen和响应的地址,其他的控制信号不能改变。
要注意,AxBURST, AxLEN, AxSIZE这些信号,在Axvalid, Axready同时为高的那一个周期内被采样一次,而不是每次transfer都采样。RDATA/RRESP是每个transfer都会返回,而BRESP是一个burst只返回一次。
对于exclusive access ,还有一些特殊的要求,见exclusive 部分。
Wrap 操作
wrap的burst length为2、4、8、16,没有1.(如果是1的话,那么就是fixed address了)
Wrap的地址要跟transfer size对齐,比如地址位宽是64bit,transfer size是32bit,那么地址要跟0x4对齐,不能是0x1,0x2,0x3这种。
要知道Wrap boundary address是什么?Wrap boundary是小于等于传输的起始地址,它跟burst的byte size(burst length*transfer size)对齐。比如AxSIZE为2,也就是4个byte的transfer size,burst length为4,所以这个burst的transfer size 为0x10,如果传输是从0x14开始的,那么每次transfer的起始地址是0x14->0x18->0x1c->0x10,会返回到0x10,这个0x10就是wrap boundary address。(始终要记住,地址是跟transfer size对齐,也就是跟0x4对齐)
Wrap传输一般用在cache access中。
AxBURST[1:0]==0b10表示wrap传输
在非对齐写访问中,比如transfer szie是4byte,数据位宽是8byte,那么地址也要跟transfer size对齐。
INCR读写example
上图是读操作,ARVALID和ARREADY同时有效的时候,采样相关的控制信号,下一个周期ARVALID和ARREAD拉低,在一次burst传输中,控制信号只采样一次。
上图读操作的burst length是4,4次transfer,从图中可以看出,每次transfer 都要回一个rresp,这跟写不同,写只回一次bresp;最后一次transfer的时候,RLAST拉高一个cycle。
写跟读的不同是写的bresp只回一次。在所有数据都传输结束之后会resp。
问题:如果slave那边在burst传输过程中,buffer满了,发生slave error,slave会提前发送resp告诉master吗?
猜测:应该不会,因为即使发生错误,也要把burst传输完成。但也有可能会提前返回resp,这样可以告诉master,后面的数据可以只发0就行了,把wstrb都拉低。
相关文章:
AMBA-AXI(一)burst 传输-INCR/WRAP/Fixed
💡Note:本文是根据AXI协议IHI0022F_b_amba_axi_protocol_spec.pdf(issue F)整理的。主要是分享AXI3.0和4.0部分。如果内容有问题请大家在评论区中指出,有补充或者疑问也可以发在评论区,互相学习ὤ…...
Java知识复习(八)Spring基础
1、什么是Spring框架? Spring :是一款开源的轻量级 Java 开发框架,旨在提高开发人员的开发效率以及系统的可维护性 2、Spring、SpringMVC和SpringBoot的区别 Spring主要指Spring Framework,就是指如上图所示的各项功能模块Spr…...
WuThreat身份安全云-TVD每日漏洞情报-2023-02-27
漏洞名称:OTFCC 缓冲区错误漏洞 漏洞级别:中危 漏洞编号:CVE-2022-35060,CNVD-2023-11996,CNNVD-202209-1527 相关涉及:OTFCC OTFCC 漏洞状态:EXP 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD_IDTVD-2022-23648 漏洞名称:MuYucms 存在任意代码执行漏洞 漏洞级别:高危…...
上海交大陈海波教授、夏虞斌教授领衔巨作上市:《操作系统:原理与实现》
❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹。2022年度博客之星评选TOP 10🏆,Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作…...
dpi数据接入shell脚
原文:dpi数据接入shell脚本_weixin_34416754的博客-CSDN博客 ##############从ftp服务器拿数据文件 #!/bin/bash #获取感知优良率DPI数据 #DCN服务器信息 uSichuan pS988188# ip137.192.5.53 #获取日期,根据日期抓取文件 Tdate -d "3 days ago&…...
Easyrecovery数据恢复软件工作原理及使用介绍教程
Easyrecovery是一款强大的数据恢复软件,它专门解决磁盘数据恢复问题。在计算机世界里,数据丢失经常是一件令人头疼的事情,但是有了Easyrecovery,您可以放心大胆地享受数据备份和恢复的乐趣。EasyRecovery使用Ontrack公司复杂的模式…...
【面试题】社招中级前端笔试面试题总结
大厂面试题分享 面试题库后端面试题库 (面试必备) 推荐:★★★★★地址:前端面试题库typeof null 的结果是什么,为什么?typeof null 的结果是Object。在 JavaScript 第一个版本中,所有值都存储在…...
设备运行状况不能远程手机查看。难道就妥协吗?为何不试试这个办法
一、背景 随着国家经济结构逐步调整,纺织行业自动化、智能化水平逐步提高,业内竞争程度也将加大;整个市场变化快,并呈现出智能化、通用化、网络化、复杂化的新发展趋势。客户订单小批量、个性化、快速交货的特点越来越明显&#…...
重新认识 Java 中的内存映射(mmap)
mmap 基础概念 mmap 是一种内存映射文件的方法,即将一个文件映射到进程的地址空间,实现文件磁盘地址和一段进程虚拟地址的映射。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页到对应的文…...
224. 基本计算器
224. 基本计算器给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如 eval() 。 示例 1:输入:s "1 1"输出:2示例 2&#…...
微信小程序通过 node 连接 mysql——方法,简要原理,及一些常见问题
前言 博主自己在22年夏天根据课程要求做了一个小程序连接阿里云服务器的案例,在最近又碰到了相应的需求。 原参考文章:微信小程序 Node连接本地MYSQL_微信小程序nodejs连接数据库_JJJenny0607的博客-CSDN博客 ,还请多多支持原作者! 第二次…...
uni-app项目搭建和代码托管
文章目录一、项目搭建步骤一、HBuilder X 创建uniapp项目步骤二、开启微信小程序服务端口步骤三、把项目运行到微信小程序步骤四、解决警告二、使用Git管理项目2-1、本地管理2-2、托管到码云一、项目搭建 步骤一、HBuilder X 创建uniapp项目 步骤二、开启微信小程序服务端口 步…...
win10+python3.6+cuda9+pytorch1.1.0安装
为了让torch可以使用显卡GPU加速,需要安装对应版本的cudatoolkit和pytorch。这里我的nvidia显卡驱动是9.1版本,只能安装cudatoolkit9。 一般支持gpu加速的显卡大部分都是英伟达nvidia系列,都自带了nvidia驱动,所以不需要安装nvidi…...
【2023】某python语言程序设计跟学第二周内容
本文说明: 案例内容为北理工python语言程序设计课程,如有不妥请联系! 目录蟒蛇绘制案例:执行结果:代码分析:举一反三:绘制一个五角星图案执行结果:turtle库根据案例简单说明…...
spring源码篇——BeanDefinition的注册
spring-framework 版本:v5.3.19 文章目录注解方式(AnnotationConfigApplicationContext)AnnotationConfigApplicationContext#registerAnnotatedBeanDefinitionReader#doRegisterBeanBeanDefinitionRegistry#registerBeanDefinitionAnnotatio…...
virtualbox7虚拟机中安装苹果macOS big sur系统详细教程
第1步,在 Windows 10/11 PC 上启用虚拟化。 现在的电脑一般都默认开启虚拟化技术了。 如果你遇到一些报错,比如收到错误消息“无法在虚拟机上打开会话”,可以查看 如果没有遇到问题,可以直接进入到第二步。 第2步,在…...
用spectralayers 简单去一下人声做个伴奏
最近有个同事说有个工作要一个歌的伴奏不会下载问我能不能给下一个。问题是我五音不全,也不咋关注伴奏这方面的事儿,然后巧了,当天晚上就有个网上的大哥在群里聊天的时候说有个去人声比较给力的软件,我马上给要来了。 软件叫啥sp…...
高峰对话|深度探讨「多云与边缘」
2022 年 12 月,分析师 Zeus Kerravala 与 VMware 通信运营商和边缘事业部高级副总裁兼总经理 Sanjay Uppal 进行非常有启发性的谈话,分享了科技行业领导者的见解。 二位主要围绕以下主题进行探讨: 📍 如何定义多云,以…...
开发手册——一、编程规约_2.常量定义
这篇文章主要梳理了在java的实际开发过程中的编程规范问题。本篇文章主要借鉴于《阿里巴巴java开发手册终极版》 下面我们一起来看一下吧。 1. 【强制】不允许任何魔法值(即未经定义的常量)直接出现在代码中。 反例:String key "Id#…...
Sandstorm 建设者亮点——2023 年 2 月
隆重推出 Sandstorm 建设者亮点——2023 年 2 月版,这是由最厉害的 Sandstorm 社区制作的独一无二的 NFT 系列。 从突破性的兔子机器人到神奇的蒸汽朋克海盗船,Sandstorm 建设者亮点 NFT 系列展示了一系列独一无二的创作。 19 项新资产将添加至 Sandstor…...
MyBatis快速入门
创建表(自行完成)创建模块,引入坐标(1).进入mybatis官网:MyBatis中文网按步骤进行添加坐标先添加mybatis依赖然后手动添加mysql驱动junit单元测试坐标:logback坐标:用的时候直接复制…...
Mysql的一些提权方式(mysql提权、UDF)
目录 bash命令提权 必要条件 实验 UDF提权 什么是UDF 必要条件 实验 手动测试...
【2023】DevOps、SRE、运维开发面试宝典之Docker相关面试题
文章目录 1、docker的工作原理是什么2、docker的组成包含哪几大部分3、讲一下镜像的分层结构以及为什么要使用镜像的分层结构?4、简单描述一下Dockerfile的整个构建镜像过程?5、Docker的四种网络类型?6、Docker跨宿主机通讯的方式1、docker的工作原理是什么 docker是一个Cl…...
圣杯布局的实现方式
1.什么是圣杯布局? 左右盒子固定,中间盒子自适应 2.实现方式 (1)flex布局 思路:左右盒子给固定的宽高,中间盒子flex:1 <!DOCTYPE html> <html lang"en"> <head> <met…...
RecastDemo用法
这里写自定义目录标题recastnavigation介绍recastnavigation的内容RecastDemo安装RecastDemo介绍可配置参数合理的创建标题,有助于目录的生成如何改变文本的样式生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个…...
IIC总线式驱动开发(mpu6050)(二)
目录 六、I2C总线二级外设驱动开发方法 七、I2C总线二级外设驱动开发之名称匹配 1. i2c_register_board_info 2. i2c_new_device:明确二级外设地址的情况下可用 3. i2c_new_probed_device 八、I2C总线二级外设驱动开发之设备树匹配 六、I2C总线二级外设驱动开…...
盘点一下那些远程办公的神仙公司
其实远程办公已经有50多年的历史了,这几年,这种工作方式越来越受到大家的喜欢,对于员工来说,工作效率可以大幅提高,节省下来的通勤时间和成本,有更多的时间花在工作上。可以更好的平衡工作与生活。对于公司…...
Spring Cloud Alibaba全家桶(四)——微服务调用组件Feign
前言 本文小新为大家带来 微服务调用组件Feign 的相关知识,具体内容包含什么是Feign,Spring Cloud Alibaba快速整合OpenFeign,Spring Cloud Feign的自定义配置及使用(包括:日志配置、契约配置、自定义拦截器实现认证逻…...
安装pytorch
一、在anaconda中创建虚拟环境 打开Anaconda Prompt创建一个虚拟环境。比如要创建一个名字为pytorch的虚拟环境,可以如下输入。其中python3.7指定该虚拟环境的python版本号。 conda create -n pytorch python3.7 二、进入新创建的虚拟环境。 创建好虚拟环境后&a…...
自动化测试 Appium之Python运行环境搭建 Part2
环境部署 1、安装Android SDK 安装好后,配置ANDROID_HOME环境变量,设置为Android SDK安装路径(例中:D:\Program Files (x86)\Android\android-sdk) 2、安装其它SDK相关软件包 安装好Android SDK后,选择打开Android SDK Manager…...
wordpress批量倒入txt/营销网站做的好的公司
如果你装了python2.7, python3.5, 在两个版本的兼容问题上折腾很久了, 通过修改环境变量, 能够出现下面的界面, 恭喜你, 暂时解决了一些问题, 哈哈 接着, 当你想在python3.5下使用pip install XXXX时, 总是出现下面这个界面 也不算什么事情, 大部分人可以通过升级pip来解决这个…...
网上找事做那个网站靠谱/开电商需要多少钱
第六章 自动化测试进阶实战篇幅 1、自动化测试实战进阶之网页单选性别资料实战 简介:讲解使用selenium修改input输入框和单选框 2、自动化测试之页面常见弹窗处理 简介:讲解使用selenium处理页面弹窗,alert和comfirm 弹窗常用方法(需要先切换…...
大丰做网站费用/百度推广入口官网
CSS3属性之五:text-overflow 语法: text-overflow : clip | ellipsis 取值: clip:不显示省略标记(...),而是简单的裁切。ellipsis:当对象内文本溢出时显示省略标记&#…...
克拉玛依住房和建设局网站/seo的主要工作内容
2793 教官的游戏 时间限制: 1 s空间限制: 2000 KB题目等级 : 钻石 Diamond题解查看运行结果题目描述 Description有N个学生刚吃完饭,准备出食堂。 国防学校有个规矩:必须2人一排或3人一列离开。 两个教官A,B轮流取2或3人,谁先取完…...
架设网站需要什么/免费建站免费网站
建议114:不要在构造函数中抛出异常 Java异常的机制有三种: Error类及其子类表示的是错误,它是不需要程序员处理也不能处理的异常,比如VirtualMachineError虚拟机错误,ThreadDeath线程僵死等。RunTimeException类及其子…...
西宁做网站的有吗/千锋教育介绍
变量 一个变量只不过是一个供程序操作的存储区的名字。在 C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局。范围内的值可以存储在内存中,可以对变量进行一系列操作。 1.1变量的声明 [访问修饰符] 数据类型 变量名初始化…...