AXI (Advanced extensible Interface) 协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)4.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。
Increase / wrap / fix 是AXI协议中read/write data burst 传输的三种类型,burst传输就是master发1个request,但可以携带或需求(write request or read request) 比较大的数据量,这些数据量在总线上传输时需要占用多拍(多 beat)。
AxSIZE:每一个transfer中的byte个数,也就是传输的数据位宽。3bit,计算方式2的幂次方,最多128个byte (2^7),1024bit。如果AXI BUS比AxSIZE大,应该由interface来决定有效的byte lanes。写操作strb信号,读操作无操作。
AxLEN:burst传输的长度,transfer的个数。计算方式AxLEN + 1。wrap类型的burst只能是2,4,8,16。对于AXI3,incr类型的burst从1-16;对于AXI4,从1-256。
AxBURST:表示burst的type,决定burst传输过程中每拍的address。

比如一个request 128byte,数据位宽32byte,则 AxSIZE = 5,AxLEN =3,数据传输需要4拍。
假设request的 start address (也就是收到上级模块的地址) 为 0x80,Fixed burst type下每次的address相同。则4拍address 都是 0x80。而INCR burst type下,address依次增加,以SIZE的byte数为单位。则4拍address依次为 0x80 , 0xa0, 0xc0, 0xe0。INCR burst是最常见的burst方式。
WRAP burst:比如,从上级模块收到的start address 是0xc0,则4拍地址依次是0xc0 , 0xe0, 0x80, 0xa0,也即是地址 从中间开始,达到upper boundary后,又绕回到 lower boundary。
upper boundary和 lower boundary address的计算方式如下,其中 dtsize 是整个request的byte总数(2^ AxSIZE) * (AxLEN +1) ,128byte 。
dtsize = Number_Bytes * Burst_Length; // Maximum total data transaction size
Lower_Wrap_Boundary = (INT(addr/dtsize) * dtsize);
// addr must be aligned for a wrapping burst
Upper_Wrap_Boundary = Lower_Wrap_Boundary + dtsize;
WRAP burst的优势:比如 LLC 的cacheline size 为128byte,收到的request start address为 0xc0, len = 32byte,DDR 收到的依然是 len = 128byte的read request,但如果支持WRAP,那么当DDR 把0xc0 这32byte的数据传输回来的时候,LLC 就可以返回data 给上级模块了,而不必等到收齐 4 beat 数据。

WLAST/RLAST:表示一个transaction中的最后一个transfer,只W 和R 通道 有。
Aligned address 是 以 总线位宽 为对齐单位的,比如上述例子,address 需要 0x20 对齐

参考 https://blog.csdn.net/l471094842/article/details/92798620

Narrow transfer 窄传输,应用场景是write request。当master的位宽 (2^ AxSIZE) 小于 总线的数据位宽时,此时数据在总线上传输的拍数 依然是 AxLEN + 1,但每拍 总线位宽 只传输 (2^ AxSIZE)的数据,也就是有些 总线 lane是闲置的,那每拍 哪些lane闲置 由WSTRB (write strobes )来标示。
AXI4 Spec 对narrow transfer的表述如下:
When a master generates a transfer that is narrower than its data bus, the address and control information determine
which byte lanes the transfer uses:
• in incrementing or wrapping bursts, different byte lanes are used on each beat of the burst
• in a fixed burst, the same byte lanes are used on each beat.

The WSTRB[n:0] signals when HIGH, specify the byte lanes of the data bus that contain valid information. There is one write strobe for each eight bits of the write data bus, therefore WSTRB[n] corresponds to WDATA[(8n)+7: (8n)].
对应spec中的实例,总线位宽32 bit ,master发出的write request 位宽为8bit, AWSIZE = 0 (1byte), AWLEN=4,传输需要5beat。第1拍传输,WSTRB = 4’b0001 使用总线的lane0-7; 第2拍,WSTRB=4’b0010 …

参考 https://blog.csdn.net/gegeBaby/article/details/109780004

https://www.cnblogs.com/lybinger/p/12966692.html 这个页面 对 wrap 的地址描述 是错误的。

AXI4 Increase burst / wrap burst/ fix burst 和 narrow transfer相关推荐

  1. Burst trie(爆炸式字典树)解读

    burst trie(爆炸式字典树) Burst trie组成介绍 burst trie有三个不同的组成部分,一组records,一组containers,还有一个access trie. recor ...

  2. chirp和tone burst信号激励

    chirp和tone burst信号激励 %% tone burst信号激励 clear f=100e3;%信号频率 fs=5e6;%采样频率 cycle=5;%周期数 t=120e-6;%截取时长n ...

  3. 关于sdr sdram的full page burst

    关于SDRAM的full page burst //-------------------------------------------------------------------------/ ...

  4. client-go QPS、Burst和令牌桶

    一.背景 本文基于client-go@v0.16.4 之前业务中有这么一段伪代码: func batchCreateVmi(ds []UserData) {wg := &sync.WaitGr ...

  5. 赛灵思的block memory generator用户手册pg058翻译和学习(AXI4 Interface Block Memory Generator Feature Summary)

    (1) 读赛灵思IP手册,block memory generator Product Guide,即内存memory系列(如RAM ROM等)的手册.本期介绍AXI4 Interface Block ...

  6. 带你快速入门AXI4总线--AXI4-Full篇(3)----XILINX AXI4-Full接口IP源码仿真分析(Master接口)

    写在前面 接slave接口篇,本文继续打包一个AXI4-Full-Master接口的IP,学习下源码,再仿真看看波形. 带你快速入门AXI4总线--AXI4-Full篇(2)----XILINX AX ...

  7. AXI总线学习(AXI34)

    AXI总线学习 AXI协议的主要特征 主要结构 通道定义 读写地址通道 读数据通道 写数据通道 写操作回应信号 接口和互联 寄存器片 基本传输 Read burst Overlapping read ...

  8. AMBA-AXI协议

    一.AXI协议概述 1.AXI接口 AXI是一个接口规范,定义IP的接口,而不是互联本身. 只有两种AXI接口类型,主机(Manager)和从机(Subordinate),接口类型对称,所有的AXI连 ...

  9. 高级可拓展接口(Advanced eXtensible Interface, AXI)

    目录 1. 功能介绍 2. 架构 2.1. 单主单从 2.2. 多主多从 3. 信号描述 3.1. AW 3.2. W 3.3. AR 3.4. R 3.5. B 4. 逻辑设计 4.1. 单通道传输 ...

  10. 微处理器重要技术之——片上总线(AXI)

    目录 AXI AXI 特点 AXI 信号 AXI 协议 主机和设备的握手过程 突发传输 读.写响应 乱序机制 原子化访问 AXI 目前 AXI4 支持三种 AXI 总线: AXI4:(For high ...

最新文章

  1. 如何用matlab读取npz文件,Python Numpy中数据的常用的保存与读取方法
  2. java jtabbedpane 关闭_JTabbedPane实现关闭按钮 | 学步园
  3. 用vbs自动切换不同网段的IP
  4. ncl 添加点shp文件_气象编程 | NCL高效快速精准提取不规则区域内的格点数据
  5. 云服务器的优点和缺点_为什么要使用云计算? 的优点和缺点
  6. SVN使用过程中遇到的一些问题
  7. Rx:4-[编外篇] .NET4里的Concurrent Collections
  8. 滚动悬挂 js处理,滚动到一个位置限制某个div
  9. matlab循环遍历数组_MatLab简易教程 #8 循环
  10. PJ可能会用到的动态规划选讲-学习笔记
  11. ELK之LogStacs
  12. paip.银行卡号的效检
  13. 简单实现滑动门效果css或js+css
  14. 零信任嵌入式安全沙箱技术,企业应用软件的技术底座
  15. gitbub.com设置协作者提交代码步骤
  16. 直播讲座:时序数据库 Apache IoTDB 的核心技术与应用
  17. char,varchar,nchar,nvarchar的区别
  18. 新支点“B4G+5G”聚合路由器多链路图传技术巩固安防监控行业
  19. python 词汇表_使用Counter构建词汇表
  20. 开发错题集(陆续更新...)

热门文章

  1. SpringBoot中配置文件
  2. 金惟纯《人生只有一件事》读书笔记
  3. Exception in thread main java.lang.NoClassDefFoundError: org/w3c/dom/Eleme
  4. webflux excel文件上传:java.io.IOException: Unable to read entire header; 0 bytes read; expected 512 byte
  5. 魔兽TBC常用WA字符串收集
  6. 一文讲清跨境S2B2C模式及线上品牌/新零售品牌实战打法
  7. Blender2.8以及2.9版本 摄像机设置方式笔记
  8. 3GPP 5G 常用协议规范下载整理
  9. 知识图谱-实体消歧(语义消歧)
  10. 系统性谈谈软件可靠性——第2讲:软件可靠性度量及分配