做模拟电路这行有个挺普遍的现象:很多人书架上那本《模拟CMOS集成电路设计》翻得最旧的是前三十页,后面的书页跟新买的一样。我带过几个新人,几乎每个人都经历过同样的循环——雄心勃勃从第二章器件物理开始啃,公式推了一整本笔记,等到要做个共源级放大器,发现手算出来的增益和仿真差了十几dB,然后就开始怀疑人生。问题不在人笨,在于这本书的组织方式是把十年以上的设计经验压缩成了六百页,它默认你已经在脑子里建好了从器件到系统的那张网,而大多数读者并没有。这篇东西就是想把这张网拆开,按一条能走通的路重新铺一遍:哪些章节必须手推,哪些可以跳读,手算和仿真怎么对上,以及那些书上不会明说、但一上手就会撞到的坑。不管你是微电子专业的在校生,还是从板级设计想往芯片方向靠的工程师,只要手里有这本书、有台能跑SPICE的机器,下面的路线都能直接照着走。
1. 这本书在知识链条里的真实位置:它不是入门书,是转换器
很多人把这本书当成"模拟电路第二遍",这个定位一开始就偏了。它真正干的事情,是把你脑子里的电路思维从"分立元件加理想运放"切换成"晶体管加偏置加寄生"。
1.1 它假设你已经具备的三块底子
书里几乎不解释什么是小信号、什么是叠加定理、什么是拉普拉斯变换,因为这些被默认吃透了。真要读得动,前置清单大概是三样:其一是电路分析,节点电压法、戴维南等效、受控源这些要能闭着眼睛列方程;其二是信号与系统,极零点、波特图、一阶二阶系统的阶跃响应,起码要能看懂相位裕度是什么意思;其三是半导体物理的入门版本,知道PN结、MOSFET的阈值电压从哪来就够了,不需要微电子工艺的全套流程。缺哪块补哪块,但别想着先花三个月把半导体物理啃完再回来,那样极大概率会停在第三章。
我见过最有效率的做法,是花一周时间做一次"知识体检":随便挑一个共源级电路,尝试在不看书的情况下写出它的低频增益表达式。写得出来,说明前两章可以快速过;写不出来但知道该从gm和ro下手,说明只是符号不熟,边读边补就行;完全不知道从哪开始,那建议先回去复习一遍基础电路分析,别硬扛。
1.2 三类读者的不同切入路线
这本书的章节顺序是按学科逻辑排的,不是按学习难度排的,所以不同背景的人应该有不同走法。
| 读者类型 | 建议路线 | 需要跳读的部分 | 预估周期 |
|---|---|---|---|
| 微电子科班、学过半导体物理 | 第2章快读建立符号体系,直接进第3、4章放大器 | 第2章的工艺描述部分 | 3到4个月 |
| 电子类转行、板级出身 | 先补小信号模型,从第3章倒推回第2章 | 噪声、开关电容第一遍可略 | 5到6个月 |
| 做系统、只需要能读懂电路 | 第3、4、5章加第7章频率响应 | 第2章推导、第6章噪声细节 | 2个月 |
这张表的关键在于:不要按书的页码顺序线性推进。原书第2章器件物理的篇幅不小,但真正被后面反复调用的其实只有小信号模型、体效应、沟道长度调制这几件事,剩下的短沟道效应细节可以在后面遇到具体问题时回头查。
1.3 为什么必须先建立"符号—物理—电路"的三重映射
书里出现的每个符号都不是纯粹数学变量。Vov背后是过驱动电压,决定了你的管子处于什么工作状态;λ背后是沟道长度调制,决定了输出电阻量级;γ背后是体效应,决定了源极不接地时阈值怎么漂。如果只把它们当字母,推到后面一定会乱。
举个最简单的例子:为什么增益公式里要出现ro?很多人背下了Av = -gm(ro∥RD),但说不出ro为什么存在。真实原因是漏源之间的耗尽层宽度随VDS变化,等效成一个跟电流相关的电阻。理解了这一点,你才会在仿真时本能地去检查L是不是取太短了、λ是不是太大,而不是等增益不对了再回来翻公式。
2. 器件物理那两章:推到"够用的小信号模型"就停手
第二章是劝退率最高的地方,但它的价值被严重高估了学习难度。这一章的目标不是让你会设计工艺,而是让你能画出一个包含五六个元件的小信号等效电路,并且知道每个元件的量级。
2.1 平方律只需要推一遍,但要推透
从沟道电荷密度Q = Cox(VGS - VTH)出发,到ID = (1/2)μnCox(W/L)(VGS-VTH)²,这条推导建议亲手写一遍,中间不要看书。写完之后立刻做一件事:把VGS-VTH定义成Vov,然后把ID对VGS求导得到gm。
gm = ∂ID/∂VGS = μnCox(W/L)Vov = 2ID/Vov = √(2μnCox(W/L)ID)
这三个表达式必须能互相转换,而且要清楚各自的适用场合。给定了偏置电流和过驱动电压,用2ID/Vov最快;要做W/L的设计,用含μCox的那个;要在固定W/L下看gm随电流怎么变,用根号那个。实际设计里这三个会来回切换,切换不熟练会直接导致后面所有手算都卡壳。
一个具体的数字感受:假设ID = 100μA,Vov = 0.2V,那么gm = 2×100μ/0.2 = 1mA/V。这个1mA/V的量级要刻在脑子里,后面看到任何gm值,先判断它在0.1到10mA/V这个区间内是否合理,不合理就说明偏置或者尺寸设错了。
2.2 输出电阻和λ:仿真和手算最容易分家的地方
ro = 1/(λID),这个式子简单,麻烦在于λ的取值。原书给的λ典型值在0.05到0.2 V⁻¹之间,但真实工艺里它强烈依赖沟道长度。同一工艺下,L取1μm和取0.18μm,λ可能差三倍。
我的建议是在学习阶段不要纠结精确值,但要养成一个习惯:手算时把λ当成一个可调参数,先算出一个范围,再去仿真里反推。比如ID = 100μA,如果ro手算得到100kΩ,仿真测出来只有40kΩ,那就说明λ实际约为0.25,这个信息比公式本身有用得多,它告诉你这个工艺在这个长度下短沟道效应已经很明显了。
注意:ro手算和仿真对不上是常态,不是错误。平方律本身在短沟道下就失效了,能对上20%以内已经算很好。真正要避免的是把误差当成"仿真器有问题"。
2.3 体效应:源极不接地就要想起来的那件事
体效应公式VTH = VTH0 + γ(√(2ΦF + VSB) - √(2ΦF))看着吓人,实际使用时只需要记住一个结论:源极电位比体高,阈值电压会升高,等效于在源极串了一个电阻gmb。
gmb = η·gm,η典型值0.1到0.3。这个η的来源是体效应参数γ和当前ΦF,实际设计里直接按0.15左右估算就行。什么时候必须考虑它?源极跟随器、差分对的尾电流管、任何源极不接地的电路。漏掉gmb,源跟随器的增益会算成接近1,实际会掉到0.8左右,这个误差在要求高的场合是致命的。
2.4 这一章的验收标准
读完第二章,建议用三个问题自测。第一,能不能在纸上画出包含gm、gmb、ro、Cgs、Cgd、Cdb、Csb的完整小信号模型,并说清每个电容的物理来源?第二,给定一个NMOS的W/L、ID、VDS,能不能估算出gm、ro、Vov,并判断它处在饱和区还是线性区?第三,VTH随温度和体电压怎么变,能不能定性说清楚方向?三个都能,就可以进第三章了,不必再纠结短沟道效应的解析模型——那部分内容在真正的设计里主要靠仿真和查表。
3. 单级放大器与差分对:整本书真正的分水岭
从第三章开始,这本书才进入正题。这一部分的核心不是记电路拓扑,而是建立一套"看电阻、看电流、看电容"的分析反射。
3.1 共源级:把"输出端看进去的电阻"变成肌肉记忆
共源级的低频增益就是-gm乘以输出节点到地的总电阻。这句话听起来简单,但它能解释后面几乎所有电路的增益。
设一个共源级,RD = 10kΩ,ID = 100μA,Vov = 0.2V,λ = 0.1V⁻¹。手算过程是:gm = 2×100μ/0.2 = 1mA/V,ro = 1/(0.1×100μ) = 100kΩ,输出电阻 = ro∥RD = 100k∥10k ≈ 9.09kΩ,增益 = -1m×9.09k ≈ -9.09,对应19.2dB。
这个例子不要看一遍就过,要亲手算,然后立刻进仿真验证。仿真出来的增益如果落在8.5到9.7之间都算正常,因为λ和实际的工作点会有偏差。如果差到5以下或者15以上,那一定是有地方理解错了,这时候回到第6节的排查链路。
顺带说一个设计上的经验:在共源级里,RD取多大是有讲究的。取太大,输出节点阻抗高,输出极点被推低,带宽受损;取太小,增益不够。一般会让RD和ro同量级,或者让VDS留出至少100mV到200mV的裕量防止管子进线性区。这个"留裕量"的直觉,书上讲了但很容易被忽略,实际流片时管子进线性区是最常见的低级错误之一。
3.2 差分对的半边电路法:一个能让推导量减半的技巧
差分对是全书的重点,也是后面运算放大器、比较器的基础。原书给了一个非常实用的方法:完全对称的差分电路,可以拆成半边电路来分析,差模增益等于半边电路的增益。
具体做法:把尾电流源看作交流地,两个输入端的差模信号一正一负,那么公共源极节点在差模下就是虚地。于是每个半边就是一个带源极负反馈电阻的共源级,只不过这个电阻在差模下被旁路了。所以差模增益就是-gm(ro∥RD)。
共模增益则完全不同。共模下尾电流源的有限输出电阻Rtail会起作用,共模增益约为-RD/(2Rtail),被压得很低。这个不对称正是差分电路的价值所在:差模信号全额放大,共模干扰被抑制。CMRR = |Adm/Acm| ≈ gm·Rtail,这个式子说明尾电流源的输出电阻决定了共模抑制能力,所以差分对里尾管一定要用长沟道或者共源共栅结构。
这套分析方法必须练到能闭眼推。因为后面第七章讲噪声、第八章讲反馈、第九章讲运放,全都要反复用这个工具。我建议在这一节至少手推五个不同的差分电路变体:带电阻负载的、带电流源负载的、带共源共栅的、带源极负反馈的、以及单端输出的。
3.3 电流镜:从理想走向现实的第一道坎
电流镜看起来简单,实际是新手最容易栽跟头的地方。理想电流镜的复制比例是W/L之比,但现实中有三个效应在捣乱:沟道长度调制让VDS不同的两个管子电流不同;失配让同样的尺寸也有几个百分比的电流误差;有限输出电阻让电流镜在输出电压变化时电流跟着变。
原书在第5章详细讲了这些,我的建议是重点抓住"输出摆幅"这个概念。一个简单的电流镜,为了让上面的管子保持在饱和区,输出电压必须高于Vov。如果Vov是0.2V,那么输出摆幅就被限制在比地高0.2V以上。这个0.2V在1.8V供电下不算什么,但在低压设计里就是致命的。共源共栅电流镜可以把输出电阻提高gm·ro倍,代价是多吃掉一个Vov的裕量。这个取舍是模拟设计里最经典的权衡之一,理解了它,后面看运放的输出级就一目了然。
3.4 练习题的正确用法:设计题不要跳
这本书每章后面的习题分两类,一类是分析题,给电路算参数;一类是设计题,给指标反推尺寸。绝大多数人只做分析题,因为设计题没有唯一答案,做起来心里没底。
但恰恰是设计题在训练真正的能力。建议的做法是:每章至少认真做三道设计题,做完之后进仿真验证,然后根据仿真结果反推自己哪一步的假设偏了。比如题目要求增益大于20dB、带宽大于10MHz、功耗小于1mW,那么你就得在gm、ro、电容之间做取舍,这个过程会逼着你把前面几章的知识串起来。分析题做十道不如设计题做一道加仿真一轮。
4. 频率响应、噪声与反馈:三个最容易被囫囵吞枣的板块
这三个板块的共同点是:公式多,但真正在设计里用到的只有几个结论。区别在于,你必须亲自推一遍才知道哪几个是结论、哪几个是中间过程。
4.1 米勒效应:会判断主极点比会套公式重要
米勒定理说的是,跨接在增益级输入输出之间的电容,等效到输入端会变成(1+A)倍。Cgd被放大(1+gmRD)倍,这是共源级输入电容的主要来源。
但真正的问题不是算出这个倍数,而是判断哪个极点是主极点。共源级的输入极点大约在1/(Rs·Cin),其中Cin包含Cgs和米勒放大的Cgd;输出极点在1/((ro∥RD)·(Cdb+Cgd))。在源阻抗比较大的情况下,输入极点几乎总是主极点,于是带宽就被输入极点限制住了。
这个判断直接影响设计决策。如果带宽不够,你要做的是减小源阻抗或者减小输入电容,而不是去动输出端的负载。很多新手一看带宽不够就去调RD,结果增益掉了带宽也没上去,因为瓶颈根本不在输出端。
一个数字感受:假设Rs = 10kΩ,Cgs = 100fF,Cgd = 20fF,增益为-10。那么米勒电容是20f×(1+10) = 220fF,总输入电容约320fF,输入极点频率约为1/(2π×10k×320f) ≈ 50MHz。这个估算在仿真之前就能给你一个量级判断,避免盲目扫频。
4.2 噪声:从"公式一堆"到"输入参考噪声一条线"
噪声这一章是全书最抽象的部分,因为它是统计量,不像增益那样有直观的物理图像。但抓住一条主线就不乱:所有的噪声源都可以折算到输入端,形成输入参考噪声,然后和信号比。
MOS管有两个主要噪声源:热噪声和闪烁噪声。热噪声的电流谱密度是4kTγgm,其中γ在长沟道下约为2/3,短沟道下会升高。折算到输入端的电压噪声是4kTγ/gm,这个式子说明:要提高信噪比,就得提高gm,而提高gm的代价是更大的电流或者更大的W/L。
闪烁噪声的谱密度是K/(CoxWL·f),与频率成反比,所以又叫1/f噪声。它和面积成反比,这就是为什么低噪声设计里管子尺寸要做得大。这个结论非常实用:如果一个电路的噪声在低频段超标,先看输入管的面积够不够,而不是急着改拓扑。
实际做噪声仿真时,要看的是输入参考噪声谱密度随频率的曲线,而不是输出噪声。输出噪声会随着增益变化,不能直接比较;输入参考噪声才和电路的本征噪声性能挂钩。
4.3 反馈与稳定性:相位裕度必须会手算
反馈这一章的公式看起来最唬人,但核心就一件事:环路增益的相位在增益降到1时留了多少余量。
手算的方法是把环路断开,从断点看进去算环路增益T(s),找到|T| = 1的频率,再看这点的相位。相位裕度大于60度比较安全,45度会有明显的过冲,30度基本就是振荡边缘了。
这里有个仿真上的坑要提前说:直接断开环路再扫AC,往往会因为断点处的直流工作点被破坏而导致结果失真。正确的做法是用专门的环路稳定性分析方法,或者用大电感大电容在断点处做交流隔离、直流直通的技巧。原书没有展开讲仿真操作,但这是实际操作中一定会遇到的问题。
5. 从纸面搬到仿真:一套能跑通的验证流程
书读得再透,不动仿真都是空的。但仿真也不是打开软件乱点,顺序错了会浪费大量时间。下面这套流程是我自己反复用过的,对单管级、差分对、运放都适用。
5.1 第一步永远是工作点,不是AC
新手最容易犯的错误是电路搭好直接跑AC,看到一个奇怪的曲线就开始改参数。正确顺序是先跑直流工作点,把每个管子的VGS、VDS、Vov、ID、gm、gds全部列出来,逐个检查。
检查标准很简单:NMOS的VDS要大于Vov,PMOS的VSD要大于|Vov|,否则就是在线性区;每个管子的电流要符合你的设计预期,偏差超过20%就要找原因;gm和手算值对比,差太多说明偏置不对。
一条最基本的网表示例:
* 共源级工作点检查 VDD vdd 0 1.8 VIN in 0 0.7 RD vdd out 10k M1 out in 0 0 nch W=10u L=1u .op跑完之后看输出文件里的工作点表,重点看M1那一行的region是不是sat,id是不是接近预期,gm和gds是多少。这一步花五分钟,能省掉后面半小时的瞎猜。
5.2 用DC扫描提取gm和ro,和手算对齐
工作点里的gm是仿真器基于实际模型算出来的,这是最可信的参考。如果它和你手算的2ID/Vov差了30%以上,说明这个管子已经偏离平方律很远,后续所有手算都要打折扣。
ro的提取可以用一个小技巧:给漏极加一个小的电压扰动,看电流变化量,ro = ΔVDS/ΔID。在仿真器里可以用DC扫描VDS从工作点附近±50mV,然后用导数表达式直接算出gds。具体写法因工具而异,但思路是一样的。
这个对齐过程非常重要,它实际上是在校准你对这个工艺的直觉。做过几次之后,你看到一组尺寸和偏置,脑子里就能浮出gm和ro大概在什么量级,这才是真正的设计感。
5.3 AC仿真:先窄带后宽带,先看低频增益
AC仿真的设置要注意两点。第一,输入源要加AC幅度,通常设成1,这样输出直接就是增益,不用再换算。第二,频率扫描范围不要一上来就1Hz到10GHz,先扫1kHz到100MHz这个区间,看清楚低频增益、主极点位置、单位增益带宽这三个关键数,再根据需要扩展。
看结果的时候,先看低频增益和手算差多少。如果差得离谱,八成是工作点问题,回到5.1。如果低频对得上但带宽不对,那就是电容估错了,回头查Cgs、Cgd的取值。如果曲线出现奇怪的峰或者凹陷,一般是某个节点的高频通路被忽略了,或者是寄生电容模型的问题。
5.4 噪声和瞬态:设置不当会得到假结果
噪声仿真需要指定输入源和输出节点,扫描点数不宜过多,每十倍频程10到20个点足够。关键是要看输入参考噪声,同时留意1/f噪声的拐点频率。如果拐点频率高得离谱,通常是输入管面积设小了。
瞬态仿真最容易出问题的是时间步长。默认设置下,快速边沿可能被吃掉,导致看到的波形比实际平滑。建议把最大步长限制在信号周期的百分之一以内,同时打开精度相关的选项。另外,瞬态的初始条件要设好,直接用直流工作点作为初值,可以省掉很长时间的建立过程。
5.5 gm/ID方法:绕开平方律误差的实用手段
当工艺进入深亚微米之后,平方律的误差会大到无法指导设计。这时候一个非常实用的替代方法是gm/ID设计法:把gm/ID作为独立变量,它只跟管子的工作区有关,从弱反型的约25到强反型的约5,跟尺寸无关。
具体做法是在仿真里对单个管子做一次扫描,固定L,扫描VGS或者ID,把gm/ID、ID/(W/L)、gm/gds这些量都画出来,做成一张查找表。之后设计电路时,先根据指标确定需要的gm/ID,再从表里查出对应的电流密度,反推W。这套方法在业内已经相当成熟,这本书里没有专门讲,但它是把书上的原理和实际工艺对接起来的关键桥梁。
提示:gm/ID表要针对每个工艺、每个沟道长度单独做,不能跨工艺套用。做一次大概半小时,但之后所有设计都能受益。
6. 手算和仿真对不上时的排查链路
这一节是我最想写的部分,因为几乎每个新手都会在这个环节卡住,而卡住之后的乱改参数是最浪费时间的。下面这条链路按"先易后难、先外后内"排序,照着走基本能定位到问题。
6.1 第一层:先怀疑单位和倍数
说出来你可能不信,一半以上的"仿真结果不对"最后都追到了单位上。MOS管的W和L在网表里的单位是米,但很多工艺库的默认单位是微米,写W=10u和写W=10有时候是两回事。另外,很多管子支持并联数m,如果m设成了2而你以为只有1,电流就直接翻倍。
检查方法很直接:回到工作点表,看ID的实际值和你的设计值差多少倍。差整数倍,基本就是单位或者m的问题;差两三倍,可能是工作区判断错了。
6.2 第二层:查工作区,别查拓扑
增益不对时,很多人第一反应是"这个电路的增益公式是不是我记错了"。绝大多数情况下公式没错,是管子跑到线性区了。
判断方法是看VDS和Vov的关系。如果VDS只比Vov大几十毫伏,管子就处在饱和区和线性区的边缘,ro会急剧下降,增益自然就垮了。这种情况在低压设计、大摆幅输出、以及电流源负载的电路里特别常见。
我一般会直接在网表里加一句打印工作区的语句,或者在结果浏览器里看region字段。这一步花十秒,能排除掉大部分可能性。
6.3 第三层:查负载和寄生
低频增益对得上,但带宽差一大截,问题通常在电容上。常见的有三个:忘了算下一级的输入电容;忘了算测试仪器或者焊盘带来的负载;把Cgd的米勒放大漏掉了。
排查办法是做一个对比实验:把负载电容从当前值改成一个极小值,比如1fF,再跑一次AC。如果带宽立刻上去了,说明就是负载的问题;如果还是不动,那就是电路中某个节点本身有大电容,或者是主极点判断错了,瓶颈在别处。
6.4 第四层:查模型和温度
前面三层都排除了,才轮到怀疑模型。默认温度通常是27摄氏度,但有些仿真器的默认值不是,这会导致阈值电压和迁移率都偏掉,进而影响工作点和gm。
还有一个容易被忽略的点:工艺角。典型的工艺库会提供tt、ff、ss等几个角,默认不一定跑的是tt。如果发现某个参数怎么调都差一点,可以看看是不是在某个极端角上。
6.5 一个完整的排查实例
说个真实的场景。一个差分对,手算差模增益应该是26dB,仿真出来只有18dB,差了8dB,对应电压增益差了2.5倍。
按链路走:先看工作点,ID和设计值一致,单位没问题。再看工作区,输入对的VDS只有0.15V,而Vov是0.2V,也就是说输入管已经进了线性区。原因找到了:输出共模电平设得太低,导致负载电流源把输出往下压。把尾电流减小或者把负载的过驱动电压调低,输出共模回到0.9V,VDS变成0.4V,增益回到25.5dB,和手算的26dB对上了。
整个过程如果按顺序走,十分钟能定位;如果一上来就改W/L,可能改一下午还在原地打转。这就是为什么我一直强调排查要有固定链路。
6.6 仿真不收敛时的处理顺序
还有一类问题不是结果不对,而是根本跑不出来。不收敛的常见原因是节点悬空、初值太离谱、或者是反馈环路在直流下没有稳定的解。
处理顺序建议是这样:先加.nodeset给关键节点一个合理的初始电压,通常能解决大半问题;不行的话改用直流扫描的方式从0慢慢爬上去,找到开始发散的那个点;再不行检查是不是有理想电流源直接灌进了高阻节点,这种结构在数值上很难收敛,需要加一个很大的电阻做直流路径。
注意:不要一遇到不收敛就去调仿真器的收敛参数,那样即使跑出来了,结果也可能是错的。先把电路本身的直流路径检查一遍。
7. 这本书怎么配合其他资源用
单靠一本书很难走完全程,尤其是仿真部分,原书讲得比较少。我的搭配方式是:书负责原理和推导,工艺库和仿真器负责验证,另外再配一份该工艺的设计手册查参数。
具体来说,每读完一章,做三件事。第一,把这一章的核心公式整理成一页纸,只写公式和适用条件,不写推导。第二,找一个对应的电路做手算,算出增益、带宽、噪声这几个关键指标。第三,进仿真验证,记录手算和仿真的偏差。这个偏差表积累到后面,就是你自己对这个工艺的"体感",比任何教科书都值钱。
还有一点是关于版本。这本书有多个版本,章节编号和内容有调整,看的时候注意对照目录,别拿着旧版的笔记去套新版的章节号,容易对不上。另外配套的习题解答市面上流传的版本质量参差不齐,遇到明显矛盾的答案,以自己手推和仿真结果为准。
我个人在实际操作中的体会是,这本书最值钱的部分不是那些公式,而是每章开头对"为什么需要这个电路"的交代。比如为什么要用差分而不是单端,为什么要用共源共栅而不是简单电流源,这些动机性的内容在第一次读的时候很容易被跳过,等做过几个实际项目再回头看,才发现那几段话才是真正的设计思路。所以我的建议是,每读完一章,回头把开头的几段再读一遍,感受会完全不一样。