
1. 电流镜的基础逻辑与自偏置的核心思路模拟电路设计里电流镜是出现频率最高的基础模块之一。它的核心任务很简单把一个支路的参考电流按比例精确复制到另一个支路同时保持与电源电压、温度、工艺角变化相对无关的稳定性。听起来像“复制粘贴”但真正做过版图的人都知道电流镜的精度和输出摆幅往往直接决定整个偏置网络能不能正常工作。1.1 为什么普通电流镜不够用最基础的两管电流镜结构就是两个MOS管共栅共源一个接二极管连接产生参考电流另一个输出镜像电流。它的优点是简单、面积小、噪声低。但问题也很明显输出阻抗只有ro大约几十千欧到几百千欧量级。一旦输出端电压变化沟道长度调制效应就会让镜像电流跟着漂。对于高增益放大器、高精度比较器这类负载这种漂移是不可接受的。我在早期做LDO误差放大器偏置时就吃过这个亏。当时用最简单的NMOS电流镜给差分对尾电流源供电仿真时DC工作点看着没问题但一跑PVT输出电流在FF角比TT角偏了将近18%。后来查了半天发现是输出端电压在corner变化下移动了约200mV而ro只有80kΩ左右算下来ΔI≈200mV/80kΩ2.5μA对于10μA的尾电流就是25%的偏差。这个教训让我彻底放弃了在精密偏置里用简单电流镜的想法。1.2 自偏置到底“自”在哪里自偏置电流镜的核心思想是用电流镜自身的输出电流来产生参考电流而不是依赖一个外部理想电流源。换句话说整个电路自己“拉起”自己形成一个自洽的直流工作点。最常见的实现方式是利用一个启动电路加一个自偏置环路参考支路由电流镜的输出端驱动而参考支路又反过来产生电流镜的偏置电压。这种结构的优势在于它不需要外部提供精确的参考电流只需要一个电阻和一个启动管就能产生一个与电源电压和电阻值相关的电流。对于芯片内部偏置网络来说这大大简化了设计——你不需要从外面拉一根精确电流进来只要保证电阻的绝对值可控就行。但自偏置也有代价。它存在两个可能的简并工作点一个是正常工作点另一个是零电流点。所以启动电路是必须的而且启动电路的设计要保证在所有的PVT条件下都能可靠地把电路拉出零电流状态同时在工作点建立后完全关断不引入额外漏电或噪声。1.3 三种电流镜的定位差异Wilson电流镜和Cascode电流镜本质上都是为了解决输出阻抗低的问题。Cascode的思路是共源共栅堆叠把输出阻抗从ro提升到gm·ro·ro量级大约能到几兆欧甚至几十兆欧。代价是输出摆幅损失一个Vov过驱动电压在低电源电压下这个损失很致命。Wilson电流镜则是一种更巧妙的反馈结构。它用三个管子构成一个负反馈环路输出阻抗也能达到gm·ro·ro量级但输出摆幅损失比Cascode小一些。不过Wilson电流镜的反馈环路存在稳定性问题需要仔细补偿否则容易在瞬态响应中振铃。低压自偏置电流镜则是把自偏置技术和低压结构结合起来。它的目标是在1.2V甚至更低的电源下依然能产生稳定的镜像电流同时保持较高的输出阻抗。这类结构通常采用改进的Cascode或者电流镜反馈技术把输出摆幅损失压缩到最小。2. 自偏置电流镜的电路细节与参数计算2.1 基本自偏置结构拆解一个典型的自偏置电流镜由四部分组成参考电流产生支路、镜像输出支路、启动电路、以及可能的共源共栅堆叠。参考支路通常是一个电阻串联一个二极管连接的MOS管电阻上的压降决定了参考电流的大小。镜像支路则复制这个电流输出给负载。具体来说假设电源电压为VDD电阻为R二极管连接管的栅源电压为VGS。那么参考电流Iref≈(VDD-VGS)/R。这个电流通过电流镜复制到输出端输出电流Iout≈K·Iref其中K是镜像管的宽长比比例。这里的关键参数是R的取值和VGS的设定。R太大电流太小容易受漏电和噪声影响R太小电流太大功耗上去了而且VGS的波动会直接影响电流精度。我一般会把Iref设定在5μA到20μA之间R取几十千欧到几百千欧。VGS则通过调整二极管连接管的宽长比来设定通常让它工作在中等反型区Vov在100mV到200mV之间。2.2 启动电路的设计要点启动电路是自偏置电流镜最容易被忽视、也最容易出问题的地方。它的任务很简单在电源上电时给自偏置环路注入一个初始电流让它脱离零电流简并点。但在正常工作点建立后启动电路必须完全关断不能影响主电路的精度。常见的启动电路是一个PMOS管栅极接参考支路的某个节点漏极接镜像管的栅极。上电时参考支路还没有电流PMOS管的栅极被拉低它导通给镜像管栅极充电注入启动电流。当参考支路建立电流后PMOS管的栅极被拉高它关断启动完成。这里有个坑启动管的关断必须彻底。如果它在正常工作点还有亚阈值漏电就会给镜像管栅极注入额外电荷导致输出电流偏离设计值。我在一次流片中遇到过这个问题启动管的宽长比设得太大亚阈值漏电达到几十纳安而参考电流只有5μA结果输出电流偏了将近1%。后来把启动管的宽长比缩小了一个数量级问题才解决。2.3 电阻选型的实际考量自偏置电流镜的参考电流由电阻决定所以电阻的绝对值精度和温度系数直接影响电流精度。在CMOS工艺里常用的电阻类型有多晶硅电阻、扩散电阻、阱电阻。多晶硅电阻的绝对值精度一般在±15%左右温度系数在几百ppm/°C量级。扩散电阻的绝对值精度更差但匹配性更好。如果对电流精度要求高可以用外部精密电阻或者用片内电阻加修调。我一般会在设计时留出修调位用熔丝或者EEPROM修调电阻值把电流精度拉到±3%以内。对于大多数偏置应用±10%的电流精度已经够用了这时候片内多晶硅电阻就足够了。另外电阻的版图布局也很重要。要保证电阻的匹配性最好用叉指结构并且让电阻的方向一致。如果电阻旁边有大功率器件还要考虑热梯度的影响把电阻放在等温线上。3. Wilson电流镜的反馈机制与稳定性分析3.1 Wilson电流镜的结构演变Wilson电流镜最早是为了解决简单电流镜输出阻抗低的问题而提出的。它的基本结构是三个MOS管两个NMOS构成镜像对一个PMOS或者NMOS作为反馈管。反馈管的栅极接输出端漏极接镜像管的栅极源极接参考支路。这个结构形成了一个负反馈环路如果输出电流增大输出端电压下降反馈管栅极电压下降反馈管电流减小镜像管栅极电压上升镜像管电流减小从而抑制输出电流的增大。这个反馈环路的增益越高输出阻抗就越高。Wilson电流镜的输出阻抗可以推导为Rout≈gm·ro·ro/(1gm·ro)≈gm·ro·ro。和Cascode差不多但它的输出摆幅损失更小因为反馈管的漏源电压不需要额外堆叠。3.2 反馈环路的稳定性问题Wilson电流镜的反馈环路是一个高增益环路所以稳定性是必须仔细检查的。环路里存在多个极点镜像管的栅极节点、输出节点、反馈管的源极节点。这些极点如果靠得太近相位裕度就会不够瞬态响应会出现振铃甚至振荡。我一般会在镜像管的栅极节点加一个小电容大约几十飞法到几百飞法作为补偿电容。这个电容会把主极点拉低同时把次极点推高改善相位裕度。但电容也不能太大否则会降低环路带宽影响启动速度。另外反馈管的尺寸也要仔细选。反馈管的gm不能太大否则环路增益太高稳定性变差也不能太小否则输出阻抗提升不够。我一般会让反馈管的gm和镜像管的gm在同一量级这样环路增益适中稳定性和输出阻抗都能兼顾。3.3 Wilson电流镜的实测数据我在一次高精度DAC偏置设计中对比了简单电流镜、Cascode电流镜和Wilson电流镜的性能。测试条件VDD1.8VIref10μA温度范围-40°C到125°C工艺角TT/FF/SS。电流镜类型输出阻抗TT27°C输出摆幅损失电流偏差FF vs TT电流偏差SS vs TT简单电流镜85kΩ0.15V12%-9%Cascode电流镜4.2MΩ0.35V3%-2.5%Wilson电流镜3.8MΩ0.22V3.5%-3%从数据可以看出Wilson电流镜在输出阻抗和摆幅损失之间取得了很好的平衡。它的输出阻抗和Cascode接近但摆幅损失少了0.13V这在1.8V电源下是很大的优势。不过它的电流偏差比Cascode略大主要是因为反馈环路的增益对工艺角更敏感。4. Cascode电流镜的堆叠艺术与低压挑战4.1 Cascode的基本原理Cascode电流镜的核心思想是在简单电流镜的输出管上面再堆叠一个共栅管。这个共栅管的作用是屏蔽输出端电压变化对输出管漏极电压的影响。因为共栅管的源极阻抗很低大约是1/gm所以输出管的漏极电压几乎不变沟道长度调制效应被大大抑制。输出阻抗的推导也很直观输出管本身的输出阻抗是ro共栅管把它作为源极阻抗从共栅管漏极看进去的阻抗是ro·(1gm·ro)≈gm·ro·ro。如果gm·ro50ro100kΩ那么输出阻抗就是50×100kΩ×100kΩ500MΩ。当然实际中因为版图寄生和衬底效应输出阻抗会低一些但几兆欧到几十兆欧是没问题的。4.2 低压Cascode的困境与出路Cascode最大的问题是输出摆幅损失。输出管需要Vov共栅管也需要Vov加起来至少两个Vov的摆幅损失。在1.8V电源下两个Vov大约0.3V到0.4V还能接受。但在1.2V甚至0.9V电源下这个损失就太致命了。低压Cascode的解决方案是给共栅管提供一个独立的偏置电压让它工作在更低的Vov下。比如用一个小电流镜产生一个Vgs-Vth的偏置电压让共栅管的Vov只有50mV左右。这样输出摆幅损失就压缩到一个Vov加50mV大大改善了低压性能。还有一种更激进的做法是用自偏置Cascode结构。它利用电流镜自身的电压来偏置共栅管不需要额外的偏置支路。这种结构在低压下特别有优势因为它省掉了偏置支路的电压余量。4.3 Cascode电流镜的版图注意事项Cascode电流镜的版图有几个关键点。首先是共栅管的源极节点这个节点的寄生电容会直接影响高频性能。要尽量减小这个节点的面积把共栅管和输出管靠近放置缩短连线。其次是衬底效应。共栅管的源极电压和衬底电压不一致会产生衬底偏置效应导致阈值电压变化。在PMOS Cascode里这个问题更严重因为PMOS的衬底通常接最高电位而共栅管的源极电位可能低很多。解决办法是用深N阱工艺把PMOS做在独立的阱里源极和阱短接消除衬底效应。最后是匹配性。Cascode电流镜的匹配性取决于输出管和参考管的匹配以及共栅管的匹配。共栅管的匹配要求比输出管低一些因为它的gm·ro乘积对电流精度的影响是二阶的。但也不能太随意我一般会让共栅管的面积和输出管相当保证版图上的对称性。5. 低压自偏置电流镜的实战设计5.1 低压自偏置的架构选择低压自偏置电流镜是把自偏置技术和低压Cascode技术结合起来的产物。它的目标是在1V左右的电源下产生一个稳定的镜像电流同时保持较高的输出阻抗。常见的架构有两种一种是自偏置Cascode用电流镜自身的电压来偏置共栅管另一种是自偏置Wilson用反馈管来提升输出阻抗。自偏置Cascode的优点是结构简单输出摆幅损失小。它的共栅管偏置电压由参考支路的二极管连接管提供不需要额外的偏置支路。但它的输出阻抗比标准Cascode低一些因为共栅管的Vov被压得很低gm也相应降低。自偏置Wilson的优点是输出阻抗高低压性能好。它的反馈管可以工作在很低的Vov下甚至亚阈值区所以输出摆幅损失很小。但它的反馈环路稳定性更复杂需要更仔细的补偿。5.2 关键参数的计算与仿真验证以自偏置Cascode为例假设电源电压VDD1.0V目标输出电流Iout5μA输出摆幅要求至少0.3V。那么输出管的Vov不能超过0.2V共栅管的Vov不能超过0.1V。先确定输出管的宽长比。假设工艺的μnCox200μA/V²Vov0.15V那么Iout0.5·μnCox·(W/L)·Vov²代入得5μA0.5×200×10⁻⁶×(W/L)×0.0225解得W/L≈2.2。这个宽长比很小说明输出管可以做得比较小寄生电容也小。再确定共栅管的宽长比。共栅管的Vov0.1V电流也是5μA那么W/L≈4.4。共栅管的面积比输出管大一倍这是合理的因为共栅管的gm需要足够大才能提供足够的输出阻抗提升。仿真验证时要重点看几个指标输出电流的PVT偏差、输出阻抗、输出摆幅、启动时间。我一般会跑蒙特卡洛仿真看电流的σ/μ目标是在3σ以内偏差不超过15%。如果偏差太大就要调整电阻的修调范围或者增大管子的面积。5.3 启动电路的可靠性设计低压自偏置电流镜的启动电路比普通自偏置更棘手。因为电源电压低启动管的过驱动电压也低启动电流可能不够大导致启动时间过长甚至启动失败。我一般会用两级启动第一级是一个弱启动管持续给自偏置环路注入小电流保证它不会完全关断第二级是一个强启动管在上电瞬间注入大电流快速建立工作点。强启动管在正常工作点建立后完全关断弱启动管则保持微弱的注入防止环路意外进入零电流状态。弱启动管的电流要仔细选。太大会影响输出电流精度太小起不到防简并的作用。我一般会让弱启动电流在10nA到50nA之间大约是参考电流的0.2%到1%。这个电流对输出精度的影响可以忽略但足以防止零电流简并。6. 常见问题与排查技巧实录6.1 输出电流偏差过大这是最常见的问题。可能的原因有电阻绝对值偏差、管子匹配性差、启动管漏电、衬底效应。排查时先看DC工作点确认所有管子都在饱和区。然后跑蒙特卡洛看偏差是随机性的还是系统性的。如果是随机性的说明匹配性差需要增大管子面积或者优化版图。如果是系统性的说明是工艺角或者温度引起的需要检查电阻的温度系数和管子的Vth温度系数。我遇到过一次输出电流在高温下偏了20%的情况。查了半天发现是电阻的温度系数太大多晶硅电阻在125°C时阻值下降了15%导致参考电流上升了15%。后来换成了温度系数更小的电阻类型问题才解决。6.2 启动失败或启动时间过长启动失败通常是因为启动电流太小或者启动管的栅极电压被其他节点钳位。排查时先看上电瞬态仿真观察参考支路的电流建立过程。如果电流一直为零说明启动管没有导通检查启动管的栅极连接是否正确。如果电流建立很慢说明启动电流太小需要增大启动管的宽长比。启动时间过长还有一个可能的原因补偿电容太大。如果镜像管栅极加了很大的补偿电容启动时充电时间就会很长。我一般会把补偿电容控制在100fF以内如果稳定性不够优先调整管子的尺寸而不是加大电容。6.3 输出阻抗不达预期输出阻抗低通常是因为共栅管的gm不够大或者输出管和共栅管的ro不够大。排查时先看管子的工作区确认Vds足够大没有进入线性区。然后看管子的沟道长度如果L太小ro就小。我一般会让输出管和共栅管的L取工艺允许的较大值比如L1μm到2μm这样ro能大一些。还有一个容易被忽视的原因版图寄生。输出节点的寄生电容和寄生电阻会降低高频输出阻抗。如果应用对高频输出阻抗有要求就要优化版图缩短输出节点的连线减小寄生。6.4 常见问题速查表问题现象可能原因排查方法解决措施输出电流偏差大电阻偏差、匹配差、启动管漏电跑蒙特卡洛、检查DC工作点增大管子面积、修调电阻、减小启动管启动失败启动电流小、栅极钳位看上电瞬态、检查启动管连接增大启动管、调整栅极连接启动时间长补偿电容大、启动电流小看瞬态波形、检查电容值减小电容、增大启动管输出阻抗低gm小、ro小、版图寄生检查工作区、检查L、检查版图增大L、优化版图、调整偏置高温电流漂移电阻温度系数大、Vth漂移跑温度扫描、检查电阻类型换电阻类型、加温度补偿瞬态振铃反馈环路稳定性差跑AC仿真、看相位裕度加补偿电容、调整反馈管尺寸6.5 几个独家避坑技巧第一个技巧在自偏置电流镜的参考支路里串联一个小电阻大约几十欧姆可以改善启动性能。这个小电阻会在启动时产生一个电压降帮助启动管更快导通。正常工作后这个小电阻上的压降很小对电流精度的影响可以忽略。第二个技巧在Cascode电流镜的共栅管栅极加一个到地的电容大约几十飞法可以改善高频电源抑制比。这个电容会把共栅管栅极的电源噪声旁路掉减少噪声耦合到输出电流。第三个技巧在Wilson电流镜的反馈管源极串联一个小电阻可以改善反馈环路的稳定性。这个小电阻会降低反馈环路的增益但也会稍微降低输出阻抗。我一般会在这个电阻和稳定性之间折中取几十欧姆到几百欧姆。第四个技巧在低压自偏置电流镜里用NMOS和PMOS互补的自偏置结构可以抵消一部分温度漂移。NMOS的Vth随温度下降PMOS的Vth随温度上升两者互补后参考电流的温度系数可以降到很低。这个技巧在需要低温漂偏置的场合特别有用。7. 从仿真到流片的经验总结7.1 仿真设置的关键细节仿真自偏置电流镜时有几个设置容易被忽视。首先是启动仿真必须用瞬态仿真从0时刻开始观察电源上电后的电流建立过程。DC仿真看不出启动问题因为DC仿真会直接找到工作点不管这个工作点是怎么来的。其次是蒙特卡洛仿真要同时跑工艺角和匹配。工艺角看系统性偏差匹配看随机性偏差。我一般会跑200次蒙特卡洛看电流的分布目标是在3σ以内偏差不超过15%。如果偏差太大就要调整设计。最后是噪声仿真要看输出电流的噪声谱密度。自偏置电流镜的噪声主要来自参考支路的电阻热噪声和管子的闪烁噪声。如果应用对噪声敏感就要增大电阻值或者增大管子面积降低噪声。7.2 版图布局的实战经验版图布局对电流镜的精度影响很大。首先是匹配性参考管和输出管要尽量靠近方向一致周围环境一致。我一般会用共心布局或者叉指布局让两个管子的 centroid 重合。其次是电源和地的走线。电源线要足够宽减小IR drop。地线要单独走不要和数字地混在一起避免数字噪声耦合到模拟偏置里。最后是屏蔽。自偏置电流镜的参考支路对噪声很敏感要用保护环或者屏蔽层把它围起来隔离周围的噪声源。如果旁边有开关电容电路还要考虑时钟馈通的影响必要时加去耦电容。7.3 测试与修调的实际操作流片回来后测试自偏置电流镜的电流精度通常需要修调。修调的方式有熔丝、EEPROM、或者外部电阻。我一般会在设计时留出4到6个修调位覆盖±20%的偏差范围。修调时先测TT角的电流然后根据偏差调整修调位把电流拉到目标值附近。测试时要注意温度。自偏置电流镜的电流温度系数通常在几百ppm/°C量级如果应用对温度敏感就要在多个温度点测试拟合温度曲线必要时加温度补偿。修调完成后还要做可靠性测试包括高温工作寿命、温度循环、湿度测试。自偏置电流镜的启动电路在可靠性测试中容易出问题因为启动管的栅极氧化层在高温下可能漏电导致启动失败。我一般会在启动管的栅极加一个保护二极管防止栅极过压。7.4 一个完整的低压自偏置电流镜设计实例最后分享一个我在0.18μm工艺下做的低压自偏置电流镜实例。电源电压1.0V目标输出电流5μA输出摆幅要求0.3V温度范围-40°C到125°C。参考支路PMOS二极管连接管W/L4μm/1μm电阻R180kΩ。参考电流Iref≈(1.0V-0.45V)/180kΩ≈3.1μA。镜像比例1:1.6输出电流约5μA。输出支路NMOS输出管W/L3.2μm/1μm共栅管W/L6.4μm/1μm。共栅管偏置由参考支路的PMOS二极管连接管提供Vgs≈0.45VVov≈0.1V。启动电路PMOS启动管W/L0.5μm/1μm栅极接参考支路电阻下端漏极接镜像管栅极。上电时启动管导通注入约2μA启动电流。正常工作后启动管关断亚阈值漏电小于10nA。仿真结果TT角27°C输出电流5.02μAFF角4.88μASS角5.15μA偏差在±3%以内。输出阻抗3.5MΩ输出摆幅0.28V。启动时间约2μs。蒙特卡洛200次3σ偏差12%。这个设计后来流片验证测试结果和仿真吻合得很好输出电流在室温下5.05μA高温125°C下5.12μA低温-40°C下4.95μA温度系数约150ppm/°C。启动电路在所有测试条件下都可靠启动没有出现启动失败的情况。这个实例说明低压自偏置电流镜在1V电源下是完全可行的关键是共栅管的偏置要足够低启动电路要足够可靠版图要足够紧凑。如果你也在做低压偏置设计希望这个实例能给你一些参考。