2. Sentaurus工具链与数据接口

Sentaurus 不是单一软件,而是一套围绕“工艺—器件—可视化—数据管理”组织起来的工具链。做模型校准与实验数据拟合时,最容易出问题的往往不是物理模型本身,而是数据在工具之间传递时格式不匹配、坐标不一致或提取口径不同。因此,理解每个模块的职责边界和它们之间的数据接口,是后续校准工作的前提。

工具链的模块分工

整条链路的组织关系可以用下面的结构图表示。它强调的不是操作顺序,而是各模块的输入输出对象与数据流向。

Sentaurus 工具链与数据接口关系 Sentaurus Workbench (SWB) 实验设计 · 参数扫描 · 任务调度 · 结果汇总 Structure Editor 器件结构 / 网格 / 掺杂 Device Editor 电极 / 物理模型 / 求解设置 SPROCESS 工艺仿真 / 命令流 SPDE / SDEVICE 器件物理仿真 · 电学特性求解 SVISUAL 曲线 / 场分布 / 剖面提取 TCL / Python 脚本 批量提取 · 数据导出 实验数据文件 CSV / TXT / PLX 曲线 虚线表示实验数据与仿真结果在校准环节的比对接口

SWB 是顶层入口,负责把参数化实验组织成可批量执行的任务树。它本身不做物理计算,而是把节点参数、命令文件和结果目录统一管理起来。Structure Editor 与 Device Editor 是图形化前端,前者生成器件几何、网格和掺杂分布,后者定义电极、物理模型和求解条件。SPROCESS 面向工艺仿真,用命令流描述氧化、扩散、注入、刻蚀等步骤,输出的是工艺完成后的结构。SPDE 与 SDEVICE 承担器件物理仿真,前者偏重求解器配置与方程组装,后者是实际执行电学特性计算的引擎。SVISUAL 负责把结果可视化,同时提供曲线和场数据的提取能力。

实验数据的导入格式

校准工作的第一步是把实验数据变成工具能读的格式。Sentaurus 本身不直接读取任意格式的测试文件,通常需要先整理成纯文本表格。最常见的做法是两列或三列结构:第一列自变量,第二列因变量,第三列可选为误差或权重。

# Vg(V)   Id(A)      Ig(A)
-1.0     1.02e-12   3.1e-13
-0.5     2.45e-11   4.7e-13
 0.0     8.90e-10   6.2e-13
 0.5     3.71e-08   9.8e-13
 1.0     1.24e-06   1.5e-12
 1.5     2.88e-05   2.4e-12

导入时要注意三点。第一,注释行用 # 开头,工具会跳过;第二,列之间用空格或制表符分隔,不要混用逗号,除非明确使用 CSV 解析;第三,单位必须与仿真输出一致,例如电流统一用 A、电压用 V、电容用 F/cm² 或 F,避免在比对时出现量级错位。如果实验数据是 PLX 格式,可以用 SVISUAL 的曲线导入功能直接读取,再导出为文本表格供脚本使用。

建议在实验数据文件头部保留一行元信息,例如 # device=NMOS L=1um W=10um T=300K,这样在批量校准时可以自动匹配对应的仿真条件,减少人工核对。

仿真输出的提取方法

仿真完成后,结果通常分布在 .plt 曲线文件、.tdr 场分布文件和日志文件中。提取方式主要有两类:交互式提取和脚本化提取。

交互式提取通过 SVISUAL 完成。打开 .plt 文件后,可以在曲线窗口中选取 Id-Vg、Id-Vd、C-V 等特性曲线,用剖面工具沿指定方向切出场分布,再通过导出功能保存为文本。这种方式适合快速查看和单点核对,但不适合大批量参数扫描。

脚本化提取更适合校准场景。Sentaurus 提供 TCL 和 Python 接口,可以遍历 SWB 的结果目录,自动读取每个节点的曲线文件并抽取关键指标。下面是一个提取阈值电压和亚阈摆幅的示例逻辑:

# 伪代码示意:遍历 SWB 结果并提取指标
for node in swb_nodes:
    plt = load_curve(node + "/IdVg.plt")
    vg, id = plt.get("gate", "drain")
    vth = extract_vth(vg, id, method="constant_current", level=1e-7)
    ss  = extract_subthreshold_swing(vg, id, vth)
    write_row(node, vth, ss, ion, ioff)

提取时最关键的是口径一致。例如阈值电压可以用恒定电流法、最大跨导法或线性外推法,不同方法得到的数值可能相差几十毫伏。校准前必须明确实验数据和仿真数据使用同一种提取方法,否则拟合出来的参数没有意义。亚阈摆幅通常取 Vth 以下一个数量级范围内的最大斜率,离子电流取 Vg=Vd=Vdd 时的漏电流,关态电流取 Vg=0、Vd=Vdd 时的漏电流。

数据接口中的常见问题

实际工作中,数据接口问题往往表现为“曲线形状对但数值差一个量级”或“拟合始终不收敛”。常见原因包括:实验数据单位是 mA 而仿真输出是 A;横轴电压扫描方向相反导致曲线镜像;网格文件与掺杂文件版本不一致导致结构错位;SVISUAL 导出时选择了错误的剖面方向。排查时建议先单独画一条实验曲线和一条仿真曲线,确认坐标轴范围和单位一致,再检查提取脚本中的列索引是否正确。

不要直接把实验数据覆盖到仿真结果文件上。正确做法是保持两套数据独立,在比对脚本中读取并插值到同一电压网格,再计算残差。这样既能保留原始数据,也便于反复调整权重。

把工具链的分工、数据格式和提取口径这三件事理清之后,后续的模型参数校准才有稳定的数据基础。下一阶段的工作将围绕具体物理模型的选择和参数敏感性展开。