简介《拉扎维模拟CMOS集成电路第二版》配套答案以PDF形式提供并附带完整目录适合正在研读模拟IC设计经典教材、需要课后习题参考的本科生与工程师。答案聚焦于晶体管特性分析例如第二章围绕NFET与PFET的漏电流ID与|VGS|关系展开给出W/L50/0.5、|VDS|3V条件下的分步推导包含Cox计算、Table 2.1参数代入、数值表格与曲线绘制能帮助读者验证手算过程、理解器件建模细节。资源包仅含1个PDF文件大小67.56MB版面清晰定位精准随附目录便于快速定位章节。截至目前已有1576人学习下载。通过对照答案梳理解题思路可加深对CMOS工艺中MOSFET工作区、跨导与输出阻抗等核心概念的理解尤其适合备考、课程复习或作为项目设计时的参考手册。1. 先立住结论这份答案真正值钱的是把第二章手算流程拆开了很多做模拟IC的人手上都有一份拉扎维《模拟CMOS集成电路设计》第二版的习题答案可真正能把它用对的没几个。我见过最扎心的翻车就是照着答案抄第二章 NFET 漏电流抄了一半才发现单位差了上千倍。这份资源把 Chapter 2 前几道经典题从 Cox 计算一路推到 gm、rO 和本征增益步骤写得非常细适合正在跟第二章、第三章做作业的入门者也适合拿来核验自己手算结果的老手。它本质上做的事只有一件把教材里那些“看上去很简单”的公式翻译成能落笔的固定流程。先别急着抄后面这几章的坑比答案本身更值钱。2. 答案的内部结构从 ID 公式到 gm、rO、本征增益的四步拆解2.1 第二章开篇在讲什么I-V 特性与三个工作区的边界这一版答案的第二章前半部分没有直接上电路而是先把 MOSFET 的 I-V 特性盘了一遍。对于搞模拟设计的人来说这一步特别容易被跳过结果后面做小信号分析时连“这个管子到底在饱和区还是三极管区”都判断不清楚。答案里反复出现的流程是先看 |VGS| 和 VTH 的关系再看 VDS 和 VGS−VTH 的关系三言两语就能锁定工作区。摘录的第一道题是 W/L50/0.5|VDS|3V让 |VGS| 从 0 扫到 3V分别画 NFET 和 PFET 的漏电流曲线。答案的处理方式很规范当 |VGS| 小于阈值电压时直接判 offID 记为零超过阈值之后才进公式。这里有个初学者很容易误会的点答案里标注得很清楚——NFET 用的是 VGS−VTHPFET 用的是 |VGS|−|VTH|绝对值符号不能省。很多人第一次做 PFET 题时直接带正电压进去算算出来的结果要么特别夸张要么直接在坐标轴上画出一条完全不对的曲线。第二个容易被忽略的是 λ 的引入。拉扎维教材在推导饱和区漏电流时用了 (1λVDS) 这个因子答案里没有把 λ 当成“小到可以扔掉”的东西而是老老实实代入数值算。很多学生做作业时为了省事把 λ 设成 0发现曲线在高 VDS 下毫无斜率这就失去了“看图判断沟道长度调制效应”的训练意义。还有一个细节答案里对“截止”和“弱反型”的处理是二分法的——要么完全没电流要么直接用强反型饱和公式。实际器件里亚阈区是有电流的但这份答案沿用的是教材第二章的强反型模型。你用这份答案应付作业没问题但如果拿去和 Spectre 仿真结果做亚阈区对比就别指望能对上那属于模型范围的问题不是答案写错了。2.2 核心公式的选择饱和区、三极管区和亚阈区的分界条件答案在第二章的习题里只用到了两个主要表达式三极管区的线性电流公式和饱和区的平方律公式。它没有引入亚阈区指数公式因为这一章的教学目标就是把“强反型下的手算能力”练出来。对读者来说真正要记住的是切换条件。对 NFET答案写的是VGS VTH 时截止VDS VGS−VTH 时处于三极管区VDS ≥ VGS−VTH 时处于饱和区。用第 5 题那种电路图时它还会把等式两边的电压角色互换——当源漏交换时“源”变成“漏”“漏”变成“源”判断条件里的 VDS 也要换符号。这是第二章习题里最容易把人绕晕的地方后面我会单独用一节来说。选择哪个公式直接决定计算结果差多少倍。三极管区电流公式里 VDS 是一次项饱和区是二次项。同样一组电压值在边界附近两个公式给出的 ID 可能差 3~5 倍。答案在每道题开头都先做一步“这个电路在什么条件下工作在什么区”的判断这就是在训练一种肌肉记忆拿到题先别急着代数字先画出 DC 工作点再决定用哪条公式。2.3 固定解题流程先算 Cox再代 W/L最后画曲线翻完这份答案前几章的解题过程你会发现它有一个固定套路第一步永远先算单位面积栅氧化层电容 Cox第二步从教材 Table 2.1 里取迁移率、阈值电压、λ 等工艺参数第三步把它们代进漏电流或跨导表达式第四步列表格、画曲线。这个顺序不是随便定的Cox 直接出现在 gm、ID、fT 等一系列表达式里算错一步后面全错。答案在算 Cox 时给出的公式是 Coxεox/toxεox 取的是二氧化硅的介电常数tox 是栅氧化层厚度。很多人到这里就开始犯迷糊——εox 到底是 3.45×10⁻¹¹ F/m 还是 3.9×8.85×10⁻¹² F/m其实是一回事前者就是后者的计算结果。真正容易翻车的是单位如果 tox 用纳米、Cox 想用 fF/μm²中间还夹着一层 10⁻⁹ 和 10⁻¹² 的换算少乘一个 1000 结果就差到离谱。我在实际项目里一般会用 Python 把这些参数集中放在一个字典里避免每次手算都从表里翻数据。答案没有提供脚本但它把每步代入的数值都列出来了照抄一遍就能对照自己的代码哪里写错。如果你只是想要一个最终数字那确实很快但如果不亲手复算一遍后面做偏置电路设计时大概率要重新翻公式。2.4 手算题和画图题的区别边界点的含义不一样这份答案第二章里有两类题一类是“算数值”比如已知 W/L 和 ID求 gm、rO、本征增益另一类是“画曲线”比如第 1 题画 ID−|VGS| 曲线第 4 题画 ID−VGS 曲线并标出 break point。两类题对边界条件的处理方式不同。算数值的题答案会直接给一个唯一结果过程更像“套公式三步走”。画曲线的题答案强调的是趋势和拐点位置。第 4 题里它特意把 VDS 固定为不同值画出一族 ID−VGS 曲线并要求“Identify the break points”。这里的 break point 实际上是每个 VDS 下从三极管区进入饱和区的切换点也是求阈值电压和跨导的参考位置。很多读者以为 break point 就是 VTH其实不完全是——它是在这条特定曲线上电流从线性增长变成平方律增长的那个转折电压。你可以在曲线上做个切线切线的斜率才对应 gm。理解这个区别后你再回去看第 1 题的 NFET 和 PFET 曲线就会发现答案不是随便画两条抛物线就完事它会在靠近截止区的地方给出一个明显的“膝点”。这是手算题和画图题共同的核心边界条件决定公式公式决定曲线形状曲线形状反过来验证边界条件有没有设错。3. NFET 和 PFET 的漏电流计算复现从 W/L50/0.5 到一张可核对的表3.1 条件拆解W/L、VDS、|VGS| 的取值边界第 1 题的已知条件非常标准W/L50/0.5|VDS|3V|VGS| 从 0 扫到 3V。这里 W/L 的单位是 μm/μm也就是说沟道宽度 50μm、长度 0.5μm这是个偏长沟道的手算设定λ 的影响不能忽略。对于 0.5μm 工艺λ 通常在 0.1~0.2 之间答案里取的数值就是教材 Table 2.1 的典型值。我建议拿到这道题后先做一件事把 |VGS| 的扫描范围拆成“截止区”“饱和区”“边界”三段。对 NFET 来说阈值电压约为 0.7V 左右那 0~0.7V 这段就不用算直接画成零电流0.7V 到 3V 这一段因为 VDS 恒等于 3V而 VGS−VTH 最大也就 2.3V 左右VDS 始终大于 VGS−VTH所以整个工作区都落在饱和区。这一点很多人没看出来以为 VGS 大了就会进三极管区其实 VDS 固定在 3V只要 VGS 不超过 3.7V 就不会触碰三极管区边界。PFET 的情况要更小心。答案里用的是绝对值符号当 |VGS||VTH| 时截止当 |VDS|≥|VGS|−|VTH| 时处于饱和区。由于题目给出的 VDS 本身就是负的很多初学者在代入公式时会把符号搞乱。我一般的习惯是先把所有电压都写成绝对值算完电流后再根据 PFET 的电流方向确定 ID 的符号。3.2 用 Python 复现答案里的表格看文字步骤十遍不如自己跑一遍脚本。下面这段代码模拟了答案中 NFET 的计算过程参数表里的数值我用某 0.18μm 工艺典型值做演示实际做作业时请换成教材 Table 2.1 的值import math # 工艺参数以教材 Table 2.1 为最终依据这里只做演示 tox 4e-9 # 栅氧化层厚度单位 m eps_ox 3.45e-11 # SiO2 介电常数单位 F/m Cox eps_ox / tox # 单位面积栅氧化层电容F/m^2 mu_n 350e-4 # 电子迁移率m^2/(V·s)注意单位 mu_p 150e-4 # 空穴迁移率m^2/(V·s) W 50e-6 # 沟道宽度m L 0.5e-6 # 沟道长度m VTH_n 0.7 # NFET 阈值电压V VTH_p 0.8 # PFET 阈值电压绝对值V lam_n 0.1 # NFET 沟道长度调制系数1/V VDS_n 3.0 # NFET 漏源电压V def id_nfet(vgs): if vgs VTH_n: return 0.0 return (0.5 * mu_n * Cox * (W / L) * (vgs - VTH_n)**2 * (1 lam_n * VDS_n)) print(VGS(V) ID_NFET(A)) for vgs in [0, 0.5, 0.7, 0.8, 1.0, 1.5, 2.0, 2.5, 3.0]: print(f{vgs:8.1f} {id_nfet(vgs):.6e})这段代码的逻辑和答案第 1 题完全对应先判断是否导通再判断是否在饱和区最后代入平方律公式。注意 μn 的单位。很多教材里 μn 写的是 cm²/(V·s)但国际单位制里是 m²/(V·s)1cm²/(V·s)10⁻⁴m²/(V·s)。如果你直接拿 350 代入而没做 10⁻⁴ 换算算出来的电流会大一万倍。答案里没刻意强调这一步但它给的结果数值能帮你反向核验单位有没有写错。3.3 为什么 PFET 要用 |VGS|−|VTH| 再带绝对值同一份脚本换成 PFET 时最容易出问题的地方是阈值电压取正取负。看答案的 Step 6~9它对 PFET 的处理是先算出 |VGS| 对应的电流再根据电流流向决定 ID 是负的。这在物理上是对的PMOS 的载流子是空穴电流从源流向漏但在 N 阱工艺里通常把 PMOS 画成和 NMOS 对称的样子所以手算时先算绝对值更不容易出错。我见过很多同学在 Spice 网表里填 PMOS 模型时VTH 写成了负值然后在手算作业里也想把负号带进公式结果平方项消不掉负号得出一个永远为正的电流直接和 SPICE 仿真结果反号。答案的这个处理方式就是给这类问题打预防针——公式层面只讨论绝对值物理方向最后统一判断。3.4 用同一套代码算 gm、rO、本征增益第 2 题把问题从“电流是多少”升级到了“小信号参数是多少”已知 |ID|0.5mAW/L50/0.5要求 gm、rO 和 gm·rO。答案的路径是先求 Cox再算 μnCox(W/L)然后代入 gm√(2μnCox(W/L)·ID)最后用 rO1/(λID) 求输出电阻。注意 rO 和 ID 成反比ID 越大输出电阻越小本征增益反而下降。很多人算完 gm、rO 后会直接把两个数乘起来忘了 gm 和 rO 都是 ID 的函数。答案在第 3 题里专门推了一遍 gm·rO 的表达式结果是和 √ID 成反比的和 W/L 的平方根成正比。这就回答了一个很反直觉的问题把管子做宽并不一定显著提高本征增益真正起决定作用的是 L 和 ID 的搭配。拉扎维第二章安排这几道题就是想让读者从计算里得出这个结论而不是等用到时再被仿真结果惊到。4. 图 2.47 这类题目怎么拆源漏互换、体效应与分段画图4.1 三段式判据截止、三极管、饱和的切换点第 5 题让读者对着图 2.47 画出 ix 和跨导随 VX 变化的曲线这是第二章里综合性最强的一道题。它不再直接给你 VGS 和 VDS而是要求在电路拓扑里自己推导这两个电压。答案的做法是先把 VX 的整个范围切成几段每一段对应一个工作区然后分段写出 ix 的表达式。这里有一个特别重要的操作习惯每切换一段就要重新判断 VGS−VTH 和 VDS 的大小关系。有些同学偷懒第一段算完是饱和区后面就默认一直是饱和区结果画出来的曲线在三极管区和饱和区之间出现一个莫名其妙的跳变。答案里在(b)和(c)两个电路上都把截止、三极管、饱和三个区间分别列了公式分段点精确到伏特。我在做这类题时习惯先用一行注释把分段区间写在代码里确保每段代码只处理一种工作状态。4.2 体效应在答案里的处理VTH 随 VSB 变化(b)和(c)电路里出现了源极不带在电源轨上的结构也就是存在 VSB 不等于 0 的情况。答案在处理时引入了体效应VTHVTH0γ(√(2ΦFVSB)−√(2ΦF))。它给的 γ0.45PHI0.9这些参数直接来自教材 Table 2.1。很多第一次做这道题的人会以为 VTH 是固定常数结果在 VSB 明显变化时死活算不出和答案一致的图。我自己的习惯是把体效应单独写成一个函数比如 vth_with_body(vth0, gamma, phi, vsb)这样在扫描 VX 时每个工作点都会实时更新 VTH而不是从头到尾用一个常数。如果你做作业时发现曲线形状对但转折点偏了十有八九是 VTH 没跟着 VSB 更新。4.3 源漏交换时别慌把“源”看成“漏”重新写等式(b)电路在设计上故意让 VX 从 0 扫到 1.5V导致在某个电压点之前晶体管的源漏角色会互换。答案里明确写了“source and drain exchange their roles”这时候原来的 VGS 表达式要重新定义原来适用饱和区的公式也可能要换成三极管区公式。处理源漏互换的一个实用技巧是先把电路里两个端子的电压分别算出来人为指定“电压更低的那一端”是源端。对 NFET 来说源端电压一定低于漏端电压。一旦发现 VX 变化让某一端电压关系反转就要立刻把 VGS 和 VDS 的定义换过来重新算如果不换电流方向、衬底偏置、甚至 gm 符号全会错。答案在(b)的 Step 6~10 里专门做了这一步并强调电流方向反转之后跨导也出现了负的特征画图时这一段曲线要低于零轴。4.4 和手算结果的交叉验证这种图题算完很容易“自我感觉良好”因为曲线形状看起来合理。我会额外做一步用 SPICE 跑一个简单的 DC 扫描把 VX 设成自变量观察 ix 和 gm 的变化再和手算图叠在一起。两份结果对不上的地方基本都能在“工作区判断”或“体效应是否考虑”这两条里找到原因。答案本身没有附仿真结果但它给出的分段公式足够支撑你用 ngspice 或 Virtuoso 做一次交叉验证。5. 避坑拿这份答案做作业时最容易翻车的五个地方5.1 现象算出来 NFET 电流比答案大了整整一倍原因漏掉了饱和区公式里的二分之一系数。拉扎维教材里通用写法是 ID½μnCox(W/L)(VGS−VTH)²(1λVDS)但很多版本的公式整理会把 ½ 并进 μnCox 里或者直接用 KnμnCox 表示导致抄公式时误以为 Kn 前面还有 ½结果乘了两遍 ½反过来也有人把 ½ 丢了结果大了一倍。解决不要在公式上做“看起来合理”的化简。每次代入前先写出完整表达式确认系数是 0.5、1 还是 2再代数字。做作业时把最终结果与答案表格对照如果整体差 2 倍优先怀疑这个系数。5.2 现象gm 算出来是答案的一万倍或万分之一原因迁移率单位没换算。教科书 Table 2.1 里 μn 常写成 cm²/(V·s)而 Cox 用 F/m²、W 和 L 用 μm 时必须统一成米制。常见错误是在 Python 里直接令 mu_n350但 Cox 按 F/m² 计算最终 gm 单位变成 A/V 的平方乘以一个巨大的数。解决把所有物理量先转成 m、F、V 的标准单位再计算。我一般在代码开头写一行注释mu_n 350e-4并标明“从 cm²/(V·s) 转成 m²/(V·s)”。这样即使工艺参数变化单位也不会乱。5.3 现象明明按答案步骤算小数点后几位和答案对不上原因版本差异。拉扎维第二版在不同印刷批次里Table 2.1 的个别工艺参数做过微调网络流传的答案可能是基于早期版本或读者重排版本图号有时还标着“Fig. 2.42”而不是“Fig. 2.47”。解决以你手上正版教材的 Table 2.1 为准答案里的数值只用来验证“你用的参数是否接近”。如果某个参数差 5%~10%后面结果有偏差是正常的不用执着于完全一致。真正应该对齐的是曲线趋势和分段区间而不是最后一位数字。5.4 现象抄完第 5 题的图回头换个电路就不会做原因只看答案的分段结果没看它判断工作区的依据。图 2.47 的每一小问都以“VX 在哪个区间”作为第一层判断很多人跳过了这一步直接在答案里找现成的公式。解决每次只抄一道题抄完合上答案重新从电路图出发写一遍分段条件。建议在纸上写“VX0.8V截止0.8VVX1.2V三极管区VX1.2V饱和区”这类判断再和答案比对。这个过程花不了十分钟但能把“会抄答案”变成“会做同类题”。5.5 现象SPICE 仿真结果和答案曲线差异巨大原因答案用的可能是理想模型或特定工艺参数而 SPICE 模型库来自其他工艺或包含二级效应比如 DIBL、窄沟道效应、温度效应。尤其是 0.5μm W/L 在先进工艺里已经算长沟道但在老工艺库里模型参数差异仍然明显。解决先做“手算 vs 答案”的对齐再做“SPICE vs 手算”的对齐。如果 SPICE 差很多先检查模型是 LEVEL 1 还是 BSIM3/BSIM4再考虑是否要加上体效应项。答案的价值在于提供理想模型下的基准曲线不要期望它和某个具体工艺角的仿真结果完全重合。6. 把答案变成自己的用脚本批量核验第二章全部计算结果图纸答案看再多遍也不如自己搭一个可复现的核验脚本。我一般会把第二章里所有涉及“已知 W/L、ID 求小信号参数”的题目统一收进一个循环里跑一遍输出一张包含 gm、rO、A 的对照表这样既能核对答案也能在以后做偏置设计时快速复用这些函数。6.1 一个简单的核验脚本def gm_and_ro(mu, cox, w, l, id_val, lam): beta mu * cox * w / l gm math.sqrt(2 * beta * id_val) ro 1.0 / (lam * id_val) return gm, ro, gm * ro # 对 NMOS 和 PMOS 各跑一遍 for name, mu, vth in [(NFET, mu_n, VTH_n), (PFET, mu_p, VTH_p)]: gm, ro, av gm_and_ro(mu, Cox, W, L, 0.5e-3, lam_n) print(f{name}: gm{gm:.4e} A/V, ro{ro:.4e} ohm, Av{av:.1f})这段脚本把第 2 题的完整流程压缩成了函数。跑完你会发现NFET 和 PFET 的本征增益往往会差一个明显的倍数这是迁移率不同带来的直接结果。记住这个量级差异比背十个公式都有用。从那以后我每次拿到一份习题答案都会先挑一道题手工完整推一遍再拿脚本批量算一遍两头对上了才敢放心用。这样虽然慢一点但能确保自己对“为什么是这个公式、为什么是这个单位”心里有数。希望这份拉扎维第二章答案能帮你把最基础的手算流程走通。本文还有配套的精品资源点击获取