Skip to content

SProcess Ch12:布局驱动仿真

> 来源:sprocess_ug.pdfSentaurus 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 布局文件:

  1. 在命令行设置环境变量 SIWB_USER

    bash
    setenv SIWB_USER SENTAURUS
  2. 启动 Silicon WorkBench:

    bash
    siwb
  3. 选择 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=SIM1D1

12.3.2 Exporting TCAD Layout Files

从 Silicon WorkBench 导出 TCAD 布局文件:

  1. 选择 File > Export 或点击 Sentaurus Export 按钮。
  2. 选择导出格式和目标位置。

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 1

12.4.3 Contact Definition

使用辅助掩膜定义电气接触:

tcl
# 定义接触
contact name=anode mask=CONTACK
contact name=cathode mask=CONTCAT

12.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

exit

12.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:布局文件无法加载

诊断步骤:

  1. 确认 GDSII/OASIS 文件存在且格式正确。
  2. 检查文件路径是否使用正斜杠(/)。
  3. 验证环境变量 SIWB_USER 已设置为 SENTAURUS

问题 2:仿真域定义不正确

诊断步骤:

  1. 检查标记是否在布局中正确定义。
  2. 确认仿真域方向正确(对于 2D gauge)。
  3. 验证复合仿真域的切割是否正确连接。

问题 3:接触定义与布局不匹配

诊断步骤:

  1. 确认掩膜名称与布局中的层名称匹配。
  2. 检查接触是否正确定义在仿真域内。
  3. 验证 contact 命令的语法正确。

相关链接

基于 Sentaurus TCAD 官方文档构建

代码块