英诺达分享一种无效开关动态功耗优化思路

描述

对于SoC、AI、网络芯片和控制类ASIC来说,动态功耗依然是功耗预算中的大头,而动态功耗里这类功耗值得关注:信号在跳变,电路在耗电,但这些跳变并没有真正影响设计功能。这类功耗可以概括为由“无效开关”引起的动态功耗浪费。在此次DVCon China会议上的这篇论文《基于无效开关功耗分析的功耗优化》,给出了一种优化思路,这篇文章针对动态功耗的优化,提出一种方法:将器件分类,识别可分析器件的无效开关时段,并按条件向后传播合并,再依据时段分布,通过调整时钟频率与信号状态减少无效翻转,从而有效降低芯片整体动态功耗。

注:本文核心技术点来自DVCon收录论文《Dynamic Power Optimization Based on Ineffective Switching Events》

关键词:动态功耗,功耗优化

作者:Yuchuan Xiao , 英诺达(成都)电子科技有限公司

背景介绍

芯片总功耗由三个主要部分组成:动态功耗、静态功耗和短路功耗。其中,动态功耗由逻辑门的开关活动产生——具体表现为信号在工作期间逻辑状态之间的跳变。在现代设计中,动态功耗通常是功耗的主要来源。因此,优化开关功耗可以成比例地降低整体功耗。

然而,并非所有的开关事件都对功能输出有贡献。这些非功能性跳变所消耗的功耗在此被定义为无效功耗。当信号跳变在电路中传播但未改变最终计算结果时,就会产生无效功耗。

受控组合逻辑实例

对于受控组合逻辑实例,假设控制信号的波形是预先已知的(例如来自逻辑仿真或基于向量的分析)。这种先验知识可以直接识别无效开关事件:当控制信号保持控制值时,相关数据输入上的跳变被标记为无效,并在固有引脚(Intrinsic Pin)上生成相应的无效时间段(Ineffective Time Interval, ITI)。

无效时间段(ITI)的向上游传播与合并

 

英诺达

 

如图所示,只有在收集了驱动实例(i1)输出网格上所有下游实例(如i2和i3)的ITI后,向上游的传播才会进行。

一旦这些时间段在i1的输出引脚汇合,它们将被合并形成一个完整的非活跃窗口。该合并后的ITI随后通过实例反向传播到其输入引脚,使该过程能够继续向游传播。这种依赖关系确保在优化上游逻辑之前,已考虑了所有下游的屏蔽条件。

跨网格和实例的ITI合并规则

在扇出汇合点合并ITI(通过网格):

ITI(驱动端) = ∩ ITI(所有扇出端)

在传输引脚(Transit Pin)处的ITI计算:

ITI(传输输入引脚) = ∩ ITI(所有输出端) ∩ (传输输入引脚)

在固有引脚(Intrinsic Pin)处的ITI传播与累加:

ITI(固有引脚) = ∩ ITI(所有输出端) ∪ ITI(固有引脚)

逻辑实例与实例引脚的分类

根据开关事件是否传播到下游阶段,组件被划分为可分析集和不可分析集。具体而言,可分析集包括时序逻辑实例和带有控制信号的组合逻辑实例,因为这些组件具有最高的功耗优化潜力。

与可分析组件相关的输入引脚定义为固有引脚(Intrinsic Pin),而所有其他实例引脚分类为传输引脚(Transit Pin)。该方法首先在每个固有引脚上初始化ITI。随后,这些时间段通过逻辑网络向上游反向传播,穿过传输引脚和中间的固有引脚,以最大化功耗降低的机会。

时序逻辑实例

识别时钟和触发特性:识别时钟输入引脚并确定实例的触发机制(例如上升沿、下降沿或电平敏感)。

基于状态转换生成ITI:根据输出状态分析,为数据输入引脚分配ITI。如果尽管输入发生跳变,触发器输出仍保持不变,则数据引脚上相应的时间段被标记为无效。

通过逻辑实例的ITI传播规则

传播在以下实例类型处终止:

黑盒实例:内部逻辑未定义,无法进行准确的时间段计算。

宏模块(Macro Blocks):具有固定时序和功耗特性的预表征单元。

主要输入(PI):无法在内部进行门控的外部信号源。

I/O焊盘(Pads):核心逻辑域之外的物理接口引脚。

存储器实例(Memory):内部逻辑未知。

时序与受控实例的传播路径:

寄存器/寄存器组(Flip Flop):Qn -> Dn, QNn -> Dn

时钟门控集成单元(CGIC):Q -> D, QN -> D, OB -> null

锁存器/锁存器组(Latch):Qn -> Dn, QNn -> Dn

特殊组合逻辑单元的传播规则:

宽多路复用器/多路复用器(MUX / N-to-1 MUX):(根据控制状态选择)On -> Dn

选择逻辑(Selector):输出 -> 数据引脚

标准组合逻辑单元的传播规则:

标准逻辑门:输出 -> 所有输入

优化

该方法分析所有可分析实例中ITI的统计分布。此分析生成一份综合报告,识别整个设计中具有高影响力的优化机会。根据该报告,设计人员可以通过以下几种优化策略降低无效开关功耗:

时钟频率调整:针对ITI密度较高的特定时钟域修改时钟频率。

实例开关控制:插入时钟门控(Clock Gating)或数据门控(Data Gating)单元,在无效时间段内禁用开关活动。

RTL重构:将碎片化的ITI整合为更长、更具操作性的门控窗口。

设计重设计:针对无效功耗占总动态功耗比例较大的关键逻辑锥进行架构重新设计。

让低功耗优化从经验驱动走向数据驱动

传统低功耗优化很依赖工程师经验,但在复杂芯片中,仅靠经验很容易遗漏隐藏在控制逻辑、非选中路径和未采样窗口中的浪费。无效开关分析提供了一种更细粒度、更可解释的视角:它不只是统计翻转次数,而是判断这些翻转是否真正有用。

对芯片设计工程师而言,这类分析的价值主要体现在三个方面。首先,它可以把动态功耗拆解为有效与无效两部分,让功耗优化不再停留在总量统计。其次,它可以沿网表反向定位无效翻转的源头,减少工程师在波形和层级中盲查的时间。最后,它可以与现有低功耗手段结合,帮助团队决定在哪里插入门控逻辑、在哪里保持数据、在哪里调整控制路径,从而以更小的设计改动获得更确定的功耗收益。

英诺达旗下的低功耗分析与优化工具EnFortius凝锋RPE(ERPE)已经深度集成了这一分析流程。ERPE能够自动识别设计中的无效开关事件,生成详尽的ITI分布报告,并精准定位功耗浪费的热点,帮助设计团队在RTL阶段就实现显著的功耗收益。

目前ERPE产品已在多家头部芯片设计公司落地应用,欢迎广大设计工程师联系试用,共同探索更高效的低功耗设计路径。

英诺达 EDA 巡回研讨会即将开启!

为了与广大设计工程师深度探讨低功耗设计、验证自动化及先进EDA技术,英诺达2026 EDA巡回研讨会即将拉开帷幕!

届时,我们的技术专家将亲临现场,不仅会深度拆解EDA工具的核心功能与应用案例,还将分享更多关于SoC级功耗管理、静态验证及EDA工具实战经验。

关于英诺达

英诺达(成都)电子科技有限公司是一家由行业资深人士创立的本土EDA企业,公司坚持以客户需求为导向,帮助客户实现价值跃升,为中国半导体产业提供卓越的EDA解决方案。公司的长期目标是通过EDA工具的研发和上云实践,参与国产EDA完整工具链布局并探索适合中国国情的工业软件上云的路径与模式,赋能半导体产业高质量发展。公司的主营业务包括:EDA软件研发、IC设计云解决方案以及IC设计服务。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分