【数字IC】深入浅出理解AXI协议
芯片设计验证社区·芯片爱好者聚集地·硬件相关讨论社区·数字verifier星球 |
---|
四社区联合力荐!近500篇数字IC精品文章收录! |
【数字IC精品文章收录】学习路线·基础知识·总线·脚本语言·芯片求职·EDA工具·低功耗设计Verilog·STA·设计·验证·FPGA·架构·AMBA·书籍 |
深入浅出理解AXI协议
- 一、写在前面
- 二、深入浅出理解AXI协议
- 2.1 全局信号
- 2.2 写地址通路
- 2.3 写数据通路
- 2.4 写回复通路
- 2.5 读地址通路
- 2.6 读数据通路
- 2.7 低功耗接口信号
- 2.8 必选信号与可选信号区分
- 2.8.1 主设备
- 2.8.1.1 读操作相关信号表
- 2.8.1.2 写操作相关信号表
- 2.8.2 从设备
- 2.8.2.1 读操作相关信号表
- 2.8.2.2 写操作相关信号表
- 2.9 总结
- 三、其他数字IC基础协议解读
- 3.1 UART协议
- 3.2 SPI协议
- 3.3 I2C协议
- 3.4 AXI协议
一、写在前面
终于写到这篇文章了! 完整阅读前述文章的读者到了本篇,基本上可以当作一个复习小资料来看了,里面零零散散的信号95%都在前文中讨论过。本篇文章落地,再讨论一波AXI-lite,一个完整的AXI协议的相关内容就完整的展现在了读者的面前了,当然,AXI-lite支持的特性,AXI都支持,因此,二者之间的比较和联系也不甚困难。
AXI协议相较于UART,SPI,I2C来说,无论是内容还是难度都上了一个层级,放在一篇文章中进行解读未免篇幅过长,因此,有关AXI一些共性的、通用的问题,作者单独以前缀为【AXI】的标题进行小范围的串联,最终再汇总为深入浅出解读AXI协议,与从零开始的Verilog AXI协议设计,此为作者所思所考的推进顺序,单看【AXI】的每一篇,可能很多读者未免感到有些管中窥豹的疑惑,但若等作者更完此专栏再行观看,从头到尾进行阅读,应该就会有有茅塞顿开的收获与领悟。
二、深入浅出理解AXI协议
AXI协议有很多特性,比如说“高带宽”和“低延迟”,比如说向前兼容AHB与APB,比如说非三态实现数据传输等等等等,但是最核心最核心的内容无非是AXI协议的信号,和对于这些信号的理解,单独拿出一个信号来,我们先要明白的是,它是什么的输出又是什么的输入,“比如AWID是主设备产生的,通过总线互联连接到从设备“,其次,我们要清楚它所处哪个数据通路,写地址通路”“写数据通路”“写回复通路”“读地址通路”“读数据通路是最核心的五个数据通路,此外,AXI协议还有全局信号和低功耗数据接口,再往后,针对于一个信号,他是AXI协议的必选项还是可选项?比如握手信号是AXI协议所必须要有的信号,是必选项,而低功耗接口的信号就是AXI协议的可选项;最后,我们要知道每一个信号的含义,这部分寻找AXI协议解读的前文就可以找到。每一个信号都通过上面的四个问题进行梳理,AXI协议的全貌就得到了一个充分的认识了。
2.1 全局信号
信号 | 来源 | 解释 |
---|---|---|
ACLK | 时钟源 | |
ARESETn | 复位源 | 低电平复位 |
2.2 写地址通路
信号 | 来源 | 解释 |
---|---|---|
AWID | 主设备 | 见解读AXI协议乱序机制 |
AWADDR | 主设备 | 见解读AXI协议中的burst突发传输机制 |
AWLEN | 主设备 | 见解读AXI协议中的burst突发传输机制 |
AWSIZE | 主设备 | 见解读AXI协议中的burst突发传输机制 |
AWBURST | 主设备 | 见解读AXI协议中的burst突发传输机制 |
AWLOCK | 主设备 | 见解读AXI协议原子化访问 |
AWCACHE | 主设备 | 见解读AXI协议事务属性 |
AWPORT | 主设备 | |
AWQOS | 主设备 | 见解读AXI协议的额外信号 |
AWREGION | 主设备 | 见解读AXI协议的额外信号 |
AWUSER | 主设备 | 见解读AXI协议的额外信号 |
AWVALID | 主设备 | 常规握手信号 |
AWREADY | 从设备 | 常规握手信号 |
2.3 写数据通路
信号 | 来源 | 解释 |
---|---|---|
WID | 主设备 | 见解读AXI协议乱序机制 |
WDATA | 主设备 | 见解读AXI协议中的burst突发传输机制 |
WSTRB | 主设备 | 见解读AXI协议中的burst突发传输机制 |
WLAST | 主设备 | burst的最后一拍的信号 |
WUSER | 主设备 | 见解读AXI协议的额外信号 |
WVALID | 主设备 | 常规握手信号 |
WREADY | 从设备 | 常规握手信号 |
2.4 写回复通路
信号 | 来源 | 解释 |
---|---|---|
BID | 从设备 | 见解读AXI协议乱序机制 |
BRESP | 从设备 | 见解读AXI协议原子化访问 |
BUSER | 从设备 | 见解读AXI协议的额外信号 |
BVALID | 从设备 | 常规握手信号 |
BREADY | 主设备 | 常规握手信号 |
2.5 读地址通路
信号 | 来源 | 解释 |
---|---|---|
ARID | 主设备 | 见解读AXI协议乱序机制 |
ARADDR | 主设备 | 见解读AXI协议中的burst突发传输机制 |
ARLEN | 主设备 | 见解读AXI协议中的burst突发传输机制 |
ARRSIZE | 主设备 | 见解读AXI协议中的burst突发传输机制 |
ARBURST | 主设备 | 见解读AXI协议中的burst突发传输机制 |
ARLOCK | 主设备 | 见解读AXI协议原子化访问 |
ARCACHE | 主设备 | 见解读AXI协议事务属性 |
ARPORT | 主设备 | |
ARQOS | 主设备 | 见解读AXI协议的额外信号 |
ARREGION | 主设备 | 见解读AXI协议的额外信号 |
ARUSER | 主设备 | 见解读AXI协议的额外信号 |
ARVALID | 主设备 | 常规握手信号 |
ARREADY | 主设备 | 常规握手信号 |
2.6 读数据通路
信号 | 来源 | 解释 |
---|---|---|
RID | 从设备 | 见解读AXI协议乱序机制 |
RDATA | 从设备 | 见解读AXI协议中的burst突发传输机制 |
RRESP | 从设备 | 见解读AXI协议原子化访问 |
RLAST | 从设备 | burst的最后一拍的信号 |
RUSER | 从设备 | 见解读AXI协议的额外信号 |
RVALID | 从设备 | 常规握手信号 |
RREADY | 主设备 | 常规握手信号 |
2.7 低功耗接口信号
信号 | 来源 | 解释 |
---|---|---|
CSYSERQ | 时钟控制器 | 见解读AXI协议的低功耗设计 |
CSYSACK | 外围设备 | 见解读AXI协议的低功耗设计 |
CACTIVE | 外围设备 | 见解读AXI协议的低功耗设计 |
2.8 必选信号与可选信号区分
2.8.1 主设备
2.8.1.1 读操作相关信号表
2.8.1.2 写操作相关信号表
2.8.2 从设备
2.8.2.1 读操作相关信号表
2.8.2.2 写操作相关信号表
2.9 总结
笼统来讲:一个基本的AXI协议,需要有时钟信号,复位信号,握手信号,burst相关信号,AxID信号。
Cache相关信号,原子化操作相关信号,Qos User等额外信号和低功耗相关信号是可选项。
关于不同信号的默认值/复位值,上文2.8节的表格中也给出了要求值。至此,有关AXI协议的相关内容就告一段落了,AXI协议虽然快,但是面积也大,很多情况下,我们其实不需要AXI协议的全部特性,因此AMBA4中还规定了AXI-lite供人使用,参见深入浅出理解AXI-lite即可
三、其他数字IC基础协议解读
3.1 UART协议
- 【数字IC】深入浅出理解UART
- 【数字IC】从零开始的Verilog UART设计
3.2 SPI协议
- 【数字IC】深入浅出理解SPI协议
- 【数字IC】从零开始的Verilog SPI设计
3.3 I2C协议
- 【数字IC】深入浅出理解I2C协议
3.4 AXI协议
- 【AXI】解读AXI协议双向握手机制的原理
- 【AXI】解读AXI协议中的burst突发传输机制
- 【AXI】解读AXI协议事务属性(Transaction Attributes)
- 【AXI】解读AXI协议乱序机制
- 【AXI】解读AXI协议原子化访问
- 【AXI】解读AXI协议的额外信号
- 【AXI】解读AXI协议的低功耗设计
- 【数字IC】深入浅出理解AXI协议
- 【数字IC】深入浅出理解AXI-lite协议
【数字IC】深入浅出理解AXI协议相关推荐
- 数字IC设计--------AMBA AXI协议(英文原版)
AXI:AMBA Advanced eXtensible Interface (AXI) Protocol Specification 目录 chapter 1 Introduction about ...
- 【数字IC】深入浅出理解I2C协议
深入浅出理解I2C协议 一.什么是I2C协议 二.I2C,SPI,UART协议的区别 三.I2C的信号线 四.I2C的连接方式 4.1 单主设备,单从设备 4.2 单主设备,多从设备 4.3 多主设备 ...
- 数字IC验证:ARM协议之AMBA低功耗接口Q-channel
写在前面: 最近实习项目里用到Q-channel,因此简单整理一下,内容大多来自ARM官方文档与网络上的,我主要做一个整合,加上自己的理解补充,内容来源都会分别标出.如有侵权请指出,立刻删帖. 官方文 ...
- 数字IC设计----AMBA总线协议(来自英文原版)
第一章 AMBA总线介绍 1.AMBA总线协议总览 AMBA(Advanced Microcontroller Bus Architecture)总线协议是一种面向高性能嵌入式微控制器设计的片上联接 ...
- 【数字IC】从零开始的Verilog SPI设计
从零开始的Verilog SPI协议设计 一.写在前面 1.1 协议标准 1.2 数字IC组件代码 1.3 设计要求 1.4 其他协议解读 1.4.1 UART协议 1.4.2 SPI协议 1.4.3 ...
- 【AXI】解读AXI协议双向握手机制的原理
解读AXI协议双向握手机制的原理 一.写在前面 二.AXI 双向握手机制简介 2.1 信号列表 2.2 双向握手目的 2.3 握手过程 2.3.1 CASE1(READY信号先于VALID信号改变) ...
- 【AXI】解读AXI协议事务属性(Transaction Attributes)
芯片设计验证社区·芯片爱好者聚集地·硬件相关讨论社区·数字verifier星球 四社区联合力荐!近500篇数字IC精品文章收录! [数字IC精品文章收录]学习路线·基础知识·总线·脚本语言·芯片求职· ...
- 【数字IC】从零开始的Verilog UART设计
从零开始的UART协议设计 一.写在前面 1.1 协议标准 1.2 数字IC组件代码 二.设计要求 三.模块划分 四.全局参数 五.整体结构 六.波特率生成器 6.1 设计文件 6.2 仿真文件 6. ...
- 数字IC验证:总线握手协议(VALID/READY握手机制)
写在前面: 最近学习总线协议,涉及握手,因此整理本文.若内容有疑惑或错误之处,请在评论区指出,感谢! 文章目录 1 什么是"握手"? 2 VALID/READY握手机制 3 Cas ...
- 一文深入浅出理解国产开源木兰许可系列协议
伴随着国际形式的变迁,越来越多组织申明将遵循美国出口管制法律的约束,并且蔓延到了开源领域:关于国内开源生态如何自立,做到在逼不得已无法与国际接轨的情况下能够健康发展的措施也被提上议程,木兰系列许可证系 ...
最新文章
- python3 的 round 函数的 练习
- 【并发编程】Future模式及JDK中的实现
- 自动化运维系列之Cobbler (资源)
- 计算机弹奏两只老虎爱跳舞,原神风物之诗琴乐谱大全
- yii2 mysql_Yii2 数据库操作汇总
- 网站扛住 100 亿次请求?我们来压测试一试
- ajax 验证成功 转跳,利用ajax实现登录:验证完用户信息后如何保存用户信息并实现跳转...
- 机器学习笔记——感知机理解(自行取用,并不一定适合每个人)
- 桌面支持--outlook会议邀请(选择可选参加的领导)
- vue CAD-dwg格式文件预览
- STM8单片机的启动过程。
- PHP根据出生日期计算年龄
- 2022 最新微信ipad协议 62 16 扫码登录 wechatapi
- ctf 网络安全比赛简介
- 《斯坦福高效睡眠法》读书笔记思维导图版,成年人的睡眠解决法
- OpenStack------Placement组件部署
- 基于单片机的教室照明智能控制系统设计
- c罗python可视化分析_关于C罗“冲刺速度”这种隐私问题,我们在Kaggle上找到了数据集,然后。。。...
- IT66021FN 翻译
- 2.pygame安装
热门文章
- 利用神经网络识别12306验证码——(五)训练模型
- php实现12306验证码,PHP仿12306点图验证码
- python爬虫豆瓣高分电影前一百部
- 计算机脚本发生错误,我的电脑开机后显示当前页面的脚本发生错误?
- 【经典详解】<T> T 和 T的用法和区别,public <T> List<T> f(T a){}的详解
- 老子道德经原文加讲解
- python生成png图片_python通过pil模块将raw图片转换成png图片的方法
- ios零基础学习 准备什么,如何去学习
- iOS基础教程:记录从零开始到APP发布过程
- Python爬虫之堆糖网图片(二)