搭建测试电路:NMOS与PMOS的DC Sweep测试电路结构

好,咱们进入实操环节。前面聊了那么多理论,现在得真刀真枪搭电路了。我刚开始学仿真那会儿,总觉得电路图嘛,连上就行。结果呢?跑出来的曲线怎么看怎么不对劲。后来才发现,电压源和电流源的接法,一个脚错了,整个特性曲线就全歪了。

这一节,咱们就把NMOS和PMOS的DC Sweep测试电路彻底讲透。你照着搭,保证一次跑出漂亮的曲线。

NMOS测试电路:源端接地,栅压与漏压分开扫

NMOS的测试电路,说白了就一个原则:源极接地。这是所有NMOS仿真的基础。

我习惯把电路拆成三部分来看:

  • 栅极驱动回路:一个电压源VGS,正极接栅极,负极接地。用来控制MOS管的开启程度。
  • 漏极供电回路:另一个电压源VDS,正极接漏极,负极接地。用来提供漏-源之间的电压。
  • 公共参考点:源极直接连到地(GND)。

你想想看,这样接的好处是什么?VGS和VDS的参考点都是地,仿真器计算起来特别干净,不会出现浮地或者参考点混乱的问题。

关键接法口诀:NMOS源极接地,栅压VGS从0扫到VDD,漏压VDS从0扫到VDD。两个电压源共地。

具体到DC Sweep的设置,我一般这样配:

电压源 接法 扫描方式 典型范围
VGS 正极→栅极,负极→GND 线性扫描(主扫描) 0V → 1.8V,步长0.1V
VDS 正极→漏极,负极→GND 线性扫描(嵌套扫描) 0V → 1.8V,步长0.05V

这里有个坑,我踩过。VDS的步长不能太大。你想想,MOS管在饱和区之前,漏电流随VDS变化特别剧烈。步长设成0.2V,线性区的曲线就变成折线了,根本看不出平滑过渡。我建议VDS步长至少是VGS步长的一半。

PMOS测试电路:源端接VDD,电压极性全反过来

PMOS和NMOS,说白了就是一对镜像。但很多新手在这里栽跟头——直接把NMOS的电路照搬,把管子换成PMOS就完事了。结果跑出来的曲线,电流方向全是反的。

PMOS的正确接法,记住一句话:源极接VDD,电压极性取反。

具体来说:

  • 源极:接最高电位VDD,而不是接地。
  • 栅极:电压源VSG的正极接源极(VDD),负极接栅极。这样VSG = VDD - VG,是正值。
  • 漏极:电压源VSD的正极接源极(VDD),负极接漏极。这样VSD = VDD - VD,也是正值。

嗯,这里要注意。PMOS的栅源电压VSG和漏源电压VSD,定义方式和NMOS正好相反。NMOS是VGS和VDS,PMOS是VSG和VSD。很多仿真器里,你直接设VGS为负值也能跑,但我个人习惯用VSG和VSD,这样扫出来的曲线,横坐标全是正数,看着舒服,也方便和NMOS对比。

警告:PMOS的衬底(Bulk)必须接VDD,不能接地。衬底接错,MOS管会进入寄生BJT导通模式,仿真结果完全错误。我见过有人因为这个错误,跑出来的Id-Vd曲线在饱和区居然往上翘,查了半天才发现是衬底没接对。

电流源的正确接法:测电流,别串电阻

好,电压源接完了。电流怎么测?

最简单的办法,在漏极回路里串一个电流表。但仿真器里没有电流表这个元件。怎么办?

我常用的方法有两种:

  1. 直接测电压源电流:仿真器可以输出每个电压源支路的电流。你只要在仿真设置里勾上"Save Device Current",跑完直接看IVS(VDS)或者IVS(VGS)就行。这是最省事的办法。
  2. 用零值电压源做电流传感器:在漏极和VDS之间串一个0V的电压源VMEAS。仿真器会计算VMEAS的电流,这个电流就是漏极电流Id。为什么要多此一举?因为有些老版本的仿真器,直接测电压源电流会报错。加个零值电压源,相当于一个理想的电流表,不影响电路工作。

小技巧:我个人习惯用第二种方法。虽然多了一步,但电路结构更清晰。而且,零值电压源的名字可以起成Id_meas,波形图里一眼就能找到。你试试看,比在一堆VGS、VDS的电流里翻找方便多了。

完整的测试电路结构图

下面这张SVG图,把NMOS和PMOS的完整测试电路画在一起了。你对照着搭,不会错。

NMOS与PMOS DC Sweep测试电路结构 NMOS与PMOS DC Sweep测试电路结构 NMOS 测试电路 VGS VDS NMOS G: 栅极 D: 漏极 S: 源极 B: 衬底→GND GND PMOS 测试电路 VSG VSD PMOS G: 栅极 D: 漏极 S: 源极→VDD B: 衬底→VDD VDD 关键区别:NMOS源极接地,PMOS源极接VDD;电压极性定义相反

仿真设置:两步扫描,先主后次

电路搭好了,接下来就是仿真设置。DC Sweep支持嵌套扫描,也就是一个主变量,一个从变量。

我一般这样设:

  • 主扫描(Sweep Variable 1):VGS(NMOS)或VSG(PMOS)。从0扫到VDD,步长0.1V。为什么主扫栅压?因为我们要看不同栅压下,漏电流随漏压的变化。栅压是"控制变量"。
  • 从扫描(Sweep Variable 2):VDS(NMOS)或VSD(PMOS)。从0扫到VDD,步长0.05V。漏压是"观测变量"。

举个例子,VDD=1.8V,NMOS的扫描设置:

DC sweep:
  Sweep variable 1: VGS
    Start: 0V
    Stop: 1.8V
    Step: 0.1V
  Sweep variable 2: VDS
    Start: 0V
    Stop: 1.8V
    Step: 0.05V

这样跑完,你会得到19条(VGS从0到1.8V,每0.1V一条)Id-Vds曲线。每条曲线有37个点(VDS从0到1.8V,每0.05V一个)。总共703个仿真点,足够画出平滑的特性曲线了。

经验之谈:如果你只是想快速验证电路功能,步长可以设大一点,比如VGS步长0.2V,VDS步长0.1V。但如果是做模型提取或者匹配设计,步长必须足够细。我做过一个项目,需要提取MOS管的Early电压,VDS步长设到0.01V才够用。仿真时间长了点,但数据质量完全不一样。

避坑指南:我踩过的三个雷

最后,分享几个我实际项目中遇到的坑,你遇到了直接绕过去:

  1. 电压源极性接反:PMOS的VSG和VSD,正极一定要接源极(VDD),负极接栅极/漏极。接反了,仿真器会报"电压源负值"警告,但不会报错。你看着波形图里电流是负的,还以为管子坏了。其实,把波形图的Y轴取绝对值就行,但何必给自己找麻烦呢?
  2. 衬底浮空:MOS管的衬底(Bulk)必须接固定电位。NMOS接地,PMOS接VDD。浮空的衬底会导致阈值电压漂移,仿真结果完全不可信。我记得有一次,一个同事的仿真结果,NMOS的阈值电压只有0.2V,正常应该是0.5V左右。查了半天,发现衬底没接。
  3. 电流测量点选错:如果你用零值电压源测电流,一定要把它串在漏极和VDS之间,而不是串在源极和地之间。串在源极测到的是源极电流,和漏极电流差了一个栅极电流(虽然很小,但严格来说不对)。