首页/文章/ 详情

数字实现博客 | 专业级功耗管控:别让你的芯片耗尽 “功耗额度”

8月前浏览373

本文翻译转载于:Cadence Blog

作者:Neha Joshi

芯片设计中功耗的规划,其实和管理每月的预算很像。要是不盯着“瓦数”都花在了哪儿,最后可能做出一个华而不实且毫无效率的芯片。这就好比把工资全砸在新奇的数码产品上,却忘了交房租。到头来芯片不仅会陷入功耗透支的境地,还会背上沉重的“热债”



信不信由你——芯片也讨厌 “透支罚款”

 

就像你不会等到月底才发现自己超支了一样,也别等到设计收尾时才想起考虑功耗的问题。一个好的功耗方案就像一份好的预算,要尽早启动、追踪用量,还要杜绝浪费。时钟门控?就好比“离开房间时关灯”的节能时刻。电压岛?可以理解成给不同部门设定的开支上限。

一开始,你的初衷总是很好:清晰的寄存器传输级代码(RTL)、扎实的布局规划,或许还有咖啡 因加持的乐观心态。但如果没有明确的功耗策略,设计就会开始“挥霍”——做些没必要的信号翻转,任由漏电损耗不断累积。不知不觉间,芯片就会陷入热失控,流片预算也会打水漂。

而且就像你的银行账户一样,一旦功耗预算崩了,要想挽回就得付出惨痛的代价,让人感到追悔莫及。

这也是为什么低功耗综合就像是芯片的“财务顾问”。它帮你设定限制,削减不必要的“开销”,让一切高效运转,还不会冒出意外的“过热罚款”。

有了 Genus 低功耗综合工具,你不只是在节省功耗,更是在做明智且有远见的投资。提前规划、优化和调整,确保设计始终保持冷静、稳定、可控。

无论你是要做简单的低功耗综合,还是基于 IEEE 1801 功耗意图的复杂流程,我们都能提供相应培训,帮你的设计既量入为出,又能表现得像个“明星”。

因为在芯片的世界里,就像在生活中一样,重要的不是你拥有多少功耗,而是如何明智地“花”掉它。


为什么需要低功耗综合?

低功耗综合不只是芯片设计流程中的一个“勾选项”,它是一项战略性的必要环节。

随着功耗预算不断压缩,而性能需求持续攀升,在综合阶段优化功耗变得至关重要,这是在不牺牲功能和时序的前提下实现设计闭环的关键。

低功耗综合是芯片设计流程中的基础步骤在这一阶段,行为级的寄存器传输级代码(RTL)会被转化为门级网表,且整个过程高度注重最小化功耗。如今,随着片上系统(SoC)对功耗的敏感度越来越高,尤其是在移动设备、汽车电子和边缘人工智能等应用中,早期进行功耗优化已不再是可选项,而是必选项。

Genus 综合解决方案能让设计师在综合过程中直接实施多种节能策略,包括:

时钟门控(Clock Gating):自动插入门控逻辑,在电路闲置区域关闭时钟,大幅降低动态功耗。

多阈值电压单元选择(Multi-Vt Cell Selection):在映射过程中选择合适阈值电压的单元,平衡性能与漏电损耗。

多电源电压(MSV):允许不同模块以不同电压水平运行,在保证关键区域性能的同时降低整体功耗。

电源关断(PSO):可完全关闭未使用的逻辑模块,彻底消除漏电功耗。

动态电压与频率调节(DVFS):支持根据工作负载实时调整电压和频率,动态优化功耗。



来源:Cadence楷登
System电源电路汽车电子芯片Cadence人工智能
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-12-13
最近编辑:8月前
Cadence楷登
签名征集中
获赞 4粉丝 122文章 688课程 0
点赞
收藏
作者推荐

Cadence 解惑集 | 统计学时序分析模式中的路径报告差异

由于工艺变化和环境参数在芯片制造上差异,芯片的性能可能会出现变化。为此,代工厂根据工艺差异(Variation)提供相应的时序库(Liberty Variation File),以便进行基于高斯分布时序统计分析。Cadence Innovus/Tempus 具备基于统计学的静态时序分析模式 Statistical On-Chip Variation (SOCV)。然而在统计学静态时序分析模式下,用户常常会遇到以下几种最差时序路径相关的报告问题。普通(非统计学)分析模式下方示意图在普通分析模式下,时序分析会直观的会以最差情况来做为报告时序路径顺序的依据。对于最迟路径而言,较大的到达时间 (Arrival Time) 将会得到较为悲观的结果,因此报告的顺序将会以较差的结果作为优先。 统计学分析模式在统计学分析下,在定义到达时间最差情况上会遇到一些问题。以下图为例,与门输出端 (and/Y) 最差的到达时间均值是来自 B -> Y 而标准差则是来自 A -> Y。不论单独以均值或标准差作为判断标准都会有不足的地方。 mean_and_three_sigma_bounded 为 Innovus/Tempus 默认的最差情况运算模型。在这个模式下,它会选择最差均值作为结果分布的均值,标准差计算为最差(mean +/-3*sigma)值的界限。这可确保结果的 3-sigma 值始终限制最差的 3-sigma 值。下图中有个与门,其输入端分别为 and1/A 和 and1/B。两端的到达时间分别为(3, 3) 以及(4, 1),传播至 and1/Y 所需的延迟分别为(1, 4) 和(1.5, 4),信号传播至输出 and1/Y 的到达时间为 ATa->Y (4, 5) =19 和 ATb->Y (5.5, 4.12) =17.86。 在 mean_and_three_sigma_bounded 下,会做以下的运算来得到 and1/Y 的最迟到达时间。1、在 and1/Y 上挑最差的到达时间均值 2、以最差的 3-sigma 值反推出标准差 上图的范例,我们最后得到如下: 由这个运算模型,可以确保输出端的 n-sigma 到达时间为最差的。然而 bounded 的报告结果仅会出现于 “report_timing -to”, “report_timing -max_slack”, “report_timing -nworst” ……等,没有特定路径的报告。 上方示意图中,有两条简单的 timing path.Path1: in1 > buf1 > and1/A > and1/Y > outPath2: in2 > buf2 > and1/B > and1/Y > out用户如果使用 “report_timing -to out” ,则会得到由最差 n-sigma 值以及到达时间均值反推出标准差的时序报告。当使用者使用 “report_timing -from/through/to” 准确的指出特定路径时,则不会使用 bounded 出来的结果作为报告中的数值,而是会使用特定路径来传播得到达时间的数据。因此,我们可以预期在一些特定的情况下,相同的路径,由“report_timing -from/through/to” 和“report_timing -to” 来返回,会得到不同的时序报告,如下方所示:report_timing -to out >> report_timing -from in1 -to out >> 除了上述常见的问题外,使用者也常遇到 “report_timing -to -nworst X” 时 nworst bounded path 的规则问题,以下图路径为例: 上方示意图中,有三条简单的 timing path.Path1: in1 > buf1 > and1/A > and1/Y > and2/A > and2/Y > out1Path2: in2 > buf2 > and1/B > and1/Y> and2/A > and2/Y > out1Path3: in3 > buf2 > and2/B > and2/Y > out1为了更直观的作 bounded 运算,我们将 and1 和 and2 的延迟都设为(0, 0),也就是说可以直接将 in1, in2, in3 至 and1/A, and1/B, and2/B 的到达时间用来判断 nworst 到达时间为哪条路径。由上图所标示的 nsigma 到达时间可以知道,最差路径为 Path1,Path3 次之,最后是 Path2。所以如果用户使用 nworst 来报出所终点为 out1 的路径时:report_timing-to out1 -nworst3 (nworst=1, Path1) >>当考虑最差路径时,它会考虑所有相关路径上的多输入单元,进行保持最差操作,所以在这个例子中,最差的到达时间均值为 in2 -> b2 -> and1/B ,bounded 的到达时间均值将会使用 Path2 的到达时间均值 0.192,而 nsigma 则来自于in1-> out1 的0.326 但是当用户定义了路径的起始点为 in1, report_timing -from in1 -to out1 则会报出经过in1->b1->and1/A->and1/B 的到达时间,与上方看到的 mean/sigma 都不一样: 当考虑第二差路径时,则会先把 nsigma 最差路径排除,因为它已经报过了,所以剩下就在path2/path3 中最保持最差的运算,因此,这里的最差均值还是来自于 in2 的 0.193,nsigma 则是 in3 的 0.260:report_timing -to out1 -nworst3 (nworst=2, Path3) >> 如果定义了起始点 in3, report_timing -from in3 -to out1 的报告则会基于实际路径,看到和上面不同的sigma: 而最后一条时序路径就会和定义了起点 in2 看到的一样:report_timing -to out1 -nworst3 (nworst=3, Path2) >> report_timing -from in2 -to out1: 由上可知,当路径中的多输入单元越多的时候,很可能用户在”-to endpoint nworst > 1” 的 report 中看到的和 “-from -to”不同的具体路径越多,而且相差可能越大。© 2025 Cadence Design Systems, Inc. 版权所有。在全球范围保留所有权利。Cadence、Cadence 徽标和 www.cadence.com/go/trademarks 中列出的其他 Cadence 标志均为 Cadence Design Systems, Inc. 的商标或注册商标。 来源:Cadence楷登

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈