AXI4协议的物理模型
AXI4的物理传输模型
1、AXI4的组成部分
首先说一下文章是学习《基于AXI4的IP核互联的设计与验证》莫锦辉的学习笔记。文中大部分的知识都是来源于这篇论文,这里学习以便理解AXI4协议。
AXI4是由五个通道构成的:写地址、读地址、写数据、读数据和写数据响应。主机和从机的概念具有区分。每个通道的作用的在后面的传输流程中会有具体的介绍。这里的通道应该是一些小型总线。具体的信号在设计中会偶具体的介绍。
2、AXI4的数据传输流程
AXI4的数据传输采用的是猝发机制,所谓猝发,就是一方发出申请,等待另一方回答。回答后就传输数据。类似于打电话,有一个人打,一个人接。打的人要等待接电话的,接电话的要有人打电话。这里比较特殊的就是写数据响应的发出。这个信号是用来确认主机的数据写入是否成功。但是没有从机的写数据响应,因为主机的数据用户可以直接访问来验证。这里也是区分主从机的一个方法:主机为直接操控、从机为黑盒子。
五个通道的概念解释了AXI4传输数据的基本概念,但是每个通道内部的传输方法还是需要补充的。这里就需要考虑AXI4通道的握手协议。
这里做个简单假设,如果每个通道就是一个时钟线和数据线,也就是IIC协议。这样其实在一个从机的时候是可以工作的。每个通道都可以传输数据。显然,对于需要实现多个设备之间的传输的AXI4总线协议是不够的。这里需要一个可以表示当前通道的工作状态的信号。由于传输的对象只有两个:主机和准备连接的从机,所以需要两个信号来标注。主机的信号为VALID,从机的信号为READY。两个信号均采用高电平有效。即高电平时表示一方准备完成。对于数据位INFORMATION的操作也是随着状态变化而变化的。
VALID有效,数据位开始占用。此时数据已经保持在数据线内。READY有效,数据开始传输。
对于有五个通道的AXI4协议来说,每个通道之间的握手信号是有一定的约束的。例如,在写操作中,主机写地址就绪,写地址有效,写数据就绪这三个信号没有时间依存。而对于从设备必须等待确认写地址有效和写地址就绪后握手成功和写数据有效信号和写数据就绪信号建立连接后再确认写回应有效信号和写数据就绪信号是否建立连接。这段话比较绕,简单理解就是要确保握手成功不违背通道传输的规则。不可能写数据传输握手还没有成功写响应握手就成功了,这违背了写响应的规则。同样的道理也在地址握手和数据握手之间体现。
3、AXI4的传输流程
读猝发传输:
一次读猝发传输四个数据的例子
主机发出读地址为A的请求-----读地址通道处于A地址占用------从机响应数据传输。
这个流程就像主机利用读地址构建了一个单一的单向通道,写数据通道的握手成功与否决定了数据传输与否。这样的优势在于可以选择不同的设备构建临时通道。
显然,可以利用通道的临时性实现两个临时通道的交替进行。这说明从机是支持存储两个甚至更多的地址的。这个功能落到具体的设计就需要一个缓存器来解决了。后面应该会有这部分的具体内容。
写猝发传输:
就是将读猝发的对象对调然后加上写响应。在通道上的原理就是这么简单,但是对于主从机的收发结构来说这里还是有一个比较复杂的内容的。后面可能会介绍这个主机和从机所需的结构。
4、AXI4的小结
AXI4传输的模式是标准的,传输的模式也是多种多样的。其相对于IIC的特点是将数据线拆分为两个通道。相对于UART的优点是加入了时钟线而不需要主机通过人工的方式加入传输波特率。相对于SCCB协议的优点是将地址传输和数据传输分立进行以提高效率。这四种传输协议都有其各自的适用范围。
AXI4协议的物理模型的更多相关文章
- AXI协议(一)
最近弄Zynq,不懂AXI协议Zynq很难玩儿的转.这些笔记主要攻克AXI中的一些难题. 所有的AXI4包含了5个不同的通道: (1)读/写地址通道(Read/Write address ch ...
- AXI总线简介
AXI全称Advanced eXtensible Interface,是Xilinx从6系列的FPGA开始引入的一个接口协议,主要描述了主设备和从设备之间的数据传输方式.在ZYNQ中继续使用,版本是A ...
- 【高速接口-RapidIO】5、Xilinx RapidIO核例子工程源码分析
提示:本文的所有图片如果不清晰,请在浏览器的新建标签中打开或保存到本地打开 一.软件平台与硬件平台 软件平台: 操作系统:Windows 8.1 64-bit 开发套件:Vivado2015.4.2 ...
- zynq里面的AXI总线(2017-1-11)
在ZYNQ中有支持三种AXI总线,拥有三种AXI接口,当然用的都是AXI协议.其中三种AXI总线分别为: AXI4:(For high-performance memory-mapped requir ...
- 5.Xilinx RapidIO核例子工程源码分析
https://www.cnblogs.com/liujinggang/p/10091216.html 一.软件平台与硬件平台 软件平台: 操作系统:Windows 8.1 64-bit 开发套件:V ...
- 【转】AXI_Lite 总线详解
目录: · 1.前言 · 2.AXI总线与ZYNQ的关系 · 3 AXI 总线和 AXI 接口以及 AXI 协议 · 3.1 AXI 总线概述 · 3.2 AXI 接口介绍 ·3.3 AXI 协议概述 ...
- S02_CH12_ AXI_Lite 总线详解
S02_CH12_ AXI_Lite 总线详解 12.1前言 ZYNQ拥有ARM+FPGA这个神奇的架构,那么ARM和FPGA究竟是如何进行通信的呢?本章通过剖析AXI总线源码,来一探其中的秘密. 1 ...
- AXI总线简介、ID分析、DMA、Vivado烧录、系统集成
转载:https://blog.csdn.net/CrazyUncle/article/details/89918030?depth_1-utm_source=distribute.pc_releva ...
- PowerDesigner创建物理模型
原文:PowerDesigner创建物理模型 Using PowerDesigner Create PDM 1.打开PowerDesigner 按Ctrl+N 创建物理模型 2.创建后修改名称,并在工 ...
- 接口与协议学习笔记-AMBA片上通信协议_APB_AHB_AXI_AXI4不同版本(二)
随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大.数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用.在基于IP复用的SoC设计中,片上总线设计是最 ...
随机推荐
- 走出人生的舒适区,告别 CRUD
舒适区(Comfort zone),指的是一个人所处的一种环境的状态,和习惯的行动,人会在这种安乐窝的状态中感到舒适并且缺乏危机感. 工作中的舒适区 很多人工作也每天很累很辛苦,程序员每天都在加班加 ...
- k8s-权限管理
目录 1. 身份认证 node节点操作 创建普通用户并授权 1. 生成私钥 2. 生成zhangsan用户证书请求文件 3. 为zhangsan用户颁发证书 4. 创建命名空间及pod 5. 创建角色 ...
- IPFS Gateway Selector IPFS下载网关选择工具
简介 用IPFS作文件分享可以覆盖很多场景, 现在IPFS网关也相当多了, 但是因为国内网络的状况, 不同网关在不同网络运营商的表现差别很大, 导致你提供的下载链接在对方那里可能速度很慢, 甚至无法访 ...
- SQL Server初体验
概述 基于SQL Server 2019 Developer免费版搭建一个本地的开发环境. 下载安装 安装文件下载地址:https://www.microsoft.com/zh-cn/sql-serv ...
- EF Invalid column name 'Discriminator' Invalid column name 'TagCode'.
参考资料:Invalid column name 'TagCode'. 该异常和Discriminator没关系,一般原因:1.数据库中字段和实体类字段不一致导致的2.创建新增继承于数据库对应的实体类 ...
- 【Python OO其一】构造函数__init__()
Python对象包括三个部分:id(identity识别码).type(对象类型).value(对象的值) __ init __()构造函数 __ init __()方法应用定义构造函数,作用是在实例 ...
- Html飞机大战(十六): 完成"清除"敌机奖励类
好家伙, 我们先来尝试完成一个最简单的功能 正面buff: 1.消灭全图敌机 我们要先找一个好看一点的素材 把背景弄成透明的(搞了好久),感谢度娘的技术支持Photoshop中如何把图 ...
- 揭秘可视化图探索工具 NebulaGraph Explore 是如何实现图计算的
前言 在可视化图探索工具 NebulaGraph Explorer 3.1.0 版本中加入了图计算工作流功能,针对 NebulaGraph 提供了图计算的能力,同时可以利用工作流的 nGQL 运行能力 ...
- 浅谈IT系统性能优化
一个刚上线的IT系统,往往负载压力不大,所以不会存在什么性能问题.这时,人们大多只关心系统的功能性和用户体验.但是,随着时间推移,用户量和数据量都比刚上线的时候要多很多,高并发和大数据场景下,系统遇到 ...
- git合并代码操作-2022新项目
自己做开发工作已经好几年,以前由于都是开发一些小项目,基本上也没拉什么分支进行开发,也没有涉及到合并代码的操作,因此自己对于如何合并代码还真没有实际地操作过.今天负责人突然交给我一个任务,让我去合并代 ...