ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

模拟CMOS放大器设计全解析:从共源级到差分对的核心技术

模拟CMOS放大器设计全解析:从共源级到差分对的核心技术

1. 模拟CMOS放大器总结:从共源级到差分对的完整设计思路

模拟CMOS集成电路设计里,放大器是绕不开的第一道坎。不管后面做的是带隙基准、LDO、还是开关电容滤波器,放大器的设计功底直接决定了整个系统的性能上限。我做了几年模拟IC设计,带过几个新人,发现大家最容易犯的毛病就是“一上来就画电路,仿真能跑就交差”,结果流片回来一测,增益差了一大截,带宽也不对,噪声更是惨不忍睹。这个总结系列,我打算把模拟CMOS放大器从最基础的共源级到差分对,再到频率响应和噪声分析,系统地梳理一遍。适合正在学模拟IC的学生、刚入行的初级工程师,以及想重新夯实基础的从业者。我会把每个电路的关键参数推导、设计取舍、仿真验证方法都讲清楚,尽量用大白话把道理说明白,让你看完能直接上手做设计。

2. 共源级放大器:最基础也最容易翻车的一级

2.1 为什么共源级是所有放大器的起点

共源级(Common Source)是CMOS放大器里最基础的结构,没有之一。它的核心就一个MOS管加一个负载,输入在栅极,输出在漏极,源极接地。别看它简单,增益、带宽、输出摆幅、噪声这些关键指标全都能在这一级里体现出来。我见过不少新人觉得共源级太简单,随便调调参数就过了,结果到了两级运放里,第一级的增益不够,第二级怎么补都补不回来。

共源级的增益公式是 ( A_v = -g_m \cdot (r_o \parallel R_L) ),其中 ( g_m ) 是跨导,( r_o ) 是输出电阻,( R_L ) 是负载电阻。这里负号表示反相,说明输入增大时输出减小。从公式就能看出来,想提高增益,要么增大 ( g_m ),要么增大 ( r_o )。增大 ( g_m ) 的常见做法是增大宽长比 ( W/L ) 或者增大偏置电流 ( I_D ),因为 ( g_m = \sqrt{2 \mu_n C_{ox} (W/L) I_D} )。但增大电流会牺牲功耗,增大 ( W/L ) 会增大寄生电容,影响带宽。增大 ( r_o ) 的办法是增大沟道长度 ( L ),因为 ( r_o \approx \frac{1}{\lambda I_D} ),而 ( \lambda ) 与 ( L ) 成反比。但 ( L ) 增大又会让 ( g_m ) 下降,所以这里有个折中。

我个人的经验是,对于一般的共源级,增益做到20到30dB比较合理,再高就需要用共源共栅(Cascode)结构了。输出摆幅方面,如果负载是电阻,输出最高能到 ( V_{DD} ),最低到 ( V_{DS,sat} ),大概0.2到0.3V左右。如果是电流源负载,输出摆幅会小一些,因为电流源本身需要一定的电压余度。

2.2 负载选型:电阻、电流源还是二极管连接

共源级的负载选择直接决定了增益和输出摆幅的权衡。我列个表对比一下三种常见负载:

负载类型增益输出摆幅特点
电阻负载中等大增益受电阻精度影响,面积大
电流源负载高中等增益高,但输出摆幅受限
二极管连接低大增益约等于1,一般做电平移位

电阻负载的增益是 ( A_v = -g_m \cdot (r_o \parallel R_D) ),如果 ( R_D ) 远大于 ( r_o ),增益就接近 ( -g_m r_o )。但电阻在集成电路里占面积大,精度也差,所以实际设计中用得不多,除非是特殊需求。电流源负载用PMOS做电流源,增益能到 ( -g_m (r_{on} \parallel r_{op}) ),比电阻负载高不少,因为 ( r_{op} ) 通常很大。但输出摆幅会损失一个 ( V_{DS,sat} ),大概0.2到0.3V。二极管连接的负载增益只有 ( -g_m / g_{m,load} ),约等于 ( -\sqrt{(W/L)/(W/L)_{load}} ),一般用来做电平移位或者电流镜。

我实际做设计时,如果要求增益高、摆幅大,会优先考虑共源共栅结构,而不是单纯在共源级上死磕。共源共栅的增益能到 ( g_m r_o^2 ) 的量级,输出摆幅损失两个 ( V_{DS,sat} ),但增益提升非常明显。

2.3 偏置电路的设计细节与常见坑

偏置电路是共源级设计里最容易出问题的地方。很多新人直接用理想电流源做偏置,仿真结果很好看,但实际电路里电流源需要电流镜来实现,而电流镜的精度受匹配和沟道长度调制效应影响很大。我一般会要求电流镜的沟道长度至少是特征尺寸的2到3倍,这样 ( \lambda ) 小,电流匹配好。

还有一个坑是偏置电压的建立。如果用的是电阻分压或者二极管连接的MOS分压,要注意温度漂移和电源抑制比。我见过一个设计,偏置电压随温度变化了50mV,导致增益变化了3dB。后来改成带隙基准提供的偏置,问题才解决。所以如果对温度稳定性有要求,偏置电路一定要用带隙基准或者至少是温度系数补偿过的结构。

另外,偏置电流的选取要结合增益和功耗。我一般会先定一个功耗预算,比如这一级允许1mA电流,然后根据 ( g_m = \sqrt{2 \mu C_{ox} (W/L) I_D} ) 反推 ( W/L )。如果 ( W/L ) 太大,寄生电容会拖慢带宽;如果太小,增益又不够。这个折中需要反复迭代,我通常会先扫一遍 ( W/L ) 和 ( I_D ) 的组合,看增益和带宽的曲线,再选一个折中点。

3. 共源共栅放大器:增益不够时的第一选择

3.1 共源共栅结构的工作原理与增益提升

共源共栅(Cascode)结构是在共源级的漏极上再叠一个MOS管,这个管子共栅极连接,起到电流缓冲的作用。它的核心优势是输出电阻大幅提高,从 ( r_o ) 变成 ( r_o + r_{o,cascode} (1 + g_{m,cascode} r_{o,cascode}) ),约等于 ( g_m r_o^2 )。增益也相应提高到 ( -g_m (g_m r_o^2 \parallel R_L) ),比单管共源级高一个数量级。

但共源共栅也有代价。输出摆幅损失了两个 ( V_{DS,sat} ),大概0.4到0.6V。如果电源电压是1.8V,输出摆幅可能只剩0.8V左右,对于低电压设计来说很紧张。另外,共源共栅管的偏置电压需要仔细设计,要保证它工作在饱和区,同时又要让输出摆幅尽可能大。我一般会把共源共栅管的栅极偏置设在 ( V_{DD} - V_{DS,sat} - V_{GS} ) 左右,具体值需要根据工艺和电流密度调整。

还有一个细节是共源共栅管的尺寸。它的 ( W/L ) 不需要和主放大管一样大,通常可以小一些,因为它的主要作用是提高输出电阻,而不是提供跨导。但也不能太小,否则它的 ( r_o ) 会下降,影响增益提升效果。我一般会取主放大管 ( W/L ) 的1/2到1/3,具体看仿真结果。

3.2 折叠共源共栅与套筒共源共栅的取舍

共源共栅有两种常见变体:套筒式(Telescopic)和折叠式(Folded)。套筒式是把共源共栅管直接叠在主放大管上面,结构紧凑,功耗低,但输出摆幅损失大,输入共模范围也窄。折叠式是把共源共栅管折到另一边,用电流源提供偏置,输出摆幅大,输入共模范围宽,但功耗高,噪声也大一些。

我选型的时候会看几个指标:如果电源电压高(比如3.3V以上),输出摆幅要求不苛刻,套筒式是首选,因为功耗低、噪声小。如果电源电压低(1.8V甚至更低),或者输入共模范围要求宽,那就得用折叠式。折叠式的功耗大概是套筒式的两倍,因为需要额外的电流源来提供折叠支路的电流。

还有一个实际问题是套筒式的输入共模范围。套筒式的输入共模最低不能低于 ( V_{GS} + V_{DS,sat} ),最高不能高于 ( V_{DD} - V_{GS} - V_{DS,sat} ),大概只有0.6到0.8V的范围。如果输入信号共模电平不在这个范围内,就得加电平移位电路,反而增加复杂度。折叠式的输入共模范围能到 ( V_{DS,sat} ) 到 ( V_{DD} - V_{DS,sat} ),宽很多。

3.3 偏置电路与输出摆幅的权衡计算

共源共栅的偏置电路比共源级复杂得多。套筒式需要至少三个偏置电压:主放大管的栅极、共源共栅管的栅极、以及尾电流源的栅极。这些偏置电压必须保证所有管子都在饱和区,同时输出摆幅尽可能大。

我一般会这样计算:假设电源电压 ( V_{DD} = 1.8V ),( V_{DS,sat} = 0.2V ),( V_{GS} = 0.5V )。套筒式的输出摆幅最高是 ( V_{DD} - V_{GS,cascode} - V_{DS,sat,cascode} ),最低是 ( V_{DS,sat,main} + V_{DS,sat,cascode} )。代入数值,最高约1.1V,最低约0.4V,摆幅约0.7V。如果输入信号幅度是0.5V,那还够用;如果要求1V摆幅,那就得换折叠式或者降低 ( V_{DS,sat} )。

降低 ( V_{DS,sat} ) 的办法是增大 ( W/L ),因为 ( V_{DS,sat} = \sqrt{2 I_D / (\mu C_{ox} (W/L))} )。但增大 ( W/L ) 会增大寄生电容,影响带宽。我一般会在增益、带宽、摆幅之间反复迭代,用仿真工具扫参数,找到最优点。这个过程很耗时,但没办法,模拟设计就是靠迭代。

4. 差分放大器:抑制共模噪声的核心结构

4.1 差分对的基本原理与共模抑制比

差分放大器是模拟电路里最常用的结构,因为它能抑制共模噪声和偶次谐波。基本差分对由两个匹配的MOS管组成,源极连在一起,由一个尾电流源提供偏置。差模输入时,两个管子的电流一个增大一个减小,输出差模信号;共模输入时,两个管子的电流同时增大或减小,输出共模信号被抑制。

共模抑制比(CMRR)是差分对的关键指标,定义为差模增益与共模增益之比。理想情况下,如果尾电流源是理想的,共模增益为零,CMRR无穷大。但实际尾电流源有输出电阻 ( r_{tail} ),共模增益约为 ( -g_m / (1 + 2 g_m r_{tail}) ),CMRR约为 ( 1 + 2 g_m r_{tail} )。所以提高CMRR的关键是增大尾电流源的输出电阻,用共源共栅电流源能显著提高CMRR。

我实际设计中,CMRR一般要求60dB以上。如果尾电流源用简单的电流镜,CMRR可能只有40dB左右;换成共源共栅电流源,能到60到70dB。如果要求更高,就得用增益提升技术或者共模反馈电路。

4.2 有源负载差分对的设计要点

有源负载差分对是用电流镜做负载,把双端输出转成单端输出。这种结构增益高,因为输出电阻是 ( r_{on} \parallel r_{op} ),比电阻负载大得多。但电流镜的匹配很重要,如果两个PMOS管的 ( V_T ) 或 ( \beta ) 不匹配,就会产生输入失调电压。

输入失调电压是差分对设计里必须关注的指标。它主要来自三个方面:一是差分对管的匹配,二是负载电流镜的匹配,三是尾电流源的不匹配。我一般会要求差分对管的面积足够大,因为失调电压与 ( 1/\sqrt{WL} ) 成正比,面积越大,失调越小。但面积大又会导致寄生电容大,带宽下降。所以这里也有折中。

我通常的做法是:先根据失调电压要求确定最小面积,然后根据带宽要求确定最大面积,取中间值。比如要求失调电压小于5mV,根据工艺的 ( A_{VT} ) 参数(大概2到5mV·μm),可以算出 ( WL ) 至少是1到4μm²。如果带宽允许,我会取2到3倍的最小面积,留一些余量。

4.3 尾电流源的设计与共模输入范围

尾电流源的设计直接影响共模输入范围和CMRR。共模输入范围的最低值是 ( V_{GS} + V_{DS,sat,tail} ),最高值是 ( V_{DD} - V_{GS,load} + V_{T,load} )(对于PMOS负载)。如果尾电流源的 ( V_{DS,sat} ) 太大,共模输入范围就会缩小。

我一般会把尾电流源的 ( V_{DS,sat} ) 设在0.2V左右,这样共模输入最低值大概是 ( V_{GS} + 0.2V )。如果 ( V_{GS} ) 是0.5V,那最低共模输入就是0.7V。最高共模输入取决于负载管的 ( V_{GS} ) 和 ( V_T ),大概在 ( V_{DD} - 0.3V ) 左右。所以共模输入范围大概是0.7V到1.5V,对于1.8V电源来说还算合理。

尾电流源的输出电阻也很关键。如果用简单的电流镜,输出电阻是 ( r_o ),CMRR大概40dB。如果用共源共栅电流源,输出电阻是 ( g_m r_o^2 ),CMRR能到60dB以上。但共源共栅电流源需要额外的偏置电压,而且输出摆幅会损失一个 ( V_{DS,sat} )。我一般会在CMRR和摆幅之间权衡,如果CMRR要求不高,就用简单电流镜;如果要求高,就上共源共栅。

5. 频率响应与稳定性:从极点分析到相位裕度

5.1 单级放大器的极点分析与带宽计算

放大器的频率响应决定了它的速度和稳定性。单级共源级的极点主要来自输出节点,因为输出节点的电阻 ( r_o \parallel R_L ) 和电容 ( C_L ) 构成了一个RC低通滤波器。极点频率是 ( \omega_p = 1 / ((r_o \parallel R_L) \cdot C_L) ),带宽就是 ( \omega_p )。增益带宽积(GBW)是 ( A_v \cdot \omega_p = g_m / C_L ),这个公式很重要,说明GBW只与 ( g_m ) 和 ( C_L ) 有关,与 ( r_o ) 无关。

我实际设计中,如果要求GBW是100MHz,负载电容是1pF,那 ( g_m ) 至少是 ( 2\pi \cdot 100M \cdot 1p = 0.628mA/V )。根据 ( g_m = \sqrt{2 \mu C_{ox} (W/L) I_D} ),可以反推 ( W/L ) 和 ( I_D ) 的组合。如果 ( I_D ) 是100μA,( \mu C_{ox} ) 是200μA/V²,那 ( W/L ) 大概是10。这个尺寸还算合理,寄生电容不会太大。

但单级放大器的增益有限,如果要求高增益,就得用两级或多级。多级放大器的极点更多,稳定性问题更复杂,需要频率补偿。

5.2 两级放大器的频率补偿与相位裕度

两级放大器是最常见的结构,第一级提供高增益,第二级提供大摆幅。但两级放大器有两个极点,如果两个极点靠得太近,相位裕度就会不够,闭环时可能振荡。所以需要频率补偿,最常用的是米勒补偿(Miller Compensation),在第二级输入和输出之间加一个电容 ( C_C )。

米勒补偿的原理是利用米勒效应,把 ( C_C ) 等效到第一级输出端,等效电容是 ( C_C (1 + A_2) ),其中 ( A_2 ) 是第二级增益。这样主极点被推向低频,次极点被推向高频,两个极点分离,相位裕度提高。主极点频率是 ( \omega_{p1} = 1 / (R_1 \cdot C_C \cdot A_2) ),次极点频率是 ( \omega_{p2} = g_{m2} / C_L ),单位增益频率是 ( \omega_u = g_{m1} / C_C )。

我设计两级放大器时,一般要求相位裕度至少60度,这样闭环响应没有尖峰,稳定性好。如果相位裕度只有45度,阶跃响应会有25%的过冲,虽然能用,但不好。我一般会留一些余量,做到65到70度。

米勒补偿还有一个问题是右半平面零点,来自 ( C_C ) 的前馈通路。这个零点会让相位进一步下降,恶化稳定性。消除办法是加一个调零电阻 ( R_Z ),让零点移到左半平面或者无穷远。( R_Z ) 的值一般取 ( 1/g_{m2} ),这样零点被推到无穷远。我实际仿真时,会扫 ( R_Z ) 的值,看相位裕度的变化,选一个最优值。

5.3 相位裕度仿真与阶跃响应验证

相位裕度的仿真方法是在开环条件下,看环路增益的相位在增益为0dB时的值。具体操作是:在反馈环路里加一个交流源,断开环路,用AC仿真看环路增益的幅频和相频特性。相位裕度就是增益交越频率处的相位与-180度的差值。

我一般会同时看阶跃响应,因为相位裕度和阶跃响应的过冲有对应关系。相位裕度60度对应过冲约10%,45度对应25%,30度对应50%。如果阶跃响应过冲太大,说明相位裕度不够,需要调整补偿电容或调零电阻。

还有一个实际问题是工艺角(Corner)的影响。不同工艺角下,( g_m ) 和 ( r_o ) 会变化,相位裕度也会变化。我一般会在TT、FF、SS、FS、SF五个工艺角下都仿真一遍,确保最差情况下相位裕度不低于45度。如果某个工艺角下相位裕度不够,就得重新调整补偿参数,或者增加补偿电容。

6. 噪声分析与低噪声设计技巧

6.1 MOS管噪声模型与输入参考噪声

MOS管的噪声主要有两种:热噪声和闪烁噪声(1/f噪声)。热噪声来自沟道电阻,功率谱密度是 ( 4kT \gamma g_m ),其中 ( \gamma ) 在长沟道下是2/3,短沟道下会更大。闪烁噪声来自栅氧界面陷阱,功率谱密度是 ( K / (C_{ox} W L f) ),与面积成反比,与频率成反比。

输入参考噪声是把输出噪声除以增益,等效到输入端。对于共源级,输入参考热噪声是 ( 4kT \gamma / g_m ),闪烁噪声是 ( K / (C_{ox} W L f) )。从公式可以看出,增大 ( g_m ) 能降低热噪声,增大面积能降低闪烁噪声。但增大 ( g_m ) 需要增大电流或 ( W/L ),增大面积会增大寄生电容。所以低噪声设计也是在噪声、功耗、带宽之间折中。

我实际设计中,如果要求低噪声,会优先增大面积来降低闪烁噪声,因为闪烁噪声在低频段占主导。对于高频应用,热噪声更重要,那就得增大 ( g_m )。我一般会先确定噪声预算,然后根据公式反推 ( W/L ) 和 ( I_D ),再仿真验证。

6.2 差分对的噪声优化与匹配

差分对的噪声比单管复杂一些,因为有两个管子和尾电流源。差分对的输入参考热噪声是 ( 8kT \gamma / g_m ),比单管大一倍,因为两个管子都贡献噪声。尾电流源的噪声是共模噪声,理想情况下被抑制,但实际由于失配会有一部分转化成差模噪声。

优化差分对噪声的办法是增大 ( g_m ),也就是增大 ( W/L ) 或 ( I_D )。但增大 ( I_D ) 会增大功耗,增大 ( W/L ) 会增大寄生电容。我一般会取一个折中,让 ( g_m ) 在合理范围内尽可能大。另外,尾电流源的噪声也要考虑,如果尾电流源的 ( g_m ) 太大,它的噪声贡献会增大。我一般会让尾电流源的 ( g_m ) 小于差分对管的 ( g_m ),这样它的噪声贡献可以忽略。

匹配对噪声也有影响。如果差分对管失配,共模噪声会转化成差模噪声,恶化噪声性能。所以差分对管的匹配很重要,我一般会要求面积足够大,版图对称,加dummy管。实测下来,匹配好的差分对,噪声能比匹配差的低2到3dB。

6.3 低噪声放大器的设计实例与仿真验证

假设我要设计一个低噪声差分放大器,要求输入参考噪声在1kHz处小于10nV/√Hz,增益20dB,带宽1MHz,功耗1mW。电源电压1.8V,电流约0.56mA。

首先确定闪烁噪声。闪烁噪声在1kHz处占主导,根据 ( V_{n,1/f}^2 = K / (C_{ox} W L f) ),要求 ( V_{n,1/f} < 10nV/√Hz ),可以算出 ( WL ) 至少是某个值。假设 ( K ) 是 ( 10^{-25} V^2 F ),( C_{ox} ) 是 ( 10^{-15} F/\mu m^2 ),代入公式,( WL ) 至少是 ( 10^{-25} / (10^{-15} \cdot 10^{-16} \cdot 1000) = 10^{-25} / 10^{-28} = 1000 \mu m^2 )。这个面积很大,可能需要增大电流来降低热噪声,或者接受更大的闪烁噪声。

然后确定热噪声。热噪声是 ( 8kT \gamma / g_m ),要求小于10nV/√Hz,可以算出 ( g_m ) 至少是 ( 8kT \gamma / (10nV)^2 )。代入 ( kT = 4 \times 10^{-21} J ),( \gamma = 2/3 ),得到 ( g_m ) 至少是 ( 8 \times 4 \times 10^{-21} \times 0.67 / 10^{-16} = 2.1 \times 10^{-4} S = 0.21 mA/V )。这个 ( g_m ) 对应的电流大概是 ( g_m^2 / (2 \mu C_{ox} (W/L)) ),如果 ( W/L ) 是100,( \mu C_{ox} ) 是200μA/V²,那 ( I_D ) 大概是 ( 0.21^2 / (2 \times 200 \times 100) = 1.1 \mu A )。这个电流很小,但闪烁噪声要求面积很大,所以实际电流会更大。

我一般会先满足闪烁噪声要求,确定面积,然后根据面积和电流确定 ( g_m ),再验证热噪声。如果热噪声不满足,就增大电流。这个迭代过程需要仿真辅助,我一般会用参数扫描,看噪声随面积和电流的变化,选一个最优点。

7. 常见问题与排查技巧实录

7.1 增益不达标的常见原因与排查

增益不达标是模拟设计里最常见的问题。我总结了几种常见原因:

问题现象可能原因排查方法
增益比预期低10dB以上管子不在饱和区检查DC工作点,看 ( V_{DS} ) 是否大于 ( V_{DS,sat} )
增益随频率下降快寄生电容大检查版图,看是否有长走线或大尺寸管子
增益随温度变化大偏置电流温度漂移检查偏置电路,看是否需要温度补偿
增益随工艺角变化大匹配差或沟道长度调制增大沟道长度,改善匹配

我遇到最多的是管子不在饱和区。很多新人仿真时只看增益,不看工作点,结果管子在线性区,增益自然低。我一般会先看DC仿真,确认所有管子的 ( V_{DS} ) 大于 ( V_{DS,sat} ),再看增益。如果 ( V_{DS} ) 不够,就调整偏置电压或者增大 ( W/L ) 降低 ( V_{DS,sat} )。

还有一个坑是沟道长度调制效应。如果沟道长度太短,( \lambda ) 大,( r_o ) 小,增益就低。我一般会要求沟道长度至少是特征尺寸的2倍,如果增益要求高,就取3到4倍。但沟道长度增大后,( g_m ) 会下降,需要增大电流或 ( W/L ) 来补偿。

7.2 带宽不足的调试思路与补偿方法

带宽不足通常是因为寄生电容太大或者 ( g_m ) 太小。我一般会先看输出节点的电容,包括负载电容、管子漏极电容、走线电容。如果电容太大,就减小管子尺寸或者优化版图。如果 ( g_m ) 太小,就增大电流或 ( W/L )。

但增大电流会增大功耗,增大 ( W/L ) 会增大电容,所以这里有个循环。我一般会先确定带宽要求,然后根据 ( GBW = g_m / C_L ) 反推 ( g_m ),再根据 ( g_m ) 确定 ( W/L ) 和 ( I_D )。如果 ( W/L ) 太大导致电容太大,就换更高级的工艺或者用共源共栅结构来减小米勒效应。

米勒效应是带宽不足的另一个常见原因。共源级的输入电容是 ( C_{gs} + C_{gd} (1 + A_v) ),如果增益高,( C_{gd} ) 被放大,输入电容很大,带宽就低。解决办法是用共源共栅结构,因为共源共栅管的漏极电压变化小,米勒效应弱。我实测下来,共源共栅的带宽比共源级高2到3倍。

7.3 噪声超标的排查与优化经验

噪声超标通常是因为 ( g_m ) 太小或者面积太小。我一般会先看噪声频谱,确定是热噪声主导还是闪烁噪声主导。如果低频段噪声高,是闪烁噪声,需要增大面积;如果高频段噪声高,是热噪声,需要增大 ( g_m )。

增大面积的办法是增大 ( W ) 和 ( L ),但要注意保持 ( W/L ) 不变,否则 ( g_m ) 会变。我一般会同时增大 ( W ) 和 ( L ),保持 ( W/L ) 不变,这样 ( g_m ) 不变,但面积增大,闪烁噪声降低。增大 ( g_m ) 的办法是增大电流或 ( W/L ),但要注意功耗和电容。

还有一个坑是尾电流源的噪声。如果尾电流源的 ( g_m ) 太大,它的噪声会贡献到输出。我一般会让尾电流源的 ( g_m ) 小于差分对管的 ( g_m ),具体做法是增大尾电流源的 ( W/L ) 或者减小它的电流。但减小电流会影响偏置,需要重新调整。

我踩过最大的坑是版图不对称导致的噪声恶化。差分对管如果版图不对称,共模噪声会转化成差模噪声,噪声能恶化3到5dB。后来我加了dummy管,做了共中心布局,噪声才降下来。所以低噪声设计,版图比电路更重要。

8. 从仿真到流片:设计验证的完整流程

8.1 前仿真与后仿真的差异分析

前仿真(Schematic Simulation)和后仿真(Post-layout Simulation)的差异主要来自寄生参数。前仿真用的是理想器件模型,没有寄生电容和电阻;后仿真提取了版图的寄生参数,更接近实际。我一般会先做前仿真,确认功能正确,再做后仿真,确认性能达标。

前仿真和后仿真的增益差异一般在1到3dB,带宽差异在10%到30%。如果差异太大,说明版图寄生太大,需要优化版图。我遇到过后仿真带宽只有前仿真一半的情况,后来发现是输出走线太长,寄生电容太大。重新布局后,带宽恢复到前仿真的80%左右。

后仿真的时间比前仿真长很多,因为寄生参数多,仿真收敛慢。我一般会先做DC仿真,确认工作点,再做AC仿真,看增益和带宽,最后做瞬态仿真,看阶跃响应。如果后仿真不收敛,可以尝试减小仿真步长或者用更简单的模型。

8.2 工艺角与温度仿真策略

工艺角和温度仿真是确保设计鲁棒性的关键。我一般会在TT、FF、SS、FS、SF五个工艺角和-40°C、25°C、125°C三个温度下仿真,共15个组合。如果每个组合都达标,设计就比较可靠了。

工艺角仿真的重点是看最差情况。增益最差通常在SS角(慢管),带宽最差在FF角(快管),噪声最差在SS角。我一般会先看SS角的增益和噪声,再看FF角的带宽,如果这两个都达标,其他角一般没问题。

温度仿真的重点是看偏置电流和 ( g_m ) 的变化。如果偏置电路没有温度补偿,电流可能随温度变化50%以上,增益和带宽都会变。我一般会用带隙基准或者温度系数补偿的偏置电路,把电流变化控制在10%以内。

8.3 流片前的检查清单与经验总结

流片前我一般会检查以下几项:

  • 所有管子的工作点是否在饱和区,( V_{DS} ) 是否有足够余量
  • 增益、带宽、噪声、摆幅是否在所有工艺角和温度下达标
  • 相位裕度是否大于45度,阶跃响应过冲是否小于25%
  • 版图是否对称,差分对是否共中心布局,是否有dummy管
  • 电源和地的走线是否足够宽,是否有去耦电容
  • 输入输出pad是否匹配,ESD保护是否足够

我踩过最大的坑是忘了加去耦电容,结果流片回来电源噪声很大,增益波动了5dB。后来在电源和地之间加了100pF的MOS电容,问题才解决。所以流片前一定要检查电源完整性,去耦电容不能省。

还有一个经验是,流片前一定要做蒙特卡洛仿真,看失调电压和噪声的分布。我一般会跑200次蒙特卡洛,看失调电压的3σ值是否在可接受范围内。如果3σ太大,就得增大面积或者优化匹配。这个步骤很耗时,但能避免流片后的意外。

这个总结系列的第一篇就到这里,主要覆盖了共源级、共源共栅、差分对、频率响应、噪声分析和设计验证。下一篇我会讲更复杂的结构,比如两级运放、全差分放大器、以及共模反馈电路。如果你在设计中遇到什么问题,欢迎一起讨论。我个人的体会是,模拟设计没有捷径,就是多仿真、多迭代、多流片,踩的坑多了,自然就懂了。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进