Razavi习题6.8(a):共源级高频响应与传输函数推导详解

Razavi习题6.8(a):共源级高频响应与传输函数推导详解 Razavi 模集教材的习题 6.8(a)是不少人在第 6 章频率响应部分遇到的第一道坎。这道题不是单纯考记忆而是考你能不能把一个放大器的传输函数从等效电路里完整推出来并判断它的极点和零点。下面我按最常见的共源级高频分析版本把推导过程完整走一遍。如果你手边教材里的 6.8(a) 电路和我这里不完全一样也不要紧替换元件后整个分析流程照样能用。这种题最大的价值是帮你建立一套“画小信号模型 - 列节点方程 - 消元整理 - 检验极限 - 画波特图”的固定思路。一旦这个流程跑顺后面 6.8(b)、6.9、6.10 都会轻松很多。1. 拿到 6.8(a) 以后先别急着列方程1.1 先确认题目考的是低频响应还是高频响应Razavi 教材第 6 章标题叫“频率响应”但里面的习题并不是都要求你列全频段的传输函数。有的题考低频响应主要看耦合电容、旁路电容对增益的影响有的题考高频响应主要看晶体管寄生电容 Cgs、Cgd、Cdb 的作用。6.8(a) 属于哪一类取决于你手里的具体版本。我遇到的常见情况是它给的是一个共源放大器输入源内阻 RS输出端有负载电容节点上还有晶体管电容要求推导 Vout/Vin并画出波特图。这就是典型的高频响应题目。判断方法很简单看题图里把哪些电容看作大电容、哪些电容看作小电容。如果耦合电容和旁路电容画得很大通常低频时视为短路重点分析寄生电容如果题目只画了 Cgs、Cgd、CL 这类小电容说明直接进入高频分析。1.2 判断电路拓扑属于哪一类第 6 章的例题和习题里拓扑不外乎共源级、共栅级、源跟随器、级联结构。6.8(a) 如果只有一个晶体管通常就是共源级。共源级的特征是输入加在栅极输出取自漏极源极交流接地。如果源极串了一个电阻 R_S? 不注意这里输入源内阻 RS 和源极电阻是两回事。Razavi 题目里信号源一般不是理想电压源会带一个源内阻 RS这个电阻对输入极点影响很大必须保留。如果源极还有电阻那属于源极负反馈推导会更复杂但分析方法一样。先判断拓扑再画等效电路否则很容易把节点方程写错。我见过不少人拿到题就开始套“密勒定理”结果题目要求精确传输函数密勒近似反而导致极点和零点个数都对不上。1.3 建立推导步骤清单做这类题我一般会按五步走画出高频小信号等效电路。在关键节点写 KCL 方程。消去中间变量得到 Vout/Vin 的表达式。整理成标准形式提取直流增益、零点、极点。用低频极限和高频极限验证结果再画波特图。不要跳过第一步直接写公式。即使你记得共源级传输函数的最终形式也要学会自己推一遍因为 6.8(a) 后面的小问很可能让你改条件。2. 小信号等效电路和三件最容易漏掉的事2.1 输入源内阻 RS 必须画进去否则输入极点会丢很多同学画等效电路时喜欢把输入信号直接接到栅极认为 Vin 就等于 Vg。这在低频题里问题不大但在频率响应题里是错误的。信号源 Vin 通过源内阻 RS 接到栅极栅极节点对地还有 Cgs 和 Cgd 的等效电容。高频时电容阻抗变小RS 和电容构成一个 RC 网络会产生一个输入极点。如果漏掉 RS这个极点就消失传输函数少一阶答案自然不对。所以拿到 6.8(a)第一件事就是在输入端把 RS 画出来。即使题目里没给 RS也通常会在图里标一个要仔细看。2.2 Cgd 的处理方式直接决定零点是否存在在共源级中Cgd 跨接在栅极和漏极之间。它不仅是输入电容的一部分还提供了一条从输入到输出的前馈通路。在高频处Cgd 可以把信号直接从栅极耦合到漏极。这个耦合信号与晶体管 gm 产生的放大信号方向相反所以会在传输函数中产生一个右半平面零点。这个零点频率大约是 gm / Cgd但更要紧的是它的相位贡献是滞后的画波特图时不能当成普通零点处理。如果你用密勒定理把 Cgd 拆成输入侧和输出侧两个电容那是近似做法。它会丢掉这个右半平面零点因为密勒等效只保留了大小不保留方向。在 6.8(a) 这种要求完整传输函数的题里除非题目明确说“用密勒近似”否则建议保留 Cgd 的跨接关系直接列节点方程。2.3 r_o 和体效应什么时候保留什么时候先去掉Razavi 教材里的小信号模型有多个版本只含 gm 的理想电流源、带 r_o 的非理想电流源、考虑体效应 gmb 的完整模型。6.8(a) 到底用哪个模型要回看题目条件。如果题目没有特别提到沟道长度调制或 lambda通常可以先忽略 r_o这样推导简单很多。如果题目明确要求考虑 r_o那输出节点就要并一个 r_o公式会变长但流程不变。我的建议是第一遍推导先忽略 r_o 和 gmb把主体结果推出来。等主体公式没问题再回头加 r_o 作修正。否则一上来就满屏符号很容易在代数化简时出错。3. 以最常见的共源级 6.8(a) 为例完整推导传输函数下面以这个典型电路为例输入信号源 Vin源内阻 RSNMOS 共源级栅极有 Cgs栅漏之间有 Cgd漏极接电阻 RD 到电源输出节点还有负载电容 CL源极交流接地暂时忽略 r_o 和体效应。这个结构在 Razavi 教材第 6 章里非常常见。如果 6.8(a) 的电路不是它你也可以照同样的方法重推。3.1 先画小信号等效电路再写节点方程高频等效电路里所有直流电源都置为交流地VDD 视为地。晶体管用压控电流源 gm*Vgs 表示Vgs 就是栅极到源极的电压在源极接地时Vgs Vg。这时有两个独立节点栅极节点 G 和漏极节点 D。源极是地。在节点 G流入节点的电流来自 RS 左侧的 Vin流出节点的电流有两条一条通过 Cgs 到地一条通过 Cgd 到漏极。写 KCL(Vin - Vg) / RS s*Cgs*Vg s*Cgd*(Vg - Vout)注意Cgd 两端的电压是 Vg - Vout所以电流是 s*Cgd*(Vg - Vout)。方向是从栅极流向漏极。在节点 D流出节点的电流包括压控电流源 gm*Vg电阻 RD 上的电流 Vout/RD电容 CL 上的电流 s*CL*Vout以及 Cgd 上的电流 s*Cgd*(Vout - Vg)。注意 Cgd 在漏极这一端看到的电压是 Vout - Vg所以电流方向和栅极那端相反。写 KCLgm*Vg Vout/RD s*CL*Vout s*Cgd*(Vout - Vg) 0这里把压控电流源画成了从漏极流出到源极所以 KCL 写成流出电流代数和为零。如果你习惯用流入电流符号会全部反过来最终结果是一样的但中间步骤更容易错。3.2 消去 Vg得到 Vout/Vin从栅极节点方程可以解出 Vg(Vin - Vg) / RS s*(Cgs Cgd)*Vg - s*Cgd*Vout移项Vin / RS Vg / RS s*(Cgs Cgd)*Vg - s*Cgd*Vout所以Vg (Vin s*RS*Cgd*Vout) / (1 s*RS*(Cgs Cgd))从漏极节点方程解出 Vg 和 Vout 的关系gmb? 不用管gm*Vg Vout/RD s*CL*Vout s*Cgd*(Vout - Vg) 0整理(gm - s*Cgd)*Vg Vout*(1/RD s*CL s*Cgd) 0因此Vg - Vout * (1/RD s*(CL Cgd)) / (gm - s*Cgd)联立两个 Vg 表达式去掉 Vg得到(Vin s*RS*Cgd*Vout) / (1 s*RS*(Cgs Cgd)) - Vout * (1/RD s*(CL Cgd)) / (gm - s*Cgd)然后交叉相乘整理出Vout/Vin - gm*RD * (1 - s*Cgd/gm) / [ 1 s*A s^2*B ]其中A RS*(Cgs Cgd) RD*(CL Cgd) gm*RD*RS*Cgd B RS*RD*(Cgs*CL Cgs*Cgd Cgd*CL)这个结果就是典型共源级的高频传输函数。3.3 检查量纲和极限行为推导完成后先别急着画波特图做两个快速检查。第一个检查是零频极限。令 s 0分子变成 -gm*RD分母是 1所以 H(0) -gm*RD。这正好是共源级的中频电压增益符号为负说明输入输出反相。如果这里算出正号肯定是前面某个电流方向写错了。第二个检查是高频极限。令 s → ∞分子趋于 -gm*RD*(-s*Cgd/gm) RD*Cgd*s分母趋于 s^2*B所以 H(s) 趋于 RD*Cgd / (s*B)即随频率升高而下降最终趋于 0。这与实际电路在高频时增益下降的直觉一致。还有一个检查如果 Cgd 0分子变成 -gm*RD零点消失分母里 A RS*Cgs RD*CLB RS*RD*Cgs*CL。这说明电路退化成两个独立的一阶 RC 环节分别是输入节点 RS 与 Cgs、输出节点 RD 与 CL。这个退化结果也符合物理预期。3.4 极点和零点的物理意义从传输函数可以看出分子有一个零点z1 gm / Cgd它位于 s 平面的右半平面所以叫右半平面零点。它来自 Cgd 的前馈通路频率越高Cgd 阻抗越低信号越容易直接耦合到输出抵消部分放大信号。分母是一个二阶多项式所以有两个极点。在大多数实际设计里两个极点分离得比较远可以近似求出主极点和次极点。主极点大约在p1 ≈ - 1 / [ RS*(Cgs Cgd) RD*(CL Cgd) gm*RD*RS*Cgd ]这个表达式里的每一项都有物理含义RS*(Cgs Cgd) 是输入节点对地电容与源内阻形成的时间常数RD*(CL Cgd) 是输出节点对地电容与漏极电阻形成的时间常数gm*RD*RS*Cgd 是密勒效应引起的等效输入阻抗折算到输入端后的附加时间常数也是三项里最容易忘记的。如果两个极点不分离那就用二次方程直接求极点不要强行用主极点近似。Razavi 的习题里有时会特意让两个极点接近考查你能否正确处理二阶系统。4. 验证答案的三个实用技巧4.1 用低频极限验证直流增益前面已经说过s 0 时 H(0) 必须等于 -gm*RD。这是所有共源级推导必须满足的基本条件。有的题目里 RD 不是纯电阻可能是电阻并联电容或者负载是电流镜输出阻抗也不同。但不管怎么变s0 时所有电容都开路电路退化成直流等效电路增益就由 gm 和漏极总阻抗决定。如果推导结果在零频时不等于直流增益说明你在整理过程中丢项或符号写错。这个时候不要继续往下画波特图回到节点方程重新检查。4.2 用高频极限检查阶数传输函数分子分母的阶数之差决定了高频衰减斜率。对于共源级分母是二阶分子是一阶所以高频时增益按 -20dB/dec 衰减。如果推导出来的分母只有一阶说明你漏掉了一个极点。常见原因是把 Cgd 直接当作密勒电容拆掉丢失了它在输出节点上的贡献。如果分子阶数不对可能是 Cgd 前馈方向没处理好。另一个技巧是把 Cgd0 代入看结果是否是两个独立的一阶 RC 的乘积。如果是说明主体结构没问题。4.3 与密勒近似的结果对比Razavi 在正文里经常用密勒近似分析共源级的高频响应但习题里往往要求精确结果。你可以用两种方法各自算一遍然后对比差别。密勒近似的做法是把 Cgd 等效为栅极到地的电容 Cgd*(1 gm*RD)同时忽略输出端引入的 Cgd 影响。这样会得到一个没有零点的二阶系统输入极点频率偏低而且完全看不到右半平面零点。精确结果与近似结果的差异在哪里精确结果有一个右半平面零点密勒近似没有。精确结果的输入极点时间常数里包含 gm*RD*RS*Cgd与密勒等效类似但精确结果的第二个极点也包含 Cgd 的影响。当 gm*RD 很大时密勒近似的主极点很接近精确结果但零点对相位的影响在高频段不可忽视。如果题目要求画波特图一定要用精确结果标注零点否则相位曲线会差 45 度以上。5. 6.8(a) 解答中常见的错误和排查顺序5.1 Cgd 电流方向写反导致零点符号错误这是最高频的错误。Cgd 跨接在栅极和漏极之间栅极一侧的电流表达式是 s*Cgd*(Vg - Vout)漏极一侧是 s*Cgd*(Vout - Vg)。两个方向正好相反很多人在两个节点分别写方程时不自觉写成同一个方向导致最终分子的零点跑到左半平面。检查方法很简单零点的表达式如果变成 -gm/Cgd或者符号不对就回头看看 Cgd 电流方向。你可以用电流从高电位流向低电位这个物理直觉来判断当 Vg 上升时Vout 因为是反相放大器而下降所以 Cgd 两端电压差增大电流方向应该从栅极流向漏极还是反向想清楚这个符号就不容易错。5.2 漏掉 RS 或 RD导致极点缺失输入源内阻 RS 如果被忽略输入极点就消失漏极负载电阻 RD 如果被忽略输出极点也消失。这两种情况都会让分母阶数下降。如果题目里信号源标注为理想的也就是没有 RS那输入极点可能确实没有但绝大多数高频响应题一定有 RS否则输入节点只有一个电容没有电阻无法形成有限极点。5.3 整理多项式时丢失 s^2 项在联立两个节点方程后需要做一次交叉相乘和展开。这个过程很容易丢项尤其是 s^2 项。因为 s^2 项前面会有多个乘积比如 Cgs*CL、Cgs*Cgd、Cgd*CL少任何一个都不对。我常用的整理方法是先把两个 Vg 表达式写清楚再代入消元最后用“系数对比法”检查。比如我们得到的分母二阶项系数B RS*RD*(Cgs*CL Cgs*Cgd Cgd*CL)如果你展开后少了中间交叉项说明在 (CgsCgd)(CLCgd) 的展开中漏了 Cgs*Cgd 或 Cgd*CL。检查时可以用一个简单办法令 Cgs CL 1nFCgd 0.5nF代入公式看数值是否符合展开结果。数值验算比符号验算更直观。5.4 画波特图时右半平面零点处理错误普通的左半平面零点会引起增益上升相位超前右半平面零点同样会让增益上升但相位是滞后。很多人在画 6.8(a) 的波特图时把零点当成左半平面的来画结果相位曲线完全错掉。正确画法是在零点频率 fz gm / (2π*Cgd) 处幅频曲线斜率增加 20dB/dec但相频曲线继续下降 45 度在十倍频程后下降接近 90 度。也就是说这个零点不会像普通零点那样把相位往回升而是让相位更负。如果零点频率远高于第二个极点那波特图上的零点可能出现在第二个极点之后最终斜率是 -20dB/dec但因为零点的作用在零点到第二个极点之间的区间斜率可能被拉平。画图前要把 fz、p1、p2 的相对大小先估算出来再决定转折点的先后顺序。5.5 如果推不出结果回到原始电路重新画模型有些同学在推导中途卡住会选择硬凑公式这不可取。我踩过几次坑以后发现90% 的推导问题都出在等效电路本身画错了而不是代数运算能力不够。这时候建议做一次“归零检查”把所以电容全部替换成开路看直流等效电路是否正确把 Cgd 设为 0看看是否退化成两个独立极点把输出端短接到地看看前馈零点是否还存在。做完这三步基本能定位是模型问题、方程问题还是整理问题。最后说一点Razavi 教材的习题 6.8(a) 只是频率响应章节的起点。它真正的意义不是让你背下那个传输函数而是让你熟练掌握“列节点方程 - 消元 - 整理 - 检验”这套流程。在这个流程里最值得花时间的不是最终公式而是每一步的物理判断Cgd 为什么会产生右半平面零点RS 为什么会影响输入极点输出电容为什么直接决定第二个极点位置把这些想清楚后面再做源跟随器、共栅级、Cascode 的习题会发现只是换了一个拓扑分析方法完全一致。如果你手里的 6.8(a) 电路和上面这个共源级不一样建议不要急着找现成答案先按这套流程自己推一遍。推完以后再对比 Razavi 书上的参考解答你会比直接看答案收获大得多。