【AXI】解读AXI协议的低功耗设计

简介: 【AXI】解读AXI协议的低功耗设计

cb39282b8fb147aaa3a300f70d43c278.png


一、写在前面


AXI协议相较于UART,SPI,I2C来说,无论是内容还是难度都上了一个层级,放在一篇文章中进行解读未免篇幅过长,因此,有关AXI一些共性的、通用的问题,作者单独以前缀为【AXI】的标题进行小范围的串联,最终再汇总为深入浅出解读AXI协议,与从零开始的Verilog AXI协议设计,此为作者所思所考的推进顺序,单看【AXI】的每一篇,可能很多读者未免感到有些管中窥豹的疑惑,但若等作者更完此专栏再行观看,从头到尾进行阅读,应该就会有有茅塞顿开的收获与领悟。


二、解读AXI协议的低功耗设计接口


2.1 AXI低功耗设计导论

首先,我们需要强调的是,AXI的低功耗接口是一组可选项,即:存在与不存在本节讨论的端口,都不影响AXI协议的正常运转,其次,从high level去看,AXI slave可以分为正常工作状态和低功耗工作状态,如何从正常态进入到低功耗态和从低功耗态进入到正常态,就是我们在这节想要讨论的核心内容。最终,什么情况下,我们说slave进入低功耗状态了呢?类比低功耗设计中的门控时钟,当clk信号关闭时,即代表着AXI控制的slave进入了低功耗状态。


2.2 AXI低功耗信号列表

笼统来讲,排除掉clk信号外,我们需要以下两种,合计三个信号,来满足AXI协议的低功耗需求

第一种信号:指示从设备是否进入了低功耗状态的信号(或者说时钟信号是使能的还是未使能的),这个信号来自从设备。

第二种信号:是两个握手信号来指示低功耗进入请求和应答,这个信号连接时钟控制系统和从设备。


2.2.1 信号列表

image.png


2.2.2 CACTIVE信号要求

CACTIVE是指示外设是否需要时钟的信号。方向由从设备到时钟控制系统,当需要启用时,电平为高,意味着系统时钟控制器须启用时钟。不需要时,电平为低,以表明它不需要时钟。系统时钟控制器就需要禁用时钟了。通过CACTIVE这个信号,从设备可以自由自主的申请是否进入低功耗状态。


2.2.3 HANDSHAKE信号要求

image.png

正常工作状态下,CSYSREQ和CSYSACK都是高电平(默认态)

从T1到T2:

slave进入低功耗状态 ,CSYSREQ信号拉低,使CSYSACK信号也拉低

从T3到T4:

slave脱离低功耗状态 ,CSYSREQ信号拉高,使CSYSACK信号也拉高


2.3 时序状态分析

2.3.1 低功耗请求被接受(时序正确)

image.png

钟控模块到slave的CSYSREQ拉低。slave给出响应,使CACTIVE拉低,再拉低CSYSACK,接收到CSYSACK后停止CLK翻转信号的进入。


2.3.2 低功耗请求被拒绝(时序错误)

image.png

钟控模块到slave的CSYSREQ拉低,slave未给出响应,CACTIVE一直还是高,不过遵循握手信号之间的关系拉低CSYSACK,到此,低功耗进入的请求被拒绝。再之后,CSYREQ会自动拉高,最终使CSYSACK也拉高,至此为完整的低功耗请求被拒绝的时序


2.3.3 “退出低功耗状态”(时钟控制模块控制)

image.png

REQ的拉高,经过CACTIVE的反馈后,使CSYSACK也拉高,完成退出低功耗的操作,类似上文,不多赘述。


2.3.4 “退出低功耗状态”(从设备控制)

image.png

CACTIVE主动拉高,时钟控制模块接收到信号,CSYSREQ拉高,从设备接收后再使CSYSACK拉高,完成退出。


2.3.5 总结:由正常状态进入低功耗状态

0e854a584e67477fb270e82829ce7d01.png


2.3.6 总结:从低功耗状态进入正常状态

70f96f85041f443680f71df27a315fe2.png


三、其他数字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协议


相关文章
|
安全 物联网 数据安全/隐私保护
深入理解AMBA总线协议(AXI总结篇)
深入理解AMBA总线协议(AXI总结篇)
1564 1
|
存储 网络性能优化 vr&ar
深入理解AMBA总线(十七)AXI是如何提高性能的
深入理解AMBA总线(十七)AXI是如何提高性能的
2040 1
|
存储 SoC
深入理解AMBA总线(十一)AXI协议导论
深入理解AMBA总线(十一)AXI协议导论
1707 0
|
vr&ar SoC 内存技术
深入理解AMBA总线(十二)AXI突发传输和AXI控制信号
深入理解AMBA总线(十二)AXI突发传输和AXI控制信号
1572 0
|
网络性能优化
深入理解AMBA总线(十九)AXI4新增信号以及AXI4-lite
深入理解AMBA总线(十九)AXI4新增信号以及AXI4-lite
724 0
|
芯片 SoC 内存技术
AMBA总线协议AHB
AMBA总线协议AHB、APB
149 0
【AXI】解读AXI协议中的burst突发传输机制
【AXI】解读AXI协议中的burst突发传输机制
【AXI】解读AXI协议中的burst突发传输机制
|
并行计算 Java C#
【AXI】解读AXI协议原子化访问
【AXI】解读AXI协议原子化访问
【AXI】解读AXI协议原子化访问
|
数据库管理
【AXI】解读AXI协议乱序机制
【AXI】解读AXI协议乱序机制
【AXI】解读AXI协议乱序机制
|
芯片 数据格式
I2C 总线协议
I2C 总线协议
295 0
I2C 总线协议