3. 双极型晶体管与二极管模型

Bandgap基准的核心机理,是把一个具有负温度系数的 PN 结电压与一个具有正温度系数的热电压项按权重相加,从而在某一温度附近得到近似零温漂的输出。因此,能否把双极型晶体管(BJT)与二极管的模型用对、把 VBE 的温度行为看清楚,直接决定了基准电路的仿真结果是否可信。本节围绕 Virtuoso 中 BJT 模型的调用方式、VBE 的温度特性、饱和电流 IS 与理想因子 N 的作用,以及工艺角与温度扫描的设置展开。

一、Virtuoso 中 BJT 模型的调用方式

在 Cadence Virtuoso 的 ADE 环境中,BJT 并不是一个“自带物理模型”的器件,而是通过模型库文件把符号(symbol)与具体的 SPICE 模型卡绑定。常用做法是在原理图中放置 npn 或 pnp 符号(来自 analogLib 或工艺库),然后在其属性中指定 model name,例如 npn_10x10,并在 ADE 的 Model Libraries 中加载对应的 .scs(Spectre)或 .lib(HSPICE)文件。

以 Spectre 语法为例,一个典型的模型卡片段如下:

section npn
model npn_10x10 bjt type=npn is=1e-16 bf=200 vaf=80 \
+ ikf=1e-3 ise=1e-15 ne=1.5 br=10 rb=200 re=5 rc=50
endsection

其中 is 为饱和电流,bf 为正向电流增益,vaf 为正向 Early 电压,ise 与 ne 描述基极-发射极复合电流。调用时需注意三点:一是符号的 model 字段必须与模型卡中的名字完全一致;二是多指(multi-finger)或并联结构要通过 m 参数或面积因子 area 体现,而不是简单复制多个符号;三是模型库的 section 要与工艺角(tt/ff/ss)对应,否则扫描结果没有意义。

二、基极-发射极电压的温度特性

对于正向偏置的 BJT,集电极电流可写为

IC = IS · exp(VBE / (N · VT))

其中 VT = kT/q 为热电压,室温下约 25.85 mV。反解得到

VBE = N · VT · ln(IC / IS)

由于 IS 随温度强烈增大(近似正比于 T3 并含 exp(-Eg/kT) 项),而 VT 只线性增大,两者竞争的结果是:在固定 IC 下,VBE 随温度升高而下降,典型值约为 −1.5 mV/℃ 到 −2 mV/℃。这个负温度系数正是 bandgap 中“负温项”的来源。

在 Virtuoso 中观察这一特性,最直接的方式是做 DC 温度扫描:固定 IC(例如用理想电流源注入 10 µA),令温度从 −40 ℃ 扫到 125 ℃,绘制 VBE 曲线。若曲线斜率明显偏离 −1.5~−2 mV/℃,应检查模型卡的 eg、xti 参数是否被正确设置。

三、饱和电流与理想因子的影响

IS 决定 VBE 的绝对水平。IS 每增大 10 倍,VBE 约下降 N·VT·ln(10) ≈ 60 mV(N=1 时)。在 bandgap 中,两个 BJT 的 IS 之比决定了 ΔVBE 的大小,因此版图面积比(如 1:8)必须与模型中的面积因子一致。

理想因子 N 反映 PN 结偏离理想指数关系的程度。当基极电流中复合分量占比较大时,N 会大于 1,典型值为 1.0~1.2。N 增大会使 VBE 对 ln(IC) 的斜率变大,也会改变 ΔVBE 的温度系数。在仿真中可通过扫描 IC 并拟合 VBE-ln(IC) 直线的斜率来提取 N:斜率等于 N·VT。

若仿真得到的 VBE 比预期低很多,优先检查 area 是否被误设为默认值 1,以及模型卡中 is 的单位(Spectre 中为 A,部分库文件用 A/µm²)。

四、工艺角与温度扫描设置

Bandgap 的温漂和绝对电压对工艺角敏感。在 ADE 中通常需要同时扫描:工艺角(tt、ff、ss、fs、sf)与温度(−40 ℃~125 ℃)。设置方法是在 ADE 的 Corners 工具中定义各 corner 对应的 model section,再在 DC 分析中启用 Temperature Sweep,步长建议 5 ℃ 或 10 ℃,以便观察曲率。

判断结果是否合格,主要看三点:一是输出电压在温度范围内的最大值与最小值之差(即温漂);二是输出电压在室温附近的绝对值是否落在目标窗口内;三是不同工艺角下曲线是否保持单调、无异常拐点。若某 corner 下曲线出现明显上翘或下弯,往往说明该 corner 的 IS 或 N 与标称值差异较大,需要回到模型卡核对。

BJT 模型调用与 V_BE 温度特性仿真链路 模型调用 符号:npn / pnp model name:npn_10x10 area / m:面积因子 Model Libraries:.scs section:tt / ff / ss 关键模型参数 I_S:饱和电流 N / NF:理想因子 BF:正向电流增益 VAF:Early 电压 EG / XTI:温度指数 ADE 仿真设置 DC 分析:I_C 固定 Temperature Sweep −40 ℃ ~ 125 ℃ Corners:tt/ff/ss 步长:5 ℃ / 10 ℃ V_BE 温度特性与工艺角对比(示意) 温度 T (℃) V_BE (V) −40 0 27 85 125 0.55 0.65 0.75 0.85 tt ff ss ≈ −1.8 mV/℃ 固定 I_C 下 V_BE 随温度下降;不同工艺角曲线整体平移,斜率相近

上图把“模型调用—参数—仿真设置—结果判读”串成一条链路:左侧决定器件身份,中间决定 VBE 的定量行为,右侧决定扫描条件,下方则给出三种工艺角下 VBE 随温度下降的示意曲线。实际仿真中,tt 曲线通常位于中间,ff 因 IS 偏大而整体偏低,ss 则偏高,但三者斜率接近,这正是 bandgap 能够通过 ΔVBE 抵消一阶温漂的前提。

五、实操检查清单

检查项 正确做法 常见错误
模型名绑定 符号 model 字段与 .scs 中 model 名一致 大小写不一致或漏加载库
面积因子 用 area 或 m 体现 1:8 比例 复制 8 个符号但未设 area
I_S 单位 确认 Spectre 用 A,部分库用 A/µm² 直接套用导致 V_BE 偏差 100 mV 以上
理想因子 N 通过 V_BE-ln(I_C) 斜率提取 默认 N=1 忽略复合电流
温度扫描 −40 ℃~125 ℃,步长 5 ℃ 只扫 0~100 ℃ 漏掉低温拐点
工艺角 至少覆盖 tt/ff/ss 三档 只跑 tt 就判定温漂合格