2. Sentaurus Workbench基础操作
Sentaurus Workbench(SWB)是TCAD仿真流程的“实验管理中枢”。它本身不求解器件方程,而是把Sentaurus Process、Sentaurus Device、Sentaurus Structure Editor等工具组织成一条可参数化、可批量执行、可追溯的实验流水线。理解SWB的关键,不是记住菜单在哪,而是理解它如何用“项目—节点—变量—实验”四层结构,把一次仿真变成一组可管理的实验。
项目创建:从模板到可运行工程
启动SWB后,通过 File → New Project 创建项目,指定项目名与存储路径。SWB会生成一个项目目录,其中包含 project.conf、nodes/、tools/ 等结构。更常用的方式是从模板创建:File → New Project from Template,选择如 MOSFET、Diode 等示例,模板已预置工具链和变量,适合快速起步。
项目创建后,需要配置工具链。在 Project → Tools 中按顺序添加工具,例如:sprocess(工艺仿真)→ sde(结构编辑)→ sdevice(器件仿真)→ svisual(可视化)。每个工具对应一个输入文件,如 sprocess_fps.cmd、sdevice_des.cmd。工具链的顺序决定了数据流方向:前一个工具的输出结构文件(如 .tdr)作为后一个工具的输入。
节点与变量管理:实验空间的骨架
SWB中的“节点”代表一个具体的仿真实验。每个节点拥有独立的变量取值组合。变量在 Project → Variables 中定义,例如定义 Vd(漏电压)和 Lg(栅长),并给出取值列表。SWB会自动生成所有变量组合对应的节点,形成实验矩阵。
变量分为两类:项目变量(全局,所有节点共享)和节点变量(局部,仅当前节点有效)。在输入文件中,变量以 @变量名@ 形式引用,例如 Vd = @Vd@。SWB在运行时将 @Vd@ 替换为节点实际取值。这种“模板+变量”机制,使得同一份输入文件可以驱动成百上千个实验。
Vg、Nd、Tox,避免 var1、var2。变量取值列表支持离散值、范围值和表达式,例如 1 2 3 或 0.1:0.1:1.0。实验设计:从单点仿真到参数扫描
实验设计的核心是确定“扫什么、扫多少、怎么扫”。在SWB中,通过变量取值列表实现参数扫描。例如,要研究漏电压对击穿特性的影响,定义 Vd 取 0 1 2 3 4 5,SWB生成6个节点,每个节点独立运行完整工具链。
对于更复杂的实验设计,可以使用 Experiment → Design of Experiments,选择全因子、部分因子或拉丁超立方等策略。全因子适合变量少、取值少的情况;部分因子适合变量多、需要筛选主效应的场景。SWB会自动生成实验表,并标注每个节点的变量组合。
节点管理还包括:节点复制(复制已有节点并修改变量)、节点删除、节点分组(按变量或状态分组)。在 Nodes 视图中,每个节点显示状态图标:灰色未运行、绿色成功、红色失败、黄色运行中。右键节点可执行 Run、Clean、Abort 等操作。
结果可视化:从数据到洞察
SWB的结果可视化分为两个层次:节点级和项目级。节点级通过 svisual 打开单个节点的结构文件或曲线文件,查看掺杂分布、电场分布、I-V曲线等。项目级通过 Project → Plot 或 SWB Plot,将多个节点的同一物理量绘制在同一张图上,便于对比。
例如,完成 Vd 扫描后,在 Plot 中选择 Id-Vg 曲线,SWB会自动提取所有节点的曲线并叠加显示。通过颜色区分不同 Vd 值,可以直观看到漏电压对亚阈值特性的影响。对于击穿分析,可以提取 Id-Vd 曲线,观察击穿电压随 Vd 的变化趋势。
SWB还支持将结果导出为CSV或TDR格式,便于后续用Python或Excel做统计分析。在 Project → Export 中,可以选择导出变量表、节点状态、曲线数据等。
命令行与GUI协同使用
SWB的GUI适合交互式配置和结果查看,而命令行适合批量执行和自动化。两者共享同一项目目录,可以无缝切换。
常用命令行操作包括:
swb -run project.conf # 运行整个项目
swb -run -nodes 1,2,3 # 仅运行指定节点
swb -clean project.conf # 清理所有节点结果
swb -status project.conf # 查看节点状态
swb -export project.conf # 导出结果数据
在GUI中配置好项目和变量后,可以在终端中执行 swb -run 批量运行,尤其适合提交到计算集群。运行完成后,回到GUI刷新节点状态,再用 Plot 查看结果。这种“GUI配置 + CLI执行 + GUI分析”的协同模式,是SWB高效使用的核心。
.lock),否则可能导致运行冲突。若在集群上运行,需确认 project.conf 中的工具路径与集群环境一致。实操示例:MOSFET漏电压扫描
以NMOS器件为例,创建项目后定义变量 Vd 取 0.1 0.5 1.0 2.0 3.0,Vg 取 0 0.5 1.0 1.5 2.0。SWB生成25个节点。在 sdevice_des.cmd 中设置 Vd = @Vd@,Vg = @Vg@。运行后,在 Plot 中选择 Id-Vg 曲线,按 Vd 分组显示,可以观察到:随着 Vd 增大,亚阈值斜率基本不变,但漏电流整体上移,且饱和区电流增大。若某节点失败,检查日志中的 Error 行,常见原因包括变量取值超出模型范围、网格不收敛等。
通过这一完整流程,读者应能独立完成:创建项目、定义变量、生成节点、运行实验、对比结果、排查失败节点。SWB的价值不在于单次仿真,而在于把“一次仿真”变成“一组可管理的实验”,让参数扫描和结果对比变得系统化、可追溯。