1. 课程导入与工程环境总览

Sentaurus TCAD 是 Synopsys 面向半导体工艺与器件仿真的核心工具链,它并不是单一程序,而是一组围绕“结构—物理—求解—分析”闭环协作的模块集合。理解这套工具链的组成与数据接口,是后续高性能计算和批量仿真工程能够落地的前提。很多初学者把 TCAD 仿真理解为“打开一个软件、点一下运行”,结果在遇到网格不收敛、批量任务互相覆盖、许可证排队时无从下手。本课程的目标,是把 Sentaurus 从“会用”推进到“可工程化、可批量、可复现”的层次。

一、Sentaurus 工具链的组成与数据流

从工程视角看,Sentaurus 工具链可以分成四层:工艺与结构层、器件物理层、求解与数值层、以及后处理与工程管理层。典型模块包括:

  • Sentaurus Process(SProcess):工艺仿真,输出掺杂分布、氧化层厚度、结深等结构信息,通常生成 TDR 结构文件。
  • Sentaurus Structure Editor(SDE):器件结构编辑与网格生成,可脚本化定义几何、掺杂、电极和网格策略。
  • Sentaurus Device(SDevice):核心器件求解器,读取结构文件与命令文件,求解漂移扩散、热传导、隧穿等物理方程。
  • Sentaurus Visual / Inspect / Tecplot SV:结果可视化与曲线提取,用于查看电场分布、I-V 曲线、阈值电压等。
  • Sentaurus Workbench(SWB):工程管理与批量调度平台,负责参数扫描、实验设计、任务分发和结果汇总。

这些模块之间通过明确的文件接口衔接:SProcess 产出结构,SDE 或直接由 SProcess 生成网格,SDevice 读取结构并输出电流、电场、载流子浓度等物理量,后处理工具再把这些数据转成曲线或场图。下图给出本节最值得先建立的整体数据流与工程管理关系。

Sentaurus TCAD 工具链数据流与工程管理关系 Sentaurus Workbench(SWB)— 参数扫描 / 实验设计 / 任务分发 / 结果汇总 统一管理节点、变量、许可证与批量作业,是批量仿真工程的调度中枢 SProcess 工艺仿真 掺杂 / 氧化 / 结深 SDE 结构编辑与网格 几何 / 电极 / 网格策略 SDevice 器件物理求解 漂移扩散 / 隧穿 / 热 Visual / Inspect 结果可视化 I-V / 场图 / 曲线提取 TDR 结构+网格 物理量 参数回写 / 迭代优化 高性能计算要素 多核并行 / MPI / 线程绑定 内存带宽 / 许可证并发 作业队列 / 负载均衡 批量仿真工程要素 参数化变量 / 实验矩阵 目录隔离 / 结果命名规范 失败重试 / 日志追踪 学习路线主线 工具链认知 → 单点仿真跑通 → 参数化与批量调度 → 性能调优与工程复盘

二、高性能计算在器件仿真中的价值

器件仿真的计算量主要来自三部分:网格规模、物理模型复杂度和扫描点数。一个包含量子修正、隧穿和热效应的 3D FinFET 或 GAA 器件,网格节点数可能达到数十万到数百万;若再叠加栅压、漏压、温度的多维扫描,单机串行求解往往需要数小时甚至数天。高性能计算的价值就体现在三个层面:

  • 缩短单点求解时间:SDevice 支持多线程与 MPI 并行,合理设置线程数和分区方式,可显著降低线性方程组求解时间。
  • 提升批量吞吐:通过 SWB 或作业调度系统,把成百上千个参数组合分发到多节点并行执行,把“串行等待”变成“并行产出”。
  • 支撑设计空间探索:只有批量仿真足够快,才可能做灵敏度分析、工艺窗口评估和统计波动分析。

需要强调的是,并行不是“线程越多越快”。当网格规模较小时,通信开销和内存带宽会成为瓶颈,线程数超过一定值后加速比反而下降。因此后续章节会专门讨论并行效率的测量与调优。

三、批量仿真工程的整体工作流

一个可复现的批量仿真工程,通常遵循如下工作流:先建立单点可运行的基准仿真,确认物理模型、网格和收敛性;再把需要扫描的参数抽象为变量,例如栅氧厚度 tox、沟道掺杂 Nch、漏压 Vd;然后在 SWB 中定义变量取值与实验矩阵;接着配置节点、线程和许可证策略,提交批量作业;最后对结果做统一提取、对比和归档。

下面给出一个可直接参考的批量仿真工程目录与变量定义示例,用于说明“工程化”与“随手跑一个仿真”的区别:

project/
├── swb_project/              # SWB 工程文件与实验矩阵
│   ├── project.swb
│   └── nodes/                # 各变量组合的节点目录
├── cmd/
│   ├── sde_dvs.cmd           # 结构生成命令
│   └── sdevice_des.cmd       # 器件求解命令
├── results/
│   ├── run_tox1.2_Nch1e17/   # 按变量命名,避免覆盖
│   └── run_tox1.5_Nch1e17/
└── logs/
    └── job_status.csv        # 记录任务状态、耗时、退出码

# 变量示例(SWB 中定义)
tox   = 1.2, 1.5, 1.8      # 单位 nm
Nch   = 1e17, 3e17, 1e18   # 单位 cm^-3
Vd    = 0.05, 0.7, 1.0     # 单位 V

这个示例中,3×3×3 共 27 个参数组合,如果每个组合单点求解约 8 分钟,串行需要约 3.6 小时;若分配到 8 个计算节点并行执行,理论上可压缩到半小时以内。这里的数据是教学示例,用于说明量级关系,并非实测结果。

建议在工程初期就固定目录命名规范和日志格式。批量仿真最容易出问题的地方不是物理模型,而是结果覆盖、路径混乱和失败任务无人追踪。

四、本课程的学习路线

后续内容将沿着“认知—单点—批量—调优—复盘”的主线展开。先理解工具链与文件接口,再跑通一个单器件仿真;随后引入参数化变量、SWB 实验设计和作业调度;在此基础上讨论 MPI 并行、线程绑定、内存与许可证优化;最后通过完整案例,把批量仿真、结果提取和工程复盘串成闭环。掌握这条路线后,你应当能够独立搭建一套可复现、可扩展、可交付的 Sentaurus 批量仿真工程。