36_2 On Chip Bus —— AXI总线介绍
目录
1.AXI总线介绍(读2写3)
1.1流量控制
1.2 AXI signals 信号线
1.3重点信号线的介绍
1.4原子操作——让读改写一套操作 永远是一个master对一个slave
1.5AXI BURST Boundary——一个burst不能跨4k boundary,master要保证
1.6读/写通道是独立的,但读/写操作的内部的2/3个通道内部呢?——读/写操作通道的时序关系
2.AXI的高级特性
2.1为什么AXI能够提高传输效率—CMD Outstanding
2.2 AXI OUT-of-Order —— 因为有WID,请求顺序和回的数据顺序可以不一致
2.3 unaligned Transfers 不对齐的传输
2.4 IP使用的实例
2.5 AXI系统示例
3. AHB/AXI总线对比
4. BUS Arbiter/ BUS Matrix/ BUS NOC
5.AXI效率提升
5.1 效率/latency
5.2AXI的IP设计的考量
6.其他片上总线
1.AXI总线介绍(读2写3)
读——AXI使用基于VALID READY的握手机制数据传输协议,传输源端使用VALID表明地址/控制信号、数据是有效的,目的端使用READY表明自己能够接受信息。
读也存在response——因为会有数据的返回——所以会把response信号绑定在读出的数据中传回 写——因为没有回传的通道——需要增加一条response的通道
1.1流量控制
读就是——address channel 配合 data channel ! slave 的ready/valid信号,反馈给master,让master知道传输是否成功。
写——三个channel配合
1.2 AXI signals 信号线
1.写 控制/地址通道 信号——理解看中文的!
2.写 数据通道 信号
3.写 响应通道 信号
4.读的信号——http://t.csdn.cn/YFrfr——地址通道/数据通道
1.3重点信号线的介绍
1.Buffer/Cache
cacheable ——进不进cache、bufferable——进不进buffer...
reserved 说明功能有冲突,所以不能用——比如你要allocate,就必须要cache了或buffer了,否则没办法读/写!
2.BRESP[1:0]——写响应
比如没有这个地址——可以返回decerror 给 master。slave——slave的错误
1.4原子操作——让读改写一套操作 永远是一个master对一个slave
原子操作:一份资源,两份进程需要访问这个资源——其中一个进程先访问-如地址A——判断资源还有没有——有,进行操作read—modify——write——将A地址的有修改,写回去为A没有资源了——等到一个进程用完了——才会再把A中标志位改为资源“有” 所以共享的资源——在系统的某一个地址里面就会存储信息——表明这个资源还存在几份——这样就能保证数据的读改写都是一个进程操作的
Semaphore详解
bus为了支持软件进程的行为——因此定义了两种行为:Locked access 和 Exclusive access ①Locked access——锁定的进程完成了读改写整个流程(lock write - modify - unlock write)——进程才会把bus占有释放掉——别的进程才能抢到锁 ②Exclusive access——不锁死总线——把read-modify-write这个流程的保证工作交给slave——而不是锁死总线——如果slave 在Exclusive状态下,又有别的master想操作slvae,回复rsponse一个操作不成功!
当地址还没有被锁定——地址就会回复exclusive ok——exclusive操作成功! 但是当master访问,A地址已经被上一个slave锁定的时候——此时slave回复ok——表明失败了
比喻总结:两人之间不允许第三者插足——不然都不知道孩子是谁的。为了保证整个读改写操作都是master A操作的,有两种方案——①Locked access的方式,直接锁定总线 ②Exclusive access的方式,让slave访问标志位判断是否已经被占用了,如果是——返回ok表明已经被Exclusive access
read——读
1.5AXI BURST Boundary——一个burst不能跨4k boundary,master要保证
1.6读/写通道是独立的,但读/写操作的内部的2/3个通道内部呢?——读/写操作通道的时序关系
读存在的顺序—ARVALID、ARREADY 均有效—— RVALID才能有效
写存在的顺序—data必须写完——才能回BVALID——写响应有效信号 W的 Address channel 和 W的 data channel 是没有关系的——即写数据的地址通道和数据通道之间完全没有关系! 实际应用中还是会先发地址——再发数据
2.AXI的高级特性
2.1为什么AXI能够提高传输效率—CMD Outstanding
如果只是顺序的指令,那效率是无法提升的
之前学过——DDR是存在bank interleave的!而AXI是能够配合上的——cmd outstanding
2.2 AXI OUT-of-Order —— 因为有WID,请求顺序和回的数据顺序可以不一致
如果ARID(master 发出来的信号)不同——可以不按顺序回数据——因为回数据的时候有RID(是和ARID对应的!)
2.3 unaligned Transfers 不对齐的传输
2.4 IP使用的实例
高地址map为row,所以user过来的地址即使在一个row,经过map也可以放到不同的bank,效率提升—— 多使用bank interleave——提升bus效率
2.5 AXI系统示例
虽然只有一组 读/写 通道,因为可以使用 2.1的CMD Outstanding,这时 读/写 就能看到一堆的控制信号,就能够实现ddr 的 bank interleave —— 意思是,ddr可以同时使用上他的多个bank 读写数据——既然一根AXI bus在通道上就可以发送 许多 连续的读写信号—— ddr就能够配合着进行bank interleave 准备许多的数据
3. AHB/AXI总线对比
①传输效率——AXI可能效率更高
②接口复杂度——AXI可能信号线更多,AHB信号线少一点——所以AXI的gate count接口数量会更大一点——但是对使用者来说——AXI的控制应该是更简单的,更不容易出bug——因为他的操作就是靠valid-ready的hand shank实现
③接口逻辑的频率——理论上AXI更高——order没有严格顺序要求(out of order)——假如timing不过,可以很容易的加寄存器,延迟几拍传输地址/控制信号过来没有关系——但AHB的一个burst中的地址信号需要是连续的——因此AXI很好做pipeline设计,可以做到更高的速度
4. BUS Arbiter/ BUS Matrix/ BUS NOC
总线上有多通道
AXI NOC Components
举例——两省之间修高速公路,不会只修一条多车道的公路——是做很多的高速公路网络串起来的——mater分布的位置不同、网络拆开效率才会高、速率不会有瓶颈
5.AXI效率提升
5.1 效率/latency
burst-length不是越长越好——有可能导致real-time的设备死机!
5.2AXI的IP设计的考量
6.其他片上总线
36_2 On Chip Bus —— AXI总线介绍相关推荐
- AMBA、AHB、APB、AXI总线介绍和对比
一.引出 研究STM32H7的总线系统,对AXI.AHB.APB.ASB有点兴趣,于是去简单了解了一下,总结如下: 说到AXI.AHB.APB.ASB就得先说AMBA(Advanced Microco ...
- Spring Cloud Bus 消息总线介绍
作者 | 洛夜 来源 | 阿里巴巴云原生公众号 在 Spring 生态中玩转 RocketMQ 系列文章: <如何在 Spring 生态中玩转 RocketMQ?> <罗美琪和春波特 ...
- 干货|Spring Cloud Bus 消息总线介绍
2019独角兽企业重金招聘Python工程师标准>>> 继上一篇 干货|Spring Cloud Stream 体系及原理介绍 之后,本期我们来了解下 Spring Cloud 体系 ...
- FPGA 常用AXI总线介绍
1.1 FPGA复位激励编写(方法三) 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA复位激励编写(方法三): 5)结束语. 1.1.2 本节引言 " ...
- AXI总线技术简介——ZYNQ PS和PL的互联技术
AXI总线技术简介--ZYNQ PS和PL的互联技术 1.AXI总线介绍 2.AXI协议通道介绍 3.ZYNQ芯片内部的AXI总线 4.常用AXI接口IP介绍 5. 多个AXI接口互联交互 1.AXI ...
- 十七、Bus消息总线
目录 1.Bus消息总线介绍: 2.使用消息总线实现配置自动更新 2.1.方案一架构图: 2.2.方案二架构图(常用) 3.对springcloud-config-server项目进行改造 3.1.修 ...
- (125)FPGA面试题-熟悉AXI总线吗,介绍AXI
1.1 FPGA面试题-熟悉AXI总线吗,介绍AXI 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-熟悉AXI总线吗,介绍AXI: 5)结束语. 1.1 ...
- AMBA3.0协议——AXI(Advanced eXtensible Interface)总线介绍
AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture ...
- 深度解读AMBA、AHB、APB、AXI总线
什么是AMBA? 现如今,集成电路芯片的规模越来越大.数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SoC设计中得到了广泛应用.在基于IP复用的SoC设计中,片上总线设计是最关键 ...
最新文章
- windows查看端口占用 windows端口占用 查找端口占用程序 强制结束端口占用 查看某个端口被占用的解决方法 如何查看Windows下端口占用情况...
- vim配置@year12
- 因虚而安全---vsftpd虚拟用户
- 2015.08.15冒泡排序
- python之路径拼接urljoin
- python守护多线程_Python守护进程(多线程开发)入门实例
- 在 Linux 操作系统中安装 Java
- 安装linux并卸载windows,如何在安装双启动后卸载 Windows 或者 Linux
- 前端学习(1124):思考题
- mysql 索引_MySQL之索引
- x86_64 arm制linux-gcc,arm-linux-gcc 制作
- 格力公布“酒后模式”手机专利 网友:喝多了可以光明正大不结账了
- java4android代码_Android逆向-java代码基础(4)
- IDEA中启动tomcat
- Visio 安装后提示 Dos 共享冲突
- 基于51单片机的LCD12864游戏机设计
- 【WebDriver】WebDriverWait 用法代码
- IBL(二) IBL中Specular 和Diffuse的计算(ReflectProbe 和 LightProbe)
- 柔性电子:大面积全纺织压力传感器用于检测人类移动和物理信号
- 如何在地图上批量标注经纬坐标