2.2 控制语句与选项:.OPTIONS 与波形输出


2.2 控制语句与选项:.OPTIONS 与波形输出

本节摘要:.OPTIONS 是仿真器的控制面板:相对精度、绝对容差、迭代预算都由它调节;.PRINT 与 .MEASURE 负责把结果整理成表格和标量读数。本节给出常用选项的默认值与调整手法,并用一个上升时间测量的完整例子演示"让仿真器自己报答案"的工作方式。

三个精度旋钮

仿真本质上是数值求解,"多准才算准"必须有明确的标尺,这个标尺就是 .OPTIONS 下的三个容差参数。RELTOL 是相对容差,默认 1e-3,含义是两次迭代之间电压或电流的相对变化小于千分之一即视为收敛;ABSTOL 是电流绝对容差,默认 1e-12 安,负责兜住那些接近零的电流;VNTOL 是电压绝对容差,默认 1e-6 伏。三者配合的判定逻辑是:相对变化与绝对容差先各判一次,任一满足即认为该变量收敛——这样既有相对量级的公平,又避免微小信号被相对判据"卡死"。

多数情况下默认值就是好选择。真正需要动手的场景有两类:一是做低频高增益的精密电路(比如斩波稳零放大器),毫伏级信号也要可信,可以把 RELTOL 收紧到 1e-5 甚至 1e-6;二是仿真速度太慢、且确认精度过剩时,把 RELTOL 放宽到 1e-2 换取明显提速。收紧精度必然增加迭代次数与时间步数,运行时间可能翻倍——精度与速度这笔账,工程师每天都要算。

* 精密仿真选项示例 .OPTIONS RELTOL=1e-5 ABSTOL=1e-15 VNTOL=1e-8

迭代预算:ITL1 与 ITL4

容差回答"多准算收敛",迭代预算回答"最多试多少次"。ITL1 规定直流工作点与 DC 扫描每个点的迭代上限,默认一百次;ITL4 规定瞬态分析每个时间步的迭代上限,默认十次。超出预算时仿真器要么直接宣布直流不收敛,要么在瞬态里缩小时间步重试,步长缩到下限仍不收敛就抛出 Timestep too small——第 6 章的主角。

调大预算是应对"边缘收敛"的第一手段:把 ITL1 提到五百、ITL4 提到五十,等于给求解器更多耐心,很多"假性不收敛"会自动过关,代价只是慢一点。看一个典型配置:

* 放宽迭代预算,配合收紧精度 .OPTIONS RELTOL=1e-4 ITL1=500 ITL4=40 GMIN=1e-11

这里的 GMIN 是并联在每个 PN 结上的最小电导,默认 1e-12 西门子,作用是防止结截止时矩阵出现数值黑洞,第 6 章还会回来讲它。其他常用选项还有 TNOM(器件参数的标定温度,默认二十七摄氏度)、TEMP(本次仿真温度)、METHOD(瞬态积分方法,trap 或 gear 二选一)。它们的出现频率不如上面几个,但排查疑难杂症时都值得翻牌。

从波形到数字:.PRINT 与 .MEASURE

分析跑完,答案先以波形形式存在。.PRINT 把选定变量打成文本表格,适合精确读数;图形界面工具则用探针交互查看,本质相同。但工程报告里需要的往往不是"一条曲线",而是"一个数":上升沿多少纳秒、过冲百分之几、增益多少分贝。这件事交给 .MEASURE:

* 测量 RC 低通的上升时间 V1 in 0 PULSE(0 1 0 1n 1n 5u 10u) R1 in out 1k C1 out 0 100p .TRAN 20n 30u .MEAS TRAN vlow FIND V(out) AT=9u .MEAS TRAN vhigh FIND V(out) AT=19u .MEAS TRAN trise TRIG V(out) VAL=0.1 RISE=1 + TARG V(out) VAL=0.9 RISE=1 .PRINT TRAN V(out) .END

三条 .MEAS 各司其职:前两条在指定时刻直接抓取电压;第三条定义触发——输出第一次从百分之十爬到百分之九十的经历,测的正是经典定义下的上升时间。MADE 对应输出大致如下:

vlow = 1.662e-06 at= 9.000000e-06 vhigh = 9.999982e-01 at= 1.200000e-05 trise = 2.197224e-07

读数与理论对得上:一阶 RC 电路的百分之十到百分之九十上升时间是 2.2 倍时间常数,这里时间常数是一千欧乘一百皮法,等于一百纳秒即零点一微秒,理论上升时间零点二二微秒,仿真给出的 0.2197 微秒分毫不差。让仿真器自己量,而不是人眼从图上估,这是把仿真结果写进报告前必须养成的习惯——人眼读图的误差常在几个百分点,而 .MEASURE 给出的是求解器精度的读数。

⚠️ 一个容易被忽略的细节:.MEASURE 在批处理模式下必然生效;在部分工具的图形模式下需要显式开启测量报告,否则语句被静默忽略,你会误以为"仿真器没量"。跑完先在输出里搜测量结果的关键字,确认它真的执行了。

本节要点回顾

  • 精度三旋钮:RELTOL 管相对、ABSTOL 管电流绝对、VNTOL 管电压绝对,默认组合适配大多数场景。
  • 迭代预算:ITL1 管直流、ITL4 管瞬态步内迭代,调大是应对边缘收敛的第一手段。
  • GMIN 兜底:给 PN 结并联的最小电导,防矩阵病态,排错时可用。
  • .MEASURE 优先:能用测量语句拿数字就别用眼睛读图,报告级数据必须来自求解器。

至此电路已经能"写对、调准",还差"喂对信号"。下一节把五类常用激励源的写法一次讲透。

问题:选项写多了会不会拖慢仿真

会,而且不同选项的代价差异极大。RELTOOL 收紧一个数量级,迭代轮数与时间步数明显上涨,运行时间可能翻倍到数倍;ITL1 加大只影响"卡住时"的上限,电路顺利收敛时几乎零开销;GMIN 这类结构性参数则要保持默认,轻易别动。原则是:为可证明的需求付费——先跑默认值发现问题,再有针对性地调单一代价最小的选项。

问题:输出变量 VDB、VP 这些名字从哪记

前缀看量纲、后缀看变换:V、I 是电压电流,DB 是分贝幅度,P 是相位(度),M 是幅度,R 是实部,I 后缀在括号里才是虚部——不同方言细节略有差异,但"变量加变换"的构词逻辑一致。常用组合就五六个:V()、I()、VDB()、VP()、VM(),把它们当作阅读频域报告的最小词汇表即可。

问题:.MEASURE 支持哪些统计量

常见全家福包括:FIND 在指定点取值、MAX 与 MIN 抓极值、PP 算峰峰值、AVG 与 RMS 算平均与均方根、INTEGRAL 做积分、WHEN 与 TRIG 或 TARG 组合做过阈检测。把这几件组合起来,增益、带宽、上升时间、纹波、功耗五类常规报告项全部能自动产出——第 2 章学它的投入,会在第 3 章之后的每个实验里回本。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U