搞过几年模拟IC设计的朋友,多半都被电流镜教育过。上学时候总觉得电流镜不过就是两个管子对一下,真正流片回来测出来偏差几位、温漂飘得离谱,才知道这东西门道深得很。威尔逊电流镜和维德拉电流源,这两个名字在模拟偏置和基准电路里出现频率极高,几乎每个运放里都能找到它们的身影,但很多人对它们的理解停留在"用就完了"的层面,尺寸怎么定、版图怎么摆、温漂从哪里来、输出阻抗怎么测,系统讲清楚的文章其实不多。
这篇文章不打算端着课本说话,就从实际设计角度出发,把两个结构的原理、指标、优化手法和仿真验证串一遍。你如果正准备画偏置电路,或者项目里电流镜精度总差那么一点,看完应该能少走不少弯路。
1. 先搞清楚两个经典在解决什么问题
1.1 基本电流镜的三个先天缺陷
任何电流镜的起点都是那个最朴素的"两个NMOS共栅"结构:左侧二极管连接的管子把电流变成电压,右侧管子把这个电压复制成输出电流。教科书上它的精度取决于两个管子的Vth匹配,实际设计里这只是众多误差来源中的一个。
第一个缺陷是输出阻抗有限。MOS管的漏电流在饱和区并不是水平的,沟道长度调制效应让电流随Vds明显变化,输出阻抗约等于1/λId。短沟道器件尤其严重,0.18μm工艺下λ随便就是0.1/V量级,Vds变化0.2V,电流能偏个2%。电流源最怕负载扰动,输出阻抗不够,后面电路一动电流就被拽着走。
第二个缺陷是基极电流误差,这个在BJT版本里特别明显。两级BJT电流镜,Q1的集电极电流和Q2的基极电流会产生一个系统性误差,电流增益β越小误差越大。MOS版本虽然没有基极电流,但栅极漏电在纳米工艺下也不容忽视,只是通常没到BJT那么夸张的程度。
第三个缺陷是失配敏感性。两个管子离得远一点、朝向差一点、周围dummy不一致,Vth就可能偏个5-10mV,反映到电流上可能是百分之几的误差。这就是为什么高精度镜像必须做共质心布局和后端校准,靠电路本身很难兜住版图的懒散。
1.2 威尔逊电流镜和维德拉电流源各自抄了近路
威尔逊电流镜的思路是给基本结构加一条负反馈通路,让输出管感受的栅压随输出电压自动调整,把输出阻抗从"一个管子的阻抗"拉高到"一个管子阻抗乘环路增益"。同时那条反馈路径还把基极电流误差消掉一大截,属于一个改动顺手解决两个问题的典型。
维德拉电流源则走了另一条路。它根本没有追求让输出电流等于输入电流,而是在输出管的发射极串联一个电阻,利用电阻上的压降把输出电流压到很小,同时这个电阻产生局部负反馈,同样拉高了输出阻抗。这个结构最大的本钱是能用晶体管和电阻的组合生成微安级甚至亚微安级电流,而不是靠一个巨大的电阻空耗面积。
理解这两条路的分野很重要。一个是要"镜像得准且稳",一个是要"生成一个很小的电流且稳",应用场景完全不同,优化手段也完全不同。
2. 威尔逊电流镜的性能优化细节
2.1 为什么第三个管子能一石二鸟
威尔逊电流镜的经典结构是三管版本,多出来的那个管子跨接在输出管和输入管之间。它的关键妙处在于把输出管的电流抽样回来做负反馈:输出电流一旦变大,反馈管会抬高镜像管栅压,把输出管往回拉。这个闭环让输出电流受Vds变化的影响被大幅压缩,等效输出阻抗约为普通电流镜的β倍。
从公式上理解更直白。基本电流镜的输出阻抗是rds1,威尔逊结构加上反馈之后输出阻抗约等于gm3乘以rds3再乘rds2,在BJT里这个值可以轻松到兆欧以上。MOS版本虽然gm没有那么夸张,同样能达到基本结构的几十倍。输出阻抗上去了,电流源的低频PSRR、电源抑制能力和负载调整率都会跟着好起来。
同时因为反馈管把基极电流误差引入环路,输出电流对β的敏感度从"一次方"降到了"近似二阶",在β只有20-50的工艺角下,这个优势是决定性的。实际选管型的时候,反馈管和输出管的型号尽量一致,这样两个管的β、gm、Cgs等参数天然匹配,环路特性才能稳定。
2.2 真正的隐藏问题:最小输出电压
威尔逊结构不白拿好处,它最大的代价是输出电压裕度。基本电流镜只需要保证输出管工作在饱和区,最小输出电压等于Vov(过驱动电压)。而威尔逊结构串了一个反馈管,输出端要想正常工作,最少得让两个管子都饱和,也就是说Vout_min大约等于VGS1 + VDSsat2,在普通工艺下基本是两个VGS减一个VTH,算下来通常比基本结构高出0.3到0.6V。
电源电压越来越低的应用里,这个裕度可能直接决定了电路能不能转。所以工程上更常见的是改进型威尔逊电流镜,在反馈管下面再串一个管子形成cascode,或者把反馈管换成共栅结构,让最小输出电压降回一个VGS的水平。代价是电路更复杂、版图面积更大、噪声也更高,需要根据实际预算取舍。
我自己的经验是:低压设计优先用改进型,高压精密基准则不必执着于低级版本,威尔逊原版在相对富裕的工作电压下反而反馈更稳、更容易调。
2.3 版图层面怎么把匹配做到极致
电路拓扑选好了,真正的精度要靠版图落地。威尔逊电流镜的失配主要来自两个输入对管和反馈管,这三个管子在版图里必须作为一组统一考虑,不能拆开。
共质心布局是最基本的操作。两组管子各自分成两个或四个finger,交叉排放,保证工艺梯度、氧化层应力、注入浓度偏斜对三个管子的影响被平均化。手指方向必须完全一致,绝对不能为了走线方便把某根指竖过来,那个方向效应产生的失配比工艺偏差还大。
周围的dummy器件也马虎不得。每个管子的左右两侧都要加假栅,让边缘刻蚀效应一致。间距要固定,有源区到栅的拉线长度尽量相等。给这三个管子单独加一圈guard ring能有效隔离衬底噪声,在混合信号芯片里这个尤其重要。
还有一点很多人忽略,就是金属连线的寄生电阻。镜像管栅极那根线如果拉得很长,IR drop会直接改变两边的有效栅压,这个误差比管子失配还难查。走线要短、要粗、要对称。
3. 维德拉电流源的深度性能优化
3.1 用一只电阻换来真正极小的电流
维德拉电流源的核心公式是I_out等于VT除以R乘以ln(I_ref/I_out)。这个公式意味着输出电流由热电压、电阻和电流比共同决定,不像普通镜像那样由参考电流直接复制。
它的巧妙在于:电阻上的压降让发射结的正偏电压比参考管小,输出管的电流自然被压得很低。你用100μA的参考电流,只要R足够大,输出可以轻松做到1μA甚至0.1μA级别,而不用像普通镜像那样需要两个尺寸差异极大的晶体管或者一个巨大的参考源。
实际设计的时候很少直接解这个超越方程,都是先估一个I_out,计算ln(Iref/Iout),再求R,然后用仿真迭代收敛。以100μA参考电流、目标1μA输出为例,VT约26mV,算下来ln约为4.6,R等于26mV乘以4.6再除以1μA,约120kΩ。这个阻值在BJT工艺里还不算夸张,在CMOS工艺里就得上高阻多晶或外置电阻。
设计的关键参数是电流比不能选太大,超过10倍以后ln函数增长变慢,电阻增大的收益急剧降低,而且温度系数会随比例同步放大。做偏置设计时我一般控制在5倍到10倍之间,过高比例的温漂和工艺角变化会变得极其难看。
3.2 电阻温度和晶体管温度系数如何对冲
维德拉电流源的温度特性是这个结构最容易翻车的环节,因为它同时受VT(温度正系数,约+0.085%/°C)和发射结电压(温度负系数,约-2mV/°C)以及电阻温度系数(取决于材料类型)三股力量拉扯。
教材里常说维德拉电流源"天然具有正温度系数",但这只对理想电阻成立。实际电路里电阻是关键变量:多晶电阻温度系数可能是+1000到+3000 ppm/°C,扩散电阻有正有负,薄膜电阻则通常在±100 ppm/°C以内。如果电阻负温度系数较大,可能会把整个电流的温度系数掰成负的,这个方向判断错误会直接导致基准电路在不同温度下完全失控。
优化办法就是用低温度系数电阻做主体,再用一小段正温或负温电阻做修调。比如用poly电阻做主电阻,预留一个silicided电阻的修调位,通过金属选择或激光修调把温漂曲线压平。模拟仿真时一定要同时跑tt、ss、ff三组工艺角加上-40、25、125三组温度的组合,温漂如果超过设计指标再回头调整电阻比例。
3.3 低电流模式下的漏电陷阱
把维德拉电流源做到亚微安级时,一个很容易被轻视的问题是漏电。芯片内部寄生二极管、ESD保护结构、阱结,都会在高温下贡献额外的电流,这个电流和维德拉输出电流是并联关系,直接叠加到输出上。
举个例子:0.18μm CMOS工艺的衬底漏电在125°C下每平方微米可能到几十皮安,如果一个10μm×10μm的输出管周围还围着ESD环,高温漏电轻松到几百皮安。这时候如果目标输出电流是1μA,漏电占比接近10%,温漂曲线在125°C附近会出现明显的"翘尾巴"现象。
处理办法分几条线同时走:第一,输出管用尽量长的沟道和较高阈值电压的器件,降低亚阈值漏电;第二,版图上让输出节点远离阱边缘,少用大面积结;第三,在布局里考虑加一个small-footprint的guard ring把漏电导走。这几个动作在低功耗设计项目中属于必做项,不做必然会栽跟头。
4. 从仿真到测试的实操验证方法
4.1 输出阻抗仿真:别只看DC工作点
输出阻抗是判断这两个结构有没有真正发挥性能的核心指标,但很多人仿真时只看工作点列表里的gm和rds,这不够,因为反馈结构的等效输出阻抗是由环路增益撑起来的,根本不出现在单管的小信号参数里。
正确做法是在输出端加一个AC小信号源,扫频得到输出阻抗曲线。Cadence里最简单的方式是给输出节点挂一个1A的AC电流源,直接plot输出电压,读到的就是阻抗值。DC工作点要设在目标电流上,AC幅度取1mV以内避免推入非线性区。
实际仿真时我还会额外跑一个Vout从0到VDD的DC扫描,画Id-Vd曲线,看饱和区斜率。斜率越平,阻抗越高。这条曲线也能顺带检查最小工作电压:曲线完全平坦之前的那一点,就是结构能正常输出恒定电流的最低电压。把指标写进设计文档,比口头说"阻抗够高"靠谱得多。
4.2 Monte Carlo与Corner仿真怎么判读
工艺角仿真解决的是"整体偏快还是整体偏慢"的问题,Monte Carlo解决的是"这一批芯片里管子和管子之间差异多少"的问题。电流镜的高精度必须靠MC来验证,我一般跑至少500点,关注两个指标:输出电流的3σ偏差和不同温度下的偏差分布。
威尔逊电流镜做MC时会发现失配主要来自输入对管和反馈管,其他管子的贡献小到可以忽略。如果3σ偏差超过设计指标的一半,基本可以断定版图的共质心没做到位,或者器件面积选小了。
维德拉电流源的MC结果则通常由电阻容差主导,因为120kΩ左右的电阻在CMOS工艺里本身容易有±20%的偏差。应对方法是在设计时预留校准位或修调电阻,MC仿真的目的不是让电路天生完美,而是确认修调范围内一定能覆盖所有工艺角。
4.3 实测中容易被带偏的测试接口
流片回来测试是最后一道关,也是问题暴露最多的地方。示波器探头、测试座接触电阻、PCB漏电,这些都会让实测结果和仿真对不上。
测维德拉电流源的时候,最好的方法是直接在输出端串一个精密的采样电阻,量电阻上的压降换算电流,不要用电流表去串,电流表的压降会改变输出工作点。采样电阻要用低温漂的精密电阻,四线开尔文接法可以消除引线电阻影响。
威尔逊电流镜的测试则要特别注意输入参考电流的精度,因为它是镜像结构,输入端的任何误差都会原样复制到输出。我遇到过最坑的情况是参考源本身漂了2%,结果整个测试流程都在找电流镜的问题,最后才发现源头就不干净。输入参考用专门校准过的源,测试结果才值得分析。
5. 常见问题与排查技巧实录
| 现象 | 可能原因 | 排查手段 |
|---|---|---|
| 镜像电流比例系统性偏低 | 基极/栅漏电流过大、β不足 | 改大管宽、增加环路增益、换改进结构 |
| 输出电流随负载剧烈变化 | 输出阻抗不够 | 跑阻抗扫描、检查反馈管的偏置点 |
| 高温下电流异常升高 | 结漏电叠加 | 检查版图guard ring、缩小输出管面积 |
| 温漂曲线出现非线性拐点 | 电阻温度系数与VT温漂失衡 | 做温度系数拆分仿真,验证电阻材料 |
| 低压时输出电流突变 | 结构最小工作电压不足 | DC扫描验证Vout_min,考虑改进型结构 |
| Monte Carlo分布中心偏移 | 参考电流本身漂移 | 检查输入参考源的工艺角表现 |
5.1 镜像比例怎么反复调整都不准
如果你发现威尔逊电流镜的输出电流和输入电流的比例始终偏离理论值,先别急着调尺寸,先确认环路是真的闭合了。反馈管的集电极/漏极是连到输入管栅极的,如果断线或者短线在版图里被优化掉了,那它就不叫威尔逊了,退化成普通镜像甚至更差的结构。
另一个高频原因是参考电流源本身没稳定,输入端瞬间上电的过冲会把输入管打到线性区,整个反馈建立不回来。这种情况在电源较慢的场景里尤其常见,可以加一个启动电容或者用带隙基准的缓启动来自救。
5.2 温漂曲线出现"V"形拐点
这个现象往往不是晶体管电路本身的问题,而是电阻在某个温度附近发生了相变或者阻值转折。多晶电阻在高温下会慢慢释放应力,阻值出现滞回,薄膜电阻在温度循环后也会偏移。遇到这种情况,先跑三遍温漂仿真排除电路因素,然后直接用实测电阻拟合模型参数,不要再靠仿真模型猜了。
如果确认真是电阻问题,换电阻材料几乎是一劳永逸的办法。不要为了省一层mask强行用普通poly电阻做高精度温漂设计,省下的成本会在测试和筛选环节加倍还回去。
5.3 低电压下启动失败
低压版本的维德拉电流源容易遇到启动死锁:上电时所有节点都是0V,没有电流源把电路拉离零态,整个偏置链路就一直在零点趴着,输出电流是零却完全看不出来异常。检查方法很简单,跑一个上电瞬态,看输出电流能否在电源建立后的几百纳秒内稳定到目标值。
解决手段是加启动电路,一个简单的高阻到地或者一个小电流源在零点时刻打破平衡就行。注意启动电路在工作稳定后要自动关断,否则会持续往偏置点灌电流,额外引入误差和功耗。
我把这个结构的每个环节过了一遍,从原理到版图再到测试。说实话,威尔逊电流镜和维德拉电流源都不是什么新东西,但真正能用得准、调得稳的人不多,核心在于是否真的理解了每个管子和电阻承担的角色,以及能否在每一层设计中守住精度底线。当初我第一个电流镜芯片翻车,就是因为只盯着原理图看,完全忽视了输出阻抗和版图匹配,后来把这两个点按顺序排查,问题立刻清晰了。做模拟电路,功夫多数在看不见的地方。