
简介围绕 Sentaurus 器件仿真常用语句整理的 docx 文档面向微电子、纳米电子与光电子器件方向的学生和科研人员重点解决 I-V、C-V 曲线计算、辐照损伤及重粒子入射、瞬态过程等仿真场景中的语句组织与参数配置问题适合课程设计、论文复现与课题建模时查阅也可作为入门及中高级仿真参考。压缩包仅含 1 个 docx 文件约 16KB内容以示例语句、物理模型、求解与绘图参数为主便于按仿真类型快速定位。已有 2038 人学习下载说明其在相关课程实验和课题建模中有一定使用基础。读者可获得 I-V/C-V 扫描、AC 耦合、重离子撞击、激光照明瞬态等典型模块的写法参考理解 File、Physics、Math、Solve 等语句段的配合关系并借此梳理仿真输入文件的组织逻辑与物理量输出设置用于搭建和调试自己的 Sentaurus 仿真流程。1. 先给结论Sentaurus 跑崩多半不是模型选错而是求解路径写错了很多人第一次改 Sentaurus 的 sdevice 命令文件注意力全在 Physics 段迁移率模型够不够全、要不要加 Auger、雪崩用哪个。可真正让任务在半夜挂掉的往往是 Solve 段那几十行——先解泊松还是先解电子空穴、准静态步长上限给多大、牛顿法前几十次要不要阻尼、什么时候该主动刹车。同一套 Physics换个耦合顺序一个稳稳跑到击穿一个第二步就发散这在 TCAD 里不算玄学是求解器的数学性质决定的。这份语句集的价值正在这里I-V 扫描、C-V 小信号、重离子入射、激光瞬态、辐照陷阱五类场景的完整命令串摆在一起能横向比对同一个求解器在不同激励下被怎么调用。搞懂语句背后求解器在解什么方程比背模型名有用得多。2. 器件描述层File、Electrode、Physics 的顺序是有讲究的sdevice 命令文件不是配置文件它是一份从器件定义到求解调用的完整程序。顶部三个段落的排列顺序对应求解器初始化的三个阶段读网格、绑电极、装配方程组。顺序写反不是语法错误而是语义错误——电极名在 Electrode 段才被登记Physics 段里若引用电气接触相关的边界条件就会找不到对象。2.1 File 段的四个文件一个是输入三个是输出File { Grid Diode_msh.tdr # 输入网格 掺杂剖面由 mesher 产出 Current Diode_IV.plt # 输出电极电流/电压随扫描步的变化 Plot Diode_IV.tdr # 输出各节点场量分布给可视化工具看 Output Diode_IV.log # 输出求解日志收敛失败的证据全在这 } Electrode { { NameElectrodeN Voltage 0.0 } }Grid 是唯一的输入其余三个都是产物。Current 文件只存标量曲线——每个求解步一行电极名、电压、电流、时间Plot 文件存的是全网格场量体积通常是 plt 的几十倍所以能少存就少存。Output 日志最容易被忽略但牛顿迭代每一步的残差、步长被砍到什么程度、有没有触发 break criteria全在里面。仿真不收敛时先翻 log 再看语句能省掉一半盲目试错。Electrode 段里给的是初始偏压不是最终偏压。真正扫到多少伏由 Solve 段的 Goal 决定。这里写Voltage 0.0表示零偏起始配合后面的准静态扫描才有意义。电极名必须与网格文件里的接触名完全一致差一个字符就会报contact not found这是新手最常翻的车之一。2.2 Physics 段的模型不是勾选清单而是彼此咬合的方程组Physics { AreaFactor 1 Temperature 300 Mobility ( DopingDependence eHighFieldSaturation hHighFieldSaturation Enormal CarrierCarrierScattering ) Recombination ( SRH (DopingDependence) Auger (withGeneration) Avalanche (UniBo Eparallel) Band2Band (Hurkx) ) EffectiveIntrinsicDensity (OldSlotboom) }AreaFactor 是把二维截面结果折算成三维器件电流的系数。二维仿真算的是单位深度上的电流若器件实际有 100 μm 宽度这里就得给 100否则 I-V 曲线的绝对值会差两个数量级——很多人对不上实测数据问题就出在这个无量纲的系数上。Temperature 影响本征载流子浓度和热电压300 表示室温做高温特性时它是全局开关。Mobility 里四个开关各管一段物理DopingDependence 让迁移率随掺杂浓度下降高掺杂区尤其明显eHighFieldSaturation 和 hHighFieldSaturation 分别是电子、空穴的速度饱和反偏高场区没有它就是线性欧姆行为击穿特性完全不对Enormal 处理界面法向电场引起的迁移率退化MOS 结构必需纯二极管可以不要CarrierCarrierScattering 是载流子间散射高注入下才显著。Recombination 这组更讲究耦合。SRH 带 DopingDependence是因为少子寿命本身随掺杂变化固定寿命在高低压区都对不上Auger 加了 withGeneration意味着除了复合还要考虑高场下的碰撞产生反偏深耗尽区如果只开复合项漏电流会被低估Avalanche 用 UniBo 模型并限定 Eparallel只用驱动力的电场平行分量计算电离积分避免在结的横向拐角处误触发雪崩Band2Band 用 Hurkx 模型处理高场下的隧穿产生它是窄带隙器件反偏漏电的主要来源。EffectiveIntrinsicDensity 选择 OldSlotboom 值得单独说。禁带变窄效应会抬高本征载流子浓度重掺杂发射区尤其明显。常见的实现思路里新版 Slotboom 公式在高掺杂梯度处会解出非物理的负浓度导致牛顿迭代直接崩掉OldSlotboom 是老公式精度略低但数值上更保守。这是一个典型的取舍精度让位于收敛尤其是在没时间调参的工程扫描里。2.3 Traps 与界面电荷辐照损伤怎么落进 PhysicsPhysics (materialSilicon) { Traps ( (Acceptor Level EnergyMid0.42 fromCondBand Conc2.3226E15 Randomize0.29 eXsection9.5E-15 hXsection9.5E-14) # Conc ≈ 注量 × 1.1613 (Acceptor Level EnergyMid0.46 fromCondBand Conc1.8E15 Randomize0.23 eXsection5E-15 hXsection5E-14) # Conc ≈ 注量 × 0.9 (Donor Level EnergyMid0.36 fromValBand Conc1.8E15 Randomize0.31 eXsection3.23E-13 hXsection3.23E-14) ) } Physics (MaterialInterfaceOxide/Silicon) { Charge (Conc1.5e11) # 界面固定电荷单位 cm^-2 }三段陷阱分别是两个受主型、一个施主型。EnergyMid 的参照系由 fromCondBand 或 fromValBand 决定0.42 eV 从导带算起是深能级受主0.36 eV 从价带算起是施主型——施主型陷阱在电离后带正电受主型带负电两者对耗尽区电场的贡献方向相反所以辐照损伤建模从来不是只加一种。Conc 的来源写在注释里注量乘引入率。这意味着如果辐照注量翻倍三个 Conc 必须同步缩放漏改一个就会得到一条半新半旧的损伤曲线。Randomize 是能级在空间上的高斯抖动单位是 eV作用是把均匀分布的陷阱打散成局部的离散分布。不加这个参数整个器件退化成理想均匀陷阱瞬态收集电流的拖尾会异常平滑与实测的随机性对不上。eXsection 与 hXsection 的差异也值得看一眼第一个受主陷阱电子截面 9.5e-15、空穴截面 9.5e-14差近一个数量级说明空穴俘获更快直接改变了有效少子寿命和复合率。截面单位是 cm²量级写错比如写成 m²会让陷阱要么完全不起作用要么把载流子瞬间吞光。注意Traps 里的 Conc 是体浓度的峰值叠加 Randomize 后局部值有统计分布实际陷阱总量要空间积分确认不能直接拿 Conc 乘体积。3. Solve 段的牛顿迭代剧本顺序比模型更决定收敛器件描述完求解器面对的是一个几万到几十万未知量的非线性方程组。sdevice 不会一次性把所有方程丢进去解它给的是一份分级剧本先解最鲁棒的泊松方程再逐步把载流子加进来。这份剧本的写法直接决定同一个器件是三步收敛还是三百步发散。3.1 从 Poisson 到三方程全耦合为什么不能一步到位Solve { Coupled (Iterations50) { Poisson } # 零偏只解静电势 Coupled (Iterations15) { Hole Poisson } # 掺入空穴连续性 Coupled (Iterations15) { Electron Hole Poisson } # 三方程全耦合得到初始工作点 QuasiStationary ( InitialStep 1e-6 MaxStep 0.01 MinStep 1e-9 Goal { NameElectrodeN Voltage1000 } Plot { Range (0 1) Intervals2 } ) { Coupled { Hole Electron Poisson } } }前三条 Coupled 是递进式的初始化。零偏下没有电流静电势可以单独解泊松方程是单调的几乎必收敛第二步把空穴连续性方程加进来未知量翻倍但空穴在 N 型衬底里是少子方程弱耦合好解第三步才是电子空穴泊松全耦合。跳过前两步直接全耦合初值全是零牛顿法第一步雅可比矩阵的条件数就很差很容易在零偏就报iteration limit reached。三次 Coupled 的 Iterations 上限也不一样解泊松给 50 次因为初值最粗糙后两步只给 15 次因为已经站在近似解上。这个差异化设置是血泪经验统一给 15 次会让第一步不够用统一给 50 次又会让后面两步在发散的路径上白跑几十轮。3.2 QuasiStationary 的四个步长参数各管什么准静态扫描本质是把电压当连续变量用自适应步长往下走。InitialStep1e-6 是第一步电压增量单位伏MaxStep0.01 是允许的最大增量MinStep1e-9 是缩到多小就放弃并报错。这四个参数里最容易出事的是 MaxStep。Goal 是 1000 VMaxStep 给 0.01 V意味着至少要走十万步。每一步都要装配并求解一次三方程雅可比几万未知量的规模下这不是一夜能跑完的量。合理的给法是把目标电压除以期望步数想 1000 V 走一千步MaxStep 就是 1。扫描到高反偏时电流跨量级变化步长自适应会自动砍下来不需要人为把上限压得太死。MinStep 是保命参数。当器件接近击穿、电流指数上升时自适应会不断砍步长一旦低于 MinStep 就终止并报step size too small。它和 BreakCriteria 是两个互补的刹车——前者是解不动了停后者是解到目标了停。Plot { Range (0 1) Intervals2 }里的 0 和 1 不是电压值是扫描进度的归一化位置表示在 0% 和 100% 处各存一次场分布。误以为它是电压区间就会得到只在 0 V 和 1 V 存了图的困惑结果。3.3 Notdamped、Iterations 与 BreakCriteria 组成的三道闸Math { Number_of_threads 4 Stacksize Extrapolate Derivatives AvalDerivatives RelErrControl Iterations 15 Notdamped 60 BreakCriteria { Current (Contact ElectrodeN maxval 1e-8) } }Number_of_threads 只影响线性求解的并行度不影响收敛路径调它不会改变结果只会改变墙钟时间。StacksizeExtrapolate 让准静态扫描用上一步的解做线性外推当初值步长小的时候能省掉一半迭代——但步长突变时外推反而会把人带沟里所以它和 MaxStep 要一起看。Derivatives 和 AvalDerivatives 是解析导数开关。雪崩项对电场是指数敏感的不开 AvalDerivatives求解器只能靠数值差分估导数在击穿附近误差极大收敛会慢到不可接受。这两项属于不开能跑但跑不动的类型。RelErrControl 把收敛判据从绝对误差改成相对误差。电流从 1e-12 A 跨到 1e-3 A跨了九个量级用绝对误差判据意味着小电流区过严、大电流区过松。相对误差判据让每个量级上的精度要求一致这是扫描 I-V 曲线的必备项。Iterations15 是单步牛顿迭代上限Notdamped60 是前多少次迭代不做阻尼。这两个值放在一起看就露出问题了Notdamped 比 Iterations 大等于全程不阻尼。不阻尼在强非线性段比如雪崩刚起来的几步会让迭代量过冲残差震荡。比较稳妥的配法是 Notdamped 明显小于 Iterations让前几步全速逼近、后面自动降速。BreakCriteria 是主动刹车当 ElectrodeN 的电流超过 1e-8 A 就正常终止。它不报错只在日志里留一行提示。很多人看到仿真跑到某个电压就停了以为崩了其实是被这个条件优雅地叫停——这是防止击穿后电流无限增长把后续扫描拖死的手段。4. 求解模式进阶AC 小信号与瞬态激励的时间尺度差前三章的求解都是给定偏压求稳态求解器的任务是解一个非线性方程组。到了 C-V 和瞬态任务性质变了前者要在每个直流工作点上做一次频域线性化后者要在时间轴上积分一组刚性常微分方程。两种模式的语句长得像底下的数学完全不同。4.1 混合模式System 段把器件接到外部电路Device Diode { Electrode { ... } File { Grid Diode_msh.tdr Current Diode_CV_1kHz.plt Plot Diode_CV_1kHz.tdr } Physics { ... } Plot { } } System { Diode diodesystem (ElectrodeNfront ElectrodeP0) Vsource_pset vn (front 0) { dc0 } } File { Output Diode_CV_1kHz.log ACExtract Diode_CV_AC_1kHz.plt }Device 段把器件封装成一个可实例化的模块System 段才是电路网表。ElectrodeNfront把器件电极映射到电路节点 frontElectrodeP0直接接地。Vsource_pset 是一个电压源串在 front 与地之间初始直流值 0。这一步的意义在于混合模式求解的是器件方程 电路方程的联立系统器件不再有固定边界条件电极电压是未知量由电路方程约束。这是 C-V 测试的标准拓扑——器件上串一个电压源扫源电压测器件两端的小信号响应。File 段的 ACExtract 是专门给小信号结果用的输出通道。它和 Current 不是一回事Current 存直流工作点的电流ACExtract 存每个频点的导纳实部和虚部。想把 C-V 曲线画出来必须从 ACExtract 里取虚部再除以角频率。4.2 ACCoupledC-V 是在每个直流工作点上做频域线性化Solve { Coupled (Iterations50) { Poisson } Coupled (Iterations15) { Hole Poisson } Coupled (Iterations15) { Electron Hole Poisson } Coupled (Iterations15) { Electron Hole Poisson Contact } # 把电路未知量一起解 QuasiStationary ( InitialStep 1e-6 MaxStep 1e-2 MinStep 1e-7 Increment 2 Decrement 4 Goal { Parameter vn.dc Voltage100 } ) { ACCoupled ( StartFrequency 1e3 EndFrequency 1e3 NumberOfPoints 1 Decade Iterations 15 Node (front) ACMethod Blocked ACSubMethod (diodesystem) ParDiSo ) { Poisson Electron Hole Contact Circuit } } }关键在于第四步Coupled { Electron Hole Poisson Contact }。前三条只解器件内部方程电极电压还是固定的把 Contact 加进来之后电路节点电压成为未知量器件和电压源被真正耦合起来。这一条漏掉后面的准静态扫描就是空转——vn.dc 变了器件电极电压纹丝不动。准静态扫描的目标从NameElectrodeN Voltage1000换成了Parameter vn.dc Voltage100。前者直接改电极边界条件后者改电路里电压源的参数再通过耦合关系传导到器件电极上。这是混合模式与普通模式在语法上最直观的区别。Increment2 Decrement4 是步长调整因子连续收敛顺利就把步长乘 2连续失败就除以 4。它和 MaxStep/MinStep 一起构成完整的自适应逻辑比单纯靠 MaxStep 更有弹性——平坦区快速推进耗尽层突变处自动收窄。ACCoupled 干的活是在当前直流工作点上把所有方程对节点电压做一次线性化得到雅可比矩阵然后在频域求解(G jωC)x b。这里的 C 就是我们要的电容矩阵。频率只给 1 kHz 单点是因为低频 C-V 关心的是准静态电容一个点足够刻画给多个频点是为了分离界面态响应和体响应属于更细的活。4.3 ACMethodBlocked 与 ParDiSo为什么只解一个节点AC 求解的未知量规模和直流求解一样大每个频点都要重新组装一次复矩阵。ACMethodBlocked 的作用是只对 Node(front) 指定的节点做小信号激励其余节点保持零激励——这等价于在端口上加单位电压、其他端口短路正是定义端口导纳的标准做法。ACSubMethod (diodesystem) ParDiSo 指定子系统用并行直接求解器。混合模式下电路方程和器件方程的量级差很多整体丢给一个求解器会拖慢收敛分块处理让器件部分用直接法稳定、电路部分用小块求解快这是大规模混合模式仿真的常规套路。代价说清楚每个准静态步都要做一次 AC 求解而 AC 求解的矩阵是复数的、规模是直流的数倍。1 kHz 单点尚可接受要是扫 1 kHz 到 10 GHz、每十倍频 10 个点总耗时就是直流扫描的几十倍。做 C-V 时把频率点数压到 1是性能上的必要取舍不是偷懒。4.4 HeavyIonLET 时间波形怎么变成网格里的电荷沉积Physics { HeavyIon ( Direction (0,1) # 入射方向二维里沿 y Location (200, 0) # 入射点坐标单位 um必须落在网格内 Time 1e-9 # 起始时刻单位 s Length [ ... ] # 径迹长度可分段给 Wt_hi [ ... ] # 横向特征宽度单位 um LET_f [0 8.7e-6 8.7e-6 0] # LET 的时间因子序列 GaussianPicoCoulomb ) }重离子模型做的事沿 Direction 方向、从 Location 出发铺一条长度 Length、横向宽度 Wt_hi 的高斯分布电荷柱柱内的电荷密度随时间按 LET_f 给定的因子序列变化。LET_f 里的四个值对应四个时间采样点[0, 8.7e-6, 8.7e-6, 0] 描述的是零、快速上升、平台、回落平台的绝对量级由 Length 和 Wt_hi 一起决定不在这个数组里。GaussianPicoCoulomb 指明时间分布是高斯型、特征时间在皮秒量级、电荷量以 pC/μm 为单位归一。这几个关键字决定了电荷沉积的陡峭程度——皮秒级的上升沿意味着收集电流的峰值极高求解器必须用极小步长才追得上。Location 和 Direction 是几何参数最常出错。Location 用的是网格坐标μm不是索引写错位置离子就打到衬底外面仿真能跑完但一条瞬态曲线都没有。Direction 需要归一化向量写成 (0, 10) 虽然方向对但某些版本会按非单位长度解释导致径迹长度被放大。4.5 Transient 的 MinStep1e-17 与 Optics 的 WaveTSigmaSolve { NewCurrentPrefix trans_ Transient ( InitialTime 0 FinalTime 35e-9 MinStep 1e-17 MaxStep 1e-10 ) { Coupled { Poisson Electron Hole Circuit } Plot (FilePrefixTransHI_ Time(0.5e-9; 1e-9; 2e-9; 5e-9; 10e-9) NoOverwrite) } }MinStep1e-17 秒看着夸张但对应的是物理事实重离子径迹内的电荷沉积在皮秒内完成载流子被电场拉开形成收集电流的上升沿比这还陡。步长给到 1e-14 都可能撞上time step too small求解器一路砍步长砍到下限然后终止。MaxStep1e-10 是上限防止在变化平缓的拖尾段浪费步数。这两个值相差七个数量级说明瞬态求解的自适应范围必须给得足够宽——刚性问题的特征就在这里。NewCurrentPrefix 给输出文件加前缀避免多次运行互相覆盖。Plot 里的 Time 列表是强制输出时刻不是步长控制点求解器会在这些时刻附近切一步保证精确落点。NoOverwrite 防止同名文件被覆盖。激光激励走的是另一条路不是直接给电荷而是先算光场分布再转成光生率。Optics ( OpticalGeneration ( ComputeFromMonochromaticSource () TimeDependence ( WaveTime (1e-9 1e-9) # 脉冲起始时刻 WaveTSigma 50e-12 # 时间高斯宽度 50 ps ) Scaling 0 Excitation ( Wavelength 0.8 *um Intensity 0.06 *W/cm2 Window (L1) ( Origin (200,0) XDirection (1,0,0) Line (Dx 10) Theta 0 * Angle from positive y-axis OpticalSolver ( OptBeam ( LayerStackExtraction ( WindowName L1 WindowPosition Center Mode ElementWise ComplexRefractiveIndex (WavelengthDep (real imag)) ) ) ) ) ) ) )ComputeFromMonochromaticSource 表示从单色光源出发解麦克斯韦方程而不是用解析的指数衰减近似。Wavelength0.8 μm 落在硅的吸收边附近穿透深度约十几微米所以网格在深度方向必须够密否则光生率分布会被网格抹平。LayerStackExtraction 沿 Window 定义的线段做一维层栈提取把三维光场问题降成一维传输矩阵这是效率上的关键简化——只在窗口范围内解光场其余区域不参与。ModeElementWise 表示逐网格单元计算复折射率支持材料界面处的突变。WaveTSigma50e-12 决定了光脉冲的时间宽度。50 ps 的脉宽意味着光生载流子不是瞬间产生而是持续几十皮秒瞬态步长可以比重离子情况放宽一到两个量级。同样是 60 ns 的 FinalTime激光仿真的 MinStep 给 1e-14 通常够用重离子则必须给到 1e-17 附近。这个量级差的判断依据就是激励本身的时间尺度。5. 避坑与排查这几类失败基本都出在语句层5.1 收敛与终止类现象一准静态扫描跑了整夜日志停在某个电压不动没有报错。原因是 MaxStep 与 Goal 不匹配。Goal 1000 V 配 MaxStep 0.01 V理论步数十万级每步都要组装三方程雅可比物理上就跑不完。解决先算一遍目标电压 / 期望步数把 MaxStep 设成这个量级让自适应逻辑在陡变处自己收窄。别用压死上限的方式换精度精度靠 MinStep 和相对误差判据保。现象二仿真在某电压突然结束日志末尾有一行 break criteria 提示但没报错。原因是 BreakCriteria 的Current maxval 1e-8被触发求解器主动正常终止。这不是故障是设计出来的刹车。解决先确认这个阈值是不是你要的停止条件如果只是想看击穿前的曲线保持原样即可如果要继续往深跑把 maxval 提高一个量级同时把 MaxStep 调小否则击穿段电流指数上升会直接撞上step size too small。现象三瞬态仿真中途终止日志里是 time step too small。原因是 MinStep 给得不够小追不上激励的陡峭边沿。重离子入射的电荷沉积在皮秒内完成MinStep 给 1e-14 都可能不够得压到 1e-17。解决先看激励的时间尺度HeavyIon 的 LET_f 采样间隔、Optics 的 WaveTSigma把 MinStep 设成这个尺度的 1e-3 到 1e-4 倍再配合 MaxStep 控制总步数。5.2 文件与几何类现象四多次扫描后结果文件里只剩最后一组数据。原因是 FilePrefix 相同且没加 NoOverwrite。Current 文件在每次运行开头被清空Plot 文件同名时后写的覆盖先写的。解决Transient 里用 NewCurrentPrefix 加前缀Plot 里加 NoOverwrite 让已有的同名文件保留或者在 File 段就把文件名带上扫描参数。现象五重离子仿真跑完了但瞬态曲线平得像没打进去。原因是 Location 落到了网格外或者 Direction 的坐标系与网格不一致。Location 用的是 μm 坐标而非网格索引二维结构里 y 方向往往只有几微米到几十微米写成 (200, 0) 而对不上 x 范围离子就打在真空里。解决先打开 tdr 看结构的坐标包围盒把 Location 放在有源区中心Direction 用单位向量二维里沿深度方向就是 (0,1) 或 (0,-1)方向反了径迹会朝表面走。现象六辐照后的 I-V 曲线和未辐照几乎重合。原因是 Traps 的 Conc 量级写错或者 eXsection/hXsection 单位弄混。截面单位是 cm²写成 m² 会差四个数量级陷阱要么完全不起作用要么把载流子瞬态吞光。还有一种情况是注量变了但三个 Conc 没同步缩放注释里写着Conc Fluence × 引入率改注量却只改了一个陷阱剩下的还停在旧值上。解决改注量时把三个 Conc 一起按比例改改完用空间积分核一遍总陷阱数别只看峰值浓度。6. 设计取舍模板复用的边界在哪这套语句最实用的地方是可以按器件描述 求解剧本两段切开复用。同一个二极管结构I-V、C-V、重离子、激光四种激励File 和 Physics 段几乎不动只换 Solve 段和激励模型。但复用有一个边界步长参数不能跟着模板走。我见过不止一次有人把 I-V 的MaxStep 0.01直接搬到 C-V 脚本里Goal 还是 100 V结果扫了一整天。也见过把激光瞬态的MinStep 1e-14搬到重离子脚本里一路 time step too small。步长是由激励的时间尺度和扫描的电压跨度共同决定的它不可移植只能每次重新推。参数依赖什么推导方式MaxStep准静态目标电压、期望步数目标电压 / 期望步数MinStep准静态目标电压、电流跨量级的速度比 MaxStep 小 3~4 个量级MaxStep瞬态总时长、期望输出点数总时长 / 输出点数 × 0.1~0.5MinStep瞬态激励的最快变化尺度该尺度的 1e-3~1e-4NotdampedIterations取 Iterations 的 1/3~1/2另一个取舍是模型的精度与收敛性。OldSlotboom 而不是 NewSlotboom、UniBo 而不是其他雪崩模型、Hurkx 的带间隧穿这些选择在文档里看不出差别但在高掺杂梯度、击穿拐点、窄带隙结构上稳不稳是能立刻感知的。工程仿真里能收敛的近似解永远优于收敛不了的精确解——这话不好听但确实是排在第一位的原则。验证方法上我一般会做三件事一是把 MaxStep 砍半再跑一遍看 I-V 曲线是否重合重合说明步长自适应够用不重合说明错过了拐点二是把网格加密一档看击穿电压漂不漂漂超过 5% 就得回头改网格而不是改模型三是把 BreakCriteria 关掉跑一小段确认击穿后的行为没有数值震荡。从那以后我每次拿到一份新的 sdevice 脚本都强制先把 Math 段和 Solve 段单独抽出来读一遍把 MaxStep、MinStep、Notdamped、BreakCriteria 四个值抄在纸上对着 Goal 和激励时间尺度核一遍再按运行。这个习惯帮我省掉的调试时间比任何模型调参技巧都多。希望帮到你。本文还有配套的精品资源点击获取