AXI中的wrap burst
协议:AMBA® AXI and ACE Protocol Specification ISSUE H.c
AXI has the following rules governing the use of bursts:
• For wrapping bursts, the burst length must be 2, 4, 8, or 16.
• A burst must not cross a 4KB address boundary.
• Early termination of bursts is not supported.
1、4KB问题
关于axi协议里面burst的4k问题https://blog.csdn.net/hit_shaoqi/article/details/53245521
2、burst_length=2、4、8、16**
start_address:Axaddr,The start address that is issued by the Manager.
Number_Bytes:= 2^AxSIZE,The maximum number of bytes in each data transfer.
Burst_Length = AxLEN + 1
Aligned_Address = (INT(Start_Address / Number_Bytes)) × Number_Bytes
Address_1 = Start_Address
Wrap_Boundary = (INT(Start_Address / (Number_Bytes × Burst_Length)))× (Number_Bytes × Burst_Length)
Address_N = Wrap_Boundary + (Number_Bytes × Burst_Length)
Address_N = Start_Address + ((N – 1) × Number_Bytes) – (Number_Bytes × Burst_Length)
3、example
3.1、
addr=ff0,size=4,burst_length=8.
Aligned_Address=INT(ff0/2^4)x2^4=ff0
Address_1=ff0
Wrap_Boundary=INT(ff0/(10x8))X(10x8)=f80
Address_N=f80+80=1000
Address_2=f80
Address_3=f90
Address_4=fa0
Address_5=fb0
Address_6=fc0
Address_7=fd0
Address_8=fe0
地址正好处于4k边界。
3.2、
addr=ff0,size=4,burst_length=5.
Aligned_Address=INT(ff0/2^4) x 2^4=ff0
Address_1=ff0
Wrap_Boundary=INT(ff0/(10x5))X(10x5)=ff0
Address_N=ff0+50=1040
地址跨越4k边界。
3.3、
addr=ff8,size=4,burst_length=16.
Aligned_Address=INT(ff8/2^4) x 2^4=ff0
Address_1=ff0
Wrap_Boundary=INT(ff0/(10x10))X(10x10)=f00
Address_N=f00+100=1000
地址正好处于4k边界。
3.4、
特殊对齐地址0
addr=0,size=4,len=f,burst_length=16
Aligned_addr=INT(0/2^4)x2^4=0
Address_1=0
Wrap_boundary=INT(0/(10x10)x(10x10))=0
Address_16=f0
4、仿真测试
constraintAligned:Access != ACCESS_EXCLUSIVE,StartAddress % BurstSize == 0;
AXI 当burst=wrap且为非独占访问时,只接受与size对齐的地址。BurstSize=1 << Size,StartAddress % BurstSize == 0。
Size BurstSize
0 1(1<<0)
1 2(1<<1)
2 4(1<<2)
3 8(1<<3)
4 0x10(1<<4)
5 0x20(1<<5)
6 0x40(1<<6)
AXI中的wrap burst相关推荐
- Mina中的wrap snark
1. 引言 前序博客有: Mina技术白皮书 所谓wrap snark,是将Tick snark(Mina代码中称为step proof)包裹为Tock snark(Mina代码中称为wrap pro ...
- 如何在html中选择wrap,使用jQuery中的wrap()函数操作HTML元素的教程
wrap()函数用于在每个匹配元素外部包裹指定的HTML结构. 与该函数相对的是unwrap()函数,用于当前匹配元素的父元素(只移除父元素,其内部节点全部保留). 该函数属于jQuery对象(实例) ...
- GCC中通过--wrap选项使用包装函数
在使用GCC编译器时,如果不想工程使用系统的库函数,例如在自己的工程中可以根据选项来控制是否使用系统中提供的malloc/free, new/delete函数,可以有两种方法: (1). 使用LD_P ...
- 如何在html中选择wrap,jQuery wrap()方法怎么用?
jQuery wrap()方法怎么用?下面本篇文章给大家介绍一下jQuery wrap()方法的使用.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. jQuery wrap()方法怎 ...
- Flutter中的Wrap
我们在flutter中使用能够包含多个child的widget的时候,经常会遇到超出边界范围的情况,尤其是在Column和Row的情况下,那么我们有没有什么好的解决办法呢?答案就是今天我们要讲解的Wr ...
- 如何在html中选择wrap,jQuery - .wrap() 使用HTML包裹选取的元素
jQuery .wrap() 使用HTML包裹选取的元素 .wrap() 使用HTML包裹选取到的每个元素 为方便链式操作,这里返回jquery对象 使用以下代码实现给 外包裹一段HTML:html& ...
- AXI中READY与VALID之间握手关系
读通道 单箭头为可以,双箭头为必须满足. 1.主机在发起ARVALID之前必须不等待从机发起ARREADY,即主机发起ARVALID不依赖ARREADY: 2.从机可以等待(也可以不等待)主机发起AR ...
- Linux中usb设置burst,详细解读Linux系统中ntpq命令的使用
命令 "ntpq -q" 输出下面这样的一个表: remote refid st t when poll reach delay offset jitter =========== ...
- html中word wrap,HTML的断行word-wrap: break-word 和 word-break: break-all 到底有啥区别?
1做项目改bug的时候,遇到过好多次,要么是文本超出文本区域,或者单词太长(一般是url链接中的一些鬼),把装它的标签强制撑大,导致一些响应式问题.除此之外,还有很多问题,每次都是恍然醒悟,然后又在网 ...
- Linux中usb设置burst,Re: 关于IMX6UL第二个USB接口在linux驱动的问题
usb2作为host,其ID已经直接接地,VBUS悬空,设备采用外部供电方式.设备树中加载了usb2的驱动 usbotg2: usb@02184200 { compatible = "fsl ...
最新文章
- c#_where关键字
- Tungsten Fabric SDN — 报文转发流程
- java jvm调优面试题_【Java面试题第一期】有没有jvm调优经验?调优方案有哪些?...
- Spark UDF变长参数的二三事儿
- 计算机高层应用,计算机网络中高层应用.ppt
- java 语法 泛型_java-解密泛型语法
- 谈判如何在谈判中_如何避免通过工资谈判把钱留在桌上
- 数字公式识别的学习笔记(legacy)
- Movie播放Gif,完美实现屏幕适配
- 图像局部特征(十七)--DenseFeature
- Matlab中使用varargin来实现参数可变的函数
- 【翻译】BCGControlBar Professional Edition for MFC v 29.0重大更新
- “声波识别”可用于购物
- [读书] 《未来世界的幸存者》关于熵减的心得
- 中国人和犹太人做生意的区别
- 10个简单的放松运动
- DongDong认亲戚 并查集+STL
- Dockerfile说明
- 微信小程序之基于canvas绘制高铁线路图
- Android综合教务管理系统