本节摘要:系统级仿真里动辄几十个运放,逐管级建模既慢又不现实——厂商也不愿公开晶体管网表。解决方案是宏模型:用受控源与简单元件拼出"端子行为一致"的替身。本节用四个数字(直流增益、增益带宽积、输出电阻、压摆率)手搓一个运放宏模型,并逐项验证。
一颗商用运放的完整晶体管网表包含上百个器件与厂商的核心工艺参数,属于商业机密;就算拿到手,放进一个带几十个运放的系统网表里,仿真时间也会膨胀到不可用。宏模型的思路是降维:端子上看不出区别,内部装什么不重要。系统仿真关心的是运放的外特性——开环增益多高、带宽多宽、驱动多大负载、压摆率多少——这些恰好是数据手册首页的四个数字。宏模型把这些数字翻译成十几行网表,仿真速度提升两个数量级,系统级结论几乎不变。
代价要说清楚:宏模型牺牲了内部细节。输入失调的实际分布、噪声底、电源抑制的具体曲线,宏模型要么给不出、要么给的是理想值。用宏模型做完系统方案,关键通道仍要用晶体管级模型复验——两级的分工,正如前仿与后仿。
宏模型的砖块是受控源。回顾第 2 章的首字母表:E 是电压控制电压源,G 是电压控制电流源,F 是电流控制电流源,H 是电流控制电压源。现代方言又加了任意行为源 B(ngspice 系),允许直接写表达式甚至拉普拉斯传递函数:
| 前缀 | 类型 | 一句话用途 |
|---|---|---|
| E | 压控电压源 | 隔离缓冲、固定增益级 |
| G | 压控电流源 | 跨导级,配电容变积分器 |
| F、H | 电流控源 | 检流放大、镜像行为 |
| B | 任意源 | 表达式、表格、传递函数 |
有了它们,任何能用方程描述的行为都能进网表——这正是"行为级建模"名字的由来。它把建模自由度从"器件参数"提升到"任意方程",是连接电路与数学的桥。
目标规格取自一款经典通用运放的数据手册:直流开环增益一百分贝(十万倍)、增益带宽积一兆赫、输出电阻一百欧、压摆率每微秒零点五伏。宏模型分四级搭建:
* 通用运放宏模型:A0=100dB GBW=1MHz Rout=100 SR=0.5V/us .SUBCKT OPAMP1 vp vn out RIN vp vn 1MEG G1 0 n1 vp vn 1m R1 n1 0 100MEG C1 n1 0 159p E1 n2 0 n1 0 1 ROUT n2 out 100 .ENDS
逐行拆解设计数学。RIN 模拟差分输入阻抗。G1 是核心:把差分输入电压变成一毫安每伏的电流,灌进 n1 节点。C1 与 R1 并联构成积分器:节点 n1 的电压等于输入电流除以导纳,直流增益为 gm 乘 R1,即一毫西乘一百兆欧,恰为十万倍、一百分贝;极点频率为一除以二派 R1C1,约十赫兹;继续算高频,增益按每十倍频负二十分贝滚降,与横轴交点为 gm 除以二派 C1,恰约一兆赫——GBW 一兆赫就这样被 gm 与 C1 的比值精确编码。E1 做单位增益缓冲隔离,ROUT 给出输出阻抗。四行数字,四个规格,一行不多。
压摆率的处理是进阶内容:积分电容的充放电电流上限决定压摆率,即 Imax 除以 C1。要把零点五伏每微秒编码进去,需给 G1 加电流限幅——经典做法是在输入级并联二极管对与恒流源(著名的 Boyle 结构),让大信号下注入电容的电流被钳在约八十微安,零点五伏每微秒与一百五十九皮法之比正好兑现。基础版宏模型不含这一级时,大信号阶跃会"超速",读瞬态结果前先想清楚你的模型有没有装这道闸。

宏模型写完必须验证,两笔账当场对清。第一笔交流账:输入短接一侧、另一侧加 AC 一伏,跑开环 .AC,读直流段增益应为一百分贝、极点在十赫兹、过零分贝点在一兆赫:
VIN in 0 AC 1 X1 in 0 out OPAMP1 RL out 0 10MEG .AC DEC 20 1 100MEG .MEAS AC gdc FIND VDB(out) AT=1 .MEAS AC funity WHEN VDB(out)=0 FALL=1 .END
第二笔瞬态账:接成单位增益跟随器,输入一伏阶跃,输出应以每微秒零点五伏的斜率爬升、约两微秒到达终值(基础版无压摆率限制时输出直接跳变——这恰好反过来帮你确认模型里装没装限流级)。两条曲线都对上了,宏模型才能进系统网表服役。
💡 现代工具链已经把行为建模推到了更高一层:模拟行为描述语言允许用方程与事件混合描述模拟数字边界,数模混合仿真的桥梁正是架在这里。但万变不离其宗——先把"端子行为等价"这件事用受控源做对,再去碰更高级的语言,学习顺序不可倒置。
模型世界到此完整。下一章换个视角:仿真器拿到这些网表后,内部究竟在做怎样的数学。
看决策阶段。方案探索与系统联调,宏模型的快是压倒性优势——几十个运放的系统里,宏模型让仿真时间从小时级降到分钟级;到了通道级签核,厂商模型(尤其带噪声、失调、电源抑制细节的)才是合规依据。两条线的读数会在带宽与增益上一致、在噪声与失调上分道——这个"哪里一致哪里分道"本身就是判断模型覆盖面的方法。
平滑线性行为用传递函数或拉普拉斯表达式最紧凑,比如一个二阶低通的极点对;不规则特性用表格(逐点定义输入输出映射)最直接,比如传感器的非线性标定曲线。两者可以混搭:表格管静态非线性,传递函数管动态响应。写完都别忘了一件事——在关心区间外定义表格的边界行为,避免外推时仿真器给出意外值。
许多简化模型只在输入级放了线性跨导,没有大信号电流限幅,阶跃响应快得物理上不可能。识别方法很简单:给单位增益跟随器灌一个满摆幅阶跃,看输出爬升斜率是否恒定且与数据手册一致;斜率明显偏快,就说明模型缺限幅级。要么换带压摆率建模的宏模型,要么在系统仿真结论里明确标注"瞬态大信号行为未建模"。
三个触发条件:信号路径的关键指标与内部节点相关(噪声、失调、稳定性);宏模型在关心工况下与厂商模型出现不可解释的分歧;以及准备签核交付。经验值是"宏模型定方案,晶体管级定结论"——两者衔接处做一次交叉验证,把增益带宽两条曲线叠在一起看,一致了再切换口径。