ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

自偏置电流镜设计实战:从拓扑选择到版图匹配的完整流程

自偏置电流镜设计实战:从拓扑选择到版图匹配的完整流程 做了十年模拟IC我见过太多新人一上来就抱着bandgap和LDO啃结果在运放里面连一个像样的偏置电流都搭不出来。自偏置电流镜这个东西说大不大但你在一条偏置电流上没有外部基准的时候几乎是一抬手就要用的结构。它解决的问题很明确只靠一两个管子加一颗电阻就生成一条对外部电源电压和阈值电压都不太敏感的电流然后让电流镜把它复制到电路的每一个角落。这篇文章我想以一个0.18微米CMOS工艺、1.8V电源、目标电流10微安的设计为例把从拓扑选择、参数计算、启动电路到仿真调试和版图匹配的完整过程拆开讲一遍适合刚接触模拟IC的工程师也适合做了几年但没系统捋过这个结构的朋友。1. 自偏置电流镜的设计思路与结构选型1.1 电流镜工作的基本约束电流镜的本质是电压共享、电流按宽长比复制。两个同类型MOS管栅极短接源极接同一电位只要都工作在饱和区漏电流之比就约等于(W/L)之比。问题是需要一个参考电流源这个电流从哪来很多片内偏置需求并没有一个现成的理想电流源只有一个电源电压VDD。于是最常见的做法是拿一个二极管连接的管子从电源吸收电流但这个电流会跟着VDD走沟道调制、Vth漂移全都反映到电流上直接用在精密支路上会被骂死。所以工程师们想了一个办法让参考电流由电路自己约束出来而不是由电源电压约束。自偏置电流镜的核心思路就是把电阻放在某个管子的源极利用电阻上的压降改变管子的栅源电压约束关系从而逼出一条只由器件尺寸和电阻值决定的电流。这个电流一旦建立再通过电流镜复制到其他地方就相当于在片内自己造了一个不依赖外部基准的偏置源。1.2 自偏置的核心一个电阻建立唯一工作点最经典的自偏置结构可以理解成两部分上面是PMOS电流镜P1、P2通常1:1下面是NMOS对管M1和M2。M1接成二极管形式栅漏短接源接地M2的栅和M1的栅接在同一个节点上但M2的源不直接接地而是串一颗电阻R到地。PMOS电流镜把右边M2支路的电流复制到左边M1支路让两条支路电流保持相等或按比例相等。现在看NMOS侧。因为两条支路电流相等M1的Vgs一定比M2的Vgs大差出来的电压全部落在电阻R上也就是Vgs1 Vgs2 I * R这是这条电路最要命的约束。把饱和区平方率公式I 0.5 * μCox * (W/L) * (Vgs - Vth)^2带进去Vth项会在这个做差的过程中被约掉剩下的是一个不依赖Vth的电流表达式I 2 / [ μCox * (W/L)1 * R^2 ] * (1 - 1/√K)^2其中K (W/L)_M2 / (W/L)_M1也就是M2和M1的宽长比倍数。这个公式说明了三件事。第一电流由电阻R和管子尺寸比例决定VDD只要足够让管子饱和抬高多少都不会明显影响电流这和单管电阻偏置有本质区别。第二Vth的绝对值被抵消了这对工艺漂移、温度漂移非常友好流片批次之间的偏差主要来自R的阻值和μCox的工艺角。第三K越大当然电流越大但K到4以后(1 - 1/√K)^2的变化已经很缓慢了所以实际设计里K取4或8就够用没必要把M2做得巨大。从反馈环路的角度看这个结构天生是负反馈。假设某个扰动让电流增大流过R的压降变大M2的Vgs变小M2的过驱动电压被压缩电流回落反之亦然。所以正常工作点附近的环路是稳定的不需要额外补偿这也是它能在工程里活得这么滋润的原因。1.3 为什么必须有启动电路自偏置结构有一个绕不开的坑上电简并点。除了我们要的那个正常电流工作点它还存在着一个零电流稳定点。想象一下上电瞬间所有节点都是0没有电流从VDD流到地NMOS的栅极电压是0所有管子都关断环路里没有任何信号能把电路“叫醒”。自偏置意味着没有外部电流源来推动第一脚所以只要没有启动电路这电路就会静静地死在这个零电流状态输出偏置电流为0后级运放全部乱套。启动电路的职责就是在零状态的工作点上制造一个打破平衡的扰动把环路推过“山丘”滑到正常电流工作点去。最简单的做法是加一个小尺寸二极管连接NMOS把它的栅漏短接到VDD源端接到PMOS电流镜的栅极节点。上电时PMOS栅极电压还是0这个小管子有很强的Vgs直接把PMOS栅极拉低P1、P2开启支路电流建立起来电路进入正常状态。这个启动管本身的静态电流很小但对功耗苛刻的设计还要想办法在启动完成后把它关断否则它始终偷一点电流。这个后面设计实例里细说。2. 设计实例从指标到电路参数计算2.1 目标指标与工艺选型拿一个实际项目需求来说明。工艺是0.18微米标准CMOSVDD 1.8V需要产生一条Iref 10uA的偏置电流用于一个两级运放的尾电流和负载管偏置。要求这条电流对电源电压不敏感温度变化下不要漂得太离谱版图面积尽量小电路拓扑简单可靠。先定工艺参数。0.18微米工艺下我这个项目用到的NMOS阈值电压Vthn大约是0.5VμnCox取200uA/V^2PMOS的μpCox取50uA/V^2Vthp取-0.5V。电阻用来做电流约束采用高阻多晶硅电阻方块电阻2kΩ/sq温度系数正负一百多ppm不等。这些数值提前从工艺PDK和以往流片经验里确认设计计算才有意义。拓扑选择上我直接用经典的自偏置电流镜NMOS对管作为核心约束PMOS电流镜作为载流复制层输出从PMOS侧镜像出去。这个结构用在片上偏置里非常成熟需要的器件很少不存在运放环路补偿的问题也基本没有稳定性风险。后面如果需要更低的电源电压或者更高的输出阻抗可以在这个骨架上加cascode但第一版先做简单可靠。2.2 参数计算与验证先选K值。K (W/L)_M2 / (W/L)_M1我取K 4。取4的好处有几点一是M2的尺寸刚好是M1的4倍版图里用单位管拼接很方便二是K4时(1-1/√4)^2 0.25系数适中不会因为K过大让电流对尺寸偏差过度敏感也不会因为K过小导致电阻过大。看M1的宽长比。取(W/L)_M1 10/0.5也就是W10umL0.5um。根据前面推导的公式I 2 / [ μCox * (W/L)1 * R^2 ] * (1 - 1/√K)^2代入I 10uAK 4μCox 200uA/V^2可以反推RR ≈ 5kΩ这里我用高阻多晶硅电阻总阻值5kΩL口径算下来占的面积不大。然后M2的宽长比就是4倍取40/0.5。核算一下工作点让心里有底。M1的VgsVgs1 Vth sqrt(2 * I / (μCox * W/L)) 0.5 sqrt(2*10u / (200u * 10)) ≈ 0.6V所以M1栅极节点电压Vb ≈ 0.6V。M2的VgsVgs2 0.5 sqrt(2*10u / (200u * 40)) ≈ 0.55V两者之差是50mV而I * R 10uA * 5kΩ 50mV完全吻合。这个一致性说明电流建立在预想的约束上M2工作在饱和区也没有问题源端电压0.05VVds约0.55V远大于过驱动。再看PMOS侧。P1和P2分别承载10uA为了让电流镜自身的匹配好一点过驱动电压我做在0.12V左右(W/L)_P 2I / (μpCox * Vov^2) 210u / (50u * 0.0144) ≈ 27.8取整为30/0.5。P1、P2的L都取0.5um用来压低沟道调制带来的镜像误差。如果想让输出支路的电流更稳可以加cascode但会多占用电压余量对1.8V电源来说需要仔细算过。这个设计的第一版先不加把基础电流源跑稳再说。2.3 启动电路设计启动电路我采用最朴素的二极管连接NMOS方案。启动管Mn_s的栅和漏短接到VDD源端接到PMOS电流镜的栅极节点V_pp也就是P1、P2的栅极公共点。上电时V_pp还是0Mn_s的Vgs接近1.8V导通能力很强直接把V_pp往下拉P1、P2随即导通有电流注入NMOS侧电路进入正常偏置点。麻烦在于电路稳定后V_pp会被P管钳到大约VDD - |VgsP|也就是1.8 - 0.62 ≈ 1.18V。此时Mn_s的Vgs 1.8 - 1.18 0.62V仍然超过Vth它还会继续导通产生一个额外的静态电流从VDD流到V_pp。这个电流虽然不大但会叠加到P1支路上影响镜像精度和功耗。解决起来也直接把Mn_s做成长沟道小尺寸让这个残余电流小到可以忽略。我取(W/L)_Mn_s 0.5/10长沟道把饱和电流压到几百纳安。这个量级对这个偏置电路的影响小于1%可以直接接受。如果哪天真遇到低功耗到微安级别的系统就得用带检测功能的启动电路检测NMOS栅极电压一旦偏置建立起来就把Mn_s完全断开这个思路留到更复杂的场景再说。启动电路还有一点要提醒必须让启动管在所有工艺角、所有温度范围内都能成功触发。仿真时要用慢工艺角加上极慢的电源斜坡再扫描一遍确认电路每次都爬到了正常电流而不是停在零电流状态。千万别只在典型角跑一次就觉得自己稳了。3. 仿真验证与常见难点3.1 直流工作点与启动过程仿真仿真在Cadence Spectre里做但用ngspice也一样原理是通用的。拿到电路网表后第一件事是DC op看每个管子是否在饱和区。我的检查习惯是M1和M2的Vds都要大于各自的VovP1和P2的Vds差值不能太大否则镜像精度直接受影响R两端的压降应该在50mV附近和理论计算一致。启动过程要用瞬态仿真去验证。电源上电时间设成1us从0到1.8V斜升观察Iref的波形。如果上电后电流在几微秒内从0跳到10uA并稳定住说明启动成功。如果没有跳变一直贴着0就是碰到了零电流简并点要回去查启动电路是不是失效了。一个更极端的验证是用DC扫描VDD从0扫到1.8V再扫回来看电流曲线是否存在跳变或者迟滞。理想情况下两条扫描曲线应该重合如果出现两个稳定分支说明多稳态问题没有彻底解决。另外环路稳定性我一般用stb分析在M1的栅极处断开环路看相位裕度。自偏置电流镜的核心环路在正常工作点是一个负反馈相位裕度通常很高但为了保险还是扫到200MHz以上看一遍。如果出现增益尖峰检查PMOS电流镜的栅极有没有寄生电阻和电容过大必要时在这里加一个小RC补偿。3.2 温度特性与电源抑制特性自偏置电流镜的电流公式里最明显的温度项是μCox和R。μCox随温度升高而下降高阻多晶硅电阻一般正温度系数两者叠加会让Iref随温度上升呈现明显的下降趋势。换句话说这条电流既不是严格的PTAT也不是严格的CTAT而是由工艺参数中哪一项占主导决定的。设计指标如果不严这个温度特性可以直接用在模拟电路里不需要额外补偿。我实际做温度扫描时是-40到125摄氏度三个工艺角都跑看电流极值。如果电流变化超过指标优先调整电阻类型和R值再往后就得考虑给核心电路加一阶温度补偿。但很多场景下偏置电流只要和核心管的迁移率漂移趋势一致就可以抵消一部分温度影响比如偏置电流下降时核心管在高温下的漏电也在下降电路整体反而更稳。电源抑制特性主要受PMOS电流镜的Vds失配影响。P1、P2如果Vds差得远沟道调制效应会让两边的电流比例失衡VDD越高这种失衡越明显。改善的办法是加大PMOS的L降低沟道调制系数或者给P1、P2都加cascode管让它们在宽电源范围里保持Vds恒定。1.8V电源下总电压余量如果够我会倾向于直接加cascode省心很多。3.3 常见问题与排查速查表这几种情况我在项目里都遇到过整理成了一张排查表方便大家对照。现象根因解决办法上电后输出电流始终为0电路停在零电流简并点启动电路失效检查启动管尺寸和接法缩短长沟道启动管L或改为带自关断功能的启动电路上电后电流掉到另一个非设计值多稳态R或K参数让工作点不唯一调整K和R确认负反馈环路增益在稳定范围用DC双向扫描检查迟滞Iref和理论计算值偏差超过20%工艺角里μCox或R偏差大短沟道效应不可忽略用仿真校准公式里的μCox和Vth核心管L不要小于0.5uR改用高阻poly并核算方块数温度扫描电流漂移太大μCox和R温度系数叠加补偿不足换温度系数更小的电阻类型检查R温度系数必要时加一阶温度补偿VDD升高时Iref明显变大PMOS电流镜沟道调制Vds失配加长P管L给P1/P2加cascode输出级也加cascode保Vds后仿电流与pre仿真差很多版图寄生电阻、器件失配、STI应力对称布线源端金属加宽加dummy管核心管交叉匹配4. 版图匹配实操4.1 电流镜版图匹配的基本原则很多人觉得电流镜的原理一看就懂一画版图就翻车问题大多出在匹配上。器件级别的失配主要来自三个来源阈值电压的随机涨落、栅氧厚度波动、还有版图应力带来的系统偏差。前两者要靠增大面积来摊平后者要靠版图技巧去消除。我做电流镜匹配版图第一原则是所有需要匹配的管子用同一个unit管复制不要一个管直接拉宽另一个管自己画。比如M1是10/0.5M2是40/0.5如果M1画一根10um宽的管M2画一根40um宽的管两者的源漏边界环境完全不同STI应力不一样失配会很严重。正确做法是把10/0.5拆成4个2.5/0.5的unitM2拆成16个2.5/0.5的unit然后把这些unit交叉或对称地放在同一个有源区阵列里。第二原则是共质心比“对称摆放”更可靠。所谓共质心就是所有unit围绕同一个几何中心对称分布让一阶工艺梯度比如温度梯度、氧化层厚度梯度在中心点抵消。对电流镜来说共质心通常和叉指交错一起用M1的unit和M2的unit交替排列周围再围一圈不参加工作的dummy管保证每个有效管两边的环境完全一致。dummy管不是浪费面积它是用一点点面积换几倍的匹配精度划算得很。第三原则是连线对称。源极和漏极的金属走线如果不对称寄生电阻就不一样会在源级引入额外的反馈导致两边有效跨导不等。具体的操作是源端用多指并联的宽金属保证从管到公共源节点的电阻路径一致漏端同样对称引出输出支路的电流走线尽量短而宽减少IR drop。4.2 自偏置电流镜版图布局示意以我这个K4的实例为例整体布局可以这样规划。PMOS P1、P2放在最上方各拆成unit管交叉排列栅极从中间对称引出衬底接触沿着两侧打一圈作为guard ring顺便接到VDD隔离开其他模块的电源噪声。NMOS侧分两块M1用4个unitM2用16个unit两个NMOS阵列十字交叉或一字排开中间源区共享地线从两侧对称接出。M1和M2的栅极是连到一起的这个节点是敏感节点连线要短尽量走在多晶硅层和第一层金属之间不要绕远路。M2的源端串联电阻R电阻放在NMOS阵列旁边方向和电流路径垂直周围加dummy电阻。R的位置要远离大功耗的功率管和输出级避免局部发热导致阻值漂移。启动管的面积很小直接放在角落不影响核心匹配。整个模块外围再打一圈衬底接触ring一方面降低衬底噪声耦合另一方面为阱和衬底提供低阻抗通路。如果后仿发现电流偏差大优先检查的就是这一圈的衬底接触密度和地线通孔数量很多批量失配问题不是管子的锅而是地弹造成的。4.3 匹配不足的后果与实测经验版图匹配不足造成的最典型后果是镜像出来的电流比例不是设计值。比如P1截止的时候P2还在漏电流或者两边电流差个20%导致后级运放的尾电流和负载电流不匹配静态电流乱跑输出共模点漂移。严重的还会引起自偏置环路的工作点整体偏移甚至把某条支路推到线性区整个电路功能失效。我自己的经验是匹配管的L一律取整数倍的光刻栅长不要用非规则尺寸能走偶数叉指就走偶数叉指避免栅极多晶硅末端寄生的不对称源漏共享区域用双扩散结构尽量让每个unit的电流方向一致。换过几轮版图之后我最大的体会是宁可多花一点面积把dummy画满也不要为了省面积把匹配管边缘裸露出来STI应力带来的失配几乎是不可逆的。另外如果指标对电流镜失配特别敏感可以在仿真阶段跑一遍蒙特卡洛只看mismatch项不看工艺角。典型流程是200个点看输出电流的3σ偏差。如果偏差超过5%先考虑增大unit面积再考虑提高过驱动电压。过驱动电压越低Vth失配占总压降的比例越高电流失配越严重所以设计时过驱动不要压得太低这是很多低功耗设计的血泪教训。我个人在实际操作中的体会是自偏置电流镜这种结构一开始觉得就是个“二极管加电阻”的小玩意真正做进芯片里才发现简并点、启动、版图匹配每一个环节都能坑人。设计时宁可多花半天把启动电路的工艺角仿真跑透也别等到流片回来对着测试曲线挠头。如果你现在手里正好要搭一个片内偏置建议按照上面的流程一步步来先定K和R推算出管子尺寸瞬态确认启动成功再跑温度和电源扫描最后在版图上把匹配做扎实。这样一条电流源做出来后级电路基本不会在偏置上给你添乱。
返回列表