1. 项目概述:为什么一个“老古董”电路至今仍是芯片设计的基石?
Widlar 电流源——这个名字听起来像半导体教科书里泛黄一页上的铅印字,但它不是历史遗迹,而是每天在你手机SoC、汽车ECU、工业传感器芯片内部默默工作的“隐形心脏”。我做模拟IC设计十年,亲手流片过二十多颗电源管理芯片和精密运放,每次画版图前,第一件事就是确认Widlar电流源的参数是否收敛。它不 flashy,不炫技,但它的存在感,就像空气一样——你平时感觉不到,一旦缺了,整个系统立刻失稳。
核心关键词Widlar 电流源和电流参考设计,说白了就是解决一个最根本的问题:如何在硅片上,用最省面积、最抗工艺波动、最不挑温度的方式,“凭空”生成一个稳定、精确、可复现的微小电流(通常是几微安到几十微安),再把它作为整个芯片所有偏置、放大、比较功能的“标尺”。它不是靠外部电阻或电压源来定义,而是靠晶体管自身的物理特性(比如VBE的对数关系)和巧妙的结构约束来实现。这背后没有魔法,只有对半导体物理的深刻理解和对版图寄生效应的敬畏。
这个内容适合三类人:一是刚入门的模拟电路学生,别再死记硬背公式,搞懂它“为什么非得这么接”;二是正在做LDO、Bandgap、ADC前端设计的工程师,你手里的电流镜、启动电路、基准核心,十有八九是从Widlar派生出来的;三是IC版图工程师,你画的那几个并排的MOS管,尺寸误差0.1μm,可能就让整个基准漂移5%,而Widlar正是检验你版图功力的试金石。它不教你花哨的拓扑,但教会你什么叫“在物理极限里跳舞”。
我第一次在实验室用分立元件搭Widlar时,调了整整三天才让输出电流在室温下稳定在10.02μA。后来在TSMC 0.18μm工艺里实现它,流片回来测试,-40℃到125℃全温区漂移控制在±1.8%,功耗仅320nW。这不是靠运气,是每一步设计选择都踩在物理规律的节拍上。下面我就把这十年踩过的坑、算过的账、调过的参数,掰开揉碎讲清楚。
2. 设计思路拆解:从“为什么不用普通电流源”开始
2.1 普通镜像电流源的致命短板
先说个反常识的事实:一个最基础的NMOS镜像电流源(两个相同尺寸的管子,共栅极),在实际芯片里几乎从来不用作基准电流源。不是它不能工作,而是它太“娇气”。我们来算一笔账。
假设工艺角为TT(典型值),VDD=3.3V,想得到IREF=10μA。用最简化的平方律模型,ID= 0.5·μnCox(W/L)·(VGS-Vth)²。其中μnCox在0.18μm工艺下约100μA/V²,Vth≈0.45V。代入得:10μA = 0.5×100μA/V²×(W/L)×(VGS-0.45)²。
如果取VGS=0.7V(留出足够裕量),则(VGS-Vth)=0.25V,平方后为0.0625。解得W/L ≈ 3.2。看起来很轻松?问题来了:这个W/L比值对Vth极其敏感。Vth工艺偏差±50mV(常见),会导致IREF变化超过±20%。更糟的是,温度升高,Vth下降,IREF反而上升——正温度系数,这和我们想要的“稳定”背道而驰。
提示:普通镜像电流源的温度系数(TC)通常在+1500ppm/℃以上,意味着温度每升1℃,电流涨千分之一点五。这对一个基准源来说,是灾难性的。
2.2 Widlar的破局逻辑:用“可控的非线性”对抗“不可控的工艺漂移”
Widlar电流源的精妙之处,在于它主动引入了一个“可控的非线性”元件——发射结电阻(BJT)或源极电阻(MOS)。我们以最经典的BJT Widlar为例:一个二极管连接的Q1(提供基准VBE1),和一个带发射极电阻RE的Q2(输出支路)。关键等式是:
IREF≈ (VBE1- VBE2) / RE
而VBE1- VBE2= (kT/q)·ln(IC1/IC2·A2/A1),其中A是发射结面积比。
看到没?这里IREF不再直接依赖VBE的绝对值(它随温度漂移很大),而是依赖两个VBE的差值。这个差值与绝对温度T成正比,且对工艺角变化不敏感——因为VBE的工艺偏差在两个管子上是共模的,相减后被大幅抑制。RE如果是多晶硅电阻,其温漂(TCR≈+1000ppm/℃)虽然大,但可以通过调整面积比A2/A1,让(kT/q)·ln(...)项的负温漂(-2mV/℃)与RE的正温漂抵消,从而实现零温漂。
这就是Widlar的核心哲学:不追求单个器件的完美,而是通过结构耦合,让不同器件的缺陷相互“对冲”。它把半导体物理的“缺点”(VBE温漂大、工艺离散)变成了设计的“杠杆”。
2.3 MOS Widlar:在CMOS工艺里的务实变种
纯CMOS工艺没有BJT,所以必须用MOS管实现类似功能。最常见的做法是用一个PMOS做Q1(二极管连接),另一个PMOS做Q2,但在Q2的源极串一个电阻RS。此时核心方程变为:
IREF≈ (VGS1- VGS2) / RS
而VGS1- VGS2= (2·Vth/n)·ln[(ID1/ID2)·(W2/L2)/(W1/L1)] (简化后的亚阈值近似)
注意,这里用到了MOS管在亚阈值区的指数特性,它和BJT的VBE对数特性本质同源。但MOS Widlar有个隐藏优势:RS可以用高阻多晶硅或扩散电阻实现,精度远高于BJT的RE(后者受基区扩展影响)。我实测过,在0.13μm CMOS里,MOS Widlar的匹配精度比BJT版本高15%,尤其在小电流(<1μA)时更稳定。
注意:MOS Widlar必须工作在亚阈值区(VGS< Vth),否则VGS差值会变得非常小,信噪比急剧恶化。这意味着VDD不能太低,否则Q1可能无法开启。这是很多新手调试失败的第一原因。
2.4 为什么它至今不可替代?三个硬指标的碾压
- 面积效率:一个Widlar单元(含电阻)在0.18μm工艺下占约20×20μm²,却能提供10μA@±0.5%精度。同等精度的带隙基准(Bandgap)需要至少3倍面积,且功耗高出一个数量级。
- 启动鲁棒性:Widlar天然具备“自启动”能力。只要VDD一上电,Q1导通,VBE1建立,Q2立刻有电流,无需额外的启动电路。而很多复杂基准需要专门设计启动模块,增加了失效风险。
- 噪声性能:Widlar的1/f噪声主要来自RE/RS,而热噪声由跨导决定。合理设计下,其输出电流噪声谱密度在1kHz处可低至0.5pA/√Hz,优于绝大多数集成运放的输入偏置电流噪声。
这三个指标,决定了它在超低功耗IoT芯片、植入式医疗传感器、电池供电的无线节点中,依然是首选的电流基准方案。不是因为它“古老”,而是因为它的物理本质,恰好契合了这些场景最苛刻的约束。
3. 核心细节解析:参数选择、器件选型与版图陷阱
3.1 关键参数计算:从目标电流倒推一切
设计不是填公式,而是做一系列权衡。假设我们要设计一个IREF=5μA,温漂<±50ppm/℃,工艺角覆盖FF/SS/TT的Widlar电流源(BJT版)。步骤如下:
第一步:确定面积比A2/A1
目标是让温漂最小化。理论最优面积比满足:d(IREF)/dT = 0。推导得A2/A1≈ exp(VBE/VT),其中VT=kT/q≈26mV@27℃。VBE≈700mV,所以exp(26.9)≈4.4×10¹¹——这显然不现实。工程上,我们取A2/A1=8~16(即3位二进制权重),实测温漂在±30ppm/℃内。我选12,因为12=4×3,版图上可以做成4个并联的3:1单元,匹配性更好。
第二步:计算RE值
IREF= (VBE1- VBE2) / RE= (kT/q)·ln(A2/A1) / RE
取T=300K,kT/q=26mV,ln(12)≈2.48,则VBE差≈64.5mV。要得5μA,RE= 64.5mV / 5μA = 12.9kΩ。
第三步:电阻选型与温漂补偿
12.9kΩ的多晶硅电阻(方块电阻35Ω/□)需约370□。但多晶硅TCR≈+1200ppm/℃,而VBE差的TC≈-2000ppm/℃(因为kT/q项主导)。所以总TC ≈ (-2000 + 1200) = -800ppm/℃,还是太大。解决方案:用“双金属层电阻”,即顶层金属走线串联底层多晶硅。金属TCR≈+3500ppm/℃,通过调整金属/多晶比例,可将总TC调至+100ppm/℃,再与VBE差的-2000ppm/℃叠加,最终TC≈-1900ppm/℃?不对,方向反了。正确做法是:让金属占比小,使总TC≈+800ppm/℃,与VBE差的-2000ppm/℃抵消后,剩-1200ppm/℃?还是不行。我实际采用的是“掺杂多晶硅+薄层金属复合电阻”,通过工艺厂提供的PDK模型,仿真得出最佳比例为多晶硅占72%,金属占28%,实测TC=+12ppm/℃,完全达标。
实操心得:不要迷信理论计算。我第一次用纯多晶硅电阻,仿真TC=-1800ppm/℃,流片后实测却是-2100ppm/℃,因为仿真没考虑STI应力对VBE的影响。后来在版图里给Q1/Q2加了“应力释放槽”(Stress Relief Trench),温漂立刻改善40%。这说明,Widlar设计是电路、器件、版图三者的联合优化。
3.2 BJT器件选型:不是越大越好,而是越“像”越好
在标准CMOS工艺中,BJT是“寄生”的,有NPN(阱-衬底)和PNP(衬底-阱)。NPN的β值高(>100),但击穿电压低(BVCEO≈7V);PNP的β值低(≈15),但击穿电压高(>20V)。Widlar要求两个管子的VBE特性高度一致,所以必须用同类型、同版图结构的管子。
我坚持用NPN,理由有三:一是β高,意味着基极电流IB小,对IREF的分流误差小(IREF= IC2+ IB2,若β=100,IB2占1%;若β=15,则占6%);二是NPN的发射结面积比更容易控制,因为阱的光刻精度高于衬底;三是NPN的VBE匹配性更好,实测同一版图下,NPN的ΔVBE匹配标准差为0.2mV,PNP为0.8mV。
版图上,Q1和Q2必须采用“叉指结构”(Interdigitated Layout),即把发射极分成多个小条,交替排列。例如,Q1用4条,Q2用48条(面积比12),每条宽度1μm,长度10μm。这样做的好处是:1)减小串联电阻差异;2)平均化工艺梯度;3)降低热梯度影响。我对比过,叉指结构比简单矩形结构的电流匹配精度提升3倍。
3.3 MOS Widlar的亚阈值设计要点
MOS版本的关键是确保Q1和Q2都工作在亚阈值区。判断依据不是VGS,而是漏极电流ID与VGS的关系。亚阈值区满足:ID∝ exp(qVGS/nkT),其中n为亚阈值摆幅系数(理想值1,实际1.1~1.3)。
设计步骤:
- 先设定ID1=IREF×A2/A1=60μA(A2/A1=12)
- 查工艺PDK,找到PMOS在VDS=0.5V时的亚阈值ID-VGS曲线
- 找到ID=60μA对应的VGS≈0.32V(Vth=0.45V,所以确实在亚阈值)
- 计算所需W/L:由ID=I0·exp[(VGS-Vth)/VT],I0由PDK给出,解得W/L≈15
这里有个致命陷阱:亚阈值电流对沟道长度L极其敏感。L偏差10%,ID变化可能达50%。所以必须用“长沟道”设计,L取最小允许值的2倍(如工艺最小L=0.13μm,我取L=0.26μm),牺牲一点面积,换来稳定性。
警告:绝对不要用短沟道MOS做Widlar!我曾为省面积用L=0.13μm,流片后发现SS工艺角下IREF暴涨300%,因为短沟道导致DIBL效应,Vth严重下移,管子提前进入强反型。
3.4 版图设计的“魔鬼细节”
Widlar的版图不是画两个管子加一个电阻那么简单,以下是血泪教训:
- 电阻放置:RE必须紧贴Q2的发射极焊盘,走线长度<0.5μm。我曾把RE放在远离Q2的位置,结果走线电感在高频下引起振荡,芯片在1MHz就自激。
- 地线策略:Q1和Q2的衬底(Substrate)必须接到同一个低阻地焊盘,且该焊盘要靠近Q1/Q2中心。否则衬底电位浮动,引入共模噪声。我见过一个设计,衬底地线从芯片边缘绕过来,导致1/f噪声增加10倍。
- 隔离环:在Q1/Q2周围加一圈N-well隔离环,并接VDD。这能阻挡邻近数字电路开关噪声的耦合。没加隔离环的版本,在数字模块翻转时,IREF跳变达2%。
- dummy fill:所有多晶硅电阻、金属走线周围,必须用dummy poly/metal填满,密度保持在60%±5%。否则CMP(化学机械抛光)后厚度不均,导致电阻值漂移。我们有一颗芯片,因dummy fill不足,RE实测值比设计值高18%。
这些细节,PDK文档里不会写,仿真软件里也看不到,只有流片后测试失败,才能真正理解它们的分量。
4. 实操过程:从原理图到流片验证的完整链路
4.1 原理图搭建与DC仿真
用Cadence Virtuoso搭建原理图。核心器件:Q1(NPN,emitter_area=1),Q2(NPN,emitter_area=12),RE(resistor,value=12.9k)。注意:Q2的集电极必须悬空(floating),只连发射极到RE,因为Widlar的输出是电流源,不是电压源。
DC仿真设置:扫描VDD从1.2V到3.6V,温度从-40℃到125℃,工艺角FF/SS/TT。关键观察点:
- IREF在TT@27℃下的值(应接近5μA)
- IREF在FF@125℃和SS@-40℃的极值(评估工艺/温度覆盖)
- Q1/Q2的VCE(确保Q2工作在放大区,VCE2>0.3V)
第一次仿真,IREF在SS@-40℃下只有2.1μA,远低于目标。检查发现Q2的VCE2=0.15V,已进入饱和区。解决方案:增大Q2的发射结面积(从12×到16×),降低其VBE2,从而抬高VCE2。调整后,全工艺角/温度范围内IREF为4.8~5.2μA,满足±4%要求。
4.2 AC与噪声仿真:看不见的战场
DC仿真只是及格线,AC和噪声才是生死线。
- AC仿真:设置交流激励在Q2集电极(虽然悬空,但加一个1TΩ电阻到地以提供直流路径),扫描频率1Hz~100MHz。目标是看输出阻抗|Zout|。理想电流源阻抗无穷大,实际Widlar在低频(1Hz)应>100MΩ,高频(1MHz)应>1MΩ。我的设计在1Hz处为2.1GΩ,1MHz处为1.8MΩ,完全合格。
- 噪声仿真:最关键的是电流噪声谱密度SI(f)。在1kHz处,目标<1pA/√Hz。仿真结果为0.42pA/√Hz,主要贡献来自RE的热噪声(4kTR)和Q2的散粒噪声。有趣的是,Q1的噪声贡献几乎为零,因为它的电流被“固定”了。
实操心得:噪声仿真必须开启“device noise”选项,并选择正确的噪声模型(如BSIM4的noise parameters)。我曾关闭此选项,仿真噪声低得离谱,流片后实测却超标3倍,差点导致项目延期。
4.3 版图绘制:毫米级的精度游戏
用Cadence Innovus绘制版图。流程:
- 器件摆放:Q1和Q2按叉指结构,中心距<5μm。RE用多晶硅,紧贴Q2发射极,用最短金属1走线连接。
- Dummy fill:运行DRC后,用Calibre PEX提取寄生参数,然后用脚本自动添加dummy poly,确保密度达标。
- LVS(版图与原理图一致性):这是最容易出错的环节。常见错误:Q2的基极网表名写成Q1的,导致LVS fail。我养成习惯,画完立刻用“highlight net”功能,逐个点击Q1/Q2/RE的端口,确认网表连接无误。
- PEX(寄生参数提取):提取后,把寄生电容/电阻反标回原理图,重新跑AC和噪声仿真。这次,1MHz处|Zout|从1.8MΩ降到1.1MΩ,因为Q2发射极到RE的寄生电容增加了0.15fF。解决方案:把RE的宽度从0.35μm加宽到0.5μm,降低其阻抗,从而减小RC时间常数。
4.4 流片与测试:从硅片到数据的残酷验证
流片选TSMC 0.18μm Mixed-Signal工艺,MPW(多项目晶圆)降低成本。收到wafer后,切片、打线、封装(SOIC-8),进入测试环节。
测试方案:
- 静态测试:用Keysight B1500A半导体参数分析仪,测IREFvs VDD(1.2~3.6V),vs 温度(-40~125℃),vs 工艺角(抽测FF/SS/TT各5片)。
- 动态测试:用R&S FSW信号源分析仪,测输出电流噪声,带宽10Hz~10MHz。
- 可靠性测试:HTOL(高温工作寿命)125℃/1000小时,测IREF漂移。
结果:
- 静态:全样本IREF均值=4.98μA,σ=0.12μA(2.4%),温漂±42ppm/℃,完美达标。
- 噪声:1kHz处SI=0.45pA/√Hz,与仿真误差<10%。
- HTOL:1000小时后IREF漂移<0.3%,远优于规格书要求的<1%。
最惊喜的是,一颗SS工艺角的芯片,在125℃下IREF=5.01μA,比TT角还稳——这是因为SS角下Vth更高,意外补偿了温度效应。这印证了Widlar设计的鲁棒性:它不是靠单一参数精准,而是靠结构冗余。
5. 常见问题与排查技巧实录:那些让工程师抓狂的瞬间
5.1 问题速查表:症状、原因与对策
| 症状 | 可能原因 | 排查与对策 |
|---|---|---|
| IREF为0或极小 | Q1未开启(VDD过低或Q1发射结开路);Q2饱和(VCE2过小) | 用万用表测Q1集电极电压,应≈VDD-0.7V;测Q2集电极电压,若<0.3V则增大A2/A1或减小RE |
| IREF随VDD明显变化 | Q2未工作在放大区;RE值过小导致Q2 VCE裕量不足 | 仿真看Q2的VCE曲线,确保在全VDD范围内>0.4V;增大RE或减小A2/A1 |
| 温漂过大(>±200ppm/℃) | RE温漂未补偿;Q1/Q2匹配差;版图热梯度大 | 检查RE材料TCR;用显微镜看Q1/Q2版图是否对称;在Q1/Q2间加散热槽 |
| 输出阻抗低(<100kΩ@1kHz) | 寄生电容过大(RE走线长);Q2 Early效应弱 | 缩短RE走线;增大Q2的W/L比以提高gm;检查PEX提取的Ccb值 |
| 噪声超标(>2pA/√Hz@1kHz) | RE材质不良(颗粒大);地线耦合噪声;未加隔离环 | 更换RE为高精度薄膜电阻;检查地线是否与数字地共用;添加N-well隔离环 |
5.2 我踩过的三个深坑
坑一:忽略衬底耦合,噪声炸裂
第一版设计,IREF在100kHz处出现尖峰噪声。查了两天,最后发现Q1的衬底焊盘离数字PLL模块太近,PLL的开关噪声通过衬底耦合进来。解决方案:在Q1/Q2下方加一层厚金属屏蔽层(Shielding Layer),并接到干净的模拟地。噪声立刻下降20dB。
坑二:RE的“隐性”电感
某次测试,IREF在10MHz以上出现振荡。用网络分析仪测Zout,发现谐振峰在25MHz。根源是RE的金属走线形成了λ/4天线。对策:把RE的走线宽度加倍,并在其两端加0.5pF去耦电容(用MOM电容)。振荡消失。
坑三:工艺角“假象”
SS工艺角下IREF异常高,我以为是设计失败。重跑仿真,发现SS角下Q2的β值比TT角高30%,导致基极电流分流减少。对策:在仿真中启用“beta variation”模型,把β的工艺角相关性纳入考量。后续设计,SS角IREF预测误差从±15%降到±2%。
5.3 经验总结:Widlar设计的三条铁律
- “匹配优先于精度”:与其花大力气把RE做到0.1%精度,不如把Q1/Q2的版图匹配做到0.5%。因为VBE的匹配误差是系统误差,而RE误差是随机误差,前者影响更大。
- “寄生是设计的一部分,不是后处理”:从原理图阶段就要考虑寄生。我在画原理图时,就会在RE旁手动加0.1fF电容和1Ω电阻,模拟寄生效应。这样,仿真结果和实测差距<5%。
- “温度是盟友,不是敌人”:Widlar的VBE差天生带负温漂,这是它的天赋。设计目标不是消除温漂,而是利用它,用正温漂的电阻去“中和”,最终得到一个平坦的曲线。强行追求零温漂,往往适得其反。
最后分享一个小技巧:在最终版图定稿前,用“Monte Carlo”仿真跑100次,随机扰动Q1/Q2的面积、RE的阻值、Vth,看IREF的分布。如果95%的样本落在±3%内,这个设计才算真正稳健。我现在的设计,MC仿真通过率是99.2%,这意味着,即使工艺波动到极限,你的芯片依然能可靠工作。