尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

55nm ULP物理IP方案:低功耗SoC设计的核心技术与实践

55nm ULP物理IP方案:低功耗SoC设计的核心技术与实践 1. 为什么要做55nm ULP的IP方案这两年做低功耗SoC的人尤其是做IoT、可穿戴、医疗电子这块的一定会碰到一个绕不开的问题工艺节点到底选多少纳米合适往先进制程走7nm、5nm功耗确实低但流片成本高得离谱小团队和做专用芯片的团队根本扛不住。往老工艺走180nm、130nm倒是便宜但漏电和动态功耗压不下来做电池供电的产品非常吃力算下来一年换两次电池产品根本没法卖。55nm就是一个很典型的甜点工艺。这个节点不是最先进的但胜在成熟、稳定、成本可控而且功耗表现远比老工艺好。关键是55nm节点本身也分多种口味有标准逻辑工艺有带嵌入式Flash的工艺有高压器件工艺。对于一个面向超低功耗场景的完整解决方案来说光有工艺还不够还需要一套适配这个工艺的物理IP——也就是数字芯片设计里俗称的“库”。没有这层IP设计人员拿到工艺也做不了任何东西就像有了一块很好的画布但手里没有画笔和颜料。我最初接触这个项目的时候团队的目标很明确做一套完整的、能支持能量受限应用的55nm超低功耗物理IP方案覆盖芯片设计全流程。所谓ULP就是Ultra-Low Power超低功耗。这个方向听起来不复杂但真正做起来才发现里面每一个环节都有很多坑从库结构的设计到定制存储器的功耗优化再到与后端EDA流程的配合每一层都要抠细节。这篇文章就把这套方案的核心技术点、实测中的关键决策、以及我踩过的坑一并梳理出来给正在做低功耗SoC或者准备评估55nm工艺的团队一个直接可参考的路径。1.1 核心需求低功耗不等于简单降压很多人一提到低功耗设计第一反应就是降压。电压降下来动态功耗按电压平方下降确实是立竿见影的办法。但实际工程里事情没那么简单。把内核电压从1.2V降到0.9V甚至用0.6V左右的近阈值电压来跑确实能大幅降低动态功耗。但电压一旦降下来晶体管的驱动能力就会减弱单元延迟变长时序收敛变得极其困难。更重要的是很多IP在低电压下会出现功能问题存储器的读稳定性和写能力退化电平转换器的延迟变得不可控模拟模块的偏置点漂移。这些问题不是靠简单降压能解决的它需要IP本身从底层设计上针对低电压工作点做优化。所以这套55nm ULP物理IP方案的核心思路不是单纯“选一个低电压”就完事而是从器件选择、单元库架构、存储器设计到EDA实现方法整个链条都围绕低电压高能效来重构。1.2 这套IP方案解决什么问题那这套方案到底能帮设计团队解决哪些现实问题我总结下来主要集中在三个方面。第一降低长期待机功耗。IoT设备大部分时间处于休眠状态只有极短时间在工作。待机功耗的主要来源是漏电——晶体管的亚阈值漏电和栅极漏电。ULP方案通过采用高阈值器件、电源门控单元、深睡眠模式把待机功耗压到微瓦甚至纳瓦级别。第二提升工作状态下的能效比。设备在工作时我们希望用最少的能量完成最多的计算。这要求动态功耗与性能的平衡。ULP方案提供了多电压域设计的完整支持不同模块可以工作在各自最优的电压点配合DVFS动态电压频率调节在保证响应速度的前提下把每一焦耳能量都用在刀刃上。第三延长电池寿命。这是终端客户最关心的指标也是我们一切优化工作的最终衡量标准。同样的电池容量用了高效的ULP方案之后设备续航时间可能是普通方案的2到3倍。这个方案的设计目标就是覆盖从晶圆工艺到芯片签核的完整链路目标用户是那些做超低功耗SoC团队或者需要在低功耗场景下快速推出芯片的团队。2. ULP物理IP的核心技术构成现在进入正题说说这套55nm ULP物理IP方案具体由哪些部分组成每个部分的技术关键点在哪里。2.1 多阈值标准单元库低功耗的基石标准单元库是整个数字芯片设计的地基。ULP方案里的标准单元库和普通55nm工艺的库最大的不同在于阈值电压的分配策略。55nm工艺下晶体管阈值电压并非单一固定值代工厂通常会提供多个阈值档位的器件。高阈值HVT器件漏电小、延迟大低阈值LVT器件速度快、漏电大。ULP标准单元库在设计时就要考虑如何在这两者之间做最优搭配。为了兼顾功耗和性能我通常建议团队采用混合阈值策略关键路径上的单元使用低阈值器件保证速度非关键路径和存储类单元使用高阈值器件压低漏电。具体比例需要根据设计需求做功耗时序的权衡一般建议HVT:LTVT比例为7:3到8:2之间起步再根据时序余量动态调整。还有一个很关键的细节是单元库的驱动强度划分。ULP场景下单元扇出普遍较小时钟网络和总线驱动等部分又需要强驱动单元。所以库的驱动强度档位要分布得足够细从最小的1X到最大的16X甚至24X方便综合与布局工具做精细调节。2.2 低电压SRAM编译器存储功耗的精细控制芯片里的存储单元尤其是缓存和寄存器堆往往是功耗大户。在总功耗里SRAM的漏电占比通常超过三分之一甚至在低功耗模式下比例更高。所以ULP方案里SRAM编译器是另一个核心模块。55nm ULP SRAM和消费级SRAM的差别主要体现在几个方面。一是支持极低的工作电压。标准SRAM通常只能在0.9V以上正常工作ULP SRAM通过改进存储单元结构比如采用8管单元替代传统6管单元同时增加写辅助电路把最低工作电压压到0.6V甚至更低。8管单元将读操作和写操作端口分开避免读干扰问题这是低电压下保证存储稳定性的关键。二是支持多种省电模式。除了常规的保持模式ULP SRAM还有深度睡眠模式在这个模式下可以关闭存储阵列的电源只保留数据保持所需的最基本漏电路径。此外还有具备电源关断Power Shut-off能力的实现方式用一个外部信号控制存储器的电源开关。三是分块供电架构。大容量SRAM可以划分成多个小阵列块Bank根据访问地址只激活对应的块其他块可以处于低功耗保持状态。这样可以显著降低读写操作时的动态功耗。这块逻辑的实现细节比较多后文我会结合具体流程再展开。2.3 电源管理IP组件除了库还需要这些一个完整的ULP物理IP方案不只是标准单元库和SRAM还需要一整套电源管理相关的IP组件。这些组件看似不起眼却在低功耗设计中起着关键作用。电平转换器Level Shifter是其中最重要的组件之一。在电压域交叉的地方不同电压域之间的信号需要做电平转换。ULP方案里的电平转换器需要特别关注两个指标转换延迟和功耗。随着电压差的增大转换延迟会显著增加需要在IP设计阶段就做好时序特征化确保在签核时能准确分析跨域路径。另外还有双向电平转换器、使能控制信号多位宽转换等各类变体覆盖不同场景。隔离单元Isolation Cell解决的是掉电域和上电域之间的信号隔离问题。当一个电压域被断电后如果没有隔离单元掉电域的输出被浮空会向常开域灌入不稳定的电平导致逻辑误触发甚至闩锁效应。ULP方案会提供不同逻辑类型的隔离单元比如AND型断电时输出0和OR型断电时输出1供不同需求选择。电源门控单元Power Switch Cell和常开单元Always-on Cell也是必备组件。前者用于实现电源域的关断与唤醒后者则用于在掉电期间保持特殊信号如唤醒信号、保持寄存器的有效性。这些组件和标准单元库需要协同设计保证在物理实现时能配合电源网格布线、IR Drop分析等后端流程。2.4 定制IO和模拟IP因为很多超低功耗应用还需要和外部设备交互所以方案里一般还会包含一组面向低功耗场景的定制IO和模拟IP。比如支持宽电压范围的GPIO、低功耗比较器、带隙基准源。这些IP不是实现数字功能本身但它们是完整SoC中不可获取的一部分。定制IO和模拟/混合信号IP需要注意与数字库的接口时序一致性。比如IO的数字侧要能和标准单元库无缝衔接时序库要覆盖所需PVT角模拟IP则要保证在目标电压点下能正常工作且环境温度范围满足应用要求。这些往往需要和代工厂协同开发或者从第三方IP供应商处采购授权是ULP方案里最需要时间提前预订的部分。3. 从选型到签核一个完整的落地流程有了上面的基础认识接下来就是最关键的部分做一款低功耗芯片时怎么把这套物理IP方案用起来。这部分我会以一个典型的低功耗MCU项目为例完整走一遍从IP选型到实现签核的全流程。3.1 第一步需求分析与IP选型在项目启动阶段先不要急着写RTL代码一定要先把功耗目标和性能目标定量化。你是做遥测传感器、可穿戴设备还是智能门锁不同的产品功耗目标差异非常大直接影响IP的选择和使用方式。举例来说一个简单的环境传感器节点可能需要待机功耗小于1微安工作模式功耗小于50微安/MHz。而一个智能手表SoC可能需要更高性能运行功耗指标就会宽松一些。把这个目标写清楚之后再反推选择哪些IP。关于IP选型有几件事我建议一定要做第一件事仔细核对IP的PVT工作范围表。所谓PVT就是工艺角、电压、温度的缩写。ULP库一般会覆盖多个工艺角SS、TT、FF电压范围从0.6V到1.32V通常针对1.2V标称工艺温度范围从-40℃到125℃。但要注意并非所有标准单元在所有电压点都有完整时序信息。有些库在0.6V以下只提供功能仿真模型不能用于时序签核。这非常关键如果这些细节没确认清楚后边做时序收敛时会发现模型缺角整个流程都会卡住。第二件事签核工具兼容性。确认时序库.lib能兼容你正在使用的EDA工具版本。现在主流的签核工具对Liberty格式支持已经比较成熟但还是要做一次全角全片的读入验证确保没有模型解析错误。第三件事和代工厂的Design Kit版本对齐。物理IP是代工厂设计和验证的所以需要和你用的PDK版本保持一致。如果PDK更新了而IP还是旧版本两者间会存在一致性风险甚至导致DRC通不过。3.2 第二步低功耗设计规划与UPF编写低功耗设计不只是IP层面的事架构设计同样重要。以我们当时的MCU项目为例我们在RTL设计阶段就规划好了三个电压域常开的电源管理域、可关断的核心逻辑域、以及独立供电的备份域给实时时钟和备份寄存器使用。这个架构在实现阶段需要有一个统一的描述文件来约束EDA工具就是UPFUnified Power Format。UPF是低功耗设计的标准格式它描述了电源域划分、供电端口连接、电源开关策略、隔离策略和电平转换策略。下面是一段典型的UPF描述片段# 定义电源域 create_power_domain PD_CORE -include_scope {u_core} create_power_domain PD_ALWAYS_ON -include_scope {u_pmu} # 定义电源网络 create_supply_port VDD_CORE -domain PD_CORE create_supply_net VDD_CORE_NET -domain PD_CORE connect_supply_net VDD_CORE_NET -ports VDD_CORE create_supply_port VDD_ON -domain PD_ALWAYS_ON create_supply_net VDD_ON_NET -domain PD_ALWAYS_ON connect_supply_net VDD_ON_NET -ports VDD_ON # 定义电源关断策略 create_power_switch SW_CORE \ -domain PD_CORE \ -input_supply_port {in VDD_ON_NET} \ -output_supply_port {out VDD_CORE_NET} \ -control_port {sleep_control u_pmu.sleep_ctl} \ -on_state {on_state {in} {sleep_control}} # 定义隔离策略 set_isolation ISO_CORE -domain PD_CORE \ -isolation_power_net VDD_ON_NET \ -isolation_ground_net VSS_NET \ -clamp_value 0 \ -applies_to outputs set_isolation_control ISO_CORE \ -domain PD_CORE \ -isolation_signal u_pmu.iso_ctl \ -location self这里有一个关键点-location self参数意思是把隔离单元放在掉电域内靠近输出端口。这样做的好处是当核心逻辑域掉电时输出信号在源头就已经被钳位常开域不需要依赖掉电域的任何东西。如果把隔离单元放在常开域侧那么掉电域输出到隔离单元输入的距离就变长了在掉电过程中这段线网可能变成浮空状态依旧是风险。我在项目里最开始就踩过一次这个坑后面会单独细讲。3.3 第三步逻辑综合与低功耗优化RTL写好、UPF写好后就进入逻辑综合阶段。这个阶段的目标是把RTL映射到标准单元库上同时满足时序、面积和功耗的约束。在ULP项目中综合阶段就要开始执行低功耗优化策略而不是等布局布线之后再做。逻辑综合阶段主要做这几件事第一时钟门控。这是最经典、也最有效的一种门控方式。时钟门控的基本思想是某个模块处于空闲状态时把它的时钟关掉这样时钟翻转造成的动态功耗就可以被避免。现代综合工具通常可以自动识别门控时机并插入时钟门控单元。我建议在设计代码里尽量把模块级使能信号写清楚让工具能够比较容易地判断门控时机。如果RTL写得混乱门控覆盖率就会下降。第二操作数隔离。在数据通路上当一个运算单元的输出在某个周期不被使用时如果输入继续翻转那么运算单元内部的动态功耗就被浪费了。操作数隔离的原理是在数据通路的输入端插入隔离逻辑当输出不被需要时锁住输入使内部节点不翻转。这个优化通常由综合工具自动执行但需要约束指定哪些模块可以进行操作数隔离。在低功耗MCU里算术单元和总线桥是需要重点关注的模块。第三多阈值单元替换。综合阶段默认使用混合阈值单元工具会根据时序路径的紧张程度自动将非关键路径上的低阈值单元替换为高阈值单元从而降低漏电。这个优化可以在综合阶段做也可以在布局布线后的优化阶段做。关键的约束是不要为了追求漏电把关键路径上的单元换得太慢应该让工具根据时序余量做权衡并设定好高阈值替换的比率上限。3.4 第四步物理实现——电源网格与布局规划到了布局布线阶段ULP项目和其他项目最大的差别在于电源网格设计。低功耗芯片通常有多个电源域每个电源域有独立的供电网络。在设计电源网格时需要考虑几个问题每个电压域的电流需求是多少IR Drop容忍值是多少电源开关单元的压降有多大这些问题直接影响电源网格的布线密度和宽度。在低功耗设计中经常见到的一个错误做法是把电源网格设计得和普通芯片一样只在顶层铺一层比较宽的电源走线。这种做法在ULP设计中会吃亏因为ULP芯片通常有很多处于待机状态的模块不工作只做漏电的补偿而真正处于活跃状态的模块又集中在很小的区域内。这导致局部的电流密度比平均电流密度大很多IR Drop问题容易被低估。推荐的做法是在规划电源网格时用功耗分析工具做一次初步的动态功耗预估再根据高功耗区域的分布在局部加密电源网格。电源开关单元的布局也很讲究。标准单元一般会放置在每个电压域的边界附近把整个域的电源网格和全局电源连起来。你可以把它们想象成水管里的阀门每个区域一个阀门。布局布线时要注意让开关单元的分布均匀避免出现某个区域的电流需要绕到很远才能到达开关单元的情况。有些物理实现工具支持自动摆放电源开关单元但要记住设置好开关单元的位置约束否则工具可能会把它们堆在一起。3.5 第五步签核——时序、功耗与可靠性签核阶段是芯片流片前的最后一道质量关。在低功耗项目中签核除了标准的DRC和LVS还必须重点关注三个专项检查。时序签核低电压下的时序分析要比标压复杂得多。特别是0.6V到0.8V这种近阈值区域晶体管的电流模型演变的非线性特性比较明显传统的NLDM模型精度下降明显需要更精确的CCS或ECSM模型。在做时序签核时不仅要看SS corner 125℃的最差时序还要关注SS corner -40℃的保持时间检查。低温下互连线电阻变小RC延迟变小但单元延迟的变化比较复杂有时会出现“先变慢后变快”的非单调现象所以全温度点检查不能省。功耗签核用功耗分析工具做功耗分解分别看动态功耗、内部功耗和漏电功耗的分布情况。再结合IR Drop分析工具检查每个电压域的压降是否达标。对于ULP设计漏电占比高是一个普遍现象如果发现某个模块的漏电异常偏高多半是高阈值替换率不够需要回溯到综合阶段重新做优化。可靠性签核主要是静电放电和电迁移检查。电迁移指的是金属互连在长时间高电流密度下发生原子迁移导致线路断裂或短路。在ULP设计中由于待机时间长某些持续工作的线路比如常开域的电源线和保持寄存器数据线需要特别关注电迁移风险。检查那些长时间处于导通状态、电流方向又恒定的路径确保电流密度在允许范围内。4. 低功耗设计最常见的几个坑做了几个ULP项目之后我整理了一份自己踩过和看别人踩过的高频坑清单。这里挑几个最有代表性的来说。4.1 隔离单元的摆放位置前面在讲UPF时提到过一次隔离单元位置的问题这里详细展开。当时我们在做一个带有备份域的可穿戴SoC主核心域PD_CORE在睡眠时会断电而备份域PD_BACKUP需要一直保持工作负责维护实时时钟和少量备份寄存器状态。两个域之间有几十根信号线需要交互。最初的UPF设置里隔离单元的-location属性被设置成了fanout意思是放在信号的扇出端——也就是接收端。这样做带来的问题是当核心域掉电后从核心域输出端口到隔离单元输入端的信号线上整根线的电压是浮空的。虽然隔离单元本身能把后续逻辑钳位住但这段线网的浮空电压会成为漏电路径并且如果浮空位置恰好落在缓冲器输入附近缓冲器的静态电流会显著增加。实测下来这种配置比把隔离单元放在源端self位置的配置多消耗了几微安的电流。几微安在普通设计中无所谓但在待机电流目标是1微安的设计里这是致命问题。解决办法就是在UPF里明确把隔离单元放在源端确保掉电域输出经过隔离单元钳位后再送出。物理实现时工具也会根据这个约束自动把隔离单元放在掉电域边界附近。所以如果你的设计中掉电域和常开域之间有信号交互一定要检查UPF里的-location self设置。4.2 近阈值区的时序违背这是所有做ULP项目的人都会遇到的硬骨头。把电压降到近阈值区域之后单元的延迟会急剧上升而且延迟随电压变化的敏感度会大大增加。换句话说在1.2V时电压波动100mV可能只造成10%的延迟变化但在0.6V时同样100mV的电压波动可能造成50%以上的延迟变化。这就带来一个连锁问题电源网络上的IR Drop稍大一点时序就可能崩掉。有一个项目团队在实现时把IR Drop目标设为5%的VDD听上去是业界常规标准但在近阈值工作电压下这个5%会造成时序路径上的延迟恶化非常严重。最后只能把IR Drop目标收紧到3%同时加密电源网格增加电源通孔密度才最终收敛。这个教训告诉我们ULP项目的IR Drop约束要根据实际工作电压来定不能拍脑袋套用默认值。4.3 存储器低电压下的稳定性问题SRAM在低电压下的稳定性问题是ULP方案里最容易被低估的。6管SRAM单元在低电压下有两个主要问题读稳定性下降读操作可能破坏存储内容和写能力不足写不进数据。这在近阈值区域尤其危险。所以ULP方案的SRAM通常采用8管单元并额外配置了写辅助电路。但即便IP本身做了这些优化实际使用时还是要注意容量和速度的选择。大容量、高速访问的SRAM在低电压下更容易出问题如果设计中确实需要大容量存储建议在架构上分成多个较小的SRAM块而不是一个大块。这样虽然面积上略有损失但稳定性和功耗表现都会更好。另外流片后的低电压测试一定要覆盖到位。我们之前在测试一颗样片时发现某些芯片在0.62V能正常工作但降到0.59V时出现偶发数据错误。这就是SRAM的写裕量在工艺波动下的差异导致的。所以量产测试时一定要在最低工作电压下做存储器扫描测试不能只看常温常压结果。4.4 电源切换和唤醒的瞬态问题低功耗芯片还有一个容易被忽视的场景——唤醒瞬间。当芯片从深度睡眠模式被唤醒电源开关单元导通掉电域的电容开始充电这个瞬间的电流冲击可能非常大。如果唤醒信号没有做时序规划多个电源开关同时导通瞬间电流可能达到几百毫安导致电源电压塌陷甚至引起整个系统复位。解决这个问题的方法有这么几个在唤醒控制逻辑中加入时序控制把电源开关单元分组让它们依次导通避免瞬时电流过大。可以用一个简单的移位寄存器依次给每组开关单元发送使能信号。同时在唤醒路径上加入延时单元给电源和地之间的去耦电容留出充电时间。这个设计要特别仔细因为如果是靠硬件状态机来控制时序一旦不对可能导致芯片永远唤醒失败。4.5 仿真阶段就要引入功耗意图验证最后一个想强调的点是UPF的验证不能拖到后端再做。在RTL仿真阶段就要引入功耗意图的验证。方法是在仿真环境中加载UPF文件配合低功耗仿真库验证各电源域的断电、隔离、唤醒行为是否符合预期。这样可以提前发现UPF描述中的逻辑错误比如隔离信号接反、电源开关使能极性错误、掉电域信号驱动浮空等。等跑到后端再发现这类问题改起来成本就非常高了。我见过一个最极端的案例有个团队直到完成布局布线在准备GDSII前做形式验证时才发现某个跨域信号在掉电时没有加隔离单元。这个问题的根源在于UPF里描述的隔离域范围有误而UPF描述又是后端实现时由前端工程师口头沟通过来的。这类低级错误完全可以通过前期的UPF仿真干掉。5. 这个方案适合用在哪些产品上最后说说这套55nm ULP物理IP方案的适用场景给正在做产品规划的同学一个参考。5.1 典型应用场景与需求对照我整理了一张表列出几个典型应用方向和对应的功耗特征方便对照评估应用领域典型产品待机功耗要求工作功耗要求是否需要嵌入式Flash智能穿戴智能手表、手环 5uA 100uA/MHz可选医疗电子助听器、血糖仪 2uA 50uA/MHz推荐IoT传感环境监测节点、智能抄表 1uA 30uA/MHz推荐工业现场传感器变送器、无线模块 3uA 80uA/MHz可选消费电子遥控器、无线耳机 2uA 60uA/MHz推荐这里的数据是我根据常见产品需求整理的参考值具体还要结合产品的功能复杂度来定。比如助听器这类设备对延迟很敏感不能因为省电就降低响应速度所以对工作模式下的能效比要求更高而无线抄表模块大部分时间在深度睡眠重点是待机漏电要足够小同时唤醒时间要快才能及时响应集中器的指令。5.2 与其他工艺节点的选择对比不少团队在选型时会纠结55nm还是40nm或者干脆回到65nm从我这几年的经验来看如果目标是做极低功耗的电池供电设备55nm ULP是一个性价比很高的选择。和65nm相比55nm在功耗和面积上都有明显优势而且成本差距不大和40nm相比55nm的成熟度和可用性更高对低功耗场景而言55nm不会比40nm差太多。具体来说如果你追求的是极致功耗而且产品量足够大、摊销得起研发成本40nm会是更好的选择。但如果你的目标是快速推出产品、控制成本或者需要在嵌入式Flash工艺上实现那么55nm ULP基本就是甜点选项。另外某些55nm工艺平台还集成了RF器件和高压器件可以在一颗芯片上同时实现无线传输和电池充电管理这对IoT产品来说非常有吸引力。5.3 技术发展视角55nm ULP的长期生命力有些团队会担心55nm是不是快过时了现在主流都往28nm、22nm走选55nm会不会三五年后找不到支持这个担心可以放下。实际上55nm在模拟、混合信号、嵌入式存储和射频应用领域有非常广泛的应用基础供应链成熟产能充足而且很多长期量产的工业级、车规级产品都停留在55nm。对低功耗细分市场来说55nm未来十年内都会是一个持续活跃的节点。更进一步说55nm ULP方案在很多场景下的表现可以逼近更先进节点的低功耗版本。因为低功耗的关键除了工艺本身之外更多的还在于电路架构、系统级功耗管理和软件层面的调度优化。好的ULP物理IP提供的是一套实现工具但只有结合优秀的架构设计才能把功耗真正压到极限。6. 写在最后的一点体会做这个55nm ULP物理IP方案的过程里我最大的体会是低功耗设计不是某一个环节的单独优化而是从工艺选型、IP配置、架构设计到实现签核的全链路协同。很多时候问题不在单个IP本身而在于各环节之间的衔接——UPF写得好不好、隔离单元放对位置没有、IR Drop约束够不够紧、存储器的低电压稳定性验证做没做足。每一个细节都可能决定芯片最终能省多少电、回片后能不能稳定工作。如果让我给正在启动低功耗项目的团队一个建议我会说在项目初期就把功耗预算定下来把它分解到每个模块和每种工作模式然后在每个设计阶段都用功耗分析工具去检查预算的执行情况。不要等到实现了再回过头来看功耗那时候能改的非常有限成本却很高。另外拿到IP之后不要急着直接上流程先花点时间把IP文档和PVT表完整读一遍和代工厂的工程师确认清楚边界条件这一步投资回报率极高。最后再分享一个小技巧如果你用的是这套55nm ULP方案写RTL时就把时钟门控相关的使能信号统一命名比如clk_en、iso_en、ret_en并建立一份命名规范文档。这样在综合阶段工具自动推断门控和隔离逻辑时命中率会显著提高能省下不少手动修改时序约束的功夫。这些细节看着不起眼但真到了流片前的紧张阶段每一分省下来的精力都是有价值的。
返回列表