ARTICLE · INTELLIGENCE

战地情报 · 详情页

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

拉扎维模拟CMOS课后题详细版答案:从符号约定到推导复现的完整指南

拉扎维模拟CMOS课后题详细版答案:从符号约定到推导复现的完整指南

简介:《模拟CMOS集成电路设计》(拉扎维)课后习题详细解答资源,面向微电子、集成电路设计相关专业学生、考研人员及模拟IC入门工程师。内容以英文原题解答为主,覆盖NFET与PFET的电流公式推导、I-V特性曲线绘制、跨导与输出阻抗计算、本征增益求解等核心章节,可作为教材课后练习的对照参考,帮助理解MOS器件物理和模拟电路分析思路。资源包为单个PDF文件,体积68.09MB,方便离线查阅与打印。目前已有3449人学习浏览,说明其在模拟IC学习群体中有较高参考价值。解答按章节编排,每题包含完整的计算步骤、公式代换及图表结果,例如针对W/L=50/0.5的NFET/PFET在|VDS|=3V下、|VGS|从0到3V时的漏电流变化,给出了详细表格与曲线;同时结合工艺参数演示了实际代入计算过程,适合需要逐题推导、核对细节的读者使用。

1. 大部分人找的其实不是答案,而是能看懂答案的推导过程

每年到校招、期末和考研复试季,都会看到不少人在找拉扎维《模拟CMOS集成电路设计》的课后题答案,而且指名要"详细版"。原因很现实:网上流传的所谓官方习题解,大多数把推导跳得很狠,一行式子后面直接跟一个结果,你对着题目算半天也对不上号。更麻烦的是,教材版本不一样、工艺参数代差不一样,同一个题号在不同人手里对应的可能是完全不同的数字。这篇东西想聊的不是"去哪里找一份详细版答案",而是把详细版答案该有的样子讲清楚——什么样的推导步骤能让你照着复现,手算结果怎么验证,哪些地方特别容易翻车。适合三类人:正在啃课后题的在校生、要带新人的模拟版图或设计工程师、想用课后题自查手算能力的老兵。

2. 拉扎维课后题在考什么:先读懂题目背后的模型陷阱

2.1 第2、3章的题目核心:小信号模型与符号约定

拉扎维这本书的前两章看似在讲MOS管物理和I-V特性,实际上课后题几乎都在逼你建立一套统一的符号体系。很多人在这一步就翻车了,因为教材里大写V表示直流工作点,小写v表示交流小信号,而题目里经常混着写。比如V_GS和v_gs完全是两个量,前者决定偏置,后者才是增益计算里参与变化的量。做课后题前,我习惯先在一张纸上把符号约定列出来:vgs、vds、id代表瞬时小信号,VGS、VDS、ID代表直流偏置,gm、r_o、C_gs这类小信号参数都建立在固定偏置点上。

第二个容易踩的坑是模型选择。第二版教材在讲小信号模型时,把沟道长度调制和体效应分别作为独立参数引入。你在套公式前必须确认题目有没有允许忽略λ,忽略体效应。很多"详细版答案"之所以详细,不是因为步骤长得吓人,而是它先声明了模型假设:本题处于饱和区,λ=0,γ忽略不计。这个声明看似废话,实际决定了后面所有式子的形状。如果题目没有给工艺参数,而答案里直接出现μ_nC_ox数值,你就要怀疑它是不是默认了某种0.18um或者0.35um工艺,而不是题目本身的数据。

另外,拉扎维的题目特别喜欢由简入繁:同一个电路先让忽略沟道长度调制算一遍,再加λ再算一遍,甚至再问"如果源极和衬底之间有电压会怎样"。后一个小问才是原题的真实意图——让你体会简化模型和完整模型的差距。做答案时不要把两问割裂开看,第1小问的中间量通常就是要给第2小问做铺垫的。我在给别人检查答案时,最常看到的问题就是第二问重新用第一问的静态电流,但没有把λ对I_D的影响代回去,导致输出电阻算错一位数量级。

2.2 典型计算题的完整推导格式:以共源放大器增益为例

我一般会把详细版答案的推导过程固定成五步,这样后期自查和给新人讲都方便。以第3章最常见的电阻负载共源放大器为例。第一步,判断工作区,写出直流方程;第二步,画小信号等效电路,把MOS管换成压控电流源gm·vgs并联ro;第三步,在输入节点和输出节点列KCL;第四步,消去中间变量;第五步,代换gm和ro的表达式,化简到最简形式。

具体到一个简化版题目:NMOS共源级,电源VDD,漏极接电阻RD,输入从栅极进,输出从漏极取。忽略λ和体效应,求小信号电压增益Av=vo/vin。手写推导可以这样组织:

静态工作点:ID = (1/2)·μnCox·(W/L)·(VGS-VTH)^2,Vout = VDD - ID·RD。

小信号等效:vgs=vin,漏极节点电流关系为 vo/RD + gm·vgs = 0(理想电流源内阻无穷,简化模型无ro)。

于是 Av = vo/vin = -gm·RD。

再把gm代成 μnCox·(W/L)·(VGS-VTH),得到 Av = -μnCox·(W/L)·(VGS-VTH)·RD。如果题目给了过驱动电压Vov=VGS-VTH,又能进一步写成 Av = -2·ID/(Vov)·RD。

这里必须解释几个参数:gm是跨导,单位S(西门子),等于漏电流对栅源电压的偏导;RD是漏极电阻,单位Ω;增益是无量纲倍数,也可以是V/V。步数虽少,但"详细版"和"简版"的分水岭在于:简版直接写Av=-gmRD,详细版会补一句"因为忽略λ,ro趋近无穷,所以输出节点只有RD和受控源两条支路"。这句话能帮你判断简化条件是否成立,也方便做极限检验——如果RD换成理想电流源,增益应该变成-gm·ro,这就是有源负载的原型。

再往深一点,如果题目里明确说存在沟道长度调制,那么输出节点就得补上ro,KCL变为 vo/RD + vo/ro + gm·vgs = 0,结果是 Av = -gm·(RD || ro)。这种递进关系在教材课后题里反复出现,你一定要在答案里写出"为什么多了一个ro"而不是死记公式。看到增益表达式里的并联符号,心里要立刻想到输出电阻的物理来源。

2.3 手算题里最容易翻车的参数:沟道长度调制、本体效应、失配

沟道长度调制λ是第一个经典翻车点。早期工艺的λ在0.1V^-1甚至更大,0.18um工艺则小得多,但如果题目不提供λ,默认值是模糊的。很多答案为了简化直接取λ=0,但如果是差分对或者电流镜题目,λ=0会使共模抑制比和电流镜精度变成无穷大,题目就没法做了。所以做答案前先看题目有没有给Early电压VA,一般λ=1/VA,而不是自己随便安一个。

体效应更隐蔽。题目里只要出现"源极和衬底电位不等",V_TH就会改变,公式是V_TH = V_TH0 + γ·(|V_SB| + 2·φ_F)^0.5 - (2·φ_F)^0.5。不少同学算出结果差几百毫伏,根本不是代数错误,而是忘了体效应。写详细版答案时,我习惯在推导里把γ和φ_F单独列出来,哪怕题目最后给了数值,也要先写"因体效应,阈值电压修正为…"再代入。这样做的价值在于:以后换工艺,你只需要换γ,不需要重推整个式子。

失配参数则是另一种风格。拉扎维书里讲差分放大器和电流镜时会出现失配分析,比如双管阈值电压差ΔV_TH和电流镜传输误差。普通计算题里一般不要求,但判断题或论述题会问"实际芯片为什么和手算不一样"。答案里如果能点出失配的方向性——失配导致输出失调电压,且失调可以折合到输入做等效——说明你是真读懂了。见过太多人把失配当成"算错了",其实它是随机变量,没法靠修公式消除,只能靠版图匹配和加大面积来降低。详细版答案真正该做的,是把随机失配和系统失配分开说。手算模型所有公式都是理想匹配下的结果,只要有一点点ΔV_TH,电流镜的复制比就会偏离设计值,而这个偏离量往往远超λ的影响。

3. 详细版答案应该长什么样:从"对个数"到"能复现"的五层要求

3.1 第一层:写明工艺假设和器件参数

一套能复现的答案,开头一定要有一段参数清单。常见写法是:使用0.18um CMOS工艺假设,μnCox=380uA/V^2,μpCox=90uA/V^2,VTH0=0.45V(NMOS),γ=0.5V^0.5,2φF=0.6V。这些数字不是题目给的,也得标注"假设"。很多人问"为什么答案里算出来的电流是0.5mA,我自己算出来是0.8mA",十有八九是μnCox取值完全不同。

参数清单里还要包含你用的模型公式。比如饱和区电流方程是平方率模型还是包含了速度饱和的短沟道模型。拉扎维第2章为了防止学生死记公式,故意在一个题目里让你用不同模型算,结果能差出一倍。详细版答案如果同时给出两种模型的结果,并注明该题目处于长沟道假设,那读者就能理解数字偏差的来源,而不是怀疑自己算错。

如果你在给其他读者分享答案,参数清单最好用表格呈现,每个符号、单位、数值、来源都列清楚。表格看起来啰嗦,但能省掉后面无数个"你这个gm怎么来的"问题。我自己的经验是:把参数清单当成答案的一部分,和解题过程一样认真写,比事后补充解释效率高太多。

3.2 第二层:每一步推导写明单位与量级

看一份课后题答案,第一眼要检查的就是单位有没有在关键步骤出现。比如gm是电流对电压求导,单位应该是A/V,也就是S。如果哪一步突然出现mA/mV,而你又写成10^-3/10^-3,数值会完全跑偏。详细版答案应该在代入数值的那一行,把每个量的单位带全,比如:

gm = 2·ID/Vov = 2×0.5mA / 0.1V = 10mS = 10mA/V

这样即使后面增益算成Av=-gm·RD=-10mS×2kΩ=-20,也能看出单位消掉了。单位不仅是正确性问题,也是排除物理量级错误的手段。一个共源级增益是-20,合理;是-2000,那大概是误把gm的单位看成了A/V²,或者把kΩ当成Ω。

量级直觉也要写进答案里。模拟IC的电压增益在单级放大器里通常是5到100倍,运放开环增益在几千到几万倍。如果一道课后题的答案是10万倍,你就要回头看看是不是漏了负载电容、漏了ro、或者把差分增益当成了单端增益。详细版答案不需要长篇大论,只要在结果后面括号一句"若RD为5kΩ、gm为200uA/V,则增益为1,说明偏置点不在饱和区",就能帮你过滤掉大量低级错误。

3.3 第三层:对答案做量纲和极限检验

写完答案不检验等于没写完。我给自己定的流程是三步:量纲检验、极限检验、偏置点检验。量纲检验就是看最终表达式单位是不是V/V或S·Ω;极限检验是让某些参数趋近0或无穷,看结果符不符合物理直觉。比如增益Av=-gm·RD,当RD趋于无穷时,增益应该变大且趋近-gm·ro,而不是发散成无穷,因为ro并联RD的效应必须出现。如果你的推导里RD→∞时Av→∞,那基本可以确定少写了ro。

偏置点检验更实际。代入器件参数算出的VDS是不是确实大于VDSAT?算出的ID是不是让管子处在题目要求的工作区?很多时候课后题为了出数字,会让你算出一个VDS只有0.05V的"饱和区"管子,而实际上早已进入线性区。详细版答案应该在这种情况下明确指出来:"该设计不满足饱和区假设,需调整W/L或RD"。这比硬凑一个答案有价值得多。

极限检验还会暴露符号错误。比如体效应系数γ变大的时候,阈值电压升高,VGS固定则ID下降。如果你推导出来的公式里ID随γ增大而增大,必然哪里少了一个负号。这类问题靠眼睛看不出来,靠极限想能抓出来。

3.4 写在答案里的仿真对照思路

现在做模拟IC的人已经默认手算要和仿真对照,课后题虽然不需要真跑仿真,但详细版答案可以补一个"仿真预期"。比如共源级增益题目,答案末尾可以写:用HSPICE或Spectre跑DC工作点,查看gm和VDSAT,再用AC仿真扫描1kHz到1MHz,增益幅值应为20dB附近,相位应为180度。有了这个预期,读者自己动手验证时能马上判断手算和仿真差多少。

仿真不是用来算数字的,是用来确认模型假设的。手算里忽略了体效应,仿真里却默认包含体效应,两者差个30%很正常。在答案里注明"仿真默认包含体效应,因此VTH会略高,ID略低",可以解释很多对不上的地方。更讲究的做法是给出仿真值与手算值的对照表,比如手算增益-18.5dB,仿真增益-17.9dB,差异主要来自ro有限和体效应。这个习惯如果养成了,毕业后看哪份答案都知道该信几分。

4. 几类课后题的完整解法示范:推导题、设计题、判断题

4.1 推导题:如何从I-V特性推出跨导和输出电阻

拉扎维喜欢让你从饱和区电流公式开始推。比如已知ID=(1/2)·μnCox·(W/L)·(VGS-VTH)^2·(1+λVDS),要求推gm和ro的表达式。第一步,gm定义为∂ID/∂VGS,保持VDS不变。求偏导时把平方项作为整体,得到gm=μnCox·(W/L)·(VGS-VTH)·(1+λVDS)。当λVDS远小于1时,简化为gm=μnCox·(W/L)·(VGS-VTH),或者gm=2·ID/(VGS-VTH)。

第二步,输出电阻ro定义为∂VDS/∂ID,保持VGS不变。用电流公式对VDS求导,得到∂ID/∂VDS = (1/2)·μnCox·(W/L)·(VGS-VTH)^2·λ = ID·λ/(1+λVDS)。取倒数的结果是 ro = (1+λVDS)/(λ·ID),近似等于1/(λ·ID)。

详细版答案必须把"保持哪个变量不变"写清楚,因为跨导和输出电阻的偏导条件正好相反,不少人只记公式忘了条件。另外要会对比两种写法:gm=2ID/Vov 和 gm=gmb·? 无关。你可以顺手推一下gmb:gmb=∂ID/∂VBS,因为阈值电压随VBS变化,gmb=gm·η,η=-∂VTH/∂VBS。这个"顺势推"能大大提升对体效应的理解。

推导题还有一个常见分支:给出ID与VGS的关系曲线,问当VGS偏离设计点时gm怎么变。这时不能直接套平方率,因为短沟道器件可能更接近线性关系。详细版答案会指出:题干如果给了具体曲线,默认用图解法在偏置点附近画切线,斜率就是gm。一定要避免拿着平方率去拟合一条实际测量曲线,那样误差会到50%以上。

4.2 设计题:给指标反推W/L的通式与迭代

设计题是拉扎维课后题里最像真实工作的部分。典型题目:给定VDD=1.8V,负载电容CL=500fF,要求单级共源放大器的增益至少为10,功耗不超过100uW,求W/L和偏置电流。第一步列指标约束:功耗约束给上限ID_max=100uW/1.8V≈55.6uA;增益约束要求gm·(RD||ro)≥10;带宽约束暂不考虑。

第二步,把增益表达式展开。忽略ro时Av=gm·RD,代入gm=2ID/Vov和RD=VDD/ID?不一定,因为RD上的压降决定了输出摆幅。通常取VDS约等于VDD/2,RD=VDD/(2·ID)。于是Av=2ID/Vov × VDD/(2ID)=VDD/Vov。这里出现一个漂亮的结果:在不考虑ro的单级简化模型里,增益由VDD和过驱动电压决定,和电流无关。给定VDD=1.8V,要Av≥10,就需要Vov≤0.18V。过驱动电压取0.15V留裕量。

第三步,由ID=55.6uA和Vov=0.15V求W/L。ID=(1/2)·μnCox·(W/L)·Vov^2,得到W/L=2·ID/(μnCox·Vov^2)=2×55.6uA/(380uA/V²×(0.15V)^2)≈13。这是个合理的长宽比。写详细版答案时要强调:这里的μnCox是工艺参数,如果你用90uA/V²来算PMOS,同样的指标长宽比要放大四倍多。

设计题真正的坑是迭代:先算了RD和W/L,再检查VDS是否大于VDSAT=Vov。比如Vov=0.15V,VDS=VDD/2=0.9V,满足饱和。但如果VDD只有1V,VDS可能只有0.5V,算出的ID和RD又得重来。详细版答案最好画一个迭代循环:假定VDS→求RD→求W/L→校验饱和→不满足就改Vov。我在给新人讲的时候常说:设计题不是你一步算对,而是你算出第一个版本,然后根据检查结果把某个参数调一调,收斂到一组自洽值。

4.3 判断题与叙述题:用物理直觉做第一遍筛选

拉扎维每章后面都有几道不需要数字的论述题,比如"如果λ增大,共源级增益会如何变化"或者"电流镜的输出电阻受什么影响"。这种题看起来送分,其实最能区分背答案和真理解。以"λ增大对共源级增益的影响"为例,完整的逻辑链条是:λ增大→ro减小(ro=1/(λID))→输出电阻RD||ro减小→增益Av=-gm·(RD||ro)幅值降低。这里面每一步都要能说清"为什么",尤其不能跳步。

判断题还有一种变形:给出一个电路和一句结论,让你判断对不对。比如"在电流镜中,沟道长度调制导致复制电流比预期小"。这个结论不一定对,因为复制电流可能是大也可能是小,取决于输出端VDS和参考端VDS的相对大小。答案里应该写出两个管子的VDS对比:如果输出端VDS高于参考端,复制电流偏大;反之偏小。只有两个VDS相等时,电流才精确匹配。详细版答案给出这句"取决于VDS",比单纯打勾打叉重要得多。

叙述题最好的答法是把物理图像、表达式、极限情况三样都带上。先说图像,再写公式,最后补"当λ→0时,误差消失"。这样即使漏了一两个细节,整体也是完整的。特别忌讳只写"变大"或者"变小"一个词,因为阅卷或自学时完全没法判断你是从哪个方向推的。

5. 找答案和用答案的常见问题排查:版本、符号、工艺参数全对不上

5.1 现象一:手头答案的第几章编号和我这本不一样

拉扎维教材有中文翻译版和第二版、第三版之分,习题编号在不同版本里有变动。网上下载的习题解经常是英文第二版配套的,章节顺序和题号与中文版有出入。你拿着中文版的习题14,去对照英文版习题14,大概率不是同一道题。

排查方法很简单:别只对题号,对题目里给的电路结构和器件类型。第一眼先看题图,是共源级还是共栅级,再核对尾缀问的是增益还是摆幅。只要电路特征一致,基本就是同一道题,编号差一两个没关系。如果完全对不上,可以先查教材目录,看这一章在另一个版本里是不是被合并成"单级放大器"而不是拆成两章。

另一个常见情况是英文版第二版和第三版的小信号模型画法略有不同。第二版里gm受衬底偏置影响单独存在gmb源,第三版则更强调通用模型。答案里如果突然多了个gmb而你的题目模型没有,不要慌,补上即可。建议手头准备一份书中模型图示,随时对照。

5.2 现象二:同一个题目习题解答用了不同符号,算出来差一倍

符号约定差异是习题解让人抓狂的头号原因。有人把过驱动电压写Vov=VGS-VTH,有人写Vdsat,两个含义一样,但如果另一个符号Vov被用来表示VDS-VDSAT,那后面所有表达式全乱。再比如源极退化电阻RS,有人写成RS,有人写R_S,这些还好说,最怕的是V_T和VTH混用——在拉扎维书里VT可能指阈值电压,也可能指热电压kT/q,如果答案里突然出现VT=26mV,那说明它在讨论热电压而不是阈值。

排查方法:看答案中同一变量的量纲有没有突变。VTH的量纲是V,VT=kT/q的量纲也是V,但数值差20倍左右,一个0.5,一个0.026。一旦出现这种数量级差,就立刻核对符号。更严格一点,给答案里所有关键变量建一个符号映射表,把书中公式、答案用符号、自己习惯符号三列对照。这样做一次能省好几小时。

5.3 现象三:数字对不上,因为工艺参数年代差异

0.35um、0.18um、65nm工艺的μnCox差别非常大。早期工艺的μnCox可以到170uA/V²左右,现代工艺可能到400uA/V²,甚至更高。如果一份答案默认的是0.35um工艺,而你的教材习题默认0.18um,算出来的电流就是差两倍。要命的是拉扎维部分课后题根本不给工艺参数,只给一个"假设合理值"。

这种问题没法靠猜。正确做法是用题目明确给的数字反推工艺:如果一道题给了Vov=0.2V,ID=50uA,W/L=20,那么μnCox=2ID/(W/L·Vov²)=2×50u/(20×0.04)=125uA/V²,这大概对应0.35um工艺。如果算出来是400uA/V²,那它可能参考了0.13um工艺。把反推出来的μnCox写在答案开头,后面所有计算都用这个值,至少保证自洽。别去纠结"标准答案"用了什么工艺,只要你把假设写清楚,推导没有错,这种答案就是合格的。

5.4 现象四:答案里只给了公式没有过程,怎么判断对错

网上流传的不少"详细版答案"其实只是把官方简版抄了一遍,中间跳了几步。拿到这种答案,先去找它是不是漏了小信号模型中的ro。一个典型特征是:增益公式里只有RD,没有RD||ro,那基本可以断定它默认λ=0。这时你需要自己补一句"题目若未明确λ=0,应增加ro并重算"。这种答案不能说全错,只能说适用条件有限。

另一个判断技巧是先看最终数字的量级是否在合理区间。比如共源级增益,单级很难超过100倍;差动放大器的差模增益可能上百倍,但共模增益应该远小于差模增益。如果某个答案算出差模增益0.5倍,先检查是不是把输出取在了单端而输入取在了差分,这是常见混搭错误。详细版答案如果连"本题输出为单端输出,故增益表达式需除以2"都没写,基本不够格。

最后,如果实在没有答案可参考,把题目拿到仿真里验证是最硬核的兜底办法。搭一个简单电路,用理想电压源给偏置,跑DC和AC,看增益、带宽和摆幅。仿真算出来的结果就是你的"答案",拿它再去对照别人的习题解,谁对谁错一目了然。这个方法看起来很重,但对初学者来说反而是学得最扎实的一条路,比到处找答案省心。

6. 把课后题答案变成自己的仿真验证清单:一个实用技巧

6.1 从课后题到仿真:一张可以直接抄的核对表

手算完一道课后题后,别急着翻答案。我习惯把结果整理成下面这张核对表,然后拿着它去仿真环境里逐项打勾,比对着别人的答案改数字有收获得多。

核对项手算值仿真值误差可接受范围说明
ID(A)按平方率手算DC工作点读出10%以内注意体效应和λ是否开启
VDS(V)由漏极节点电压推出DC工作点读出5%以内必须大于VDSAT
gm(A/V)2ID/Vov或∂ID/∂VGSDC工作点op输出10%以内短沟道器件差异可能更大
输出电压摆幅VDD-VDSAT到VDSATDC扫描VIN得到20%以内线性区边界看增益下降
小信号增益(V/V)Av=-gm·(RD‖ro)AC仿真1kHz处幅值15%以内低频段读取,看相位
带宽用gm/CL粗略估算AC仿真-3dB处频率30%以内手算不含高频零极点时会偏

表格看起来简单,真正坚持做下来的人不多。我自己早年也嫌麻烦,后来被一次流片测试结果教育了:手算增益和测试值差了5倍,回头看才发现源极退化电阻计算时少乘了(m+1)gmb那一项。这次翻车让我养成了习惯——每道课后题都当成一个小型设计任务对待,算完顺手把仿真验证跑了。花的时间不多,但比连做十道题都有效。

具体操作上,我会用Cadence Virtuoso或HSPICE搭最小测试电路:电源用理想源,偏置用理想电压源,晶体管选库里最小面积附近的标准单元。AC仿真扫1Hz到1GHz,增益曲线平坦区域的值和手算对比。如果差超过15%,先检查模型是二级效应还是手算错,再回到纸上修正某一步。这一套做完,课后题答案其实就不重要了,因为你自己已经生成了更可靠、可复现的答案版本。

给后来人的一条经验是:详细版答案不是给人看的,是给人校验的。一份答案写得再全,你没有动手验证,记不住公式背后的物理。哪怕只是把某个题目手算值和仿真值对一次,你就明白λ和γ在真实模型里占多大比重,下次判断答案真伪时心里有底。希望帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

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