2. Sentaurus Workbench工程化管理

在 Sentaurus 仿真中,单次跑通一个器件结构只是起点。真正决定仿真效率与结果可追溯性的,是能否把结构生成、网格划分、器件求解、结果提取这一整条链路,连同几十组参数组合,统一纳入一个可复现的工程框架。Sentaurus Workbench(SWB)正是为此设计的工程化管理层:它不替代 sde、sdevice、svisual 等具体工具,而是负责组织这些工具的输入、执行顺序、参数变量与输出归档。理解 SWB 的工程化机制,等于掌握了把“一次仿真”变成“一套可管理实验”的方法。

项目目录结构:工程状态的物理载体

一个 SWB 项目在磁盘上表现为一个工程目录,其核心是 project.gzp 与若干子目录。典型结构如下:

power_diode/
├── project.gzp          # 工程主文件,记录工具流、节点、参数
├── sde/                 # 结构编辑工具输入与输出
│   ├── sde_dvs.cmd      # SDE 命令脚本
│   └── n1_sde.msh       # 生成的网格文件
├── sdevice/             # 器件物理仿真
│   ├── sdevice_des.cmd  # 物理模型与求解设置
│   └── n1_sdevice.plt   # 电学结果
├── svisual/             # 可视化与提取
│   └── svisual_vis.cmd
└── pp1/                 # 参数扫描产生的实验节点
    ├── n2_sde.msh
    └── n2_sdevice.plt

这里的关键认知是:SWB 中的“节点”(node)对应一组参数取值下的完整仿真实验。节点编号 n1、n2 不是工具编号,而是实验编号。每个节点拥有独立的输入副本与输出文件,从而保证不同参数组合之间互不污染。工程目录因此既是输入配置的集合,也是所有实验结果的物理归档位置。

工具流编排:把工具串成有向执行链

SWB 的工具流(Tool Flow)本质是一张有向无环图:节点是工具,边是数据依赖。以功率二极管为例,典型链路为 sde → sdevice → svisual。sde 输出网格 .msh,sdevice 读取该网格并输出 .plt,svisual 再读取 .plt 做曲线提取。SWB 依据文件依赖自动决定执行顺序,无需手工指定“先跑谁”。

编排时需注意两点。其一,工具输入脚本中引用上游文件应使用 SWB 变量而非硬编码路径,例如在 sdevice 命令文件中写 Mesh = "@tdr@" 或 @previous@,由 SWB 在运行时替换为当前节点的实际文件。其二,若某工具需要多个上游输入(如 sdevice 同时依赖网格与掺杂剖面),应在工具流中显式建立多条依赖边,否则 SWB 可能提前调度导致文件缺失。

SWB 工具流与参数扫描数据依赖 参数定义 Na = 1e17 / 5e17 Wn = 5 / 10 μm 节点 n1 Na=1e17, Wn=5 节点 n2 Na=5e17, Wn=5 节点 n3 Na=1e17, Wn=10 sde 生成网格 sdevice 求解 I-V svisual 提取曲线 结果归档:pp1/ 目录 n1_sdevice.plt · n2_sdevice.plt · n3_sdevice.plt

参数扫描:从单点仿真到实验矩阵

参数扫描是 SWB 最具工程价值的功能。其做法是在工程中定义变量,再为每个变量指定取值集合,SWB 自动做笛卡尔积展开为多个节点。例如定义两个变量:

Na = 1e17, 5e17, 1e18
Wn = 5, 10

则 SWB 生成 3×2=6 个节点,每个节点使用一组 (Na, Wn) 组合。变量在工具脚本中以 @Na@、@Wn@ 形式引用,运行时被替换为当前节点的值。这样,同一份 sde 脚本无需修改即可生成六种不同掺杂与漂移区宽度的结构。

参数扫描的工程意义在于:它把“改参数—重跑—记录”的手工循环,转化为一次配置、批量执行、集中归档的自动化流程。对于击穿电压、导通电阻等随掺杂浓度和漂移区宽度变化的特性研究,这种矩阵式扫描能快速给出参数敏感度趋势。

实验管理与结果归档

SWB 的实验管理体现在三个层面。第一,节点级隔离:每个节点有独立的工作目录与输出文件,避免结果覆盖。第二,状态可视化:SWB 界面用颜色标识节点状态——灰色未运行、蓝色运行中、绿色成功、红色失败,便于快速定位问题节点。第三,结果归档:所有节点的输出统一存放在工程目录下,配合 svisual 可批量提取同一物理量(如击穿电压 BV)并绘制成随参数变化的曲线。

建议在参数扫描前先跑通单个基准节点(如 Na=1e17, Wn=5),确认工具流与脚本无误后再展开全矩阵,避免因脚本错误导致整批节点失败。
若某节点失败,不要直接删除其目录。应先查看该节点下的 .log 或 .err 文件定位原因(常见为网格质量差、收敛失败或变量替换后语法错误),修正后仅重跑该节点,而非全矩阵重跑。

一个可复用的实验记录表应至少包含:节点编号、变量取值、关键结果(如 BV、Ron)、状态与备注。例如:

节点Na (cm⁻³)Wn (μm)BV (V)状态
n11e175示例值待填成功
n25e175示例值待填成功
n31e1710示例值待填失败

表中 BV 一栏应填入实际仿真提取值,此处仅示意字段结构。通过对比不同节点的 BV,可判断漂移区宽度对耐压的影响是否与理论预期一致;若某节点异常偏低,则需回查该节点的网格与边界条件设置。

综上,SWB 的工程化管理把仿真从“脚本执行”提升为“实验管理”:目录结构承载状态,工具流定义依赖,参数扫描生成矩阵,归档机制保证可追溯。掌握这套机制后,面对数十组甚至上百组参数组合的功率器件特性研究,才能做到有条不紊、结果可复现。