4、低功耗工艺库:MTCMOS、电源门控(Power Gating)、背偏置(Body Bias)技术在SMIC的实现

低功耗设计,说白了就是跟漏电流和动态功耗较劲。我在SMIC 28nm项目上吃过不少亏,今天把MTCMOS、电源门控和背偏置这三板斧的实战经验掰开揉碎讲给你听。

4.1 MTCMOS:多阈值电压库的选型策略

MTCMOS不是一种技术,而是一整套库的搭配思路。SMIC通常会提供三种阈值电压的单元:

阈值类型 漏电流 速度 典型应用场景
HVT(高阈值) 非关键路径、保持寄存器
RVT(标准阈值) 大部分逻辑单元
LVT(低阈值) 关键路径、时钟树

我个人习惯的做法是:先用RVT跑一遍综合,看时序报告里哪些路径紧张。然后只把那些路径上的单元换成LVT,其他地方尽量用HVT。你想想看,如果全片都用LVT,漏电流能翻好几倍,流片回来芯片烫得拿不住。

避坑指南:我曾经在一个SMIC 40nm项目里,为了省事直接把所有寄存器都设成HVT。结果时钟树上的setup time怎么都修不完。后来发现HVT的CK->Q延迟比LVT大了将近40%。时钟树上的单元,我建议至少用RVT起步。

4.2 电源门控:Power Gating的SMIC实现

电源门控,就是把不用的模块彻底断电。SMIC的库里有专门的电源门控单元,叫Header Cell或Footer Cell。

实现步骤其实不复杂:

  1. 选择门控类型:Header接VDD,Footer接VSS。SMIC 28nm以下我推荐用Header,因为衬底偏置更容易做。
  2. 插入隔离单元:断电模块的输出必须加ISO Cell,否则浮空电平会灌进工作模块。
  3. 加状态保持寄存器:有些寄存器断电后要恢复状态,SMIC有专门的 retention flop。

这里有个关键点——唤醒时间。我记得第一次做电源门控时,没注意唤醒电流峰值,结果一上电就把IR Drop干到了15%。后来学乖了,用链式唤醒(daisy chain),一个周期只开一小部分。

我的经验:SMIC的电源门控库通常会提供两种唤醒速度的单元。Fast wake-up面积大但唤醒快,Slow wake-up面积小但唤醒慢。如果模块唤醒后不需要立刻工作,用Slow的就行,能省不少面积。

4.3 背偏置:Body Bias在SMIC的调校

背偏置技术,说白了就是通过改变衬底电压来调节晶体管的阈值。SMIC在55nm以下工艺里支持得比较好。

两种偏置方式:

  • 正向偏置(FBB):降低Vth,提升速度,但漏电流增大。适合低频模式提性能。
  • 反向偏置(RBB):提高Vth,降低漏电,但速度变慢。适合待机模式省电。

在SMIC的库中,背偏置通常通过NWELL和PWELL的独立供电来实现。你需要额外生成偏置电压,一般用片内LDO或者Charge Pump。

注意:我曾经在SMIC 28nm HPC工艺上试过RBB,结果发现漏电流确实降了,但时序直接崩了。后来查文档才发现,这个工艺节点的RBB对NMOS和PMOS的影响不对称。所以做背偏置前,一定要先跑PVT corner仿真,别想当然。

4.4 三种技术的协同策略

实际项目中,这三种技术往往是组合使用的。我总结了一套SMIC上的典型搭配:

工作模式 MTCMOS 电源门控 背偏置
高性能模式 LVT为主 全部开启 FBB +0.3V
平衡模式 RVT为主 部分关闭 无偏置
低功耗模式 HVT为主 大部分关闭 RBB -0.3V

嗯,这里要注意:切换模式时,一定要先做电源域的顺序控制。我见过有人直接切背偏置电压,结果闩锁效应把芯片烧了。先断电源,再调偏置,最后恢复供电——这个顺序不能乱。

核心总结:SMIC的低功耗库其实很成熟,关键是你得理解每种技术的代价。MTCMOS省电但不省面积,电源门控省电但唤醒有代价,背偏置灵活但需要额外电路。没有银弹,只有权衡。

最后说一句,做低功耗设计时,别光盯着仿真数据。我建议流片前做一次完整的功耗估算,把IR Drop、EM和漏电流都跑一遍。SMIC的foundry会提供功耗分析工具链,用起来其实不复杂,别偷懒跳过这步。