Appearance
SProcess Ch12:布局驱动仿真
> 来源:sprocess_ug.pdf(Sentaurus Process User Guide, W-2024.09) > 章节范围:Chapter 12,文档目录页标注约 p.927–970(PDF 物理页约 927–970)
章节导读
本章描述 Silicon WorkBench 与 TCAD Sentaurus 之间布局驱动仿真的接口使用方法。Silicon WorkBench–TCAD Sentaurus 接口从设计者提供的 GDSII 或 OASIS® 布局文件驱动 TCAD 仿真。
12.1 概述
Silicon WorkBench–TCAD Sentaurus 接口从 GDSII 或 OASIS® 布局文件驱动 TCAD 仿真,可以是任何集成级别的层次结构:完整芯片、测试芯片或单个单元。
TCAD 仿真域可以使用布局文件中的特定标记方便地选择。可以为布局中的所有器件定义单一工艺流程,并可轻松应用于 1D、2D 和 3D 仿真域,且只需最少调整。
对于网格划分,它提供了布局驱动网格划分的独特功能。电气接触可以使用辅助掩膜轻松定义。
> 注意:Synopsys 在多个工具中提供布局编辑功能,适用于 TCAD 用户的布局编辑工具是 Silicon WorkBench。其他 Synopsys 工具(如 IC Validator WorkBench、IC WorkBench Edit/View Plus 和 IC WorkBench)也支持相同的布局编辑功能。
12.2 Silicon WorkBench for TCAD 用户简介
12.2.1 Opening GDSII Layout Files
打开 GDSII 或 OASIS 布局文件:
在命令行设置环境变量
SIWB_USER:bashsetenv SIWB_USER SENTAURUS启动 Silicon WorkBench:
bashsiwb选择 File > Open 并浏览要加载的文件。
12.2.2 Sentaurus Markups
Sentaurus 标记用于添加 1D、2D 和 3D 仿真域:
- Highlight(3D 仿真域):在布局上绘制矩形
- Gauge(2D 仿真域):在布局上绘制直线
- Point(1D 仿真域):在布局上绘制点
默认命名约定:
- Highlight:
SIM3D<n> - Gauge:
SIM2D<n> - Point:
SIM1D<n>
> 注意:2D 仿真域(gauge)有方向。起点为空心菱形,终点为实心菱形。与层边缘平行的 gauge 必须与该边缘有有限的正交距离。
12.2.3 Composite Simulation Domains
对于 2D TCAD 仿真,复合仿真域很有用。例如,当器件布局中的不同触点无法通过单条直线连接时。可以将布局中的各个 2D 切割连接形成复合 2D 仿真域。
12.2.4 Stretch Utility
Stretch utility 提供了一种通过在布局中插入均匀拉伸段来参数化布局的便捷方式。
12.3 Sentaurus 标记文件和 TCAD 布局文件
12.3.1 Markup Files
标记文件定义了仿真域、网格策略和接触定义:
tcl
# 定义 3D 仿真域
markup highlight=SIM3D1
# 定义 2D 仿真域
markup gauge=SIM2D1
# 定义 1D 仿真域
markup point=SIM1D112.3.2 Exporting TCAD Layout Files
从 Silicon WorkBench 导出 TCAD 布局文件:
- 选择 File > Export 或点击 Sentaurus Export 按钮。
- 选择导出格式和目标位置。
12.4 TCAD 布局读取器
TCAD Layout Reader 是 Sentaurus Process 中的功能,提供 Silicon WorkBench 和 Sentaurus Process 之间的基于文件的接口。
12.4.1 Loading Layout Files
tcl
# 加载 GDSII 布局文件
load gdsii file=<layout.gds>
# 加载 OASIS 布局文件
load oasis file=<layout.oas>12.4.2 Layout-Driven Meshing
布局驱动网格划分根据布局中的几何形状自动生成网格:
tcl
# 设置布局驱动网格参数
pdbSet Grid SnMesh LayoutDriven 112.4.3 Contact Definition
使用辅助掩膜定义电气接触:
tcl
# 定义接触
contact name=anode mask=CONTACK
contact name=cathode mask=CONTCAT12.5 批处理模式和宏
12.5.1 Running Silicon WorkBench in Batch Mode
bash
siwb -batch -file <macro.scm>12.5.2 Macros
宏允许自动化重复性任务:
tcl
; 示例宏
(define (run-simulation)
(load-layout "layout.gds")
(export-tcad "output.tcad")
)12.6 最小可执行示例
tcl
# ch12_min_layout.cmd
go sprocess
# 1) 加载布局文件
load gdsii file=layout.gds
# 2) 定义仿真域
markup highlight=SIM3D1
# 3) 定义接触
contact name=source mask=SOURCE
contact name=drain mask=DRAIN
contact name=gate mask=GATE
# 4) 执行工艺仿真
# ... (工艺步骤)
# 5) 保存结构
struct tdr=out/ch12_m1.tdr !Gas
exit12.7 关键参数速查表
| 类别 | 参数/命令 | 作用 | 示例 |
|---|---|---|---|
| 加载布局 | load gdsii/oasis | 加载布局文件 | file=<name> |
| 仿真域 | markup highlight/gauge/point | 定义仿真域 | SIM3D1 |
| 布局驱动网格 | Grid SnMesh LayoutDriven | 开启布局驱动网格 | 1 |
| 接触定义 | contact name=<n> mask=<m> | 定义电气接触 | name=anode mask=CONT |
| 批量模式 | siwb -batch | 批处理运行 | -file <macro.scm> |
12.8 常见问题与诊断步骤
问题 1:布局文件无法加载
诊断步骤:
- 确认 GDSII/OASIS 文件存在且格式正确。
- 检查文件路径是否使用正斜杠(/)。
- 验证环境变量
SIWB_USER已设置为SENTAURUS。
问题 2:仿真域定义不正确
诊断步骤:
- 检查标记是否在布局中正确定义。
- 确认仿真域方向正确(对于 2D gauge)。
- 验证复合仿真域的切割是否正确连接。
问题 3:接触定义与布局不匹配
诊断步骤:
- 确认掩膜名称与布局中的层名称匹配。
- 检查接触是否正确定义在仿真域内。
- 验证
contact命令的语法正确。