ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

数字IC设计功耗分析全流程:从RTL到签核的实践指南

数字IC设计功耗分析全流程:从RTL到签核的实践指南 功耗分析是数字IC设计里绕不开的硬骨头。很多刚入行的工程师RTL写得很溜仿真也跑得通一到功耗分析就抓瞎不知道该看哪些文件、算哪些数字更不知道拿到报告后怎么下手优化。与此同时这恰恰是数字IC设计面试里的高频考点无论面的是基础概念还是项目经验功耗相关内容几乎每轮都会被问到。这篇文章我打算结合自己做过的多款SoC功耗分析项目把功耗分析从原理到工具、从实操流程到面试答题套路完整地捋一遍帮正在学数字IC设计或者准备IC设计岗位面试的同学少走弯路。先说清楚功耗分析到底解决什么问题。芯片做出来以后要供电供电就有电流电流流过电阻就发热发热会影响性能、可靠性和寿命。对移动设备功耗直接决定电池能用多久对高性能计算芯片功耗决定散热方案和服务器电费对穿戴设备功耗几乎是最核心的指标。功耗分析的终极目的就是在一款芯片还在图纸阶段时就能准确预估它的耗电情况找出哪里在浪费电并且指导前端做优化。这不是锦上添花而是流片前必须通过的关卡。1. 数字IC功耗分析的核心概念与分类1.1 为什么功耗分析如此重要先看功耗分析在整个数字IC设计流程里的位置。一个典型的设计流程是架构设计、RTL编写、功能验证、逻辑综合、物理实现布局布线、时序收敛、功耗与信号完整性签核、流片。过去很多团队把功耗当作后端的事情等到布局布线完了才想起来看一眼功耗报告结果往往发现超标。超标以后要改就得回到RTL层面重新设计电路或者调整架构甚至重新制定电压频率规划这个代价非常高一次ECO改版的成本动辄几十万美元还会让整个项目周期往后拖几个月。所以现在业界的普遍做法是把功耗分析从后端前移到RTL阶段在写代码的时候就评估模块级功耗在综合之后做门级功耗分析在后端做精确签核。越早发现问题修复成本越低。功耗分析还有一个不可忽视的作用应对电迁移和电压降。芯片内部互联线很细电流密度过大会导致金属原子迁移时间长了会断路或短路这种失效模式不可预期。功耗分析算出的电流分布是电压降和电迁移签核的输入两者是连在一起的。换句话说不做功耗分析芯片可能“短命”流片回来的样品跑几个月就坏了这是任何一家公司都不能接受的。1.2 动态功耗与静态功耗的区别功耗在CMOS电路里分为两大类只要面试数字IC设计这两个概念必须张嘴就来。第一类是动态功耗。CMOS电路在工作时输入信号翻转导致输出节点对负载电容充放电这个过程消耗的功率可以用一个公式估算Pdyn α · CL · VDD² · f。其中α是翻转率toggle rate表示每个时钟周期内节点发生翻转的平均次数CL是负载电容包含晶体管的漏电容和互联线的寄生电容VDD是工作电压f是时钟频率。这个公式是数字IC功耗分析的灵魂。因为所有优化手段本质上都是在动这四个参数降电压能带来平方级收益降频率线性降低动态功耗减小负载电容需要工艺和版图优化降低翻转率需要逻辑设计和架构设计。第二类是静态功耗。即使电路不翻转晶体管关断状态下也存在漏电流主要是亚阈值漏电和栅极漏电。静态功耗的粗略公式是Pstatic I漏电 · VDD。在先进工艺节点比如7nm、5nm漏电功耗占比越来越高有些高密度设计里静态功耗甚至能占到总功耗的三四成所以不能忽略。面试官问起这两类功耗最容易追问的是动态功耗公式里α怎么来以及静态功耗为什么在先进工艺下越来越大。亚阈值漏电是阈值电压降低导致的次效应阈值越低漏电越大栅极漏电是栅氧化层变薄导致的隧穿电流。这两个点了能答出来面试官就会觉得你的基础是扎实的。1.3 功耗在各个设计阶段的分析精度功耗分析的精度不是一成不变的它和设计的成熟度强相关。RTL阶段没有门级网表只能用行为级模型估算精确度大概在30%到60%之间逻辑综合后有了门级网表虽然没有布局布线后的精确电容数据但可以根据线负载模型估算精度能到20%到30%左右布局布线完成后有了实际的RC寄生参数和时钟树这个时候用SPEF和SDF做精准功耗签核精度可以做到10%以内。很多人误以为工具算出来的功耗就一定是最终数字其实不是。工具的好坏、激励文件的准确度、工艺库的精确度都会影响结果。尤其是激励SAIF文件和VCD文件里的翻转率如果不准确功耗分析就没有意义。业界常说要“垃圾进垃圾出”这个原则在功耗分析里特别真实。2. 功耗分析工具选型与完整流程2.1 主流功耗分析工具对比功耗分析工具现在基本是三家在争前端和后端都能看到Synopsys的PrimeTime PX后端主打Cadence的Voltus还有Siemens EDA的PowerPro主要用于RTL级别的快速功耗评估。如果用一句话概括工具定位PowerPro是早期侦探PrimeTime PX和Voltus是后期法官。PowerPro在RTL阶段就能做功耗估算和宏模块级功耗优化帮助架构师快速看趋势精度一般PrimeTime PX是最普及的门级功耗签核工具可以直接吃综合后的门级网表和时序收敛后的寄生参数同时还复用STC的时序库比较容易上手主流公司都在用Voltus的优势在于和Innovus后端流程配合更顺能精确分析IR drop和电迁移在高性能计算和超大规模芯片里用得比较多。工具选择主要看公司已有的流程生态。如果是项目组已经在用PT做时序收敛功耗分析顺手就接PrimeTime PX因为可以复用同一个SDC约束和工艺库不用额外折腾数据格式。如果是从后端Innovus出发做mentor装配并用Voltus做IR drop分析那就让功耗签核也用Voltus省掉文件转换的麻烦。2.2 从RTL到门级的行为级功耗评估先从功耗分析的早估阶段讲起。RTL级功耗评估最常用的办法是拿仿真跑出来的翻转率数据通常是VCD格式或者用SAIF格式记录喂给功耗分析工具工具结合RTL模型和工艺库的统计信息估算每个模块的功耗。这个阶段最大的难点是获得可靠的翻转率。没有翻转率功耗估算无从谈起。RTL仿真的时候我通常会在testbench里跑一段有代表性的业务负载让模块真正动起来然后用工具自动统计每个模块的信号翻转情况。比如验证一个视频解码模块就要拿真实码流去仿真而不是只跑个简单复位和寄存器读写测试那样翻转率完全失真。工具方面PowerPro在RTL阶段可以直接读RTL文件、SDC约束和工艺库它的优点是速度快、不依赖门级网表。工程师在架构阶段就能知道“这个模块占整颗芯片功耗的30%其中有80%是时钟网络带来的”这些信息对架构师做模块划分很有参考价值。很多公司会在这个阶段做宏功耗占比排名用来决定哪些模块要加时钟门控、哪些模块要考虑掉电设计。2.3 门级功耗分析的核心流程与数据准备到了门级功耗分析流程就正式起来了。我先列一个我常用的标准流程然后逐个拆解准备网表文件综合后的门级网表或布局布线后的带时序网表准备工艺库标准单元的db/ndm库文件里面包含功耗模型准备时序约束SDC文件定义时钟、IO时序、工作模式准备翻转活动文件VCD或SAIF文件这是功耗估算的输入加载SPEF文件布局布线后提取的RC寄生参数文件用于精确电容读入SDC做时序更新启动功耗分析工具设置分析模式平均功耗模式、时序窗口模式或峰值功耗模式生成功耗报告按模块、按层级、按实例、按类型汇总功耗这中间最容易出问题的就是两个逻辑库里功耗模型是否完整VCD文件生成得是否合理。逻辑库里的功耗模型是功耗计算的基石库里每个标准单元都要有内部的能耗表energy table和漏电表leakage table通常按输入状态翻转、输出负载和输入翻转时间建立查找表。如果库不完整工具要么报错要么估算出来的数字严重偏差。VCD文件则是仿真过程中把所有信号翻转记录下来的文本文件文件体积爆炸性增长是家常便饭。一个几毫米级别的SoC跑几十万拍仿真VCD文件就可能达到几十个GB。所以很多项目里不做全芯片VCD只做重点模块或子系统的VCD然后用其他模块的RTL平均翻转率做补充。这也是为什么SAIF文件现在流行起来SAIF可以按层次汇总翻转信息文件体积比VCD小几个数量级但对仿真器有特定要求。2.4 三种功耗分析模式与适用场景功耗分析不是只有一种“平均功耗”的概念。实际工程里至少会做三种模式的分析。第一种是平均功耗分析主要看芯片在长时间稳定工作时的平均耗电这个值决定了电池续航和散热设计的基线。方法是对一段足够长的运行时间内的翻转率做平均再代入动态功耗公式算出总功耗。平均功耗适合评估芯片的整体功耗预算。第二种是时序窗口功耗分析也叫时间感知功耗分析。工具会按时间窗口统计每个窗口内的最大/最小功耗并给出不同窗口的功耗分布。这个很适合找出“突发功耗场景”比如整颗芯片唤醒瞬间、多模块同时触发DMA传输的瞬间。这些尖峰功耗即使持续时间短也可能触发电压跌落或电流超限必须提前暴露。第三种是峰值功耗分析用来确定电源地的最大瞬时电流主要看IR drop和电迁移签核时能不能过。峰值功耗分析需要极强的约束和激励输入通常会用专门的向量跑仿真保证在最坏场景下激活所有模块的同时翻转。很多大公司有专门的功耗团队就是在做这种复杂场景的峰值电流分析和封装的电源完整性仿真。这三种模式不是每个项目都全做的。低功耗IoT项目重点做平均功耗手机主控芯片必须做峰值功耗和IR dropAI加速芯片由于算力密集要同时关注平均功耗和时序窗口的峰值情况。分析模式的选择要在项目启动时就跟流程负责人确认等到后端做完才提需求就晚了。3. 功耗分析的实操细节与气候参数处理3.1 翻转率Toggle Rate的正确打开方式翻转率是功耗分析里最容易糊弄也最关键的一个概念。翻转率怎么定义在单位时间内信号节点发生翻转的次数除以时钟周期的总翻转机会数。比如时钟频率是100MHz1秒钟有1亿个时钟周期如果某个信号在1秒内翻转了5000万次它的翻转率就是0.5。不同的是翻转率有两种统计口径信号级翻转率和模块级平均翻转率。信号级翻转率是每个网络单独统计的模块级平均翻转率是把模块内所有信号翻转率按电容加权平均得到的。功耗分析工具会根据每个单元输入端的翻转率、输入负载和输出电容来计算该单元的功耗。在实操里拿到VCD之前我一般会根据经验先估一个默认翻转率来做快速估算比如数据总线的默认翻转率通常按0.15到0.25估算时钟网络则按1.0估算因为每个周期都翻转两次异步复位信号按0.01算。没有经验的话启动功耗分析工具前可以先看看库里有没有默认值。但注意估算值永远只能用于早期设计方向判断最终签核一定要用带真实业务负载的VCD或SAIF。生成真实翻转率数据我的心得是给testbench加一个“典型业务场景任务”这个任务要能实际驱动待测模块的所有主要数据通路而不是只做寄存器配置。举个例子一个UART控制器光配置寄存器不发送数据那它的翻转率几乎为零是否真正连续收发数据功耗差异能差十倍以上。不能偷懒。3.2 SDC约束在功耗分析中的作用功耗分析的准确性高度依赖SDC约束。SDC定义了时钟、异步路径、false path等时序信息这些信息虽然用途是时序分析但功耗分析同样依赖它。比如SDC中定义了时钟分组工具就知道哪些信号是同步时钟的哪些是异步的这样在统计翻转率时可以排除异步信号的毛刺干扰。更重要的是SDC里如果遗漏了某个时钟的定义工具就不知道该时钟的控制信号什么时候有效、什么时候无效功耗估算就会偏大或偏小。我在实际项目中就踩过这样的坑有一层SoC的SDC里没有定义低功耗时钟门控单元的时钟使能关系工具在估算某个模块的时钟树功耗时把该模块的时钟网络当成无门控的常开时钟来算结果报出来的功耗比实测高出一大截。后来排查很久才发现是SDC缺少时钟门控的latency约束和分析模式定义。所以每次跑功耗分析前我都会先让时序团队SDCC用户检查一遍约束文件确保包含完整的时钟定义、时钟分组、时钟使能分析以及低功耗模式的case analysis比如置位为0/1的信号组合再用ptpx跑一轮。这一步骤省下来的时间比每一次功耗迭代花的时间都要多。3.3 工艺库与Parasitic文件对结果的影响工艺库是功耗分析数字准确性的底数。库文件里每个单元都有功耗表功耗表由PVT条件工艺角、电压、温度决定。所以跑功耗分析时不同PVT下跑出来的功耗差异非常大。正常流程中功耗签核一般会在最差工艺角FF/SS和标称电压下跑同时关注温度变化对漏电功耗的影响。高温下漏电指数级增大所以在热设计功耗TDP评估时要选择高温高漏电的工艺角跑静态功耗在电池寿命评估时又要选择典型温度下的功耗。这个“场景-工艺角对应关系”最好在项目文档里写清楚否则不同团队跑出来的数字对不上开会就是对账扯皮。SPEF文件是布局布线之后的寄生参数文件里面包含了每条互联线的RC值。同样的门级网表综合后没有SPEF功耗估算用的电容是线负载估算模型布局布线后加载实际SPEF功耗估算就开始贴近物理真实。所以如果是要交给客户或测试组做功耗签核必须用后端的SPEF不要用综合后的网表。另外要注意SPEF的分段和失配问题CRC做不好会导致部分网络无RC退化功耗结果偏低。3.4 VCD文件的生成与大数据量项目处理VCD文件是整个功耗分析流程中最容易产生工程灾难的环节。一个中规模SoC跑100微秒仿真信号数量达到几十万个VCD文件动辄几十GB。我处理过一个AI芯片的数据通路整个芯片有约2000万个实例跑完业务场景的仿真后VCD达到700多GB直接把存储服务器打挂了。遇到这种情况我一般会做三件事第一用SAIF替代VCDSAIF是一种压缩的翻转活动文件只保存翻转次数和停留时间不用保存每个时钟周期的电平状态文件体积能缩小50倍以上仿真器在生成SAIF时开销也更低第二按模块划分只给功耗热点模块生成详细的VCD或SAIF其他低频模块用平均翻转率替代这样能在保证精度的同时控制文件大小第三根据需求降低仿真精度比如能用1ns分辨率生成SAIF的地方没必要用1ps分辨率越高文件越大对功耗结果的影响却微乎其微。正确生成VCD/SAIF后还要检查仿真时钟与SDC中的时钟是否一致以及是否有X态扩散到数据总线。X态在功耗分析里会被当作无翻转信号处理这会严重拉低翻转率导致功耗低估。我通常在工具加载完VCD后先看一个关键模块的翻转率分布如果发现大量信号翻转率为0就要回去检查仿真里是否出现了X态抑制。4. 功耗优化方法与高频面试考点4.1 功耗优化措施从架构层到底层功耗优化不是功耗分析工具能独立完成的它是贯穿整个芯片设计流程的系统工程。面试官问起功耗设计时如果只回答“降电压、降频率、门控时钟”那说明还停留在背书阶段。真正有效的方法自上而下应该有能力。从架构层说最直接的是动态电压频率调整DVFS和功耗域划分。DVFS允许芯片在不同负载下运行不同的电压频率低负载时降频降压能耗呈显著下降。功耗域划分配合电源门控让不用的模块直接断电这个思路在手机SoC里几乎是标配。面试时你能举出一个实例比如“调制解调器空闲时整个基带域断电通过PMU的PMIC控制电源开关”这个回答密度就出来了。从RTL/逻辑层说时钟门控是应用最广的办法基本所有数字IC项目都会在RTL里插入ICG单元让不用的寄存器块停止翻转。数据门控是从源头降低信号翻转的频率比如总线置为固定值减少毛刺操作数隔离是其中一个典型实现当运算模块闲置时把输入操作数锁存为常数使内部逻辑不再翻转。从电路/版图层说可以用不同阈值单元替换重要路径上的单元用高阈值单元降低漏电还有多电压域将相同频率但不同电压需求的模块用level shifter隔开包括版图里通过增加金属宽度降低线电阻从而降低动态功耗。面试官最喜欢追问一个点“为什么时钟门控能有效降功耗”这时候就需要回扣到动态功耗公式。时钟树的负载是整个芯片里最大的时钟网络每个周期都在翻转翻转率接近1电容还特别大如果不加门控即使寄存器不用时钟树依然在消耗大量动态功耗。加门控之后空闲模块的时钟信号不翻转动态功耗直接就按比例掉下来而且收益是全局的。4.2 数字IC设计面试中的功耗高频真题把热词里提到的“ic数字设计面试题”具体落到功耗这个主题上整理我确实见过的几类真题每道题的答题思路也都一起列出来。第一类概念类。“动态功耗的组成有哪些”答题要点是充放电功耗、短路功耗和翻转功耗其中翻转功耗是主要部分。“降低功耗的措施有哪些”这个时候不能只答降低电压和频率要按层次把架构级、RTL级、门级、版图级的措施都答出来并且能解释每个措施如何作用到功耗公式的哪个变量上。第二类场景类。“你的项目里如何评估功耗”这时候需要把上面的流程完整说一遍先获得真实激励文件门级网表、SDC、SPEF再用PrimeTime PX/VLC生成报告再定位功耗热点并优化。“PMU是什么”回答是power management unit包含DVFS、电源门控、时钟门控、睡眠模式等最好能结合项目说明PMU是怎么工作的。第三类计算类。“已知负载电容、电压、频率、翻转率请估算动态功耗。”这个就是套公式但面试官会故意设陷阱比如给的是奇偶翻转次数要求换算成翻转率或者给的电压是平均电压而非峰值要会换算。平时就要练熟这个公式的推导和单位换算。第四类协议与低功耗结合类。比如热词里的“axi协议数字ic设计面试”AXI总线和低功耗往往一起考比如“AXI协议支持哪些低功耗特性”其实是在问Q-channel和P-channel。CPF中的Q-channel用于低功耗状态通信P-channel用于power state change request这两个通道是AXI4低功耗接口的一部分。答题时要能说明Q和P通道如何配合实现低功耗握手。这些题目看起来分散但背后都指向同一个能力对功耗分析链路有全流程的把握不是背几个名词。面试官看的是你能不能把功耗分析和设计、验证、后端流程串起来。4.3 实战经验一只芯片功耗优化的完整案例复盘这里我复盘一个实际做过的例子一款低功耗物联网SoCCortex-M0内核加多个外设目标休眠功耗小于10微安。刚开始拿到的是第一版RTL没有做任何功耗设计综合后估算的静态功耗达到了15微安严重超标。过程分三步优化。第一步看漏电报告。工具出来后发现漏电主要来自标准库的高压IO和一组始终保持供电的调试寄存器。解决方案是把不用的调试模块放到掉电域用电源门控把供电断开这样静态功耗立刻降了下来。第二步看动态功耗发现RTC模块虽然名义上处于低频模式但内部有一个无门控的计数器电路一直以32kHz翻转没用VDD_MCI调控。给它加上时钟门控并且放到亚阈值工作区动态功耗降了一大截。第三步重新生成带业务负载的SAIF把spi通信、gpio中断等实际场景都覆盖到再来一轮精确签核最终休眠电流做到了7.8微安。这个项目给我最大的启发就是功耗分析不只是数据和报告的问题更重要的是在设计初始就要有功耗意识。哪一个模块常供电、哪一段时钟常开、哪一类寄存器没有门控都是要在RTL阶段就拍板的。等到后端你再想加掉电域的代价就大了电源规划、电平转换、隔离cell都要重做。4.4 功耗报告应该怎么看很多初学者拿到功耗报告会陷入两个极端要么只看总功耗一个数字要么一头扎进几千行的实例功耗表里出不来。我建议先分层看。第一层看总功耗和功耗密度。总功耗决定系统能容多少热功耗密度决定热点位置和封装的散热能力如果某个局部密度特别高就需要重点关注稳压模块。第二层按功耗构成拆解看动态功耗和静态功耗的占比。动态占大头的时候去优化翻转率静态占大头的时候去找漏电大户这个方向是清晰的。第三层按模块看分布找排名前十的功耗模块然后一个个往下钻。比如某个模块动态功耗异常高我通常会去看它的详细报告看是内部逻辑翻转太多还是输出负载过大驱动了大电容的pad还是后级模块的回读总线在翻转。这里分享一个小技巧PowerPro或者PT PX都有层次化功耗报告的功能可以在模块例化的层级上汇总功耗我习惯先看顶层树状汇总再逐层下钻而不是直接看扁平化报告。扁平化报告看不出模块边界和复用情况排错时定位速度会非常慢。5. 常见问题与排查技巧实录5.1 功耗分析结果异常时的排查步骤实际项目中功耗分析失败或者结果异常是家常便饭。我把常见问题整理成速查表帮大家按图索骥。第一结果明显偏大。先检查VCD/SAIF里是否包含了模拟激励期间的非实际毛刺。毛刺会把翻转率拉高造成功耗虚高。解决方法是加时序的glitch过滤正确读入SDF或者在生成VCD时用门级仿真并加上SDF延迟。第二结果明显偏小。优先看是否有X态传播和idle状态占主导。如果某个关键数据总线一直是X说明仿真激励没有真正激活整个数据通路。第三工具报错说功耗库缺失检查db库是否包含库功耗模型有些库为了省空间会缺leakage功耗表这种库直接换一套全库。另外IR drop分析跟功耗分析互相验证也很有用。如果功耗分析显示某个区域功耗非常大但IR drop图却显示该区域电流密度很小很可能是功耗分析里的翻转率或电容数据误差大反过来如果IR drop严重但功耗报告平平无奇也要回头审查功耗分析的激励质量。两个分析是可以交叉验证的别只看一张图。5.2 常见错误及实用避坑清单碰到功耗相关的坑我总结了自己的避坑清单工作三年以上的工程师大概会感同身受生成SAIF的仿真器和功耗分析工具的精度设置不一致导致SAIF有效位被截断翻转率低一个量级。2. 忘记定义scenario和operating condition比如best case/worst case工具用了默认慢角结果漏电功耗被严重高估。3. 多个SAIF文件叠加时不考虑重叠时间把同一段仿真时间算了两遍总功耗翻倍。4. 时钟树综合完成之前就跑门级功耗时钟网络功耗被严重低估因为时钟树插入后的电容是综合结果显示不了的。5. 漏了模拟模块和IO的功耗数据这些模块通常不在标准数字分析流程里但往往占了整颗芯片功耗的很大一部分。每一个坑都对应一场真实的项目会议。比如第五个我有一次做一颗混合信号芯片数字部分功耗算出来只有预期的一半查了一圈发现IO和模拟IP的功耗没有计入总预算最后加进去之后又超了。这个经验告诉我功耗分析开始前先建立全芯片功耗预算表把每个macro和IP的功耗来源都列出来数字部分用工具算模拟部分用厂商demo板和SPICE仿真数据填再留出设计余量这样后期不会出现严重偏差。5.3 低功耗设计的全景检查单做一个低功耗芯片项目最终签核前至少要过一遍这样的检查单是否定义了完整的电源域每个Power domain的电压和开关逻辑是否清晰是否所有寄存器都有时钟门控门控cell是否使用合适的低功耗元件是否做了操作数隔离总线高翻转率信号是否通过编码方式降低翻转活动是否对高频模块做了多bit寄存器合并降低翻转电容是否存在constant net直接连到高摆幅输入导致CMOS漏电增加DVFS表和PMIC的控制接口是否在仿真中验证过VCD/SAIF激励是否覆盖了所有典型工作模式和低功耗模式温度相关的漏电功耗是否在最差条件跑过IO和模拟部分是否纳入了全芯片功耗预算这份清单看起来很长但真正做过一两个完整项目后这些检查会沉淀为肌肉记忆变成潜意识的行为。面试的时候能顺口说出其中三四个点并且结合项目展开来讲就已经能证明你的功耗分析能力不是纸面功夫了。6. 最后聊一点真实的体会在数字IC设计这条路上功耗分析很容易被当成“跑个报告而已”但真正深入下去你会发现它是串联前端架构、RTL设计、后端物理实现和封装物理验证的关键节点。很多工程师在转岗或者跳槽时能把功耗分析讲清楚的人往往也能在项目里承担更核心的角色因为功耗洞察力本身就是衡量一个人全局视野的标尺。我做功耗分析这些年最大的感受是工具只是放大镜真正的火候来自对电路行为的理解。同样的一个模块用什么激励、按什么场景跑、怎么设置约束结果可能差出一大截。如果没有扎实的底层知识拿到一份报告是没有能力质疑它的更不会写出有助于架构迭代的优化建议。给刚入门的朋友一个建议不要只在跑工具的时候才打开功耗报告平时看RTL的时候就可以自带一个“功耗视角”多问一句“这段逻辑的翻转率高不高”“这个模块有必要那么频繁地唤醒吗”这种习惯一旦养成你的设计能力会和仅专注功能实现的同事拉开差距。最后再留一个小技巧面试前准备一道完整功耗案例的复盘从问题、方法、结果到改进方案讲清楚比背一百个名词都管用。
返回列表