0% found this document useful (0 votes)
6 views1,148 pages

Sentaurus Process User Guide

The Sentaurus Process User Guide, version H-2013.03, provides detailed instructions for using the Sentaurus Process software developed by Synopsys, Inc. It includes information on setting up the environment, starting the software, and performing various simulations, along with examples and technical data. The document also contains copyright, trademark, and export control information relevant to the software and its usage.

Uploaded by

HYO CHANG KIM
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views1,148 pages

Sentaurus Process User Guide

The Sentaurus Process User Guide, version H-2013.03, provides detailed instructions for using the Sentaurus Process software developed by Synopsys, Inc. It includes information on setting up the environment, starting the software, and performing various simulations, along with examples and technical data. The document also contains copyright, trademark, and export control information relevant to the software and its usage.

Uploaded by

HYO CHANG KIM
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Sentaurus Process User

Guide
Version H-2013.03, March 2013
Copyright and Proprietary Information Notice
Copyright © 2013 Synopsys, Inc. All rights reserved. This software and documentation contain confidential and proprietary
information that is the property of Synopsys, Inc. The software and documentation are furnished under a license agreement and
may be used or copied only in accordance with the terms of the license agreement. No part of the software and documentation may
be reproduced, transmitted, or translated, in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without
prior written permission of Synopsys, Inc., or as expressly provided by the license agreement.
Destination Control Statement
All technical data contained in this publication is subject to the export control laws of the United States of America.
Disclosure to nationals of other countries contrary to United States law is prohibited. It is the reader’s responsibility to
determine the applicable regulations and to comply with them.
Disclaimer
SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH
REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Trademarks
Synopsys and certain Synopsys product names are trademarks of Synopsys, as set forth at
[Link]
All other product or company names may be trademarks of their respective owners.

Synopsys, Inc.
700 E. Middlefield Road
Mountain View, CA 94043
[Link]

ii Sentaurus Process User Guide


H-2013.03
Contents
About This Guide xxxi
Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxii
Related Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxii
Typographic Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxii
Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiii
Accessing SolvNet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiii
Contacting Synopsys Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiii
Contacting Your Local TCAD Support Team Directly. . . . . . . . . . . . . . . . . . . . . xxxiv
Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiv

Chapter 1 Getting Started 1


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Setting Up the Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Starting Sentaurus Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Starting Different Versions of Sentaurus Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Using a Command File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Example: 1D Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Defining Initial 1D Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Defining Initial Simulation Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Initializing the Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Setting Up a Meshing Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Growing Screening Oxide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Measuring Oxide Thickness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Depositing Screening Oxide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Tcl Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Implantation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Saving the As-Implanted Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Thermal Annealing, Drive-in, Activation, and Screening Oxide Strip . . . . . . . . . . . . 11
Example: 2D Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Defining Initial Structure and Mesh Refinement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Implanting Boron. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Growing Gate Oxide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Defining Polysilicon Gate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Working with Masks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Polysilicon Reoxidation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Saving Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Remeshing for LDD and Halo Implants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Sentaurus Process User Guide iii


H-2013.03
Contents

Implanting LDD and Halo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


Forming Nitride Spacers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Remeshing for Source/Drain Implants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Implanting Source/Drain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Transferring to Device Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Remeshing for Device Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Saving the Full Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Extracting 1D Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Adaptive Meshing: 2D npn Vertical BJT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Defining Initial Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Adaptive Meshing Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Buried Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Epi Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Sinker Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Base Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Emitter Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Full-Text Versions of Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1D NMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2D NMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2D npn Vertical Bipolar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Chapter 2 The Simulator Sentaurus Process 41


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Interactive Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Command-Line Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Interactive Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Fast Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Terminating Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
File Types Used in Sentaurus Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Syntax for Creating Input Command Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Tcl Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Material Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Default Simulator Settings: [Link] File. . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Compatibility with Previous Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Parameter Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Parameter Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

iv Sentaurus Process User Guide


H-2013.03
Contents

Materials in Parameter Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55


Like Materials: Material Parameter Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Interface Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Regionwise Parameters and Region Name-handling. . . . . . . . . . . . . . . . . . . . . . . . . . 56
Viewing the Defaults: Parameter Database Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Starting the Parameter Database Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Browser PDB Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
PDB Preferences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Viewing Parameters Stored in TDR Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Creating and Loading Structures and Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Understanding Coordinate Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Wafer Coordinate System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Simulation Coordinate System (Unified Coordinate System) . . . . . . . . . . . . . . . . 65
Visualization Coordinate Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Defining the Structure: The line and region Commands . . . . . . . . . . . . . . . . . . . . . . . 68
Creating the Structure and Initializing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Defining the Crystal Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Automatic Dimension Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Saving and Visualizing Structures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Saving a Structure for Restarting the Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Saving a Structure for Device Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Saving Doping Information in SiC and GaN for Device Simulations . . . . . . . . . . 77
Saving 1D Profiles for Inspect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Saving 1D TDR Files from 2D and 3D Simulations . . . . . . . . . . . . . . . . . . . . . . . 77
The select Command (More 1D Saving Options) . . . . . . . . . . . . . . . . . . . . . . . . . 78
Loading 1D Profiles: The profile Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Chapter 3 Ion Implantation 79


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Selecting Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Dios or Default Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Taurus Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
TSUPREM-4 Native Implant Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Multirotation Implantation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Energy Contamination Implantation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Adaptive Meshing during Implantation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Coordinate System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Coordinates for Implantation: Tilt and Rotation Angles . . . . . . . . . . . . . . . . . . . . . . . 87
2D Coordinate System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Analytic Implantation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Sentaurus Process User Guide v


H-2013.03
Contents

Primary Distribution Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92


Gaussian Distribution: gaussian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Pearson Distribution: pearson. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Pearson Distribution with Linear Exponential Tail: pearson.s. . . . . . . . . . . . . . . . 94
Dual Pearson Distribution: dualpearson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Point-Response Distribution: [Link] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Screening (Cap) Layer-dependent Moments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Lateral Straggle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Depth-dependent Lateral Straggle: Sentaurus Process Formulation . . . . . . . . . . . 98
Depth-dependent Lateral Straggle: Dios Formulation . . . . . . . . . . . . . . . . . . . . . . 98
Depth-dependent Lateral Straggle: Taurus Formulation . . . . . . . . . . . . . . . . . . . . 99
Analytic Damage: Hobler Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Implantation Table Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
File Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Multilayer Implantations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Lateral Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Local Layer Structure in 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Primary Direction and Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Point-Response Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Analytic Damage and Point-Defect Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Implantation Damage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Point-Defect Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Backscattering Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Multiple Implantation Steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Preamorphization Implantation (PAI) Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Coimplant Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Profile Reshaping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Ge-dependent Analytic Implantation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Analytic Molecular Implantation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Molecular Implantation with Supplied Implant Tables . . . . . . . . . . . . . . . . . . . . 127
Damage Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Performing 1D or 2D Analytic Implantation in 3D Mode. . . . . . . . . . . . . . . . . . . . . 128
Implantation on (110)/(111) Wafers Using (100) Implant Tables. . . . . . . . . . . . . . . 129
Boundary Conditions and Domain Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Extended Boundary Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Reflective Boundary Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Periodic Boundary Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Monte Carlo Implantation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Running Sentaurus MC or Crystal-TRIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

vi Sentaurus Process User Guide


H-2013.03
Contents

Structure of Target Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134


Composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Single-Crystalline Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Amorphous Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Polycrystalline Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Molar Fractions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Sentaurus MC Physical Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Binary Collision Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Electronic Stopping Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Damage Accumulation and Dynamic Annealing . . . . . . . . . . . . . . . . . . . . . . . . . 147
Crystal-TRIM Physical Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Single-Crystalline Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Amorphous Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Damage Buildup and Crystalline–Amorphous Transition . . . . . . . . . . . . . . . . . . 156
Internal Storage Grid for Implantation Damage. . . . . . . . . . . . . . . . . . . . . . . . . . 157
Molecular Implantations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
MC Implantation into Polysilicon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
MC Implantation into Compound Materials with Molar Fractions. . . . . . . . . . . . . . 161
MC Implantation into Silicon Carbide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Recoil Implantation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Plasma Implantation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Simple Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Complex Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Deposition of Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Knock-on and Knock-off Effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Conformal Doping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Other Plasma Implantation–related Parameters and Procedures . . . . . . . . . . . . . 168
MC Implantation Damage and Point-Defect Calculation . . . . . . . . . . . . . . . . . . . . . 169
Sentaurus MC Damage Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Crystal-TRIM: Damage Probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Point Defects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Statistical Enhancement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Trajectory Splitting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Dose Split . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Trajectory Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Boundary Conditions and Domain Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Transparent Boundary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Periodic Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Reflective Boundary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
TrueReflect Boundary Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Extending the Simulation Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

Sentaurus Process User Guide vii


H-2013.03
Contents

Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Smoothing Implantation Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Automatic Extraction of Implant Moments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Required Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Optional Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Output Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Utilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Loading External Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Loading Files Using [Link] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Automated Monte Carlo Run. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Multithreaded Parallelization of 3D Analytic Implantation . . . . . . . . . . . . . . . . . . . . . . 185
Multithreaded Parallelization of Sentaurus MC Implantation . . . . . . . . . . . . . . . . . . . . 185
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

Chapter 4 Diffusion 189


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Basic Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Obtaining Active and Total Dopant Concentrations . . . . . . . . . . . . . . . . . . . . . . . . . 192
Transport Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Recombination and Reaction Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Other Materials and Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
General Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Transport Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
ChargedReact Diffusion Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
React Diffusion Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
ChargedPair Diffusion Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Pair Diffusion Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
ChargedFermi Diffusion Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Fermi Diffusion Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Constant Diffusion Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
NeutralReact Diffusion Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Carbon Diffusion Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Nitrogen Diffusion Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Mobile Impurities and Ion-Pairing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Solid Phase Epitaxial Regrowth Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Level-Set Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Phase Field Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Flash or Laser Anneal Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Dopant Diffusion in Melting Laser Anneal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Saving a Thermal Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

viii Sentaurus Process User Guide


H-2013.03
Contents

Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225


Structure Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Intensity Models for Flash Anneal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Gaussian Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Table Lookup Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
User-specified Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Intensity Model for Scanning Laser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Control Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Diffusion in Polysilicon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Isotropic Diffusion Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Grain Shape and the Grain Growth Equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Diffusion Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Anisotropic Diffusion Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Diffusion in Grain Interiors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Grain Boundary Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Diffusion along Grain Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Segregation Between Grain Interior and Boundaries . . . . . . . . . . . . . . . . . . . . . . 241
Grain Size Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Surface Nucleation Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Grain Growth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Interface Oxide Breakup and Epitaxial Regrowth . . . . . . . . . . . . . . . . . . . . . . . . 245
Dependence of Polysilicon Oxidation Rate on Grain Size. . . . . . . . . . . . . . . . . . 247
Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Boundary Conditions for Grain Growth Equation . . . . . . . . . . . . . . . . . . . . . . . . 248
Dopant Diffusion Boundary Conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Dopant Diffusion in SiGe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Bandgap Effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Potential Equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Effects on Point-Defect Equilibrium Concentrations . . . . . . . . . . . . . . . . . . . . . . . . 252
Effect of Ge on Point-Defect Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Impact of Ge on Extended-Defect Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Impact of Dopant Diffusivities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
SiGe Strain and Dopant Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Germanium–Boron Pairing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Initializing Germanium–Boron Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Diffusion in III–V Compounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Material Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Physical Parameter Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Dopant Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
ChargedReact Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

Sentaurus Process User Guide ix


H-2013.03
Contents

Fermi Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261


Constant Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Activation Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Point-Defect Diffusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Poisson Equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Pressure-dependent Defect Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Electron Concentration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Bandgap Narrowing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Epitaxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Epi Doping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Epi Auto-Doping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Epi Doping Using Resistivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Epi Growth Settings: Low-Temperature Epitaxy . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Simulating Facet Growth during Selective Epitaxy . . . . . . . . . . . . . . . . . . . . . . . . . 275
Controlling Where Facets Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Time-stepping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Other Effects on Dopant Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Pressure-dependent Dopant Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Diffusion Prefactors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
High-Concentration Effects on Dopant Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Hydrogen Effects on Dopant Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Dopant Activation and Clustering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Dopant Active Model: None . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Dopant Active Model: Solid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Dopant Active Model: Precipitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Initializing Precipitation Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Dopant Active Model: Transient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Initializing Transient Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Dopant Active Model: Cluster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Initializing Cluster Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Dopant Active Model: NeutralCluster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Initializing NeutralCluster Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Carbon Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Nitrogen Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Dopant Active Model: FVCluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Initializing the FVCluster Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Dopant Active Model: Equilibrium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Dopant Active Model: BIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Initializing BIC Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Dopant Active Model: ChargedCluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Initializing ChargedCluster Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

x Sentaurus Process User Guide


H-2013.03
Contents

Dopant Active Model: ComplexCluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299


Initializing ComplexCluster Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Dopant and Dopant-Defect Cluster Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Dopant Trapping at EOR Defects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Initializing Dopant Trapping in EOR Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Defect Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Defect Cluster Model: None . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Defect Cluster Model: Equilibrium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Defect Cluster Model: 311. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Initializing 311 Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Defect Cluster Model: Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Direct Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Size-dependent Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Initializing Loop Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Defect Cluster Model: LoopEvolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Initializing LoopEvolution Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Defect Cluster Model: FRENDTECH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Initializing FRENDTECH Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Defect Cluster Model: 1Moment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Interstitial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Vacancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Initializing 1Moment Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Defect Cluster Model: 2Moment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Interstitial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Vacancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Initializing 2Moment Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Defect Cluster Model: Full . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Interstitial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Vacancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Initializing Full Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Ion Implantation to Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Initializing Solution Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
HomNeumann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Natural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Surface Recombination Model: PDependent . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Surface Recombination Model: InitGrowth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Surface Recombination Model: Simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Surface Recombination Model: Normalized . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Modifying Point-Defect Equilibrium Values at Surface . . . . . . . . . . . . . . . . . . . 348
Segregation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

Sentaurus Process User Guide xi


H-2013.03
Contents

Surface Recombination Model: Default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349


Surface Recombination Model: PairSegregation . . . . . . . . . . . . . . . . . . . . . . . . . 349
Dirichlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
ThreePhaseSegregation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Surface Recombination Model: Default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Surface Recombination Model: PairSegregation . . . . . . . . . . . . . . . . . . . . . . . . . 355
Trap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
TrapGen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Continuous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Periodic Boundary Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Boundary Conditions at Moving Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Enhanced and Retarded Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Conserving Dose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Common Dopant and Defect Dataset Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364

Chapter 5 Atomistic Kinetic Monte Carlo Diffusion 369


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
KMC Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Operating Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Atomistic Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Implant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Diffuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Nonatomistic Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Atomistic/Nonatomistic Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Sano Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Simulation Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Recommended Domain Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Internal Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Randomization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Parallelism. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
How Parallelism Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Estimating CPU Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Atomistic Diffusion Simulation with Sentaurus Process KMC . . . . . . . . . . . . . . . . . . . 383
Units. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Space Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Materials and Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Supported Materials. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Material Alloying. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389

xii Sentaurus Process User Guide


H-2013.03
Contents

Point Defects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390


Ambiguous Alloying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Time Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Simulation and CPU Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Parallelism and CPU Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Movie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Time Internal Representation and Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Particle Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Particles in Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Particles and Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Undefining Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Defect Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects . . . . . . . . . . . . 403
Interstitials and Vacancies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Impurities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Migration (Diffusion) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Breakup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Percolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Parameter Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Hopping Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
The short Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
The long Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
The double Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
The longdouble Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Enabling and Disabling Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Interaction Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Defining Nonstandard Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Interaction Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
Stress Effects on Point Defects, Impurities, Dopants, and Impurity-Paired Point Defects
416
Migration Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Binding Energy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Alloys. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Alloy Diffusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Alloy Effects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420

Sentaurus Process User Guide xiii


H-2013.03
Contents

Introducing Alloys in the Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420


Damage Accumulation Model: Amorphous Pockets . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Growth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Recombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Emission. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Amorphous Pockets Life Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Interactions of Amorphous Pockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Interaction with Point Defects: I and V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Interaction with Impurities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Extended Defects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
{311} Defects (ThreeOneOne) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Emission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Recombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Dislocation Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Emission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Voids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Emission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Recombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
Amorphization and Recrystallization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
Amorphous Defects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Material. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Growth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Recombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Diffusion in Amorphous Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Direct diffusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Indirect Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445

xiv Sentaurus Process User Guide


H-2013.03
Contents

Impurity Clusters in Amorphous Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447


Recrystallization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
KMC: Quasiatomistic Solid Phase Epitaxial Regrowth . . . . . . . . . . . . . . . . . . . . 448
LKMC: Fully Atomistic Modeling of Solid Phase Epitaxial Regrowth . . . . . . . 451
Defect Generation during SPER. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Redistributing Damage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Impurity Sweep/Deposit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
Impurity Clusters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Growth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Initial Seeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Percolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Emission. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Recombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Frank–Turnbull Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Complementary Recombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Complementary Emission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Charge Dependency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Neutral Reactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Nonneutral Reactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Interactions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
Complex Impurity Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Setting Up Impurity Clusters in a Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Fermi-Level Effects: Charge Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
Sentaurus Process KMC Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Assumptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Formation Energies for Charged Species . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Binding Energies for Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Binding Energies for Impurity Clusters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Temperature Dependency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482

Sentaurus Process User Guide xv


H-2013.03
Contents

Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Charge Attractions and Repulsions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Fermi-Level Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Updating Charged States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Electronic Concentrations and Charge-State Ratios. . . . . . . . . . . . . . . . . . . . . . . 485
Mobile Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Pairing and Breakup Reactions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Electric Drift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
Bandgap Narrowing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
Narrowing due to Dopant Concentration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
Narrowing due to Strain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Narrowing due to Presence of an Alloy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Bandgap Narrowing Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Charge Model and Boron Diffusion Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
Charge Model and Arsenic Diffusion Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
Interfaces and Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Different Interface Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Interfaces for Self-Silicon Point Defects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Emission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Stress. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Alloys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
Oxidation-enhanced Diffusion (OED) Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Interfaces for Impurities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Simple Material Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Full Material Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
Oxidation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
Epitaxial Deposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Including New Impurities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Impurities Diffusing without Pairing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Normal Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Diffusion without Pairing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Models Used Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Particle Distribution Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
Cluster Distribution Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
Defect Activity Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
Interactions Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518

xvi Sentaurus Process User Guide


H-2013.03
Contents

PointDefect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
AmorphousPocket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
ThreeOneOne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
ImpurityCluster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
Event Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
PointDefect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
AmorphousPocket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
ThreeOneOne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
ImpurityCluster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
Amorphous Defects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
Lattice Atoms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
Simple Materials. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
Extracting KMC-related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
Transferring Fields from KMC to Continuum Information: deatomize . . . . . . . . . . 524
Smoothing Out Deatomized Concentrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Adding and Obtaining Defects in Simulations: add, [Link], and [Link] . 527
Using the Sentaurus Process Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
The select, print, WritePlx, and plot Commands . . . . . . . . . . . . . . . . . . . . . . . . . 529
The init Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
The struct Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
The load Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
The deposit Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
The diffuse Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Nonatomistic Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Atomistic Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Calling Directly the Sentaurus Process KMC Kernel . . . . . . . . . . . . . . . . . . . . . . . . 531
Writing and Displaying TDR Files with KMC Information . . . . . . . . . . . . . . . . 532
Inquiring about KMC Profiles, Histograms, and Defects . . . . . . . . . . . . . . . . . . . . . 535
The histogram Option. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
The profile Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
The supersaturation Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
The defects Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
The dose Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
The materials Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
The acinterface Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Common Dopant and Point-Defect Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Advanced Calibration for Sentaurus Process KMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554

Sentaurus Process User Guide xvii


H-2013.03
Contents

Chapter 6 Alagator Scripting Language 559


Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Binary and Unary Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Simple Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
Differential Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
Special Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
The diag Operator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
String Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Solution Names and Subexpressions: Terms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Constants and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Alagator for Diffusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Setting Boundary Conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Dirichlet Boundary Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Segregation Boundary Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Natural Boundary Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Interface Traps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
External Boundary Condition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Using Terms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Callback Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Callbacks during Execution of diffuse Command . . . . . . . . . . . . . . . . . . . . . . . . 571
Using Callback Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
Setup Procedure: InitProc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
Preprocessing and Postprocessing Data: diffPreProcess, UserDiffPreProcess,
diffPostProcess, UserDiffPostProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
Complex Initialization Procedures: InitSolve and EquationInitProc . . . . . . . . . . 580
Diffusion Summary: pdb, TclLib, [Link] . . . . . . . . . . . . . . . . . . . . . . 582
Alagator for Generic Growth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
Epi Reactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
Callback Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
Setup Procedure: InitGrowth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
Equation Procedure: EquationGrowthProc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Epitaxy Growth Rate: GrowthRateProc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Generic Growth Summary: pdb, TclLib, [Link] . . . . . . . . . . . . . . . . . 594
Modifying Diffusion Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
UserAddEqnTerm and UserSubEqnTerm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
UserAddToTerm and UserSubFromTerm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598

xviii Sentaurus Process User Guide


H-2013.03
Contents

Chapter 7 Advanced Calibration 599


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Using Advanced Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
Additional Calibration by Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600

Chapter 8 Oxidation and Silicidation 603


Oxidation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
Basic Oxidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
Temperature Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
Ambients and Gas Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Specifying Gas Flows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
Computing Partial Pressures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
In Situ Steam-generated Oxidation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
Oxidant Diffusion and Reaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
Transition to Linear and Parabolic Rate Constants . . . . . . . . . . . . . . . . . . . . . . . 610
Massoud Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
Orientation-dependent Oxidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
Stress-dependent Oxidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
Trap-dependent Oxidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
Dopant-dependent Oxidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
Diffusion Prefactors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
Oxidation with Dielectric on Top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
N2O Oxidation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
In Situ Steam-generated Oxidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
Silicide Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
TiSi2 Growth Kinetics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
TiSi2 Formation Reactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Tungsten-, Cobalt-, and Nickel-Silicide Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Stress-dependent Silicidation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Oxygen-retarded Silicidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
Triple-Point Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
Dopants and Defects in Oxides and Silicides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
Numerics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
Outer Time Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
Inner Time Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628

Sentaurus Process User Guide xix


H-2013.03
Contents

Chapter 9 Computing Mechanical Stress 629


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
Material Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
Viscoelastic Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
Purely Viscous Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
Shear Stress–dependent Viscosity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
Purely Elastic Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
Anisotropic Elastic Materials. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
Cubic Crystal Anisotropy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
Orthotropic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Plastic Materials. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
Incremental Plasticity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
Deformation Plasticity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
Viscoplastic Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Anand Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Power Law Creep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
Swelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
Mole Fraction–dependent Mechanical Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
Temperature-dependent Mechanical Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
Plane Stress Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Equations: Global Equilibrium Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
Example: Applying Boundary Conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
Pressure Boundary Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
Advanced Dirichlet Boundary Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
Periodic Boundary Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
Time Step Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
Stress-causing Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
Stress Induced by Growth of Material. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
Densification-induced Stress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
Selectively Switching Off Grid Movement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
Stress Caused by Thermal Mismatch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
Lattice Mismatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
Using the Lattice Mismatch Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
Total Concentration Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
Reference Concentration Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
Strained Deposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
Edge Dislocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
Intrinsic Stress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
Stress Rebalancing after Etching and Deposition . . . . . . . . . . . . . . . . . . . . . . . . . . . 664

xx Sentaurus Process User Guide


H-2013.03
Contents

Automated Tracing of Stress History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664


Saving Stress and Strain Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
Description of Output Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
Tracking Maximum Stresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670

Chapter 10 Mesh Generation 673


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Mesh Refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
Viewing Mesh Refinement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
Static Refinement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
Standard Refinement Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
Interface Refinement Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
Interface Offsetting Refinement Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
Refinement Inside a Mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
Refinement Near Mask Edges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
Adaptive Refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
Adaptive Refinement Criteria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
Localizing Adaptive Meshing using refinebox Command. . . . . . . . . . . . . . . . . . 686
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
Adaptive Meshing during Diffusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
Adaptive Meshing during Implantation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
Tips for Adaptive Meshing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
Default Refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
Refinement Box Manipulations: Using [Link] . . . . . . . . . . . . . . . . . 691
Mesh Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
Controlling Mesh during Oxidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
TS4 Mesh Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
Control Parameters in TS4Mesh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
Moving Mesh and Mechanics Displacements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
Grid Spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
Grid Cleanup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
Maximum-allowed Rate of Growth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
Miscellaneous Tricks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
Meshing for 3D Oxidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
MovingMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
UseLines: Keeping User-defined Mesh Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
Using line Commands after init Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
Dimension within Current Spatial Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
Dimension Greater Than Current Spatial Dimension. . . . . . . . . . . . . . . . . . . . . . 703
Creating More Than One Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703

Sentaurus Process User Guide xxi


H-2013.03
Contents

The UseLines and transform Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704


The reflect Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
The stretch Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705
The rotate Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705
The translate Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705
The cut Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705
Testing line Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705
Showing Clearing Lines for a New Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
Data Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707

Chapter 11 Structure Generation 709


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709
Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709
Etching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
Deposition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
Masks and Photoresist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
Geometry Creation and Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
Etching and Deposition Types and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
Etching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
Etching Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
Etching Type: Isotropic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
Etching Types: Anisotropic and Directional . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
Etching Types: Polygonal and CMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
Etching Type: Fourier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
Etching Type: Crystallographic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
Etching Type: Trapezoidal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
Etching Type: Piecewise Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
Deposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
Mask Naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
Deposition Type: Isotropic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
Deposition Types: Fill and Polygonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
Deposition Type: Crystallographic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
Deposition Type: Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732
Selective Deposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
Fields in Deposited Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
Stress Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
Shape Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
PolyHedronSTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
PolyHedronSTIaccc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737

xxii Sentaurus Process User Guide


H-2013.03
Contents

PolyHedronSTIaccv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738
PolyHedronCylinder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
PolygonWaferMask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
PolyHedronEpiDiamond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740
The mask and photo Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
Photoresist Masks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744
Boolean Masks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744
Line Edge Roughness Effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
Geometry Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
Refinement Handling during Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
Contact Handling during Transformation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
The transform reflect Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
Refinement Handling during Reflection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
The transform stretch Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
Refinement Handling during Stretch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
The transform cut Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
Refinement Handling during Cut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
The transform flip Command and Backside Processing . . . . . . . . . . . . . . . . . . . . . . 752
Refinement Handling during Flip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
The transform rotate Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
Refinement Handling during Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
The transform translate Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
MGOALS Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
MGOALS Boundary-moving Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
MGOALS Boundary-moving Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756
MGOALS 3D Boundary-moving Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
Summary of MGOALS Etching and Deposition Algorithms . . . . . . . . . . . . . . . . . . 759
MGOALS Backward Compatibility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
Boundary Repair Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
Inserting Segments in One Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
Inserting Polygons in Two Dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
Inserting Polyhedra in Three Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
Reading Polyhedra from a TDR Boundary File . . . . . . . . . . . . . . . . . . . . . . . . . . 763
Creating a Rectangular Prism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
Extruding a 2D Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
Creating a Polyhedron from Its Constituent Polygonal Faces . . . . . . . . . . . . . . . 764
Sentaurus Structure Editor Interface: External Mode. . . . . . . . . . . . . . . . . . . . . . 764
Inserting Polyhedra. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
3D Structure Assembly in MGOALS3D Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766
Multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
Sentaurus Structure Editor Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767

Sentaurus Process User Guide xxiii


H-2013.03
Contents

Sentaurus Topography Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770


Sentaurus Topography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771
Sentaurus Topography 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
Using Polygon and Rectangle Mask in 2D Simulation . . . . . . . . . . . . . . . . . . . . . . . 773
3D Etching after 2D LOCOS Simulation (Sentaurus Structure Editor Interface) . . . 774
Using Layout File for 3D Etching (Sentaurus Structure Editor Interface) . . . . . . . . 776
3D Trench Etching, Sloped Sidewall with Predefined Angle (Sentaurus Structure Editor
Interface). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
3D Etching after 2D LOCOS Simulation using MGOALS3D . . . . . . . . . . . . . . . . . 782
Structure Assembly in MGOALS3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
Polygon Creation and Insertion in MGOALS2D . . . . . . . . . . . . . . . . . . . . . . . . . . . 786
Polyhedron Creation and Insertion in MGOALS3D . . . . . . . . . . . . . . . . . . . . . . . . . 789
Reading a TDR file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
Extruding a 2D Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
Creating a Polyhedron using Polygons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
Defining a Brick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793

Chapter 12 ICWBEV Plus Interface for Layout-driven Simulations 795


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
ICWBEV Plus Introduction for TCAD Users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
Opening GDSII Layout Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
Graphical User Interface of ICWBEV Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
Sentaurus Markups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
Stretch Utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800
Renaming Markups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802
Auxiliary Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
Editing Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
Resizing a Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804
Converting a Rectangle to a Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804
Nonaxis-aligned Simulation Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
Files Relevant to ICWBEV Plus–TCAD Sentaurus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
Saving the Sentaurus Markup File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
Contents of Sentaurus Markup File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807
Reloading the Markup File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808
Saving the TCAD Layout File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809
Contents of TCAD Layout File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809
Reloading the TCAD Layout File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
ICWBEV Plus Batch Mode and Macros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
Starting ICWBEV Plus in Batch Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811

xxiv Sentaurus Process User Guide


H-2013.03
Contents

ICWBEV Plus Macros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811


Tcl-based Macros for Layout Parameterization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
TCAD Layout Reader of Sentaurus Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812
Loading the TCAD Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812
Finding Simulation Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813
Finding Layer Names and Layer IDs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813
Selecting the Simulation Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
Finding Domain Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
Finding Bounding Box of Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
Interface with line Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815
Creating Masks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815
Layout-driven Meshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
Layout-driven Contact Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819
Aligning Wafer and Simulation Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
Additional Query Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822

Chapter 13 Extracting Results 825


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
Saving Data Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
Selecting Fields for Viewing or Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826
Obtaining 1D Data Cuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827
Determining the Dose: Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
Extracting Values and Level Crossings: interpolate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830
Extracting Values during diffuse Step: extract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830
Fitting Routines: FitLine, FitArrhenius, FitPearson, and FitPearsonFloor. . . . . . . . . . . 831
Resistivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832
Sheet Resistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835

Chapter 14 Numerics 837


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837
Setting Parameters of the Iterative Solver ILS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
Partitioning and Parallel Matrix Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
Matrix Size Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842
Node and Equation Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
Time Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
Time-Step Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844
Time-Step Control for PDEs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844
Error Control for PDEs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846

Sentaurus Process User Guide xxv


H-2013.03
Contents

Time-Step Control for Mechanics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847


Convergence Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847
Time-Step Adjustment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
Time-Step Cutback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850

Appendix A Sentaurus Process Commands 851


Example Layout of Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854
ambient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
ArrBreak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
Arrhenius. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
beam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858
bound. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859
Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860
contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861
contour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
CutLine2D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866
define. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
defineproc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868
DeleteRefinementboxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869
deposit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870
diffuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875
doping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883
element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
Enu2G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886
Enu2K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887
equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888
etch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889
exit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894
extract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895
fbreak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896
fcontinue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897
fexec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898
fproc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
fset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900
gas_flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901
graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904
grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906
help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915

xxvi Sentaurus Process User Guide


H-2013.03
Contents

icwb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916
[Link] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919
[Link] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
[Link] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922
[Link] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
implant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
insert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942
integrate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945
interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
interpolate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950
KG2E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952
KG2nu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
kmc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
KMC2PDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966
layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967
line. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969
line_edge_roughness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971
load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973
LogFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976
mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977
mater . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982
math. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 984
mgoals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 992
paste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997
pdbDelayDouble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998
pdbdiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999
pdbDopantLike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1000
pdbExprDouble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
pdbGet and Related Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002
pdbIsAvailable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004
pdbSet and Related Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005
pdbUnSet-related Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008
PDE2KMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1009
photo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1010
plot.1d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1011
plot.2d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013
[Link]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1016
[Link] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021
point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1022
[Link] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023

Sentaurus Process User Guide xxvii


H-2013.03
Contents

polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024
polyhedron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027
PowerDeviceMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1029
print.1d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
[Link] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033
RangeRefineboxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036
reaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038
refinebox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040
region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047
sde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1050
select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053
SetAtomistic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056
SetDFISEList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057
SetDielectricOxidationMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058
SetFastMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059
SetPlxList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1060
SetTDRList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061
SetTemp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062
SetTS4ImplantMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063
SetTS4MechanicsMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064
SetTS4OxidationMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065
SetTS4PolyMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066
SheetResistance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067
simDelayDouble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068
simGetBoolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1069
simGetDouble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1070
simSetBoolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1071
simSetDouble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072
slice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1073
smooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1075
solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076
sptopo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1078
stdiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
strain_profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1080
stressdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1081
StressDependentSilicidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084
strip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1085
struct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086
substrate_profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090
tclsel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1091

xxviii Sentaurus Process User Guide


H-2013.03
Contents

temp_ramp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1093
term . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099
topo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1101
transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1102
[Link]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106
translate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1109
UnsetAtomistic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1110
UnsetDielectricOxidationMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1111
update_substrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1112
WritePlx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1113

Sentaurus Process User Guide xxix


H-2013.03
Contents

xxx Sentaurus Process User Guide


H-2013.03
About This Guide
Sentaurus Process is an advanced 1D, 2D, and 3D process simulator suitable for silicon and
nonsilicon semiconductor devices. It features modern software architecture and state-of-the-art
models to address current and future process technologies.

Sentaurus Process simulates all standard process simulation steps, diffusion, implantation,
Monte Carlo (MC) implantation (Taurus MC or Crystal-TRIM), oxidation, etching, deposition,
and silicidation. Capabilities in 3D include meshing of 3D boundary files through the
MGOALS library, implantation through the Imp3D module from FhG Erlangen, mechanics
(stress and strain), diffusion, a limited capability for 3D oxidation, and an interface to
Sentaurus Structure Editor, which is the 3D geometry editing tool based on the ACIS solid
modeling library.

Sentaurus Process uses the Alagator scripting language that allows users to solve their own
diffusion equations. Alagator can be used to solve any diffusion equation including dopant,
defect, impurity, and oxidant diffusion equations. Simulation of 3D diffusion is handled exactly
as for 1D and 2D. Therefore, all the advanced models and user programmability available in
1D and 2D can be used in 3D. In addition, a set of built-in calibrated parameters is available
with Advanced Calibration.

The main chapters are:


■ Chapter 1 describes how to run Sentaurus Process.
■ Chapter 2 presents an overview of how Sentaurus Process operates.
■ Chapter 3 presents the ion implantation technique used in Sentaurus Process.
■ Chapter 4 provides information on the dopant and defect diffusion models and parameters.
■ Chapter 5 describes atomistic kinetic Monte Carlo diffusion.
■ Chapter 6 discusses the Alagator scripting language for solving diffusion equations.
■ Chapter 7 provides details about using Advanced Calibration in Sentaurus Process.
■ Chapter 8 describes the oxidation models.
■ Chapter 9 describes the computation of mechanical stress.
■ Chapter 10 describes the mesh algorithms and meshing parameters available in Sentaurus
Process.
■ Chapter 11 discusses etching and deposition, and other geometry manipulations available
in Sentaurus Process.
■ Chapter 12 presents strategies for using the IC WorkBench EV Plus–TCAD Sentaurus
interface.
■ Chapter 13 presents strategies for analysing simulation results.

Sentaurus Process User Guide xxxi


H-2013.03
About This Guide
Audience

■ Chapter 14 discusses numerics-related issues, time integration methods, and the linear
solvers used in Sentaurus Process.
■ Appendix A lists the available commands, including descriptions, options, and examples.

Audience
This user guide is intended for users of the Sentaurus Process software package.

Related Publications
For additional information about Sentaurus Process, see:
■ The TCAD Sentaurus release notes, available on SolvNet (see Accessing SolvNet on
page xxxiii).
■ Documentation available through SolvNet at [Link]

Typographic Conventions
Convention Explanation

<> Angle brackets

{} Braces

[] Brackets

() Parentheses

Blue text Identifies a cross-reference (only on the screen).

Bold text Identifies a selectable icon, button, menu, or tab. It also indicates the name of a field or an
option.

Courier font Identifies text that is displayed on the screen or that the user must type. It identifies the names
of files, directories, paths, parameters, keywords, and variables.

Italicized text Used for emphasis, the titles of books and journals, and non-English words. It also identifies
components of an equation or a formula, a placeholder, or an identifier.

Menu > Command Indicates a menu command, for example, File > New (from the File menu, select New).

NOTE: Identifies important information.

xxxii Sentaurus Process User Guide


H-2013.03
About This Guide
Customer Support

Customer Support
Customer support is available through SolvNet online customer support and through
contacting the Synopsys support center.

Accessing SolvNet
SolvNet includes an electronic knowledge base of technical articles and answers to frequently
asked questions about Synopsys tools. SolvNet also gives you access to a wide range of
Synopsys online services, which include downloading software, viewing documentation, and
entering a call to the Synopsys support center.

To access SolvNet:
1. Go to the SolvNet Web page at [Link]
2. If prompted, enter your user name and password. (If you do not have a Synopsys user name
and password, follow the instructions to register with SolvNet.)

If you need help using SolvNet, click Help on the SolvNet menu bar.

Contacting Synopsys Support


If you have problems, questions, or suggestions, you can contact Synopsys support in the
following ways:
■ Go to the Synopsys Global Support Centers site on [Link]. There you can find
e-mail addresses and telephone numbers for Synopsys support centers throughout the
world.
■ Go to either the Synopsys SolvNet site or the Synopsys Global Support Centers site and
open a case online (Synopsys user name and password required).

Sentaurus Process User Guide xxxiii


H-2013.03
About This Guide
Acknowledgments

Contacting Your Local TCAD Support Team Directly


Send an e-mail message to:
■ support-tcad-us@[Link] from within North America and South America.
■ support-tcad-eu@[Link] from within Europe.
■ support-tcad-ap@[Link] from within Asia Pacific (China, Taiwan, Singapore,
Malaysia, India, Australia).
■ support-tcad-kr@[Link] from Korea.
■ support-tcad-jp@[Link] from Japan.

Acknowledgments
Sentaurus Process is based on the 2000 and 2002 releases of FLOOPS written by
Professor Mark Law and coworkers at the University of Florida. Synopsys acknowledges the
contribution of Professor Law and his advice in the development of Sentaurus Process. For
more information about TCAD at the University of Florida, visit
[Link]

Sentaurus Process Kinetic Monte Carlo is based on DADOS written by Professor Martin Jaraiz
and coworkers at the University of Valladolid, Spain. Synopsys acknowledges Professor Jaraiz’
contribution and advice. For more information, visit [Link]
[Link].

xxxiv Sentaurus Process User Guide


H-2013.03
CHAPTER 1 Getting Started

This chapter describes how to run Sentaurus Process and guides you
through a series of examples.

This chapter is not a comprehensive reference but is intended to introduce some of the more
widely used features of Sentaurus Process in a realistic context. For new users, the sections
Interactive Mode on page 44, Syntax for Creating Input Command Files on page 48, and
Creating the Structure and Initializing Data on page 69 would be useful to refer to while
reading this chapter. For more advanced users who need to adjust model parameters, Like
Materials: Material Parameter Inheritance on page 55 would be useful. For the TCAD
Sentaurus Tutorial and examples, go to:
$STROOT/tcad/$STRELEASE/Sentaurus_Training/[Link]

where STROOT is an environment variable that indicates where the Synopsys TCAD
distribution has been installed, and STRELEASE indicates the Synopsys TCAD release number.

Overview
Sentaurus Process is a complete and highly flexible, multidimensional, process modeling
environment. With its modern software architecture and extensive breadth of capabilities,
Sentaurus Process is a state-of-the-art process simulation tool. Calibrated to a wide range of
the latest experimental data using proven calibration methodology, Sentaurus Process offers
unique predictive capabilities for modern silicon and nonsilicon technologies.

Sentaurus Process accepts as input a sequence of commands that is either entered from
standard input (that is, at the command prompt) or composed in a command file. A process
flow is simulated by issuing a sequence of commands that corresponds to the individual
process steps. You should place parameter settings in a separate file, which is sourced at the
beginning of input files using the source command.

Several commands allow you to select physical models and parameters, grid strategies, and
graphical output preferences if required. In addition, a special language (Alagator) allows you
to describe and implement your own models and diffusion equations.

Sentaurus Process User Guide 1


H-2013.03
1: Getting Started
Setting Up the Environment

Setting Up the Environment


The STROOT environment variable is the TCAD Sentaurus root directory, and you must set this
variable to the installation directory of TCAD Sentaurus. The STRELEASE environment
variable can be used to specify the release of the software to run, for example, H-2013.03. If
STRELEASE is not set, the default version is used which is usually the last version installed.

To set the environment variables:


1. Set the TCAD Sentaurus root directory environment variable STROOT to the TCAD
Sentaurus installation directory, for example:
* Add to .cshrc
setenv STROOT <Sentaurus directory>
* Add to .profile, .kshrc, or .bashrc
STROOT=<Sentaurus directory>; export STROOT
2. Add the <Sentaurus directory>/bin directory to the user path.
For example:
* Add to .cshrc:
set path=(<Sentaurus directory>/bin $path)
* Add to .profile, .kshrc, or .bashrc:
PATH=<Sentaurus directory>/bin:$PATH
export PATH

Starting Sentaurus Process


You can run Sentaurus Process in either the interactive mode or batch mode. In the interactive
mode, a whole process flow can be simulated by entering commands line-by-line as standard
input. To start Sentaurus Process in the interactive mode, enter the following on the command
line:
> sprocess

Sentaurus Process displays version and host information, followed by the Sentaurus Process
command prompt. You now can enter Sentaurus Process commands at the prompt:
sprocess>

2 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Using a Command File

This is a flexible way of working with Sentaurus Process to test individual process steps or
short sequences, but it is inconvenient for long process flows. It is more useful to compile the
command sequence in a command file, which can be run in batch mode or inside Sentaurus
Workbench.

To run Sentaurus Process in batch mode, load a command file when starting Sentaurus Process,
for example:
> sprocess [Link]

Starting Different Versions of Sentaurus Process


You can select a specific release and version number of Sentaurus Process using the -rel and
-ver options:
> sprocess -rel <rel_number> -ver <version_number>

For example:
> sprocess -rel G-2012.06

The command:
> sprocess -rel G-2012.06 -ver 1.2 nmos_fps.cmd

starts the simulation of nmos_fps.cmd using the 1.2 version of Release G-2012.06 as long as
this version is installed.

Using a Command File


As an alternative to entering Sentaurus Process commands line-by-line, the required sequence
of commands can be saved to a command file, which can be written entirely by users or
generated using Ligament. To save time and reduce syntax errors, you can copy and edit
examples of command files in this user guide or use Ligament to create a template.

If a command file has been prepared, run Sentaurus Process by typing the command:
sprocess <command_filename>

Alternatively, you can automatically start Sentaurus Process through the Scheduler in
Sentaurus Workbench. By convention, the command file name has the extension .cmd. (This is
the convention adopted in Sentaurus Workbench.)

Sentaurus Process User Guide 3


H-2013.03
1: Getting Started
Example: 1D Simulation

The command file is checked for correct syntax and then the commands are executed in
sequence until the simulation is stopped by the command exit or the end of the file is reached.
Since Sentaurus Process is written as an extension of the tool command language (Tcl), all Tcl
commands and functionalities (such as loops, control structures, creating and evaluating
variables) are available in the command files. This results in some limitations in syntax control
if the command file contains complicated Tcl commands. Syntax-checking can be switched off
with the command-line option -n, for example:
sprocess -n inputfile

Sentaurus Process ignores character strings starting with # (although Sentaurus Workbench
interprets # as a special character for conditional statements). Therefore, this special character
can be used to insert comments in the simulation command file.

A file with the extension .log is created automatically whenever Sentaurus Process is run from
a command line, that is, outside the Sentaurus Workbench environment. This file contains the
run-time output, which is generated by Sentaurus Process and is sent to standard output. When
Sentaurus Process is run by using a command file <root_filename>_fps.cmd, the output
file is named <root_filename>_fps.log.

When Sentaurus Process is run in Sentaurus Workbench, no log file is created. Instead, the file
<root_filename>_fps.out is generated as a copy of the standard output. For a complete
list of all commands, see Appendix A on page 851.

Example: 1D Simulation
Many widely used process and control commands are introduced in the context of a nominal
0.18 μm n-channel MOSFET process flow. The MOSFET structure is simulated in 1D and
2D, and the processing of the isolation is excluded.

In this section, a simple 1D process simulation is performed.

Defining Initial 1D Grid


The initial 1D grid is defined with the line command:
line x location=0.0 spacing= 1<nm> tag=SiTop
line x location= 10<nm> spacing= 2<nm>
line x location= 50<nm> spacing= 10<nm>
line x location=300<nm> spacing= 20<nm>
line x location=0.5<um> spacing= 50<nm>
line x location=2.0<um> spacing=0.2<um> tag=SiBottom

4 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Example: 1D Simulation

The first argument of the line specifies the direction of the grid. For 1D, this is always x.

The grid spacing is defined by pairs of the location and spacing keywords. The keyword
spacing defines the spacing between two grid lines at the specified location. Sentaurus
Process expands or compresses the grid spacing linearly in between two locations defined in
the line command.

NOTE Units in Sentaurus Process can be specified explicitly by giving the units
in angle brackets. For most cases, the default unit of length is
micrometer. Therefore, the statements location=2.0<um> and
location=2.0 are equivalent. In this section, units are given
explicitly.

You can label a line with the tag keyword for later use in the region command.

Defining Initial Simulation Domain


The initial simulation domain is defined with the region command:
region silicon xlo=SiTop xhi=SiBottom

The keyword silicon specifies the material of the region. The keywords xlo and xhi take
tags as arguments, which are defined in the line command.

NOTE For 2D and 3D, the additional keywords ylo, yhi, zlo, and zhi are
used to define rectangular or cuboidal regions. In general, the initial
simulation domain can consist of several regions.

Initializing the Simulation


The simulation is initialized with the init command:
init concentration=1.0e15<cm-3> field=Boron

Here, the initial boron concentration in the silicon wafer (as defined in the previous region
15 –3
command) is set to 10 cm .

Sentaurus Process User Guide 5


H-2013.03
1: Getting Started
Example: 1D Simulation

Setting Up a Meshing Strategy


The initial grid is valid until the first command that changes the geometry, such as oxidation,
deposition, and etching. For these steps, a remeshing strategy must be defined.

The Sentaurus Mesh meshing engine tries to preserve the initial mesh as much as possible and
only modifies the mesh in the new layers and in the vicinity of the new interfaces.

To define a remeshing strategy, use:


pdbSet Grid SnMesh [Link] 0.003
pdbSet Grid SnMesh [Link].2d 1.4 ;# this is for 1D and 2D

where:
■ The parameter [Link] determines the grid spacing of the first layer starting
from the interface in micrometers.
■ The parameter [Link].2d determines how fast the grid spacing can
increase from one layer to another. This parameter is unitless.

Growing Screening Oxide


The 1D process simulation is started by thermally growing a thin layer of sacrificial screening
oxide:
gas_flow name=O2_1_N2_1 pressure=1<atm> flowO2=1.2<l/min> flowN2=1.0<l/min>
diffuse temperature=900<C> time=40<min> gas_flow=O2_1_N2_1

The gas_flow statement is used to specify the gas mixture. The name keyword defines a
gas_flow record for later use in a diffuse command. The pressure of the ambient gas is set
to 1 atm, and the flows of oxygen and nitrogen are set to 1.2 l/minute and 1.0 l/minute,
respectively.

NOTE Other gas flow parameters, such as ambient gases and partial pressures,
can be defined as well (see gas_flow on page 901 for details).

The thermal oxidation step is started with the diffuse command. Here, the wafer is exposed
to the oxidizing gases, defined in the gas_flow statement, for 20 minutes at an ambient
temperature of 900°C .

NOTE More options, such as temperature ramps and numeric parameters, are
available (see Oxidation on page 603 for details).

6 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Example: 1D Simulation

Sentaurus Process prints information about the progress of the oxidation step:
Anneal step: Time=40min, Ramp rate=0C/s, Temperature=900.0C
Temperature > minT. Diffusion: On Reaction: On Assembly: Serial
SProcess parallel assembly thread count = 1
Reaction : 0s to 0.0001s step : 0.0001s temp: 900.0C
SProcess Pardiso thread count = 1
Mechanics: 0s to 0.0001s step : 0.0001s temp: 900.0C
--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --
Initializing:
--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --
Initialization is done.
--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --
Diffusion: 0s to 0.0001s step (d): 0.0001s temp: 900.0C
Reaction : 0.0001s to 0.0001712s step : 7.125e-05s temp: 900.0C
Mechanics: 0.0001s to 0.0001712s step : 7.125e-05s temp: 900.0C
Diffusion: 0.0001s to 0.0001712s step (d): 7.125e-05s temp: 900.0C
Reaction : 0.0001712s to 0.0002387s step : 6.741e-05s temp: 900.0C
Mechanics: 0.0001712s to 0.0002387s step : 6.741e-05s temp: 900.0C
Diffusion: 0.0001712s to 0.0002387s step (d): 6.741e-05s temp: 900.0C
...
Reaction : 37.29min to 40min step : 2.714min temp: 900.0C
Mechanics: 37.29min to 40min step : 2.714min temp: 900.0C
Diffusion: 37.29min to 40min step (d): 2.714min temp: 900.0C

Elapsed time for diffuse 41.34s

Measuring Oxide Thickness


To measure the thickness of the thermally grown oxide, use:
select z=1
layers

The select command chooses a quantity for postprocessing. Selecting 1 is a way to obtain
the material thicknesses.

The layers command prints a list of regions with their respective top and bottom coordinates.
This command also gives the integral over the selected quantity in each region. Having selected
1, the integral equals the thickness:
{ Top Bottom Integral Material }
{ -6.178796082035e-03 3.676329713272e-03 9.855125795306e-07 Oxide }
{ 3.676329713272e-03 2.000000000000e+00 1.996323670287e-04 Silicon }

Here, 3.67 nm of silicon was consumed in the thermal oxidation process, and the final oxide
thickness is 9.85 nm.

Sentaurus Process User Guide 7


H-2013.03
1: Getting Started
Example: 1D Simulation

NOTE Internally, Sentaurus Process uses centimeters (cm) as the unit for
length.

Selecting boron, the output of layers command would look like:


{ Top Bottom Integral Material }
{ -6.178796082035e-03 3.676329713272e-03 3.012697967871e+09 Oxide }
{ 3.676329713272e-03 2.000000000000e+00 1.969873116640e+11 Silicon }
11 –2 15 –3
The integral boron concentration in the silicon layer is 1.97 × 10 cm = 10 cm
–4 –7
( 2 × 10 cm – 3.67 × 10 cm ), which is consistent with the specified wafer doping.

Depositing Screening Oxide


A faster alternative to the simulation of the oxide growth is to deposit an oxide layer and to
simulate afterwards a thermal cycle to account for the thermal budget during the oxidation.
This is an efficient way to emulate the creation of the screen oxide if oxidation-enhanced
diffusion (OED) and the silicon consumption during the oxidation are not important.

To deposit a 10 nm layer of screening oxide and perform a thermal cycle in an inert


environment, use:
deposit Oxide type=isotropic thickness=10.0<nm>
diffuse temperature=900<C> time=40<min>

The diffuse command assumes an inert environment if no gas flow is specified.

When you want to omit the oxide growth but OED is not negligible, specification of a reacting
ambient together with the following flag:
pdbSetBoolean Grid [Link] 0

switches on OED without applying velocities to the mesh nodes. This is often used in three
dimensions.

Tcl Control Statements


Tcl constructs can be freely used in the command file of Sentaurus Process. (For an
introduction to Tcl, refer to the Tool Command Language module in the TCAD Sentaurus
Tutorial.)

8 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Example: 1D Simulation

The following code segment simulates oxidation or performs a deposition depending on the
value of the Tcl variable SCREEN:
set SCREEN Grow
if { $SCREEN == "Grow" } {
#--- Growing screening oxide -----------------------------------------
gas_flow name=O2_1_N2_1 pressure=1<atm> flowO2=1.2<l/min> flowN2=1.0<l/min>
diffuse temperature=900<C> time=40<min> gas_flow=O2_1_N2_1

} else {
#--- Depositing screening oxide --------------------------------------
deposit Oxide type=isotropic thickness=10.0<nm>
diffuse temperature=900<C> time=40<min>
}

Implantation
14 –2
To implant arsenic with an energy of 50 keV, a dose of 10 cm , an implant tilt of 7° , and
a wafer rotation 0° , use:
implant Arsenic energy=50<keV> dose=1e14<cm-2> tilt=7<degree> \
rotation=0<degree>

Sentaurus Process reports:


Species = Arsenic
Dataset = Arsenic
Energy = 30keV
Dose (WaferDose) = 1e+14/cm2
BeamDose = 1.0075e+14/cm2
Tilt = 7deg
Rotation = 0deg
Temperature = 300.00K
Total implant time: 0.61sec
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Dose in: Silicon_1 Oxide_1 Total


Silicon Oxide
Boron 1.9699e+11 3.0127e+09 2.0000e+11
Arsenic 9.9703e+13 2.7722e+12 1.0247e+14
Int 9.4629e+07 7.8031e+02 1.1463e+08
Vac 8.9179e+09 1.3391e+06 8.9393e+09
ICluster 2.2353e+07 9.8551e+00 4.2353e+07
O2 1.9963e-04 2.6215e+10 3.6215e+10
B4 3.0629e-10 0.0000e+00 3.0629e-10
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Sentaurus Process User Guide 9


H-2013.03
1: Getting Started
Example: 1D Simulation

The report shows that due to the nonzero tilt angle, Sentaurus Process adapted the beam dose
so that the total dose deposited on the wafer is as specified. The slice angle denotes the angle
between the simulation plane and the normal to the wafer flat. By default, the simulation
domain is parallel to the wafer flat.

The report shows the integrated doping concentrations for each species and region.

Saving the As-Implanted Profile


To save the as-implanted profile, use:
SetPlxList { BTotal Arsenic_Implant }
WritePlx [Link]

The SetPlxList command defines which solution variables are to be saved in the .plx file.
Here, only the total (chemical) boron and the as-implanted arsenic concentrations are saved. If
the SetPlxList command is omitted, all available solutions are saved in the .plx file by
default.

Besides the file name, here [Link], the WritePlx command also accepts a material
specifier, which restricts the plot to the given material. For 2D and 3D structures, the x-, y-, or
z-coordinates of the 1D cutline must be given.

Figure 1 As-implanted arsenic profiles and background boron concentration

Figure 1 shows the as-implanted arsenic profiles and the background boron concentration. The
black vertical line marks the oxide–silicon interface. Note the boron depletion at the interface,
which is caused by boron segregation during the oxide growth.

Figure 1 is generated by loading the .plx file into Inspect with:


> inspect [Link]

10 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Example: 1D Simulation

Thermal Annealing, Drive-in, Activation, and Screening


Oxide Strip
To anneal the damage during implantation, or to drive the dopants deeper into the substrate, or
to activate the implanted dopants in an inert environment, use:
diffuse temperature=1000<C> time=30<min>
strip Oxide
SetPlxList { BTotal BActive AsTotal AsActive }
WritePlx [Link]

Here, the structure is annealed at a constant temperature of 1000°C for 30 minutes. The
annealing is performed in an inert gas because no particular environment is specified.

The annealed profiles are written to the file [Link]. The total (chemical)
concentration of boron and arsenic, as well as the respective electrically active (substitutional)
concentrations are saved.

Figure 2 Comparison of as-implanted and annealed arsenic profiles

Figure 2 compares the as-implanted and the annealed arsenic profiles. It is generated by
loading both .plx files into Inspect with:
> inspect [Link] [Link]

Sentaurus Process User Guide 11


H-2013.03
1: Getting Started
Example: 2D Simulation

Example: 2D Simulation
Many widely used process and control commands are introduced in the context of a nominal
0.18 μm n-channel MOSFET process flow. The MOSFET structure is simulated in 2D, and
the processing of the isolation is excluded. A simplified treatment is presented using only
default parameters and models.

Defining Initial Structure and Mesh Refinement


The command math [Link] is used to switch on the unified coordinate system (UCS).
Using the UCS is recommended because the default behavior is to rotate the structure when
saving and loading to the DF–ISE coordinate system. With the UCS, the structure is not
rotated. Therefore, the axes in Tecplot SV match the axes in the Sentaurus Process command
file. It is recommended to insert this as the first command in the command file.

The line command is used to:


■ Define the initial size of the structure.
■ Subdivide the structure.

Mesh refinement starts from the user-defined subdivisions; therefore, the specification of lines
helps to compartmentalize mesh refinement. In turn, compartmentalization of the mesh
prevents moving boundaries, and therefore, moving mesh refinement from affecting
geometrically static areas. Whenever mesh lines move, interpolation must be used to obtain
new field values, such as dopant concentrations, and this introduces errors in the simulation.

During the polysilicon reoxidation step, the oxide–silicon and oxide–polysilicon boundaries
move, and this interface movement may cause mesh lines to move as shown in the following
example:
line x location= 0.0
line x location= 3.0<nm> ;# just deeper than reox in silicon
line x location= 10.0<um>
line y location= 0.0
line y location= 85.0<nm> ;# just deeper than reox in poly
line y location= 0.4<um>

12 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Example: 2D Simulation

To minimize this effect, the silicon and polysilicon regions are isolated from the moving
interfaces by introducing lines immediately inside the final oxide depth in both regions as
shown in Figure 3.

User-defined mesh lines

-0.1

0
X

0.1

0 0.1 0.2 0.3


Y
Figure 3 Final structure showing placement of user-defined lines: these lines are used to
isolate silicon and polysilicon regions from boundary movement at the oxide
interfaces

Sentaurus Process uses coordinate systems such that 1D, 2D, and 3D simulations are
consistent. Independent of the current simulation dimension, the positive x is into the wafer; y
is positive to the right, and z is positive out of the page.

NOTE By default, the simulation dimension is promoted only when necessary.


Therefore, until a mask is introduced, the simulation remains in 1D.
Similarly, when going from 2D to 3D, until a 3D mask is introduced
(one that varies in the z-direction in the defined simulation domain), the
simulation remains in 2D.

The initial simulation domain is defined with the region command. Many, if not most,
simulations start with a block of silicon. The shorthand for this situation is to define a region
of silicon that spans all defined lines:
region silicon

The region command also can be used to define a new region between specified lines. To limit
the size of the region to be less than all defined lines, the lines must be given a tag with the tag
parameter. These tags are used in the region command with the xlo, xhi, ylo, yhi, zlo,
and zhi parameters.

Finally, the initial mesh and background doping is specified using the init command as
follows:
init concentration=1.0e+15<cm-3> field=Phosphorus [Link]=100
15 –3
Here, an n-doped substrate with a phosphorus concentration of 10 cm is used. The wafer
orientation is set to 100, which is the default.

Sentaurus Process User Guide 13


H-2013.03
1: Getting Started
Example: 2D Simulation

Usually, localized refinement is defined by introducing refinement boxes. This strategy


prevents excessive mesh that can result if mesh refinement is based solely on the line
command (with the spacing parameter). Lines specified with the line command run the
entire length (or breadth or depth) of the structure.

The refinement boxes can be inserted at any time during the simulation. The simplest form of
the refinement box, used in this example, consists of minimum and maximum coordinates
where the refinement box is valid and local maximum mesh spacing in the x-, y- and
z-directions. A refinement box specified for a 2D simulation will be applied to 1D if it is valid
for y = 0.0. Similarly a 3D refinement box will be applied if it covers z = 0.0.

The following refinement boxes specify refinement only in the x-direction for the 1D part of
the simulation:
#--- Refinement in vertical direction ---------------------------------
refinebox clear ;# remove all default refinement
refinebox min = 0 max = 50.0<nm> xrefine = {2.0<nm> 10.0<nm>}
refinebox min = 50.0<nm> max = 2.0<um> xrefine = {10.0<nm> 0.1<um> 0.2<um>}
refinebox min = 2.0<um> max = 10.0<um> xrefine = {0.2<um> 2.0<um>}

The other type of refinement box used in this example is the interface refinement type. Interface
refinement is a graded refinement that is refined near an interface in the perpendicular direction
and relaxed away from the interface. Using the refinebox command, you can specify
interface refinement using the [Link] or [Link]
parameter:
■ Use [Link] to indicate refinement will occur at all interfaces to the
specified materials.
■ Use [Link] to choose interface refinement only at specific material
interfaces.
#--- Interface refinement ---------------------------------------------
refinebox [Link] = { PolySilicon Silicon }

For more details on mesh refinement, see Mesh Refinement on page 674.

Implanting Boron
First, three sets of boron implants are performed:
implant Boron dose=2.0e13<cm-2> energy=200<keV> tilt=0 rotation=0
implant Boron dose=1.0e13<cm-2> energy= 80<keV> tilt=0 rotation=0
implant Boron dose=2.0e12<cm-2> energy= 25<keV> tilt=0 rotation=0

14 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Example: 2D Simulation

The first high-energy implant creates the p-well, the second medium-energy implant defines a
retrograde boron profile to prevent punch-through, and the third low-energy implant is for a Vt
adjustment.

Growing Gate Oxide


The gate oxide is grown at a temperature of 850°C for 10 minutes in pure oxygen using:
diffuse temperature=850<C> time=10.0<min> O2
select z=Boron
layers

The layers command shows that the thickness of the grown oxide is 3.2 nm:
{ Top Bottom Integral Material }
{ -2.500551327519e-03 7.862861879285e-04 1.247399405710e+10 Oxide }
{ 7.862861879285e-04 1.000000000000e+01 3.197435354292e+13 Silicon }

For details, see Measuring Oxide Thickness on page 7.

Defining Polysilicon Gate


The polysilicon gate is created using:
deposit poly type=isotropic thickness=0.18<um>
mask name=gate_mask left=-1 right=90<nm>

etch poly type=anisotropic thickness=0.2<um> mask=gate_mask


etch oxide type=anisotropic thickness=0.1<um>

First, 0.18 μm of polysilicon is deposited over the entire structure. The keyword
type=isotropic means that the layer is grown equally in all directions, but since the
simulation is in 1D, it would be the same as type=anisotropic.

A mask is defined to protect the gate area with the mask command. In this project, only half of
the transistor is simulated. Therefore, the left edge of the gate mask is unimportant. In general,
you should run the mask over the sides of the simulation to prevent round-off errors that could
prevent complete mask coverage. The name gate_mask is associated with this mask for later
reference.

The first etch command refers to the previously defined mask and, therefore, only the exposed
part of the polysilicon is etched. The requested etching depth ( 0.2 μm ) is larger than the
deposited layer. This overetching ensures that no residual islands remain. The etching is

Sentaurus Process User Guide 15


H-2013.03
1: Getting Started
Example: 2D Simulation

specified to be anisotropic, that is, the applied mask is transferred straight down, without any
undercut.

The second etch statement does not refer to any masks. However, the polysilicon naturally
acts as a mask for this selective etching process. Again, a considerable overetching is specified.

Working with Masks

Masks must be defined before they are used. For example, ex_mask blocks processing from
–1 to 2 μm and from 4 to 20 μm :
mask clear
mask name=ex_mask segments = { -1.0<um> 2.0<um> 4.0<um> 20.0<um> }

Masks can be inverted using the negative option. For example, etch_mask prevents
processing from 2 to 4 μm :
mask clear
mask name=etch_mask segments = { -1.0<um> 2.0<um> 4.0<um> 20.0<um> } negative

Commands that use masking include etch, photo, and deposit.

Polysilicon Reoxidation
To release stresses, a thin oxide layer is grown on the polysilicon before the spacer formation:
diffuse temperature=900<C> time=10.0<min> O2 pressure=0.5<atm>

In this step, the 1 atm default is overwritten by explicitly specifying a pressure of 0.5 atm. In
all diffusion steps, Sentaurus Process automatically deposits a thin native oxide layer before
starting oxidation. This layer is always present on silicon exposed to air and quickly forms on
newly created interfaces.

-0.15

-0.1

-0.05

0 0.05 0.1 0.15

Figure 4 Polysilicon reoxidation

16 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Example: 2D Simulation

During oxidation, mesh movement is controlled by the TSUPREM-4 mesh library in 2D. In 1D
and 3D, it is controlled by an internal moving-boundary mesh algorithm. Both of these moving-
boundary algorithms perform local atomic mesh operations (element removal, edge splitting,
edge flipping, and so on) which leave the rest of the mesh untouched. Mesh points are moved
with the material to maintain dopant dose conservation and the dopant segregation condition at
oxide–silicon and oxide–polysilicon interfaces. Figure 5 shows a close-up of the mesh after the
polysilicon reoxidation step has been performed. Note that the mesh in the brown oxide layer
follows the growth contours.

-0.01

-0.005

0.005

0.08 0.085 0.09 0.095

Figure 5 Mesh in thin oxide layer and in adjacent polysilicon and silicon

Saving Snapshots
To save a snapshot of the current structure, the struct command is used. For example:
struct tdr= NMOS4

The keyword tdr specifies that the snapshot is saved in the TDR file format. The argument
specifies the stem used for the file name. Here, the file NMOS4_fps.tdr is created. The figures
in this section were generated from such snapshots.

For more information about the TDR format, refer to the Sentaurus Data Explorer User Guide.

Remeshing for LDD and Halo Implants


Next, the LDD and halo implants are performed. Before that, however, the mesh must be
refined to properly capture the implant. The previously defined refinement boxes specified
vertical refinement with the xrefine parameter.

Sentaurus Process User Guide 17


H-2013.03
1: Getting Started
Example: 2D Simulation

Now, lateral refinement is required to resolve the source and drain extensions (also known as
low-doped drain (LDD)) as well as the halo implants. This is accomplished by introducing a
new refinebox command that specifies:
■ Lateral refinement using the yrefine parameter.
■ Additional vertical refinement using the xrefine parameter.

NOTE When specifying multiple overlapping refinement, the most refined


specification (smallest edge length) wins.
refinebox silicon min= {0.0 0.045<um>} max= {0.1<um> 0.125<um>} \
xrefine= 0.01<um> yrefine= 0.01<um>
grid remesh

The min and max keywords take x-, y-, and z-coordinates. Not all coordinates must be
specified. For example, if only one number is given for minimum, it means that refinement
applies to all y- and z-coordinates less than the max coordinate.

NOTE The refinebox command only specifies a refinement criterion, but the
mesh is not changed. The grid remesh command forces a remesh.

-0.06

-0.04

-0.02

0.02

0.04

0.06

0.08

0.05 0.1 0.15


Figure 6 A combination of overlapping refinement boxes is used to define a finer mesh for
LDD and halo; if multiple criteria overlap, the finest mesh specification wins

18 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Example: 2D Simulation

Implanting LDD and Halo


The LDD and halo implants are performed using:
#--- LDD implantation -------------------------------------------------
implant Arsenic dose=4e14<cm-2> energy=10<keV> tilt=0 rotation=0

#--- Halo implantation: Quad HALO implants ----------------------------


implant Boron dose=1.0e13<cm-2> energy=20<keV> tilt=30<degree> \
rotation=0 [Link]=4

diffuse temperature=1050<C> time=5.0<s>


14 –2
The LDD implant uses a high dose of 4 × 10 cm and a relatively low energy of 10 keV.
The halo is created by a quad implant using the [Link] parameter, that is, the implant is
performed in four steps. Each step is separated in rotation by 360/4 = 90° starting with the
specified rotation of 0. This is performed to ensure that the boron penetrates well into the
channel at the tips of the source–drain extensions. Again, a relatively high total dose of
14 –2
1 × 10 cm is used.

The implants are activated with a short thermal cycle or rapid thermal anneal (RTA).

Forming Nitride Spacers


The nitride spacers are formed using:
#--- Nitride spacer ---------------------------------------------------
deposit nitride type=isotropic thickness=60<nm>
etch nitride type=anisotropic thickness=84<nm> [Link]=0.01
etch oxide type=anisotropic thickness=10<nm>

First, a uniform, 60-nm thick layer of nitride is deposited over the entire structure. The keyword
type=isotropic ensures that the growth rate of the layer is the same in all directions. Then,
the nitride is etched again; however, now an anisotropic etching is used. This means that the
nitride deposited on the vertical sides of the gate is not fully removed and can serve as masks
for the source/drain implants. For this step, an isotropic overetch is specified. Specifying a
fraction of the etch thickness, 0.01 implies a 1% isotropic component. This is needed because
the oxide formed during poly oxidation has a nonvertical sidewall. Without the small
[Link], a small nitride residual would remain. Finally, the thin oxide layer
grown during the poly reoxidation step is removed.

Sentaurus Process User Guide 19


H-2013.03
1: Getting Started
Example: 2D Simulation

Remeshing for Source/Drain Implants


Next the source/drain implants are performed. However, before that, the mesh is refined again.
refinebox silicon min= {0.04<um> 0.11<um>} max= {0.18<um> 0.4<um>} \
xrefine= 0.01<um> yrefine= {0.02<um> 0.05<um>}
grid remesh

This refinement box ensures that the grid is fine enough in the vertical direction to resolve the
junction depth.

Implanting Source/Drain
The source and drain regions are created using:
implant Arsenic dose=5e15<cm-2> energy=40<keV> tilt=7<degree> \
rotation=-90<degree>
diffuse temperature=1050<C> time=10.0<s>

To ensure a low resistivity of the source and drain regions, this implant step uses a very high
15 –2
dose of 5 × 10 cm . A tilt of 7° is used to reduce channeling and a rotation of – 90 °
ensures that the plane of incident is parallel to the gate stack, such that the 7° tilt angle does
not lead to asymmetry between the source and drain.

Transferring to Device Simulation


To transfer from process simulation to device simulation, the possible methods are:
■ The preferred and most common method is to use the internal capabilities of Sentaurus
Process.
■ An older method involves using Sentaurus Structure Editor and Sentaurus Mesh to add
contacts to the process structure and to generate a new mesh.

In both cases:
■ The structure bottom is cropped.
■ The full transistor is created by reflecting about the symmetry plane.
■ A new mesh is generated that is better optimized for device simulation.

If the remeshing for device simulations is performed internally, the file NMOS_fps.tdr can be
loaded directly into Sentaurus Device.

20 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Example: 2D Simulation

To use the external technique after truncation and reflection, the structure is saved using:
struct smesh=NMOS

This command saves the structure and data in the file NMOS_fps.tdr, and the boundary in the
file NMOS_bnd.tdr. These files can serve as input to Sentaurus Structure Editor and Sentaurus
Mesh.

Remeshing for Device Simulation

In the following example, the internal technique is used to produce a structure and mesh
appropriate for device simulation. First, the structure bottom is truncated; then a new mesh
strategy is introduced:
#--Remove bottom of structure------------------------------------------
transform cut location= 1.00 down

#--Change refinement strategy and remesh-------------------------------


refinebox clear
line clear

pdbSet Grid Adaptive 1


pdbSet Grid AdaptiveField [Link] 1e37
pdbSet Grid AdaptiveField [Link] 1e10
pdbSet Grid AdaptiveField [Link] 100.0
pdbSet Grid SnMesh DelaunayType boxmethod

refinebox name= Global [Link]= {0.01 0.01} \


[Link]= {0.1 0.1} [Link]= { NetActive } \
[Link]= 0.5 adaptive

refinebox name= SiGOX [Link]= 0.2<nm> [Link]= 1.4 \


[Link]= 5.0<nm> min= {-0.01 -0.1} max= {0.01 0.1} \
[Link]= {Silicon}

refinebox name= GDpn1 min= {0.0 0.04} max= {0.06 0.1} xrefine= 0.005 \
yrefine= 0.005 silicon

refinebox name= TopActive min= {0.0 0.0} max= {0.3 0.4} \


[Link]= {0.02 0.02} [Link]= {0.05 0.05} \
[Link]= { NetActive } [Link]= 0.5 \
adaptive silicon

The new mesh strategy uses a combination of interface refinement, fixed boxwise refinement,
and adaptive refinement on dopants.

Sentaurus Process User Guide 21


H-2013.03
1: Getting Started
Example: 2D Simulation

Contacts

Next, contacts are added to the structure using the contact command. These contacts are
added to structure files upon writing. They are not present in the internal Sentaurus Process
structure, but are added only as required when writing the structure. There are two types of
contact specification:
■ Box: For these contacts, you specify a box and a material, and all interfaces of that material
that are inside the box become the contact.
■ Point: For this contact, you specify a point inside a chosen region. The chosen region is
removed, and all interfaces between the chosen region and bulk materials become part of
the contact.

In the following example, only box-type contacts are used:


contact name= "substrate" bottom Silicon

contact name= "source" box Silicon [Link]=Gas \


xlo= 0.0 xhi= 0.005 ylo= -0.4 yhi= -0.2
#--- Contacts ---------------------------------------------------------
contact name= "substrate" bottom Silicon

contact name= "source" box Silicon [Link]= Gas \


xlo= 0.0 xhi= 0.005 ylo= -0.4 yhi= -0.2

contact name= "drain" box Silicon [Link]= Gas \


xlo= 0.0 xhi= 0.005 ylo= 0.2 yhi= 0.4

contact name= "gate" box PolySilicon xlo= -0.181 xhi= -0.05 \


ylo= -0.088 yhi= 0.088

Saving the Full Structure

To save the full structure, use:


struct smesh=NMOS

22 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Adaptive Meshing: 2D npn Vertical BJT

The file NMOS_fps.tdr is created with contacts and can be loaded into Sentaurus Device to
obtain device electrical characteristics.
-0.2

-0.1

0.1

0.2

-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4


Figure 7 Final structure showing contacts and refinement appropriate for device simulation

Extracting 1D Profiles
You can save 1D profiles at any point in the process flow using:
SetPlxList {BTotal NetActive}
WritePlx NMOS_channel.plx y=0.0 silicon

as well as:
struct tdr=NMOS_channel.tdr y=0.0

For details, see Saving the As-Implanted Profile on page 10.

Adaptive Meshing: 2D npn Vertical BJT


A simple 2D npn vertical bipolar transistor example is introduced to show how the adaptive-
meshing capabilities in Sentaurus Process can be used to ease mesh setup and allow for mesh
evolution during dopant diffusion. For examples, see 2D npn Vertical Bipolar on page 38.

For all the applications involving long thermal diffusion steps or simulations of relatively large
structures (in which doping profiles may evolve greatly), using static mesh criteria is
impracticable because it requires using a fine mesh in many parts of the simulation domain.
Moreover, the placement of the refinement boxes is not straightforward because often the
location of gradients and junctions at the end of the thermal steps is not precisely known. For
such purposes, adaptive meshing could be used. Using this feature, you only have to define

Sentaurus Process User Guide 23


H-2013.03
1: Getting Started
Adaptive Meshing: 2D npn Vertical BJT

some refinement criteria, more or less stringent depending on the level of accuracy required.
The meshing engine checks the mesh and decides automatically where, when, and if the mesh
needs to be refined.

Overview
Adaptive meshing can be switched on globally with:
pdbSet Grid Adaptive 1

which creates a default adaptive box covering the entire structure.

Adaptive refinement parameters can be set in the following ways:


■ Fieldwise in the PDB with the pdbSet command
■ Boxwise as parameters of the refinebox command
■ Materialwise, specifying a material in a box definition
■ Regionwise, specifying a region in a box definition

To prevent the number of mesh points from growing too large, switch off the [Link]
option (which is switched on by default in silicon) when using adaptive meshing:
refinebox ![Link]

Many different refinement criteria have been implemented in Sentaurus Process for flexibility
in handling different types of field and structure. For a complete list and detailed descriptions
of the refinement criteria, see Adaptive Refinement Criteria on page 680.

The criteria in the following example are the most commonly used and are referred to as
relative difference and local dose error. Each computes the so-called desired edge length
(DEL), which is defined formally as:
DEL = min (l12 * MaxError/Error)

where l12 is the length of the edge between two mesh points 1 and 2. Error (computed
internally) is the error between points 1 and 2, and MaxError (set by users) is the maximum
allowable error. The right-hand side of the expression is computed over all the fields that can
be refined (by default, all the solution variables): the minimum value is the DEL for the
corresponding criterion. The expression for Error and the name and the meaning of
MaxError vary from criterion to criterion. For the relative difference criterion, these quantities
have the form:
Error = 2*|C1 - C2|/(C1 + C2 + alpha)
MaxError = Rf

24 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Adaptive Meshing: 2D npn Vertical BJT

where C 1 and C 2 are the concentration of the field in points 1 and 2, respectively, R f is the
relative error that sets the maximum-allowed change of the field across an edge, and alpha is
the absolute error, a type of cutoff threshold below which refinement is smoothed out. They can
be set in the PDB as follows:
pdbSet Grid Boron [Link] 1e15
pdbSet Grid Boron [Link] 0.5

or in the refinebox commands as:


refinebox name=Active [Link]= {Boron Arsenic} \
[Link]= {Boron=0.5 Arsenic=0.5} [Link]= {Boron=2e15 Arsenic=1e16} \
Adaptive min= {-1.0 -0.1} max= {2.0 16.0}

For the definition of Error and MaxError for the local dose error criterion, see Local Dose
Error Criteria on page 683.

All the edges are compared to DEL to check the percentage of long edges by using the
following additional parameter:
pdbSetDoubleArray Grid [Link] {X 2.0 Y 2.0}

These coefficients can be set directionwise and act in the following way: An edge is defined as
long when it is larger than [Link]*DEL for at least one of the selected refinement
criteria. When the percentage of long edges is larger than certain values, adaptive refinement
is actually triggered. This value can be set as:
pdbSet Grid [Link] 0.01

When adaptive meshing is switched on, it automatically affects refinement whenever a mesh is
generated (such as after geometry-changing operations). During the diffuse command, the
mesh is checked after a certain number of steps that can be separately set depending on the
nature of the diffusion step:
pdbSet Diffuse [Link] 10 ;# during inert annealings
pdbSet Diffuse [Link] -1 ;# during oxidation and silicidation
pdbSet Diffuse [Link] -1 ;# during epitaxy

When the number of long edges is larger than [Link], remeshing is performed. The
mesh quality check can be omitted by setting:
pdbSet Grid [Link] 0

which can save some CPU time when performing simulations on large meshes, where the mesh
checking is time consuming.

Sentaurus Process User Guide 25


H-2013.03
1: Getting Started
Adaptive Meshing: 2D npn Vertical BJT

NOTE Formally, the adaptive-meshing feature consists of field-based and


implant-based adaptation. There is a small difference in the way
refinement criteria are applied. For details, see Adaptive Meshing
during Implantation on page 688 and Interval Refinement on page 684.
However, as the two modules use the same parameters, you do not need
to define them twice.

NOTE Adaptive-meshing syntax to set up parameters is the same in any


dimension.

The relative error criterion is effective in refining doping profiles in steep gradient regions. In
the vicinity of maxima and minima, the profiles are almost flat and some loss of accuracy may
occur there. Further reduction of [Link] would increase significantly the number of
points in the steep slope with negligible improvements at the peaks. In that case, the max dose
loss criterion can be used more effectively. This explains why the combination of these two
criteria provides an optimum adaptive-remeshing strategy.

Defining Initial Structure


The command math [Link] is used to switch on the unified coordinate system (UCS).
Using the UCS is recommended because the default behavior is to rotate the structure when
saving and loading to the DF–ISE coordinate system. With the UCS, the structure is not
rotated. Therefore, the axes in Tecplot SV match the axes in the Sentaurus Process command
file. It is recommended to insert this as the first command in the command file.

The line commands are used to compartmentalize the structure according to the meshing
strategy described in the previous example:
line x loc= 2.0<um>
line x loc= 4.0<um> tag=SubTop
line x loc= 6.0<um>
line x loc= 10.0<um> tag=SubBottom
line y loc= 0.0<um> tag=SubLeft
line y loc=1.5<um>
line y loc=2.5<um>
line y loc=8<um>
line y loc=13<um>
line y loc=22<um>
line y loc=24<um>
line y loc=30.0<um> tag=SubRight

Along the x-axis, few lines are specified: the two tagged ones are needed to define the initial
silicon substrate. The other two lines are defined to have uniform spacing within the box
defined to refine the buried layer. Along the y-axis, more lines are defined because a coarse

26 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Adaptive Meshing: 2D npn Vertical BJT

initial mesh would degrade the quality of the mesh resulting from adaptation during
implantation. These lines are set corresponding to the mask edges: This information is usually
known to users, especially if the simulation starts from a layout, and the process flow is set up
in Ligament.

Adaptive Meshing Settings


As previously mentioned, adaptive parameters can be set in different ways, which lead to
different refinement strategies:
pdbSet Grid Adaptive 1
pdbSet Grid AdaptiveField [Link] 1e25
pdbSet Grid AdaptiveField [Link] 2.0

pdbSet Grid Damage [Link] 1e25


pdbSet Grid Damage [Link] 1e25
pdbSet Grid Damage [Link] 1

Here the following strategy is used:


■ The default relative difference–type refinement is switched off by setting high values for
absolute and relative errors and for the interval damage refinement.
■ When parameters are set for AdaptiveField, they are applied to all the existing fields
that can be refined.
■ Actual refinement will be then controlled in specific regions by using refineboxes.

Three refinement boxes are defined as the structure and the process flow clearly identifies three
main significant areas: buried layer, collector region, and base-emitter region:
refinebox name=BL [Link]= {Antimony Phosphorus} \
[Link]= {Antimony=0.6 Phosphorus=0.6} \
[Link]= {Antimony=1e16 Phosphorus=1e16} Adaptive min= {2.0 -0.1} \
max= {10.1 30.1} [Link]= {0.2 0.4} [Link]= {Antimony=1e8} \

The min and max parameters set an xy pair of coordinates to define the extent of the box. The
keyword all means that refinement must be applied to all materials. When using a material
name, refinement is applied to the specified material only.

NOTE More than one adaptive type can be specified in the same box. In the BL
box, the relative difference and local dose loss criteria are selected by
specifying the parameters [Link] or [Link] and
[Link], respectively.

Sentaurus Process User Guide 27


H-2013.03
1: Getting Started
Adaptive Meshing: 2D npn Vertical BJT

refinebox name=Sinker [Link]= {Phosphorus Arsenic} \


[Link]= {Phosphorus=0.5 Arsenic=0.5} \
[Link]= {Phosphorus=5e15 Arsenic=1e16} Adaptive min= {-1.0 16} \
max= {2.0 30.1} [Link]= {0.1 0.2}

refinebox name=Active [Link]= {Boron Arsenic} \


[Link]= {Boron=0.5 Arsenic=0.5} [Link]= {Boron=2e15 Arsenic=1e16} \
Adaptive min= {-1.0 -0.1} max= {2.0 16.0} [Link]= {0.025 0.05} \

The BL box is defined to refine the buried layer: a high level of accuracy is not required here
and the values are more relaxed than in the other boxes. The [Link] parameter
adds the additional directionwise constraint not to refine edges below the specified values
(units in micrometers).

The Sinker box is defined to refine the n-doped collector region, which contacts the buried
layer. More restrictive values are used in it.

The Active box is used to refine the base–emitter region. Higher accuracy is required here to
properly catch the base length, which all the main electrical parameters of the device are a
function of:
pdbSet Diffuse [Link] 10
pdbSet Grid [Link] 0.01

According to these last two commands, the mesh is checked every 10 diffusion steps in inert
annealings, and remeshing is performed if there are more than 0.01% of long edges.

Buried Layer
The buried layer is obtained with high-energy and high-dose antimony implantation:
deposit material= {Oxide} type=isotropic time=1 rate= {0.025}
implant Antimony dose=1.5e15<cm-2> energy=100<keV>
etch material= {Oxide} type=anisotropic time=1 rate= {0.03}

Before the implantation, 25 nm of a screening oxide is deposited. After the implantation, the
oxide is etched to clean the surface and to prepare it for the subsequent epi step.

28 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Adaptive Meshing: 2D npn Vertical BJT

Epi Layer
For speed and simplicity, an epitaxial regrowth step is not performed here. Instead, a simpler
15 –3
deposition of a silicon layer with 1 ×10 cm arsenic concentration is followed by a
diffusion step:
deposit material= {Silicon} type=isotropic time=1 rate= {4.0} Arsenic \
concentration=1e15<cm-3>
diffuse temp=1100<C> time=60<min> maxstep=4<min>

The maximum diffusion step is limited to 4 minutes to avoid having too much diffusion
between two subsequent adaptive remeshing steps. An alternative would be to reduce
[Link], but this would lead to numerous remeshings at the beginning of
the annealing when the time step is small.

The following sections describe the process steps to create sinker, base, and emitter regions. At
the end of each group of steps, results are saved in TDR files.

Sinker Region
This is the beginning of the 2D simulation. A 5-nm screening oxide is deposited before the
phosphorus implantation to contact the buried layer. The Sinker mask protects the silicon area
where the base will be created. The Photo command is used to deposit the photoresist (mask
definition not shown here). The subsequent annealing is long (5 hours). For this reason, the
maximum time step is allowed to increase up to 8 minutes.

Figure 8 on page 30 shows the doping concentration distribution at this point of the simulation:
deposit material= {Oxide} type=isotropic time=1 rate= {0.05}
photo mask=Sinker thickness=1

implant Phosphorus dose=5e15<cm-2> energy=200<keV>


strip Resist
diffuse temp=1100<C> time=5<hr> maxstep=8<min>

struct tdr=vert_npn2

Sentaurus Process User Guide 29


H-2013.03
1: Getting Started
Adaptive Meshing: 2D npn Vertical BJT

10
0 5 10 15 20 25 30

Figure 8 Doping concentration after phosphorus implantation and diffusion to contact


antimony buried layer

Base Region
14 –2
The p-doped base region is created with a 1 ×10 cm dose of implanted boron followed by
a 35-minute inert annealing:
photo mask=Base thickness=1
implant Boron dose=1e14<cm-2> energy=50<keV>
strip Resist
diffuse temp=1100<C> time=35<min> maxstep=4<min>

struct tdr=vert_npn3

Emitter Region
15 –2
The highly n-doped emitter region is created with a 5 ×10 cm dose of implanted arsenic
followed by a 25-minute inert annealing. Emitter mask is designed such that arsenic is
implanted also in the sinker region to increase the doping concentration at the collector contact.
In addition to a TDR file, 1D profiles are extracted. Figure 9 on page 31 shows the final doping
distribution:
photo mask=Emitter thickness=1
implant Arsenic dose=5e15<cm-2> energy=55<keV> tilt=7 rotation=0
strip Resist
diffuse temp=1100<C> time=25<min> maxstep=4<min>

struct tdr=vert_npn4

30 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Adaptive Meshing: 2D npn Vertical BJT

SetPlxList {BTotal SbTotal AsTotal PTotal}


WritePlx [Link] y=5.0
WritePlx [Link] y=23.0

10
0 5 10 15 20 25 30
Figure 9 Final doping distribution

Backend
The real backend steps are not simulated here. A sequence of masked etching and deposition
steps are used to define emitter, base, and collector contacts:
etch material= {Oxide} type=anisotropic time=1 rate= {0.055} mask=Contact
deposit material= {Aluminum} type=isotropic time=1 rate= {1.0}
etch material= {Aluminum} type=anisotropic time=1 rate= {1.1} mask=Metal
struct tdr=vert_npn5

Figure 10 shows some details of the final mesh.


-1
-2
-0.5

0 0

0.5 2

1
4
1.5
6
2
0 1 2 3 18 20 22 24 26 28

Figure 10 Details of final mesh: (left) the emitter–base region and (right) the buried layer
with collector contact

Sentaurus Process User Guide 31


H-2013.03
1: Getting Started
Full-Text Versions of Examples

The relative difference criterion refines the doping profiles, not the junctions. Obviously, if the
profiles are reproduced correctly, the junctions also will be in the right place. To obtain a
junction-like refinement with the relative difference criterion, set [Link] close to the
doping level of the less-doped side of the junction. A more effective way is to select
NetDoping as the field to be refined and apply to it the inverse hyperbolic sine (asinh)
difference criterion (for details, see Inverse Hyperbolic Sine (asinh) Difference Criteria on
page 682).

Full-Text Versions of Examples


The following full-text versions of the examples allow convenient electronic copying of text
into Sentaurus Process command files.

1D NMOS
# 1D Grid definition
#-------------------

line x location=0.0 spacing= 1<nm> tag=SiTop


line x location= 10<nm> spacing= 2<nm>
line x location= 50<nm> spacing= 10<nm>
line x location=300<nm> spacing= 20<nm>
line x location=0.5<um> spacing= 50<nm>
line x location=2.0<um> spacing=0.2<um> tag=SiBottom

# Initial simulation domain


#--------------------------

region Silicon xlo=SiTop xhi=SiBottom

# Initialize the simulation


#--------------------------

init concentration=1.0e15<cm-3> field=Boron

# Settings for automatic meshing in newly generated layers


#---------------------------------------------------------

mgoals [Link]=3<nm> [Link]=0.2<um> [Link]=1.4

set SCREEN Grow


if { $SCREEN == "Grow" } {
# Growing screening oxide
#------------------------

32 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Full-Text Versions of Examples

gas_flow name=O2_1_N2_1 pressure=1<atm> flowO2=1.2<l/min> flowN2=1.0<l/min>


diffuse temperature=900<C> time=40<min> gas_flow=O2_1_N2_1

# Measuring the oxide thickness


#------------------------------
select z=1
layers

} else {
# Depositing screening oxide
#---------------------------
deposit material= {Oxide} type=isotropic time=1.0 rate= {0.01}
diffuse temperature=900<C> time=40<min>
}

# Implanting Arsenic
#-------------------

implant Arsenic energy=30<keV> dose=1e14<cm-2> tilt=7<degree> \


rotation=0<degree>
# Plotting out the "as implanted" profile
#----------------------------------------

SetPlxList { BTotal Arsenic_Implant }


WritePlx [Link]

# Thermal annealing
#------------------

diffuse temperature=1000<C> time=30<min>


strip Oxide
SetPlxList { BTotal BActive AsTotal AsActive }
WritePlx [Link]

2D NMOS
#----------------------------------------------------------------------
# 2D nMOSFET (0.18um technology)
#----------------------------------------------------------------------

math [Link]

pdbSet Oxide Grid [Link] 1e-7

#--- Specify lines for outer boundary and to separate moving boundaries
# from the rest of the structure------------------------------------

Sentaurus Process User Guide 33


H-2013.03
1: Getting Started
Full-Text Versions of Examples

line x location= 0.0


line x location= 3.0<nm> ;# just deeper than reox in silicon
line x location= 10.0<um>
line y location= 0.0
line y location= 85.0<nm> ;# just deeper than reox in poly
line y location= 0.4<um>

#--- Silicon substrate definition -------------------------------------


region silicon

#--- Initialize the simulation ----------------------------------------


init concentration=1.0e+15<cm-3> field=Phosphorus

#--- Refinement in vertical direction ---------------------------------


refinebox clear
refinebox min = 0 max = 50.0<nm> xrefine = {2.0<nm> 10.0<nm>}
refinebox min = 50.0<nm> max = 2.0<um> xrefine = {10.0<nm> 0.1<um> 0.2<um>}
refinebox min = 2.0<um> max = 10.0<um> xrefine = {0.2<um> 2.0<um>}

#--- Interface refinement ---------------------------------------------


refinebox [Link] = { PolySilicon Silicon }

#--- Sentaurus Mesh settings for automatic meshing in newly generated layers -
pdbSet Grid SnMesh [Link] 1.0e-3 ;# in micrometers
pdbSet Grid SnMesh [Link].2d 1.4 ;# used in 1D and 2D

#--- Create starting mesh from lines and refinement


grid remesh

#--- p-well, anti-punchthrough & Vt adjustment implants ---------------


implant Boron dose=2.0e13<cm-2> energy=200<keV> tilt=0 rotation=0
implant Boron dose=1.0e13<cm-2> energy= 80<keV> tilt=0 rotation=0
implant Boron dose=2.0e12<cm-2> energy= 25<keV> tilt=0 rotation=0

#--- p-well: RTA of channel implants ----------------------------------


diffuse temperature=1050<C> time=10.0<s>

#--- Saving structure -------------------------------------------------


struct tdr=NMOS1 FullD; # p-Well

#--- Gate oxidation ---------------------------------------------------


diffuse temperature=850<C> time=10.0<min> O2

select z=Boron
layers
struct tdr=NMOS2 FullD; # GateOx

34 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Full-Text Versions of Examples

#--- Poly gate deposition ---------------------------------------------


deposit poly type=isotropic thickness=0.18<um>
#--- Poly gate pattern/etch -------------------------------------------
# MGoals settings for etch/depo
mgoals accuracy=2e-5

mask name=gate_mask segments = { -1 90<nm> }


etch poly type=anisotropic thickness=0.2<um> mask=gate_mask
etch oxide type=anisotropic thickness=0.1<um>
struct tdr=NMOS3 ; # PolyGate

#--- For graphics, first run "tecplot_sv -s:ipc" and uncomment


# the next line before running this file
# graphics on

#--- Poly reoxidation -------------------------------------------------


diffuse temperature=900<C> time=10.0<min> O2
struct tdr=NMOS4 ; # Poly Reox

#--- LDD implantation -------------------------------------------------


refinebox silicon min= {0.0 0.045<um>} max= {0.1<um> 0.125<um>} \
xrefine= 0.01<um> yrefine= 0.01<um>
grid remesh

implant Arsenic dose=4e14<cm-2> energy=10<keV> tilt=0 rotation=0

SetPlxList { BTotal Arsenic_Implant }


WritePlx [Link] y= 0.25<um>

diffuse temperature=1050<C> time=0.1<s> ; # Quick activation


struct tdr=NMOS5 ; # LDD Implant

#--- Halo implantation: Quad HALO implants ----------------------------


implant Boron dose=1.0e13<cm-2> energy=20<keV> \
tilt=30<degree> rotation=0 [Link]=4

#--- RTA of LDD/HALO implants -----------------------------------------


diffuse temperature=1050<C> time=5.0<s>
struct tdr=NMOS6 ; # Halo RTA

#--- Nitride spacer ---------------------------------------------------


deposit nitride type=isotropic thickness=60<nm>
etch nitride type=anisotropic thickness=84<nm> [Link]=0.01
etch oxide type=anisotropic thickness=10<nm>
struct tdr=NMOS7 ; # Spacer

#--- N+ implantation --------------------------------------------------


refinebox silicon min= {0.04<um> 0.11<um>} max= {0.18<um> 0.4<um>} \

Sentaurus Process User Guide 35


H-2013.03
1: Getting Started
Full-Text Versions of Examples

xrefine= 0.01<um> yrefine= {0.02<um> 0.05<um>}


grid remesh
implant Arsenic dose=5e15<cm-2> energy=40<keV> \
tilt=7<degree> rotation=-90<degree>

SetPlxList { BTotal Arsenic_Implant }


WritePlx [Link] y= 0.25<um>

#---- N+ implantation & final RTA -------------------------------------


diffuse temperature=1050<C> time=10.0<s>
struct tdr=NMOS8 ; # S/D implants

# - 1D cross sections
SetPlxList {BTotal NetActive}
WritePlx NMOS_channel.plx y=0.0 silicon

SetPlxList {AsTotal BTotal NetActive}


WritePlx NMOS_ldd.plx y=0.1 silicon

SetPlxList {AsTotal BTotal NetActive}


WritePlx NMOS_sd.plx y=0.35 silicon

#----------------------------------------------------------------------#
#Transfer to device simulation
#----------------------------------------------------------------------#

#--Remove bottom of structure------------------------------------------


transform cut location= 1.00 down

#--Change refinement strategy and remesh-------------------------------


refinebox clear
line clear

pdbSet Grid Adaptive 1


pdbSet Grid AdaptiveField [Link] 1e37
pdbSet Grid AdaptiveField [Link] 1e10
pdbSet Grid AdaptiveField [Link] 100.0
pdbSet Grid SnMesh DelaunayType boxmethod

refinebox name= Global \


[Link]= {0.01 0.01} [Link]= {0.1 0.1} \
[Link]= { NetActive } [Link]= 0.5 adaptive

refinebox name= SiGOX \


[Link]= 0.2<nm> [Link]= 1.4 \
[Link]= 5.0<nm> min= {-0.01 -0.1} max= {0.01 0.1} \

36 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Full-Text Versions of Examples

[Link]= {Silicon}

refinebox name= GDpn1 \


min= {0.0 0.04} max= {0.06 0.1} xrefine= 0.005 yrefine= 0.005 \
silicon

refinebox name= TopActive \


min= {0.0 0.0} max= {0.3 0.4} \
[Link]= {0.02 0.02} [Link]= {0.05 0.05} \
[Link]= { NetActive } [Link]= 0.5 \
adaptive silicon

grid remesh

#--- Reflect ---------------------------------------------------------


transform reflect left

#--- Contacts ---------------------------------------------------------


contact name= "substrate" bottom Silicon

contact name= "source" box Silicon [Link]= Gas \


xlo= 0.0 xhi= 0.005 ylo= -0.4 yhi= -0.2

contact name= "drain" box Silicon [Link]= Gas \


xlo= 0.0 xhi= 0.005 ylo= 0.2 yhi= 0.4

contact name= "gate" box PolySilicon \


xlo= -0.181 xhi= -0.05 ylo= -0.088 yhi= 0.088

#--- Final ---------------------------------------------------------


struct smesh=NMOS

Sentaurus Process User Guide 37


H-2013.03
1: Getting Started
Full-Text Versions of Examples

2D npn Vertical Bipolar


# 2D NPN Vertical Bipolar Transistor
#-----------------------------------

math [Link]

line x loc= 2.0<um>


line x loc= 4.0<um> tag=SubTop
line x loc= 6.0<um>
line x loc= 10.0<um> tag=SubBottom
line y loc= 0.0<um> tag=SubLeft
line y loc=1.5<um>
line y loc=2.5<um>
line y loc=8<um>
line y loc=13<um>
line y loc=22<um>
line y loc=24<um>
line y loc=30.0<um> tag=SubRight

# Diffuse settings to speed up simulation


#----------------------------------------

pdbSet Diffuse IncreaseRatio 8.0


pdbSet Diffuse ReduceRatio 0.5

# Mesh settings
#--------------

mgoals [Link]=2.0 accuracy=2e-5 [Link]=10<nm> \


[Link]=30.0<um> minedge=1e-5

pdbSet Grid Adaptive 1


pdbSet Grid AdaptiveField [Link] 1e25
pdbSet Grid AdaptiveField [Link] 2.0

pdbSet Grid Damage [Link] 1e25


pdbSet Grid Damage [Link] 1e25
pdbSet Grid Damage [Link] 1

pdbSet Diffuse [Link] 10

pdbSet Grid [Link] 0.01

refinebox [Link]= {Silicon Oxide}

refinebox name=BL [Link]= {Antimony Phosphorus} \


[Link]={Antimony=0.6 Phosphorus=0.6} \

38 Sentaurus Process User Guide


H-2013.03
1: Getting Started
Full-Text Versions of Examples

[Link]= {Antimony=1e16 Phosphorus=1e16} \


Adaptive min= "2.0 -0.1" max= "10.1 30.1" \
[Link]= {0.2 0.4} [Link]= {Antimony=1e8}

refinebox name=Sinker [Link]= {Phosphorus Arsenic} \


[Link]= {Phosphorus=0.5 Arsenic=0.5} \
[Link]= {Phosphorus=5e15 Arsenic=1e16} \
Adaptive min= {-1.0 16} max= {2.0 30.1} [Link]= {0.1 0.2}

refinebox name=Active [Link]= {Boron Arsenic} \


[Link]= {Boron=0.5 Arsenic=0.5} \
[Link]= {Boron=2e15 Arsenic=1e16} \
Adaptive min= {-1.0 -0.1} max= {2.0 16.0} \
[Link]= {0.025 0.05}

# Masks definition
#-----------------

mask name=Sinker segments= {-1 22 24 35} negative


mask name=Base segments= {-1 1.5 13 35} negative
mask name=Emitter segments= {-1 2.5 8 22 24 35} negative
mask name=Contact segments= {-1 3.5 7 10 12 22.5 23.5 35}
mask name=Metal segments= {-1 2 8 9 13 22 24 35} negative

# Creating initial structure


#---------------------------

region Silicon xlo=SubTop xhi=SubBottom ylo=SubLeft yhi=SubRight


init concentration=1e+15<cm-3> field=Boron

# Buried layer
#-------------

deposit material= {Oxide} type=isotropic time=1 rate= {0.025}


implant Antimony dose=1.5e15<cm-2> energy=100<keV>
etch material= {Oxide} type=anisotropic time=1 rate= {0.03}

# Epi layer
#----------

deposit material= {Silicon} type=isotropic time=1 rate= {4.0} \


Arsenic concentration=1e15<cm-3>
diffuse temp=1100<C> time=60<min> maxstep=4<min>

struct tdr=vert_npn1

SetPlxList {BTotal SbTotal AsTotal PTotal}


WritePlx [Link]

Sentaurus Process User Guide 39


H-2013.03
1: Getting Started
Full-Text Versions of Examples

# Sinker
#-------

deposit material= {Oxide} type=isotropic time=1 rate= {0.05}


photo mask=Sinker thickness=1

implant Phosphorus dose=5e15<cm-2> energy=200<keV>


strip Resist
diffuse temp=1100<C> time=5<hr> maxstep=8<min>

struct tdr=vert_npn2

# Base
#-----
photo mask=Base thickness=1
implant Boron dose=1e14<cm-2> energy=50<keV>
strip Resist
diffuse temp=1100<C> time=35<min> maxstep=4<min>

struct tdr=vert_npn3

# Emitter
#--------

photo mask=Emitter thickness=1


implant Arsenic dose=5e15<cm-2> energy=55<keV> tilt=7 rotation=0
strip Resist
diffuse temp=1100<C> time=25<min> maxstep=4<min>

struct tdr=vert_npn4

SetPlxList {BTotal SbTotal AsTotal PTotal}


WritePlx [Link] y=5.0
WritePlx [Link] y=23.0

# Back end
#---------

etch material= {Oxide} type=anisotropic time=1 rate= {0.055} mask=Contact


deposit material= {Aluminum} type=isotropic time=1 rate= {1.0}
etch material= {Aluminum} type=anisotropic time=1 rate= {1.1} mask=Metal

struct tdr=vert_npn5

exit

40 Sentaurus Process User Guide


H-2013.03
CHAPTER 2 The Simulator Sentaurus Process

This chapter provides an overview of how Sentaurus Process


operates.

The syntax and features of the command file are described, followed by an overview of the
Sentaurus Process parameter database, which contains all of the model parameters and
technical details regarding the running of the tool.

For new users, see Syntax for Creating Input Command Files on page 48, Creating and
Loading Structures and Data on page 64, and Interactive Mode on page 44. For advanced users
who need to adjust model parameters, see Parameter Database on page 53. For the TCAD
Sentaurus Tutorial and examples, go to:
$STROOT/tcad/$STRELEASE/Sentaurus_Training/[Link]

where STROOT is an environment variable that indicates where the Synopsys TCAD
distribution has been installed, and STRELEASE indicates the Synopsys TCAD release number.

Overview
To familiarize users with the different formatting used in this documentation, input commands
from either a command file or the command line are presented this way:
sprocess -v

An example of output from Sentaurus Process is:


****************************************************************************
*** Sentaurus Process ***
*** Version H-2013.03 ***
*** (1.5, amd64, linux) ***
*** ***
*** Copyright (C) 1993-2002 ***
*** The board of regents of the University of Florida ***
*** Copyright (C) 1994-2013 ***
*** Synopsys, Inc. ***
*** ***
*** This software and the associated documentation are confidential ***
*** and proprietary to Synopsys, Inc. Your use or disclosure of this ***
*** software is subject to the terms and conditions of a written ***
*** license agreement between you, or your company, and Synopsys, Inc. ***

Sentaurus Process User Guide 41


H-2013.03
2: The Simulator Sentaurus Process
Interactive Graphics

****************************************************************************

Compiled Fri Jan 25 00:56:50 PDT 2013 on tcadamd12

Started at: Wed Jan 16 09:44:59 2013 (PDT)


User name: iavci
Host name: tcadintel1
PID: 12010
Architecture: x86_64
Operating system: Linux rel. [Link] ver. #1 SMP Fri Apr 20 16:36:54 EDT
2007

Interactive Graphics
There are two options for interactive graphics in Sentaurus Process:
■ An X-Windows-based graphical display (which will be phased out in future releases)
■ An interface to Tecplot SV (which will eventually replace the X-Windows display)

The interface of Tecplot SV is available on all platforms and can be used in 1D, 2D, and 3D.
The interface can be started with the simple command graphics on. The X-Windows-based
viewer is launched with either the plot.1d or plot.2d command (see plot.1d on page 1011
and plot.2d on page 1013). When the graphics command is used, graphical updating is
performed automatically.

The Sentaurus Process–Tecplot SV interface is designed to minimize the effects of the start-up
time of Tecplot SV. The usual mode of operation is to have one Tecplot SV window, which has
interprocess communication (IPC) enabled, and to start and stop Sentaurus Process many
times.

Because of the variability in user environments, automated start-up of Tecplot SV from inside
Sentaurus Process is not reliable. Therefore, to use the Sentaurus Process–Tecplot SV
interface, you must first start an IPC-enabled Tecplot SV from the UNIX command line before
starting the Sentaurus Process–Tecplot SV interface from within Sentaurus Process. To start an
IPC-enabled Tecplot SV, issue the following from the UNIX command line:
unix> tecplot_sv -s:ipc

Each time Sentaurus Process is started, it connects to the Tecplot SV window opened by the
above command and creates a new frame where the graphical output is sent. The name of the
frame contains the process ID, the user name, and the name of the computer where Sentaurus
Process is run.

42 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Command-Line Options

NOTE It is not necessary that the computer where Tecplot SV is launched is the
same as the computer where Sentaurus Process is run, but the home
directory of the user should be the same on both computers (using NFS
or similar networking file-sharing).

In addition, it is possible to have multiple Sentaurus Process jobs sending graphics output to a
single Tecplot SV for comparing multiple simulations in real time. For more information, see
Tecplot SV User Guide, Launching or Connecting to Tecplot SV on page 13).

NOTE There is a convenient control mechanism built into Tecplot SV located


in a dialog box, which is displayed by selecting View > Sentaurus
Interface. In the dialog box, buttons allow you to pause and continue
Sentaurus Process so that the graphics can be more closely examined
when the structure or data in Sentaurus Process is changing rapidly.

It is sometimes convenient to use the Sentaurus Process fbreak command when using the
interactive graphics. This command will pause Sentaurus Process in the input command file
where the fbreak command occurs, allowing adjustments to be made to the display settings
such as mesh on or off, selection of field to view, and range of color scale. The fbreak
command puts Sentaurus Process into interactive mode and the command prompt
‘sprocess>’ appears in the terminal window from which Sentaurus Process was run. After
adjustments to the graphics have been made, the command fcontinue can be entered, which
will resume Sentaurus Process execution.

In Sentaurus Workbench or batch mode (that is, sprocess -u or sprocess -b), the
commands fbreak and fcontinue have no effect. Therefore, these commands can be placed
in a Sentaurus Workbench project.

Command-Line Options
Table 1 lists the command-line options that are available in Sentaurus Process.

Table 1 Command-line options


Option Short name Function

--batchMode -b Switch off graphics.

--diff NA Diff mode. To see differences in data and Sentaurus


Process parameter settings between two TDR files.
Interpolation is used to compare results from different
meshes. Usage:
sprocess --diff <file1> <file2>
where <file1> and <file2> are TDR files.

Sentaurus Process User Guide 43


H-2013.03
2: The Simulator Sentaurus Process
Command-Line Options

Table 1 Command-line options


Option Short name Function

--FastMode -f Generate structure, no diffusion, no Monte Carlo


implantation, no partial differential equation (PDE) solve,
and so on.

--GENESISeMode -u Switch off log file creation.

--home <directory> -o <directory> Set SPHOME to <directory>.

--noSyntaxCheck -n Switch off syntax check.

--pdb -p Run Parameter Database Browser showing parameters as


they are set during run-time. Include default parameters
and parameters from the input command file if specified.

--ponly Same as --pdb, but only shows parameters set in input


command file; does not show default parameters.

--quickSyntaxCheck -q Only check syntax of branches that are true.

--syntaxCheckOnly -s Only check syntax, no execution.

NA -v Print header with version number.

NA -h Print use and command-line options.

NA -x Test floating-point exception handling.

NA -X Switch off floating-point exception catching.

Interactive Mode
Sentaurus Process runs in interactive mode if no command file is given. In this mode,
commands can be entered (at the command prompt) line-by-line and are executed immediately.

It is useful to run Sentaurus Process in the interactive mode for the following reasons:
■ When debugging Tcl code, the program does not quit if a Tcl error is found. The error is
displayed and you are prompted again for input. You can source a command file repeatedly
if required.
■ To easily obtain pdb parameter names and defaults with the pdbGet command.
■ To print the list of built-in functions with the help command, and to print the list of Tcl
procedures with the info procs command.
■ To obtain command parameter names and defaults for any built-in command by using the
params flag available in all built-in functions.

Another use of the interactive mode is to pause the simulation using the fbreak command.
When the simulation is paused in interactive mode, the state of the simulator can be queried

44 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Command-Line Options

using a number of commands including grid, mater, select, and so on. Pausing the
simulation can also be useful when using interactive graphics as described in Interactive
Graphics on page 42.

Fast Mode
When working on a new process flow, it is particularly useful to run Sentaurus Process a few
times using the fast mode (-f command-line option). Developing a new process flow can be
complex, involving many etch, deposit, and photo steps, some with masks; sometimes
adjustments are required. In the fast mode, all diffusion, Monte Carlo implantation, and 3D
remeshing commands are ignored. Only process commands for structure generation and
analysis are performed. In this mode, when in three dimensions, all struct commands will
only write a boundary into the TDR file, since the simulation mesh is not synchronized with
the modified structure.

Terminating Execution
You can terminate a running Sentaurus Process job in several ways. In some cases, the
termination will take time or will fail for other reasons. The most fail-safe method is to use the
UNIX command:
kill -9 <process_id>

where <process_id> is the process ID number of the running Sentaurus Process job which
can be obtained with the UNIX ps command. This sends a signal SIGKILL to the
corresponding Sentaurus Process job, which will cause the job to terminate immediately.

If Sentaurus Process is run directly from a UNIX shell, usually you can terminate the run by
using shortcut keys. The key sequence is interpreted by the shell command, which sends a
signal to the job in the foreground. Usually, Ctrl+C sends a SIGINT signal and Ctrl+\
(backslash) sends a SIGQUIT signal. The running Sentaurus Process job catches all SIGINT
signals and waits for three signals to be caught (in case it was typed accidentally) before
terminating itself. However, Sentaurus Process does not catch the SIGQUIT signal, so this
signal will typically cause Sentaurus Process to terminate immediately.

Because the exact behavior may depend on your UNIX shell, the operating system, and the
local configuration, refer to the manual for the UNIX shell you are running or contact your
local systems administrator for more information.

Sentaurus Process User Guide 45


H-2013.03
2: The Simulator Sentaurus Process
Environment Variables

Environment Variables
The Sentaurus Process binary relies on a number of supporting files found using the
environment variables SPHOME and SCHOME. To change default models and parameters without
modifying the installed Sentaurus Process files, copy the default SPHOME and SCHOME
directories and set the environment variables (SPHOME and SCHOME) to the location of the
modified directories.

By default, SPHOME and SCHOME are set based on the Synopsys standard environment variables
STROOT and STRELEASE, and by the version number of Sentaurus Process using:
SPHOME = $STROOT/tcad/$STRELEASE/lib/sprocess-<version number>
SCHOME = $STROOT/tcad/$STRELEASE/lib/score-<version number>

The SPHOME directory has two major subdirectories, TclLib and ImpLib, where:
■ The directory $SPHOME/TclLib contains all the default model selections in a file
[Link].
■ The Tcl files are located in directory $SPHOME/TclLib and $SCHOME/TclLib.
■ The subdirectory $SCHOME/Params contains the Sentaurus Process parameter database
(see Parameter Database on page 53).
■ The subdirectory $SPHOME/ImpLib contains all the implant tables.

File Types Used in Sentaurus Process


The main file types used in Sentaurus Process are:
■ Sentaurus Process command file (*.cmd)
This file, which is the main input file type for Sentaurus Process, contains all the process
steps and can be edited. It is referred to as the command file or input file.
■ Log file (*.log)
This file is generated by Sentaurus Processs during a run. It contains information about
each processing step, and the models and values of physical parameters used in it. The
amount of information written to the log file can be controlled by the info parameter,
which is available in nearly every command and the global default info level, 0, can be
changed with pdbSet InfoDefault <level>. The higher the info level, the more
information is logged, but it is not recommended to use <level> > 2 for normal use
because many normally unnecessary operations are performed for higher info levels which
can slow execution.

46 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
File Types Used in Sentaurus Process

■ TDR boundary file (*_bnd.tdr)


This format stores the boundaries of the structure without the bulk mesh or fields. This file
can be used as the structure file for the meshing engine Sentaurus Mesh and can be loaded
into Tecplot SV for viewing. The name of a TDR boundary file can be specified in the tdr
parameter of the init command of Sentaurus Process, and then the loaded boundary will
be meshed using the MGOALS meshing library.
■ TDR grid and doping file (*_fps.tdr)
TDR files can be used to split and restart a simulation. Such restart files are saved in the
struct tdr=filename command because restarting requires interface data, parameter
and command settings, mesh ordering information as well as bulk grid and data. If
either !pdb or !interfaces is specified in the struct command, the TDR file will not
be suitable for restarting. The TDR file can be loaded into Sentaurus Process in the init
command, but the results of the subsequent simulation steps might differ in the simulation
with the split and restart compared to a simulation of the entire flow in one attempt. TDR
files store the following types of information:
• Geometry of the device and the grid.
• Distribution of doping and other datasets in the device.
• The internal structure of the mesh in Sentaurus Process required to restore the
simulation mesh to the same state in memory that is present at the time of saving the
file. Restart files store coordinates and field values without scaling them to DF–ISE
units; files that cannot be restarted store coordinates and field values scaled to DF–ISE
units.
• Finally, by default, Sentaurus Process stores all changes to the parameter database
made after initial loading the database and all commands that create objects later
referenced, such as refinement boxes and masks in the TDR file. A TDR file can be
either reloaded into Sentaurus Process to continue the simulation or be loaded into
Tecplot SV for visualization.
The parameter settings stored in a TDR file can be viewed using pdbBrowser
-nopdb -tdr <tdrfile> (see Viewing Parameters Stored in TDR Files on page 63
for details).
For more information about the TDR file format, refer to the Sentaurus Data Explorer User
Guide.
■ DF–ISE doping and refinement file (*_msh.cmd)
This file stores doping and mesh refinement commands and, along with the boundary file,
it is used as input for the Synopsys meshing engines. This file is usually saved by the user
at the end of a simulation.

Sentaurus Process User Guide 47


H-2013.03
2: The Simulator Sentaurus Process
Syntax for Creating Input Command Files

■ DF–ISE file (*.plx)


This DF–ISE file format is used for saving 1D distributions of the doping concentration or
other fields in a specified 1D cross section. This file can be viewed by loading it into
Inspect.

Syntax for Creating Input Command Files


This section is intended for users who want to create input command files manually, that is,
outside of the Ligament environment. It is important to remember that Sentaurus Process is
written as an extension of the tool command language (Tcl). This means that the full capability
and features of Tcl are available in the input command files as well as the interactive mode of
Sentaurus Process.

Standard Tcl syntax must be followed; for example, a hash symbol (#) at the beginning of a
line denotes a comment and the dollar sign ($) is used to obtain the value of a variable. Major
features of Tcl include for loops, while loops, and if then else structures, switch
statements, file input and output, sourcing external files, and defining procedures (functions).
Variables can be numbers, strings, lists, or arrays. Refer to the literature for more
information [1].

Before execution of the command file takes place, the syntax of the file is checked. This is
accomplished by first modifying the command file so that all branches of control structures
such as if, then else, and switch commands are executed. In addition, a special flag is set
so that no structure operations or operations that depend on the structure are performed. This
allows the syntax check to run quickly, but thoroughly. Sometimes, the modifications made to
the command file during syntax checking interfere with the definition or redefinition of Tcl
variables, generating a false syntax error. In these cases, switch off syntax checking for part of
a command file using the special CHECKOFF and CHECKON commands:
# Skip syntax check for part of command file
# The CHECKOFF/CHECKON commands must start at the beginning of the line
# and be the only command on the line
CHECKOFF
if { $mode } {
array set arr $list1
} else {
set arr $list2 ;# error only if both branches are executed
}
CHECKON
# further commands are syntax checked

48 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Syntax for Creating Input Command Files

Tcl Input
Sentaurus Process has been designed to optimize the use of the Tcl. Some examples of this
interaction include:
■ Command parameter values are evaluated with Tcl. For example, expr can appear in the
value of an expression, that is, parameter=[expr $pp/10.0] is valid Sentaurus Process
syntax. This particular expression sets the parameter parameter to the value of pp/10 if
the Tcl variable pp was previously defined with the Tcl set command.
■ Tcl expressions may appear in model parameter values in the parameter database. In some
cases, Sentaurus Process parameters are set with Tcl commands to be a function of other
parameters.
■ Sentaurus Process contains many callback procedures, which can be redefined by users to
provide flexibility. For example, a callback procedure is used to initialize defects after
implantation.
■ Many modular built-in functions are available for postprocessing, which can be combined
into a Tcl script to create powerful analytic tools.
■ There are special Sentaurus Process versions of set (fset) and proc (fproc), which are
stored in TDR files. When simulations are restarted using a TDR file, the settings given by
fset and fproc from the previous simulation will be available.

Other syntax rules to consider when writing input command files are:
■ One command is entered on one line only. There are two exceptions to this rule:
• A backslash (\) is used to extend a command on to multiple lines if it appears as the last
character on the line.
• If there is an opening brace, Tcl will assume the command has not finished until the
line containing the matching closing brace.
■ Command parameters have the following form:
• Boolean parameters are true if the name appears on the line. They are false if they are
preceded by an exclamation mark (!).
• Parameters that are of type integer or floating point must appear as
parameter=value pairs.

• String parameters are enclosed, in general, in double quotation marks (" "), for
example, parameter="string value".
• Lists can appear enclosed in double quotation marks or braces, for example,
parameter= { item1 item2 ... } or parameter= " item1 item2 ...".
It is necessary to have a space between the equal sign and the opening brace.

Sentaurus Process User Guide 49


H-2013.03
2: The Simulator Sentaurus Process
Syntax for Creating Input Command Files

NOTE It is important to separate the equal sign from the parameter value by a
space because Tcl delimiters such as ‘"’ and ‘{’ are ignored if they
appear in the middle of a string. Sentaurus Process can handle no space
between an equal sign and a double quotation mark, but it cannot correct
the case where there is no space between an equal sign and an opening
brace.

Material Specification
Materials are specified the same way for all commands that require a material parameter. For
a bulk material, specify only one material. For an interface material, specify two materials: one
with a slash (/) and one without a slash.

Some examples are:


oxide ;# This command applies to oxide.
silicon /oxide ;# This command applies to the Si-SiO2 interface

The complete list of materials available can be found in the file:


$STROOT/tcad/$STRELEASE/lib/score-<version number>/TclLib/tcl/[Link]

In that file, the lines that contain mater add create a material. For more information about
creating new materials, see mater on page 982.

NOTE Materials present in the [Link] file do not necessarily have


parameters in the parameter database. Attention must be paid to
initializing parameters for a new material.

Aliases
Sentaurus Process allows more control over the names of command parameters and
abbreviations of parameter names. These aliases only apply to parameters of built-in Sentaurus
Process commands, and the pdbSet and pdbGet family of commands.

This permits clarity and uniformity to commonly used names. Another benefit is that it is easier
to maintain backward compatibility for parameter names while not restricting future parameter
names that could conflict with common abbreviations (that is, V could refer to either vacancy
or void).

An explicit list of allowed aliases is maintained in the $SCORE/TclLib directory (see


Environment Variables on page 46 for information about how the location of the TclLib

50 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Default Simulator Settings: [Link] File

directory is determined). The alias command is used to view and extend the list of allowed
aliases.

To print the list of aliases:


sprocess> alias -list

To view the alias of a parameter name, for example, Vac:


sprocess> alias Vac
Vacancy

If an alias does not exist, the same parameter name is returned:


sprocess> alias NotAParam
NotAParam

To create a new alias for a parameter name, for example, the alias Vaca for the parameter
Vacancy:
sprocess> alias Vaca
Vaca
sprocess> alias Vaca Vacancy
sprocess> alias Vaca
Vacancy

Default Simulator Settings: [Link] File


Sentaurus Process starts a simulation by reading the [Link] file in the $SPHOME/
TclLib directory. This file defines various default parameters and directories used during the
simulation such as setting:
■ The path for Tcl library files
■ The path for Advanced Calibration Tcl library files
■ The path for implant tables
■ Default material names
■ The math parameters for 1D, 2D, and 3D oxidation and diffusion simulations
■ Default solution names
■ Default diffusion callback procedures
■ Default oxidation or silicidation reactions
■ Default oxidation or silicidation solution callback procedures
■ Default epitaxial growth callback procedures

Sentaurus Process User Guide 51


H-2013.03
2: The Simulator Sentaurus Process
Compatibility with Previous Releases

The [Link] file is read once at the beginning of the simulation. You can override
any of the default parameters after the file is read.

Compatibility with Previous Releases


Occasionally, the default parameter and model settings change in Sentaurus Process to ensure
that the default behavior gives robust, accurate, and computationally efficient results on current
production technologies. Usually, when new models and algorithms are developed, they are
optional. After some experience is gained, the default can be changed to take advantage of the
new model or algorithm.

The old model and algorithm settings are collected into a file for each release and are available
so that you can recover results from previous releases. Each file contains only those parameter
changes that occurred for that particular release, so that if the release specified in the
Compatibility command is older than the most recent release, the most recent release
parameters are set first, followed by older releases in reverse chronological order.

For example, the command Compatibility E-2010.12 issued for Version H-2013.03 will
first apply parameters consistent with G-2012.06, then parameters consistent with F-2011.09,
and finally parameters consistent with E-2010.12. Aliases are available for the release name so
you do not need to know the release foundation letter. For example, 2011.09 can be used
instead of F-2011.09.

The files with the compatibility parameter settings are stored in $STROOT/tcad/
$STRELEASE/lib/sprocess/TclLib/Compatibility. These files are a useful list of all
default parameter changes for each release.

NOTE As a result of the repair of code flaws and because of numeric accuracy
limitations, exact reproduction of results from previous releases is not
always possible.

NOTE If the Compatibility command is used, it should be the first


command in an input file so that all subsequent commands that depend
on the defaults take into account the compatibility setting.

For example:
# Apply defaults of the 2011.09 release (first line of input file)
Compatibility 2011.09

52 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Parameter Database

NOTE Default parameter and algorithm settings of the tools Sentaurus Mesh,
Sentaurus Structure Editor, and the MGOALS library are not changed
by the Compatibility command. For MGOALS library backwards
compatibility, see Summary of MGOALS Etching and Deposition
Algorithms on page 759. To obtain backwards compatible default
parameters and settings for Sentaurus Mesh and Sentaurus Structure
Editor, see the backwards compatibility mechanisms described for those
tools in the corresponding manual sections.

Parameter Database
The Sentaurus Process parameter database stores all Sentaurus Process material and model
parameters as well as global information needed for save and reload capabilities. There is a
hierarchical directory tree inside the Params directory, which stores the default values. (To
locate the Params directory, see Environment Variables on page 46.)

Data is retrieved by using the pdbGet command and is set by using the pdbSet command. The
pdbGet and pdbSet commands are checked for correctness of syntax and they print the
allowed parameter names if a mistake is made. These commands are used to obtain and set all
types of data stored in the database: Boolean, string, double, double array, and switch.

The higher level pdbSet and pdbGet commands call lower-level type-specific commands
(pdbGetSwitchString, pdbGetDoubleArray, pdbGetString, pdbGetDouble,
pdbGetSwitch, pdbGetBoolean, pdbSetDoubleArray, pdbSetString,
pdbSetBoolean, pdbSetDouble, and pdbSetSwitch) that are not checked for errors and,
therefore, are not recommended for typical use. These commands have a slight performance
advantage and are used internally.

You can set some parameters in a region-specific manner. Regions can be named with the
region and deposit commands and, if region-specific parameters exist, they will override
the material-specific parameters if any. However, there are many circumstances where this will
not give the desired behavior. In that case, you must create a new material that inherits its
parameters from an existing material. Then, you must change the material properties of the new
material as needed. For more information, see Like Materials: Material Parameter Inheritance
on page 55.

Inside the Params directory are subdirectories that define the highest level nodes in the
database. Inside each subdirectory is a file Info, which contains parameters of that level. In
addition, directories in the database have named files that contain parameters, which are under
the node defined by the file name. For example, in the Params database, there is a directory
called Silicon, which contains a file Info. The parameters inside Info are located under the
Silicon node. As another example, inside the Silicon directory is another file

Sentaurus Process User Guide 53


H-2013.03
2: The Simulator Sentaurus Process
Parameter Database

Interstitial that contains parameters under the Interstitial node, which is under the
Silicon node.

Inside the files of the parameter database are commands that set database parameters. The
commands have the form:
array set $Base { <NAME> { <TYPE> <VALUE> } }

where:
■ <NAME> is the parameter name.
■ <TYPE> is one of Boolean, String, Double, DoubleArray, or Switch.
■ <VALUE> is a Tcl expression that sets the default value.

It is often necessary to enclose the <VALUE> expression in braces. Some Tcl procedures have
been created to increase the usefulness of <VALUE> expressions. For example, in many places
in the database, the built-in function Arrhenius is used to set the value of a parameter.
Parameters that contain a Tcl function are evaluated at each diffusion time step so that
temperature-dependent parameters will update correctly during a temperature ramp. It is
important to remember that the Arrhenius function uses the global Tcl variable for
temperature, which defaults to room temperature.

If you start Sentaurus Process and call the pdbGet command of a parameter that contains an
Arrhenius function, it will return the value of that parameter at room temperature. The
temperature can be changed with the SetTemp function. Subsequent calls to the Arrhenius
command through pdbGet return values based on the given temperature. In addition, the
diffusion command changes the global temperature for each time step, and the temperature
after diffusion will be same as the temperature in the last diffusion time step.

Other functions that appear in the pdb parameters are DiffLimit, which calculates a
diffusion-limited reaction rate given the diffusivity of the two reacting species, and pdbGet*
functions, which allow parameters to be set as a function of other parameters.

For the DoubleArray type, a Tcl list is set that is ordered pairwise:
{key1 value1 key2 value2 ...} where the parameter setting for key1 is value1.

Material parameters can be stored under the known region name. To set and obtain the
parameter value, use the region name instead of the material name. If the parameter is not found
under the region name, it is taken from the material of that region.

Sentaurus Process writes directly to the parameter database in a number of ways. Mostly this
is performed to save information for save and reload capabilities using the TDR format. Data
written by the program into the parameter database is not available within the default Params
directory or the Parameter Database Browser (PDB), but can be read using the pdbGet
command.

54 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Parameter Database

For information about the TDR format, refer to the Sentaurus Data Explorer User Guide.

Parameter Inheritance
The parameter database has a parameter inheritance feature where parameters at a certain level
or node can inherit the parameters from another node at the same level. The inherited
parameters can be overwritten with new values. Inheritance is indicated by the presence of a
special parameter named Like. In one of the parameter database files, the Like parameter is
specified as follows:
array set $Base {Like <Node>}

which means that parameters at the level of the file inherit parameters from <Node>, which
should be another node at the same level. For example, the file:
Params/Silicon/Arsenic/Info

contains the line array set $Base Base {Like Dopant}, which indicates that Arsenic in
Silicon should inherit the common parameters of all Dopant species in Silicon. Other
parameters specified in that file indicate parameter settings specific to Arsenic in Silicon.

Materials in Parameter Database

Like Materials: Material Parameter Inheritance

The parameters of a material can be inherited from the parameters of another material using
the special Like parameter in the PDB. When this is the case, the two materials are referred to
as like materials. This can be used to specify different settings in different regions. First, a new
material is created and made to be like an existing material using:
mater add name = <NewMat> [Link] = <ExistingMat>

where:
■ <NewMat> is the name of the material being created.
■ <ExistingMat> is the name of the material whose parameters will be inherited.

NOTE It is important to use the mater command instead of directly creating


the Like parameter because the mater command will make all
interfaces to <NewMat> Like the appropriate interface to
<ExistingMat>.

Sentaurus Process User Guide 55


H-2013.03
2: The Simulator Sentaurus Process
Parameter Database

NOTE Reaction specifications, such as oxidation, silicidation, and epitaxy, are


not stored in the PDB. Therefore, for a new material to react, a new
reaction command must be issued (see reaction on page 1038).

Interface Parameters

When using the PDB commands and the Alagator language, interfaces are specified as a pair
of materials separated by an underscore (_), for example, Gas_Oxide and Oxide_Silicon.
The official name follows alphabetic order, and the first letter is capitalized. However, aliases
are provided that allow their order to be reversed; some shorter names are allowed; and all
lowercase is generally available.

As an example of setting an interface parameter, the following command sets the numeric
tolerance [Link] at the gas–silicon interface to 1e3:
pdbSet Gas_Silicon Vac [Link] 1e3

Regionwise Parameters and Region Name-handling


Many parameters in the parameter database can be specified regionwise including parameters
related to meshing, parameters for both analytic implantation and MC implantation, and
mechanics parameters. Those parameters used by Alagator as part of equations and terms,
however, cannot be specified regionwise: this includes all dopant diffusion parameters and all
oxidation and silicidation parameters. For the rest of the parameters, internally, the program
checks if there is a regionwise specification of the parameter; if not, the materialwise
specification is used.

The name of regions can be specified with the region command and deposit command;
however, the name should not contain an underscore (_) or a period (.) because these characters
have special meaning. During the course of the simulation, geometric operations such as etch
and reflect can split regions in two. If this happens, the history of the region is maintained
through its name. For example, if a region is originally named layer1 and it is etched into two
pieces, they will be named layer1.1 and layer1.2 according to rules given below.

These two regions will inherit the parameters of layer1. Furthermore, parameters for
layer1.1 and layer1.2 also can be specified separately. If a subsequent step such as a
deposit reunites layer1.1 and layer1.2, the region will be given the name layer1.
Conversely, if layer1.1 is split into two regions, the regions will be named layer1.1.1 and
layer1.1.2, and so on. In this way, regionwise parameter specification is preserved for the
life of the region or its parts.

The numbering of split regions is performed according to the spatial location of the pieces. The
lowest point of each piece to be renamed is found (in the coordinate system of Sentaurus

56 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Parameter Database

Process, this would be the largest x-coordinate). To avoid numeric noise, the coordinates are
compared with a specified epsilon given by pdbGet Grid RenameDelta (hereafter, referred
to as RN). If the x-coordinates of the pieces to be renamed are not within RN of each other, the
regions are ordered from lowest to highest, that is, from the highest x-coordinate to the lowest.
If any piece has its lowest coordinate within RN, its y-coordinate is compared, that is, from the
lowest coordinate to the highest.

For example, in Figure 11, layer1 is split into two regions and the quantity deltax is less
than RN, so the region on the left is given the name layer1.1 and the region on the right is
given the name layer1.2. If deltax had been greater than RN, the region on the right would
have been given the name layer1.1 because it would have been considered lower than the
region on the left. Similarly, in three dimensions, first x and y are compared, and if they are
both within RN, z is used for ordering, that is, from the lowest coordinate to the highest.

layer1

layer1.1 layer1.2
deltax

Figure 11 Illustration of region-naming rules

You can apply the above operation to the whole structure with grid rename. In this case, all
the regions are renamed similarly to the above rules but, instead of the root being chosen by the
user, all regions of the same material have the root given by the names of the materials and the
extension is _<n> where <n> is the region number, for example Silicon_1, Silicon_2, and
so on. This should only be used as a postprocessing step because all region-specific parameters
no longer apply when the name of a region has changed.

For example, if two oxide layers are grown, one with steam (if it is the first oxide region, its
name would be Oxide_1) and one from pure O2 (which would be Oxide_2 if it were the
second oxide region), they can have different densities. This can be considered in an MC
implantation using:
pdbSetDouble Oxide_1 MassDensity <wet oxide density>
pdbSetDouble Oxide_2 MassDensity <dry oxide density>

where <wet oxide density> and <dry oxide density> would be replaced with values
given in g/cm3.

Sentaurus Process User Guide 57


H-2013.03
2: The Simulator Sentaurus Process
Viewing the Defaults: Parameter Database Browser

Viewing the Defaults: Parameter Database Browser


The Parameter Database Browser (PDB) is a graphical representation of the Sentaurus Process
parameter database that allows you to view and edit parameters. The PDB has three distinct
areas (see Figure 12 on page 59):
■ Parameter hierarchy overview in a tree structure representation.
■ Parameter information in a spreadsheet representation. The columns are:
• Parameter
• Type
• Value
• Unit
• Evaluate
• Comment
• Tool
• Info Level (hidden by default)
■ Graphic window to plot parameter dependence on the temperature.

The status bar has three indicators that show:


■ The temperature used in temperature-dependent functions such as Arrhenius.
■ The temperature point set for the x-axis.
■ The x-coordinate and y-coordinate of the pointer in the graphic window.

58 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Viewing the Defaults: Parameter Database Browser

Tree Structure Spreadsheet


Representation Representation

Graphic Window
Status Bar

Figure 12 Parameter Database Browser

Starting the Parameter Database Browser


To start the PDB from the command line, enter:
pdbBrowser

This searches for the database in the same location as Sentaurus Process. You can set the
environment variables SPHOME and SCHOME to change the location of the parameter database
for the PDB and Sentaurus Process (see Environment Variables on page 46 for details). To view
parameters in an input file merged with defaults, use:
sprocess --pdb <input command file>

Sentaurus Process User Guide 59


H-2013.03
2: The Simulator Sentaurus Process
Viewing the Defaults: Parameter Database Browser

or to view only the parameters specified as input in a command file, use:


sprocess --ponly <input command file>

Browser PDB Functions

The following functions are available:

Export Tree Saves the whole parameter database into a specified file in the tab-
delimited format. The fields of the file are Parameter Name, Type,
Value Evaluation, Original Value, and Comments.
Find and Find Next Matches the pattern entered against parameter names according to the
selected options. Patterns can include regular Tcl expressions. The
match is highlighted when found (see Figure 13).

Figure 13 Find dialog box

Goto Line Highlights a table row or tree node that corresponds to the number
entered.
Plot (Applies only to parameters of type double and double array.) Plots
the dependency of the selected parameter on the temperature in
logarithmic coordinates versus 1/T. The default set of temperature
values is {700.0 800.0 900.0 1000.0 1100.0}. The resulting
graphs are displayed in the graphic window; otherwise, an error
message is displayed.
Plot Over The same as Plot but it does not clear the graphic window of previous
graphs.

60 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Viewing the Defaults: Parameter Database Browser

NOTE You can zoom by dragging the mouse. To zoom out, use the middle
mouse button, or click the Zoom Out and Zoom Off buttons.

Evaluate Evaluates the value of the selected parameter and displays the result
in the Evaluate column of the table. Values can contain Tcl
expressions.
Edit Opens the appropriate database file with an editor regardless of the
user write-permissions, but the standard installation will switch off
write permissions for the database. The default editor, SEdit, can be
changed. The PDB Browser is updated upon file saving.
Parameter Double-clicking a nonempty table row allows you to view the
Information corresponding parameter information in a separate window. To close
the window, click the Close button.

NOTE To display a shortcut menu, right-click a parameter for plotting and


evaluation in the tree and table areas.

Arrhenius Fit Finds the best prefactor and energy for an Arrhenius fit of a given
profile, taken from the list of temperature–value pairs. The results can
be plotted in the graphic window.

Figure 14 Arrhenius Fit dialog box

Sentaurus Process User Guide 61


H-2013.03
2: The Simulator Sentaurus Process
Viewing the Defaults: Parameter Database Browser

PDB Preferences

The PDB allows you to reset the default settings for the following values by using the
Preferences menu, shortcut keys, or shortcut menu of the graphic window:

Preferences > Font > Family


Changes the font family.
Preferences > Font > Size
Changes the font size.
Preferences > Cursor
Changes the style of the pointer.
Preferences > Graph > Set Temperature
The global temperature used in the temperature-dependent functions;
the default is 1000.0.
Preferences > Graph > Reset X Points
The x-axis temperature point set; the default set is
{700.0 800.0 900.0 1000.0 1100.0}.

Figure 15 Reset Temperature Points dialog box

Preferences > Graph > Data Point Symbol


Node Tip: hide / show.
Preferences > Info Level
Shows or hides the Info Level column of the table.
Preferences > Editor > Change Editor
Resets the default editor.

62 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Viewing the Defaults: Parameter Database Browser

Preferences > Editor > Reset Update Time


Resets the update interval.
Preferences > Graph > X Scale
Resets the scale to logarithmic or linear.
Preferences > Graph > Y Scale
Resets the scale to logarithmic or linear.
Tools > Info Level Chooses which parameters to display ranging from basic parameters
to all parameters.

Viewing Parameters Stored in TDR Files


Parameters stored in TDR files can be viewed using the pdbBrowser command run from the
UNIX command line instead of through Sentaurus Process. By default, the PDB reads
parameters from the Sentaurus Process database directory (which can be changed with the
SPHOME and SCHOME environment variables). In addition, parameters stored in a TDR file can
be read in using the -tdr <filename> option of the PDB. Parameters that appear in the
database are overwritten by those contained in the TDR file, so the resultant parameter set will
be the same as if Sentaurus Process had read in the file. On the other hand, it is also useful to
know which parameters are only in the TDR file. To read only those parameters, the database
reading can be switched off using the -nopdb command-line option.

For example:
> pdbBrowser -tdr n10_fps.tdr

reads the Sentaurus Process PDB and then reads parameters from n10_fps.tdr file
overwriting values contained in the database.

For example:
> pdbBrowser -nopdb -tdr n10_fps.tdr

reads only the parameters in n10_fps.tdr file.

Sentaurus Process User Guide 63


H-2013.03
2: The Simulator Sentaurus Process
Creating and Loading Structures and Data

Creating and Loading Structures and Data


The first step in most simulations is either to load an existing structure or to create a new one.
New structures are created through a combination of the line, region, and init commands.
The initial mesh is a tensor-product mesh where the density of lines is specified in the line
command, and the regions are defined by specifying tags in the line commands and defined
in the region command. The initial regions are always defined as axis-aligned rectangles in
2D and axis-aligned bricks in 3D.

Understanding Coordinate Systems


Sentaurus Process and related tools use different coordinate systems. The most commonly
encountered coordinate systems include wafer coordinates, simulation coordinates, and
visualization coordinates.

Wafer Coordinate System

The wafer coordinate system is fixed with respect to the wafer flat or notch, and is used to
define the relationship of all other coordinate systems to the physical wafer. The wafer
coordinate system is shown in Figure 16.

The wafer x- and y-axes form a naturally oriented coordinate system when the wafer is drawn
with the flat pointing down as shown in Figure 16. This coordinate system is used for layout
information, such as mask locations, and for setting a cutline using the CutLine2D command.
ZW YW

YW
XW
ZW

XW

Figure 16 Wafer coordinate system

64 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Creating and Loading Structures and Data

Simulation Coordinate System (Unified Coordinate System)

The simulation coordinate system is used to define the mesh for the simulation. All coordinates
that are specified with respect to the mesh are given in simulation coordinates. This includes
all coordinates that are given in the Sentaurus Process command file.

The simulation coordinate system has the x-axis pointing into the wafer and the y-axis rotated
with respect to the wafer y-axis. The simulation coordinate system is shown in Figure 17.
Simulations in 1D use only the x-axis. Simulations in 2D use only the x- and y-axes.
ZW [Link] YW
YS
YS ZS

[Link]

YW
XW
XS

ZS

XS XW
Figure 17 Simulation coordinate system ([Link] = 45)

The rotation of the simulation axes with respect to the wafer axes is given by the [Link]
parameter of the init command. The slice angle is measured from the wafer y-axis to the
simulation y-axis with positive angles counterclockwise about the wafer z-axis.

Sentaurus Process User Guide 65


H-2013.03
2: The Simulator Sentaurus Process
Creating and Loading Structures and Data

The default value of [Link] is set to – 90° . This causes the simulation y-axis to match
the wafer x-axis, which is the usual cut direction through the layout for 2D simulations. The
default simulation coordinate system is shown in Figure 18.
ZW YW

[Link]

YW XW
XS
YS
ZS

[Link]

XS YS XW
ZS

Figure 18 Default simulation coordinate system ([Link] = –90)

Visualization Coordinate Systems


Two systems can be used for visualization:
■ The unified coordinate system (UCS)
■ The DF–ISE coordinate system

Unified Coordinate System

To use the UCS, specify:


math [Link]

This system of coordinates is explained in Simulation Coordinate System (Unified Coordinate


System) on page 65.

NOTE The UCS is the recommended way of visualization and may become the
default in the future.

DF–ISE Coordinate System

The DF–ISE coordinate system is the default for visualizing TDR files. It can be set explicitly
by:
math [Link]

66 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Creating and Loading Structures and Data

The DF–ISE coordinate system is used by the DF–ISE and some TDR file formats as well as
Tecplot SV. Unlike the simulation coordinate system in which the x-axis points into the wafer
for 1D, 2D, and 3D, the visualization coordinate system has different axis conventions for 1D,
2D, and 3D. Figure 19 shows the relationship between simulation coordinates and DF–ISE
coordinates.
Simulation Coordinates DF-ISE Coordinates

1D

x x

2D

y x

x y

3D
z

z y x y
x

Figure 19 Simulation and DF–ISE coordinate systems

The only difference between UCS coordinates and DF–ISE coordinates is that different
conventions are used to label the axes. Sentaurus Process automatically converts the axis labels
when reading and writing DF–ISE or TDR files.

The relationship between DF–ISE coordinates and UCS coordinates shown in Figure 19
applies to all values of [Link]. In other words, the DF–ISE system is not fixed with
respect to the wafer system. It always has the same rotation with respect to the wafer coordinate
system as the simulation coordinate system.

Figure 20 on page 68 shows the relationship between simulation coordinates and visualization
coordinates.

Sentaurus Process User Guide 67


H-2013.03
2: The Simulator Sentaurus Process
Creating and Loading Structures and Data

Simulation Coordinates Visualization Coordinates


1D

x x

2D

y x

x y

3D
z

z y x y
x

Figure 20 Simulation and visualization coordinate systems

The tensor components, for example, mechanical stresses, in 2D and 3D are the same in UCS
coordinates. For a conversion table for the stress components in 2D and 3D DF–ISE coordinate
systems, see Chapter 9 on page 629. This also applies to other second-order symmetric tensors.

Defining the Structure: The line and region Commands


The line and region commands are used together to define the structure. In the init
command, the structure is actually formed. Care must be taken when creating a structure
because there are few checks for errors.

These rules must be followed to obtain a valid structure:


■ If this is not the first structure being created in a command file, the command line clear
must be issued to remove line commands and stored mesh ticks.
■ Line locations must be given in increasing order.
■ The region boundaries are defined by tagged lines. Tagged lines are created with the line
command where the parameter tag has been set (as well as the location parameter).
■ At least one region command must be given to define the substrate.
■ Regions must have a material specification, except for the substrate case described
below.
■ Regions must have the same dimensionality as the line commands used (that is, if line y
is given, a 2D region is expected with ylo and yhi set).

68 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Creating and Loading Structures and Data

■ The spacing parameter is used to create lines between user-defined lines, so that not every
line must be specified in the command file. Sentaurus Process smoothly grades the line
density between user-defined lines to match as closely as possible the spacing at each user-
defined line. In addition, there will be lines at locations given by the location parameter
of the line command. By default, the spacing parameter is extremely large, so that if it
is not set, only lines given by the location parameter will be in the mesh.
■ The *lo parameter refers to the lowest coordinate value, that is, the location of the line
corresponding to the xlo tag must be less than the coordinate corresponding to the xhi tag.
■ The region command can be used to tag a region as a substrate in two ways:
• If the region is being defined with the material name and the parameters *hi and *lo,
the Boolean keyword substrate will tag this region as the substrate.
• If the structure is being loaded from a previously saved file, the command:
region name=<region_name> substrate
will tag the region with region_name as the name of the substrate. This is the only
occasion when the region command will be called after the init command.

Considerations when creating structures are:


■ For 2D and 3D simulations, it is advantageous to create a coarse mesh in the lateral (that
is, y- or z-directions) because lines created with the line command run all the way through
the structure. Often, finer spacing in the y- or z-direction is needed near the surface;
whereas, further in the bulk, a coarser spacing is required (to minimize the size of the
problem).
■ When MGOALS is used for etching and deposition, or meshing, it automatically creates a
local refinement near interfaces that does not run the length of the structure.
■ To specify refinement boxes, use the refinebox command. Control over the meshing
parameters for MGOALS is explained in Chapter 11 on page 709.

Creating the Structure and Initializing Data


The init command is used to create the structure. If the line and region commands have
been given to create a structure from the beginning, the init command does not require any
options. It will take the structure definition and create a new structure.

Many process steps such as etching, deposition, diffusion, and implantation require a gas mesh.
By default, Sentaurus Process does not add a gas mesh during the init command, but delays
creating the gas mesh until it is needed. To add the gas mesh immediately, use the command:
pdbSet Grid AddGasMesh 1

Sentaurus Process User Guide 69


H-2013.03
2: The Simulator Sentaurus Process
Creating and Loading Structures and Data

NOTE The parameter must be set before the init command to generate the
gas mesh during the init command.

There are several ways to initialize fields at the time the initial structure is created from line
and region commands:
■ To initialize data everywhere in the structure, a field specification can be given in the init
command.
■ To initialize data in one particular region only, a field specification is given in the region
command.

In both the init and region commands, the field parameter specifies the name of the data
field that will be created and either the concentration parameter or the resistivity
parameter is used to specify the value created. Although initialization was intended for
dopants, a field with any name can be initialized with the concentration parameter.
However, it will create a field with nodal values and, because stresses are computed on
elements, it should not be used for initializing stress values (use the stressdata command or
the select command for this). The resistivity parameter only works for fields that have
the resistivity parameters set (which by default are only As, B, P, Sb, and In in silicon). The
init command also is used to read a structure from a file. In this case, the parameter name
serves as the type specification, and the value of the parameter is the file name or root name (in
the case of DF–ISE), for example:
init dfise=file ;# Read '[Link]' and '[Link]'.
# If not available try '[Link]' and '[Link]'
init dfise=[Link] ;# Only read a structure (no data) from '[Link]'
# or '[Link]'
init tdr=file ;# Read a geometry, data, and pdb parameters from
# '[Link]'.
init bnd=file ;# Read a bnd file and mesh it.

The TDR format is used to restart a simulation by default when creating ‘splits’ in Sentaurus
Workbench. This format stores all pdb parameter settings as well as numerous other settings
coming from commands (see Saving a Structure for Restarting the Simulation on page 74).

The bnd parameter is used to load boundaries that are then meshed by MGOALS. In this case,
the structure is meshed with the constrained Delaunay mesher, which makes use of lines
coming from the line command.

The init command is used to specify the principal wafer orientation ([Link]), the
lateral crystal orientation of the wafer flat or notch ([Link]), and the [Link]
for the implant command, that is angle:
init [Link]= {<i> <j> <k>} [Link]= {<i> <j> <k>} [Link]=<n>

where <i>, <j>, and <k> are the crystallographic (Miller) indices. For more information about
the wafer orientation and the slice angle, see 2D Coordinate System on page 89.

70 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Creating and Loading Structures and Data

You also can set the [Link] by using a 2D cutline, for example:
init [Link]= [CutLine2D <x1> <y1> <x2> <y2>]

The first two values define the start point, and the third and fourth values define the endpoint
in the wafer plane. The two points are defined in the wafer coordinate system (see
Understanding Coordinate Systems on page 64).

Defining the Crystal Orientation


The crystal orientation of the wafer is established by specifying the Miller indices of the wafer
surface and the wafer flat. The [Link] and [Link] parameters of the init
command specify the Miller indices of the wafer z- and y-axes, respectively. The wafer surface
orientation (z-axis) is set using [Link]= {<i> <j> <k>} where <i>, <j>, and <k>
are the crystallographic (Miller) indices. The flat orientation (y-axis) can be set arbitrarily, but
it must be orthogonal to the wafer surface orientation. The default surface orientation is 100
and the default flat orientation is a 110 direction for all values of [Link].

NOTE The [Link] and [Link] parameters of the init


command apply to orthorhombic crystal systems only (such as silicon).
For information on how to change the crystal orientation in hexagonal
systems, see MC Implantation into Silicon Carbide on page 162. Setting
info=2 in the implant command confirms user-defined settings for
each region in the log file only.

Table 2 lists the crystallographic directions of the wafer axes for the most common
crystallographic orientations of the wafer as shown in Figure 16 on page 64.

Table 2 Miller indices of wafer axes for each value of [Link]


(wafer axes are defined in Figure 16)
Wafer orientation XW YW ZW

100 [ 110 ] [ 110 ] [ 001 ]

110 [ 001 ] [ 110 ] [ 110 ]

111 [ 112 ] [ 110 ] [ 111 ]

Sentaurus Process also allows you to define different crystal orientations for different regions
by using the commands:
pdbSetDoubleArray <region_name> [Link] <double array>
pdbSetDoubleArray <region_name> [Link] <double array>

Sentaurus Process User Guide 71


H-2013.03
2: The Simulator Sentaurus Process
Creating and Loading Structures and Data

To facilitate simulations of hybrid orientation technology (HOT), Sentaurus Process predefines


three materials (Silicon, Silicon110, and Silicon111) for crystalline silicon. These
materials have exactly the same properties, except for the default crystal orientations that are
<100>, <110>, and <111> for Silicon, Silicon110, and Silicon111, respectively.

Automatic Dimension Control


The maximum dimension of a simulation is determined by the specified line commands;
line x commands define the extensions in the vertical direction and are required for 1D, 2D,
and 3D simulations. If, in addition, line y commands are specified, the maximum dimension
of the simulation will be at least 2D and, if also line z commands are specified, the maximum
dimension of the simulation will be three dimensions. By default, Sentaurus Process delays the
creation of a full-dimensional structure until it becomes necessary. This means that if you
specify a 2D structure where all regions span the entire simulation domain in the y-direction,
Sentaurus Process will create a 1D structure.

When a 2D or 3D mask is used in an etch, a deposit, or a photo command, Sentaurus


Process automatically extrudes the structure and the mesh into the appropriate dimension and
copies the data. This delay of creating a full-dimensional structure can be switched off in the
init command by using the option !DelayFullD. To increase the dimension manually, use
the grid command. If a 2D structure is required, that is, both the line x and line y
commands but no line z commands have been specified, grid 2D or grid FullD will
cause a 2D structure to be created.

Similarly, if line x, line y, and line z commands have been specified, grid 2D can be
used to extrude a 1D structure to two dimensions, and a 1D or 2D structure is extruded to three
dimensions using grid 3D or grid FullD. This functionality also can be used to increase
the dimension of structures loaded from files. After the structure has been loaded, line
commands can be issued and the dimension of the structure will increase automatically when
necessary or manually using the grid command.

Sentaurus Process does not provide a facility to reduce the dimension of a simulation.

When structures are saved to DF–ISE files or TDR files (other than TDR restart files), the
current maximum dimension as specified with line commands is used by default in the file.
The dimension of the simulation itself is not affected. To save files in the current dimension,
the !FullD parameter of the struct command can be used (see Saving and Visualizing
Structures on page 73). TDR restart files are always saved in the dimension currently used in
the simulation.

72 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Creating and Loading Structures and Data

Saving and Visualizing Structures


Sentaurus Process supports two file formats for reading and writing structures: TDR and the
older DF–ISE. Both the TDR and DF–ISE formats allow saving the structure geometry with
and without the bulk mesh and data, and with contacts. These files contain simply connected
regions to operate smoothly with other Synopsys TCAD tools. One important option available
for saving TDR and DF–ISE files is to omit saving gas regions because this may cause
problems for other tools.

The TDR format allows for the saving and loading of geometry and data information along
with pdb parameters. For more information about file types and standard file extensions, see
File Types Used in Sentaurus Process on page 46.

The TDR format is the preferred file format over the DF–ISE format. TDR files can be used to
split a simulation, and restart and continue the simulation as if no file save or file load was
performed. Besides the simulation grid and data, additional information is stored to facilitate
such a restart. Only TDR files provide such restart capability; simulation results will differ if a
simulation is performed in one contiguous run compared to saving and loading the intermediate
state into _bnd.tdr or DF–ISE files.

Setting the parameter math coord.<coord name> configures whether the visualization
coordinates will be identical to the simulation ones (when using [Link]) or will follow
the DF–ISE criteria (when using [Link]).

When using DF–ISE, it is important to understand the difference between the simulation
coordinates used by Sentaurus Process and the coordinates seen in Tecplot SV. For Sentaurus
Process, the positive x-direction always points into the substrate in 1D, 2D, and 3D. TDR and
Tecplot SV have different axis directions in 1D, 2D, and 3D. With [Link], Sentaurus
Process rotates the structure into the DF–ISE coordinate system when saving the structure and
rotates the structure back when reading it.

Figure 19 on page 67 shows the relation between the UCS and DF–ISE coordinates. The
exposed surface of the substrate is oriented upwards; that is, the ‘up’ direction is always in the
negative x-direction in the UCS.

To select the fields stored in TDR files, use the SetTDRList command. Each field name in the
SetTDRList command is added to the list of fields, which are usually saved (if the field is
present in the structure). This command also takes as arguments the macro parameters
Dopants and Solutions, and their negative counterparts !Solutions and !Dopants.
Solutions refers to variables of partial differential equations (PDEs). The solution variables
must be stored in a TDR file if that file is to be used to continue a simulation. The parameter
Dopants refers to the total and active dopant concentration fields. By default, TDR files are
saved with both Solutions and Dopants names in SetTDRList. However, this requires

Sentaurus Process User Guide 73


H-2013.03
2: The Simulator Sentaurus Process
Creating and Loading Structures and Data

many fields to be stored in the TDR files and, sometimes, it is more convenient to have fewer
fields.

To do this, set !Solutions in SetTDRList, which unselects all fields. Then, specify the field
names to be stored in the TDR file (see SetAtomistic on page 1056 for saving KMC fields).

Saving a Structure for Restarting the Simulation

When saving files using the TDR format, the current state of the parameter database is, by
default, saved in the file. The parameter database contains all of the information necessary to
restart a simulation including:
■ Model settings
■ Parameter settings
■ Mesh settings from the mgoals command
■ Refinement boxes from the refinebox command
■ Temperature ramps from the temp_ramp command
■ Gas flow specifications from the gas_flow command
■ Line specifications from the line command
■ Region specifications from the region command
■ Reaction specifications from the reaction command
■ Specifications for point, polygon, polyhedron
■ Doping specifications with the doping command
■ User materials created with the mater command
■ Contact definitions created with the contact command
■ Mask definitions created with the mask command
■ Solution commands can be optionally stored using the store parameter of the solution
command
■ Term commands can be optionally stored using the store parameter of the term
command
■ Global Tcl variables can be stored with fset
■ Tcl procedures can be stored using fproc

By default, when loading a TDR file, the changes in the parameter database are read in from
the TDR file and are applied. For information about the TDR format, refer to the Sentaurus
Data Explorer User Guide.

74 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Creating and Loading Structures and Data

When saving a TDR file, the coordinate system used for visualization is also included in the
file and is used by Tecplot SV when opening it. The visualization coordinate system can be
changed using the math pdb command.

For the UCS, use:


math pdb [Link]

For the DF–ISE coordinate system, use:


math pdb [Link]

Saving a Structure for Device Simulation

In general, there are three main steps to saving a structure appropriate for device simulation:
1. Define contacts.
2. Remesh the structure with appropriate refinement for device simulation.
3. Save the structure with contacts and with Delaunay weights.

Contacts are defined using the contact command. There are two main ways to define
contacts, either:
■ Using a box where the contact is created at the intersection of a material interface and a box.
■ Using a point contact in which a region is specified by giving a point inside the region; then
all boundaries of this region become a contact.

The contact is given a name and, if the command is executed multiple times with the same
contact and the add parameter, the contact will include all parts specified. There are also
options for creating a contact on the outer boundaries and so on. For more information, see
contact on page 861.

Remeshing the structure is needed to create a mesh that is better suited to device simulation.
Typically, this means discarding process-based refinements, creating a very fine mesh under
the channel, and refining on the p-n junction. A typical sequence of steps is:
■ Clear the process mesh:
refinebox clear
line clear
■ Reset default settings for adaptive meshing:
pdbSet Grid AdaptiveField [Link] 1.e37
pdbSet Grid AdaptiveField [Link] 1e10
pdbSet Grid AdaptiveField [Link] 100.0

Sentaurus Process User Guide 75


H-2013.03
2: The Simulator Sentaurus Process
Creating and Loading Structures and Data

■ Set high-quality Delaunay meshes:


pdbSet Grid SnMesh DelaunayType boxmethod
■ Set mesh spacing near interfaces:
mgoals [Link]=<n> [Link]=<n>
■ Set which interfaces will have interface refinement:
refinebox [Link]= {Silicon}
■ Specify adaptive refinement:
pdbSet Grid Adaptive 1
■ Specify lines if necessary:
line y loc= $Ymin+0.001
line z loc= $Zmin+0.001
■ Specify refinement boxes, for example:
refinebox min= {<n> <n> <n>} max= {<n> <n> <n>} \
xrefine= <n> yrefine=<n> zrefine=<n> ;# gate refinement
refinebox [Link]=NetActive [Link]= {NetActive= 1.0} \
[Link]=<n> Silicon ;# adaptive refinement on NetActive
■ If using the IC WorkBench EV Plus interface, it may be useful to consider using the
[Link] command (see Chapter 12 on page 795 and [Link] on
page 924 for more information).

In these steps, <n> are coordinates or edge lengths in micrometers, and


[Link] is a unitless ratio.

To save the structure with contacts and to remove the gas and interfaces, it is easiest to use the
command struct smesh=<filename>. In addition to omitting structural features not
needed for device simulation, this command also chooses the minimal set of fields needed for
device simulation (that is, dopants and nodal stresses).

Delaunay weights can be saved in the structure intended for device simulation by setting these
parameters before generating the mesh:
pdbSet Grid SnMesh StoreDelaunayWeight 1
pdbSet Grid [Link] 1

The first parameter StoreDelaunayWeight creates the field variable Delaunay–Voronoï


weight (DelVorWeight) that is used in the weighted box method in Sentaurus Device. The
second parameter [Link] switches on an experimental feature that creates
contacts in the boundary representation (brep) and prevents changes to the mesh that can
locally invalidate the Delaunay weight.

76 Sentaurus Process User Guide


H-2013.03
2: The Simulator Sentaurus Process
Creating and Loading Structures and Data

Saving Doping Information in SiC and GaN for Device Simulations

Basic process simulation capabilities such as etching, deposition, and implantation with Monte
Carlo are available for multicomponent materials, for example, silicon carbide (SiC) and
gallium nitride (GaN). However, there are no activation models for dopants in these materials.
To create active doping concentration fields that are equal to their associated total fields, when
saving a file for transfer to device simulation, use the diffuse command with zero time, for
example:
diffuse time=0 temperature=900
struct smesh= <file name>

Saving 1D Profiles for Inspect

To store .plx files, use the WritePlx command. The command SetPlxList selects the
fields to be stored in the .plx file. The command SetPlxList is similar to the
SetDFISEList command, except that no fields are selected by default. Only the field names
specified in SetPlxList are stored in the .plx file (see SetPlxList on page 1060 and WritePlx
on page 1113).

Saving 1D TDR Files from 2D and 3D Simulations

The command struct also saves a 1D TDR file if the proper cutting coordinates are specified.
In 2D, only one cutting coordinate is needed (either x or y; coordinate z makes no sense here).
In 3D, the command saves the intersection of the planes specified by two cutting coordinates
(for example, specifying x and z will save the y line containing those x- and z-coordinates). In
addition to storing the mesh and data, these files save any contacts that apply at the cut point,
so that the file can be loaded into Sentaurus Device for electrical analysis. This file can be
visualized with Tecplot SV.

For example, in a 2D simulation, the following command:


struct tdr=filename y=0.5

picks up all the x-coordinates with y=0.5 and saves them in a 1D TDR file.

In addition, in a 3D simulation, the following command:


struct tdr=filename x=0.2 z=0.1

saves the y-coordinates with x=0.2 and z=0.1 as a 1D TDR file.

For more information, see struct on page 1086.

Sentaurus Process User Guide 77


H-2013.03
2: The Simulator Sentaurus Process
References

The select Command (More 1D Saving Options)

The select command is a versatile command for many operations such as viewing results,
postprocessing, and initializing or changing datasets. The basic command is:
select z=<expression>

where <expression> is an Alagator expression (see Chapter 6 on page 559). A simple


example of an <expression> is the name of a data field such as Potential and VTotal.
The value of the expression is stored in the selected field.

This selected field can be viewed with [Link] or print.1d, for example, or the
integrated values can be obtained using the layers command. The select command can also
be used to set an existing data field or create a new data field, for example:
select z=1.0 name=MyDataField ;# create a new datafield named MyDataField
# and set it to 1.0 (everywhere)

select z= 0.1*Vacancy name=Void store ;# Set Void equal to 0.1*Vacancy

Loading 1D Profiles: The profile Command


The profile command is used to load a 1D profile into 1D, 2D, or 3D structures. The file to
be read should contain one x-coordinate data pair per line. Both linear (using the linear
parameter) and logarithmic interpolation (default) are available. Profiles are loaded by using:
profile infile = [Link] name = Boron

Sentaurus Process reads the file [Link] and sets the field Boron accordingly.

References
[1] B. B. Welch, Practical Programming in Tcl & Tk, Upper Saddle River, New Jersey:
Prentice Hall PTR, 3rd ed., 2000.

78 Sentaurus Process User Guide


H-2013.03
CHAPTER 3 Ion Implantation

The chapter presents the ion implantation technique used in


Sentaurus Process.

Overview
Ion implantation is one of the most widely used processing techniques to introduce impurity
atoms into semiconductor materials. In Sentaurus Process, either analytic functions or the
Monte Carlo (MC) method is used to compute the distribution of implanted ions and the
implantation damage. Analytic implantation models use the simple Gaussian and Pearson as
well as the advanced dual Pearson functions. The implantation damage with analytic models is
calculated according to the Hobler model [1]. The MC method uses a statistical approach to the
calculation of the penetration of implanted ions into the target and accumulation of crystal
damage based on the binary collision approximation [2].

Analytic implantation simulates the spatial distribution of the implanted ions based on the
selected distribution function, which is described by moments. The distribution moments
depend on the ionic species, implantation energy, dose, and tilt and rotation angles. Sets of
moments for a given range of implantation parameters are provided in the form of lookup
tables. Sentaurus Process can use implantation tables in the Dios format, TSUPREM-4
formats, and the Taurus Process table format. The implantation data available includes the
default tables [3], the Advanced Calibration tables [4], the Taurus table set [5], and the original
Tasch tables [6].

Sentaurus Process handles 1D, 2D, and 3D geometries for both analytic implantation
simulations and MC simulations. The algorithms for analytic implantation are an integral part
of Sentaurus Process; whereas, MC simulations are performed with the binary collision code
Sentaurus MC [7] or Crystal-TRIM [8].

Analytic ion implantation is performed using the implant command:


implant <dopant> [energy=<n>] [dose=<n>] [tilt=<n>] [rotation=<n>]

Sentaurus Process simulates an analytic implantation step producing output such as:
---------------------------------------------------------------- implant -----
implant energy=35.00<keV> dose=1.00e.+14<cm-2> tilt=7.00<degree>
rotation=-90.00<degree> Boron
------------------------------------------------------------------------------
Species = Boron

Sentaurus Process User Guide 79


H-2013.03
3: Ion Implantation
Overview

Dataset = Boron
Energy = 35keV
Dose (WaferDose) = 1e+14/cm2
BeamDose = 1.0075e+14/cm2
Tilt = 7deg
Tilt2D = 7deg
Rotation = -90deg
Slice angle = -90deg
Temperature = 300.00K

For a description of the analytic implantation mode, see Analytic Implantation on page 90.

To switch from analytic implantation to MC implantation with Sentaurus MC, use the logical
switch [Link] (or its alias tmc):
implant <dopant> [energy=<n>] [dose=<n>] [tilt=<n>] [rotation=<n>]
[[Link]]

To switch from analytic implantation to MC implantation with Crystal-TRIM, use the logical
switch crystaltrim (or its alias ctrim):
implant <dopant> [energy=<n>] [dose=<n>] [tilt=<n>] [rotation=<n>]
[crystaltrim]

If the cascades switch is used in addition to [Link] or crystaltrim, the MC


implantation is run in the full-cascade mode. For a description of Sentaurus MC and the
Crystal-TRIM mode, see Monte Carlo Implantation on page 131.

An external profile can be loaded using the [Link] switch:


implant <dopant> [energy=<n>] [dose=<n>] [tilt=<n>] [rotation=<n>]
[[Link]] [file=<c>]

A TDR file must be specified with the file selector. [Link] works with files created by
either Sentaurus MC or Crystal-TRIM. For a full description of the file-loading mode, see
Loading External Profiles on page 183.

The implantation energy in the implant <dopant> facility is given in keV by default. The
implantation dose has two modes:
■ The wafer dose (WaferDose), which refers to the expected dose in the structure after the
2
implantation is finished. This dose is measured in ions per cm .
■ Alternatively, the implantation dose can mean the beam dose (BeamDose).

In the wafer dose mode, the final implanted dose does not depend on the wafer orientation with
respect to the ion beam. In the beam dose mode, the final implanted dose may change as tilt
and rotation angles change. For a discussion of the meaning and implications of the tilt and
rotation angles, see Coordinate System on page 87. All angles are measured in degrees.

80 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Overview

The mode of the implant dose can be specified with the following pdb switches:
pdbSet ImplantData DoseControl {Default WaferDose BeamDose}

The default value of DoseControl switch is Default, in which case, the mode of implant
dose is chosen automatically based on the implant table format. If the currently selected
implant tables are in Taurus/TSUPREM-4 format, the beam dose mode is used automatically.
Otherwise, the wafer dose mode is applied. If the DoseControl switch is set to WaferDose,
the wafer dose mode is used for all implantations regardless of table formats, likewise for
BeamDose.

NOTE To obtain consistent results and prevent unexpected dose mode, it is


strongly recommended to always set the DoseControl parameter at
the start of command files to either WaferDose or BeamDose.

To override these global settings, use the logical switch [Link] in the implant
command:
implant <dopant> [dose=<n>] [[Link] ![Link]]

NOTE The main parameters for the implant statements energy, dose, tilt,
and rotation must always be specified. Otherwise, default values are
chosen that may not reflect the assumed process conditions.

In addition to energy, dose, tilt, and rotation, you can specify the implant temperature
and the dose rate. Temperature and current are recognized as parameters by the format moment
tables of Taurus Process.

If the structure is completely covered by photoresist, you can omit an implantation step by
using the following pdb command:
pdbSet ImplantData ResistSkip 1

By default, it is not omitted.

The amount of information printed to the log file and displayed is controlled by the parameter
info in the implant command. The value of info must be set to an integer value between 0
and 2. The higher the value, the more detailed information is printed to the log file and
displayed. Output messages with an information level less than 3 can be easily understood by
typical users.

NOTE Messages with info=3 or more are better understood by users with
greater knowledge of the Sentaurus Process implantation code and is
reserved for debugging.

Sentaurus Process User Guide 81


H-2013.03
3: Ion Implantation
Overview

Selecting Models
The implanted species must be a previously initialized species. To initialize an implantation
species, use the implant species=<dopant> facility, that is:
implant species=<dopant> <material> [[Link]=<file>] [model] [damage]

NOTE This command does not perform an implantation step. It is distinguished


from the standard use of the implant command by the keyword
species (or tables).

Here, dopant can be any name, while material should be an initialized material (see
Material Specification on page 50). To select the implantation table file, containing moments
for the primary and lateral distributions, use the keyword [Link]. The <model> switch
selects the implant model. The available choices are discussed in Primary Distribution
Functions on page 92. The following models are available:
■ Gaussian distribution: gaussian
■ Single Pearson distribution: pearson
■ Single Pearson distribution with linear exponential tail: pearson.s
■ Dual Pearson distribution: dualpearson
■ External distribution: [Link]

To switch on damage calculation, use the damage flag.

The following command, for example, changes the default implantation table for boron in
silicon to my_table.tab and the implant model to pearson. It also switches off the damage
calculation for boron in silicon:
implant species=Boron Silicon [Link]=my_table.tab pearson !damage

At the beginning of a Sentaurus Process run, all species are initialized automatically using the
implant species=<dopant> facility.

Table 3 lists the species that are supported and recognized in a Sentaurus Process run.

Table 3 Overview of default species initialized by Sentaurus Process


Atomic species Molecular Description

Aluminum, Antimony, Arsenic, AsH2,BF2, Used in analytic and MC implantation. Implant tables
Boron, Carbon, Fluorine, B10H14, are available for atomic species and molecular BF2.
Gallium, Germanium, Indium, B18H22, BCl2, For other molecular species, implantation is performed
Nitrogen, Phosphorus, C2B10H12, based on the tables for primary dopant species (As, B,
Silicon C2B10H14,PH2 or P).

82 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Overview

Table 3 Overview of default species initialized by Sentaurus Process


Atomic species Molecular Description

Argon, Beryllium, Bromine, No implantation tables are available. Analytic


Cadmium, Chlorine, Helium, implantation will abort. Recommended for use in MC
Hydrogen, Iodine, Iron, only.
Krypton, Lead, Magnesium,
Neon, Oxygen, Selenium,
Sulfur, Tellurium, Tin,
Titanium, Xenon, Zinc

You can overwrite or extend these settings at any time during a Sentaurus Process run. There
are three principal ways to change the initial settings. With the previously described command,
you can change the settings for one pair of dopant species and material. To overwrite the
settings for one particular dopant species in all materials, use:
implant [species=<dopant>] tables=<name>

The <name> string selects a set of tables and model switches. Internally, Sentaurus Process
executes a set of implant species=<dopant> <material> commands, which set the
implant parameters for one pair of dopant species and material, respectively.

NOTE The keyword tables=<name> does not refer to a particular table or


table name. It sets all tables and model switches for the species in all
materials using a Tcl procedure.

The possible choices for <name> are discussed in Tables on page 102. The following settings
are available:
■ Mixed dual Pearson and single Pearson tables: Default
■ Taurus Process table set: Taurus
■ University of Texas tables: Tasch
■ Single Pearson tables used in Dios: Dios
■ TSUPREM-4 native implant tables: TSuprem4

Dios or Default Tables

For example, the following command changes all implant specifications for the species boron
from the default to the Dios implantation tables and models:
implant species=Boron tables=Dios

If the above command is given without the keyword species, that is:
implant tables=<name>

Sentaurus Process User Guide 83


H-2013.03
3: Ion Implantation
Overview

the implant tables and model switches are overwritten for all species in all materials. The
default setting for <name> is Default and the command:
implant tables=Default

is equivalent to the (default) initialization of all species and models at the beginning of each
Sentaurus Process run.

Taurus Tables

The command:
implant tables=Taurus [[Link]=<suffix>] [[Link]=<suffix>]

switches to the Taurus mode. This means that Sentaurus Process uses the same moment tables
as the Taurus Process implant library in TSUPREM-4. The file names for Taurus tables are
conventionally named as <ion>_in_<material>_<suffix> and
<ion>_damage_in_<material>_<suffix> for implant data and damage data,
respectively. The default suffix is standard for both implant data and damage data. The
optional parameters [Link] and [Link] can be used to change the default suffix for
implant data and damage data, respectively. By using different suffices, different tables for the
same species/material combination can coexist in the same directory.

In addition, if tables=Taurus was specified, several models are switched on that are not used
by default. These models are:
■ Beam dose control: [Link] (see Overview on page 79)
■ Proportional range scaling: [Link] (see Multilayer Implantations on page 109)
■ Effective channelling suppression: [Link] (see Screening (Cap)
Layer-dependent Moments on page 96)
■ Profile reshaping: [Link] (see Profile Reshaping on page 123)
■ Preamorphization implants (PAI): pai (see Preamorphization Implantation (PAI) Model
on page 119)

NOTE This does not give the same results as TSUPREM-4; however, the
results are similar.

TSUPREM-4 Native Implant Tables

Sentaurus Process also can read implant tables in TSUPREM-4 native format. To select native
TSUPREM-4 implant tables, use the command:
implant [species=<c>] tables=TSuprem4 [[Link]=<c>]

84 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Overview

If species is specified, TSUPREM-4 implant tables are applied to this particular species only.
If species is not specified, implant tables are applied to all TSUPREM-4 supported species,
which include antimony, arsenic, BF2, boron, fluorine, indium, fluorine, and phosphorus.

The name of the TSUPREM-4 native implant table conventionally uses the species name or the
species name with a prefix. Eight different implant tables in silicon are distinguished by a
prefix. For example, chboron (which means channeling boron) is one of the boron implant
tables in silicon.

The parameter [Link] takes one of the followings values: default, none, le, ch,
dual, ut, tr, or scr:
■ The default value is [Link]=default, which selects TSUPREM-4 default implant
tables, that is, antimony, fluorine, chboron, [Link], [Link], dual.bf2, and
[Link] for antimony, fluorine, boron, arsenic, phosphorus, BF2, and indium,
respectively.
■ If [Link]=none, no prefix is added, so the TSUPREM-4 implant tables (antimony,
boron, and so on) are used for antimony, boron, and so on, respectively. If the
corresponding table for a species in a material is not available, the default table is used.
■ If [Link]=le or ch, then le<species> or ch<species> tables are selected, for
example, leboron or chboron for boron implantation. If the corresponding table for a
species in a material is not available, the default table is used.
■ If [Link]=dual, ut, tr, or scr, then <prefix>.<species> tables are selected,
for example, [Link], [Link], [Link], and [Link] for boron
implantation. If the corresponding table for a species in a material is not available, the
default table is used.

You also can use your own TSUPREM-4 native-formatted implant tables by using the
following command:
implant species=<dopant> <material> [Link]=<file> [Link]=<name>
[Link]=<name>

[Link] specifies the file name (which should have the file-name extension .ts4) that
contains implant moment tables in TSUPREM-4 format, such as mys4imp0.ts4. If the file is
in the same directory where Sentaurus Process is being run, then only the name of the file is
needed for [Link]; otherwise, the full path is required. [Link] specifies the
TSUPREM-4 table name for the dopant, which is one of the predefined impurity names in the
implant data file. For example, in the standard s4imp0, the valid names for boron implant are
boron, leboron, chboron, [Link], [Link], and [Link]. [Link]
specifies the material name used in TSUPREM-4, which is one of the predefined material
names in the implant data file. For example, in the standard s4imp0, the material names
include silicon, polysilicon, oxide, nitride, and so on.

Sentaurus Process User Guide 85


H-2013.03
3: Ion Implantation
Overview

If not specified, [Link] and [Link] default to the species name (for example,
Boron) and the material name (for example, Silicon) used in Sentaurus Process,
respectively.

NOTE Ensure that these names match exactly the names in the TSUPREM-4
implant data file. While these names are not case sensitive, they cannot
be abbreviated. For example, while [Link]=Polysilicon is
acceptable; [Link]=poly will result in an error.

Multirotation Implantation
The simulation of multirotation implantations for both the MC and analytic methods is
controlled by the integer parameter [Link]=<n>. If [Link] is set to a number higher
than 1, an implantation with a revolving ion beam is simulated. Starting with the user-defined
rotation angle, Sentaurus Process performs [Link] implantations with the same energy
and tilt in one implant command.

The rotation angle is incremented by ( 360° )/[Link] and, for each implantation step, the
dose is the 1/[Link]-th part of the user-specified dose.

Energy Contamination Implantation


Sentaurus Process has a built-in feature for implantation with energy contamination, in which
a fraction of the nominal dose has a different energy than the specified energy. To perform an
energy contamination implantation, you must specify the parameter contamination in the
implant command. The syntax is:
implant dose=<n1> energy=<n2>
contamination= {energy=<n3> [Link]=<fraction>} ...

Then, Sentaurus Process treats the implantation as two separate implantations in the following
order:
implant dose=<n1*fraction> energy=<n3> ...
implant dose=<n1*(1-fraction)> energy=<n2> ...

86 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Coordinate System

Adaptive Meshing during Implantation


Adaptive meshing during implantation is active whenever adaptive meshing is switched on,
that is, pdbGet Grid Adaptive returns a 1. It also can be switched on by specifying the
parameter Adaptive in the implant command. For details, see Adaptive Meshing during
Implantation on page 688.

Since generally analytic implantation and MC implantation produce similar results, MC


implantation can take advantage of this similarity for adaptive meshing. When adaptive
meshing is active, MC implantation will first call analytic implantation for mesh refinement.
At the end of analytic implantation, the concentration generated by the analytic implantation is
discarded, while the new mesh is used for MC implantation. If the analytic implantation fails
for whatever reasons (such as no implant tables for certain materials), Sentaurus Process issues
a warning, and the MC implantation proceeds with the original mesh.

Coordinate System

Coordinates for Implantation: Tilt and Rotation Angles


Regardless of whether a simulation is 1D, 2D, or 3D, the direction of the ion beam is defined
relative to the wafer coordinate system (see Figure 16 on page 64) by the values of the tilt and
rotation parameters of the implant command. Figure 21 shows the tilt and rotation angles in
the wafer coordinate system.

ZW YW
tilt ion beam
rotation

YW
XW

rotation

XW

Figure 21 Tilt and rotation angles for implantation; beam angle shown corresponds
to tilt = 20 and rotation = 45

The tilt and rotation angles are measured from the ion beam to the wafer z-axis and wafer y-
axis, respectively. In this definition, the tilt angle is always positive, and between 0° (inclusive)

Sentaurus Process User Guide 87


H-2013.03
3: Ion Implantation
Coordinate System

and 90° . However, for convenience, a negative tilt angle is allowed, and it is converted
automatically to a positive tilt by adding 180° to the specified rotation angle. The rotation
angle is positive when the beam is rotated in the clockwise direction about the wafer z-axis,
and it is negative when it is counterclockwise.

Since the tilt and rotation angles are measured with respect to the wafer axes, the direction of
the beam in the simulation coordinate system depends on the slice angle.

Figure 22 shows the relationship between wafer coordinates, simulation coordinates, and the
beam direction.
ZW tilt ion beam [Link] YW
ZS
YS
rotation
YS
[Link]

YW
XW
ZS XS

rotation

XS XW

Figure 22 Tilt and rotation angles for implantation; angles shown correspond to tilt = 20,
rotation = 45, and [Link] = 60

The default values of tilt and rotation are 7° and – 90° , respectively; in other words, by
default the incident ion beam is directed parallel to the wafer flat tilted away from the wafer x-
axis. For the default slice angle of – 90° , this corresponds to an ion beam in the simulator xy
plane, tilted away from the simulator y-axis. In a 2D simulation, the default ion beam comes
from the left side.

Figure 23 on page 89 shows the projection into the wafer plane of the direction from which the
beam strikes the wafer for tilt > 0 and various rotation angles.

The default simulation coordinate system ([Link] = -90) is also shown.

88 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Coordinate System

0o

XS
–90o 90o
YS

ZS

180o

Figure 23 Implant rotation directions for positive tilt

Figure 24 shows clearly that the orientations shown in Figure 23 are consistent with the
conventions defined in Figure 21 on page 87. A rotation of 90° corresponds to rotating the
wafer a quarter turn counterclockwise.
ion beam ion beam

90o
rotate wafer +90o

90o

Figure 24 Rotating wafer and fixed beam direction

2D Coordinate System
In a 2D simulation, the orientation of the 2D simulation plane with respect to the wafer
coordinate system must be defined. The angle between the 2D simulation plane and the y-axis
is set by the [Link]. The default value is – 90° , which orients the 2D simulation plane
parallel to the wafer flat. The transformed y-axis (ys) is the y-axis in the 2D simulation plane.

Sentaurus Process User Guide 89


H-2013.03
3: Ion Implantation
Analytic Implantation

There are two ways to set [Link] in the init command:


■ To set directly, use:
init [Link]=<n>
■ To set by specifying a 2D cutline, use:
init [Link]=[CutLine2D <x1> <y1> <x2> <y2>]

The <x1> and <y1> define the start point, and <x2> and <y2> define the end point in the wafer
plane. The two points are in the wafer coordinate system (for more information on coordinate
systems, see Understanding Coordinate Systems on page 64).

In general, the tilt projected to the 2D simulation plane is different from the tilt value. It is
given by the geometric relation:
cos ( tilt )
cos ( tilt2D ) = ----------------------------------------------------------------------------------------------------------------------------------------------------------- (1)
cos 2 ( tilt ) + sin 2 ( tilt ) ⋅ cos 2 ( rotation+[Link] )

The angle tilt2D can be found in the output of Sentaurus Process and can be negative
depending on the rotation angle and slice angle.

The tilt value defines the relation between the wafer dose (dose), which is given at the
command line by default and the dose, which would have to be specified in the beam-dose
mode to obtain the same final implanted dose, that is:
dose
BeamDose = -------------------------- (2)
cos ( tilt )

BeamDose2D as it appears in the Sentaurus Process output is defined using tilt2D, that is:
dose
BeamDose2D = --------------------------- (3)
cos ( tilt2D )

Analytic Implantation
Analytic implantation is performed using empirical point-response distributions. Point-
response distributions are generated using the method of moments. The moments representing
the primary and lateral point-response functions are taken from implantation tables.

For the purposes of 2D simulations based on analytic functions, an ion beam incident at the
point ( ξ, η ) is assumed to generate a distribution function F(x, y, ξ, η) .

90 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

To calculate the concentration of the implanted species at a point ( x, y ) of the simulation


domain, the superposition of all distribution functions of all possible points of incidence
(ξ(s) ,η (s)) ∈ Γ gas must be computed:

C(x,y) = N d  F ( x, y, ξ ( s )η
, ( s ) ) ds (4)
Γ gas

where N d is the total dose per exposed area and C ( x, y ) is the doping profile.

(ξ,η)

(x,y)

Figure 25 Point-response distribution for a particle incident at the point ( ξ, η ) at the


surface; intervals are used for lateral integration at the point (x, y); shaded
regions to left and right mark the lateral extension elements

The 2D distribution functions are always assumed to be given as a product of two 1D


distribution functions orthogonal to each other: a primary distribution function f p ( x ) and a
lateral distribution function f l ( x ) :
F ( x, y, ξ,η ) = f p(x – ξ(s)) ⋅ f l ( y – η (s) ) (5)

To perform the computation of the convolution integral in 2D, Sentaurus Process uses a set of
lateral intervals perpendicular to the projected ion beam. A local 1D layer structure is
computed in each interval. The spacing and width of these intervals depend on the complexity
of the exposed gas surface.

In 3D, Sentaurus Process uses a slightly different algorithm. The point-response function is a
3D function. The lateral function f l ( x ) is also used in the third direction:
F ( x, y, z, ξ, η , Θ ) = f p(x – ξ(s)) ⋅ f l ( y – η (s) ) ⋅ f l ( z – Θ ( s ) ) (6)

assuming an axially symmetric point-response function. The lateral integration is performed in


the plane perpendicular to the ion beam. For each point in the lateral integration plane, again,
a local 1D layer structure is computed.

Sentaurus Process User Guide 91


H-2013.03
3: Ion Implantation
Analytic Implantation

Primary Distribution Functions


Primary distribution functions can be set for a dopant/material combination using:
implant species=<dopant> <material>
[{gaussian pearson pearson.s dualpearson [Link]}]

The previous model selection is used if no selection for <model> is made. The primary
distribution is used to represent the point-response function in 1D or the vertical point-response
in 2D and 3D. Point-response functions are characterized by moments.

The first moment, the projected range R p , is defined as:


Rp =  x ⋅ f ( x ) ⋅ dx (7)
–∞

while the higher moments m i are defined as:


 ( x – Rp )
i
mi = ⋅ f ( x ) ⋅ dx (8)
–∞

The standard deviation σ , the skewness γ , and the kurtosis β are defined as:

σ = m2 (9)

m3
γ = ------3 (10)
σ

m4
β = ------4 (11)
σ

Gaussian Distribution: gaussian


( x – R p ) 2
f p ( x ) = -------------- exp  – ---------------------
1

- (12)
2πσ 2σ 2 

γ = 0 (13)

β = 3 (14)

92 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

Pearson Distribution: pearson

The Pearson distributions are the solution to the following differential equations:
d y–a
f ( y ) = ---------------------------------------------2- ⋅ f ( y ) , y = x – Rp (15)
dy b0 + b1 ⋅ y + b2 ⋅ y

γ ⋅ σ ⋅ (β + 3)
a = b 1 = – --------------------------------
A
2 2
σ ⋅ ( 4β – 3γ )
b 0 = – ------------------------------------
A (16)
2
2β – 3γ – 6
b 2 = – ------------------------------
A
A = 10β – 12γ 2 – 18

Different types of Pearson distribution are distinguished by different values of γ and β :


0 < γ < 32
48 + 39γ 2 + 6 ( γ 2 + 4 ) 3 ⁄ 2 Type IV (17)
β > ------------------------------------------------------------
-
32 – γ 2

0 < γ < 32
48 + 39γ 2 + 6 ( γ 2 + 4 ) 3 ⁄ 2 Type V (18)
β = ------------------------------------------------------------
-
32 – γ 2

0 < γ < 32
48 + 39γ 2 + 6 ( γ 2 + 4 ) 3 ⁄ 2 Type VI (19)
3 + 1.5 ⋅ γ < β < ------------------------------------------------------------
-
32 – γ 2

The Pearson–IV distribution is given by:


b1
1  ----- + 2a 
2
--------
2b 2  b2  2b 2 y + b 1  
f p(y) = K b 2 y + b 1 y + b 0 ⋅ exp  – ------------------------------ atan  ------------------------------  (20)
 4b 2 b 0 – b 12  4b 2 b 0 – b 12 
 

Sentaurus Process automatically switches between the Pearson–IV, Pearson–V, and Pearson–
VI distribution functions depending on the conditions for γ and β given in Eq. 17 to Eq. 19.
The factor K is chosen to fulfill the normalization condition:

 fp ( x ) dx = 1 (21)
–∞

Sentaurus Process User Guide 93


H-2013.03
3: Ion Implantation
Analytic Implantation

Pearson Distribution with Linear Exponential Tail: pearson.s

A linear exponential tail is added to the Pearson distribution. This is performed in an attempt
to describe more accurately the profile tails for some implantations, that is:

 P p(x), 0 ≤ x < x max



f p(x) =  P v(x), x max < x ≤ x a (22)

 P l(x), x a ≤ x < ∞

where P p is the Pearson distribution, P v is a transition function, and P i is the exponential tail.

The decay length of the exponential tail is give by the parameter l exp :
x max : P max := P p ( x max ) = maxP p ( x )
1
x a ≥ x max : P a := P p ( x a ) = --- P p ( x max )
2
(23)
P v ( x ) = P p ( x max ) ⋅ exp ( A 1 ( x – x max ) 2 + B ( x – x max ) 3 )
x – xmax x – x max
P l ( x ) = P p ( x ) + -------------------- ⋅ P p ( x max ) ⋅ exp  – --------------------
l exp l exp

The constants A 1 and B are computed from the continuity conditions:


Pl ( xa ) = Pv ( xa ) (24)

and:
d d
P (x) = P (x) =: P′ a
dx l xa dx v xa

Pa
3 ln ------------
P max P′ a
A 1 = -----------------------------2- – ----------------------------------
( x a – x max ) P a a – x max )
( x (25)
Pa
– 2 ln ------------
P max P′ a
B = -----------------------------3- + -----------------------------------2-
( x a – x max ) P a ( x a – x max )

NOTE Exponential tail distributions are available with the Dios tables.
However, care is required when using the exponential tail for
implantation with large tilt angles. The l exp -fit in these tables was
performed for a standard 7° tilt in amorphous materials and does not
apply to large tilt angles or strong channeling conditions.

94 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

Dual Pearson Distribution: dualpearson

The most advanced primary distributions are available with the dual Pearson function [9],
which can be chosen with the switch dualpearson. The dual Pearson model includes a
superposition of two Pearson functions:
f p ( x ) = ratio ⋅ f head ( x ) + ( 1 – ratio ) ⋅ f tail ( x ) (26)

The head and tail functions are two independent Pearson functions. The head function accounts
for the profile of ions that do not channel (nonchanneling or amorphous part). The tail function
accounts for the channeled ions that form the characteristic tail in the implantation profile.

A dualpearson function is characterized by nine parameters: the two sets of four Pearson
parameters and the ratio between the amorphous and channeling doses. These parameters are
usually taken from moment table files.

You can set the individual moments directly in the Sentaurus Process command line, for
example:
implant species=<dopant> <material> [rp=<n>] [stdev=<n>] [gamma=<n>]
[beta=<n>] [rp2=<n>] [stdev2=<n>] [gamma2=<n>] [beta2=<n>] [ratio=<n>]
[[Link]=<n>] [lat.stdev2=<n>]

This overwrites the parameters found in the specified implant table. Using this facility, it is also
possible to force the Pearson distributions in the dualpearson and pearson models to
behave like a Gaussian distribution, for example:
implant species=Boron Silicon pearson gamma=0 beta=3

The first statement sets the implantation model to a Pearson distribution. The parameters are
read from the default table. The skewness and kurtosis are set according to Eq. 13 and Eq. 14,
overwriting the values found in the table. This results in a Gaussian distribution for the function
characterizing the amorphous part of the profile.

You can enable or disable individual moments using <moment>.isset pdb switches, where
<moment> is the name of the moments such as rp, stdev, rp2, stdev2, and so on. For
example:
pdbSetBoolean Silicon Boron [Link] 0

This command would disable a user set value for rp.

Sentaurus Process User Guide 95


H-2013.03
3: Ion Implantation
Analytic Implantation

NOTE All moments set at the command line are ignored after a new implant
table is selected, or an implant table has been specified again using the
implant species=<species> <material> [Link]=<name>
command. In this case, the moments from this new implant table will
then be used, regardless of which moments have been set previously at
the command line.

Point-Response Distribution: [Link]

See Point-Response Interface on page 114.

Screening (Cap) Layer-dependent Moments


Cap layer–dependent implant tables are used to describe correctly the screening of the ion
beam in the structure. The implant moments in a particular region generally depend on the
combined thickness of all layers above this region. The moments are parameterized with
cap
respect to the effective thickness t i , which is defined as:
j<i

 tj fj
cap eff
ti = (27)
j

that is, as the sum over the thicknesses of all layers above the current layer multiplied by
eff
corresponding efficiency factors f j . These factors can be set for a particular material and a
species using:
implant species=Boron Oxide [Link] 1.0

The default value is 1 for all materials other than silicon, where it is set to zero. Therefore,
silicon layers are effectively not included in the total effective cap layer thickness.

If the implant table for a specific <material>/<species> combination does not contain an
explicit cap layer dependence, the effective channeling suppression model is used. This model
suppresses the channeling tail by multiplying the channeling part in Eq. 26 by a factor
r suppress calculated according to:

1
r suppress = ----------------------------------------------------------------------------------------------------------------------------------------------- (28)
C ( R ) MinRatio – Exponent
--- ⋅ -------------------------------------------------------- +  --------------------------------
1 p, head
2 C ( R p, head ) + C ( R p, tail )  σ 

96 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

where C ( R p, head ) and C ( R p, tail ) are the peak concentrations of the unscaled profile, and σ
is defined as:
ti
σ =  -------
R pi
(29)
i

using the values of R p for the amorphous (head) part of the profile for all layers i above the
present layer. The amorphous part of the profile is multiplied by 1 – r suppress to conserve the
total dose.

MinRatio is the minimum value of the ratio σ . The parameters MinRatio and Exponent
can be set in the parameter database, that is:
pdbSet <material> <species> MinRatio
pdbSet <material> <species> Exponent

The model is applied only for values of σ greater than MinRatio and effective cap layer
thickness greater than 2.1 nm. The effective channeling suppression model can be switched on
using:
implant species=<species> <material> [[Link]]

The model remains inactive for explicitly cap layer–dependent implant tables.

NOTE This model is switched off by default and is switched on in the Taurus/
TSUPREM-4 mode.

Lateral Straggle
The lateral straggling of the distribution of implanted ions is specified by defining a lateral
distribution function, which is a Gaussian distribution with a lateral standard deviation σ l :

1  y 
2
f l ( x, y ) = ------------------------ exp  – ----------------
- (30)
2π σl ( x )  2σ l2 ( x )

In general, the lateral standard deviation depends on the vertical depth of the profile. The depth
dependence can be switched on or off for a particular combination of dopant species and
material using the flag [Link]:
implant species=<dopant> <material> [[Link]]

Sentaurus Process User Guide 97


H-2013.03
3: Ion Implantation
Analytic Implantation

The lateral standard deviation can also be set in the command line using the keyword
[Link]:
implant species=<dopant> <material> [[Link]=<n>] [lat.stdev2=<n>]

where lat.stdev2 sets the lateral standard deviation for the tail function. If either
[Link] or lat.stdev2 is set, Sentaurus Process switches to the depth-independent
lateral straggling. All [Link] switches are ignored in this case.

An additional scaling factor for both the depth-dependent and depth-independent lateral
standard deviation can be used to vary the lateral straggling:
implant species=<dopant> <material> [[Link]=<n>] [lat.scale2=<n>]

Depth-dependent Lateral Straggle: Sentaurus Process Formulation

If a TSUPREM-3-compatible implantation table is used (.s3), the depth-dependent lateral


standard deviation is calculated according to:

σ l ( x ) = lstdev ⋅ exp  – ------------------------------


x
 lstdev ⋅ lv
(31)

where lstdev and lv are parameters taken from the implantation table. There are two
independent sets of parameters for the two Pearson functions in the dualpearson model. This
formulation also is used with the Tasch implantation tables.

Depth-dependent Lateral Straggle: Dios Formulation

If a Dios-compatible implantation table is used, the depth-dependent lateral standard deviation


is calculated using a vector of five parameters p1, p2, ..., p5. The following formula is
applied [10]:
p2 ⋅ x p4 ⋅ x
 log  exp  p1 ⋅  ------------- + p3  + exp  p1 ⋅  ------------- + p5   
    Rp    Rp   
σ l ( x ) = stdev ⋅max 0.01,-----------------------------------------------------------------------------------------------------------------------------------------  (32)
 p1 
 

There is only one set of these parameters in each table entry. In the case of the dualpearson
implant model (see Eq. 32), the same set of parameters p1, p2, ... p5 together with the
standard deviation of the first Pearson function described by stdev is applied to both the
amorphous and the channeling part of the distribution.

98 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

Depth-dependent Lateral Straggle: Taurus Formulation

If a TSUPREM-4/Taurus-compatible implantation table is used, the depth-dependent lateral


standard deviation is calculated using two parameters:

σ l ( x ) = σ 0 ⋅  1 + Δσ  ------ – 1 
x
  Rp  
(33)

The depth-independent standard deviation σ 0 and the depth-dependent slope Δσ are read
from the moment table.

This formulation is compatible with the Dios formulation (see Depth-dependent Lateral
Straggle: Dios Formulation) for the following conditions: p4 = 0 , p1 ⋅ p5 = – ∞ . The
remaining parameters can be translated as follows:
σ 0 = stdev ⋅ ( p2 + p3 )
(34)
Δσ = p2 ⁄ ( p2 + p3 )

Analytic Damage: Hobler Model


The damage distribution is calculated using Eq. 32 and Eq. 5, p. 91. The primary and lateral
distribution functions are taken from the literature [10]. The primary function consists of a
Gaussian function and an exponential tail, joined continuously with continuous first
derivatives. The distribution is normalized. The normalization factors are c 1 and c 2 , and N vac
is the number of Frenkel defects per ion.

Three types of primary function are distinguished:


■ Type 0
A simple Gaussian distribution with the primary range R p and the standard deviation σ :
( x – R p ) 2
f p ( x ) = N vac c 1 exp  – ---------------------
- (35)
2σ 2 

■ Type 1
For light ion species:

 N c exp  x-- , x ≤ x0
 vac 1  l

fp ( x ) =  (36)
( x – R p ) 2
 N c exp  – ---------------------
- , x > x0
 vac 2  2σ 2 

Sentaurus Process User Guide 99


H-2013.03
3: Ion Implantation
Analytic Implantation

where l is the decay length of the exponential function. The joining point x 0 is calculated
by:
2
σ
x 0 = R p – ------ (37)
l

■ Type 2
For heavier ions, the exponential tail is directed towards the bulk:

  ( x – Rp ) 
2
 N c exp  – ---------------------
- , x ≤ x 0
 vac 2  2σ 
2
fp ( x ) =  (38)

 N vac c exp  x-- , x > x0
 1  l

In this model, four parameters R p , σ , l , and N vac are required. These parameters were
obtained by MC simulations between 1 keV and 300 keV. If damage calculation is switched
on, that is, if:
implant species=<dopant> damage

has been set, Sentaurus Process generates these parameters using an internal lookup table,
which contains the original data available for boron, BF2, phosphorus, arsenic, and antimony
in silicon.

NOTE For some other species, the parameters of these original species are used
that are closest with respect to the atomic number in the periodic table
of elements. Nitrogen uses the boron parameters. Silicon and aluminum
use the phosphorus parameters. Germanium and gallium use the arsenic
parameters, and indium uses the antimony parameters. Damage
calculation is automatically switched off for any other species.

Type 0 is used for boron at energies E < 20 keV, phosphorus at E < 55 keV, and arsenic at
E > 170 keV. Type 1 is applied to boron and phosphorus elsewhere, and Type 2 is applied to
arsenic at energies below 170 keV and antimony at all energies.

The lateral distribution is modeled using Eq. 32. The five lateral parameters p1, p2, ...,
p5 are provided in the internal lookup table.

An alternative to the internal lookup table is to load a table file similar to the implant tables.
The keyword for this is [Link]:
implant species=<dopant> <material> [[Link]=<name>]

100 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

This overwrites the internal lookup table for the above mentioned species using the parameters
from the table instead. In addition, it enables damage calculation for species other than the
original ones.

Datasets
Several datasets are used to store the as-implanted profile and the implantation damage. Point-
defect profiles are created at the end of the implantation step. Datasets with the ending
_Implant contain profiles generated during subsequent implant steps. These datasets are
deleted at the beginning of the next diffuse step.

Table 4 Datasets used in analytic implantation step


Dataset Description

Damage Accumulative damage (damage history). At the end of an implant step, the
Damage_LastImp concentration is added using DFactor. This dataset is
deleted by the diffuse command.

Damage_LastImp Damage created during the last implant step. This dataset is deleted at the end
of the implant step.

<dopant> Accumulative density of the dopant concentration. At the end of an implant


step, the <dopant>_LastImp concentration is added to <dopant>.

<dopant>_Implant Accumulative density of the dopant concentration. At the end of an implant


step, the <dopant>_LastImp concentration is added to
<dopant>_Implant. This dataset is deleted by the diffuse command.
<dopant>_LastImp As-implanted dopant concentration that contains the profile generated during the
last implant step. This dataset is deleted at the end of the implant step.

Int_Implant Accumulative interstitial profile updated at the end of an implant step.

Vac_Implant Accumulative vacancy profile updated at the end of an implant step.

Int<component>_Implant Accumulative interstitial profiles in multicomponent material with


DistinctDefects set to true, where <component> is the component
of the composition of the material. For example, in SiC, interstitial profiles
include IntSilicon_Implant and IntCarbon_Implant.

Vac<component>_Implant Accumulative vacancy profiles in multicomponent material with


DistinctDefects set to true, where <component> is the component
of the composition of the material. For example, in SiC, interstitial profiles
include VacSilicon_Implant and VacCarbon_Implant.

Sentaurus Process User Guide 101


H-2013.03
3: Ion Implantation
Analytic Implantation

Tables

Implantation Table Library

The implantation table library is located at $SPHOME/ImpLib/.

Dios Tables

The subdirectory Dios/ contains the tables used by default in Dios. This tables can be made
the default tables for all species in Sentaurus Process by using:
implant tables=Dios

For arsenic, antimony, phosphorus, indium, germanium, gallium, nitrogen, and aluminum, the
data in these tables are taken from the literature [3]. The values for boron are obtained from
simulations with the 1D process simulator TESIM [11]. The values for energies ≥ 1 MeV are
taken from the literature [2]. These tables provide moments that can be used with the Gaussian
and Pearson implantation models.

Taurus Tables

The directory Taurus/ contains the Taurus Process implant tables for boron, BF2, phosphorus,
germanium, indium, antimony, and arsenic. To select these tables as the default, use the
keyword Taurus:
implant tables=Taurus

The tables contain calibrated data from sub-keV to above 10 MeV. The calibration was
performed using both SIMS data and Taurus MC calculations [5].

Default Tables

The directory Default/ contains tables extracted from MC simulations with Crystal-
TRIM [4], which are tabulated in DIOS format. The data are available for arsenic, antimony,
BF2, boron, phosphorus, indium, and germanium in silicon, polysilicon, oxide, and nitride.

These tables provide moments that can be used with all implantation models including the
dualpearson model. For silicon, dual Pearson moments are available that depend on energy,
tilt, dose, and cap-layer thickness. For polysilicon, oxide, and nitride, single Pearson moments
are available that depend on energy and tilt only.

The tables cover different energy ranges. The tilt angles range from 0° to 60° , and the oxide
thickness ranges from 0 nm to 100 nm. There are tables for low, medium, and high doses for
all species except germanium where only one table for a medium to high dose is available.

102 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

Sentaurus Process selects the correct table depending on the implant dose. These tables
constitute most of the default tables used in Sentaurus Process.

The default tables used in Sentaurus Process are selected by using the command:
implant tables=Default

This implant command not only selects the tables from the Default/ directory for arsenic,
antimony, BF2, boron, phosphorus, indium, and germanium in silicon, polysilicon, oxide, and
nitride, but also selects the tables from the Taurus/ directory for carbon, fluorine, and
germanium in silicon, polysilicon, oxide, and nitride (see Table 5). For all other species and
materials, the respective Dios tables are used.

Table 5 Default tables


Species Table file Energy range [keV]

Arsenic <material>As_1e12-[Link] 0.5–400


<material>As_1e13-[Link]
<material>As_2e14-[Link]

Antimony <material>Sb_1e12-[Link] 1.5–600


<material>Sb_1e13-[Link]
<material>Sb_2e14-[Link]

BF2 <material>BF2_1e12-[Link] 0.5–400


<material>BF2_1e13-[Link]
<material>BF2_2e14-[Link]

Boron <material>B_1e12-[Link] 0.2–517 (silicon)


<material>B_1e13-[Link] 0.2–480 (other materials)
<material>B_16e13-[Link]

Carbon carbon_in_<material>_standard 0.2–400

Fluorine fluorine_in_<material>_standard 0.2–400

Germanium germanium_in_<material>_2007 0.6–800

Indium <material>In_1e12-[Link] 1–400


<material>In_1e13-[Link]
<material>In_16e13-[Link]

Phosphorus <material>P_1e12-[Link] 0.3–400


<material>P_1e13-[Link] 0.12–3000 (10.0 upgrade)
<material>P_16e13-[Link]

NOTE Outside the specified range, the Default implant tables may fall back
to the Dios tables. Therefore, near the boundaries of the Default
tables, inconsistent results may occur.

Sentaurus Process User Guide 103


H-2013.03
3: Ion Implantation
Analytic Implantation

Tasch Tables

The directory Tasch/ contains the University of Texas (UT) implant tables for boron, BF2,
phosphorus, and arsenic in silicon [12]. For all other materials and species, single Pearson
tables are available. The tables can be selected to be the default by using the keyword Tasch:
implant tables=Tasch

The tables cover different energy ranges. The boron table ibout1.s3 contains cap layer–
dependent implantation moments valid for thicknesses between 1.5–40 nm. The moments in all
other tables are cap-layer independent.

Table 6 Tasch tables


Species Table file Energy range [keV]

Arsenic iasut0.s3 7–180

BF2 ibfut0.s3 0.5–65

Boron ibout0.s3 0.5–80


ibout1.s3 15–80

Phosphorus iphut0.s3 15–180

The valid range for the tilt is 0° to 10° and, for the rotation, the range is 0° to 45° . These
tables provide data to be used with all implant models.

The single Pearson tables provide only energy-dependent data covering the range between
10 keV and 1000 keV.

TSuprem4 Tables

The directory TSuprem4/ contains the TSUPREM-4 native implant tables, s4imp0.ts4, for
boron, BF2, phosphorus, indium, antimony, and arsenic. To select these tables as the default,
use the keyword TSuprem4 with an optional prefix:
implant tables=TSuprem4 [[Link]=<c>]

These tables contain the original implant moments of TSUPREM-4.

File Formats
Sentaurus Process handles a variety of table formats. The table format of the implantation table
is automatically recognized by Sentaurus Process from the file extension.

104 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

Single-Pearson Table File Format: <file>.sp

This format provides the simplest table format that can be used with Sentaurus Process. It
contains energy-dependent entries for the moments to be used with the (single) pearson or
gaussian model.

NOTE These tables cannot be used with the dualpearson model.

The format of the table entries is:


*
energy rp stdev gamma beta [Link]

There is no dependence of the moments on dose, tilt, rotation, or cap layer thickness. Lines
with an asterisk in the first column are treated as comment lines. Missing or incomplete blocks
are not properly read when the file is parsed.

SUPREM-III Table File Format: <file>.s3

This format allows the handling of energy, dose, tilt, rotation, and cap-layer thickness–
dependent dual Pearson moments. A SUPREM-III implant table file consists of two sections:
one for the primary moments and one for lateral moments. Both sections start with a header,
which contains the parameter range covered by the table.

The header is organized as follows:


*Energies:
NumberOfEnergies energy1 energy2 ...
*Tilts:
NumberOfTilts tilt1 tilt2 ...
*Rotations:
NumberOfRotations rotation1 rotation2 ...
*Doses:
NumberOfDoses dose1 dose2 ...
*Thickness:
NumberOfThickness thickness1 thickness2 ...

NOTE The order of these entries must not be changed.

Lines with an asterisk in the first column are treated as comment lines. A table entry for a
particular combination of lookup parameters has the format:
*
rp stdev gamma beta rp2 stdev2 gamma2 beta2 ratio1
rp stdev gamma beta rp2 stdev2 gamma2 beta2 ratio2
...
rp stdev gamma beta rp2 stdev2 gamma2 beta2 ratio<NumberOfDoses>

Sentaurus Process User Guide 105


H-2013.03
3: Ion Implantation
Analytic Implantation

Each line contains eight dualpearson moments and the ratio as defined in Eq. 26, p. 95. The
entries are ordered increasingly with respect to cap layer thickness, energy, tilt, and rotation.

NOTE There is no automatic check of the ordering of the table entries.

The tables are for one species/material combination only. The cap-layer thickness, rp, rp2,
stdev, and stdev2 should be given in micrometers and the angles, in degrees. The energy
values must be specified in keV. No units must be specified in the tables.

The lateral part is organized in the same manner. Corresponding to the header information, the
entries are ordered in the same manner as in the primary part. Each entry has the format:
*
<void> lstdev lv lstdev2 lv2

The first item is void and can be used for information purposes. The parameters are used in
Eq. 31, p. 98 to calculate the depth-dependent lateral standard deviation. The units for lstdev
and lstdev2 are micrometers, whereas lv and lv2 are unitless.

Dios Table File Format: <file>.tab

The Dios table file format for implantation data files allows for dependencies on energy, dose,
tilt, rotation, and the cap-layer thickness. It provides the primary moments for all implantation
models including the dualpearson model. Parameters for depth-dependent lateral straggling
are available as well. The format of the table entries is:
# Look up parameters
material species thickness rotation tilt energy NumberOfFunctions
NumberOfDoses
# Primary moments
rp stdev <void> gamma beta lexp <void>
rp2 stdev2 <void> gamma2 beta2 lexp2 <void>
# Channeling table
dose ChannelingDose
dose ChannelingDose
...
# Lateral straggling
p1 p2 p3 p4 p5

Lines with a # character in the first column are treated as comment lines. Missing or incomplete
blocks are not read properly when the file is parsed.

The first block contains entries for the material and species names, cap-layer thickness, rotation
angle, tilt angle, and energy. The NumberOfFunctions defines the number of components of
the primary distribution function. A maximum of two functions are allowed. NumberOfDoses
defines the number of entries in the channeling table. Each entry consists of a dose and the
corresponding channeling dose. All doses are expected to be positive.

106 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

Dose

Nonchanneling Dose

1014

Channeling Dose
1013

1013 1014 1015 Total Dose

Figure 26 Piecewise linear nonchanneling and channeling dose for a dual Pearson profile
as represented in default channeling table

The ratio between the amorphous part and channeling part in Eq. 26, p. 95 is calculated from
this channeling table:
ChannelingDose
ratio = 1 – --------------------------------------------
dose
(39)

The value for ChannelingDose is interpolated linearly using the value of the implant Dose.

The second block contains the moments for all the components of the primary distribution
function. Parameters, which by definition do not exist for the function the set describes, are
ignored.

NOTE Some entries are always ignored since they are not used in the implant
models of Sentaurus Process. For example, the last moment entry
(<void>) is always disregarded.

The third block contains the channeling table ordered with increasing dose, and the fourth
block contains parameters for the depth-dependent lateral straggling.

NOTE The entries must be increasingly ordered with respect to the cap-layer
thickness, rotation, tilt, and energy, so that the values for various
energies (but the same other three parameters) follow each other. All
data entries for the same material–dopant combination should follow
each other with no interruption by entries for another material–dopant
combination. The cap-layer thickness, rp, rp2, stdev, and stdev2
should be given in micrometers and the angles, in degrees. The energy
values must be specified in keV. No units must be specified in the tables.

Sentaurus Process User Guide 107


H-2013.03
3: Ion Implantation
Analytic Implantation

Damage Table File Format: <file>.dam

The damage tables for the Hobler damage model are similar to the Dios table file format, which
allows for dependencies on energy, tilt, and rotation. The Hobler damage model table provides
the primary moments for the damage model. Moments for depth-dependent lateral straggling
are available as well. The format of the table entries is:
# Look up parameters
material species rotation tilt energy
# Primary moments
rp stdev decay nvac type
# Lateral straggling
p1 p2 p3 p4 p5

The syntax is the same as for the Dios table format. The item decay refers to the parameter l ,
and the item nvac refers to the parameter N vac in Analytic Damage: Hobler Model on page 99.
The item type refers to the type of Hobler model.

Taurus Table Format: <file>

The Taurus table format, which is the most general table format used in Sentaurus Process,
handles data for all implant and damage models. Implant table files in the Taurus format have
no file extension; that is, an implant table file without a file extension is considered to be in the
Taurus format. It contains a file header and a block of numeric data. The file header consists of
a list of names of the implant conditions. The names should be lowercase only. The following
names are recognized:
energy tilt rotation dose screen temperature current

The sequence of these names can be arbitrary. Some names from this list can be omitted. The
following units should be used for the implant conditions:
energy,[keV]
tilt,[degrees]
rotation,[degrees]
dose,[cm-2]
screen,[um]
temperature,[K]
current,[mA/cm2]

The numeric data consists of an arbitrary number of lines that form the lookup tables for
implant conditions and implant moments. Each line should contain a list of numeric values for
the implant conditions followed by the implant moments. The numeric values should be
separated by space.

108 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

The number of the numeric values should be the same on each line. There should be at least
n+4 values per line for a gaussian profile, n+6 values per line for a pearson profile, and
n+13 values per line for a dualpearson profile, where n is the number of the implant
conditions specified in the file header.

The sequence of implant conditions should correspond exactly to the sequence of implant
condition names in the file header. The sequence of the implant moments in one line is fixed
as follows:

Gaussian: rp stdev [Link] [Link]

Pearson: gamma beta

Dual Pearson: rp2 stdev2 lat.stdev2 lat.slope2 gamma2 beta2 ratio

Any line that starts with a double slash // is considered a comment and is omitted. Always put
the double slash at the first position in the line.

If the requested set of implant conditions does not have an exact match in the lookup table, a
multidimensional linear interpolation is used. If a requested implant condition extends beyond
the range of the lookup table, the closest value from the lookup table is used.

If the lookup table contains several lines with identical sets of the implant conditions, only the
last set is used, and all the previous lines are discarded.

If a table contains data for the Hobler damage model, the following sequence of moments is
used:
rp stdev [Link] [Link] gamma beta decay nvac

Multilayer Implantations
Point-response functions are valid only for a single material layer. For multiple layers of
different materials, the point-response functions must be combined in a way that corrects the
effect of the different stopping power in the covering layers. This must be performed for each
lateral interval taking into account the local layer sequence parallel to the ion beam. Two
algorithms are available in Sentaurus Process: numerical range scaling (NRS) [13] and dose-
matching [12]. Both algorithms calculate a shift δ i applied to the primary point-response
function. Sentaurus Process also provides an option no, which switches off the matching. In
this case, δ i is set to zero in all layers.

The matching algorithm can be selected globally by using the command:


pdbSet ImplantData MatchControl { no | range | dose }

Sentaurus Process User Guide 109


H-2013.03
3: Ion Implantation
Analytic Implantation

The default value of MatchControl is range. In addition, you can select locally the matching
algorithm with the keyword match in each implant command:
implant <dopant> [match={no range dose}]

The locally selected algorithm overwrites the one globally set in the PDB.

The NRS algorithm accounts for the different stopping power in different materials using the
ratio of the projected ranges of the materials.

C(x) C(x)

Rp2+δ2 Rp2

δ2

x x

Figure 27 NRS algorithm: the point-response function in the second material is shifted and
rescaled (left) due to existence of a layer with different stopping power (shaded
region); the new profile is combined from the point response in the first layer and
shifted point response in the second layer (right).

The shift in the i -th layer is calculated according to:


j<i
R pi
δi =  tj  1 – -------
R pj
 (40)
j=1

where t j = d j – d j – 1 represents the thickness of the j -th layer. The profiles are matched
according to:

 f p1 ( x ) for 0 < x < d 1


C(x) =  (41)
 α i ⋅ f pi ( x – δ i ) for d i – 1 < x < d i

where α i is a rescaling factor that satisfies the normalization condition. The point-response
function in the first layer is always used without a shift.

The proportional range shift model is used to shift the channeling portion of the implant profile
independent of the amorphous part. To calculate the shift of the channeling part, the shift of the
amorphous part is scaled by the ratio of the channeling range and the amorphous range:
R pi, tail
δ i, tail = δ i, head ----------------------- (42)
R pi, head

110 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

The proportional range scaling can be switched on with:


implant <species> [[Link]]

The default setting for this model is off. In the Taurus/TSUPREM-4 mode, the switch is set to
on.

The dose-matching algorithm can be selected with the option dose. The shift δ i is calculated
according to the dose accumulated in the above layers:
δ i = d i – d eff
d eff
(43)
D sofar =  f p ( x ) dx
0

where d i is the position of the top of the i -th layer. The dose D sofar is the integral over the
primary point-response function.

Lateral Integration

Local Layer Structure in 2D

Local 1D layer structures are defined for a set of lateral intervals. These lateral intervals are
chosen perpendicular to the projection of the ion beam into the simulation plane as shown in
Figure 28 on page 113.

The width of the lateral intervals is controlled by several parameters set in the parameter
database. The default values can be changed by using:
pdbSet ImplantData LateralGridSpacing <n>
pdbSet ImplantData VerticalGridSpacing <n>

Starting from an initial grid, the intervals are bisected until a certain limit is reached. This limit
is set by LateralGridSpacing, which has the default value of 0.01 μm . Then, the intervals
are bisected again until a certain vertical limit is reached. This limit is set by
VerticalGridSpacing with the default value of 0.01 μm .

The lateral integration is limited to a certain range of intervals to the left and right of a mesh
node. This integration range depends on the maximum lateral standard deviation applied to the
structure.

Sentaurus Process User Guide 111


H-2013.03
3: Ion Implantation
Analytic Implantation

Control over the lateral integration is possible by setting the number of lateral standard
deviations used to set the integration range:
y + Nσ l, max

C ( x, y ) =  f p ( x )f l ( x, y' ) dy' (44)


y – Nσ l, max

The value of N can be set by using:


pdbSet ImplantData NumLateralStdev <n>

The default value is 5, which means that the total lateral integration width is 10 σ l, max .

In 3D, the integration is performed over a square grid in the plane perpendicular to the ion
beam. The grid is centered about a mesh node. It has a fixed size and resolution. The size is
controlled by the parameter:
pdbSet ImplantData NumLateralStdev3D <n>

having the same meaning as the corresponding 2D parameter. The default value is 3.5. Each
interval is subdivided by a certain number of grid points. The subdivision can be set by using:
pdbSet ImplantData NumGridPoints3D <n>

so that the total number of grid points is:


2
( 2 ⋅ NumLateralStdev3D ⋅ NumGridPoints3D ) (45)

The default value for NumGridPoints3D is 4. Therefore, the total number of grid points is
784. The size of the integration grid is the parameter that limits the time performance of
analytic implantation in 3D.

The lateral intervals are expanded by a certain amount over the left and right boundaries of the
2D device to ensure flat profiles on the left and right sides. This extension depends on the
implantation tilt and the maximum lateral standard deviation. The maximum extension can
be controlled from the parameter database. The value can be changed by using:
pdbSet ImplantData MaxLateralExtension <n>

The default is set to 1.5 μm . A similar extension is applied in three dimensions.

112 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

Primary Direction and Scaling

The interpretation of the range and lateral range parameters depends on the value of the
implantation parameter primary. This can be set by using:
implant <dopant> [primary={beam wafer}]

The option beam switches to the beam projection mode. In this case, the primary moments are
applied along the projection of the ion beam onto the simulation plane, and the lateral
integration is performed perpendicular to the projection of the ion beam. This is the default
mode in Sentaurus Process. The option wafer switches to the wafer normal mode. Here, the
primary distribution function and the moments are interpreted orthogonally to the wafer
surface.

fp(x) fp(x)
fl(y)

fl(y)

Figure 28 Beam projection mode (left) and wafer normal mode (right) for analytic
implantation

An implant table can be declared angle-dependent or angle-independent by using:


implant species=<dopant> [[Link]]

Tilt-dependent and rotation-dependent data values extracted from SIMS measurements, or


user-specified range parameters are assumed to be angle dependent. On the other hand,
theoretical range parameters, such as those calculated by LSS theory, are assumed to be angle
independent.

For the same pair of tilt and rotation parameters, different projected tilt angles can be
observed in the 2D simulation plane. This angle is called tilt2D and depends on both
rotation and [Link]. Profiles in quasi-1D parts of the structure away from mask
edges depend on the choice of [Link]. Exactly the same 1D profiles can be observed
only for symmetric primary distribution functions like the ones used in the Gaussian model and
only if the primary and lateral standard deviations have the same value.

To ensure, at least approximately, that the same depth profiles are obtained for different rotation
angles, and for different dimensions, the range parameters for the primary distribution function

Sentaurus Process User Guide 113


H-2013.03
3: Ion Implantation
Analytic Implantation

are scaled depending on tilt (for 1D and 3D), or tilt2D (for 2D). For example, the projected
range R p is scaled as follows:
R p′ = R p ⋅ s r (46)

For tilt implants, the integrated dopant profile depends on not only the primary range
parameters ( R p , σ p , and so on), but also the lateral straggling ( σ l ). To ensure that the same
depth profiles are obtained approximately for different rotation angles, and for different
dimensions, the primary standard deviation is scaled as follows:
2 2 2 2
σp ′ = sr ⋅ σp + ( 1 – sr ) ⋅ σl (47)

Note that if the ratio σ l ⁄ σ p is too large, the scaling of the primary standard deviation may not
be possible. In such a case, Sentaurus Process issues a warning message and continues by
assuming σ' p = σ p .

The scaling factor s r , which is used to scale R p and σ p , is selected with respect to the values
of primary and [Link], as shown in Table 7.

Table 7 Scaling factor for the primary range


Dimension primary ![Link] [Link]

1D wafer s r = cos ( tilt ) sr = 1

beam s r = cos ( tilt ) sr = 1

2D wafer s r = cos ( tilt ) sr = 1

beam cos ( tilt ) 1


s r = --------------------------- s r = ---------------------------
cos ( tilt2D ) cos ( tilt2D )

3D wafer s r = cos ( tilt ) sr = 1

beam sr = 1 1
s r = ---------------------------
cos ( tilt )

Point-Response Interface
This feature allows the use of externally generated point responses in analytic implantation. As
an alternative to using implant tables, it replaces the moment-based point-response
distributions. Only 1D primary distributions can be loaded with Sentaurus Process.

To use the point-response interface, the implant model must be changed to [Link],
that is:
implant spec=<dopant> <material> [Link] file=<name> [Link]=<n>

114 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

To revert to the moment-based point-response distribution, switch to one of the analytic


implantation functions, that is, to switch to the dual Pearson model for boron in silicon:
implant spec=Boron Silicon dualpearson

The default table setting can be used again since it has not been overwritten by the
[Link] flag.

The external primary distribution function and the damage are read from a plx file. A separate
file can be selected for each dopant–material combination with the file selector and the above
command.

The 1D MC implantation run is started to generate the data if the file is not found. This run is
fully automated. The MC implantation model can be chosen by using the following command:
pdbSet MCImplant model {[Link] | crystaltrim}

The default MC model is [Link]. The 1D layer structure for this run consists of an
oxide layer on top and a layer of the specified material. The thickness of the oxide layer is
chosen as the total effective overlayer thickness at some point of reference at the gas surface of
the structure. The position of this point at the y-axis is specified with the [Link]
parameter.

The integration routine treats the data as a continuous set to be used in the material as specified.
In the convolution integral computation, the zero of the x-axis is locally matched to the surface
of the structure.

The initial damage for the MC implantation simulation is taken from the damage already
present in the device along a line starting from the surface at the [Link] normal to the
wafer surface.

The external profiles are interpreted as taken normal to the wafer surface. Therefore, the
direction of the primary distribution should be switched from beam to wafer (see Primary
Direction and Scaling on page 113). In addition, the multilayer matching method should be set
to dose-matching (see Multilayer Implantations on page 109), that is:
implant <dopant> primary=wafer match=dose

The value for the primary range R p is taken from the implant table if match=range is set.

Analytic Damage and Point-Defect Calculation


The analytic implantation facility can generate damage profiles that are stored in the dataset
Damage and interstitial and vacancy profiles that are stored in the datasets Int_Implant and
Vac_Implant, respectively.

Sentaurus Process User Guide 115


H-2013.03
3: Ion Implantation
Analytic Implantation

Implantation Damage

The damage to the crystal is calculated on the basis of analytic damage models. Sentaurus
Process calculates the damage using the model by Hobler and Selberherr [1]. Damage
calculation for a species in a material can be switched on using the logical switch damage:
implant species=<dopant> <material> [damage]

A damage profile is calculated if the damage switch is set and the moments are found in the
internal lookup table. Sentaurus Process can use the moments provided by Hobler [1] as
described in Analytic Damage: Hobler Model on page 99. At the end of an implantation step,
the damage for this step is added to the Damage profile (damage history) using the DFactor:
Damage += DFactor ⋅ Damage_LastImp (48)

The default value for the DFactor is 1, and it can be changed in the parameter database or at
the implant command line.

Point-Defect Calculation

Elemental Materials

The interstitial and vacancy profiles are calculated in a postprocessing step at the end of the
implant command. The model used to calculate point defects is selected with the
[Link] selector:
implant <dopant> [[Link]= {[Link] | [Link].n |
[Link] | [Link]}]

The [Link] switch selects the ‘+1’ model to calculate the interstitial and vacancy profiles
from the as-implanted profile at a particular implantation step <dopant>_LastImp:
Int_Implant += IFactor ⋅ <dopant>_LastImp
(49)
Vac_Implant += VFactor ⋅ <dopant>_LastImp

where IFactor and VFactor are material-dependent factors that can be set in the parameter
database. For example, for boron in silicon, this is performed by using:
pdbSet Silicon Boron IFactor <n>

The internal default values are 1 for IFactor and zero for VFactor. This is motivated by a
simple lattice site balance argument: for each dopant atom that is assumed after implantation
on a lattice site, one free interstitial is produced. The global values for IFactor and VFactor
can be overwritten at the implant command line:
implant <dopant> <material> [ifactor=<n>] [vfactor=<n>]

116 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

The [Link].n model dynamically calculates an NFactor using an energy-


dependent and a dose-dependent fitting formula after Hobler [14]. The NFactor replaces the
IFactor in Eq. 49. This ‘+n’ model provides an improved way to calculate the interstitial
profile for heavy ions and low implant doses. Under these implant conditions, the NFactor can
significantly deviate from one [14].

A third model can be chosen with the selector [Link]. Here, the interstitial and
vacancy profiles are calculated from the damage and dopant profiles resulting from the last
implantation step:
Int_Implant += FPIFactor ⋅ Damage_LastImp + IFactor ⋅ <dopant>_LastImp
(50)
Vac_Implant += FPVFactor ⋅ Damage_LastImp

where <dopant>_LastImp term accounts for the extra interstitials coming from substituted
dopants. FPIFactor and FPVFactor can be set in the parameter database, and can be
overwritten by parameters [Link] and [Link] at the implant command line.

If [Link] is defined, the given value of IFactor in the [Link] and damage models
for point defects is taken from:

IFactor = IFactor ⋅ min  1, ----------------------------


[Link]
 dose 
(51)

The [Link] switch allows you to define your own algorithms to calculate interstitial
and vacancy profiles. It is expected that users will define the algorithm in the
UserPointDefectModel procedure. For example:
proc UserPointDefectModel { Species Name Energy Dose Model IFactor \
VFactor CDose } {
...
}

where Species is the name of the implanted species; Name is the name of the dopant; Energy
is the implant energy; Dose is the implant dose; Model is the implant model (for example,
tables or [Link] or crystaltrim); IFactor and VFactor are the interstitial and
vacancy factors; and CDose is the critical dose.

Multicomponent Materials

In multicomponent materials, such as silicon carbide (SiC), the material is composed of


different types of atom. When an impurity is implanted into SiC, both silicon and carbon lattice
atoms can be displaced, thereby forming silicon interstitials or carbon interstitials, and leaving
behind silicon-site or carbon-site vacancies. Instead of classifying them together as interstitials
or vacancies, as in silicon, Sentaurus Process provides a mechanism to distinguish different
types of interstitial or vacancy.

Sentaurus Process User Guide 117


H-2013.03
3: Ion Implantation
Analytic Implantation

To generate distinct types of point defect in multiple-component materials, you must switch on
the DistinctDefects flag, for example:
pdbSetBoolean SiliconCarbide DistinctDefects 1

By default, this flag is true for SiC but false for other materials. As a result, instead of
Int_Implant and Vac_Implant, the generated point-defect datasets in SiC are
IntSilicon_Implant, IntCarbon_Implant, VacSilicon_Implant, and
VacCarbon_Implant.

In this model, the total point-defect concentration is computed in the same way as the elemental
material. The implantation parameters [Link], ifactor, vfactor, [Link],
and [Link] in the implant command still work. ifactor and vfactor are scaling
factors for interstitial profiles and vacancy profiles, respectively, in the [Link] defect
model; while [Link] and [Link] are scaling factors for interstitial profiles and
vacancy profiles, respectively, in the [Link] defect model. The same Tcl procedure
CalcPlusNFactor calculates automatically the plus factors for the [Link].n
defect model.

Then, the individual point-defect concentration is computed by multiplying the total point-
defect concentration by the fraction of each component. The fraction of each component is, by
default, their stoichiometric weight, but it can be changed in the parameter database with the
parameters [Link] and [Link]. For example, in SiC:
pdbSet SiC Composition Component0 [Link] <n>
pdbSet SiC Composition Component1 [Link] <n>
pdbSet SiC Composition Component0 [Link] <n>
pdbSet SiC Composition Component1 [Link] <n>

Backscattering Algorithm
During the implantation, some particles may be backscattered and lost to the ambient. Analytic
implantation accounts for this effect by assuming that the portion of the distribution which
sticks out of the structure is backscattered from the surface, resulting in less dose implanted in
the structure. This backscattering model – the TS4 backscattering model – is switched off by
default. To switch on the model, either specify the logical switch [Link] in
the implant command or use the global switch:
pdbSet ImplantData TS4Backscattering 1

In addition to the TS4 backscattering model, Sentaurus Process uses an advanced integration
algorithm that accounts for particles backscattered from the surface. The lateral integration for
a mesh node also is performed over 1D intervals above the surface. The point response is taken
from the surface layer. The contributions from backscattered ions make a difference in the
profile of vertical mask edges. The mask example in Figure 29 illustrates the difference.

118 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

The backscattering algorithm is switched on by default. To switched off the algorithm, use
either the logical switch !backscattering in the implant command, or use the global
switch:
pdbSet ImplantData Backscattering 0

-0.5 -0.5

Y
Y

0 0

2.8e+18 2.8e+18
1.7e+15 1.7e+15
1.0e+12 1.0e+12

-0.2 0 0.2 0.4 -0.2 0 0.2 0.4


X X

Figure 29 Boron implantation at a vertical mask edge (left) with backscattering


and (right) without backscattering; tilt angle is 0o and energy is 35 keV

Multiple Implantation Steps

Preamorphization Implantation (PAI) Model

A structure already has implantation-related damage by the time an implantation is performed.


This damage contributes to the suppression of the channeling tail. This applies to a series of
implantations performed without intermediate anneals. In this case, an equivalent amorphous
thickness is extracted as:
j≤ i
1
t i, eqv = -------------------------------------------
PAIThreshold   Damage dx (52)
j xi

where Damage denotes the preexisting implant damage in terms of Frenkel pairs and
PAIThreshold is a normalization parameter that can be specified in the parameter database:
pdbSet <material> <species> PAIThreshold <n>

The extracted equivalent amorphous thickness is added to the total amorphous layer thickness.
If the implant table contains screen (cap) layer-dependent data, the total amorphous thickness
is used as a parameter to select the implant moments as described in Screening (Cap) Layer-

Sentaurus Process User Guide 119


H-2013.03
3: Ion Implantation
Analytic Implantation

dependent Moments on page 96. Otherwise, the profile reshaping model and the effective
channeling suppression model are used.

The integral over the preamorphizing damage assumes periodic boundary conditions for the
structure in 2D.

The PAI model can be switched on using:


implant <species> energy=<n> dose=<n> pai

NOTE The switch is off by default. The model is switched on for the Taurus
implant tables.

Coimplant Model

The fraction of the ions described by the second Pearson function is taken from implantation
tables, which have been created for single ion implantation steps. This treatment is acceptable
only for low-dose implantations, which create little crystal damage, but leads to a severe
overestimation of the ion channeling in successive implantations with medium and high doses.

Without a thermal annealing step in between several ion implantations, the crystal damage of
the first implantations remains present and reduces the ion channeling of the subsequent
implantations. The channeling tail is lowered. Besides the PAI model as previously mentioned,
analytic implantation provides the Coimplant (CI) model, which also takes this effect into
account. In contrast to the PAI model in which the implant moments are modified locally for
each cutline during the integration, the CI model modifies the channeling ratio globally for
each implant. The CI model is switched on using the command:
pdbSetBoolean ImplantData UseCoImplant 1

The CI model is switched on by default.

NOTE The CI model is active only for Default implant tables, and does not
affect any other implant tables.

The CI model considers damage produced by analytic or MC implantation steps. The damage
information is used in subsequent analytic implantation steps to estimate the channeling ratio.
eq
Using a least-square fit, an equivalent dose D is calculated. This dose is chosen as the dose
that would give the same amount of damage in one implant step (using the present species and
implant conditions) as the preexisting damage, that is:
2
 ( damage [ D
eq
( x ) ] – damage preexist ) dx = min (53)

120 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

new
This is used to calculate the channeling dose D c from the total channeling dose and the
equivalent channeling dose, that is:
new total eq
Dc = Dc – Dc (54)

The channeling dose is calculated from the total dose using the differential channeling dose
total
technique (see Figure 30). D c is the channeling dose corresponding to an implantation of
eq new
D c + D c into undamaged silicon.

Dcnew
Channeling Dose

Dceq

Dose
Deq Dnew
Figure 30 Channeling dose as a function of dose

In Figure 30, due to the creation of damage during implantation, the number of channeling ions
increases sublinearly with the total ion dose, and eventually saturates at very high total doses.
eq
The damage from previous implantations is set equivalent to a dose D . The dose of the
new new
additional implantation is shifted and, consequently, the gradient D c / D and, therefore,
the dual Pearson ratio are reduced.
eq total new
Both D c and D c are stored in lookup tables. The channeling dose D c is used to
calculate the new ratio for the dualpearson model (see Primary Distribution Functions on
page 92).

This simple model is very accurate for mixed species implantations and works best in cases of
subsequent implantations with similar energies. The model is only available for the Default
implant mode.

The simplest way to calibrate the strength of de-channeling is given by using the effective
damage factor that scales the calculated equivalent dose:
pdbSetDouble ImplantData <species> EffDamFac <factor>

The default value is 1. Increased values lead to less channeling; lower values increase the
channeling of the species specified.

Sentaurus Process User Guide 121


H-2013.03
3: Ion Implantation
Analytic Implantation

To calibrate the effective damage factor depending on parameters of the implantation, the
following procedure must be overwritten:
proc CI::coimp_dosesofar_calib { species energy dose tilt rotation } {
switch $species {
Boron { set cuc <expression_for_Boron> }
default { set cuc 1.0 }
}; # end of switch
return $cuc
}

Sometimes, it will be necessary to reset the accumulated damage field internally used by the
CI model. This can be achieved by using:
CI::Reset

To save and load the accumulated damage field, use:


CI::Save <filename>
CI::Load <filename>

The loaded damage is added to existing accumulated damage. The accumulated damage
produced by any implantation history can be checked with:
CI::Get_Damage_pdb Accumulated_Damage

This returns a list containing the vector describing the damage in the wafer on a logarithmic
depth scale. A zero vector means no damage history is seen by any follow-up table
implantation.

For more details about the CI model, see [15].

You can choose the PAI or CoImplant model by using the global switch DamageControl:
pdbSet ImplantData DamageControl {Default PAI CoImplant}

The default value of DamageControl is Default in which the PAI model is automatically
switched on when Taurus tables are used; whereas, the CI model is chosen when default tables
are used. If DamageControl is set to PAI, the PAI model is active for all subsequent
implantations regardless of which tables are used. If this switch is set to CoImplant, the CI
model is used for all subsequent implantations (note that the CI model only supports default
tables), and PAI is disabled even for Taurus tables.

122 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

NOTE Both the PAI and CI models are designed to take into account the pre-
existing damage. However, the PAI model modifies the implant
moments locally, while the CI model modifies the channeling ratio
globally. Generally, for a complex structure, the PAI model is more
accurate at the expense of longer computation time.

NOTE To avoid double-counting the damage effect, when the PAI model is
active, the CI model is disabled automatically.

Profile Reshaping
Traditionally, it is believed that the first peak of the implanted profile in monocrystalline silicon
is due to random scattering and is described by the first Pearson distribution in the dual-Pearson
analytic model. The second peak (or hump) of the implanted distribution is attributed to ion
channeling and is described by the second Pearson distribution in the dual Pearson model.

This approach works well for implantations with tilt angles above approximately 4° , where
the position and width of the first Pearson distribution do not change as a function of the screen
oxide thickness. However, for low tilt implantations (below 4° ), the position and width of the
first Pearson distribution changes considerably (up to 50%) with the thickness of the screen
oxide.

Typically, for a low tilt implantation performed into bare silicon, the first Pearson distribution
shifts deeper into the substrate and is much wider than for a similar high tilt implantation. As
the screen oxide thickness increases, the projected range and the standard deviation of the first
Pearson distribution relax to their respective values at high tilt angles due to reduced
channeling. Physically, this means that, for a low tilt implantation, even the first peak contains
a considerable number of channeled ions. To model this effect, it is necessary to reshape both
Pearsons in the dual Pearson model. This profile reshaping complements the reduction in
channeling fraction provided by the effective channeling suppression model.

For ions with explicit dependency on the screen oxide thickness in the implant tables, this
change in shape is addressed automatically. Otherwise, a shift is added to the projected range,
the standard deviation, and the lateral standard deviation of both Pearson distributions. The
shift is given by:
–αi t
 ----------
σ
Δ i =  1 – e  ( MH i – ML i ) (55)
 

where:
■ Δ i is the shift for moment i .
■ α i is the shift factor for moment i .

Sentaurus Process User Guide 123


H-2013.03
3: Ion Implantation
Analytic Implantation

■ t is the cap layer thickness.


■ MH i is the value of moment i at high tilt value ( 7° ).
■ ML i is the value of moment i at a given low tilt angle.
■ For historical reasons, σ is the standard deviation of the first Pearson distribution.
However, this normalization quantity can be switched to the projected range by using the
command:
pdbSet ImplantData [Link] 1

The shift factor parameters of the profile reshaping model can be set in the parameter database,
that is:
pdbSet <material> <species> RangeFactor
pdbSet <material> <species> SigmaFactor
pdbSet <material> <species> ChannelingRangeFactor
pdbSet <material> <species> ChannelingSigmaFactor

The value of RangeFactor is used when calculating the shift of the projected range; the value
of SigmaFactor is used for both the standard deviation and the lateral standard deviation.
Setting a shift factor to zero effectively switches off this model for the respective moments.
Higher values of the shift factor lead to a faster transition from a low tilt profile to a high tilt
profile, with increasing amorphous layer thickness. By default, the shift factors are zero in all
materials except silicon.

The profile reshaping model can be switched on using:


implant <species> [[Link]]

The model remains inactive for explicitly cap layer–dependent implant tables.

NOTE This model is switched off by default and is switched on in the Taurus/
TSUPREM-4 mode.

Ge-dependent Analytic Implantation


SiGe material technology is used widely in stress engineering to improve device performance
(such as mobility). In addition, the depth of the source/drain junctions in Si(1–x)Ge(x) can be
remarkably reduced with an increase of the Ge content, which results from, not only the
reduced boron diffusion for PMOS source/drain, but also the reduced projected range and
channeling in as-implant itself.

Since the average mass of the atomic nucleus of the target is heavier in SiGe than in pure
silicon, a scattering angle from a nuclear collision is larger. In addition, SiGe has a larger
electronic stopping power than silicon due to the higher electron density. Therefore, similar to

124 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

the PAI model, the Ge effect on implantation can be modeled by using similar models for
profile reshaping and effective channeling suppression.

In this model, the equivalent germanium thickness is first extracted:


1
t Ge, eqv = --------------------------------------------  C Ge dx (56)
GeThreshold

where C Ge denotes the germanium concentration and GeThreshold is a normalization


parameter that can be specified in the parameter database:
pdbSet <material> <species> GeThreshold <n>

The following formulas are then used for the projected range reduction and the standard
deviation shift:
t Ge, eqv
ΔR P, Ge = – [Link] ⋅ R P, 0 ⋅  1 – exp  – [Link] ⋅ ----------------  (57)
  R P, 0  

t Ge, eqv
Δσ Ge = – [Link] ⋅ σ Ge, 0 ⋅  1 – exp  – [Link] ⋅ ----------------  (58)
  R P, 0  

where:
[Link]
[Link]
[Link]
[Link]

can be specified respectively in the parameter database as:


pdbSet <material> <species> [Link] <n>
pdbSet <material> <species> [Link] <n>
pdbSet <material> <species> [Link] <n>
pdbSet <material> <species> [Link] <n>

Similar formulas also exist for the channeling projected range and channeling standard
deviation shifts with the parameter names:
[Link]
[Link]
[Link]
[Link]

Sentaurus Process User Guide 125


H-2013.03
3: Ion Implantation
Analytic Implantation

Finally, the following formula is used for effective channeling suppression:

  [Link]
 [Link] 
r Ge = r Ge, 0 ⋅  ----------------------------------------------------------------------- (59)
 t Ge, eqv
 [Link] + --------------- R P, 0 
-

where [Link] and [Link] can be specified in the parameter database:


pdbSet <material> <species> [Link] <n>
pdbSet <material> <species> [Link] <n>

Analytic Molecular Implantation


Sentaurus Process allows implanting arbitrary molecular species (such as BF2 and B10H14).
The implantation can proceed with or without the implant tables for the molecular species. If
implant tables are not available for the molecular species, an approximate calculation of the
dopant distribution is performed based on the tables for primary dopant species. Therefore, the
only requirement for molecular implantation is that the implant data tables are available for the
primary dopant species (such as B, As, or P). The primary dopant species, for which the profile
is calculated, is specified with the dataset parameter in the implant command:
implant species=<molecule> dataset=<dopant>

To switch on the damage calculation in silicon for the molecular implant, use:
implant species=<molecule> Silicon damage

In a molecule, the implant energy is shared by several atoms according to:


Mi
E i = energy ⋅ ------------------- (60)
 wj Mj
j

where E i is the energy of the i -th species, M i is the atomic mass, and w j is the statistical
weight according to the stoichiometry of the molecule. The constituent and stoichiometry of
the molecule are defined in the PDB.

You can define new molecular species with pdb commands. For example, you can define
carborane as follows:
pdbSetString ImplantData Carborane Atom0 Name Boron
pdbSetDouble ImplantData Carborane Atom0 StWeight 10
pdbSetString ImplantData Carborane Atom1 Name Hydrogen
pdbSetDouble ImplantData Carborane Atom1 StWeight 14

126 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

Then to initialize the species, use the command:


implant species=Carborane dataset=Boron

After the above two steps are performed, you can use carborane like any other predefined
implant species. For example, use the following command to perform analytic implantation for
carborane:
implant Carborane energy=10 dose=1e14

NOTE The dose specified for molecular implantation is the dose for the
molecular species. In the above example, the implanted dose for
14 –2 15 –2
carborane is 1 ×10 cm . Therefore, the boron dose is 1 ×10 cm ,
15 –2
and the hydrogen dose is 1.4 ×10 cm .

For convenience, Sentaurus Process predefines the following molecular species: BF2 (BF2),
BCl2 (BCl2), B10H14 (B10H14), B18H22 (B18H22), C2B10H14 (C2B10H14), AsH2 (AsH2),
and PH2 (PH2).

Depending on whether the implant tables are supplied for the molecular species, analytic
molecular implantation will proceed in two different ways:
■ With supplied implant tables
■ Without supplied implant tables

Molecular Implantation with Supplied Implant Tables

If the implant tables are available for the molecular species (for example, BF2), the
implantation proceeds in the same way as the atomic species; in other words, the specified
energy and dose are used to look up the moments in the implant tables. No scaling is applied
to energy, dose, or the resulting profiles.

The implant tables can be specified for a molecular species with the command:
implant species=<molecule> <material> [Link]=<file> [Link]=<file>

The implant data files should be placed in the current working directory or the full path to the
file should be specified in [Link].

Molecular Implantation without Supplied Implant Tables


If the implant tables are not available for the molecular species, Sentaurus Process performs an
approximate calculation of the dopant distribution using the implant tables for the primary
dopant species. The energy E i for the i -th species (which is assumed to be the primary dopant
species) is calculated using Eq. 60.

Sentaurus Process User Guide 127


H-2013.03
3: Ion Implantation
Analytic Implantation

Assuming that there are N i dopant atoms in a molecule, the molecular implantation is
equivalent to a single atomic species implantation with the energy and dose equal to E i and
N i × dose (where dose is the molecular dose), respectively. E i and N i × dose are used for
implant moments lookup. Then, the dopant distribution is calculated in the same way as atomic
implant.

Damage Calculation

If damage tables are not supplied for the molecular species, the damage also can be calculated
using the internal damage tables for the primary dopant species. The Boolean parameter
FullDamage can be used to control the amount of damage for the molecular species:
pdbSetBoolean ImplantData <molecule> FullDamage <bool>

If FullDamage is true, the calculated damage is multiplied by a scaling factor:

 wj Mj
j
S i = ------------------
- (61)
Mi

This damage scaling factor roughly takes into account the damage produced by all atomic
species (including the primary dopant species) and is consistent with the damage calculation
used in TSUPREM-4 for BF2 implantation.

Performing 1D or 2D Analytic Implantation in 3D Mode


Because analytic implantation performs lateral integration differently for one, two, and three
dimensions, it may result in slightly different profiles from vertical 1D cuts, even though the
same implant moments are used. In addition, for a 2D structure, the vertical 1D profiles also
may be different depending on the beam direction on the simulation plane or not, in other
words, depending on the rotation angles.

To obtain the same results in one, two, or three dimensions, or with different rotation angles,
Sentaurus Process provides an option to perform 1D or 2D implantation in 3D mode, in which
case, a 1D or 2D structure will first be extruded into a pseudo-3D structure. In other words,
only the surfaces and interfaces (not the bulk) will be extended in the y- or z-direction or both
directions, with the boundary conditions being taken into account. In the case of PAI, damage
integration is performed in a real 1D or 2D structure. Then, the lateral integration proceeds in
exactly the same way as in a 3D analytic implantation. This ensures consistent results for 1D,
2D, and 3D implantation.

128 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Analytic Implantation

To switch on this option, use either the Boolean parameter extrude in the implant command
or the global pdb switch:
pdbSet ImplantData Extrude 1

Implantation on (110)/(111) Wafers Using (100) Implant


Tables
The Sentaurus Process software distribution typically includes a large set of implant tables for
Si(100) wafers, but it does not include any implant tables for Si(110) or Si(111) wafers.
However, you sometimes need to perform process simulations on (110) or (111) wafers. Since
the Si(100) implant moments cannot be used directly for Si(110) or Si(111) wafers, certain
transformations of implant moments are required to use these tables for Si(110) or Si(111)
wafers.

Since SIMS depth profiles are measured along the wafer normal direction, the extracted
implant moments also are obtained with respect to the wafer normal direction. On the other
hand, analytic implantation is usually calculated by using the beam direction as its primary
direction. If the beam direction is coincidental with the normal direction, the implant moments
can be used directly without modification. However, for tilt implantations, the beam direction
does not coincide with the wafer normal direction. In this case, implant moments to be applied
to the primary beam direction must be scaled, or transformed, to reproduce the 1D profiles in
the wafer normal direction. See Primary Direction and Scaling on page 113 for more details.

Essentially, the projected range R p is scaled as follows:


R p′ = R p ⋅ s r (62)

where s r is the scaling factor, and the primary standard deviation σ p is scaled as follows:
2 2 2 2
σp ′ = sr ⋅ σp + ( 1 – sr ) ⋅ σl (63)

To use Si(110) implant tables for Si(110) or Si(111) implantations, you must calculate the
corresponding angles on the (100) wafers from the specified implantation angles on the (110)
or (111) wafers. For typical implantations (for example, tilt= 7° ), these angles are very large.

When you know the corresponding angle on the (100) wafer, you can use Eq. 62 and Eq. 63 to
transform R p and σ p . Eq. 62 works by simple geometry consideration. Eq. 63 works
reasonably well for small tilt implantations and, in theory, is accurate for isotropic amorphous
material. However, due to ion channeling, Eq. 63 may not be good under all situations.

Sentaurus Process User Guide 129


H-2013.03
3: Ion Implantation
Analytic Implantation

Therefore, the following options for σ p scaling are provided:


■ Case 0 (constant): σ p ′ = σ p
■ Case 1 (linear): σ p′ = σ p ⋅ s r
2 2 2 2
■ Case 2 (standard): σ p ′ = sr ⋅ σp + ( 1 – sr ) ⋅ σl

The default σ p scaling is the same as the R p scaling (linear scaling). These cases can be
selected by using the command:
pdbSet ImplantData StdevScalingMode {0 | 1 | 2}

Boundary Conditions and Domain Extension


Boundary conditions are needed in ion implantation simulations to account for the geometry
effects (such as shadowing) and lateral scattering of the implied structure. Both of these effects
require knowledge of the materials and damage concentration outside simulation domain. The
required information is synthesized by the definition of the boundary conditions.

Analytic implantation uses the same syntax as MC implantation for specifying boundary
conditions. It is assumed that the simulation domain is rectangular if viewed from the top and
is contained between:

LeftBoundary and RightBoundary (y-direction)

and:

BackBoundary and FrontBoundary (z-direction)

You can control the size of the lateral extension using:


pdbSet ImplantData MaxLateralExtension <n>

Extended Boundary Condition


pdbSet ImplantData LeftBoundary Extend
pdbSet ImplantData RightBoundary Extend
pdbSet ImplantData FrontBoundary Extend
pdbSet ImplantData BackBoundary Extend

The simulation domain is extended artificially in the corresponding direction. This


compensates for the decay of the profile at the sides of the domain. The extended structure is
removed after the implant is completed. Extend is the default boundary condition for ion
implantation.

130 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Reflective Boundary Condition


pdbSet ImplantData LeftBoundary Reflect
pdbSet ImplantData RightBoundary Reflect
pdbSet ImplantData FrontBoundary Reflect
pdbSet ImplantData BackBoundary Reflect

In reflective boundary condition, a reflected image with respect to the domain boundary is first
constructed. Depending on the boundary condition specified on the other side, the composite
structure is then either extended (if the other side is extended) or repeated (if the other side is
also reflective). The added structure including the reflected image is removed after the implant
is completed.

Periodic Boundary Condition


pdbSet ImplantData BoundaryPeriodicY 1
pdbSet ImplantData BoundaryPeriodicZ 1

This switches periodicity in the left–right or front–back direction. An array of periodic images
is constructed outside the simulation domain before the implant is started. These periodic
images are removed after the implant is finished.

Monte Carlo Implantation

Running Sentaurus MC or Crystal-TRIM


Sentaurus Process is capable of the atomistic simulation of ion implantation using either the
Monte Carlo (MC) simulator Sentaurus MC, which is an improved multithreaded version of
Taurus MC [7], or Crystal-TRIM [8], which originated from the Transport of Ions in Matter
(TRIM) code [2]. MC implantation simulates ion implantation into single-crystalline materials
or into amorphous materials of arbitrary composition. In Sentaurus Process, to select MC
implantation at the command line, use:
implant <dopant> [crystaltrim | [Link]]

Alternatively, to select MC implantation as the default implantation model, use a global switch:
pdbSet ImplantData MonteCarlo 1
pdbSet MCImplant model [crystaltrim | [Link]]

When MonteCarlo is set to 1, Sentaurus Process performs all the implantations using one of
the selected MC models (crystaltrim or [Link]).

Sentaurus Process User Guide 131


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

NOTE For simplicity, you could use the alias tmc instead of [Link]
or ctrim instead of crystaltrim. For example, you may initiate
Sentaurus MC implant with the following command:
implant <dopant> energy=<n> tmc

Fundamental implantation parameters, such as the implantation energy and dose, and the
orientation of the ion beam with respect to the substrate must be specified using energy, dose,
tilt, and rotation in the same way as for analytic implantation.

To run MC implantation in a full-cascade mode or improved BCA (iBCA) damage model, use
the cascades or iBCA switch:
implant <dopant> [ctrim | tmc] [cascades | iBCA]

or using a global switch:


pdbSet MCImplant cascades 1
pdbSet MCImplant iBCA 1

In the KMC mode, to specify the dose rate of the implantation, use the [Link] parameter:
implant <dopant> [ctrim | tmc] [cascades | iBCA] [[Link]=<n>]

If [Link] is specified, it is assumed to be a uniform dose rate in units of cm–2/s. If it is not


specified, a Tcl procedure will be called:
proc DoseRate {dose} { ... }

which returns an implantation time as a function of implantation dose. By default, it is a


uniform dose rate; that is, DoseRate is a linear function of dose. However, you can specify
any monotonic function to take into account the particular implantation equipment setup or
scanning patterns.

During the implantation, pseudoparticles representing a part of the whole dose are started from
the start surface, which is constructed above the target, parallel to the wafer surface. For 2D
and 3D target geometries, the start surface is subdivided into segments of equal size for which
the required implantation dose is accumulated. The size of these segments can be controlled by
setting:
pdbSet MCImplant Intervals dy <n>
pdbSet MCImplant Intervals dz <n>

For 1D structures, no subdivision is performed. The number of pseudoparticles that will be


started per segment can be set in the parameter database or at the command line:
pdbSet MCImplant Particles <n>

132 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

or:
implant <dopant> [crystaltrim | [Link]] [particles=<n>]

The default value is 1000. Increasing this number leads to better accuracy and an increase in
simulation time. Together with the sizes of the segments, this parameter determines the
statistical weight of each pseudoparticle.

Launching particles are assumed to be traveling along the direction as specified by the tilt and
rotation angles. However, there is usually a small angular divergence of the ion beam so that
the particles form a right cone. To specify the opening angle of the cone, in which particles are
assumed to be uniformly distributed, use the command:
pdbSet MCImplant BeamDivergence <n>

Parameters controlling the electronic and nuclear stopping as well as the damage accumulation
are available in the parameter database (see Parameter Database on page 53). You can set these
parameters in there.

If the information level is set to 1 or above, a progress report similar to the following will be
shown during the progress of implant:
implanted orig equiv active repl traject CPU time
particles traject classes segm OK fail step total
.............................................................................
1300( 5%) 84 4 26 1216 6 0.22 0.22
2600( 10%) 170 4 26 2430 9 0.21 0.43
3900( 15%) 262 4 26 3638 16 0.21 0.64
5200( 20%) 349 4 26 4851 24 0.30 0.94
6500( 25%) 437 4 26 6063 29 0.47 1.41
7800( 30%) 523 4 26 7277 33 0.28 1.69
...... ...... ......
22100( 85%) 1894 4 5 20206 131 3.15 7.27
23400( 90%) 2875 4 5 20525 272 5.20 12.47
24700( 95%) 3837 4 5 20863 394 4.75 17.22
24960( 96%) 4029 4 5 20931 419 0.99 18.21
25220( 97%) 4231 4 5 20989 453 1.13 19.34
25480( 98%) 4422 4 5 21058 472 0.90 20.24
25740( 99%) 4628 4 1 21112 483 0.93 21.17
26000(100%) 4888 4 0 21112 483 0.45 21.62
.............................................................................
Pseudo particles:
implanted : 26000
lost : 0 (0%)
Trajectories : 4888
Equivalence classes: 4

Sentaurus Process User Guide 133


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

where:
■ implanted particles: The total number of pseudoparticles implanted, which is, at the
end of the simulation, equal to the product of the specified number of particles and the
total number of segments of the implant surface. This number includes both the calculated
number of particles and the successfully replicated number of particles. The percentage of
already finished particles is also indicated in parentheses.

NOTE In a multithreaded implant, the thread ID is also shown before the


percentage. For example, 6500 (2: 25%) means that thread #2 has
implanted 6500 particles and finished 25%.
■ orig traject: The original number of trajectories that are based on the physical
calculations.
■ equiv classes: The number of equivalent classes in the current structure as detected by
probing ions. For more details on equivalent classes and probing ions, see Trajectory
Replication on page 174.
■ active segm: The number of currently active segments of the implant surface. At the
beginning of the implant, this number is equal to the total number of start segments. This
number should decrease as the implant progresses. At the end of the implantation, the
number becomes zero as all segments have the required implant dose and become
deactivated.
■ repl traject (OK and fail): The number of replicated trajectories. The number of
successfully replicated trajectories is shown in the OK column; whereas, the number of
unsuccessful trajectories is shown in the fail column.
■ CPU time (step and total): This CPU time includes the time spent for the current step
and the total CPU time for the current implant.

For 2D structures, the progress of an ion implantation step can be graphically viewed using the
switch [Link], for example:
implant <dopant> [ctrim | tmc] [[Link]]

Structure of Target Material


MC implantation simulates the motion of energetic particles in amorphous materials and
single-crystalline materials.

Composition
For each material, the composition is set in the parameter database. The composition can be
found in the <material> -> Composition entry. For each <n>-component of the material,

134 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

the entry Component<n> gives the name and the stoichiometric weight, for example, for
GaAs:
GaAs -> Composition -> Component0 -> Name = Gallium
GaAs -> Composition -> Component0 -> StWeight = 1
GaAs -> Composition -> Component1 -> Name = Arsenic
GaAs -> Composition -> Component1 -> StWeight = 1

or for silicon nitride:


Nitride -> Composition -> Component0 -> Name = Silicon
Nitride -> Composition -> Component0 -> StWeight = 3
Nitride -> Composition -> Component1 -> Name = Nitrogen
Nitride -> Composition -> Component1 -> StWeight = 4

The composition for both single-crystalline and amorphous materials is set this way.

Single-Crystalline Materials
Lattice Structure

In the case of a single-crystalline material, the positions of target atoms are calculated based
on the lattice type. Crystal-TRIM supports zinc-blende (Zincblende) lattice only, while
Sentaurus MC supports several lattice types that include simple cubic (Sc), body-center cubic
(Bcc), face-center cubic (Fcc), zinc-blende (Zincblende), and hexagonal (Hexagonal)
lattices. To set the lattice type, use:
pdbSet <material> LatticeType [Sc | Bcc | Fcc | Zincblende | Hexagonal]

Lattice Constants

To change the lattice constant defined in the parameter database, use:


pdbSet <material> LatticeConstant <n>

For all lattice types, Sentaurus MC defines different lattice constants for three different axes.
To define the other two lattice constants, use:
pdbSet <material> LatticeConstant_b <n>
pdbSet <material> LatticeConstant_c <n>

If LatticeConstant_b and LatticeConstant_c are not defined, LatticeConstant is


used for all three axes. For a hexagonal lattice, LatticeConstant_b should be equal to
LatticeConstant.

Sentaurus Process User Guide 135


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Polytypes

For hexagonal systems, there may exist many different crystal structures due to the different
stacking sequence along the c -axis, which is perpendicular to the plane formed by three a -
axes ( a1 , a2 , and a3 ). This is called polytypism. Four different polytypes are supported in
Sentaurus MC, and you can select them using the following command:
pdbSet <material> Polytype {2H 3C 4H 6H}

The default polytype for silicon carbide (SiC) is 4H. For more details, see MC Implantation
into Silicon Carbide on page 162.

Atomic Basis

The crystal structure consists of an atomic basis attached to the lattice points. A basis can be a
single atom or a group of atoms attached to each lattice point. In Sentaurus MC, for simple
crystals (such as a single-atom basis with simple cubic, face-centered cubic, or body-centered
cubic lattice and binary compounds with zinc-blende and hexagonal lattice), the undisturbed
positions of the lattice sites are constructed automatically using the information of the lattice
type, the polytype (if hexagonal lattice), and the lattice constants. For more complex crystal
structures, the positions of basis atoms should be specified with the pdb parameter
BasisVector. The units of basis vectors are lattice constants in three crystallographic axes.
For example, for zinc-blende silicon, the positions of two basis silicon atoms can be specified
as follows:
Silicon -> Composition -> Component0 -> Name = Silicon
Silicon -> Composition -> Component0 -> StWeight = 1
Silicon -> Composition -> Component0 -> BasisVector = {0 0 0 0.25 0.25 0.25}

For another example, NaCl has a face-centered cubic (Fcc) lattice with an atomic basis of two
atoms. The positions of Na and Cl can be specified as follows:
NaCl -> Composition -> Component0 -> Name = Sodium
NaCl -> Composition -> Component0 -> StWeight = 1
NaCl -> Composition -> Component0 -> BasisVector = {0 0 0}
NaCl -> Composition -> Component1 -> Name = Chloride
NaCl -> Composition -> Component1 -> StWeight = 1
NaCl -> Composition -> Component1 -> BasisVector = {0.5 0.5 0.5}

In Crystal-TRIM, the positions of lattice sites of the basic cell are set in the parameter database
in MCImplant -> Lattice -> Zincblende -> Cell0 in the natural coordinate system
of crystal. The unit is one-half of the lattice constant. The undisturbed positions of all lattice
sites of an ideal zinc blende–type crystal can be obtained from the basic cell by shifting the
atomic positions in the directions of the crystallographic axes. Therefore, for any given position
of the projectile, only the immediate crystalline environment is generated and rebuilt every
time the projectile moves out of the current crystalline cell.

136 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

The entry MCImplant -> Lattice -> Zincblende -> Cell1 is a complementary basic
cell and gives the configuration that is obtained by shifting Cell0 by one-half of the lattice
constant.

Thermal Vibrations

The thermal vibrations of the target atoms are important for the treatment of the motion of a
projectile in single-crystalline material. In MC implantation, only instantaneous thermal
displacements of target atoms from their ideal lattice sites are considered.

The displacements are assumed to obey a 3D Gaussian distribution with a root-mean-square


obtained by the Debye model. The Debye temperature is set in the parameter database and can
be changed with:
pdbSet <material> DebyeTemperature <n>

The default Debye temperature is 519 K for silicon.

The substrate temperature for the Debye model can be set by:
pdbSetDouble MCImplant Temperature <n>

The default substrate temperature is 300 K.

Amorphous Materials

The structure of an amorphous material is described in a simplified manner by assuming an


average interatomic distance in the target material.

Variable Mass Density

It is possible to use a dataset MassDensity as the mass density of an amorphous material:


pdbSetBoolean <material> VariableMassDensity 1

Using molar fractions (see Molar Fractions on page 138) is disabled in these materials.

Polycrystalline Materials

A polycrystalline material is characterized by its crystal orientation and grain size. Crystal
orientation (one of 100, 110, and 111) can be specified by using a material-specific command:
pdbSet <material> CrystalOrient <n>

Sentaurus Process User Guide 137


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

There are two different ways to change the crystallinity (Amorphous, Crystalline, and
Polycrystalline) of a material. If parameter Crystallinity is available (which is true
for polysilicon) in the PDB, use this switch to set the crystallinity, for example:
pdbSet PolySilicon Crystallinity Polycrystalline

This command makes MC implantation models consider both crystal orientation and grain size
for polysilicon.

If Crystallinity does not exist for a material, use parameters Amorphous and Granular:
pdbSet <material> Amorphous 0
pdbSet PolySilicon Granular 1

The first command switches off the amorphous treatment, and the second command makes MC
implantation models consider the grain size.

For more details on ion implantation into polysilicon, see MC Implantation into Polysilicon on
page 160.

Molar Fractions
It is possible to define a compound material with a spatially-dependent molar fraction. For
example, for single-crystalline silicon, the following PDB entry:
array set $Base {BinaryCompounds {String {
{ SiliconGermanium GeTotal "GeTotal/[pdbGetDouble Si LatticeDensity]" }
}}}

specifies a binary compound Si1–xGex with the mole fraction of Ge calculated from the
germanium concentration (GeTotal) divided by the silicon lattice density. Due to more
computational demands, a minimum Ge concentration is required to trigger MC implantation
models to treat this material in a more sophisticated way. To specify this minimum
concentration, use the command:
pdbSet Silicon [Link] 1e20

If the concentration of Ge in any of the mesh elements of silicon regions exceeds


20 –3
1 × 10 cm , MC models treat silicon as a compound material. In this case, the average
charge and mass of the material is calculated individually for each mesh element. The lattice
constant, the nonlocal electron stopping power, and the Debye temperature are linearly
interpolated based on the mole fractions. For more details, see MC Implantation into
Compound Materials with Molar Fractions on page 161.

138 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Sentaurus MC Physical Models


The Sentaurus MC implantation model, which is an improved, multithreaded version of Taurus
MC, was designed to be generally accurate and predictive with minimum user calibrations for
most implant conditions. It has been calibrated from sub-keV to above 10 MeV, and for
different implant conditions including random implant direction, <100>, <111>, and <110>
channeling directions, with the same set of parameters for boron, phosphorus, and arsenic
implants [7]. It also is accurate for other implant species such as BF2, F, Al, Ge, In, and Sb
[7][16]. For a detailed discussion of the physical models in Sentaurus MC and an extensive
comparison with experimental SIMS profiles from sub-keV to above 10 MeV and with other
MC simulators, refer to the literature [7][16]. This section briefly outlines the pertinent theory
and models.

The calculation used in the Sentaurus MC model assumes that ions lose energy through two
processes:
■ Nuclear scattering, where the nucleus of the ion elastically scatters off the nucleus of an
atom in the target. This interaction is based on the binary collision theory and is described
in the following section.
■ Interaction of the ion with the electrons of the target atoms. This mechanism is inelastic
and does not alter the direction of the motion of the ion.

Therefore, the total change in energy of the ion after the i -th collision is the sum of the nuclear
energy loss ΔE n and the electronic energy loss ΔE e :
E i = E i – 1 – ΔE n – ΔE e (64)

Binary Collision Theory


Sentaurus MC implantation models the energy loss of nuclear collision according to the
classical binary scattering theory. The basic assumption of the mechanism for the energy loss
of nuclear collision is that the ion interacts with only one target atom at a time. This assumption
enables the use of the binary scattering theory from classical mechanics [17].

Consider a particle of mass M 1 and kinetic energy E 0 approaching a stationary particle with
mass M 2 . The impact parameter, b , is the distance of closest approach if the particle is not
deflected and gives a convenient measure of how close the collision is. After collision, the first
particle deviates from its original course by an angle θ .

Sentaurus Process User Guide 139


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Energy Loss

It can be shown that the first particle loses kinetic energy:


ΔE n 4M 1 M 2 2
---------- = ----------------------------cos
2
( bI ) (65)
E0 ( M1 + M2 )

where:
■ ΔE n is the energy lost by particle 1.
■ E 0 is its energy before collision.
■ I is the integral.
s max ds
I = 0 -----------------------------------------
V( s) 2 2
(66)
1 – ----------- – b s
Er

where s = 1 ⁄ r is the inverse separation between the two particles. V ( s ) is the potential
between the two particles (assumed to be repulsive), and:
E0
E r = ---------------------------- (67)
1 + M1 ⁄ M2

is the reduced energy in the center of mass coordinates.

The upper limit of the integral, s max , is the inverse distance of closest approach of the two
particles and is given by the solution to the equation:
V ( s max ) 2 2
1 – ------------------- – b s max = 0 (68)
Er

Scattering Angle

The angle θ by which particle 1 is deflected is given by:


M2
1 – 0.5 1 + ------- ΔE n ⁄ E 0
M1
cosθ = ------------------------------------------------------------ (69)
1 – ΔE n ⁄ E 0

NOTE For ΔE n ⁄ E 0 « 1 , θ approaches zero.

140 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Dimensionless Form

Eq. 65 to Eq. 69 are the basic equations for classical two-body scattering. The scattering
integral, Eq. 66, can be cast into a dimensionless form by assuming the potential has the form:
V ( s ) = Z 1 Z 2 k 1 sg ( a u s ) (70)

where:
■ Z 1 is the charge on particle 1.
■ Z 2 is the charge on particle 2.
■ k 1 is the constant.
2
q –7
k 1 = ------------ = 14.39495 × 10 keVμm (71)
4πε 0

g ( a u s ) is an arbitrary function of a u s , to be defined later, and a u is a unit of length. Taurus


MC uses the so-called universal screening length [18]:
–4 0.529
a u = 0.8854 × 10 ---------------------------------
0.23 0.23
-μm (72)
( Z1 + Z2 )

and a dimensionless impact parameter:


bn = b ⁄ au (73)

and a dimensionless energy:


au Er
ε = ----------------- (74)
Z1 Z2 k1

Using Eq. 70, Eq. 73, and Eq. 74 in the scattering integral Eq. 66 and making the substitution
s′ = a u s gives:

1 s′ max ds′
I = -----
au 0 -------------------------------------------------------
2 2
(75)
1 – s′g ( s′ ) ⁄ ε – b n s′

2
From Eq. 65, the quantity of interest is cos ( bI ) , which becomes:

s′ max ds′
cos ( bI ) = cos b n 
2 2
------------------------------------------------------- (76)
0 2 2
1 – s′g ( s′ ) ⁄ ε – b n s′

2
Therefore, using Eq. 76, cos ( bl ) can be evaluated in terms of the dimensionless variables b n
and ε , without reference to the charge or mass of a particular particle.

Sentaurus Process User Guide 141


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Coulomb Potential

As an example of the above procedure, consider the Coulomb potential between two particles:
Z1 Z2 k1
V ( r ) = ----------------- (77)
r

or:
V ( s ) = Z1 Z2 k1 s (78)

In this case, g ( a u s ) = 1 . Then, from Eq. 76:

s′ max ds′
cos ( bI ) = cos b n 
2 2
------------------------------------------ (79)
0 2 2
1 – s′ ⁄ ε – b n s′

with:

 1 + 4b 2 ε 2 – 1
 n 
s′ max = -----------------------------------------
2
- (80)
2εb n

from a solution of Eq. 68.

Then, the integral can be evaluated exactly, giving:


2 1
cos ( bI ) = -----------------------
2 2
(81)
1 + 4b n ε

For a given impact parameter b and incident energy E 0 , the dimensionless b n and ε can be
2
obtained from Eq. 73 and Eq. 74, giving cos ( bI ) from Eq. 81. Then, the energy loss due to
the collision is given by Eq. 65, and the angle at which particle 1 leaves the collision is given
by Eq. 69.

Universal Potential

For the simple form of the Coulomb potential used in the previous example, the scattering
integral can be solved analytically. For more realistic interatomic potentials, however, the
scattering integral cannot be evaluated analytically.

142 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

For example, the universal potential [18] that is used in Sentaurus MC is:

Z1 Z2 k – 3.1998r ⁄ a u – 0.94229r ⁄ a u
V ( r ) = --------------- 0.18175e + 0.50986e (82)
r

– 0.4029r ⁄ a u – 0.20162r ⁄ a u
+ 0.28022e + 0.028171e

An analytic solution does not exist since the upper limit of the integral in Eq. 66 is given by
Eq. 68, which becomes a transcendental equation with this potential. In Taurus MC, the
2
quantity cos ( bI ) , in its dimensionless form (Eq. 76), is numerically integrated for a wide
range of its parameters b n and ε . These results are stored in tables. Then, at each collision,
2
cos ( bI ) is obtained from these tables. This scheme eliminates the need to find s max for each
collision, minimizing the amount of arithmetic operations performed during the calculation of
the trajectory of an ion, while retaining accuracy.

Tables for the universal potential over a wide range of energies and impact parameters are
provided for immediate use in Taurus MC. These tables span the normalized energy range of
–5
10 ≤ ε ≤ 100 and the normalized impact parameter range 0 ≤ b n ≤ 30 . For ε > 100 , the
–5
Coulombic form (Eq. 82) is used. Values of ε < 10 are not encountered for ion–atom
combinations of interest at energies above the energy at which the ion is assumed to have
stopped (5 eV). For values of b n > 30 , the ion is assumed to be undeflected.

Implantation into Amorphous Materials

This section describes how the binary scattering theory of the previous section is used to
calculate ion trajectories in an amorphous solid. Assume an ion with kinetic energy E 0 hits a
target with an angle θ 0 with respect to the target normal. The surface of the target is assumed
to be at y = 0 , with y increasing vertically into the target. To set the incident energy E 0 in
the implant command, use the Energy parameter. To specify the incident angle θ 0 in the
implant command, use the tilt parameter.

Given the atomic density N dens for the target material, the mean atomic separation between
1⁄3
atoms in the target is 1 ⁄ ( N dens ) . Between scattering events, the ion is assumed to travel a
distance:
1⁄3
L = 1 ⁄ ( N dens ) (83)

As the ion enters the target material, it approaches the first target atom with impact parameter
b , defined in the previous section. The probability of finding a target atom between b and
b + δb is given by:
2⁄3
w ( b )δb = 2πN dens b δb (84)

2⁄3
for b < 1 ⁄ πN dens .

Sentaurus Process User Guide 143


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

If R rand is a uniformly distributed random number between 0 and 1, the probability distribution
gives:

R rand
b = ---------------
2⁄3
- (85)
πN dens

Given the above definitions, the algorithm for calculating the energy loss through nuclear
collisions experienced by the ion proceeds as follows:
■ A random number between 0 and 1 is chosen.
■ The normalized impact parameter for this collision is calculated from Eq. 73 and Eq. 85:

1 R rand
b = ----- ---------------
- (86)
a u πN 2 ⁄ 3
dens

■ The ion energy, E 0 , is normalized to:


au E0
ε = --------------------------------------------------- (87)
( 1 + M 1 ⁄ M 2 )Z 1 Z 2 k 1

from Eq. 67, p. 140 and Eq. 74, p. 141.


2
■ Now, the value of cos ( bI ) can be obtained from the tables, and Eq. 65, p. 140 gives the
energy loss due to nuclear scattering:
4M 1 M 2 2
ΔE 0 = [Link] ⋅ E 0 ----------------------------cos
2
( bI ) (88)
( M1 + M2 )

where [Link] is an empirical nuclear-scattering correction factor with a default value


of 1.0, which can be changed in the parameter database by using:
pdbSetDouble <material> <dopant> [Link] <n>

This procedure is repeated for each collision event.

Implantation into Crystalline Materials

The binary collision calculation for crystalline materials proceeds in the same way as in the
amorphous case, except that the selection of the collision partners of the projectile with target
atoms is conducted in a more sophisticated manner.

Instead of using the density of the target material and a random number, Sentaurus MC
determines the collision partners based on the position of the projectile relative to the sites on
an idealized lattice. The algorithm for selecting the collision partners is based on

144 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

MARLOWE [19]. Sentaurus MC implantation uses a sophisticated multibody collision


algorithm to simulate the collisions of well-channeled particles, as shown in Figure 31.
Lattice Atoms
1 3

[Link]

Incident Particle

Figure 31 Illustration of “simultaneous” collision, and definition of the [Link] parameter

If the distance of two or more projected target atoms to the undeflected trajectory of the
incident particle is less than [Link] (simultaneous collision distance), then the multibody
collision algorithm is invoked. For example, in Figure 31, 1 and 2 are considered to be
simultaneous collisions, but 3 is not. To change the default value of [Link], use the command:
pdbSetDouble <material> [Link] <n>

The scattering events are computed for each target individually, and the final moment and
energy of the incident particle are computed by applying momentum and energy conservation
principles.

The simultaneous collisions are handled in the same way as for MARLOWE, except for the
location of the turning point. In MARLOWE, the turning point is assumed to be the average of
those of the simultaneous collision partners. In Sentaurus MC, the turning point is placed at a
point determined by the collision with the minimum impact parameter. Simulations have
indicated that such a scheme obtains better results for ultralow energy implantations, while it
has little impact on implantation energies above 5 keV. This allows Sentaurus MC to treat the
entire implantation energy range, including ultralow energy and very high energy, with the
same model, in exactly the same way.

Ion channeling, which is the preferential penetration of implanted ions along crystal axes or
planes, occurs naturally due to the inclusion of the crystal structure of the lattice. Both axial
and planar channeling show enhanced penetrations. The effect of the tilt and rotation
parameters is much more pronounced for implants into crystalline silicon than into amorphous
silicon.

Sentaurus Process User Guide 145


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Electronic Stopping Model

A moving ion loses energy by inelastic electronic processes, which include both nonlocal and
local stopping power. Sentaurus MC uses the same electronic stopping model for both
amorphous and crystalline materials. For each collision, the energy loss due to electronic
stopping is:
nl nl loc loc
ΔE e = x ⋅ ΔE e + x ⋅ ΔE (89)

nl loc
x +x = 1 (90)

nl
x = min ( [Link] ⋅ ε [Link], 1 ) (91)

where ε is the scaled dimensionless energy.

[Link] and [Link] are specified in the material parameter database and can be changed
by using:
pdbSet <material> <dopant> [Link] <n>
pdbSet <material> <dopant> [Link] <n>

Nonlocal Electronic Stopping

Nonlocal electronic stopping acts as the dragging (frictive) force on moving ions, which is
proportional to the ion velocity and is independent of the impact parameter:
nl
ΔEe = L ⋅ N dens ⋅ S e (92)

–1
S e = [Link] ⋅ S es ⋅ E m ⋅ f es (93)

where L is the free flight path between collisions and E m is the ion energy at the stopping
power maximum.

The quantities S es and f es are given by [7][20]:


7⁄6
1.212 Z 1 Z 2
S es = -------------------------------------------------------
3⁄2
(94)
2⁄3 2⁄3
Z1 + Z2 1⁄2
M1

E0 ⁄ Em δ⁄2 Em δ ⁄ 2 1⁄δ
f es =  --------------------------------------------------------------------- +  ------- (95)
 ln ( E 0 ⁄ E m + E m ⁄ E 0 + e – 2 )  E0 

146 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

where:
■ Z 1 is the ion atomic number.
■ Z 2 is the composite target atomic number.
■ e is the base of natural logarithm.
■ δ = 1.425 is a fitting parameter.

[Link] is specified in the material parameter database; to change it, use:


pdbSet <material> <dopant> [Link] <n>

Local Electronic Stopping

Local electronic loss is a result of the electron exchange between the moving ion and the target
atom, which is based on the Oen–Robinson model [21] and is dependent on the impact
parameter:
Se
ΔE eloc = -----------2- ⋅ exp  – ---
b
 a
(96)
2πa

au
a = f ⋅ ------- (97)
0.3

1.45
f = [Link] ⋅ -------------
2⁄5
(98)
Z1

where [Link] is an adjustable screening length parameter that you can change by using:
pdbSet <material> <dopant> [Link] <n>

Damage Accumulation and Dynamic Annealing

As the ions travel through a crystalline target, they collide with the target atoms and displace
many of them from their lattice sites. In the binary collision approximation (BCA) code, it is
assumed that, if the transferred energy exceeds a certain threshold, the target atom is displaced
and, at this lattice site, a vacancy is generated. When the displaced atom comes to rest, it is
identified as an interstitial. This defect production rate can be evaluated either by the modified
Kinchin–Pease formula [22] or by simulating the full cascade. Sentaurus MC provides both
types of damage calculation.

Sentaurus Process User Guide 147


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Damage Accumulation Models

The default damage model calculates the deposit energy E D ( x ) for each collision, which is
then converted to the number of point defects (Frenkel pairs) using the modified Kinchin–
Pease formula [22]:
n ( x ) = κ ( E D ⁄ ( 2 ⋅ [Link] ) ) (99)

where κ = 0.8 and [Link] = 15 eV for silicon by default.

If the cascades switch is specified in the implant command, Sentaurus MC traces all of the
generated secondary recoils. After each collision, a calculation is performed to determine the
trajectories of the silicon lattice atoms that are knocked from their sites in the lattice by
collisions with implanted ions. A silicon atom is assumed to be knocked from its site when it
absorbs an energy greater than a damage threshold [Link] from a collision.

The silicon atoms freed from the lattice can, in turn, knock other atoms from their sites so that
cascades of damage result. Sentaurus MC calculates the trajectories of these knock-ions with
the same detail as the implanted ions. A vacancy is assumed to have formed whenever a lattice
atom is knocked from its site. An interstitial is assumed to have formed whenever a silicon
lattice atom that has been knocked from its site comes to rest. This damage model can be used
to calculate the different profiles of interstitials and vacancies, that is, I–V separations.

[Link] and [Link] are specified in the material PDB and you can change them using:
pdbSet <material> <dopant> [Link] <n>
pdbSet <material> <dopant> [Link] <n>

Dynamic Annealing

Not all of the defects as calculated above will survive; some of the generated defects will
recombine within the cascade as well as with the preexisting defects. To achieve computational
efficiency, Sentaurus MC uses a statistical approach to account for the I–V recombination in
both intracascades and intercascades. The encounter probability of the projectile with
interstitials also is accounted for statistically. The net increase of the defects in a local region
with defect concentration C ( x ) is:
[Link] ⋅ C ( x )
Δn ( x ) = [Link] ⋅ n ( x ) ⋅  1 – -------------------------------------- (100)
N dens

In the cascade damage model, [Link] and [Link] are replaced with [Link] and
[Link]. To conserve particle numbers, interstitials and vacancies are recombined in pairs,
and the model distinguishes between recoiled interstitials and recoiled lattice atoms. When an
interstitial is recoiled, the local interstitial number decreases by one and no vacancy is
produced. On the other hand, when a lattice atom is recoiled, a vacancy is created. However,
defect recombination must be considered.

148 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

The intracascade recombination is accounted for by a factor [Link], while intercascade


recombination is accounted for by a probability 1 – ( N I ⁄ N dens ) , which describes that the
vacancy is not located within the capture radius of an interstitial.

When a recoil comes to rest, it is only allowed to recombine with vacancies from previous
cascades, which is described by a factor 1 – ( N v ⁄ N dens ) , but not with those of the same
cascade since this recombination has already been accounted for by vacancy intracascade
recombination in the previous step. [Link] and [Link] are specified in the material
PDB and you can change them using:
pdbSet <material> <dopant> [Link] <n>
pdbSet <material> <dopant> [Link] <n>

For light implant species, damage could saturate at certain concentrations due to the balance
between defect production and dynamic annealing. Damage saturation is controlled by the
parameters [Link] and [Link] for the default damage model and cascade damage
model, respectively. The default value is 1 for all implant species. Therefore, with the default
parameter, the maximum damage is equal to the lattice density. If, for example, [Link] is set
to 4.35, damage saturates at 23% of the lattice density and cannot exceed the amorphization
threshold (1.15e22 cm–3 by default). Therefore, the crystal will never be amorphized in this
case. To change these parameters, use:
pdbSetDouble <material> <dopant> [Link] <n>
pdbSetDouble <material> <dopant> [Link] <n>

NOTE For heavy species, a single cascade may amorphize the crystal.
Therefore, the intracascade parameter [Link] may not prevent the
amorphization even if it is set to a very large value.

Damage De-Channeling

The accumulated damage has a significant effect on the destination of the subsequent ions,
thereby altering the shape of the impurity profiles. This effect is known as damage de-
channeling. Sentaurus MC handles this problem by switching from the crystalline model to the
amorphous model based on the damage that has accumulated in the substrate. If the local defect
concentration C ( x ) is greater than the amorphization threshold, this local region is assumed to
be amorphized, and the amorphous collision model is used for this local region.

For the local regions with defect concentrations below the amorphization threshold, the
probability of selecting the amorphous model is proportional to the local defect concentration
C ( x ) and a random number call. The amorphous collision model is selected when:
C( x )
R rand < [Link] ⋅ ------------ (101)
N dens

Sentaurus Process User Guide 149


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Increasing [Link] makes the profiles more like those implants into amorphous materials.
For the cascade damage model, [Link] is replaced with [Link]. The parameters
[Link] and [Link] are specified in the material PDB, and you can change them using:
pdbSet <material> <dopant> [Link] <n>
pdbSet <material> <dopant> [Link] <n>

NOTE For low energy implants, due to very shallow projected ranges, the mesh
near the surface should be refined to account fully for the damage de-
channeling effect.

NOTE The amorphization process is not explicitly simulated by


Sentaurus MC. However, for the MC model, by common practice, when
a critical amount of damage is accumulated in a certain region, a crystal/
amorphous phase transition is assumed to occur in this region. For a
silicon target, this critical amorphization threshold is approximately
25% of the lattice density. Therefore, if the defect concentration reaches
22 –3
more than 1.15 × 10 cm for silicon, this region is considered to be
amorphized. Using this criterion, Sentaurus MC predicts the onset of
amorphization and the thicknesses of the amorphous layers for high-
dose implantations.

Improved Binary Collision Approximation Damage Model

During implantation, energetic ions penetrate into the target and lose their energy through
collisions with atoms and electrons. It is traditionally assumed that only energy deposited in
the form of nuclear collisions contributes to damage generation; whereas, energy transfers to
the electronic system are taken as inelastic losses. While energetic atoms are in the ballistic
regime (that is, they have energies well above the displacement threshold [Link]), they can
be well simulated using binary collision approximation (BCA) algorithms. However, as their
energy decreases to the thermal regime (around and below the displacement threshold),
multiple interactions with target atoms become important. Molecular dynamics (MD)
simulations demonstrate that energy transfers among atoms at this low-energy regime can
generate amorphous pockets, thereby generating more damage than BCA models. The
improved BCA (iBCA) damage model is an attempt to simulate MD simulation results within
the framework of BCA.

The iBCA damage model implemented in Sentaurus MC implant is largely based on an the
published article [23] (for the detailed physical basis of the model, refer to this article).

This section briefly describes the model, its usage, and the parameters that are accessible to
users.

150 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

The procedure followed in the iBCA model is:


1. The collision phase of the cascade is simulated with the conventional BCA model.
2. The BCA simulation provides the position of Frenkel pairs generated during the cascade,
the remaining energy of the recoils at the end of their trajectories, and the position and
energy of all the atoms that receive any amount of energy above the minimum energy
(MinHotEnergy). These particles are called hot particles.
3. At the end of the collision phase, there is a set of vacancies, interstitials, and hot particles.

Within BCA, the energy conservation principle applied to elastic binary collisions implies that
the energy of the incident particle must be equal to its energy after the collision plus the recoil
energy plus the energy required to take the recoil away from its lattice site.

A moving atom stops when its energy is insufficient to generate more subcascades. However,
the remaining energy of the generated interstitial at the end of its trajectory can still contribute
to generate more damage if low-energy interactions were modeled. To consider this effect
within the iBCA model, the residual energy of each generated interstitial is equally shared with
its neighboring atoms. Ballistic collision only considers the impinging atom and the closest
target atom (two-body interactions); however, as energy decreases, collisions with several
target atoms occur more often, and groups of energetic atoms are created as the cascade
develops (many body interactions).

After this energy rearrangement, you evaluate which atoms are disordered taking into account
their efficiencies:
ρ – ET
eff = --------------- (102)
DC

where ρ is the energy density, and E T and D C are the threshold energy density and damage
generation cost, respectively. If the calculated efficiency of a given atom is below zero, it is not
disordered.

If eff is between 0 and 1, the atom is disordered with a random probability given by its
efficiency. If eff is 1 or greater, the atom is disordered and a random neighbor is disordered
with the probability given by the remaining efficiency ( eff – 1 ) and so on.

To simulate the energy diffusion process: First, evaluate the efficiency of those atoms with the
highest amount of energy in their environment. Second, repeat the process until no further
energy remains to create more disordered atoms.

This scheme for damage generation can be regarded as a combination of the two traditional
BCA approaches for damage description. As in the full-cascade BCA, ion and recoil
trajectories are followed to generate damage at the atomic level and to provide the individual
positions of Frenkel pairs, but you also must consider the energy deposited in atoms not

Sentaurus Process User Guide 151


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

displaced by ballistic collisions. This energy is used to generate thermally disordered atoms
following a scheme similar to the modified Kinchin–Pease approach. Nevertheless, since the
residual deposited energies that are being considered to determine efficiencies are always at the
low-energy regime, the local character of damage generation is guaranteed. In addition, the
damage efficiency expression accounts for phase transformation (melting) and heat dissipation
through the dependency of the parameters E T and D C on the number of energetic neighbors.
This feature captures the nonlinear effects on damage generation due to the proximity of
several energetic atoms as it occurs in molecular implants.

To activate the iBCA damage model, specify iBCA in the implant command or switch on the
global switch:
pdbSet MCImplant iBCA 1

You can calibrate the iBCA damage model by changing the minimum energy for hot particles
(MinHotEnergy) and the maximum distance for the local neighbors
(DistLocalNeighbors):
pdbSet Silicon MinHotEnergy <n>
pdbSet Silicon DistLocalNeighbors <n>

By default, MinHotEnergy is 1 eV, and DistLocalNeighbors is 3.84e-4 μm .

In addition, you can calibrate the model by changing the formulas for the threshold energy
density (Et_iBCA) and the damage generation cost (Dc_iBCA) by modifying Tcl procedures.
As noted in the article [23], the default Tcl procedures for these quantities are defined as:
proc Et_iBCA { ln } {
set et [expr 11.348 * pow($ln+1, -0.837) + 0.931]
return $et;
}
proc Dc_iBCA { ln } {
set dc [expr 11.211*exp(-0.146*$ln + 0.00158*$ln*$ln)];
return $dc;
}

where ln is the number of local neighbors.

NOTE To avoid nonphysical results, only fine-tuning of these formulas is


recommended.

NOTE Because the iBCA damage model is substantially more CPU intensive
than the cascade damage model, only low-energy implant is practical
for this damage model.

152 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Crystal-TRIM Physical Models


Crystal-TRIM simulation is based on the binary collision approximation (BCA), which
represents the motion of ions in the target material as a set of binary collisions with the target
atoms [2].

BCA is valid in a wide range of projectile energies, from approximately 100 eV to many MeV.
It can, therefore, be employed over the whole range of energies of interest for ion implantation.
For energies below approximately 100 eV, collective interactions may play an increasingly
important role and BCA may become invalid. Nevertheless, the applications of Crystal-TRIM
to ultra low-energy implants lead to results that are still sufficiently good compared with
experimental data.

At each collision, the projectile loses a part of its energy due to elastic nuclear scattering at
target atoms and inelastic electronic iterations. The particles are assumed to come to rest if their
energy is in the order of 15 eV.

Single-Crystalline Materials

Nuclear Collisions and Collision Cascades

Nuclear scattering is treated by classical mechanics using a Coulomb-screened pair potential


(ZBL potential [18]). If the energy transfer to the target atoms exceeds the so-called
displacement threshold (approximately 15 eV for silicon), the target atom can leave its site and
become displaced (primary recoil).

By default, only the trajectories of implanted ions are simulated. The number of vacancies and
displaced target atoms produced at each collision is calculated approximately using the
modified Kinchin–Pease formula.

A full cascade–type of simulation is performed if the keyword cascades is used. The


trajectories of energetic recoils are calculated in the same way as for the original ions. A
primary recoil with sufficiently high initial energy can generate more recoils (collision
cascade). While both methods yield correct range profiles, only the full-cascade simulation
produces physically correct profiles of vacancies and displaced atoms. However, a full-cascade
simulation requires more computational time.

In single-crystalline silicon, vacancies and recoils are often identified with the vacancies and
interstitials responsible for transient-enhanced diffusion (TED) of dopants. The choice of a
diffusion model determines whether the full-cascade mode of Crystal-TRIM must be applied.

Sentaurus Process User Guide 153


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Electronic Stopping

Electronic energy loss of the projectile is treated using semiempirical models.

For crystalline target materials, the loss depends on the local electronic density in the
environment of the projectile. Therefore, the use of a local approach is particularly important
for investigations of channeling effects in single-crystalline substrates.

A simplified local approach, the so-called modified Oen–Robinson formula [21], is used. The
parameter CEX1 describes the variation of the electron density for a projectile moving in the
<110> direction of the crystal, while CEX2 does the same for any other direction. The value for
CEX1 and CEX2 are set in the parameter database and can be changed by using:
pdbSet <material> <dopant> CEX1 <n>

The value for CEX1 should be close to 1 or at least within the range of 0.5 and 3. The default
value for CEX2 is 2.

The automatic calibration of these parameters can be switched off individually using
AutoCEX1, AutoCEX2.

Amorphous Materials
Nuclear Collisions

In amorphous materials, nuclear collisions are described by assuming that consecutive binary
collisions are completely uncorrelated. The only structural parameter that influences nuclear
scattering is the average interatomic distance in the target material, which determines the
maximum free flight-path length to the next collision and the maximum impact parameter.

By default, the impact parameter is assumed to be distributed uniformly between zero and its
maximum value. The free flight-path length is constant and equal to the average interatomic
distance. Alternatively, a slightly different description of the structure of the amorphous
material is possible using the switch AdvancedAmorph:
pdbSet <material> <dopant> AdvancedAmorph 1

In this case, the free flight-path length is assumed to have a half-Gaussian distribution above
the interatomic distance scaled with a value of the parameter AMAV. The standard deviation is
controlled by the parameter AMDEV.

154 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

The default values are AMAV=1 and AMDEV=0, which correspond to setting AdvancedAmorph
0. The values of AMAV and AMDEV can be set in the parameter database:
pdbSet <material> <dopant> AMAV { <n> <n> <n> <n> }
pdbSet <material> <dopant> AMDEV { <n> <n> <n> <n> <n> <n> }

The set of parameters is given as an array. A pair of entries always specifies the number and
the value of the parameter, that is:
pdbSet Silicon Boron AMAV {0 -1.25e-4 1 0.93}

sets the two parameters for the calculation of AMAV to –1.25 and 0.93, respectively.

AMAV and AMDEV are made dependent on the atomic number of an implanted ion and its energy.
For arsenic, boron, and phosphorus in silicon, calibrated values are available in the parameter
database, and the AdvancedAmorph flag is set to 1. The calibration can overwrite external
settings of these parameters performed with pdbSet. To switch off the calibration, use:
pdbSet Silicon Boron AutoAMAV 0

A similar parameter is available for AMDEV.

NOTE This model should not be applied to implantation energies below 10–
20 keV. For low-energy implants, especially of boron, the default values
lead to wrong results. You should select AMAV and AMDEV manually,
where AMAV should be close to 1 and AMDEV should be a positive
number.

Table 8 Values for AMAV and AMDEV used in Crystal-TRIM AdvancedAmorph mode
Energy [keV] B/BF2 P As

AMAV AMDEV AMAV AMDEV AMAV AMDEV

10 0.9287 0.0275 0.8888 0.0700 0.9490 0.0400

30 0.9262 0.0141 0.8963 0.0700 0.9490 0.0400

50 0.9237 0.0113 0.9038 0.0700 0.9490 0.0400

100 0.9175 0.0088 0.9225 0.0700 0.9490 0.0400

200 0.9050 0.0000 0.9600 0.0700 0.9490 0.0400

400 0.8800 0.0000 1.0350 0.0700 0.9490 0.0400

A single-crystalline material can also be treated as amorphous by setting:


pdbSet <material> Amorphous 1

Sentaurus Process User Guide 155


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Electronic Stopping

A nonlocal approach based on the ZBL formula [18] is used for amorphous materials. This
formula uses an average density of electrons and has only one fitting parameter, Lambda. This
factor is used for the scaling of the ion-screening length in the ZBL electronic-stopping cross
section. Default values of Lambda are also set in the parameter database. Values of Lambda
close to 1 (between 0.7 and 1.5) are recommended. The automatic calibration of this parameter
can be switched off by using AutoLambda.

Damage Buildup and Crystalline–Amorphous Transition

The damage accumulation leading to de-channeling of ions and recoils, and the subsequent
crystalline–amorphous transition is described by a phenomenological model [22]. It can be
completely switched off by using:
pdbSet Ctrim DamageAccumulation No

This switches off both the damage accumulation and de-channeling. During the current implant
step, no additional damage will be produced and the existing predamage will have no effect.
Two other model options are available.

Full Amorphization Above a Critical Value

This model leads to full amorphization in mesh elements if the damage probability reaches a
critical limit and is chosen by setting:
pdbSet Ctrim DamageAccumulation Full

Below a certain threshold described by the parameter DCrit, the damage probability PD is
assumed to depend linearly on the nuclear energy deposition per atom ( E n ). The
proportionality factor is DAcc. If PD is greater than this value, the volume element is
completely amorphized and PD = 1, that is:

 DAcc ⋅ E n , DAcc ⋅ E n ≤ DCrit


PD =  (103)
 1 , DAcc ⋅ E n > DCrit

In most cases, DCrit should be less than DAcc to allow amorphization for high implantation
doses.

156 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

1.0
Damage Probability PD

DCrit
0.5
DAcc=0.8

DAcc=0.5

0.0
Vacancy Concentration

Figure 32 Onset of amorphization after reaching DCrit for two values of DAcc

Saturation at Critical Value


pdbSet Ctrim DamageAccumulation Saturation

According to this model, below a threshold value DCrit, the damage probability PD has the
same linear behavior as in the ‘full’ model, but cannot grow above DCrit:

 DAcc ⋅ E n , DAcc ⋅ E n ≤ DCrit


PD =  (104)
 DCrit , DAcc ⋅ E n > DCrit

For both models, the values of the parameters DAcc and DCrit depend mainly on the atomic
number of the implanted ion.

Table 9 lists values for some species. The automatic calibration for these values can be
switched off using AutoDAcc and AutoDCrit.

Table 9 Values for DAcc and DCrit for most important species
BF2 As, Ga, Ge In, Sb, Sn B, C, N Al, P, Si

DAcc 0.15 0.3 0.3 0.1 0.2

DCrit 0.02 0.05 0.05 0.99 0.1

Internal Storage Grid for Implantation Damage

By default, Crystal-TRIM stores the accumulated damage at the mesh. This makes the damage
accumulation dependent on the mesh and can lead to errors if the mesh is too coarse. Typically,
the amorphous boundary depends nonlocally on the mesh size closer to the surface of the
structure.

Sentaurus Process User Guide 157


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

An internal grid can be used to accumulate and store as-implanted damage. This can be
switched on by using:
pdbSet Ctrim UseInternalGrid 1

This allows for a mesh-independent storage of the damage information. You can control the
grid spacing by using:
pdbSet Ctrim InternalGridSpacing <n>

In each grid cell, the accumulated as-implanted damage and the amorphization flag are stored.
During postprocessing, the accumulated as-implanted damage is transferred (interpolated)
from the internal grid to Sentaurus Process elements and then to Sentaurus Process nodes.

If two or more Crystal-TRIM steps directly follow each other, you can choose to leave the as-
implanted damage stored on the internal grid instead of transferring it to the mesh. The switch
[Link] must be used within the implant command:
implant As crystaltrim [Link]

The default is ![Link].

NOTE If [Link] is used, the Sentaurus Process Damage dataset


will not be incremented in the postprocessing. If the subsequent
processing step is not a Crystal-TRIM implantation, the damage
information will be lost.

To access the damage information, which was stored on the internal grid during the previous
Crystal-TRIM implantation, the switch [Link] (default is ![Link])
must be used within the implant command: An example is:
# first step
# no damage post-processing, keep damage on internal grid for the following
# steps
implant As crystaltrim [Link]
# second step
# use pre-damage on igrid from the previous step
# no damage post-processing: one more step follows
implant B crystaltrim [Link] [Link]
# third step
# use pre-damage on igrid
implant P crystaltrim [Link]

NOTE It is not possible to save the information from the internal grid to a file
using the struct command after the current Crystal-TRIM step.

158 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Molecular Implantations
The MC method allows for the implantation of molecular ions or atomic cluster species such
as BF2. The assumption is that the molecule immediately breaks up into its constituents upon
impact on a solid surface.
+
BF2

Target Surface

F (w=2)

B (w=1)

Figure 33 Schematic of molecular implantation of BF2; one trajectory is calculated


for each atomic species, w is the weight assigned to the species

This is a valid approximation if the binding energy of the molecule is considerably smaller than
the implant energy (for example, for BF2: EB ~ 9 eV).

The implant energy is shared by several atoms according to:


Mi
E i = energy ⋅ ------------------- (105)
 wj Mj
j

where E i is the energy of the i -th species, M i is the atomic mass, and w j is the statistical
weight according to the stoichiometry of the molecule.

The constituents move as separate particles. However, particles of different species are not
completely independent because of the interaction through the implantation damage.

Sentaurus Process supports several molecular species: BF2 (BF2), BCl2 (BCl2), B18H22
(B18H22), AsH2 (AsH2), and PH2 (PH2). An implantation of B18H22, for example, can be
performed with:
implant B18H22 energy=100 [ctrim | tmc]

Sentaurus Process User Guide 159


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

The atomic masses, statistical weights, and the molecular composition are available in the
parameter database. A full molecular implantation is performed if the keyword
[Link] is explicitly set, that is:
implant <dopant> [ctrim | tmc] [Link]

In this case, the trajectories for all atomic species are calculated. At the end of the simulation,
datasets for each ballistic constituent of the original molecule are generated. This is the default.
Only the trajectory of the significant species (B in the case of BF2) is calculated
if ![Link] is chosen.

NOTE This feature is available to both Sentaurus MC and Crystal-TRIM.

MC Implantation into Polysilicon


Polysilicon has three states of crystallinity:
■ Amorphous
■ Crystalline
■ Polycrystalline

By default polysilicon is considered amorphous and can be treated as a single-crystalline or


polycrystalline material by using:
pdbSet PolySilicon Crystallinity Crystalline
pdbSet PolySilicon Crystallinity Polycrystalline

Crystal orientation (one of 100, 110, and 111) can be specified using the material-specific pdb
command:
pdbSet PolySilicon CrystalOrient 110

This command sets the crystal orientation for all polysilicon regions to <110>.

If the crystallinity is set to Polycrystalline, MC implantation checks for the existence of


the GSize dataset or GrainSize parameter. If neither is found, the grain model is disabled,
–5
and the material is assumed to be single crystalline. The default grain size is 5 × 10 [cm],
and can be changed with the command:
pdbSet PolySilicon GrainSize <n>

or by initializing the GSize dataset:


select z=<n> name=GSize

The units for both GrainSize and GSize are centimeters.

160 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

The grain size also can be scaled with the GrainFactor parameter:
pdbSet PolySilicon GrainFactor <n>

The default GrainFactor is 1.

The polycrystalline model works by frequently switching between the crystal algorithm and
the amorphous algorithm. The probability of switching from the crystal model to the
amorphous model is determined by the accumulative path length in crystal (pathlength) and
polycrystalline grain size (GrainSize). It switches from the crystal model to the amorphous
model if:
pathlength > R rand ⋅ ( GrainFactor ⋅ GrainSize ) (106)

where R rand is a random number between 0 and 1. The polycrystalline model shares the same
random number sequence with other modules in MC implantation. Therefore, if the random
seed is reset, the random numbers used in the polycrystalline model are changed as well.

After an amorphous collision is processed, the pathlength is reset to zero, and the crystal
model is selected. The pathlength is accumulated again. The model used for the next
collision is again determined by the same rules. This process is repeated until the particle exits
the polycrystalline region.

NOTE This feature is available to both Sentaurus MC and Crystal-TRIM.

MC Implantation into Compound Materials with Molar


Fractions
A compound material with a spatially dependent molar fraction can be defined in the PDB. For
example, for single-crystalline silicon, the following PDB entry:
array set $Base {BinaryCompounds {String {
{ SiliconGermanium GeTotal "GeTotal/[pdbGetDouble Si LatticeDensity]" }
}}}

specifies a binary compound Si1–xGex with the mole fraction of Ge calculated from the
germanium concentration (GeTotal) divided by the silicon lattice density. This is the default
setting for SiliconGermanium in the PDB. MC models support implants into these
compound materials (binary, ternary, and quaternary).

Compound materials are detected automatically by using CompoundNumber,


BinaryCompound, TernaryCompound, QuaternaryCoumpound in the PDB. Due to more
computational demands, a minimum concentration is required to trigger MC implantation

Sentaurus Process User Guide 161


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

models to treat this material in a more sophisticated way. To specify this minimum
concentration, for example, use:
pdbSet Silicon [Link] 1e20

If the concentration of GeTotal in any mesh node of silicon regions is greater than or equal to
20 –3
1 × 10 cm , MC implantation model treats this material as a binary compound
SiliconGermanium. In this case, the average charge and mass of the material are calculated
individually for each mesh element. Lattice constant, nonlocal electron stopping power, and
Debye temperatures are interpolated linearly based on the mole fractions. The lattice is
constructed with the primary material, and each lattice site is assigned to a type of atom with
probability proportional to their mole fractions.

Sentaurus MC considers the fact that each specific lattice site will be occupied with certain
types of atoms only. Therefore, the substitution of the lattice atoms occurs only for those with
the same Group number. The default group number for each type of atom is the same as that
in the periodic table. To change the group number, for example, use:
pdbSet ImplantData Carbon Group 4

For example, in compound material Si1–x–yGexCy, Ge and C have the same group number (IV)
as Si, so both of them can substitute silicon atoms in its lattice sites.

Another example is InxGa1–xAs1-yPy; In and Ga belong to the same group (III), and As and P
belong to the same group (V). Suppose Ga occupies site 0, and As site 1 in zinc-blende
structures, then In can only occupy site 0, and P site can only occupy 1 with the occupation
probabilities proportional to their mole fractions.

NOTE Although this feature is available to both Sentaurus MC and Crystal-


TRIM, you are strongly encouraged to use Sentaurus MC implant for
better results.

MC Implantation into Silicon Carbide


Sentaurus MC supports ion implantation into crystalline silicon carbide (SiliconCarbide)
with hexagonal lattice. The hexagonal system has four crystallographic axes: three a -axes
( a1 , a2 , a3 ) forming a plane, and a c -axis that is normal to the plane. The crystallographic
planes and directions normally are described with four Miller indices (hkil). For the hexagonal
system, since the sum of the first three indices is zero, the third index sometimes can be
omitted.

Silicon carbide exists in many different crystal structures, called polytypes. All polytypes have
a hexagonal frame with a carbon atom situated above the center of a triangle of Si atoms and
underneath a Si atom belonging to the next layer. The difference among the polytypes is the

162 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

stacking sequence between the succeeding double layers of carbon and silicon atoms. For
example, 2H-SiC, 4H-SiC, and 6H-SiC have the AB, ABCB, and ABCACB stacking
sequences, respectively. 3C-SiC has an ABC stacking sequence and is the only form of SiC
with a zinc-blende crystal lattice structure. The default polytype for SiC is 4H. To change to a
different polytype, use the following command:
pdbSet SiliconCarbide Polytype {2H 3C 4H 6H}

NOTE The lattice constants may be different for different polytypes. For
convenience, Tcl procedures (set2H-SiC, set3C-SiC, set4H-SiC,
and set6H-SiC) are provided to set to different SiC polytypes.

Two silicon carbide wafer orientations (<0001> and <11-20>) are supported. To specify these
wafer orientations, use the pdb command:
pdbSet SiliconCarbide CrystalOrient {0001 1120}

The default wafer orientation is <0001>. For (0001) SiC wafer; the primary flat orientation is
<10-10>. For (11-20) SiC wafer, the primary flat orientation is <0001>.

For details of the model and comparison with experimental data for various implant conditions,
see [24].

A miscut of 3.5° – 8.5° typically exists in SiC (1000) wafers. Sentaurus MC implantation takes
into account this wafer miscut by specifying [Link] and [Link] in the init
command. [Link] is the angle by which the wafer normal is tilted with respect to the
a-axis in the crystal coordinate system. [Link] is the angle that specifies the
direction into which the wafer normal is tilted. The default value of [Link] is 0,
that is, the projection of the wafer normal to the crystal plane, formed by the b-axis and c-axis,
is coincidental to the <110> direction in silicon. If [Link]=90, the wafer normal is
tilted by [Link] towards the right with respect to the crystal coordinate system. (Or, in
terms of the simulation coordinate system, if [Link]=90, the crystal coordinate
system is tilted towards the left with respect to the wafer normal.) By default, there is no wafer
miscut, that is, [Link]=0.

Here is a simple example illustrating how to perform an MC implantation in SiC:


# Set up the structure
line x loc=0.0 tag=oxtop spac=0.001
line x loc=0.0015 tag=top spac=0.001
line x loc=0.5 spac=0.0025
line x loc=2.0 tag=bot spac=0.01
region Oxide xlo=oxtop xhi=top
region SiliconCarbide xlo=top xhi=bot
# Specify wafer miscut
init [Link]=4 [Link]=0

Sentaurus Process User Guide 163


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

# Choose different polytype (default is 4H-SiC)


set6H-SiC
# Do the implantation
implant Aluminum energy=60 dose=1e13 tilt=0 rot=0 [Link] \
particles=10000 info=2
# Save the result
struct tdr=sic

NOTE This feature is available to Sentaurus MC only.

Recoil Implantation
Sentaurus MC implantation provides a general model for recoil implant, such as an oxygen
knock-on effect. Generally, recoil species are handled the same way as cascade atoms, except
that no vacancies are created at the displaced sites and the recoil species are not recorded as
interstitials when they stop. Instead, a separate dataset is created for each recoil species.

The recoil species is specified in the material composition. For example, to simulate the oxygen
knock-on effect, the following is defined in the parameter database:
Oxide -> Composition -> Component0 -> Name = Silicon
Oxide -> Composition -> Component0 -> StWeight = 1
Oxide -> Composition -> Component1 -> Name = Oxygen
Oxide -> Composition -> Component1 -> StWeight = 2
Oxide -> Composition -> Component1 -> Recoil = 1

To initiate oxygen recoil implant simulation, you must specify the keyword recoils in the
implant command:
implant <dopant> energy=<n> dose=<n> recoils

The datasets Oxygen_Implant and Oxygen are created, which contain displaced oxygen
distributions that can be used to analyze the oxygen knock-on effect.

NOTE This feature is available to Sentaurus MC implantation only.

Plasma Implantation
Three-dimensional tri-gate devices (FinFETs) have been employed at the 22 nm node and are
expected to continue at and beyond the 16 nm node. Doping of FinFETs must be 3D, and
conformal doping with plasma implantation (PLAD) is a promising approach. Likewise,

164 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

doping of planar devices is challenging, and PLAD offers capabilities not available in beamline
implantations.

To offer this simulation capability, Sentaurus Process provides a PLAD doping module that
accurately reflects both the hardware and process signatures as well as the physical properties
of the associated deposition, etching, sputtering, implantation, knock-on, defect creation, and
annihilation processes. This MC implantation module includes the following features:
■ Perform alternating steps of deposition and MC implantation. The number of steps can be
specified by users.
■ Deposition of material on the surface is performed isotropically (that is, constant growth
rate over the surface). The thickness is specified by users. A minimum thickness is imposed
by the program, which reduces the number of steps if necessary to prevent the deposition
of a layer that is too thin. The deposit material should be defined as usual, and material
composition of the layer must be specified by users.
■ The MC implantation module allows the specification of multiple ions incidents on the
wafer. The ion species should be defined before implantation as usual, and some typical ion
species used in plasma implantation will be predefined. You can specify the dose, energy
distribution, and angular distribution of each ion species. The dose for each ion is applied
evenly for each step.
■ An empirical model for conformal doping, in which the level of conformity can be
specified by users.
■ In addition to computing the concentration of ions that penetrate through the deposited
overlayer, the MC implantation module allow for atoms to be knocked out of the overlayer
and into the wafer and tracks damage and amorphization as usual.

You must define the plasma source before implantation can be performed. To avoid overly
complex syntax in the implant command, Sentaurus Process provides two ways to specify the
plasma source: simple source and complex source.

Simple Source

Assuming that the multiple ion species in plasma have the same energy and angle distributions,
simply specify the multiple species as a list in the implant command (other parameters such
as dose, energy, tilt, and so on can be specified like a regular implantation):
[Link] = {<species1>=<n> <species2>=<n> <species3>=<n> ...}

where:
■ [Link] specifies a list of ion species to be implanted. These species must be
predefined in ImplantData as usual.
■ The number after each species is the fraction of the total dose (as specified by the dose
parameter) for the given species.

Sentaurus Process User Guide 165


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

■ All these species will have the same energy, tilt, [Link], and [Link] as
specified.

Complex Source

In more complex cases, different species may have different energy and angle distributions. In
this case, each species can be specified with their own implantation parameters (energy,
tilt, [Link], and [Link]). So for each species, define it with an implant
command:
implant species=<species1> energy=<n> tilt=<n> [Link]=<n> [Link]=<n>
implant species=<species2> energy=<n> tilt=<n> [Link]=<n> [Link]=<n>
implant species=<species3> energy=<n> tilt=<n> [Link]=<n> [Link]=<n>
...

where <species1>, <species2>, <species3> must be predefined in ImplantData as


usual. Only parameters that are different from the default values must be specified.

Then, you can perform the real implantation in the same way as in the simple source case:
implant [Link]= {<species1>=<n> <species2>=<n> ...} dose=<n> energy=<n>
tilt=<n> [Link]=<n> [Link]=<n> ...

where:
■ [Link] specifies a list of ion species to be implanted. These species must be the
same as those in previous implant commands.
■ The regular implantation parameters (dose, energy, and so on) will be the default for
those species that are not specified. Essentially, this syntax is consistent with that for the
simple source and reduces to the simple source if no implantation parameters are specified
for each individual species.

Deposition of Material

To specify the deposition of the material during implantation, use the [Link]
parameter in the implant command:
implant [Link]= {<species1>=<n> <species2>=<n> ...}
[Link]= {material=<c> thickness=<n> steps=<n>}
dose=<n> energy=<n> tilt=<n> ...

where:
■ material is the name of the material to be deposited, which must be specified before the
implantation.
■ thickness is the total thickness of the deposit material.

166 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

■ steps is the number of steps of deposition.

The deposition and implantation are performed alternatively. If [Link] is not


specified, or material is not specified, or thickness is not specified (or is equal to zero),
no deposition is performed.

Knock-on and Knock-off Effect

The MC implantation module simulates the dopant knock-on and knock-off effect by
specifying the recoils parameters in the implant command. In addition, you must specify
the recoil species to be simulated in material composition.

For example, assuming the deposit material is BHx, and Atom0 is Boron, the following
commands specify Boron as a recoil species:
pdbSetString BHx Composition Atom0 Name Boron
pdbSetDouble BHx Composition Atom0 StWeight 1
pdbSetBoolean BHx Composition Atom0 Recoil 1
pdbSetString BHx Composition Atom1 Name Hydrogen
pdbSetDouble BHx Composition Atom1 StWeight <x>

Conformal Doping

Conformal doping is an important characteristic in plasma implantation. However, due to the


complexity of plasma dynamics that involves manybody long-range interactions, the exact
mechanism for conformal doping in plasma implantation is still not well understood.
Physically, this may be possible if one of the following mechanisms or their combination
occurs, for example, in a trench:
■ The ions become ionized anywhere in the ambient (including inside the trenches) and start
their acceleration towards the silicon surface.
■ The ions scatter off other particles in the plasma/ambient (including inside the trenches)
and change their direction.

To account for such effects, an empirical model has been developed that is compatible with the
current plasma implantation. In this model, instead of launching all ions from above the device,
as in standard implantation, some ions are launched along the device surface (that is, the solid–
ambient interface). A fraction of ions launched along the surface can be specified by the
parameter conformity in the implant command:
implant <dopant> energy=<n> dose=<n> conformity=<n> [Link]

where conformity is a number between 0 and 1.0. For example, if conformity=0, you will
obtain standard plasma implantation results, and if conformity=1, you will obtain fully
conformal doping.

Sentaurus Process User Guide 167


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Other Plasma Implantation–related Parameters and Procedures

Sentaurus Process provides a simple model for taking into account the energy and tilt angle
distributions of the plasma source. Given the mean and standard deviation of the implantation
energy and tilt angles, Sentaurus MC implantation samples the given energy and tilt
distributions for each implantation particle. When the implantation energy and tilt angle are
determined, the particle tracing proceeds in a typical fashion.

In addition to the normal implantation parameters, such as energy and tilt, you can specify the
standard deviation of implantation energy ([Link]) or the standard deviation of the tilt
angle ([Link]) or both. For example:
implant <dopant> plasma dose=<n> energy=<n> [Link]=<n> tilt=<n>
[Link]=<n> [Link]

where the implantation parameters energy and tilt are the mean energy and mean tilt,
respectively.

You also can specify the minimum energy that is allowed for implantation using the command:
pdbSet MCImplant MinEnergyCutoff <n>

Energy below the minimum energy will be truncated. The default minimum energy is zero. In
addition, you can specify the maximum energy that is allowed by using the command:
pdbSet MCImplant MaxNumStdevCutoff <n>

MaxNumStdevCutoff must be an integer (default is 5). The highest energy for a given implant
should not exceed the mean energy by the amount of [Link] x MaxNumStdevCutoff.
Energy higher than this number will be truncated.

The energetic distribution of different molecular and atomic ions, after extraction from the
plasma, is known to cover the range from zero to the maximum energy E max , which is equal
to the product of the ion charge multiplied by the extraction voltage. Sentaurus Process allows
easy selection and addition of various energy distribution models. In addition to the default
Gaussian distribution, Sentaurus Process implements an alternative Burenkov model [25]. In
this model, the energy distribution, as presented by Tian et al. [26] as an integral number of
particles having their energy in a given interval, can be written in a differential form as
follows [25]:

f ( E ) = ------------------- ⋅  -----------
5 E –1 / 6
(107)
6 ⋅ E max  E max

The energy distribution f ( E ) presented in Eq. 107 is normalized, that is, the integral over all
possible energies of the extracted ions, ranging from 0 to E max , is equal to one. Burenkov et

168 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

al. have shown that by using the energy distribution given by Eq. 107, excellent agreement can
be obtained between simulations and experiments for BF3 plasma implantation [25].

To select a different energy distribution model, use the command:


pdbSet MCImplant PlasmaEnergyDistributionModel {Gaussian | Burenkov}

To provide maximum flexibility for energy and tilt angle distributions, you also can provide
your own distributions by modifying the following Tcl procedures in [Link]:
Plasma::Energy_Distribution { energy stdev }
Plasma::Tilt_Distribution { mean stdev }

NOTE Sentaurus Process does not check the validity of these user-defined
distributions. If you change these distributions, you must provide the
correct distributions to ensure the correct implantation results.

NOTE This feature is available to Sentaurus MC implantation only.

MC Implantation Damage and Point-Defect Calculation

Sentaurus MC Damage Calculation

The damage in a Sentaurus MC implantation is computed either using the Kinchin–Pease


formula [22] (default) or with full cascades if the cascades parameter is specified in the
implant command. See Damage Accumulation and Dynamic Annealing on page 147 for
details on damage calculations. The calculation of the damage datasets for Sentaurus MC is
consistent with the analytic implantation model. At the end of an implantation step, the damage
for this step is added to the Damage profile using MCDFactor:
Damage += MCDFactor ⋅ Damage_LastImp (108)

The default value for MCDFactor is 1 and can be changed in the parameter database or at the
implant command line:
pdbSetDouble <material> <dopant> MCDFactor <n>
implant <dopant> [tmc] [[Link]=<n>]

The accumulated damage is taken into account automatically for subsequent MC


implantations, unless the Damage dataset is reset by the diffuse command.

Sentaurus Process User Guide 169


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Crystal-TRIM: Damage Probability

Defect accumulation in single-crystalline material and de-channeling due to the implantation


damage are treated dynamically using a phenomenological model [22]. The model is based on
the assumption of the formation of complex defects, such as amorphous pockets (APs) during
ion implantation.

The damage information calculated during Crystal-TRIM simulations is stored in the damage
probability dataset PD. This information is used in the model of APs to treat the nuclear
collisions in the partially damaged crystalline region. Within a certain volume element, PD
gives the probability that the collision can be treated as if the material were amorphous. The
material is locally considered to be completely amorphized if PD = 1.

The PD dataset is not deleted after an implant step and, consequently, can be reused in
subsequent Crystal-TRIM runs (damage history).

If the PD dataset has been deleted or has not yet been created, the Damage dataset is used to
initialize the damage history in all crystalline materials:
PD = Damage / Threshold, max(PD) = 1 (109)

where Threshold is the amorphous threshold, which is the minimum of the lattice density and
amorphous density. Both parameters can be set in the parameter database:
pdbSet <material> LatticeDensity <n>
pdbSet <material> AmorpDensity <n>

At the end of the simulation, the Damage dataset is increased according to:
Damage = Damage + PD_LastImp ⋅ Threshold (110)

Point Defects

Elemental Material

Point-defect profiles after a MC run can be generated from the ballistic dopant profile using the
[Link] or [Link].n model, or from the ballistic vacancy (Frenkel pair) and
recoil profiles using the [Link] model. The [Link].n model is the
default for all MC simulations. In this case, the ballistic dopant profile <dopant>_LastImp
is used according to Eq. 49, p. 116.

Interstitial and vacancy profiles can also be calculated using the ballistic vacancy dataset
Vac_LastImp generated during a MC run. The switch [Link] must be set to
[Link]:
implant <dopant> [crystaltrim | [Link]] [[Link]=[Link]]

170 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Using the MC-specific factors MCIFactor and MCVFactor, the profiles are calculated
according to:
Int_Implant += MCIFactor ⋅ Vac_LastImp + IFactor ⋅ <dopant>_LastImp
(111)
Vac_Implant += MCVFactor ⋅ Vac_LastImp

The default values for MCIFactor, MCVFactor, and IFactor are 1. These factors can be
changed in the parameter database:
pdbSet <material> <dopant> IFactor <n>
pdbSet <material> <dopant> MCIFactor <n>
pdbSet <material> <dopant> MCVFactor <n>

or on the command line:


implant <dopant> [crystaltrim | [Link]] [ifactor=<n>] [[Link]=<n>]
[[Link]=<n>]

Setting ifactor, [Link], and [Link] in the implant command overwrites the
parameter database entries.

If cascades is enabled in MC implantation and the point-defect model is set to


[Link], the interstitial and vacancy profile is calculated using the concentration of the
recoil and vacancy as calculated based on the physics model:
implant <dopant> [crystaltrim | [Link]] [cascades] \
[[Link]=[Link]]

In this case, the interstitial and vacancy densities increase according to the following:

Int_Implant += <recoil>_LastImp + <dopant>_LastImp (112)


Vac_Implant += <vacancy>_LastImp

Multicomponent Materials

In multicomponent materials, such as silicon carbide (SiC), the material is composed of


different types of atom. When an impurity is implanted into SiC, both silicon and carbon lattice
atoms can be displaced, thereby forming silicon interstitials or carbon interstitials, and leaving
behind silicon-site or carbon-site vacancies. Instead of classifying them together as interstitials
or vacancies, as in silicon, Sentaurus Process provides a mechanism to distinguish different
types of interstitial or vacancy.

To generate distinct types of point defect in multiple-component materials, you must switch on
the DistinctDefects flag, for example:
pdbSetBoolean SiliconCarbide DistinctDefects 1

Sentaurus Process User Guide 171


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

By default, this flag is true for SiC but false for other materials. As a result, instead of
Int_Implant and Vac_Implant, the generated point-defect datasets in SiC are
IntSilicon_Implant, IntCarbon_Implant, VacSilicon_Implant, and
VacCarbon_Implant.

In this model, the total point-defect concentration is computed the same way as the elemental
material. The implantation parameters [Link], ifactor, vfactor, [Link],
and [Link] in the implant command still work. ifactor and vfactor are scaling
factors for interstitial profiles and vacancy profiles, respectively, in the [Link] defect
model; while [Link] and [Link] are scaling factors for interstitial profiles and
vacancy profiles, respectively, in the [Link] defect model. The same Tcl procedure
CalcPlusNFactor calculates automatically the plus factors for the [Link].n
defect model.

Then, the individual point-defect concentration is computed by multiplying the total point-
defect concentration by the fraction of each component. The fraction of each component is, by
default, their stoichiometric weight, but it can be changed in the parameter database with the
parameters [Link] and [Link].

For example, in SiC:


pdbSet SiC Composition Component0 [Link] <n>
pdbSet SiC Composition Component1 [Link] <n>
pdbSet SiC Composition Component0 [Link] <n>
pdbSet SiC Composition Component1 [Link] <n>

If cascades is enabled in MC implantation and the point-defect model is set to


[Link], the interstitial and vacancy profile is calculated using the concentration of the
recoils and vacancies as calculated based on the physical model.

In this case, the interstitial and vacancy densities increase according to the following:

Int<component>_Implant += <component>_LastImp + [Link] ⋅ <dopant>_LastImp


Vac<component>_Implant += <vacancy-component>_LastImp
(113)

Statistical Enhancement
The energetic pseudoparticles in a MC simulation are statistical objects representing several
actual particles or only a fraction of an actual particle. Pseudoparticles start their motion at a
plane above the target parallel to the wafer surface. The starting surface is subdivided into
segments of equal size. The size of these segments can be controlled by setting dy and dz in
the MCImplant -> Intervals entry in the parameter database.

172 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

The number of pseudoparticles can be set by using:


pdbSet MCImplant Particles <n>

or:
implant <dopant> [crystaltrim | [Link]] [particles=<n>]

The default value for particles is 1000. The random number generator can be started with
a specified random seed. The integer value used can be set with the parameter RandomSeed:
pdbSet MCImplant RandomSeed <n>

The default is 1. Random seeds also can be chosen randomly by using the internal clock,
thereby giving different results for different runs. This feature is useful for statistical analysis
for MC implantations. To use this feature, use the following command:
pdbSet MCImplant Randomize 1

Trajectory Splitting

Trajectory splitting artificially increases the number of trajectories calculated in regions with
low trajectory density. It can be switched on or off by using:
pdbSet MCImplant TrajectorySplitting 1

If a projectile reaches an element with a small trajectory density, a split point is set, that is, the
particle is replaced by two daughter particles having half the statistical weight of the mother
projectile. Then, the trajectories of both daughter particles are simulated in the same manner
as for the original particle. Further splitting may occur that leads to a splitting tree related to
the mother projectile. At a split point, the two daughter projectiles start under identical
conditions.

However, the consideration of thermal vibrations of target atoms leads to a deviation of the
trajectories of the daughter projectiles after a few collisions. In this manner, a high number of
different particle trajectories with low statistical weight is obtained, which leads to an
important decrease of the statistical noise in the tail parts of the dopant distribution.

In Sentaurus MC, the maximum depth of the splitting tree is defined by a global parameter
MaxSplitLevels:
pdbSet MCImplant MaxSplitLevels <n>

In Crystal-TRIM, a similar parameter is defined for each species. For a given ion species, the
maximum depth of the splitting tree is defined by the parameter MaxSplits:
pdbSet <material> <dopant> MaxSplits <n>
pdbSet <material> <dopant> MaxSplitsPerElement <n>

Sentaurus Process User Guide 173


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

The parameter MaxSplitsPerElement defines the maximum number of split events within
one element.

NOTE The trajectory splitting model is available to both Sentaurus MC and


Crystal-TRIM.

Dose Split

In the conventional pseudoparticle Monte Carlo approach, all particles have the same
weighting. In contrast, dose split algorithm uses smart particle weighting with first-coming
ions weighing less than later ions. This prevents crystalline from amorphizing too quickly,
thereby allowing more ions to enter the channeling regions. This model can drastically reduce
the noises of the channeling tails. By default, dose split is switched off. To activate the model,
use the command:
pdbSet MCImplant DoseSplit 1

The dose split model is especially effective for high-dose amorphizing implants, such as
15 –2
arsenic implant with a dose of 8 ×10 cm . For a typical run, the CPU time is about 2 to 3
times slower than that without dose split for the same number of particles. However, dose split
improves the statistics in the channeling tails by at least two orders of magnitude.

To achieve the same statistical significance, the conventional approach requires at least 100
times more particles; this means that the effective speedup is about 30 to 50 times.

NOTE The dose split model is available to Sentaurus MC only.

Trajectory Replication

The trajectory replication algorithm uses the fact that in almost all 2D or 3D target structures,
several regions with 1D topology can be found. A particle trajectory going through such a part
can be copied many times by shifting its origin. Within the 1D region, each shifted trajectory
is a valid particle trajectory. Its reproduction by copying is much faster than its physical
calculation.

The subdivision into 1D parts or equivalence classes is performed automatically during the
implantation. A subdivision is performed using the segments of the start surface. At the
beginning, all the start segments are in the same equivalence class.

First, the whole trajectory tree is calculated including splits and recoils. The increments of all
concentration-type values between entering and leaving a grid element are stored for each
trajectory point (at least one per grid element). A start segment is chosen from the same
equivalence class. The starting point of the copy trajectory is set randomly within this start
segment. The point where the copied trajectory enters the material is found in the same way as

174 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

for the original trajectory. The vector between the first material point of the master and the
copied trajectory serves as a shift vector. All the increments of the master trajectory are
transferred point by point into grid elements that correspond to the shifted points.
–4
If the materials are not identical within geometry tolerance ( 1.5 ×10 μm ), or the initial
damage is different by more than 1% at the master and the replica points, replication fails and
the start segment is taken out of the present equivalence class and placed into a new equivalence
class. The generation of new equivalence classes stops after a certain number of particles has
been implanted. These initial particles are called probing ions.

Due to the random nature of ion trajectories, for the same structure, the equivalent classes as
discovered by the probing ions could be slightly different depending on the random seeds,
implanted species, or the number of probing ions.

The number of probing ions is empirically set to the total number of start segments. However,
depending on the situation, this number may be too small for 2D simulations; whereas, it may
be too large for 3D simulations. You can control this number by using the command:
pdbSet MCImplant ReplicationLearningFactor <n>

After this command, the new number of probing ions will be equal to the original number of
probing ions multiplied by ReplicationLearningFactor. Generally, the more probing
ions, the more equivalent classes will be created for a given structure. More equivalent classes
will reduce the ratio of the replicated trajectories to the calculated trajectories, thereby
providing more accurate results at the expense of more CPU time.

The total number of implanted particles is given as the number of start segments multiplied by
the number of particles per segment, which can be set by using the parameter particles. Due
to the replication, the number of physically calculated trajectories is usually much smaller and
is given rather by the number of equivalence classes multiplied by particles.

The trajectory replication algorithm is based on the heuristic argument that the 1D part of the
structure should be equivalent. However, some parts of the 1D region may be close to the
sidewalls. Therefore, the dopant concentration is contributed to not only from the direct
exposure to the ion beam, but also from the particles scattered from the sidewalls and re-
entering the 1D region. In such situations (such as high-energy implant into a photoresist mask
or pocket implants), trajectory replication may not give accurate results near the sidewalls. In
addition, for high tilt pocket implants, saving CPU time by trajectory replication is limited.
Therefore, under such circumstances, you should switch off the trajectory replication.

NOTE Trajectory replication is switched on by default. To switch off trajectory


replication, use the global switch:
pdbSet MCImplant TrajectoryReplication 0

NOTE This feature is available in both Sentaurus MC and Crystal-TRIM.

Sentaurus Process User Guide 175


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

Boundary Conditions and Domain Extension


Boundary conditions determine how particles leaving the simulation domain at its outer
boundaries will be processed. It is assumed that the simulation domain is rectangular if viewed
from the top and is contained between:

LeftBoundary and RightBoundary (y-direction)

and:

BackBoundary and FrontBoundary (z-direction)

Transparent Boundary
pdbSet MCImplant LeftBoundary Transparent
pdbSet MCImplant RightBoundary Transparent
pdbSet MCImplant BackBoundary Transparent
pdbSet MCImplant FrontBoundary Transparent

All particles crossing the boundary leave the simulation domain and are lost.

Periodic Structure
pdbSet MCImplant BoundaryPeriodicY 1

This switches periodicity in the left-right direction. Correspondingly, for the back-front
direction:
pdbSet MCImplant BoundaryPeriodicZ 1

All particles leaving the material will re-enter the material at the opposite side.

Reflective Boundary
pdbSet MCImplant LeftBoundary Reflect
pdbSet MCImplant RightBoundary Reflect
pdbSet MCImplant BackBoundary Reflect
pdbSet MCImplant FrontBoundary Reflect

A particle hitting the boundary will have its position and direction of motion reflected with
respect to the boundary plane.

176 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

TrueReflect Boundary Condition

Instead of reflecting the direction of the moving particles at the boundary, Sentaurus Process
provides a new boundary condition TrueReflect, which automatically reflects the structure,
performs the implantation, and then cuts the structure to its original domain. To specify the
TrueReflect boundary condition, use the following commands:
pdbSet MCImplant LeftBoundary TrueReflect
pdbSet MCImplant RightBoundary TrueReflect
pdbSet MCImplant FrontBoundary TrueReflect
pdbSet MCImplant BackBoundary TrueReflect

NOTE Generally, reflective boundary conditions (including both Reflect and


TrueReflect) can be used only if there are the same reflect-symmetric
ion beams, such as tilt=0 (or projected tilt2D=0 in 2D), or
approximately, multiple rotation implantations. To improve
performance, the averaging of the simulation results (including dopant
and damage fields) over the original and reflected domains can be
performed. If tilt (or tilt2D) < 2° , Sentaurus Process automatically
averages the simulation results. In the case of [Link] implantations
(or a sequence of multiple implant commands consisting of
[Link] implantation), no automatically averaging is performed.
However, you can specify average in the implant command to do the
averaging. To overwrite such default behaviors, specify average or
!average in the implant command.

NOTE In cases where average is applied successfully, TrueReflect


generally achieves more accurate results than Reflect without the
significant performance penalty.

Extending the Simulation Domain


pdbSet MCImplant LeftBoundary Extend
pdbSet MCImplant RightBoundary Extend
pdbSet MCImplant BackBoundary Extend
pdbSet MCImplant FrontBoundary Extend

The simulation domain is artificially extended in the corresponding direction. This


compensates for the decay of the profile at the sides of the domain. Sentaurus Process
determines these extension lengths automatically by using tilt, rotation, and
[Link], and the user-defined parameters MinExtension and ExtensionLength:

Ext Length = MinExtension + ExtensionLength ⋅ f ( tilt, rotation, [Link] ) (114)

where the function f is between 0 and 1. If tilt equals 0, f equals 0. Therefore, for tilt
equals 0, extension length equals MinExtension. The default value for MinExtension is

Sentaurus Process User Guide 177


H-2013.03
3: Ion Implantation
Monte Carlo Implantation

0.1 μm , which is usually sufficient for low-energy implants. For high-energy implants, you
may need to increase MinExtension to avoid decaying concentration at the boundaries.

You can control the size of the extension by using:


pdbSet MCImplant ExtensionLength <n>
pdbSet MCImplant MinExtension <n>

NOTE For given boundary conditions other than Transparent, it is important


that the boundaries, which are lines in 2D and planes in 3D, are
continuous, that is, they should show no holes. The crossing of a particle
can only be registered if it happens within the material region. The
particle will finally leave the structure if it crosses the side while in a gas
region.

Datasets
The datasets used in a MC run follow the same naming conventions as those used in analytic
implantation. Datasets unique to the MC implantation method are:
■ The ballistic vacancy density Vac_LastImp.
■ The damage probability PD, which is used to store and initialize damage history in
Crystal-TRIM.
■ The nuclear energy deposition EnergyDeposition, which is created in Sentaurus MC
implantation.

Table 10 Datasets used in MC implantations


Dataset Description
3
EnergyDeposition Accumulated energy deposition (in units of eV/cm ) from nuclear collisions.
This dataset is created in Sentaurus MC implant only.

Damage Accumulative damage (damage history). This dataset is deleted by the


diffuse command. For Sentaurus MC, at the end of an implant step, the
Damage_LastImp concentration is added to Damage, similar to analytic
implantation. For Crystal-TRIM, damage is generated using the PD dataset after
an implant step.

Damage_LastImp Damage created during the last implant step. This dataset is used by
Sentaurus MC only.

<dopant> Accumulative density of the dopant concentration. At the end of an implant


step, the <dopant>_LastImp concentration is added to <dopant>.

<dopant>_Implant Accumulative density of the dopant concentration. At the end of an implant


step, the <dopant>_LastImp concentration is added to
<dopant>_Implant. This dataset is deleted by the diffuse command.

178 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Smoothing Implantation Profiles

Table 10 Datasets used in MC implantations


Dataset Description

<dopant>_LastImp Ballistic dopant concentration generated during the last implant step. It is
reset at the beginning of each implant step.

Int_Implant Accumulative interstitial profile updated at the end of an implant step.

Int<component>_Implant Accumulative interstitial profiles in multicomponent material with


DistinctDefects set to true, where <component> is the component
of the composition of the material. For example, in SiC, interstitial profiles
include IntSilicon_Implant and IntCarbon_Implant.

PD Damage probability. This dataset is used by Crystal-TRIM only.

Vac_Implant Accumulative vacancy profile updated at the end of an implant step.

Vac_LastImp Ballistic vacancy density generated during the last implant step.

Vac<component>_Implant Accumulative vacancy profiles in multicomponent material with


DistinctDefects set to true, where <component> is the component
of the composition of the material. For example, in SiC, interstitial profiles
include VacSilicon_Implant and VacCarbon_Implant.

Smoothing Implantation Profiles


The implantation profiles as produced by MC simulations are typically noisy, especially in low
concentration regions. This may sometimes cause converging problems or may require a very
small time step in diffusion. To overcome this problem, Sentaurus Process provides a facility
for smoothing the implant profiles.

The smoothing is enabled by using the following simple diffusion equation:

∂C
– ( D ⋅ ∇C ) = 0 (115)
∂t

where:
■ C is the concentration.
■ D is the diffusion coefficient.
■ D ⋅ t is the characteristic diffusing distance.

Sentaurus Process User Guide 179


H-2013.03
3: Ion Implantation
Smoothing Implantation Profiles

Smoothing All As-Implanted Profiles

To smooth all as-implanted profiles, specify the Boolean parameter smooth in the implant
command or, alternatively, use the global switch Smoothing, which can be specified as
follows:
pdbSet MCImplant Smoothing 1

In this case, all as-implanted fields are smoothed including dopant, damage, and point-defect
profiles.

Smoothing Dopant and Damage Fields

For flexibility, Sentaurus Process also provides facilities for smoothing selected fields by using
parameter [Link]=<list of fields>. If this parameter is specified, only the
specified fields are smoothed. The valid fields are <dopant> or Damage. For example, for BF2
implantation, the valid fields are Boron, Fluorine, or Damage. Note that point defects
(interstitial and vacancy) are generally not independent and cannot be specified in
[Link]. In addition, depending on the point-defect model used, the smoothing of
dopant or damage fields also may cause the point defects being smoothed.

You can control smoothing behavior by specifying the parameter


[Link]=<double array>. This list specifies the smoothing distances (diffusing
distance) for each of the fields as specified in [Link]. If this list is missing, the
smoothing distances are retrieved from the PDB:
pdbSetDouble MCImplant Smooth <dopant> [Link] <n>

If no pdb parameter is available for a given species, the global default (2 nm) is used.

Smoothing Point Defects

If only point defects are smoothed, you must use the smooth command after the implant
command (instead of specifying smooth or [Link] in the implant command). The
syntax is as follows:
smooth [Link]=<list of fields> [Link]=<double array>

This is a general command that can be used to smooth any field. For example, to smooth point
defects after implantation, use the command:
smooth [Link]= {Int_Implant Vac_Implant} [Link]= {1<nm> 5<nm>}

NOTE If using the smooth command to smooth a field, the pdb parameter for
smooth distance will not be read. Therefore, [Link] must
be specified in the smooth command if it is different from the default
2 nm.

180 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Automatic Extraction of Implant Moments

Automatic Extraction of Implant Moments


Implant moments are one of the most critical elements in analytic implantation. By default,
Sentaurus Process provides a large set of implant tables that cover many species and materials,
and a wide range of implantation conditions. However, occasionally, users want to explore new
species, new materials, or the implantation parameter space, which is outside of the supplied
implant tables. In this case, you need to do the experiments or to run the MC implantation
simulations to obtain accurate implantation profiles. Automatically extracting implant
moments bridges the gap of converting these raw profiles into the moments that can be used in
analytic implantation.

The critical part of automatic extraction of implant moments is the optimization (or least square
fit) algorithm, that is, given a profile or a set of m pairs of data points (x i,y i) , optimize the
parameter set β of the model function f ( x, β ) , so that the sum of the squares of the errors at
each point becomes minimal:
m

 [ yi – f ( xi, β ) ]
2
S( β ) = (116)
i=1

Sentaurus Process uses the same optimizer as TSUPREM-4, which implements the popular
Levenberg–Marquardt algorithm, also known as the damped least-squares method. Since this
algorithm only finds the local minimum, the initial parameter values may affect the extracted
results.

Required Parameters
To extract the moments, you must specify the parameters [Link] and [Link]
in the implant command. The parameter [Link] simply indicates that instead of
performing an implantation or setting implantation parameters, the implant command is used
to extract implant moments. The parameter [Link] specifies the ASCII data file from
where implant moments will be extracted.

Optional Parameters
To better control the extraction process, the following optional parameters are available in the
implant command:
■ dualpearson (default), gaussian, and pearson specify the type of moments to be
extracted.

Sentaurus Process User Guide 181


H-2013.03
3: Ion Implantation
Automatic Extraction of Implant Moments

■ rp, stdev, gamma, beta, rp2, stdev2, gamma2, beta2, and ratio specify the initial
values for optimization. If not specified, initial values will be guessed from the profile data.
■ [Link], [Link], [Link], [Link], [Link], [Link], and
[Link] specify how the data in [Link] will be interpreted and retrieved.
■ [Link] specifies the maximum number of iterations allowed in the optimization loop.
Default is 500.
■ tolerance specifies the tolerance of target errors. Default is 0.1.

Output Format
Extracting implant moments provides two types of output, at the same time, to facilitate further
manipulation of the moments:
■ Command line. This is useful for copying and inserting the output into the implant
command. The extracted moments are printed on the screen and in the log file in the format:
rp=<n> stdev=<n> gamma=<n> beta=<n> ...
■ Tcl list. The output list of moments has the format:
{model dualpearson rp <n> stdev <n> gamma <n> beta <n> ...}

The output Tcl list can be converted into a Tcl array by using array set, which then can be
used to access the moments conveniently. For example:
set moms [implant [Link] [Link]=myfile]
array set m $moms
LogFile ''model = $m(model)''
LogFile ''rp = $m(rp)''
LogFile ''stdev = $m(stdev)''

Utilities
The Tcl script ImplantTableMaker can be used to guide users through selecting
implantation conditions to automatically create a Taurus format implant table from MC
implantations. This script must be run in interactive mode, and you must input various implant
parameters that are necessary to create an implant table. The resulting table is named
<species>_in_<material>_mystandard.

182 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Loading External Profiles

NOTE Since each implant profile is extracted independently, and the


Levenberg–Marquardt optimization algorithm can only find the local
minima, slightly different profiles may result in totally different implant
moments. Interpolation between these moments may not give optimal
results. Therefore, when using the Tcl script ImplantTableMaker, the
quality of implant tables cannot be guaranteed.

Loading External Profiles

Loading Files Using [Link]


Precomputed profiles can be loaded to a given structure using the [Link] facility in
Sentaurus Process, that is:
implant <dopant> [Link] file=<name>

If the [Link] switch is set in the implant command, Sentaurus Process takes the TDR file
specified with the file selector and loads the datasets into the present structure. Interpolation
of the datasets is performed if the structure in the TDR file is different from the present
structure.

Sentaurus Process attempts to find the doping profiles required from the implant species and
the damage probability (for Crystal-TRIM) or damage dataset (for Sentaurus MC). For
example, in the following statement:
implant Boron [Link] file=my_data energy=10 dose=1e14

Sentaurus Process opens the files my_data{_fps}.tdr, and checks for the datasets
Boron_LastImp and PD_LastImp (for Crystal-TRIM) or Damage_LastImp (for
Sentaurus MC). If successful, these datasets are restored. If one or more of the required
datasets is missing, the respective fields remain empty. Then, during implantation
postprocessing, Boron_LastImp and Damage_LastImp are added to the Boron_Implant
and Damage datasets.

The following options are available in 2D structures:


■ shift=<n>: Shifts the dataset along the y-axis.
■ flip: Flips the dataset; the default is a flip to the left.
■ left, right: Specifies the flipping direction.
■ multiply=<n>: Multiplies the dopant data in the dataset by a factor; the damage remains
untouched.

Sentaurus Process User Guide 183


H-2013.03
3: Ion Implantation
Loading External Profiles

NOTE The switch [Link] restores the datasets from the files without
checking the implant conditions specified in the implant command.
Therefore, [Link] by itself does not require the implant parameters
such as energy and dose be specified. However, Advanced Calibration
and CoImplant models may use these parameters (energy and dose)
for their calculations. Therefore, it is recommended that energy and
dose always be specified along with [Link].

Automated Monte Carlo Run


If no TDR file with the specified name is found or the file selector is empty, a separate run
of Crystal-TRIM or Sentaurus MC is started to generate these files and the required datasets,
depending on the setting of the MC implantation model in the PDB (default is
[Link]):
pdbSet MCImplant model {crystaltrim | [Link]}

Sentaurus Process internally switches from the [Link] to crystaltrim or [Link]


mode. All implant parameters related to MC implantation (particles, cascades,
[Link]) are used in this run.

NOTE The [Link] feature is designed to reuse precomputed MC results.


However, the profiles to load do not necessarily need to be generated
using the MC method.

Example
implant BF2 dose=1e14 energy=40 tilt=20 rotation=-90 [Link] \
file=bf2_1e14_40 particles=500 cascades

In the first run of this command, Sentaurus Process checks for the TDR file with the name
bf2_1e14_40. Since there is no file with this name, a full-cascade Crystal-TRIM or
Sentaurus MC run is started using the process parameters specified. At the end, the TDR file
bf2_1e14_40_fps.tdr is saved. The following are stored as well:
■ All datasets related to the BF2 impurity profile (Boron_LastImp, Fluorine_LastImp).
■ The damage probability (PD_LastImp) or damage (Damage_LastImp).
■ The recoil profile (Silicon_LastImp) and vacancy profile (Vac_LastImp) because the
command is run in the full-cascade mode.

In a subsequent run of the same command, Sentaurus Process loads and restores these datasets
in a preprocessing step. The postprocessing is the same as after a MC run.

184 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
Multithreaded Parallelization of 3D Analytic Implantation

Multithreaded Parallelization of 3D Analytic Implantation


Parallel processing has become ubiquitous with the advent of multicore processors. The
performance of 3D analytic implantation can be improved dramatically by exploiting the
parallel processing power of multicore processors. In multithreaded mode, each thread works
on separate nodes, sharing the workload, thereby reducing the computation time.

To engage the multithreaded parallelization of 3D analytic implantation, use the math


command:
math [ numThreads = <n> | numThreadsImp3d = <n> ]

where numThreads is a general keyword for MC implantation, 3D analytic implantation,


KMC, matrix assembly, and linear solver. However, numThreadsImp3d has a higher priority
over numThreads for 3D analytic implants and can be used to create the number of threads
specifically for 3D analytic implantation, which is different from that for other multithreaded
operations. The value of numThreads or numThreadsImp3d must be equal to the number of
cores in multicore processors.

You also can modify the stack size for each thread using the command:
math [ threadStackSize = <n> ]
18
The default stack size ( 2 = 262144 bytes) is usually sufficient for 3D analytic implantation.

Multithreaded Parallelization of Sentaurus MC


Implantation
NOTE This feature is available to Sentaurus MC only.

The performance of MC implantation (Sentaurus MC) also can be significantly improved by


using multithreaded parallelization. In this approach, a large job with many particles ( N ) is
divided into multiple ( m ) separate jobs with a smaller number of particles ( N ⁄ m ). Sentaurus
Process then creates multiple threads and launches m instances of Sentaurus MC implant.
Each instance of Sentaurus MC implant runs independently on its own thread. After these
threads are finished, the results are averaged, thereby improving the effective execution speed
for a large job.

To engage the multithreaded parallelization of Sentaurus MC implantation, use the math


command:
math [ numThreads = <n> | numThreadsMC = <n> ]

Sentaurus Process User Guide 185


H-2013.03
3: Ion Implantation
References

where numThreads is a general keyword for MC implantation, 3D analytic implantation,


KMC, matrix assembly, and linear solver. However, numThreadsMC has higher priority over
numThreads for MC implants and can be used to create the number of threads specifically for
Sentaurus MC implant, which is different from that for other multithreaded operations. The
value of numThreads or numThreadsMC should be equal to the number of cores in multicore
processors.

You also can modify the stack size for each thread using the command:
math [ threadStackSize = <n> ]
18
The default stack size ( 2 = 262144 bytes) is usually sufficient for MC implantation.

References
[1] G. Hobler and S. Selberherr, “Two-Dimensional Modeling of Ion Implantation Induced
Point Defects,” IEEE Transactions on Computer-Aided Design, vol. 7, no. 2, pp. 174–
180, 1988.
[2] J. P. Biersack, “Basic Physical Aspects of High Energy Implantation,” Nuclear
Instruments and Methods in Physics Research, vol. B35, no. 2, pp. 205–214, 1988.
[3] J. F. Gibbons, W. S. Johnson, and S. W. Mylroie, Projected Range Statistics:
Semiconductors and Related Materials, Pennsylvania: Dowden, Hutchinson & Ross,
2nd ed., 1975.
[4] C. Zechner et al., “New Implantation Tables for B, BF2, P, As, In and Sb,” in 14th
International Conference on Ion Implantation Technology (IIT), Taos, NM, USA,
pp. 567–570, September 2002.
[5] S. Tian, V. Moroz, and N. Strecker, “Accurate Monte Carlo Simulation of Ion
Implantation into Arbitrary 1D/2D/3D Structures for Silicon Technology,” in MRS
Symposium Proceedings, Silicon Front-End Junction Formation—Physics and
Technology, vol. 810, San Francisco, CA, USA, pp. 287–292, April 2004.
[6] S. J. Morris et al., “An Accurate and Efficient Model for Boron Implants Through Thin
Oxide Layers into Single-Crystal Silicon,” IEEE Transactions on Semiconductor
Manufacturing, vol. 8, no. 4, pp. 408–413, 1995.
[7] S. Tian, “Predictive Monte Carlo ion implantation simulator from sub-keV to above
10 MeV,” Journal of Applied Physics, vol. 93, no. 10, pp. 5893–5904, 2003.
[8] M. Posselt, “Crystal-TRIM and Its Application to Investigations on Channeling Effects
During Ion Implantation,” Radiation Effects and Defects in Solids, vol. 130–131,
pp. 87–119, 1994.

186 Sentaurus Process User Guide


H-2013.03
3: Ion Implantation
References

[9] A. F. Tasch et al., “An Improved Approach to Accurately Model Shallow B and BF2
Implants in Silicon,” Journal of the Electrochemical Society, vol. 136, no. 3, pp. 810–
814, 1989.
[10] G. Hobler, E. Langer, and S. Selberherr, “Two-Dimensional Modeling of Ion
Implantation with Spatial Moments,” Solid-State Electronics, vol. 30, no. 4, pp. 445–
455, 1987.
[11] A. Stolmeijer et al., “General Expressions for the Impurity Distributions of B and P
Implanted in SiO2,” Journal of the Electrochemical Society, vol. 135, no. 9, pp. 2309–
2311, 1988.
[12] FLOOPS process and device simulator: [Link] January 2013.
[13] H. Ryssel, W. Krüger, and J. Lorenz, “Comparison of Monte Carlo Simulations and
Analytical Models for the Calculation of Implantation Profiles in Multilayer Targets,”
Nuclear Instruments and Methods in Physics Research, vol. B19/20, no. 20, pp. 40–44,
1987.
[14] G. Hobler and V. Moroz, “Initial Conditions for Transient Enhanced Diffusion: Beyond
the Plus-Factor Approach,” in International Conference on Simulation of
Semiconductor Processes and Devices (SISPAD), Athens, Greece, pp. 34–37, September
2001.
[15] S. Strauss et al., “Analytic model for ion channeling in successive implantations in
crystalline silicon,” Materials Science and Engineering B, vol. 124–125, pp. 376–378,
December 2005.
[16] S. Tian, “Accurate Monte Carlo simulation of fluorine and BF2 ion implantation into
crystalline silicon,” Nuclear Instruments and Methods in Physics Research B, vol. 215,
no. 3-4, pp. 403–412, 2004.
[17] H. Goldstein, Classical Mechanics, Cambridge, Massachusetts: Addison-Wesley Press,
1950.
[18] J. F. Ziegler, J. P. Biersack, and U. Littmark, “The Stopping and Range of Ions in
Solids,” The Stopping and Ranges of Ions in Matter, vol. 1, New York: Pergamon Press,
1985.
[19] M. T. Robinson and I. M. Torrens, “Computer simulation of atomic-displacement
cascades in solids in the binary-collision approximation,” Physical Review B, vol. 9,
no. 12, pp. 5008–5024, 1974.
[20] J. Lindhard and M. Scharff, “Energy Dissipation by Ions in the kev Region,” Physical
Review, vol. 124, no. 1, pp. 128–130, 1961.
[21] O. S. Oen and M. T. Robinson, “Computer Studies of the Reflection of Light Ions from
Solids,” Nuclear Instruments and Methods, vol. 132, pp. 647–653, 1976.
[22] M. Posselt et al., “Modeling of Damage Accumulation during Ion Implantation into
Single-Crystalline Silicon,” Journal of the Electrochemical Society, vol. 144, no. 4,
pp. 1495–1504, 1997.

Sentaurus Process User Guide 187


H-2013.03
3: Ion Implantation
References

[23] I. Santos et al., “Improved atomistic damage generation model for binary collision
simulations,” Journal of Applied Physics, vol. 105, p. 083530, April 2009.
[24] S. Tian, “Monte Carlo Simulation of Ion Implantation in Crystalline SiC With Arbitrary
Polytypes,” IEEE Transactions on Electron Devices, vol. 55, no. 8, pp. 1991–1996,
2008.
[25] A. Burenkov et al., “Simulation of BF3 Plasma Immersion Ion Implantation into
Silicon,” in 19th International Conference on Ion Implantation Technology (IIT),
Valladolid, Spain, pp. 233–236, June 2012.
[26] X. B. Tian, D. T. K. Kwok, and P. K. Chu, “Modeling of incident particle energy
distribution in plasma immersion ion implantation,” Journal of Applied Physics, vol. 88,
no. 9, pp. 4961–4966, 2000.

188 Sentaurus Process User Guide


H-2013.03
CHAPTER 4 Diffusion

This chapter provides information on the continuum models for


dopant and defect diffusion models and parameters. (For an
atomistic approach, see Chapter 5.)

Overview
During the fabrication process, dopants are introduced into the substrate with different
concentration profiles. As processing proceeds through various thermal annealing cycles, the
dopants diffuse and redistribute through the structure. The following effects contribute to
dopant redistribution and can be modeled by Sentaurus Process:
■ Dopant (de)activation
■ Dopant–defect interaction
■ Chemical reactions at interfaces and in bulk materials
■ Material flow
■ Moving material interfaces
■ Internal electric fields

Sentaurus Process is designed to address the challenges of integrated-circuit process modeling.


As technology development continues, the need for new process models increases. The
Alagator language is a versatile way to add and modify diffusion models quickly. This chapter
describes the diffusion models in Sentaurus Process. To modify or add new diffusion models,
see Modifying Diffusion Models on page 596.

The diffuse command represents the main simulation capabilities of Sentaurus Process. It
simulates:
■ Thermal annealing of impurities.
■ Material growth processes during annealing, for example, oxidation, silicidation, and
epitaxy (see Epitaxy on page 270 and Oxidation on page 603).
■ Process-induced stress (see Chapter 9 on page 629).

Sentaurus Process User Guide 189


H-2013.03
4: Diffusion
Basic Diffusion

Basic Diffusion
The diffuse command is used to model the diffusion of impurities under oxidizing and non-
oxidizing conditions. The options of the diffuse command set diffusion conditions as well
as time-stepping options. (See diffuse on page 875 for all options.) For example, a command
for a simple non-oxidizing annealing at a temperature of 900°C for 10 s is:
diffuse temperature=900<C> time=10<s>

If you want to perform the same anneal with a wet (H2O) oxidizing ambient, execute the
following command:
diffuse temperature=900<C> time=10<s> H2O

A simple temperature ramp can be specified directly in the diffuse command by the keyword
ramprate. This keyword sets the change in the temperature over time:
diffuse temperature=900<C> time=10<min> O2 ramprate=10<C/min>

This example describes a dry oxidation of 10 minutes, starting at 900°C and ending at
1000°C . The same example can be repeated using the temp_ramp command as follows:
temp_ramp name=MyTempRamp temperature=900 time=10 O2 ramprate=10<C/min>
diffuse [Link]=MyTempRamp

The first line creates a temperature ramp with given conditions, and the second line specifies a
diffusion referring to this temperature ramp.

To describe more complex temperature cycles within one diffuse command, multiple
instances of the temp_ramp command can be used. A temperature ramp can consist of several
segments and, for each segment, one temp_ramp command is required. In addition, segments
can be grouped by using the same name for each segment. For example, a ramp-up, plateau,
and ramp-down can be specified as:
temp_ramp name=MyCycle temperature=500<C> time=5<min> H2O ramprate=100<C/min>
temp_ramp name=MyCycle temperature=1000<C> time=10<min> O2
temp_ramp name=MyCycle temperature=1000<C> time=10<min> ramprate=-50<C/min> \
last
diffuse [Link]=MyCycle

The keyword last in the third temp_ramp command declares the last segment of the
temperature ramp.

Sentaurus Process allows for thermal oxidation from O2 and H2O. The gas_flow command
is used to specify a mixed gas flow by specifying directly either the partial pressures of the gas
components or the flow [volume/time]. If the flows are defined, they are converted to partial

190 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Basic Diffusion

pressures by taking ratios. The use of the gas_flow command is similar to the temp_ramp
command; however, multiple gas flows using the same name must not be specified. When a
gas_flow is specified, it can be referred to from both the temp_ramp and diffuse
commands:
gas_flow name=MyGasFlow pH2O=0.5 pO2=0.5 pH2=0.1

To invoke the gas flow specification as given above, use:


temp_ramp name=MyTempRamp temperature=1000<C> time=10<min> [Link]=MyGasFlow
diffuse [Link]=MyTempRamp

or:
diffuse temperature=1000<C> time=10<min> [Link]=MyGasFlow

Sentaurus Process also allows you to select various diffusion models for point defects and
dopants (see Transport Models on page 197). Diffusion model setting and parameter setting are
performed with the pdbSet command. The basic settings are:
pdbSet <material> Dopant DiffModel <model>

where <model> can be any of Constant, Fermi, Pair, React, ChargedFermi,


ChargedPair, or ChargedReact.

Epitaxy can be simulated if either the Epi (also known as epi) or LTE ambient is specified in
either the temp_ramp or diffuse command. If Epi is specified, Silicon will grow on
Silicon and PolySilicon will grow on PolySilicon. If the LTE ambient is specified,
Silicon will again grow on Silicon, but PolySilicon will grow on Oxide, Nitride, and
PolySilicon.
pdbSet Silicon Dopant DiffModel Pair
diffuse temperature=800<C> time=60<min> Epi thick=0.01 \
[Link] = {Germanium = 8e21}

This example sets the dopant diffusion model for all dopants in silicon to the Pair model and
21
grows a 0.01 μm thick epi layer with a Germanium concentration of 8 × 10 .

It is also possible to set the initial diffusion time-step and the minimum annealing temperature
with the diffuse command.
diffuse [Link]=MyCycle minT=600<C> init=0.01<s>

This example uses the temp_ramp created in the earlier example. The initial time step is set to
0.01 s and the minimum annealing temperature is set to 600°C . The diffusion and reaction
equations will be switched off below 600°C but the mechanics will be solved.

Sentaurus Process User Guide 191


H-2013.03
4: Diffusion
Basic Diffusion

If you want to set the minimum annealing temperature and initial time-step globally for all
diffusion commands, the following commands can be used:
pdbSet Diffuse minT {<n>}
pdbSet Diffuse InitTimeStep {<n>}

It is also possible to set minimum and maximum temperature limits for the annealing process
using the following commands:
pdbSet Diffuse minAnnealT <n>
pdbSet Diffuse maxAnnealT <n>

If the annealing temperature goes above or below these limits, Sentaurus Process will quit with
an error message.

See Viewing the Defaults: Parameter Database Browser on page 58 for other parameters
related to Diffuse.

Obtaining Active and Total Dopant Concentrations


By default, active and total dopant concentrations are only updated during diffusion steps. For
example, after an implant, the active concentrations (BoronActiveConcentration,
ArsenicActiveConcentration, and so on) and the total concentrations
(BoronConcentration, ArsenicConcentration, and so on) are not modified, which
makes them out of date.

Similarly for other commands that can change the dopant concentrations, the active and total
concentrations are not updated. These commands include, but are not limited to, select,
load, init, and profile.

After one of these commands is issued, the active and total dopant concentrations may not be
current. To update the active and total dopant concentrations use the diffuse time=0 ...
command.

NOTE To update the active and total concentrations of the dopants without
dopant redistribution, the diffuse command with zero time can be
used. For example, to calculate the active dopant concentration at
850°C for the chosen diffusion model, use:
diffuse time=0.0 temperature=850

NOTE Since the diffuse command performs the recrystallization and the
initialization of clusters even with zero time, it must not be added
between consecutive implantation steps.

192 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Basic Diffusion

See diffuse on page 875 for all options of the diffuse command.

Transport Models
Sentaurus Process has several basic transport models with varying levels of complexity for
computing flux, J . This diversity of models is needed to balance accuracy with simulation
times, which vary widely depending on the model selection:
■ The React (see React Diffusion Model on page 204) and ChargedReact (see
ChargedReact Diffusion Model on page 198) diffusion models, also known as five-stream
diffusion models, are the most advanced dopant diffusion models in Sentaurus Process.
They solve up to three separate equations per dopant – a substitutional dopant – and up to
two dopant–defect pairs and two defect equations. The ChargedReact model is the most
accurate model available in Sentaurus Process. but because of the large number of
equations required, it also is the most computationally expensive. The React model, which
is an uncharged version of the ChargedReact model, is provided for backward
compatibility.
■ The Pair (see Pair Diffusion Model on page 208) and ChargedPair (see ChargedPair
Diffusion Model on page 206) diffusion models, also known as three-stream diffusion
models, assume that dopant–defect pairs are in local equilibrium but still solve for separate
point-defect equations. These models solve one equation per dopant and two defect
equations. The ChargedPair diffusion model allows the pairing coefficients to vary with
charge state. These models are the most commonly used for advanced CMOS processes as
they represent a balance between accuracy and computational expense. For extremely fast
ramp rates or for customized initial conditions, the ChargedReact model or React model
is a better choice. The Pair model, which is an uncharged version of the ChargedPair
model, is provided for backward compatibility.
■ The Fermi (see Fermi Diffusion Model on page 211) and ChargedFermi (see
ChargedFermi Diffusion Model on page 209) diffusion models both assume that point
defects as well as dopant–defect pairs are in equilibrium. The ChargedFermi diffusion
model allows the diffusivity of each charge state to be set separately. An uncharged version
of the model is provided for backward compatibility. These models can be used for long-
term high-temperature anneals where the transient effect of annealing implant damage is
minimal.
■ The Constant diffusion model (see Constant Diffusion Model on page 212), unlike all
other transport models, assumes a constant diffusivity and no electric-field effect, and is
used mainly for dopant diffusion in oxide.

The selection of transport model is specified as follows:


pdbSet <material> Dopant DiffModel <model>

Sentaurus Process User Guide 193


H-2013.03
4: Diffusion
Basic Diffusion

where <model> must have one of the valid diffusion model names – Constant, Fermi, Pair,
React, ChargedFermi, ChargedPair, or ChargedReact.

It is also possible to select a different diffusion model for each dopant in the same material. In
this case, use the command:
pdbSet <material> <dopant> DiffModel <model>

where <dopant> is a valid dopant name (for example, Boron).

The ChargedFermi, ChargedPair, and ChargedReact diffusion models take into account
each charged point defect individually. Otherwise, they are very similar to the Fermi and Pair
diffusion models.

NOTE Even though you can select any diffusion model individually for each
dopant, it is not recommended to mix the ChargedFermi,
ChargedPair, or ChargedReact models with the uncharged
versions.

Table 11 Summary of dopant diffusion models and parameters


pdb command Diffusion model

ChargedReact

ChargedFermi
Type

ChargedPair

Constant
React

Fermi
Pair
pdbSet <material> <dopant> <defect> D Diffusivity X X X X

pdbSet <material> <dopant> <defect> Dstar Diffusivity X X

pdbSet <material> <dopant> Dstar Diffusivity X

pdbSet <material> <defect> D Diffusivity X X X X X

pdbSet <material> <dopant> <defect> ChargePair Pairing Coeff. X X

pdbSet <material> <dopant> <defect> Binding Pairing Coeff. X X

pdbSet <material> <dopant> <defect> kfFTM Rate X

pdbSet <material> <dopant> <defect> kfKickOut Rate X

pdbSet <material> <defect> ChargeStates Charging Coeff. X X X X X

pdbSet <material> <defect> ChargeStatesScale Charging Coeff. X X X X X

pdbSet <material> <defect> Cstar Concentration X X X X X X X

pdbSet <material> <defect> KbulkChargeStates Charging Coeff. X X X X X

194 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Basic Diffusion

In Table 11, <material> is a valid material name, <dopant> is a valid dopant name, and
<defect> is either Int or Vac.

Recombination and Reaction Models


Many reactions and recombination models are available in Sentaurus Process. Different
diffusing species such as dopants, defects, and impurities will all have different recombination
and reaction terms. These terms come from the following models:
■ Dopant clusters–solid solubility, transient, and dopant–defect cluster models (see Dopant
Activation and Clustering on page 279).
■ Defect clusters–Equilibrium, {311}, Loop, LoopEvolution, 1Moment, 2Moment,
Full, and FRENDTECH models (see Defect Clusters on page 306).
■ Impurity species:
• Carbon model, Nitrogen model (see NeutralReact Diffusion Model on page 212).
• Fluorine model (see Dopant Active Model: FVCluster on page 291).

Boundary Conditions
Sentaurus Process can simulate various boundary conditions for dopants and defects. You can
select eight different boundary conditions:
■ HomNeumann can be applied to any boundary (see HomNeumann on page 344).
■ Natural is for point defects (see Natural on page 345).
■ Segregation is for dopants (see Segregation on page 348).
■ Dirichlet is for dopants and defects (see Dirichlet on page 351).
■ ThreePhaseSegregation is for dopants (see ThreePhaseSegregation on page 352).
■ GrainBoundarySegregation is for dopants in polycrystalline materials (see Boundary
Conditions on page 248).
■ GrainGrainBoundarySegregation is for dopants in polycrystalline materials (see
Boundary Conditions on page 248).
■ Trap is for dopants such as fluorine and nitrogen in trap-dependent oxidation.
■ TrapGen is for dopants such as nitrogen in N2O oxidation.
■ Continuous is for dopants used only during epi growth (see Continuous on page 356).

The Natural and Dirichlet boundary conditions consider interstitial injection during
oxidation for oxidation-enhanced diffusion (OED) of dopants.

Sentaurus Process User Guide 195


H-2013.03
4: Diffusion
General Formulation

Other Materials and Effects


In addition to generic transport and recombination and reaction models, other effects can be
simulated:
■ Polysilicon model (see Diffusion in Polysilicon on page 233).
■ SiGe diffusion model (see Dopant Diffusion in SiGe on page 250).
■ Epitaxy (see Epitaxy on page 270).

General Formulation
The general expression for the particle current of a diffusing species A of charge c is given by:
n –c c n c
J = – d c  ---- ∇  A  ----  (117)
A n    n i 
c
A
i

c
where A is the concentration, d Ac is the diffusivity, n is the electron concentration, and n i is
the intrinsic electron concentration.

The continuity equation for species A of charge c is given by:


c
∂A trans clus
= –∇•J c+R c –R c (118)
∂t A A A

trans
where the recombination/reaction term is split into two parts: R Ac is a possible contribution
clus
coming from the transport model selection (see Transport Models on page 197) and R Ac can
contain terms from other reactions, which are most often clustering reactions but could include
c
any type of reaction. Reactions that transform species A into another species will introduce
clus
positive terms into the expression for R Ac . Total dopant concentration of dopant A will be
equal to the sum of all dopants, dopant–defect pairs, and any related clusters (for example,
c c c c
A Total = A + A pair + A clus ).

For the models that do not consider different charge states, computation of the electron
concentration by default is given by the charge neutrality condition – n + p + ΔN = 0 , where
ΔN is given by the active dopant concentrations (for example, ΔN = N d – N a where N d is the
active donor concentration and N a is the active acceptor concentration). For the charged
models, the charge states of the defects or defect pairs are considered individually.

196 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Transport Models

It is expected that the charge reactions are in equilibrium, so that the ratio in the various charged
states is set by the Fermi level:
n –( c )
= k c C r  ----
c+r
A
A A n 
(119)
i

where r is a reference charge state, which is chosen as 0 for interstitials and vacancies, and is
chosen as the dopant charge for dopant–defect pairs. The k Ac are parameters that are set by
default to an Arrhenius expression. In addition, for the charged models, it is necessary to solve
a coupled equation for the electron concentration. The default equation is the same as for the
uncharged case, that is, the charge neutrality equation – n + p + ΔN = 0 but, in this case, ΔN
is a function of n because it contains contributions from charged defects or charged defect
pairs as well as dopants. It is also possible for both the charged and uncharged models to solve
the Poisson equation (see Electron Concentration on page 267).

Transport Models
Transport models compute the particle flux of dopants and are the core diffusion models solved
by Sentaurus Process. In addition to particle flux, pairing reactions can be computed depending
on the transport model selection. Transport models are usually used with one or more
clustering or activation models available. The reaction or clustering models will not modify the
c
dopant flux, but will compute terms to be added to R clus from Eq. 118. The models are
described in detail here.

The selection of the transport model is made with the command:


pdbSet <material> <dopant> DiffModel <model>

where <material> is the material name; <dopant> can be either "Dopant" to apply to all
dopants or a named dopant such as boron, arsenic, phosphorus, antimony, and indium; and
<model> is one of the models ChargedReact, React, ChargedPair, Pair,
ChargedFermi, Fermi, or Constant.

Table 12 Solution names


Symbol Boron Arsenic Phosphorus Antimony Indium

CA Boron Arsenic Phosphorus Antimony Indium

C AI BoronInt ArsenicInt PhosphorusInt AntimonyInt IndiumInt

C AV BoronVac ArsenicVac PhosphorusVac AntimonyVac IndiumVac


+
CA BActive AsActive PActive SbActive InActive

Sentaurus Process User Guide 197


H-2013.03
4: Diffusion
Transport Models

Table 13 Point-defect names


Symbol Interstitial Vacancy

CX Int Vac
*
CX EqInt EqVac
*
C 0 IntNeutralStar VacNeutralStar
X
C 0 IntNeutral VacNeutral
X

The transport for point defects is computed when [Link] is set to 1:


pdbSet <material> [Link] <0 | 1>

ChargedReact Diffusion Model


The ChargedReact diffusion model is the most general transport model in Sentaurus Process.
The model has an immobile substitutional dopant and up to two mobile charged dopant–defect
pair species. Mobile charged point defects are also included in the model.

The following reactions are considered:


z i (z + j)
A + I ↔ AI – ( i – j )e (120)

z i (z + j)
A + V ↔ AV – ( i – j )e (121)

i j
I + V ↔ – ( i + j )e (122)

(z + i) j z
AI + V ↔ A – ( i + j )e (123)

(z + i) j z
AV + I ↔ A – ( i + j )e (124)

The differential equations that are solved in this model are:

∂C A clus
= – R AI – R AV + R AI, V + R AV, I – R A (125)
∂t

∂C AI clus
= – ∇ • J AI + R AI – R AI, V – R AI (126)
∂t

198 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Transport Models

∂C AV clus
= – ∇ • J AV + R AV – R AV, I – R AV (127)
∂t

∂C I clus
= – ∇•J I – R IV – R AI – R AV, I – R I (128)
∂t

∂C V clus
= – ∇•J V – R IV – R AV – R AI, V – R V (129)
∂t

where C A is the concentration of substitutional (and assumed to be immobile) dopants, C X is


the concentration of ‘free’ defects of type X (either interstitials or vacancies), in other words,
those defects not in clusters or pairs. The reaction rates of the different species ( R ) are defined
later in this section.

Next, the flux of the mobile defect pair is considered. Working with Eq. 117, p. 196 for the
charged pairs, the equation will be written in terms of the total concentration of pairs.

It is expected that the dopant-defect pairing reaction is in equilibrium, therefore, a set of


constants for this pairing is defined:
C
AX
z+c = k
AX
c C zC
A X
c (130)

where X is either I or V, z is the charge of the dopant A , and k AXc is the pairing coefficient for
the pair AX , and is given by:
E
0  – k AXc
k c = k c exp  ------------- (131)
AX AX  kB T 

To set k AXc , use:


pdbSet <material> <dopant> <defect> ChargePair <c> {<n>}

where <material> is a material name (see), <dopant> is one of the existing Sentaurus
Process dopants, <defect> is either Interstitial or Vacancy, <c> is the charge state, and
<n> is a Tcl expression that returns a number – it can be simply a number.

One commonly used Tcl procedure for setting parameters is Arrhenius. This procedure takes
a prefactor and an energy as arguments and returns prefactor ⋅ exp  -------------------- .
– energy
 kB T 

Sentaurus Process User Guide 199


H-2013.03
4: Diffusion
Transport Models

The flux of the pairs is computed from Eq. 117, p. 196:

J AX = –  J c
AX
c
 
–c –z  C z
(132)
D c ---- ∇ --------------------------------------------------  ---- 
n n
= –
AX
AX  n  n  – q n i 
c
i
 C 0  k q k q  ----
*  
 X AX X n
i 
q

where C AX is the total concentration of pairs that is the sum of the concentrations of pairs at
every charge state and D AXc is an effective diffusivity of dopant point-defect pairs at charge
state c and is related to the self diffusivity d AXc by:
*
D c = C 0k c k cd c
AX X AX X AX
E (133)
0  – D AX c
= D c exp  ---------------
AX  kB T 

*
where C X0 is the equilibrium concentration of the neutral defects and is related to the total
equilibrium intrinsic concentration of defect X by:
*
* C X ( intrinsic )
C
X
0 = ----------------------------- (134)
 kc X
c

* *
The quantities C I ( intrinsic ) and C V ( intrinsic ) , which by default follow an Arrhenius law, can be
changed by using the command:
pdbSet <material> <defect> Cstar {<n>}

To set D AXc , use:


pdbSet <material> <dopant> <defect> D <c> {<n>}

A set of equilibrium-charging constants, k Xc , for defect X is defined:


n –c
C = k c C 0  ---- (135)
X X n 
c
X
i

where X is either I or V, and k Xc is the charging coefficient for the defect X and is given by:
E
0  – k Xc
k c = k c exp  ---------- (136)
X X  kB T 

200 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Transport Models

To set k Xc , use:
pdbSet <material> <defect> ChargeStates <c> {<n>}

NOTE The neutral charge state must always be 1.0.

Similar to the pairs, the defect fluxes are computed from Eq. 117, p. 196:

JX = – J c
X
c
–c *
 kX DX  n----i
n
c c
CX (137)
 C X
c
= – ---------------------------------------------- ∇ ------*-
– q
 C X
 kXq  n----i
n
q

where C X is the total concentration of defects that is the sum of the concentrations of defect X
at every charge state and D Xc is the diffusivity of the defect X of charge state c and is given by:
D c = d c
X X
E
 – D X c (138)
0
= D c exp  ------------
X  kB T 

To set D Xc , use:
pdbSet <material> <defect> D <c> {[Arrhenius <prefactor> <energy>]}

Now, the reaction rates can be written by considering Eq. 120, p. 198 to Eq. 124, p. 198 and
the general formula for the rate of all combinations of charge states:
a b c
A + B ↔ AB + ( c – a – b )e
f C C r  n  ( c – a – b )
(139)
R = k –k b C c ----
A , B , c A B A , B , c AB  n  
a b a b a b a
A ,B ,c
i

Therefore, summing all possible charge states gives:

f  C AX
R AX ≡ – K AX  C A C X – ---------
- (140)
 K AX
r

f r * *
R AI, V ≡ K AI, V ( C AI C V – K AX C I C V C A ) (141)

f r * *
R AV, I ≡ K AV, I ( C AV C I – K AX C I C V C A ) (142)

Sentaurus Process User Guide 201


H-2013.03
4: Diffusion
Transport Models

where:
–i
 Kf KOi kX  n----i
n
i
X
f
K AX ≡ --------------------------------------------
i
- (143)
n  –c
 ---
 X  nik c -
c

–i
 kAX kX  n----i
n
i i
r
K AX ≡ --------------------------------------
i
- (144)
n  –c
 ---
 Xc  ni
k -
c

n –( i + j )
  Kf k k j  ----
AI V n  
i
i j FT
f AI , V i
K AI, V ≡ ---------------------------------------------------------------------------
i j
–c
- (145)
 ----
n n  –z
 ---
 AIc  ni  Vz  ni
k k -
c z

n –( i + j )
  Kf k k j  ----
i j FT
AV , I
AV I
i
 n i
f
K AV, I ≡ ---------------------------------------------------------------------------
i j
- (146)
n  –c
 --- n  –z
 ---
 AV  ni  I  ni
k c - k z -
c z

f
where K AX is fthe forwardf
reaction rate for the kick-out mechanism, and X is either interstitial
orrvacancy, K AI, V and K AV, I are forward reaction rates for the Frank–Turnbull mechanism and
K AX is the equilibrium constant.

The forward ( K fX KOi, j ) kick-out reaction rates can be set by using the following commands:
pdbSet <material> <dopant> <defect> kfKickOut <c> {<n>}

where c is the charge state. By default, kfKickOut values for each charge state are given as:

 kX
*
D C
i i
AX X
Kf ≡ i
--------------------------------
- (147)
X KOi 2
k 0λ
X

where λ is the hopping length, which can be set using the command:
pdbSet <material> <dopant> <defect> lambdaK
f f
Similarly, the forward ( K AI, V , K AV, I ) Frank–Turnbull reaction rates can be defined using the
commands:
pdbSet <material> <dopant> <defect> kfFTM <i,j> {<n>}

202 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Transport Models

NOTE The indices of the forward recombination rates have the form of i, j .
Both i and j are integers and are separated by a comma; no space is
allowed between the indices.

The I–V recombination reaction is given as:


* *
R IV = K IV ( C I C V – C I C V ) (148)

where:
* *
C I ( intrinsic ) C V ( intrinsic ) –( i + j )
 KI V kI kV  n----i
n
K IV = ----------------------------------------------------------  i j i j (149)
C I C V  k z k z
* *
i j
I V
z z

The superscript ‘*’ refers to the equilibrium concentration, and the subscripts I and V are for
the interstitials and vacancies, respectively. The subscripts z, i, j are the charge states of the
defects. K Ii Vj is the bulk recombination rate for interstitials and vacancies at the charge stated
i and j , respectively. The bulk recombination rate K Ii Vj for each charged point defect can be
set using the command:
pdbSet <mater> <defect> KbulkChargeStates <i,j> {<n>}

The equilibrium concentration of the unpaired point defect can be calculated by:
–c
 kX  n----i
n
c

* * c
C X = C X ( intrinsic ) -----------------------------
- (150)
 k Xc
s

s
where k X
c is the scaled charging coefficient for the defect X and can be set by using:
pdbSet <material> <defect> ChargeStatesScale <c> {<n>}
s
k X
c is set to k Xc as a default.

NOTE The indices for the parameter KbulkChargeStates have the form of
i, j . Both i and j are integers and are separated by a comma; no space
is allowed between the indices.

Sentaurus Process User Guide 203


H-2013.03
4: Diffusion
Transport Models

React Diffusion Model


The React model is similar to the ChargedReact model, except that the reaction rates are
not charge state–dependent and the electron concentration is computed directly from the net
doping concentration. In addition, the Frank–Turnbull mechanism is not considered.

The reactions considered are:


A + I ↔ AI (151)

A + V ↔ AV (152)

where A is the dopant, I is the interstitial, and V is the vacancy.

The following set of differential equations represents the model:

∂C A clus
= – R AI – R AV – R A (153)
∂t

∂C AX clus
= – ∇•J AX + R AX – R AX (154)
∂t

∂C X clus
= – ∇•J X – R IV – R AX – R X (155)
∂t

where C A is the concentration of substitutional (and assumed to be immobile) dopant and C X


is the concentration of ‘free’ defects of type X (either interstitials or vacancies), that is, those
defects not in clusters or pairs.

Next, the flux of the mobile–defect pair is considered. In this model, the reaction rates are
assumed to be independent of the charge state, so the pair charging constants are only needed
for the flux of the pairs and are absorbed into the diffusivity of the pairs in this way:
n – c – z
–   D c  ----
AX n   
i C AX  n  z
J AX = ------------------------------------------------ ∇---------
c
- ----
*  
(156)
B AX CX ni

204 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Transport Models

where z is the charge state of dopant A , X is either interstitial or vacancy, and D AXc is the
effective diffusivity of dopant point-defect pair at charge state c and is related to the bare
diffusivity, d AXc by:
*
D c = C 0 B AX k c d c
AX X X AX
E (157)
0  – D AX c
= D c exp  ---------------
AX  kB T 

where k Xc is a set of equilibrium charging constants for defect X defined by Eq. 135, p. 200
and Eq. 136, p. 200, and C*X0 is the equilibrium concentration of the neutral defects defined by
Eq. 134, p. 200.

To set D AXc , use:


pdbSet <material> <dopant> <defect> D <c> {<n>}

where:
■ <material> is a material name (see Material Specification on page 50).
■ <dopant> is one of the existing Sentaurus Process dopants.
■ <defect> is either Interstitial or Vacancy.
■ <c> is the charge state.
■ <n> is a Tcl expression that returns a number; it can be simply a number.

One commonly used Tcl procedure for setting parameters is Arrhenius. This procedure takes
a prefactor and an energy as arguments and returns prefactor ⋅ exp  -------------------- .
– energy
 kB T 
You can modify the entire array with the command (for example, arsenic–vacancy pairs):
pdbSet Si Arsenic Vac D {
0 {[Arrhenius 0.0 3.45]}
-1 {[Arrhenius 12.8 4.05]}
}

The defect flux J X is the same as the ChargedReact model and is given by Eq. 137, p. 201.
The reaction can be written as:
C AX
R AX ≡ K AXr  C A C X – ----------
+

(158)
B AX

where X is either interstitial or vacancy, B AX is the binding coefficient of defect X and dopant
+
A , K AXr is the rate constant for the chemical reaction, and C A is the active portion of C A .

Sentaurus Process User Guide 205


H-2013.03
4: Diffusion
Transport Models

The binding term between the defect and dopant also follows the Arrhenius law:
– B AXE
B AX = B AX0 exp  ---------------- (159)
 kT 

The term can be changed with the command:


pdbSet <material> <dopant> <defect> Binding {<n>}

The chemical reaction term is expressed with:


– K rE
K r = K r0 exp  ------------ (160)
 kT 

and can be modified by using the command:


pdbSet <material> <dopant> <defect> Krate {<n>}

The defect recombination rate R IV is the same as in the ChargedReact model and is given by
Eq. 148, p. 203.

ChargedPair Diffusion Model


The ChargedPair diffusion model assumes that the dopant–defect pairs are in local
equilibrium with the dopant and defect concentration. Point defects themselves are not
assumed to be in equilibrium. The kick-out mechanism that describes the dopant–defect
pairing is given by:
z c (z + c)
A + I ↔ AI (161)

z c (z + c)
A + V ↔ AV (162)

and is assumed to be in equilibrium. In these two equations, A is the dopant, I is the interstitial,
V is the vacancy, and c is the charge state.

The differential equations solved with this model are:

∂C A clus
= – ∇•J A – R A (163)
∂t

∂ clus
(C ) = – ∇•J X – ∇•J A – R IV – R X (164)
∂ t X total

206 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Transport Models

where C Xtotal ≡ C X + C AX is the total interstitial concentration including dopant–defect X pairs


but excluding clusters, J A is the sum of AI and AV pair fluxes, J X is the defect flux, and C A
is the total dopant concentration excluding clusters.

To write an expression for the pair fluxes, it is necessary to first define the equilibrium
constants, k AXc , for the pairing reactions:
–c
 kAX kX  n----i
+ n
C AX ≡ C A C 0 c c (165)
X
c

+
where X is either interstitial or vacancy, c is the charge state of the point defect, C A is the
active portion of C A , and C X0 is the concentration of the neutral point defect X . The ionization
equilibrium constant k Xc is given by Eq. 135, p. 200 and Eq. 136, p. 200.

The pairing coefficients for the dopant–defect pairs with different charge states, k AXc , can be
modified with the command:
pdbSet <material> <dopant> <defect> ChargePair <c> {<n>}

where <material> is a material name (see Material Specification on page 50), <dopant> is
one of the existing Sentaurus Process dopants, <defect> is either Interstitial or
Vacancy, <c> is the charge state, and <n> is a Tcl expression that returns a number; it can be
simply a number.

The flux for the impurity is given by:

 C z
n  –c –z  + X0  n  
 ---
JA = –  D - ∇ C A -------- ---
- (166)
AX
c
 n i  * n  
c, X  C X0 i 

where D AXc is the effective diffusivity of dopant point-defect pair at charge state c , z is the
+
charge state of dopant A , C A is the active portion of C A , C X0 is the concentration of the neutral
*
point defect X , and C X0 is the equilibrium concentration of the same defect and is given by
Eq. 134, p. 200.

The effective diffusivity is related to the bare dopant–defect diffusivity, d AXc , by:
*
D c = C 0k ck c
d c
AX X X AX AX
E (167)
0  – D AX c
= D c exp  ---------------
AX  kB T 

You can set D AXc by using:


pdbSet <material> <dopant> <defect> D <c> {<n>}

Sentaurus Process User Guide 207


H-2013.03
4: Diffusion
Transport Models

NOTE Diffusion coefficients D for the ChargedPair model and Dstar for
the ChargedFermi model include the interstitial efficiency factors.

Both the flux for the defects ( J X ) and the defect recombination rate ( R IV ) are the same as the
ChargedReact model and are given by Eq. 137, p. 201 and Eq. 148, p. 203, respectively.

Pair Diffusion Model


The Pair diffusion model is similar to the ChargedPair model except that the reaction rates
are not charge state–dependent, and the electron concentration is computed directly from the
net doping concentration. In addition, the Frank–Turnbull mechanism is not considered. The
kick-out mechanism, which describes the dopant–defect pairing, is given by:
A + I ↔ AI (168)

A + V ↔ AV (169)

and is assumed to be in equilibrium. In these two equations, A is the dopant, I is the interstitial,
and V is the vacancy.

As in the ChargedPair model, the following set of differential equations is solved:

∂C A clus
= – ∇•J A – R A (170)
∂t

∂ clus
(C ) = – ∇•J X – ∇•J A – R IV – R X (171)
∂ t X total

where C Xtotal ≡ C X + C AX is the total interstitial concentration including dopant–defect X pairs


but excluding clusters, J A is the sum of AI and AV pair fluxes, J X is the defect flux, and C A
is the total dopant concentration excluding clusters.

An equilibrium constant for the pairing reactions is defined and given by:
+
C AX ≡ B AX C A C X (172)

where X is either interstitial or vacancy, B AX is the binding coefficient of defect X and dopant
+
A , and C A is the active portion of C A .

The binding term between the defect and dopant also follows the Arrhenius law:
– B AXE
B AX = B AX0 exp  ---------------- (173)
 kT 

208 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Transport Models

The term can be changed with the command:


pdbSet <material> <dopant> <defect> Binding {<n>}

The flux for the impurity is given by:

n  – c –z  + C X  n  z
 ---
JA = –  D - ∇ C A ------*- ----  (174)
AX
c
 n i  C X  n i 
c, X

where D AXc represents the diffusivity of dopant point-defect pairs at charge state c , z is the
+
charge state of dopant A , C A is the active portion of C A , and X is either interstitial or vacancy.
The effective diffusivity is related to the bare dopant–defect diffusivity, d AXc , by:
*
D c = C 0k cB d c
AX X X AX AX
E (175)
0  – D AX c
= D c exp  ---------------
AX  kB T 

*
where C X0 is the equilibrium concentration of the neutral point defect X and the ionization
equilibrium constant, k Xc , is defined by Eq. 135, p. 200 and Eq. 136, p. 200.

To modify diffusivity terms, use the command:


pdbSet <material> <dopant> <defect> D <charge> {<n>}

Both the flux for the defects ( J X ) and the defect recombination rate ( R IV ) are the same as the
ChargedReact model and are given by Eq. 137, p. 201 and Eq. 148, p. 203, respectively.

ChargedFermi Diffusion Model


The ChargedFermi diffusion model is similar to the ChargedPair diffusion model, except
that charged point defects are considered to be in equilibrium; no point-defect equations are
solved for inert diffusion conditions if the point defect clusters are not turned on. If the point
defect clusters are turned on or the oxidation is on, the point defect equations will be turned on
automatically. The substitutional dopants are immobile and the total dopant flux is due to the
dopant–defect pairs. The following set of differential equations is solved along with the
potential equation Eq. 357, p. 267:

∂C A
= – ∇•J A (176)
∂t

Sentaurus Process User Guide 209


H-2013.03
4: Diffusion
Transport Models

As in the ChargedPair model, a set of pairing constants ( k AXc ) that define the pair
concentration is defined:
n –c
 k c  ----
+
C AX ≡ C A C k (177)
X n 
0 c
X AX
i
c

where:
■ X is either interstitial or vacancy.
■ c is the charge state of the point defect.
■ z is the charge state of dopant A .
+
■ C A is the active portion of C A .

The ionization equilibrium constant k Xc is given by Eq. 135, p. 200 and Eq. 136, p. 200.

The dopant flux J A is given by:

 C z
n  –c –z  + X0  n  
 ---
JA = –  D - ∇ C A -------- ---
- (178)
AX
c
 n i  * n  
c, X  C X0 i 

where:
■ D AXC is the effective diffusivity of dopant point–defect pairs at charge state c .
■ C X0 is the concentration of the neutral point defect X .
*
■ C X0 is the equilibrium concentration of the same defect and is given by Eq. 134, p. 200.
*
■ C X0 will be equal to C X0 if the point-defect equations are switched off.
■ D AXC is related to the bare diffusivity d AXc by:
*
D c = C 0k c k cd c
AX X AX X AX
E (179)
0  – D AX c
= D c exp  -
--------------
AX  kB T 

You can set D AXc by using:


pdbSet <material> <dopant> <defect> Dstar <c> {<n>}

The pairing coefficients for the dopant–defect pairs with different charge states, k AXc , can be
defined with the command:
pdbSet <material> <dopant> <defect> ChargePair <c> {<n>}

NOTE If the point-defect clusters are switched off and oxidation is switched
on, only the interstitial point-defect equation will be switched on.

210 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Transport Models

Fermi Diffusion Model


The Fermi diffusion model is more complex than the Constant diffusion model. It assumes
that point defects are in equilibrium and it includes electric-field effects. Therefore, the point-
defect equations are not solved.

As in the ChargedPair model, the following set of differential equations is solved:

∂C A
= – ∇•J A (180)
∂t

where J A is the sum of AI and AV pair fluxes, and C A is the total dopant concentration
including clusters.

An equilibrium constant for the pairing reactions is defined and given by:
+
C AX ≡ B AX C A C X (181)

where X is either interstitial or vacancy, B AX is the binding coefficient of defect X and dopant
+
A , and C A is the active portion of C A . The dopant flux is given by:
n  – c – z  +  n  z
 ---
JA = –  D - ∇ C A ---- (182)
AX
c
 n i   n i 
X, c

where:
■ c is the charge state of the point defect.
■ z is the charge state of dopant A .
+
■ C A is the active portion of C A .
■ X is either interstitial or vacancy.
■ D AXC is the effective diffusivity of dopant point-defect pairs at charge state c and is related
to the bare diffusivity d AXc by:
*
D c = C 0 B AX k c d c
AX X X AX
E (183)
0  – D AX c
= D c exp  -
--------------
AX  kB T 

The pairing ratio B AX only appears in the formula for D and cannot be modified independently
in the Fermi model. You can set D AXc by using:
pdbSet <material> <dopant> <defect> Dstar <c> {<n>}

Sentaurus Process User Guide 211


H-2013.03
4: Diffusion
Transport Models

Constant Diffusion Model


The Constant diffusion model is the simplest diffusion model used in Sentaurus Process and
is mainly for dopant diffusion in oxide. It assumes that there is no interaction between dopants
and point defects, and that there are no electric-field effects on dopant diffusion. The point-
defect equations are also switched off. The impurity diffusion is given by:

∂C A +
= ∇•( D star ∇C A ) (184)
∂t

+
where D star is the intrinsic diffusivity of the impurity A and C A is the active portion of C A .
The diffusivity follows the Arrhenius law:
– D starE
D star = D star0 exp  ------------------- (185)
 kT 

For example, the command:


pdbSet Silicon Arsenic Dstar {[Arrhenius 6.66e-2 3.44]})
–2 2
sets the D star0 to 6.66 × 10 cm /s and D starE to 3.44 eV. The general format of the command
is:
pdbSet <material> <dopant> Dstar {<n>}

NOTE Unlike the ChargedFermi model, Dstar is not defined as an array for
the Constant model.

NeutralReact Diffusion Model


NeutralReact diffusion in silicon is close to the React model (see React Diffusion Model
on page 204) except that there are no charged atoms. The model can be switched on using the
command:
pdbSet <material> <dopant> DiffModel NeutralReact

NeutralReact diffusion in silicon is described by a kick-out mechanism [1]. Other


mechanisms such as dissociation and clustering can also be taken into account. In the
integration in Sentaurus Process, each of these mechanisms is described by one or more terms:
A + I ↔ AI (186)

AI + V ↔ A (187)

212 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Transport Models

where A is the substitutional dopant, AI is the mobile dopant–interstitial pair, I is interstitial,


and V is vacancy. The first reaction is the kick-out reaction and the second one is the
dissociation reaction. These reaction can be written as:
R KickOut ≡ K fI ( C A C I – B AI C AI ) (188)

* *
R Dissociation ≡ K fV ( C AI C V – C I C V B AV C A ) (189)

where:
■ C A is the concentration of substitutional dopant atoms.
■ C AI is the concentration of mobile dopant atoms.
■ Kf I and Kf V are the forward reaction rates.
■ B AI and B AV are the binding coefficients.

They can be set using the following commands:


pdbSet <material> <dopant> Interstitial Kf {<n>}
pdbSet <material> <dopant> Vacancy Kf {<n>}
pdbSet <material> <dopant> Interstitial Bind {<n>}
pdbSet <material> <dopant> Vacancy Bind {<n>}

The differential equations that describe the model are:

∂C A
= R Dissociation – R KickOut (190)
∂t

∂C AI
= ∇•( D 0 ∇C AI ) + R KickOut – R Dissociation (191)
∂t AI

where D AI0 is the diffusivity of mobile dopant–interstitial pairs and can be set using the
command:
pdbSet <material> <dopant> Interstitial D 0 {<n>}

Carbon Diffusion Model

Carbon diffusion is a typical example for the NeutralReact diffusion model. The kick-out
reaction rate is defined by:
pdbSet Silicon Carbon Interstitial Kf {\
[expr ([pdbGetElement Si Carbon D 0]/([pdbDelayDouble Si Carbon\
MigrationLength]* [pdbDelayDouble Si Carbon\
MigrationLength]*[pdbDelayDouble Si Int Cstar]))]\
}

Sentaurus Process User Guide 213


H-2013.03
4: Diffusion
Transport Models

D 0
C
will set K fI to ----------------------------------------
2 *
.
λ C I ( intrinsic )
λ is the migration length (cm) of carbon atoms and D C0 is the diffusivity of carbon, and these
parameters can be set using the commands:
pdbSet <material> Carbon MigrationLength {<n>}
pdbSet <material> Carbon D 0 {<n>}

For the details of the carbon-clustering model, see Carbon Cluster on page 290.

Nitrogen Diffusion Model


Nitrogen diffusion is defined according to the Constant diffusion model by default. However,
instead of the Constant model, the NeutralReact diffusion model can be used for nitrogen
diffusion. If the NeutralReact model is specified for nitrogen diffusion, the nitrogen dimer
forms and diffuses. The dimer is formed by the following reaction:
NI + NI ↔ N2 (192)

In the above reaction, NI is the monomer, in other words, nitrogen interstitial N i , and N2
denotes the dimer ( N i ) 2 , which has the solution name NDimer. The nitrogen monomer and
dimer equations are formulated by:

∂C N
= R Dissociation – R KickOut – R NV (193)
∂t

∂C NI
= ∇•( D 0 ∇C NI ) + R KickOut – R Dissociation – R N2 (194)
∂t NI

∂C N2
= ∇•( D N2 ∇C N2 ) + R N2 – R N2V (195)
∂t

∂C N2V
= R N2V – R N2V2 (196)
∂t

∂C N2V2
= R N2V2 (197)
∂t

The reaction R N2 for dimer formation is given by:


R N2 ≡ K fN2 ( C NI C NI – B N2 C N2 ) (198)

214 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Transport Models

where:
■ C NI is the concentration of nitrogen monomers.
■ C N2 is the concentration of nitrogen dimers.
■ K fN2 is the forward reaction rate.
■ B N2 is the binding coefficient.

They can be set using the following commands:


pdbSet <material> NDimer Kf {<n>}
pdbSet <material> NDimer Bind {<n>}

For details on the nitrogen clusters NV, N2V, and N2V2, see Nitrogen Cluster on page 291.

Mobile Impurities and Ion-Pairing


The ion-pairing model includes the pairing of positively and negatively charged dopant
ions [2][3][4]. Ion-pairing reduces the diffusivity of dopants where the concentration of
dopants of the opposite type is large. The ion-pairing model assumes that positively charged
donors can bind with negatively charged acceptors to form neutral pairs. The ion-pairing model
is significant because it allows the dependency of the impurity diffusivity to be modeled in both
n-type and p-type materials. In particular, it reduces the effective diffusivity of boron in n-type
materials without affecting its diffusivity at high p-type concentrations.

The model reduces the mobile concentration of dopant species by the following factors:
Np
f pd =  1 – ------ for donor species (199)
 N d

Np
f pa =  1 – ------ for acceptor species (200)
Na

where:
■ N d and N a are the total concentrations of electrically active donors and acceptors,
respectively.
■ N p is the concentration of ion pairs.
■ f pd and f pa are the ion-pairing factors for donors and acceptors, respectively.

The concentration of ion pairs N p is given by:


1 2
N p = --- ( ( N d + N a + Ω ) – ( N d + N a + Ω ) – 4N d N a ) (201)
2

Sentaurus Process User Guide 215


H-2013.03
4: Diffusion
Solid Phase Epitaxial Regrowth Model

The parameter Ω is given by:


Ω = [Link] ⋅ n i (202)

where [Link] is a parameter for material; the default value for silicon and
polysilicon is 6.0 [3].

The ion-pairing model is enabled or disabled for each material by the [Link] parameter.
By default, it is disabled for all materials.

Solid Phase Epitaxial Regrowth Model


The solid phase epitaxial regrowth (SPER) model simulates the movement of amorphous and
crystalline boundaries due to the recrystallization of the amorphous silicon and the dopant
dynamics during such process. The SPER model is switched on by:
pdbSet Diffuse SPER 1

The boundary movement is described with the specific solution fields, either the distance field
by the level-set method or the phase field by the phase-field method. You can select one of the
models by:
pdbSet Diffuse [Link] {LevelSet | PhaseField} ;# default=LevelSet

Level-Set Method
The level-set method solves the equation for the distance field ϕ , which is named with
AmorpDistance:

∂ϕ
------ + v ∇ϕ = 0 (203)
∂t

where:
■ v is the recrystallization velocity perpendicular to a boundary surface.
■ ϕ is positive in an amorphous region, negative in a crystalline region, and zero at an
amorphous–crystalline boundary.

The velocity v is defined by:

v = f v ⋅ v ori ( V100, V110, V111 ) ⋅  1 – ( 1 – s v ) exp  – ------- 


d
  L vr 
(204)

216 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Solid Phase Epitaxial Regrowth Model

where:
■ f v is the scaling factor.
■ v ori is the orientation-dependent velocity.
■ s v is the scaling factor of velocity near surfaces.
■ d is the shortest distance from the surface.
■ L vr is the characteristic length for velocity reduction near surfaces.
pdbSet Silicon SPER [Link] {<expression>} ;# f_v (unitless)
pdbSet Silicon SPER V100 {<n>} ;# cm/sec
pdbSet Silicon SPER V110 {<n>} ;# cm/sec
pdbSet Silicon SPER V111 {<n>} ;# cm/sec
pdbSet Silicon SPER VsurfScale {<n>} ;# s_v (unitless)
pdbSet Silicon SPER VsurfScaleLength {<n>} ;# L_vr (um)

The tensor mesh structure to solve the level-set equation is defined by:
pdbSet Grid SPER TensorMeshSpacing {X <n> Y <n> Z <n>} ;# (um)

The level-set algorithm used is the general time-stepping initial-value formulation as described
in MGOALS Interface on page 754.

It is assumed that all dopant atoms are mobile in an amorphous region. The diffusion
coefficient of the mobile species in the amorphous region is specified by:
pdbSet Silicon <dopant> DAmor {<n>} ;# cm2/sec

It has been experimentally observed that during regrowth of an amorphous layer, dopants can
be swept along by the amorphous–crystalline boundary. The physical mechanism for this
sweeping behavior is not well understood. To model this effect, a phenomenological model has
been introduced as follows:

∂X
= ∇ ⋅  f D αv D L d  1 – ( 1 – P ) exp  – --------  X∇α S
d
(205)
∂t L dr

where:
■ f D is the user-defined multiplication factor.
■ v D is the local speed of distance variation.
■ L d is the characteristic length of dopant drift.
■ P is the drift probability near material interfaces.
■ d is the shortest distance from material interfaces.
■ L dr is the characteristic length for drift reduction near material interfaces.

Sentaurus Process User Guide 217


H-2013.03
4: Diffusion
Solid Phase Epitaxial Regrowth Model

■ α is the amorphous state calculated by:


1 ϕ
α = --- ⋅ erfc(– ------) (206)
2 wT

where w T is the phase transition width. α is 1.0 and 0.0 in a completely amorphous and
crystalline region, respectively.
■ α S is the shifted amorphous state given by:

1 ϕ – dD
α S = --- ⋅ erfc(– ----------------) (207)
2 wD

pdbSet Silicon SPER PhaseTransWidth {<n>} ;# w_T (um)


pdbSet Silicon SPER DriftWidth {<n>} ;# w_D (um)
pdbSet Silicon SPER DriftFactor {<expression>} ;# f_D (unitless)
pdbSet Silicon SPER DriftDistance {<n>} ;# d_D (um)
pdbSet Silicon SPER SurfaceDriftProbability {<n>} ;# P (unitless)
pdbSet Silicon SPER DriftReductionLength ;# L_dr (um)
pdbSetDouble Silicon <dopant> [Link] {<n>} ;# L_d (um)

The parameters SurfaceDriftProbability and DriftReductionLength can be


specified for a specific dopant by:
pdbSetDouble Silicon <dopant> [Link] {<n>}
pdbSetDouble Silicon <dopant> [Link] {<n>}

To control the clustering rate in the region between amorphous and crystalline regions, an
additional term can be defined by:
pdbSetString Si <cluster> SPERBoundaryTerm {<expression>}
pdbSetString Si <dopant> SPERBoundaryTerm {<expression>}

NOTE The term added by SPERBoundaryTerm of <cluster> must be


correctly subtracted by SPERBoundaryTerm of <dopant> so that the
total dose conservation is kept, for example:
pdbSetString Si As3 SPERBoundaryTerm "-1e1*(0.99*AsTotal-3.0*As3)"
pdbSetString Si Arsenic SPERBoundaryTerm "3e1*(0.99*AsTotal-3.0*As3)"

The full equation of a dopant is described by:

∂X ∂X
= (1 – α) (208)
∂t ∂t crystal
 9ϕ 2
+ α∇ ⋅  D amor ∇X + ∇ ⋅  f D αv D L d  1 – ( 1 – P ) exp  – --------  X∇α S – R ⋅ exp  – --------2-
d
     L dr    WT 

where R is defined by SPERBoundaryTerm.

218 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Solid Phase Epitaxial Regrowth Model

The maximum time step during SPER is set by:


WT
Δt max = min([Link] ⋅ -----------------, [Link]) (209)
max(v)

Phase Field Method


Since the level-set method requires Cartesian grids to calculate the distance field, it may cause
instability from the difficult time-step control as well as the interpolation error due to the
decoupled method with the different mesh structure. The phase field method uses a consistent
mesh structure, so that the phase and the other solutions are coupled seamlessly into the
hydrodynamic Scharfetter–Gummel discretization scheme, which improves the convergence if
there is high drift due to an abrupt phase change.

The phase field method solves the equation for the phase field ϕ , which is named with
SPERPhase:

∂ϕ 2 2 2 2
τ ------ = w ∇ ϕ – ( ϕ – 1 ) ( ϕ – λ ( ϕ – 1 ) ) (210)
∂t

where:
■ τ , w , and ϕ are the relaxation time, the phase transition width, and the phase (–1 for
completely amorphous, 1 for completely crystalline), respectively.
■ w and λ are given by the parameters PhaseTransWidth and [Link], respectively.

The inverse of the relaxation time τ is calculated by:


E aniso + E Sv + E Ss
= f iso f aniso R exp  – ---------------------------------------------
–1
τ (211)
kT

where:
■ f iso and f aniso are the isotropic and anisotropic multiplication factors, respectively.
■ R is the relaxation rate.
■ E aniso , E Sv and E Ss are the orientation-dependent, the hydrostatic stress–dependent, and
shear stress–dependent activation energies, respectively.
∇ϕ
E aniso =  [Link] ⋅ ------------
∇ϕ
(212)
100, 110, 111

E Sv = P ⋅ VFrecrys (213)

E Ss = [Link] ⋅ ( ε xy + ε yz + ε zx ) (214)

Sentaurus Process User Guide 219


H-2013.03
4: Diffusion
Flash or Laser Anneal Model

pdbSet Silicon SPER [Link] {<n>} ;# R(1/sec)


pdbSet Silicon SPER [Link] {<expression>} ;# f_iso (unitless)
pdbSet Silicon SPER [Link] {100 <n> 110 <n> 111 <n>} ;# f_aniso (unitless)
pdbSet Silicon SPER [Link] {100 <n> 110 <n> 111 <n>} ;# E_aniso (eV)
pdbSet Silicon SPER VFrecrys {<n>} ;# (cm-3)
pdbSet Silicon SPER [Link] {<n>} ;# (eV)

The phase field method assumes no diffusion in a crystalline region during SPER, so that the
diffusion equation of a dopant is formulated by:

∂X 1–ϕ E seg
------ =  ------------ ∇ ⋅  D amor ∇X + D amor X ----------∇ϕ (215)
∂t  2   kT 

where E seg is the chemical potential energy difference to cause the dopant segregation at an
amorphous–crystalline boundary.

E seg is given by the parameter [Link] that you can define with a string expression:
pdbSet Silicon <dopant> [Link] {<expression>} ;# E_seg (eV)

The maximum time step during SPER is set by:


τ min
Δt max = min([Link] ⋅ ----------, [Link]) (216)
4

As soon as regrowth is completed, the dopant activation in the regrowth region is performed
with the pdb parameter AmInit or the term ${Sol}AmInit.

NOTE Since the dopant active concentration is initialized after regrowth is


completed, the evaluated values of some terms, such as ${Sol}Total
and ${Sol}Active can be incorrect during SPER.

Flash or Laser Anneal Model


The flash or laser anneal model becomes necessary for an advanced process that requires
diffusionless, but high activation. The model can simulate the inhomogeneous thermal
distribution, which results in better accuracy for stress calculation as well as heat transfer delay
to the region in which the devices form. The flash or laser model is not available for 3D
simulation yet.

The solution name of the local temperature T (in kelvin) is Temperature. The model is
switched on by specifying the Boolean parameter laser in a diffusion statement. For example:
diffuse temperature=500 time=1<ms> laser

220 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Flash or Laser Anneal Model

For a melting laser anneal, the phase field variable ϕ is introduced to describe whether the
material is liquid or solid. The solution name of the phase ϕ is HeatPhase. The melting laser
anneal model is invoked by switching on the Boolean parameter [Link]:
pdbSet Heat [Link] 1

The heat transfer equation is:

∂T 2 2 ∂ϕ
ρc P ------ = ∇•( κ ∇T ) + G + 30ρLϕ ( 1 – ϕ ) (217)
∂t ∂t

where:
■ κ , ρ , and c P are the conductivity, the mass density, and the specific heat capacity,
respectively. κ and c P can depend on temperature.
■ L is the unit mass latent heat (Eq. 229). The phase-dependent term takes the heat
consumption (or generation) due to the solid-to-liquid (or liquid-to-solid) phase change
into account.

κ and c P vary with the liquid or solid phase as follows:


c P = ϕc Ps + ( 1 – ϕ )c Pl (218)

κ = ϕκ s + ( 1 – ϕ )κ l (219)

pdbSet <material> SpecificHeatCapacity {<expression>} ;# Cps (J/kg/K)


pdbSet <material> [Link] {<expression>} ;# Cpl (J/kg/K)
pdbSet <material> ThermalConductivity {<expression>} ;# ks (W/cm/K)
pdbSet <material> [Link] {<expression>} ;# kl (W/cm/K)

The heat generation rate G is calculated by:


l=d
G = I ⋅ α exp  –  α dl (220)
 l=0 

where I , α , and d represent the intensity, absorptivity, and depth, respectively. The
absorptivity is given by the user-defined expression:
pdbSet <material> Absorptivity {<expression>} ;# cm-1

See Intensity Models for Flash Anneal on page 227 and Intensity Model for Scanning Laser on
page 229 for the intensity models.

The governing equation of the phase field ϕ is given by:

∂ϕ μγ v int 2 2
------ = μγ ∇2ϕ – -----2- ϕ ( 1 – ϕ ) ( 1 – 2ϕ ) + 5 -------ϕ ( 1 – ϕ ) + s ( T, ϕ ) (221)
∂t δ δ

Sentaurus Process User Guide 221


H-2013.03
4: Diffusion
Flash or Laser Anneal Model

where:
■ μ , γ , and δ are the melting interface mobility, the surface tension, and the interface
thickness, respectively. μ and γ depend on material crystallinity.
■ s ( T, ϕ ) is the seed function to start liquidation.
■ ν int is the interface response function to describe the front moving velocity of the flat
melting interface:
μ = αμ a + ( 1 – α )μ c (222)

γ = αγ a + ( 1 – α )γ c (223)

where the subscripts a and c of μ and γ indicate the amorphous and crystalline materials,
respectively. The α is the degree of the structural disorder in a material that is calculated
by:
D FP
α = ---  1 + tanh  10 ln  ------------  
1
(224)
2   D max  

where D FP is the Frenkel pair concentration by implantation damage, and D max is the
amorphous threshold to determine the amorphous and crystal transition.
pdbSet <material> [Link] {<n>} ;# uc (cm4/J/sec)
pdbSet <material> [Link] {<n>} ;# ua (cm4/J/sec)
pdbSet <material> [Link] {<n>} ;# gammac (J/cm2)
pdbSet <material> [Link] {<n>} ;# gammaa (J/cm2)
pdbSet <material> AmorpDensity {<n>} ;# Dmax (cm-3)

The seed function is modeled by:


2
δ T – Tm
s ( T, ϕ ) = – f s ------ ϕ  1 – --- erfc(----------------)
1
(225)
μγ 2 Ts

where T m is the melting point, the multiplier to control initial liquidation. f s and T s are the
multiplier and the temperature to control initial liquidation. The seed term in Eq. 221 is
switched off when ϕ is reduced to less than the SeedOffPhase value:
pdbSet Heat [Link] {<expression>} ;# fs (unitless)
pdbSet Heat [Link] {<n>} ;# Ts (K)
pdbSet Heat SeedOffPhase {<n>} ;# unitless

It is known that the melting point varies with the dopant concentration, such as for germanium,
as well as material crystallinity. The melting point is calculated by:
Cx Cx
T m = α  T ma0 + ( T ma1 – T ma0 ) ------------ + ( 1 – α )  T mc0 + ( T mc1 – T ma0 ) ------------ (226)
 C max  C max

222 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Flash or Laser Anneal Model

where α , T ma0 , and T mc0 are the degree of structural disorder, and the melting point of
amorphous material and crystalline material, respectively. C x is the concentration of the
dopant that affects the melting point. For example:
pdbSet Silicon [Link] 1690 ;# Tmc0
pdbSet Silicon [Link] 1420 ;# Tma0
pdbSet Silicon [Link] { Ge {960 1211} } ;# Tma1 and Tmc1

The interface response function V int is modeled by the Frenkel–Wilson law [5]:
ρL ⁄ C max
V int = v  1 – exp  ----------------------- ( T – T m )  (227)
  kTT m 

where C max is the lattice density. The liquid-to-solid interface transfer rate ν is given by:


v 0 exp  – ------
H
 for Arrhenius model
 kT
v =  (228)

 v 0f exp  – -----------------------
B
for Vogel–Fulcher model
  k ( T – T g )

where the model can be selected by:


pdbSet <material> [Link] {Arrhenius | FulcherVogel}

The latent heat and the liquid-to-solid interface transfer rate depend on crystallinity as follows:
L = αL a + ( 1 – α )L c (229)

v 0 = αv 0a + ( 1 – α )v 0c (230)

H = αH a + ( 1 – α )H c (231)

v 0f = αv 0fa + ( 1 – α )v 0fc (232)

B = αB a + ( 1 – α )B c (233)

T g0 = αT ga + ( 1 – α )T gc (234)

where the subscripts a and c indicate the parameter for the amorphous and crystalline
materials, respectively.
pdbSet <material> [Link] {<n>} ;# Lc (J/kg)
pdbSet <material> [Link] {<n>} ;# La (J/kg)
pdbSet <material> [Link].0 {<n>} ;# v0c (cm/sec)
pdbSet <material> [Link].E {<n>} ;# Hc (eV)
pdbSet <material> [Link].0 {<n>} ;# v0a (cm/sec)

Sentaurus Process User Guide 223


H-2013.03
4: Diffusion
Flash or Laser Anneal Model

pdbSet <material> [Link].E {<n>} ;# Ha (eV)


pdbSet <material> [Link].0 {<n>} ;# v0c (cm/sec)
pdbSet <material> [Link].E {<n>} ;# Hc (eV)
pdbSet <material> [Link].T {<n>} ;# Tgc (K)
pdbSet <material> [Link].0 {<n>} ;# v0a (cm/sec)
pdbSet <material> [Link].E {<n>} ;# Ha (eV)
pdbSet <material> [Link].T {<n>} ;# Tga (K)

Dopant Diffusion in Melting Laser Anneal


Since the liquidation or solidification process occurs too quickly to observe the dopant
diffusion in a solid region, it is assumed that the dopant atoms diffuse only by entropic force
and temperature gradient. The different chemical potentials of dopants at liquid, solid, and
boundary regions induce the segregation. During melting laser anneal, the temperature varies
greatly depending on the location. Therefore, the dopant diffusion equation must be solved by
coupling it to the heat equation (Eq. 217) and the phase equation (Eq. 221):

∂C C eq C eq0
= ∇• D ----------- ∇ C -----------  (235)
∂t  C eq0  C eq  

D ϕ
 liquid + ( D ils – D liquid ) -----ϕL
- for ( ϕ ≤ ϕ L )

 D for ( ϕ L < ϕ ≤ ϕ S )
D = 
ils

(236)
1–ϕ
 D solid + ( D ils – D solid ) --------------- for ( ϕ S ≤ ϕ )
 1 – ϕS

 ϕD solid + ( 1 – ϕ )D liquid if ( ϕ L > ϕ S )

2 2
C eq  ϕE seg + 16ϕ ( 1 – ϕ ) E intf
----------- = exp  – ---------------------------------------------------------------- (237)
C eq0  kT 

where:
■ D liquid , D ils , and D solid are the dopant diffusivities in a liquid, a liquid–solid interface, and
solid regions, respectively. D solid is calculated by an Arrhenius formula with global
temperature.
■ E seg and E intf are the chemical potential energies in a solid state and an interface state
relative to that in a liquid state, respectively.
pdbSet Heat [Link] {<n>} ;# phi_L (unitless)
pdbSet Heat [Link] {<n>} ;# phi_S (unitless)
pdbSet <material> <dopant> Dliquid.0 {<n>} ;# cm2/sec
pdbSet <material> <dopant> Dliquid.E {<n>} ;# eV
pdbSet <material> <dopant> Dils.0 {<n>} ;# cm2/sec

224 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Flash or Laser Anneal Model

pdbSet <material> <dopant> Dils.E {<n>} ;# eV


pdbSet <material> <dopant> Dstar {<n>} ;# cm2/sec (Dsolid)
pdbSet <material> <dopant> [Link].E {<n>} ;# eV
pdbSet <material> <dopant> [Link].E {<n>} ;# eV

To solve the dopant diffusion equation by coupling it with the heat and phase equations, use:
solution name= <solution> Heat

By default, it is applied to boron, phosphorus, arsenic, antimony, and indium impurities.

The instant recrystallization of an amorphous region, that is, the initialization of cluster
solutions, is performed before diffusion. The cluster solutions are reset to zero in a melted
region during diffusion by multiplying ϕ by the cluster solutions, which implies that all
dopants in a liquid region are activated fully. Like the cluster solutions, the point-defect and
defect-cluster solutions are reset to zero in liquid regions.

Saving a Thermal Profile


To save the thermal profile computed during this step to a file, use the [Link]
parameter of the diffuse command. In a subsequent simulation, you can use this file to create
a temperature ramp using the [Link] parameter of the temp_ramp command. For
more information, see diffuse on page 875 and term on page 1099.

Boundary Conditions
At the top surface, that is, the gas interface, the heat emission flux from the top material is given
by:
– 12 4 4
F = – 5.6703 ⋅ 10 ⋅ Emissivity ⋅ ( T – T 0 ) (238)

where T 0 is the environment temperature specified by temperature in the diffuse


command.

At the bottom, the boundary condition depends on whether the thermal resistor is attached. If
AttachThermalResistor is switched on, the emission flux at bottom is calculated by:

κ
F = –  -------------------- ( T – T 0 ) (239)
 t w – x bot

Sentaurus Process User Guide 225


H-2013.03
4: Diffusion
Flash or Laser Anneal Model

where t w and x bot are the wafer thickness and the bottom coordinate of a simulation structure,
respectively. Otherwise:
F = – HeatSinkTransfer ( T – T 0 ) (240)

The wafer thickness in micrometers is specified by:


pdbSet Heat WaferThickness <n>

At the sides, the flux is calculated by:


F = – SideHeatTransfer ( T – T 0 ) (241)

By default, SideHeatTransfer is set to zero for all materials.

Structure Extension
The heat transfer is much faster in comparison with an impurity or a point-defect diffusion. For
example, in silicon, the diffusion length of the heat temperature is 20–30 times longer than that
of interstitials at 800°C . Therefore, solving the heat equation requires a much larger structure
size than for diffusion equations. The model provides the method to temporarily extend the
current structure for solving the heat equation, and then recovers the original structure after
finishing the laser or flash anneal. The downward extension is controlled by the Boolean
parameter ExtendBottom.

The location of the extended bottom is specified by WaferThickness, for example:


pdbSet Heat ExtendBottom 1
pdbSet Heat WaferThickness 700

which are defined by default.

Since the flash light source transfers heat to the whole wafer surface at the same time, no heat
flux is assumed at the structure sides so that you do not have to extend the structure along the
side directions. However, since the laser anneal scans a wafer by beaming a laser on a localized
spot, the structure must be extended to the side directions to correctly take into account the heat
transfer from the beamed spot. The extended distance in micrometers to the sides is defined
with:
pdbSet Heat SideExtension <n>

To reduce the computation time for the extension, one side among the left and right sides is
extended first, and then the extended structure is reflected on the side that is defined by:
pdbSet Heat ReflectSide <Left | Right | None>

226 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Flash or Laser Anneal Model

For example, the following statements specify an extension of 200 μm in the right direction
and a reflection of the extended structure on the left side:
pdbSet Heat SideExtension 200
pdbSet Heat ReflectSide Left

When ReflectSide is set to None, each side (that is, both the left and right sides) is extended.

The material of all the extended regions is set to HeatSubstrate. The thermal properties of
the HeatSubstrate material are defined internally to the same as the BulkMaterial
material (default value: Si). In the region of HeatSubstrate, only the heat equation is solved.

Intensity Models for Flash Anneal


Intensity can be specified by a Gaussian model, or a table lookup method, or a user-specified
model:
pdbSet Heat [Link] { Gaussian | Table | User }

Gaussian Model
The intensity I can be given by the Gaussian profile as follows:
2
Fluence  ( t – t0 ) 
I = ------------------------- exp  – ------------------
- (242)
2πt s  2t s 
2

Pulse
t s = ------------------- (243)
2 2 ln 2

where Pulse is the full width at half maximum (FWHM) time interval. The parameter
2
Fluence is the energy dose in J/cm .

Sentaurus Process User Guide 227


H-2013.03
4: Diffusion
Flash or Laser Anneal Model

2 ln 2 ⁄ π ⋅ Fluence/Pulse

ln 2 ⁄ π ⋅ Fluence/Pulse
PULSE

Gaussian

0 3 ts 6 ts Time

Figure 34 Heat Intensity for flash anneal with respect to time

Table Lookup Method

The table of time versus intensity can be given by:


pdbSet Heat [Link] { <t1> <I1> <t2> <I2> ... <tn> <In> }

The intensity values in the table can be scaled by:


pdbSet Heat [Link] {<n>}

User-specified Model
2
You can define the heat intensity profile by using IntensityProfile (unit is J/cm /s ). The
heating time, that is, the light-sourcing time for the user-specified intensity is given by the
parameter HeatingTime. For example, for the sum of two different Gaussian intensities:
set ttime "\[simGetDouble Heat time\]"
set rt2pi [expr sqrt(2*3.141592)]
set tp1 3e-3 #from 3*sigma = 3*1e-3
set tp2 6e-3 #from 3*sigma = 3*2e-3
set ts1 2e-6 #from 2*sigma*sigma = 2*1e-3*1e-3
set ts2 8e-6 #from 2*sigma*sigma = 2*2e-3*2e-3

228 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Flash or Laser Anneal Model

pdbSet Heat HeatingTime 12e-3


pdbSet Heat IntensityProfile "1e4/$rt2pi*exp(-((($ttime-$tp1)^2)/$ts1)) \
+2.5e3/$rt2pi*exp(-((($ttime-$tp2)^2)/$ts2))"

Here, [simGetDouble Heat time] returns the current time that is used to solve the heat
equation.

Intensity Model for Scanning Laser


The scanning laser beam is characterized with the scanning speed (cm/s), the beam width
( μm ), and the beam fading distance ( μm ) by diffraction:
pdbSet Heat ScanSpeed <n>
pdbSet Heat BeamWidth <n>
pdbSet Heat BeamFadeDistance <n>

The intensity specification for laser beam precedents that of a flash light source. When a
positive ScanSpeed is specified, the laser scanning model is assumed and the heat intensity is
calculated with the laser beam parameters.

Two complementary error functions are multiplied to generate the laser beam intensity as
shown in Figure 35.
I/BeamIntensity

1/4 erfc(-y/BeamFadeDistance) erfc((y-BeamWidth)/BeamFadeDistance)


1.0

BeamWidth
0.5

0.0786 BeamFadeDistance
0 Distance

Figure 35 Heat intensity profile for laser beam

Sentaurus Process User Guide 229


H-2013.03
4: Diffusion
Flash or Laser Anneal Model

The laser beam moves by the distance (BeamWidth-BeamOverlap) after (BeamWidth-


BeamOverlap)/ScanSpeed anneal time step. As BeamOverlap approaches BeamWidth,
the simulation accuracy is improved.

Beam Location

(BeamWidth-BeamOverlap)(um)
reality

model

(BeamWidth-BeamOverlap)/ScanSpeed (10-4s)

0
Time
Figure 36 Beam location along time

I/BeamIntensity

t=0s t=(BeamWidth-BeamOverlap)/ScanSpeed (10-4s)


1.0

BeamOverlap
0.5

0
Distance
Figure 37 Laser beam displacement at each time step

230 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Flash or Laser Anneal Model

Control Parameters
Table 14 lists the control parameters. These parameters must be used with:
pdbSet Heat

For example:
pdbSet Heat HeatingTime 12e-3
pdbSet Heat MaxTimeStep 500

Table 14 Control parameters


Parameter (with available options) Default value Description
Unit (if applicable)

AttachThermalResistor <0|1> 0 Used to attach the thermal resistor to the


bottom. Options are 0 | 1.

BulkMaterial <material> Si Indicates that the global temperature for solving


diffusion equations will be calculated by
averaging the local temperatures at interfaces of
the specified material. In addition, the material
HeatSubstrate of the extended region
will have the same thermal properties as
BulkMaterial ones.

ExtendBottom <0|1> 1 Extends bottom of the simulation structure to


the WaferThickness thickness. Options
are 0|1.

HeatingTime <n> 0.0 ms Defines the time the heating source is switched
on. Not applicable to the scanning laser model.
2
HeatSinkTransfer <n> 1e5 W/(cm K) Defines the heat transfer rate coefficient at the
extended structure bottom. Only applicable
when AttachThermalResistor is set
to 0.

MaxTimeStep <n> 600.0 s Defines the maximum time step for solving the
heat equation.

ReflectSide <Left|Right|None> Left Specifies the side at which the structure will be
reflected after extending the structure to the
other side by SideExtension. Only
applicable for positive SideExtension.
Options are Left | Right | None.

Sentaurus Process User Guide 231


H-2013.03
4: Diffusion
Flash or Laser Anneal Model

Table 14 Control parameters


Parameter (with available options) Default value Description
Unit (if applicable)

SideExtension <n> 0.0 μm Defines the extended distance to side. The


extended region is set to the
HeatSubstrate material, which has the
same thermal properties as the
BulkMaterial ones. Note that only the
heat equation is solved in the region of
HeatSubstrate.
TempAverageBox – Defines the box area to average the local
"<x1,y1,z1,x2,y2,z2>" temperatures for calculating the global
temperature. It must be satisfied that x1<=x2
and y1<=y2 and z1<=z2.

pdbSet Heat TempAverageBox


"-0.1 0.1 0.0 1.0 2.0 0.0"

TimeSampleSize <n> 20.0 Specifies the number of time steps during the
sourcing of the heat energy. Not applicable to
the scanning laser model. The maximum time
step is given by the minimum time step among
MaxTimeStep and
3 ⋅ Pulse
----------------------------------------------------------------------- (ms)
TimeSampleSize ⋅ 2 ln 2
for HeatingTime <= 0.0, or
HeatingTime/TimeSampleSize.

UpdateHeatRate <0|1> 0 Updates heat rate at each time step. Options are
0 | 1.
WaferThickness <n> 700.0 μm Defines the wafer thickness to which the
simulation structure is to be extended if
ExtendBottom is set to 1.

Notes
■ It takes three times the standard deviation time to reach the peak intensity. After six times
the standard deviation time, the heat source is switched off.
■ The global temperature, which is calculated by averaging the local temperature
distribution, is used for solving the diffusion equations.
■ When the Boolean parameter UseTemperatureField in mechanics is on, the local
temperature is used for solving the mechanics equations.

232 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Diffusion in Polysilicon

■ The global temperature is calculated by:


n

 Vi Ti
i=1
T global = -------------------
n
- (244)

 Vi
i=1

where V i and T i are the volume and the local temperature at a node in BulkMaterial
material. By default, the nodes on the nonreflecting surfaces of BulkMaterial are taken.
When you set TempAverageBox, the nodes within the specified box are taken.

Diffusion in Polysilicon
Polysilicon has a microstructure composed of small monocrystalline grains of different
crystalline orientation. The grains are separated by 2D surfaces – the grain boundaries.

Sentaurus Process uses a two-stream model to simulate polycrystalline or granular materials.


Granular diffusion can be switched on with:
pdbSet PolySilicon Arsenic DiffModel Granular

Isotropic Diffusion Model


The dopant concentration for species A is split into a fraction of dopants in the grain and a
fraction of dopants in the grain boundary, that is:
g gb
C A = f g ⋅ c A + f gb ⋅ c A (245)

g gb
Here, c A denotes the total concentration inside the grain per grain volume and c A denotes the
concentration inside the grain boundaries per grain boundary volume. Both quantities are
defined in the entire polysilicon region representing average concentrations.

The ratio of grain volume to the polysilicon volume is known as the volume share. The volume
share of the grain regions f g depends on the shape and size of the grain. The volume share of
the grain boundary is defined as:
f gb = 1 – f g (246)

The grain volume share and grain boundary share are defined by the terms GVolShare and
GbVolShare, respectively.

Sentaurus Process User Guide 233


H-2013.03
4: Diffusion
Diffusion in Polysilicon

The concentration of the grain boundary is assumed to be electrically inactive. The grain
+
density is identified with the active portion of the total concentration C A . The active
concentration is stored in the dataset <dopant>Active. The grain boundary concentration
gb gb
C A = f gb ⋅ c A is stored in the dataset <dopant>Gbc and is initialized with the portion of the
total dopant concentration in the grain boundary f gb ⋅ C A . In the absence of clusters, the total
dopant concentration is given as:
+ gb
CA = fg ⋅ CA + CA (247)

Grain Shape and the Grain Growth Equation


The microscopic shape and size of the grains is not described in the model. Instead the size,
orientation, and type of a prototype grain is used to compute all parameters that depend on the
grain size.

The growth model can be switched on by:


pdbSet PolySilicon Dopant DiffModel Granular

In Sentaurus Process, a columnar grain structure is assumed by default. The grains are assumed
to be columns that are oriented along the vertical axis, extending through the entire
polycrystalline layer.

δ δ

L L
d

Figure 38 Columnar (left) and cubic (right) grains: L is the grain size, δ is the grain
boundary thickness, and d is the layer thickness

The grain size L defines the average edge length of the square cross section of the columns.
The grain size is stored in the dataset GSize. The volume share of the grain region is given as:

L 2
f g =  ------------ (248)
 L + δ

For cubic grains, the volume share is:

L 3
f g =  ------------ (249)
 L + δ

234 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Diffusion in Polysilicon

The grain shape and the initial values for the grain size L (cm) and grain boundary thickness
δ (cm) can be set in the parameter database, that is:
pdbSet PolySilicon GrainShape <model>
pdbSet PolySilicon GrainSize 5.0e-6
pdbSet PolySilicon GrainBoundaryThickness 5.0e-8

where <model> is either Columnar or Cubic. It is assumed that the layer thickness d is a
constant value set as:
pdbSet PolySilicon LayerThickness 1.0e-6

The grains grow during thermal processes. During the grain growth, the volume share of the
grains increases and the volume share of the grain boundary decreases. The grain growth is
modeled by:

  c gb
2
dL τ a 0 b 02 Dλ 1
L = ------------------------- ⋅ -------------- ⋅  1 – --------------- (250)
dt kT 1  C Si 
1 + -----
ar

where a r denotes the ratio between the grain boundary volume inside the polycrystalline layer
and the grain boundary volume at the material interfaces of the polycrystalline layer bounding
other materials. The grain size, L , is represented with the solution name GSize and can be
monitored like other solution fields.

The grain growth parameters can be specified in the parameter database in the material entry.
The following names are used: τ Tau, λ Lambda, and a 0 A0. The parameter b 0 is twice the
lattice spacing of silicon. The Arrhenius values for the various contributions to the silicon self-
diffusivity D can be specified with the parameter Dself.

For columnar grains:


( 2L + δ )d
a r = -----------------------2- (251)
2( L + δ )

τ a 0 b 02 Dλ   c gb
2 2
dL  2( L + δ)
L 1 + ------------------------ = ------------------------- ⋅  1 – ---------------  (252)
dt  ( 2L + δ )d kT  C Si 

For cubic grains, this is:


2 2
( 3L + 3Lδ + δ )d 1
a r = ---------------------------------------------
3
– --- (253)
2(L + δ) 2

Sentaurus Process User Guide 235


H-2013.03
4: Diffusion
Diffusion in Polysilicon

τ a 0 b 02 Dλ   c gb
2 2 3 2
dL d ( 3L + 3Lδ + δ ) + ( L + δ )
L -----------------------------------------------------------------------
- = - ⋅  1 – --------------- 
------------------------ (254)
d t d ( 3L 2 + 3Lδ + δ 2 ) – ( L + δ ) 3 kT  C Si 

The grain shape switches from Columnar to Cubic when the grain size L reaches the layer
thickness d and the grain shape is set to Columnar, that is:
pdbSet PolySilicon GrainShape Columnar

This is the default. No switching is performed if the grain shape is set to Cubic. The grain
growth equation is solved with the dopant diffusion equations.

Note that the GSize and the dopant distribution in the grain boundary <dopant>Gbc are not
reset automatically at the beginning of a new diffusion step. The pdb switch GbcNew can be
used to reset the grain size dataset GSize to the current value of GrainSize, that is:
pdbSet PolySilicon GrainSize 1e-6
pdbSet PolySilicon GbcNew 1

will reset the grain size in polysilicon to 10 nm. It also resets the <dopant>Gbc dataset to the
value calculated using the grain size and the grain-boundary volume share.

The GSize and the initial <dopant>Gbc distribution in a newly deposited layer can be
specified in the fields and in the values list in the deposit command, that is:
deposit PolySilicon type=isotropic rate=1.0 time=0.1 fields= {GSize Arsenic} \
values= {4e-6 1e19}

This will initialize the GSize to 40 nm and the arsenic concentration to a constant value of
19 –3
10 cm . The ArsenicGbc solution will be created and the value of the corresponding
dataset will be set automatically.

Diffusion Equations

The diffusion in polycrystalline materials is modeled with two separate diffusion fluxes for the
+ gb
diffusion of C A inside the grains and the diffusion of c A along the grain boundaries. The
diffusion inside the grain regions is modeled as for crystalline silicon with the ChargedFermi
diffusion model. The diffusion fluxes are scaled with the ratio of the grain boundary volume to
the polysilicon volume, that is:
n  – c – z  +  n  z
 ---
JA = –fg  D - ∇ C A ----  (255)
AX
c
 n i  n i
X, c

∂C A
= – ∇•J A – R (256)
∂t

236 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Diffusion in Polysilicon

For details on the ChargedFermi model parameters, see ChargedFermi Diffusion Model on
page 209. The diffusivity D AXc for the grain interior is set as usual for the ChargedFermi
model, for example:
pdbSet PolySilicon Boron Int Dstar \
{ 0 {[Arr 0.743e2 3.56]} 1 {[Arr 0.617e2 3.56]} }

For the fluxes along the grain boundaries, the gradient of the concentration in the grain
boundary is multiplied by a constant diffusivity and the grain boundary volume share f gb :
gb
∂C A gb
= – ∇•J A + R (257)
∂t

gb
gb gb  cA  gb
J A = – f gb D A  1 – -------- ∇( c A ) (258)
 C Si

gb
The grain boundary diffusivity D A can be set in the parameter database using:
pdbSet PolySilicon Arsenic Dgb {[Arrhenius 1100.0 3.53]}

In polycrystalline materials, a segregation reaction is assumed to occur at the surface of the


grains. The reaction describes the exchange of dopants between grain and grain boundary
regions. The reaction term R is given as:
gb gb +
+  cA  cA  CA 
R = a ( L ) ⋅ K ⋅ C A ⋅  1 – -------- – ------- ⋅  1 – -------- (259)
 C Si s g  C Si

The segregation term depends on the transport coefficient K , multiplied by the grain surface
area per unit volume of polysilicon a ( L ) .

The transport coefficient K can be specified in the parameter database using:


pdbSet PolySilicon Arsenic Ksgb {[Arrhenius 1.630e4 3.586]}

The dopant segregation coefficient s g for the segregation between the grain and grain boundary
can be specified by using:
pdbSet PolySilicon Arsenic Sgb {[Arrhenius 2.75 -0.44]}

The grain surface area per unit volume a ( L ) depends on the grain structure. For columnar
grain structures, this is:
4⋅L
a ( L ) = -------------------2- (260)
(L + δ)

Sentaurus Process User Guide 237


H-2013.03
4: Diffusion
Diffusion in Polysilicon

and, for cubic grains, this is:


2
6⋅L
a ( L ) = -------------------3- (261)
(L + δ)

Table 15 Solution names


Symbol Boron Arsenic Phosphorus Antimony Indium

CA Boron Arsenic Phosphorus Antimony Indium


gb
cA BoronGbc ArsenicGbc PhosphorusGbc AntimonyGbc IndiumGbc
+
CA BActive AsActive PActive SbActive InActive

Table 16 Solution names for granular model


Symbol Solution name

L GSize

Anisotropic Diffusion Model


The behavior of dopants in polycrystalline materials is strongly influenced by the boundaries
between crystalline grains. Dopant atoms tend to segregate from the interior of a grain to the
boundaries, which provide paths for rapid diffusion. The rate of segregation depends on the rate
of grain growth, while the number of diffusion paths along the boundaries depends on the grain
size. In addition, the boundaries of the polycrystalline material act like grain boundaries,
providing sites for electrically inactive dopant atoms and paths for diffusion. The diffusion
equations for the grain-interior and grain-boundary components of the doping profile are
solved separately. The equations are coupled by terms describing the segregation between the
grain interiors and grain boundaries. To determine the rate of segregation and the density of
grain-boundary diffusion paths, you also solve for the growth in grain size during high-
temperature processing. The boundaries of the polycrystalline region are included as explicit
grain boundaries in the diffusion and segregation equations. The model has been implemented
in Sentaurus Process [6][7][8][9].

The model is invoked by specifying the polycrystalline material, for example:


pdbSet PolySilicon PolyCrystalline 1

To set the model to the TSUPREM-4 compatible mode, use the command:
SetTS4PolyMode

238 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Diffusion in Polysilicon

Diffusion in Grain Interiors

Redistribution of dopants in polycrystalline materials occurs by the parallel diffusion of


dopants through the interiors of grains and along grain boundaries.

In the grain interiors, diffusion of the active dopant is given by:

∂c g  qE g
-------- = – ∇ ⋅ – D g  ∇c g – z s c g --------- – G (262)
∂t  kT 

where c g is the active concentration in the grain interior. The diffusivity D g and electric field
E g in the grain interior are calculated from the electron concentration n g , which is in turn
calculated from the doping concentrations c g . G accounts for the segregation of dopant to
grain boundaries as described in Segregation Between Grain Interior and Boundaries on
page 241.

The parameter [Link] specifies the initial crystallinity of the grain interiors.
If [Link] is set to Crystalline, the initial active concentration is
determined by the pdb parameter AcInit or the term ${Sol}AcInit. If
[Link] is set to Amorphous, the initial active concentration is determined
by the pdb parameter AmInit or the term ${Sol}AmInit. The initialization is performed for
the remainder after some implantation atoms go to a grain boundary according to Eq. 271,
p. 241.

Grain Boundary Structure

Diffusion along grain boundaries is described in terms of the dopant concentration per unit
area of grain boundary c gb , and the average area of grain boundaries per unit volume:
ρ′ = ρ + δ if (263)

where ρ is the average area of grain boundaries per unit volume in the bulk of the poly layer
and δ if accounts for the dopant at interfaces between poly and other materials (or ambient). ρ
is inversely proportional to the average grain size L g :
GBGeomFactor
ρ = ------------------------------------------------ (264)
Lg

where GBGeomFactor is a geometric factor specified for the polycrystalline material, for
example:
pdbSet PolySilicon GBGeomFactor 2.0

Sentaurus Process User Guide 239


H-2013.03
4: Diffusion
Diffusion in Polysilicon

δ if is a function of position defined by the fact that its integral over any volume is equal to the
area A if of the polysilicon interface passing through that volume:

 δif dV = A if (265)

The concentration of dopants in the grain boundaries per unit volume of material is then given
by:
gb
c A = ρ′c gb (266)

Diffusion along Grain Boundaries


The diffusion of dopant in the grain boundaries is given by:

∂c A
gb
 q E gb
----------- = – ∇ ⋅ – FD gb  ∇c gb – z s c gb -----------
-
kT  + G
(267)
∂t 

The diffusivity D gb and electric field E gb along the grain boundaries are calculated from the
electron concentration n gb ; n gb is calculated by assuming that the net donor and acceptor
concentrations are calculated from c gb ⁄ K , the equilibrium dopant concentrations in the grain
interior near the grain boundary, where K is the segregation coefficient given by Eq. 273,
p. 241. G accounts for the segregation of dopant to grain boundaries as described in
Segregation Between Grain Interior and Boundaries on page 241.

Diffusivity D gb is given by:


n gb – c
D gb = Dgb ⋅  [Link] ⋅  -------- (268)
 ni 

Dgb and [Link] are defined by:


pdbSet <material> <dopant> Dgb <value>
pdbSet <material> <dopant> [Link] <array>

F is a tensor that describes the diffusion paths available to dopant in the grain boundaries. It is
composed of two parts: F = F b + ( 1 – F bu )F if . F b describes the available paths within the
bulk of the poly layer. For a horizontal poly layer, it is given by:

F b = diag  ----------------------------, ----------------------------, ----------------------------


Dgb.F22 Dgb.F11 Dgb.F11
 
(269)
Lg Lg Lg

Because of the columnar grain structure, Dgb.F22 is larger than Dgb.F11, which implies that
diffusion through the layer is faster than diffusion parallel to the layer.

240 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Diffusion in Polysilicon

Dgb.F11 and Dgb.F22 are defined for the polycrystalline material, for example:
pdbSet PolySilicon Dgb.F11 1.0
pdbSet PolySilicon Dgb.F22 2.0

F if describes the available paths for diffusion along material interfaces. In the vicinity of a
horizontal interface, it has the value:
F if = diag ( 0, δ if, δ if ) (270)

For the interface between polysilicon and silicon, the phenomenon of interfacial breakup
accompanied by epitaxial realignment can occur, as described in Interface Oxide Breakup and
Epitaxial Regrowth on page 245. F bu is the fraction of the polysilicon–silicon interface that has
broken up. For layers or interfaces that are not horizontal, F b and F if are rotated by the angle
of the layer or interface, respectively, with respect to the horizontal axis.

Segregation Between Grain Interior and Boundaries

When dopant is initially introduced into a polycrystalline material, some of the dopant
occupies sites in the interior of a grain and some occupies sites on a grain boundary. The initial
segregation of dopant is given by:
GBMaxDensity
c gb = ------------------------------------------------ GSegInit cg (271)
GMaxConc

GBMaxDensity, GMaxConc, and GSegInit represent the density of available sites on grain
boundaries, and in the grain interiors and the initial segregation entropy, respectively. In the
case of ion implantation, c g and cgb describe the additional dopant introduced by the
implantation; dopant that is present before the implantation is not redistributed.

Dopant atoms are free to move between sites in the interior of a grain and sites on the grain
boundary during high-temperature processing. The rate of segregation is given by:
c gb
G = ( ρq b + ( 1 – F bu )δ if q if )  fgb c g – fg ------- (272)
 K

The segregation coefficient K is given by [10]:


GBMaxDensity
K = ------------------------------------------------ Sgb (273)
GMaxConc

GBMaxDensity, GMaxConc, GSegInit, and Sgb are defined for dopants, for example:
pdbSet PolySilicon Dopant GBMaxDensity 2.5e15
pdbSet PolySilicon Dopant GMaxConc 5e22
pdbSet PolySilicon Dopant GSegInit 1.0
pdbSet PolySilicon Boron Sgb {[Arrhenius 0.2 -0.38]}

Sentaurus Process User Guide 241


H-2013.03
4: Diffusion
Diffusion in Polysilicon

The segregation velocities associated with the bulk of the poly region and the material
interfaces are given by:

1 ∂L g Dg
q b = ------------------------------------ --------- + KsgbFactor ------ (274)
GBVFactor ∂t Lg

GBVFactor is the parameter for the material. KsgbFactor and q if , which is defined by Vsgb,
are specified for dopants. For example:
pdbSet PolySilicon GBVFactor 1.33
pdbSet PolySilicon Dopant KsgbFactor {[Arr 4.0 0.0]}
pdbSet PolySilicon Dopant Vsgb {[Arr 1e7 3.0]}

f g and f gb are the fractions of unfilled interior and boundary sites:


cg
fg = 1 – -------------------------------- (275)
GMaxConc

c gb
fgb = 1 –  ------------------------------------------------ (276)
GBMaxDensity

where the sum is taken over all the dopant species present in the structure. F bu is the fraction
of the polysilicon–silicon interface that has broken up, as described in Interface Oxide Breakup
and Epitaxial Regrowth on page 245.

Grain Size Model


The grains in the polycrystalline material are assumed to be oriented as columns that extend
through the wafer. The structure is characterized by L g , the average grain size in the lateral
direction (in other words, in the plane of the layer), and a vector describing the orientation of
the columnar grains.

The initial grain size is determined by the temperature of the poly deposition process:


 max ( [Link] × t a, GrainSize ) T c ≤ GrainSizeTempC
Lg =  (277)
 GrainSize + 2 ⋅ GrainSizeFactor ⋅ z T c > GrainSizeTempC

where:
■ T c is the deposition temperature (specified on the deposit command) in degree Celsius.
■ t a is the thickness of the amorphous silicon layer produced by low-temperature deposition.
■ z is the distance from the bottom of the layer.

242 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Diffusion in Polysilicon

For high-temperature depositions, grain size depends on the thickness specified in the
deposit command. Dividing a deposition into multiple smaller depositions produces
different results for the grain size. For low-temperature depositions, the material is assumed to
be amorphous (a negative grain size is reported in printing or plotting). The initial grain size is
calculated from the thickness t a of the amorphous layer at the beginning of the next diffusion
step.

[Link], GrainSize, GrainSizeFactor, and GrainSizeTempC are the material


parameters, for example:
pdbSet PolySilicon [Link] 0.5
pdbSet PolySilicon GrainSize 5e-6 ;# cm
pdbSet PolySilicon GrainSizeFactor {[Arr 0.1 0.0]}
pdbSet PolySilicon GrainSizeTempC 600.0

Surface Nucleation Model


An alternative model for the standard grain size model (see Grain Size Model on page 242) is
the surface nucleation model. In this model, grains are assumed to grow from small clusters
formed at the early stages of deposition. The kinetics of nucleation, under this assumption,
determines the average distance between clusters, thereby, the average starting grain size near
the surface upon which deposition occurs. The model for atomistic nucleation is derived from
rate equations for growth, surface diffusion, and desorption [11]. Several different regimes are
considered:
■ Large deposition rates (compared to surface diffusion or evaporation) are labeled
“complete condensation”.
■ Conditions where the deposition rate between surface diffusion and evaporation are labeled
“incomplete condensation”.
■ Low deposition rates are labeled “extremely incomplete condensation”.

Besides the deposition rates, two types of nuclei are considered: 2D or 3D islands. The
following formulas are used to compute the nucleation density:

n = n 0 R p exp  ------
E
 kT
(278)

where p and E are given by Table 17 on page 244. The choice of regime is set with:
pdbSet [Link] <regime>

where <regime> is one of Complete, [Link], [Link],


or None (default) meaning the model is switched off.

Sentaurus Process User Guide 243


H-2013.03
4: Diffusion
Diffusion in Polysilicon

Table 17 Formulas for surface nucleation model


Regime 3D islands 2D islands
2
Extremely p = --- i p = i
3
incomplete
2
E = --- ( E i + ( i + 1 )E a – E d ) ) ) E = E i + ( i + 1 )E a – E d ) )
3
2 i
Incomplete p = --- i p = ---
5 2
2
E = --- ( E i + iE a ) E = E i + iE a
5
Complete p = i ⁄ ( i + 2.5 ) p = i ⁄ (i + 2)

E = ( E i + iE d ) ⁄ ( i + 2.5 ) E = ( E i + iE d ) ⁄ ( i + 2 )

NOTE Default values for parameters of the surface nucleation model have not
been calibrated for any process. They have simply been set to give
approximately the same values as the grain size model in polysilicon
diffusion. This model is in an experimental state. The default values of
the model may change in the future if reasonable values can be found
for typical technology conditions.

Table 18 Parameters of surface nucleation model set with


pdbSet PolySilicon <parameter> <value>
Symbol Parameter Name

Island dimension [Link]

R [Link]

n0 [Link]

i [Link]

Ea [Link]

Ed [Link]

Ei [Link]

Grain Growth

The growth of the grains during high-temperature processing is given by [12]:


∂L g 1 E gb
--------- = ----- A0 × DselfFactor × Dself × -------- × F seg + G EA (279)
∂t Lg kT

244 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Diffusion in Polysilicon

A0, DselfFactor, and Dself represent the empirical geometric factor, the enhancement
factor of silicon self-diffusivity at the grain boundary, and the silicon self-diffusivity in the
vicinity of a grain boundary, respectively:
pdbSet PolySilicon A0 6.0
pdbSet PolySilicon DselfFactor {[Arrhenius 5.6e-6 -1.73]}
pdbSet PolySilicon Dself { -2 {[Arrhenius 5.6e-6 2.86]}
-1 0.0
0 {[Arrhenius 4.29e-7 2.18]}
1 0.0
2 0.0 }

E gb is the surface energy per atom associated with the grain boundary [12][13][14]; F seg
models the segregation drag effect; and G EA models epitaxial regrowth of the poly layer (see
Interface Oxide Breakup and Epitaxial Regrowth on page 245).

2  1 Lg 
E gb = ( 2 ⋅ LatticeSpacing ⋅ Tu ) ⋅ Lambda ⋅  ---------------------------------------------- + Lambda.1 ----------- (280)
 1 + Lambda.h f n t poly

 Lg
 -------------------------- L g < t poly
 2t poly – L g
fn =  (281)
 Lg
 ----------- L g ≥ t poly
 t poly

t poly is the thickness of the polycrystalline layer.

The segregation drag effect reduces the grain growth rate [15]:

c gb – SegDragExponent
F seg =  1 +  ------------------------------------------------ (282)
 GBMaxDensity

SegDragExponent is defined for the material, for example:


pdbSet PolySilicon SegDragExponent 2.0

Interface Oxide Breakup and Epitaxial Regrowth


A thin interfacial oxide layer is typically present between a deposited polysilicon layer and any
underlying single-crystal silicon. This interfacial oxide presents a barrier to epitaxial
realignment of the poly layer. With sufficient high-temperature processing, the oxide layer
breaks up into a discrete set of small spheres, allowing epitaxial regrowth of the poly to
proceed.

Sentaurus Process User Guide 245


H-2013.03
4: Diffusion
Diffusion in Polysilicon

The oxide breakup is modelled by the formation of voids in the interfacial oxide layer
[16]–[19]. The radius of the voids R void increases as:
dR void β E bu
- × exp  – --------
---------------- = ----- (283)
dt 3  kT 
t ox

where:
■ β is a constant.
■ t ox is the initial oxide thickness.
■ E bu is the activation energy of the breakup process.
■ R void is initialized to zero whenever poly is deposited on exposed silicon.

The fraction of the interface that is broken up is given by:


2
F bu = 1 – exp ( – πN EA R void ) (284)

where N EA is the areal density of the voids.

The parameters for the model are specified in terms of a characteristic breakup time for the
thinnest (5 Å) interfacial oxide layers:
·3 E bu
5A
t bu ≡ --------------------- × exp -------- (285)
πN β EA
kT

t bu is defined with the parameter PolyOxBreakTime, for example:


pdbSet PolySilicon PolyOxBreakTime {[Arrhenius 1.0 -5.0]} ;# seconds

· 3
dR void 1  5A 1
---------------- = ------  ------- ------------------ (286)
dt t bu  t ox πN EA

In the present implementation, assume that all polycrystalline or single-crystalline interfaces


share a common oxide thickness given by:
t ox = PolyOxThickness (287)

PolyOxThickness is defined in the material:


pdbSet PolySilicon PolyOxThickness 5e-8 ;# cm

246 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Diffusion in Polysilicon

Epitaxial regrowth is modeled by increasing the poly grain size to a value larger than the
thickness of the poly layer. This grain growth is described by G EA in Eq. 270, p. 241 for the
grain size:
G EA = F bu v EA δ if (288)

It serves as a driving force for epitaxial regrowth from the interface at the silicon–polysilicon
interface. Parameters for this model are given by:
v EA = EpiGrowthVelocity (289)

pdbSet PolySilicon EpiGrowthVelocity {[Arrhenius 100.0 3.0]} ;# cm2/sec

Dependence of Polysilicon Oxidation Rate on Grain Size

It has been observed experimentally that the oxidation rate for fine-grained polysilicon is faster
than for coarser-grained polycrystalline or single-crystalline silicon, presumably because of
enhanced oxidation at the grain boundaries.

This enhancement can be modeled by assuming a faster surface reaction rate where grain
boundaries intersect the oxide–poly interface:
k s = ( 1 – f )k g + fk gb (290)

where:

B C ox
k g = --- --------
- (291)
A C*

is the surface reaction rate in the absence of grain boundaries, k gb is the reaction rate at a grain
boundary, and:
δT
f = min  ------, 1 (292)
 Lg 

is the fraction of the surface within a distance δT ⁄ 2 of a grain boundary. The enhancement
factor at grain boundaries is specified as:
k gb
------- = GBFactor (293)
kg

pdbSet Oxide_PolySilicon H2O GBFactor {[Arr 10.0 0.0]}


pdbSet Oxide_PolySilicon O2 GBFactor {[Arr 10.0 0.0]}
pdbSet Oxide_PolySilicon N2O GBFactor {[Arr 10.0 0.0]}

Sentaurus Process User Guide 247


H-2013.03
4: Diffusion
Diffusion in Polysilicon

The effective thickness of the grain boundaries is given by δT = GBEffThick , where


GBEffThick is specified for each material.

Boundary Conditions

Boundary Conditions for Grain Growth Equation

Several boundary conditions to control the grain size (GSize) in the grain growth equation are
available. The reflective (HomNeumann) boundary condition assumes that the interface value
grows like the bulk value. The minimum value (MinimumSize) boundary condition sets the
interface value at the minimum value for GSize. The minimum value is set with:
pdbSet <material> GSize minConc {<n>}

The initial size (InitialSize) boundary condition fixes the interface value at the initial value
of GSize.

The boundary conditions can be switched on using:


pdbSet Oxide_PolySilicon <dopant> BoundaryCondition [{HomNeumann
MinimumSize InitialSize}]

The default setting for the grain growth boundary condition is HomNeumann.

Dopant Diffusion Boundary Conditions


There are three additional segregation-type boundary conditions available with the
polycrystalline diffusion model. The first can be selected with:
pdbSet Oxide_PolySilicon Arsenic BoundaryCondition GrainBoundarySegregation

The total dopant fluxes at the interfaces between the grain boundary and the neighboring layer
are balanced. The fluxes are given by:

 CA
gb 
j • n = k Transfer  CA 
other
– ----------------------------------------------
gb 
(294)
 f gb s g k Segregation

other gb
where C A is the concentration of dopant on the other side of the interface, C A is the grain
gb
boundary concentration, k Transfer is the transfer rate, and k Segregation is the segregation rate
of dopant A in the grain boundary. To set these parameters, use:
pdbSet <interface material> <dopant> Transfer {<n>}
pdbSet <interface material> <dopant> SegregationGb {<n>}

248 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Diffusion in Polysilicon

The coefficient s g is the grain–grain boundary segregation coefficient.

To select the second boundary condition, use:


pdbSet Oxide_PolySilicon Arsenic BoundaryCondition
GrainGrainBoundarySegregation

The total dopant fluxes at the interfaces between the grain and the neighboring layer and the
grain boundary and neighboring layer are balanced. The fluxes are given by:
+
 other fg CA 
j g • n = k Transfer  CA – ----------------------------- (295)
 k Segregation

gb
 other CA 
j gb • n = k Transfer  C A -
– -------------------------------------- (296)
 s g k Segregation
gb

and:
j • n = j g • n + j gb • n (297)

+
where C A is the active concentration of dopant in the grain and k Segregation is the segregation
rate of dopant A in the grain. To set this parameter, use:
pdbSet <interface material> <dopant> Segregation {<n>}

To select the third boundary condition, use:


pdbSet Oxide_PolySilicon Arsenic BoundaryCondition \
BulkGrainBoundarySegregation

The total dopant fluxes at the interfaces between the grain and the neighboring layer and
between the grain and the grain boundary are balanced. The fluxes are given by:
+
 other fg CA 
j • n = k Transfer  CA – ----------------------------- (298)
 k Segregation

 fg C
+
C
gb 
j gb • n = k Transfer  ----------------------------
A A
- – ----------------------------------------------
gb


(299)
k Segregation
 f gb s g k Segregation

Sentaurus Process User Guide 249


H-2013.03
4: Diffusion
Dopant Diffusion in SiGe

NOTE For the anisotropic polycrystalline model, use the Segregation model
for the boundary condition:
pdbSet PolySilicon_Silicon Boron BoundaryCondition Segregation
pdbSet Oxide_PolySilicon Boron BoundaryCondition Segregation
pdbSet Gas_PolySilicon Boron BoundaryCondition Segregation

Dopant Diffusion in SiGe


The presence of germanium in silicon affects the dopant diffusion in various ways. First, the
band gap of silicon is lowered in the presence of germanium. Second, germanium affects the
point-defect equilibrium concentration. In addition, germanium can pair with boron forming
an immobile but electrically active species.

Bandgap Effect
The effect of the bandgap narrowing on the dopant diffusion arises from the change in the
intrinsic carrier concentration n i ( Si ) . This has been implemented in Sentaurus Process as
follows:
– ΔEg
--------------
2kT
n i = n i ( Si )e (300)

where ΔEg is bandgap narrowing due to germanium content. It can be defined using the
command:
pdbSet <material> Germanium delEg {<n>}

The band gap, delEg ( ΔEg ), is a function of germanium concentration and is given by:
ΔEg ≡ ΔEgs + ( ΔEgr – ΔEgs ) ( 1 – Fpm ) (301)

2
ΔE gs = 0.835x – 1.01x (302)

2
ΔE gr = 0.33x – 0.55x (303)

C Ge
x = ---------------------
22
(304)
5.0 ×10

where ΔEgs [20] is the bandgap narrowing in strained silicon, ΔEgr [21] is the bandgap
narrowing in the relaxed silicon, Fpm is a pseudomorphic factor that shows the degree of the

250 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Diffusion in SiGe

relaxation, and x is the germanium fraction in silicon. Fpm is calculated with respect to lattice
mismatch in the substrate. For example:
( a SiGe – a )
Fpm = --------------------------- (305)
a SiGe – a Si

where:
■ a SiGe is the lattice-spacing of the silicon-germanium region.
■ a Si is the lattice-spacing of silicon.
■ a is the lattice-spacing calculated in the mechanics.

If the system is fully relaxed, Fpm is zero. If it is fully strained, Fpm is one. ΔEg will be used
if the germanium percentage is greater than 0.1%, and the bandgap narrowing effects due to
other strain sources will be ignored (see Pressure-dependent Defect Diffusion on page 266).

Potential Equation
The permittivity of “Ge-doped” silicon can be calculated by the following formula, in which
x Ge is the germanium concentration in silicon:
ε = ( 1 – x Ge ) × ε Si + x Ge × ε Ge (306)

where ε Si and ε Ge are defined as PDB parameters:


pdbSet Ge Potential Permittivity 15.8
pdbSet Si Potential Permittivity 11.7

This calculation is included when setting:


pdbSetString Si CompSpecies "Germanium"
pdbSetBoolean Si Potential PermittivityContentEffect 1

The product of the density-of-states in the conduction and valence bands, N c × N v , is


multiplied by the factor defined as:
pdbSetFunction Si Ge factorNcNv [GefactorNcNv]

when the following PDB value is set:


pdbSetBoolean Si Potential BandgapContentEffect 1

Such a factor can be defined as:


3⁄4
( 1 – x Ge × 0.47 ⁄ 0.81 ) (307)

Sentaurus Process User Guide 251


H-2013.03
4: Diffusion
Dopant Diffusion in SiGe

with the following line:


fproc GefactorNcNv { } { return "(1.0-(Germanium/5.0e22)*0.47/0.81)^0.75" }

Effects on Point-Defect Equilibrium Concentrations


The introduction of germanium acts thermodynamically on the equilibrium of the silicon
matrix. Compressive strain increases the equilibrium concentration of vacancies and decreases
the equilibrium concentration of interstitials, and the tensile strain has the opposite effect on
the point-defect equilibrium concentrations [22][23].

These effects are modeled in Sentaurus Process by modifying the equilibrium point-defect
concentrations:
– ( ΔV X P + ΔV GeX )
--------------------------------------------
* * kT
CX = C X ( Si, P ≡ 0 )e (308)

C Ge
ΔV GeX = ΔV olGeX Δa SiGe ----------------
22
- (309)
5 ×10

*
where C X is the equilibrium concentration of point defects (interstitial or vacancy), and ΔV X
is the activation volume change of equilibrium point defects due to the pressure P .

The following set of commands can be used to modify ΔV X :


pdbSet Silicon Interstitial Volume 8.59e-24
pdbSet Silicon Vacancy Volume -5.52e-24

To switch on strain effects on point defects, set the following switches:


pdbSet Silicon Interstitial CStarMod FermiPressureDependent
pdbSet Silicon Vacancy CStarMod FermiPressureDependent

ΔV GeX is the total activation volume change of equilibrium point defects due to the presence
of germanium and is calculated from the activation volume change ΔV olGeX , the lattice
mismatch coefficient Δa SiGe , and the germanium fraction in the structure (see Eq. 309). These
quantities can be modified using the following commands:
pdbSet Silicon Germanium Interstitial delVol 11.8
pdbSet Silicon Germanium Vacancy delVol 25.6
pdbSet Silicon Germanium LatticeMismatch 0.0425
3
NOTE delVol is given in units of eV and Volume is given in units of cm .

252 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Diffusion in SiGe

Effect of Ge on Point-Defect Parameters


In this version of Sentaurus Process, you can define the arbitrary Alagator expressions for the
point-defect basic parameter prefactors. The names of terms used for the vacancy and
interstitial equilibrium concentration are VacCStarFactor and IntCStarFactor,
respectively. Corresponding terms for the vacancy and interstitial diffusivity are
VacDiffFactor and IntDiffFactor. These expressions can be used to include the effect
of germanium on point-defect parameters. For example, the prefactor for the vacancy
equilibrium concentration in SiGe can be calculated as follows:
MultiplyTerm Si VacCStarFactor "exp((1.088*($x_Ge))*$Vt_i)"
–1
where x_Ge is the germanium content, and Vt_i is 1 ⁄ (kT) in eV .

NOTE The MultiplyTerm command is not saved to the TDR files. If the input
file is split, the command must be included in the new input file.

Impact of Ge on Extended-Defect Parameters


The parameters IClusterDissIntFactor, C311DiffIntFactor, and CLoopTransfer
(used in the Full model for I-clusters) can be used to include the impact of germanium on
extended defects.

Impact of Dopant Diffusivities


The germanium chemical effect is simulated by the activation energy correction using
diffusivity prefactors. For example, in the case of boron, it is performed by the term
BoronIntDiffFactor, which can be defined in silicon:
MultiplyTerm Si BoronIntDiffFactor "exp(-0.227*($x_Ge)*$Vt_i)"

NOTE The MultiplyTerm command is not saved to the TDR files. If the input
file is split, the command must be included in the new input file.

During assembly of the diffusion equations, Sentaurus Process checks each dopant and
material for whether such diffusion factors exist. The diffusivity through dopant–interstitial or
dopant–vacancy pairs is then multiplied by the corresponding diffusion enhancement factors.
A separation between interstitial and vacancy effects is necessary because with increasing
germanium content of SiGe, the fractions of diffusion mediated by dopant–interstitial and
dopant–vacancy pairs change.

Sentaurus Process User Guide 253


H-2013.03
4: Diffusion
Dopant Diffusion in SiGe

SiGe Strain and Dopant Activation


The solid solubility of dopants depends on the strain. In general, for compressive strain, the
solubility of atoms smaller than silicon increases; whereas, the solubility of larger atoms
decreases. In the Transient model, the stress effect is taken into account by introducing the
pressure-dependent parameters Solubility and TotalSolubility:
S ( P ) = S ( P = 0 ) exp ( – P V ⁄ kT ) (310)

An example of the definition of boron pressure-dependent solid solubility is:


pdbSet Si B [Link] "exp(3.636e-24*Pressure*$kT_i)"
pdbSet Si B [Link] "exp(3.636e-24*Pressure*$kT_i)"

Since the emission rate for the silicon side in the three-phase segregation model is proportional
to the solid solubility, a corresponding modification also must be included in the boundary
condition. For example, this can be achieved by the following line for boron:
pdbSetString Si B [Link] "exp(3.636e-24*Pressure_Silicon*$kT_i)"

NOTE You can define the arbitrary Alagator expressions for the dopant solid
solubility prefactors in Sentaurus Process. The name of strings used for
the solid solubility, the total solid solubility, and the emission rate
correction are [Link], [Link], and
[Link], respectively.

Germanium–Boron Pairing
Germanium can pair with boron and the pairs are known to be electrically active [24] but not
mobile:
Ge + B ↔ GeB (311)

In Sentaurus Process, this reaction is modeled with the following differential equation:

∂C GeB
= Kf ( C Ge C B – KbC GeB ) (312)
∂t

where C GeB is the concentration of germanium–boron pairs, C Ge is the concentration of


germanium, C B is the concentration of boron, and Kf and Kb are the forward reaction rate
and equilibrium constant, respectively.

254 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Diffusion in III–V Compounds

You can specify the model parameters with the commands:


pdbSet Silicon Germanium Boron Kf {<n>}
pdbSet Silicon Germanium Boron Kb {<n>}

Germanium diffusion is modeled by assuming a constant diffusion model:

∂C Ge
= ∇•( D ∇C Ge ) (313)
∂t

where D is the diffusivity of germanium and can be set using the command:
pdbSet Silicon Germanium Dstar {<n>}

NOTE The germanium–boron cluster model is switched off by default. To


switched it on, use:
solution add name=GeB ifpresent = "Germanium Boron" !negative

Of course, if boron is present in silicon, the reaction in Eq. 312 is automatically added to
Eq. 313.

Table 19 Solution names for germanium model


Symbol Solution name

C Ge Germanium

C GeB GeB

Initializing Germanium–Boron Clusters


Initially, germanium–boron cluster concentrations are set to zero. If there is an existing cluster
concentration field, the field is used. To initialize the cluster concentration field, use the
select command in the input command file.

Diffusion in III–V Compounds


This section discusses diffusion in III–V compounds.

Material Conversion
At the beginning of a diffusion, the adjacent III–V materials or a III–V material doped with
other group III or V atoms can be merged into the proper ternary or quaternary compound

Sentaurus Process User Guide 255


H-2013.03
4: Diffusion
Diffusion in III–V Compounds

materials. The conversion is performed when the Boolean parameter


[Link] is switched on:
pdbSet Diffuse [Link] <0|1> ;# default 1

When different III–V material regions are adjacent and there is a common material derived
from each III–V material, the regions merge into the common derived material region. For
example, if the neighbor region of a GaAs material region is InAs, two regions are merged and
converted into InGaAs material if InGaAs is the derived material from both GaAs and InAs.
The derived material is specified by:
pdbSet <material> [Link] { <derivedmaterial list> }

For example:
pdbSet GaAs [Link] { InGaAs AlGaAs GaPAs }
pdbSet InAs [Link] { InPAs InGaAs }

When group III or group V atoms are doped into a III–V material, and the atoms are a different
species from the components of the material, the material is converted to the new III–V
material with the component list, including the doping species, if the doping concentration
exceeds the minimum concentration [Link] for conversion. For example, when
indium atoms are doped into a GaAs material region, GaAs is converted to InGaAs if InGaAs
is one of the derived materials of GaAs, and the maximum concentration of indium atoms in
the region exceeds the indium [Link] parameter value of InGaAs:
pdbSet InGaAs Indium [Link] {<n>}

The atoms of the material components are filled into the region before the material conversion
for the mole fraction calculation and the interdiffusion simulation.

Physical Parameter Interpolation


The parameter for the mole fraction of a ternary (or quaternary) material is specified by:
pdbSet <material> [Link] { x <atom> } ;# ternary
pdbSet <material> [Link] { x <atom1> y <atom2> } ;# quaternary

For example:
pdbSet InGaAs [Link] { x Gallium } ;# In(1-x)Ga(x)As
pdbSet AlInGaAs [Link] {x Aluminum y Indium} ;# Al(x)In(y)Ga(1-x-y)As

256 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Diffusion in III–V Compounds

If a physical parameter is not specified on a ternary (or quaternary) material, the parameter
value is extracted by the linear interpolation with the parameter values of their base materials
that is, binary materials. For the value P M of the parameter of material M :
P III = P III ⋅ x + P III ⋅ (1 – x) (314)
A ( x ) III B ( 1 – x ) V C A VC B VC

P III = P III ⋅ x + P III ⋅ y + P III ⋅ (1 – x – y) (315)


A ( x ) III B ( y ) III C ( 1 – x – y ) V D A VD B VD C VD

P III = P III ⋅ xy + P III ⋅ x ( 1 – y ) + P III ⋅ ( 1 – x )y + P III ⋅ (1 – x )(1 – y ) (316)


A ( x ) III B ( 1 – x ) V C ( y ) V D ( 1 – y ) A VC A VD B VC B VD

NOTE For the energy bandgap and affinity, the second-order mole-fraction
dependency can be specified (see details in Table 22 on page 264).

Dopant Diffusion
To model dopant diffusion in a III–V material, the following assumptions are applied:
■ Point defects diffuse by the second nearest neighbor hopping.
■ Group II dopants react only with group III point defects.
■ Group VI dopants react only with group V point defects.
■ There are no antisite defects.
■ The charging reaction is in equilibrium.
■ There are two types of vacancy (that is, at group III and V sites): VacIII and VacV.

Since the substitutional concentrations of group IV dopants on group III sites and group V sites
are modeled and calculated separately, the autocompensation effect due to the amphoteric
behavior is implicitly taken into account.

ChargedReact Model
∂AI   – j – z Am  AI m z Am  ( ko ) ( ft ) 
--------- =
∂t   ∇ ⋅    DAI mj
η η

∇ ----------- η   +  R AY – R AIV 
 α AIm  Y m m

(317)
m j m

∂AV   – j – z Am  AV m z Am  ( ko ) ( ft ) 
----------- =
∂t   ∇ ⋅    DAV mj
η η

∇ ------------η   + R AV –  R AVY 
α
 AV m  m m

(318)
m j Y m

∂A m, s ( ko ) ( ko ) ( ft ) ( ft )
-------------- = –  R AY – R AV + R AIV +  R AVY (319)
∂t m m m m
Ym Ym

Sentaurus Process User Guide 257


H-2013.03
4: Diffusion
Diffusion in III–V Compounds

where:

( ko )  ( ko ) – j  Y m AI m Y m, s 
R AY =   k AY j Y m, i∗ φ Y j η   A m, s --------- – ----------- -------------- (320)
m
 j m m
 Y m
∗ α AI Y m, s∗
m

( ko )  ( ko ) – j  V m AV m 
R AV =   k AV j V m, i∗ φ V j η   A m, s ---------- – ------------ (321)
m
 j m m
 V m∗ α AV m

( ft )  ( ft ) – ( j + k )  AI m V m 
R AIV =   k AI jk α AI , j V ∗ φ V k η   ----------- ---------- – A m, s (322)
m
 j, k m m m, i m α
  AIm V m ∗ 

( ft )  ( ft ) – ( j + k )  AV m Y m Y m, s 
R AVY =   k AV jk α AV , j Y m, i∗ φ Y k η   ------------ --------- – A m, s -------------- (323)
m
 j, k m m m α
  AVm m Y ∗ Y m, s 

 αAI , j η
–j
α AI = and αAIm, j ≡ DAIm j ⁄ d AIm j (324)
m m
j

 αAV , j η
–j
α AV = and αAVm, j ≡ D AVm j ⁄ dAVm j (325)
m m
j

–1
α AI η
III
AI III = ------------------------------------------------------------AI
–1 1
(326)
α AI η + α AI η ⁄ r IIIV
III V

1
α AI η
AI V V
= --------------------------------------------------------
–1
- AI
1
(327)
r IIIV α AI η + α AI η
III V

–1
α AV η
III
AV III = --------------------------------------------------------------
–1 1
- AV (328)
α AV η + α AV η ⁄ r IIIV
III V

1
α AV η
V
AV V = -----------------------------------------------------------AV
–1 1
(329)
r IIIV α AV η + α AV η
III V

258 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Diffusion in III–V Compounds

Table 20 Description of symbols for the ChargedReact model


Symbol Description Unit

m The Mendeleev group number of a constituent atom of III–V material, m ∈ { III, V } . Unitless
–3
A m, s Substitutional dopant concentration at group m lattice sites. cm
–3
AI Dopant–interstitial pair concentration. For example, AI is SiInt for Silicon. cm
–3
AI m Dopant–group m interstitial pair concentration. cm
–3
AV Dopant–vacancy pair concentration. For example, AV is SiVac for Silicon. cm
–3
AV m Dopant–group m vacancy pair concentration. cm
–3
Ym Self-interstitial concentration. For example, Y III is GaInt or InInt, and Y V is cm
AsInt in InGaAs.
–3
Y m, s Constituent atom concentration. For example, Y III, s is Gallium or Indium, and cm
Y V is Arsenic in InGaAs.
* –3
Ym Self-interstitial concentration in equilibrium (Eq. 343, p. 262). cm
* –3
Y m, i Self-interstitial concentration in intrinsic equilibrium: cm
pdbSet InGaAs GaInt Cstar {<n>}
* –3
Y m, s Constituent atom concentration in equilibrium: cm
pdbSet InGaAs Gallium CsubStar {<n>}

φY Charge-state fractions of self-interstitials: φ Y j = φ Y j ′ ⁄  φ Y j ′ . φ Y j ′ is specified, Unitless


m m m m m
for example, by: j
pdbSet GaAs GaInt ChargeStates { -2 <n> ... 2 <n> }
–3
Vm Vacancy concentration. V III is VacIII and V V is VacV. cm
* –3
Vm Vacancy concentration in equilibrium (Eq. 344, p. 262). cm
* –3
V m, i Vacancy concentration in intrinsic equilibrium: cm
pdbSet GaAs VacIII Cstar {<n>}

φV Charge-state fractions of vacancies: φ V j = φ V j ′ ⁄  φ V j ′ . φ V j ′ is specified, for Unitless


m m m m m
example, by: j
pdbSet GaAs VacIII ChargeStates { -2 <n> ... 2 <n> }
2
D AIm Effective diffusivity of dopant–group m interstitial: cm /s
pdbSet <mat> <dopant> IntIII D { -2 <n> ... 2 <n> }
pdbSet <mat> <dopant> IntV D { -2 <n> ... 2 <n> }
2
D AVm Effective diffusivity of dopant–group m vacancy: cm /s
pdbSet <mat> <dopant> VacIII D { -2 <n> ... 2 <n> }
pdbSet <mat> <dopant> VacV D { -2 <n> ... 2 <n> }
2
d AIm Self-diffusivity of dopant–group m interstitial: cm /s
pdbSet <mat> <dopant> IntIII Dpair { -2 <n> ... 2 <n> }
pdbSet <mat> <dopant> IntV Dpair { -2 <n> ... 2 <n> }

Sentaurus Process User Guide 259


H-2013.03
4: Diffusion
Diffusion in III–V Compounds

Table 20 Description of symbols for the ChargedReact model


Symbol Description Unit
2
d Avm Self-diffusivity of dopant–group m vacancy: cm /s
pdbSet <mat> <dopant> VacIII Dpair { -2 <n> ... 2 <n> }
pdbSet <mat> <dopant> VacV Dpair { -2 <n> ... 2 <n> }

α AI Ratio of dopant–group m interstitial pair concentration to substitutional concentration Unitless


m
in equilibrium.

α AV Ratio of dopant–group m vacancy pair concentration to substitutional concentration in Unitless


m
equilibrium.

z Am Charge of ionized substitutional atom at group m lattice sites. Unitless

η Ratio of electron concentration to intrinsic carrier concentration ( n ⁄ n i ). Unitless


( ko ) –3
R AY Kick-out reaction rate at which Y m kicks out A m, s , generates AI m , and increases the cm /s
m
mole fraction of Y .
( ko ) –3
R AV Kick-out reaction rate at which V m reacts with A m, s and generates a dopant–vacancy cm /s
m
pair AV m .
( ft ) –3
R AIV Frank–Turnbull reaction rate at which AI m reacts with V m and generates a cm /s
m
substitutional dopant A m, s .
( ft ) –3
R AVY Frank–Turnbull reaction rate at which AV m reacts with Y m , generates a substitutional cm /s
m
dopant A m, s , and increases the mole fraction of Y .
( ko ) ( ko ) –3
k AY Reaction rate constant associated with R AY , for example: cm /s
m m
pdbSet GaAs Si Gallium kfKickOut { -2 <n> ... 2 <n> }
( ko ) ( ko ) –3
k AV Reaction rate constant associated with R AV , for example: cm /s
m m
pdbSet GaAs Si VacV kfKickOut { -2 <n> ... 2 <n> }
( ft ) ( ft ) –3
k AIV Reaction rate constant associated with R AIV , for example: cm /s
m m
pdbSet GaAs Si VacIII kfFTM { {-2,-2} <n> ... {2,2} <n> }
( ft ) ( ft ) –3
k AVY Reaction rate constant associated with R AVY , for example: cm /s
m m
pdbSet GaAs Si Gallium kfFTM { {-2,-2} <n> ... {2,2} <n> }

r IIIV Ratio of the substitutional concentration at group III lattice sites to group V sites in Unitless
intrinsic equilibrium. r IIIV ≡ ( A III, s ⁄ A V, s ) i∗ . Applies only to group IV dopants. For
example:
pdbSet GaAs Si [Link] {<n>}

260 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Diffusion in III–V Compounds

Fermi Model

The point-defect concentrations are assumed to be at thermal equilibrium:

∂A
 ∇ ⋅  ( DI ∇( A m, s η )
–zm zm
------ = + D V )η (330)
∂t m m
m

where:
–1
η
A III, s = -----------------------------------
–1 1
- As (331)
η + η ⁄ r IIIV

1
η
A V, s = --------------------------------A
–1 1 s
(332)
r IIIV η + η

Constant Model

The point-defect concentrations are assumed to be at intrinsic equilibrium:


∂A
------ =
∂t  ∇ ⋅ ( D∗ ∇( Am, s ) ) (333)
m

where:
1
A III, s = --------------------------- A s (334)
1 + 1 ⁄ r IIIV

1
A V, s = -------------------- A s (335)
r IIIV + 1

Activation Model
The solid solubility model can be specified. For more information, see Dopant Active Model:
Solid on page 280.

For group IV dopants, the amount of substitutional concentration on group III and group V sites
is reduced by the ratio of a given parameter [Link] to the clustering
concentration, respectively:
+ 1 +
A III, s = A III, s – --------------------------------------------------------- ( A s – A s ) (336)
1 + 1 ⁄ [Link]

Sentaurus Process User Guide 261


H-2013.03
4: Diffusion
Diffusion in III–V Compounds

+ 1 +
A V, s = A V, s – -------------------------------------------------- ( A s – A s ) (337)
[Link] + 1

Point-Defect Diffusion
∂Y m  – j  Y m   ( ko ) ( ft )
---------- = ∇ ⋅    d Y , j Y m, i∗ φ Y j η  ∇ ---------  – R YV –  R YY′ –  ( R AY + R AVY ) (338)
∂t  j m m
  Y m∗  m
Y′
m
A
m m
m

∂V m  – j  V m   ( ko ) ( ft )
---------- = ∇ ⋅    d V , j V m, i∗ φ V j η  ∇ ----------  –  R YV –  ( R AV + R AIV ) (339)
∂t  m m
  V m∗  m m m
j Ym A

∂Y m, s ( ko ) ( ft )
-------------- = R YV +  R YY′ +  ( R AY + R AVY ) (340)
∂t m m m m
Y′ m A

where:

 – ( j + k )  Y m V m Y m, s 
R YV =   k YV j ( Y m, i∗ φ Y j ) ( V m, i∗ φ V k )η   --------- ---------- – -------------- (341)
m
 j, k m m m
  Y m∗ V m∗ Y m, s∗

 – j  Y m Y′ m, s Y′ m Y m, s 
R YY′m =   k YY′ j Y′ m, s∗ ( Y m, i∗ φ Y j )η   --------- --------------- – ----------- -------------- (342)
 j m m ∗
  Y m Y′ m, s ∗ Y′ m∗ Y m, s∗

 Y m, i ∗ φ Y
–j
Y m∗ = η (343)
mj
j

 Vm, i∗ φV
–j
V m∗ = η (344)
mj
j

Table 21 Description of symbols for the pair diffusion model


Symbol Description Unit

m The Mendeleev group number of a constituent atom of III–V material, m ∈ { III, V } . Unitless
–3
Ym Self-interstitial concentration. For example, Y III is GaInt or InInt, and Y V is cm
AsInt in InGaAs.
–3
Y m, s Constituent atom concentration. For example, Y III, s is Gallium or Indium, and cm
Y V is Arsenic in InGaAs.

262 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Diffusion in III–V Compounds

Table 21 Description of symbols for the pair diffusion model


Symbol Description Unit
* –3
Ym Self-interstitial concentration in equilibrium (Eq. 343, p. 262). cm
* –3
Y m, i Self-interstitial concentration in intrinsic equilibrium: cm
pdbSet InGaAs GaInt Cstar {<n>}
* –3
Y m, s Constituent atom concentration in equilibrium: cm
pdbSet InGaAs Gallium CsubStar {<n>}

φY Charge-state fractions of self-interstitials: φ Y j = φ Y j ′ ⁄  φ Y j ′ . φ Y j ′ is specified, Unitless


m m m m m
for example, by: j
pdbSet GaAs GaInt ChargeStates { -2 <n> ... 2 <n> }
–3
Vm Vacancy concentration. V III is VacIII and V V is VacV. cm
* –3
Vm Vacancy concentration in equilibrium (Eq. 344, p. 262). cm
* –3
V m, i Vacancy concentration in intrinsic equilibrium: cm
pdbSet GaAs VacIII Cstar {<n>}

φV Charge-state fractions of vacancies: φ V j = φ V j ′ ⁄  φ V j ′ . φ V j ′ is specified, for Unitless


m m m m m
example, by: j
pdbSet GaAs VacIII ChargeStates { -2 <n> ... 2 <n> }
2
d Ym Self-interstitial diffusivity: cm /s
pdbSet InGaAs GaInt D { -2 <n> ... 2 <n> }
2
d Vm Vacancy diffusivity: cm /s
pdbSet GaAs VacIII D { -2 <n> ... 2 <n> }

η Ratio of electron concentration to intrinsic carrier concentration ( n ⁄ n i ). Unitless


( ko ) –3
R AY Kick-out reaction rate at which Y m kicks out A m, s , generates AI m , and increases the cm /s
m
mole fraction of Y . See Eq. 320, p. 258 for details.
( ko ) –3
R AV Kick-out reaction rate at which Y m reacts with A m, s and generates a dopant–vacancy cm /s
m
pair AV m . See Eq. 321, p. 258 for details.
( ft ) –3
R AIV Frank–Turnbull reaction rate at which AI m reacts with V m and generates a cm /s
m
substitutional dopant A m, s . See Eq. 322, p. 258 for details.
( ft ) –3
R AVY Frank–Turnbull reaction rate at which AV m reacts with Y m , generates a substitutional cm /s
m
dopant A m, s , and increases the mole fraction of Y . See Eq. 323, p. 258 for details.
–3
R YV Interstitial–vacancy bulk recombination rate for group m . cm /s
m
–3
R YY′ Kick-out reaction rate at which Y m kicks out Y' m, s and occupies the lattice site by cm /s
m
generating Y' m . The reaction increases the mole fraction of Y but decreases that of Y' .
–3
k YV Reaction rate constant associated with R YV , for example: cm /s
m m
pdbSet GaAs GaInt KbulkChargeStates { -2 <n> ... 2 <n> }
–3
k YY′ Reaction rate constant associated with R YY′ , for example: cm /s
m m
pdbSet InGaAs GaInt Indium kfKickOut { -2 <n> ... 2 <n> }

Sentaurus Process User Guide 263


H-2013.03
4: Diffusion
Diffusion in III–V Compounds

Poisson Equation
∇•( ε r ε 0 ∇( ψ – θ ) )

  – j  AI m  – j  AV m 
= – q  p – n +   ( z Am A m, s ) +      ( ( z Am + j )α AI , j η ) ----------- +   ( ( z Am + j )α AV , j η ) ------------
  j m α
 AIm  j m
 α AV m
A m A m
  – j Y m  – j V m  
+      jY m, i∗ φ Y j η  --------- +   jV m, i∗ φ V j η  ---------- 
  j
m Y
m
 Y m∗  j m
 V m∗ 
m

(345)

where:
E g kT N c
qθ = χ + ------ + ------ ln  ------ (346)
2 2  N v

n = n i exp  ------- and p = ni exp  – qψ


-------

 kT 
(347)
kT

3⁄2
N c = N c300  ---------
T
 300
(348)

T 3⁄2
N v = N v300  --------- (349)
 300

Eg
ni = N c N v exp  – --------- (350)
 2kT

2 2
E g = E g300 + E gα  ------------------ – -------------
300 T
 300 + β T + β
(351)

Table 22 Description of symbols for Poisson equation


Symbol Description Unit
–3
n Electron concentration. cm
–3
p Hole concentration. cm
–3
ni Intrinsic carrier concentration. cm
– 19
q Electronic charge ( 1.609 ×10 C ). C

ψ Intrinsic Fermi potential. V

264 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Diffusion in III–V Compounds

Table 22 Description of symbols for Poisson equation


Symbol Description Unit

θ Band structure parameter. V


– 12
ε0 Vacuum permittivity ( 8.854 ×10 F/m ). F/m

εr Relative permittivity: Unitless


pdbSet <material> Potential Permittivity {<n>}

η Ratio of electron concentration to intrinsic carrier concentration ( n ⁄ n i ). Unitless

χ Affinity that depends on the mole fraction x . If Affinity is specified on the eV


material, then χ = Affinity + Affinity.X1 ⋅ x + Affinity.X2 ⋅ x ( 1 – x ) .
Otherwise, χ = χ interpolated + Affinity.X2 ⋅ x ( 1 – x ) , where χ interpolated is
calculated by Physical Parameter Interpolation on page 256.
pdbSet <material> Potential Affinity {<n>}
pdbSet <material> Potential Affinity.X1 {<n>}
pdbSet <material> Potential Affinity.X2 {<n>}

Eg Band gap. eV

E g300 Band gap at 300 K, which depends on the mole fraction x . If Eg300 is eV
specified on the material, then E g300 = Eg300 + Eg.X1 ⋅ x + Eg.X2 ⋅ x ( 1 – x ) .
Otherwise, E g300 = E g300 interpolated + Eg.X2 ⋅ x ( 1 – x ) , where E g300 interpolated
is calculated by Physical Parameter Interpolation on page 256.
pdbSet <material> Potential Eg300 {<n>}
pdbSet <material> Potential Eg.X1 {<n>}
pdbSet <material> Potential Eg.X2 {<n>}

E gα Bandgap modification for temperature dependency: eV


pdbSet <material> Potential [Link] {<n>}

β Temperature constant for band gap depending on temperature: K


pdbSet <material> Potential [Link] {<n>}
–3
Nc Density-of-states of a conduction band. cm
–3
N c300 Density-of-states of a conduction band at 300 K: cm
pdbSet <material> Potential Nc300 {<n>}
–3
Nv Density-of-states of a valence band. cm
–3
N v300 Density-of-states of a valence band at 300 K: cm
pdbSet <material> Potential Nv300 {<n>}
–3
AI m Dopant–group m interstitial pair concentration. cm
–3
AV m Dopant–group m vacancy pair concentration. cm

α AI Ratio of dopant–group m interstitial pair concentration to substitutional Unitless


m
concentration in equilibrium. See Eq. 324, p. 258 for details.

α AV Ratio of dopant–group m vacancy pair concentration to substitutional Unitless


m
concentration in equilibrium. See Eq. 325, p. 258 for details.

z Am Charge of ionized substitutional atom at group m lattice sites. Unitless

Sentaurus Process User Guide 265


H-2013.03
4: Diffusion
Pressure-dependent Defect Diffusion

Pressure-dependent Defect Diffusion


*
Eq. 150, p. 203 shows that C X depends on the Fermi level. However, you can select one of the
available models (Constant, FermiLevelDependent, FermiPressureDependent)
using the command:
pdbSet <material> <defect> CStarMod <model>

where defect is interstitial or vacancy, and model is one of the available models.
* *
The Constant model simply sets C X to C X ( intrinsic ) , the FermiLevelDependent model is
given in Eq. 150, and the FermiPressureDependent model includes both Fermi effects and
pressure-field effects.

The pressure effects are modeled in Sentaurus Process by modifying the equilibrium point-
defect concentrations:
( ΔV X P )
– ------------------
-
* * kT
CX = C X ( Si, P ≡ 0 )e (352)

*
where C X is the total equilibrium concentration of point defect X (interstitial or vacancy). ΔV X
is the activation volume change of equilibrium point defects due to the pressure P and is given
by:
3
ΔV I = ε4πr o (353)

2 (1 – η) Γ
ΔV V = -2πr s 3 ----------------- --- (354)
1+η μ

where ε is the dilatation, r o is the measure of the sphericity of the interstitial, r s is the radius
of the vacancy, η is the Poisson ratio of silicon, Γ is the surface tension of the vacancy, and μ
is the shear modulus of silicon. The following set of commands can be used to modify ΔV X :
pdbSet Silicon Interstitial Volume 8.59e-24
pdbSet Silicon Vacancy Volume -5.52e-24
3
The unit of Volume is cm .

266 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Electron Concentration

Electron Concentration
To calculate the electron concentration or, alternatively, the electron potential, Sentaurus
Process solves either the Poisson equation or charge balance equation. By default, the
ChargedReact, ChargedPair, and ChargedEquilibrium models all solve the charge
balance equation. The uncharged models do not require a separate equation because the
electron concentration can be computed directly from the net doping.

The Poisson equation is given by:


∇•( ε ∇ψ ) = – q ( p – n + ΔN ) (355)

where ε is the permittivity, ψ is the potential, n and p are the electron and hole
concentrations, and ΔN is the net charge.

Electrons and holes are always assumed to be in equilibrium, such that:


2
pn = n i (356)

The charge balance equation is:


– n + p + ΔN = 0 (357)

In Eq. 355 and Eq. 357, the ΔN must be calculated. The net charge is given by:
( c + zj )
ΔN =  z j C A +  cC c +  ( z j + c )C A X
+
j X j
(358)
j c X, c , j

where:
■ c is the charge state of the defect X , interstitial, or vacancy.
■ C Xc is the concentration of the defect X in the charge state c .
■ z j is the charge state of dopant A j .
■ A j X is the dopant A j and defect X pair.

You can exclude or include the charged dopant–defect pairs or charged defects in Eq. 358, for
example:
pdbSet Si Dopant ChargeModel DopantOnly
pdbSet Si Dopant ChargeModel DopantDefect

The first command, which is the default behavior for dopants, includes only the charged
dopants in silicon in Eq. 358. The second command includes the charged dopants as well as the
charged dopant–defect pairs in Eq. 358.

Sentaurus Process User Guide 267


H-2013.03
4: Diffusion
Electron Concentration

In a similar way:
pdbSet Si Defect ChargeModel None
pdbSet Si Defect ChargeModel Defect

The first command, which is the default behavior for defects, excludes the charged defects in
silicon in Eq. 358 and the second command includes them.

NOTE The diffusion models Constant, Fermi, Pair, and React always
exclude the charged dopant–defect pairs.

The Poisson equation is switched on or off with the command:


pdbSet Si Potential Poisson 1 | 0

NOTE The above switch is used to switch from or to the Poisson equation to or
from the charge balance equation.

If it is switched off, the charged defects and charged dopant–defect pairs are not included in
Eq. 358, and Eq. 359 is used to calculate the potential:

ψ = ------ log  ------- ( ΔN + ΔN + 4n i )


1 1 2 2
(359)
V ti 2n i

where V ti is 1 ⁄ kT , and n i is the intrinsic concentration of electrons and can be set using the
command:
pdbSet <material> Potential ni {<n>}

To switch on or off the solution of the Poisson equation or the charge balance equation,
regardless of the diffusion model selected, use the commands:
pdbSetBoolean Potential ForcedTurnOff 0/1
pdbSetBoolean Potential ForcedTurnOn 1/0

NOTE If the potential equation is switched off, charge neutrality is assumed. If


the selected diffusion or cluster models use complex charges, this may
lead to instability in the code.

Bandgap Narrowing
If bandgap narrowing effects need to be considered, Sentaurus Process uses the effective
intrinsic electron density, n ie , instead of n i . n ie is given by:
ΔEg
– ----------
2kT
n ie = n i e (360)

268 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Electron Concentration

where ΔE g is the reduction in the bandgap energy of silicon and is defined as:
ΔEg = ΔEgu + ΔEgs (361)

where ΔEgu is the user-defined bandgap narrowing and can be set using the command:
pdbSet <material> Potential delEg {<n>}

ΔEgs is the bandgap narrowing due to strain in the structure. To switch on this effect, the
intrinsic electron density model (niMod) must be set to StrainDependent. To select the
model, use:
pdbSet <material> Potential niMod <model>

niMod can have either the value Constant or StrainDependent. The Constant model
will ignore ΔEgs .

If the StrainDependent model is selected, ΔEgs will be calculated [25] using:


ΔEci = D ci ( ε xx + ε yy + ε zz ) + D cxi ε xx + D cyi ε yy + D czi ε zz (362)

ΔEvi = D vi ( ε xx + ε yy + ε zz )
2 2 2 2 2 2 2 2
(363)
± ( 0.5D vbi ( ( ε xx – ε yy ) + ( ε yy – ε zz ) + ( ε zz – ε xx ) ) + D vdi ( ε xy + ε xz + ε yz ) )

where ε is the strain in the respected direction, and D ci, D vi are the dilatational deformation
potentials for the conduction and valence band valleys, respectively.

They can be set using the commands:


pdbSet Silicon Potential Ec Dilatational {
1 -8.6
2 -8.6
3 -8.6
}
pdbSet Silicon Potential Ev Dilatational {
1 -2.1
2 -2.1
}

D cxi, D cyi, D czi and D vbi, D vdi are the deviatoric deformation potential of conduction and
valence band valleys. They can be set using the commands:
pdbSet Si Potential Ec Deviatoric(1) {
1 9.5
2 0.0
3 0.0
}

Sentaurus Process User Guide 269


H-2013.03
4: Diffusion
Epitaxy

pdbSet Si Potential Ec Deviatoric(2) {


1 0.0
2 9.5
3 0.0
}
pdbSet Si Potential Ec Deviatoric(3) {
1 0.0
2 0.0
3 9.5
}
pdbSet Si Potential Ev Deviatoric(1) {
1 0.5
2 4.0
}
pdbSet Si Potential Ev Deviatoric(2) {
1 0.5
2 4.0
}

Sentaurus Process uses the averaged values of conduction and valence bands energies,
ΔEci, ΔEvi :

 3 – Δ-----------
Eci
-
ΔEc = – kT log  ---  e
1 kT 
3 
(364)
 i=1 

 2 Δ-----------
Evi
-
ΔEv = kT log  ---  e
1 kT 
2 
(365)
 i=1 

The bandgap narrowing becomes:


ΔEgs = ΔEc – ΔEv (366)

NOTE ΔEgs is ignored where Germanium


------------------------------- > 0.1% (see Dopant Diffusion in
5e22
SiGe on page 250).

Epitaxy
Epitaxial growth is simulated when an Epi type ambient is specified on either the diffuse
command or in a temp_ramp ramp used by the diffuse command.

By default, two Epi type ambients are available: one is called Epi and the other is called LTE.
If Epi is specified, Silicon will grow on Silicon and PolySilicon will grow on

270 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Epitaxy

PolySilicon. If the LTE ambient is specified, Silicon will again grow on Silicon, but
PolySilicon will grow on Oxide, Nitride, and PolySilicon. The layer thickness is
specified with the thick parameter and doping is specified with the [Link] parameter.

Epitaxy is solved using the Alagator general growth scheme (see Alagator for Generic Growth
on page 584). This allows the creation of new epi growth modes (that is, specifying which
materials grow) and material-dependent growth rates.

An unlimited number of species can be incorporated into the epitaxial layer. Doping is
specified using the [Link] and [Link] parameters in either the diffuse
command or a temp_ramp included in a diffuse command. The parameters <material>
<solution> Cepi0 and <material> <solution> CepiE set the default value of fields
in the growing material. The defaults are overwritten by setting the [Link] and
[Link] parameters of the diffuse or temp_ramp commands. The same set of
equations as for the single-crystalline silicon is solved for the epitaxial silicon during the
diffusion step simulation. If the growth temperature goes below the minimum diffusion
temperature, the diffusion equations will be switched off, but the boundary conditions for
dopant incorporation will be applied. The Continuous boundary condition is applied to all
the mobile species at the interface between the epitaxial layer and single-crystalline silicon to
take into account the variable jump.

It is also possible to incorporate the auto-doping of dopants during the epitaxial growth using
the [Link] parameter in either the diffuse command or a temp_ramp included in a
diffuse command. Auto-doping can be switched on only for dopants that are not listed in the
[Link] or [Link] parameters (see Epi Auto-Doping on page 272).

In certain examples, it is easier to specify resistivity to obtain the required doping concentration
in the epi layer. The resistivity can be specified using the [Link] parameter in either the
diffuse command or a temp_ramp included in a diffuse command.

Two different methods can be selected to simulate the epitaxial growth. The [Link]
parameter of the diffuse command is used to switch between them:
■ If [Link]=0 (default), a moving-boundary algorithm similar to the oxidation one is
applied.
■ If [Link]=1, alternating doped deposition and inert annealing steps are used. Model 1
supports selective epitaxy, graded doping, and material-dependent growth rates, and can be
used with both the Sentaurus Structure Editor and MGOALS3D modes. Furthermore, for
3D epitaxy, Model 1 is recommended because of the computational time and reliability
issues related to moving boundaries (Model 0) in 3D.

To set the grid spacing, use the [Link] parameter. This sets the number of grid layers
that are deposited during the corresponding diffuse or temp_ramp steps.

NOTE Model 1 is recommended for 3D epitaxy and can be used with 2D.

Sentaurus Process User Guide 271


H-2013.03
4: Diffusion
Epitaxy

Epi Doping
Two parameters of the diffuse and temp_ramp commands are used to control doping:
[Link] and [Link]. Both parameters take a list of parameters, that is,
dopant and field names, as their arguments.

If a dopant or field name appears in only one of the lists or in both of the lists with the same
value, the value of the doping is constant throughout the step. If the dopant or field appears in
both lists with different values, a linear gradient of the doping is applied. For example:
temp_ramp name=t1 temperature=550 [Link]=700 time=1<min>
temp_ramp name=t1 [Link]=700 time=5<min> Epi thick=0.1<um> \
[Link] = { Boron=1e18 Germanium=1e21 } \
[Link] = { Germanium=5e21 }
diffuse [Link]=t1

In this example, epitaxy is simulated after an inert temperature ramp. During epitaxy, the boron
18 –3 21 –3
concentration is a constant 10 cm , and germanium is ramped from 10 cm to
21 –3
5 × 10 cm . In addition, all these parameters can be set in the diffuse command, for
example:
diffuse temperature=700 time=5<min> LTE \
[Link] = { Arsenic=1e18 } thick = 0.1<um>
18 –3
In this case, a constant arsenic doping of 10 cm is applied to an LTE epitaxial growth.

Epi Auto-Doping
The [Link] parameter of the diffuse and temp_ramp commands controls doping.
The parameter takes a list of parameters, that is, dopant and field names, as its arguments. If a
dopant or field name appears in [Link] and in either [Link] or
[Link], auto-doping of this dopant is ignored. For example:
temp_ramp name=t1 temperature=550 [Link]=700 time=1<min>
temp_ramp name=t1 [Link]=700 time=5<min> Epi thick=0.1<um> \
[Link] = { Boron Germanium } [Link] = { Germanium=1e21 } \
diffuse [Link]=t1

In this example, only auto-doping of boron is simulated. The parameter [Link]


switches on the following model automatically at Gas and epitaxially grown material interface:
k Δt
 –  ---------------------
Decay
 
  *   CA
+ C A  – -----------------------------
t min
j • n = k Transfer   C A e (367)
k Segregation
  

272 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Epitaxy

*
where k Transfer is the transfer rate, k Segregation is the segregation rate, C A is the peak value of
min
the dopant concentration in the auto-doped region, C A is the minimum value of the dopant
concentration, k Decay is the decay rate of the auto-doping, and C A is the dopant concentration.
These parameters can be modified using the commands:
pdbSet <interface material> <dopant> TransferAutoDoping <n>
pdbSet <interface material> <dopant> SegregationAutoDoping <n>
pdbSet <interface material> <dopant> Cstar <n>
pdbSet <interface material> <dopant> minConc <n>
pdbSet <interface material> <dopant> DecayRate <n>

where <interface material> is the Gas and epitaxially grown material interface. In
Eq. 367, Δt is the percentage of the simulation time since the diffusion started, and t is the
total simulation time from the beginning to the end of diffusion. Eq. 367 is created
automatically and stored in a term called <dopant>AutoDoping. You can overwrite this by
defining your own reactions.

For example:
term name=BoronAutoDoping EpiOnSilicon /Gas add eqn = \
"1e-3*(1e16-Boron_EpiOnSilicon/0.1)"

NOTE Since the model does not solve equations in gas, the dose loss or gain of
the dopant is expected.

Epi Doping Using Resistivity


The [Link] parameter of the diffuse and temp_ramp commands controls doping.
The parameter takes a list of parameters, that is, dopant name and resistivity, as its argument.

If more than one dopant name appears in the list, the doping concentration is calculated
individually for each dopant by ignoring the other ones. For example:
temp_ramp name=t1 temperature=550 [Link]=700 time=1<min>
temp_ramp name=t1 [Link]=700 time=5<min> Epi thick=0.1<um> \
[Link]= { Arsenic=1e-2 Phosphorus=2e-3 }
diffuse [Link]=t1

In this example, epitaxy is simulated after an inert temperature ramp. During epitaxy, the
19 –3
arsenic concentration is a constant 4.3 × 10 cm and the phosphorus concentration is
19 –3
9.7 × 10 cm . In addition, all of these parameters can be set in the diffuse command, for
example:
diffuse temperature=700 time=5<min> LTE \
[Link]= { Arsenic=1e-2 Phosphorus=2e-3 } thick= 0.1<um>

Sentaurus Process User Guide 273


H-2013.03
4: Diffusion
Epitaxy

The doping concentration calculations use the silicon-based mobility models (see Resistivity
on page 832).

Epi Growth Settings: Low-Temperature Epitaxy


Several parameters are available to allow for the simulation of effects seen in low-temperature
epitaxy (LTE). LTE growth can result in the growth of polysilicon on insulators such as oxide
and nitride after a seed layer has nucleated. In addition, the growth rate may depend on the
starting material where the growth is occurring. To allow different growth rates and nucleation
times, Sentaurus Process uses temporary materials with distinct names that are converted back
to standard names at the end of the diffusion command. For example, during LTE,
LTEOnOxide is grown on oxide, and LTEOnSilicon is grown on silicon (there are also the
materials LTEOnPolySilicon and LTEOnNitride). After the diffusion step is complete,
LTEOnOxide is converted to PolySilicon, and LTEOnSilicon is converted to Silicon.
In addition, be aware that after material conversion, regions will merge if there are interfaces
with the same material on both sides.

To set the nucleation delay for LTE growth on oxide, use:


pdbSet Gas_<starting material> <ambient> NucleationDelay <n>

where <n> is in seconds. For the case of LTEOnOxide, <starting material> is Oxide and
<ambient> is LTE.

NOTE The exposure time is not saved, so nucleation must happen within one
diffuse command (use the temp_ramp command to create long
diffusion steps with optional ramp-up or ramp-down).

The growth rate for all materials is determined by default from the native layer thickness as
well as the thick and time parameters of the diffuse or temp_ramp commands. However,
the growth rate can be set manually using a callback procedure like this:
pdbSet <growing material>_Gas <ambient> GrowthRateProc <proc name>

Inside <proc name>, you should set the pdb parameter GrowthReaction. For example:
pdbSet Gas_LTEOnOxide LTE GrowthRateProc MyGRProc
proc MyGrProc { Mat Sol } {
set myGrowthRate 1.0e-7 ;# in cm/s
pdbSetString $Mat $Sol GrowthReaction "$myGrowthRate"
}

It is possible to set GrowthReaction to any Alagator expression not involving derivative


expressions or element values.

274 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Epitaxy

Simulating Facet Growth during Selective Epitaxy


There are two ways to switch on faceting:
■ Using the [Link] parameter of the temp_ramp (or diffuse) command.
■ Using the PDB parameter <epimat gas interface> [Link] along with
setting the parameter pdbSet Grid AnisotropicGrowth 1.

The syntax for both [Link] parameters is similar:


temp_ramp [Link]= {
<interface material1>= { angle1(degrees) factor1(unitless) \
angle2 factor2 ...} \
<interface material2> = ... \
}

or:
pdbSet <interface material> [Link] {
angle1(degrees) factor1(unitless) angle2 factor2 ...
}

where the interface material would be, for example, EpiOnSilicon_Gas for epi growth on
silicon and Gas_LTEOnSilicon for LTE on silicon. There are aliases for all materials, so the
order of the interface materials is not important.

NOTE Facet growth is only available with [Link]=0.

To form facets, a large range of degrees near 0 that have a factor of 1.0 is needed. For larger
angles, the factor should monotonously decrease to 0 at the required facet angle. For example,
to form 35° facets during epi on silicon, the following setting could be used:
temp_ramp thick=<thick> epi time=<time> temperature=<temp> [Link]=<nlay> \
[Link] = {
EpiOnSilicon_Gas = { 0.0 1.0 20.0 1.0 35.0 0.0 }
}

Controlling Where Facets Form

By default, facets form at all triple points. To switch off these facets, use:
pdbSet AnisoGrowthTriplePoints 0

By default, facets will not form on the outer boundaries. To switch on faceting on the outer
boundary, use:
pdbSet AnisoGrowOuterBoundaries 1

Sentaurus Process User Guide 275


H-2013.03
4: Diffusion
Other Effects on Dopant Diffusion

Time-stepping

This algorithm and anisotropic growth in general can be inherently unstable. If a ‘bump’
develops during growth, it may persist or perhaps even grow larger. To prevent bumps from
forming, it is necessary to take small time steps. The parameter dThicknessAnisoGrowth
can be used to control time-stepping during anisotropic growth. It sets a maximum thickness
per time step:
pdbSet Diffuse dThicknessAnisoGrowth <thickness in um> #; default 0.001um

Other Effects on Dopant Diffusion

Pressure-dependent Dopant Diffusion


Dopant diffusivities can be enhanced or retarded due to stress or pressure. In addition to this,
shrinking device dimensions can cause significant stress or pressure gradients affecting dopant
diffusion further [25]. With this model, Sentaurus Process allows diffusivities and gradients to
be multiplied by user-defined factors as follows:
C
j = – DD SS ∇---------- (368)
D SP

where C is the concentration, D is the diffusivity, and D SS and D SP are user-definable terms.
You can define both factors. To switch the model on or off, use the command:
pdbSet <material> <dopant> StressModel <model>

where model is None (off, default value) or PDependent (on).

For the definition of terms, see Chapter 6 on page 559.

For example, in the case of specified boron in silicon, this is given by:
term name=BoronIntSSFactor add Silicon eqn = {User defined equation}
term name=BoronIntSPFactor add Silicon eqn = {User defined equation}

To allow Sentaurus Process to use these terms, specify a term with the name
<dopant><defect>SSFactor or <dopant><defect>SPFactor.

If the model is switched on and you do not provide the terms, D SS and D SP are calculated as:
( ΔV V P )
– -------------------
kT
D SS = e (369)

276 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Other Effects on Dopant Diffusion

( ΔV S P )
– ------------------
kT
D SP = e (370)

where ΔV V and ΔV S are activation volumes and can be set using the commands:
pdbSet <material> <dopant> <defect> delVolV {<n>}
pdbSet <material> <dopant> <defect> delVolS {<n>}

Diffusion Prefactors
Dopant diffusivities can be enhanced or retarded due to various new process conditions. If a
new model does not exist to simulate the observed behavior, you may want to multiply the
existing diffusivity with a prefactor. Sentaurus Process allows diffusivities to be multiplied by
user-defined factors as follows:
j = – DD F ∇C (371)

where C is the concentration, D is the diffusivity, and D F is the diffusion prefactor. For
example, in the case of specified boron in silicon, this is given by:
term name=BoronDiffFactor add Silicon eqn = "exp(0.042 * $Vti * 125 * \
Germanium / 5e22)"

The effective diffusivity of boron ( D B = D BI + D BV ) will be multiplied by


BoronDiffFactor. (For the definition of terms, see Using Terms on page 568.) Sentaurus
Process also allows each dopant–defect diffusivity to be multiplied by a different user-defined
factor:
j = – ( D CI D IF + D CV D VF ) ∇C (372)

where D CI is the diffusivity of the dopant–interstitial pair, D CV is the diffusivity of the dopant–
vacancy pair, and D IF and D VF are the diffusion prefactors for each dopant–defect pair. For
example:
term name=BoronIntDiffFactor add Silicon eqn = "exp(0.042 * $Vti * 125 * \
Germanium / 5e22)"
term name=BoronVacDiffFactor add Silicon eqn = "exp(0.042 * $Vti * 25 * \
Germanium / 5e22)"

In this example, diffusivity of boron–interstitial pairs ( D BI ) and the diffusivity of boron–


vacancy pairs ( D BV ) will be multiplied by BoronIntDiffFactor and
BoronVacDiffFactor, respectively.

To allow Sentaurus Process to use these terms, specify a term with the name
<dopant>DiffFactor or <dopant><defect>DiffFactor.

Sentaurus Process User Guide 277


H-2013.03
4: Diffusion
Other Effects on Dopant Diffusion

Anisotropic (optionally stress-dependent) diffusivities can be specified using the diffusion


prefactors as well. To do this, the diag operator must be used when specifying the diffusion
prefactor. For more information, see Special Functions on page 561.

High-Concentration Effects on Dopant Diffusion


To model experimentally observed sharp increases in arsenic diffusion in silicon at high dopant
concentrations, diffusivity coefficients must be modified. Dunham and Wu [26] proposed that
interactions of vacancies with more than one dopant result in the enhancement of dopant–
vacancy pair diffusivity by a factor:
j = – DD F ∇C (373)

C A C pow
D F = 1 +  ---------- (374)
 C ref

20
where C As is the active concentration of arsenic, and C ref ∼ 2 ×10 cm–3 and C pow ∼ 4 for
arsenic. The correction factor can be applied to all dopant–defect pairs as long as the
parameters are supplied. The model can be switched on with the command:
pdbSet <material> <dopant> <defect> HighConcDiffEffect 1

The default of the model is off (0). The model parameters are set using the command:
pdbSet <material> <dopant> <defect> Cref {<n>}
pdbSet <material> <dopant> <defect> Cpow {<n>}

For example:
pdbSet Silicon Arsenic Vacancy Cref 1.6e20
pdbSet Silicon Arsenic Vacancy Cpow 4.0

Hydrogen Effects on Dopant Diffusion


To model experimentally observed sharp increases in boron diffusion in oxide at the presence
of hydrogen, diffusivity coefficients of boron must be modified. Chakravarthi et al. [27]
proposed that the presence of hydrogen results in the enhancement of boron diffusivity by the
following factor:
j = – DD F ∇C (375)

C H C pow
D F = 1 +  ---------- (376)
 C ref

278 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Activation and Clustering

15
where C H is the active concentration of hydrogen, and C ref ∼ 1 ×10 cm–3 and C pow ∼ 1 for
boron. If hydrogen is present in the structure, the enhancement factor for boron will be applied
automatically.

The model parameters are set using the command:


pdbSet <material> Hydrogen <dopant> Cref {<n>}
pdbSet <material> Hydrogen <dopant> Cpow {<n>}

For example:
pdbSet Oxide Hydrogen Boron Cref 1.6e20
pdbSet OxideHydrogen Boron Cpow 4.0

The correction factor can be applied to other dopants if the dopant is given in the dopant list
using the command:
pdbSet <material> Hydrogen Dopants <list>

where <list> is the list of dopants. For example:


pdbSet Oxide Hydrogen Dopants "Boron Arsenic"

The diffusion of hydrogen itself is modeled using the constant diffusion model (see Constant
Diffusion Model on page 212).

Dopant Activation and Clustering


It is possible to select a different clustering or activation model for each dopant in different
materials with the command:
pdbSet <material> <dopant> ActiveModel <model>

where <dopant> is a valid dopant name and <model> is one of the valid active models (None,
Solid, Transient, Cluster, ChargedCluster, BIC, FVCluster, or Equilibrium).

NOTE BIC is valid only for boron and is not recommended because the
ChargedCluster model is better suited for modeling boron–
interstitial clusters. FVCluster is valid only for fluorine.

Dopant Active Model: None


If ActiveModel is set to None, all dopants are assumed to be active. No solid solubility or
dopant clustering effects will be taken into account for dopant activation.

Sentaurus Process User Guide 279


H-2013.03
4: Diffusion
Dopant Activation and Clustering

Dopant Active Model: Solid


If ActiveModel is set to Solid, a simple solid solubility for the dopant activation is
considered:
ss
+ CA CA
C A = -------------------------
ss
- (377)
( CA + CA )

SS
C A is calculated by:
SS ss0
CA = f ⋅ CA (378)

where f is the multiplication factor that is defined by:


pdbSet <material> <dopant> [Link] <expression>
SS0
and the solid solubility C A of the dopant A that can be set with:
pdbSet <material> <dopant> Solubility {<n>}

when [Link] is set to Analytic. However, when [Link] is set to Table, the solid
solubility is taken from the temperature-versus-solid solubility table.

The [Link] is defined by:


pdbSet <material> <dopant> [Link] <Analytic or Table>

The temperature-versus-solid solubility table is defined by:


pdbSet <material> <dopant> [Link] <temp1 ss1 temp2 ss2 ... temp# ss#>

With the table, the solid solubility for the given temperature is logarithmically interpolated or
extrapolated when the given temperature is out of range.

Dopant Active Model: Precipitation


Setting ActiveModel to Precipitation or setting ActiveModel to the other activation
model the list of [Link] including Precipitation solves the
transient equation:
*
∂C Appt C Appt – C Appt
----------------- = – ---------------------------------- (379)
∂t τ Appt

280 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Activation and Clustering

with the constraint:

0.0 ≤ C Appt ≤ max ( C A –  nC ACl – C Amin, 0.0 )


+
(380)

C Appt is the precipitates concentration of the dopant and C *Appt is the equilibrium precipitates
concentration given by:

C Appt = C A –  nC ACl – C AEq


*
(381)

where:
■ C A is the total chemical concentration.

 nCACl represents the total dopant concentration in other clusters than precipitates.
■ C AEq is the equilibrium active concentration calculated by Dopant Active Model:
Equilibrium on page 293.

 nCACl in Eq. 380 and Eq. 381 are included only when the other clustering model is invoked
with the list of [Link], for example:
pdbSet Si Boron [Link] { Precipitation }
pdbSet Si Boron ActiveModel Transient

The time constant τ Appt is given by:


*
τ Appt = ClusteringTime for C Appt ≤ C Appt (382)

*
τ Appt = DeclusteringTime for C Appt > C Appt (383)

The solution for C Appt is named with <species name>Ppts; for example, BPpts for boron
precipitates. The parameters ClusteringTime and DeclusteringTime are defined for the
precipitates in the material, for example:
pdbSet Silicon BPpts ClusteringTime {[Arr 8e-16 -4.2]}
pdbSet Silicon BPpts DeclusteringTime {[Arr 8e-16 -4.2]}
+
C Amin is the minimum active concentration defined by the parameter MinimumActive, for
example:
pdbSetString Silicon Boron MinimumActive "0.0"

Initializing Precipitation Model

The initialization of the precipitation concentration depends on the value of the parameters
AmInit and AcInit. The initial level of active concentration in amorphized and crystalline

Sentaurus Process User Guide 281


H-2013.03
4: Diffusion
Dopant Activation and Clustering

regions can be specified per dopant as AmInit and AcInit, respectively. You can specify the
AmInit and AcInit parameters using:
pdbSet <material> <dopant> AcInit {<n>}
pdbSet <material> <dopant> AmInit {<n>}

If the AcInit parameter is not defined, the solid solubility of the dopant is used to calculate
the AcInit parameter. If you want AcInit and AmInit to be a function of other fields for a
specific dopant, define the terms <dopant>AcInit and <dopant>AmInit in your input files.

The precipitation model can be used with other activation models, for example:
pdbSet Si B ActiveModel BIC
pdbSet Si B [Link] { Precipitation }

NOTE The items allowed in [Link] are


Precipitation or ComplexCluster. The equilibrium activation
model cannot be used with the precipitation model.

When the precipitation model is invoked with other activation models, the initial
concentrations of the clusters and the precipitates are set as follows.

In the amorphous region:


C Appt = f Appt ⋅ max ( C A – AmInit, 0.0 ) (384)

C Aclust, i = f Aclust, i ⋅ max ( C A – AmInit, 0.0 ) (385)

where the fraction ratio f Appt for precipitation and f Aclust, i for the cluster of other activation
model i are written as:
FractionAmor ppt
f Appt = ------------------------------------------------------------------------------------------------------------------------------------------------- (386)
FractionAmor ppt + FractionAmor dopant +  FractionAmor i
i

FractionAmor i
f Aclust, i = ------------------------------------------------------------------------------------------------------------------------------------------------- (387)
FractionAmor ppt + FractionAmor dopant +  FractionAmor i
i

In the crystalline region:


ΔC Appt = f Appt ⋅ max ( C Aimplant – AcInit, 0.0 ) (388)

ΔC Aclust, i = f Aclust, i ⋅ max ( C Aimplant – AcInit, 0.0 ) (389)

282 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Activation and Clustering

where:
FractionCryst ppt
f Appt = ---------------------------------------------------------------------------------------------------------------------------------------------- (390)
FractionCryst ppt + FractionCryst dopant +  FractionCrysti
i

FractionCryst i
f Aclust, i = ---------------------------------------------------------------------------------------------------------------------------------------------- (391)
FractionCryst ppt + FractionCrystdopant +  FractionCryst i
i

The parameters FractionAmor and FractionCryst for the precipitation are written as:
pdbSet <material> <precipitates> FractionAmor <number>
pdbSet <material> <precipitates> FractionCryst <number>

Dopant Active Model: Transient


If ActiveModel is set to Transient, a transient dopant-cluster model is used. The transient
dopant cluster is more complicated than the simple, solid solubility model. The following set
of equations is solved along with the appropriate diffusion model equations:

∂C AC n kc 1  kc – 1 + lc kc  + lc n  –zl c
= k f  ----  ----------------  ---
zl c – zl c
- n K ( C ) – K k ( n ) n C (392)
∂t ni 18 i  Ffwd A Fbwd b ss i AC  n-i 
1 ×10

where:
■ k f is the forward-clustering reaction rate.
■ k b is the de-clustering rate.
+
■ C A is the active dopant concentration.
■ C AC is the concentration of clusters.
■ l c is the number of substitutional dopants.
■ k c is the number of electrons participating in the reaction.
■ n is the electron concentration.
■ n i is the intrinsic electron concentration.
■ n ss is the electron concentration assuming that the dopant A reached the limits of solid
solubility.

Sentaurus Process User Guide 283


H-2013.03
4: Diffusion
Dopant Activation and Clustering

These quantities can be set using the commands:


pdbSet <material> <dopant> Kc {<n>}
pdbSet <material> <dopant> Lc {<n>}
pdbSet <material> <dopant> KcEqu {<n>}
pdbSet <material> <dopant> CluRate {<n>}

where KcEqu and CluRate correspond to k b and k f . Initialization of transient dopant clusters
is explained in Ion Implantation to Diffusion on page 340. The default value of KcEqu is
calculated by using:
lc
 C ss 
K cEqu = l c  ---------------------------- (393)
 C sstot – C ss

where C ss is the solid solubility of the unpaired dopant and C sstot is the solid solubility of total
concentration of the dopant. K cEqu can be set directly using the command:
pdbSet Silicon Arsenic KcEqu 1e66

or can be set indirectly using the commands:


pdbSet Silicon Arsenic Solubility 1e20
pdbSet Silicon Arsenic TotSolubility 1e21

and its modifying factors:


pdbSet Silicon Arsenic [Link] 1
pdbSet Silicon Arsenic [Link] 1

In addition, K Ffwd and K Fbwd are forward and backward reaction factors, respectively. They
can be defined as:
term name = <dopant>TClusterForwardFac <mater>
eqn = { User defined equation }
term name = <dopant>TClusterBackwardFac <mayer>
eqn = { User defined equation }

If they are not defined, their default value is 1.

Table 23 Solution names for transient model


Symbol Boron Arsenic Phosphorus Antimony Indium

C AC B4 As3 P3 Sb3 In3

284 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Activation and Clustering

Initializing Transient Model

If you switch on the transient dopant cluster model or cluster model, initialization of the dopant
clusters is performed in the diffPreProcess procedure (see Ion Implantation to Diffusion
on page 340). The initialization of the dopant-cluster concentration depends on the value of the
parameters AmInit and AcInit. The initial level of active concentration in amorphized and
crystalline regions can be specified per dopant as AmInit and AcInit, respectively.

You can specify the AmInit and AcInit parameters using:


pdbSet <material> <dopant> AcInit {<n>}
pdbSet <material> <dopant> AmInit {<n>}

If the AcInit parameter is not defined, the solid solubility of the dopant is used to calculate
the AcInit parameter. If you want AcInit and AmInit to be a function of other fields for a
specific dopant, define the terms <dopant>AcInit and <dopant>AmInit in your input files.

For example:
term name=ArsenicAcInit silicon add eqn = "Germanium/5e22 * [pdbDelayDouble
Silicon Arsenic Solubility]"
term name=ArsenicAmInit silicon add eqn = "Germanium/5e22*1e19"

In this case AcInit and AmInit for arsenic are replaced with ArsenicAcInit and
ArsenicAmInit.

If the dopant concentration is lower than AcInit in crystalline regions, dopants are considered
to be active. If the dopant concentration is higher than AcInit, the number of active dopants
is initially AcInit, and the concentration of clustered dopants is given by Dopant – AcInit.
The following outlines the initilization of dopant clusters.

In crystalline regions:
Dopant = Dopant + min(AcInit, Dopant_Implant)
(394)
DopantCluster = DopantCluster + Dopant_Implant - min(AcInit, Dopant_Implant)

In amorphous regions:
Dopant = min(AmInit, Dopant+DopantCluster+Dopant_Implant)
DopantCluster = Dopant + DopantCluster + Dopant_Implant (395)
– min(AmInit, Dopant+DopantCluster+Dopant_Implant)

where Dopant is the dopant name (for example, Boron, B4, and Boron_Implant).
Smoothing also can be applied to dopant profiles using the parameter AmorpGamma (see Ion
Implantation to Diffusion on page 340).

Sentaurus Process User Guide 285


H-2013.03
4: Diffusion
Dopant Activation and Clustering

Dopant Active Model: Cluster


If ActiveModel is set to Cluster, a dopant–defect cluster model is used. The model is
primarily implemented to simulate arsenic–vacancy clusters, but if the model parameters are
provided, it is possible to simulate other dopant–defect clusters.

The model assumes that arsenic–vacancy clusters are formed in silicon during arsenic
deactivation [28][29]. It is also assumed that neutral clusters ( As m V k ) are formed. Different
charge states are taken into account by:
[j]
mAs + f ↔ As m V k + kI (396)

f = ( m – kj )e, if ( kj – m ) < 0 (397)

f = ( m – kj )h, if ( kj – m ) ≥ 0 (398)

where j denotes interstitial charge, e and h are the electron and hole densities, and m and k
are the dopant and defect sizes, respectively.

The following commands can be used to set the reacting defect species, m and k , respectively:
pdbSet <material> <dopant> ClusterDefects <c>
pdbSet <material> <dopant> <defect> ClusterSizes {{<n> <n>}}

for example:
pdbSet Silicon Arsenic ClusterDefects Vac
pdbSet Silicon Arsenic Vacancy ClusterSizes {{4 1}}

where 4 is the number of arsenic atoms in the cluster and 1 is the number of vacancies in the
cluster. They form the As4Vacancy clusters.

NOTE Cluster sizes are defined as {i j} where i and j are integers and are
separated by a space.

The reaction rate for the cluster formation can be written as:
m n m – kj n kj
R j ≡ K fj C As  ---- – K rj C As V C 0  ---- (399)
 n i m k I n 
i

where C As is the active arsenic concentration, C Asm Vk is the arsenic–vacancy cluster


concentration, C I0 is the neutral interstitial concentration, n is the electron concentration, n i

286 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Activation and Clustering

is the intrinsic electron concentration, K fj is the forward reaction rate, and K rj is the backward
reaction rate. An additional assumption was made for all j :
K rj
------- = K equ (400)
K fj

Then, the total rate R is the sum of R j over all j :


kj
 Kfj  n----i  C m  ---
n
C 
n
R = - –K C
 As  n i equ As m Vk I0
(401)
j

The forward reaction rate K fj can be set using the command:


pdbSet <material> <dopant> <defect> CluRateChargeStates {<n>}

for example:
pdbSet Silicon Arsenic Vacancy CluRateChargeStates
{-2 {[Arrhenius 5.0e-42 7.8]}
-1 {[Arrhenius 5.0e-42 7.8]}
0 {[Arrhenius 5.0e-42 7.8]}
1 {[Arrhenius 5.0e-42 7.8]}
2 {[Arrhenius 5.0e-42 7.8]}}

The equilibrium reaction rate is calculated by:


n ss m
K cEqu  -------
 ni 
K equ = ------------------------------- (402)
* k
( CI )

where n ss is the electron concentration assuming that arsenic reached the limits of solid
*
solubility and C I is the equilibrium concentration of interstitials. K cEqu is given as:
m
 C ss 
K cEqu = m  ---------------------------- (403)
 sstot
C – C ss

where C ss is the solid solubility of the unpaired arsenic dopants and C sstot is the solid
solubility of total arsenic concentration.

You can either set the solid solubility values or K cEqu using the commands:
pdbSet Silicon Arsenic Solubility 1e20
pdbSet Silicon Arsenic TotSolubility 1e21
pdbSet Silicon Arsenic Vac KcEqu 1e66

Sentaurus Process User Guide 287


H-2013.03
4: Diffusion
Dopant Activation and Clustering

In addition, Solubility and TotSolubility can be changed through their modifying


factors:
pdbSet Silicon Arsenic [Link] 1
pdbSet Silicon Arsenic [Link] 1

NOTE For high-concentration effects, see High-Concentration Effects on


Dopant Diffusion on page 278. For smoothing dopant profiles around
amorphous to crystalline regions, see Ion Implantation to Diffusion on
page 340.

Table 24 Solution for cluster model


Symbol Arsenic

C As As4Vac
m Vk

Initializing Cluster Model


Initially, dopant–interstitial cluster concentrations (for example, As4Vac) are set to zero. If
there is an existing cluster concentration field, the field is used. If there are amorphized regions,
dopant–defect pairs and clusters are redistributed in these regions (see Dopant and Dopant-
Defect Cluster Initialization on page 302). In addition, you can initialize any of the cluster
concentration fields using the select command in the command file.

Dopant Active Model: NeutralCluster


The NeutralCluster model assumes that all reactants as well as clusters are neutral. If the
NeutralCluster model is selected, the following reactions are taken into account:

Ai Ij + I ↔ Ai Ij + 1 (404)

Ai Ij + V ↔ Ai Ij – 1 (405)

A i I j + AI ↔ A i + 1 I j + 1 (406)

Ai Vj + V ↔ Ai Vj + 1 (407)

Ai Vj + I ↔ Ai Vj – 1 (408)

A i V j + AV ↔ A i + 1 V j + 1 (409)

288 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Activation and Clustering

where i, j are the number of dopant and defect atoms in the cluster, respectively. The clusters
can be specified using the command:
pdbSet <material> <dopant> <defect> ClusterSizes <list>

For example, the carbon clusters are defined by:


pdbSet Silicon Carbon Interstitial ClusterSizes {{1 0} {1 1} {2 0} {2 1} {3 1}}

NOTE This sets up the diffusion equations for C , CI , C 2 , C 2 I , and C 3 I .


Cluster sizes given in the ClusterSizes list increase in size. For
example, the following is incorrect:
pdbSet Si Boron Int ClusterSizes { {1 0} {3 1} {1 1} }

NOTE If you add new cluster sizes, you must define the aliases for the new
clusters, for example:
alias C2I2 Carbon2Int2

The reactions are written as:


R IAI ≡ K fIA I ( C A I C I – B I A I C ) (410)
i j i j i j Ai I j + 1

R VAI ≡ K fVA I ( C A I C V – B V A I C ) (411)


i j i j i j Ai Ij – 1

R AI ≡ K fAIA I ( C A I C AI – B AIA I C A ) (412)


i j i j i j i + 1 Ij + 1

R VAV ≡ K fVA V ( C A V C V – B V A V C ) (413)


i j i j i j Ai Vj + 1

R IAV ≡ K fIA V ( C A V C I – B I A V C ) (414)


i j i j i j Ai Vj – 1

R AV ≡ K fAVA V ( C A V C AV – B AVA V C A ) (415)


i j i j i j i + 1 Vj + 1

where:
■ K fIAi Ij , K fVAi Ij , K fAIAi Ij , K fIVAi Vj , K fIAi Vj , and K fAVAi Vj are the forward reaction rates.
■ B I Ai Ij , B V Ai Ij , B AIAi Ij , B VAi Vj , B I Ai Vj , and B AVAi Vj are the binding coefficients.

To set these parameters, use the following commands:


pdbSet <material> <dopant> Interstitial KfCluster <cluster> {<n>}
pdbSet <material> <dopant> Vacancy KfCluster <cluster> {<n>}
pdbSet <material> <dopant> <pair> KfCluster <cluster> {<n>}
pdbSet <material> <dopant> Interstitial BindCluster <cluster> {<n>}

Sentaurus Process User Guide 289


H-2013.03
4: Diffusion
Dopant Activation and Clustering

pdbSet <material> <dopant> Vacancy BindCluster <cluster> {<n>}


pdbSet <material> <dopant> <pair> BindCluster <cluster> {<n>}

where <cluster> is a valid cluster name (for example, C2, C2I, C3I, C3I2), and <pair> is
a dopant–interstitial pair (for example, CarbonInt) or a dopant–vacancy pair.

For example:
pdbSet Silicon Carbon CarbonInt KfCluster C3I2 {[Arrhenius 1e-10 0.3]}

sets the forward reaction rate of the CarbonInt and C3I2 reaction to {[Arrhenius 1e-10
0.3]}.

Initializing NeutralCluster Model

Initially, cluster concentrations are set to zero. If there is an existing cluster concentration field,
the field is used. If there are amorphized regions, dopant–defect pairs and clusters are
redistributed in these regions (see Dopant and Dopant-Defect Cluster Initialization on
page 302).

In addition, you can initialize any of the cluster concentration fields using the select
command in the command file.

Carbon Cluster

The carbon-clustering model uses the NeutralCluster model. The following solutions are
solved for the carbon model.

Table 25 Solution names for carbon model


Symbol Solution name

C Carbon

CI CarbonInt

C2 C2

C2 I C2I

C3 I C3I

C3 I2 C3I2

C4 I2 C4I2

C4 I3 C4I3

290 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Activation and Clustering

Table 25 Solution names for carbon model


Symbol Solution name

C5 I3 C5I3

C5 I4 C5I4

Nitrogen Cluster

The nitrogen-clustering model uses the NeutralCluster model. The following solutions are
solved for the nitrogen model.

Table 26 Solution names for nitrogen model


Symbol Solution name

N Nitrogen

NI NitrogenInt

NV NV

N2 NDimer

N2 V N2V

N2 V2 N2V2

NV is not a mobile pair but an immobile cluster. For example, the reaction is defined by:
pdbSet Si N Vac ClusterSizes { {1 0} {1 1} }
pdbSet Si N Vac KfCluster N {[expr [DiffLimit Silicon Vac 0.0]]}
pdbSet Si N Vac BindCluster N {[Arr 5e22 1.58]}

Dopant Active Model: FVCluster


If ActiveModel is set to FVCluster, the fluorine–vacancy cluster model is used. The model
based on fluorine–point defect interaction is implemented [30]. The primary reactions used in
the model are:
F 3 V + I ↔ 3F (416)

F 3 V ↔ 3F + V (417)

where F is mobile fluorine, I is interstitial, V is vacancy, and F 3 V is an immobile cluster


(three fluorine atoms bound to a vacancy). The model assumes that F 3 V is the dominant
cluster.

Sentaurus Process User Guide 291


H-2013.03
4: Diffusion
Dopant Activation and Clustering

These reactions can be written as:

 C F 
3

R 1 ≡ K I D I0 C F V C I – -----------
- (418)
 3 * 
 C F V
3

 C F C V 
3
R 2 ≡ K V D I0  C F V – -------------------------
- (419)
 3 * * *
 C F V C I C V
3

where K I and K V are the forward reaction rates. They can be defined using the commands:
pdbSet <material> Fluorine F3V KfI {<n>}
pdbSet <material> Fluorine F3V KfV {<n>}

D I0 is the diffusivity of neutral interstitials, C F3 V is the concentration of fluorine–vacancy


clusters, C F is the concentration of fluorine, and C I and C V are the concentration of
interstitials and vacancies, respectively.

Quantities with a superscript (*) correspond to their equilibrium values. The equilibrium value
of C F3 V can be set by:
pdbSet <material> Fluorine F3V Cstar {<n>}

The differential equations that describe the model are:

∂C F
= ∇•( D 0 ∇C F ) + 3R 1 + 3R 2 (420)
∂t

∂C F
3V
= – R1 – R2 (421)
∂t

The fluorine diffusion coefficient, D 0 , can be set using the command:


pdbSet <material> Fluorine Dstar {<n>}
clus clus
The quantity R 1 is subtracted from R I and the quantity R 2 is added to R V .

NOTE The fluorine model is switched off by default. To switch it on, use the
following commands:
solution add name = Fluorine ifpresent = "Fluorine" !negative
solution add name = F3V ifpresent = "F3V Fluorine" !negative

292 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Activation and Clustering

Table 27 Solution names for fluorine model


Symbol Solution name

CF Fluorine

CF F3V
3V

Initializing the FVCluster Model

You can select a different initialization model for fluorine with the command:
pdbSet <material> Fluorine [Link] <model>

where <model> is either [Link] or DAC.

If the [Link] model is selected, it is assumed that the complete fluorine dose is implanted as
fluorine–vacancy clusters ( C F3 V ). Since the ‘+1’ model is used to generate the excess
interstitials, this effectively introduces interstitials of a concentration equal to C F3 V , except in
amorphous regions.

If the DAC model is selected, initially, the fluorine–vacancy cluster concentration is set to zero.
If there is an existing cluster concentration field, this field is used. If there are amorphized
regions, clusters are redistributed in these regions (see Dopant and Dopant-Defect Cluster
Initialization on page 302). In addition, you can initialize any of the cluster concentration fields
using the select command in the input command file.

NOTE The DAC model does not modify the vacancy field during initialization
of F3V.

Dopant Active Model: Equilibrium


If ActiveModel is set to Equilibrium, solid solubility or dopant clustering is considered.
In the clustering model, the active concentration of the dopant, C A+ , is obtained by solving:

+ K CTN.F
C AS = C A + ( K CTN C A+ ) (422)

where K CTN and K CTN.F are clustering parameters and can be set by:
pdbSet <material> <dopant> Kctn {<n>}
pdbSet <material> <dopant> Kctn.F {<n>}

Sentaurus Process User Guide 293


H-2013.03
4: Diffusion
Dopant Activation and Clustering

C AS is also given by:

 CA
 C A < 0.9C A
SS
 SS 2
 C SS – (------------------------------------
C A – 1.1C A )
- SS SS
C AS =  A SS 0.9C A ≤ C A ≤ C A (423)
 0.4C A
 CA >
SS
1.1C A
 CA
SS

SS
where C A is the total unpaired dopant concentration, and C A is calculated as described in
Dopant Active Model: Solid on page 280.

If the clustering parameters K CTN.F and K CTN are zero, the active concentration is determined
by Eq. 423; otherwise, Eq. 422 is solved numerically.

Table 28 Solution names for equilibrium model


Symbol Boron Arsenic Phosphorus Antimony Indium

C AS BoronEqu ArsenicEqu PhosphorusEqu AntimonyEqu IndiumEqu

When the parameter [Link] is specified, the expression of


[Link] is evaluated for the active concentration in equilibrium, instead of
calculating Eq. 422 and Eq. 423. For example:
pdbSet Si B [Link] "(Boron>1E19)?(1E19):(Boron)"

Dopant Active Model: BIC


ActiveModel can be set to BIC for boron. The model is implemented to simulate boron–
interstitial clusters (BICs).

The model makes no assumptions regarding the diffusion model to generate the diffusion
equation for the substitutional and the mobile species. However, it should be used with either
the Pair or React model. The model does not take charge-state–dependent reaction rates into
account.

The following types of clustering reaction are taken into account:


Bi Ij + I ↔ Bi Ij + 1 (424)

Bi Ij + V ↔ Bi Ij – 1 (425)

B i I j + BI ↔ B i + 1 I j + 1 (426)

294 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Activation and Clustering

where i, j are the number of boron and interstitial atoms in the cluster B i I j , respectively.

The clusters can be specified using the command:


pdbSet Silicon Boron Interstitial ClusterSizes <list>

For example:
pdbSet Silicon Boron Interstitial ClusterSizes {{1 0} {1 1} {1 2} {2 1} \
{3 1} {3 2}}

will set up the diffusion equations for BI 2 , B 2 I , B 3 I , and B 3 I 2 .

NOTE Cluster sizes given in the ClusterSizes list are increasing in size. For
example, the following command is incorrect:
pdbSet Si B Int ClusterSizes { {1 0} {3 1} {1 1} }

The reactions are written as:


R I ≡ K fIB I ( C B I C I – B I B I C ) (427)
i j i j i j Bi I j + 1

R V ≡ K fVB I ( C B I C V – B V B I C ) (428)
i j i j i j Bi Ij – 1

R CI ≡ K fBI ( C B I C BI – B BI CB ) (429)
Bi Ij i j Bi Ij i + 1 Ij + 1

where K fIBi Ij , K fVBi Ij , and K fBIB I are the forward reaction rates, and B I Bi Ij , B V Bi Ij , and B BIB I are
i j i j
the binding coefficients.

To set these parameters, the following commands can be used:


pdbSet <material> Boron Interstitial KfCluster <cluster> {<n>}
pdbSet <material> Boron Vacancy KfCluster <cluster> {<n>}
pdbSet <material> Boron BoronInt KfCluster <cluster> {<n>}
pdbSet <material> Boron Interstitial BindCluster <cluster> {<n>}
pdbSet <material> Boron Vacancy BindCluster <cluster> {<n>}
pdbSet <material> Boron BoronInt BindCluster <cluster> {<n>}

where <cluster> is a valid cluster name, for example, BI2, B2I, B3I, B3I2.

For example:
pdbSet Silicon Boron BoronInt KfCluster B3I2 {[Arrhenius 1e-10 0.3]}

sets the forward reaction rate of the BoronInt and B3I2 reaction to {[Arrhenius 1e-10
0.3]}.

Sentaurus Process User Guide 295


H-2013.03
4: Diffusion
Dopant Activation and Clustering

The differential equations for the clusters are:



B I = – R I – R V – R BI (430)
∂t i j

The reactions R I , R V , and R BI are added to the appropriate point-defect equations, and
substitutional and mobile boron diffusion equations.

Table 29 Solution names for BIC model


Symbol Solution name

CB Boron

C BI BoronInt

C BI BI2
2

CB B2I
2I

CB B3I
3I

CB B3I2
3 I2

Initializing BIC Model

Initially, boron–interstitial cluster concentrations (for example, B3I) are set to zero. If there is
an existing cluster concentration field, the field is used. If there are amorphized regions, boron
defect pairs, and clusters are redistributed in these regions. For details, see Dopant and Dopant-
Defect Cluster Initialization on page 302. In addition, you can initialize any of the cluster
concentrations field using the select command in the input command file.

Dopant Active Model: ChargedCluster


ActiveModel can be set to ChargedCluster for dopant. The model is implemented to
simulate dopant-defect clusters including different charge states.

The model makes no assumptions regarding the diffusion model to generate the diffusion
equation for the substitutional and the mobile species. However, it should be used with either
the Pair or ChargedPair or React or ChargedReact model.

The following types of clustering reaction are taken into account:


c z y
CA + CI ↔ CA + ( y – c – z )e (431)
m In m In + 1

c z y
CA + C AI ↔ C A + ( y – c – z )e (432)
m In m + 1 In + 1

296 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Activation and Clustering

c z y
CA + CV ↔ CA + ( y – c – z )e (433)
m In m In – 1

c z y
CA + C AV ↔ C A + ( y – c – z )e (434)
m In m + 1 In – 1

where:
■ m, n are the number of dopant and interstitial atoms in the cluster C Am In , respectively, and
they are the number of dopant and vacancy atoms in the cluster C Am Vn , respectively.
■ C I, C V are the concentration of interstitials and vacancies.
■ c, y, z are different charge states of clusters and point defects.

The clusters can be specified using the command:


pdbSet Silicon <dopant> <defect> ClusterSizes <list>

For example:
pdbSet Silicon Boron Interstitial ClusterSizes {{1 0} {1 1} {1 2} {2 1} \
{3 1} {3 2}}

sets up the diffusion equations for BI 2 , B 2 I , B 3 I , and B 3 I 2 .

NOTE Cluster sizes given in the ClusterSizes list are increasing in size. For
example, the following command is incorrect:
pdbSet Si Boron Int ClusterSizes { {1 0} {3 1} {1 1} }

The reactions are written as:

 Cc Cz – K y n  ( y – c – z )
 ---
RA ≡ K fA rA m I n + 1 C A I - (435)
m In + 1 m In + 1  Am In I m n+1  n i
 

 Cc Cz y n  ( y – c – z )
 ---
RA ≡ K fA – K rA C - (436)
m + 1 In + 1 m + 1 I n + 1  A m I n AI m + 1 In + 1 A m + 1 I n + 1  n i 

 Cc Cz – K y n  ( y – c – z )
 ---
RA ≡ K fA rA m I n – 1 C A I - (437)
m In – 1 m In – 1  Am In V m n – 1  n i 

 Cc Cz – K y n  ( y – c – z )
 ---
RA ≡ K fA rA m + 1 I n – 1 C A - (438)
m + 1 In – 1 m + 1 In – 1  Am In AV m + 1 n – 1 n i
I  

where:
■ K fAm In + 1 , K fAm + 1 In + 1 , K fAm In – 1 , and K fAm + 1 In – 1 are the forward reaction rates.
■ K rAm In + 1 , K rAm + 1 In + 1 , K rAm In – 1 , and K rAm + 1 In – 1 are the equilibrium constants.

Sentaurus Process User Guide 297


H-2013.03
4: Diffusion
Dopant Activation and Clustering

The forward reaction rates are a function of the lattice spacing ( L ), the capture radius factor
z z z z
( r ), and the diffusion of point defect ( D I , D V ) or dopant-defect pair ( D AI, D AV ):
z
K fA α 4πLr A DI (439)
m In + 1 m In + 1

z
K fA α 4πLr A D AI (440)
m + 1 In + 1 m + 1 In + 1

z
K fA α 4πLr A DV (441)
m In – 1 m In – 1

z
K fA α 4πLr A D AV (442)
m + 1 In – 1 m + 1 In – 1

To set the capture radius factor parameter, use the following command:
pdbSet <material> <dopant> <defect|mobile> CaptureRadiusFactor <cluster> \
{<expression>}

where mobile is the mobile species (for example, BoronInt, BoronVac). For example:
pdbSet Silicon Boron BoronInt CaptureRadiusFactor B2 1.3

means that the capture radius for B 2 + BoronInt ↔ B 3 I is 1.3 times the lattice spacing.

The equilibrium conditions are calculated internally using:


m E form
NC A C I n – m – c ------------
-----0-  ----
c kT
CA
m In
= --------------------------------
m – 1  n i
e (443)
22
( 5 ×10 ) CI

where N is the cluster degeneracy, c is the cluster charge, and E form is the formation energy
of the cluster.

To set these parameters, use the following commands:


pdbSet <material> <dopant> <defect> ClusterDegeneracy <cluster> {<n>}
pdbSet <material> <dopant> <defect> ClusterCharge <cluster> {<n>}
pdbSet <material> <dopant> <defect> ClusterFormE <cluster> {<expression>}

where <cluster> is a valid cluster name, for example, BI2, B2I, B3I, B3I2.

For example:
pdbSet Silicon Boron Int ClusterFormE B3I2 {0.3}

sets the formation energy of cluster B3I2 to 0.3 eV.

298 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Activation and Clustering

The differential equations for the clusters are:

∂C A
m In
= – RA – RA – RA – RA (444)
∂t m In + 1 m + 1 In + 1 m In – 1 m + 1 In – 1

The reactions are added to the appropriate point-defect equations, and substitutional and
mobile boron diffusion equations.

Table 30 Solution names for ChargedCluster model


assuming the base defect is boron
Symbol Solution name

CB Boron

C BI BoronInt

C BI BI2
2

CB B2I
2I

CB B3I
3I

CB B3I2
3 I2

Initializing ChargedCluster Model

Initially, dopant–interstitial cluster concentrations (for example, B3I) are set to zero. If there is
an existing cluster concentration field, the field is used. If there are amorphized regions,
dopant-defect pairs and clusters are redistributed in these regions (see Dopant and Dopant-
Defect Cluster Initialization on page 302).

In addition, you can initialize any of the cluster concentration fields using the select
command in the command file.

Dopant Active Model: ComplexCluster


The reaction of the ComplexCluster model is as follows:
n 1 X + n 2 Y + n 3 P 1 + n 4 e ↔ X n1 Y n2 P 2, m1 + m 2 P 3 + m 3 e (445)

where:
■ X and Y denote two different dopant species.
■ X n1 Y n2 P 2, m1 is a complex cluster.

Sentaurus Process User Guide 299


H-2013.03
4: Diffusion
Dopant Activation and Clustering

■ P 1 , P 2 , and P 3 denote point defects, that is, either a Si self-interstitial or vacancy.


■ e indicates an electron.

The reaction is formulated by:


+ n + n
 C A 1   C A 2   P 1 n 3  n  n 4  P 3 m2 n m3
1 2

-  ---------------  -----*- ---- – K r C X Y P  -----*-  ----


R = K f n i  -------------- (446)
 C norm  C norm  P 1 n i   n1 n2 2 , m1
 P 3  n i

C norm is the normalization factor which is specified by:


term name=${Xn1Yn2P2,m1}NormValue <material> add eqn=<equation>

By default, C norm is set to the intrinsic carrier concentration, n i .

The chemical elements of the complex cluster X n1 Y n2 P 2, m1 are defined by:


pdbSetDoubleArray <material> <Xn1Yn2P2,m1> [Link] \
{<X> <n1> <Y> <n2> <P2> <m1>}

For example:
pdbSetDoubleArray Silicon BCI [Link] { Boron 1 Carbon 1 Int 1 }

When the charge state of the complex cluster, P 3 , m 2 , and m 3 are given, the other unknowns
P 1 , n 3 , and n 4 are determined automatically.

P 3 , m 2 , and m 3 are specified by:


pdbSetDoubleArray <material> <Xn1Yn2P2,m1> [Link] \
{<P3> <m2> <Electron or Hole> <|m3|>}

For example:
pdbSetDoubleArray Silicon BCI [Link] { Electron 1 }
pdbSetDoubleArray Silicon BCI ChargeState { 0 1.0 }

With the two examples above, the reaction is defined as follows:


+ +
 C B  C C I
R = K f n i  -------  -------  ---*- – K r C BCI  ----
n
(447)
 ni   ni   I   n i

The forward and reverse reaction rates, K f and K r , are calculated by:
K f = factor f × K f0 (448)

K r = factor r × K r0 (449)

300 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Activation and Clustering

where K f , K r , factor f and factor r are specified by:


pdbSetDouble <material> <Xn1Yn2P2,m1> KF <number>
pdbSetDouble <material> <Xn1Yn2P2,m1> KR <number>
term name=${Xn1Yn2P2,m1}KFFactor <material> add eqn=<equation>
term name=${Xn1Yn2P2,m1}KRFactor <material> add eqn=<equation>

By default, factorf and factor r are set to 1.0.

Initializing ComplexCluster Model


The initialization of the clusters in the ComplexCluster model is performed in a similar way
to that of the precipitation model (see Initializing Precipitation Model on page 281).

The ComplexCluster model can be used with other activation models, for example:
pdbSet Si B ActiveModel BIC
pdbSet Si B [Link] { ComplexCluster }

NOTE The items


allowed in [Link] are
Precipitation or ComplexCluster.

For the initialization of the clusters with the other activation models, see Initializing
Precipitation Model on page 281.

When the multiple dopant species are involved in the reaction of the ComplexCluster model,
the initialization is more complicated because the dose conservations of both dopant species
20 –3
must be satisfied. For example, the silicon substrate is doped with 1 × 10 cm boron atoms
20 –3
and 1 × 10 cm carbon atoms, and the following specifications for their activation models
and initializations are given by:
pdbSet Si B ActiveModel ComplexCluster
pdbSet Si C ActiveModel ComplexCluster
pdbSet Si B AmInit 4E19
pdbSetDouble Si C AmInit 1E19
pdbSet Si BCI FractionAmor 1.0

In the amorphous region, the initial boron active concentration needs to be set to
19 –3 19 –3
4 × 10 cm . This means that the BCI concentration must be 6 × 10 cm , while the initial
19 –3
active concentration of carbon is set to 1 × 10 cm . Therefore, the BCI concentration is
19 –3 19 –3
supposed to be set to 9 × 10 cm . In this case, the smaller BCI concentration 6 × 10 cm
19 –3
is set for BCI, so that the active concentration of carbon is adjusted to 4 × 10 cm ; although,
19 –3
AmInit for carbon is given as 1 × 10 cm .

Sentaurus Process User Guide 301


H-2013.03
4: Diffusion
Dopant Activation and Clustering

Dopant and Dopant-Defect Cluster Initialization


If you switch on the BIC, ChargedCluster, CarbonCluster, React, ChargedReact, or
NeutralReact model, initialization of the dopant and dopant-defect clusters are performed
in the diffPreProcess procedure (see Ion Implantation to Diffusion on page 340). It is
possible to redistribute dopants and dopant-defect clusters in the amorphous and crystalline
regions after implantation.

The initialization of the dopant and dopant-defect clusters depends on the value of the
parameters AmInit, AcInit, FractionCryst, and FractionAmor. The initial level of
active concentration of dopants in amorphized and crystalline regions can be specified per
dopant as AmInit and AcInit, respectively. You can specify the AmInit and AcInit
parameters by using:
pdbSet <material> <dopant> AcInit {<n>}
pdbSet <material> <dopant> AmInit {<n>}
22
If the AcInit or AmInit parameter is not defined, the default value of 5 × 10 is used. If you
want AcInit and AmInit to be a function of other fields for a specific dopant, define the terms
<dopant>AcInit and <dopant>AmInit in your input files. For example:
term name=ArsenicAcInit silicon add eqn = "Germanium/5e22 * [pdbDelayDouble
Silicon Arsenic Solubility]"
term name=ArsenicAmInit silicon add eqn = "Germanium/5e22*1e19"

In this case, AcInit and AmInit for arsenic are replaced with ArsenicAcInit and
ArsenicAmInit.

The FractionCryst and FractionAmor parameters are used to calculate the fraction of
dopants and dopant-defect clusters in crystalline and amorphized regions. To specify the
FractionCryst and FractionAmor parameters, use:
pdbSetDouble <material> <dopant | cluster> FractionCryst {<n>}
pdbSetDouble <material> <dopant | cluster> FractionAmor {<n>}

The following outlines the initilization of dopant clusters.

In crystalline regions:
FractionCryst
Crytalline% = ------------------------------------------------------------------------------------------ (450)
DopantSize  FractionCryst
Dopant|Cluster

MaxDopant = max(Dopant_Implant – AcInit,0)


DopantCluster = DopantCluster + Crystalline% × MaxDopant (451)
Dopant = Dopant + Dopant_Implant – MaxDopant + Crystalline% × MaxDopant

302 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Activation and Clustering

In amorphous regions:
FractionAmor
Amorphous% = -------------------------------------------------------------------------------------------------------- (452)
DopantSize  FractionAmor
Dopant|DopantCluster

MaxDopant = max(DopantTotal + Dopant_Implant – AmInit,0)


DopantCluster = Amorphous% × MaxDopant (453)
Dopant = DopantTotal + Dopant_Implant – MaxDopant + Amorphous% × MaxDopant

where:
■ Dopant is the dopant name (for example, Boron).
■ DopantCluster is the cluster name (for example, B4I2).
■ DopantTotal is the total dopant (for example, Boron+4*B4I2).
■ Dopant_Implant is the implanted dopant (for example, Boron_Implant).
■ DopantSize is the size of the dopant (for example, 4 for B4I2).

Dopant Trapping at EOR Defects


To simulate dopant trapping at EOR defects [31], interstitial clusters must be switched on (311
or 2Moment), loops must be switched on, and one of the following dopant diffusion models
also must be used:
■ React (see React Diffusion Model on page 204)
■ ChargedReact (see ChargedReact Diffusion Model on page 198)
■ NeutralReact (see NeutralReact Diffusion Model on page 212)

To switch on the model, use:


pdbSet <material> <dopant> EORTrap { 1 | 0 }

The following type of clustering reactions are taken into account:


C AI + C A311 ↔ C A311 + 1 (454)

C AI + C ADL ↔ C ADL + 1 (455)

C A311 → C ADL (456)

where C AI is the mobile dopant, C A311 is the concentration of mobile dopants trapped at {311}
defects, and C ADL is the concentration of mobile dopants trapped at dislocation loops.

Sentaurus Process User Guide 303


H-2013.03
4: Diffusion
Dopant Activation and Clustering

For these reactions:


■ The first reaction describes the capture and release of mobile dopants at {311} defects.
■ The second one describes the capture and release of mobile dopants at dislocation loops.
■ The last reaction explains the transformation of mobile dopants trapped at a {311} defect
to mobile dopants trapped at a dislocation loop.

The capture rate for the mobile dopant and {311} defect reaction is written as:
capture 311
R A311 ≡ k f311 ( C 311 C max – C A311 ) (457)

where k f311 is the forward reaction rate, C 311 is the concentration of interstitials in {311}
311
defects and C max is the density of traps along the {311} defects for the mobile dopants.

To change k f311 , use:


pdbSet <material> <dopant> EORForwardReaction <trapped dopant> <n>

where <trapped dopant> is C A311 (for example, B311). For boron, it is currently set to:
k f311 = 4πr A311 C AI D AI (458)

where r A311 is the capture radius and D AI is the diffusivity of neutral dopant defect pair, C AI .

To change the capture radius, use:


pdbSet <material> <dopant> EORCaptureRadius <trapped dopant> <n>
311
C max is proportional to the length of the {311} defect. It is defined as a term and is user
definable:
term name = EORDopant311_Max <material> add eqn = {c}

The release rate for the mobile dopant and {311} defect reaction is written as:
release
R A311 ≡ C A311 E A311 (459)

where E A311 is the emission rate of trapped mobile dopant from {311} defects. To change it,
use:
pdbSet <material> <dopant> EOREmissionRate <trapped dopant> <n>

The capture rate for the mobile dopant and dislocation loop reaction is written as:
capture DL
R ADL ≡ k fDL ( C DL C max – C ADL ) (460)

304 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Dopant Activation and Clustering

DL
where k fDL is the forward reaction rate and C max is the density of traps along the edge of
dislocation loops for the mobile dopants. To change k fDL , use:
pdbSet <material> <dopant> EORForwardReaction <trapped dopant> <n>

where <trapped dopant> is C ADL (for example, BDL). It is set to:


k fDL = πr ADL C AI D AI (461)

where r ADL is the capture radius. To change the capture radius, use:
pdbSet <material> <dopant> EORCaptureRadius <trapped dopant> <n>
DL
C max is proportional to the density of dislocation loops. It is defined as a term and is user
definable:
term name = EORDopantDL_Max <material> add eqn = {c}

The release rate for the mobile dopant and dislocation loop reaction is written as:
release
R ADL ≡ C ADL E ADL (462)

where E ADL is the emission rate of trapped mobile dopant from a dislocation loop. To change
it, use:
pdbSet <material> <dopant> EOREmissionRate <trapped dopant> <n>

The unfaulting of {311} defects in the presence of trapped mobile dopants is given as:

Unfold C A311
R A311 → ADL ≡ K D311 → DLoop s 311 -------------- (463)
C 311

where K D311 → DLoop is the unfaulting rate of {311} defects to dislocation loops and comes from
the Loop model (see Defect Cluster Model: Loop on page 315). s 311 is the size of {311} defect.

Table 31 Solution names for EOR trap model


Symbol Solution name

C AI BoronInt

C A311 B311

C ADL BDL

Sentaurus Process User Guide 305


H-2013.03
4: Diffusion
Defect Clusters

Initializing Dopant Trapping in EOR Model

Initially, trapped dopants at EOR are set to zero. If there is an existing cluster concentration
field, the field is used. If there are amorphized regions, dopant–defect pairs and clusters are
redistributed in these regions. For details, see Dopant and Dopant-Defect Cluster Initialization
on page 302. In addition, you can initialize any of the cluster concentration fields using the
select command in the command file.

Defect Clusters
The available cluster models are None, Equilibrium, 311, Loop, LoopEvolution,
FRENDTECH, 1Moment, 2Moment, Full, and the model is selected with the command:
pdbSet <material> <defect> ClusterModel <model>

where <defect> is interstitial or vacancy, and <model> is one of the valid model names.

These clusters play an important part in transient-enhanced diffusion (TED) of impurities


following ion implantation. The main effect of the models is to delay the onset of TED at low
temperatures and to distribute the diffusion enhancement over a longer period of time. This
eliminates the excessive diffusion at low temperatures that is predicted without any clustering.

In some cases, multiple cluster equations must be switched on. The following command can be
used:
pdbSet <material> <defect> MultiClusterModel < < cluster model> <list> >

For example:
pdbSet Silicon Int MultiClusterModel { Full {1Moment} }
Loop {311} }

switches on the 1Moment model if the interstitial cluster model Full is selected. In the same
way, it will switch on the 311 model if the interstitial cluster model Loop is selected.

For example:
pdbSet Si Int ClusterModel Full
pdbSet Si Int MultiClusterModel Full {2Moment Loop}

switches on the model given in [32].

306 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

In this model, seven equations are solved to describe the kinetics of self-interstitial clusters:
■ Three data fields (I2, I3, I4) describe small interstitial clusters (SMICs).
■ Two data fields (D311, density of {311} defects, and C311, density of interstitials bound
in {311} defects) describe the presence of {311} defects.
■ Two data fields (DLoop, density of dislocation loops, and CLoop, density of interstitials
bound in dislocation loops) describe dislocation loops.

Defect Cluster Model: None


If ClusterModel is set to None, no point-defect clustering effects will be taken into account.

Defect Cluster Model: Equilibrium


If you set the model to Equilibrium, the following nonlinear algebraic equation along with
the related diffusion equations are solved:
4
( C 0 ) – k b C XC = 0 (464)
X

where k b is the equilibrium constant, X is either interstitial or vacancy, 4 is the size of the
cluster, and C XC is the concentration of point-defect cluster. k b can be specified with:
pdbSet <material> <defect> KCluster {<n>}

NOTE The equilibrium cluster model is defined only for interstitials in silicon.

Defect Cluster Model: 311


If you set the defect cluster model to 311, the {311} point-defect model developed by Law and
Jones [33] is activated. It solves for the concentration of interstitials in the defects C 311 and the
concentration of defects D 311 , as well as for the concentration of interstitials in small
interstitial clusters (SMICs). SMICs come in two types. The small type SmicS is assumed to
have a cluster size of 2. The larger type Smic is assumed to have a cluster size of N size = 4, by
default. This value is, however, user accessible:
pdbSet <material> C311 NSize {<n>}

Nucleation of defects occurs during the implantation process. Initial distribution of defects
comes from the implant code (see Ion Implantation to Diffusion on page 340), in particular, all
interstitials created during the implantation process are assumed to be in immobile SmicS.
Vacancies and interstitials recombine or may form di-interstitials and di-vacancies. Some

Sentaurus Process User Guide 307


H-2013.03
4: Diffusion
Defect Clusters

interstitials will also form small interstitial clusters (SmicS, Smic) or {311} defects. The SMICs
dissolve to the surface through the release of interstitials. The capture and release of interstitials
on the {311} defects occur only at the end of the defects and, therefore, are proportional to the
number of defects D 311 .

The reactions involved in the {311} model are given by:


I + I ↔ I2 (465)

V + V ↔ V2 (466)

2
RI = kf ( CI – BI CI ) (467)
2 form 2

2
RV = kf ( CV – BV CV ) (468)
2 form 2

where I 2 and V 2 are di-interstitials and di-vacancies, and B X2 is the binding coefficient
between the di-defect, for example, I 2 , and the base defect, I (where X refers to either I or V),
and k f is the forward reaction rate for the recombination of di-defects.

To change these variables, use the commands:


pdbSet <material> <di-defect> Kforward {<n>}
pdbSet <material> <di-defect> Bind {<n>}

I2 + V ↔ I (469)

V2 + I ↔ V (470)

V2 + I2 ↔ 0 (471)

 * * CI 
RI = k f  C I C V – C I C V -----*- (472)
2 rec
 2 2
CI 

 * * C V
RV = k f  C V C I – C V C I ------*- (473)
2 rec
 2 2
C V

* *
RI = kf ( CI CV – CI CV ) (474)
2 V 2 rec 2 2 2 2

*
where C X is the equilibrium concentration of the respective defect or di-defect, and k f is the
forward reaction rate for the respective recombination process.

308 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

To change these variables, use the commands:


pdbSet <material> <di-defect> KRecomb {<n>}
pdbSet <material> <di-defect> KBiMole {<n>}
pdbSet <material> <di-defect> Cstar {<n>}

Aggregation or emission of interstitials from SmicS and Smic are given by:
SmicS + I ↔ ( SmicS + 1 ) (475)

R ISmicSagg = k fI C SmicS ( C I – B ISmicS ) (476)

3
This process increases the concentration of interstitials in SmicS by 1/cm .
Smic + I ↔ ( Smic + 1 ) (477)

R ISmicagg = k fI C Smic ( C I – B ISmic ) (478)

3
This process increases the concentration of interstitials in Smic by 1/cm . k fI is the forward
reaction rate for SMIC–interstitial reactions, and B ISmicS and B ISmic are the binding
coefficients between interstitials and SMICs.

To change these variables, use the commands:


pdbSet <material> SmicS KfI {<n>}
pdbSet <material> SmicS Bind {<n>}
pdbSet <material> Smic KfI {<n>}
pdbSet <material> Smic Bind {<n>}

The recombination of SmicS or Smic with a vacancy or bi-vacancies is given by:


SmicS + V ↔ ( SmicS – 1 ) (479)

R VSmicSrec = k fV C V C SmicS (480)

3
This process decreases the concentration of interstitials in SmicS by 1/cm .
Smic + V ↔ ( Smic – 1 ) (481)

R VSmicrec = k fV C V C Smic (482)

3
This process decreases the concentration of interstitials in Smic by 1/cm .
SmicS + V 2 ↔ ( SmicS – 2 ) (483)

RV
2 SmicSrec
= k fV C V C SmicS
2 2
(484)

Sentaurus Process User Guide 309


H-2013.03
4: Diffusion
Defect Clusters

3
This process decreases the concentration of interstitials in SmicS by 2/cm .
Smic + V2 ↔ ( Smic – 2 ) (485)

RV
2 Smicrec
= k fV C V C Smic
2 2
(486)

3
This process decreases the concentration of interstitials in Smic by 2/cm . k fV and k fV2 are the
diffusion-limited SMIC–(di-)vacancy capture rates and are defined as:
k fV = 4πaD
V
0 (487)

k fV = 4πaD
V2
0 (488)

where D V0 and D V 0 are the diffusivities of neutral vacancies and di-vacancies, and a is the
2
lattice spacing of silicon.

To change these variables, use the commands:


pdbSet <material> Vacancy D 0 {<n>}
pdbSet <material> V2 D0 {<n>}
pdbSet <material> LatticeSpacing {<n>}

A Smic is assumed to contain N size interstitials, with a default value of 4. A SmicS contain two
interstitials less than a Smic. A SmicS can be converted to a Smic by combining with a di-
interstitial. Formation of a Smic from a SmicS and bi-interstitials is given by:
SmicS + I 2 → Smic (489)

R Smicform = k fI C SmicS C I
2 2
(490)

3
This process increases the concentration of interstitials in Smic by N size /cm and decreases the
3
concentration of interstitials in SmicS by ( N size – 2) /cm . k fI2 is the forward reaction rate for
SMIC–di-interstitial reactions.

To change these variables, use the commands:


pdbSet <material> SmicS KfI2 {<n>}
pdbSet <material> C311 NSize {<n>}

When a Smic combines with an additional di-interstitial, they form a {311} defect. Formation
of a new {311} defect from a Smic and bi-interstitials is given by:
I 2 + Smic → 311 (491)

R 311nIform = k nI C Smic C I
2 2
(492)

310 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

3
This process increases the concentration of {311} defects by 1/cm and the concentration of
3
interstitials in {311} defects by ( N size + 2) /cm , and deceases the number of interstitials in a
3
Smic by N size /cm . k nI2 is the reaction rate.

To change these variables, use the command:


pdbSet <material> C311 KnI2 {<n>}

The emission of interstitials from {311} defects is given by:


C 311 → ( C 311 – 1 ) + I (493)

RC
311 Iem
= C 311 D Rate (494)

3
This process decreases the concentration of interstitials in {311} defects by 1/cm , but does
not change the number of {311} defects. The {311} defect simply became shorter. C 311 is the
concentration of interstitials in the {311} defects and D Rate is the decay rate.

To change these variables, use the commands:


pdbSet <material> C311 Decay {<n>}

The dissolution of a defect is given by:


D 311 → D 311 – 1 (495)

RD
311 decay
= D 311 D Rate (496)

This process changes the number of {311} defects, but does not affect the number of
interstitials in the {311} defects. The interstitials released in this process immediately
aggregate on other {311} defects. D 311 is the concentration of {311} defects and D Rate is the
defect decay rate.

A set of 14 interstitials can nucleate at the end of a {311} defect. The formation or dissolution
of a {311} defect from interstitials is given by:
14I ↔ 311 (497)

RC = k fI D 311 14R I ( C I – B D ) (498)


311 Iform 311 I

3
This process increases the concentration of interstitials in {311} defects by 14 /cm ; the
number of defects remains unchanged. k fI is the forward reaction rate, R I is the capture
(reaction) range, and B D311 I is the binding coefficient between the {311} defect and the
interstitial.

Sentaurus Process User Guide 311


H-2013.03
4: Diffusion
Defect Clusters

To change these variables, use the commands:


pdbSet <material> C311 KfI {<n>}
pdbSet <material> C311 BindI {<n>}
pdbSet <material> C311 RangeI {<n>}

A set of 14 di-interstitials can nucleate at the end of a {311} defect. The formation of two {311}
defects from seven bi-interstitials is given by:
14I 2 ↔ 311 (499)

RC = D 311 k fI 14R I ( C I – B D ) (500)


311 I 2 form 2 2 2 311 I 2

3
This process increases the concentration of interstitials in {311} defects by 28 /cm ; the
number of defects remains unchanged. k fI2 is the forward reaction rate, R I2 is the capture
(reaction) range, and B D311 I2 is the binding coefficient between the {311} defect and the
interstitial.

To change these variables, use the commands:


pdbSet <material> C311 BindI2 {<n>}
pdbSet <material> C311 KfI2 {<n>}
pdbSet <material> C311 RangeI2 {<n>}

A {311} defect can dissolve into interstitials or di-interstitials. The probability of this process
is proportional to the inverse length of the defect, which can be expressed as the ratio of the
concentration of defects and the concentration of interstitials in defects ( D 311 ⁄ C 311 ). Then, the
dissolution of {311} defects is given by:
D 311
RD
311 Iem
= D 311 14C Rate ----------- k fI R I B D I (501)
C 311 311

D 311
RD
311 I 2 em
= D 311 14C Rate ----------- k fI R I B D I (502)
C 311 2 2 311 2

This process does not change the number of free interstitials or the number of interstitials in
{311} defects. It is assumed that all interstitials were released from the defect aggregate in
other {311} defects. C Rate is the spontaneous combustion rate and gives the percentage of
interstitials dissolved from {311} defects by dissolution of all defects.

To change these variables, use the command:


pdbSet <material> C311 CombRate {<n>}

312 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

The following set of differential equations is solved with the {311} model. The point-defect
equations are:

∂C I
= – ∇•J I – R IV – 2R I form + R I rec – R V rec – R C Iform
∂t 2 2 2 311 (503)
+R C Iem – R ISmicSagg – R ISmicagg
311

∂C V
= – ∇•J V – R IV – 2R V form + R V rec – R I rec – R VSmicSrec – R VSmicrec (504)
∂t 2 2 2

The di-defect equations are:

∂C I
2
= ∇•( D I ∇C I ) + R I – RI – RI – R Smicform – R 311nIform – R C (505)
∂t 2 2 2 form 2 rec 2 V 2 rec 311 I 2 form

∂C V
2
= ∇•( D V ∇C V ) + R V – RV – RI – RV – RV (506)
∂t 2 2 2 form 2 rec 2 V 2 rec 2 SmicSrec 2 Smicrec

where D X2 is the diffusivities of di-defects (where X refers to either I or V).

To change these variables, use the command:


pdbSet <material> <di-defect> D0 {<n>}

The equation for SmicS is given by:

∂C SmicS
= – R VSmicSrec – 2R V SmicSrec + R ISmicSagg – R Smicform (507)
∂t 2

The equation for Smic is given by:

∂C Smic
= – R VSmicrec – 2R V Smicrec + R ISmicagg + R Smicform N Size + R 311nIform N Size (508)
∂t 2

The equation for the density of {311} defects is given by:

∂C D
311
= – RD – RD – 2R D + R 311nIform (509)
∂t 311 decay 311 Iem 311 I 2 em

The equation for the concentration of interstitials in {311} defects is given by:

∂C C
311
= – RC + RC + 2R C + ( N size + 2 )R 311nIform (510)
∂t 311 Iem 311 Iform 311 I 2 fom

The initialization of {311} defect fields is given in Ion Implantation to Diffusion on page 340.

Sentaurus Process User Guide 313


H-2013.03
4: Diffusion
Defect Clusters

NOTE Even though the {311} model and the model parameters are given in
general format, they are defined only for silicon. If these models need to
be used in other materials, their parameters must be copied.

Table 32 Solution names for 311 model


Symbol Solution name

C 311 C311

D 311 D311

C Smic Smic

C SmicS SmicS

CI I2
2

CV V2
2

Initializing 311 Model

The defect-cluster concentrations I2, V2, C311, SmicS, Smic, and D311 are initialized in the
diffPreProcess procedure. The model assumes that all the free implant interstitials
(Int_Implant) are transferred to SmicS. Initially, other transient defect-cluster
concentrations are set to zero. If there is an existing cluster concentration field, the field is used.
By default, clusters are assumed to break apart in the amorphous regions. You can specify the
percentage of clusters retained in the amorphous region per cluster solution variable using the
parameter AmPercent:
pdbSet <mater> <cluster> AmPercent {<n>}

For example:

 SmicS*AmPercent Amorphous regions


SmicS =  (511)
 SmicS+Int_Implant Crystalline regions

 C 311 *AmPercent Amorphous regions


C 311 =  (512)
 C 311 Crystalline regions

The value of the AmPercent parameter must be between 0 and 1.

314 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

Defect Cluster Model: Loop


If you set the defect cluster model to Loop, the modified version of the dislocation loop
nucleation model [34] is used to solve for the concentration of interstitials in the defects C Loop
and the concentration of defects D Loop . The model assumes that the dislocation loops come
from unfaulted {311} defects. The unfaulting rate can be defect size–dependent or not.

The following switch can be used to change the unfaulting rate:


pdbSet <material> CLoop [Link] <model>

where <model> is either Direct or SizeDependent.

Direct Model

If the [Link] is set to Direct, the following reaction equations as well as the {311}
defect equations (see Defect Cluster Model: 311 on page 307) are solved:

∂C Loop
= K 311 C 311 + 2π 2 R Loop D Loop D 0 K CLoop ( C I – C ILoop
* ) (513)
∂t I

γΩ 
 --------- μbΩ 8R Loop 
 --------------------------------------------
- ln  ----------------
 bkT  4πR  b 
-
*
C ILoop ≡ C I* e e Loop kT ( 1 – υ ) (514)

∂D Loop 2D Loop
= K 311 D 311 – K DLoop -----------------
- (515)
∂t R
2
Loop

where:
■ K 311 is the unfaulting rate of {311} defects to dislocation loops.
■ R Loop is the average radius of loops.
■ D I0 is the diffusivity of neutral interstitials.
2
■ μ is the shear modulus (dyn/ cm ).
■ γ is the stacking fault energy (dyn/cm).
– 23
■ Ω is the atomic value of silicon ( 2 ×10 ).
■ υ is the Poisson ratio.
■ b is the magnitude of Burger’s vector.
■ K CLoop and K DLoop are fitting parameters for the model.

Sentaurus Process User Guide 315


H-2013.03
4: Diffusion
Defect Clusters

These parameters can be set using the following commands:


pdbSet <material> CLoop K311 {<n>}
pdbSet <material> Mechanics ShearModulus {<n>}
pdbSet <material> CLoop StackingFaultEng {<n>}
pdbSet <material> CLoop BurgersVec {<n>}
pdbSet <material> CLoop KCLoop {<n>}
pdbSet <material> DLoop KDLoop {<n>}

Size-dependent Model

If the [Link] is set to SizeDependent, the following reaction equations and the
{311} defect equations (see Defect Cluster Model: 311 on page 307) are solved:

∂C Loop 2
= K 311 C 311 C T + 2π 2 R Loop D Loop D 0 K CLoop ( C I – C ILoop
* ) (516)
∂t I

2 *
∂D Loop 2π 2 R Loop D Loop D 0 K CLoop C ILoop
I
= K 311 D 311 C 311 C T K D311 – ------------------------------------------------------------------------------------ (517)
∂t C Loop

where K D311 is the scaling factor for the unfaulting rate and can be defined using the command:
pdbSet <material> CLoop KD311 {<n>}

C T is the user-defined term to further modify the unfaulting rate and can be defined using the
command:
term name=CLoopTransfer <material> eqn = {User defined Equation}

The model is used to simulate all three phases of dislocation nucleation and evolution:
nucleation, Ostwald ripening, and dissolution.

*
To modify the equilibrium concentration of interstitials at the loop boundaries ( C ILoop ) by
complex prefactors, you can define the following terms in the command file:
term name=CLoopDissIntFactor silicon add eqn = { equation }

*
C ILoop increases dramatically as the loop radius becomes smaller. To avoid convergence
*
problems, C ILoop dFactor as follows:
is limited by a minimum loop radius ( R LoopMin ) and C Loop
*
C ILoop ( R LoopMin )C ILoop * ( R Loop )  dFactor
C Loop 
*
C ILoop = ----------------------------------------------------------------------------------------  1 – -
------------------------------------------ (518)
C ILoop ( R LoopMin ) + C ILoop ( R Loop ) 
* * C Loop + C Loop  dFactor

316 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

The minimum radius and the damping factor are set with the commands:
pdbSet <material> CLoop RLoopMin {<n>}
pdbSet <material> CLoop DampFactor {<n>}

If the Loop model is used with the 2Moment model, to avoid convergence problems, the
interstitial evaporation terms in Eq. 556, Eq. 557, Eq. 558, and Eq. 559 are scaled by:

 dFactor
C 311 
R limit =  1 – --------------------------------------
- (519)
 C 311dFactor + C 311

The damping factor for the {311} defects can be set:


pdbSet <material> C311 DampFactor {<n>}

Table 33 Solution names for loop model


Symbol Solution name

C Loop CLoop

D Loop DLoop

Initializing Loop Model


Since the loop model relies on the {311} defect model, first, the {311} defect model is
initialized (see Initializing 311 Model on page 314). Then, the loop model fields CLoop and
10
DLoop are initialized. If there is no preexisting data field, the fields are set to 1 ×10 and
7
5 ×10 , respectively. If there is an existing data field, the existing fields are used. By default,
the loops are assumed to break apart in the amorphous regions.

You can specify the percentage of loops retained in the amorphous region per solution variable
using the parameter AmPercent:
pdbSet <mater> DLoop AmPercent {<n>}
pdbSet <mater> CLoop AmPercent {<n>}

For example:

 D Loop *AmPercent Amorphous regions


D Loop =  (520)
 D Loop Crystalline regions

 C Loop *AmPercent Amorphous regions


C Loop =  (521)
 C Loop Crystalline regions

The value of the AmPercent parameter must be between 0 and 1.

Sentaurus Process User Guide 317


H-2013.03
4: Diffusion
Defect Clusters

Defect Cluster Model: LoopEvolution


If you set the defect cluster model to LoopEvolution, the TS4 style loop evolution
model [35] is used. The rate of absorption of interstitials by dislocation loops is given by:
2
R I ≡ 2π R Loop K CLoop D Loop D I ( C I – C ILoop
* ) (522)

γΩ 
 --------- μbΩ 8R Loop
 --------------------------------------------
- ln  ----------------- 
 bkT  4πR  b 
*
C ILoop ≡ C I* e e Loop kT ( 1 – υ ) (523)

where:
■ R Loop is the average loop radius.
■ D Loop is the loop density.
■ D I is the diffusivity of interstitials.
■ K CLoop is the fitting parameter.
2
■ μ is the shear modulus (dyn /cm ).
■ γ is the stacking fault energy (dyn/cm).
– 23
■ Ω is the atomic value of silicon ( 2 ×10 ).
■ υ is the Poisson ratio.
■ b is the magnitude of Burger’s vector.

These parameters can be set using the following commands:


pdbSet <material> CLoop ShearModulus {<n>}
pdbSet <material> CLoop StackingFaultEng {<n>}
pdbSet <material> CLoop BurgersVec {<n>}
pdbSet <material> CLoop KCLoop {<n>}

The evolution of the loop radius is given by:

∂R Loop π
= ------ K CLoop D I ( C I – C ILoop
* ) (524)
∂t N0

15 –2
where N 0 is the {111} planar density of silicon ( 1.57 × 10 cm ).

318 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

*
The equilibrium concentration of interstitials at the loop boundaries ( C ILoop ) increases
dramatically as the loop radius becomes smaller. To avoid convergence problems, R I is limited
by a minimum loop radius ( R LoopMin ) as follows:
R Loop Damp 0 ( 4.605 )
Damp 0 ≡ ----------------------- ; Damp ≡ --------------------------------------
R LoopMin Damp 0 + 4.605 (525)
– ( Damp )
R I ≡ R I ( R Loop ) ( 1 – e )

To set the minimum radius, use the command:


pdbSet <material> CLoop RLoopMin {<n>}

To set the density of loops to a fixed value, use the command:


pdbSet <mater> DLoop ConstantDensity {<n>}

Table 34 Solution names for LoopEvolution model


Symbol Solution name

R Loop RLoop

Initializing LoopEvolution Model


To specify the initial loop radius, use:
pdbSet <mater> RLoop InitialRadius {<n>}

To set the density of loops to a fixed value, use the command:


pdbSet <mater> DLoop ConstantDensity {<n>}

or it will be calculated using the following:


Fraction ( C I – Threshold )
D Loop = ------------------------------------------------------------------
2
- (526)
πN 0 R Loop

where Fraction and Threshold can be set with:


pdbSet <material> CLoop Fraction {<n>}
pdbSet <material> CLoop Threshold {<n>}

NOTE If ConstantDensity is zero, Eq. 526 will be used.

Loops are produced in that portion of the structure where the interstitial concentration (due to
implant damage, before recombination) is in the range:
Dmax > Damage > Dmin (527)

Sentaurus Process User Guide 319


H-2013.03
4: Diffusion
Defect Clusters

Dmax and Dmin can be set:


pdbSet <material> CLoop Dmin {<n>}
pdbSet <material> CLoop Dmax {<n>}

The concentration of interstitials corresponding to the edge of the amorphous region is from
the work of Fair and Pappas [2]. The concentration of interstitials is not reduced by the
formation of end-of-range loops if DLoop is set to a constant value. Pre-existing dislocation
loops in the region are presumed to be destroyed by the implant.

NOTE In this model, CLoop and DLoop are terms. Therefore, they should be
converted to data fields with the select command or added to the plx/
DFISE list to save in a file.

Defect Cluster Model: FRENDTECH


If you set the model to FRENDTECH, this activates the extended defect model developed by
FRENDTECH partners [36][37][38]. The model assumes the following reactions:
In – 1 + I ↔ In (528)

In + 1 ↔ In + I (529)

where I n and I n + 1 are the interstitial defects consisting of n and n + 1 silicon atoms. The
reactions can be written as:
R1 ≡ kf CI – kr CI (530)
n–1 n–1 n n

R2 ≡ –( kf CI – kr CI ) (531)
n n n+1 n+1

and the model is given by:

∂C I
n
= R1 + R2 (532)
∂t

where C In is the density of defects containing n atoms.

320 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

The emission rate k rn is given by:


– E fn
 ----------
* A n – 1  kT 
kr = D 0 C I ------------- e (533)
n I R eff

where:
■ D I0 is the diffusion coefficient of neutral interstitials.
*
■ C I is the equilibrium concentration of interstitials.
An – 1
■ ----------- is the capture efficiency of the defect.
R eff
■ E fn is its formation energy.

The capture rate k fn is:


An
k f = D 0 C I --------- (534)
n I R eff

A
where C I is the concentration of interstitials. -------n- and E fn can be defined using the command:
R eff
pdbSet <material> Interstitial BindCluster <cluster> {<n>}

where <cluster> is a valid cluster name A (for example, I2, I3, I21) and <n> must be an
Arrhenius expression with a prefactor of -------n- and an activation energy of E fn .
R eff
For example:
pdbSet Silicon Interstitial BindCluster I6 {[Arrhenius 3.82578e-07 -1.29]}
A
sets the -------n- to 3.82578 x 10–7 eV and E fn to –1.29 eV for n = 6 .
R eff
Since cluster sizes can change easily from a few atoms to a few thousand atoms, it is not
feasible to solve all cluster equations. Therefore, the number of equations to be solved is
reduced by using the method proposed by FRENDTECH partners [39]. The method allows for
the logarithmic discretization of clusters:
–u –u
ρ ( u ) = –  1 + ------- ------- ( k F ρ u + α – k F ρ u – α )
d e e
dt  2  2α u+α u–α

–u –u
+  1 – ------- ------- ( k R ρ u + α – k R ρ u – α )
e e
 2  2α u+α u–α

– 2u (535)
e
+ ---------2- ( k F ρ u + α – 2k F ρ u + k F ρ u – α )
u+α u u–α

– 2u
e
+ ---------2- ( k R ρ u + α – 2k R ρ u + k R ρ u – α )
u+α u u–α

Sentaurus Process User Guide 321


H-2013.03
4: Diffusion
Defect Clusters

where ρ ( u ) is the density function, and α is the step of the logarithmic discretization. k Fu and
k Ru are related to the capture and emission rate k fn and k rn by the relations:
kF = kf
u u
(536)
n=e

kR = kr
u u
(537)
n=e

The discretization is regular on a regularities scale. For example, the step in the reduced region
is calculated by:
log ( n max ( – 1 ) ) – log ( n lastlin + 1 )
α = ------------------------------------------------------------------------------- (538)
n logsteps

where n max is the biggest cluster size, n lastlin is the number of small interstitial clusters in the
linear region, and n logsteps is the number of steps in the reduced region.

You can specify n max , n lastlin , and n logsteps using the following commands:
pdbSet <material> Int BiggestClusterSize {<n>}
pdbSet <material> Int NumberofSmallClusters {<n>}
pdbSet <material> Int logSteps {<n>}

For example:
pdbSet Silicon Int BiggestClusterSize 10000
pdbSet Silicon Int NumberofSmallClusters 11
pdbSet Silicon Int logSteps 5

allow Sentaurus Process to solve the cluster equations for I2, I3, I4, I5, I6, I7, I8, I9, I10,
I11, I12, I46, I177, I679, I2605, I10000.

The capture and emission rate k fn and k rn are stored in the parameter database for cluster sizes
less than 10. If you do not specify the rates for bigger clusters, they will be calculated using the
following formulas:
An 2
4πaL + 4πaW + 8πa
--------- = ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- (539)
R eff 2 2( L + a) 2 2( L + a)
log  1 + 1 +  ------  – log  ------ + log  1 + 1 +  --------------------  – log  --------------------
{ 311 } 2a 2a
  W   W   W    W 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2a 2 2( L + a) 2
--- 1 +  ------ + ------------ 1 +  --------------------
1 1
a  W L+a  W 

2 2 2
μb L μb W ( sin θ )
E strain = ----------------------- log  -------- + --------------  ( cos θ ) +  ------------------  log  ------
n 2W 2 2L
(540)
2π ( 1 – v )  b  2π   1 – v   b

322 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

n+1 n
E fn = E strain + γ ⋅ ( n + 1 ) – E strain + γ ⋅ n (541)

where:
–9
■ L and W are the length and width of the {311} defect ( L = n ⋅ 5 × 10 cm and
–7
W = 4 × 10 cm).
■ a is the lattice spacing of silicon.
11
■ μ denotes the shear modulus of silicon ( μ = 7.55 × 10 dyn/cm).
■ v is the Poisson ratio ( v = 0.3 ).
–8
■ b is the length of Burger’s vector ( b = 1.1 × 10 cm).
■ θ is the angle between Burger’s vector and the normal vector perpendicular to the plane of
the defect ( θ = 77.8° ).
■ γ is the stacking fault energy per atom ( γ = 0.38 eV).

Burger’s vector and the stacking fault energy can be set using the commands:
pdbSet <material> C311 BurgersVec {<n>}
pdbSet <material> Int StackingFauldEng {<n>}

NOTE Since FRENDTECH models solve for a range of cluster sizes,


simulations may be slower.

Table 35 Solution names for FRENDTECH model


Symbol Solution name

CI I2
2

CI I3
3

CI I10
10

Initializing FRENDTECH Model


By default, the interstitial clusters are assumed to break apart in the amorphous regions. You
can specify the percentage of clusters retained in the amorphous region per solution variable
using the parameter AmPercent:
pdbSetDouble <mater> I200 AmPercent {<n>}
pdbSetDouble <mater> I100 AmPercent {<n>}

For example:

 I 200 *AmPercent Amorphous regions


I 200 =  (542)
 I 299 Crystalline regions

Sentaurus Process User Guide 323


H-2013.03
4: Diffusion
Defect Clusters

Since not all clusters have been incorporated into the parameter database, the pdbSetDouble
command must be used; the shorthand pdbSet command cannot be used to specify these
parameters. The value specified for the AmPercent parameter must be between 0 and 1.

Defect Cluster Model: 1Moment

Interstitial

If you set the model to 1Moment, the model for the formation and dissolution of interstitial
clusters ({311} or {113} defects) is included. The 1Moment model uses a single equation to
calculate the total number of interstitials bound in clusters. The following nonlinear algebraic
equation along with the related diffusion equations are solved:

∂C ICluster
= R CI – R CV (543)
∂t

where C ICluster is the concentration of clustered interstitials, and R CI and R CV describe cluster
interaction with interstitials and vacancies, respectively.

The interstitial interaction includes two terms describing the clustering of interstitials and one
describing the de-clustering:
I fi I fc
( CI ) ( CI ) I cr
R CI = I kfi ----------------
- + I kfc -----------------
I sfi I sfc
( C ICluster + I kfci C I ) – I kr ( C ICluster ) (544)
( C I* ) ( C I* )

where C I is the concentration of unclustered interstitials, and C I* is the equilibrium


concentration of interstitials. The first term models nucleation of the interstitial clusters at high
interstitial supersaturation. The second term models growth of the interstitial clusters by
consuming free interstitials. The third term models dissolution of the interstitial clusters by
emitting interstitials. If the 1Moment model is used with the Full cluster model, Eq. 544 is
modified as follows:
I fc
( CI ) I cr
R CI = ( max + 1 )R sIcl ( max + 1 ) + I kfc -----------------
I sfc
( C ICluster + I kfci C I ) – I kr ( C ICluster ) (545)
( C I* )

where R sIcl ( max + 1 ) is given in Defect Cluster Model: Full on page 333. The smallest large
cluster forms when the small cluster captures one free interstitial by the reaction rate
R sIcl ( max + 1 ) . The vacancy interaction includes one recombination and one generation term:
V rv
( CV ) V crv V sfv V cfv
- ( C ICluster )
R CV = V krv -------------------
V srv
– V kf ( C V* ) ( C ICluster ) (546)
( C V* )

324 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

where C V is the concentration of free vacancies and C V* is the equilibrium concentration of


vacancies. The first term models dissolution of the interstitial clusters by consuming vacancies.
The second term models the emission of vacancies by the interstitial clusters.

To modify the dissolution rates I kr and V kf by complex prefactors, you can define the
following terms in the input file:
term name=IClusterDissIntFactor silicon add eqn = { equation }
term name=IClusterDissVacFactor silicon add eqn = { equation }

For extrinsic silicon, the prefactors can be made a function of  ---


n
- to provide consistent TED
 n i
results.

If the 1Moment model is used with the Full cluster model, Eq. 546 is modified as follows:
V rv
( CV ) V crv V sfv V cfv
R CV = ( max + 1 )R sIcV ( max + 1 ) + V krv -------------------
V srv
- ( C ICluster ) – V kf ( C V* ) ( C ICluster ) (547)
( C V* )

where R sIcV ( max + 1 ) is given in Defect Cluster Model: Full on page 333. It is the reaction rate
of small interstitial clusters with vacancies. The reaction constants of the model can be
modified using the following commands:
pdbSet <material> ICluster Ikfi {<n>}
pdbSet <material> ICluster Ikfc {<n>}
pdbSet <material> ICluster Ikr {<n>}
pdbSet <material> ICluster Ifi {<n>}
pdbSet <material> ICluster Isfi {<n>}
pdbSet <material> ICluster Ifc {<n>}
pdbSet <material> ICluster Isfc {<n>}
pdbSet <material> ICluster Icf {<n>}
pdbSet <material> ICluster Icr {<n>}
pdbSet <material> ICluster Ikfci {<n>}
pdbSet <material> ICluster Vkrv {<n>}
pdbSet <material> ICluster Vrv {<n>}
pdbSet <material> ICluster Vsrv {<n>}
pdbSet <material> ICluster Vcrv {<n>}
pdbSet <material> ICluster Vkfv {<n>}
pdbSet <material> ICluster Vsfv {<n>}
pdbSet <material> ICluster Vcfv {<n>}

Sentaurus Process User Guide 325


H-2013.03
4: Diffusion
Defect Clusters

The changes are accompanied by corresponding inverse changes in C I . Therefore, clustering


reduces the number of free interstitials, while the dissolution of clusters releases interstitials.

Table 36 Solution names for 1Moment model of interstitials


Symbol Solution name

C ICluster ICluster

Vacancy

If you set the model to 1Moment, the model for the formation and dissolution of vacancy
clusters or voids is included. The 1Moment model uses a single equation to calculate the total
number of vacancies bound in clusters. The following nonlinear algebraic equation along with
the related diffusion equations are solved:

∂C VCluster
= R CV – R CI (548)
∂t

where C VCluster is the concentration of clustered vacancies, and R CV and R CI describe cluster
interaction with vacancies and interstitials, respectively.

The vacancy interaction includes two terms describing the clustering of vacancies and one
describing the declustering:
V fi V fc
( CV ) ( CV ) V cr
R CV = V kfi ------------------
V sfi
- ( C VCluster + V kfci C V ) – V kr ( C VCluster )
- + V kfc ------------------
V sfc
(549)
( C V* ) ( C V* )

where C V is the concentration of unclustered vacancies, and C V* is the equilibrium


concentration of vacancies. The first term models nucleation of the vacancy clusters at high
vacancy supersaturation. The second term models growth of the vacancy clusters by
consuming free vacancies. The third term models dissolution of the vacancy clusters by
emitting vacancies. If the 1Moment model is used with the Full cluster model, Eq. 549 is
modified as follows:
V fc
( CV ) V cr
R CV = ( max + 1 )R sVcl ( max + 1 ) + V kfc ------------------
V sfc
- ( C VCluster + V kfci C V ) – V kr ( C VCluster ) (550)
( C V* )

where R sVcl ( max + 1 ) is given in Defect Cluster Model: Full on page 333. The smallest large-
cluster forms when the small cluster captures one free vacancy by the reaction rate
R sVcl ( max + 1 ) .

326 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

The interstitial interaction includes one recombination and one generation term:
I rv
( CI ) I crv I sfv I cfv
- ( C VCluster ) – I kf ( C I* ) ( C VCluster )
R CI = I krv -----------------
I srv
(551)
( C I* )

where C I is the concentration of free interstitials, and C I* is the equilibrium concentration of


interstitials. The first term models dissolution of the vacancy clusters by consuming
interstitials. The second term models the emission of interstitials by the vacancy clusters.

To modify the dissolution rates V kr and I kf by complex prefactors, you can define the following
terms in the command file:
term name=VClusterDissVacFactor silicon add eqn = { equation }
term name=VClusterDissIntFactor silicon add eqn = { equation }

If the 1Moment model is used with the Full cluster model, Eq. 551 is modified as follows:
I rv
( CI ) I crv I sfv I cfv
R CI = ( max + 1 )R sVcI ( max + 1 ) + I krv -----------------
- ( C VCluster ) – I kf ( C I* ) ( C VCluster )
I srv
(552)
( CI ) *

where R sVcI ( max + 1 ) is given in Defect Cluster Model: Full on page 333. It is the reaction rate of
small vacancy clusters with interstitials. The reaction constants of the model can be modified
using the following commands:
pdbSet <material> VCluster Vkfi {<n>}
pdbSet <material> VCluster Vkfc {<n>}
pdbSet <material> VCluster Vkr {<n>}
pdbSet <material> VCluster Vfi {<n>}
pdbSet <material> VCluster Vsfi {<n>}
pdbSet <material> VCluster Vfc {<n>}
pdbSet <material> VCluster Vsfc {<n>}
pdbSet <material> VCluster Vcf {<n>}
pdbSet <material> VCluster Vcr {<n>}
pdbSet <material> VCluster Vkfci {<n>}
pdbSet <material> VCluster Ikrv {<n>}
pdbSet <material> VCluster Irv {<n>}
pdbSet <material> VCluster Isrv {<n>}
pdbSet <material> VCluster Icrv {<n>}
pdbSet <material> VCluster Ikfv {<n>}
pdbSet <material> VCluster Isfv {<n>}
pdbSet <material> VCluster Icfv {<n>}

Sentaurus Process User Guide 327


H-2013.03
4: Diffusion
Defect Clusters

The changes are accompanied by corresponding inverse changes in C V . Therefore, clustering


reduces the number of free vacancies; while the dissolution of clusters releases vacancies.

Table 37 Solution names for 1Moment model for vacancies


Symbol Solution name

C VCluster VCluster

Initializing 1Moment Model

The initial concentration of interstitial clusters or vacancy clusters after implantation is set in
the diffPreProcess procedure (see Ion Implantation to Diffusion on page 340) and can be
changed using the parameter InitPercent as follows:
pdbSet <material> ICluster InitPercent {<n>}
pdbSet <material> VCluster InitPercent {<n>}

InitPercent is the percentage of free implant interstitials used to initialize the model, for
example:

 Int_Implant*InitPercent Crystalline regions


ICluster =  (553)
0 Amorphous regions

 Vac_Implant*InitPercent Crystalline regions


VCluster =  (554)
0 Amorphous regions

The value of InitPercent must be between 0 and 1. The model assumes that existing
interstitial or vacancy clusters in the amorphized region break apart.

Defect Cluster Model: 2Moment

Interstitial

If you set the model to 2Moment, the model for the formation and dissolution of interstitial
clusters ({311} or {113} defects) and conversion of {311} clusters into dislocation loops are
included [39]. The model calculates the first two moments of the size distribution of interstitial
clusters, in other words, the number of clusters and the number of interstitials contained in the
clusters. It can be used with the existing model for dislocation loops (LoopEvolution),
although it is designed to include modeling of at least some dislocation loops.

328 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

The 2Moment clustering model is an implementation of the Gencer analytic kinetic


precipitation model (AKPM). The density of clusters ( D 311 ) and concentration of interstitials
( C 311 ) contained in clusters are calculated as:

∂D 311 2 *
= D I λ 0 ( C I – D 311 C Ii C s γ 0 ) (555)
∂t

∂C 311 ∂D 311 *
= 2 + D λ 1 D 311 ( C I – C s C Ii γ 1 ) (556)
∂t ∂t I

where C I and D I are the concentration and diffusivity of free interstitials. If the 2Moment
model is used with the Full cluster model, Eq. 555 and Eq. 556 are modified as follows:

∂D 311 *
= R sIcl ( max + 1 ) – R sIcV ( max + 1 ) – D I λ 0 D 311 C Ii C s γ 0 (557)
∂t

∂C 311 *
= ( max + 1 ) ( R sIcl ( max + 1 ) – R sIcV ( max + 1 ) ) + D I λ 1 D 311 ( C I – C s C Ii γ 1 ) (558)
∂t

C s γ 0 , which gives the dependence of the dissolution rate on the average cluster size, is given
by:

 K1
 C ss ----------
-
 s–1 s < n crit
Cs γ0 =  (559)
1 α
 C K  ---------- s > n crit
 sl 3  s – 1-

where:
■ K 1 controls the dissolution of two atom clusters.
■ s = C 311 ⁄ D 311 is the average number of interstitials in a cluster.

C s γ 1 , which gives the dependence of the rate of interstitial release on the average cluster size,
is given by:

 s–2 ( K 0 + 2 )K 2
 C ss --------------- 1 + ---------------------------
 s + K 0 s + K0 s < n crit
Cs γ1 =  (560)
  K 0 + 2
α s > n crit
 C sl 1 + K 4  ---------------
s + K0 

where K 3 and K 4 are chosen to make C s γ 0 and C s γ 1 continuous at s = n crit . C ss ,C sl are the
solid solubility of smaller and larger clusters.

Sentaurus Process User Guide 329


H-2013.03
4: Diffusion
Defect Clusters

To modify C s γ 0 and C s γ 1 by complex prefactors, you can define the following terms in the
command file:
term name=C311DissIntFactor silicon add eqn = { equation }

To set the model parameters, use the following commands:


pdbSet <material> C311 Lambda0 {<n>}
pdbSet <material> C311 Lambda1 {<n>}
pdbSet <material> C311 K0 {<n>}
pdbSet <material> C311 K1 {<n>}
pdbSet <material> C311 K2 {<n>}
pdbSet <material> C311 Alpha {<n>}
pdbSet <material> C311 NCritical {<n>}
pdbSet <material> Int SolubilitySmall {<n>}
pdbSet <material> Int SolubilityLarge {<n>}

Eq. 555 models the nucleation and dissolution of two-atom clusters. λ 0 is the capture length
for these processes.

Eq. 556 models the absorption and release of interstitials by clusters. The three terms on the
right side model the absorption of interstitials during nucleation, the absorption of interstitials
by nucleated clusters, and the release of interstitials by nucleated clusters. λ 1 is the capture
*
length for absorption and release of interstitials by nucleated clusters. C Ii C ss is the
concentration of interstitials in equilibrium with a population of large {311} clusters.

For s > n crit , some of the {311} defects unfault to form dislocation loops. These dislocation
loops are included in the 2Moment model by modifying the cluster dissolution rates. α
*
controls the dissolution rate when loops are present, and C Ii C sl is the concentration of
interstitials in equilibrium with a population of large dislocation loops, C Ii C sl .

Table 38 Solution names for 2Moment model of interstitials


Symbol Solution name

C 311 C311

D 311 D311

Vacancy

If you set the model to 2Moment – the model for the formation and dissolution of vacancy
clusters – the model calculates the first two moments of the size distribution of vacancy
clusters, that is, the number of clusters and the number of vacancies contained in the clusters.

330 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

The 2Moment clustering model is an implementation of the Gencer analytic kinetic


precipitation model (AKPM). The density of clusters ( D void ) and concentration of vacancies
( C void ) contained in clusters are calculated as:

∂D void 2 *
= D V λ 0 ( C V – D void C Vi C s γ 0 ) (561)
∂t

∂C void ∂D void *
= 2 + D λ 1 D void ( C V – C s C Vi γ 1 ) (562)
∂t ∂t V

where C V and D V are the concentration and diffusivity of free vacancies.

If the 2Moment model is used with the Full cluster model, Eq. 561 and Eq. 562 are modified
as follows:

∂D void *
= R sVcl ( max + 1 ) – R sVcI ( max + 1 ) – D V λ 0 D void C Vi C s γ 0 (563)
∂t

∂C void *
= ( max + 1 ) ( R sVcl ( max + 1 ) – R sVcI ( max + 1 ) ) + D V λ 1 D void ( C V – C s C Vi γ 1 ) (564)
∂t

C s γ 0 , which gives the dependence of the dissolution rate on the average cluster size, is given
by:
K1
C s γ 0 = C ss ----------- (565)
s–1

where:
■ K 1 controls the dissolution of two atom clusters.
■ s = C void ⁄ D void is the average number of vacancies in a cluster.

C s γ 1 , which gives the dependence of the rate of vacancy release on the average cluster size, is
given by:

s–2 ( K 0 + 2 )K 2
C s γ 1 = C ss --------------- 1 + --------------------------- (566)
s + K0 s + K0

C ss are the solid solubility of clusters.

To modify C s γ 0 and C s γ 1 by complex prefactors, you can define the following terms in the
command file:
term name=CVoidDissVacFactor silicon add eqn = { equation }

Sentaurus Process User Guide 331


H-2013.03
4: Diffusion
Defect Clusters

To set the model parameters, use the following commands:


pdbSet <material> CVoid Lambda0 {<n>}
pdbSet <material> CVoid Lambda1 {<n>}
pdbSet <material> CVoid K0 {<n>}
pdbSet <material> CVoid K1 {<n>}
pdbSet <material> CVoid K2 {<n>}
pdbSet <material> Vac SolubilitySmall {<n>}

Eq. 561 models the formation and dissolution of di-vacancy clusters. λ 0 is the capture length
for these processes.

Eq. 562 models the absorption and release of vacancies by clusters. The three terms on the right
side model the absorption of vacancies during di-vacancy cluster formation, the absorption of
vacancies by clusters, and the release of vacancies by clusters. λ 1 is the capture length for
*
absorption and release of vacancies by clusters. C Vi C ss is the concentration of vacancies in
equilibrium with a population of large vacancy clusters.

Table 39 Solution names for 2Moment model of vacancies


Symbol Solution name

C void CVoid

D void DVoid

Initializing 2Moment Model

The initial concentration of interstitial clusters after implants is set in the diffPreProcess
procedure (see Ion Implantation to Diffusion on page 340). By default, clusters are assumed to
break apart in the amorphous regions. You can specify the percentage of clusters retained in the
amorphous region per cluster solution variable using the parameter AmPercent:
pdbSet <material> C311 AmPercent {<n>}
pdbSet <material> D311 AmPercent {<n>}
pdbSet <material> CVoid AmPercent {<n>}
pdbSet <material> DVoid AmPercent {<n>}

For example:

 D 311 *AmPercent Amorphous regions


D 311 =  (567)
 D 311 Crystalline regions

The value of the AmPercent parameter must be between 0 and 1.

332 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

Defect Cluster Model: Full

Interstitial

If you set the defect cluster model to Full, the TS4 style transient small interstitial cluster
model is used. The reactions associated with the size-n small interstitial cluster is as follows:
In – 1 + I ↔ In (568)

In + I ↔ In + 1 (569)

In + V ↔ In – 1 (570)

In + 1 + V ↔ In (571)

I n denote the n-size interstitial small cluster; I, V are the interstitials and vacancies. The
transient equation for the n-size small interstitial cluster is:

∂C n
= R cI ( n ) – R cV ( n ) 2 ≤ n < n max (572)
∂t

n max can be set using the following command:


pdbSet Si Int [Link] {<n>}

and R cI ( n ) and R cV ( n ) are described as follows:


R cI ( n ) = R cI ( ( n – 1 ) → ( n ) ) – R cI ( ( n ) → ( n + 1 ) ) (573)

R cV ( n ) = R cV ( ( n ) → ( n – 1 ) ) – R cV ( ( n + 1 ) → ( n ) ) (574)

(n) CI (n)
R cI ( ( n – 1 ) → ( n ) ) = k fi C I ( n – 1 ) -----*- – k ri C I ( n ) (575)
CI

(n + 1) CI (n + 1)
R cI ( ( n ) → ( n + 1 ) ) = k fi C I ( n ) -----*- – k ri CI ( n + 1 ) (576)
CI

(n) CV (n)
R cV ( ( n ) → ( n – 1 ) ) = k rv C I ( n ) ------*- – k fv C I ( n – 1 ) (577)
CV

Sentaurus Process User Guide 333


H-2013.03
4: Diffusion
Defect Clusters

(n + 1) CV (n + 1)
R cV ( ( n + 1 ) → ( n ) ) = k rv C I ( n + 1 ) ------*- – k fv CI ( n ) (578)
CV

here:
n –z
f nz k I z  ----
( n)

* i
k fi = C Ii n>2 (579)
 n i
z

*2
C Ii n –( z + q )
f k k  ----
(2)
*  2qz I z I q  n 
i
k fi = -------- n = 2 (580)
C I z, q i

n –z
k ri = C Ii  r nz k I z  ----
(n) * i
n>2 (581)
 n i
z

n –( z + q )
k ri = C Ii  r 2qz k I z k I q  ----
(2) * i
 n i
n = 2 (582)
z, q

n –z
k fv = C Vi  f nz k V z  ----
(n) * v
n>2 (583)
 n i
z

* *
C Ii C Vi n –z
f k  ----
(2)
*  2z V z  n 
v
k fv = ---------------
- n = 2 (584)
CI z
i

n –z
k rv = C Vi  r nz k V z  ----
(n) * v
 n i
(585)
z

i v i v
The reaction rate constants, f = k fI, f = k fV, r = k rI ,r = k rV , can be set using the
commands:
pdbSet Si I2 kfI {<i,j>} {<n>}
pdbSet Si I2 krI {<i,j>} {<n>}
pdbSet Si I2 kfV {<i>} {<n>}
pdbSet Si I2 krV {<i>} {<n>}
pdbSet Si I3 kfI {<i>} {<n>}
pdbSet Si I3 krI {<i>} {<n>}
pdbSet Si I3 kfV {<i>} {<n>}
pdbSet Si I3 krV {<i>} {<n>}
pdbSet Si I4 kfI {<i>} {<n>}
pdbSet Si I4 krI {<i>} {<n>}
pdbSet Si I4 kfV {<i>} {<n>}
pdbSet Si I4 krV {<i>} {<n>}
pdbSet Si I5 kfI {<i>} {<n>}

334 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

The indices i and j are integers representing the charge state of interstitials and reacting
interstitials. The shorthand pdbSet command can be used for clusters up to size 5. For all other
clusters, the longhand pdbSetDoubleArray command must be used.

NOTE The indices for the parameters kfI and krI for I2 clusters have the form
i, j . The indices are separated by a comma; no space is allowed between
the indices.

If you want to use same reaction rate constants for all charges, use the command:
pdbSet Si Int [Link] {1|0}

If [Link] is set to 1, the model uses the 0th indexed reaction rate constants (for example,
kfI(0,0) or kfI(0), krV(0) and so on) in the reaction calculation for all charged states.

To modify k ri and k fv by complex prefactors, you can define the following terms in the
command file, for example, for I2:
term name=I2DissIntFactor silicon add eqn = { equation }
term name=I2DissVacFactor silicon add eqn = { equation }

The net capture rate of free interstitials by the small interstitial clusters is given by:
max

R sIcl = R cl ( 1 → 2 ) +  Rcl ( n → n + 1 ) (586)


n=1

The net capture rate of free vacancies by the small interstitial clusters is given by:
max

R sIcV =  RcV ( n → n + 1 ) (587)


n=1

Table 40 Solution names for full model of interstitials


Symbol Solution name

CI I2
2

CI I3
3

CI I4
4

CI I5
5

Sentaurus Process User Guide 335


H-2013.03
4: Diffusion
Defect Clusters

Vacancy

If you set the defect cluster model to Full, the TSUPREM-4-style transient small-vacancy
cluster model is used. The reactions associated with the n -size small interstitial cluster are:
Vn – 1 + V ↔ Vn (588)

Vn + V ↔ Vn + 1 (589)

Vn + I ↔ Vn – 1 (590)

Vn + 1 + I ↔ Vn (591)

where V n denotes the n -size small vacancy cluster, and I, V are the interstitials and vacancies.

The transient equation for the n -size small vacancy cluster is:

∂C n
= R cV ( n ) – R cI ( n ) 2 ≤ n < n max (592)
∂t

n max can be set using the following command:


pdbSet Si Vac [Link] {<n>}

R cV ( n ) and R cI ( n ) are described as follows:


R cV ( n ) = R cV ( ( n – 1 ) → ( n ) ) – R cV ( ( n ) → ( n + 1 ) ) (593)

R cI ( n ) = R cI ( ( n ) → ( n – 1 ) ) – R cI ( ( n + 1 ) → ( n ) ) (594)

(n) CV (n)
R cV ( ( n – 1 ) → ( n ) ) = k fv C V ( n – 1 ) ------*- – k rv C v ( n ) (595)
CV

(n + 1) CV (n + 1)
R cV ( ( n ) → ( n + 1 ) ) = k fv C V ( n ) ------*- – k rv CV ( n + 1 ) (596)
CV

(n) CI (n)
R cI ( ( n ) → ( n – 1 ) ) = k ri C V ( n ) -----*- – k fi C V ( n – 1 ) (597)
CI

(n + 1) CI (n + 1)
R cI ( ( n + 1 ) → ( n ) ) = k ri C V ( n + 1 ) -----*- – k fi CV ( n ) (598)
CI

336 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

here:
n –z
f nz k V z  ----
(n)

* i
k fv = C Vi n>2 (599)
 n i
z

*2
C Vi n –( z + q )
f k k  ----
(2)
*  2qz V z V q  n 
i
k fv = -------- n = 2 (600)
C V z, q i

n –z
k rv = C Vi  r nz k V z  ----
(n) * i
n>2 (601)
ni
z

n –( z + q )
k rv = C V  r 2qz k V z k V q  ----
(2) * i
i  n i
n = 2 (602)
z, q

n –z
= C Ii  f nz k I z  ----
( n) * i
k fi n>2 (603)
 n i
z

* *
C Ii C Vi n –z
-  f 2z k I z  ----
(2) i
k fi = ---------------
*  n i
n = 2 (604)
CV z

n –z
k ri = C Ii  r nz k I z  ----
(n) * i
 n i
(605)
z

v i v i
The reaction rate constants, f = k fV, f = k fI, r = k rV ,r = k rI , can be set using the
commands:
pdbSet Si V2 kfV {<i,j>} {<n>}
pdbSet Si V2 krV {<i,j>} {<n>}
pdbSet Si V2 kfI {<i>} {<n>}
pdbSet Si V2 krI {<i>} {<n>}
pdbSet Si V3 kfV {<i>} {<n>}
pdbSet Si V3 krV {<i>} {<n>}
pdbSet Si V3 kfI {<i>} {<n>}
pdbSet Si V3 krI {<i>} {<n>}
pdbSet Si V4 kfV {<i>} {<n>}
pdbSet Si V4 krV {<i>} {<n>}
pdbSet Si V4 kfI {<i>} {<n>}
pdbSet Si V4 krI {<i>} {<n>}
pdbSet Si V5 kfV {<i>} {<n>}
pdbSet Si V5 krV {<i>} {<n>}
pdbSet Si V5 kfI {<i>} {<n>}
pdbSet Si V5 krI {<i>} {<n>}
pdbSet Si V6 kfV {<i>} {<n>}

Sentaurus Process User Guide 337


H-2013.03
4: Diffusion
Defect Clusters

pdbSet Si V6 krV {<i>} {<n>}


pdbSet Si V6 kfI {<i>} {<n>}
pdbSet Si V6 krI {<i>} {<n>}
pdbSet Si V7 kfV {<i>} {<n>}
pdbSet Si V7 krV {<i>} {<n>}
pdbSet Si V7 kfI {<i>} {<n>}
pdbSet Si V7 krI {<i>} {<n>}
pdbSet Si V8 kfV {<i>} {<n>}

The indices i and j are integers representing the charge state of vacancies and reacting
vacancies. The shorthand pdbSet command can be used for clusters up to size 8. For all other
clusters, the longhand pdbSetDoubleArray command must be used.

NOTE The indices for the parameters kfV and krV for V2 clusters have the
form of i, j . The indices are separated by a comma; no space is allowed
between the indices.

If you want to use same reaction rate constants for all charges, use the command:
pdbSet Si Vac [Link] {1|0}

If [Link] is set to 1, the model uses the 0th indexed reaction rate constants (for example,
kfV(0,0) or kfV(0), krI(0) and so on) in the reaction calculation for all charged states.

To modify k rv and k fi by complex prefactors, you can define the following terms in the
command file, for example, for V2:
term name=V2DissVacFactor silicon add eqn = { equation }
term name=V2DissIntFactor silicon add eqn = { equation }

The net capture rate of free vacancies by the small vacancy clusters is given by:
max

R sVcl = R cV ( 1 → 2 ) +  RcV ( n → n + 1 ) (606)


n=1

The net capture rate of free interstitials by the small vacancy clusters is given by:
max

R sVcI =  RcI ( n → n + 1 ) (607)


n=1

338 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Defect Clusters

Table 41 Solution names for full model of vacancies


Symbol Solution name

CV V2
2

CV V3
3

CV V4
4

CV V5
5

CV V6
6

CV V7
7

CV V8
8

Initializing Full Model

The initial concentration of interstitial or vacancy clusters after implantation is set in the
diffPreProcess procedure (see Ion Implantation to Diffusion on page 340). By default,
clusters are assumed to break apart in the amorphous regions. You can specify the percentage
of clusters retained in the amorphous region per cluster solution variable using the parameter
AmPercent:
pdbSet <material> <cluster> AmPercent {<n>}

For example:

 I 4 *AmPercent Amorphous regions


I4 =  (608)
 I4 Crystalline regions

The value of the AmPercent parameter must be between 0 and 1.

In addition, you can specify the initial concentration of interstitial or vacancy clusters after
implantations by using the parameter InitPercent as follows:
pdbSet <material> <cluster> InitPercent {<n>}

The parameter InitPercent is the percentage of free implant interstitials or vacancies used
to initialize the model, for example:

 Int_Implant*InitPercent Crystalline regions


ICluster =  (609)
0 Amorphous regions

The value of InitPercent must be between 0 and 1.

Sentaurus Process User Guide 339


H-2013.03
4: Diffusion
Ion Implantation to Diffusion

Ion Implantation to Diffusion


During the implantation, important data fields (see Chapter 3 on page 79) such as
Int_Implant, Vac_Implant, and Damage are created

Int_Implant and Vac_Implant represent the total number of interstitial and vacancy point-
defects coming from the ion implantation. Since it is possible that the point defects already
exist in the structure or amorphization occurred due to ion implantation, the point-defect fields
must be updated before any diffusion step.

Sentaurus Process calls a default procedure, diffPreProcess, to process these fields. The
main goal of the procedure is to process the point-defect fields and to store the processed fields
in the Interstitial and Vacancy data fields. These data fields represent the total number
of interstitials and vacancies that will be used to initialize the total number of unpaired
interstitials (Int) and vacancies (Vac) (see Initializing Solution Variables on page 342):

 Interstitial+Int_Implant Crystalline regions


Interstitial =  * (610)
 CI Amorphous regions

 Vacancy+Vacancy_Implant Crystalline regions


Vacancy =  * (611)
 CV Amorphous regions

First, interstitials and vacancies from implants (Int_Implant, Vac_Implant) are added to
existing Interstitial and Vacancy fields in the crystalline regions. If the fields do not
exist, they are created and set to their equilibrium values.

The Damage field is used to determine whether the material is amorphized. The threshold value
for the amorphization can be set by:
pdbSet <material> AmorpDensity {<n>}

It is assumed that if a material amorphizes due to ion implantation, the amorphized portion of
the material will grow to a perfect crystalline material and point-defect densities in this region
will be equal to their thermal equilibrium values (see Eq. 611). If a material is an amorphized
material (that is, polysilicon), the point-defect densities in this material are set automatically to
their equilibrium values.

The abovementioned amorphization algorithm leads to very steep interstitial profiles at the
amorphous–crystalline boundary. This boundary can be softened using an error function. The
degree of smoothing can be controlled using the parameter AmorpGamma, that is:
pdbSet <material> AmorpGamma {<n>}

340 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Ion Implantation to Diffusion

The value of this parameter must be between 0 and 1, where 1 means a very steep transition.
Smoothing also will be applied to dopant profiles if the transient or cluster model is selected.
To find out whether a material is amorphous, use the commands:
pdbGet <material> Amorphous
pdbSet <material> Amorphous 1 or 0

When the point-defect concentrations are set to their equilibrium values in the amorphous
regions, their densities in non-amorphous regions are compared to the solid solubility values
of these defects in each material. If the solid solubility values are defined, the defect profiles
are cut off at the solid solubility values. To specify the solid solubility numbers for the
Interstitial and Vacancy fields, use:
pdbSet <material> Int TotSolubility {<n>}
pdbSet <material> Vac TotSolubility {<n>}

Interstitial = min ( Interstitial, IntTotSolubility )


(612)
Vacancy = min ( Vacancy, VacTotSolubility )

In addition to the processing of implant data fields, the diffPreProcess procedure


determines whether point-defect equations need to be solved. As a default behavior, Sentaurus
Process does not solve the defect equations if the dopant diffusion models are set to Fermi
(see Fermi Diffusion Model on page 211), Constant (see Constant Diffusion Model on
page 212), or ChargedFermi (see ChargedFermi Diffusion Model on page 209) in all
materials.

However, the interstitial point-defect equation will be solved for the same dopant diffusion
models if the oxidation is switched on and dopants are present in the structure. Both point-
defect equations are solved if the dopant diffusion models are set to Pair, React,
ChargedPair, or ChargedReact in any material.

Although it is not recommended, you may want to switch on or off the point-defect equations
for any chosen dopant diffusion model. In this case, use the commands:
pdbSetBoolean Defect Int ForcedTurnOff 1
pdbSetBoolean Defect Vac ForcedTurnOff 1
pdbSetBoolean Defect Int ForcedTurnOn 1
pdbSetBoolean Defect Vac ForcedTurnOn 1

NOTE These parameters are not in the parameter database and are provided for
advanced users.

To change the initialization of point defects in the amorphous regions, use:


pdbSet <material> Int [Link] <model>
pdbSet <material> Vac [Link] <model>

Sentaurus Process User Guide 341


H-2013.03
4: Diffusion
Initializing Solution Variables

where <model> is either None or Equilibrium. The default is None and follows the
initialization procedure previously explained in Initializing Solution Variables on page 342.

The Equilibrium model sets the unpaired total interstitial (Int) and vacancy (Vac)
*
concentrations to the user-defined equilibrium values, C X (see Eq. 150, p. 203).

The diffPreProcess procedure also initializes the fluorine model (see Initializing the
FVCluster Model on page 293), the active dopant models Cluster and Transient (see
Initializing Transient Model on page 285), the {311} defect-clustering model (see Initializing
311 Model on page 314), and the 1Moment defect-clustering model (see Initializing 1Moment
Model on page 328).

When the preprocessing of the data fields is completed, most implant fields are deleted.
Sentaurus Process also calls the diffPostProcess procedure as soon as diffusion has
finished. In this procedure, remaining implant fields are cleared and total defect concentrations
are stored for use with the next diffusion command during initialization.

Initializing Solution Variables


Initialization of solution variables is typically a minor task in Sentaurus Process. You can
manipulate data and easily modify any data field using the select command (see select on
page 1053). Data fields can be added, subtracted, truncated, or manipulated in many ways.

You also can define special callback procedures to initialize solution variables in different
ways. This section covers the callback procedures and the keywords used by Sentaurus Process
to initialize solution variables.

No nonlinear or partial differential equations are solved to initialize dopant solutions. Dopant
data fields generated during implantation are simply added to existing ones. For example, if
you select the dopant diffusion model React (see React Diffusion Model on page 204), there
is no contribution to the dopant–defect pair fields from the implant. However, you can use the
select command to distribute dopants among the other fields as required.

Conversely, Sentaurus Process uses callback procedures (see Using Callback Procedures on
page 574) to initialize the total number of unpaired interstitials (Int) and vacancies (Vac),
which are used as solution names. Since extra dopant–defect equations are not solved for the
Pair, ChargedPair, or ChargedFermi dopant diffusion models, transferring all point
defects from implantation to their respective solution names may cause an artificial increase of
dopant–defect pairs in the structure. To prevent this artificial dopant–defect pair increase,
defects from implantation must be added to the total interstitials and vacancies.

There are two main callback procedures to initialize solution variables: InitSolve and
EquationInitProc. To initialize a solution variable, the keyword InitStep must be

342 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Initializing Solution Variables

defined with the solution variable. This is different from the typical use of callback procedures
(see Using Callback Procedures on page 574):
pdbSetString <material> <solution> InitSolve <callback procedure>
pdbSetString <material> <solution> EquationInitProc <callback procedure>

The procedures take three arguments: a material, a solution, and the name of the callback
procedure. For example, the command:
pdbSetString Si Int InitSolve ResetInt

‘informs’ the code to invoke the ResetInit procedure every time that solutions are checked.
This is usually performed at the very beginning of a diffusion step.

The ResetInit procedure could be defined as:


proc ResetInit { Mat Sol } {
pdbUnSetString $Mat $Sol Equation
}

When a solution variable requires initialization, Sentaurus Process searches for whether the
EquationInitProc callback procedure is used for the solution name. If it is used, Sentaurus
Process executes the procedure given with the command. Otherwise, you must provide the
initialization equation. The command:
pdbSetString Si Int EquationInitProc InitializeInt

‘informs’ Sentaurus Process to call the procedure InitializeInt before parsing the
initialization equation for the solution Int.

The InitializeInt procedure could be defined as:


proc InitializeInit { Mat Sol } {
pdbSetString $Mat $Sol Equation "$Sol - 1e17"
}

In this case, the initialization equation for the solution name Int will be set to Int-1e17=0.
17
When the initialization is completed, Int will have the value of 1 × 10 in the specified
material. This is a trivial example, but you can define any valid equation in this procedure.

For example, the default initialization equation for Int in Sentaurus Process, which can change
depending on the dopants and diffusion models, can be:
Interstitial - (Int + (I0 * BActive * (( [expr [Arrhenius 5.68 0.48] * \
[pdbGetDouble Si Boron Int Binding] ] + [expr 0.0 * \
[pdbGetDouble Si Boron Int Binding] ] * Noni) * Noni + ( \

Sentaurus Process User Guide 343


H-2013.03
4: Diffusion
Boundary Conditions

[expr [Arrhenius 5.68 0.42] * [pdbGetDouble Si Boron Int Binding] ] + \


[expr 0.0 * [pdbGetDouble Si Boron Int Binding] ] * Poni) * Poni + \
([expr 1.0 * [pdbGetDouble Si Boron Int Binding] ])))) = 0

where I0, BActive, Noni, and Poni are a function of the solution Int.

NOTE InitPostProcess (see Figure 86 on page 589) can be used to save


and plot solution variables after the initialization is completed.

Boundary Conditions
Different boundary conditions can be selected in Sentaurus Process:
■ HomNeumann
■ Natural
■ Segregation
■ Dirichlet
■ ThreePhaseSegregation
■ Trap
■ Trapgen
■ Continuous

Even though you can select any boundary conditions, they should be used with appropriate
species. It is possible to set a general boundary condition for all dopants or a specific boundary
condition for a single species, for example:
pdbSet Oxide_Silicon Boundary BoundaryCondition HomNeumann
pdbSet Oxide_Silicon Int BoundaryCondition Dirichlet

The first line switches the boundary condition for dopants at an oxide–silicon interface from
its default Segregation boundary condition to the HomNeumann boundary condition. The
second line sets the boundary condition at the oxide–silicon interface for interstitials to the
Dirichlet boundary condition.

HomNeumann
It is assumed that there are no fluxes and transfers across the interface. This is chosen by default
at the left, right, and bottom boundaries, and can be applied to any boundary.

344 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Boundary Conditions

Natural
This is the default boundary condition for point defects at gas–silicon and oxide–silicon
interfaces. The normal flux across an outer surface is given by:
*
j • n = h(C – C ) (613)
*
where h is the surface recombination rate, and C and C are the concentration of interstitials
or vacancies and equilibrium concentration of interstitials and vacancies, respectively. The
equilibrium concentration of point defects at the surface can be modified using user-defined
parameters (see Modifying Point-Defect Equilibrium Values at Surface on page 348). There
are four surface recombination velocity models:
■ PDependent
■ InitGrowth
■ Simple
■ Normalized

To set the models, use the command:


pdbSet <interface material> <defect> [Link] <model>

where:
■ <interface material> is an interface material name (see Material Specification on
page 50).
■ <defect> is either Interstitial or Vacancy.
■ <model> is one of the model names.

In each case, the surface recombination rate depends on the motion of the interface due to
oxidation.

Surface Recombination Model: PDependent

The PDependent model is the pressure-dependent surface recombination model. The flux that
takes into account the interstitial injection during oxidation is given by:

 V k pow k
ppow
j • n = k s  1 + k Rat  --------------
ox  *
- Po  ( C 0 – C 0 ) – G ox (614)
 V Scale   X X

Sentaurus Process User Guide 345


H-2013.03
4: Diffusion
Boundary Conditions

where:
■ k s is the surface recombination rate.
■ G ox is the generation rate.
■ P o is the oxygen partial pressure.
■ V ox is the local oxidation rate (ReactionSpeed).
■ V Scale is the reference oxidation rate for bare, undoped silicon.
■ k Rat , k pow , and k ppow are model parameters.

To modify these parameters, use the commands:


pdbSet <interface material> <defect> Ksurf {<n>}
pdbSet <interface material> <defect> Scale {<n>}
pdbSet <interface material> <defect> Krat {<n>}
pdbSet <interface material> <defect> Kpow {<n>}
pdbSet <interface material> <defect> Kppow {<n>}

The generation term, G ox , is given by:


V ox G pow G gpow
G ox = θ V ox L den  --------------- Po G Scale (615)
 V Scale

G pow , G gpow , and υ are model parameters to adjust the interstitial injection during oxidation.

To modify these parameters, use:


pdbSet <interface material> <defect> Gpow {<n>}
pdbSet <interface material> <defect> Ggpow {<n>}
pdbSet <interface material> <defect> theta {<n>}

L den is the lattice density of silicon and can be set by:


pdbSet <material> LatticeDensity {<n>}

G Scale is the scaling factor for the generation rate and given by:

 G0 G low = 0 and Charged Model


G Scale =  (616)
 G 1 G low G low ≠ 0

C Xi *
G 0 = --------- (617)
CX

mm + m + 1 + p + pp
G 1 = --------------------------------------------------------------------------------------------------------------------------------------------------------
2PotOx PotOx
- (618)
p PotOx p 2PotOx
mm  ---- + m  ---- + 1 + p  ---- + pp  ----
n n
 n i  n i  n i  n i

346 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Boundary Conditions

If the dopant diffusion model is set to ChargedFermi or ChargedPair or ChargedReact


and G low is zero, G Scale will be set to G 0 ; otherwise, it will be set to G 1 .

G low , PotOx , mm , m , p , and pp are model parameters that can be modified with the
commands:
pdbSet <interface material> <defect> PotOx {<n>}
pdbSet <interface material> <defect> mm {<n>}
pdbSet <interface material> <defect> m {<n>}
pdbSet <interface material> <defect> p {<n>}
pdbSet <interface material> <defect> pp {<n>}
pdbSet <interface material> <defect> Glow {<n>}

Surface Recombination Model: InitGrowth

The InitGrowth model is almost identical to PDependent (see Surface Recombination


Model: PDependent on page 345) surface recombination model except that V ox ⁄ V Scale is set
to 1 for nonoxidizing cases in Eq. 614.

Surface Recombination Model: Simple

The Simple model takes into account the interstitial injection through total free and
equilibrium point-defect concentrations during oxidation. The recombination flux is given by:
V
j • n = k s  1 + k Rat  --------------
ox   *
- ( C – C X ) – G ox (619)
V Scale  X

G ox = θ V ox L den G Scale (620)

G Scale is given by Eq. 616.

Surface Recombination Model: Normalized

The Normalized model is a TSUPREM-4-type surface recombination model. This model


provides both the time dependence and the dependence on the oxidation conditions by using a
constant normalizing factor:
V kpow
j • n =  k s + k svel  --------------
ox
-   ( C – C* ) – G
 X X ox (621)
V Scale

V ox G pow
G ox = θL den V ox  --------------- G Scale (622)
 V Scale

Sentaurus Process User Guide 347


H-2013.03
4: Diffusion
Boundary Conditions

To set the normalizing factor, use the command:


pdbSet <interface material> <defect> Ksvel {<n>}

G Scale is given by Eq. 616.

Modifying Point-Defect Equilibrium Values at Surface

The equilibrium value of point defects at the interface can be enhanced as follows:

* V ox Pox
= C X  1 + F ox G 1  ------------- 
*
CX

(623)
Enhanced
 V ref  

G 1 is given by Eq. 618.

V ref , F ox , and P ox are model parameters that can be modified with the commands:
pdbSet <interface material> <defect> VrefRate {<n>}
pdbSet <interface material> <defect> Fox {<n>}
pdbSet <interface material> <defect> Pox {<n>}

To switch on the enhancement, use the command:


pdbSet <interface material> <defect> HybridBC {1 | 0}

Segregation
This is the default boundary condition for dopants. The total dopant fluxes at the interfaces are
balanced. The fluxes are assumed to be proportional to the deviation from the segregation
equilibrium. The fluxes are given by:
b
 a C 
j • n = h  C A – ------A- (624)
 s

where:
a
■ C A is the concentration of dopant on one side of the interface.
b
■ C A is the concentration of dopant on the other side of the interface.
■ h is the transfer rate.
■ s is the segregation rate of dopant A .

348 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Boundary Conditions

If the charge states of the dopants must be included or the boundary condition for dopant defect
pairs must be set, use the command:
pdbSet <interface material> <dopant> [Link] <diffmodel> <model>

where:
■ <interface material> is an interface material name (see Material Specification on
page 50).
■ <dopant> is a valid dopant name.
■ <diffmodel> is the Constant or Fermi or ChargedFermi or Pair or ChargedPair
or React or ChargedReact dopant diffusion model.
■ <model> is either Default or PairSegregation.

Surface Recombination Model: Default

If the surface recombination model is set to Default for any dopant diffusion model, the
segregation fluxes are given by:
b
 a CA 
j • n = k Transfer  C A – ----------------------------
- (625)
 k Segregation

To set these parameters, use the commands:


pdbSet <interface material> <dopant> Transfer {<n>}
pdbSet <interface material> <dopant> Segregation {<n>}

NOTE If the dopant diffusion model is set to React or ChargedReact, C A


will be the substitutional dopant.

Surface Recombination Model: PairSegregation

If the surface recombination model is set to PairSegregation for the Constant, Fermi,
ChargedFermi, Pair, or ChargedPair diffusion models, the segregation fluxes are given
by:

a n z
 C A  ---- 
b  a n z
 n i 
j • n = k Transfer k rate k rate  CA  ---- – ----------------------------
a a
- (626)
 n i b k Segregation
 

 C *0 C 0
*

k rate =  f I ------*- 
a⁄b I V
+ ( 1 – f I ) -------- (627)
 * 
 C I0 a⁄b
C 0
V a ⁄ b

Sentaurus Process User Guide 349


H-2013.03
4: Diffusion
Boundary Conditions

where f I is the intertitial fraction of dopant trapping in equilibrium and can be set using the
following command:
pdbSet <interface material> <dopant> [Link] {<n>}

To use the total unpaired interstitial concentration, instead of the neutral one, use the command:
pdbSet <interface material> <dopant> UseUnpairedTotalInt { 1|0 }

In this case, Eq. 627 will be:


* *
a⁄b  CI CV 
k rate =  f I -----*- + ( 1 – f I ) ------*-  (628)
 CI a⁄b CV a⁄b

a
If the dopant diffusion model is not Pair or ChargedPair model on interface side a , k rate is
b
set to 1. If the same is true for interface side b , k rate is set to 1.

If the surface recombination model is set to PairSegregation for React or ChargedReact


diffusion models, the segregation fluxes are given by:

 b n z 
 C AI  ---- 
b a n z  n i
j • n = k Transfer k AIrate  [ C 0 ] C  ---- – -------------------------------------------------------------------
a * b
(629)
I A n
 n  –z
 i a k Segregation  k AIz k I z ----  b b
  n i 
b
z

 n z 
C AV  ----
b
 b a n z  n i b 
j • n = k Transfer k AVrate  [ C 0 ] C  ---- – --------------------------------------------------------------------- 
a *
- (630)
V A n
 n  – z
 i a k Segregation  k AV z k V z ----  b b
  n i 
b
z

a fI a
k AIrate = --------------b- k rate (631)
*
[C 0]
I

a 1 – fI a
k AVrate = ---------------b- k rate (632)
*
[C 0]
V

where C AI and C AV are the concentration of dopant-defect pairs. C A is the concentration of


the total unpaired dopant.

350 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Boundary Conditions

To use the total unpaired interstitial and vacancy concentrations, Eq. 631 and Eq. 632 will be:
–c
 kI  n----i
n
c

a fI c a
k AIrate = --------------b- ---------------------------
-k rate (633)
 k Ic
* s
[C 0]
I
c

–c
 kV  ---n-i
n
c

a 1 – fI c a
k AVrate = ---------------b- -----------------------------
- k rate (634)
 k Vc
* s
[C 0]
V
c

Dirichlet
The Dirichlet boundary condition can be used with both point defects and dopants. However,
it can be set only at gas and any other material interfaces for dopants. In this way, ‘in-diffusion’
for a dopant can be simulated using the Dirichlet boundary condition. If the Dirichlet boundary
condition is selected, the defect or dopant concentration at the boundary is set to its equilibrium
value. The equilibrium value can be specified with:
pdbSet <material> <dopant|defect> Cstar <n>

where:
■ <material> is a material name (see).
■ <dopant> is a valid dopant name.
■ <defect> is Interstitial or Vacancy.
■ Cstar is the equilibrium value of the solution variable.

If the Dirichlet boundary condition is selected and the oxidation is switched on, the modified
Dirichlet boundary condition is used for interstitials. The equilibrium value of interstitial point-
defects at the interface is enhanced (see Modifying Point-Defect Equilibrium Values at Surface
on page 348) and the new equilibrium at the interface becomes:

* V ox P ox
= C 0  1 + F ox G 1  ------------- 
*
C

(635)
V ref  
0
I ox I 

Sentaurus Process User Guide 351


H-2013.03
4: Diffusion
Boundary Conditions

ThreePhaseSegregation
Dose loss during diffusion can be modeled with three-phase segregation in Sentaurus Process.
Dopants can segregate from both silicon and oxide to the silicon–oxide interface where they
are considered inactive. The model in Sentaurus Process is based on the original model by Lau
et al. [40], and Oh and Ward [41]. The diffusion equation at the interface is given by:

∂C A
= ∇D 0 ∇C A + F a + F b (636)
∂t

where D 0 is the diffusivity of the dopant at the interface, and F a and F b are the flux towards
the interface from material a and material b , respectively.

The diffusivity at the interface can be defined by:


pdbSet <interface material> <dopant> D <c> {<n>}

where:
■ <interface material> is an interface material name (see Material Specification on
page 50).
■ <dopant> is one of the existing Sentaurus Process dopants.
■ <c> is the charge state.
■ <n> is a Tcl expression that returns a number; it can be simply a number.

NOTE Only a neutral charge state is considered at the interface.

The fluxes F a and F b depend on the surface recombination model used. The surface
recombination models are Default or PairSegregation, and can be set for different
diffusion models using the command:
pdbSet <interface material> <dopant> [Link] <diffmodel> <model>

where:
■ <diffmodel> is the Constant, Fermi, ChargedFermi, Pair, ChargedPair, React,
or ChargedReact dopant diffusion model.
■ <model> is either Default or PairSegregation.

352 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Boundary Conditions

Surface Recombination Model: Default

If the surface recombination model is set to Default for any dopant diffusion model, the
segregation fluxes are given by:

a⁄b  Tmax a ⁄ b  + a⁄b n z ss a ⁄ b + a⁄b


–  C A  [ C A ]  ----
a⁄b
F a ⁄ b = T Rate  [ C A ] – E Rate C A ( [ C A ] – [ CA ] ) (637)
 i
  
ni a ⁄ b
i

where:
■ T Rate is the trapping rate.
Tmax
■ CA is the maximum number of sites in the adjacent bulk regions.
■ C Ai is the concentration of trapped dopant A i .
SS
■ C A is the solid solubility of the dopant.
+
■ C A is the active concentration of dopant A .
■ z is the charge state of the dopant.
■ E Rate is the emission rate.

To set the model parameters, use the commands:


pdbSet <interface material> <dopant> TrappingRate_<side> {<n>}
pdbSet <interface material> <dopant> EmissionRate_<side> {<n>}
pdbSet <interface material> CMax {<n>}

where <side> is one side of the interface and <interface material> is the interface
material. For example, the side would be either Oxide or Silicon for an oxide–silicon
interface.
Tmax
Sentaurus Process allows the C A parameter to be multiplied by user-defined factors as
follows:
Tmax Tmax
C AFactor × C A (638)

For example, in the case of oxide silicon interface, this is given by:
term name=CMaxFactor add Oxide /Silicon eqn = "exp(0.02)"

To allow Sentaurus Process to use this term, specify a term with the name CMaxFactor for the
interface material.

Similarly, you can modify T Rate and E Rate (the trapping and emission rates, respectively) using
user-defined factors such as:

T Rate – Factor × T Rate and E Rate – Factor × E Rate (639)

Sentaurus Process User Guide 353


H-2013.03
4: Diffusion
Boundary Conditions

The rate factors are specified as follows:


term name=<dopant>EmissionRateFactor_<side> add <InterfaceMaterial1> /
<InterfaceMaterial2> eqn="<expr>"
term name=<dopant>TrappingRateFactor_<side> add <InterfaceMaterial1> /
<InterfaceMaterial2> eqn="<expr>"

The factors are specified for an interface, for a particular dopant and specific to the side from
which the interface is being approached. For example, given an oxide–silicon interface and an
arsenic dopant, the EmissionRateFactor from the oxide side can be specified as:
term name=ArsenicEmissionRateFactor_Oxide add Oxide /Silicon eqn="exp(2.0)"

You also can use the individual trap density by switching off the UseTotalInterfaceTrap
flag by:
pdbSet <interface material> <dopant> UseTotalInterfaceTrap 0

By default, the flag is switched on (1). If the flag is switched off, Eq. 637 becomes:
a⁄b max a ⁄ b + a ⁄ b n  z a⁄b ss a ⁄ b + a⁄b
F a ⁄ b = T Rate ( [ C A ] – CA ) [ CA ] ---- – E Rate C A ( [ C A ] – [ CA ] ) (640)
 n i
a⁄b

max
where C A is the maximum number of sites in the adjacent bulk region for this solution
variable.

To change this parameter, use the command:


pdbSet <interface material> <dopant> CMax {<n>}

NOTE If the dopant diffusion model is set to React or ChargedReact, C A+


will be the substitutional dopant.
max
Sentaurus Process allows the C A parameter to be multiplied by user-defined factors as
follows:
max max
C AFactor × C A (641)

For example, in the case of specified boron at the oxide–silicon interface, this is given by:
term name=BoronCMaxFactor add Oxide /Silicon eqn = "exp(0.02)"

To allow Sentaurus Process to use this term, specify a term with the name
<dopant>CMaxFactor for the interface material.

354 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Boundary Conditions

SS
Sentaurus Process also allows the parameter C A to be multiplied by a user-defined factor
defined as [Link], for example:
pdbSetString Si B [Link] "exp(3.636e-24*Pressure_Silicon/$kbT)"

Surface Recombination Model: PairSegregation

If the Surface Recombination model is set to PairSegregation for the Pair or


ChargedPair dopant diffusion model, the segregation fluxes are given by:

 C0 a⁄b a⁄b 
C 0
=  ------*- ( 1 – f I )T Rate ×
I a⁄b V a⁄b
Fa ⁄ b f I T Rate + --------
 * 
 C I0 C 0
V 
(642)
 a ⁄ b Ea ⁄ b 
  [ C Tmax ] a ⁄ b – C  [ C + ] a ⁄ b  ---
nz Rate
 Ai A  n-i a ⁄ b – CA [ CA ] ------------
ss
-
 A a⁄b 
 i T Rate 

To use the total unpaired interstitial concentration, instead of the neutral one, use the command:
pdbSet <interface material> <dopant> UseUnpairedTotalInt { 1|0 }
C X0 a ⁄ b CX a ⁄ b
In this case, -------
*
- in Eq. 642 will be replaced with -----*- .
C X0 CX
If the surface recombination model is set to PairSegregation for the React or
ChargedReact diffusion model, the segregation fluxes are given by:

 n z 
[ C AI ] a ⁄ b  ----
f I T Rate   Tmax a ⁄ b 
a⁄b  a⁄b
 n i a ⁄ b ss a ⁄ b E Rate a ⁄ b
Fa ⁄ b = -  [ CA
-------------------
* a ⁄ b
] –  CAi -------------------------------------------
-– z– C A [ C A ] ------------
a⁄b
- [ C 0]

×
  kAIa ⁄ zb kIaz ⁄ b  n----i T Rate I
[C 0] n
i 
I
 b 
z
(643)
 n z 
[ C AV ] a ⁄ b  ----
( 1 – f I )T Rate   Tmax a ⁄ b 
a⁄b  n i a⁄b
 a⁄b ss a ⁄ b E Rate a ⁄ b
------------------------------
* a ⁄ b 
 [ C A ] –  Ai
C  -------------------------------------------
a ⁄ b k a ⁄ b  ---
- –
n  –z A A
C [ C ] ------------
a⁄b
T Rate V
- [ C 0 ] 
[C 0]
V


i  k AV z Vz

-
ni b 

z

where f I is the interstitial fraction of dopant trapping in equilibrium and can be set using the
command:
pdbSet <interface material> <dopant> [Link] {<n>}

Sentaurus Process User Guide 355


H-2013.03
4: Diffusion
Boundary Conditions

To use the total unpaired interstitial and vacancy concentration, f I in Eq. 643 will be scaled
with:
–c
 kX  n----i
n
c

c
-----------------------------
- (644)
 X
s
k c

All other parameters have the usual meaning as explained above.

If the individual trap density is switched off,  [ C A ] –  C Ai will be replaced with
Tmax a ⁄ b
max a ⁄ b  
( [ CA ] – CA ) . i

C AI and C AV are the concentrations of dopant-defect pairs. C A is the concentration of the total
unpaired dopant. If the surface recombination model is set to PairSegregation for the
Constant, Fermi, or ChargedFermi diffusion model, the Default model will be used.

Trap
The Trap boundary condition is used to trap species at the interface. This boundary condition
is a combination of the Segregation model (see Segregation on page 348) and the
ThreePhaseSegregation model (see ThreePhaseSegregation on page 352).

The model is used mainly to trap nitrogen and fluorine during oxidation to reduce the oxidation
rate (see Trap-dependent Oxidation on page 614).

TrapGen
The TrapGen boundary condition defines not only dopant trapping, but also dopant generation
depending on the reaction velocity at a boundary.

Continuous
For all of the same material interfaces (for example, Silicon_Silicon), by default,
continuous flux and solution boundary conditions apply:
C1 ( x → i ) = C2 ( i ← x ) (645)

D 1' ∇C 1 = κ 2 ∇C 2 (646)
n1 n2

356 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Periodic Boundary Condition

where:
■ Indices 1 and 2 indicate the two sides of the interface i .
■ n indicates the component of the dopant gradient normal to the interface.
■ D is the diffusivity, and C is the concentration of the solution variable.

If the boundary condition is not specified using the callback procedures for the solution
variable at the interface, the continuous boundary condition can be set using the command:
pdbSetBoolean <mater> <dopant> Continuous 1

where <mater> is the interface material, and <dopant> is the solution variable name. For
example:
pdbSetBoolean PolySilicon_Silicon Potential Continuous 1

will set the potential solution and its fluxes continuous at the polysilicon–silicon interface if
Potential is solved on both sides of the interface.

Periodic Boundary Condition


The periodic boundary condition can be applied when a device structure has a repetitive
pattern:
pdbSet Diffuse <Left | Right | Front | Back> Periodic <0 | 1>

The Front and Back definitions apply to 3D structures only.

Boundary Conditions at Moving Interfaces

Enhanced and Retarded Diffusion


During the growth of materials (for example, oxide and silicide), the reaction speed is
calculated at the moving interfaces. The data field is called ReactionSpeed. The reaction
speed can be used to simulate the enhanced dopant diffusion (for example, oxidation-enhanced
diffusion (OED)) or the retarded dopant diffusion (for example, oxidation-retarded diffusion
(ORD)) by allowing for the injection of interstitials and vacancies.

In Eq. 614, p. 345, the injection rate is given as a function of the reaction speed
( V ox = ReactionSpeed) and is used to simulate OED effects.

Sentaurus Process User Guide 357


H-2013.03
4: Diffusion
Common Dopant and Defect Dataset Names

Conserving Dose
The mesh of the simulated structure is modified during the growth of materials with each
diffusion step. Some elements of the mesh will become bigger and some will shrink during this
process. The change in the element size from one diffusion step to another will artificially
change the dopant doses in the structure.

This artificial effect has two components. One is due to the change of element sizes and the
other is due to the material consumption at the moving boundaries. The first effect is accounted
for internally by applying an up-wind term to the solution equations. The second effect is
accounted for using the Alagator scripting language. If the total dopant concentration on one
side of the interface is different from the other side, the total concentration of the consumed
material is used.

For example, if you assume that there are no dopant clusters and the React diffusion model
for boron is selected on the silicon side and the Constant diffusion model is selected on the
oxide side of an oxide–silicon interface, the total boron concentration would be
Boron+BoronInt+BoronVac on the silicon side and Boron on the oxide side. Since the
consumed material is silicon during the oxidation, the dopant consumption due to growth is
passed using the command:
pdbSetString Oxide_Silicon Boron Consumed_Silicon \
"Boron_Silicon+BoronInt_Silicon+BoronVac_Silicon"

This is performed automatically. If the React diffusion model for boron was also selected on
the oxide side, the total dopant concentration on the oxide side would be
Boron+BoronInt+BoronVac, and the following command would be used:
pdbSetString Oxide_Silicon Boron Consumed_Silicon "Boron_Silicon"

Common Dopant and Defect Dataset Names


Sentaurus Process does not solve the diffusion equations for the total dopant or defect
concentrations, but solves the equations for the total unpaired dopant and defect
concentrations. Sentaurus Process monitors the total dopant and defect concentration through
various terms. Depending on the diffusion models selected, Sentaurus Process will update
these terms. For example, the commands:
pdbSet Silicon Dopant DiffModel React
pdbSet Silicon B ActiveModel None

will set the dopant diffusion model in silicon to React and the active model to None for boron
in silicon. Assuming that there is only boron in the structure, various terms and data fields will

358 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Common Dopant and Defect Dataset Names

be created after the diffusion. The most important ones are Boron, BActive, BTotal,
BoronInt, BoronVac, Int, ITotal, Interstitial, Vac, VacTotal, and Vacancy.
Boron, BoronInt, BoronVac, Int, and Vac are the solution names:

BActive Active boron concentration. (Since the active model is none, it will be equal
to Boron).
Boron Total unpaired boron concentration (for example, no clusters, no boron–
defect pairs).
BoronInt Concentration of boron–interstitial pairs.
BoronVac Concentration of boron–vacancy pairs.
BTotal Boron + BoronInt + BoronVac = Total boron concentration.
Int Total unpaired interstitial concentration.
Interstitial Total interstitial concentration used to initialize Int. (In this example, it will
be Int.)
ITotal Int + BoronInt = Total interstitial concentration.
Vac Total unpaired vacancy concentration.
Vacancy Total vacancy concentration used to initialize Vac. (In this example, it will
be Vac.)
VTotal Vac + BoronVac = Total vacancy concentration.

If the cluster models for both interstitial and boron are switched on, as follows:
pdbSet Si Dopant DiffModel React
pdbSet Si B ActiveModel Transient
pdbSet Si I ClusterModel 1Moment

some of the previous fields will be updated. Two additional solution variables, ICluster and
B4, will be solved. ICluster is the clustered interstitials used with the 1Moment model (see
Defect Cluster Model: 1Moment on page 324), and B4 is the clustered boron used with the
Transient model (see Dopant Active Model: Transient on page 283).

The changed fields will be:

BTotal Boron + 4*B4 + BoronInt + BoronVac = Total boron concentration.


ITotal Int + BoronInt + ICluster = Total interstitial concentration.

Sentaurus Process User Guide 359


H-2013.03
4: Diffusion
Common Dopant and Defect Dataset Names

If the diffusion and cluster models are changed as follows:


pdbSet Si Dopant DiffModel ChargedPair
pdbSet Si B ActiveModel Transient
pdbSet Si I ClusterModel Equilibrium

Sentaurus Process uses the ChargedPair diffusion model (see ChargedPair Diffusion Model
on page 206) and the Transient active model (see Dopant Active Model: Transient on
page 283) for boron, and the Equilibrium cluster model (see Defect Cluster Model:
Equilibrium on page 307) for interstitials.

In this case, Boron, B4, Int, and Vac will be the solution names. BoronInt and BoronVac
will not be solved, but there will be BoronInt and BoronVac terms to calculate boron–
interstitial and boron–vacancy concentrations. In this case, total unpaired Boron also will
include BoronInt and BoronVac since they are not solved. The important fields are:

BActive Boron – BoronInt – BoronVac = Active boron concentration.


Boron Total unpaired boron concentration.
BoronInt Concentration of boron–interstitial pairs calculated using Eq. 165, p. 207.
BoronVac Concentration of boron–vacancy pairs calculated using Eq. 165.
BTotal Boron + 4*B4 = Total boron concentration.
ICluster Equilibrium interstitial concentration calculated using Eq. 464, p. 307.
Int Total unpaired interstitial concentration.
Interstitial Int + 4*ICluster + BoronInt = Total interstitial concentration used
to initialize Int.
ITotal Int + 4*ICluster + BoronInt = Total interstitial concentration.
Vac Total unpaired vacancy concentration.
Vacancy Vac + BoronVac = Total vacancy concentration used to initialize Vac.
VTotal Vac + BoronVac = Total vacancy concentration.

NOTE If the dopant, defect, or cluster fields are modified by other process steps
(for example, implant, deposition, and so on), terms that define active
dopant concentration and total dopant concentration may not be current.
They be updated with the next diffusion step.

360 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Common Dopant and Defect Dataset Names

Table 42 Variable names used in diffusion and reaction solvers


Name Comment Solution (S), Term (T), Data field (F)

Antimony Total unpaired antimony concentration S, F

AntimonyGbc Antimony grain boundary concentration S, F

AntimonyInit Antimony–interstitial pair concentration T or (S, F) (depends on the model)

AntimonyVac Antimony–vacancy pair concentration T or (S, F) (depends on the model)

Arsenic Total unpaired arsenic concentration S, F

ArsenicGbc Arsenic grain boundary concentration S, F

ArsenicInt Arsenic–interstitial pair concentration T or (S, F) (depends on the model)

ArsenicVac Arsenic–vacancy pair concentration T or (S, F) (depends on the model)

As3 Three-arsenic cluster concentration (default size S, F


is three, user-configurable)

As4Vac Four-arsenic and a vacancy cluster concentration S, F

AsActive Arsenic active concentration T

AsTotal Total arsenic concentration T (for example,


Arsenic+4*As4Vac)
B2 Two-boron cluster concentration S, F

B2I Two-boron and interstitial cluster concentration S, F

B2I2 Two-boron and two-interstitial cluster S, F


concentration

B2I3 Two-boron and three-interstitial cluster S, F


concentration

B3 Three-boron cluster concentration S, F

B3I Three-boron and interstitial cluster concentration S, F

B3I2 Three-boron and two-interstitial cluster S, F


concentration

B3I3 Three-boron and three–interstitial cluster S, F


concentration

B3I4 Three-boron and four-interstitial cluster S, F


concentration

B4 Four-boron cluster concentration (default size is S, F


four, user-configurable)

BActive Boron active concentration T

BI2 Boron and two-interstitial cluster concentration S, F

Sentaurus Process User Guide 361


H-2013.03
4: Diffusion
Common Dopant and Defect Dataset Names

Table 42 Variable names used in diffusion and reaction solvers


Name Comment Solution (S), Term (T), Data field (F)

Boron Total unpaired boron concentration S, F

BoronGbc Boron grain boundary concentration S, F

BoronInt Boron–interstitial pair concentration T or (S, F) (depends on the model)

BoronVac Boron–vacancy pair concentration T or (S, F) (depends on the model)

BTotal Total boron concentration T (for example, Boron+2*B2I)

C2 Two-carbon cluster concentration S, F

C2I Two-carbon and interstitial cluster concentration S, F

C311 Concentration of interstitials trapped in {311} S, F


defects

C3I Three-carbon and interstitial cluster S, F


concentration

C3I2 Three-carbon and two-interstitial cluster S, F


concentration

C4I2 Four-carbon and two-interstitial cluster S, F


concentration

C4I3 Four-carbon and three-interstitial cluster S, F


concentration

C5I3 Five-carbon and three-interstitial cluster S, F


concentration

C5I4 Five-carbon and four-interstitial cluster S, F


concentration

C6I5 Six-carbon and five-interstitial cluster S, F


concentration

C6I6 Six-carbon and six-interstitial cluster S, F


concentration

Carbon Total unpaired carbon concentration S, F

CarbonInt Carbon–interstitial pair concentration S, F

CLoop Concentration of interstitials trapped in T or (S, F) (depends on the model)


dislocation loops

CTotal Total carbon concentration T

D311 Density of {311} defects S, F

DLoop Density of dislocation loops T or (S, F) (depends on the model)

EqInt Equilibrium interstitial concentration T

362 Sentaurus Process User Guide


H-2013.03
4: Diffusion
Common Dopant and Defect Dataset Names

Table 42 Variable names used in diffusion and reaction solvers


Name Comment Solution (S), Term (T), Data field (F)

EqVac Equilibrium vacancy concentration T

F3V Three-fluorine and vacancy cluster concentration S, F

Fluorine Total unpaired fluorine concentration S, F

FluorineTotal Total fluorine concentration T

GeB Germanium–boron pair concentration S, F

Germanium Total unpaired germanium concentration S,F

GermaniumTotal Total germanium concentration T

H2O Wet oxidant concentration S, F

I2 Two-interstitial cluster concentration S,F

ICluster Interstitial cluster concentration T or (S, F) (depends on the model)

In3 Three-indium cluster concentration (default size S, F


is three, user-configurable)

InActive Indium active concentration T

Indium Total unpaired indium concentration S, F

IndiumGbc Indium grain boundary concentration S, F

IndiumInt Indium–interstitial pair concentration T or (S, F) (depends on the model)

IndiumVac Indium–vacancy pair concentration T or (S, F) (depends on the model)

Int Total unpaired interstitial concentration S, F

Interstitial Total interstitial concentration excluding cluster F


solutions, used to initialize Int

IntNeutral Neutral interstitial concentration (I0) T

InTotal Total indium concentration T

IntTotal Total interstitial concentration T

O2 Dry oxidant concentration S, F

P3 Three-phosphorus cluster concentration (default S, F


size is three, user-configurable)

PActive Phosphorus active concentration T

Phosphorus Total unpaired phosphorus concentration S, F

PhosphorusGbc Phosphorus grain boundary concentration S, F

PhosphorusInt Phosphorus–interstitial pair concentration T or (S, F) (depends on the model)

Sentaurus Process User Guide 363


H-2013.03
4: Diffusion
References

Table 42 Variable names used in diffusion and reaction solvers


Name Comment Solution (S), Term (T), Data field (F)

PhosphorusVac Phosphorus–vacancy pair concentration T or (S, F) (depends on the model)

Potential Electrostatic potential T or (S, F) (depends on the model)

PTotal Total phosphorus concentration T

Sb3 Three-antimony cluster concentration (default S, F


size is three, user-configurable)

SbActive Antimony active concentration T

SbTotal Total antimony concentration T


(for example,
Antimony+AntimonyVac)
Smic Concentration of submicroscopic interstitial S, F
clusters (default size 4)

SmicS Concentration of smaller submicroscopic S, F


interstitial clusters (default size 2)

V2 Two-vacancy cluster concentration S, F

Vac Total unpaired vacancy concentration S, F

Vacancy Total vacancy concentration excluding cluster F


solutions, used to initialize Vac

VacNeutral Neutral vacancy concentration (V0) T

VacTotal Total vacancy concentration T

References
[1] B. Colombeau and N. E. B. Cowern, “Modelling of the chemical-pump effect and C
clustering,” Semiconductor Science and Technology, vol. 19, no. 12, pp. 1339–1342,
2004.
[2] R. B. Fair and P. N. Pappas, “Diffusion of Ion-Implanted B in High Concentration P-
and As-Doped Silicon,” Journal of the Electrochemical Society, vol. 122, no. 9,
pp. 1241–1244, 1975.
[3] N. E. B. Cowern and D. J. Godfrey, “A Model for Coupled Dopant Diffusion in Silicon,”
in Fundamental Research on the Numerical Modelling of Semiconductor Devices and
Processes: Papers from NUMOS I, the First International Workshop on the Numerical
Modelling of Semiconductors, pp. 59–63, Dublin, Ireland: Boole Press, 1987.
[4] F. Wittel and S. T. Dunham, “Diffusion of phosphorus in arsenic and boron doped
silicon,” Applied Physics Letters, vol. 66, no. 11, pp. 1415–1417, 1995.

364 Sentaurus Process User Guide


H-2013.03
4: Diffusion
References

[5] A. Mittiga, L. Fornarini, and R. Carluccio, “Numerical modeling of laser induced phase
transitions in silicon,” Applied Surface Science, vol. 154–155, pp. 112–117, February
2000.
[6] S. K. Jones and A. Gérodolle, “2D Process Simulation of Dopant Diffusion in
Polysilicon,” COMPEL, vol. 10, no. 4, pp. 401–410, 1991.
[7] A. Gérodolle and S. K. Jones, “Integration in the 2D Multi-layer Simulator TITAN of
an Advanced Model for Dopant Diffusion in Polysilicon,” in Simulation of
Semiconductor Devices and Process (SISDEP), Zurich, Switzerland, vol. 4, pp. 381–
387, September 1991.
[8] S. K. Jones et al., “Complete Bipolar Simulation Using STORM,” in IEDM Technical
Digest, San Francisco, CA, USA, pp. 931–934, December 1992.
[9] A. G. O’Neill et al., “A new model for the diffusion of arsenic in polycrystalline
silicon,” Journal of Applied Physics, vol. 64, no. 1, pp. 167–174, 1988.
[10] M. M. Mandurah et al., “Dopant segregation in polysilicon silicon,” Journal of Applied
Physics, vol. 51, no. 11, pp. 5755–5763, 1980.
[11] J. A. Venables, Introduction to Surface and Thin Film Processes, Cambridge University
Press, 2000.
[12] L. Mei and R. W. Dutton. “A Process Simulation Model for Multilayer Structures
Involving Polycrystalline Silicon,” IEEE Transactions on Electron Devices,
vol. ED-29, no. 11, pp. 1726–1734, 1982.
[13] L. Mei et al., “Grain-Growth Mechanisms in Polysilicon,” Journal of the
Electrochemical Society, vol. 129, no. 8, pp. 1791–1795, 1982.
[14] C. V. Thompson, “Secondary grain growth in thin films of semiconductors: Theoretical
aspects,” Journal of Applied Physics, vol. 58, no. 2, pp. 763–772, 1985.
[15] D. Gupta, D. R. Campbell, and P. S. Ho, “Grain Boundary Diffusion,” in Thin Films–
Interdiffusion and Reactions, New York: John Wiley & Sons, pp. 161–242, 1978.
[16] C. Hill and S. K. Jones, “Modelling Diffusion in and from Polysilicon Layers,” in MRS
Proceedings, Polysilicon Thin Films and Interfaces, San Francisco, CA, USA, no. 182,
pp. 129–140, April 1990.
[17] S. A. Ajuria and R. Reif, “Early stage evolution kinetics of the polysilicon/single-crystal
silicon interfacial oxide upon annealing,” Journal of Applied Physics, vol. 69, no. 2,
pp. 662–667, 1991.
[18] J. D. Williams, Epitaxial Alignment of Polycrystalline Silicon and Its Implications for
Analogue Bipolar Circuits, Ph.D. thesis, University of Southampton, UK, 1992.
[19] F. Benyaïch et al., “Kinetic and structural study of the epitaxial realignment of
polycrystalline Si films,” Journal of Applied Physics, vol. 71, no. 2, pp. 638–647, 1992.
[20] D. Dutartre et al., “Excitonic photoluminescence from Si-capped strained Si1-xGex
layers,” Physical Review B, vol. 44, no. 20, pp. 11525–11527, 1991.

Sentaurus Process User Guide 365


H-2013.03
4: Diffusion
References

[21] R. Braunstein, A. R. Moore, and F. Herman, “Intrinsic Optical Absorption in


Germanium-Silicon Alloys,” Physical Review, vol. 109, no. 3, pp. 695–710, 1958.
[22] A. Pakfar, “Dopant diffusion in SiGe: modeling stress and Ge chemical effects,”
Materials Science and Engineering, vol. B89, pp. 225–228, February 2002.
[23] M. J. Aziz, “Thermodynamics of diffusion under pressure and stress: Relation to point
defect mechanisms,” Applied Physics Letters, vol. 70, no. 21, pp. 2810–2812, 1997.
[24] R. F. Lever, J. M. Bonar, and A. F. W. Willoughby, “Boron diffusion across silicon–
silicon germanium boundaries,” Journal of Applied Physics, vol. 83, no. 4, pp. 1988–
1994, 1998.
[25] G. E. Pikus and G. L. Bir, “Effect of Deformation on the Hole Energy Spectrum of
Germanium and Silicon,” Fizika Tverdogo Tela, vol. 1, no. 11, pp. 1642–1658, 1959.
[26] S. T. Dunham and C. D. Wu, “Atomistic models of vacancy-mediated diffusion in
silicon,” Journal of Applied Physics, vol. 78, no. 4, pp. 2362–2366, 1995.
[27] S. Chakravarthi et al., “Modeling the Effect of Source/Drain Sidewall Spacer Process on
Boron Ultra Shallow Junctions,” in International Conference on Simulation of
Semiconductor Processes and Devices (SISPAD), Boston, MA, USA, pp. 159–162,
September 2003.
[28] P. Fastenko, Modeling and Simulation of Arsenic Activation and Diffusion in Silicon,
Ph.D. thesis, University of Washington, Seattle, WA, USA, 2002.
[29] S. Chakravarthi et al., “Modeling of Diffusion and Activation of Low Energy Arsenic
Implants in Silicon,” in MRS Spring Meeting Proceedings, Symposium C, vol. 717, San
Francisco, CA, USA, pp. C3.7.1–C3.7.6, April 2002.
[30] M. Diebel et al., “Investigation and Modeling of Fluorine Co-Implantation Effects on
Dopant Redistribution,” in MRS 2003 Spring Meeting Proceedings, Symposium D,
vol. 765, San Francisco, CA, USA, p. D6.15, April 2003.
[31] E. M. Bazizi et al., “Modelling of Boron Trapping at End-of-Range defects in pre-
amorphized ultra-shallow junctions,” Materials Science and Engineering B, vol. 154–
155, pp. 275–278, December 2008.
[32] N. Zographos, C. Zechner, and I. Avci, “Efficient TCAD Model for the Evolution of
Interstitial Clusters, {311} Defects, and Dislocation Loops in Silicon,” in MRS
Symposium Proceedings, Semiconductor Defect Engineering—Materials, Synthetic
Structures and Devices II, vol. 994, San Francisco, CA, USA, p. 0994–F10–01, April
2007.
[33] M. E. Law and K. S. Jones, “A New Model for {311} Defects Based on In-Situ
Measurements,” in IEDM Technical Digest, San Francisco, CA, USA, pp. 511–514,
December 2000.
[34] I. Avci et al., “Modeling extended defect ({311} and dislocation) nucleation and
evolution in silicon,” Journal of Applied Physics, vol. 95, no. 5, pp. 2452–2460, 2004.

366 Sentaurus Process User Guide


H-2013.03
4: Diffusion
References

[35] R. Y. S. Huang and R. W. Dutton, “Experimental investigation and modeling of the role
of extended defects during thermal oxidation,” Journal of Applied Physics, vol. 74,
no. 9, pp. 5821–5827, 1993.
[36] C. J. Ortiz et al., “Modeling of extrinsic extended defect evolution in ion-implanted
silicon upon thermal annealing,” Materials Science and Engineering B, vol. 114–115,
pp. 184–192, December 2004.
[37] C. J. Ortiz et al., “A physically based model for the spatial and temporal evolution of
self-interstitial agglomerates in ion-implanted silicon,” Journal of Applied Physics,
vol. 96, no. 9, pp. 4866–4877, 2004.
[38] E. Lampin et al., “Prediction of boron transient enhanced diffusion through the atom-by-
atom modeling of extended defects,” Journal of Applied Physics, vol. 94, no. 12,
pp. 7520–7525, 2003.
[39] E. Lampin et al., “Combined master and Fokker–Planck equations for the modeling of
the kinetics of extended defects in Si,” Solid-State Electronics, vol. 49, no. 7, pp. 1168–
1171, 2005.
[40] F. Lau et al., “A Model for Phosphorus Segregation at the Silicon–Silicon Dioxide
Interface,” Applied Physics A, vol. 49, pp. 671–675, 1989.
[41] Y.-S. Oh and D. E. Ward “A Calibrated Model for Trapping of Implanted Dopants at
Material Interface During Thermal Annealing,” in IEDM Technical Digest, San
Francisco, CA, USA, pp. 509–512, December 1998.

Sentaurus Process User Guide 367


H-2013.03
4: Diffusion
References

368 Sentaurus Process User Guide


H-2013.03
CHAPTER 5 Atomistic Kinetic Monte Carlo
Diffusion

This chapter describes an alternative, atomistic simulation approach


to the diffusion and activation processes in Sentaurus Process. It
also provides alternatives for faceted solid phase epitaxial regrowth
and epitaxial deposition. For a continuum approach, see Chapter 4.

All diffusion models previously described are based on the conventional (continuum)
simulation approach. The atomistic approach described in this chapter is based partially on the
kinetic Monte Carlo (KMC) diffusion simulator DADOS [1][2][3], and is available with the
optional Sentaurus Process Kinetic Monte Carlo license.

Overview
The continuum approach to modeling dopant diffusion in process simulation tools is used to
solve a system of partial differential equations (PDEs) that describe transport of the dopants
and conservation of the dose. This approach has proven to be useful in designing
semiconductor devices in the past, but several trends in the manufacturing process of sub-100-
nm devices may make it difficult to maintain a high predictability in future devices.

The shrinking thermal budget significantly reduces diffusion and, therefore, reduces the need
to accurately model diffusion. On the other hand, dopant activation phenomena, including the
formation of a variety of dopant-defect pairs and extended defects of different configurations,
often do not reach thermodynamic equilibrium and necessitate transient rather than
equilibrium simulation. In the continuum diffusion model, this requires the use of one equation
per each dopant-defect configuration, which leads to a large number of equations to be solved.

The trend of reducing device sizes results in a small number of impurity atoms (as small as tens
or hundreds) that determine the threshold voltage of a transistor. It is likely that a limit soon
will be reached where small discretized distribution can no longer be accurately modeled with
a continuum description.

A Monte Carlo (MC)–based diffusion simulation provides a valuable alternative to the


continuum approach. Computational resources required for the MC diffusion simulation are
decreasing with device dimension because they are proportional to the number of dopants and
defects in the device. On the other hand, resources for continuum simulations increase as
modeling of ever more complex nonequilibrium phenomena are required. This trend has

Sentaurus Process User Guide 369


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
KMC Method

already gone a long way towards making the KMC diffusion method competitive with the most
detailed continuum diffusion methods today in terms of the required computational resources.

Unlike the continuum approach, the large number of different dopant-defect configurations
does not present a problem for the MC approach, which simply needs to introduce the
probabilities for the additional reactions. These probabilities are calculated based on the
binding energies that can be plugged in directly from experiments, molecular dynamics, or ab
initio calculations.

Besides, atomistic implantation and diffusion models provide a natural way of determining
statistical variations for a specific process flow/device geometry combination.

KMC Method
Sentaurus Process Kinetic Monte Carlo (Sentaurus Process KMC) considers only defects and
impurities, and ignores the lattice, (except for some SPER and epitaxial deposition models).
This drastically reduces memory requirements compared to molecular dynamics or lattice
KMC techniques and allows you to investigate simulation domains that are large enough to
contain deep-submicron devices. As Sentaurus Process KMC tracks the diffusion and
interaction of defects, the fastest process is the jumping of a point defect with a period of
–9
approximately 10 s. When there are no mobile point defects in the structure, the time step is
increased automatically to an emission of mobile particles from the surface or from an
–3
extended defect, which has a period of approximately 10 s.

Therefore, typically, Sentaurus Process KMC would begin with time steps of approximately
–9
10 s. As the point defects are trapped by the clusters and extended defects, Sentaurus
–3
Process KMC switches automatically to the larger time steps of the order of 10 s that are
large enough to model typical process steps.

Operating Modes
Sentaurus Process KMC can operate in two different modes:
■ The atomistic mode handles data atomistically throughout the simulation and is expected
to be the most accurate method.
■ The nonatomistic mode allows Sentaurus Process KMC to be used for only part of a
simulation. Sentaurus Process KMC transfers data back and forth to the continuum solver
to allow you to take advantage of the efficiency of the continuum solver for steps closer to
equilibrium and to allow Sentaurus Process KMC to handle one or more steps that are far
from equilibrium (such as fast RTA/flash annealing) to take advantage of its accuracy.

370 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Operating Modes

Atomistic Mode
When Sentaurus Process KMC is in atomistic mode, the data fields are handled completely
atomistically. To select the atomistic mode at the very beginning of the simulation, use:
SetAtomistic

The SetAtomistic command sets the parameter AtomisticData to true, allowing the
Sentaurus Process commands diffuse, deposit, etch, implant, init, line, photo,
profile, region, select, strip, and struct to work in the atomistic mode when
possible, and to properly synchronize Sentaurus Process KMC when the structure changes.
SetAtomistic also sets the diffuse method as Sentaurus Process KMC, and the implant
mode as MC implantation. Finally, it calls PDE2KMC to atomize the available continuum fields
into atomistic ones. The atomistic mode can be finished using:
UnsetAtomistic

The UnsetAtomistic command calls the procedure KMC2PDE to translate the atomistic
quantities to fields and finishes the atomistic mode.

When AtomisticData is true, Sentaurus Process KMC does not populate continuum data
fields with its own results, unless instructed to do so (using kmc deatomize).

Restrictions

The following restrictions apply when using the atomistic mode:


■ Do not use the command transform stretch.
■ The load command only accepts the options tdr and replace.

The other commands work as expected, although the ones listed in Table 43 have been
especially adapted to operate in this mode.

Table 43 Commands adapted to work in atomistic mode


Command Extension

deposit Synchronizes the Sentaurus Process KMC structure after deposition.

diffuse If the parameter kmc is specified or Diffuse KMC is set to 1 in the parameter database,
diffuse calls Sentaurus Process KMC. If AtomisticData is not set to 1, a new
KMC object is created, and it will be removed at the end of the diffusion step. Oxidation,
nitridation, epitaxial deposition, and so on are accepted.

etch Synchronizes the Sentaurus Process KMC structure removing the etched material, its
contained particles, and setting the material to gas.

Sentaurus Process User Guide 371


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Operating Modes

Table 43 Commands adapted to work in atomistic mode


Command Extension

implant Works in MC mode and sends the cascades directly to Sentaurus Process KMC. Dynamic
annealing also is simulated during the implant using Sentaurus Process KMC.

init If a background concentration is specified, it is atomized and passed as particles to Sentaurus


Process KMC.

line Adds a new line to the Sentaurus Process KMC internal mesh, when possible.

load Loads a Sentaurus Process KMC distribution from a TDR file and replaces the current one.

math Accepts numThreadsKMC.

photo Creates photoresist mask and synchronizes the new Sentaurus Process KMC structure.

profile Loads and atomizes a profile.

region When region changes the material, Sentaurus Process KMC is synchronized.

select (Only when select creates a new field or modifies an existing one). If this field is known
by Sentaurus Process KMC, the Sentaurus Process KMC concentration of particles is
synchronized with the value of the field, removing or creating extra particles.

strip Sentaurus Process KMC is synchronized with the new material. If there are particles in the
stripped materials, they are removed.

struct Automatically deatomizes some Sentaurus Process KMC data fields to make them accessible
when saving to a file. It also saves Sentaurus Process KMC restart information.

transform The Sentaurus Process KMC structure is updated after the transformation. Particles are
removed or modified depending on the particular materials being created or removed. The
option stretch is not allowed.

Implant

Sentaurus Process KMC requires the damage morphology (coordinates of each point defect)
for its damage accumulation model; this information is not available in analytic implantations.
In atomistic mode, implant automatically uses the Sentaurus MC model as well as the
cascades option for storing full cascades. The implantation time also is needed because while
implanting, Sentaurus Process KMC automatically performs diffusion at the specified
temperature (default is ambient). Typically, the temperature and time during the implantation
affect only slightly the distribution of dopants, but they may affect damage accumulation,
amorphization, and subsequent recrystallization and impurity cluster formation. The
implantation time is returned by the function DoseRate defined in the file [Link].
12
This time is computed by default using a fixed dose rate equal to 1 ×10 /cm2s. If a dose rate
is specified in an implant command by the [Link] argument, it is used to compute the
implantation time for this particular implantation instead.

372 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Operating Modes

For each implant dose and surface size, the number of implanted ions is computed. For
14 –2 2
example, 1 × 10 cm boron dose in a simulation cell with a surface of 40 × 40 nm and
–7 –7 14
250-nm depth implants 40 × 10 × 40 × 10 × 10 = 1600 boron cascades (being a cascade
one ion and all its generated damage). The information is passed to Sentaurus Process KMC
for annealing. These diffusion steps occur internally and are not user-specified, but the total
“diffused” time can be controlled by the function DoseRate explained above. Afterwards, the
implant report issued by Sentaurus Process KMC names the backscattered particles as outside
particles.

Molecular implants are allowed. To perform a molecular implant, specify the name of the
molecule as the implant species (see Implant on page 372). The components of implanted
molecules are introduced as isolated species in Sentaurus Process KMC; in other words, an
implanted BF2 molecule will split into 2F and 1B inside Sentaurus Process KMC.

Diffuse
For the first diffuse after the implant, the use of a small temperature ramp-up is recommended.
The time for this ramp-up should be chosen as realistically as possible. At the end of an
implant, the simulation cell contains the implanted ions plus a large amount of damage (point
defects). During the ramp-up, this damage recombines and forms different types of clusters.
The use of a realistic ramp-up produces more accurate results.

You can set the pdb parameters automaticRampUp and automaticRampDown to true to
automatically perform ramps whenever the requested diffuse temperature is different from the
current one. These ramps are performed with a ramp rate specified by rampUpRate and
rampDownRate in C/s:
sprocess> pdbGet KMC rampUpRate
100
sprocess> pdbGet KMC automaticRampUp
0

Sentaurus Process KMC performs different annealings at different temperatures during the
ramp-up. The objective is to perform few large annealings at low temperature and short ones
at high temperatures. This maintains a high accuracy without spending too much time at low
temperatures (changes in the temperature have a performance penalty).

The way these ramp-ups are performed can be configured using the following parameters of
the parameter database:
sprocess> pdbGet KMC dTBase
2.0
sprocess> pdbGet KMC nInit
1
sprocess> pdbGet KMC dTLimit
20.0

Sentaurus Process User Guide 373


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Operating Modes

The temperature steps for the highest temperature (the end of the ramp-up or the beginning of
the ramp-down) are computed as:

( ΔT base ) n init + n (647)

where ΔT base is dTBase and n init is nInit.

For example, using the above parameters, in a ramp-down from 600°C to 500°C , the first
1+0
annealing is performed at 600°C – 2 = 598°C , the second one is performed at
1+1
598°C – 2 = 594°C , and so on. When ( ΔT base ) ninit + n is greater than dTLimit, the value
dTLimit is taken.

NOTE The above parameters are used only for temperature ramps induced by
automaticRampUp or automaticRampDown. For temperature ramps
specified with the command temp_ramp, the parameters to control the
ramp are specified in the commands temp_ramp or diffuse.

Oxidation options are allowed in Sentaurus Process KMC. For more information, see
Oxidation-enhanced Diffusion (OED) Model on page 500 and Oxidation on page 506.

Nonatomistic Mode
Sentaurus Process KMC also can be used only for one diffusion step, synchronizing the status
of the simulation before and after the diffuse step. This is performed with the kmc parameter
in the diffuse command as follows:
diffuse kmc temperature=<n> time=<n>

When Sentaurus Process KMC runs with AtomisticData set to false, a new Sentaurus
Process KMC simulation is launched at the beginning of the diffuse command:
■ First, it receives the information (atomized from the data fields).
■ Second, the diffusion is completed and, at the end of this command, Sentaurus
Process KMC transfers the information to Sentaurus Process as data fields.
■ Third, the Sentaurus Process KMC information is removed from memory.

This is similar to the following commands:


SetAtomistic
diffuse temperature=<n> time=<n>
UnsetAtomistic

374 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Operating Modes

Atomistic/Nonatomistic Translation
These transformations of information back and forth from concentrations to particles are
performed by the Tcl procedures PDE2KMC and KMC2PDE. These transformations may degrade
the accuracy of the obtained results. By default, the transformation to continuum data is
mapped to the ChargedReact (five-stream) model.

If you need to add a customize transformation, you can rewrite the procedures PDE2KMCUser
and KMC2PDEUser with your own map. PDE2KMCUser (KMC2PDEUser) returns a string
mapping the array of transformation from continuum to atomistic (atomistic to continuum).
KMC2PDEUser cannot modify already existing fields, but it adds new ones. These maps contain
three columns: the name of the original field, the name of the translated field, and the factor to
be applied during the translation. For example, the following will transfer a new helium field
into Sentaurus Process KMC:
fproc PDE2KMCUser {} {
return "Helium He 1 \
HeInt Hei 1 \
HeVac HeV 1"
}

PDE2KMC uses the PDB parameter KMC Si Damage TrimField to trim the PDE fields
exceeding this maximum value. This is useful to trim the concentration of Is and Vs in
amorphized regions to more realistic values, avoiding the wasteful creation of excessive point
defects. A value being at least 20% higher than the Sentaurus Process KMC amorphization
threshold is suggested to properly amorphize the material.

For further customization, you can overload the Tcl procedures with your own. For more
information on how to create and manipulate continuum and atomistic data, see select on
page 1053 and kmc on page 954.

NOTE KMC2PDE and PDE2KMC may consume CPU time in large simulations.
To improve efficiency, KMC2PDE keeps track of a previous translation
and does not perform a new one if the previous one is still valid.

Sano Method

The Sano method for converting particles to continuum profiles can be performed inside
Sentaurus Process. The conversion is performed using the same module as the one available in
Sentaurus Mesh.

For more details about this method, see Mesh Generation Tools User Guide, Defining Particle
Profiles on page 35 and Mesh Generation Tools User Guide, Appendix B on page 179.

Sentaurus Process User Guide 375


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Operating Modes

To apply the Sano method to all dopants and the computed quantity NetActive, select the
sano option of the UnsetAtomistic command. However, to take full advantage of having
the Sano method inside Sentaurus Process, do the following:
1. Generate a mesh tailored for device simulation, including the use of adaptive refinement
based on NetActive.
2. Add contacts using the contact command.
3. Use the smesh option of the struct command that will, by default, create a mesh with
contacts present and will store only those fields appropriate for device simulation.

As an example:
# Place mesh settings before UnsetAtomistic command in 3D, because
# a new mesh will be created during UnsetAtomistic using the
# current refinement settings
pdbSet Grid Adaptive 1
refinebox adaptive [Link]= { BActive AsActive NetActive } \
[Link]= { BActive = 1.1 AsActive = 1.1 NetActive = 1e30 } \
[Link]= { NetActive = 5 } \
[Link] = 1e5 [Link] = 0.5<nm> UnsetAtomistic sano
contact name = c1 box xlo = 0.0 ylo = 0.0025 xhi = 0.04 yhi = 0.0125 \
silicon [Link]=oxide
contact name = c2 box xlo = 0.025 ylo = -0.01 xhi = 0.075 yhi = 0.01 \
silicon
struct smesh= n10

The following parameter is available to control the accuracy of the Sano smoothing
computation:
pdbSet KMC SanoMethod <species> ScreeningFactor <n>

The screening factor sets the inverse of the screening length of the Sano method. The smaller
the screening factor, the smoother the profile and the longer the computation time.

For more options of the UnsetAtomistic command, see UnsetAtomistic on page 1110. In
addition, smoothing and remeshing based on Sano fields can be called directly using the grid
command (see grid on page 906).

376 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Simulation Domain

Simulation Domain
All Sentaurus Process KMC simulations are performed internally in a 3D domain. If the
Sentaurus Process structure is 1D or 2D, the missing lateral dimensions are created
automatically to form a 3D simulation domain for Sentaurus Process KMC. For a 2D structure,
the extension in the z-direction is taken from MinZum and MaxZum. For a 1D structure, the
default extension is MinYum to MaxYum and MinZum to MaxZum.

To change the default values, use:


pdbSet KMC MinYum <n>
pdbSet KMC MaxYum <n>

The Sentaurus Process KMC simulation domain is the same as the Sentaurus Process
simulation domain, including the top of the simulation, and it cannot be changed. For Y and Z,
the values MinYum, MinZum and MaxYum, MaxZum are used only when they are not set up in
the input file (because the dimensionality of the simulation is smaller).

Consequently, the Sentaurus Process KMC dimensions fit Sentaurus Process dimensions. The
size of the Sentaurus Process KMC simulation domain is reported in the output, for example:
KMC domain (-0.1, 0, 0) to (0.02, 0.02, 0.025) um Sentaurus domain (-0.1, 0, 0)
to (0.02, 0.02, 0) um.

Recommended Domain Size


For 3D simulations of deep-submicron transistors with twofold symmetry, you should make
the simulation domain size one-quarter of the transistor. The Sentaurus Process KMC domain
is automatically the same.

For a 1D simulation (that can be compared to SIMS data), Sentaurus Process KMC uses as
small as possible lateral domain sizes to save CPU time. However, simulation domains with
lateral sizes smaller than 20 nm may be too small to represent extended defects. If you are
interested in a 1D profile with less statistical noise, you should increase the lateral size.

NOTE The minimum recommended size for accurate implant cascades and
damage accumulation is 40 nm x 40 nm.

The lateral domain area is multiplied by the implant dose to obtain the number of ions
implanted. For high impurity concentration levels, you may obtain enough particles in a
15 –2
relatively small simulation domain. For example, the implant dose of 10 cm creates 16000
ions for the 40-nm x 40-nm lateral domain side. This might be sufficient to obtain low

Sentaurus Process User Guide 377


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Internal Grid

statistical noise, while any further increase in the 40-nm x 40-nm lateral domain size only slows
the simulation.

To obtain good statistics for lower concentrations or lower doses, you must increase the lateral
12 –2
size of the simulation domain. For example, an implant dose of 10 cm creates only 16 ions
for the 40-nm x 40-nm lateral domain.

One way to reduce the statistical noise without increasing the waiting time is to use the KMC
parallel features available for 1D and 2D simulations. For more information, see Parallelism on
page 381.

NOTE When using Sentaurus Process KMC, try to use the smallest (but
realistic) domain possible. If the simulation is too noisy or not
representative, increase the lateral size. CPU time typically is
2
proportional to the surface area. If a simulation with a 20 × 20 nm
2
surface takes 5 minutes to finish, you can expect a 40 × 40 nm
simulation to take four times longer.

Internal Grid
Sentaurus Process KMC uses an internal grid to:
■ Store the geometry and material assignments of the structure being simulated.
■ Accelerate the search for possible interaction partners for each defect in the simulation.
■ Compute the electronic properties.
■ Be the minimum volume of amorphized silicon.
■ Be the base to compute the concentrations written in the TDR file (using the kmc extract
tdrWrite command).

The Sentaurus Process KMC grid is a tensor-product grid. This grid is different and isolated
from the regular Sentaurus Process grid. The minimum size for each rectangular grid box is set
3
to 0.8 × 0.8 × 0.8 nm and a minimum value than 0.8 nm in any axes will not be accepted.
There is no maximum size. The grid is built using Sentaurus Mesh and can be adjusted using
the following pdb parameters (default values in parenthesis):

XGrading Grading in the x-direction. (1.05)


YMinCell Minimum cell size in y-direction [ μm ]. (1.5 nm)
YMaxCell Maximum cell size in y-direction [ μm ]. (2.5 nm)
ZMinCell Minimum cell size in z-direction [ μm ]. (1.5 nm)

378 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Internal Grid

ZMaxCell Maximum cell size in z-direction [ μm ]. (2.5 nm)


Always3DMeshing Use Sentaurus Mesh to extrude 2D into 3D. By default, it uses an internal
algorithm. (false)
NonUniformTensor Use a nonuniform tensor grid (true) or use the old uniform tensor method
(false) and the obsolete parameters BitsBoxes and MinXum. Setting it
to false is strongly discouraged.

There are no XMinCell and XMaxCell for x. The maximum size for X is fixed to 100 nm, but
is further controlled with refinements, as explained below. The final mesh is similar to the one
obtained by Sentaurus Mesh using the following script:
tensor {
mesh {
mincellsize = 8e-4
maxcellsize direction "x" 1e-1
maxcellsize direction "y" $YMaxCell
mincellsize direction "y" $YMinCell
maxcellsize direction "z" $ZMaxCell
mincellsize direction "z" $ZMinCell
minbndcellsize = 8e-4
maxbndcellsize = 1e-3
grading = {$XGrading $XGrading}
}
}

where $Name means the value of the parameter. The default parameters are set to try to
minimize the Manhattan geometry at the interfaces, while maximizing the performance of the
simulation. All of these parameters can be set using pdbSet KMC, for example:
pdbSet KMC ZMaxCell 3e-3

Further customization can be added in the form of refinements. To refine the KMC internal
grid, the command refineBox, with the parameter kmc, is used. By default, Sentaurus
Process KMC applies one refinement when using SetAtomistic. This refinement is defined
as:
refinebox kmc min = { 0 0 } max = { 0.1 2 } xrefine = { 0.0012 0.0015 0.0015 }

This default refinement can be changed overwriting the procedure kmcDefaultRefinement


with a user-defined refinement. For example, to remove the default refinement only:
fproc kmcDefaultRefinement { } {
LogFile "Removing the default refinement (by not defining it)..."
}

Sentaurus Process User Guide 379


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Randomization

Finally, the lines and spacing specified with the line command also will be included in the
simulation if possible.

For more information on the internal grid and how it affects the simulation, see Materials and
Space on page 386.

Randomization
You can investigate statistical variations of a process flow by selecting a different seed for the
random number generator used by Sentaurus Process KMC in each run. You can specify the
value of the seed changing the parameter randomSeed in the parameter database:
pdbSet KMC randomSeed <n>

The seed can be set to any value from 0 to 31328.

Boundary Conditions
By default Sentaurus Process KMC uses periodic boundary conditions at the left, right, front,
and back sides of the simulation domain. To change these conditions, use the parameters KMC
PeriodicBC_Y and KMC PeriodicBC_Z.

There also is an option to use only periodic boundary conditions for extended defects like
{311}s and dislocation loops. To define this option, set DebugFlag to 4 in the PDB. This
option applies periodic boundary conditions only to the extended defects and still uses
reflective boundary conditions for everything else. You can use this option to reduce the lateral
simulation domain for investigating 1D simulations. Even when the lateral simulation domain
is comparable or smaller than the typical length of the extended defect, the periodic boundary
conditions allow you to obtain meaningful results.

NOTE This option should not be used for 3D simulations if there are lateral
variations in geometry or profiles.

When Sentaurus Process KMC detects an improper choice of the periodic boundary
conditions, it changes the periodic conditions:
** Warning **
KMC. The material structure is not the same in the plane y=0 and y=ymax.
Periodic boundary conditions for defects have been disabled!

The boundary conditions for the x-axis are mirror. You can transform them into a sink using
the parameter sinkProbBottom. This parameter is defined for any material. For example, to

380 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Parallelism

specify that 20% of the incoming positive interstitials should be sunk when reaching the
maximum coordinate in silicon, use:
pdbSet KMC Silicon I sinkProbBottom IP 0.2

It is also possible to define sink boundary conditions for the y- and z-axis, independently of the
general mirror or periodic conditions described below. Similarly to the sinks defined in the x-
axis, a probability for particles crossing the boundary to be annihilated will be defined. This
probability is applied before the general boundary conditions. For example, if a 50% sink is
defined for interstitials at the left boundary, 50% of them surviving the sink will be either
mirrored or moved to the opposite side to simulate periodicity.

The parameter names for the y-axis are sinkProbLeft and sinkProbRight and, for the z-
axis, they are sinkProbFront and sinkProbBack.

Parallelism
You can use several CPUs during a Sentaurus Process KMC simulation. This feature is
configured with the math command:
math numThreadsKMC=<n>

where <n> is the number of threads to launch. When also using MC implantation, the number
of threads used by Sentaurus Process KMC overwrites the number of threads used by MC
implantation.

The KMC to PDE "smooth" algorithm (see Smoothing Out Deatomized Concentrations on
page 525) also can work in parallel:
math numThreadsDeatomize=<n>

Sentaurus Process KMC uses the sparallel licenses in the same way as Sentaurus Process
does. In particular, if no licenses are available, the code will continue in serial or abort
depending on the [Link] or [Link] options specified by the user.

How Parallelism Works


Sentaurus Process KMC works in parallel by assuming that there is no space anisotropy in the
z-direction. This assumption is trivially true for 1D and 2D simulations, and generally false for
3D simulations. Consequently, parallelism is only allowed in simulations that have a 1D or 2D
domain in Sentaurus Process (even when internally all atomistic simulations are 3D).

Sentaurus Process User Guide 381


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Estimating CPU Time

The main simulation domain is divided into <n> subdomains; n is the number of threads to be
used. Each subdomain is then run as an independent simulation. Then, the boundary conditions
selected for the Z boundary are applied to the new Zi boundaries. At the end of the simulation
(implantation or diffusion), the main domain is recreated as the simple addition of all the
subdomains. All these “splits” and “forks” of the simulation domains are performed
automatically and are transparent to users.

When using parallelization, one big parallel simulation domain is run as several smaller
domains. At the end of the simulation, the third dimension will be collapsed and averaged to
produce a 2D result (third and second dimensions for 1D results). In any case, the subdomains
must be large enough to allow an accurate representation of the physics involved in the
simulation. In particular, since a minimum surface of 40 nm by 40 nm is recommended, the
minimum suggested size for parallel simulations is 40 nm in the y-axis and n × 40 nm in the
z-axis, where n is the number of threads.

When instructing Sentaurus Process KMC to work in parallel with <n> threads, the domain is
divided into <n> subdomains in the z-direction, and each one is processed by a different CPU.
Later, the subdomains are appended together. These manipulations are transparent to users.
Z

CPU #2
#3
PU
C
#2
#1
PU
C

Figure 39 When Sentaurus Process KMC works in parallel with <n> threads, the domain is
divided into <n> subdomains in the z-direction, and each one is processed by a
different CPU. Later, the subdomains are appended together. Here, <n> = 3.

Estimating CPU Time


CPU time and memory required for KMC diffusion simulation are directly proportional to the
number of particles in the structure. For a typical 2-GHz machine, Sentaurus Process KMC
performs up to 1 million events (jumps) per second. In some 64-bit platforms, the number can
reach 2 million events per second.

382 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Atomistic Diffusion Simulation with Sentaurus Process KMC

In equilibrium conditions without implant damage, concentrations of mobile species are low
and events are rare. Therefore, the simulation requires few events to reach the required
diffusion time and proceeds quickly.

For transient-enhanced diffusion after an implant step, it takes some time to anneal the implant
3
damage. Depending on the implant conditions, each implanted ion generates up to 10
5
interstitials and vacancies. Each interstitial and vacancy makes up to 10 jumps before
recombining at the surface. This means that it takes approximately 1 second of CPU time to
anneal one implanted ion.

NOTE The above numbers are only estimations. The CPU speed differs
depending on the machine, operative system, and other factors.

Clustering and emission processes take longer internally than diffusion (hops) processes in
Sentaurus Process KMC, and similar numbers of simulated clustering or declustering
processes may lead to a larger wall clock time.

NOTE The use of parallelization also changes the time estimation (see
Parallelism on page 381).

NOTE The use of different hopping modes (KMC HoppingMode) also changes
the time needed to run the simulation, with doublelong being the
fastest mode (see Hopping Mode on page 411).

Atomistic Diffusion Simulation with Sentaurus


Process KMC
The nonlattice KMC method tracks only atoms in defects, while lattice silicon atoms are not
included as shown in Figure 40.
I

311

Figure 40 The nonlattice KMC method tracks only atoms in defects; lattice silicon atoms are
not included

Sentaurus Process User Guide 383


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Atomistic Diffusion Simulation with Sentaurus Process KMC

In molecular dynamics, all lattice atoms and all defect atoms must be simulated, but in the
nonlattice KMC method, only defect atoms are considered. Lattice atoms vibrate with a high
frequency because of thermal energy and, occasionally, one of the point defects diffuses and
moves to a neighboring position. Since Sentaurus Process KMC uses the nonlattice KMC
method, it discards the lattice information and only follows the defect atoms. This greatly
– 13 –9
affects CPU time, from approximately 10 s for lattice vibrations to approximately 10 s
for fast diffusing particles. During diffusion, moving particles can be captured by extended
defects that emit isolated particles with frequencies orders of magnitude smaller than
frequency of point defects jumps.

Sentaurus Process KMC takes the input parameters of migration, binding, emission energies,
and so on and simulates the frequencies at which these different events occur. Sentaurus
Process KMC starts with short time steps, but when the simulation evolves and the fast moving
point defects disappear, the average time step automatically changes to adapt to the new
situation.

Single particles can move alone or belong to an extended defect, like a {311}.
■ For self-silicon point defects, in other words, interstitial and vacancy models, see Point
Defects, Impurities, Dopants, and Impurity-paired Point Defects on page 403.
■ For diffusing dopants, see Impurities on page 405.
■ For self-silicon extended defects, see Damage Accumulation Model: Amorphous Pockets
on page 420 and Extended Defects on page 430.
■ For clusters involving dopants, see Impurity Clusters on page 460.

Units
The units used by Sentaurus Process KMC are:
■ Micrometer ( μm ) for length
■ Second (s) for time
■ Electron volt (eV) for binding energies
3
■ Atoms per cm for concentrations
2 –1
■ cm s for diffusivities
3
■ nm for stress activation volumes

384 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Atomistic Diffusion Simulation with Sentaurus Process KMC

NOTE These units are standard in atomistic and continuum simulators.


Nevertheless, Sentaurus Process KMC internally uses a
nonconventional unit to measure frequencies. For consistency with
migration prefactors, frequencies are measured in diffusivity units in the
input parameter files. However, even for migration prefactors, which are
in diffusivity units to easily compare them with experimental numbers,
–1
Sentaurus Process KMC must transform them to frequency units in s .
This is performed using the expression υ = 6D
------2- , where λ is the average
jump distance. λ

Space Management
Sentaurus Process KMC assumes an orthogonal simulation cell to manage space. The
minimum and maximum x-, y-, and z-dimensions (that is, the bounding box) are passed to
Sentaurus Process KMC as simulation parameters. Sentaurus Process KMC assumes that the
x-axis is the depth of the silicon wafer; whereas, yz is the wafer area.

When Sentaurus Process KMC has the simulation cell size, it splits the space (see Figure 41)
using Sentaurus Mesh. This creates an internal grid inside the rectangular simulation boundary
box. This grid is used only by Sentaurus Process KMC and is fully isolated from the Sentaurus
Process finite-element mesh. These rectangular elements cannot be smaller than twice the jump
distance ( 0.8 nm ). To customize the internal grid, see Internal Grid on page 378.

Figure 41 Sentaurus Process KMC divides the space (left) into small rectangular elements
(right); these elements are used for neighbor search, amorphization, and charge
models

Sentaurus Process KMC shows the number of elements in its output:


KMC domain (-0.1, 0, 0) to (0.3, 0.16, 0.05) um
KMC NonUniformTensor. Boxes: 430125
X=155 (1 - 100)nm
Y=111 (0.903641 - 1.7048)nm
Z=25 (2 - 2)nm

Sentaurus Process User Guide 385


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Atomistic Diffusion Simulation with Sentaurus Process KMC

In the above example, the x-axis minimum cell is 1 nm and the maximum one is 100 nm. For
y, these values are 0.9 and 1.7 nm, respectively. Finally, all of the cells have the same size in
the z-axis: 2 nm. There are 155 cells in the x-direction, and 11 and 25 for y and z, respectively.
The total number of elements is 430125.

NOTE Memory allocation depends on the number of internal elements and on


the number of particles. To modify the number of internal elements
using the parameter, see Internal Grid on page 378.

To add user lines to the simulation, use the line command. You also can specify the option
spacing in this command. In this case, and in contrast with the nonatomistic mode, there is a
minimum size of 0.8 nm between lines. If you specify a very thin spacing, and Sentaurus Mesh
tries to add some lines later to better refine a surface, these last lines could be discarded in the
KMC mesh only to keep the 0.8 nm limitation. Because of this, the use of spacing is not
suggested, and it is usually better to rely on the results of Sentaurus Mesh.

Materials and Space


The transfer of materials from Sentaurus Process to Sentaurus Process KMC is
straightforward: Each Sentaurus Process KMC element is assigned to a material type.
Sentaurus Process KMC creates interfaces whenever two elements are set to different
materials, except when instructed not to do so. Consequently, the shape and interfaces assigned
by Sentaurus Process KMC depend on how smooth the shapes are and how fine the internal
elements are (see Figure 42).

KMC Original

Figure 42 Interfaces between materials have a Manhattan structure in Sentaurus


Process KMC; each element is assigned to a material, and elements are always
rectangular

386 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Atomistic Diffusion Simulation with Sentaurus Process KMC

The meshing algorithm included in Sentaurus Mesh tries to fit the interfaces using a
nonuniform tensor. This fit is perfect when the interfaces are flat, axis-aligned and there are no
limitations with the element size due to spacing or very thin features. Since the minimum
dimension for an element is 0.8 nm, interfaces thinner than that will not be accurately
represented.

After the material assignment, Sentaurus Process KMC checks that there are no mistakes in the
translation by reviewing the original interface elements and checking that there is a
corresponding KMC interface associated with them. Whenever this correspondence is not
satisfied, Sentaurus Process KMC issues a warning:
** Warning **
KMC. 1.79 percent of the Oxide/PolySilicon interface is lost when translating
to KMC. Please, review the results carefully.
... continuing execution

NOTE In some cases, these warnings may be produced by thin, but negligible,
structure shapes. In these cases, the percentage of interface lost is small.
When the percentage is significant, they point to important problems
that must be resolved before continuing the simulation.

Supported Materials
The materials already defined in Sentaurus Process KMC include:
■ Silicon (crystalline silicon)
■ Amorphous silicon
■ Silicon oxide
■ Polysilicon
■ Nitride
■ Gas
■ Germanium
■ Germanium oxide
■ Amorphous germanium

Amorphous can be assigned by users, but it also is created automatically by changing the
crystalline regions during simulation when the damage reaches an amorphization level (see
Amorphization and Recrystallization on page 442).

Sentaurus Process User Guide 387


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Atomistic Diffusion Simulation with Sentaurus Process KMC

The materials supported by Sentaurus Process KMC are defined in the PDB:
sprocess> pdbGet KMC Materials
Silicon true
AmorphousSilicon true
Oxide true
PolySilicon true
Nitride true
Gas true
Unknown true

It is possible to define or remove materials, already known by Sentaurus Process, into


Sentaurus Process KMC. They only need to be added as true or false to this list. For
materials not defined in Sentaurus Process, they must be introduced to Sentaurus Process first
with mater add. For example, to add a new material called AnotherSilicon and to remove
Nitride:
pdbSet KMC Materials AnotherSilicon true
pdbSet KMC Materials Nitride false

Every new material in Sentaurus Process KMC requires the following pdb parameters:

Model The options are:


The discard model creates a material empty of particles (for example,
gas). All particles introduced in this material are discarded.

The simple model allows simple diffusion of dopants and impurity


clusters. It does not model Fermi-level dependencies, amorphization, solid
phase epitaxial regrowth (SPER), and extended defects. Oxide and nitride
are examples of ‘simple’ materials.

The full model allows all models: point defects (interstitials and
vacancies), extended defects, impurity clusters, damage accumulation,
amorphization, recrystallization, and the Fermi level–dependent diffusivity
models (for example, silicon).
ShortName This is the short name of the material when reading parameters defined for
the interfaces. For example, the interface Oxide_Silicon contains the
parameters Eb_SurfOx and Eb_SurfSi, where Ox and Si are the short
names of silicon and oxide.
Crystalline A Boolean value. True if the material is crystalline (silicon) and false if it is
amorphous (amorphous silicon).
Equivalent Name of the amorphous/crystalline equivalent. For example, silicon will
have amorphous silicon as its equivalent, and the amorphous silicon
equivalent is silicon.

388 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Atomistic Diffusion Simulation with Sentaurus Process KMC

Oxide Specify with true or false whether the material is an oxide or is not an
oxide, respectively. This is used for oxidation models. For example,
SiOxide and GeOxide have this field as true.
Alloy Specify if this material can alloy with another material to form binary alloys
with corrections to activation energies. Write the alloy material here. For
example, for silicon alloying with germanium, write Germanium in the
Alloy field of the silicon material.

After the material is properly defined, the parameters for all the particles in this new material
must be defined as well. These parameters depend on the model defined for the new material
(for an overview of these parameters, see Including New Impurities on page 510). Finally,
parameters for all interfaces between the existing materials and the new material must also be
defined.

NOTE To minimize the work of defining parameters for a new material, it is


advisable to disable the materials that will not be used, thereby avoiding
to define parameters for the interfaces between those materials and the
new one. For the dopant parameters in the new material, you can “copy”
the parameters from another material and redefine only some of them.

Any other material existing in Sentaurus Process, but not defined by Sentaurus Process KMC,
is mapped as ‘Unknown’. The model for this material is discard, and all particles inside these
materials are discarded and removed. They do not need parameters because they contain no
particles to simulate.

Material Alloying
Sentaurus Process KMC allows materials containing an alloying element to be treated in a
quasi-atomistic framework. Such an alloying element is specified using the Alloy parameter
of the material specification. In the following, as an example, it is assumed that the material is
silicon and the alloy is germanium (although, this can be reversed, or any pair of materials can
be used with "full" modeling).

The quasi-atomistic framework means that alloy particles (Ge) are not created as particles, but
they will be taken into account as a field, so as to produce a local concentration. This saves
memory and speeds up the concentration. Diffusion of the alloying element is possible using
the model specified in Alloy Diffusion on page 419.

The inclusion of an alloy changes the bandgap narrowing as specified in Narrowing due to
Presence of an Alloy on page 492. Such a model uses a quadratic interpolation to smooth from
the band gap of the pure material to the band gap of the pure alloy. Since the positions in the

Sentaurus Process User Guide 389


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Atomistic Diffusion Simulation with Sentaurus Process KMC

band gap of all particles are scaled with the total band gap, the positions for charged defects
are scaled accordingly.

All activation energies for diffusion-, emission-, and activation-related processes are corrected
by a term linear on the alloy concentration. If a given mechanism is simulated by following an
Arrhenius expression similar to:
ν = P exp ( – E ⁄ k B T ) (648)

the mechanisms under an alloy concentration are corrected by a linear term in the activation
energy with the concentration of the alloy (Ge):
ν = P exp ( – ( E + α [ Ge ] ) ⁄ k B T ) (649)

The same applies to the formation energies of point defects and the potential energies of
impurity clusters. Examples of these corrections are available in Alloy Effects on page 420.

Point Defects

Sentaurus Process KMC can distinguish between different interstitials, depending on the
material, using different syntax. The syntax "I" refers to an interstitial in the particular
material where it is positioned; otherwise, a more concrete notation must be used. For example,
in a structure where the first half is Ge and the second half I, "I" refers to Gei in the first half
and Sii in the second half. While Sii, for example, would have the same meaning as in the
second half, but it would produce Si in the first half.

Ambiguous Alloying

Sentaurus Process KMC allows the use of a material (for example, Si) with an alloy (for
example, Ge) without having to define the material alloyed (Ge). Nevertheless, it is also
possible to define the alloyed material as the main material (Ge) with the other one as the
alloyed material (Si). However, having all alloys defined twice is ambiguous. For example,
Si0.2Ge0.8 can be defined as main Si with 80% Ge, or as main Ge with 20% Si.

The main material is the one specified in the input file as material. In this case, it can be
silicon, and then you can use the select command or similar to include 80% Ge (or
germanium) and 20% silicon. Unfortunately, the complexity of the models and their calibration
produce different results when these two ways to have the same alloy are used. To solve this
issue, using Si as the main material up to 80% Ge concentration and Ge up to 20% silicon is
suggested.

390 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Atomistic Diffusion Simulation with Sentaurus Process KMC

Time Management
The main component in Sentaurus Process KMC is an algorithm that sequentially selects the
possible random events (migration of point defects, emission of extended defects, and so on)
according to their corresponding frequencies, similar to the Bortz–Kalos–Liebowitz (BKL)
algorithm so widely used in KMC methods. Figure 43 illustrates the selection procedure for
the atomistic configuration shown in Figure 40 on page 383, consisting of three vacancies (V),
two interstitials (I), and one {311} defect.
rand
0 3000 3200 3210

I jump
V jump {311} emission

Figure 43 Events are selected according to their rates, which in turn, depend on the current
atomistic configuration
–1 –1
Assuming the vacancy and interstitial migration frequencies are 1000 s and 100 s ,
–1
respectively, and the {311} emission rate is 10 s , to simulate 1 s, you have to simulate a total
of 3210 events. Consequently, simulating one event corresponds to simulating 1/3210 s. This
implies that the simulated time step is not fixed, but depends on the particular simulation
configuration. In addition, you must choose a V with a probability of 3000/3210, and Is and
{311} defects with probabilities of 200/3210 and 10/3210. A random number between 1 and
3210 (or 0 and 3209) is generated. For example, in Figure 43, the number 3147 selects an I
migration event.

After several migration events, when one interstitial reaches and interacts with a vacancy, the
simulator generates an IV pair called an amorphous pocket (AP) (see Damage Accumulation
Model: Amorphous Pockets on page 420).

The simulation contains two Vs, one Is, one IV, and one {311}. You can assume the IV pair will
–1
recombine with a frequency of 500 s . The new random number will be between 1 and
2000 + 100 + 500 + 10 = 2610. Consequently, the time step will be 1/2610 s. If the IV
recombination event is chosen and this IV pair is annihilated, the new simulation contains only
two Vs, one I, and one {311}, and the following time step is 1/2110 s.

NOTE The time step is not a fixed quantity in Sentaurus Process KMC, but it
depends on the state of the simulation.

The current time step depends on two factors:


■ Number of particles in the simulator
■ Frequency of the events associated to the particles or defects or both

Sentaurus Process User Guide 391


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Atomistic Diffusion Simulation with Sentaurus Process KMC

And these frequencies depend on three factors:


■ Type of event
■ Arrhenius plot associated with the event
■ Temperature

Simulation and CPU Times


The time needed to complete a simulation depends on several factors:
■ How fast the computer simulates one event
■ How many events need to be simulated
■ The hopping mode chosen
■ The presence of lattice KMC models (for SPER and epitaxial deposition)
■ Whether you use parallel capabilities

The number of events to be simulated is inverse to the average time step (which changes during
the simulation, as explained above). The speed at which the simulator processes events depends
on the type of simulated events. Migration events usually are simulated rapidly. Simulations
involving changes in the electronic concentration or temperature or both are much slower
because updating the dependencies with the temperature and the Fermi level takes extra time.
Generally, the smaller the simulation, the shorter the time.

In simulations with implants, the implant MC module also adds time to the simulation while
computing the cascades. In amorphizing conditions, the Sentaurus Process KMC amorphous
model requires extra time to smooth out the damage and create amorphous layers. Finally,
simulations with strong gradients in the electronic concentration need more charge updates,
which take extra time.

During oxidation, several remeshings must be performed to update the Sentaurus


Process KMC structure to the new Sentaurus Process oxide thickness, consuming extra time.

Finally, the hopping mode allows you to chose whether long hops or double hops are allowed,
thereby speeding up the simulation. Both are switched on by default (see Hopping Mode on
page 411).

NOTE You can estimate the time needed for simulation by running a small
simulation and assuming the CPU time is proportional to the number of
particles (proportional to the surface area) and to the number of the
internal reported time.

392 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Atomistic Diffusion Simulation with Sentaurus Process KMC

Sentaurus Process KMC shows the status of the current simulation, printing log messages each
time the temperature changes during a temperature ramp, or whenever there is a new snapshot
(see Snapshots on page 394). These log messages are as following:
Reaction : 31s to 63s step : 32s temp: 950.0C
Mechanics: 31s to 63s step : 32s temp: 950.0C
Diffusion: 31s to 63s step (d): 32s temp: 950.0C
KMC: Time(s) Temp(C) Events Events/s Average step(s) %Done
46.416 950.01 3600728007 1877077 4.749174e-08 7.74% (36% V)
Reaction : 1.05min to 2.117min step : 1.067min temp: 950.0C
Mechanics: 1.05min to 2.117min step : 1.067min temp: 950.0C
Diffusion: 1.05min to 2.117min step (d): 1.067min temp: 950.0C
KMC: Time(s) Temp(C) Events Events/s Average step(s) %Done
100.000 950.01 4742533558 1865695 4.692958e-08 16.67% (33% V)
Reaction : 2.117min to 4.25min step : 2.133min temp: 950.0C
Mechanics: 2.117min to 4.25min step : 2.133min temp: 950.0C
Diffusion: 2.117min to 4.25min step (d): 2.133min temp: 950.0C
KMC: Time(s) Temp(C) Events Events/s Average step(s) %Done
215.444 950.01 6881748852 1868310 5.396525e-08 35.91% (34% I)
Reaction : 4.25min to 7.125min step : 2.875min temp: 950.0C
Mechanics: 4.25min to 7.125min step : 2.875min temp: 950.0C
Diffusion: 4.25min to 7.125min step (d): 2.875min temp: 950.0C
Reaction : 7.125min to 10min step : 2.875min temp: 950.0C
Mechanics: 7.125min to 10min step : 2.875min temp: 950.0C
Diffusion: 7.125min to 10min step (d): 2.875min temp: 950.0C
KMC: Time(s) Temp(C) Events Events/s Average step(s) %Done
464.159 950.01 11927967061 1864825 4.928753e-08 77.36% (35% I)

Elapsed time for diffuse 7.8672e+03s


600.000 950.01 14721335445 1882323 4.862968e-08 100.00% (35% I)

It is easy to identify the log immediately after the Diffusion statement because it is preceded
by a “KMC:” header. In the above example, the total simulated (annealed) time is 600 s. The
10
(current) temperature is 950°C . A total of 1.4 × 10 events has been simulated so far, and the
simulator processed 1.9 million events each CPU second. The averaged time step is
–8
4.9 × 10 s . Finally, Sentaurus Process KMC writes the particle with the biggest percentage
of diffusion jumps. In the example, the diffusion of the neutral interstitial (I) has taken 33 to
36% of the total diffused particles.

This information may change from one simulation to another, and also at different times during
the same simulation. The events per second and average step statistics are recomputed between
sentences.

Sentaurus Process User Guide 393


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Atomistic Diffusion Simulation with Sentaurus Process KMC

Parallelism and CPU Time

Table 44 lists the CPU times that can be expected when running on different numbers of
threads. However, the exact time depends on the particular simulation.

Table 44 Approximate CPU times when using multiple threads


Number of independent Approximate time Improvement
threads

1 S 1x

2 S/2.3 2.3x

4 S/4.8 4.8x

8 S/8 8x

12 S/9.5 9.5x

16 S/10.5 10.5x

The total simulation time is superlinear for n < 8 and starts saturating for n ≥ 12 . The reason
for being superlinear for a small number of threads is that the CPU time depends superlinearly
on size. Consequently, simulating a size XYZ/n takes less CPU time than S/n. Nevertheless, as
n increases, different mechanisms (such as the waiting time of threads to be synchronized)
conspire to degrade the total simulation time.

Snapshots
A snapshot is an interruption of the normal Sentaurus Process KMC simulation flow to print
the status of the simulation and to allow you to run a customizable Tcl command (see Movie
on page 395). To control these interruptions, set the pdb parameters listed in Table 45.

Table 45 Snapshot parameters


Parameter Description

Decade <n> Sets how many snapshots will be generated per decade. 0 disables it.

InitOutputTime <n> No snapshots per decade are generated when the simulated time is smaller than n.

maxSnapshots <n> Maximum number of snapshots to be stored. After this limit is reached, the oldest
ones are erased to make space for the new ones.

394 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Atomistic Diffusion Simulation with Sentaurus Process KMC

For example:
pdbSet KMC Decade 2

produces two snapshots per decade, as in:


Time(s) Temp(C) Events Events/s Average step(s) %Done
0.000 26.85 0
548.138 700.00 1 5.481385e+02 0.05% (35% I)
1492.073 700.00 5 2.359835e+02 0.15% (33% I)
3639.863 700.00 7867 2.731862e-01 0.36% (35% I)
10130.431 700.00 14553 9.707701e-01 1.01% (35% I)
31902.727 700.00 35862 1.021742e+00 3.19% (36% I)
100030.228 700.00 205821 169959 4.008467e-01 10.00% (35% I)
317268.817 700.00 668173 4.698554e-01 31.73% (34% I)
1000000.000 700.00 1754838 1086665 6.282812e-01 100.00% (35% I)

Movie

The Sentaurus Process KMC Movie command is similar to the Sentaurus Process Movie
command and executes the contents of the parameter KMC Movie any time a new snapshot is
generated. You can use this command interactively to obtain information about the simulation,
to add data to the TDR file of Sentaurus Process KMC, and so on.

For example, it can be used to add concentration information and the positions of particles to
the TDR file during the simulation:
pdbSet KMC Movie {kmc extract tdrAdd concentrations defects}

or to plot the evolution of damage while the simulation is still running:


pdbSet KMC Movie {
kmc deatomize name=ITotal; sel z=log(ITotal+1); plot.1d label=I clear;
kmc deatomize name=VTotal; sel z=log(VTotal+1); plot.1d label=V !clear
}

Time Internal Representation and Limitations


In contrast with previous versions, there are no internal limits for the frequencies used in
Sentaurus Process KMC. Nevertheless, very high frequencies (typically produced by small
migration energies) can lead to slow simulations.

Sentaurus Process User Guide 395


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Particles

Particles
Particles are represented in Sentaurus Process KMC with three spatial coordinates (x, y, z) and
two labels:
■ The particle type label identifies the species, charge state, and role of the particle in the
simulation.
■ The defect type indicates when the particles are agglomerated with others or when they
stand alone.

Particle Types
To obtain a list of the standard particles currently defined for Sentaurus Process KMC, use the
command:
sprocess> kmc particletypes
I V B As C F In P Sb N Nn H IMM IM IP IPP VMM VMMM VM VP VPP VPPP Asi AsiP AsV
AsVP AsVM Bi BiP BiM Ci FV FI Ini IniM InV InVM Pi PiP PV PVM PVP Sbi SbiP SbV
SbVP SbVM NnV

Dopants are user defined in Sentaurus Process KMC, while interstitials and vacancies are fixed
and cannot be customized. The standard list of interstitials and vacancies defined in Sentaurus
Process KMC is:

I Silicon self interstitial–neutral

IMM Silicon self interstitial-double negative

IM Silicon self interstitial–negative

IP Silicon self interstitial–positive

IPP Silicon self interstitial-double positive

V Vacancy–neutral

VMMM Vacancy-triple negative

VMM Vacancy–double negative

VM Vacancy–negative

VP Vacancy–positive

VPP Vacancy–double positive

VPPP Vacancy-triple positive

396 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Particles

The dopants are defined in the parameter database. By default, particles for As, B, P, In, C, F,
N, Nn (N2), H, and Sb are defined. For example, the default particles for As, B, and P are:

As Substitutional arsenic–positive

Asi Interstitial arsenic–neutral

AsiP Interstitial arsenic–positive

AsV Vacancy arsenic–neutral

AsVM Vacancy arsenic–negative

AsVP Vacancy arsenic–positive

B Substitutional boron–negative

Bi Interstitial arsenic–positive

BiM Interstitial arsenic–positive

BiP Interstitial arsenic–positive

P Substitutional phosphorus–positive

Pi Interstitial phosphorus–neutral

PiP Interstitial phosphorus–positive

PV Vacancy phosphorus–neutral

PVM Vacancy phosphorus–negative

PVP Vacancy phosphorus–positive

NOTE Since P at the end of the name means positive, to specify a cluster
containing P, the P cannot be at the end in any case. This means that
AsiP is an arsenic–interstitial positive, while PAsi is a phosphorus
arsenic–interstitial cluster. Similarly, AsP will be interpreted as arsenic
positive, while PAs is phosphorus–arsenic.

NOTE These lists show the most commonly used particles, but the list is not
exhaustive. An exhaustive list contains all point defects (Is and Vs) with
charges from –3 to +3, and all impurity pairs with charges from –2 to +2.

Particles in Models

The dopants allowed in the simulation are defined in the parameter database under the label
KMC Impurities. The database lists the impurity name, the charge, and a Boolean parameter
indicating whether the particle is allowed in the Sentaurus Process KMC simulation.

Sentaurus Process User Guide 397


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Particles

The particle name and the charge must be delimited by a comma without spaces. For example,
in the case of arsenic and boron:
pdbSet KMC Impurities As,1 true
pdbSet KMC Impurities B,-1 true

When the dopant type has been defined, the paired particles (particles with I or V) can be
defined in KMC Pairs. The definitions are a string containing the name of the pair, the name
of the dopant, the type of pair (I or V) and the charge. These fields are separated with commas.
Finally, a Boolean parameter instructs Sentaurus Process KMC to take the particle into
account.

For arsenic and boron:


pdbSet KMC Pairs Asi,As,I,0 true
pdbSet KMC Pairs AsiP,As,I,1 true
pdbSet KMC Pairs AsV,As,V,0 true
pdbSet KMC Pairs AsVP,As,V,1 true
pdbSet KMC Pairs AsVM,As,V,-1 true
pdbSet KMC Pairs BV,B,V,0 false
pdbSet KMC Pairs Bi,B,I,0 true
pdbSet KMC Pairs Bi,B,I,0 true
pdbSet KMC Pairs BiP,B,I,0 true
pdbSet KMC Pairs BiM,B,I,-1 true

In the previous example, the particle boron vacancy is not defined (set to false). A particle is
not defined when it does not appear in the Pairs list, or when its Boolean variable is false.

The following rules must be followed when defining particles:


■ The dopants used in the definitions of Pairs must exist in the list of impurities
■ A charge n can only be defined when a charge n – 1 or n + 1 is already defined, except for
pairs with same charge states as their dopants.
■ Charge states without possible pairing reactions cannot be defined.
■ The charge must be –1, 0, or +1.
■ Pairs with neutral state; and with the charge of its dopant, always must be defined.

For example, when As+ is defined as an impurity, AsV+ can be defined. The existence of AsV+
allows you to define AsV0, and now AsV-. AsV-- cannot be defined (no charge –2). For B-, you
can define Bi-, Bi0, and Bi+.

Alias
Aliases of particle names are defined in KMC aliases, which is a list of particle names and
alternative names separated by commas. These aliases are used only when Sentaurus

398 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Particles

Process KMC tries to map a name as particles or defects. For example, if there is an alias such
as:
Bi BoronInt,BI

the commands:
kmc present defectname=Bi
kmc present defectname=BI

are the same, and:


sel z=1e19 name=Bi
sel z=1e19 name=BI
sel z=1e19 name=BoronInt

create fields with different names, but the atomized particle is the same (Bi).

Colors

You can change the default visualization color for the atomistic representation of particles and
defects in Tecplot SV, or add new colors to existing particles and defects. The list of colors is
KMC colors, and it is an array of particle names and colors in #rrggbb format (red, green,
blue).

Particles and Parameters

New particles need new parameters. For every impurity specified in Impurities, a new file
must be created for each material folder and surface. The name of these files is obtained using
the command alias with the name of the Sentaurus Process KMC impurity as a parameter:
sprocess> alias B
Boron

Table 46 lists the parameters required for materials defined to use the simple model.

Table 46 Nonsilicon material parameters


Parameter Description

Dm, Em Diffusion parameters.

VD, VF Activation volumes for stress.

sinkProbTop, sinkProbBottom, sinkProbLeft, Boundary conditions.


sinkProbRight, sinkProbFront, sinkProbBack

Sentaurus Process User Guide 399


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Particles

Table 46 Nonsilicon material parameters


Parameter Description

Implement_Complex Parameters for clustering.

ReactionsPointDefect, ReactionsCluster Binary interactions.

When amorphous materials (where the best example is amorphous silicon) use the dangling
bond model (see Indirect Diffusion on page 445), the parameters listed in the previous table
plus those in Table 47 are required.

Table 47 Extra parameters for amorphous materials


Parameter Description

EmGe, EfGe Ge correction to migration energies.

gamma Coefficient for dangling bond creation.

Db, Eb Binding prefactor and energy.

Table 48 lists the parameters used on interfaces.

Table 48 Parameters used on interfaces


Parameter Description

EBarrier_Surf?, Interface binding energies for dopants. ? denotes the material. Gas for gas, Si
Eb_Surf? for silicon, Ox for oxide, Ni for nitride, Po for polysilicon, and Unknown for
the rest.

Db_Surf Surface emission prefactor for dopants.

EMax_Surf, C0Max_Surf Maximum number of particles trapped at the surface.

Evaporation_Surf Probability to evaporate (annihilate).

VF_Surf? Activation volume for stress. ? denotes the material.

Table 49 lists the parameters required for materials using full modeling.

Table 49 Full material parameters


Parameter Description

Dm, Em Diffusivities.

Db, Eb Binding prefactors and energies.

VD, VF Activation volumes for stress.

e0 Electronic levels.

EfGe, EmGe Corrections for germanium.

400 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Particles

Table 49 Full material parameters


Parameter Description

P_recrysDeposit, E_recrysDeposit, SPER model (recrystallization).


recrysDepositThreshold, C0_recrysMaxActive,
E_recrysMaxActive, recrysMaxTotal,
recrysMaxSize, recrysDeposit_Complex, E_recrys,
E_recrys_exponent, recrysDeposit_Active,
e0_Complex

sinkProbTop, sinkProbBottom, sinkProbLeft, Boundary conditions.


sinkProbRight, sinkProbFront, sinkProbBack

ReactionsPointDefect, ReactionsCluster, Binary interactions.


ReactionsClusterI, ReactionsClusterV,
ReactionsClusterIV, ReactionsLoop,
ReactionsVoid, Reactions311

Finally, amorphous, simple and full materials allow the definition of impurity clusters. These
clusters are defined using the parameters listed in Table 50.

Table 50 Parameters used for impurity clusters


Parameter Description

Implement_Complex Whether a cluster exists or not.

Etotal_Complex Cluster potential energy.

e0_Complex Cluster charge.

VF_Complex Stress dependency.

CaptVol_Complex Cluster capture volume used for emission.

D0_Cluster Cluster emission prefactors.

EbarrierDopant_Complex, EbarrierIV_Complex Cluster emission barriers.

Dm_Cluster, Em_Cluster Cluster migration parameters

For further explanations on these parameters, see the comments in the parameter database and
the model descriptions.

Undefining Particles

Particles can be undefined erasing their definition in the parameter database or setting its
Boolean to false. If an impurity is undefined or erased, Sentaurus Process KMC also
undefines all its pairs.

Sentaurus Process User Guide 401


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Particles

For example, to undefine indium in a simulation, use:


pdbSet KMC Impurities In,-1 false

To undefine only boron interstitials with a positive charge, use:


pdbSet KMC Pairs BiP,B,I,1 false

NOTE Undefining particles that will not be used in the simulation saves some
small memory and CPU time. If an undefined dopant is used (for
example, it is implanted or introduced with select), it causes an error.

Defect Types
For a list of the defects implemented in Sentaurus Process KMC, use the command:
sprocess> kmc defecttypes
PointDefect AmorphousPocket Amorphous Void ThreeOneOne Loop ImpurityCluster
Interface

Defects implemented in Sentaurus Process KMC include those listed in Table 51.

Table 51 Defects implemented in Sentaurus Process KMC


Defect Description

Amorphous Amorphous region inside the crystalline silicon. Only I, V, impurity clusters, and dopants are
allowed. See Amorphization and Recrystallization on page 442.

AmorphousPocket Disordered agglomeration of Is and Vs (damage). Only I and V particle types are allowed.
See Damage Accumulation Model: Amorphous Pockets on page 420.

ImpurityCluster Impurity clusters. Agglomeration of dopants with Is or Vs. See Impurity Clusters on
page 460.

Interface Dopants trapped in the interfaces (for example, Si/SiO2).


See Interfaces and Surfaces on page 495.

LatticeAtom Atom in the silicon lattice used for SPER or epitaxial deposition. See LKMC: Fully
Atomistic Modeling of Solid Phase Epitaxial Regrowth on page 451

Loop Dislocation loops. Extended Is defect. Only Is are allowed.


See Dislocation Loops on page 435.

PointDefect Single particles (IMM, IM, I, IP, IPP, VMM, VM, V, VP, VPP, As, and B) or paired ones
(Asi, AsiP, AsVM, AsV, AsVP, BiM, Bi, and BiP) that do not belong to any extended
defect or particle agglomeration; in other words, impurities, dopants, and impurity-paired
point defects.

402 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

Table 51 Defects implemented in Sentaurus Process KMC


Defect Description

ThreeOneOne {311} rod-like extended defects. Only Is. are allowed.


See {311} Defects (ThreeOneOne) on page 430.

Void Vacancy clusters with spherical shape. Only Vs are allowed. See Voids on page 439.

NOTE Not all possibilities of particle and defect types are allowed. Some
particle types, like the paired ones (Asi, BiM…), are only allowed as
PointDefect. Others, like As or B, can stand alone (PointDefect),
can be trapped in interfaces (Interface), or can belong to an impurity
clusters (ImpurityCluster). Neutral interstitials, for example, can
stand alone (PointDefect), can be in damaged clusters
(AmorphousPocket), {311} defects (ThreeOneOne), or dislocation
loops (Loop). Single particles can be mobile point defects (in other
words, interstitials and vacancies), immobile impurity atoms (like
substitutional boron and arsenic), and also mobile impurity-defect pairs
such as Bi or AsV. All are considered PointDefect.

Point Defects, Impurities, Dopants, and Impurity-paired


Point Defects

Interstitials and Vacancies


Interstitials and vacancies in Sentaurus Process KMC perform a diffusion event in each axis j
(x, y, and z) at a frequency given by the expression:
ν 0, m    
ν j m = ----------- ⋅ exp  –  E m + σ' j ΔV par +  ( σ' i ΔV ort ) + ΔE m ( Ge ) ⁄ ( k B T ) (650)
3   i≠j
 

where:
■ ν j m is the jump frequency for the axis j .
■ ν 0, m is the prefactor.
■ E m is the migration energy.
■ σ' i are the principal stresses (the stresses in the coordinate system where all the stress
tensor nondiagonal components are null).
■ ΔV par is the activation volume for stress-parallel diffusion.

Sentaurus Process User Guide 403


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

■ ΔV ort is the activation volume for stress-perpendicular diffusion.


■ ΔE m ( Ge ) = α m [ Ge ] is the correction due to germanium concentration.

These parameters are called Dm (prefactor), Em (energy), VD (activation volumes), and EmGe
(for α m ) in the parameter database. They are defined only in the full model materials:
sprocess> pdbGet KMC Si I Dm
IMM 5e-2
IM 5e-2
I 5e-2
IP 5e-2
IPP 5e-2
sprocess> pdbGet KMC Si I Em
IMM 0.8
IM 0.8
I 0.8
IP 0.8
IPP 0.8
sprocess> pdbGet KMC Si I VD
IMM 0,0
IM 0,0
I 0,0
IP 0,0
IPP 0,0
sprocess> pdbGet KMC Si I EmGe
0

The activation volumes for parallel and perpendicular diffusion, respectively, are separated by
a comma (no spaces) in VD.

The stresses σ ij are produced by Sentaurus Process and imported by Sentaurus Process KMC.
This stress tensor is diagonalized to obtain the principal stresses σ' i . The directions x, y, and z
used in the equation refer to the system in which the stress tensor is diagonal.

NOTE You can calibrate these parameters if necessary to change the point-
defect diffusivity and DC product.

Sentaurus Process KMC simulates point-defect migration, modifying the particle coordinates
in the orthogonal directions a fixed distance, called λ , which corresponds to the second
neighbors distance in the silicon lattice (0.384 nm). Exceptionally, it may change the value of
λ , as explained in Hopping Mode on page 411.

After each diffusion event, the charge state of the point defect is updated according to the new
local Fermi level (see Fermi-Level Effects: Charge Model on page 478 and Updating Charged
States on page 485). Whenever a jumping point defect encounters another particle, defect, or

404 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

interface, the jumping point defect interacts according to the specific situation. These
interactions are allowed depending on the following:
■ Incoming species—for example, substitutional boron plus interstitial (B + I) is allowed,
and the incoming species form a boron interstitial. Boron plus vacancy is not allowed. This
interactions can be enabled or disabled in the parameter database.
■ Energetics—Sentaurus Process KMC allows interactions for {311} defects, dislocation
loops, and pairing because the binding energies are greater than 0. For impurity clusters, if
the reaction is unfavourable, the newly formed defect breaks up and dissolves in the
original components or is rejected before reacting.
■ Charge states—interactions between repulsive species are forbidden, except for the
‘percolation’ model (see Percolation on page 465).

Mobile particles can interact with other mobile particles or with the particles belonging to
extended defects, whenever they enter in the capture radius of the other particle or defect (see
Figure 44). The capture radius for a mobile particle is λ , assumed to be the same as the
jumping distance. For extended defects, the capture volume is the sum of the capture volumes
of its constituent particles. Mobile particles can interact with surfaces/interfaces as explained
in Interfaces and Surfaces on page 495.

y
Particle Type: Interstitial
Defect: PointDefect
Coords: x1, y1, z1
Particle Type: Vacancy
Defect: PointDefect
Possible Coords: x2, y2, z2
Migrations

Jump

Lambda I+V Interaction

Simulation Cell x

Figure 44 Point defects diffuse by jumping a distance λ in any orthogonal direction and can
interact with neighbor particles

Impurities
Isolated impurities in Sentaurus Process KMC can be in a substitutional state or can be paired
with interstitials or vacancies. Substitutional impurities are electrically active and typically
immobile. The acceptor and donor impurities (Groups III and V of the periodic table,
respectively) can move in silicon only by pairing with an interstitial or a vacancy, as shown in
the literature [4][5][6][7][8]. Other impurities, such as fluorine, may diffuse without the aid of
an extra I or V (see Impurities Diffusing without Pairing on page 512).

Sentaurus Process User Guide 405


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

Impurity atoms are modeled like interstitials or vacancies. They have a position and a defect
type and particle type. The defect type is PointDefect, and the particle type characterizes the
species, charge state, and the presence of a paired I or V. For example, BiM indicates a
negatively charged boron paired with an interstitial.

NOTE Sentaurus Process KMC assumes interstitial particles and substitutional


particles paired with an interstitial as the same configuration; in other
words, Bi is the same as IB or BI, and there is only one position (three
coordinates) for it.

Paired impurities can perform two possible types of events (see Figure 45):
■ Diffusion jump
■ Breakup of the impurity–defect pair

Bi
I
Bi

Migration Breakup

Figure 45 Impurity pairs can diffuse or break up into a substitutional


plus an interstitial or a vacancy

NOTE Fluorine is modeled as an interstitial particle (in the default parameters,


not in Advanced Calibration). Consequently, fluorine diffuses without
pairing. See Impurities Diffusing without Pairing on page 512.

Migration (Diffusion)

The diffusion event is defined as for point defects (see Eq. 650, p. 403). Nevertheless, the
equation defines an instant diffusivity that is different from the effective diffusivity. Effective
diffusivity measured in experiments involves a large number of microscopic migration steps
and long times. Microscopically, dopants diffuse using the kick-out mechanism. For example,
when an interstitial reacts with a substitutional boron, a boron–interstitial pair is generated:
B + I → B i . In contrast with the boron in substitutional position, the generated pair is mobile.
Then, B i begins to diffuse, using the diffusivity parameters specified in Eq. 650. After some
time, the interstitial boron breaks up, releasing the interstitial. This boron will not move until
a new incoming I reacts with it. Consequently, the macroscopic diffusivity is related not only
with the boron interstitial diffusivity, but also with its breakup frequency as:
E diff ( B )
D eff ( B ) = D 0 ( B ) exp  – --------------------
eff

(651)
kB T 

406 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

eff
D 0 ( B ) depends on the Bi and I migration prefactors and on the Bi breakup prefactor.

E diff ( B ) is related with the Bi microscopic migration energy ( E m ( B i ) ) , the formation energy
of an interstitial ( E f ( I ) ) and the Bi binding energy ( E b ( B i ) ) (assuming there are no stress or
SiGe corrections):
E diff ( B ) = E m ( B i ) + E f ( I ) – E b ( B i ) (652)

Finally, the total boron diffusivity is given as the sum of the contribution of all mobile species.
For boron interstitial, and assuming there are three mobile species, negative, neutral, and
positive:
[ B i- ] [ B i0 ] [ B i+ ]
D ( B ) = D ( B i- ) ---------- + D ( B i0 ) ----------
- + D ( B i+ ) ----------
- (653)
[B ] - [B ] - [B-]

where D ( B ix ) represents the microscopic pair diffusivity of charge x .

Breakup

The breakup event for an interstitial-impurity pair can be described as:


Ai ↔ As + I (654)

where A i is an interstitial-impurity pair, A s is a substitutional impurity atom, and I is an


interstitial silicon atom. This breakup event happens with a frequency given by:
x, y, z
1

i
ν bk = ν 0, bk ⋅ exp ( – E bk ⁄ ( k B T ) ) --- exp ( – Δ E m ⁄ ( k B T ) ) (655)
3
i

where ν 0, bk is the prefactor and E bk is the activation energy, defined as the binding energy plus
the migration energy of the emitted species and the SiGe and stress corrections:
E bk ( A i ) = E b ( A i ) + E m ( I ) + P ( ΔV f ( I ) + ΔV f ( A ) – ΔV f ( A i ) ) + [ Ge ] ( α f ( I ) + α f ( A ) – α f ( A i ) ) (656)

where:
P =  – --- ( σ' x + σ' y + σ' z )
1

 3
is the hydrostatic pressure, computed as the mean value of the
principal stresses.
■ ΔV f are the activation volumes for the formation energies.
■ [ Ge ] is the germanium concentration.
■ α f accounts for the variation of the formation energy with the germanium concentration.

Sentaurus Process User Guide 407


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

The corrections to the migration energies induced by the stress and SiGe are (as previously
explained in Interstitials and Vacancies on page 403):

 ( σ'i ΔVort )
i
ΔE m = σ' j ΔV par + α m [ Ge ] + (657)
i≠j

Sentaurus Process KMC assumes that the activation volume and the SiGe variation for the
formation energy do not depend on the charge. All the charge states of the same species share
the same activation volume and SiGe dependencies for the formation energy.

Figure 46 shows the energies for boron involved in this mechanism. It is easy to deduce that a
change in the formation energies due to stress and SiGe will change the binding energy as:
ΔE b ( B i ) = ΔE f ( I ) + ΔE f ( B ) – ΔE f ( B i ) (658)

Em (I)

Eb (Bi)
Ef (B)
Em (Bi)
Em (I)

Ef (Bi)
Ef (I)

Figure 46 Energies involved in the kick-out mechanism for B–+ I0 = Bi–. Migration energy of
the interstitials and boron interstitial are specified in the parameter database as
Em. The binding energies are Eb, and the I formation energy is specified as
Eform. The formation energy for dopants in pure silicon is assumed to be 0
because the dopants are already in the simulation; the dopants are not created
by the system.

Percolation

In a percolation event, an impurity can react with any other defect in its neighborhood without
need for diffusion. In this aspect, it can simulate the reactions that occur through distortions in
the lattice but without the need for the migration of particles. The neighborhood of the particle
is defined in the same way as for diffusing point defects.

The percolation rate, that is, the frequency at which the particle attempts to interact with any
valid defect in its neighborhood, is defined as:
E per
ν per = P per exp  – --------- (659)
 k B T

408 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

where P and E are the prefactors for percolation, specified as input parameters. Percolation
only applies to substitutional dopants or impurities. It can provide an extra mechanism for
dopant deactivation at very high concentrations.

Parameters

The dopant diffusion parameters are stored in the parameter database for each material and
dopant, under the names Dm, Em for diffusivities, and Db, Eb for binding energies. Dm and Db
are prefactors, Em and Eb energies. The activation volumes for the formation energies have the
name VF and α f is called EfGe. The prefactor and the activation energy for percolation are
called D0_Percolation and E0_Percolation, respectively.

The following parameters can be changed:


pdbSet KMC <material> <Dopant> Dm <particle type> <value>
pdbSet KMC <material> <Dopant> Em <particle type> <value>
pdbSet KMC <material> <Dopant> Db <particle type> <value>
pdbSet KMC <material> <Dopant> Eb <particle type> <value>
pdbSet KMC <material> <Dopant> VF <particle type> <value>
pdbSet KMC <material> <Dopant> VD <particle type> <value>,<value>
pdbSet KMC <material> <Dopant> EfGe <particle type> <value>
pdbSet KMC <material> <Dopant> D0_Percolation <value>
pdbSet KMC <material> <Dopant> E0_Percolation <value>

For the migration energy, the prefactor, the SiGe dependency, and the activation volumes for
stresses, the specified material must be modeled as full or simple (in other words, any
material that does not discard particles). For binding energies, only the full materials are
valid. Percolation parameters are applied to simple and full materials.

Immobile species (substitutional dopants) have the migration prefactor set to 0, and the
migration energy high, to clarify that the species will not perform diffusion steps. Finally, since
Sentaurus Process KMC assumes substitutional atoms to be ionized (in other words, B– and
As+), the binding parameters (both the prefactor and the binding energy) are only defined for
– 0 – + 0 +
pairing reactions with a neutral I or V, like B + I → B i or As + V → AsV . The binding
energies for the other breakup reactions are computed automatically using these parameters.

Parameter Examples

Silicon migration energies of boron particles:


sprocess> pdbGet KMC Si B Em
B 5.
BiM 0.5
Bi 0.25
BiP 1.1

Sentaurus Process User Guide 409


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

Prefactors of the above energies:


sprocess> pdbGet KMC Si B Dm
B 0.
BiM 1.e-3
Bi 1.e-3
BiP 1.e-3

Migration energies for boron in oxide. The only allowed boron particle is B.
sprocess> pdbGet KMC Oxide B Em
B 3.53

Binding energy of boron in silicon:


sprocess> pdbGet KMC Si B Eb
BiM 0.3

and prefactor:
sprocess> pdbGet KMC Si B Db
BiM .37

Activation volumes for the formation energies of boron interstitial:


sprocess> pdbGet KMC Si B VF
BiM -0.0044

Variation of formation energy with Ge concentration:


sprocess> pdbGet KMC Si B EfGe
0

Finally, the binding energy cannot be defined for any material but full model ones, the result
should be blank:
sprocess> pdbGet KMC PolySilicon B Eb

NOTE You can change these parameters whenever necessary to calibrate


intrinsic and extrinsic dopant diffusivity under equilibrium conditions.
For nonequilibrium conditions, you also can change the extended
defects if necessary.

NOTE Elements are proportional to the volume of the simulation cell.

410 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

Hopping Mode
The parameter KMC HoppingMode controls the way Sentaurus Process KMC performs
diffusion events. This mode accepts the modes short, long, double, and longdouble, and
it is set by default to longdouble. Changing the hopping mode only changes the results
statistically (in other words, it is similar to changing the random seed); although, it may change
the CPU time significantly. The default hopping mode, longdouble, is the fastest one.

The short Mode

The short mode implies that the jumping distance for all the diffusion events λ is the same
and is equal to the second neighbor distance. In addition, only one diffusion event is performed
at a time.

The long Mode


The long mode implies that the code increases the hopping distance to nλ , n being an integer
number, in regions where there are no particles with which to interact. This increase improves
2
the performance of the code in this area (in theory, by a factor of n ). In practice, the overall
speed improvement is a factor of 2 or smaller, mainly because the empty regions where there
are no particles to interact with are limited. The overhead is caused by the long mode
implementation.
Standard ‘short hop’ Volume suitable for using
model the ‘long hop’ model

Figure 47 Even if the long hop model is available, it is used only for particles diffusing
on empty volumes

The double Mode


Setting HoppingMode to double allows Sentaurus Process KMC to perform two diffusion
events in one. Nevertheless, to properly account for interactions, the intermediate diffusion
event is still simulated by Sentaurus Process KMC. Using this hopping mode saves 10% or less
of CPU time.

The longdouble Mode

The longdouble mode is the default mode and enables both long and double hops.

Sentaurus Process User Guide 411


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

NOTE For more information on these models, refer to the literature [9].

Enabling and Disabling Interactions


Interactions between particles are important in Sentaurus Process KMC. Whenever one mobile
particle jumps into another particle, Sentaurus Process KMC tries to make both particles
interact. These interactions may or may not be possible depending on whether the interaction
is allowed and if it is energetically possible.

The interactions allowed between one mobile particle and other particles are specified in the
parameter database as the parameter ReactionsPointDefect. The interactions between this
type of defect are assumed to be always energetically favorable.

Consequently, changing the parameter ReactionsPointDefect is the only way to establish


whether a moving particle will interact with other (mobile or immobile) particles. To change
this parameter, use:
pdbSet KMC <material> <dopant> ReactionsPointDefect <string> <true/false>

This parameter needs a string and Boolean value. The Boolean value specifies if the interaction
is allowed (true) or not (false). The string contains the name of the two interacting particles,
separated by a comma. For example:
sprocess> pdbGet KMC Si C ReactionsPointDefect
C,I true
C,V false
C,Ci true
Ci,I true
Ci,V true
Ci,Ci true

Therefore, in this example, the interaction between C and V is disabled. To enable it, use the
command:
pdbSet KMC Si C ReactionsPointDefect C,V true

When enabling an interaction, the result does not have to be specified because Sentaurus
Process KMC already knows it. The possible interaction results are:

PointDefect Pairing reactions, in other words, dopants pairing with interstitials or


vacancies to generate dopant-interstitial or dopant-vacancy particles.
For example, B + I, or As + IM.

412 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

AmorphousPocket Reaction of interstitials or vacancies between them.


For example, I + IM, I + V, or V + V. They involve both damage
formation (mixed I and V) and small cluster creation (only I or V).
ImpurityCluster Reactions involving the formation of impurity clusters, in other words,
when the result has dopants and interstitials or vacancies with two or
more of each. For example, Bi + I or AsV + AsV.

The reactions for each single charged state must be introduced, so the charged I also interacts
with V and with other charged states of V:
sprocess> pdbGet KMC Si I ReactionsPointDefect
I,V true
I,VM true
I,VMM true
I,VP true
I,VPP true
IP,V true
IM,V true
IM,IP true
(...)

All interactions are listed in the parameter database. With that list of interactions, you can
understand which reactions are considered and how they work.

Interaction Rules

Sentaurus Process KMC does not accept all possible interactions within every two particles,
but only interactions with a physical meaning, or with an available model. Consequently, the
following rules apply:
■ Reactions must include existing particles.
■ Some reactions are only allowed in materials with full modeling.
■ Reactions for a pair must be defined in the file of the involved dopant (for example, a
reaction with Bi must be in the boron file, not in interstitial).
■ If the result of a reaction does not exist, the reaction is discarded (in other words, the
reaction C + V is specified, but the particle CV is not defined).
■ Repulsive reactions are not allowed (for example, Bi– + Bi–) except for ‘percolation’
models such as As + As or B + B (see Percolation on page 465).
■ Reactions must satisfy microscopic reversibility. For example, if the reverse reaction is not
possible, the reaction is discarded.
■ Reactions creating impurity clusters must give a defined cluster. For example, Bi + Bi is
allowed as long as there is a B2I2 cluster defined; in this case, Bi + BiM would also be
allowed.

Sentaurus Process User Guide 413


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

■ Only reactions producing defined PointDefect, ImpurityCluster, or


AmorphousPocket are allowed. For example, Bi + C will produce an error message if
there is no BCI cluster defined.

Examples

The interactions for boron are:


sprocess> pdbGet KMC Si B ReactionsPointDefect
B,I true
Bi,I true
Bi,V true
BiM,V true
BiP,V true
B,Bi false
B,BiP true
B,IP true
Bi,Bi true
Bi,VM true
Bi,VMM true
Bi,VP true
Bi,VPP true
BiM,VP true
BiM,VPP true
BiP,VM true
BiP,VMM true

B and I can react, giving a mobile Bi particle. B and IP also give a Bi particle. The charge state
of the resulting Bi particle is computed automatically by Sentaurus Process KMC depending
on the Fermi level, temperature, and Bi levels in the band gap. B– + IM is an electrostatically
repulsive reaction, and is not allowed.

Bi possible charge states are neutral, positive, and negative. The reactions for these also states
should be specified. Bi and its different charges can react with I, V, and Bi. Bi + I produces an
impurity cluster. Only reactions microscopically reversible are allowed. Because a BI2 cluster
breaks up as Bi + I, any nonrepulsive reaction involving Bi and I is allowed. Bi + V recombines
the IV pair, depositing substitutional boron. All nonrepulsive reactions between Bi and V are
allowed, and all are specified in this example. Finally, there are more ways to produce impurity
clusters including BiP + B, producing B2I, and B ia + B ib ↔ B 2 I 2 , as long as a ⋅ b ≤ 0 giving
B2I2.

The reaction B + V is not specified here. Typing B,V false produces the same effect. Setting
this reaction to true implies defining a BV particle (and its parameters) and specifying
reactions for this BV particle, such as BV + I → B .

414 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

NOTE Only advanced users should change the default interaction list because
improper modifications can drastically change the diffusion models.

Defining Nonstandard Interactions


Sentaurus Process KMC allows you to define a nonstandard interaction. These interactions are
intended to provide a mechanism for exceptional models that are not possible to be
implemented using the standard models and interactions. These reactions are of the type:
A+B→C (660)

A, B, and C must be single particles (point defects or dopants). They are defined as
SpecialReaction in the folder including the first species:
pdbSet KMC Si A SpecialReaction A,B,C true

The reactions defined with this mechanism are not reversible: C will not break into A and B
back.

Interaction Rules

The difference between a regular interaction and a nonstandard one is that the set of rules the
latter one obeys is a very reduced subset of the rules for the regular one. In particular, a
nonstandard interaction must follow only these rules:
■ Reactions must include existing particles. The result is always a point defect, not a cluster
or another defect type.
■ Reactions are only allowed in materials with full modeling.
■ Reactions must be defined in the files of the involved dopant (for example, a reaction with
Bi must be in the boron file).
■ If the result of a reaction does not exist, the reaction is discarded (that is, the reaction C +
V is specified, but the particle CV is not defined).

In particular, these reactions can be nonconservative. For example, you can define a carbon–
interstitial interaction giving arsenic ( C + I → As ). These reactions are nonstandard because
they lack a physical sense, but they are allowed because they offer extra flexibility to define
new models.

Sentaurus Process User Guide 415


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

Example

A model for nitrogen diffusion can be defined using a nonstandard interaction, in particular,
when you want to model the following:
N i + N i → N 2, i (661)

N 2, i + V ↔ N 2 V (662)

where N 2, i is mobile but N 2 V is immobile. The second reaction is not a problem. You can
define a dopant called Nn to be N 2, i , and make it mobile, and you can define an NnV as the
result of Nn + V. These reactions are standard. The problem is that it is impossible to have a N
+ N reaction giving as Nn using the standard mechanisms. For this exception, you define N i as
N and use the special reaction:
pdbSet KMC Si N SpecialReaction N,N,Nn true

NOTE Special reactions are printed in the log file:


KMC. Using special non-reversible reaction N + N -> Nn

Stress Effects on Point Defects, Impurities, Dopants, and


Impurity-Paired Point Defects
The stress model for Sentaurus Process KMC is disabled by default, but can be enabled by
setting the variable KMC Stress to 1:
pdbSet KMC Stress 1

or by adding the parameter [Link] in the command line of diffuse:


diffuse [Link] time=...

Sentaurus Process KMC uses the stress provided by Sentaurus Process, but Sentaurus
Process KMC does not compute it. The stress fields are updated from Sentaurus Process for
each diffuse step.

Stress local dependency is introduced into Sentaurus Process KMC using the correction of the
migration and binding energies of point defects and impurity-paired point defects.

Stress also affects the bandgap narrowing, as explained in Bandgap Narrowing on page 488.

416 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

Migration Energy

An anisotropic correction to the migration energy is introduced as:

ΔE x m ΔV par ΔV ort ΔV ort σ' x


ΔE y m = ΔV ort ΔV par ΔV ort σ' y (663)
ΔE z m
ΔV ort ΔV ort ΔV par σ' z

where ΔE i m are the corrections to the migration energy when diffusing in the i' axis; σ' i are
the principal stresses; and ΔV par and ΔV ort are the activation volumes for diffusion parallel
and perpendicular to stress, respectively. They are included in the PDB as VD.

The relation between the i' axes and the standard ones is established by a rotation R tensor. This
tensor diagonalizes the stresses tensor:

σ xx σ xy σ xz σ' x 0 0
T
[ R ] σ xy σ yy σ yz [ R ] = 0 σ' y 0 (664)
σ xz σ yz σ zz 0 0 σ' z

Setting the parameter ChangeAxis to false disables this rotation, using the standard xyz axis
instead of the i' ones.

NOTE Setting ChangeAxis to true dramatically impacts {311} dissolution


because the structure is sensitive to the direction of the migrating
incoming particles.

For more information, see Interstitials and Vacancies on page 403.

Binding Energy

The binding energy of an impurity-paired point defect Ai is corrected by:


1
ΔE b ( A i ) = --- ( σ xx + σ yy + σ zz ) ( ΔV f ( I ) – ΔV f ( A i ) ) (665)
3

where ΔV f is the activation volume for the formation energy. The activation energy for an
impurity-paired point-defect breakup is defined (without stress) as the sum of the binding
energy plus the migration energy of the emitted species (I for Ai). Then, an extra correction of
the migration energy of the emitted species under stress is needed.

Sentaurus Process User Guide 417


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

Since the migration energy corrections depend on the axis, but the breakup of an impurity pair
in Sentaurus Process KMC does not, an average of the corrections for all the axes is performed,
and the frequency is computed as:
1 x, y, z

0 i
ν stress bk = ν bk exp ( – ΔE b ⁄ ( k B T ) ) --- exp ( – ΔE m ⁄ ( k B T ) ) (666)
3
i

where ν 0 bk is the breakup frequency when there is no stress.

For more information, see Impurities on page 405.

Alloys
Alloys are included in Sentaurus Process KMC simulations as a field instead of as a particle.
Using Ge as an example of an alloy in Si, it means that Sentaurus Process KMC discards the
particular position of Ge (the xyz coordinates) and only keeps track of how many Ge atoms
were introduced in each internal element. Doing this saves a huge amount of memory, while
allowing Sentaurus Process KMC to account for SiGe effects. Ge works as usual, except for
the following limitations:
■ There are no Ge particles in the atomistic 3D plot.
■ Ge (including implanted Ge) is shown as a field in the atomistic 3D plot.
■ There are no events or reports associated with Ge because there are no Ge particles.
■ There are no Ge models (for example, no Ge clusters) except for Ge diffusion.

This model can be used to:


■ Simulate Ge diffusion.
■ Include corrections to the migration and formation energies of point defects and impurity-
paired defects when diffusing in SiGe materials.
■ Include bandgap corrections due to SiGe.

NOTE Sentaurus Process KMC considers the effect of germanium whenever


germanium is present. Continuum parameters (such as Silicon
[Link]) do not affect Sentaurus
Process KMC simulations.

418 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Point Defects, Impurities, Dopants, and Impurity-paired Point Defects

Alloy Diffusion

Ge will be used as an example of an alloy in Si material. Here, the Ge model diffusion


implemented has been based partially on [10]. This model defines the diffusion of Ge in an
indirect way through the use of α of Is and Vs for a Si1–xGex material as:
D IGe ( x )
α I = -----------------
- (667)
D ISi ( x )

where D IGe ( x ) and D ISi ( x ) are the transport capacity associated with Ge and Si interstitials in
Si1–xGex, respectively.

It can be assumed that these α s follow the equation:


( 1 – x )E Si + xE Ge
α ( x ) = α 01, –Six α 0x, Ge exp  – ------------------------------------------- (668)
 kB T 

where α 0, Si , α 0, Ge , E Si , and E Ge are input parameters specified in the PDB. Both interstitials
and vacancies have a different α .

NOTE The Ge diffusion model is switched on by default. To switched it off, set


α 0, Si and α 0, Ge to null values.

Parameters and Parameter Examples

The parameters α 0, Si , α 0, Ge , E Si , and E Ge are specified in the PDB with the names
D0alphaSi, D0alphaGe, EalphaSi, and EalphaGe. In particular:
sprocess> pdbGet KMC Si I EalphaSi
0.4
sprocess> pdbGet KMC Si I EalphaGe
0
sprocess> pdbGet KMC Si I D0alphaSi
35
sprocess> pdbGet KMC Si I D0alphaGe
2.2
sprocess> pdbGet KMC Si V EalphaSi
0.25
sprocess> pdbGet KMC Si V EalphaGe
0
sprocess> pdbGet KMC Si V D0alphaSi
30
sprocess> pdbGet KMC Si V D0alphaGe
2.2

Sentaurus Process User Guide 419


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Damage Accumulation Model: Amorphous Pockets

Alloy Effects

The following sections discuss alloy effects on point defects, impurities, dopants, and impurity-
paired point defects. In the next sections, Ge in silicon is used as an example for these models.

Migration and Formation Energies

The corrections ΔE m = α m [ Ge ] and ΔE f = α f [ Ge ] are added to the migration and


formation energies, respectively. [ Ge ] is the germanium concentration, and α m, α f are the
dependencies of energies with Ge concentration for migration and formation.

Binding Energy

The binding energy of an impurity-paired point defect A i is corrected by:


ΔE b ( A i ) = [ Ge ] ( α f ( I ) + αf ( A ) – α f ( A i ) ) (669)

For more information, see Impurities on page 405.

Bandgap Narrowing

The Ge inclusion changes the band gap as explained in Bandgap Narrowing on page 488.

Introducing Alloys in the Simulation

Alloys can be introduced in the simulation by:


■ Using implantation.
■ Using the select command.
■ Atomizing a previous continuum structure with the alloy.
■ Using kmc add to explicitly add it.
■ Depositing a layer doped with the alloy.

Damage Accumulation Model: Amorphous Pockets


Damage accumulation evolution, that is, the evolution of small interstitial and vacancy clusters
after ion implantations, is a crucial step that affects the subsequent formation of extended
defects and impurity clusters. This accumulation generates the transient-enhanced diffusion
(TED) of commonly used dopants, such as boron.

Experimentally, electron irradiation and light-ion implantation create isolated point defects
inside the silicon. In contrast, heavy ions generate highly disordered regions called amorphous

420 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Damage Accumulation Model: Amorphous Pockets

pockets (APs) as a consequence of the implanted cascades. Depending strongly on the


temperature, ion mass, and dose rate, this disordered region can dissolve as a result of internal
recombination or can grow until an amorphous layer is created. The activation energy for
annealing this damage varies in the literature, 0.9 eV [11] at room temperature, 1.2 eV for
400°C to 550°C , but it is much less than the 2.7 eV reported for truly amorphized amorphous
layers. This means the damage accumulation depends on the dynamic annealing, ripening, and
dissolution history of the APs during the implant process. This annealing can have a quasi-
continuum range of activation energies.

There is much discussion on how this damage is annealed. Some papers point to an annealing
of the disordered region [12]: APs using an internal recombination of IV pairs rather than
through the emission of point defects. Only when the AP does not contain further IV pairs does
it begin to emit its remaining Is or Vs, behaving as a small I or V cluster.

Sentaurus Process KMC simulates the damage accumulation using APs, disordered collections
of point defects (Is and Vs) stable at low temperatures. APs dissolve fast at higher temperatures,
leaving only clusters with the net excess of Is or Vs. APs can contain IV pairs or only Is and Vs.
In the first case, APs try to recombine the pairs; in the second, APs behave as small clusters
and can emit their constituent particles. Whenever an AP containing only Is or Vs (but not IV
pairs) reaches a threshold size, the AP transforms into an extended defect ({311}s for Is, voids
for Vs).

APs can grow capturing new incoming point defects, and they can dissolve by internal
recombination of IV pairs or by particle emission when there are no more IV pairs (see
Figure 48).
2D Projection

Growth

Growth
Internal Recombination

Amorphous Pocket
Figure 48 Growth of APs showing their internal recombination

Sentaurus Process User Guide 421


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Damage Accumulation Model: Amorphous Pockets

Shape
APs have an irregular shape. Sentaurus Process KMC does not reshape the defect as new;
incoming particles join the AP: particles are left in their incoming positions. Figure 49 shows
some APs resulting from an implanted cascade.

Figure 49 APs formed in Sentaurus Process KMC after some implanted as cascades:
interstitials are red, vacancies are green, arsenic is yellow

Growth
APs capture any incoming point defect (I or V) within their capture radius. The capture radius
of APs is the sum of all their constituent particles. Point defects with any charge state are
captured by APs containing both Is and Vs. Only neutral Is or Vs are captured when APs
contain only Is or only Vs.

Recombination
APs containing IV pairs (that is, APs with both interstitials and vacancies) can recombine pairs
using a recombination event, which recombines one I with one V at a time. This event is
performed with a frequency given by:
ν diss = ν 0, diss ⋅ size β exp ( – ( E diss ( size ) + PΔV diss + α IV [ Ge ] ) / ( k B T ) ) (670)

where the prefactor ν 0, diss is called D0_AmorphousPocket in the parameter database, and
size is the size of the cluster.

422 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Damage Accumulation Model: Amorphous Pockets

The size of a cluster InVm is a Tcl procedure of n and m specified in the file [Link] under the
name getAmorphousPocketSize:
fproc getAmorphousPocketSize { sizeI sizeV } {
return [expr ($sizeI + $sizeV)/2]
}

It can be modified by users. β is an exponent called ExponentAmorphousPocket. E diss


depends on the size of the AP and is specified as a list of energies for each size
(Eb_AmorphousPocket). The different sizes are specified as IxeVx. If some energy is not
specified for a size, Sentaurus Process KMC takes the linear interpolation between the last two
specified values. For sizes higher than the last specified size, the last specified energy is
assigned automatically. αIV is the Germanium correction to recombination
(Eb_AmorphousPocketGe) and finally, P is the hydrostatic pressure and ΔV diss is the
activation volume for the AP dissolution (VFAmorphousPocket).

Parameters

The parameters needed by the damage accumulation model are specified using:
pdbSet KMC Si Damage <Parameter> <value>

An example of these parameters is:


sprocess> pdbGet KMC Si Damage D0_AmorphousPocket
0.0005
sprocess> pdbGet KMC Si Damage ExponentAmorphousPocket
0.66
sprocess> pdbGet KMC Si Damage VFAmorphousPocket
0
sprocess> pdbGet KMC Si Damage Eb_AmorphousPocket
IV 0.65
I199V199 2.4
sprocess> pdbGet KMC Si Damage Eb_AmorphousPocketGe
0

For the above parameters, the Eb_AmorphousPocket values for IxVx, with x > 1 and x < 199
will be generated by Sentaurus Process KMC as a linear interpolation between the points (1,
0.65) and (199, 2.4):
Silicon/Damage Eb_AmorphousPocket(IV) = 0.65
Silicon/Damage Eb_AmorphousPocket Interpolated (2) = 0.658838
Silicon/Damage Eb_AmorphousPocket Interpolated (3) = 0.667677
...

NOTE You can change these parameters to calibrate the damage accumulation
model.

Sentaurus Process User Guide 423


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Damage Accumulation Model: Amorphous Pockets

NOTE The maximum size allowed for IV clusters is I249V249.

Emission
When all IV pairs have been recombined, APs behave as small I or V clusters, allowing the
emission of their extra constituent particles. These defects emit neutral Is or Vs particles with
a frequency given by:
ν emit = ν 0, emit ⋅ exp ( – E emit ( size )/ ( k B T ) ) (671)

The prefactor is proportional to the input parameter D0_Cluster, but also includes a
dependency on the size of the cluster. The activation energy for emission of an X (in other
words, either I or V) is:
E emit = E b ( X ) + E m ( X ) + ΔE b ( X ) + ΔE m ( X ) (672)

the sum of the corrected binding energy (that depends on the cluster size) and the migration
energy. The cluster size is defined as the number of contained Is or Vs (see Figure 50).
Em
E(n–1) + E(1)

Eb E diss

E(n)

Ef

E(n–1)

Figure 50 Energies involved in emission of an interstitial from an n-size cluster

D0_Cluster is the constant proportional to the emission prefactor, and Eb_Cluster is the
cluster binding energy, where dependency with size is explicitly assigned. For sizes bigger than
the last specified cluster, the binding energies are computed using:
size a – ( size – 1 ) a
E b ( size ) = E b, L – ( E b, L – E b, S ) ------------------------------------------- (673)
2a – 1

where:
■ E b, L (Eb_LargeCluster) is the binding energy for the largest cluster.
■ E b, S (Eb_SmallestCluster) is the binding energy for the smallest cluster (size 1).
■ a (exponent_Cluster) is the exponent, usually 2/3 or 3/4.

424 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Damage Accumulation Model: Amorphous Pockets

Figure 51 shows some binding energy values and compares them with the numbers obtained
using Eq. 673.
Interstitial Cluster Binding Energies Vacancy Cluster Binding Energies
3 3.5
2.9 3

Binding Energy Eb [eV]


Binding Energy Eb [eV]

2.8 2.5
2.7
2
2.6
1.5
2.5
1
2.4
2.3 0.5
Discrete Discrete
2.2 Continuum energies 0
Continuum energies
2.1 -0.5
0 20 40 60 80 100 120 0 5 10 15 20 25 30
I Cluster Size V Cluster Size

Figure 51 Interstitial cluster (left) and vacancy cluster (right) binding energies; discrete
values are assigned in the parameter database and the continuum energies are
computed using Eq. 673

Finally, the correction applied for the migration is the normal one:
1 x, y, z
ΔE m ( X ) = α m [ Ge ] + --- 
i
exp ( – ΔE m ⁄ ( k B T ) ) (674)
3
i

and for the binding of the particle to the cluster is:


ΔE b ( X ) = PΔV bextended ( X ) + α Cl [ Ge ] (675)

extended
where ΔV b is called VFCluster in the PDB and αCl is the Germanium correction to
binding (Eb_ClusterGe).

Parameters

The parameters for Is and Vs emission are specified only for the silicon material. They can be
found in the interstitial and vacancy files included in the parameter database.

Prefactors
sprocess> pdbGet KMC Si I D0_Cluster
150.0
sprocess> pdbGet KMC Si V D0_Cluster
10

Sentaurus Process User Guide 425


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Damage Accumulation Model: Amorphous Pockets

Energies
sprocess> pdbGet KMC Si I Eb_Cluster
I2 2.45
I3 2.45
(...)
I13 2.853
I103 2.889
sprocess> pdbGet KMC Si V Eb_Cluster
V2 1.4
V3 1.4
V4 2.4
(...)

For sizes between specified sizes (for example, I14 to I102), the parameters are computed as
linear interpolations of the specified values:
Silicon/I Eb_Cluster(I13) = 2.853
Silicon/I Eb_Cluster Interpolated (14) = 2.8534
(...)
Silicon/I Eb_Cluster Interpolated (102) = 2.8886
Silicon/I Eb_Cluster(I103) = 2.889

and parameters for Eq. 672, p. 424:


sprocess> pdbGet KMC Si I Eb_SmallestCluster
2.51
sprocess> pdbGet KMC Si I Eb_LargeCluster
3.09
sprocess> pdbGet KMC Si I exponent_Cluster
0.75
sprocess> pdbGet KMC Si V Eb_SmallestCluster
1.5
sprocess> pdbGet KMC Si V Eb_LargeCluster
3.7
sprocess> pdbGet KMC Si V exponent_Cluster
0.6667

NOTE When changing these parameters, their values affect not only the
damage accumulation model, but also the interstitial and vacancy
supersaturation and, consequently, the transient-enhanced diffusion
(TED). Because the damage accumulation model is the seed for
subsequent extended defects or recrystallization, these values also affect
the formation of extended defects.

426 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Damage Accumulation Model: Amorphous Pockets

Amorphous Pockets Life Cycle


Whenever two point defects (I + I, V + V or I + V) interact with each other, an AP is generated.
When the AP is formed, subsequent incoming Is or Vs are captured and added to the AP. If the
AP contains at least one IV pair, the AP recombines the IV pairs. The IV pair frequency depends
on the number of IV pairs present in the AP. If there is only Is or Vs in the AP, it emits Is or Vs.

The evolution of APs can follow three paths:


■ APs can dissolve recombining internal IV pairs, emitting point defects, or both.
■ AP containing only Is or Vs may be transformed into extended defects: {311} defects for
Is and voids for Vs.
■ If the concentration of some of the boxes (the internal Sentaurus Process KMC grid
elements) containing the AP reaches a concentration threshold, the element is considered
amorphous and its particles are removed from the AP. Consequently, APs only exist in
crystalline silicon.

For example, assuming there is an AP with two Vs and seven Is (I7V2), since the AP contains
both Is and Vs, the only possible event is the recombination of IV pairs. The first IV pair
recombines with the recombination energy assigned to size 2, leaving an I6V1. The second
recombination energy, with a recombination energy assigned to size 1, leaves an I5 AP. This
AP begins to emit Is, with a frequency associated to its size (5). However, if it captures a V, it
becomes an I5V1 and must recombine the IV pair with an associated recombination size of 1.

An AP must satisfy the following conditions before being transformed into a {311} or void:
■ It can contain only Is or only Vs, but not both.
■ It must be bigger than or equal to a threshold size.
■ Transition must be enabled.

The threshold size is specified with the parameters Min311Size and MinVoidSize for Is and
Vs, respectively. The transition is enabled by a value between 0 and 1. This value is computed
as:
P = E 0 × exp ( ( – ( E + ΔE ) ) ⁄ ( k B T ) ) (676)

The prefactor E 0 is specified as D0_APto311 for {311}s and D0_APtoVoid for voids, and the
energies as E_APto311 and E_APtoVoid. For {311}s ΔE are the corrections for pressure and
Ge; for voids ΔE = 0 :
ΔE = PV 311toLoop + α 311toLoop [ Ge ] . (677)

The volume correction is called VF311toLoop, and the Germanium one VF311toLoop.

Sentaurus Process User Guide 427


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Damage Accumulation Model: Amorphous Pockets

For P = 0 , the transition is disabled; for P = 1 , it is enabled. For P > 1 , the value is rounded
to 1. Values between 0 and 1 establish a probability for the transition.

Parameters

Minimum sizes for the transitions:


sprocess> pdbGet KMC Si I Min311Size
33
sprocess> pdbGet KMC Si V MinVoidSize
27

Transition probabilities:
sprocess> pdbGet KMC Si Damage D0_APto311
200000000.0
sprocess> pdbGet KMC Si Damage E_APto311
1.3
sprocess> pdbGet KMC Si Damage D0_APtoVoid
200000000.0
sprocess> pdbGet KMC Si Damage E_APtoVoid
1.3

Interactions of Amorphous Pockets


To change the default AP interactions, use the parameters ReactionsClusterI,
ReactionsClusterV, and ReactionsClusterIV. These parameters control the reactions
between APs containing only interstitials, only vacancies, or both. APs can react not only with
Is and Vs, but also with dopants. In this latter case, the result of the reaction must be specified.

Interaction with Point Defects: I and V

To customize AP reactions, change the parameters defined for I, V, and IV clusters using the
command:
pdbSet KMC Si Damage <ReactionsClusterType> <species> <true/false>

For example, the command:


pdbSet KMC Si Damage ReactionsClusterI I false

disables the reaction I n + I → I n + 1 for small clusters.

428 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Damage Accumulation Model: Amorphous Pockets

Consequently, it disables the ripening of these clusters. The line:


pdbSet KMC Si Damage ReactionsClusterV I false

disables the recombination of I with small vacancy clusters.

Parameters

Small interstitial and vacancy clusters may react with neutral interstitials and vacancies.
Charged interstitials or vacancies are not allowed due to microscopic reversibility reasons:
sprocess> pdbGet KMC Si Damage ReactionsClusterI
I true
V true
sprocess> pdbGet KMC Si Damage ReactionsClusterV
I true
V true

APs with both Is and Vs accept interstitials or vacancies with any charge. In this case, because
they do not emit particles, there are no microscopic reversibility restrictions:
sprocess> pdbGet KMC Si Damage ReactionsClusterIV
I true
IP true
IM true
V true
VP true
VPP true
VM true
VMM true

Interaction with Impurities

APs do not trap impurities, but can interact with them. In this interaction, impurities can lose a
point defect, becoming substitutional (for example, B i + I 2 V 3 → B + I 3 V 3 ) or can gain some
of them being transformed into an impurity cluster (for example, B i + I 2 V 3 → BI 2 + IV 3 ).
Consequently, the interaction within impurities and APs plays a crucial role in deactivating
dopants, typically during implantation and low-temperature anneals.

To control these interactions, use:


pdbSet KMC Si <impurity> <ReactionsClusterType> <species,result> <true/false>

ReactionsClusterType can be ReactionsClusterI for small I clusters,


ReactionsClusterV for small V clusters and ReactionsClusterIV for mixed clusters.

Sentaurus Process User Guide 429


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extended Defects


For example, the reaction B i + I n V m → BI 2 + I n – 1 V m can be disabled for mixed clusters with:
pdbSet KMC Si B ReactionsClusterIV BiM,BI2 false

NOTE A comma must separate the incoming particle from the result, without
any space in between.

Parameters

The reactions between boron (for example) and mixed clusters can be displayed with:
sprocess> pdbGet KMC Si B ReactionsClusterIV
BiM,BI2 true
Bi,BI2 true
BiP,BI2 true
B,BI2 true

There are no reactions between boron and vacancy clusters:


sprocess> pdbGet KMC Si B ReactionsClusterV

The reactions between boron and small I clusters are disabled:


sprocess> pdbGet KMC Si B ReactionsClusterI
Bi,BI2 false
BiM,BI2 false

Extended Defects
Small clusters are defined as immobile agglomerations of interstitials or vacancies, and are
modeled using the AP defects previously explained. When the number of Is or Vs in these
clusters grows above a specified threshold, the small clusters are converted into extended
defects ({311} or void types). Finally, when the ripening of {311}s overcomes some limit, the
{311}s are transformed into dislocation loops.

{311} Defects (ThreeOneOne)


The {311} rod-like defects are associated with TED [13]. Consequently, they need a realistic
simulation, in both shape and energetic values. Its shape is like rectangular stripes of
interstitials lying on a {311} plane along a <110> direction. The paper [14] gives an atomic
model for its structure, whose stability has been confirmed by theoretical studies [15][16][17].

430 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extended Defects

Shape

Sentaurus Process KMC models {311} defects as parallel stripes (rows) of I particles lying in
one of the twelve orientations, randomly chosen, of a {311} plane. The {311} shape is modeled
as Nr rows of Is lying on a <011> line with a distance of a ⁄ 2 between Is in the same line,
and as Nc columns keeping a distance of a 22 ⁄ 4 between them, with a = 0.543 nm , the
silicon lattice constant.

The ratio between length ( L ) and width ( W ) is given by:

W ≈ CL (678)

being C = 0.5 nm . This ratio is maintained reshaping the {311} defect (that is, changing the
number of row and columns) when necessary (see Figure 52).

Figure 52 {311} defects are simulated by Sentaurus Process KMC as parallel stripes (rows)
of I particles lying in a {311} plane: red is silicon interstitials in {311}; green is I
and V in APs; and blue is arsenic

The {311} defects only exist above a size threshold. Smaller defects are assumed to be APs,
and they have an irregular shape (see Amorphous Pockets Life Cycle on page 427).

When {311} defects grow enough, they are transformed into dislocation loop defects (see
Dislocation Loops on page 435). The threshold size (number of interstitials) between {311}
defects and dislocation loops is assumed to follow an Arrhenius plot:
size = prefactor × exp ( E ⁄ ( k B T ) ) (679)

The formation energy of the dislocation loop must be smaller than the {311} formation energy
at the threshold size; otherwise, the threshold is taken as the size where both energies are equal.

Sentaurus Process User Guide 431


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extended Defects

Both prefactor and E are parameters available in the database with names D0_311toLoop
and E_311toLoop, respectively.

Parameters

The parameters to control the transformation between {311}s and loops are specified for
interstitials in silicon:
sprocess> pdbGet KMC Si I D0_311toLoop
1.6
sprocess> pdbGet KMC Si I E_311toLoop
0.68

NOTE These parameters can be changed to fit the {311} to dislocation loop
transition size.

Capture

Each time a neutral I point defect interacts with an I belonging to a {311} defect, the {311}
captures the point defect. Since {311} defects grow and shrink at their ends, the new particle
is attached at the nearest end of the defect. When the end cannot grow because it is too close
to a interface or a boundary, the other end is used.

When 311DopantModel is set to 1, impurities also can be trapped. These trapped impurities
will remain in the captured location until they are re-emitted. Only neutral impurities (or
neutral impurity pairs) are captured and re-emitted.

Emission

To preserve microscopic reversibility between the capture and the emission processes, emitted
particles (neutral interstitials) are taken randomly from one of the two ends and released from
a random point at the {311} surface (see Figure 53 on page 433).

432 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extended Defects

2D Projection
Emission

Recombination Growth

Figure 53 Recombination of defects in a {311} defect

The emission frequency is computed as in APs by:


ν emit = ν 0, emit × exp ( ( – E emit ( size ) + PΔV 311 + α 311 [ Ge ] )/ ( k B T ) ) ) (680)

where the considerations for the AP emission, including all the corrections, apply. The binding
energies are taken from the list supplied with the Eb_Cluster parameter. These energies are
shared with the APs. As explained above, for sizes less than a threshold value, defects are
considered APs. Otherwise, they are rearranged as {311} defects. Consequently, only binding
energies for sizes equal or bigger than APs-{311} threshold applies for {311} defects.
Corrections are applied for both pressure and Germanium content. These corrections are
specified as VF311 and Eb_311Ge, respectively.

{311}s may also emit captured dopants if the 311DopantModel is set to 1. The emission
frequency for them is:
ν emit ( A i ) = ν 0, emit ( A i ) × exp ( – E emit ( ( A i ) ⁄ ( k B T ) ) ) (681)

being the prefactor and activation energy called D0_311 and Eb_311, respectively, in the PDB.

Parameters

For impurity re-emission, the parameters are:


sprocess> pdbGet KMC Si In D0_311
200.0
sprocess> pdbGet KMC Si In Eb_311
2.0

Sentaurus Process User Guide 433


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extended Defects

Recombination

The {311} defects recombine incoming Vs with any charge by annihilation of the Is at the
nearest {311} defect end. When {311} defects dissolve, they do not become APs when the
threshold AP-{311} size is reached. The emission frequency depends on the binding energy,
and the binding energy only depends on the size of the defect. Since a interstitial cluster and a
small {311} defect have the same binding energy when they have the same size, the defect
shape affects only the capture volume, but not the emission frequency. Consequently,
rearranging {311} as small defects and vice versa only changes the capture volume, and these
changes are negligible for small clusters. Nevertheless, the capture volume differences between
small {311} defects and irregular clusters are negligible, and there is no information about the
shape of dissolving {311} defects.

Finally, when a {311} reaches size 2, it releases the particles as two interstitials and the {311}
disappears.

Interactions
Interactions between {311} defects and mobile particles can be modified with:
pdbSet KMC Si <I/V/Impurities> Reactions311 <species> <true/false>

Growth reactions ( I n + I ) are controlled with I, and recombination reactions ( I n + V ) with V.


{311} defects can break up paired dopants capturing the interstitial or recombining the vacancy
(for example, B i + I n → B + I n + 1 ). The remaining dopant will be immediately released or
captured (and re-emitted later) by the defect depending on the value of the parameter
311DopantModel (0 releases dopants, 1 traps it). A captured dopant can be re-emitted. These
reactions enable the {311} to decrease the impurity diffusion.

Only neutral Is react with {311} defects and, consequently, only paired dopants with the same
charge as the substitutional dopant react with {311} defects. Any charge state is allowed for
the recombination of vacancies.

Parameters

Use the following for growth and recombination:


sprocess> pdbGet KMC Si I Reactions311
I true
sprocess> pdbGet KMC Si V Reactions311
V true

434 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extended Defects

For paired impurity breakup (boron, for example), use:


sprocess> pdbGet KMC Si B Reactions311
BiM false
sprocess> pdbGet KMC Si I 311DopantModel
0

You can define the parameter 311DopantModel globally as a default for all dopants, but
define it locally with a different value that overwrites the global value for a particular dopant.
For example:
pdbSet KMC Si I 311DopantModel 0
pdbSetDouble KMC Si B 311DopantModel 1

sets the model for all the impurities as ‘release dopant,’ except for boron.

Dislocation Loops
Dislocation loops are planar defects lying on {111} planes [18]. A dislocation loop can be
either a faulted dislocation loop (FDL) or perfect dislocation loop (PDL). FDLs are circular
stacking faults surrounded by a dislocation line. PDLs are not implemented in Sentaurus
Process KMC.

{311} defects are the precursors of dislocation loops. When the implant conditions (available
concentration of I, distance to the free surface) are appropriate, {311} defects grow until they
reach the threshold size and transform into dislocation loops. Dislocation loops are more stable
than {311} defects; consequently, the supersaturation created by dislocation loops is lower.

Shape

The shape of dislocation loops is computed as a filled circle in a {111} orientation (see
Figure 54). All {111} orientations are allowed, and one is randomly chosen.

Figure 54 A dislocation loop taken from a Sentaurus Process KMC simulation

Sentaurus Process User Guide 435


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extended Defects

Capture

Dislocation loops capture any incoming neutral interstitial. The original position is lost, and
the particle is moved to the proper position in the disk. The capture radius is the sum of the
capture radius of the constituent particles.

When the ReactionsLoop is set and LoopDopantModel is true, dislocation loops capture
incoming impurities. When LoopDopantModel is false, the impurity is not captured.
However, when it carries a point defect (in other words, is an impurity pair), the pair is broken;
the impurity is deposited as a substitutional impurity; and the point defect reacts with the loop.

Emission

Dislocation loops emit neutral interstitials with a frequency given by:


E b, loop ( size ) + E m ( I ) + ΔE m ( I ) + ΔE b, loop
ν emiss = ν 0, emiss × exp  – ---------------------------------------------------------------------------------------------------------- (682)
 kB T 

ν 0, emiss includes both a prefactor and a linear dependency with the dislocation loop size, and
E b, loop ( size ) is the binding energy of the dislocation loop, which only depends on the size.
Sentaurus Process KMC computes the binding energies as:
E b, loop ( size ) = E f ( I ) + E f, loop ( size – 1 ) – E f, loop ( size ) (683)

The dislocation loop formation energies are taken from [19] as:

a2μ
E f, loop ( size ) = πγR 2 + -------------------- ⋅ R ⋅ log  ------- – nE f ( I )
8R
 b
(684)
6(1 – ν)

where:
■ R = size ⁄ ( πd 111 ) is the loop radius.
■ γ is the stacking fault energy per unit area.
■ μ is the shear modulus.
■ ν is the Poisson ratio.
■ b is Burger’s vector modulus.
■ a is the silicon lattice parameter.
–2
■ d 111 is the atomic density in a {111} plane, in nm .

The above parameters are specified in the parameter database. γ is called gamma, μ is mu, ν
is nu, and b is named burgVectMod. The emission prefactor is called D0_Loop.

436 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extended Defects

The corrections applied to the migration energy of interstitials are the usual ones:
1 x, y, z
ΔE m ( I ) = α m [ Ge ] + --- 
i
exp ( – ΔE m ⁄ ( k B T ) ) (685)
3
i

and for the binding of the particle to the loop is:


ΔE b, loop = PΔV bloop + α loop [ Ge ] (686)

loop
where ΔV b is called VFLoop, and α loop is called Eb_LoopGe in the PDB.

Captured impurities (when LoopDopantModel is true) re-emit impurities into the bulk with a
frequency given by:
ν emit ( A i ) = ν 0, emit ( A i ) × exp ( – E emit ( ( A i ) ⁄ ( k B T ) ) ) (687)

being the prefactor and activation energy called D0_Loop and Eb_Loop in the PDB,
respectively.

Parameters

The parameters needed for the simulation of dislocation loops are defined for interstitials in
silicon:
sprocess> pdbGet KMC Si I D0_311toLoop
1.6
sprocess> pdbGet KMC Si I E_311toLoop
0.68
sprocess> pdbGet KMC Si I D0_Loop
1000000.0
sprocess> pdbGet KMC Si I gamma
0.4375
sprocess> pdbGet KMC Si I mu
472
sprocess> pdbGet KMC Si I nu
0.3
sprocess> pdbGet KMC Si I burgVectMod
0.3135
sprocess> pdbGet KMC Si I VFLoop
0
sprocess> pdbGet KMC Si Eb_LoopGe
0

Sentaurus Process User Guide 437


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extended Defects

For impurity re-emission, the parameters are:


sprocess> pdbGet KMC Si In D0_Loop
200.0
sprocess> pdbGet KMC Si In Eb_Loop
2.0

NOTE These parameters can be changed to fit the dislocation loop formation
and dissolution.

Figure 55 shows how a dislocation loop grows capturing interstitials, and how it shrinks
recombining incoming vacancies or emitting interstitials.

Growth
Dislocation Loop

2D Projection

Recombination

Emission

Figure 55 Emission, capture, and recombination of point defects in a dislocation loop

Interactions

The interactions between dislocation loops and mobile particles are:


■ Growth reactions. Only with neutral Is:
pdbSet KMC Si I ReactionsLoop I <true/false>
■ Recombination reactions. Any vacancy:
pdbSet KMC Si I ReactionsLoop <V/VM/VP/VMM/VPP> <true/false>
■ Impurity pairs break up and interact with the associated point defect (I or V). Only with
pairs with the substitutional charge state the same as the substitutional dopant (for example,
Bi– for B–). The interstitial or vacancy is trapped or recombined, and the dopant is released
(0) or trapped (1) depending on the model used. The model is specified for all dopants
(default value) using the parameter LoopDopantModel for interstitials.

438 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extended Defects

This particular default can be overwritten for one particular dopant.


pdbSet KMC Si I LoopDopantModel <true/false>
pdbSetDouble KMC Si <dopant> LoopDopantModel <true/false>

Parameters

Loops trap interstitials, but the recombination of vacancies is disabled:


sprocess> pdbGet KMC Si I ReactionsLoop
I true
sprocess> pdbGet KMC Si V ReactionsLoop
V false

Loops can break up some paired dopants, for example, boron:


sprocess> pdbGet KMC Si B ReactionsLoop
BiM true
sprocess> pdbGet KMC Si I LoopDopantModel
0

Voids
Small vacancy defects have been reported (using paramagnetic resonance and
photoluminescence) [20][21][22][23]. Theoretical studies [24][25] indicate that some of these
small clusters can be particularly stable. Sentaurus Process KMC models these small clusters
as APs and, consequently, they have irregular shapes. Nevertheless, size-dependent binding
energies are considered for their V emission (see Damage Accumulation Model: Amorphous
Pockets on page 420).

Vacancy clusters appear as spheroidal voids when they are big enough to be seen by TEM [26].
Tight-binding molecular dynamics studies show that the binding energies are a function of the
cluster size [27] (see Figure 56 on page 440).

Sentaurus Process User Guide 439


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extended Defects

Figure 56 Voids are simulated with a spherical shape; this one contains 654 vacancies

Shape
The threshold size between irregular small vacancy clusters (APs) and voids is specified with
the parameter MINVoidSIZE. Another parameter, MAXVOIDSDIAM, is used to set up the
maximum-allowed diameter (in nanometers) for these defects.

Reshaping the small clusters into voids above the mentioned limit is necessary to maintain the
right volume/surface ratio, as the V cluster grows. A large cluster of n vacancies is reshaped to
be spheroidal, occupying the volume corresponding to the same number of silicon lattice sites.
Sentaurus Process KMC manages the void shape to assert that its density is correct.

Parameters

The parameters for voids are specified for silicon material and vacancy as species:
sprocess> pdbGet KMC Si V MinVoidSize
27
sprocess> pdbGet KMC Si V MaxVoidDiam
5.0

440 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extended Defects

Capture

Voids capture neutral vacancies, rearranging them to have a spheroidal shape. Figure 57 shows
the possible interactions between voids and point defects.

Void Growth

2D Projection

Recombination

Emission

Figure 57 Voids are big cluster vacancies with a spherical shape that grow trapping neutral
vacancies and shrink by recombination and vacancy emission

Emission

Voids emit neutral vacancies with a frequency:


ν = ν 0 × exp ( – ( E b, void ( size ) + ΔE b, void + E m ( V ) + ΔE m ( V ) ) ⁄ ( k B T ) ) (688)

ν 0 is a prefactor which includes a constant and a dependency with the surface of the void, and
E b, void ( size ) is the binding energy of a void. These binding energies are assigned in the
parameter database together with the small vacancy cluster binding energies. For information
on how to locate and modify them, see Amorphous Pockets Life Cycle on page 427. For voids,
only the values for sizes bigger than the AP-Void threshold apply.

Finally, corrections to the migration energy of vacancies and the binding of them to the void
are applied. The migration correction is the usual one:
1 x, y, z
ΔE m ( V ) = α m [ Ge ] + --- 
i
exp ( – ΔE m ⁄ ( k B T ) ) (689)
3
i

and for the binding energy, it is corrected using the parameter for small vacancy clusters:
ΔE b, void = PΔV bcluster ( V ) + α void [ Ge ] (690)

where α void is Eb_VoidGe.

Sentaurus Process User Guide 441


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

Recombination

Voids recombine incoming interstitials with any charge.

Interactions

Interactions between void defects and other particles fall into these categories:
■ Trapping of neutral vacancies (growth):
pdbSet KMC Si V ReactionsVoid V <true/false>
■ Recombination of interstitials:
pdbSet KMC Si V ReactionsVoid <I/IM/IP> <true/false>
■ Impurity pair breakup. Voids do not trap impurities, but they can trap or recombine the
interstitial or vacancy associated with a paired impurity. (For example,

B i + V n → B + V n – 1 ). The pair must have the same charge as the substitutional dopant (in
other words, Bi– for B–, AsV+ for As+).
pdbSet KMC Si <impurity> ReactionsVoid <species> <true/false>

Parameters

Voids trap vacancies and recombine interstitials:


sprocess> pdbGet KMC Si V ReactionsVoid
V true
sprocess> pdbGet KMC Si I ReactionsVoid
I true

Voids may break up some pairs. For example, Bi– is disabled:


sprocess> pdbGet KMC Si B ReactionsVoid
BiM false

Amorphization and Recrystallization


A predictive atomistic process simulator must include an amorphization model. Nevertheless,
accounting for each particle and position during the amorphization, although possible [28], is
not convenient for the sizes, times, and computer resources involved in process modeling.
Despite this, amorphization involves the destruction of the lattice structure. Without a lattice,
the KMC method, which discards the lattice and tracks only defects, is opened to a
quasiatomistic approach, as explained in this section.

442 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

Figure 58 shows a generic damage concentration profile after an implant.

Amorphization
C

a–c
Figure 58 Damage concentration profile after an implant

There are two different concentrations in Figure 58 (A and C) and one concentration threshold
called Amorphization. This threshold is stored in the parameter database in the damage
section as AmorphizationThreshold:
sprocess> pdbGet KMC Si Damage AmorphizationThreshold
1.5e+22

NOTE You can change this limit if necessary. The damage accumulation model
is dependent on the AmorphizationThreshold.

The behavior of the simulator while adding new point defects (damage) differs depending on
the local concentration of the internal grid elements. A new point defect is inserted into a box
depending on the concentration of that box. If the concentration is smaller than the
Amorphization threshold (C, crystalline region), the point defect is inserted as it is. In other
words, a particle is placed inside the simulator with its three coordinates, the defect, and
particle type. Finally, the damage concentration can be higher than the amorphization threshold
(region A (amorphous) in Figure 58). In this case, if a particular crystalline volume (specified
by the parameter minAmorphousVol) has an averaged damage concentration larger than the
threshold, the entire internal volume is assumed to be amorphous. The atomistic 3D
coordinates for Is and Vs are discarded for amorphous boxes because the definition of a point
defect is now meaningless in an amorphous region, and only their concentration is stored.
Finally, the material of the internal box changes from crystalline (such as silicon) to amorphous
(such as amorphous silicon) and an interface, which is capable of simulating a three-phase
segregation model, is created between them.

NOTE For amorphous regions, the atomistic 3D information is discarded, and


only the number of particles is stored. When asking Sentaurus
Process KMC for the atomistic information (the 3D coordinates for
each particle), you should not expect to obtain Is and Vs in amorphous
regions.

Sentaurus Process User Guide 443


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

NOTE To obtain the amorphous–crystalline interface, use the command:


kmc extract acinterface

Amorphous Defects
An amorphous defect is a special defect assigned to each grid element of Sentaurus
Process KMC with a damage level above the amorphization threshold.

Material

Amorphous defects are always associated with amorphous materials. Each amorphous internal
element is paired with an amorphous defect.

Shape

The shape of an amorphous defect coincides with the element containing it. Amorphous layers
are created as a set of several amorphous defects. Consequently, amorphous layers can follow
any complicated amorphous geometry, but always as a set of Sentaurus Process KMC
elements.

Growth

Amorphous defects do not grow because they are limited to the size of the element. Amorphous
layers grow when new elements are amorphized and become amorphous. These amorphous
elements capture any incoming particle.

Recombination

These defects can recombine their damage and become crystalline silicon. Amorphous defects
do not emit particles; recrystallization is the only event they can perform.

Diffusion in Amorphous Materials


Two models are available for diffusion in amorphous materials:
■ A simpler, direct diffusion model
■ An indirect diffusion model that uses dangling bonds as an intermediate species

444 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

To select the model to use, set KMC <material> Damage [Link] to true,
where <material> is the crystalline material.

Direct diffusion

Dopants can diffuse in amorphous materials using direct diffusion. The implemented
diffusivity is:
D m ( X ) = D m, 0 ( X ) exp ( – E m ( ( X ) ⁄ ( k B T ) ) ) (691)

where the parameters D m, 0 and E m are input parameters.

Parameters

The parameters D m, 0 and E m needed for diffusion in amorphous materials are specified in the
PDB as Dm and Em, respectively, under the amorphized material:
pdbSet KMC <amorphous material> <dopant> Em <dopant> <value>

For example:
pdbSet KMC AmorphousSilicon B Em B 0.8
pdbSet KMC AmorphousSilicon B Dm B 1e-3

NOTE The alias aSi can be used for AmorphousSilicon.

Indirect Diffusion

The observed boron diffusion in amorphous silicon does not seem to obey a standard Fick’s
law with constant diffusivity prefactors and activation energy, thereby making the direct
diffusion model in amorphous silicon inaccurate. A different model has been proposed
[29][30] that relies on the presence and distribution of dangling bonds and floating bonds and
that interacts with the boron atoms. In this model, an initial number n 0 of dangling bonds
(threefold-coordinated atoms) and floating bonds (fivefold-coordinated atoms) is created
during amorphization.

These dangling bonds and floating bonds are allowed to evolve using a simple direct diffusion
D d for dangling bonds and D f for floating bonds. Dangling bonds and floating bonds can
interact with them, annihilating each other. Dangling bonds also can interact with boron (or any
other user-defined impurity) with a proportionality constant α .

In this model, boron in amorphous silicon can exist in two different states: an immobile
4 3
fourfold-coordinated B state and a highly mobile threefold-coordinated B state. Boron
changes between these two states by capturing and releasing a dangling bond. The threefold

Sentaurus Process User Guide 445


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

mobile boron is allowed to diffuse with a simple Arrhenius plot. Boundary conditions can be
set at the AmorphousSilicon_Silicon and AmorphousSilicon_Oxide interfaces for
dangling bond (DB) and floating bond (DB) recombination. Finally, despite the initial
concentration n 0 of dangling bonds produced by amorphization, an extra contribution of γ [ B ]
is added to produce a total DB concentration of:
nB = n0 + γ [ B ] (692)

where γ is a coefficient relating to the presence of boron atoms in amorphous silicon with an
excess of dangling bonds, and [ B ] is the concentration of boron in amorphous silicon.

Consequently, the following reactions are allowed:


DB + FB → ∅ (693)

B 4 + DB ↔ B 3 (694)

Implementation

To minimize the number of species and physical mechanisms, the implementation of indirect
diffusion through dangling bonds and FBs has been done by renaming:
■ Dangling bonds as interstitials in amorphous silicon
■ Floating bonds as vacancies in amorphous silicon
4
■ B as substitutional boron in amorphous silicon
3
■ B as interstitial boron in amorphous silicon

In this way, all that is needed is to allow I and V inclusion, and the following reactions in
amorphous silicon:
I+V→∅ (695)

B + I ↔ Bi (696)

The B interaction with I and further emission by B i are modeled as a regular kickout
mechanism. Consequently, the parameter α is modeled indirectly through the binding energy
and prefactor of the B i pair.

When amorphizing an element with volume ΔV , an initial number of n 0 ΔVδ Is and Vs will be
created inside, where δ is the silicon density. If there are boron atoms inside or boron atoms
are introduced through implantation or any other means (for example, using the select or
profile commands), an extra number of γ Is will be introduced per boron atom.

446 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

Parameters

The parameters needed for this model are introduced in different places. If you want to model
the indirect diffusion of boron in amorphous silicon (other impurities or amorphous materials
are accepted also), you can use aSi as an alias for AmorphousSilicon.

Table 52 Parameters used for indirect diffusion in amorphous silicon


Parameter Description Symbol

KMC aSi [Link] true Model activation. None

KMC aSi I Dm I <value> Dangling bond diffusion. Dd


KMC aSi I Em I <value>

KMC aSi V Dm V <value> Floating bond diffusion. Df


KMC aSi V Em V <value>

KMC aSi B Dm Bi <value> B3 diffusion. None


KMC aSi B Em Bi <value>

KMC aSi B Eb Bi <value> B3–B4 reaction rate. α


KMC aSi B Eb Bi <value>

KMC aSi B ReactionsPointDefect B,I true B 4 + DB ↔ B 3 . None

KMC Si Damage amorphous.n0 <value> Initial dangling bond and floating bond n0
percentage (versus silicon density).

KMC aSi B gamma <value> Number of dangling bonds created per γ


boron atom.

Impurity Clusters in Amorphous Materials


Impurities diffusing in amorphous materials can interact with each other and form impurity
clusters. In contrast with impurity clusters in crystalline volumes, the amorphous impurity
clusters do not contain interstitials or vacancies, and are only an agglomeration of impurities.
Consequently, they can only re-emit the trapped impurities. With this exception, they behave
as regular impurity clusters. For further information, see Impurity Clusters on page 460.

Sentaurus Process User Guide 447


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

Recrystallization
Two recrystallization models are implemented:
■ The simple KMC quasiatomistic model assigns a recrystallization rate to each amorphous
defect for recrystallization simulations. No orientation dependencies are allowed.
■ The fully atomistic model uses a lattice kinetic Monte Carlo (LKMC) method to simulate
the evolution of the amorphous–crystalline interface. This model includes orientation-
dependent solid phase epitaxial regrowth (SPER) and facet formation.

The recrystallization model is set up with:


pdbSet KMC <material> Damage [Link] <model>

where <material> is the crystalline material (typically, silicon), and <model> is one of the
following:
■ LKMC model
■ Simple KMC quasiatomistic model

KMC: Quasiatomistic Solid Phase Epitaxial Regrowth

Recrystallization is implemented as a special event performed by the amorphous defects. At a


given temperature, every amorphous defect can recombine all its internal damage, in other
words, recrystallize, with a frequency ν recryst . The recrystallization of several amorphous
defects with different recrystallization frequencies, depending on their recrystallization axis
and the number of amorphous neighbors, generates an advancing recrystallization front, as can
be seen in Figure 59 on page 449.

448 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

Figure 59 Source and gate of a transistor during SPER, as simulated by Sentaurus


Process KMC. The total concentration of interstitials is represented. The time
evolution is shown while the recrystallization front (a consequence of the
recrystallization of isolated amorphous defects) is moving. At the end, there is
only damage near the a-c interface. This remaining damage may form end-of-
range (EOR) defects.

Therefore, if w is the length of an amorphous defect in the recrystallization direction, the


frequency associated with the recrystallization is v/w. This recrystallization velocity v is
computed as an Arrhenius function that includes dependencies on both the local Fermi level
and the presence of impurities [31]:
Fermi
V ( n ) = V0 ( n ) × exp ( – ( E recryst ( n ) + PΔV SPER + c ) ⁄ ( k B T ) ) (697)

E recrys ( n ) parameters are specified as E_recryst. ΔV SPER is the activation volume for SPER
(dependency on hydrostatic pressure) called VFRecryst, and n is the percentage of
amorphous material around a given element. The time it takes to recrystallize an amorphous
cell depends on the number of amorphous neighbors; the more neighbors that are amorphous,
the longer it takes. The longer recrystallization takes, the more stable the amorphous defect, so

Sentaurus Process User Guide 449


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

its activation energy is bigger. V 0Fermi accounts for the prefactor, including dependency on the
Fermi level. This dependency is introduced as:
V 0Fermi ( n ) = V 0 ( n ) ( 1 + K × Doping ) (698)

being V 0 ( n ) and the input parameter called V0_recryst. Doping is the local amorphous
element doping, and K is a calibration parameter (different for n-type and p-type materials)
called V0_recrys_ntype and V0_recrys_ptype, respectively.

Finally, c takes into account the changes in SPER regrowth due to local impurity
concentration. This correction term is modeled as:

  [ Impurity ]  
x
[ Impurity ] x
c =    5 × 10 22   Erecrys ( 50 ) +  ---------------------------
 1 –  ---------------------------
- 
5 × 10 22  f
- E ( Impurity ) (699)
Impurities

E f ( Impurity ) is the parameter controlling how much each impurity changes the planar
recrystallization activation energy (assumed to have 50% amorphous neighboring elements). x
is an exponent to control how this correction depends on the dopant concentration. A null
impurity concentration gives a zero correction, while an impurity concentration of 5 × 10 22
produces c = E f ( Impurity ) – E recrys ( 50 ) . Consequently, E f ( Impurity ) represents the planar
recrystallization activation energy if the sample contains only the impurity, while x allows it
to control the transition between these two opposite situations. These parameters are called
E_recrys and E_recrys_exponent, respectively in the PDB.

This model, in which elements with fewer amorphous neighbors recrystallize faster, extends
the ideas described in the literature [28] for amorphous elements. This simple method can
simulate the faster recrystallization of amorphous corners or thin amorphous panhandlers
embedded in crystalline silicon.

Finally, if a recrystallization event that will break the compactness of the amorphous layer is
detected, its recrystallization will be retarded by the parameter CompactFactor. This
prevents the formation of amorphous isolated islands and ensures a better compactness of the
amorphous material.

Parameters

The parameters for the recrystallization model are:


sprocess> pdbGet KMC Si Damage VFRecrys
0
sprocess> pdbGet KMC Si Damage V0_recrys
0 1.7e8
99 1.7e8
100 0
sprocess> pdbGet KMC Si Damage E_recrys
0 1.72

450 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

15 1.72
40 2.7
70 2.7
95 3.3
99 5

NOTE To produce consistent notation, the suffix has changed from recryst
to recrys.

The unspecified values between two specified ones are computed by linear interpolation.

The parameters controlling the Fermi level and impurity concentration dependencies are
specified for each dopant (and material). For example, for boron, they are:
sprocess> pdbGet KMC Si B E_recrys
2.7
sprocess> pdbGet KMC Si B E_recrys_exponent
1

LKMC: Fully Atomistic Modeling of Solid Phase Epitaxial Regrowth

It is well known that the SPER velocity depends on the substrate orientation with approximate
ratios of 20:10:1 for orientations (100), (110), and (111), respectively. In addition, the
recrystallization of thin layers in fin transistors is shown as an ‘arrow tip’ shape formed by two
(111) planes that slow down the SPER, leading to the formation of polycrystalline silicon in
regions still not recrystallized.

This model, based on the literature [32], introduces the lattice in the amorphous–crystalline
interface and assigns a recrystallization event to each of the atoms there. When an internal
mesh element is detected to be amorphous as explained in Amorphization and
Recrystallization on page 442, the silicon lattice is recreated around it. This lattice takes into
account the wafer orientation specified in the init command. Those lattice atoms belonging
to crystalline elements are assigned a “crystalline” flag, while those belonging to the
amorphous element are assigned an “amorphous” flag. This produces the initial amorphous–
crystalline interface. At this point, even when the amorphous–crystalline interface still follows
the contour of the internal mesh, it is formed by a set of individual lattice atoms.

From this point, different recrystallization rates are assigned to each atom at the interface. The
interface is defined as the set of lattice atoms that, having an amorphous state, has at least one
first neighbor with a crystalline state. Any other lattice atom that does not belong to this
interface has a recrystallization rate of 0. This means that crystalline-lattice atoms have a zero
probability of recrystallizing (because they are already crystalline).

Sentaurus Process User Guide 451


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

In some cases where regular SPER is very slow, random nucleation and growth can produce
polysilicon material [33] not simulated here. Inclusion of defective silicon created during
SPER also is not simulated.

For amorphous lattice atoms belonging to the interface (in other words, surrounded by at least
one crystalline lattice atom), a SPER rate is assigned. The model assumes that an atom in the
amorphous phase must form two undistorted bonds with its first neighbors in the silicon phase
to become crystalline. For amorphous atoms close to a (001) surface, this happens naturally.
For (011) surfaces, two adjacent amorphous atoms have to cluster together so that each atom
has two undistorted bonds. Finally, for (111) orientations, three atoms are needed to cluster
together.

Consequently, there will be three different recrystallization prefactors – K(1), K(2), and K(3)
– depending on the number of amorphous atoms needed to complete two undistorted bonds.
These K(1), K(2), and K(3) prefactors will be related but not proportional to the different (001),
(011), and (111) SPER velocities. In particular, K(2) and K(3) are probabilities for two and
three atoms, respectively, to come together in an amorphous phase and form spontaneously
undistorted crystalline bonds between them. Consequently, K(2) is expected to be smaller than
K(1), and K(3) is expected to be smaller than K(2), by several orders of magnitude.

Each of these lattice atoms is given a recrystallization frequency of:

 ( E recryst
LKMC + ( ε
xy + ε xz + ε yz )λ + PΔV
SPER + c )
ν LKMC = ν 0Fermi × K ( n ) × exp  – ----------------------------------------------------------------------------------------------------------------------- (700)
 kB T 

K ( n ) are the K(1), K(2), and K(3) prefactors explained above where:
■ ν 0Fermi = 1 + K × Doping is a Fermi-level correction similar to Eq. 698.
recrys ( 50 ) in Eq. 697.

LKMC is taken as E
E recryst
■ ε xy , ε xz , and ε yz are the absolute value of the shear stresses.
■ λ is a parameter coupling the shear stresses.
■ PΔV SPER and c are the same terms as those defined in Eq. 697.

Figure 60 on page 453 shows the evolution of an amorphized fin during SPER when this model
is used, after 2-, 4-, and 6-minute annealing at 550°C . When the arrow tip is formed by the
two lateral 111 planes, the recrystallization is almost stopped (middle and right images). The
planes are formed by the presence of the oxide–silicon interface. Since the oxide does not
provide the needed undistorted bonds for silicon recrystallization, it is used as a starting point
for the (111) plane formation.

A similar model using LKMC for epitaxial regrowth can be read in Epitaxial Deposition on
page 507.

452 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

Figure 60 SPER evolution (blue is crystalline silicon; red is amorphous one) with time (left to
right) 2, 4, and 6 minutes at 550°C ) of a thin (20 nm) silicon fin. The oxide (brown
material) does not provide the correct template for the lattice atoms to form
undistorted bonds, stopping the recrystallization and leading the way to the (111)
planes. When the two (111) planes are formed, no further fast (100) SPER is
possible, and the SPER occurs through the very slow and defect-prone (111)
recrystallization.

Several corrections are applied to the recrystallization rate of a lattice atom. Three of them –
the pressure correction ( PΔV SPER ), the impurity correction (through the term c ), and the
Fermi-level correction ( ν 0Fermi ) – are the same in both this model and the simple KMC model
(see KMC: Quasiatomistic Solid Phase Epitaxial Regrowth on page 448).

Shear-Strain Correction

The correction for shear strain, ( ε xy + ε xz + ε yz )λ , is unique to this model. Its inclusion
allows the LKMC model to successfully simulate the evolution of line-shaped amorphized
regions. The experimental rate at the corners of line-shaped amorphized regions is very small,
producing a pinching of the SPER interface at the corners [34]. This can be simulated with the
inclusion of this shear stress term [32]. The shear strain is generated during amorphization due
to the different density of the amorphous phase. The expansion of the amorphous phase is not
possible in embedded amorphous regions. The compression of the amorphous phase leads to a
sharp gradient of shear stress at the corners. The model uses the shear strain to simulate the
anomalous regrowth patterns and facet formation experimentally seen in rectangular-shaped
amorphized regions, as shown in Figure 61 on page 454.

Sentaurus Process User Guide 453


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

Z
ElasticStrainELXY [1]
1.1e-02

Y
6.1e-03
X 1.2e-03
-3.6e-03
0
-8.5e-03
-1.3e-02

Y [µm]
0.02

0.04

0.01 0.02 0.03 0.04


X [µm]

Figure 61 Recrystallization of a rectangular-shaped amorphous region using the LKMC


model in Sentaurus Process KMC

Figure 61 (left) shows the distribution of lattice atoms at the amorphous interface side. A (111)
plane, featuring a small nano-island, can be observed close to the interface. The trench formed
at the corner is due to the perturbation introduced by shear strain. Figure 61 (right) shows the
xy shear strain distribution; its maximum intensity occurs at the corner.

Since this model relies on the strain created by the different density of the amorphous material
versus the silicon one, some extra commands must be introduced in the script to account for it.

First, a new material to account for amorphous silicon in the mechanics simulator must be
introduced:
mater add name = Amorph

Mechanics properties for this new material must be defined:


pdbSetDoubleArray Silicon Amorph [Link] {0 0 1 0.02}
pdbSetBoolean Silicon Mechanics UpdateStrain 1

and Sentaurus Process KMC must be instructed that stress is being taken into account:
pdbSet KMC Stress 1

Finally, the synchronization between the atomistic and the mechanics simulator is automatic.
After every mechanics step, the KMC Stress 1 parameter instructs Sentaurus Process KMC
to update the stress and strain fields. After each diffusion (atomistic diffusion) step, Sentaurus
Process KMC updates the “Amorph” distribution by automatically calling the procedure
KMCSync written in [Link]. This procedure, which can be modified by the user but, in

454 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

principle, does not need to be, contains the lines responsible for updating the amorphous region
in mechanics to properly account for the strain and stress:
LogFile IL2 "A/C synchronization: KMC -> PDE"
kmc deatomize name=AC
sel Silicon z=1e22*AC name=Amorph store

Parameters

Table 53 lists the parameters used in this model. It is assumed that silicon (Si) is the crystalline
material and amorphous silicon (aSi) is the amorphous material.

Table 53 Parameters for LKMC model


Parameter name as typed in parameter database Description Symbol

KMC Si Damage [Link] <model> Use LKMC to set the model, KMC to unset. None

KMC Si Damage [Link].100 <value> Value for the prefactor associated with 100 SPER. K(1)

KMC Si Damage [Link].110 <value> Value for the prefactor associated with 110 SPER. K(2)

KMC Si Damage [Link].111 <value> Value for the prefactor associated with 111 SPER. K(3)

KMC Si Damage [Link] <value> Shear-strain coupling parameter. λ

KMC Si Damage VFRecrys <value> SPER pressure correction (same as the KMC ΔV SPER
model).

KMC Si Damage E_recrys 50 <value> Activation energy for recrystallization (same as the LKMC
E recryst
KMC model).

KMC Si Damage V0_recrys_ntype <value> Fermi-level corrections (same as the KMC model). ν 0Fermi
KMC Si Damage V0_recrys_ptype <value>

KMC Si Damage E_recrys <value> Impurity corrections (same as the KMC model). c
KMC Si Damage E_recrys_exponent <value>

KMC Si Damage [Link] <value> Lattice constant. None

Defect Generation during SPER

It is known that when (111) planes have formed in a simulation, the recrystallization beyond
these planes is defective, and silicon of low quality, or even polysilicon, is formed. A simple
predictive LKMC model for defect formation during SPER based on [35] and [36] is included.

Such modeling is performed by assigning two tags after every recrystallization event in the
lattice: a normal tag for sites sharing the substrate configuration, and a defective tag for sites
assumed not to bond to their neighbors and that form twin defects. Although this modeling
does not physically set the atoms in twin positions, but only assigns them a tag while remaining

Sentaurus Process User Guide 455


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

in a perfect crystalline position, it is sufficient to predict the defective regions in silicon and to
slow down SPER in a similar way to experiments [35][36].

The new defective sites are produced by two mechanisms:


■ Recrystallization of (111) sites, having a probability Pdef of becoming defective.
■ Recrystallization of atoms in the neighborhood of defective sites, inheriting such tags and
becoming also defective.

The definition of a coordination number, a keystone in this model to identify the microscopic
configurations, also is modified to distinguish between normal and defective sites. In this way,
the formation of defects slows down the recrystallization of neighboring sites.

The formed defects are represented in the non-LKMC module as an IV twin defect in the TDR
file. No actions are associated with them in the regular KMC simulator. Consequently, when
they are formed, twin defects do not disappear and do not interact with other particles. They
are created for users to identify the regions predicted to have highly defective silicon.

The only new parameter needed for the model is the probability of (111) recrystallizations to
produce twin defects. This parameter is specified in:
pdbSet KMC Si Damage [Link] <0-1>

Figure 62 Evolution of a thin (20 nm width) amorphized silicon fin (amorphous is red,
crystalline is blue) annealed at 600oC; arrow-shaped a/c interface is represented
by yellow atoms and formation of defects (twins) is shown as white spheres

456 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

Figure 63 Concentration of twin defects representing defective silicon formation when


SPER is in an amorphous region close to SiO2 (silicon is blue, SiO2 is brown)

Figure 62 on page 456 and Figure 63 show two examples where twin-defect formation is
involved. Figure 62 represents the formation of defects during the SPER of a thin silicon fin.
Figure 63 shows the defective triangular-shaped region, bounded by a (111) plane, typical of
SPER close to SiO2-filled trenches.

Redistributing Damage

The recrystallization event forces all IV pairs inside an amorphous defect to recombine. The I
or V excess is redistributed to the neighboring amorphous boxes if any. Otherwise, the excess
is recombined at the surface. If there is no free surface/interface neighboring amorphous boxes,
it is left as point defects. If the recrystallization front has crossed several elements, the amount
of excess point defects can be high. When the defects are deposited in the crystalline silicon,
they grow and ripen into extended defects depending on the annealing conditions.

Sentaurus Process User Guide 457


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

Parameters

The parameter depositExcessDamage controls whether to redistribute the excess or to


discard it. In simulations with buried amorphous layers, setting this parameter to true is
suggested:
sprocess> pdbGet KMC Si Damage depositExcessDamage
0

Impurity Sweep/Deposit

The recrystallization process may affect the impurity concentration. The recrystallization front
moves indium and other dopants away, changing the concentration profiles [37][38]. To model
this effect, the amorphous defects transfer impurities during recrystallization:
■ Dopants usually (recrysDeposit) remain in the box or move away with the
recrystallization front (see Figure 64 on page 459). The two available models for this
movement are Elements and Hops, chosen by the RedistributionModel parameter:
• The Elements model takes all the n particles in one internal element and moves
n × recrysDeposit to the adjacent one. If moving the dopant with the
recrystallization front increases the concentration of the neighboring element more
than a limit (recrysMaxTotal), it will be deposited in the current element, no matter
what its moving probability.
• The Hops model goes particle-by-particle inside the affected element and decides
whether the particle should be displaced a second neighbor distance, depending on
recrysDeposit. If the particle is not displaced, it remains where it was. The
algorithm continues with the next particle (which may still be the same one, pushing it
again through the adjacent element little by little) until no more particles remain. To
prevent the concentration of displaced particles being too high, the algorithm forces the
deposit probability to be 1 when a particle has 25 or more dopant neighbors. The
algorithm corrects this probability by linear interpolation starting when the number of
neighbors is a given a percentage of 25. This percentage is controlled by the parameter
recrysDepositThreshold.
■ When the box is recrystallized, if the remaining dopant concentration is bigger than the
solubility limit (C0_recrysMaxActive, E_recrysMaxActive) after SPER, the extra
dopants are deposited as impurity clusters. These clusters have a limited size, and there are
two different models to deposit these clusters depending on whether recrysMaxSize is
defined.

458 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Amorphization and Recrystallization

1022
SiO2 Total As
Concentration [cm–3]

Swept As
21
10

1020
Amorphous layer
before recrystallization

1019
0 5
Depth [nm]

Figure 64 Impurity sweep example showing that arsenic has been pushed through the
surface during recrystallization or SPER

The parameters for the recrystallization model are defined only for impurities in silicon (or
other full material). P_recrysDeposit and E_recrysDeposit define (prefactor and
energy) the probability for a dopant remaining in the same box after the recrystallization front
passes. Setting this value to 1 disables the swept of impurities. recrysMaxTotal establishes
the maximum concentration piled up during SPER. recrysMaxActive is the maximum
allowed concentration of an active dopant in the recrystallized areas. Finally, if
recrysMaxSize is defined (and it is by default), the old model to limit the maximum size of
the deposited impurity clusters will be used. To undefine this parameter, use:
sprocess> pdbUnSetDouble KMC Si B recrysMaxSize

This instructs Sentaurus Process KMC to use the new model to deposit impurity clusters after
SPER. This model deposits the clusters specified in recrysDeposit_Complex with the
probabilities defined there.

Finally, the active dopants after SPER are deposited as substitutional impurities, but you can
change this default using recrysDeposit_Active. This parameter accepts a list of
impurities and impurity pairs with the probability to be deposited. For example:
sprocess> pdbSet KMC Si F recrysDeposit_Active F .1
sprocess> pdbSet KMC Si F recrysDeposit_Active Fi .9

This deposits 90% of the ‘active’ fluorine as Fi, and 10% as F.

NOTE Specifying a high probability for a cluster with a number of dopants


greater than 1 does not necessarily means that you will obtain only that
cluster. For example, if you specify that B2I should be 100% of the
deposited clusters, but Sentaurus Process KMC finds only one boron
particle in an element, Sentaurus Process KMC will not form a B2I.

Sentaurus Process User Guide 459


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

Parameters

The recrystallization parameters for dopants can be obtained as:


sprocess> pdbGet KMC Si As P_recrysDeposit
0.3
sprocess> pdbGet KMC Si As E_recrysDeposit
0.0
sprocess> pdbGet KMC Si As recrysMaxActive
1e+21
sprocess> pdbGet KMC Si As recrysMaxSize
4
sprocess> pdbGet KMC Si B recrysDeposit_Complex
B3I3 .40 B2I3 .30 BI2 .30
sprocess> pdbGet KMC Si B recrysDeposit_Active
B 1.0

To see which model is being used, use:


sprocess> pdbGet KMC Si Damage RedistributionModel
Elements

The concentration thresholds associated with each model are:


sprocess> pdbGet KMC Si B recrysMaxTotal
2e+22
sprocess> pdbGet KMC Si B recrysDepositThreshold
75

Impurity Clusters
At certain concentrations, dopants are electrically inactive in crystalline silicon [7]. At the
same time, high I concentration can make a fraction of boron electrically inactive even when
its concentration is below its solubility [39]. This phenomena can be explained by a BmIn
clustering mechanism [15][40] or dopant precipitation [7]. Sentaurus Process KMC considers
these mechanisms, implementing the impurity clusters.

Recent studies [41] show that boron precipitation in amorphous silicon occurs through
formation of a boron complex, thereby making the inclusion of impurity clusters in amorphous
materials necessary. Consequently, pure dopant clusters, B n , are allowed in amorphous
materials and other materials modeled as simple.

The AnBo...Xm impurity clusters allow powerful modeling of the interaction of several
impurities between them. For example, fluorine–boron clusters (FnBoIm and FnBoVm) can be
tried to explain the effects of boron coimplanted with fluorine, or AsnPoVm clusters to allow a
satisfactory explanation, as seen in [52]. Nevertheless, the most common use of impurity

460 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

clusters is the traditional one where only one dopant is present. Consequently, except where
indicated, the description of impurity clusters that follows assumes that the clusters are in the
more common form AnXm with only one impurity involved. Starting with Version H-2013.03,
impurity clusters have a simple model for diffusion, that is, they can migrate. For more
information, see Diffusion on page 462.

Finally, impurity clusters do not need to be neutral. Consequently, the charge state of each
impurity cluster can be defined by using the parameter e0_Complex. When needed, an
impurity cluster with a particular charge as AnXmcharge will be denoted. In addition, clusters
can react with charged particles, as long as the reaction is not between a cluster and a particle
with the same sign, in other words, it is not an electrostatic repulsive reaction.

To simplify the following descriptions, this section describes, the AnXm clusters with only one
impurity, and neutral reactions (in other words, reactions similar to
A n X ma + AX b ↔ A n + 1 X mc + 1 , a + b = c ). To see how the model works when this is not the case,
see Charge Dependency on page 473.

NOTE Since P is used both for positive and phosphorus, clusters containing
phosphorus cannot have the P at the end of the cluster name. For
example, AsIP will be interpreted as a positive interstitial arsenic, while
AsPI or PAsI will be a phosphorus–arsenic–interstitial cluster; the same
is true for AsP, PAs, and so on.

Shape
An impurity cluster is an irregular agglomeration of impurities (A, B, ...) with or without
interstitials and vacancies (X) that can be written as AnBo...Xm, with n impurity atoms of type
A, o of type B, and so on, and m Is or Vs. If m = 0, it is a pure impurity cluster (the only ones
allowed in simple materials).

For Sentaurus Process KMC, the notation AnBo...Xm means any possible configurations with
n impurities of type A, o of type B, and so on, and m interstitial (vacancy) atoms. The
interstitial (vacancy) atoms can be both silicon self-interstitials or dopant atoms in an
interstitial position. Since Sentaurus Process KMC assumes all the AnBo...Xm configurations
to be the same with only one effective formation energy, A,B, ... are represented always as a
substitutional but inactive dopant or impurity, and X as a silicon interstitial or vacancy.

Sentaurus Process User Guide 461


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

Figure 65 AsV impurity clusters simulated with Sentaurus Process KMC; blue is arsenic
and green is vacancy

Diffusion
A diffusion mechanism has been added to impurity clusters. This means that impurity clusters
can perform migration hops similar to the ones performed by point-defects, impurities, and
dopants. An impurity cluster migration event involves all its constituent particles: The whole
cluster is displaced. The particle coordinates are modified isotropically at a fixed distance of
λ = 0.384 nm in the orthogonal direction (parallel to the x-axis, y-axis, or z-axis).

The migration rate for impurity clusters is assumed to be:


ν m = ν 0, m × exp ( – E m ⁄ k B T ) (701)

where ν 0, m is the prefactor for each cluster, called Dm_Cluster in the parameter database,
and E m is the migration energy for each cluster, specified as Em_Cluster in the PDB.

Parameters

As previously stated, the names of the diffusion parameters for impurity clusters are
Dm_Cluster and Em_Cluster:
sprocess> pdbGet KMC Si As Dm_Complex As2V
1e-3
sprocess> pdbGet KMC Si As Em_Complex As2V
1.5

462 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

Limitations

The migration events for impurity clusters, although similar to the ones for single particles, do
not share all their features. In particular, the following limitation applies:
■ The diffusivity for impurity defects is global, isotropic, and constant. There are no SiGe,
stress, strain, or charge dependencies on diffusivity.
■ Impurity defects do not interact with interfaces at all (Si–SiO2 and so on). All interfaces
are considered mirrors.
■ Periodic boundary conditions or mirror conditions are correctly applied to the limits of the
simulation box.
■ There is no recombination probability at the boundaries. This means that the parameters
sinkProbTop, sinkProbBottom, sinkProbBack, sinkProbFront, sinkProbLeft,
and sinkProbRight do not apply to diffusing impurity clusters.
■ Speedup migration does not apply to impurity cluster diffusion: no long hops or double
hops.

Growth
Impurity clusters grow trapping neutral mobile particles (see Figure 66).
(a) Growth (b) Growth (c) Growth

(d) (e) (f)

Recombination
Emission
Emission

(g) (h) I V
A

Ai Av

Frank–Turnbull
Impurity Clusters
Frank–Turnbull and
Emission
Figure 66 Impurity clusters are disordered agglomerations of dopants and silicon point
defects that trap and emit particles. FT mechanisms and IV recombinations also
are possible.

Sentaurus Process User Guide 463


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

For an AnIm cluster, both I and Ai particles can be trapped:

a b c
An Im + I ↔ An Im + 1
(702)
a +A ↔Ab c
An Im i n + 1 Im + 1

The trapping is not automatic as it was for extended defects. In extended defects, the binding
energy is always positive, so the trapping is always allowed. For impurity clusters, the cluster
can grow in both Is (Vs) or dopants. The energy between the initial and final states is not always
favorable. Sentaurus Process KMC computes the probability for an impurity cluster AnIm to
trap an I or Ai as:
E capture
P capture = exp  – -------------------- (703)
 kB T 

where:
AnIm
E capture = E barrier ( A n I m ) + max ( 0, – E AnIm b ) (704)

and E barrier ( A n I m ) is an optional energy barrier.

The binding energies E AnIm b are computed using the potential impurity cluster energies:
E AnIm b ( I ) = E pot ( A n I m + 1 ) – E pot ( A n I m ) (705)

E AnIm b ( A i ) = E pot ( A n + 1 I m + 1 ) – E pot ( A n I m ) + E pot ( A i ) (706)

The potential energy for the neutral A i , assuming that the substitutional A is negative, is given

by – E b ( A i ) – e ( –, 0 ) ( A i ) , where the binding energy includes the pressure and Ge corrections.
The minus sign accounts for the fact that the binding must have a sign that is opposite that of
the potentials.

These potentials energies are computed as:


E pot ( A n I m ) = E pot
0 ( A I ) + PΔV
n m pot ( A n I m ) (707)

0 ( A I ) is specified in the parameter database for each impurity in silicon as


where E pot n m
Etotal_Complex. ΔV pot ( A n I m ) is the activation volume to take into account the hydrostatic
pressure dependency, also defined for each impurity cluster size as VF_Complex. The energy
barriers are called EbarrierIV_Complex and EbarrierDopant_Complex. The
EbarrierIV is defined for emission and capture of interstitials and vacancies, and
EbarrierDopant for dopants or paired dopants. For example, to set the potential energy of a
BIC, such as BI2 to some value:
pdbGet KMC Si B Etotal_Complex BI2 <n>

464 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

and, for As4V:


pdbGet KMC Si As Etotal_Complex As4V <n>

Initial Seeds

The clusters A 2 I , AI 2 , A 2 I 2 , and A 2 are the initial seeds for the impurity cluster ripening. The
formation of A 2 is discussed in Percolation on page 465. The others are formed by the
reactions:
a b c
■ A + Ai ↔ A2 I
a b c
■ A i + I ↔ AI 2
a b c
■ Ai + Ai ↔ A2 I2
a a c
■ A + A ↔ A2

where a and b are the charge states for the reactants, and c for the result. All these reactions
provide a cluster starting with impurities or impurity pairs. In the cases where a + b ≠ c for the
first reactions or 2a ≠ c for the last one, the reaction is not neutral, and the special
considerations of Charge Dependency on page 473 should be taken.

These initials seeds can be enabled and disabled independently by the parameter
ReactionsPointDefect, as explained in Enabling and Disabling Interactions on page 412.

Percolation

Some dopants deactivate without visible diffusion when they are in high concentrations [42].
They also can form impurity clusters [43]. Sentaurus Process KMC models this deactivation
allowing the substitutional dopants to interact with impurity clusters or with other dopants right
after its inclusion in the simulation (for example, after being implanted or selected).

As can react with As giving As2. Substitutional As does not migrate, so this reaction is only
possible when two arsenic are close enough to each other. The higher the arsenic concentration,
the higher this possibility. An As + As2 reaction and As3 + As reaction also are possible. These
species also are immobile. They react only when they are close enough. Consequently, the
probability of forming an As4 cluster using this mechanism is low because it needs four As
atoms close enough to each other. This probability increases with the concentration. With high
concentration, the probability is not negligible, and the substitutional As react with each other
forming As clusters and becoming inactive.

NOTE The reaction between two substitutional dopants to give an impurity


cluster is the only exception to the rule that two particles with the same
charge will not interact.

Sentaurus Process User Guide 465


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

In simple materials, such as amorphous silicon, this ‘percolation’ model is the only one
allowing impurity clusters to be formed. Since all particles are neutral in simple materials, the
percolation reaction does not constitute an exception there.

Parameters

The potential and binding energies for impurity clusters are defined only in materials with
full and simple modeling, including amorphous. They are defined in arrays whose index is
the cluster name. For example, for F clusters:
sprocess> pdbGet KMC Si F Etotal_Complex
FV2 -4.20
F2 -0.5 F2V -4.63 F2V2 -7.07
F3 -1 F3V -7.08 F3V2 -9.04
F4 -1.5 F4V -7.12 F4V2 -11.47
F5 -3 F5V -8.5 F5V2 -13.29
F6 -4.5 F6V -9.7 F6V2 -16.09
F7V 3
FI2 -4.20
F2I -4.63 F2I2 -7.07
F3I -7.08 F3I2 -9.04
F4I -7.12 F4I2 -11.47
F5I -8.5 F5I2 -13.29
F6I -9.7 F6I2 -16.09
F7I 3

A particular value for only one element also can be obtained. The current potential energy for
As4V is:
sprocess> pdbGet KMC Si As Etotal_Complex As4V
-5.4

The barriers are, by default, not defined:


sprocess> pdbGet KMC Si F EbarrierIV_Complex

sprocess> pdbGet KMC Si F EbarrierDopant_Complex

The charge value for the clusters is retrieved with:


sprocess> pdbGet KMC Si F e0_Complex

sprocess> pdbGet KMC Si B e0_Complex


B3 0 B3I 0 B3I2 0 B3I3 0
B2 0 B2I 0 B2I2 0 B2I3 0
BI2 0

No value means that they are neutral.

466 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

NOTE The impurity cluster model and the activation or deactivation of clusters
can be calibrated further fitting the potential energies. For further
accuracy, Advanced Calibration also can be used.

When a particular energy for a particular configuration is not specified (in other words, when
input in the parameter file exists for an AnIm or AnVm impurity cluster), Sentaurus
Process KMC assumes this configuration to be unstable. When a barrier energy is not
specified, a value of 0 eV (no barrier) is assigned.

All impurities are allowed to form impurity clusters with I, V, or both. If an impurity does not
form impurity clusters, the default can be changed, modifying the parameters and the
interactions (see Interactions on page 475).

Emission
Impurity clusters can emit both neutral interstitials (vacancies) or mobile dopants:
An Im ↔ An Im – 1 + I (708)

An Im ↔ An – 1 Im – 1 + Ai (709)

Sentaurus Process KMC computes the emission frequencies as:


E emission
ν emission = ν 0, emission × exp  – ---------------------- (710)
 kB T 

The emission energies are:


E emission ( I ) = E m ( I ) + E barrier ( A n I m ) + max ( 0, E AnIm b ( I ) ) (711)

E emission ( A i ) = E m ( A i ) + E barrier ( A n I m ) + max ( 0, E AnIm b ( A i ) ) (712)

E m is the migration energy of the emitted species, and both E AnIm b ( I ) and E AnIm b ( A i ) have
been shown above. The emission prefactors for dopant and I or V emission depend on the
model used.

When UseCaptVol_Complex is set to true, the emission prefactors are proportional to the
capture volumes of the impurity clusters:
■ ν 0, emission ( A i ) = K ( A i )V capt ( A n I m )
■ ν 0, emission ( I ) = K ( I )V capt ( A n I m )

Sentaurus Process User Guide 467


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

V capt ( A n I m ) is the capture volume for each impurity cluster, defined in the PDB as
CaptVol_Complex, and the constant K is a parameter named D0_Cluster in the PDB.

NOTE The unit of the capture volumes is the capture volume of one single
point defect.

If UseCaptVol_Complex is set to false, Sentaurus Process KMC uses the default old
model, in which the capture volumes are internally fixed to be m for I emission and min(n, m)
for A i emission. The use of this default model is not suggested, since it does not lead to
microscopic reversibility.

When a particle is emitted, the impurity cluster tests if the number of remaining particles is
enough to maintain the cluster. If there is only an interstitial (vacancy) or an interstitial and a
dopant, the cluster dissolves leaving an interstitial or a mobile, paired dopant, respectively.

Parameters

The prefactor constants are:


sprocess> pdbGet KMC Si As D0_Cluster
As,AsV 2.1
As,V 10
sprocess> pdbGet KMC Si B D0_Cluster
B,Bi 3
B,I 150

The notation for these prefactors is as follows: two strings are needed, separated by a comma.
The second string represents the emitted particle for which the parameter is being defined. The
first string represents the type of cluster. This first string is needed to define a different prefactor
for emitting a Bi from a B cluster rather than from a hypothetical BF cluster. For example, the
emission of Bi from a B2I2 will use B,Bi, while from a B2F3I2 will use BF,Bi. This last one
can be defined in KMC Si B and KMC Si F, but if defined in both of them with different values,
it will produce an error.

The capture volume parameters are:


sprocess> pdbGet KMC UseCaptVol_Complex
0
sprocess> pdbGet KMC Si B CaptVol_Complex
B3 1 B3I 1 B3I2 2 B3I3 3
B2 1 B2I 1 B2I2 2 B2I3 2
BI2 1

The notation for capture volumes is as following: if only the cluster is specified, that applies to
all emissions for that particular size, but if a cluster size and a particular particle are specified,

468 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

separated by a comma, that applies to that cluster emitting only that particle. For example, the
following applies only to emission if I by B2I2:
pdbSet KMC Si B CaptVol_Complex B2I2,I 6

The rest of the parameters needed for emission are the same as in Growth on page 463.

Recombination
Impurity clusters can trap incoming neutral Vs (Is) and recombine them with internal Is (Vs):
An Im + V ↔ An Im – 1 (713)

The capture probability is:


E capture
P capture = exp  – -------------------- (714)
 kB T 

The associated energies are:


AnIm
E capture = E AnIm b – E pot ( V ) – E pot ( I ) (715)

and:
E AnIm b = E ( A n I m – 1 ) – E ( A n I m ) (716)

After the IV pair recombination, the cluster size is tested and, if necessary, dissolved, as
previously explained.

Parameters

The parameters used for recombination of point defects are the same as in Growth on page 463.

Frank–Turnbull Mechanism
A generalized Frank–Turnbull (FT) mechanism is the emission of a neutral V (I) from an AnIm
(AnVm) impurity cluster by the formation of a Frenkel pair (IV):
An Im → I + V + An Im → An Im + 1 + V (717)

Sentaurus Process User Guide 469


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

or:
An Vm → I + V + An Vm → An Vm + 1 + I (718)

Sentaurus Process KMC includes the FT mechanism to maintain microscopic reversibility.


Since impurity clusters recombine incoming Is or Vs, the opposite mechanism (FT) also is
needed. Usually, this mechanism is unfavorable, but for some particular configurations, the
energetic differences between them can enable the formation of IV pairs and, therefore, the
emission of particles using the FT mechanism (see Figure 67).

Figure 67 Example of FT mechanism: an As4 cluster can emit an interstitial to become an


As4V impurity cluster: blue is arsenic and white is silicon

The vacancy (interstitial) emission frequency is computed as:


E emission
ν emission = ν 0, emission × exp  – ---------------------- (719)
 kB T 

being:
E emission ( V ) = E m ( V ) + max ( 0, E AnIm b ( V ) ) (720)

and:
E AnIm b ( V ) = E pot ( I ) + E pot ( V ) + E pot ( A n I m + 1 ) – E pot ( A n I m ) (721)

where the potential energies for the clusters and the point defects include pressure and Ge
corrections.

Parameters

The parameters used are the same as in Growth on page 463. The potential energies for
interstitial and vacancies are specified for the material as Ef:
sprocess> pdbGet KMC Si I Ef
4.0
sprocess> pdbGet KMC Si V Ef
3.8

470 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

The corrections to the potential energies for I and V are VF and EfGe for pressure and Ge,
respectively:
sprocess> pdbGet KMC Si I EfGe
I 0.0
sprocess> pdbGet KMC Si I VF
I 0.0

The prefactor for I and V emission is computed automatically for impurity clusters with only
one dopant (for example, BnIm or AsnVm clusters) and must be specified for other cases. For
example, in a case with AsPV clusters, the prefactors for Frank–Turnbull emission are
specified as follows:
pdbSet KMC Si As D0_Cluster AsP,V 50
pdbSet KMC Si As D0_Cluster AsP,I 50

The following is also valid:


pdbSet KMC Si P D0_Cluster AsP,V 50
pdbSet KMC Si P D0_Cluster AsP,I 50

Complementary Recombination
Some impurities diffuse using both the interstitial and vacancy mechanisms. For these cases,
the impurity clusters can react with both of them. For example, an AnVm impurity cluster can
grow trapping AsV, as previously explained, and can interact with an incoming Asi, trapping
the As and recombining the I with one internal vacancy. This implies to take into account the
reaction:
As n V m + As i ↔ As n + 1 V m – 1 (722)

These complementary recombinations of neutral particles are allowed with a probability of:


 exp ( – E capture ⁄ ( k B T ) ) E capture > 0
P capture =  (723)
 1 E capture ≤ 0

The capture energies are computed as:


 E pot ( A n + 1 V m – 1 ) – E pot ( A n V m ) – E f ( V ) – E f ( I ) – E pot ( A i ) m>0

E capture =  E pot ( A n + 1 V m ) – E pot ( A n V m ) – E pot ( A i ) + E m ( I ) – E m ( A i ) m ≡ 0, n > 1 (724)

 E ( Ai → A ) m ≡ 0, n ≡ 1

Sentaurus Process User Guide 471


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

where E ( A i → A ) is an internal parameter that cannot be changed.

Parameters

The parameters used are the same as in Frank–Turnbull Mechanism on page 469. The potential
energy for the paired dopant is the binding energy of the pair corrected with the Fermi-level
dependency.

Complementary Emission
To maintain microscopic reversibility, the reaction reverse to the complementary
recombination must be defined (see Figure 68).

Figure 68 Example of complementary emission: the cluster emits an interstitial that takes
an impurity and generates a vacancy; blue is arsenic and white is silicon

The equation for this process is:


An Im → An Im + I + V → AV + An – 1 Im + 1 (725)

Its emission frequency is computed using the emission frequency equation:


E emission = E m ( A V ) + max ( 0, E AnIm b ( A V ) ) (726)

where:
E AnIm b ( A V ) = E f ( I ) + E f ( V ) + E pot ( A n – 1 V m + 1 ) – E pot ( A n I m ) (727)

472 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

Parameters

The parameters used are the same as in Recombination on page 469.

For simple impurity clusters, those with only one impurity (BnIm, AsnVm, and so on), the
prefactor for emission is calculated automatically. For complex impurity clusters, (AsnPoVm
and so on), the prefactor must be written explicitly:
pdbSet KMC Si As D0_Cluster AsP,Asi 50

Charge Dependency

Neutral Reactions

In the previous discussions, all the impurity clusters are assumed to be neutral and,
consequently, there are no explicit charge Fermi-level dependencies. Nevertheless, there are
nonexplicit dependencies. In particular, for clusters emitting impurity-paired dopants, the
emission energy depends on the binding of the paired dopants, which, in turn, contains a Fermi-
level dependency.

The Fermi-level dependency of the binding energy is related to the level of the neutral-paired
dopant in the band gap. This level also depends on the temperature and the bandgap narrowing.

All the previous dependencies are included by default, except the indirect dependency on the
bandgap narrowing, which can be switched off and on using:
pdbSet KMC <material> BandGap Correct_Complex <true/false>

Nonneutral Reactions

Assume the following reaction:


a → B I b + Xc
Bn Im (728)
o p

The potential energy for B n I ma is defined with respect to a ground state that produces the
impurity cluster in a neutral reaction. This means that:


nB - + mV 0 +  – ( a + n ) e  a + n < 0
-
(729)
 ( a + n )h +  a + n > 0

Sentaurus Process User Guide 473


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

is the ground state for As n V ma . Consequently, an account of holes and electrons must be
followed during the reaction. In particular, calling the initial cluster i and the final one f , these
accounts are:
 
■ h i+ =  a + n  a + n > 0 , e i- =  0a+n>0
 0a+n<0  –a–na+n<0
+ =  b+on+o<0 -
, ef1
 0b+o>0
■ h f1  = 
 0b+a<o  –b–ob+o<0
The final state must account for the charge in the emitted particle. Calling d the charge of the
substitutional dopant of the emitted species X (in other words, d = – 1 if X c = B ic or d = 0
if X c = I c ), the final accounts for holes and electrons are:

h f+ = h f1 +  c – d  c – d > 0
+

 0c–d<0


e f- = e f1 +  0  c – d > 0
-

 d–cc–d<0

This allows writing the first energetic term for the binding energy as:
E ch arg es = ( e i- – e f- ) ( E g – e F ) + ( h i+ – h f+ )e F (730)

The second term is the obvious difference in potential energies:


E clusters = E pot ( B n I m ) – E pot ( B o I p ) (731)

The binding energy of the emitted particle is also needed, including the transition from the
neutral state d to the current emitted state:

 d  
E b ( X c ) = E b ( X d ) + E  X +  ( d – c )e  d – c > 0 → X c
-
(732)
  ( c – d )h +  c – d > 0 

In addition, only in cases where a Frank–Turnbull emission is involved ( X c = V c or


X c = BV c ), the pair recombination energy is:
E recom = E f ( I ) + E f ( V ) (733)

This gives a binding energy of:

E B n I m b ( X c ) = – E ch arg es – E clusters – E b ( X c ) + E recom (734)

That finally allows computing the emission energy:


E emission ( X c ) = E m ( X c ) + E barrier ( B n I m ) + max ( 0, E BnIm b ( X c ) ) (735)

474 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

NOTE All the previous energies (potential, binding, migration, and so on) are
computed including hydrostatic pressure, SiGe, and bandgap narrowing
local corrections.

Interactions
You can modify all the interactions involved in the impurity cluster model. The impurity
clusters can be enabled or disabled with the Boolean parameter Implement_Complex. For
example, to disable the FnVm impurity clusters, use:
pdbSet KMC Si F Implement_Complex 0

When the impurity clusters are enabled, you can set and unset the particular reactions using the
ReactionsCluster parameter:
pdbSet KMC Si <dopant> ReactionsCluster <reaction> <true/false>

where reaction is a string with two fields, separated by a comma. The first field is the name
of the impurity cluster, and the second is the name of the reacting particle. Spaces are not
allowed between these fields. The setting or unsetting of these reactions enables or disables the
specified reactions and its reverse ones. This is performed to maintain the microscopic
reversibility. For example, to disable the capture of a vacancy by As2 to growth to As2V:
pdbSet KMC Si As ReactionsCluster As2,V false

This also disables the inverse reaction, in other words, the emission of V by As2V. To enable
the recombination of I by an As4V cluster:
pdbSet KMC Si As ReactionsCluster As4V,I true

This reaction also enables the FT emission of I by As4, that is, As 4 → As 4 V + I .

Enabling a reaction does not mean that the reaction will happen; it depends on the energetics.
If the reaction is unfavorable, it will not occur (but the inverse will). Disabling a reaction will
forbid the reaction to occur, even if it is described by the parameters as favorable. Any reaction
not listed in ReactionsClusters is disabled.

Complex Impurity Clusters

To enable impurity clusters with more than one dopant (for example, an As2PV), the switches
for both the As and P clusters should be on:
pdbSetBoolean KMC Si As Implement_Complex 1
pdbSetBoolean KMC Si P Implement_Complex 1

Sentaurus Process User Guide 475


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

To enable the cluster reaction As 2 + PV ↔ As 2 PV (assuming As2 is predefined), use the As or


the P to define the reaction. If both are used with different values, an error message will be
displayed. In this example, they are defined in As:
pdbSet KMC Si As ReactionsCluster As2,PV true

The energy and capture volume of this new cluster must be defined as usual:
pdbSet KMC Si P Etotal_Complex PAs2V -3.0
pdbSet KMC Si P CaptVol_Complex PAs2V 1.3

The I, V, and PV emission prefactors are:


pdbSet KMC Si P D0_Cluster PAs,I 0.5
pdbSet KMC Si P D0_Cluster PAs,V 0.5
pdbSet KMC Si P D0_Cluster PAs,PV 0.1

Finally, for AsV emission from the cluster As2PV, allow the reaction AsP + AsV ↔ As 2 PV by
defining:
pdbSet KMC Si P ReactionsClusters PAs,AsV true

This also enables the formation of the clusters through the reaction of these particles.

Parameters
To show the parameters involved in the impurity cluster reactions, arsenic is used as an
example. AsV clusters are allowed:
sprocess> pdbGet KMC Si As Implement_Complex
1

Since AsV clusters are allowed in the Sentaurus Process KMC simulation, they require some
enabled reactions. The reactions are explained in Percolation on page 465 and allow
deactivation without arsenic diffusion:
sprocess> pdbGet KMC Si As ReactionsCluster
As2,As true
As3,As true

Reactions to grow capturing V and to shrink emitting them are:


As2,V true
As3,V true
As4,V true

476 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Impurity Clusters

Capture or emission of AsV is:


As2,AsV true
As3,AsV true

Recombination of interstitials and Frank–Turnbull emission of interstitials are:


As2V,I true
As3V,I true
As4V,I true

Recombination of interstitials, capture of arsenic, and emission of Asi are:


As2V,Asi true
As3V,Asi true

The following rules must be satisfied to allow a reaction between a particle and an impurity
cluster:
■ The first field must be a correct impurity cluster, and the second must be a defined particle.
■ The particle must be an interstitial or a vacancy of a paired dopant. The resulting cluster
must be defined (in Etotal_Complex and CaptVol_Complex).
■ Only nonrepulsive interactions are allowed, except for percolation. The reactions do not
need to conserve the charge.

Impurity clusters require an initial impurity cluster or ‘seed’ to begin the ripening. This initial
cluster is formed with the reactions of two particles. These reactions are explained in Enabling
and Disabling Interactions on page 412.

Setting Up Impurity Clusters in a Material


To set up an impurity cluster in a material (for example, B n in amorphous silicon), the
following PDB parameters must be created:
■ First, the cluster must be allowed:
pdbSetBoolean KMC aSi B Implement_Complex true
■ Second, an emission prefactor for the cluster, cluster potential energies, barriers, capture
volumes, and stress corrections must be defined:
pdbSetDoubleArray KMC aSi B D0_Cluster { B 3.0 }
pdbSetDoubleArray KMC aSi B Etotal_Complex { B2 -0.45 B3 -2.5 }
pdbSetDoubleArray KMC aSi B EbarrierDopant_Complex { }
pdbSetDoubleArray KMC aSi B CaptVol_Complex { B2 1.5 B3 2.0 }
pdbSetDoubleArray KMC aSi B VF_Complex { }

Sentaurus Process User Guide 477


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

■ Third, for these clusters to form, you must introduce a reaction path:
pdbSetArray KMC aSi B ReactionsPointDefect { B,B true }
pdbSetArray KMC aSi B ReactionsCluster { B2,B true }
■ None of this will happen without a mobile particle allowing for growing and emission:
pdbSet KMC aSi B Dm B 3.0e-3
pdbSet KMC aSi B Em B 2.1

NOTE The impurity cluster parameters (energies, barriers, capture volumes,


stress corrections) must be specified in the PDB only when the cluster
is implemented (with Implement_Complex true). This saves many
parameters in the description of impurities without impurity clusters.

Fermi-Level Effects: Charge Model


Point defects (I, V) and impurity atoms (B, As) can appear in different charge states in silicon,
while extended defects and impurity clusters have a fixed charge state in Sentaurus
Process KMC. Impurity atoms are neutral in materials using the simple model.

For example, interstitials and vacancies can be triple negative, double negative, double positive,
triple positive, neutral, positive, or negative. Some species and charged states are listed in
Table 54. You can customize these definitions. The maximum charge state for point defects is
± 3 and for impurity paired defects ± 2 .

Table 54 Species and charged states of Sentaurus Process KMC


I I+++, I++, I+, I0, I-, I--, I---
IPPP, IPP, IP, I, IM, IMM, IMMM

V V+++, V++, V+, V0, V-, V--, V---


VPPP, VPP, VP, V, VM, VMM, VMMM

As As+, Asi+, Asi0, AsV+, AsV0, AsV-


As, AsiP, Asi, AsVP, AsV, AsVM

B B-, Bi+, Bi0, Bi-


B, BiP, Bi, BiM

C C0,Ci0
C, Ci

F F0, FI0, FV0


F, FI, FV

Sb Sb+,Sbi0, Sbi+, SbV-, SbV0, SbV+


Sb, Sbi, SbiP, SbVM, SbV, SbVP

478 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

Table 54 Species and charged states of Sentaurus Process KMC


In In-, Ini0, Ini-, InV0, InV-
In, Ini, IniM, InV, InVM
P P+, Pi0, Pi+, PV0, PV-, PV+
P, Pi, PiP, PV, PVM, PVP

Charge states can be modeled using different approaches. The most intuitive approach is
adding a charge ‘label’ to each particle. Nevertheless, because the migration energy (and
maybe some other parameters) change with the charged state, each of these states requires a
full set of parameters.

Sentaurus Process KMC Approach


No charge label is defined for the particles. The charge is implicitly assumed in each particular
particle, and there are different particles for each charged state. This implies the necessity of
defining the interactions one by one, according not only with the particle type, but also with its
charge state.

The charge is represented in a quasiatomistic approach to account for the fact that the electron
transport is several orders of magnitude faster than the atomic transport. The charge
magnitudes (for example, Fermi level and bandgap width) are associated with each internal box
in the simulation. Consequently, there can be local changes between different boxes, but the
charge magnitudes are considered to be homogenous in each Sentaurus Process KMC internal
element.

Assumptions
Sentaurus Process KMC takes the energy reference in the valence band. The following
assumptions also are taken:
■ Charge reactions are faster than structural reactions [44]. Consequently, the charges are
updated instantaneously.
■ Formation energy for neutral species (for example, Ef(I0)) are not dependent on the Fermi
level. Sentaurus Process KMC takes the formation energies for neutral species as
parameters using them to compute the energies for the nonneutral species.
■ Potential energies for impurity clusters are not dependent on the Fermi level. For example,
a
Sentaurus Process KMC defines the potential energy for As n V m as the energy returned by
+ - a
the system in the reaction nAs + mV 0 + ( n – a )e → As n V m (assuming that n – a > 0 ).
■ The electronic level dependency with temperature is proportional to the bandgap
temperature dependency. The same applies for the bandgap narrowing. This assumption
allows Sentaurus Process KMC to establish proportionality relations to compute the

Sentaurus Process User Guide 479


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

electronic levels and bandgap narrowing at different temperatures using a known value for
one particular temperature.
■ Substitutional dopants are always ionized; that is, substitutional boron is always B– and
substitutional arsenic As+.
■ The properties inside each Sentaurus Process KMC element are constant. Properties can
change between internal elements.

For further references on similar KMC charge models, see [1][45][46].

Formation Energies for Charged Species


Taking I+ as an example, in the reaction:
0 + -
I →I +e (736)

the energy needed to take an electron from an I0 and obtain I++ e– is denoted as e(+,0), and is
measured from the valence band. The formation energy for a positive interstitial is:
+ 0
E f ( I ) = E f ( I ) + e F – e ( +,0 ) (737)

where e F is the Fermi level. Consequently, the concentration between different interstitial
charge species using as a reference the neutral concentration is:

[I ]
0 e F – e ( +,0 )
- = exp  ---------------------------
-------- (738)
+  kB T 
[I ]

[I ]
- e F – e ( 0, - )
- = exp  ---------------------------
-------- (739)
0  kB T 
[I ]

The electronic levels (for T = 0 K) are specified in the parameter database as e0. They are
defined only for silicon. They can be changed with:
pdbSet KMC Si <I/V/impurity> e0 <species> <n>

for example:
pdbSet KMC Si I e0 IP 0.35

480 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

Parameters

The bandgap levels for interstitials and vacancies can be retrieved with:
sprocess> pdbGet KMC Si I e0
IM 1.0
IP 0.35
sprocess> pdbGet KMC Si V e0
VMM 1.06
VM 0.6
VP 0.03
VPP 0.13

They also are specified for dopants, like As:


sprocess> pdbGet KMC Si As e0
AsVM 0.77
AsVP 0.3
AsiP 0.1

NOTE The modification of these parameters affects both extrinsic and intrinsic
diffusion.

Binding Energies for Particles


The binding energy needed for pairing and breakup reactions is only specified for the reaction
with the neutral interstitial or vacancy. For example, for boron, the binding energy is specified
for the reaction B– + I0 = Bi–. The other binding energies (for example, B– + I+ = Bi0) are
computed using the binding energy for the above reaction and the energy levels associated to
the charge transitions [46]:
E b ( B i0 ) = E b ( B i- ) + e ( B i ) ( 0, - ) – e ( I ) ( +, 0 ) (740)

0 0 +
The activation energy for the B i breakup is E b ( B i ) + E m ( I ) . Because electronic levels scale
with E g (as shown below), a slight dependency with T is introduced in these calculated binding
energies.

Binding Energies for Impurity Clusters


For an example of how to compute the binding energy for an impurity cluster, see Nonneutral
Reactions on page 473.

Sentaurus Process User Guide 481


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

Temperature Dependency
The bandgap width used in Sentaurus Process KMC is given by the expression [47]:
2
AT
E g ( T ) = E g ( T=0 ) – ------------- (741)
B+T

Using the assumption of proportionality with the band gap, Sentaurus Process KMC assumes
that the electronic levels at different temperatures can be computed as:
Eg ( T )
e ( j + 1, j ) ( T ) = e ( j + 1, j ) ( 0 ) × -------------- (742)
Eg ( 0 )

Effective state density of conduction and valence bands follows similar expressions:
T expNc
N c ( T ) = N c ( 300 ) ×  --------- (743)
 300

T expNv
N v ( T ) = N v ( 300 ) ×  --------- (744)
 300

Finally, Sentaurus Process KMC uses the values to compute the intrinsic levels and intrinsic
carrier densities:
Eg ( T ) kB T Nv
e i ( T ) = -------------- +  --------- ln  ------ (745)
2  2   N c

Eg ( T )
ni ( T ) = N c N v × exp  – -------------- (746)
 2k B T 

Parameters

The needed parameters are specified in the parameter database under the folder BandGap:

Eg0 Bandgap width at 0 K ( E g ( 0 ) ).


Agap Bandgap width temperature dependency parameter ( A ).
Bgap Bandgap width temperature dependency parameter ( B ).
Nc300 Effective state density for the conduction band, at 300 K ( N c ( 300 ) ).
Nv300 Effective state density for the valence band, at 300 K ( N v ( 300 ) ).

482 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

expNc Effective state density temperature dependency parameter (conduction).


expNv Effective state density temperature dependency parameter (valence).

They can be changed using pdbSet. For example, to set the bandgap width at 0 K, use:
pdbSet KMC Si BandGap Eg0 1.17

The parameters for the bandgap temperature dependency are defined for silicon in the
BandGap folder:
sprocess> pdbGet KMC Si BandGap Eg0
1.17
sprocess> pdbGet KMC Si BandGap Agap
0.000473
sprocess> pdbGet KMC Si BandGap Bgap
636.0
sprocess> pdbGet KMC Si BandGap Nc300
3.2e+19
sprocess> pdbGet KMC Si BandGap Nv300
1.8e+19
sprocess> pdbGet KMC Si BandGap expNc
1.5
sprocess> pdbGet KMC Si BandGap expNv
1.5

Charge Attractions and Repulsions


The short-range repulsions between charged particles have been implemented forbidding the
interactions between particles in the same charge state (except for the percolation reactions; see
Percolation on page 465). Long-range forces are considered automatically due to the bias
induced in the particle migration by the local Fermi level.

Fermi-Level Computation
Sentaurus Process KMC computes the Fermi level assuming charge neutrality and Fermi–
Dirac statistics. It simply makes the number of charges in each cell element equal to the
concentration of substitutional dopants and charged impurity clusters in the box. The presence
of mobile charged particles is neglected.

The charge concentration for each element is an average of the charge concentration in the
neighborhood. The averaging radius is taken as the parameter smoothRadius. The power of

Sentaurus Process User Guide 483


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

this average is controlled with the parameter smoothPower. This average is important because
of the atomistic nature of the simulation.

Without this averaging, a medium-dose doped sample, with some elements filled up with
particles and some empty ones, could be considered as a set of intrinsic (empty) boxes and a
few boxes with a very high concentration.
20 –3 3
For example, a dopant concentration of 1 × 10 cm corresponds to one particle in 10 nm .
3
The volume of an internal element may be as small as 1 nm . This means one particle per
10 boxes. Without any charge averaging, a moving interstitial would diffuse intrinsically in
nine empty boxes and extrinsically in one box. With the average, the interstitial ‘sees’ the right
20 3
concentration of 1 × 10 cm and diffuses according to this concentration (see Figure 69).

1011 1014
V0
1013 V–
1010 V––

Concentration [cm–3]
Concentration [cm–3]

1012 V+
108 V++
1011

107 1010
V0
V– 109
106 V––
V+ 108
105 V++ 107
10 20 30 40 50 60 70 80 90 100 10 20 30 40 50 60 70 80 90 100
Depth [nm] Depth [nm]

Figure 69 Simulated vacancy profiles for a p-sample (from 30 to 60 nm) for different
vacancy charged states: (left) smoothing out the charge concentration and (right)
incorrect results without smoothing

Parameters

This smoothing is a default Sentaurus Process KMC feature performed by an ultrafast


algorithm and is controlled only by the cutoff radius (in nanometers) specified in the parameter
database:
sprocess> pdbGet KMC Si BandGap smoothRadius
7

484 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

NOTE To switch off this local computation and to set up a constant, user-
defined dopant concentration, experienced users may want to use:

pdbSetDouble KMC setDopantConc <dopant concentration>

where dopant concentration is a positive quantity for n-type devices and


a negative one for p-type devices.

Updating Charged States


The charge model of Sentaurus Process KMC assumes that the electronic transport and
reactions are faster than the atomic transport and reactions. Therefore, it is necessary to
implement mechanisms to update the charge distribution (and the local Fermi level) that
follows the structural changes. Since the equilibrium ratios depend only on the Fermi level, it
is necessary to update them each time the Fermi level varies.

There are two reasons for local changes in the Fermi level:
■ Mobile particles diffusing between elements with different Fermi levels
■ Change of the electronic concentration in one element

Besides, each time a new particle appears or disappears because of pairing or breakup
reactions, it is necessary to ensure that the charge state of the new particle is consistent with its
local Fermi level.

Different mechanisms are implemented to maintain the right charge ratios. All are performed
at the same time, but they apply to different scenarios.

Electronic Concentrations and Charge-State Ratios

An update algorithm periodically reviews all the particles and updates the Fermi level and the
proportions of charged particles in each element. The algorithm:
■ Smooths the charge distribution.
■ Computes the Fermi level for each box using the charge neutrality assumption.
■ Establishes the appropriate charge ratios.

NOTE This update algorithm slows down the simulation. It is crucial to follow
the changes in the Fermi level, but without spending too much CPU
time.

Sentaurus Process User Guide 485


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

Mobile Particles

Mobile particles see different Fermi levels when they move from one element to another.
Therefore, it is needed to update its charge each time it crosses the boundaries between boxes.
At the same time, particles change their charge state to maintain the proper charge distribution;
consequently, they need extra updates. This is implemented with an algorithm that updates the
charge of mobile particles each time they perform a migration jump. This algorithm also
considers the migration frequency of each particle, as explained in [46], to avoid artificial
concentration increases in the slow diffusing species concentration.

n(x)
ni
Concentration

1–(x) 1+(x)

x
1–7

Figure 70 A mobile particle (I–) sees different electronic properties when jumping from one
element to a different one. Its charge state must be updated to reproduce the
expected macroscopic concentration.

Pairing and Breakup Reactions

After pairing or breakup reactions, some species appear and disappear in the Sentaurus
Process KMC elements. To ensure that the concentration of these species maintains the correct
proportions, a breakup, pairing charge update mechanism is implemented. It computes the
probability of the new particles to be in a particular charge state.

Parameters

The charge update algorithm only uses one external parameter in the database called
ChargeVarPercent and accounts for the maximum relative error allowed for the Fermi-level
updates. This parameter is a compromise between accuracy and efficiency.

Decreasing its value leads to more accurate but slower simulations, and the charge model can
overload your computer resources.

Increasing its value speeds up the simulation at the cost of accuracy:


sprocess> pdbGet KMC ChargeVarPercent
0.25

NOTE Only small modifications to this parameter are recommended.

486 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

Electric Drift
The charge model of Sentaurus Process KMC considers the:
■ Introduction of an electric field, related to the local charge variations.
■ Existence of forces acting over the charged species; these forces generate a bias in the
diffusion – the electric drift.

Sentaurus Process KMC models electric bias modifying the jump probabilities to account for
the space anisotropy produced when an electric field is present.

A particle inside the electric field can jump in both directions, but the probability of jumping
following the electric field is higher. Consequently, a ‘migration barrier’ is implemented. The
barriers are related to the relative concentration of each species. For example, for an I+ jumping
from a position x 2 in a box to a position x 1 in a different box, if P ( x 2 ) > P ( x 1 ) , where P is
the probability of an interstitial having a positive charge, the jump is always possible.
Otherwise, there is a probability of 1 – [ P ( x 2 ) ] ⁄ [ P ( x 1 ) ] of being rejected.

For an I+ particle, the jump is accepted with a probability of:

P ( x2 )  [ e F – e ( +,0 ) ] 2 – [ e F – e ( +,0 ) ] 1
-------------- = exp  --------------------------------------------------------------------------- (747)
P ( x1 )  kB T 

where typically, if there is no bandgap narrowing effects, e ( +, 0 ) 2 = e ( +, 0 ) 1 and:

P ( x2 )  e F 2 – e F 1
-------------- = exp  ---------------------- (748)
P ( x1 )  kB T 

The subscripts 1 and 2 refer to magnitudes in different elements. Figure 71 shows an energy
diagram of this process. The number of rejected jumps for each axis is shown in a report at the
end of the annealing.

Jump Prob. < 1


Jump Prob. = 1

eF2 – eF1

x1 x2

Figure 71 Energy diagram showing the jump process

Sentaurus Process User Guide 487


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

Bandgap Narrowing

Narrowing due to Dopant Concentration

Sentaurus Process KMC includes doping-induced energy shifts of the conductions band
minimum and the valence band maximum. The narrowing of the fundamental band gap is
presented as the function [48] for n-type semiconductors:
+ 1/4 + 1/3 + 1/2
ΔE g dc = A cn1/4  ----------
N 
+ A cn1/3  ----------
N 
+ A cn1/2  ----------
N 
 10 18  10 18  10 18
(749)

+ 1/4 + 1/3 + 1/2


ΔE gd v = A vn1/4  ----------
N 
+ A vn1/3  ----------
N 
+ A vn1/2  ----------
N 
 10 18  10 18  10 18
(750)

and for p-type semiconductors:


- 1/4 - 1/3 - 1/2
ΔE g dc = A cp1/4  ----------
N 
+ A cp1/3  ----------
N 
+ A cp1/2  ----------
N 
 10 18  10 18  10 18
(751)

- 1/4 - 1/3 - 1/2


ΔE gd v = A vp1/4  ----------
N 
+ A vp1/3  ----------
N 
+ A vp1/2  ----------
N 
 10 18  10 18  10 18
(752)

The total bandgap narrowing is:


ΔE gd = E gd c – E gd v (753)

Since the distance between bands shrinks, Eq. 753 gives negative values.
Ec
DEv

Ec
eF

eF

DEc
Ev Ev=0

Figure 72 Bandgap narrowing; Sentaurus Process KMC assumes the valence band has
zero energy

488 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

Parameters

The parameters A cn1/4 and so on are extracted from [47] and are listed in the parameter
database for BandGap in silicon. For the conduction band:
pdbGet KMC Si BandGap Acn1_4
0
sprocess> pdbGet KMC Si BandGap Acn1_3
-0.01484
sprocess> pdbGet KMC Si BandGap Acn1_2
0.00078
sprocess> pdbGet KMC Si BandGap Acp1_4
-0.01627
sprocess> pdbGet KMC Si BandGap Acp1_3
0
sprocess> pdbGet KMC Si BandGap Acp1_2
-0.00018

For the valence band:


sprocess> pdbGet KMC Si BandGap Avn1_4
0.01508
sprocess> pdbGet KMC Si BandGap Avn1_3
0
sprocess> pdbGet KMC Si BandGap Avn1_2
0.00074
sprocess> pdbGet KMC Si BandGap Avp1_4
0
sprocess> pdbGet KMC Si BandGap Avp1_3
0.01846
sprocess> pdbGet KMC Si BandGap Avp1_2
-0.00263

Narrowing due to Strain

There are two models available for modeling the narrowing due to stress. A simple one and a
full narrowing model.

The full narrowing model is chosen setting the pdb parameter FullNarrowing to true. This
model is the same as in Bandgap Narrowing on page 268:
ΔEci = D ci ( ε xx + ε yy + ε zz ) + D cxi ε xx + D cyi ε yy + D czi ε zz (754)

2 2 2
ΔEvi = D vi ( ε xx + ε yy + ε zz ) ± 0.5D vbi ( ( ε xx – ε yy ) + ( ε yy – ε zz ) + ( ε zz – ε xx ) )
(755)
2 2 2
+D vdi ( ε xy + ε xz + ε yz )

Sentaurus Process User Guide 489


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

Sentaurus Process KMC also uses the averaged values of conduction and valence bands
energies:

 3 – Δ-----------
Eci
-
= – kT log  ---  e
1 kT 
ΔE cs (756)
3 
 i=1 

 2 Δ-----------
Evi
-
ΔE vs = kT log  ---  e
1 kT 
2 
(757)
 i=1 

defining the narrowing due to strain effects as:


ΔE gs = ΔE cs – ΔE vs (758)

The simple model computes the narrowing as:


ΔE gs = K ε x + ε y + ε z (759)

where the parameter K is called DiScalar.

When Ge is present, the narrowing is computed as a linear interpolation between the narrowing
produced by strain for pure Si ( ΔE gs
Si ), and the one for pure Ge ( ΔE Ge ). In this way, the total
gs
narrowing for Si1–xGex is:

ΔE gs = ΔE gs
Si + x ( ΔE Ge – ΔE Si )
gs gs (760)

where x is the relative Ge concentration specified in Si1–xGex.

Parameters

The parameters used for the full model for pure Si are defined in the Sentaurus Process KMC
dataset as:
sprocess> pdbGet KMC Si BandGap EcDilatational
1 -8.6
2 -8.6
3 -8.6
sprocess> pdbGet KMC Si BandGap EvDilatational
1 -2.1
2 -2.1
sprocess> pdbGet KMC Si BandGap EcDeviatoric(1)
1 9.5
2 0.0
3 0.0

490 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

sprocess> pdbGet KMC Si BandGap EcDeviatoric(2)


1 0.0
2 9.5
3 0.0
sprocess> pdbGet KMC Si BandGap EcDeviatoric(3)
1 0.0
2 0.0
3 9.5
sprocess> pdbGet KMC Si BandGap EvDeviatoric(1)
1 0.5
2 4.0
sprocess> pdbGet KMC Si BandGap EvDeviatoric(2)
1 0.5
2 4.0

The parameter for the simple model for pure Si is:


sprocess> pdbGet KMC Si BandGap DiScalar
1.75

The parameters used for pure Ge are similar to the ones for pure Si, but with the Ge. prefix:
sprocess> pdbGet KMC Si BandGap [Link]
1 0.59 2 0.59 3 0.59
sprocess> pdbGet KMC Si BandGap [Link]
1 -1.24 2 -1.24
sprocess> pdbGet KMC Si BandGap [Link](1)
1 -9.42 2 0.0 3 0.0
sprocess> pdbGet KMC Si BandGap [Link](2)
1 0.0 2 -9.42 3 0.0
sprocess> pdbGet KMC Si BandGap [Link](3)
1 0.0 2 0.0 3 -9.42
sprocess> pdbGet KMC Si BandGap [Link](1)
1 2.55 2 5.50
sprocess> pdbGet KMC Si BandGap [Link](2)
1 2.55 2 5.50
sprocess> pdbGet KMC Si BandGap [Link]
1.75

Finally, the simple (0) or full (1) narrowing models are selected:
sprocess> pdbGet KMC Si BandGap FullNarrowing
0

Sentaurus Process User Guide 491


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

Narrowing due to Presence of an Alloy

The narrowing due to an alloy concentration is computed as (assuming, in this example, that
Ge is the alloy in Si material):
ΔE gGe = – [ Ge ] ( β 1 + β 2 [ Ge ] ) (761)

where [ Ge ] is the germanium concentration, and β 1, β 2 are the parameters needed for the
quadratic interpolation between the silicon gap (1.12 eV) and the Ge gap (0.78 eV). They are
respectively called GeNarrowing and GeNarrowing2.

Parameters
sprocess> pdbGet KMC Si BandGap GeNarrowing
6.8e-24
sprocess> pdbGet KMC Si BandGap GeNarrowing2
0

This is simply (1.12-0.78)/5e22.

Bandgap Narrowing Use

The value of ΔE g , computed as:


ΔE g = ΔE gdop + ΔE gs + ΔE gGe (762)

is used to correct e i , n i , e F , and the dopant levels in the gap, e ( j, j + 1 ) ( A ) . For these last
ones, they are assumed to be proportional to the band gap. This means that these new values,
after applying the bandgap narrowing correction, are:
ΔE g
= e ( j, j + 1 ) ( A )  1 + ----------
corrected
e ( j, j + 1 ) ( A ) (763)
 Eg 

It is interesting to note that ΔE g < 0 .

Whenever a Sentaurus Process KMC model needs a bandgap level, the bandgap narrowing–
corrected value is used. The only exception is the activation energy for the impurity pair
emission from impurity clusters where the narrowing correction can be controlled by:
pdbSet KMC <material> BandGap Correct_Complex <false/true>

NOTE The bandgap narrowing due to doping, stress, and SiGe is always
switched on by default. To disable it, set the proper parameters to zero.

492 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

Charge Model and Boron Diffusion Example


The known charged states of Bi are Bi–, Bi0, and Bi+ [21][22]. The three states are included in
Sentaurus Process KMC, although the inclusion of Bi+ is only important for systems far from
equilibrium. The pairing, breakup, and charge reactions related to Bi are represented in the
current Sentaurus Process KMC model by the reactions:
0 - -
I + B ↔ Bi (764)

+ - 0
I + B ↔ Bi (765)

- 0 +
Bi ↔ Bi ↔ Bi (766)

0 +
I ↔I (767)

Direct breakup of Bi+ is not included because I++ is not implemented. Boron effective
diffusivity D ( B ) is given by the sum of the contribution of all mobile species:
- 0 +
- [ Bi ] 0 [ Bi ] [ Bi ]
+
D(B) = D ( B i ) ---------
-
- + D ( B i ) ----------
+ D ( B i ) ----------
-
- -
- (768)
[B ] [B ] [B ]

Using the Maxwell–Boltzmann approximation, the previous equation is usually written as:
p 2
D ( B ) = S I D X ( B ) + D P ( B ) ---- + D PP ( B )  ----
p

(769)
ni n i

where S I is the interstitial supersaturation, and p and n i are the hole concentration and the
intrinsic concentration, respectively.

The relations between the above diffusivity components and the microscopic parameters are
[46]:
-
0 0 * νm ( Bi )
D X ( B ) = v capt D ( I ) [ I ] -------------------------
-
- (770)
ν break ( B i )

0
0 * νm ( Bi ) e ( B i ) ( 0, - ) – e i
exp  ------------------------------------
0
D P ( B ) = v capt D ( I ) [ I ] --------------------------
0
(771)
ν break ( B i ) kB T

Sentaurus Process User Guide 493


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Fermi-Level Effects: Charge Model

-
0 * νm ( Bi ) e ( B i ) ( 0, - ) + e ( B i ) ( +,0 ) – 2e i
- exp  ------------------------------------------------------------------------
0
D PP ( B ) = v capt D ( I ) [ I ] ------------------------- (772)
-  kB T 
ν break ( B i )

e i is the intrinsic level.

These expressions can be used as a bridge between the parameters of continuum simulators and
those used by Sentaurus Process KMC. The above continuum expression assumes Maxwell–
Boltzmann and quasi-equilibrium conditions, which are not needed in Sentaurus
Process KMC.

Charge Model and Arsenic Diffusion Example


A similar analysis can be performed for arsenic, which has both vacancy and interstitial
contributions, related to AsV and Asi defects. The arsenic reactions are:
0 + +
I + As ↔ As i (773)

- + 0
I + As ↔ As i (774)

0 -
I ↔I (775)

+ 0
As i ↔ As i (776)

and:
0 + +
V + As ↔ AsV (777)

- + 0
V + As ↔ AsV (778)

-- + -
V + As ↔ AsV (779)

0 - --
V ↔V ↔V (780)

+ 0 -
AsV ↔ AsV ↔ AsV (781)

494 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Interfaces and Surfaces

All the previously mentioned contributions are included in KMC. Consequently:


+ 0
+ [ As i ] 0 [ As i ]
+ 0 -
+ [ AsV ] 0 [ AsV ] - AsV
D ( As ) = D ( AsV ) -----------------
+
- + D ( As i ) -------------
+
- + D ( AsV ) -----------------
+
+ D ( As i ) -------------
+
- + D ( AsV ) -------------
+
- (782)
[ As ] [ As ] [ As ] [ As ] [ As ]

which in continuum models is usually reduced to:


n 2
D ( As ) = [ f I S I – ( 1 – f I )S V ] × D X ( As ) + D M ( As ) ---- + D MM ( As )  ----
n
 n i (783)
ni

f I is the fraction of interstitial-assisted diffusion. Note, however, that this last continuum
description conveys several simplifying assumptions compared with the model included in
Sentaurus Process KMC. The common assumption that D X and D M fit an Arrhenius plot is
only true if the contributions of AsV+ and Asi+ have the same activation energy. The same
applies for the AsV0 and Asi0 contributions. The continuum equation also assumes that the
interstitial fraction, f I , is independent of the Fermi level (the same for the three charged states)
and is independent of the temperature.

Interfaces and Surfaces


An interface is the extension between two regions with different materials. The most common
interface is the silicon–oxide interface. Sentaurus Process KMC allows for modeling all
interfaces between two different materials.

As explained in Materials and Space on page 386, Sentaurus Process KMC divides the space
in small rectangular elements and assigns to each of them a material. The interfaces are the set
of element faces between different materials.

The element faces are independent. The interface behaves as the sum of all of its faces, but such
an ‘interface’ does not really exist. What exists are the element faces, all of them emitting and
trapping with different rates depending on its area, local stress, and so on. In the following
sections, these element faces are called interface.

Interfaces set the equilibrium concentration for self-silicon point defects and the solubility
concentration for impurities. Sentaurus Process KMC models the interfaces differently for
silicon point defects than for impurities.

Sentaurus Process User Guide 495


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Interfaces and Surfaces

SiO2

Boxes

Si

Interface

Small Box Face


Figure 73 Sentaurus Process KMC interfaces are the set of element faces between
different materials

Different Interface Models


The parameter Model specifies the behavior of an interface:
pdbSet KMC Oxide_Silicon Model Allcharges

The different models are:

Allcharges Three-phase segregation model for dopants. Emission and capture of all the
charge states of point defects on materials with full modeling. Capture of
all the charge states of impurity-paired defects on materials with full
modeling.
Amorphous When one material is full and the other is simple, this interface acts as an
asymmetric mirror. Particles going from the simple to the full material
are reflected, while particles going from the full to the simple material
are allowed to pass. No trapping or emission of particles on either side.
Interface Three-phase segregation model for dopants. Emission and capture of neutral
point defects on materials with full modeling.
none No interface between materials. This model is only possible when the model
of the materials involved in the interface is the same; that is, both are
simple or full.
Reflective The interface acts as a mirror. Particles are not trapped. No emission of
particles on either side.

496 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Interfaces and Surfaces

Interfaces for Self-Silicon Point Defects


It is common to define a recombination length L r as the distance from the surface needed to
obtain the equilibrium concentration (see Figure 74).
I concentration
x=0 I equilibrium concentration
Prolongation

Surface

Silicon bar

Extended defects ({311})


Recombination length creating I supersaturation

Figure 74 Recombination length is the distance between the interface and the point in which
the prolongation of the point-defect concentration joins its equilibrium
concentration

The microscopic meaning of L r can be associated with the probability of a point defect being
trapped at the surface:
λ
P trap = ----- (784)
Lr

where λ is the point-defect jumping distance. The smaller L r , the better sink is the surface.
For interstitials in the silicon–oxide interface, it is close to a perfect sink with L r < 5 nm
[49][50].

Capture
Interfaces capture neutral interstitials and vacancies with the probability set in Eq. 784. When
L r is set to zero, the probability is set to 1, a perfect sink.

Emission

In [1], the point-defect (for example, interstitials) equilibrium concentration is related to the
interface frequency emission prefactor and energy as:

2 D 0 FS Ef ( I )
- exp  – ------------
*
[ I ] = --- × ------------- (785)
λ a2  kB T 

Sentaurus Process User Guide 497


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Interfaces and Surfaces

where the surface frequency emission is:

6  E m + ΔE m stress + ΔE Ge + E + ΔE stress + ΔE Ge


m f f f
ν = sites × P trap × D 0 FS -----D × exp  – ----------------------------------------------------------------------------------------------------------------- (786)
λ 2 0, m  kB T 

where:
■ sites is the number of capture sites in the interface (proportional to its surface and equal
2
to ----
-YZ ).
2
a
■ D 0 FS is the surface emission prefactor.
■ E m and E f are the migration and formation energies of the point defects, respectively.
■ ΔE mstress, ΔE fstress are the regular corrections to migration and formation due to stress.
■ ΔE mGe, ΔE fGe are the corrections to migration and formation due to Ge concentration,
explained below.

The point defects are emitted from a randomly chosen position at the surface. Only neutral Is
or Vs are emitted when the interface model is Interface. All charge states are emitted and
captured when using Allcharges. In equilibrium, these two models give the same results.

Stress

The presence of stress changes the migration and formation energy of interstitial and vacancies
and, consequently, the emission frequency. Each interface (where, as previously stated,
interface was called to the independent element faces) is oriented in a unique axis ‘j’, and the
projections of the principal axes into ‘j’ should be accounted. Then, the total emission
frequency is:
x', y', z'

ν =  P j axis ν axis (787)


axis

where P j axis are the projections of the principal axis into the surface axis. Finally, for each axis,
the migration and formation energies including stress effects are computed as:
1 f
  σ'i
stress stress
Em + Ef = E m + E f + σ' axis ΔV par + σ' i ΔV ort + --- Δ V (788)
3
i ≠ axis i

f
where ΔV ort , ΔV par , and ΔV are the perpendicular and parallel activation volumes for
diffusion and the activation volume for formation, respectively.

For more information on these parameters and the stress models, see Stress Effects on Point
Defects, Impurities, Dopants, and Impurity-Paired Point Defects on page 416.

498 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Interfaces and Surfaces

Alloys

The presence of an alloy (assumed to be Ge in this example) changes the migration and
formation energy of point defects in the following way:
ΔE m
Ge = α [ Ge ] (789)

Ge
ΔE f = β [ Ge ] (790)

where [ Ge ] is the germanium concentration, and α, β are the dependencies of migration and
formation with germanium, specified as EmGe and EfGe in the PDB.

Parameters

The parameters that control the point-defect interface model can be found in the PDB by
looking in the Oxide_Silicon folder. By default, interfaces, other than the oxide–silicon
interface, have their point-defect interface model set to None and do not require any
parameters. The formation energies are listed for the material, not for the interface.

For example, the formation energy of interstitials in silicon is under Silicon, not in
Oxide_Silicon or any other interface.

D0FS_Mat Surface emission prefactor, D 0 FS ( I ) . Mat is the short name of the


material.
Ef Formation energy, E f ( I ) .
RecLnm_Mat Recombination length, L r . Mat is the short name of the material.

The migration energies are displayed in the point defect section of the file (see Point Defects,
Impurities, Dopants, and Impurity-paired Point Defects on page 403). The surface values can
be easily obtained using the command line.

For example, for interstitials and vacancies in the silicon–oxide interface:


sprocess> pdbGet KMC Oxide_Silicon I D0FS_Si
5000.0
sprocess> pdbGet KMC Silicon I Ef
4.0
sprocess> pdbGet KMC Oxide_Silicon I RecLnm_Si
0
sprocess> pdbGet KMC Oxide_Silicon V D0FS_Si
800.0
sprocess> pdbGet KMC Silicon V Ef
3.8

Sentaurus Process User Guide 499


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Interfaces and Surfaces

sprocess> pdbGet KMC Oxide_Silicon V RecLnm_Si


0

and for vacancies in the silicon–gas interface:


sprocess> pdbGet KMC Gas_Silicon V D0FS_Si
800.0
sprocess> pdbGet KMC Gas_Silicon V RecLnm_Si
0
sprocess> pdbGet KMC Si V Ef
3.8

NOTE You can modify these values. Changes in the formation energy or
surface emission prefactor will modify the DC equilibrium product of
point defects and the diffusivity of all the species. A change, both in the
formation and migration parameters, that maintains the DC product
constant will not produce this undesirable effect, but may change the
extended defects dissolution times.

Oxidation-enhanced Diffusion (OED) Model


The current flux of I (V) across an outer surface in Sentaurus Process KMC is described in the
previous model as:

j ⋅ n = Ks ( [ I ] – [ I * ] ) (791)

being:
1
K s = --- ν m ( I )λ 2 ⁄ L r (792)
6

and λ the jumping distance. An extra term is included to account for oxidation:

j ⋅ n = K s ( [ I ] – [ I * ] ) – G ox (793)

This term G ox tries to combine the Sentaurus Process continuum model (see Surface
Recombination Model: PDependent on page 345) with an atomistic implementation. In
particular, its definition is:
G pow
 V ox  E θ + PΔV θ
G ox = ( θ ⋅ n ) V ox G scale  -------------- exp  – --------------------------- (794)
 V scale kB T

where θ is a vectorial prefactor and n is the normal to the interface, so that ( θ ⋅ n ) gives the
proper component for a planar, axis-oriented, interface in an internal element.

500 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Interfaces and Surfaces

V ox is the ReactionSpeed computed by the PDE solver in Sentaurus Process and used here
by Sentaurus Process KMC. V scale and G pow are additional model parameters to adjust the
interstitial injection. G scale is a term defined to account for Fermi-level effects, and defined
similarly to the continuum one as:
mm + m + 1 + p + pp
G scale = -------------------------------------------------------------------------------------------------------------------------------------------------------------
- (795)
mm ----  n  2PotOx
+ m ----  n  PotOx
+ 1 + p  ----
n – PotOx
+ pp  ----
n – 2PotOx
 n i  n i  n i  n i

E θ is the activation energy for point-defect injection and, finally, ΔV θ is a parameter to include
a hydrostatic dependency for OED.

Consequently, this is a hybrid model in which the continuum solver computes and generates a
ReactionSpeed value to be used by Sentaurus Process KMC to compute the point-defect
injection prefactor.

NOTE Boundary movement is allowed in this model and is switched on by


default. This implies that the model serves to generate a more adequate
point-defect injection from the interface during oxidation processes,
while a remeshing mechanism changes the oxide thickness. If you do
not want the oxide thickness to change, set Grid
[Link] to 0.

Parameters

Table 55 lists the parameters defined for the oxide–silicon interface only.

Table 55 Parameters used in OED model


Parameter name Description

ox_Etheta Activation energy E θ .

ox_xtheta, ox_ytheta, ox_ztheta Components for the θ vector used as a prefactor.

ox_VFtheta Pressure correction ΔV θ .

ox_Vscale, ox_Gpow ReactionSpeed control: V scale and Gpow .


ox_pp, ox_p, ox_Ep, ox_m, ox_mm, Parameters used to compute the Fermi-level dependencies introduced
ox_Em, ox_pot by G scale . In particular, prefactor and activation energies for pp, p,
m, and mm terms, and exponent.

To use this model, call diffuse with any oxidation parameter (for a list of oxidation
parameters for diffuse, see diffuse on page 875).

Sentaurus Process User Guide 501


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Interfaces and Surfaces

Interfaces for Impurities


The interface model of impurities in Sentaurus Process KMC follows a three-phase segregation
model. Particles can be emitted to both sides of the interface or can stay trapped at the interface.
Figure 75 shows the atomistic mechanisms and energies for trapping and detrapping
impurities.

Oxide/Silicon Interface
Oxide Silicon
Barrier (Ox)

Barrier (Si)

Binding (Ox) Binding (Si)

Figure 75 Dopants reaching the interface may be trapped by it with a different binding
energy for each interface side. Energy barriers for capture and emission also can
be present.

These interfaces are modeled between any two materials; however, depending on the material
model, the interface will behave differently.

Simple Material Side

The simple material side faces a material using the simple model. In these materials, only
direct diffusion of dopants is allowed. Since there are no paired dopant impurity point defects,
the model is as follows: Dopants arriving at the nonsilicon side may be captured with certain
probability, and they can be remitted later.

Capture

The capture probability is:


Trapped ( A )
= exp ( – Barrier ( A ) ⁄ ( k B T ) )  1 – -------------------------------------------
non-Si
P cap ( A ) (796)
 MaxTrapped ( A )

502 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Interfaces and Surfaces

where A is the dopant being trapped, Barrier is the barrier energy, Trapped is the number of
particles trapped at the interface, and MaxTrapped is the maximum number of them that can be
trapped.

If the particle is trapped, there is a probability to evaporate (annihilate) the just-trapped dopant.

Emission

Interfaces emit particles to the nonsilicon side with a frequency given by:
non-Si
ν emiss ( A ) = Trapped ( A )Pref exp ( – Ener ⁄ ( k B T ) ) (797)

The emission is proportional to the number of trapped dopants and to a parameter Pref that
acts as a prefactor. The emission energy is:
Ener ( A ) = Barrier ( A ) + E m ( A ) + Binding ( A ) (798)

The migration energy contains stress and Ge corrections. The binding energy contains a
pressure correction:
ΔE bsurface ( A ) = PΔV bsurface ( A ) (799)

Parameters

The energy barrier to a nonsilicon interface is introduced as EBarrier_Surf<mat>, where


<mat> is Si, aSi, Ox, Ni, Po Gas, and Unknown, or any other user-defined material short name:

Si Silicon

aSi Amorphous silicon

Ox Oxide

Ni Nitride

Po PolySilicon

Gas Gas

Unknown Unknown

The values are always specified in the interface parameter file:


sprocess> pdbGet KMC Oxide_Silicon B EBarrier_SurfOx
B 0.1

Sentaurus Process User Guide 503


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Interfaces and Surfaces

The probability to evaporate a trapped particle is called Evaporation_Surf:


sprocess> pdbGet KMC Oxide_Silicon B Evaporation_Surf
B 0 Bi 0

The pressure correction to the binding energy of the dopants to the surface is given by the
parameter VF_Surf<mat>:
sprocess> pdbGet KMC Oxide_Silicon B VF_SurfOx

The maximum number of trapped particles per cubic centimeter follows an Arrhenius plot with
prefactor C0Max_Surf:
sprocess> pdbGet KMC Oxide_Silicon B C0Max_Surf
2e+14

and energy EMax_Surf:


sprocess> pdbGet KMC Oxide_Silicon B EMax_Surf
0

The prefactor for emission is called Db_Surf:


sprocess> pdbGet KMC Oxide_Silicon B Db_Surf
B 1e-3

Finally, the binding energy of dopants is Eb_Surf<mat>:


sprocess> pdbGet KMC Oxide_Silicon B Eb_SurfOx
B 0.28

Full Material Side


The particles transporting dopants (or impurities) in materials with full modeling are not
typically the dopants themselves, but impurity-paired point defects. In other words, an impurity
plus an interstitial or a vacancy. When these pairs reach the interface, if they are trapped, the
accompanying interstitial or vacancy is recombined, and the dopant itself is piled at the surface.
Consequently, the dopant cannot be emitted unless an incoming interstitial or vacancy reacts
with it, carrying it away from the interface.

Capture

Neutral (or charged, if the model Allcharges is selected) impurity-paired point defects are
trapped at the surface with a probability given by:

Trapped ( A )
= exp ( – Barrier ( A i ) ⁄ ( k B T ) )  1 – -------------------------------------------
Si
P cap ( A i ) (800)
MaxTrapped ( A )

504 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Interfaces and Surfaces

Different barriers can be assigned to A i and AV and, consequently, different recombination


probabilities. The number of trapped particles and maximum trapped particles is assigned to
the interface and is shared between both sides.

Emission

Particles are not emitted by themselves, but the interface allows particles to be moved to the
material bulk. Point defects (interstitials and vacancies) can react with the dopants trapped at
the surface, forming mobile impurity-paired point defects. The probability of these reactions
being successful depends on the binding of the dopant to the surface and the barrier energy:
Si
P emiss ( A i ) = exp ( – Ener ( A i ) ⁄ ( k B T ) ) (801)

where:
Ener ( A i ) = Binding ( A i ) + Barrier ( A i ) (802)

The binding is corrected with a pressure-dependent term:


ΔE bsurface ( A i ) = PΔV bsurface ( A i ) (803)

Parameters

The parameters that control the maximum number of trapped particles have already been
discussed in Simple Material Side on page 502. The barrier energy is called
EBarrier_SurfSi:
sprocess> pdbGet KMC Oxide_Silicon As EBarrier_SurfSi
Asi 0.0
AsV 0.0

and the binding energy is Eb_SurfSi:


sprocess> pdbGet KMC Oxide_Silicon As Eb_SurfSi
Asi 0.1
AsV 0.1

The stress correction is given by:


sprocess> pdbGet KMC Oxide_Silicon B VF_SurfSi

Sentaurus Process User Guide 505


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Oxidation

Oxidation
Sentaurus Process KMC is fully coupled with oxidation. Consequently, any oxidation
conditions issued in the diffuse command of Sentaurus Process are transferred to Sentaurus
Process KMC. Setting Grid [Link] to 1 (it is 0 by default) disables
boundary movement at the oxide–silicon interface. Otherwise, the Sentaurus Process oxidation
algorithm is allowed to work during the reaction step, and the new structure (with expanded
oxide) is imported into Sentaurus Process KMC immediately before the atomistic diffusion
step. The velocities at which the interfaces and the oxide move are used to compute the
displacement of the particles.

Sentaurus Process KMC uses the displacement to relocate the displaced particles and finishes
the remeshing. After this, regular atomistic diffusion occurs. Since there are several
interpolations performed in this process, minor inaccuracies in the final position of particles
can be introduced during remeshing, especially during large oxidations. Regular diffusion
occurring at the same time as oxidation should make these interpolation inaccuracies
negligible.

In principle, Sentaurus Process KMC can be used successfully for 1D, 2D, and 3D oxidation.
In particular, since the precision of the Sentaurus Process KMC solution does not depend on a
fine continuum mesh, a coarse Sentaurus Process mesh can be specified, increasing the
stability of oxidation, while the Sentaurus Process KMC part takes care of the position of
particles. The example in Figure 76 shows the results of such an approach.

Sentaurus Process KMC also allows OED (see Oxidation-enhanced Diffusion (OED) Model
on page 500).
Z Z

Y Y
X X

Figure 76 Example of Sentaurus Process KMC coupled with an oxidation in 3D: (left) KMC
simulation in which the internal mesh is coupled to (right) continuum oxidation
simulation

506 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Epitaxial Deposition

Epitaxial Deposition
Epitaxial deposition can be performed by using one of the following:
■ Regular Sentaurus Process epitaxy
■ Native epitaxial deposition using an LKMC model based on [51]

This section describes the native epitaxy model only. The model is switched off by default and
must be switched on for the native epitaxy:
pdbSet KMC Epitaxy true

The model shares many features with LKMC (to fully understand this model, see LKMC: Fully
Atomistic Modeling of Solid Phase Epitaxial Regrowth on page 451).

The model introduces the silicon lattice and assigns a flag to each lattice position. This flag is
switched on for lattice positions that match the silicon material and is switched off for positions
lying in the gas. The simulator assigns a frequency to all the off positions to become on, that
is, to accept a silicon atom (coming from the gas). Only off lattice positions that have an on
lattice in the neighborhood have a frequency different from zero. Consequently, the silicon
grows slowly, simulating an epitaxial deposition.

The frequency for an off position at the silicon–gas interface to accept a silicon atom and
become on is:
ν Epi = K' × ν SEG
LKMC (804)

where ν SEG
LKMC is the frequency for selective epitaxial growth (SEG), very similar to the one

written in Eq. 700, p. 452:


LKMC
LKMC LKMC  E SEG + ΔE ( site )
ν SEG = K SEG ( site ) × exp  – --------------------------------------------- (805)
 kB T 

LKMC ( site ) is a prefactor that accounts for the local microscopic growth for each
K SEG
configuration. This prefactor depends on two variables: n and m. n can be 100, 110, or 111
defined very similarly to K(1), K(2), and K(3) in LKMC: Fully Atomistic Modeling of Solid
Phase Epitaxial Regrowth on page 451. m is used to distinguish between configurations with
the same n but different second neighbor coordination numbers. In this model, also published
in [51], 100 configurations only are split into three different ones: 100, 100.7, and 100.8 for
100 configurations with six or fewer, seven, and 8 or more second neighbor coordination
numbers.

ΔE ( site ) is a correction energy applied to special sites. It is used to simulate the formation of
{311} facets during SEG. As such, only 1 site is defined to have a non null correction: the

Sentaurus Process User Guide 507


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Epitaxial Deposition

{311} local configuration. This configuration is in two different situations a) and b). a) is a
(100) generic site that lacks half of its third neighbors, and b) is a (110) where the second atom
in the chain needed to define the place as 110 would have first coordination number equal to 2.
Assigning a slower rate to configuration a) prevents the {311} facet becoming a {111} facet.
The slower rate for configuration b) assures that the local {311} configuration is not broken by
a lateral (110) regrowth.

K' is an empirical factor to fit the epitaxial deposition thickness to the specified thickness. This
empirical factor is computed automatically by Sentaurus Process KMC trying to match the
thickness specified in the processing conditions. In particular:
K' = K thickness × thickness ⁄ ( ν SEG
LKMC ( 100 ) × time × K
nanolayer ) (806)

where:
■ thickness is the specified thickness.
■ time is the annealing time.
■ K nanolayer is the length of a nanolayer of recrystallized silicon. A nanolayer is assumed to be
half the lattice constant.
■ ν SEG
LKMC ( 100 ) = K ( 100 ) × exp ( – E LKMC ⁄ ( k T ) ) is the frequency for recrystallization in a
SEG B
pure (100) substrate.
■ K thickness is an empirical constant, available in the PDB as Damage
[Link], that relates the microscopic growth of a lattice atom in a (100)
local neighborhood with the macroscopic growth of a (100) substrate.

This epitaxial deposition can create {111} facets and maintain the same (100):(110):(111)
growth rate as SPER. Under regular selective epitaxial conditions, the shapes generated agree
with experimental ones.

At the end of the LKMC epitaxial deposition, the simulator smooths the generated atomistic
interface and reinserts it into Sentaurus Process. The algorithm used to mesh the atomistic
shape uses the parameter KMC [Link]. A bigger value provides a faster and
more stable insertion, but with a loss of surface details.

The inclusion of doping is possible during LKMC epitaxy. If a doping profile with a linear
change is indicated, the included doping will be linear with time, and not with thickness.

Finally, the generation of an LKMC starting surface from Sentaurus Process and the reinsertion
after LKMC epitaxy are delicate and time-consuming operations if they are performed only
once at the start of the diffuse command and at the end. This means that the state of the
simulator at intermediate steps during the diffuse command may not be synchronized with
the KMC simulator.

508 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Epitaxial Deposition

NOTE To avoid problems, the KMC Movie command is disabled during LKMC
epitaxy. In addition, the diffuse movie command must not be used
during LKMC epitaxial deposition.

Parameters

The parameters needed for this model are defined in the parameter database under KMC Si
Epitaxy. Table 56 lists the parameters for the site prefactors.

Table 56 Parameters for site prefactors


Parameter Description

[Link].100.8 For (100) sites with 8 or more second neighbor coordination number

[Link].100.7 For (100) sites with 7 second neighbor coordination number

[Link].100 For (100) sites with 6 or fewer second neighbor coordination number

[Link].110 For (110) sites

[Link].111 For (111) sites

Table 57 lists the parameters for the activation energies.

Table 57 Parameters for activation energies


Parameter Description

[Link] Overall activation energy for SEG

[Link].311 Correction for 311 planar SEG

Table 58 lists the parameters for the thickness.

Table 58 Parameters for the thickness


Parameter Description

[Link] Empirical factor to fit the thickness in epitaxial growth

As an example, some of these parameters can be obtained as:


sprocess> pdbGet KMC Si Epitaxy [Link].100
3.3e+15
sprocess> pdbGet KMC Si Epitaxy [Link].100.8
1.8e+18
sprocess> pdbGet KMC Si Epitaxy [Link].111
3.5e+14
sprocess> pdbGet KMC Si Epitaxy [Link]
2.7

Sentaurus Process User Guide 509


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Including New Impurities

Figure 77 shows an example of epitaxial deposition using LKMC.

Figure 77 (Left) Initial shape and (right) final shape after LKMC epitaxial deposition with
thickness of 175 nm

Including New Impurities


You can customize Sentaurus Process KMC to include other impurities not supported by
default. The modifications affect the parameter database and the file [Link]. Nevertheless,
it is not necessary or recommended to modify the files included in the Sentaurus Process
distribution. All the modifications can be included in the input file.

For the parameter database, the pdbSet family of commands allows overwriting previous
values or defining new ones. For the procedures written in the file [Link], defining the new
procedure in the input file is enough; the new one will be executed instead of the old one.

The modifications include the following:


1. Include the new impurity X in Sentaurus Process KMC under the label named
KMC Impurities.

2. Include the impurity-related particle pairs (Xi or XV or both) in KMC Pairs (see Particles
in Models on page 397). If your model does not have impurity pairs (in other words,
simple material), you do not need to specify them, including Dm and Em.

3. Be careful about which charge states you include because not all are allowed; you must
specify parameters for all those included.

510 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Including New Impurities

4. Include possible aliases for the particle in KMC Aliases. If the particle already exists for
Sentaurus Process, include this name as an alias in Sentaurus Process KMC (see Alias on
page 398).
5. You can customize the colors for this particle (although it is optional) in Tecplot SV in
KMC Colors (see Colors on page 399).

6. To create parameters for the new particle, define the parameters explained in Particles and
Parameters on page 399 under KMC <mat> X, where <mat> is every material defined in
your simulation, and X is the name of the new defined dopant. Be sure to include all of
them. Parameters for the impurity cluster model are not needed if Implement_Complex
is set to false. All others require values since they specify how the surface and amorphous
regions interact with the new dopant X.
7. Specify the reactions for KMC <mat> X in ReactionsPointDefect. Typical reactions
here include the pair formation (such as X,I true) and impurity cluster formation (such
as Xi,X true). These reactions only need to be defined in materials with the full model.
8. Specify also the reactions with damage and extended defects if there are any. You can leave
these fields empty. See Interaction with Impurities on page 429, Interactions on page 434,
Interactions on page 438, and Interactions on page 442.

If you include impurity clusters, ensure the following:


1. Define reactions that create impurity clusters from two isolated particles.
2. Enable the right impurity clusters for your simulation with Implement_Complex (see
Impurity Clusters on page 460).
3. Fill the parameters for the impurity clusters. You can leave the energy barriers empty, but
you must specify Etotal_Complex energies and CaptVol_Complex capture volumes.
4. Write the reactions for your impurity clusters. If you have specified an energy for a
particular impurity cluster, then that impurity cluster should be reachable through some
reactions. Include the reactions with dopants and point defects in ReactionsCluster
(see Interactions on page 475).
5. If you need dopant deactivation without diffusion for high concentrations, see Percolation
on page 465.

Finally, you must define some variables set in the [Link] file placed in TclLib. This can
(and should) be performed locally in your input file:
1. Add the names of your new impurities and pairs to the nameOf array.
2. Complete the map of MC implantation to Sentaurus Process KMC with MCnameOf.

Sentaurus Process User Guide 511


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Including New Impurities

If you need to transfer information back and forth from continuum to KMC, you also must
modify the procedures PDE2KMCUser and KMC2PDEUser:
■ Add the new particles and clusters to the lists in PDE2KMCUser. The first field is the field
name in Sentaurus Process (continuum models), the second is the name in Sentaurus
Process KMC, and the third is the conversion factor. For example:
fproc PDE2KMCUser {} {
return "Dopant X 1 \
DopantInt Xi 1 \
DopantVac XV 1 \
DopantCluster X2 .5 \
DopantCluster X3 .3333"
}
■ Add the new particles in KMC2PDEUser. The first name is the name in Sentaurus
Process KMC, the second is the Sentaurus Process field, and the third is the factor. For
example:
fproc KMC2PDEUser { } {
return "X Dopant 1\
Xi DopantInt 1\
XV DopantVac 1\
X2 DopantCluster 1\
X3 DopantCluster 1.5\
X4 DopantCluster 2"
}

NOTE MCnameOf can be used to manipulate some KMC species without


actually implementing them. For example, an unknown implant can be
performed to simulate preamorphization. If Sentaurus Process KMC
does not support the unknown dopant, use
set MCnameOf(dopant) "I" to instruct the MC implantation code
to pass the dopant atoms as interstitials to Sentaurus Process KMC. This
way, all of the damage generated by an unknown dopant implant will be
correctly calculated and passed, and the dopant ions will be considered
to be silicon interstitials by Sentaurus Process KMC.

Impurities Diffusing without Pairing


Sentaurus Process KMC allows impurities to diffuse using two different mechanisms:
■ Normal diffusion
■ Diffusion without pairing

512 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Including New Impurities

Normal Diffusion

For impurities with +1 or –1 charge, in other words, dopants, the substitutional dopant is active,
but it does not diffuse. The substitutional dopant reacts with interstitials or vacancies, forming
a pair that diffuses. These pairs break up with a given frequency, releasing the dopants back
into the substitutional positions.

Diffusion without Pairing

For neutral impurities, the normal diffusion is still available. An alternative diffusion
mechanism is migration without pairing. In these cases, the impurity diffuses as it is, that is,
the substitutional impurity has a nonzero diffusivity and continues forming pairs with point
defects.

Diffusion without pairing has the following characteristics:


■ The impurity has nonzero diffusivity. The pairs can exist, but they do not have to diffuse:
sprocess> pdbGet KMC Silicon F Dm
F 5e-3
FV 0
FI 0
sprocess> pdbGet KMC Silicon F Em
F .8
FV 5
FI 5
■ When a pair (for example, FI) breaks up, Eq. 655 and Eq. 656, p. 407 still apply. The
migration energy of the impurity is not accounted for.
■ The impurities cannot interact with extended defects, but their pairs can, as explained in
Extended Defects on page 430.
■ Impurities interact with interfaces. Interfaces re-emit impurities.
■ Impurity clusters are possible with some variations:
• Reactions within the impurities (for example, F + F) apply to the moving particles and
not only the percolation model.
• Impurity clusters emit point defects and impurities, as explained in Emission on
page 424, but the capture and emission reactions for impurities are:
An Im + A ↔ An + 1 Im (807)

• Consequently, the binding energies involved in the capture and emission of impurities
will be:
E AnIm b ( A ) = E pot ( A n + 1 I m ) – E pot ( A n I m ) (808)

Sentaurus Process User Guide 513


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Reports

• Recombination, FT, and complementary FT mechanism are implemented as well. The


binding energies for them are not changed since the emission recombination of Ai (for
AnIm clusters) or AV (for AnVm clusters) is not involved.

Reports
Sentaurus Process KMC prints several reports in the log file including:
■ Models used
■ Particle distribution
■ Cluster distribution
■ Defect activity
■ Interactions
■ Event

Models Used Report


Sentaurus Process KMC reports the models used immediately after being initialized. A
summary is printed for each impurity, dopant, and point defect:
+----------------+-------------------------------------------------+
| KMC models | Silicon |
+----------------+-------------------------------------------------+
|Interstitial | |
| DiffModel |Direct(I) |
| ChargeModel |I( -1 0 1 ) |
| ClusterModel |I+I AmorphousPocket Void ThreeOneOne Loop |
| SPERModel |Clean |
|Vacancy | |
| DiffModel |Direct(V) |
| ChargeModel |V( -2 -1 0 1 2 ) |
| ClusterModel |V+V AmorphousPocket Void ThreeOneOne |
| SPERModel |Clean |
|Arsenic | |
| DiffModel |Kick-out(Asi) Kick-out(AsV) |
| ChargeModel |Asi( 0 1 ) AsV( -1 0 1 ) |
| ClusterModel |As+As AsnVm |
| SPERModel |As4Vm 30% deposited 70% moved |
|Boron | |
| DiffModel |Kick-out(Bi) |
| ChargeModel |Bi( -1 0 1 ) |
| ClusterModel |BnIm AmorphousPocket Loop |
| SPERModel |B3Im 100% deposited 0% moved |

514 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Reports

|Fluorine | |
| DiffModel |Direct(F) |
| ChargeModel |FI( 0 ) FV( 0 ) |
| ClusterModel |F+F FnIm FnVm |
| SPERModel |F2Im F2Vm 30% deposited 70% moved |
+----------------+-------------------------------------------------+
| Stress model | Disable |
+----------------+-------------------------------------------------+
| SPER model |Non-Lattice KMC |
+----------------+-------------------------------------------------+

Table 59 Sentaurus Process KMC models


Model Description

ChargeModel The particles and their allowed charged states are displayed.

ClusterModel The interactions between the impurity or point defect and extended defects and clusters are
displayed.

DiffModel The diffusion model can be direct or kick-out. Kick-out means that the particle does not
diffuse unless paired with an interstitial or vacancy.

SPERModel Recrystallization model shows the percentage of dopant being deposited, and the bigger
deposited cluster, if any. Point defects are just cleaned during the recrystallization.

Stress model Disabled or enabled.

SPER model The algorithm for SPER can be non-lattice KMC (isotropic) or lattice KMC (anisotropic).

This summary is printed for any particle allowed in the simulation, even if this particle is not
going to be used.

Particle Distribution Report


The activation report lists how many dopants exist per material and the state of the material:
-- KMC Particle distribution report
Material Dopant Total State
Nitride As 28604 100.00% mobile
Oxide As 759 100.00% mobile
Oxide_Silicon As 1777 100.00% trapped
PolySilicon As 21986 100.00% mobile
Silicon As 58394 41.55% active
Oxide B 25 100.00% mobile
PolySilicon B 283 100.00% mobile
Silicon B 828 99.52% active

Sentaurus Process User Guide 515


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Reports

The different states depend on the material:

full material Particles can be active (substitutional dopant) or inactive (anything else).
simple material Particles can be mobile (single impurity) or immobile (impurity in a
cluster).
Interface Number of particles trapped at the interface.

Cluster Distribution Report


This report shows the distribution of clusters versus size for each material and reports how
many clusters are in the simulation and their types:
-- KMC impurity cluster distribution report --
Name #number
--- Silicon ---
As4I 4889 As2 4062 As4 1110 As2V 571
As3I 121 As2I 95 As3 56 As3V 19
As4V 9 As4I2 6 B2I2 2

For example, in the above report, all the BICs are B2I2. The As–vacancy clusters are distributed
between different types, but the most common one is As4I.

Defect Activity Report


Sentaurus Process KMC displays the point defects, impurities, dopants, extended defects,
clusters, amorphous areas, recrystallizations, and surface emission accounted for during the
simulation:
-- KMC defect activity report --
First: Time Events Temp | Last: Time Events Temp Label
0.000 0.00e+00 27 | 3e-01 2.86e+09 672 PointDefect (I)
0.000 0.00e+00 27 | 2e-01 2.86e+09 772 PointDefect (V)
2.285897e-02 1.04e+06 27 | 75610 here PointDefect (As)
0.000 0.00e+00 27 | 1132 here PointDefect (B)
9.639 1.47e+06 27 | 4e-01 2.86e+09 572 PointDefect (IM)
1.657462e-01 1.08e+03 27 | 3e-01 2.86e+09 672 PointDefect (IP)
11.025 1.52e+06 27 | 2e-01 2.86e+09 722 PointDefect (VMM)
2.849592e-02 3.60e+01 27 | 2e-01 2.86e+09 722 PointDefect (VM)
103.606 2.99e+06 27 | 2e-01 2.86e+09 772 PointDefect (VP)
2.352941e-04 1.19e+07 650 | 1e-03 1.85e+09 1230 PointDefect (VPP)
6.114947e-01 1.08e+06 27 | 2e-01 2.86e+09 722 PointDefect (AsV)
13.397 1.60e+06 27 | 2e-01 2.86e+09 722 PointDefect (AsVM)

516 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Reports

6.057627e-01 1.08e+06 27 | 2e-01 2.86e+09 772 PointDefect (AsVP)


0.000 1.04e+06 27 | 8e-01 2.86e+09 222 PointDefect (Asi)
8.988 1.45e+06 27 | 33 here PointDefect (AsiM)
9.790420e-01 1.10e+06 27 | 4e-01 2.86e+09 622 PointDefect (AsiP)
9.143608e-01 2.14e+04 27 | 6e-04 2.55e+07 1000 PointDefect (BV)
1.154401e-01 5.63e+02 27 | 1e-03 1.68e+09 1230 PointDefect (BVM)
1.501662e-01 9.14e+02 27 | 7e-04 3.78e+07 1040 PointDefect (BVP)
0.000 0.00e+00 27 | 3e-01 2.86e+09 672 PointDefect (Bi)
7.337895e-03 2.00e+00 27 | 3e-01 2.86e+09 672 PointDefect (BiM)
1.501662e-01 9.14e+02 27 | 1e-03 7.36e+08 1300 PointDefect (BiP)
0.000 0.00e+00 27 | 3e-02 2.85e+09 862 AmorphousPocket (I)
5.772006e-03 1.00e+00 27 | 1e-03 2.07e+09 1180 AmorphousPocket (V)
0.000 0.00e+00 27 | 2e-03 2.43e+09 1030 AmorphousPocket (IV)
3.254430e-04 1.29e+07 720 | 8e-04 1.36e+08 1130 Void
2.241841e-03 1.04e+07 950 | 1 here ThreeOneOne
0.000 1.04e+06 27 | 5111 here ImpurityCluster (AsI)
7.615 1.40e+06 27 | 599 here ImpurityCluster (AsV)
7.573 1.40e+06 27 | 5228 here ImpurityCluster (As)
1.154401e-02 6.00e+00 27 | 2 here ImpurityCluster (BI)
17.278 4.97e+06 27 | 7e-04 5.66e+07 1070 ImpurityCluster (B)
0.000 0.00e+00 27 | 1464 here Elements emitting I
0.000 0.00e+00 27 | 1464 here Elements emitting V
3.300695e-04 1.29e+07 730 | 936 here Elements emitting As
7.478722e-04 6.83e+07 1080 | 1e-03 2.15e+09 1130 Elements emitting Asi
47.284 2.31e+06 27 | 7e-04 6.21e+07 1110 amorphous (Recryst.)
0.000 0.00e+00 27 | 23025 here LatticeAtom

The report contains two columns with three subcolumns each. The first report shows when the
model was first used; the last report shows when the model was last used. If the model is still
being used, the number of particles or defects using it is displayed followed by “here.” The
three subcolumns report the time, number of simulated events, and temperature.

For example, the previous report shows the first {311} defect (ThreeOneOne) was formed at
–3
2.2 × 10 s , with a temperature of 950°C , and with one {311} still in the simulation. There
–4
was silicon amorphous, from 47 s, 27°C to 6.7 × 10 s at 1110°C . Since any anneal resets
the time to zero, the first time applies to a previous anneal or implant (since there is damage
accumulation, in other words, room temperature annealing, during implants).

For the interface models, the report shows how many interfaces are in the simulation (I and V),
and how many of them contain trapped dopants (936 for As). It also lists the first and last time
the interfaces let As go in the form of Asi.

This information shows how the different models were used during the simulation and when
the damage was annealed.

Sentaurus Process User Guide 517


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Reports

Interactions Report
This reports shows, for each material and interface, all the reactions between a mobile particle
(point defect or impurity-pair point defect) and the number of times they happened.

The first column lists the name of the interacting defect, the second the interaction itself, and
the third the number of times it happened from the beginning of the simulation. Columns 4, 5,
6, and 7 are the same as 2 and 3. This report explains which reactions may be important and
which are not. For example, in the report below, the reaction I+VP (31 times) is negligible in
comparison with I+V (111848 times) and does not play a significant role in this simulation for
the formation of AP.

Finally, depending on the defect reported, the output can be slightly different.

PointDefect
-- KMC interactions report --
Reaction #Times Reaction #Times Reaction #Times---
Silicon ---
PointDefect I+I 278778 I+V 111848 I+As 1435719
PointDefect I+B 644803 I+IM 862 I+IP 7856
PointDefect I+VMM 83 I+VM 3316 I+VP 31
PointDefect I+AsV 273 I+AsVP 2480 I+AsVM 35
PointDefect I+Bi 2809
PointDefect V+V 56907 V+As 25324 V+IM 103
PointDefect V+IP 3541 V+VMM 288 V+VM 4248
PointDefect V+VP 77 V+Asi 12480 V+AsiP 3405
PointDefect V+Bi 433 V+BiP 1924 V+BiM 44
PointDefect As+As 243 As+IM 1313602 As+VMM 38966
PointDefect As+VM 30332 As+AsVM 2666
PointDefect B+IP 285066 B+BiP 203

It includes the reaction between two mobile particles.

Indirect Diffusion

When using the indirect diffusion model for amorphous materials, the results are similar to
crystalline ones, but I and V mean dangling bond and floating bond, respectively.
Reaction #Times Reaction #Times Reaction #Times
--- AmorphousSilicon ---
PointDefect I+V 40475 I+B 30707

518 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Reports

AmorphousPocket
AmorphousPocket Ix+I 713391 Ix+V 210933 Ix+VMM 305
AmorphousPocket Ix+VM 4575 Ix+VP 25
AmorphousPocket Vx+I 31202 Vx+V 43040 Vx+IM 126
AmorphousPocket Vx+IP 11372 Vx+Bi 1281 Vx+BiM 47
AmorphousPocket IxVy+I 312602 IxVy+V 910338 IxVy+B 204
AmorphousPocket IxVy+IM 154 IxVy+IP 15555 IxVy+VMM 110
AmorphousPocket IxVy+VM 4930 IxVy+VP 5 IxVy+Bi 4683
AmorphousPocket IxVy+BiP 618 IxVy+BiM 106

It includes the reaction between small interstitial clusters (Ix), small vacancy clusters (Vx), and
APs including both Is and Vs (IxVy). To keep the report small, all the sizes are condensed into
only one Ix, Vx, or IxVy.

ThreeOneOne
ThreeOneOne Ix+I 1035217

All the {311} sizes are condensed under the term Ix.

Loop
Loop Ix+I 177885 Ix+BiM 10

All the dislocation loop sizes are written under the term Ix.

ImpurityCluster
ImpurityCluster B2+I 31 B2+Bi 6
ImpurityCluster B3+I 3
ImpurityCluster B2I+I 463 B2I+V 25 B2I+Bi 21
ImpurityCluster B3I+I 27591 B3I+V 1148
ImpurityCluster BI2+V 3835 BI2+Bi 278
ImpurityCluster B2I2+I 1518 B2I2+V 86 B2I2+Bi 1314
ImpurityCluster B3I2+I 26
ImpurityCluster B2I3+V 26
ImpurityCluster As2+V 1728 As2+As 5 As2+AsV 1251
ImpurityCluster As3+V 100 As3+AsV 69
ImpurityCluster As4+V 3
ImpurityCluster As2V+I 56605 As2V+Asi 20411
ImpurityCluster As3V+I 87723 As3V+Asi 18437
ImpurityCluster As4V+I 1973488

Since impurity clusters are important for the correct activation and deactivation of dopants, and
their sizes are small numbers, all are written in the report.

Sentaurus Process User Guide 519


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Reports

Interface
--- Oxide_Silicon ---
Interface I 11364 I+As 73 V 1141
Interface AsV 410 Asi 1440

The name of each particle interacting with any interface, and the number of times it happened,
is reported last.

Event Report
The event report is the reverse of the reaction report. The reaction report shows the forward
reactions; the events report shows the reverse ones. Since the reactions and other events depend
strongly on the defects, this report changes from defect to defect.

PointDefect
-- KMC event report --
Name Jump X Jump Y Jump Z Break-up
PointDefect I 2921360317 2921305233 2921406601
PointDefect V 1285293026 1285290404 1285265687
PointDefect As 1120 1071 1163
PointDefect B 7 23 15
PointDefect IM 228653836 228646801 228625103
PointDefect IP 1074734274 1074760443 1074719693
PointDefect VMM 86102860 86115025 86090069
PointDefect VM 846251937 846307626 846269323
PointDefect VP 7881794 7875672 7878359
PointDefect Asi 1144728 1144688 1142864 832840
PointDefect AsiP 51512 52143 51812 1894402
PointDefect AsV 18255 17863 17967 30572
PointDefect AsVP 3544 3436 3438 22783
PointDefect AsVM 3585 3586 3460 37804
PointDefect Bi 13459181 13453297 13458878 257929
PointDefect BiP 94930 95115 95524
PointDefect BiM 124899 123825 124860 670411

The second column shows the name of the mobile particle. The 3rd, 4th, and 5th columns show
how many diffusion events (hops or jumps) have every particle perform in the x-, y-, and z-axis,
respectively. In the absence of anisotropies, these three numbers must be approximately the
same. Finally, the last column shows the number of breakups. Since not all the mobile particles
can break up (for example, Bi will break in B + I, but I cannot break up), some of the particles
will have an empty column there. The relative number between the number of diffusion steps
and the number of breakups gives an estimation of the stability of the particle. The more stable
the particle (more diffusion events and less breakups), the larger its long-hop distance.

520 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Reports

When using the double-hop model, the report looks like:


Name Jump >< Jump >> Jump >^ Break-up
PointDefect I 288583696 288599278 1154233402
PointDefect V 524892 527369 2103188
PointDefect IM 32935856 32946513 131772254
PointDefect IP 153307399 153285675 613169175
PointDefect VMM 373744 374963 1498954
PointDefect VM 256003 255776 1022437
PointDefect VP 309 260 1111
PointDefect VPP 4 4 10
PointDefect AsV 14570 14473 58109 47289
PointDefect AsVM 223313
PointDefect AsVP 348 371 1464 3547
PointDefect Asi 102330 102738 411863 839856
PointDefect AsiP 8695 8669 34730 843920
PointDefect BV 41 30 157 3
PointDefect BVM 166 181 682 280
PointDefect BVP 1
PointDefect Bi 26231 25952 104499 21468
PointDefect BiM 9798 9735 39016 42747

In this report, the third column reports the number of jumps in opposite directions. The fourth
column reports the number of jumps in the same direction, and the fifth column lists jumps in
orthogonal directions. For further information, see Hopping Mode on page 411.

AmorphousPocket
Name IV Recom I Emis V Emis
AmorphousPocket Ix 300905
AmorphousPocket Vx 59627
AmorphousPocket IxVy 802007

Ix are small interstitial clusters. They can only emit interstitials. Vx are small vacancy clusters
that can only emit vacancies. Finally, IxVy are APs. They can recombine (destroy) an internal
IV pair.

ThreeOneOne
Name I Emis
ThreeOneOne Ix 1038899

{311}s can only emit neutral interstitials.

Sentaurus Process User Guide 521


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Reports

Loop
Name I Emis
Loop Ix 181927

Dislocation loops, like the {311}s, can only emit neutral interstitials.

ImpurityCluster
Name Emis
ImpurityCluster B3 10 V
ImpurityCluster B3I3 913 I 14203 Bi
ImpurityCluster B2I3 4710 I
ImpurityCluster B3I2 13570 I
ImpurityCluster B2I2 656 I
ImpurityCluster BI2 1 I 32 Bi
ImpurityCluster B2I 578 BiP

An impurity cluster (for example, a BIC) emits Bi and I. B2I also can emit BiP particles.
Finally, an internal Frenkel pair can be created, trapping the I and emitting the V. This has been
the case in this simulation for 10 B3 ( B 3 → B 3 I + V ). Since BV is not defined by default, it
cannot be emitted.
Name Emis
ImpurityCluster B3 1 V
ImpurityCluster B2 10 V
ImpurityCluster B3I2 6 I
ImpurityCluster C2I 3 I 1 V 32 Ci
ImpurityCluster B3I 1 V 6 Bi
ImpurityCluster B2I 107 Bi
ImpurityCluster CB2I 84 Bi 2 Ci
ImpurityCluster CBI 42 I 1 Bi

In this case, apart from more or less standard boron and carbon clusters, there is a hypothetical
carbon–boron–interstitial (CBI) cluster. Two members of this CBI cluster are present here,
CB2I, emitting Bi and Ci, and CBI, emitting I and Bi.

Amorphous Defects
Name Recryst.
Amorphous Ele. 4932 B3I3 4598 B2I3 7087 BI2

This is an example of recrystallization depositing inactive boron in different cluster


configurations. In this case, the simulator tries to deposit the impurity clusters with a proportion
of 30%, 30%, and 40% for B3I3, B2I3, and BI2, respectively.

522 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Reports

Lattice Atoms
Name SPER
LatticeAtom I 2070434

Example of output related with epitaxial growth, showing the number of atoms that were
incorporated into crystalline silicon.

Simple Materials

An event report is written for simple materials as well:


--- AmorphousSilicon ---
Name Jump >< Jump >> Jump >^ Break-up
PointDefect B 4 2 16
Name Recryst.
amorphous I 7575
Name Jump >< Jump >> Jump >^
Rejected PD As 9 42

Indirect Diffusion

The report for amorphous materials with indirect diffusion is similar to the one of crystalline
materials, but the I and V mean dangling bond and floating bond, respectively.
--- AmorphousSilicon ---

Name Jump >< Jump >> Jump >^ Break-up


PointDefect I 408765 409824 1637334
PointDefect V 244177 244724 975635
PointDefect Bi 456685 457074 1824373 30707

Name Jump >< Jump >> Jump >^


Rejected PD I 141130
Rejected PD V 85422
Rejected PD Bi 155922

Sentaurus Process User Guide 523


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

Extracting KMC-related Information


You can request Sentaurus Process KMC information in one of the following ways:
■ Using the Sentaurus Process interface (in some cases, the information must be translated
to Sentaurus Process fields using kmc deatomize before calling the Sentaurus Process
commands):
• struct command

• With the select, print, WritePlx, and plot commands


■ Calling directly the Sentaurus Process KMC kernel:
• Writing Sentaurus Process KMC TDR files
• Extracting atomistic information with the kmc extract command (see kmc on
page 954)

Calling Sentaurus Process KMC directly has the following advantages:


■ More information can be obtained than using the regular interface.
■ The atomistic continuum conversions needed to compute the concentrations are more
accurate.
■ The atomistic information (in other words, 3D coordinates and shape of defects) can be
displayed.
■ Simulations can be saved and loaded.

Transferring Fields from KMC to Continuum Information:


deatomize
Sentaurus Process KMC is independent of the mesh and fields of Sentaurus Process.
Consequently, after a diffusion in atomistic mode (see Atomistic Mode on page 371), there are
no Sentaurus Process fields to visualize. You can instruct Sentaurus Process KMC to create
fields with KMC information. For example, to deatomize the simulation and convert the 3D
positions into concentrations, use:
kmc deatomize name=<field>

When the field is created, Sentaurus Process KMC will not modify it unless there is a new
deatomize command. This means that the field is synchronized with the Sentaurus
Process KMC simulation when it is created. However, after that, if the simulation changes (for
example, performing another diffusion), the field will conserve the initial values.

524 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

The fields created by kmc deatomize are:


■ Concentration of particles (number of particles per volume unit). It could be substitutional
(B, As, ...), paired (AsV, Bi), and the charge state is included (AsV is neutral; AsVM is
negative). If these particles are mapped as mobile in the [Link] file (see Including New
Impurities on page 510), the field will be computed as an average of time. Otherwise, the
field will contain the instantaneous concentration.
■ Total concentration of impurities (number of particles in any defect per volume unit):
Itotal, BTotal, …
■ Concentration in the interface (number of particles in the interface per volume unit):
BInterface, AsInterface…
■ Concentration in amorphous material (number of particles in amorphous layers per volume
unit): AsAmorphous, BAmorphous…
■ Concentration of a particular extended defect (number of defects, where one defect
contains more than one particle, per volume unit): I54, V23, I1026…
■ Concentration of a particular AP (number of APs, where an AP contains more than one
particle): IV, I3V4…
■ Concentration of a particular impurity cluster (number of impurity clusters, where an
impurity cluster contains more than one particle): B2I3, As4V…
■ Active concentrations (active number of dopants per volume unit, net, p-type, n-type, and
total): NetActive, pNetActive, nNetActive, and tNetAtive.
■ Germanium concentration: Ge.

Some fields compute the defect concentration (concentration of APs, impurity clusters, and
extended defects). You can transform them into particle concentrations multiplying by the size
of the defect.

For example, you can obtain the concentration of boron particles in B2, B3, BI2, and B2I2 in the
field BICs with the following set of commands:
kmc deatomize name=B2; kmc deatomize name=B3
kmc deatomize name=BI2; kmc deatomize name=B2I2
select z="2*B2 + 3*B3 + BI2 + 2*B2I2" name=BICs

Smoothing Out Deatomized Concentrations

The direct deatomization of Sentaurus Process KMC quantities into continuum mesh elements
produces values with strong gradients between neighboring elements. This is especially true
for small concentrations, where Sentaurus Process KMC contains a few particles that are
deatomized as an “all or nothing” distribution; that is, some cells may contain one particle, and
this is a concentration of 1 ⁄ ( ΔV ) , while others contain no particles, thereby having a zero
concentration.

Sentaurus Process User Guide 525


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

In some cases, especially when the Sentaurus Process KMC output is used as a device
simulation input, a smoother concentration is desirable, as seen in Figure 78. This can be
performed by setting the PDB parameter:
KMC [Link] <field> <number>

where:
■ <field> is the field name to be smoothed (for example, NetActive).
■ <number> is an integer.

Figure 78 Comparison of NetActive concentration in simulations performed with (left)


[Link] equal to 0 (disabled) and (right) equal to 1

A value of 0 produces no smoothing; larger numbers produce more smoothed profiles. The
smoothing algorithm works as follows:
■ For each node in the standard Sentaurus Process mesh, the number of particles N
associated with the node is counted.
■ The concentration set to that node is, in principle, N ⁄ V Voronoi , where V Voronoi is the Voronoï
volume associated with the node.
■ N is compared to M , where M is the number specified in [Link] for this field.
■ If the field name does not exist in [Link], 0 is assumed.
■ If N < M , the smoothing algorithm applies. Starting at the node, the algorithm looks for
particles not associated with the Voronoï volume of the node, with an increasing radius.
■ When M – N particles are found in a radius R , it stops searching. At this point, there are
M particles inside the radius, M – N outside the Voronoï volume, and N inside the
Voronoï volume.

526 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

■ Then, the concentration of the node will be:


N ⁄ V Voronoi + ( weight ( N – M ) ) ⁄ V R (809)

where V R is the volume associated with a segment (1D), circle (2D), or circumference (3D)
of radius R , and weight is the PDB value [Link]:
pdbSet KMC [Link] 0.01

This technique is not intended to perfectly conserve the total dose, but to fill the nodes with low
concentrations with values depending on the distance to the nearest particles. The factor
weight is included to limit the extra dose introduced in those nodes.

The [Link] parameter is used whenever a deatomization is performed. This includes


calling directly kmc deatomize from the command line or indirectly through KMC2PDE or
another procedure.

NOTE The algorithm to smooth atomistic concentrations can be extremely


slow in simulations with a large number of nodes.

The smooth algorithm can be relatively slow for simulations with a large number of nodes or
a large number of particles. This can be resolved by calling it in parallel mode with the
following option:
math numThreadsDeatomize=<n>

This option is independent from the KMC parallel mode and does not interfere with it. It
applies to the smooth algorithm only, not to the whole deatomization.

Adding and Obtaining Defects in Simulations: add,


[Link], and [Link]
Sentaurus Process KMC allows you to add defects to the simulation using the commands:
kmc add queue name=<defect name> coordx=<x> coordy=<y> coordz=<z> [amorphous]
[crystalline]
kmc add

First, the defects are queued in the creation queue with the command:
kmc add queue

You can queue as many defects as you want. Queueing a defect does not actually introduce it
in the simulation. You must use the command kmc add alone to empty all of the queue by
generating defects in the simulation.

Sentaurus Process User Guide 527


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

The option name specifies the defect to be created (examples are B, B2I4, I54, and
BInterface). The options coordx, coordy, and coordz provide the place where the defect
(or the center of mass of the defect) will be created. Finally, the optional arguments
amorphous and crystalline provide a way to tell the simulator whether this defect should
be created in an amorphous or a crystalline material. For example, if the current material is
crystalline, but the option amorphous is specified, the simulator not only creates a defect, but
also changes the material from crystalline to amorphous phase.

An alternative way to add defects to the simulation is using the [Link] command,
which requires the name of a text file to be specified with [Link], for example:
kmc [Link]=my_filename

This command takes all the defects specified in the file and adds them consecutively in a very
similar way to the add command. Similar to the add command, only the center of mass is
specified for defects having more than one particle.

One line specifies one defect. The format of each line is:
defect_type defect_name coord_x coord_y coord_z

where:
■ defect_type is the generic name of the defect, for example, PointDefect, Loop,
ThreeOneOne, Interface, ImpurityCluster.
■ defect_name is the particular name of the defect, for example, B, P, I50, BiM, B3I2.
■ coord_x, coord_y, coord_z are the coordinates (in nanometers) for the center of mass
of the defect.

For example:
Interface P 1.000000 11.250000 13.000000
PointDefect As 5.032000 5.320000 1.032000
ThreeOneOne I50 10.000000 10.222565 9.777436
PointDefect B 10.000000 5.000000 6.000000
PointDefect BiM 30.000002 5.000000 14.000000
ThreeOneOne I100 19.554871 20.445129 20.000000
Loop PI59 13.000000 13.000000 13.000000
PointDefect Bi 26.000000 26.000000 26.000000
ImpurityCluster B2I 6.235641 7.115777 7.077633
ImpurityCluster B3I2 4.287220 7.497602 4.604665
PointDefect Ge 6.696747 7.492962 0.834044

Similarly, the command kmc [Link] writes all the defects currently in the
simulation into a file with the above format. The name of the file must be specified as:
kmc [Link]=my_filename

528 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

Files written with [Link] can be read later with [Link]. Since only the
center of mass of the particle is written, this is an inaccurate way to save a simulation. To save
a simulation, use instead struct or kmc extract tdrWrite.

Using the Sentaurus Process Interface

The select, print, WritePlx, and plot Commands

The commands select, print, WritePlx, and plot work as expected. If you need a field
for them, create it using kmc deatomize (see Transferring Fields from KMC to Continuum
Information: deatomize on page 524).

In particular, select creates particles inside Sentaurus Process KMC whenever the name of
the field is recognized as a particle or defect. These names are:

Dopants As, B, …

Impurities C,F, …

Paired particles Bi, AsV, Ci, …

Point defects I,V

Any of the above particles with a different charge IM, VPP, BiM, AsVP, …

Amorphous BAmorphous, AsAmorphous, …

Amorphous pockets IV, I4V5, …

Dopants or impurities in an interface BInterface, AsInterface, …

Extended defects I43, V21, …

Impurity clusters AsV4, BI2, …

Example

For a typical situation with a 1D SIMS-like simulation (implant and anneal), the 1D profiles
can be extracted in a .plx file using WritePlx:
SetPlxList BTotal B
WritePlx file

Calling WritePlx without selecting the list with SetPlxList also works. It generates a list
of the most common fields:
WritePlx file

Sentaurus Process User Guide 529


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

In nonatomistic mode, the fields must be deatomized first:


kmc deatomize name=BTotal
kmc deatomize name=B

The init Command

The init command works as expected. Background dopings can be assigned. A TDR file to
be loaded can also be assigned with:
init tdr=filename

and, if the file has been saved with Sentaurus Process KMC and contains atomistic information
(see the option defects for tdrAdd, kmc on page 954), Sentaurus Process will load it, and
the simulation can be continued.

NOTE Loading a file and continuing a simulation with init will give results
similar, but not identical, to performing the simulation without the save/
load process. The differences between the results are only statistical; in
other words, both represent possible solutions.

The struct Command


The struct command works as expected, except that by default it creates some extra fields to
be saved. It generates these extra fields by calling the function preKMC with the argument
struct. You can modify or customize this function in the [Link] file. By default, preKMC
tries to generate and store fields similar to a five-stream model from the KMC information.

The struct command also saves restart information, allowing the Sentaurus Workbench
#split command to work properly with Sentaurus Process KMC.

The load Command

The load command accepts the options kmc and replace only. It is intended to load a TDR
Sentaurus Process KMC simulation to replace the existing one. It performs the necessary
conversions between the existing internal Sentaurus Process KMC and the one read from the
TDR file, conserving the existing one.

The deposit Command

The deposit command works as expected, including depositing doped layers.

530 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

The diffuse Command

The diffuse command works as expected with Sentaurus Process KMC, except that the
diffusion is done with the atomistic solver. In particular, the options for oxidation and
silicidation are supported (see Oxidation on page 506). Epitaxial options also are supported.
For lattice LKMC epitaxy, see Epitaxial Deposition on page 507.

Nonatomistic Mode

When Sentaurus Process KMC operates in the nonatomistic mode (see Nonatomistic Mode on
page 374), it transforms the five-stream model fields into atomistic information before every
annealing and converts the atomistic information to five-stream model information after any
annealing. Sentaurus Process KMC is disabled between annealings; consequently, all
information should be accessed using the standard Sentaurus Process interface. The only way
to access atomistic information is by using the Movie option during the Sentaurus
Process KMC annealings.

The transformation from five-stream to atomistic information is performed in the function


preKMC with the argument diffuse in the [Link] file. The function preKMC is called
automatically before a Sentaurus Process KMC diffusion in nonatomistic mode. After the
diffusion, the function postKMC, with argument diffuse, is invoked to convert the atomistic
information into five-stream fields. You can modify and customize both functions.

Atomistic Mode
When operating in atomistic mode, Sentaurus Process KMC does not automatically perform
any transformation from atomistic to continuum, or vice versa, except if the command struct
is called (see Atomistic Mode on page 371).

Calling Directly the Sentaurus Process KMC Kernel


The best way to access the atomistic information is by calling directly the Sentaurus
Process KMC kernel using the kmc command. The option extract of this command accesses
the KMC raw information directly and returns it in different formats, or creates a TDR file to
be opened with Sentaurus Workbench Visualization.

Sentaurus Process User Guide 531


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

Writing and Displaying TDR Files with KMC Information

The command:
kmc extract tdrWrite filename=<filename>

creates files to be displayed by Sentaurus Workbench Visualization. This file contains a


collection of states or snapshots. Each snapshots is taken at a particular time during the
simulation; the collection of snapshots gives information about the time evolution during the
simulation. Each snapshot can contain concentrations and histograms, atomistic information,
or both. These snapshots are created with the command:
kmc extract tdrAdd [concentrations] [defects] [stress] [histogram]
[visual={<fields>} [list={<fields>}]

The parameter concentrations includes a list of standard fields. These fields are the total
concentration for each particle, the time-averaged concentrations of mobile particles,
NetActive, the electronic concentration, the concentration of impurities in the surface,
amorphous and impurity clusters, and the concentration of point defects in APs, amorphous
layers, impurity clusters, and extended defects. These concentrations are displayed with the
same dimension as the simulation.

Since Sentaurus Process KMC always works in 3D, for 1D simulations, the displayed
concentrations are averaged for yz planes and, for 2D simulations, they are averaged in z-lines.
An extra A/C field also is stored to let you know whether the material is amorphous or
crystalline.

The histogram option includes a 2D graph representing the APs and impurity cluster
histograms. These histograms give the number of defects existing in the simulation for each
different size (I and V for APs, impurities, and point defects for impurity clusters). One-
dimensional histograms, giving the number of extended defects versus its size, are included as
well when using the histogram option. Stress and strain information can be added to these
concentrations and histograms with the stress option.

Figure 79 on page 533 shows one snapshot saved with the concentrations and histogram
options for a 2D simulation.

Regarding NetActive, the parameter KMC tdr smoothDopingConcentration controls


whether this concentration is smoothed. By default, it is not smoothed because smoothing it
artificially decreases the channel length. On the other hand, the smooth algorithm partially
removes irregularities and other atomistic features that may appear on the p-n junctions. This
smoothing is different than the one controlled by [Link] and is explained in
Smoothing Out Deatomized Concentrations on page 525.

532 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

While smoothDopingConcentration controls the smoothing of only NetActive in the


Sentaurus Process KMC TDR file, [Link] controls the smoothing of any field when
translating the atomistic information into the continuum mesh concentration.

The parameter defects includes atomistic information about the defects in the simulation.
This atomistic information can be used to obtain an atomistic 3D plot that is independent of the
simulation dimensions. It offers the most realistic representation of the simulation.

Figure 79 Example of a TDR file of Sentaurus Process KMC displayed with Sentaurus
Workbench Visualization. The concentrations and histogram options have been
used; 1D histograms for clusters and 2D histograms for APs and impurity clusters
are included. The concentration (in this case, for a 2D simulation) for several
fields is included with this option.

Sentaurus Process User Guide 533


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

Figure 80 shows an example of the information saved with the defects option.

Figure 80 Example of TDR file of Sentaurus Process KMC including atomistic information;
the defects option has been used

The defects option also includes extra information necessary to restart or load the simulation.
A file saved with this parameter can be reloaded into Sentaurus Process KMC, and the
simulation can be continued. To load the simulation, use the command init.

Using the KMC Movie option, you can include the command kmc extract tdrAdd to view
the evolution of the simulation with time.

Finally, the option visual stores atomistic 3D information in a way similar to defects. The
differences between using visual and defects are:
■ Files saved with visual cannot be restarted.
■ The visual option produces smaller file sizes than defects. In particular, visual stores
the defects, but it does not store the information needed to restart. The visual files are
intended for visualization purposes only.
■ The visual option requires a list of defects, separated by commas, to be saved. The all
option saves all the defects.

534 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

■ Other valid defects include defect names (such as BiM or B2I3), general defect names
(such as ThreeOneOne), and material names (Silicon). This lets you control which
defects will be saved and visualized later, making it easier to visualize information without
saving a large file with all the 3D information.

Plotting Only Some Particles

Sentaurus Process visualization does not represent all the particles inside APs. Since the
number of particles (interstitials and vacancies) in APs can be large after an implant, only 1 in
50 particles is visualized by default. This default behavior is written in the TDR file as set by
the parameter VisualizeDamage:
sprocess> pdbGet KMC VisualizeDamage
50

Sentaurus Process visualization can overwrite the default set for each file using the option:
-s:psf n

where n is the new value of VisualizeDamage:

NOTE Setting VisualizeDamage to 1 causes Sentaurus Workbench


Visualization to plot all the particles present in the simulation. This
number can be very large immediately after an implant.

Time-averaged Concentration Name

The default field name for time-averaged concentrations in the TDR file is ‘mobile’, but it can
be defined with the parameter KMC tdr averageTag.

Inquiring about KMC Profiles, Histograms, and Defects


Besides the select command and the TDR files, you can access Sentaurus Process KMC
information using the kmc extract command (see kmc on page 954):
■ kmc extract histogram—extracts histograms for extended defects, impurity defects,
and APs.
■ kmc extract profile—extracts concentrations and stresses in 1D, 2D, and 3D.
■ kmc extract supersaturation—extracts the concentration relative to the
equilibrium concentration for point defects.
■ kmc extract defects—obtains the atomistic information of the defects.
–2
■ kmc extract dose—extracts doses, that is, concentrations in cm .

Sentaurus Process User Guide 535


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

■ kmc extract materials—obtains information about the different materials in the


simulation.
■ kmc extract acinterface—obtains the position of the amorphous–crystalline
interfaces in the simulation.

The histogram Option

 IV

 BI
kmc extract histogram name=  [meansize [minsize=<n>]]
[materialname=<material>]  I
 …

Sentaurus Process KMC includes several models where the defects are not isolated, but
agglomerated in extended defects that can contain many particles. The histogram option
allows you to extract information about the sizes (number of particles) of these extended
defects.

The histogram option needs a valid name to compute the following available histograms:

Interstitial-extended Set name=I to extract information about the small I clusters,


defects {311} defects, and dislocation loops.
Vacancy-extended defects Set name=V to extract information about the small V clusters
and voids.
B interstitial clusters or Set name=XI to extract information about the dopant named
other clusters with I ‘X’. For example, for boron impurity clusters (BICs),
name=BI.

As vacancy clusters or Set name=XV. For example, set name=AsV to extract


other clusters with V information about the arsenic–vacancy clusters.
Cluster with multiple For example, set name=PAs for clusters with both P and As.
impurities
Amorphous pockets Set name=IV.

The optional parameter meansize displays the average size of clusters instead of displaying
the whole list of clusters when using this parameter. Without specifying minsize, the average
size begins with size 0.

Finally, the parameter materialname restricts the output to the material specified instead of
the whole simulation.

536 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

Interstitial Histograms

These histograms extract the number of defects in the simulation for each size. The histograms
contain information about the small, irregular clusters (see Amorphous Pockets Life Cycle on
page 427), {311} defects (for size bigger than the established limit), and dislocation loops. For
example:
LogFile [kmc extract histogram name=I]

gives a list of extended defects with I. In this example:


sprocess> LogFile [kmc extract histogram name=I]
I2 302
I3 104
I4 42
I5 12
I6 4
I72 1
I677 1
sprocess> LogFile [kmc extract histogram name=I meansize]
4.11373
sprocess> LogFile [kmc extract histogram name=I meansize minsize=10]
374.5

Vacancy-extended Defects Histogram

These histograms are similar to the interstitial-extended defects histogram, except that the
extracted number of particles versus size is for vacancies:
sprocess> LogFile [kmc extract histogram name=V]
V5 1
V7 2
V8 5
V9 2
V10 5
(...)
sprocess> LogFile [kmc extract histogram name=V meansize]
12.9143
sprocess> LogFile [kmc extract histogram name=V meansize minsize=10]
15

Amorphous Pockets Histogram

The AP histograms contain the number of cluster versus I and V size. APs with null Is or Vs
can be considered as APs or small I or V clusters.
sprocess> LogFile [kmc extract histogram name=IV]
I2 367
I3 69

Sentaurus Process User Guide 537


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

I4 22
I5 1
IV 823
I2V 249
I3V 61
I4V 23
I5V 2
V2 408
IV2 251
I2V2 111
(...)

The average size can be requested for these clusters. It will return values for both I and V:
sprocess> LogFile [kmc extract histogram name=IV meansize]
I2.3501V0.796781

The parameter meansize applies here and specifies the minimum size to begin the average for
both species.

Boron–Interstitial Clusters

The boron–interstitial cluster histogram offers information about the number of BICs for each
BIC configuration (BnIm).
sprocess> LogFile [kmc extract histogram name=BI]
B2I 16
B3I 347
sprocess> LogFile [kmc extract histogram name=BI meansize]
B2.95592I1

Arsenic–Vacancy Clusters

The arsenic–vacancy cluster histogram offers information about the number of arsenic and
vacancies in impurity clusters for each configuration (AsnIm):
sprocess> LogFile [kmc extract histogram name=AsV]
As2 277
As3 109
As4 3
As2V 752
As3V 281
As4V 178
sprocess> LogFile [kmc extract histogram name=AsV meansize]
As2.47V0.756875

538 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

The profile Option

Sentaurus Process KMC computes the profiles concentration versus size as a convenient way
to directly obtain useful data.  holes

 electrons
 particles ( B, As , … )
 i
 clusters ( I V , B I , … )
 n m n m
kmc extract profile [timeaveraged] name=  stress

 strain

 GapNarrowing
 dopants

 totals ( BTotal,AsTotal )


 ThreeOneOne
 Interface
defectname=  [materialname=] [coordx=] [coordy=] [coordz=]
 Loop
 …

For example, 1D profiles can be compared with SIMS experiments. The profiles are an average
of the concentration of particles. For 3D, Sentaurus Process KMC takes a volume to be
averaged equal to an element defined by the parameters extractDeltaX, extractDeltaY,
and extractDeltaZ. For 2D and 1D, this volume includes all the elements in y and z,
respectively.

The parameter name chooses the profiles to be obtained. holes and electrons return the
concentration of holes and electrons, respectively. GapNarrowing returns the bandgap
narrowing, in eV. Stress can be stressXX, stressYY, and stressZZ, and strain is one of
strainXX, strainXY, strainXZ, strainXY, strainXZ, or strainYZ. A particle name
(like Bi, IM, or AsVP) returns the concentration of all the particles in the simulation matching
the given one. A cluster name (for example, As4V) will return the concentration of that cluster
in the simulation. For particles, the concentration of particles is returned; for clusters, the
concentration of clusters is returned. For example, an As4 cluster is considered to be four As
particles when you request the concentration of As, but only one defect when you request the
concentration of As4 clusters. An impurity name followed by the word “Total”, like BTotal,
will return the total profile of that impurity (active, inactive, in pairs, clusters and so on) in the
simulation.

When a particle profile is specified, the optional parameter defectname can be used to further
specify the kind of particle. For example, the command:
kmc extract profile name=I

computes the concentration of interstitials in any kind of defect, in other words, the total
interstitial concentration.

Sentaurus Process User Guide 539


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

The command:
kmc extract profile name=I defectname=ImpurityCluster

computes the concentration of interstitials in impurity clusters.

The parameter defectname should not be specified with cluster concentration, electrons,
holes, GapNarrowing, stresses or strains.

Finally, the parameter materialname restricts the output to the material specified instead of
the whole simulation.

The returned concentration has the same dimensionality as the performed simulation. Use the
optional parameters coordx, coordy, and coordz to change this default. These parameters
specify cutlines. For example, in a 3D simulation the command:
kmc extract profiles name=I

returns the concentration for all the volume elements in the simulation. The command:
kmc extract profiles name=I coordx=20<nm> coordz=10<nm>

returns a 1D profile with concentrations in the plane x = 20 <nm> and z = 10 <nm>.

Finally:
kmc extract profiles name=I coordx=20<nm> coordy=15<nm> coordz=10<nm>

returns only one value, the concentration at the specified point.

The use of the parameters coordx, coordy, and coordz depends on the simulation
dimensions. As previously explained, specifying coordx for 1D, 2D, or 3D simulations,
coordy for 2D or 3D, or coordz for 3D, returns the concentrations only on elements
including the specified cutlines. On the other hand, the use of coordy or coordz in 1D
simulations, or coordz in 2D, is quite different. In this case, the result returned is not averaged
for the whole remaining dimensions (y and z for 1D, z for 2D), but only calculated in the
specified cutlines. In other words, specifying coordy in a 3D simulation returns all the
concentrations in the x, z volumes for the y specified in coordy; while specifying coordy in
a 1D simulation returns concentrations versus the x-axis, but instead of being averaged for
every y and z, they will be averaged only for every z in the plane marked by coordy. In 3D, it
will reduce the size of the output (since only the output for the specified plane y is written). In
1D, the output has the same number of lines (one for each x position), but the concentration
displayed is different because it is averaged into z only, and not into y and z.

Sentaurus Process KMC returns the instantaneous concentration by default. For mobile
particles the instantaneous concentration does not usually contain any information rather than
noise. The parameter timeaveraged instructs Sentaurus Process KMC to return the average

540 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

concentration of mobile particles between the current time and the last time Sentaurus
Process KMC created a snapshot (see Snapshots on page 394).

For example, Figure 81 has been produced with the input script:
pdbSet KMC MaxYum 40e-3
pdbSet KMC MaxZum 40e-3
SetAtomistic
pdbSet KMC Movie ""
pdbSet IncrementalHops 0
line x loc=0.0 tag=xleft spacing = 0.002
line x loc=1.5e-3 tag=xmed spacing = 0.002
line x loc=5e-3 tag=xright spacing = 0.002
region oxide xlo=xleft xhi=xmed
region silicon xlo=xmed xhi=xright

init
diffuse time=1e7<s> temp=700 info=1
kmc extract tdrClear
kmc extract tdrAdd concentrations
kmc extract tdrWrite filename=equil

The concentrations of neutral, positive, and negative interstitials also can be obtained with:
sprocess> kmc extract profile timeaveraged name=IP coordx=2.5<nm>
162487
sprocess> kmc extract profile timeaveraged name=I coordx=2.5<nm>
1.0276e+06
sprocess> kmc extract profile timeaveraged name=IM coordx=2.5<nm>
18170.5

Figure 81 Equilibrium concentrations of neutral (green), positive (red), and negative (blue)
interstitials at 700oC

Sentaurus Process User Guide 541


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

The supersaturation Option



kmc extract supersaturation name=  I
 V
Supersaturation is the current concentration relative to the equilibrium concentration:
[X]
supersaturation ( X ) = ----------*- (810)
[X]

Sentaurus Process KMC computes the supersaturation for Is and Vs. The current global
concentration is calculated involving a time average between the current time and the last
snapshot:
sprocess> LogFile [kmc extract supersaturation name=I]
1.00555

To obtain the supersaturation evolution with time, use the KMC Movie parameter as shown in
the following example:
SetAtomistic
set kmcSupersat ""
pdbSet KMC MaxYum 30e-3
pdbSet KMC MaxZum 30e-3
pdbSet KMC Movie {lappend kmcSupersat $time [kmc extract \
supersaturation name=I]}
pdbSet KMC automaticRampUp 1
line x loc=0.0 tag=xleft spacing = 0.002
line x loc=1.5e-3 tag=xmed spacing = 0.002
line x loc=350e-3 tag=xright spacing = 0.002
region oxide xlo=xleft xhi=xmed
region silicon xlo=xmed xhi=xright

init
implant Silicon energy=40 dose=2e13 tilt=7
diffuse time=100000<s> temp=600
LogFile $kmcSupersat

produces the results:


10.0007 4.29101e+07
21.5462 2.51728e+07
46.4218 1.58636e+07
100.004 1.41889e+07
215.493 7.67109e+06
464.238 3.44625e+06
1000.26 1.86513e+06
2156.46 477255
4645.69 322049

542 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

10002.8 113849
21551.6 132116
46419.1 110329
100006 81506.4

Figure 82 shows a comparison with experimental results.


108 600oC

107
Interstitial Supersaturation

106

105

104

103

102
100 101 102 103 104 105
Time [s]

Figure 82 Supersaturation evolution with time, after a silicon implant (2 x 1013 dose, 40 keV
energy) annealed 1 x 105 s at 600oC. (Experimental points modified from [50] to
use the same B diffusivity.) Points are experiments, lines are KMC.

The defects Option

The defects option allows access to the raw atomistic information of any simulation. The
obtained information must match the parameters name and defectname when they are
specified. 
  ThreeOneOne
 particles ( B, A i, … )  Interface
kmc extract defects name =  defectname= 
 clusters ( I n V m, B n I m, … )  Loop
  …

[countparticles] [countdefects] [materialname=<material>]


[acinterface]

When there are no restrictions, all defects are accessed. For example, for the following added
defects:
kmc add queue name=BI2 coordx=2<nm> coordy=2<nm> coordz=3<nm>
kmc add queue name=I2 coordx=3<nm> coordy=2e-3 coordz=4e-3
kmc add queue name=I3 coordx=4<nm> coordy=3<nm> coordz=1<nm>
kmc add

Sentaurus Process User Guide 543


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

The obtained defects are:


sprocess> kmc extract defects
0.00201273 0.00238963 0.00298179 I ImpurityCluster 0
0.00196125 0.00204962 0.00249501 I ImpurityCluster 0
0.00177392 0.00225923 0.00247647 B ImpurityCluster 0
0.00320253 0.00162722 0.00466375 I AmorphousPocket 1
0.00222551 0.00139856 0.004411 I AmorphousPocket 1
0.0044946 0.00317389 0.00130069 I AmorphousPocket 2
0.00441116 0.00353071 0.000842549 I AmorphousPocket 2
0.00403856 0.00351353 0.00084327 I AmorphousPocket 2
sprocess> kmc extract defects name=I
0.00201273 0.00238963 0.00298179 I ImpurityCluster 0
0.00196125 0.00204962 0.00249501 I ImpurityCluster 0
0.00320253 0.00162722 0.00466375 I AmorphousPocket 1
0.00222551 0.00139856 0.004411 I AmorphousPocket 1
0.0044946 0.00317389 0.00130069 I AmorphousPocket 2
0.00441116 0.00353071 0.000842549 I AmorphousPocket 2
0.00403856 0.00351353 0.00084327 I AmorphousPocket 2
sprocess> kmc extract defects name=I defectname=ImpurityCluster
0.00201273 0.00238963 0.00298179 I ImpurityCluster 0
0.00196125 0.00204962 0.00249501 I ImpurityCluster 0
sprocess> kmc extract defects name=BI2
0.00201273 0.00238963 0.00298179 I ImpurityCluster 0
0.00196125 0.00204962 0.00249501 I ImpurityCluster 0
0.00177392 0.00225923 0.00247647 B ImpurityCluster 0

The six columns present in the output are:


■ X-coordinate of the defect
■ Y-coordinate of the defect
■ Z-coordinate of the defect
■ Particle name
■ Defect name.
■ Number of defect. Particles with the same number belong to the same defect.

NOTE The command kmc extract defects can produce large outputs.

When there are amorphous defects in the simulation, the result may not be the expected.
Amorphous defects do not store the damage, but only its concentration (see Amorphous
Defects on page 444). Consequently, amorphous defects will not report any interstitial or
vacancy inside them. Impurities are stored and displayed. Nevertheless, if the indirect diffusion
model is used in amorphous silicon, the dangling bonds, floating bonds, and mobile and
immobile impurities will be obtained as I, V, Bi and B (for boron) (see Indirect Diffusion on
page 445).

544 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

The parameter materialname restricts the output to the material specified instead of the
whole simulation.

The options countparticles and countdefects do not display the atomistic information,
but they count the number of particles and defects, respectively, for the given conditions. For
example, this example shows how to count the particles and defects listed in the last example:
sprocess> kmc extract defects countparticles
8
sprocess> kmc extract defects countdefects
3
sprocess> kmc extract defects name=I countparticles
7
sprocess> kmc extract defects name=I defectname=AmorphousPocket countdefects
2

The parameter acinterface displays the lattice atoms belonging to the amorphous–
crystalline interface. All the lattice atoms can be obtained by using acinterface detailed.
This parameter generates an output only when the LKMC model is used for recrystallization
(see LKMC: Fully Atomistic Modeling of Solid Phase Epitaxial Regrowth on page 451).

The dose Option

The dose option extracts the concentration per surface unit (in other words, cm–2) for the
whole simulation cell. dose can be used to look at the evolution of the species with the time.
 Particles ( I, AsV, B i-, … )

kmc extract dose name =  Defects ( I , V , I V , B I , … )
 n n n m n m
 Totals ( AsTotal, BTotal, ... )

 ImpurityCluster

defectname =  ThreeOneOne [countdefects] [materialname=<material>]

 …

The parameters name and defectname restrict the species to compute the dose. name can be
any particle or defect. defectname can be specified only when name is a particle, and it
restricts the particles to be of the specified type. A list of defect types is obtained with kmc
defecttypes. A “total” name: the name of an impurity followed by the work “Total”, like
BTotal, applies to all the circumstances where the specified impurity is present, that is, in
clusters, substitutional, pairs, and so on.

This command counts the number of particles (such as kmc extract defects with the
same restrictions and the countparticles option) and it divides this number by the surface
area. Finally, the parameter materialname restricts the output to the material specified

Sentaurus Process User Guide 545


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

instead of the whole simulation. For interfaces, instead of specifying a material name, specify
a particle name such as AsInterface, BInterface.

As an example, the following input file implants silicon into silicon and extracts the dissolution
of {311} during annealing:
set silicon_depth 350e-3
set size 50e-3
set SiO2gate 1.5e-3
SetAtomistic
set sol ""
pdbSet KMC Movie {lappend sol $time [kmc extract dose name=I \
defectname=ThreeOneOne]}
pdbSet KMC MaxZum $size
pdbSet KMC MaxYum $size
pdbSet KMC GasUm $SiO2gate
pdbSet KMC automaticRampUp true
line x loc=0.0 tag=xtop spacing = 0.002
line x loc=$silicon_depth tag=xbottom spacing = 0.002
region silicon xlo=xtop xhi=xbottom

init
deposit oxide fill coord=[expr -$SiO2gate]
implant silicon energy=40 dose=5e13 tilt=7
diffuse time=3100 temp=670
LogFile $sol

This example produces the results:


46.4176 2.88e+12
100.01 9.56e+12
215.464 1.104e+13
464.175 1.596e+13
1000 2.172e+13
2154.45 3.144e+13
4641.63 3.736e+13
10000 3.044e+13
21544.5 1.388e+13
46417.4 9.6e+11
100233 0

546 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

Figure 83 shows the comparison with experimental data [8].


1014 Simulation
Experiment
Interstitials in Extended Defects [cm–2]

1013

1012

1011
1000 10000 100000
Time [s]

Figure 83 Dissolution of {311} extended defects at 670oC after a silicon into silicon implant
of 40 keV, 5 x 1013 cm–2

The materials Option


kmc extract materials [detailed] [coordx=] [coordy=] [coordz=]

The command kmc extract materials produces the list of materials currently in the
simulation:
sprocess> kmc extract materials
Silicon Oxide Gas

The option detailed produces a list of coordinates and materials. This list contains the same
number of dimensions as the simulation (except if you use coordx, coordy, or coordz). For
example, in a 1D simulation:
sprocess> kmc extract materials detailed
-0.002 Gas
-0.000625 Oxide
0.00075 Oxide
0.002125 Oxide
0.0035 Oxide
0.004875 Oxide
0.00625 Oxide
0.007625 Oxide
0.009 Oxide
0.010375 Silicon
0.01175 Silicon
0.013125 Silicon
0.0145 Silicon

Sentaurus Process User Guide 547


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

0.015875 Silicon
0.01725 Silicon

The parameters coordx, coordy, and coordz affect the output of detailed by changing its
dimensionality. They work exactly the same as in kmc extract profile (see The profile
Option on page 539).

The acinterface Option


kmc extract acinterface [coordx=] [coordy=] [coordz=]

The command kmc extract acinterface produces the list of amorphous–crystalline


interfaces found in the simulation given a 1D cutline. No extra options are needed in 1D. In 2D,
you must specify coordx or coordy. In 3D, you must specify two of three parameters
coordx, coordy, and coordz. For example, in 1D:
sprocess> kmc extract acinterface
Silicon Amorphous/Crystalline 0.0165

When the KMC model for SPER is detected, the option acinterface displays all the places
where the amorphous–crystalline field crosses the threshold specified in
KMC ACInterfaceAt. A value of 1 means perfectly amorphous and 0 means perfectly
crystalline. The default value is 0.9. The output also displays the materials at both sides of the
interface, displaying first the material with a smaller coordinate value. In this case, the interface
is at 0.0165 μm , and the transition is from Amorphous to Crystalline as the x-coordinate
increases. When the LKMC model is used for SPER, the parameter ACInterfaceAt is
ignored, and a more precise interface is extracted directly from the LKMC atomistic
information.

Common Dopant and Point-Defect Names


Several KMC commands contain a name=<particlename> parameter. Table 60 on page 549
lists several of these names and the commands where they are applicable. Since dopants can be
defined as needed, the names depend on the simulation parameters. In particular, they contain
names defined when using Advanced Calibration. A list of the names can be obtained using
kmc particletypes. Clusters also are included in the list. Since the number of different
clusters is large, only a partial cluster list is included as an example (see Table 61 on page 552).

The commands considered for the referenced tables, and the symbols used to represent them,
are:
■ kmc add queue (Add)
■ kmc extract profile (Pro)
■ kmc extract histograms (His)

548 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

■ kmc extract dose (Dos)


■ kmc extract defects (Def)
■ kmc extract supersaturation (Sup)
■ kmc deatomize (Dea)
■ kmc present (Pre)

The defects used in the descriptions are:


■ Point defects, self-silicon point defects like interstitials and vacancies.
■ Extended defects, agglomeration of self-silicon point defects.
■ Clusters, agglomeration of impurities or dopants, with or without point defects.
■ Substitutional dopants or impurities.
■ Paired dopants or impurities, paired with point defects.
■ Amorphous pockets, agglomeration of point defects (also sometimes called damage).
■ Defects attached to interfaces.

Table 60 Names used in Sentaurus Process KMC


Name Description Used in

I Neutral interstitial in point defects, clusters, and Sup, His, Add, Pro, Dos, Def, Dea, Pre
extended defects

IMM I--, point defect Add, Pro, Dos, Def, Dea, Pre

IM I-, point defect Add, Pro, Dos, Def, Dea, Pre

IP I+, point defect Add, Pro, Dos, Def, Dea, Pre

IPP I++, point defect Add, Pro, Dos, Def, Dea, Pre

ITotal Total interstitial concentration; similar to I + IMM + Dea, Pre, Pro, Dos
IM + IP + IPP

V Neutral vacancy in point defects, clusters, and Sup, His, Add, Pro, Dos, Def, Dea, Pre
extended defects

VMMM V---, point defect Add, Pro, Dos, Def, Dea, Pre

VMM V--, point defect Add, Pro, Dos, Def, Dea, Pre

VM V-, point defect Add, Pro, Dos, Def, Dea, Pre

VP V+, point defect Add, Pro, Dos, Def, Dea, Pre

VPP V++, point defect Add, Pro, Dos, Def, Dea, Pre
+++
VPPP V , point defect Add, Pro, Dos, Def, Dea, Pre

VTotal Total vacancy concentration; similar to V + Dea, Pre, Pro, Dos


VMMM + VMM + VM + VP + VPP + VPPP

Sentaurus Process User Guide 549


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

Table 60 Names used in Sentaurus Process KMC


Name Description Used in

B Boron, substitutional, at interfaces or in clusters Add, Pro, Dos, Def, Dea, Pre

BV Neutral-paired defect, boron vacancy Add, Pro, Dos, Def, Dea, Pre, His

BVM BV-, paired defect Add, Pro, Dos, Def, Dea, Pre
+
BVP BV , paired defect Add, Pro, Dos, Def, Dea, Pre

Bi Neutral-paired defect, boron interstitial Add, Pro, Dos, Def, Dea, Pre, His

BiM Bi-, paired defect Add, Pro, Dos, Def, Dea, Pre

BiP Bi+, paired defect Add, Pro, Dos, Def, Dea, Pre

BTotal Total boron concentration; similar to B + BV + Dea, Pre, Pro, Dos


BVM + BVP + Bi + BiM + BiP

BInterface Boron at interfaces Add, Pro, Dos, Def, Dea, Pre

As Arsenic, substitutional at interfaces or in clusters Add, Pro, Dos, Def, Dea, Pre

AsV Neutral-paired defect of arsenic and a vacancy Add, Pro, Dos, Def, Dea, Pre, His

AsVM AsV-, paired defect Add, Pro, Dos, Def, Dea, Pre

AsVP AsV+, paired defect Add, Pro, Dos, Def, Dea, Pre

Asi Neutral-paired defect of arsenic and an interstitial Add, Pro, Dos, Def, Dea, Pre, His

AsiM Asi-, paired defect Add, Pro, Dos, Def, Dea, Pre

AsiP Asi+, paired defect Add, Pro, Dos, Def, Dea, Pre

AsTotal Total arsenic; similar to As + AsV + AsVM + AsVP Dea, Pre, Pro, Dos
+ Asi + AsiM + AsiP

AsInterface Arsenic attached at interfaces Add, Pro, Dos, Def, Dea, Pre

C Carbon, substitutional, at interfaces or in clusters Add, Pro, Dos, Def, Dea, Pre

CV Neutral-paired defect of carbon and a vacancy Add, Pro, Dos, Def, Dea, Pre, His

Ci Neutral-paired defect of carbon and an interstitial Add, Pro, Dos, Def, Dea, Pre, His

CInterface Carbon attached at interfaces Add, Pro, Dos, Def, Dea, Pre

CTotal Total carbon; similar to C + CV + Ci Dea, Pre, Pro, Dos

F Fluorine, substitutional at interfaces or in clusters Add, Pro, Dos, Def, Dea, Pre

FI Neutral-paired defect of fluorine with an interstitial Add, Pro, Dos, Def, Dea, Pre, His

FV Neutral-paired defect of fluorine with a vacancy Add, Pro, Dos, Def, Dea, Pre, His

FTotal Total fluorine; similar to F + FI + FV Dea, Pre, Pro, Dos

550 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

Table 60 Names used in Sentaurus Process KMC


Name Description Used in

FInterface Fluorine attached at interfaces Add, Pro, Dos, Def, Dea, Pre

In Indium, substitutional, at interfaces or in clusters Add, Pro, Dos, Def, Dea, Pre

InV Neutral-paired defect of indium and a vacancy Add, Pro, Dos, Def, Dea, Pre, His
-
InVM InV , paired defect Add, Pro, Dos, Def, Dea, Pre

InVP InV+, paired defect Add, Pro, Dos, Def, Dea, Pre

Ini Neutral-paired defect of indium and an interstitial Add, Pro, Dos, Def, Dea, Pre, His

IniM Ini-, paired defect Add, Pro, Dos, Def, Dea, Pre
+
IniP Ini , paired defect Add, Pro, Dos, Def, Dea, Pre

InTotal Total indium; similar to In +InV + InVM + InVP + Dea, Pre, Pro, Dos
Ini + IniM + IniP

InInterface Indium attached at interfaces Add, Pro, Dos, Def, Dea, Pre

P Phosphorus, substitutional, at interfaces or in Add, Pro, Dos, Def, Dea, Pre


clusters

PV Neutral-paired defect of phosphorus and a vacancy Add, Pro, Dos, Def, Dea, Pre, His

PVM PV-, paired defect Add, Pro, Dos, Def, Dea, Pre

PVP PV+, paired defect Add, Pro, Dos, Def, Dea, Pre

Pi Neutral-paired defect of phosphorus and an Add, Pro, Dos, Def, Dea, Pre, His
interstitial

PiM Pi-, paired defect Add, Pro, Dos, Def, Dea, Pre

PiP Pi+, paired defect Add, Pro, Dos, Def, Dea, Pre

PTotal Total phosphorus; similar to P + PV + PVM + PVP Dea, Pre, Pro, Dos
+ Pi + PiM + PiP

PInterface Phosphorus attached at interfaces Add, Pro, Dos, Def, Dea, Pre

Sb Antimony, substitutional, at interfaces or in clusters Add, Pro, Dos, Def, Dea, Pre

SbV Neutral-paired defect of antimony and a vacancy Add, Pro, Dos, Def, Dea, Pre, His

SbVM SbV-, paired defect Add, Pro, Dos, Def, Dea, Pre

SbVP SbV+, paired defect Add, Pro, Dos, Def, Dea, Pre

Sbi Neutral-paired defect of antimony and an interstitial Add, Pro, Dos, Def, Dea, Pre, His

SbiP Sbi+, paired defect Add, Pro, Dos, Def, Dea, Pre

SbTotal Total antimony; similar to Sb + SbV + SbVM + Dea, Pre, Pro, Dos
SbVP + Sbi + SbiP

Sentaurus Process User Guide 551


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Extracting KMC-related Information

Table 60 Names used in Sentaurus Process KMC


Name Description Used in

SbInterface Antimony at interfaces Add, Pro, Dos, Def, Dea, Pre

N Nitrogen, substitutional, at interfaces or in clusters Add, Pro, Dos, Def, Dea, Pre

NTotal Total nitrogen, same as N Dea, Pre, Pro, Dos

NInterface Nitrogen at interfaces Add, Pro, Dos, Def, Dea, Pre

Nn N2, substitutional, at interfaces or in clusters Add, Pro, Dos, Def, Dea, Pre

NnV Moving N2V particle Add, Pro, Dos, Def, Dea, Pre, His

NnTotal Similar to Nn + NnV Dea, Pre, Pro, Dos

NnInterface N2 stored at the interface Add, Pro, Dos, Def, Dea, Pre

H Hydrogen, substitutional, at interfaces or in clusters Add, Pro, Dos, Def, Dea, Pre

HTotal Total hydrogen, only H Dea, Pre, Pro, Dos

HInterface Hydrogen at interfaces Add, Pro, Dos, Def, Dea, Pre

Ge Germanium (stored as a field, not as a particle) Add, Pro, Dos, Def, Dea, Pre

Table 61 Some cluster names used in Sentaurus Process KMC


Name Comment Used in

IV Interstitial–vacancy amorphous pocket. His, Add, Pro, Dos, Def, Dea, Pre

I3V2 Amorphous pocket. Any other IxVy with x and y Add, Pro, Dos, Def, Dea, Pre
integers is also valid.

I8 Extended defect formed by eight interstitials. Any Add, Pro, Dos, Def, Dea, Pre
other Ix, where x is an integer, is also valid.

V4 Extended defect formed by four vacancies. Any Add, Pro, Dos, Def, Dea, Pre
other Vx, with x an integer, is valid.

B2I3 Boron–interstitial cluster. Other integers are also Add, Pro, Dos, Def, Dea, Pre
valid.

As4V Arsenic–vacancy cluster. Other integers are also Add, Pro, Dos, Def, Dea, Pre
valid.

B2IC3 Dopant cluster. Any combination of dopants with Add, Pro, Dos, Def, Dea, Pre
(or without) interstitials or vacancies is valid.

P2As2I Another example for dopant cluster Add, Prod, Dos, Def, Dea, Pre

552 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
Advanced Calibration for Sentaurus Process KMC

Advanced Calibration for Sentaurus Process KMC


The default parameters used in Sentaurus Process KMC are inherited from previous versions
of Sentaurus Process KMC and may not be accurate for modern processing conditions. A more
accurate calibration for Sentaurus Process KMC has been performed by the Advanced
Calibration team and is available using the command:
AdvancedCalibration

This command includes the calibration of point-defect diffusivity, extended defects formation
and dissolution, boron diffusivity, boron–interstitial clustering process (activation and
deactivation of boron), surface trapping and re-emission of boron, and so on.

This command must be written after SetAtomistic since it detects the presence of an
atomistic simulation to load the Advanced Calibration parameters related to Sentaurus
Process KMC:
SetAtomistic
...
AdvancedCalibration

In cases where Advanced Calibration for Sentaurus Process KMC must be loaded, but it is not
possible to call it after SetAtomistic, the following workaround can be used. In particular,
this is the preferred mode to call Advanced Calibration for Sentaurus Process KMC in hybrid
simulations, and the only way to do it when using the kmc option in the diffuse command:
pdbSet AtomisticData 1
AdvancedCalibration
pdbSet AtomisticData 0

NOTE For more information on the Advanced Calibration parameters and


methodology, refer to the Advanced Calibration for Process Simulation
User Guide.

NOTE The use of Advanced Calibration is strongly recommended.

Sentaurus Process User Guide 553


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
References

References
[1] I. Martin-Bragado, Simulación atomística de procesos para Microelectrónica, Ph.D.
thesis, Universidad de Valladolid, Valladolid, Spain, 2004.
[2] M. Jaraiz et al., “Atomistic Front-End Process Modelling: A Powerful Tool for Deep-
Submicron Device Fabrication,” in International Conference on Simulation of
Semiconductor Processes and Devices (SISPAD), Athens, Greece, pp. 10–17, September
2001.
[3] N. Strecker, V. Moroz, and M. Jaraiz, “Introducing Monte Carlo Diffusion Simulation
into TCAD tools,” in Technical Proceedings of the International Conference on
Modeling and Simulation of Microsystems (Nanotech 2002), vol. 1, San Juan, Puerto
Rico, USA, pp. 462–465, April 2002.
[4] R. A. Casali, H. Rücker, and M. Methfessel, “Interaction of vacancies with interstitial
oxygen in silicon,” Applied Physics Letters, vol. 78, no. 7, pp. 913–915, 2001.
[5] N. Cowern and C. Rafferty, “Enhanced Diffusion in Silicon Processing,” MRS Bulletin,
vol. 25, no. 6, pp. 39–44, 2000.
[6] N. E. B. Cowern et al., “Impurity Diffusion via an Intermediate Species: The B-Si
System,” Physical Review Letters, vol. 65, no. 19, pp. 2434–2437, 1990.
[7] P. M. Fahey, P. B. Griffin, and J. D. Plummer, “Point defects and dopant diffusion in
silicon,” Reviews of Modern Physics, vol. 61, no. 2, pp. 289–388, 1989.
[8] P. A. Stolk et al., “Physical mechanisms of transient enhanced dopant diffusion in ion-
implanted silicon,” Journal of Applied Physics, vol. 81, no. 9, pp. 6031–6050, 1997.
[9] I. Martin-Bragado, N. Zographos, and M. Jaraiz, “Long and double hop kinetic Monte
Carlo: Techniques to speed up atomistic modeling without losing accuracy,” Materials
Science and Engineering B, vol. 154–155, pp. 202–206, December 2008.
[10] P. Castrillo et al., “Atomistic Modeling of Defect Diffusion in SiGe,” in International
Conference on Simulation of Semiconductor Processes and Devices (SISPAD), Vienna,
Austria, pp. 9–12, September 2007.
[11] P. J. Schultz et al., “Crystalline-to-amorphous transition for Si-ion irradiation of
Si(100),” Physical Review B, vol. 44, no. 16, pp. 9118–9121, 1991.
[12] T. Diaz de la Rubia and G. H. Gilmer, “Structural Transformations and Defect
Production in Ion Implanted Silicon: A Molecular Dynamics Simulation Study,”
Physical Review Letters, vol. 74, no. 13, pp. 2507–2510, 1995.
[13] D. J. Eaglesham et al., “Implantation and transient B diffusion in Si: The source of the
interstitials,” Applied Physics Letters, vol. 65, no. l8, pp. 2305–2307, 1994.
[14] S. Takeda, “An Atomic Model of Electron-Irradiation-Induced Defects on {113} in Si,”
Japanese Journal of Applied Physics, vol. 30, no. 4A, pp. L639–L642, 1991.

554 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
References

[15] S. M. Hu, “Diffusion in Silicon and Germanium,” Atomic Diffusion in Semiconductors,


London: Plenum Press, pp. 217–350, 1973.
[16] J. Kim et al., “Extended Si {311} defects,” Physical Review B, vol. 55, no. 24,
pp. 16186–16197, 1997.
[17] M. Kohyama and S. Takeda, “Atomic structure and energy of the {113} planar
interstitial defects in Si,” Physical Review B, vol. 46, no. 19, pp. 12305–12315, 1992.
[18] B. de Mauduit et al., “Identification of EOR defects due to the regrowth of amorphous
layers created by ion bombardment,” Nuclear Instruments and Methods in Physics
Research B, vol. 84, no. 2, pp. 190–194, 1994.
[19] F. Cristiano et al., “Formation energies and relative stability of perfect and faulted
dislocation loops in silicon,” Journal of Applied Physics, vol. 87, no. 12, pp. 8420–8428,
2000.
[20] G. D. Watkins and J. W. Corbett, “Defects in Irradiated Silicon: Electron Paramagnetic
Resonance of the Divacancy,” Physical Review, vol. 138, no. 2A, pp. A543–A555,
1965.
[21] G. D. Watkins, “Defects in irradiated silicon: EPR and electron-nuclear double
resonance of interstitial boron,” Physical Review B, vol. 12, no. 12, pp. 5824–5839,
1975.
[22] G. D. Watkins, “Erratum: Defects in irradiated silicon: EPR and electron-nuclear double
resonance of interstitial boron,” Physical Review B, vol. 13, no. 10, p. 4644, 1976.
4
[23] B. Hourahine et al., “Identification of the hexavacancy in silicon with the B 80 optical
center,” Physical Review B, vol. 61, no. 19, pp. 12594–12597, 2000.
[24] D. J. Chadi and K. J. Chang, “Magic numbers for vacancy aggregation in crystalline Si,”
Physical Review B, vol. 38, no. 2, pp. 1523–1525, 1988.
[25] S. K. Estreicher, J. L. Hastings, and P. A. Fedders, “The ring-hexavacancy in silicon: A
stable and inactive defect,” Applied Physics Letters, vol. 70, no. 4, pp. 432–434, 1997.
[26] O. W. Holland and C. W. White, “Ion-induced damage and amorphization in Si,”
Nuclear Instruments and Methods in Physics Research B, vol. 59/60, pp. 353–362, July
1991.
[27] A. Bongiorno and L. Colombo, “Interaction between a monovacancy and a vacancy
cluster in silicon,” Physical Review B, vol. 57, no. 15, pp. 8767–8769, 1998.
[28] L. Pelaz et al., “Atomistic modeling of amorphization and recrystallization in silicon,”
Applied Physics Letters, vol. 82, no. 13, pp. 2038–2040, 2003.
[29] S. Mirabella et al., “Mechanism of Boron Diffusion in Amorphous Silicon,” Physical
Review Letters, vol. 100, p. 155901, 2008.
[30] I. Martin-Bragado and N. Zographos, “Indirect boron diffusion in amorphous silicon
modeled by kinetic Monte Carlo,” Solid-State Electronics, vol. 55, no. 1, pp. 25–28,
2011.

Sentaurus Process User Guide 555


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
References

[31] N. Zographos and I. Martin-Bragado, “A Comprehensive Atomistic Kinetic Monte


Carlo Model for Amorphization/Recrystallization and its Effects on Dopants,” in MRS
Symposium Proceedings, Doping Engineering for Front-End Processing, vol. 1070,
p. 1070-E03-01, March 2008.
[32] I. Martin-Bragado and V. Moroz, “Facet formation during solid phase epitaxy regrowth:
A lattice kinetic Monte Carlo model,” Applied Physics Letters, vol. 95, p. 123123, 2009.
[33] R. Duffy et al., “Solid phase epitaxy versus random nucleation and growth in sub-20 nm
wide fin field-effect transistors,” Applied Physics Letters, vol. 90, no. 24, p. 241912,
2007.
[34] K. L. Saenger et al., “An examination of facet formation during solid phase epitaxy of
line-shaped amorphized regions in (001) and (011) Si,” Journal of Applied Physics,
vol. 101, no. 10, p. 104908, 2007.
[35] I. Martin-Bragado, “{111} local configurations: The main source of silicon defects
during solid phase epitaxial regrowth modeled by lattice kinetic Monte Carlo,” Applied
Physics Letters, vol. 98, no. 23, p. 233109, 2011.
[36] I. Martin-Bragado, “Importance of twin defect formation created by solid-phase
epitaxial growth: An atomistic study,” Scripta Materialia, vol. 66, no. 3–4, pp. 186–189,
2012.
[37] V. C. Venezia et al., “Dopant redistribution effects in preamorphized silicon during low
temperature annealing,” in IEDM Technical Digest, Washington, DC, USA, pp. 489–
492, December 2003.
[38] O. Dokumaci et al., “Transient Enhanced Diffusion and Dose Loss of Indium in
Silicon,” in MRS Symposium Proceedings, Si Front-End Processing—Physics and
Technology of Dopant-Defect Interactions, vol. 568, San Francisco, CA, USA, pp. 205–
210, April 1999.
[39] P. A. Stolk et al., “Trap-limited interstitial diffusion and enhanced boron clustering in
silicon,” Applied Physics Letters, vol. 66, no. 5, pp. 568–570, 1995.
[40] L. Pelaz et al., “B diffusion and clustering in ion implanted Si: The role of B cluster
precursors,” Applied Physics Letters, vol. 70, no. 17, pp. 2285–2287, 1997.
[41] S. Mirabella et al., “Mechanism of Boron Diffusion in Amorphous Silicon,” Physical
Review Letters, vol. 100, p. 155901, April 2008.
[42] D. C. Müller, Deactivation and Activation of Donors in Silicon, Series in
Microelectronics, vol. 151, Konstanz, Germany: Hartung-Gorre, 2004.
[43] P. M. Rousseau et al., “Arsenic deactivation enhanced diffusion: A time, temperature,
and concentration study,” Journal of Applied Physics, vol. 84, no. 7, pp. 3593–3601,
1998.
[44] C. Rafferty, “Progress in Predicting Transient Diffusion,” in International Conference
on Simulation of Semiconductor Processes and Devices (SISPAD), Cambridge, MA,
USA, pp. 1–4, September 1997.

556 Sentaurus Process User Guide


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
References

[45] I. Martin-Bragado et al., “Physical modeling of Fermi-level effects for decanano device
process simulations,” Materials Science and Engineering B, vol. 114–115, pp. 284–289,
December 2004.
[46] I. Martin-Bragado et al., “Fermi-level effects in semiconductor processing: A modeling
scheme for atomistic kinetic Monte Carlo simulators,” Journal of Applied Physics,
vol. 98, p. 053709, September 2005.
[47] C. Persson, U. Lindefelt, and B. E. Sernelius, “Band gap narrowing in n-type and p-type
3C-, 2H-, 4H-, 6H-SiC, and Si,” Journal of Applied Physics, vol. 86, no. 8, pp. 4419–
4427, 1999.
[48] S. C. Jain and D. J. Roulston, “A Simple Expression for Band Gap Narrowing (BGN) in
Heavily Doped Si, Ge, GaAs and GexSi1–x Strained Layers,” Solid-State Electronics,
vol. 34, no. 5, pp. 453–465, 1991.
[49] D. R. Lim, C. S. Rafferty, and F. P. Klemens, “The role of the surface in transient
enhanced diffusion,” Applied Physics Letters, vol. 67, no. 16, pp. 2302–2304, 1995.
[50] N. E. B. Cowern et al., “Transient enhanced diffusion in preamorphized silicon: the role
of the surface,” Nuclear Instruments and Methods in Physics Research B, vol. 148,
no. 1–4, pp. 257–261, 1999.
[51] I. Martin-Bragado and V. Moroz, “Modeling of {311} facets using a lattice kinetic
Monte Carlo three-dimensional model for selective epitaxial growth of silicon,” Applied
Physics Letters, vol. 98, no. 15, p. 153111, 2011.
[52] B. Sahli et al., “Ab initio calculations of phosphorus and arsenic clustering parameters
for the improvement of process simulation models,” Material Science and
Engineering B, vol. 154–155, pp. 193–197, December 2008.

Sentaurus Process User Guide 557


H-2013.03
5: Atomistic Kinetic Monte Carlo Diffusion
References

558 Sentaurus Process User Guide


H-2013.03
CHAPTER 6 Alagator Scripting Language

This chapter discusses the Alagator scripting language, which is


used to specify partial differential equations and boundary
conditions for use with diffusion simulations.

The equations are expressed in a Newton iteration–ready form. They are specified as text
strings that are assumed to be equal to zero. Most mathematical operators are supported to
specify equations, and various operators for differential terms are available. For terms that
include the gradient (grad) operator, Sentaurus Process automatically calculates the
divergence. It is not necessary to specify the divergence in the equations.

Binary operators, functions, constants, and parameters are supported. Care must be exercised
with Tcl expansion of variables and strings, as usually users want variables to be evaluated at
run-time, not when they are read.

Operators
The Alagator language operators and variables consist of binary operators, simple functions,
differential functions, string names, solution names, subexpressions, constants, and
parameters.

Binary and Unary Operators


Most common binary algebraic operators are supported. Addition (+), subtraction (–),
multiplication (*), and division (/) are included. Unary negation is also supported with the usual
mathematical rules applying. Typical precedence rules apply (see Table 62 on page 560).
Parentheses are supported for grouping operations. In addition to the basic four mathematical
operators, power (^) is also supported; for example, a^b raises a to the b power.

NOTE The Tcl command expr pow(a,b) is not supported in the Alagator
language when a and b do not evaluate to an integer or double value.

Many comparison operators are implemented. These do not support derivative operations, so
they cannot be used in the gradient expression. However, they can be used in the select
command (see select on page 1053). The operators >, <, >=, <=, ==, and != are implemented

Sentaurus Process User Guide 559


H-2013.03
6: Alagator Scripting Language
Operators

with their usual meanings. Care must be used with equals and not equals, since a comparison
of floating point values in this way can be problematic.

Table 62 Operator precedence


Operator Description Operator Description

^ Power && Logical and

- Unary minus || Logical or

*, / Multiplication, division ?: Conditional operator

+, – Addition, subtraction , Comma operator for lists

<, <=, >=, >, ==, != Equality, inequality

Logical operators and (&&) and or (||) are also provided for use with callbacks and
initialization. When these operators are used as part of a differential equation, care must be
taken as the Newton method does not ensure convergence for problems that are not first-order
continuous.

In addition to these, a conditional operator (?:) is provided, which takes three operands. The
first operand is a condition, the second operand is the value of the entire conditional expression
if the condition is true, and the third operand is the value of the entire conditional expression if
the expression is false. For example, the command:
sel z = "(Vac>1e15) ? (1e15) : (Vac)" name = Vac
15 15
sets the value of Vac to 1 × 10 on mesh points where Vac is greater than 1 × 10 and does
15
not change Vac on mesh points where Vac is smaller than 1 × 10 . Since the select
command works on mesh nodes, the conditional operator is very useful for truncating profiles.

Simple Functions
All simple functions take one argument that must be enclosed in parentheses. The argument
can be any expression. Most common functions are available, including ‘exp’ natural
exponentiation, ‘log’ natural log, ‘log10’ log base 10, and ‘sqrt’ square root. Additionally, the
complementary error function ‘erfc’ and error function ‘erf’ are provided to help build initial
doping profiles. All of these functions have supported derivatives and can be used in the
specification of partial differential equations (PDE).

‘abs’ and ‘sign’ provide an absolute value and sign operation. The sign operation is positive if
the argument is greater than zero and minus one for less than zero. These functions do not
provide derivatives and cannot be used as part of a differential equation.

560 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Operators

Differential Functions
The differential functions are used in partial differential equations only and are not evaluated
with the select command. There are two differential operators: ddt and grad. Time
derivatives are supported with the ddt operator. It takes a single argument and computes the
first-time derivative of the argument for use in a partial differential equation. Time-step
integration is provided automatically using the Bank–Rose TRBDF method [1].

Spatial derivatives are supported in two ways. A simple gradient is supported with grad.
Implied is the evaluation in a discrete sense and the integral around a control volume. For this
reason, div is not required. For example, A*B*grad(C) is treated as div(A*B*grad(C)).

Special Functions

The diag Operator

The special operator diag provides the modeling of anisotropic diffusion. The special operator
(anisotropic diffusion matrix) has the form:

a 0 0
diag (a,b,c) ≡ 0 b 0 (811)
00 c

where a, b, and c are any valid Alagator expression. It also can include diffusion solution
variables. For discretization, the diag operator projects the vector to the edge direction. For
1D structures, a must be specified. For 2D structures, a and b must be specified. For 3D
structures, a, b, and c must be defined.

The following expressions are valid:


ddt(C1)-D1*diag(a,b,c)*grad(C1)
ddt(C1)-D1*diag(a,b,c)*grad(C1)-D2*diag(g,h,i)*grad(C2)
ddt(C1)-D1*diag(a,b,c)*grad(C1)-D2*grad(C2)
# Addition of two diag operators (diag(...)+diag(...))
ddt(C1)-(D1*diag(a,b,c)+D2*diag(g,h,i))*grad(C1)

The following expressions are not valid:


# Multiplication of two diag operators (diag(...)*diag(...))
ddt(C1)-(D1*diag(a,b,c)*diag(g,h,i))*grad(C1)
# Division of two diag operators (diag(...)/(diag(...))
ddt(C1)-(D1*diag(a,b,c)/diag(g,h,i))*grad(C1)

Sentaurus Process User Guide 561


H-2013.03
6: Alagator Scripting Language
Operators

# Addition of a diag operator with a constans (diag(...)+C)


ddt(C1)-(D1*diag(a,b,c,d,e,f)+D2)*grad(C1)

You can use built-in functions to define anisotropy. For example:

 3σ
---------x
3σ x 2σ y  kT 
 --------
- –  --------- e 0 0
 kT   kT 
diag ( e ,e , 1) ≡ 2σ (812)
–  ---------y
 kT 
0 e 0
0 0 1

term name=BoronDiffFactor Silicon add eqn = "diag(exp(3.0*ElasticStrainKK_x \


* [simDelayDouble Diffuse Vti]),exp( -2.0 * ElasticStrainKK_y * \
[simDelayDouble Diffuse Vti]),1.0)"

The above command makes the effective diffusivity of boron anisotropic. If


<dopant>DiffFactor (see Alagator for Diffusion on page 563) is already defined (that is,
AdvancedCalibration), perform the following:
set locterm [term name=BoronDiffFactor Silicon print]
term name=BoronDiffFactor Silicon add eqn = "($locterm) * \
(diag(exp(3.0*ElasticStrainKK_x * [simDelayDouble Diffuse Vti]), \
exp( -2.0 * ElasticStrainKK_y * [simDelayDouble Diffuse Vti]),1.0))"

String Names
Strings that are not recognized as real numbers, operators, or functions are handed to the
resolution phase of the parser. These strings are compared to four sets of possible matches. The
first set is valid solution names created with the solution command (see solution on
page 1076). The second set is the data field name. The third set is named subexpressions
created with the term command (see term on page 1099). Finally, any remaining strings are
passed to the Tcl expression function to see if they can be parsed to a real number constant.
This allows parameters from the parameter database to be used in differential equations.

Solution Names and Subexpressions: Terms


Solution names (for example, Boron, 311) must match the string exactly as specified in the
solution command (see solution on page 1076). These are the most important resolutions
since they allow linking of the equations to the variables to be solved. Derivatives are
automatically taken of all equations with respect to each solution name found in the equation.
Terms are useful for common subexpressions. The string used in the equations must match
exactly the name given in the term command (see term on page 1099).

562 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

Constants and Parameters


Anything that does not match a term or solution is handed to the Tcl expression parser to see
if it evaluates as a valid expression. The result is treated as a constant. The evaluation of the
expression is performed again in the code if the temperature or time changes, so that parameters
can have explicit dependencies on these values.

When defining parameters, care must be given to the nested declaration. Especially when
parameters are derived using the pdbDelayDouble command from other parameters, the Tcl
expression parser may be unable to expand the whole expression and evaluate it correctly. For
example:
pdbSetDouble Si Test Param1 {[Arr 1 2]} (1)
pdbSetDouble Si Test Param2 {2.0*[pdbDelayDouble Si Test Param1]}(2)
pdbSetDouble Si Test Param3 {2.0*[pdbGetDouble Si Test Param1]}(3)
pdbGet Si Test Param2 (4)
pdbGet Si Test Param3 (5)

The first three lines set Param1, Param2, and Param3. Param2 and Param3 are derived
parameters from Param1. While Param2 uses pdbDelayDouble to obtain the value of
Param1, Param3 uses pdbGetDouble. When retrieving data, line 4 will return an error
message and line 5 will return a valid double number without an error message. The error
message is issued because pdbDelayDouble returns an expression of Param1, which is
treated as a string by the Tcl parser during the evaluation of Param2. To prevent such errors,
Param2 can be encapsulated with the expr command:
pdbSetDouble Si Test Param2 {[expr 2.0*[pdbDelayDouble Si Test Param1]]}

NOTE If Sentaurus Process cannot evaluate an expression correctly, it assumes


that it is zero.

Alagator for Diffusion


In this section, an example is used to illustrate how to specify equations using the Alagator
scripting language. The general expression for diffusion of species C X is given by:

∂C X
= ∇•D∇C X (813)
∂t

and will be translated to Alagator language as:


ddt(CX)-D*grad(CX) = 0

Sentaurus Process User Guide 563


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

where CX is the solution variable and D is the diffusivity term (see Solution Names and
Subexpressions: Terms on page 562).

NOTE Do not specify the div operator in front of D*grad(CX); div is


implied.

NOTE The grad operator must work on function of solution variable.

NOTE Since the examples given in this chapter use parameters that are not in
the PDB, long-hand pdbSet commands are used (see pdbSet and
Related Functions on page 1005).

Basics
The simplest diffusion equation uses a constant diffusivity and can be described by Fick’s first
law and second law. Two main steps are required to initialize and solve this equation. First, a
solution must be defined (see solution on page 1076). Second, the equation must be entered
into the parameter database.

A minimum of two commands can be used to accomplish this, for example:


solution name=CX add !negative !damp solve
pdbSetString Silicon CX Equation "ddt(CX) - 1e-15*grad(CX)"

The first line creates a new solution named CX and adds it to the solution list. The solution
cannot take negative values and numeric damping is not applied to the updates of the Newton
iteration. The solution is always to be solved.

NOTE Aliases are defined only for pdb commands. In the above example, the
solution name used in the definition of partial differential equations
must match the one defined with the solution command.

The second line makes an entry into the parameter database. This is created for the material
Silicon and the solution variable CX. An entry is made for an Equation, which is the
predefined entry that Alagator looks for to find a differential equation. The string value set is
the differential equation that will be solved for this variable in this material. The equation uses
a time operator (ddt) and gradient operator (grad) to implement a simple diffusion equation.
The divergence operator is implied and computed as part of the discretization of the equations.
Whenever a gradient operator grad is in an Alagator script, it is assumed that the divergence
will be taken of that term during assembly.

In this example, the equation to be solved is d(CX)/dt-div(1.0e-15*grad(CX))=0. The


solution name in the equation (CX) must also be identical to the name in the solution
– 15 2
command. The diffusivity in this example is hard wired to be 10 cm /s .

564 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

In this first example, the diffusivity does not depend on the temperature. To use a temperature-
dependent diffusivity, use the following command lines:
set diff {[Arrhenius 0.138 1.37]}
pdbSetString Silicon CX Equation "ddt(CX) - $diff * grad(CX)"

In the first line, a local Tcl variable is created to hold a string representing the diffusivity. The
braces are necessary to prevent immediate evaluation of the Arrhenius function (see Arrhenius
on page 857). The Arrhenius function is a predefined helper function that allows for the simple
creation of Arrhenius expressions. It uses the temperature set by the diffusion command or
the SetTemp command (see SetTemp on page 1062). The presence of braces means that the
Arrhenius function is inserted directly into the parameter database equation and is evaluated
during the diffusion. For each diffusion time-step, the Arrhenius function will then be
evaluated at the current temperature.

A further enhancement can be made by adding the diffusivity to the parameter database. This
allows other users to change the value in the equation by accessing the properties directly. The
following changes make the equation dependent on the stored value in the database:
pdbSetDouble Silicon CX D {[Arrhenius 0.1 3.62]}
set diff [pdbDelayDouble Silicon CX D]
pdbSetString Silicon CX Equation "ddt(CX) - $diff * grad(CX)"

The first line sets the diffusivity in the database. This can be made permanent by directly
editing the hierarchy files. The second line uses pdbDelayDouble to return the expression
stored in the database. This is necessary so that the evaluation of the expression does not occur
until the diffuse command is executed. Now, the equation depends on the database entry.
(You can change this entry to observe the effect of different diffusivities on the final profile.)

In addition, it is possible to solve for CX only after it is introduced into the structure or
otherwise present in the material. This is performed by modifying the solution command:
solution name=CX !negative !damp ifpresent=CX add

The ifpresent option enables the solution as a variable for the diffusion equation only if a
real data field exists with that name. This means that only structures already having CX defined
(with the select command, for example) will solve the differential equation. This is useful
for controlling CPU time and matrix size by not requiring solutions of systems that do not have
that species present.

Sentaurus Process User Guide 565


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

Setting Boundary Conditions

Dirichlet Boundary Condition

The previous example can be enhanced by adding a boundary condition to allow in-diffusion
of this species from a gas source. For simplicity, it is assumed that the gas source fixes the
19 –3
surface concentration of species CX at 5 × 10 cm .

The following two commands create this boundary condition:


pdbSetBoolean Gas_Silicon CX Fixed_Silicon 1
pdbSetString Gas_Silicon CX Equation_Silicon "CX_Silicon - 5.0e19"

Both commands work on the gas–silicon interface for the CX variable. The first command states
that the value is to be fixed on the silicon side, that is, a Dirichlet boundary condition is to be
applied. The keyword Fixed is used only with the Dirichlet boundary condition.

Fluxes will be ignored at this node and the boundary condition will control the concentration.
The _Silicon option on Fixed indicates the value is to be set on the silicon side. This is
critical because there can be three components on any interface, one for each material and one
for the interface. The second command sets the boundary condition equation on the silicon side
19 –3
to be the concentration of 5 × 10 cm .

NOTE Equations are set to zero by definition. The CX variable also has
_Silicon appended to indicate that the concentration is set on the
silicon side.

NOTE The interface names are lexically ordered. Most interface names are set
to the right order using the alias command (for example,
Silicon_Gas will be interpreted as Gas_Silicon). If a new interface
name is introduced, the order must be followed.

Segregation Boundary Condition

If a segregation-type boundary condition is needed, for example, at the oxide–silicon interface,


the following two commands will create this boundary condition:
pdbSetString Oxide_Silicon CX Equation_Oxide "(1.6e-7*(CX_Oxide - \
CX_Silicon/0.28))"
pdbSetString Oxide_Silicon CX Equation_Silicon "-(1.6e-7*(CX_Oxide - \
CX_Silicon/0.28))"

Of course, this boundary condition assumes that the diffusion equation for CX is solved in the
oxide region as well. Otherwise, the diffusion equations would be unbalanced at this interface.

566 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

Both of the commands work on the oxide–silicon interface. The _Silicon and _Oxide
options on Equation indicate the side of the interface to which the given flux will be applied.
The same options on the solution variable CX indicate whether the solution variable value at
this interface is taken from the oxide side or the silicon side. It should also be noted that the
–7
fluxes have opposite signs. The first number ( 1.6 × 10 ) in the flux equation is the transfer
coefficient and the second number (0.28) is the segregation coefficient.

Natural Boundary Condition

If a natural boundary condition is needed, the following three commands will create this
boundary condition:
set Ksurf {[Arrhenius 1.17e6 1.37]}
set CXStar {[Arrhenius 3.6e27 3.7]}
pdbSetString Gas_Silicon CX Equation_Silicon "- $Ksurf * (CX_Silicon - \
$CXStar)"

The first two lines set the surface recombination rate and the equilibrium concentration, and
the third line sets the equation. In this case, a flux is added to the equation on the silicon side,
so there is no need for the Fixed flag. Recombination at an interface obtains a negative sign
and generation obtains a positive sign. The variable again needs to have _Silicon appended
to indicate the value on the silicon side of the interface.

Interface Traps

Interfaces can act like traps for diffusing species. It is also possible that the trapped species may
diffuse along the interface and segregate into neighboring materials.

The following commands create this boundary condition:


set diff {[Arrhenius 5.e-14 1.2]}
set Ktrap {[Arrhenius 1.17e-2 1.37]}
set CXStar {[Arrhenius 3.6e27 3.7]}

pdbSetString Gas_Silicon CX Equation "ddt(CX) -$diff * grad(CX) - $Ktrap * \


(CX_Silicon - $CXStar)"
pdbSetString Gas_Silicon CX Equation_Silicon "-$Ktrap * (CX_Silicon - \
$CXStar)"

The first three lines set the diffusivity, trapping rate, and equilibrium concentration of CX at the
gas–silicon interface, respectively. The fourth line sets the trapping equation at the gas–silicon
interface. The solution variable name (CX) without the suffix _Silicon indicates the value at
this interface. The variable with _Silicon appended indicates the value on the silicon side of
the interface. The grad() operator has the usual meaning as previously explained (see Basics

Sentaurus Process User Guide 567


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

on page 564). The last term in the equation is the flux, which depends on the trapping rate. The
last line adds the corresponding flux to the equation on the silicon side.

External Boundary Condition

To set a boundary condition at the outer sides, use the command:


pdbSetString <material> <solution> Equation_<boundary> <string>

where:
■ <material> is the material name.
■ <solution> is the solution name.
■ <boundary> is specified with one of the following: LeftSide, RightSide,
FrontSide, BackSide, or Bottom.

The specified equation is added to the bulk equation of the solution at the nodes on the specified
side.

Using Terms
It is possible to extend the previous example by introducing a new solution variable, CY, and
the following recombination reaction between CX and CY:
X+Y↔0 (814)

* *
R CXCY ≡ K f ( CXCY – CX CY ) (815)

The reaction states that two species (CX and CY) annihilate each other when they react. K f is
the forward reaction rate, and CX∗ and CY∗ are the equilibrium values of the solution
variables. The new solution variable is assumed to diffuse according to Fick’s law of diffusion.
Building on the previous example, the above equation can be implemented by the following
command lines:
solution add name=CX !damp !negative solve
solution add name=CY !damp !negative solve

set Kf {[Arrhenius 4.2e-11 0.1]}


set CXStar {[Arrhenius 3.6e27 3.7]}
set CYStar {[Arrhenius 4.0e26 3.97]}

set RCXCY "$Kf * (CX * CY- $CXStar * $CYStar)"

set diff {[Arrhenius 0.138 1.37]}

568 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

pdbSetString Silicon CX Equation "ddt(CX) - $diff * grad(CX) + $RCXCY"


set diff {[Arrhenius 0.02 0.3]}
pdbSetString Silicon CY Equation "ddt(CY) - $diff * grad(CY) + $RCXCY"

The first two lines create solutions for CX and CY. The third line is the forward reaction rate.
The next two lines set the equilibrium concentrations of CX and CY. The sixth line sets the
RCXCY variable to be a subexpression for the recombination reaction. Any excess of CX and CY
is annihilated until the concentrations are at the equilibrium product. Finally, the diffusivity is
obtained and the equation is set, similar to the previous example. The recombination reaction
is added to both solution variable equations.

A common error is not to add reaction terms to all affected equations. When the recombination
is positive, it forces the time derivative to become negative to make the equation equal to zero.

The implementation cited above is difficult to read. The RCXCY variable is used more than once
and may need to be used in other equations. To reduce the maintenance of the code, a term can
be created and used everywhere, not only in the local scope where the term is defined (see term
on page 1099).

A term is a common subexpression that can be used in multiple instances. When the term
appears in multiple equations, the values are easily retrieved from memory and accumulated,
for example:
solution add name=CX !damp !negative solve
solution add name=CY !damp !negative solve

set Kf {[Arrhenius 4.2e-11 0.1]}


set CXStar {[Arrhenius 3.6e27 3.7]}
set CYStar {[Arrhenius 4.0e26 3.97]}

term name=RCXCY Silicon eqn = "$Kf * (CX * CY- $CXStar * $CYStar)"

set diff {[Arrhenius 0.138 1.37]}


pdbSetString Silicon CX Equation "ddt(CX) - $diff * grad(CX) + RCXCY"
set diff {[Arrhenius 0.02 0.3]}
pdbSetString Silicon CY Equation "ddt(CY) - $diff * grad(CY) + RCXCY"

This is almost identical to the previous example, except that a term was created, not a local
variable. Due to this change, the dollar sign (indicative of a Tcl variable) is no longer needed
in the equation. It has become a simple text string, which will be resolved to the term. The terms
are kept until you exit the simulator, so it can be used in other equations or in a select
command (if you want to monitor the recombination rates).

Sentaurus Process User Guide 569


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

A further enhancement can be made by adding the diffusivity, equilibrium concentrations, and
reaction rate to the parameter database as previously. The following changes make the equation
dependent on the stored values in the database:
pdbSetDouble Silicon CX D {[Arrhenius 0.138 1.37]}
pdbSetDouble Silicon CY D {[Arrhenius 0.02 0.3]}
pdbSetDouble Silicon CX Kf {[Arrhenius 4.2e-11 0.1]}
pdbSetDouble Silicon CX Cstar {[Arrhenius 3.6e27 3.7]}
pdbSetDouble Silicon CY Cstar {[Arrhenius 4.0e26 3.97]}

solution add name=CX !damp !negative solve


solution add name=CY !damp !negative solve

set Kf [pdbDelayDouble Silicon CX Kf]


set CXStar [pdbDelayDouble Silicon CX Cstar]
set CYStar [pdbDelayDouble Silicon CY Cstar]

term name = RCXCY Silicon eqn = "$Kf * (CX * CY- $CXStar * $CYStar)"

set diff [pdbDelayDouble Silicon CX D]


pdbSetString Silicon CX Equation "ddt(CX) - $diff * grad(CX) + RCXCY"
set diff [pdbDelayDouble Silicon CY D]
pdbSetString Silicon CY Equation "ddt(CY) - $diff * grad(CY) + RCXCY"

As stated in the previous section, the first five lines use pdbDelayDouble to return the
expression stored in the database. This is necessary so that the evaluation of the expression does
not occur until the diffuse command is executed.

Callback Procedures
Callbacks allow additional ‘intelligence’ to be built into the equations by allowing procedures
to be called at run-time. These procedures build the Alagator equation strings according to
user-specified options. By selecting model switches, you can choose between different
physical models to be represented in the equation strings. By having callback procedures that
use a material name, a dopant name, or a defect name as arguments, the same type of equation
can be built for several materials, dopants, and defect species. In Sentaurus Process, all
frequently used equations are built-in callback procedures.

The callback procedure–related keywords in Alagator are:


■ InitGrowth
■ InitSolve
■ InitProc
■ EquationGrowthProc

570 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

■ EquationInitProc
■ EquationProc
■ GrowthRateProc

InitGrowth and EquationGrowthProc are used to define generic growth equations (see
Alagator for Generic Growth on page 584), and GrowthRateProc is used with the epi model
(see Epitaxy on page 270). Using the pdbSet command, you can point Alagator to use various
Tcl callback procedures.

This section focuses on the remaining keywords. All of these keywords provide a Tcl callback
procedure name to Sentaurus Process:

EquationInitProc Provides the Tcl callback procedure name that sets up the
initialization equations.
EquationProc Provides the Tcl callback procedure name that sets up diffusion
equations.
InitProc Provides the Tcl callback procedure name that is usually used to reset
or delete existing parameter database equations or terms at the
beginning of a diffusion simulation.
InitSolve Provides the Tcl callback procedure name that is used to reset or
delete existing parameter database equations or terms.

Callbacks during Execution of diffuse Command

The Tcl callback procedures are called at various stages during the execution of a diffuse
command. In addition to the callback procedures, Sentaurus Process calls the
diffPreProcess Tcl procedure before executing the diffuse command and the
diffPostProcess Tcl procedure after executing the diffuse command. The default
behavior is described in Ion Implantation to Diffusion on page 340.

Sentaurus Process User Guide 571


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

Figure 84 shows the flowchart of this process. Sections relating to generic growth are omitted.
They are explained in Alagator for Generic Growth on page 584.
diffuse

diffPreProcess

For each: solution and material

InitSolve callback procedure:

Next

For each: marked solution and material

EquationInitProc callback procedure

Next

Solve initialization
equations

InitPostProcess

For each: solution and material

InitProc callback procedure

Next

For each: solution and material

EquationProc callback procedure

Next

Solve diffusion
equations

diffPostProcess

Figure 84 Flowchart with calls to the callback procedures during the execution of a diffuse
command by Sentaurus Process; callbacks related to material growths are
omitted

572 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

The diffPreProcess Procedure

The execution of every diffuse command starts with a call to the diffPreProcess Tcl
procedure. The diffPreProcess Tcl procedure is used to initialize various data fields or to
preprocess the existing data fields. For example, the truncation of interstitial and vacancy
profiles in the amorphous regions is performed in this procedure. In diffPreProcess, the
point-defect equations are switched on or off according to the diffusion models selected.

Initialization

After the execution of diffPreProcess, Sentaurus Process checks for all materials and
solution names, and whether a procedure name is specified for the keyword InitSolve for
the material and solution names. If a procedure name is defined, the procedure will be called,
using the material name and solution name as arguments.

Subsequently, Sentaurus Process checks for all marked materials and solutions to see if a
procedure name is specified with the keyword EquationInitProc for the solution variable
that needs to be initialized. If this is the case, the procedure will be executed with the material
name and solution name as arguments. Typically, in this procedure, the equation string is built,
which is to be solved at time=0 in the diffusion solver. Alternatively, if no callback procedure
name is defined for the keyword EquationInitProc for a material and solution, the equation
string to be used for the initialization can be specified directly on the command line.

After that, Sentaurus Process will solve the initialization equations for all materials and
solutions that need to be initialized. The initialization equations are solved for the initial
temperature of the temperature ramp specified in the diffuse statement. Such an initialization
is usually not required for all solutions. It is typically necessary for solutions whose initial
value depends in a complex way on the data fields (see Complex Initialization Procedures:
InitSolve and EquationInitProc on page 580).

If initialization is not required at all, it can be omitted using the !isolve option with the
diffuse command.

A Tcl procedure called InitPostProcess is provided for convenience. It is called after the
initialization is completed. It can be used to plot or save the solution variable profiles after the
initialization. By default, InitPostProcess is an empty procedure.

Building and Solving Diffusion Equations

After the initialization, Sentaurus Process checks for all materials and solution names to see
whether a procedure name is specified for the keyword InitProc. If the procedure is defined,
it will be called for the specified material name and solution name. These procedures are
usually used to set the equation strings to empty strings and to remove terms defined in
previous diffusion steps. By having empty equation strings, the equations and terms can be
built up piecewise, by adding expressions for each selected model that contributes to an

Sentaurus Process User Guide 573


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

equation or a term. This is necessary because different diffusion models may be used for
different diffusion steps, and because additional species may be added between diffusion steps,
which may require terms to be added to the equations for existing species.

In the next step, Sentaurus Process checks for all materials and solution names to see whether
a procedure name is specified for the keyword EquationProc. If the procedure is defined, it
will be called with the material name and the solution name as parameters. These procedures
are used to set the diffusion equations for the solution variable. Alternatively, if no callback
procedure is defined for a material and a solution, the equation string can be set in a command
line without specifying any callback procedures.

NOTE If the callback procedure EquationProc is provided for a material


name and solution name, it will typically overwrite any equation
specified on the command line for this material and solution.

After the diffusion equations are set, Sentaurus Process solves the equations for the whole
temperature cycle specified in the diffuse statement.

The diffPostProcess Procedure

Finally, the procedure diffPostProcess will be called. The main purpose of the procedure
is to delete the data fields that are no longer needed and to store the total concentration of point
defects. The procedures diffPreProcess, diffPostProcess, and InitPostProcess
can be found in the Tcl library (see Ion Implantation to Diffusion on page 340) in the file
[Link].

Using Callback Procedures


In this section, the previous examples will be implemented using callback procedures. First,
the callback procedure keywords InitProc and EquationProc will be explained since they
are the most widely used. Then, the examples will be expanded to include the use of other
keywords and procedures.

574 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

Setup Procedure: InitProc

The keyword InitProc is used to clean up equation strings. It specifies the name of the
callback procedure to be called by Sentaurus Process. For example, the first command below:
pdbSetString Silicon CX InitProc ResetEquations

proc ResetEquations { Mat Sol } {


LogFile "This callback procedure unsets $Sol equation in $Mat."
pdbUnSetString $Mat $Sol Equation
}

defines the ResetEquations procedure as the callback procedure of the solution variable CX
in silicon. The callback procedure itself takes two arguments: a material name and a solution
name. In this example, Sentaurus Process will call the ResetEquations procedure with two
arguments. The first argument Mat will be Silicon and the second argument Sol will be CX.
The argument names Sol and Mat are arbitrary, and they can be any valid Tcl variable but the
first argument is always the material name and the second argument is always the solution
name.

The procedure is called every time the solutions are checked during the diffusion. The
procedure prints the message 'This callback procedure unsets CX equation in
Silicon' and removes the pdb equation if it was defined.

Note that neither the solution name CX nor the material name Silicon is used in the
implementation of the ResetEquations callback procedure. Therefore, the callback
procedure is a generic procedure and can be used for several materials and solutions. This
example can be extended with the following commands:
pdbSetString Silicon CX InitProc ResetEquations
pdbSetString Silicon CY InitProc ResetEquations
pdbSetString Oxide CX InitProc ResetEquations
pdbSetString Oxide CY InitProc ResetEquations

In this case, the same callback procedure, ResetEquations, is used for the solution variables
CX and CY in the materials oxide and silicon. Sentaurus Process will print the following
messages:
This callback procedure unsets CX equation in Oxide.
This callback procedure unsets CX equation in Silicon.
This callback procedure unsets CY equation in Oxide.
This callback procedure unsets CY equation in Silicon.

The advantage of using callback procedures is clear. With four new command lines, the
equations for CX and CY in both oxide and silicon can be unset. At the same time, there is only

Sentaurus Process User Guide 575


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

one callback procedure to maintain. If you change the callback procedure, the changes will
apply to all four settings.

Equation Procedure: EquationProc

The primary responsibility of the equation procedure is to construct the equation string. It uses
the keyword EquationProc in the parameter database. The keyword determines which
callback procedure name will be called by Sentaurus Process. For example, the first command
below:
pdbSetString Silicon CX EquationProc SetEquations

proc SetEquations { Mat Sol } {


LogFile "This callback procedure sets $Sol equation in $Mat."
pdbSetString $Mat $Sol Equation "ddt($Sol) -[Arrhenius 0.138 1.37]*grad($Sol)"
}

defines the SetEquations procedure as the callback procedure of the solution variable CX in
silicon. The callback procedure itself takes two arguments: a material name and a solution
name. In this example, Sentaurus Process will call the SetEquations procedure with two
arguments. The first argument Mat will be Silicon and the second argument Sol will be CX.
The argument names Sol and Mat are arbitrary, and they can be any valid Tcl variable, but the
first argument is always the material name and the second argument is always the solution
name.

The SetEquations procedure is called every time the solutions are checked during the
simulation. In the above example, the procedure will print the message ‘This callback
procedure sets CX equation in Silicon.’ and will set the pdb equation for CX in
silicon.

NOTE Neither the solution name CX nor the material name Silicon is used in
the implementation of the SetEquations callback procedure.
Therefore, the callback procedure is a generic procedure. The equation
setting is similar to the one explained in Basics on page 564. The only
difference is that instead of using a solution name and material name,
only Tcl variables are used.

This example can be extended with the following commands:


pdbSetString Silicon CX EquationProc SetEquations
pdbSetString Silicon CY EquationProc SetEquations

576 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

In this case, the same callback procedure, SetEquations, is used for the solution variables
CX and CY in silicon. Sentaurus Process will print the following messages:
This callback procedure sets CX equation in Silicon.
This callback procedure sets CY equation in Silicon.

The advantage of using callback procedures is clear. With two new command lines, you can set
the diffusion equations for CX and CY in silicon. At the same time, there is only one callback
procedure to maintain. If you change the callback procedure, the changes will apply to both
settings.

The above implementation uses the same diffusivity for both CX and CY. In order to use
different diffusivities for each solution variable, the callback procedure SetEquations needs
to be modified and diffusivities for each solution variable should be set as follows:
pdbSetString Silicon CX EquationProc SetEquations
pdbSetString Silicon CY EquationProc SetEquations
pdbSetDouble Silicon CX D {[Arrhenius 0.138 1.37]}
pdbSetDouble Silicon CY D {[Arrhenius 0.02 0.3]}

proc SetEquations { Mat Sol } {


LogFile "This callback procedure sets $Sol equation in $Mat."
set diff [pdbDelayDouble $Mat $Sol D]
pdbSetString $Mat $Sol Equation "ddt($Sol) - $diff * grad($Sol)"
}

The first change above is the setting of CX and CY diffusivities in the database. The second
change is in the SetEquations callback procedure. Instead of having a hard-wired diffusivity
number, pdbDelayDouble is used to obtain the expression stored in the database. Now, the
diffusivities depend on the database entry. You can change these entries to observe the effect
of different diffusivities on the final profile.

The example given in Using Terms on page 568 can be enhanced further by using both terms
and callback procedures as follows:
pdbSetDouble Silicon CX D {[Arrhenius 0.138 1.37]}
pdbSetDouble Silicon CY D {[Arrhenius 0.02 0.3]}
pdbSetDouble Silicon CX Kf {[Arrhenius 4.2e-11 0.1]}
pdbSetDouble Silicon CY Kf {[Arrhenius 4.2e-11 0.1]}
pdbSetDouble Silicon CX Cstar {[Arrhenius 3.6e27 3.7]}
pdbSetDouble Silicon CY Cstar {[Arrhenius 4.0e26 3.97]}
pdbSetString Silicon CX Recomb “CY”
pdbSetString Silicon CY Recomb “CX”

solution add name=CX !damp !negative solve


solution add name=CY !damp !negative solve

Sentaurus Process User Guide 577


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

pdbSetString Silicon CX EquationProc SetEquations


pdbSetString Silicon CY EquationProc SetEquations

proc SetEquations { Mat Sol } {


LogFile "This callback procedure sets $Sol equation in $Mat."

set diff [pdbDelayDouble $Mat $Sol D]


set Kf [pdbDelayDouble $Mat $Sol Kf]
set Recomb [pdbGetString $Mat $Sol Recomb]

set CXStar [pdbDelayDouble $Mat $Sol Cstar]


set CYStar [pdbDelayDouble $Mat $Recomb Cstar]

term name = RCXCY $Mat eqn = "$Kf * ($Sol * $Recomb- $CXStar * $CYStar)"

pdbSetString $Mat $Sol Equation "ddt($Sol) - $diff * grad($Sol) + RCXCY”


}

First, the diffusivity, equilibrium concentration, and forward reaction rate for the
recombination of CX and CY are stored in the parameter database. Since CX and CY recombine
with each other, this information (Recomb) is also stored in the database. Then, the callback
procedure is modified to read these database entries. The Tcl variable Recomb in the callback
procedure will have the value of CY for CX and CX for CY. The forward recombination rate
RCXCY is the same for both solution variables. The callback procedure will be called once for
CX and once for CY. During each call, the term RCXCY will be created. Since the term name does
not depend on the solution name, the first term created during the CX equation setup will be
deleted during the CY equation setup. This is performed intentionally for this example since
both equations use exactly the same term. If you want to create a unique term for each call, the
callback procedure must be modified as follows:
proc SetEquations { Mat Sol } {
LogFile "This callback procedure sets $Sol equation in $Mat."

set diff [pdbDelayDouble $Mat $Sol D]


set Kf [pdbDelayDouble $Mat $Sol Kf]
set Recomb [pdbGetString $Mat $Sol Recomb]

set CXStar [pdbDelayDouble $Mat $Sol Cstar]


set CYStar [pdbDelayDouble $Mat $Recomb Cstar]

term name = R${Sol}${Recomb} $Mat eqn = "$Kf * ($Sol * $Recomb- $CXStar * \


$CYStar)"

pdbSetString $Mat $Sol Equation "ddt($Sol) - $diff * grad($Sol) + \


R${Sol}${Recomb}"
}

In this case, two terms will be created: RCXCY and RCYCX.

578 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

Preprocessing and Postprocessing Data: diffPreProcess,


UserDiffPreProcess, diffPostProcess, UserDiffPostProcess

Sentaurus Process can initialize solution variable fields on the command line using various
commands, such as select (see select on page 1053) and profile (see profile on
page 1033). If the initialization can be standardized, it is better to use the diffPreProcess
callback procedure. By default, diffPreProcess is used to initialize the data fields for
interstitials, vacancies, dopants, dopant clusters, dopant-defect clusters, and defect clusters (see
Ion Implantation to Diffusion on page 340). The procedure also switches on and off point-
defect solutions and various cluster solutions.

You can overwrite the procedure diffPreProcess. For example:


proc diffPreProcess { } {
LogFile "This procedure is used to initialize data fields CX and CY"

sel z = "CX + 2.0e18 * exp( -(x-0.5)*(x-0.5) / (0.01 * 0.01) ) + 1.0" \


name=CX store
sel z = "CY + CX * 0.1" name=CY store
}

This procedure will create a Gaussian profile for the solution variable CX with a peak at the
18 –3
depth x = 0.5 and a maximum concentration of 2 ×10 cm . Ten percent of the CX profile will
be added to the existing data field CY.

More complex examples can be created by combining pdb commands and the Tcl callback
procedures, for example:
pdbSetDouble Silicon CY minDose 1e10
proc diffPreProcess { } {
LogFile "This procedure is used to initialize data fields CX and CY"

sel z = "CX + 2.0e18 * exp( -(x-0.5)*(x-0.5) / (0.01 * 0.01) ) + 1.0" \


name=CX store

sel z = CY
set dose [FindDose]
if { $dose > [pdbGetDouble Silicon CY minDose] } {
solution add name=CY !damp !negative solve
} else {
solution add name=CY !damp !negative nosolve
}
}

In this example, a parameter called minDose is created for CY in the database to set the
minimum allowed dose for diffusion to occur. In the callback procedure diffPreProcess,

Sentaurus Process User Guide 579


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

the CX profile is set as previously explained. The second and fourth lines calculate the dose of
CY in silicon. The ‘if-else’ statement retrieves the minimum dose value from the database. If
the existing dose of CY is below the minimum dose, the solution for CY is switched off;
otherwise, it is switched on.

To enforce additional actions to be performed upon diffusion preprocessing, it is not necessary


to overwrite the default implementation of the procedure diffPreProcess. Instead, to
preserve the default initialization of data fields, it is recommended to redefine the procedure
UserDiffPreProcess. By default, UserDiffPreProcess is an empty procedure and is
called from the procedure diffPreProcess as one of the last commands.

The callback procedure diffPostProcess is called at the end of diffusion. By default, it is


used to store the total concentrations of point defects and to delete some temporary data fields
such as Int_Implant and Vac_Implant. In the last command line of diffPostProcess,
the procedure UserDiffPostProcess is called, which is empty by default. If you want to
add commands to be executed after diffusion, it is recommended to redefine the procedure
UserDiffPostProcess.

Complex Initialization Procedures: InitSolve and EquationInitProc

In some cases, the initialization of solution variables can be very complex and cannot be
accomplished by using the select command (see select on page 1053). In these cases,
Sentaurus Process defines the initialization equations using the Alagator language and callback
procedures.

Assume that the CX solution variable is initialized by solving the following equation:
β
CX Total = CX + ( αCX ) (816)

where CX Total is the total concentration of CX, and α and β are user-defined initialization
parameters. Depending on the value of α and β , you need to solve Eq. 816.

To initiate the initialization setup procedure, the solution name must be defined as:
solution add name=CX !damp !negative solve InitStep

The keyword InitStep allows this solution variable to be initialized.

580 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

The keyword InitSolve determines which callback procedure name will be called by
Sentaurus Process. For example, the first command below:
pdbSetString Silicon CX InitSolve ResetInitEquations

proc ResetInitEquations { Mat Sol } {


LogFile "This callback procedure unsets $Sol equation in $Mat during initialization."
pdbUnSetString $Mat $Sol Equation
}

defines the ResetInitEquations procedure as the callback procedure of the solution


variable CX in silicon. The callback procedure itself takes two arguments: a material name and
a solution name. In this example, Sentaurus Process will call the ResetInitEquations
procedure with two arguments. The first argument Mat will be Silicon and the second
argument Sol will be CX. In this example, the solution variable CX is marked to be initialized
in silicon. If there is no such setting for the solution variable CY, CY will not be initialized.

After calling the callback procedures defined by InitSolve, Sentaurus Process will look for
an equation string for the solution variable. This is performed by defining a callback procedure
using the keyword EquationInitProc.

In this procedure, the equation string for initialization is constructed. For example, the first
command below:
pdbSetString Silicon CX EquationInitProc SetInitEquations

proc SetInitEquations { Mat Sol } {


LogFile "This callback procedure sets $Sol equation in $Mat during initialization."

set alpha [pdbDelayDouble $Mat $Sol Alpha]


set beta [pdbDelayDouble $Mat $Sol Beta]
pdbSetString $Mat $Sol Equation "${Sol}_Implant - $Sol - ($alpha * $Sol)^$beta"
}

defines the SetInitEquations procedure as the callback procedure of the solution variable
CX in silicon. The callback procedure itself takes two arguments: a material name and a
solution name. In this example, Sentaurus Process will call the SetInitEquations
procedure with two arguments. The first argument Mat will be Silicon and the second
argument Sol will be CX. The argument names Sol and Mat are arbitrary, and they can be any
valid Tcl variable, but the first argument is always the material name and the second argument
is always the solution name.

The EquationInitProc and EquationProc keywords work in the same way. The callback
procedure defined with the keyword EquationInitProc is called only during initialization.

Sentaurus Process User Guide 581


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

The callback procedure defined with the keyword EquationProc is called only during
diffusion. It is assumed that Alpha and Beta are already entered into the database and
CXTotal is defined.

Diffusion Summary: pdb, TclLib, [Link]


So far, it has been shown how to set up diffusion equations and boundary equations, and how
to initialize solution variables. The complete example can be divided into three major parts.
The first part is the pdb entries as follows:
pdbSetDouble Silicon CX D {[Arrhenius 0.138 1.37]}
pdbSetDouble Silicon CY D {[Arrhenius 0.02 0.3]}
pdbSetDouble Silicon CX Kf {[Arrhenius 4.2e-11 0.1]}
pdbSetDouble Silicon CY Kf {[Arrhenius 4.2e-11 0.1]}
pdbSetDouble Silicon CX Cstar {[Arrhenius 3.6e27 3.7]}
pdbSetDouble Silicon CY Cstar {[Arrhenius 4.0e26 3.97]}
pdbSetString Silicon CX Recomb "CY"
pdbSetString Silicon CY Recomb "CX"
pdbSetDouble Silicon CX Alpha {[Arrhenius 1.03103e-17 -0.4]}
pdbSetDouble Silicon CX Beta {4.0}

This part corresponds to the parameter database (see Parameter Database on page 53). All
default Sentaurus Process model parameters are stored in the parameter database. The second
part is the definition of the names of the solution variables and the names of the callback
procedures:
solution add name=CX !damp !negative solve
solution add name=CY !damp !negative solve

pdbSetString Silicon CX EquationProc SetEquations


pdbSetString Silicon CY EquationProc SetEquations

pdbSetString Silicon CX InitProc ResetEquations


pdbSetString Silicon CY InitProc ResetEquations

pdbSetString Gas_Silicon CY InitProc ResetEquations


pdbSetString Gas_Oxide CX InitProc ResetEquations

pdbSetString Silicon CX InitSolve ResetInitEquations


pdbSetString Silicon CX EquationInitProc SetInitEquations

The information for the default Sentaurus Process models are stored in the TclLib directory
(see Environment Variables on page 46) in the file [Link], which is read by
Sentaurus Process as soon as the simulation starts. The file also contains information with
regard to solver types, implant directories, and material names.

582 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Diffusion

The third part is the definition of diffusion and initialization models. The models are stored in
the TclLib directory (see Environment Variables on page 46):
proc UserDiffPreProcess { } {
LogFile "This procedure is used to initialize data fields CX and CY"
sel z = "CX + 2.0e18 * exp( -(x-0.5)*(x-0.5) / (0.01 * 0.01) ) + 1.0" \
name=CXTotal store
sel z = "CY + CXTotal * 0.1" name = CY store
}

proc ResetEquations { Mat Sol } {


LogFile "This callback procedure resets $Sol equation in $Mat."
pdbUnSetString $Mat $Sol Equation
}

proc SetEquations { Mat Sol } {


LogFile "This callback procedure sets $Sol equation in $Mat."
set diff [pdbDelayDouble $Mat $Sol D]
set Kf [pdbDelayDouble $Mat $Sol Kf]
set Recomb [pdbGetString $Mat $Sol Recomb]

set CXStar [pdbDelayDouble $Mat $Sol Cstar]


set CYStar [pdbDelayDouble $Mat $Recomb Cstar]

term name = RCXCY $Mat eqn = "$Kf * ($Sol * $Recomb- $CXStar * $CYStar)"
pdbSetString $Mat $Sol Equation "ddt($Sol) - $diff * grad($Sol) + RCXCY"
}

proc ResetInitEquations { Mat Sol } {


LogFile "This callback procedure unsets $Sol equation in $Mat during \
initialization."
pdbUnSetString $Mat $Sol Equation
}

proc SetInitEquations { Mat Sol } {


LogFile "This callback procedure sets $Sol equation in $Mat during \
initialization."
set alpha [pdbDelayDouble $Mat $Sol Alpha]
set beta [pdbDelayDouble $Mat $Sol Beta]
pdbSetString $Mat $Sol Equation "${Sol}_Implant - $Sol
- (($alpha*$Sol)^$beta)"
}

Sentaurus Process User Guide 583


H-2013.03
6: Alagator Scripting Language
Alagator for Generic Growth

Alagator for Generic Growth


The generic growth scheme uses most of the standard definitions used in diffusion. Read
Alagator for Diffusion on page 563 before continuing with this section.

Basics
In this section, examples of varying complexity are used to illustrate how to specify growth
equations using the Alagator scripting language. Most of the definitions are identical to those
of the diffusion equation. However, the keywords used to define the callback procedures and
the definition of solution variables differ. In addition, the reaction equations interact with the
reaction command.
GXGas_TEOS
TEOS n

n
GXSilicon_TEOS

Gas
Silicon

JGas_TEOS JTEOS JSilicon_TEOS

Figure 85 Flux, ambient concentration, and motion of the growth front during the growth
process

Consider a reaction where the ambient GX reacts with silicon and forms a new material called
TEOS. The schematic in Figure 85 shows the ambient concentration at each interface and the
motion of the growth during the process. J represents the fluxes towards the Gas_TEOS and
Silicon_TEOS interfaces, and the flux of GX inside TEOS.

Since TEOS is a new material, first, it must be entered into the existing material list using the
command:
mater add name=TEOS

Then, the reacting materials must be defined using the reaction command (see reaction on
page 1038).

It is possible to create a reaction based on existing ambients, but in this case, a new react type
(named GX) ambient is created:
ambient name=GX react add
reaction name=TEOSreaction mat.l=Silicon mat.r=Gas [Link]=TEOS \
[Link]=oxide [Link]=GX [Link]=GX

584 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Generic Growth

Silicon (mat.l) is on the left side of the reacting interface and Gas (mat.r) is the material
on the right side of the reacting interface. The newly formed material ([Link]) at the reacting
interface is TEOS. The new material and its interfaces with other materials also are defined to
be like Oxide and Oxide interfaces (for example, TEOS = Oxide, PolySilicon_TEOS =
Oxide_PolySilicon). For the GX reaction, it requires an ambient, and the ambient name is
GX. The reaction will not occur unless the ambient GX is present in a gas flow or directly in the
diffuse command. (For more information about how to specify ambients, see Ambients and
Gas Flows on page 605.) Reactions that require a react-type ambient cannot have more than
one diffusing species name. If the reaction does not require an ambient, it can have multiple
names of diffusing species. In this case, the reaction occurs if the reacting interfaces exist in
the structure.

The reaction command automatically adds the diffusing species GX to the general solution
list. This is performed internally by using the command:
solution name=GX add !negative GrowthStep solve

where GrowthStep identifies this solution name as a reaction solution name. When the
solution name and the new material are defined, the reaction and diffusion equations are written
as follows:
pdbSetString TEOS GX Equation "ddt(GX)- \[Arrhenius 0.2 1.86\]*grad(GX)"
pdbSetString Gas_TEOS GX Equation_TEOS "-(GX_TEOS - 1e17)"
pdbSetString Silicon_TEOS GX Equation_TEOS "-5e-2*(GX_TEOS)"
pdbSetString Silicon_TEOS GX GrowthReaction " 5e-2*(GX_TEOS)"

The first line sets the diffusion equation of GX in TEOS. The next two lines set the boundary
fluxes at the Gas_TEOS and Silicon_TEOS interfaces. One of the commands works on the
Gas_TEOS interface and the other one works on the Silicon_TEOS interface. The _TEOS
option on Equation indicates the side of the interface to which the given flux will be applied.
The same option on the solution variable GX indicates that the solution variable value at this
interface is taken from the TEOS side. These settings are identical to the ones described in
Setting Boundary Conditions on page 566.

The last line is unique to the generic growth equations. The keyword GrowthReaction is
used to define the growth reaction flux at the reacting interface. In this example, the growth
reaction flux is identical to the diffusion flux at the reacting interface. In addition, the sign of
the growth reaction flux is the opposite of the sign of the diffusion flux.

Finally, it is necessary to specify the ambient in a gas flow (see gas_flow on page 901) and use
it with the diffusion command or specify it directly in the diffusion command in order
for the reaction to occur. For example:
gas_flow name=gxflw partial_pressure = { GX = 1.0 }
diffuse time=100 temp=1000 gas_flow = gxflw

Sentaurus Process User Guide 585


H-2013.03
6: Alagator Scripting Language
Alagator for Generic Growth

or:
diffuse time=100 temp=1000 GX

will both switch on reactions involving the ambient GX and will set the partial pressure of GX
to 1. Using the gas_flow command is more flexible in that the partial pressure can be set to
any value (not just 1.0) or the partial pressure can be computed from gas flows and gas
reactions.

Epi Reactions
This is an example of using the reaction command to create a new epitaxial growth mode:
ambient name=MyEpi epi add
# Now, create the new temporary material to be used during epi growth
# the name <Ambient>On<Material> is not necessary, it is just
# the same convention as used internally
mater name=MyEpiOnNitride add
reaction name= MyEpiOnNiReact mat.l=Nitride mat.r=Gas [Link]=MyEpiOnNitride \
[Link]=MyEpi [Link]=PolySilicon [Link]=PolySilicon

In this example, there is an additional parameter [Link], which is the final name of the
epi material. There is a conversion from [Link] to [Link] at the end of the diffuse
command. For details on how to set up epi reactions and growth rates, see Epitaxy Growth
Rate: GrowthRateProc on page 593.

The model can be enhanced by adding the model parameters to the PDB. This allows other
users to change the values in the equations by accessing the properties directly. The following
changes make the equations dependent on the stored value in the database:
pdbSetDouble TEOS GX Dstar "\[Arrhenius 0.2 1.86\]"
pdbSetDouble Gas_TEOS GX Cstar "1e17"
pdbSetDouble Silicon_TEOS GX Kfd "5e-2"
pdbSetDouble Silicon_TEOS GX Kfg "5e-2"

set diff [pdbDelayDouble TEOS GX Dstar]


pdbSetString TEOS GX Equation "ddt(GX)- $diff * grad(GX)"

set GXStar [pdbDelayDouble Gas_TEOS GX Cstar]


pdbSetString Gas_TEOS GX Equation_TEOS "-(GX_TEOS - $GXStar)"

set GKfd [pdbDelayDouble Silicon_TEOS GX Kfd]


pdbSetString Silicon_TEOS GX Equation_TEOS "-$GKfd*(GX_TEOS)"

set GKfg [pdbDelayDouble Silicon_TEOS GX Kfg]


pdbSetString Silicon_TEOS GX GrowthReaction " $GKfg*(GX_TEOS)"

586 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Generic Growth

The first lines set the diffusivity, equilibrium value of GX, and forward reaction rates for the
diffusion and growth fluxes in the database. This can be made permanent by directly editing
the hierarchy files. The pdbDelayDouble command is used to return the expression stored in
the database. This is necessary so that the evaluation of the expression does not occur until the
diffuse command is executed. Now, the equation depends on the database entry.

It is possible to use terms with the generic growth equations. For example:
pdbSetDouble TEOS GX Dstar "\[Arrhenius 0.2 1.86\]"
pdbSetDouble Gas_TEOS GX Cstar "1e17"
pdbSetDouble Silicon_TEOS GX Kfd "5e-2"
pdbSetDouble Silicon_TEOS GX Kfg "5e-2"

set diff [pdbDelayDouble TEOS GX Dstar]


pdbSetString TEOS GX Equation "ddt(GX)- $diff * grad(GX)"

set GXStar [pdbDelayDouble Gas_TEOS GX Cstar]


pdbSetString Gas_TEOS GX Equation_TEOS "-(GX_TEOS - $GXStar)"
term name = Reaction TEOS eqn = "GX"

set GKfd [pdbDelayDouble Silicon_TEOS GX Kfd]


pdbSetString Silicon_TEOS GX Equation_TEOS "-$GKfd*(Reaction_TEOS)"

set GKfg [pdbDelayDouble Silicon_TEOS GX Kfg]


pdbSetString Silicon_TEOS GX GrowthReaction "$GKfg*(Reaction_TEOS)"

a term called Reaction is created in TEOS. Note that the term also takes the _TEOS option to
indicate that the value of Reaction will be taken from the TEOS side.

The velocities regarding the growth reaction flux are calculated internally as follows:
Beta
υ Growth = --------------------------------------------------------------------------------- F Growth (817)
[Link] * [Link]

where F Growth is the growth reaction flux defined using the pdbSetString command and
GrowthReaction keyword as previously explained. Beta is the stoichiometry of the growing
material, [Link] is the conversion ratio from consumed material to the growing
material, and [Link] is the density of the growing material. The default values for
22
Beta, [Link], and [Link] are 1, 2.2, and 2.2 ×10 , respectively. They
can be changed by using the following commands:
pdbSetDouble <interface material> <ambient> Beta <n>
pdbSetDouble <interface material> <ambient> [Link] <n>
pdbSetDouble <interface material> <ambient> [Link] <n>

Sentaurus Process User Guide 587


H-2013.03
6: Alagator Scripting Language
Alagator for Generic Growth

For example, for the above example, you can change these values with the following
commands:
pdbSetDouble Silicon_TEOS GX Beta 1.1
pdbSetDouble Silicon_TEOS GX [Link] 2.0
pdbSetDouble Silicon_TEOS GX [Link] 3e22

If [Link] is set to 0, the material will dissolve but the new material will not form.
(For example, silicon will dissolve but no TEOS will form. This is useful for silicidation.)

Callback Procedures
Callbacks allow additional ‘intelligence’ to be built into the equations by allowing procedures
to be called at run-time. These procedures build the equation strings according to user-specified
options. By selecting model switches, the user can choose between different physical models
to be represented in the equation strings. Having callback procedures that use a material name
and a solution name as arguments, the same type of equation can be built for several materials,
dopants, and defect species. In Sentaurus Process, all frequently used equations are built-in
callback procedures.

There are six callback procedure–related keywords in Alagator: InitProc, InitSolve,


EquationInitProc, EquationProc, InitGrowth, and EquationGrowthProc.
InitProc, EquationInitProc, InitSolve, and EquationProc are used to define
generic diffusion equations (see Alagator for Diffusion on page 563). In this section, the
procedures specified by the keywords InitGrowth and EquationGrowthProc are
explained:
■ InitGrowth provides the Tcl callback procedure name that is usually used to reset or
delete existing pdb equations or terms at the beginning of a diffusion simulation.
■ EquationGrowthProc provides the Tcl callback procedure name that sets up equations
for material growth.

The Tcl callback procedures are called at various stages during the execution of the diffuse
command. In addition to the callback procedures, Sentaurus Process calls the
diffPreProcess Tcl procedure before executing the diffuse command, and the
diffPostProcess Tcl procedure after executing the diffuse command (see Ion
Implantation to Diffusion on page 340).

Figure 86 on page 589 shows the flowchart of the execution of a diffuse statement by
Sentaurus Process, including generic material growth. The sections regarding diffusion are
represented on a smaller scale and are shown in Figure 84 on page 572.

588 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Generic Growth

diffuse

growthPreProcess

For each: reactant solution and material

InitGrowth callback procedure

Next

For each: reactant solution and material

EquationGrowthProc callback procedure

Next

Solve generic
growth equations

diffPreProcess
For each: solution and material

InitSolve callback procedure:

Next
For each: marked solution and material

EquationInitProc callback procedure

Next
Solve initialization
equations

InitPostProcess Diffusion process


For each: solution and material

InitProc callback procedure

Next
For each: solution and material

EquationProc callback procedure

Next
Solve diffusion
equations

diffPostProcess

Figure 86 Flowchart with calls to the callback procedures during execution of diffuse
command

Sentaurus Process User Guide 589


H-2013.03
6: Alagator Scripting Language
Alagator for Generic Growth

Setup Procedure: InitGrowth

The procedures specified by the keyword InitGrowth are used to clean up the equation
strings and terms. The keyword determines the callback procedure name to be called by
Sentaurus Process. For example, the first command below:
pdbSetString TEOS GX InitGrowth ResetEquations

proc ResetEquations { Mat Sol } {


LogFile "This callback procedure unsets $Sol equation in $Mat."
pdbUnSetString $Mat $Sol Equation
}

defines the ResetEquations procedure as the callback procedure of the solution variable GX
in silicon. The callback procedure itself takes two arguments: a material name and a solution
name. In this example, Sentaurus Process will call the ResetEquations procedure with two
arguments. The first argument Mat will be TEOS and the second argument Sol will be GX. The
argument names Sol and Mat are arbitrary, and they can be any valid Tcl variable, but the first
argument is always the material name and the second argument is always the solution name.

The above procedure ResetEquations will print the message ‘This callback
procedure unsets GX equation in TEOS.’ and will remove the pdb equation for GX
in TEOS if it was defined. Note that neither the solution name GX nor the material name TEOS
is used in the ResetEquations callback procedure. Therefore, the callback procedure is a
generic procedure. The example can be extended with the following commands:
pdbSetString TEOS GX InitGrowth ResetEquations
pdbSetString Gas_TEOS GX InitGrowth ResetEquations
pdbSetString Silicon_TEOS GX InitGrowth ResetEquations

In this case, the same callback procedure, ResetEquations, is used for the solution variables
GX inside TEOS, and at the Gas_TEOS and Silicon_TEOS interfaces. Sentaurus Process will
print the following messages:
This callback procedure resets GX equation in TEOS.
This callback procedure resets GX equation in Gas_TEOS.
This callback procedure resets GX equation in Silicon_TEOS.

Since the interface equations can be written for the interface material itself or the neighboring
materials, all of them must be unset including the growth reaction equation. In this case, you
can write a special Tcl procedure for the interfaces as follows:
proc ResetInterfaceEquations {Mat Sol} {
set mater1 [FirstMat $Mat]
set mater2 [SecondMat $Mat]

590 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Generic Growth

pdbUnSetString $Mat $Sol Equation


LogFile "This callback procedure resets $Sol equation in $Mat."

pdbUnSetString $Mat $Sol Equation_$mater1


LogFile "This callback procedure resets $Sol equation in $Mat on $mater1 \
side."

pdbUnSetString $Mat $Sol Equation_$mater2


LogFile "This callback procedure resets $Sol equation in $Mat on $mater2 \
side."

pdbUnSetString $Mat $Sol GrowthReaction


LogFile "This callback procedure resets $Sol growth reaction equation in \
$Mat."
}

pdbSetString Gas_TEOS GX InitGrowth ResetInterfaceEquations


pdbSetString Silicon_TEOS GX InitGrowth ResetInterfaceEquations

The callback procedure, ResetInterfaceEquations, is similar to the ResetEquations


procedure. The commands FirstMat and SecondMat used in the procedure return the names
of the neighboring materials (for example, Gas and TEOS for Gas_TEOS). Then, the equations
set for either side of the interface or the interface are unset including the generic growth
reaction equation. This special procedure is called for GX at the Gas_TEOS and
Silicon_TEOS interfaces. Sentaurus Process will print the following messages:
This callback procedure resets GX equation in TEOS.
This callback procedure resets GX equation in Gas_TEOS.
This callback procedure resets GX equation in Gas_TEOS on Gas side.
This callback procedure resets GX equation in Gas_TEOS on TEOS side.
This callback procedure resets GX growth reaction equation in Gas_TEOS.
This callback procedure resets GX equation in Silicon_TEOS.
This callback procedure resets GX equation in Silicon_TEOS on Silicon side.
This callback procedure resets GX equation in Silicon_TEOS on TEOS side.
This callback procedure resets GX growth reaction equation in Silicon_TEOS.

Equation Procedure: EquationGrowthProc

The primary responsibility of the equation procedure is to construct the equation string for
material growth reaction. It uses the keyword EquationGrowthProc in the parameter
database. The keyword specifies the name of the callback procedure to be called by Sentaurus
Process.

Sentaurus Process User Guide 591


H-2013.03
6: Alagator Scripting Language
Alagator for Generic Growth

For example, the first command below:


pdbSetString TEOS GX EquationGrowthProc SetEquations

proc SetEquations { Mat Sol } {


LogFile "This callback procedure sets $Sol equation in $Mat."
set diff [pdbDelayDouble $Mat $Sol Dstar]
pdbSetString $Mat $Sol Equation "ddt($Sol) -$diff * grad($Sol)"
}

has the effect that, according to the flowchart presented in Figure 86 on page 589, Sentaurus
Process calls the procedure SetEquations with the arguments TEOS and GX.

The SetEquations procedure is called every time the solutions are checked during the
reaction. The procedure above will print the message ‘This callback procedure sets
GX equation in TEOS.’ and will set the pdb equation for GX in TEOS. Note that neither the
solution name GX nor the material name TEOS is used in the SetEquations callback
procedure. Therefore, the callback procedure is a generic procedure. The equation setting is
similar to the one explained in Basics on page 564. The only difference is that instead of using
a solution name and a material name, only Tcl variables are used. Since the interface equations
settings are different, this example can be extended with the following commands:
pdbSetString Gas_TEOS GX EquationProc SetInterfaceEquations
pdbSetString Silicon_TEOS GX EquationProc SetInterfaceEquations

proc SetInterfaceEquations { Mat Sol } {

set mater1 [FirstMat $Mat]


set mater2 [SecondMat $Mat]

if { [pdbIsAvailable $Mat $Sol Cstar] } {


set GXStar [pdbDelayDouble $Mat $Sol Cstar]
pdbSetString $Mat $Sol Equation_$mater2 "-(${Sol}_$mater2 - $GXStar)"
LogFile "This callback procedure sets $Sol equation in $Mat on $mater2 \
side."
} else {
set GKfd [pdbDelayDouble $Mat $Sol Kfd]
pdbSetString $Mat $Sol Equation_$mater2 "-$GKfd*(${Sol}_$mater2)"
LogFile "This callback procedure sets $Sol equation in $Mat on $mater2 \
side."

set GKfg [pdbDelayDouble $Mat $Sol Kfg]


pdbSetString $Mat $Sol GrowthReaction " $GKfg*(${Sol}_$mater2)"
LogFile "This callback procedure sets $Sol growth reaction equation in \
$Mat."
}
}

592 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Generic Growth

Here, the same callback procedure, SetInterfaceEquations, is used to set up the interface
equations on both the Gas_TEOS and Silicon_TEOS interfaces. The commands FirstMat
and SecondMat used in the procedure return the names of the neighboring materials (for
example, Gas and TEOS for Gas_TEOS). The command pdbIsAvailable returns true (1) if
the Cstar value is entered to the parameter database for the given solution name and material.
In this example, it will return true for the Gas_TEOS interface and false for the Silicon_TEOS
interface. Using this information and the ‘if-else’ statement, the equations can be set for the
Gas_TEOS and Silicon_TEOS interfaces. Now, the diffusivities, reaction rates, and
equilibrium values depend on the database entries.

Epitaxy Growth Rate: GrowthRateProc

The GrowthRateProc callback procedure can be used to set the GrowthReaction pdb
variable during epitaxial growth. The requirements are similar to EquationGrowthProc,
except that there can be a different GrowthRateProc for each epitaxial ambient. For example:
proc mygrproc { Mat Amb } {
pdbSetString $Mat $Amb GrowthReaction \
"([simDelayDouble Diffuse EpiThick]- \
[pdbDelayDouble $Mat $Amb NativeOffset])/ \
[simDelayDouble Diffuse AnnealStepTime]"
}

pdbSet Gas_LTEOnOxide LTE GrowthRateProc mygrproc

This example demonstrates a number of simulation status values that are available to the
GrowthRateProc implementer. The quantity simDelayDouble Diffuse EpiThick is
the value of the thick parameter set in the diffuse or temp_ramp commands. The quantity
pdbDelayDouble $Mat $Amb NativeOffset is set to the native layer thickness if a native
layer was deposited; otherwise, it is 0. Finally, simDelayDouble Diffuse
AnnealStepTime is the total time of the current temp_ramp segment or diffuse time.

If a new material is being deposited that is not a standard Sentaurus Process epi material, the
following parameters should be set:
pdbSetDouble <[Link]>_Gas <[Link]> [Link] 1.0
pdbSetDouble <[Link]>_Gas <[Link]> [Link] 1.0

where <[Link]> is the name of the new material being grown and <[Link]> is the
name of the ambient triggering the growth of <[Link]>.

The growthPreProcess Procedure

The execution of every diffuse command starts with a call to the growthPreProcess Tcl
procedure. The growthPreProcess Tcl procedure is used to initialize various reaction-
related data fields or to preprocess the existing data fields.

Sentaurus Process User Guide 593


H-2013.03
6: Alagator Scripting Language
Alagator for Generic Growth

To enforce additional actions to be performed upon generic growth preprocessing, it is not


necessary to overwrite the default implementation of the procedure growthPreProcess.
Instead, to preserve the default initialization of data fields, it is recommended to redefine the
procedure UserGrowthPreProcess. By default, UserGrowthPreProcess is an empty
procedure and is called from the procedure growthPreProcess as one of the last commands.

Generic Growth Summary: pdb, TclLib,


[Link]
So far, it has been shown how to set up reaction equations and fluxes. The complete example
can be divided into three major parts. The first part consists of pdb entries as follows:
pdbSetDouble TEOS GX Dstar "\[Arrhenius 0.2 1.86\]"
pdbSetDouble Gas_TEOS GX Cstar "1e17"
pdbSetDouble Silicon_TEOS GX Kfd "5e-2"
pdbSetDouble Silicon_TEOS GX Kfg "5e-2"

This part corresponds to the parameter database (see Parameter Database on page 53). All
default Sentaurus Process model parameters are stored in the parameter database. The second
part is the definition of reaction variable names, material names, and callback procedure
names:
mater add name=TEOS
reaction name=TEOSreaction mat.l=Silicon mat.r=Gas [Link]=TEOS \
[Link]=oxide [Link]=GX ambient
pdbSetString TEOS GX InitGrowth ResetEquations
pdbSetString Gas_TEOS GX InitGrowth ResetInterfaceEquations
pdbSetString Silicon_TEOS GX InitGrowth ResetInterfaceEquations
pdbSetString Gas_TEOS GX EquationGrowthProc SetInterfaceEquations
pdbSetString Silicon_TEOS GX EquationGrowthProc SetInterfaceEquations
pdbSetString TEOS GX EquationGrowthProc SetEquations

The information for the default Sentaurus Process models is stored in the TclLib directory
(see Environment Variables on page 46) in the [Link] file, which is read by
Sentaurus Process as soon as the simulation starts. The file also contains information regarding
solver types, implant directories, and material names.

The third part is the definition of diffusion/reaction models. The models are stored in the
TclLib directory (see Environment Variables on page 46):
proc ResetEquations {Mat Sol} {
LogFile "This callback procedure resets $Sol equation in $Mat."
pdbUnSetString $Mat $Sol Equation
}

594 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Alagator for Generic Growth

proc ResetInterfaceEquations { Mat Sol } {


set mater1 [FirstMat $Mat]
set mater2 [SecondMat $Mat]

pdbUnSetString $Mat $Sol Equation


LogFile "This callback procedure resets $Sol equation in $Mat."

pdbUnSetString $Mat $Sol Equation_$mater1


LogFile "This callback procedure resets $Sol equation in $Mat on $mater1 \
side."

pdbUnSetString $Mat $Sol Equation_$mater2


LogFile "This callback procedure resets $Sol equation in $Mat on $mater2 \
side."

pdbUnSetString $Mat $Sol GrowthReaction


LogFile "This callback procedure resets $Sol growth reaction equation in \
$Mat."
}

proc SetEquations { Mat Sol } {


LogFile "This callback procedure sets $Sol equation in $Mat."
set diff [pdbDelayDouble $Mat $Sol Dstar]

pdbSetString $Mat $Sol Equation "ddt($Sol) - $diff * grad($Sol)"


}

proc SetInterfaceEquations { Mat Sol } {


set mater1 [FirstMat $Mat]
set mater2 [SecondMat $Mat]

if { [pdbIsAvailable $Mat $Sol Cstar] } {


set GXStar [pdbDelayDouble $Mat GX Cstar]
pdbSetString $Mat $Sol Equation_$mater2 "-(${Sol}_$mater2 - $GXStar)"
LogFile "This callback procedure sets $Sol equation in $Mat on $mater2 \
side."
} else {
set GKfd [pdbDelayDouble $Mat $Sol Kfd]
pdbSetString $Mat $Sol Equation_$mater2 "-$GKfd*(${Sol}_$mater2)"
LogFile "This callback procedure sets $Sol equation in $Mat on $mater2 \
side."

set GKfg [pdbDelayDouble $Mat $Sol Kfg]


pdbSetString $Mat $Sol GrowthReaction " $GKfg*(${Sol}_$mater2)"
LogFile "This callback procedure sets $Sol growth reaction equation in \
$Mat."
}
}

Sentaurus Process User Guide 595


H-2013.03
6: Alagator Scripting Language
Modifying Diffusion Models

Modifying Diffusion Models


In Sentaurus Process, all equations of dopant diffusion models are constructed using callback
procedures as previously explained. If you want to add a new expression to an existing equation
or term, or to subtract a new expression from an existing equation or term, one of the following
can be used:
■ UserAddEqnTerm
■ UserSubEqnTerm
■ UserAddToTerm
■ UserSubFromTerm
■ MultiplyTerm

NOTE The UserAddEqnTerm, UserSubEqnTerm, UserAddToTerm,


UserSubFromTerm, and MultiplyTerm commands should not be
used within the callback procedures. They are designed to change
diffusion equations without using the callback procedures.

NOTE The UserAddEqnTerm, UserSubEqnTerm, UserAddToTerm,


UserSubFromTerm, and MultiplyTerm commands are not saved to
the TDR files. If the input file is split, the commands must be included
in the new input file.

UserAddEqnTerm and UserSubEqnTerm


The commands UserAddEqnTerm and UserSubEqnTerm allow you to add a new expression
to an existing solution variable equation or to subtract the new expression from an existing
solution variable equation. The commands have the format:
UserAddEqnTerm <material> <solution> <expression> <side>
UserSubEqnTerm <material> <solution> <expression> <side>

where:
■ <material> is any valid material name.
■ <solution> is any valid solution variable name.
■ <expression> is the new expression to be added to or subtracted from the solution
variable.
■ <side> is the side of the interface material where the new expression will be added or
subtracted.

596 Sentaurus Process User Guide


H-2013.03
6: Alagator Scripting Language
Modifying Diffusion Models

For example, the command:


UserAddEqnTerm Silicon Vac "{2e-15*(Vac*Vac-1e-16*CX)}"

adds the expression "{2e-15*(Vac*Vac-1e-16*CX)}" to the Vac equation in silicon during


the PDE solve. Since the equations can be set in three different ways for interfaces, you have
the option to specify the side to which the expression will be added or subtracted. For example,
the commands:
UserAddEqnTerm Oxide_Silicon CX "(CX_Oxide - CX_Silicon)" Silicon
UserSubEqnTerm Oxide_Silicon CX "(CX_Oxide - CX_Silicon)" Oxide

add the expression "(CX_Oxide - CX_Silicon)" to the Oxide_Silicon interface


equation for CX on the Silicon side, and subtract the same expression from the
Oxide_Silicon interface equation for CX on the Oxide side, respectively. If no side
information is given, the expression will be added to the Oxide_Silicon interface equation
for CX.

UserAddToTerm and UserSubFromTerm


The commands UserAddToTerm and UserSubFromTerm are used to add a new expression
to an existing term or to subtract the new expression from an existing term. The commands
have the format:
UserAddToTerm <material> <term> <expression>
UserSubFromTerm <material> <term> <expression>

where:
■ <material> is any valid material name.
■ <term> is an existing term name.
■ <expression> is the new expression to be added to or subtracted from the existing term.

For example the command:


UserAddToTerm Silicon VTotal "2*CX"

adds the expression "2*CX" to the term VTotal in silicon.

In the same way, the command:


UserSubFromTerm Silicon VTotal "2*CX"

subtracts the expression "2*CX" from the term VTotal in silicon.

Sentaurus Process User Guide 597


H-2013.03
6: Alagator Scripting Language
References

References
[1] R. E. Bank et al., “Transient Simulation of Silicon Devices and Circuits,” IEEE
Transactions on Electron Devices, vol. ED-32, no. 10, pp. 1992–2007, 1985.

598 Sentaurus Process User Guide


H-2013.03
CHAPTER 7 Advanced Calibration

This chapter provides details about the use of Advanced Calibration


in Sentaurus Process.

Overview
The Synopsys Consulting and Engineering group is working continually on improving the
simulation models and optimizing the model parameters for the latest technology. This effort
is based on long-standing experience of model calibration for customers and a comprehensive,
growing database of state-of-the-art secondary ion mass spectrometry (SIMS) profiles.

With Advanced Calibration in Sentaurus Process, you have a set of models and parameters that
have been calibrated to deep-submicron CMOS technology. With these parameters, you can
obtain accurate results for many processes in device fabrication such as ion implantation,
ultrashallow junction formation, surface dose loss, and channel and halo dopant diffusion.

The Advanced Calibration set of models and parameters is located in a single file. For the
current Sentaurus Process, it has the file name AdvCal_2013.[Link] and is located in the
directory $STROOT/tcad/$STRELEASE/lib/sprocess/TclLib/AdvCal.

The models and parameters of AdvCal_2013.[Link] are recommended for deep-submicron


CMOS and SOI technology. Other technologies, such as power devices or SiGe devices, may
require simpler or additional diffusion models, which are not yet included in the Advanced
Calibration. The models have been tested extensively in 1D simulations and have proven to be
accurate and robust.

Advanced Calibration also is available for Sentaurus Process Kinetic Monte Carlo (see
Advanced Calibration for Sentaurus Process KMC on page 553).

Sentaurus Process User Guide 599


H-2013.03
7: Advanced Calibration
Using Advanced Calibration

Using Advanced Calibration


To use Advanced Calibration in Sentaurus Process, at the beginning of the input file, insert the
line:
AdvancedCalibration

or:
AdvancedCalibration 2013.03

This will source the file $STROOT/tcad/$STRELEASE/lib/sprocess/TclLib/AdvCal/


AdvCal_2013.[Link].

You have the option to use Advanced Calibration parameters and models from previous
releases, for example:
AdvancedCalibration 2012.06

This will source the file $STROOT/tcad/$STRELEASE/lib/sprocess/TclLib/AdvCal/


AdvCal_2012.[Link].

Additional Calibration by Users


Advanced Calibration is based on the assumption that all parameters that are not changed in
the parameter files are the Sentaurus Process default parameters. To use the Advanced
Calibration file AdvCal_2013.[Link], it must be sourced before the real process
description.

For deep-submicron process simulation, Advanced Calibration is usually a good starting point.
You can further increase the accuracy of a certain technology by additional fine-tuning of a few
physical parameters. This should only be performed by experienced users with a good
understanding of the diffusion models and callback procedures of Sentaurus Process.

The best way to perform this is to put all additional calibration in a user calibration file, for
example, user_calibration.fps. This file includes all project-specific changes of
physical parameters or callback procedures with respect to Advanced Calibration.

In the process simulation file, at the beginning of the process simulation, insert the lines:
AdvancedCalibration 2013.03
source ./user_calibration.fps

600 Sentaurus Process User Guide


H-2013.03
7: Advanced Calibration
Additional Calibration by Users

This method has two distinct advantages:


■ There is a clear separation between the process flow, which is contained in the Sentaurus
Process input file, and the selection of physical models and parameters. During calibration
of Sentaurus Process for a specific technology, you can first set up the process flow in the
input file of Sentaurus Process and then improve the accuracy of the process simulation by
making changes only in their parameter file. Conversely, if you want to apply the same
models and parameters to a different process, it is only necessary to change the file
containing the process flow.
■ The Advanced Calibration file is used as a starting point. The user calibration file (for
example, user_calibration.fps) is usually very short and clear, in particular, for
CMOS technology. You can see all parameter changes with respect to the original
Advanced Calibration at a glance.

NOTE For detailed documentation of the contents and physical models


included in Advanced Calibration as well as a discussion of its accuracy
and limitations, refer to the Advanced Calibration for Process
Simulation User Guide.

Sentaurus Process User Guide 601


H-2013.03
7: Advanced Calibration
Additional Calibration by Users

602 Sentaurus Process User Guide


H-2013.03
CHAPTER 8 Oxidation and Silicidation

This chapter describes the oxidation models available in Sentaurus


Process.

Oxidation
Sentaurus Process can simulate the thermal oxidation of silicon. Due to the conversion ratio
from Si to SiO2 being greater than one, new ‘volume’ is generated, which, in turn, leads to the
motion of materials and mechanical stress in the structure. The oxidation process has three
steps:
■ Diffusion of oxidants (H2O, O2) from the gas–oxide interface through the existing oxide to
the silicon–oxide interface.
■ Reaction of the oxidant with silicon to form new oxide1.
■ Motion of materials due to the volume expansion, which is caused by the reaction between
silicon and oxide.

The oxidant diffusion equation is solved using the generic partial differential equation (PDE)
solver of Sentaurus Process. For the simulation of thermal oxidation, there are two
requirements:
■ The silicon or polysilicon region is in contact with gas or an oxide region, which, in turn,
is in contact with gas.
■ The diffuse command specifies a reactive atmosphere.

If silicon or polysilicon is in contact with gas at the beginning of a thermal oxidation, an initial
oxide layer is created automatically. The default thickness of this layer is 1.5 nm. The value of
the initial oxide thickness is specified in the parameter database by:
pdbSet Grid NativeLayerThickness 1.5e-7

which controls the native layer thickness for oxidation and silicidation. There are several ways
to specify a reactive atmosphere. Furthermore, temperature can vary during oxidation, and the
ambient can contain contributions from different oxidants. The following sections describe
how to handle these cases using Sentaurus Process.

It is important to note that oxidation occurs in conjunction with mechanics. The details of the
mechanical equations, boundary conditions, and material models are given in the next chapter.

1. In this chapter, oxide refers to SiO2.

Sentaurus Process User Guide 603


H-2013.03
8: Oxidation and Silicidation
Oxidation

Basic Oxidation
The diffuse command is used to specify two reactive ambients for oxidation, either H2O or
O2. The oxidation temperature and time must be given. For example, a command for a simple
oxidation using wet ambient temperature at 1000°C for 10 minutes is:
diffuse temperature=1000<C> time=10<min> H2O

A simple temperature ramp can be specified directly in the diffuse command by the keyword
ramprate. This keyword sets the change in the temperature over time:
diffuse temperature=1000<C> time=10<min> O2 ramprate=10<C/min>

This example describes a dry oxidation of 10 minutes, starting at 1000°C and ending at
1100°C .

NOTE The value of ramprate can be negative if the temperature is required


to decrease.

Temperature Cycles
The second example given in Basic Oxidation also can be specified by using the temp_ramp
command, for example:
temp_ramp name=MyTempRamp temperature=1000 time=10 O2 ramprate=10<C/min>
diffuse temp_ramp=MyTempRamp

The first line creates a temperature ramp with given conditions, and the second line specifies a
diffusion referring to this temperature ramp.

To describe more complex temperature cycles within one diffuse command, multiple
instances of the temp_ramp command can be used. A temperature ramp can consist of several
segments and, for each segment, one temp_ramp command is required. In addition, segments
can be grouped by using the same name for each segment. For example, a ramp-up, plateau,
and ramp-down can be specified as:
temp_ramp name=MyCycle temperature=1000<C> time=5<min> H2O ramprate=20<C/min>
temp_ramp name=MyCycle temperature=1100<C> time=10<min> O2
temp_ramp name=MyCycle temperature=1100<C> time=10<min> ramprate=-10<C/min>
diffuse temp_ramp=MyCycle

604 Sentaurus Process User Guide


H-2013.03
8: Oxidation and Silicidation
Oxidation

If you want to set the minimum and maximum reaction/oxidation time steps in minutes
globally, for all diffusion commands, the following commands can be used:
pdbSet Diffuse MinGrowthStep <n>
pdbSet Diffuse MaxGrowthStep <n>

See Parameter Database on page 53 for other diffusion-related parameters.

Ambients and Gas Flows


Sentaurus Process has a flexible scheme for dealing with gas flows. By default, several
ambients are available, and you can also create additional ones for new reactions (see reaction
on page 1038). Table 63 lists the ambients that are available by default.

Table 63 Available ambients


Ambient name Ambient type Reactions

O2 react Oxidation

H2O react Oxidation

HCl inert Gas reactions only

N2 inert None

H2 inert Gas reactions only

N2O react Oxynitridation

Epi epi Standard epitaxy

LTE epi Low-temperature epitaxy

The react and inert ambients can be specified in any combination using the gas_flow
command. The inert ambients are inert in the sense that they do not switch on material
reactions. However, inert ambients can be used in gas flows to change the partial pressure of
react ambients through gas reactions or just taking part of the total pressure as is the case with
N2, for example. As the name implies, react ambients cause material reactions to occur, such
as oxidation. The epi-type ambients trigger epitaxial growth and should not be used with any
other ambient.

To specify an ambient is present and to set the partial pressure to 1.0 * total pressure, use the
shorthand parameter name <ambient name> in the diffuse or gas_flow command. The
parameter pressure sets the total pressure and also is available on the diffuse or gas_flow
command line. The default for total pressure is 1 atm. Only one ambient should be specified
using the shorthand parameter <ambient name>. For epitaxy, specify the appropriate ambient
by name.

Sentaurus Process User Guide 605


H-2013.03
8: Oxidation and Silicidation
Oxidation

Specifying Gas Flows

The gas_flow command is used to specify a mixed gas flow by specifying directly either the
partial pressures of the gas components or the flow <volume/time>. When a gas_flow is
specified, it can be referred to from the temp_ramp and diffuse commands.

The gases present during diffusion can either be specified as partial pressures or using gas
flows. When using flow specifications, the partial pressure is computed from gas reactions, the
presence of inert gases, and the total pressure. Alternatively, the partial pressure can be
specified directly. The partial pressure can be set with either the p<ambient name>
parameters or the [Link] parameter of the gas_flow command:
gas_flow name=MyGasFlow pH2O=0.5 pO2=0.5

or:
gas_flow name=MyGasFlow [Link] = {H2O=0.5 O2=0.5}

Specifying directly in the diffuse command is also possible, for example:


diffuse pH2O=0.5 pO2=0.5 temperature=1000 time=10<min>

Instead of specifying partial pressures directly, the gas components can be given in terms of
flows using flow<ambient name> or the flows parameter, for example:
gas_flow name=MyGasFlow flowH2O=0.5 flowO2=0.5 flowH2=0.2 flowN2=1.0

or:
gas_flow name=MyGasFlow flows = {H2O=0.5 O2=0.5 H2=0.2 N2=1.0}

If flows are specified, Sentaurus Process calculates the partial pressures of the components
assuming a complete reaction of the gases. Because the only effect of inert ambients in
Sentaurus Process is to change the partial pressure of reacting ambients, inert ambients should
only be set using flows in the gas_flow command.

To invoke the gas flow specification as given above, use:


temp_ramp name=MyTempRamp temperature=1000<C> time=10<min> gas_flow=MyGasFlow
diffuse temp_ramp=MyTempRamp

or:
diffuse temperature=1000<C> time=10<min> gas_flow=MyGasFlow

606 Sentaurus Process User Guide


H-2013.03
8: Oxidation and Silicidation
Oxidation

Computing Partial Pressures

Given a flow of O2 in addition to a flow of H2 or HCl for example, a chemical reaction between
the components is taken into account: O2 is reduced and H2O increases. A complete
stoichiometric reaction is assumed. The final flows1 after the reaction are computed in the
AmbientReactions procedure as shown in Eq. 818.

If flowO2 init > 0.5 ⋅ flowH2 init :


flowO2 final = flowO2 init – 0.5 ⋅ flowH2 init

flowH2O final = flowH2O init + flowH2 init (818)


flowH2 final = 0

else:
flowO2 final = 0

flowH2O final = flowH2O init + 2 ⋅ flowO2 init (819)


flowH2 final = flowH2 init – 2 ⋅ flowO2 init

In the case where not all of the H2 is consumed by the reaction, a warning is displayed. If a
contribution of HCl is given, the equations read as follows.

If flowO2 init > flowHCl init :


flowO2 final = flowO2 init – 0.5 ⋅ flowHCl init

flowH2O final = flowH2O init + flowHCl init (820)


flowH2 final = 0

else:
flowO2 final = 0

flowH2O final = flowH2O init + 2 ⋅ flowO2 init (821)


flowHCl final = flowHCl init – flowO2 init

1. The index init refers to the initial flows specified by users in the gas_flow command, and final describes the
flow after the chemical reaction.

Sentaurus Process User Guide 607


H-2013.03
8: Oxidation and Silicidation
Oxidation

The final flows are used internally to compute the partial pressure of each component. Partial
pressures are the relevant quantity for the subsequent simulation. These are computed as:
flow Comp
p Comp = pressure ⋅ --------------------------------------------
final
- (822)
 flow Comp
final
Comp

where Comp holds for a certain component of the gas mixture and pressure is the total
pressure.

In Situ Steam-generated Oxidation

Switching on the in situ steam-generated (ISSG) Boolean parameter in the gas_flow


command specifies that the gas flow condition is to be recognized for the ISSG oxidation (see
In Situ Steam-generated Oxidation on page 618). For example:
gas_flow name=ISSGflow pressure=12<torr> flowH2=6 flowO2=12 ISSG

Oxidant Diffusion and Reaction


For the rigorous simulation of the oxidation process, the dissolution of the oxidant species at
the gas–oxide interface, the transport through the existing or already grown oxide, and the
consumption at the oxide–silicon interface have to be simulated. The dissolution and
consumption are modeled by boundary conditions; for the oxidant transport, a diffusion
equation is solved in the oxide layer.

The oxidant species H2O, O2, and N2O are defined in the [Link] file (see Default
Simulator Settings: [Link] File on page 51) using the reaction command (see
reaction on page 1038):
reaction name=dryoxSi mat.l=Silicon mat.r=Gas [Link]=oxide \
[Link]=O2 [Link]=O2
reaction name=wetoxSi mat.l=Silicon mat.r=Gas [Link]=oxide \
[Link]=H2O [Link]=H2O
reaction name=n2ooxSi mat.l=Silicon mat.r=Gas [Link]=oxide
[Link]=N2O [Link]=N2O

For mixed oxidant flows, for each species, one diffusion–reaction system is solved. For each
3
oxidant, one dataset is allocated: H2O or O2 or N2O [ 1/cm ].

Growth reaction fluxes at the reacting interfaces are defined using the Alagator scripting
language (see Alagator for Generic Growth on page 584). These fluxes are divided internally
by the particle density of oxide in order to obtain the growth velocities. Manipulation of these

608 Sentaurus Process User Guide


H-2013.03
8: Oxidation and Silicidation
Oxidation

fluxes is essential for the implementation of empirical growth models, such as the Massoud
model, which is not yet covered by a diffusion equation.

In the case of a mixed gas flow, the contributions of both fluxes are summed. At the reaction
front, the following reactions are assumed:
Si + O 2 → SiO 2
(823)
Si + 2H 2 O → SiO 2 + 2H 2

The conversion from Si to SiO2 leads to a volume increase of 125%, which leads to motion and
mechanical stresses in the compound.

The oxidant diffusion described by Fick’s law leads to the diffusion equation:

∂c
+ ∇j = 0, where j = – D ∇c (824)
∂t

where D is the diffusivity of the oxidant and j is the particle flux. The flux of oxidants in the
normal direction to the surface, going from the gas region to the oxide, is given by:

j = h ⋅ ( c* – c ) (825)

where h is the mass transfer coefficient and c * is the solid solubility of the oxidant. If h is
sufficiently large, the concentration of oxidant at the gas–oxide interface is approximately
equal to the solid solubility.

The coefficient h is defined in the parameter database as MassTransfer and can be set using
the commands:
pdbSet Gas_Oxide O2 MassTransfer <n>
pdbSet Gas_Oxide H2O MassTransfer <n>
pdbSet Gas_Oxide N2O MassTransfer <n>

The solid solubility c * is a function of the pressure:

c * = p Comp ⋅ c*ref (826)


c Lw
–  --------
 kT 
*
where c ref = c L0 e is the reference solid solubility.

Its value can be set using the following commands:


pdbSet Oxide O2|H2O|N2O CL0 <n>
pdbSet Oxide O2|H2O|N2O CLW <n>

where the symbol | stands for the logical or.

Sentaurus Process User Guide 609


H-2013.03
8: Oxidation and Silicidation
Oxidation

The flux caused by the chemical reaction at the oxidation front is described by:
j = β kcsi (827)

The stoichiometry coefficient β is 1 for O2 and 2 for H2O, k is the chemical reaction rate, and
c si is the particle density at the oxide–silicon interface. The reaction rate and diffusivity are
computed from the linear and parabolic rate constants used in the Deal–Grove model.

Transition to Linear and Parabolic Rate Constants

Assuming the stationary state in Eq. 824, the growth rate in the 1D case can be described by
the Deal–Grove model:
dx ox B
----------- = --------------------- (828)
dt 2x ox + A

where x ox describes the thickness of the 1D oxide layer. This equation can be solved
analytically. The parabolic rate constant is given by B and the linear rate constant is given by
B/A. A deeper analysis reveals relations between the parabolic rate and diffusivity, and the
linear rate and reaction rate. Assuming h » k :
βBc ox
D = ---------------
2c *
(829)
c ox  B
k ≈ ------- ---
c *  A

where C ox is the equivalent oxygen concentration in oxide, for example, it is equal to the
concentration of H2O and one half (1/2) the concentration of O2. Both the parabolic rate and
linear rate are functions of pressure and temperature. For the temperature dependency, two
Arrhenius functions, for a low-temperature and high-temperature regime, are available:

  BW.h , if T > [Link]


 B0.h ⋅ exp  – ------------
kB T 

B(T) =  (830)
 B0.l ⋅ exp  – BW.l
------------ , else
  kB T 

Taking pressure dependence into account, B reads:


[Link]/[bar]
B = B ( p, T ) = B ( T )p Comp (831)

The parameters B0.h, BW.h, B0.l, BW.l, [Link], and [Link] can be found in the
parameter database in Oxide H2O | O2 | N2O.

610 Sentaurus Process User Guide


H-2013.03
8: Oxidation and Silicidation
Oxidation

An equivalent set of equations is solved for the linear rate B/A:

  BAW.h- , if T > [Link]


 BA0.h ⋅ exp  – ---------------
kB T 
B 
--- ( T ) =  (832)
A  BA0.l ⋅ exp  – ---------------
BAW.l
  k B T - , else

with the corresponding set of parameters, BA0.h, BAW.h, BA0.l, BAW.l, [Link], and
[Link]. These can be found in the parameter database:
Oxide_Silicon H2O | O2 |N2O 100 | 110 | 100
Oxide_PolySilicon H2O | O2 |N2O 100 | 110 | 100

and can be set using the pdbSet command (for example, pdbSet O2 110 BA0.h <n> or
pdbSet H2O 100 [Link] <n>).

Parameters defining the diffusivity and parabolic rate constant are bulk properties and,
therefore, are defined in oxide. Parameters defining the reaction rate and linear rate constants
are interface properties and, therefore, are defined on interfaces. This data can also depend on
the crystal orientation when crystalline materials are involved.

Massoud Model

The Massoud model is an empirical model that describes an enhanced growth rate in the initial
regime of the oxidation. The model can be seen as an extension of the Deal–Grove model and
is in good agreement with measurement. Sentaurus Process uses a slightly different form of the
originally suggested model:
dxox x ox
----------- = --------------------- + C exp  – -------
B
(833)
dt 2x ox + A L

x ox is the one-dimensional unmasked oxide thickness. To account for the enhanced growth in
the initial regime, the second term of Eq. 833 contributes to the flux (compare with Eq. 828).

Both the parameters L and C depend on the crystal orientation and temperature:

  CW.h , if T > [Link]


 C0.h ⋅ exp  – ------------
kB T 

C(T) =  (834)
 C0.l ⋅ exp  – CW.l
------------ , else
  kB T 

Sentaurus Process User Guide 611


H-2013.03
8: Oxidation and Silicidation
Oxidation

  LW.h- , if T > [Link]


 L0.h ⋅ exp  – ------------
kB T 

L(T) =  (835)
 L0.l ⋅ exp  – ------------
LW.l
- , else
  kB T 

The parameters L0.h, LW.h, L0.l, LW.l, C0.h, CW.h, C0.l, CW.1, and [Link] can be
found in the parameter database:
Oxide_Silicon O2 | H2O | N2O 100 | 110 | 111
Oxide_PolySilicon O2 | H2O | N2O 100 | 110 | 111

Orientation-dependent Oxidation

For different crystal orientations, different reaction rates can be applied. Internally, Sentaurus
Process computes the data fields Ori100, Ori110, and Ori111. If the normal vector on an
interface coincides with a certain crystal orientation, the value for this orientation is one; if it
is orthogonal, the value equals zero. Interpolation is used to compute the rates on orientations
not coinciding with the crystallographic directions.

When saving results in TDR format, these data fields are not stored; however, they can be
accessed by using the Alagator scripting language. The Tcl procedure proc
OxidantReaction creates the terms ReactionRateO2 and ReactionRateH2O:

k = k <100> Ori100 + k <110> Ori110 + k <111> Ori111 (836)

The reaction rates k <100> , k <110> , and k <111> are computed from the linear rates B/A given for
different orientations. The parameters L0 and C used in the Massoud model depend on the
crystal orientation as well.

For information about the TDR format, refer to the Sentaurus Data Explorer User Guide.

Stress-dependent Oxidation

Stress-dependent oxidation (SDO) usually refers to the coupling of the oxidant diffusivity and
reaction rate to the local stress field. To handle the stress-dependent oxidant diffusion and
stress-dependent reaction rate, two data fields are created internally. The data field Pressure
is stored by default, while NStress is not; however, both can be accessed by using the
Alagator scripting language.

The data fields Pressure and NStress are defined as:


1
Pressure = – --- ( σ xx + σ yy + σ zz ) (837)
3

612 Sentaurus Process User Guide


H-2013.03
8: Oxidation and Silicidation
Oxidation

and:

NStress = –   σ jk n j n k (838)
j k

The components of the stress tensor are given by σ jk and the normal vector at the reaction front
is given by n j . The definition of NStress is only meaningful at an interface. If:
pdbSetBoolean Oxide Oxidant SDO 1

or:
pdbSet Oxide_PolySilicon H2O | O2 | N2O SDO 1
pdbSet Oxide_Silicon H2O | O2 | N2O SDO 1

is selected, the reaction rate and diffusivity are modified in the following way:

  – NStress ⋅ Vk 
 ----------------------------------------
-
 kB T 
k ( NStress, T ) = k ( T ) ⋅ min  S max , e  (839)
 
 

and:

 --------------------------------------------- 
 – Pressure ⋅ VD
  kB T 
D ( Pressure, T ) = D ( T ) ⋅ min  S max , e  (840)
 
 

The activation volume VD, being a bulk property, is defined in Oxide O2 | H2O | N2O. The
activation volume Vk controls the impact of the normal stress at the reaction front and,
therefore, is defined on interfaces:
Oxide_Silicon | Oxide_PolySilicon O2 | H2O | N2O

For example:
pdbSet Oxide_Silicon O2 Vk <n>

To fully enable stress-dependent reaction rate, use the command:


pdbSet Diffuse SDReactionRate 1

S max is the maximum stress factor and is used to cap the exponential parts. S max is defined in
Oxide O2 | H2O | N2O as MaxStressFactor.

For example:
pdbSet Oxide O2 MaxStressFactor <n>

Sentaurus Process User Guide 613


H-2013.03
8: Oxidation and Silicidation
Oxidation

For improved numerical stability, the exponential part can be approximated by a reciprocal
function for a small exponent and a linear function for a large exponent. This option is switched
off by default and can be switched on with the following command:
pdbSet Mechanics TS4CappedExp 1

and replaces the maximum stress factor used to cap the exponential part.

Trap-dependent Oxidation

Impurities such as nitrogen and fluorine can be trapped at Oxide_Silicon interfaces during
oxidation. This will reduce the number of oxidizing sites; therefore, the oxidation rate is
reduced. To switch on the model, use the command:
pdbSet <interface material> O2 | H2O | N2O TrapDependent 1 | 0

The list of trapped impurities is given with the command:


pdbSet <interface material> O2 | H2O | N2O TrapList { Trapped impurity list }

For example, the following command switches on the trapping flux for nitrogen and fluorine:
pdbSet Oxide_Silicon O2 TrapList {Nitrogen Fluorine}

Two models are available for the trapping flux of impurities: Trap and TrapGen.

Trap Model

The trapping flux of impurities is described with the interface Trap model by ignoring the
detrapping flux. The total impurity flux at interfaces is the sum of the trapping flux into
interfaces and the two-phase segregation. This can be achieved by setting the boundary
condition to Trap (see Boundary Conditions on page 344). For example:
pdbSet Oxide_Silicon Nitrogen BoundaryCondition Trap

Since the surface reaction rate is proportional to the number of available oxidizing sites, the
rate of oxidant consumption at the oxidizing interface is given by:
σC
F = k s C oi  1 – ------------------- n i (841)
σ TCMax

where:
■ k s is the surface recombination rate.
■ C oi is the oxidant concentration at the interface.
■ σ C and σ TCMax are the impurity trapped density and the maximum trap density,
respectively.

614 Sentaurus Process User Guide


H-2013.03
8: Oxidation and Silicidation
Oxidation

The maximum trap density is orientation dependent and can be specified using the following
commands:
pdbSet <interface material> <trapped impurity> 100 CMax {<n>}
pdbSet <interface material> <trapped impurity> 110 CMax {<n>}
pdbSet <interface material> <trapped impurity> 111 CMax {<n>}

TrapGen Model

The interface TrapGen model calculates not only the trapping flux, but also the generation flux
of impurities. The generation flux by reaction due to the [Link] gas is added to the
[Link] side. For example:
pdbSet Oxide_Silicon Nitrogen BoundaryCondition TrapGen
pdbSet Oxide_Silicon Nitrogen [Link] N2O
pdbSet Oxide_Silicon Nitrogen [Link] Oxide

The generation flux in the interface TrapGen model is calculated by:


v α
F = ρv  ------------- n i (842)
 v norm

where:
■ ρ is the generation density.
■ v is the reaction velocity.
■ v norm is the normalization velocity.
■ α is the power of normalized velocity.

ρ , v norm , and α are specified with the parameters [Link], [Link], and
[Link], respectively.

Dopant-dependent Oxidation

A dopant-dependent oxidation rate is incorporated through the electron concentration


dependence as:

k  T, ----- = k ( T ) ⋅ lc
n
 n i
(843)

where:
lc = 1 + γ ( C – 1 ) (844)
V V

Sentaurus Process User Guide 615


H-2013.03
8: Oxidation and Silicidation
Oxidation

– GAMMAW
γ = GAMMA0 × exp  ------------------------------- (845)
V kT

and:

= n 2
1 + C  -----i + C  ----- + C  -----
+ n _ n
n  n i n 
i -
C = ----------------------------------------------------------------------------- (846)
V + _ =
1+C +C +C

The quantities in Eq. 846 are given by the following formulas:


+
+  E – E i
C = exp  ----------------- (847)
 kT 

_
_  Ei – E 
C = exp  ----------------- (848)
 kT 

_ =
=  2E i – E – E 
C = exp  --------------------------------- (849)
 kT 

+
E = 0.35eV (850)

_
E = E g – 0.57eV (851)

=
E = E g – 0.12eV (852)

Eg
E i = ------ + 0.75 ln ( 0.719 )kT (853)
2

–4 2
( 4.73 ×10 )T
E g = 1.17 – ------------------------------------ eV (854)
T + 636

The dependence on carrier concentration is a function of the location along the oxidizing
interface.

Dopant-dependent oxidation is off by default and can be switched on with the flag:
pdbSetBoolean Oxide_Silicon <O2|H2O> DopantDependentReaction 1

616 Sentaurus Process User Guide


H-2013.03
8: Oxidation and Silicidation
Oxidation

In Eq. 845, the quantities GAMMA0 and GAMMAW are set as follows:
pdbSetDouble Oxide_Silicon <O2|H2O> Gamma0 2360
pdbSetDouble Oxide_Silicon <O2|H2O> GammaW 1.1

The quantities E g and E i are defined as procedures called DFactorEg and DFactorEi, each
taking a single argument, which is temperature. If you want to overwrite them, use:
proc DFactorEg { temp } {
# enter the function here
}
+ 0 – = 0
Finally, Eq. 846 is implemented using the expressions for C , C , C , and C , where C is
identically equal to 1. To overwrite them, use:
pdbSetDoubleArray Oxide_Silicon <O2|H2O> \
DopantReactFactor {1 <expr 1> 0 <expr 2> -1 <expr 3> -2 <expr4>}

Diffusion Prefactors
The reactant diffusivities can be enhanced or retarded due to various new process conditions.
If a new model does not exist to simulate the observed behavior, you may want to multiply the
existing diffusivity with a prefactor. Sentaurus Process allows diffusivities to be multiplied by
user-defined factors. For example, in the case of specified O2 and H2O, these are given by:
term name=O2DiffFactor add Oxide eqn=1.0e18/(1.0*N2ox+1.0e18)
term name=H2ODiffFactor add Oxide eqn=1.0e18/(1.0*N2ox+1.0e18)

The effective diffusivity of O2 and H2O will be multiplied by O2DiffFactor and


H2ODiffFactor, respectively. In this example, the diffusivity of both reactants will be a
function of the dataset N2ox. See Chapter 6 on page 559 for the definition of terms.

Oxidation with Dielectric on Top


Thermal oxidation of silicon with a dielectric on top can be simulated in Sentaurus Process
using an Alagator generic growth script. Besides the three oxidation steps outlined at the
beginning of this chapter, there are two additional ones:
■ Diffusion of oxidants (H2O, O2) from the gas–dielectric interface through the dielectric to
the dielectric–oxide interface;
■ Diffusion of oxidants (H2O, O2) from the dielectric to oxide.

The first step involves the dissolution of the oxidant species at the gas–dielectric interface and
the oxidant transport in the bulk dielectric. The second step is modeled by the boundary
condition between the dielectric and oxide.

Sentaurus Process User Guide 617


H-2013.03
8: Oxidation and Silicidation
Oxidation

This oxidation mode can be enabled or disabled with the commands


SetDielectricOxidationMode on page 1058 and UnsetDielectricOxidationMode on page 1111.

N2O Oxidation
In N2O oxidation or oxynitridation, nitrogen is trapped at Si–SiO2 interfaces so that the number
of oxidizing sites and, in turn, the oxidation rate are reduced. N2O oxidation is performed by
specifying the N2O parameter in the diffuse statement. For the thick oxidation regime (in
other words, the Deal–Grove model), the parameters for N2O oxidation are specified similar to
O2 or H2O. However, for thin oxidation, the Massoud model is modified by multiplying the
nitrogen effect as follows:
x ox σN
r thin = C exp  – -------  1 – ------------ (855)
 L  σ max

σ max can be defined for each of the three available silicon orientations and for polysilicon by
specifying the [Link] values for the N2O ambient. For example:
pdbSet Oxide_Silicon N2O 100 [Link] {Double {[Arrhenius 1.55e14 0.0]}}
pdbSet Oxide_PolySilicon N2O 100 [Link] {Double {[Arrhenius 1.55e14 0.0]}}

In Situ Steam-generated Oxidation


The low-pressure combustion of hydrogen–oxygen mixtures is effective in producing high-
quality oxides. Combustion-like chemical reactions are initiated over the heated wafer,
producing a high density of gas-phase radicals (O– and OH–) that react rapidly with silicon.
The model for such ISSG empirically describes the oxidation by the radical O–, which
dominates the typical ISSG oxidation. When the pressure is too low, which means the
hydrogen–oxygen mixtures flow too fast, the reactant residence time is too short for chemical
activity to occur. On the other hand, when the pressure increases over some extent, the oxygen-
atom density is localized and falls off rapidly downstream of the flame so that the narrow
reaction zone prevents oxygen atoms from reaching the wafer surface. The oxygen-atom
concentration at the wafer surface is modeled by [1]:
C∗ = C max (p H2,flow) ⋅ BPD ( α, β, P max ;P ) ⋅ RRZ ( P lim ;P ) (856)

C max (p H2,flow) calculates the maximum oxygen-atom concentration depending on the partial
pressure of hydrogen and the total flow of the hydrogen–oxygen mixtures:
flow = flowH 2 + flowO 2 (857)

p H2 = flowH 2 ⁄ flow (858)

618 Sentaurus Process User Guide


H-2013.03
8: Oxidation and Silicidation
Oxidation

[Link].W
C max (p H2,flow) = C max ( p H2 ) ⋅ ( flow ⁄ 1slm ) (859)

C.H2.L.W
C max ( p H2 ) = C.H2.L.0 ⋅ min ( [Link], p H2 ) + C.H2.H.S ⋅ max ( p H2 – [Link], 0 )
(860)

BPD ( α, β, P max ;P ) determines the profile of the oxygen-atom concentration with a given
pressure. The dependence on the pressure is modeled by the beta prime distribution (BPD) as
follows:
α–1 –α–β
Pn ( 1 + Pn )
BPD ( α, β, P max ;P ) = -------------------------------------------------------------
- (861)
α – 1 α – 1  α + β – α – β
------------ -------------
 β + 1  β + 1

α–1 P
P n = ------------ ⋅ ------------ (862)
β + 1 P max

where α and β are specified by the parameters Alpha and Beta, respectively. The pressure
at the peak oxygen-atom concentration, P max , is modeled as follows:
[Link].H2.W [Link].W
P max = [Link].H2.0 ⋅ p H2 + [Link].0 ⋅ ( flow ⁄ 1slm ) (863)

RRZ ( P lim ;P ) defines the rapid reaction zone where the oxygen atoms do not reach the silicon
surface:
1
RRZ ( Plim ;P ) = --- erfc ( [Link] ⋅ ( P – Plim ) ⁄ 1torr ) (864)
2

– [Link].W ⋅ p H2
P lim = [Link].0 +  [Link].A + [Link].B ⋅ e  ⋅ flow
(865)

The values of the parameters from Eq. 859 through Eq. 865 can be modified by:
pdbSet Oxide ISSG <parameter> <value>

The diffusivity and reaction rates of the oxygen atoms can be modified respectively by:
pdbSet Oxide ISSG D <value>
pdbSet Oxide_Silicon ISSG Ks <value>

The process conditions to invoke the ISSG oxidation are defined in the diffuse or gas_flow
commands, for example:
diffuse temp=1000 time=1 pressure=12<torr> flowH2=6 flowO2=12 ISSG

Sentaurus Process User Guide 619


H-2013.03
8: Oxidation and Silicidation
Silicide Models

Silicide Models
Sentaurus Process allows you to define models for new materials and reactions. This ability has
been used to define models for the growth of titanium, tungsten, cobalt, and nickel silicides.
The following sections describe the kinetics of TiSi2 growth, the specification of the model and
parameters, and suggestions for modeling other silicides.

TiSi2 Growth Kinetics

Gas Ti υgrow TiSi2 Si


n
CSi
n

υTiSi2 υSi
dissolve

Figure 87 Velocities in 1D silicidation process

Titanium silicide is assumed to form when silicon atoms react in the silicide with titanium at
the titanium silicide–titanium (TiSi2–Ti) interface. The dissolution of silicon and the
consumption of titanium lead to the deformation of the material layers in the structure.

NOTE While the discussion that follows describes the growth of TiSi2 on
silicon, it also applies to growth of TiSi2 on polycrystalline silicon.

The silicidation process has three main steps:


■ Dissolution of silicon and diffusion of silicon atoms from the TiSi2–silicon interface
through the existing TiSi2 to the Ti–TiSi2 interface.
■ Reaction of silicon with titanium to form new TiSi2.
■ Motion of materials due to the volume expansion, which is caused by the reaction between
diffused silicon and titanium, and also by the dissolution of silicon at the TiSi2–silicon
interface.

NOTE The name of the silicide reactant field (which represents the
concentration of silicon atoms in the silicide) is iSilicon to
distinguish it from the dopant field Silicon in III–V materials.

620 Sentaurus Process User Guide


H-2013.03
8: Oxidation and Silicidation
Silicide Models

If silicon or polysilicon is in contact with titanium at the beginning of a thermal silicidation, an


initial TiSi2 layer is created automatically as in the case of oxidation. The thickness of this layer
is, by default, 1.5 nm.

The value of the initial TiSi2 thickness is specified in the parameter database by:
pdbSet Grid NativeLayerThickness 1.5e-7

which also controls the native layer thickness for oxidation.

Sentaurus Process automatically recognizes the silicidizing interfaces and switches on the
reaction equations.

TiSi2 Formation Reactions


At the TiSi2–silicon interface, there is the reaction:
Si Si ↔ Si TiSi (866)
2

where Si Si is the silicon as a diffusing species on the silicon material side and SiTiSi2 is the
silicon as a diffusing species on the TiSi2 material side. Therefore, silicon (on the Si side of the
interface) reacts to form silicon atoms (on the TiSi2 side of the interface). The reaction is
reversible, allowing for the reformation of silicon (if silicon is released by nitridation of TiSi2,
for example):
R f ≡ K f ( C Si – C star )
(867)
R g ≡ Beta R f

R f and R g are the diffusion flux and growth reaction flux, respectively, at the TiSi2–silicon
interface. The forward rate of this reaction depends only on temperature, while the reverse rate
is also proportional to the concentration of diffusing silicon atoms in TiSi2. C Si is the
concentration of silicon in TiSi2 and C Star is the equilibrium concentration of silicon at the
TiSi2–silicon interface. Beta is the stoichiometry of the growing material whose default is 1.0.
K f is the mass transfer coefficient.

They can be changed using the following commands:


pdbSet Silicon_TiSilicide iSilicon Kf <n>
pdbSet Silicon_TiSilicide iSilicon Cstar <n>
pdbSet Silicon_TiSilicide iSilicon Beta <n>

Sentaurus Process User Guide 621


H-2013.03
8: Oxidation and Silicidation
Silicide Models

For each silicon atom removed from the silicon side of the interface, the volume of silicon is
reduced by:
Beta
ΔV = ----------------------------------- (868)
[Link]

22
where [Link] is the density of the growing material whose default value is 5 ×10 .

It can be changed by using the command:


pdbSet Silicon_TiSilicide iSilicon [Link] <n>

There is no new material formation at the TiSi2–silicon interface. Silicon dissolves at this
interface and is transported across the TiSi2 layer by simple diffusion:

∂C Si
= ∇•( D star ∇C Si ) (869)
∂t

where C Si is the concentration of silicon in TiSi2 and D star is the diffusivity of silicon in TiSi2.
The following command changes the diffusivity:
pdbSet TiSilicide iSilicon Dstar {<n>}

At the TiSi2–titanium interface, there is the reaction:


Si TiSi + 0.5Ti → 0.5TiSi 2 TiSi (870)
2 2

This reaction is assumed to be irreversible:


R f ≡ K f ( C Si – C star )
(871)
R g ≡ Beta R f

R f and R g are the diffusion flux and growth reaction flux, respectively, at the TiSi2–titanium
interface. The reaction rate is proportional to the concentration of diffusing silicon at the TiSi2
side of the interface. C Si is the concentration of silicon in TiSi2 and C star is the equilibrium
concentration of silicon at the titanium–TiSi2 interface. Beta is the stoichiometry of the
growing material whose default is 0.5. K f is the mass transfer coefficient.

To change them, use:


pdbSet TiSilicide_Titanium iSilicon Kf <n>
pdbSet TiSilicide_Titanium iSilicon Cstar <n>
pdbSet TiSilicide_Titanium iSilicon Beta <n>

622 Sentaurus Process User Guide


H-2013.03
8: Oxidation and Silicidation
Silicide Models

The volumes of titanium and TiSi2 change according to:


Beta
ΔV = --------------------------------------------------------------------------------- (872)
[Link] * [Link]

where [Link] is the conversion ratio from consumed material to the growing
material, and [Link] is the density of the growing material. The default values for
22
[Link] and [Link] are 2.42 and 2.34 ×10 , respectively. They can be
changed by using the commands:
pdbSet TiSilicide_Titanium iSilicon [Link] <n>
pdbSet TiSilicide_Titanium iSilicon [Link] <n>

Tungsten-, Cobalt-, and Nickel-Silicide Models


The tungsten-, cobalt-, and nickel-silicide models are identical in form to the titanium-silicide
model. The parameters of the models are different, however, reflecting the differences between
the materials (see [2][3] for the tungsten-silicide model and [4][5] for the cobalt-silicide
model). The names of the relevant materials are Tungsten and TungstenSilicide (WSi2),
Cobalt and CobaltSilicide (CoSi2), and Nickel and NickelSilicide (NiSi).

Stress-dependent Silicidation
The stress-dependent silicidation model is experimental, and can become unstable and produce
irregular shapes. Fundamental changes to the model are possible in future releases.

Similar to oxidation, the silicide reaction rate and the reactant diffusivity can be affected by
local stress. For the silicide reaction, the speed of the reaction is assumed to be affected by the
total stress energy, so that the stress effect is incorporated symmetrically with respect to tension
versus compression.

To switch on stress-dependent diffusion, use the command:


StressDependentSilicidation <silicide>

For Version H-2013.03, <silicide> can be set only to NickelSilicide.

When the stress-dependent silicidation model is switched on, the reaction rate given in Eq. 867
and Eq. 871 (that is, at both metal–silicide and silicon–silicide interfaces) is suppressed by the
normal stress:
abs ( NStress ) ⋅ Vk
–  --------------------------------------------------------
 kB T 
K f ( NStress, T ) = K f ( T ) e (873)

Sentaurus Process User Guide 623


H-2013.03
8: Oxidation and Silicidation
Silicide Models

Similarly, the diffusivity of the reactant iSilicon becomes pressure dependent:


abs ( Pressure ) ⋅ VD
–  ------------------------------------------------------------
 kB T 
D ( Pressure, T ) = D ( T ) e (874)

The activation volume VD is a bulk property and is defined in the silicide. The activation volume
Vk controls the impact of the normal stress at the reaction front and is defined on interfaces:
Nickel_NickelSilicide | NickelSilicide_Silicon

For example:
pdbSet Nickel_NickelSilicide iSilicon Vk <n>
pdbSet NickelSilicide iSilicon VD <n>

In addition to switching on stress dependency of the silicide reaction, the command


StressDependentSilicidation reduces the viscosity of the silicide to a point where
viscous relaxation occurs at typical silicidation temperatures (see StressDependentSilicidation
on page 1084). Similar mass relaxation effects have been proposed in the literature [6][7]. To
modify the relaxation of the silicide, use one or both of the following commands:
pdbSet NickelSilicide Mechanics Viscosity0 <n>
pdbSet NickelSilicide Mechanics ViscosityW <n>

Oxygen-retarded Silicidation
The silicidation process may be influenced by the presence of oxygen in the silicide. This
oxygen is assumed to enter the silicide at interfaces with silicon dioxide and to diffuse in the
silicide according to Fick’s law. The oxygen retards the reaction of silicon atoms at the silicide–
silicon and silicide–metal interfaces and the diffusion of silicon in the silicide; this is called
oxygen-retarded silicidation (ORS). The retardation factor is assumed to be in the form of:
ORSOxygen
R factor ≡ 1 – -------------------------------
22
- (875)
1 ×10

where ORSOxygen is the retardant solution name. The model can be switched on and off by
using the command:
pdbSet TiSi2 Silicon ORS {0 | 1}

If the model is on, R factor is multiplied by R f of Eq. 867, p. 621, D Star of Eq. 869, p. 622, and
R f of Eq. 871. You can define the retardation factors using the term command, for example:
term name=SiliconReactFactor add TiSilicide /Titanium \
eqn = "((1-ORSoxygen_TiSilicide/1e22)>0)?(1-ORSoxygen_TiSilicide/1e22):(0.0)"

624 Sentaurus Process User Guide


H-2013.03
8: Oxidation and Silicidation
Dopants and Defects in Oxides and Silicides

term name=SiliconDiffFactor add TiSilicide \


eqn = "((1-ORSoxygen/1e22)>0)?(1-ORSoxygen/1e22):(0.0)"
term name=SiliconReactFactor add Silicon /TiSilicide \
eqn = "((1-ORSoxygen_TiSilicide/1e22)>0)?(1-ORSoxygen_TiSilicide/1e22):(0.0)"

NOTE The oxygen-retarded silicidation model can cause instabilities (such as


a zigzag shape of the silicide boundary) because of a high concentration
of silicon near the oxide. Solving the silicon diffusion equation in steady
state reduces such instability. It can be switched on using the command:
pdbSet NickelSilicide Silicon Steady 1

Triple-Point Control
During silicidation, triple points where more than two materials come together (such as oxide,
silicon, silicide node) may move inadvertently due to material consumption around the node.
To control the movement, a retardation factor around the triple point is applied to the velocities.
The retardation factor is assumed to be:

2 ( 1 – 2Factor )
R = Factor + ----------------------------------- atan  ------------------------
SDistance
 Distance 
(876)
π

Factor is the suppression value at the triple point, and Distance is the rolloff length for
silicidation triple-point suppression. The distance determines how far the suppression factor
will be effective from the triple point. SDistance is the distance to the nearest node from the
triple point and is calculated internally. The other parameters can be changed using the
following commands:
pdbSet <mater> SilicidationTripleDistance {<n>}
pdbSet <mater> SilicidationTripleFactor {<n>}

where <mater> is the interface material (for example, Silicon_TiSilicide). If you want
to switch the triple-point control on or off, use the command:
pdbSet Mechanics SilicidationCorrection {1 | 0}

Dopants and Defects in Oxides and Silicides


Dopants in oxides and silicides are modeled in the same way as in other nonsemiconductor
materials. Transport within a silicide or an oxide is governed by simple diffusion (in other
words, no electric field effects). For details on segregation at material interfaces, see Boundary
Conditions on page 344. Point defects can participate in reactions at interfaces with silicon.

Sentaurus Process User Guide 625


H-2013.03
8: Oxidation and Silicidation
Numerics

While the current oxidation model specifies the generation of interstitials by the consumption
of silicon, the current titanium silicide model specifies the generation of vacancies by the same
mechanism.

Numerics
During oxidation or silicidation, one material grows at the expense of another material. To
handle the growth of materials, Sentaurus Process uses two different time loops – inner and
outer – as shown in Figure 88 for the case of oxidation.

Solve Oxidant Velocity at the


Diffusion Reaction Front
Outer Time Loop

Solve Mechanics Velocity Field

Compute Maximum Remove Small


Δt on Given Mesh Elements

Inner Time Loop


Solve Dopant Move Mesh
Diffusion Points

Figure 88 Flowchart for simulation of material growth

Outer Time Loop


The diffusion equation for the oxidants is solved using the general PDE solver in Sentaurus
Process. In addition, a predictor for the next time step (oxidation time step) is computed. When
the concentrations of oxidants at the oxide–silicon interface are known, the corresponding
growth velocities can be computed. These velocities serve as a boundary condition for the
mechanics problem. After solving the mechanics problem, the velocity field in the entire
structure is known. At this point, the program enters the inner time loop.

Inner Time Loop


Given a mesh and the velocity field, a time step (grid time step) can be computed so that
elements do not collapse when applying the velocities to the nodes of the mesh (moving mesh).
In the next time step, the dopant diffusion is solved using the general PDE solver and a
predictor for the next time step (diffusion time step) is computed. Then, mesh points are moved
according to the velocity field and, subsequently, small mesh elements are removed.

After removing small elements, the next grid time step is computed. The smaller of the two
time steps (grid time step and diffusion time step) is applied in the next time cycle. The inner

626 Sentaurus Process User Guide


H-2013.03
8: Oxidation and Silicidation
Numerics

time loop runs as long as the time step of the outer loop (oxidation time step) is fulfilled. Then,
the code goes into its second time step of the outer loop. An example of typical output during
oxidation is:
...
Reaction Solve from 14.86min to 15.11min. Time step: 15.32s.
Mechanics Solve from 14.86min to 15.11min. Time step: 15.32s.
Diffusion Solve from 14.86min to 14.99min. Time step: 8.144s.
Diffusion Solve from 14.99min to 15.11min. Time step: 7.176s.
Reaction Solve from 15.11min to 15.37min. Time step: 15.4s.
Mechanics Solve from 15.11min to 15.37min. Time step: 15.4s.
Diffusion Solve from 15.11min to 15.25min. Time step: 8.361s.
Diffusion Solve from 15.25min to 15.29min. Time step: 2.077s.
Diffusion Solve from 15.29min to 15.37min. Time step: 4.967s.
...

This output reproduces the time-stepping scheme: Reaction Solve and Mechanics Solve
occur in the outer time loop; whereas, Diffusion Solve occurs in the inner time loop.

As previously mentioned, after solving the mechanics problem, velocities are given on all mesh
points. Mesh points are moved according to these velocities. This leads to a change in the
geometry and, in some cases, also to a change in the topology of the structure at each time step.
At a reactive interface, for example at the oxidation front, two velocities apply: one describes
the growth of a material and one describes the consumption of another material.

The velocity describing the growth of the material is used to solve the mechanics problem, and
the velocities describing the consumption of a material are used to update the structure or mesh.
Therefore, mesh elements on the growing side of the oxidation front are stretched, and
elements on the shrinking side are compressed. Edges on the growing side, which become too
long with time, are split. Edges and elements on the shrinking side of the interface which
become too small are removed. This is demonstrated in Figure 89.

Silicon Oxide

Figure 89 Meshing strategy during thermal oxidation

Sentaurus Process User Guide 627


H-2013.03
8: Oxidation and Silicidation
References

References
[1] N. Sullivan et al., “Exploring ISSG Process Space,” in 9th International Conference on
Advanced Thermal Processing of Semiconductors (RTP), Anchorage, AK, USA, pp. 95–
110, September 2001.
[2] S-L. Zhang, R. Buchta, and M. Östling, “A study of silicide formation from LPCVD-
tungsten films: Film texture and growth kinetics,” Journal of Materials Research, vol. 6,
no. 9, pp. 1886–1891, 1991.
[3] G. Giroult, A. Nouailhat, and M. Gauneau, “Study of a WSi2/polycrystalline silicon/
monocrystalline silicon structure for a complementary metal-oxide-semiconductor for a
compatible self-aligned bipolar transistor emitter,” Journal of Applied Physics, vol. 67,
no. 1, pp. 515–523, 1990.
[4] C. M. Comrie and R. T. Newman, “Dominant diffusing species during cobalt silicide
formation,” Journal of Applied Physics, vol. 79, no. 1, pp. 153–156, 1996.
[5] R. Stadler et al., “Ab initio calculations of the cohesive, elastic, and dynamical properties
of CoSi2 by pseudopotential and all-electron techniques,” Physical Review B, vol. 54,
no. 3, pp. 1729–1734, 1996.
[6] S.-L. Zhang and F. M. d’Heurle, “Stresses from solid state reactions: a simple model,
silicides,” Thin Solid Films, vol. 213, no. 1, pp. 34–39, 1992.
[7] F. Cacho et al., “Numerical modeling of stress build up during nickel silicidation under
anisothermal annealing,” Materials Science and Engineering B, vol. 135, no. 2, pp. 95–
102, 2006.

628 Sentaurus Process User Guide


H-2013.03
CHAPTER 9 Computing Mechanical Stress

This chapter discusses the computation of mechanical stress in


Sentaurus Process.

Overview
Mechanical stress plays an important role in process modeling. It controls the structural
integrity of the device, the yield from the process depends on stresses, the mobility of charged
carriers is changed by stresses, and leakage currents also are a function of the stress in the
system.

On a finer scale, stresses can affect dopant diffusion rates by modifying the band gap. They can
affect oxidation rates and, therefore, can alter the shapes of thermally grown oxide layers.

In modern process flows, accurate computation of stress is important. However, there is a


continual trend toward designing process flows that produce the right types of stress in the
device. With appropriate stresses, device performance can be enhanced significantly.

Stress computation simulations are performed in four distinct steps:


■ First, the equations for mechanics are defined. The equations used in Sentaurus Process
define force equilibrium in the quasistatic regime.
■ Second, the boundary conditions for these equations are defined. For the elliptic equations
that arise from the equations of force equilibrium, boundary conditions are needed on all
boundaries. Sentaurus Process allows Dirichlet or Neumann boundary conditions provided
that certain minimum criteria are met. The minimum criterion is to constrain the structure
sufficiently so that it has no rigid body modes.
■ Third, material properties are defined. This is the part where the relationship between
stresses and strains is defined. Some materials may hold stresses for a given strain without
relaxing; these are elastic materials. Others may relax the stresses away; these are viscous
or viscoelastic materials. Sentaurus Process provides a viscoelastic constitutive equation
for the computation of mechanical stresses. By setting parameters appropriately, the border
cases of a purely viscous and a purely elastic material can be simulated as well. The
viscoelastic model used in Sentaurus Process uses a so-called Maxwell model for the
deviatoric part and the dilatational part separately. The viscosity can depend on the local
shear stresses, which make the viscosity a locally varying quantity and can lead to
nonlinear mechanical behavior. In addition to elastic and viscoelastic materials, plastic
materials may undergo irreversible deformation beyond the yield stress without fracture or

Sentaurus Process User Guide 629


H-2013.03
9: Computing Mechanical Stress
Material Models

damage. Sentaurus Process provides a nonlinear material model with a von Mises yield
criterion and a bilinear isotropic hardening law.
■ Fourth, the mechanisms that drive the stresses are defined. In Sentaurus Process, this is
performed through intrinsic stresses, thermal mismatch, material growth, lattice mismatch
(silicon germanium), and densification. All these processes are additive in the linear elastic
regime. In the nonlinear regime, they must be updated from the available stress history.

Stress is solved in all materials. However, during an inert diffusion, the stress computation can
be switched off. Parameters describing material behavior, which will be introduced in this
chapter, can be found in the parameter database:
<material> Mechanics

Some examples are Viscosity0, ViscosityW.

In the following sections, the constitutive equations are discussed in detail. These tensor
equations can be split into two parts:
■ The dilatational part, which corresponds to the trace of the tensor, describes the material
behavior in the case of a pure volume change.
■ The deviatoric part describes an arbitrary deformation but without changing the volume.
For example, the strain tensor can be decomposed as follows:

 
+ 1---  ε ll δ jk
3 
ε jk = ε'jk (877)


l
deviatoric




dilatational

This decomposition will be used in subsequent equations to discuss the constitutive equation
for the dilatational and deviatoric parts independently.

Material Models
Sentaurus Process implements the viscous, viscoelastic, and elastic models in a general
manner, where the viscous model and elastic model can be derived from the viscoelastic model.
The viscous and viscoelastic models use shear stress–dependent viscosity. The elastic model
also has the anisotropic elasticity where the elastic coefficients are dependent on the crystal
orientation. The plasticity model describes the material behavior beyond yield, in other words,
the transition from elastic behavior to plastic behavior.

630 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Material Models

Viscoelastic Materials
The viscoelastic model for a Maxwell body is used to describe the stress–strain relationship.
The equations are written in terms of dilatational and shear components. The equations for the
volumetric part of the stress tensor1 take the form:
· σv
σv ·
----- + ----------------------- = 3ε v (878)
K η v ( T, σ s )

and:

 σkk = – 3p = 3σ v (879)
k

where η v is the bulk viscosity. In addition, the relation of the stress and strain tensor to the
hydrostatic pressure p is shown. The bulk modulus K can be computed from the Poisson ratio
PoissRatio and Young’s modulus YoungsMod as:
YoungsMod
K = -------------------------------------------------------- (880)
3 ( 1 – 2 ⋅ PoissRatio )

The deviatoric part of the stress tensor is described by:


· σ'jk
σ'jk ·
-------- + --------------------- = 2ε'jk (881)
G η' ( T, σ s )

where η' is the shear viscosity. The shear modulus G can be computed from the Poisson ratio
and Young’s modulus as:
YoungsMod
G = ------------------------------------------------- (882)
2 ( 1 + PoissRatio )

By default, the viscoelastic response is applied to the deviatoric parts. The linear elastic model
is used for the pressure-volume response, that is:

σ v = K  ε kk (883)
k

To apply the viscoelastic response to both the deviatoric parts and the volumetric part, use:
pdbSet Mechanics NoBulkRelax 0

1. The subscripts of vectors and tensors hold for the Cartesian coordinates x, y, and z.

Sentaurus Process User Guide 631


H-2013.03
9: Computing Mechanical Stress
Material Models

The shear viscosity η' is a function of the shear stress and the temperature T , where:

η' ( T ) = Viscosity0 ⋅ exp  – --------------------------------


ViscosityW
 
(884)
kB T

Usually, the value of ViscosityW is negative and, therefore, the shear viscosity η' decreases
with increasing temperature. The bulk viscosity has a similar Arrhenius expression defined by
the parameters Viscosity0.K and ViscosityW.K. The dependency on the shear stress σ s
is discussed in Shear Stress–dependent Viscosity on page 632.

Purely Viscous Materials


Oxide and nitride, by default, are treated as viscoelastic materials. However, the viscosity is a
function of the temperature (see Eq. 884). With increasing temperature, the viscosity
decreases, that is, the material becomes increasingly more liquid. When the viscosity reaches
a very low value, the first term in Eq. 881 can be neglected:
σ'jk · ·
--------------------- = 2ε'jk ⇔ σ'jk = 2η'ε'jk (885)
η' ( T, σ s )

Eq. 885 describes the deviatoric part of a purely viscous material. The relaxation time
τ = η' ⁄ G typically gives a good estimate of the behavior of a viscoelastic material. If τ is
much greater than the process time, the material is in the elastic regime. The material behaves
viscoelastically if τ is in the range of the process time. If τ is very small, the material is in the
viscous regime.

Shear Stress–dependent Viscosity

For viscous and viscoelastic materials, the viscosity may depend on the temperature and the
shear stress σ s . The temperature dependency is described by Eq. 884. The dependency on the
shear stress is given by:
σ s ⁄ σ crit
η ( σ s, T ) = η ( T ) ⋅ ----------------------------------- (886)
sinh ( σ s ⁄ σ crit )

The shear stress σ s is computed from the local stress distribution based on the second invariant
of the deviatoric part of the stress tensor:

3
σs = ---   σ' σ' (887)
2 jk kj
j k

632 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Material Models

The viscosity breakdown value σ crit can be determined by:


2k B T
σ crit = ------------- (888)
v crit

where:

v crit ( T ) = Vcrit0 ⋅ exp  – -------------------


VcritW
 kB T 
(889)

By default, oxide and nitride are treated as viscoelastic materials with shear stress–dependent
viscosity. The values for Vcrit0 and VcritW also are set in the PDB:
<material> Mechanics

Purely Elastic Materials


If the viscosity in Eq. 881 is chosen high enough, the second term on the left can be neglected
and the equation reads:
·
σ'jk ·
-------- = 2ε'jk ⇔ σ'jk = 2Gε'jk (890)
G

This equation describes the deviatoric part of a purely elastic material. By default, silicon and
polycrystalline silicon are treated as purely elastic materials. To achieve this, the viscosity of
40
these materials is set to 1 ×10 poise .

NOTE K and G are the primary parameters describing elastic materials, and
not Young’s modulus and the Poisson ratio. When changing material
properties with the pdb command, only a change of the primary
parameters has an effect on the simulation. To obtain Young’s modulus
and the Poisson ratio, use the following commands, respectively (see
KG2E on page 952 and KG2nu on page 953):
KG2E <BulkModulus> <ShearModulus>
KG2nu <BulkModulus> <ShearModulus>

NOTE When material data is given in terms of Young’s modulus and the
Poisson ratio, use the following commands to convert them to the shear
modulus and the bulk modulus, respectively (see Enu2G on page 886
and Enu2K on page 887):
Enu2G <YoungsModulus> <PoissonRatio>
Enu2K <YoungsModulus> <PoissonRatio>

Sentaurus Process User Guide 633


H-2013.03
9: Computing Mechanical Stress
Material Models

Anisotropic Elastic Materials


The stress and strain relations for anisotropic elastic materials can be described using:
σ i = C ij ε j (891)

where σ i and ε j are the components of the engineering stress and strain, respectively, and C ij
is the component of the stiffness matrix. The engineering stress σ i (i=1, …, 6) corresponds to
the stress-tensor components σxx, σyy, σzz, σxy, σyz, σxz, and the engineering strain ε j
(j=1, …, 6) corresponds to the strain-tensor components εxx, εyy, εzz, 2εxy, 2εyz, 2εxz.

NOTE The engineering shear-strain components differ from the shear-strain


tensor components by a factor of 2.

Cubic Crystal Anisotropy

The mechanical responses of a crystalline solid vary along various crystal orientations. For a
cubic crystal, the axes of reference are chosen to be parallel to the crystal axes. In a coordinate
system with axes aligned along the crystal axes, the symmetric stiffness matrix C has the
following nonzero components:
C11 = C22 = C33, C12 = C23 = C13
C44 = C55 = C66

All other components are zeros. The anisotropic stress and strain relation is completely defined
when three independent modulus parameters C11, C12, and C44 are specified.

The degree of anisotropy for a given material can be measured by the departure from unity of
the ratio A = 2 C44/(C11 – C12). The anisotropic model reduces to the isotropic model if
the ratio A is equal to 1. When the simulation coordinate axes do not coincide with the crystal
axes, the stiffness matrix C must be transformed accordingly. For this, note that C is actually a
rank-4 tensor.

By default, the anisotropic elasticity model is switched off. The following command is required
to switch on the model:
pdbSet Silicon Mechanics Anisotropic 1

The values of these three modulus parameters with respect to the cubic crystal axis can be
defined using the following commands, which also show the default values for the crystalline
silicon:
pdbSet Silicon Mechanics C11 16.57E11
pdbSet Silicon Mechanics C12 6.39E11
pdbSet Silicon Mechanics C44 7.96E11

634 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Material Models

The unit for these default values is dyn/cm2.

This model depends on the [Link] and [Link] parameters specified in the
init command.

Orthotropic Model

Orthotropic materials have three planes of symmetry. In a coordinate system with axes aligned
along the symmetry planes, the symmetric stiffness matrix C has the following nonzero
components:
C11, C22, C33, C44=C55=C66, C12=C21, C13=C31, C23=C32

The symmetry planes of the model are specified in the wafer coordinate system (see Wafer
Coordinate System on page 64) and depend on the [Link] and [Link]
parameters specified in the init command. The default symmetry plane directions are given
by these two parameters. Therefore, the wafer in-plane symmetry plane directions are given by
(the default) [Link]={1 1 0}, that is, at a 45° angle to the xy plane of the wafer
coordinate system. To align the symmetry planes with the wafer coordinate system, the
[Link] parameter should be {0 0 1} (the default) and the [Link] parameter
should be set to {0 1 0}.

NOTE When the symmetry plane directions are specified, they remain the
same for the entire structure and cannot be set regionwise.

Orthotropic material properties can be described by specifying nine independent parameters,


namely, the Young’s moduli in the symmetry planes (E1, E2, E3), the directional shear moduli
(G12, G23, G13), and the directional Poisson ratios (ν12, ν13, ν23). The other directional Poisson
ratio are calculated from:
υ ij υ ji
------ = ------ (892)
Ei Ej

The stiffness matrix components are calculated from the specified material properties:
C kk = E k ( 1 – ν ij υ ji ) (893)

C ij = E i ( υ ji + υ jk υ ki ) (894)

and i, j ≠ k .

By default, the orthotropic model is switched off, and it is switched on using the command:
pdbSet <material> Mechanics Orthotropic 1

Sentaurus Process User Guide 635


H-2013.03
9: Computing Mechanical Stress
Material Models

The material properties can be specified as:


pdbSetDouble <material> Mechanics <material parameter> <n>

specifically:
pdbSet Silicon Mechanics YoungsModulus1 162E10
pdbSet Silicon Mechanics YoungsModulus2 162E10
pdbSet Silicon Mechanics YoungsModulus3 162E10
pdbSet Silicon Mechanics PoissonRatio12 0.28
pdbSet Silicon Mechanics PoissonRatio13 0.28
pdbSet Silicon Mechanics PoissonRatio23 0.28
pdbSet Silicon Mechanics ShearModulus12 63.28E10
pdbSet Silicon Mechanics ShearModulus13 63.28E10
pdbSet Silicon Mechanics ShearModulus23 63.28E10

The values given also are the default values used. The units for the Young’s modulus and shear
modulus are dyn/cm2.

Orthotropic thermal expansion also is considered in this material model, and different
coefficients of thermal expansion can be specified along the three symmetry planes:
pdbSet Silicon Mechanics ThExpCoeff1 3E-06
pdbSet Silicon Mechanics ThExpCoeff2 3E-06
pdbSet Silicon Mechanics ThExpCoeff3 3E-06

The specified values are the default values.

Temperature-dependent material properties can be specified for all the material parameters
specified above. The variation of a property ξ can be specified as:
·
ξ ( T ) = ξ ref + ξ ( T – T ref ) (895)

where the reference value is the material parameter value specified in the input deck.

The values can be specified as:


pdbSet <material> Mechanics <material parameter>Rate <n>

for example:
pdbSet Silicon Mechanics ThExpCoeff1Rate 0

636 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Material Models

Plastic Materials
Materials such as metals show linear elastic behavior at lower stresses but undergo permanent
deformation at higher stresses. At low temperatures, permanent deformation in these materials
is not sensitive to the rate of loading. Such material behavior is defined as plastic or elastic-
plastic. Depending on the type of loading, plastic deformations may be computed using
incremental plasticity or deformation plasticity.

To switch on the plastic material model, use the command:


pdbSet <material> Mechanics IsPlastic <n>

Incremental Plasticity

Plastic material behavior under nonmonotonic loading is modeled using incremental


formulation.

Incremental plasticity uses the von Mises yield criterion with associative flow and bilinear
hardening. The von Mises yield criterion for isotropic solid materials takes the form:

F ( σ' ij, q ij, α ) = ( σ' ij – q ij ) ( σ' ij – q ij ) – Y ( α ) = 0 (896)

where q ij is the back stress, α is an isotropic hardening variable, and:

2
Y(α) = --- ( σ y + H iso α ) (897)
3

is a function describing the change of yield surface with progressive yielding. The Einstein
summation convention is used to define the tensor product in the above equation. σ y is the
yield stress in uniaxial tension. H iso is the isotropic hardening modulus, which is constant for
bilinear isotropic hardening. To set these two parameters, use the commands:
pdbSet <material> Mechanics FirstYield <n>
pdbSet <material> Mechanics [Link] <n>

Under a small strain assumption, the strains (and strain rates) are decomposed additively:
e p
εij = ε ij + ε ij (898)

e p
where ε ij are the elastic strains, and ε ij are the plastic strains.

For incremental plasticity, the plastic strains are determined by the plastic flow rule:
·p · ∂Q
ε ij = γ ---------- (899)
∂σ ij

Sentaurus Process User Guide 637


H-2013.03
9: Computing Mechanical Stress
Material Models

·
where γ ≥ 0 is the slip rate, and Q is the plastic potential. Plastic flow is assumed to be volume
preserving, so that plastic strain is purely deviatoric:
p p p
ε ij δ ij = 0  ε' ij = ε ij (900)

For associative plastic flow, the plastic potential Q is set equal to the yield function F . The
evolution of the isotropic hardening variable and the back-stress variable are given by:

· ·p 2·
α = e = --- γ (901)
3

and:

2· ( σ' ij – q ij )
q· ij = --- γ H kin --------------------------------------------------------- (902)
3 ( σ' – q ) ( σ' – q )
kl kl kl kl

·p
where H kin is the kinematic hardening modulus, and e is the equivalent plastic strain rate. To
set the kinematic hardening modulus, use the command:
pdbSet <material> Mechanics [Link] <n>

For linear isotropic hardening, the hardening modulus is interpreted as the slope of the stress

versus the plastic strain curve (as obtained from uniaxial tension test) H iso = -------
- . It differs from
p

the elastic-plastic tangent modulus, which is defined as the slope of the stress versus total strain
curve Eep = dσ------ .

For combined isotropic and kinematic hardening, a common choice for hardening moduli is:

H kin = ( 1 – β )H ; H iso = βH ; β ∈ [ 0, 1 ] (903)

where H is a constant.

The rate equations are discretized using backward Euler scheme and then solved using a radial
return mapping algorithm (see [1] for more details).

The nonlinear nature of the plasticity model requires Newton iterations to achieve the
equilibrium state for each loading step. At the end of each iteration, a check on the satisfaction
of convergence criteria is made. More Newton iterations are performed until all the
convergence criteria are satisfied within the specified tolerance or until the maximum number
of iterations is reached. See Time-Step Control for Mechanics on page 847 for details on
convergence criteria and time-stepping for mechanics.

638 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Material Models

NOTE To define the plastic model, use nonzero values for the isotropic or the
kinematic hardening modulus along with yield stress. In the absence of
hardening, the numeric simulation of plastic deformation may become
unstable.

Deformation Plasticity

Plastic materials that do not have well-defined yield stress can be modeled using deformation
plasticity. This model is based on the Ramberg–Osgood formula [2][3], which is only valid for
monotonic loading. It is used mostly for plastic deformation around crack tips since it is well
suited to the J-integral calculation.

For one dimension, an additive decomposition of strains under a small strain assumption is
given as:

σ σy σ n
ε = ε + ε = --- + α  -----  -----
e p
 E   σ y
(904)
E

where α and n are material parameters, σ is the stress in one dimension, ε is the total strain
in one dimension, and E is Young’s modulus.

Extending the formula to three dimensions, the strain components can be expressed as:
elastic plastic













n (905)
σ' ij σ kk δ ij 3 σ y  σ  σ' ij
eq
ε ij = ε ije + ε ijp = ------- + -------------- + --- α  -----  -------- -------
-
2G 9K  
2 E  σ y  σ eq

eq 3
where σ = --- σ' ij σ' ij is the equivalent stress.
2
The plastic flow is assumed to be associative and is governed by the von Mises yield criterion.

Under monotonic loading, the total plastic strain can be written as:

3 p σ' ij
ε ijp = --- e -------
- (906)
2 σ eq

σ σ eq n
where e = α  -----y  ------- is the total equivalent plastic strain.
p
 E   σy 
Inverting the plastic strain expression gives:
E m p m
= σ y  ---------- ( e )
eq
σ (907)
 ασ y

1
with m = --- defining the work hardening exponent.
n

Sentaurus Process User Guide 639


H-2013.03
9: Computing Mechanical Stress
Material Models

The deformation plasticity equations do not require any integration due to total stresses and
strains. However, the nonlinear expressions require Newton iterations to achieve the
equilibrium state for each loading step. At the end of each iteration, a check on the satisfaction
of convergence criteria is made. More Newton iterations are performed until all the
convergence criteria are satisfied within the specified tolerance or until the maximum number
of iterations is reached. See Time-Step Control for Mechanics on page 847 for details on
convergence criteria and time-stepping for mechanics.

NOTE Deformation plasticity must be used only with monotonic loading since
the equations are not valid for unloading. This model must be used if the
J-integral must be calculated around a crack tip with plastic strains.

Viscoplastic Materials
Materials, such as metals at high temperatures, exhibit rate-dependent plasticity also known as
viscoplasticity or creep. There are different ways to model such behavior:
■ Anand model
■ Power law creep

Anand Model

The Anand model [4][5] is used for rate-dependent plasticity that combines creep and plastic
deformation.

Assuming small strains, the strain rates and strains can be decomposed into elastic and
viscoplastic parts in an additive manner:
· · e · vp
ε ij = ε ij + ε ij (908)

e vp
ε ij = ε ij + ε ij (909)

The elastic strains are evaluated using Hooke’s law, while the Anand model is used to evaluate
the viscoplastic part. The Anand model assumes that plastic deformation occurs at all values
of strain, so instead of a yield function, a constitutive equation is used to relate stresses to
viscoplastic strains. The flow rule for evolution of viscoplastic strains (volume preserving) is
assumed to be of the familiar form:

· vp 3 · vp σ' ij
ε' ij = --- e --------- ; σ' = σ' ij σ' ij (910)
2 σ'

640 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Material Models

The equivalent viscoplastic strain rate at constant temperature is given by a constitutive


equation:
· vp σ' 1⁄m
e = f ( σ' , s ) = A exp  – ------- sinh  ξ ---------
Q
 s 
(911)
RT

where s is deformation resistance. It is defined in terms of an isotropic hardening function as:


· vp s a s · vp
s = h ( s )e = h 0  1 – ----- sgn  1 – ----- e ; a ≥ 1
·
(912)
s∗ s∗

The saturation value of deformation resistance at a given temperature and strain rate is
expressed as:
· vp n

s = s̃ ------- exp  -------


∗ e Q
 RT
(913)
A

In the above formulation:


■ A is a pre-exponential factor.
■ Q is the activation energy.
■ R is the universal gas constant.
■ T is absolute temperature in kelvin.
■ ξ is the stress multiplier.
■ m is the strain rate sensitivity.
■ h 0 is the constant of athermal hardening or softening.
■ a is the exponent of athermal hardening or softening.
■ s̃ is the coefficient for the saturation value of deformation resistance.
■ n is the exponent for the saturation value of deformation resistance.

Values for the material parameters A, Q, ξ, m, h 0, a, s̃ and n , and the initial value for
deformation resistance s 0 are obtained by fitting experimental data for stress–strain (obtained
from tension or compression tests conducted at various temperatures and strain rates) to the
above equations. For details on how to obtain such data, refer to the literature [4][6][7][8].

To set these parameters, use the commands:


pdbSetDouble <material> Mechanics Viscoplasticity.A <n>
pdbSetDouble <material> Mechanics Viscoplasticity.Q <n>
pdbSetDouble <material> Mechanics [Link] <n>
pdbSetDouble <material> Mechanics Viscoplasticity.m <n>
pdbSetDouble <material> Mechanics Viscoplasticity.h0 <n>
pdbSetDouble <material> Mechanics Viscoplasticity.a <n>
pdbSetDouble <material> Mechanics [Link] <n>

Sentaurus Process User Guide 641


H-2013.03
9: Computing Mechanical Stress
Material Models

pdbSetDouble <material> Mechanics Viscoplasticity.n <n>


pdbSetDouble <material> Mechanics Viscoplasticity.s0 <n>

NOTE For other materials, use the long form of the pdb commands to set
parameter values.

A new material named Solder has been added to the PDB to model viscoplastic behavior. The
default values for the above parameters for Solder material are based on 96.5Sn3.5Ag solder
alloy as reported in [6].

To solve the above nonlinear equations, the rate terms are discretized using the backward Euler
method, and the resulting algebraic equations are evaluated locally at every integration point
using the Newton–Raphson iterative scheme.

To switch on the viscoplastic material model, use the command:


pdbSet <material> Mechanics IsViscoPlastic <n>

This flag must be switched on during the simulation if viscoplastic deformation exists. The
nonlinear nature of the viscoplasticity model also requires Newton iterations to achieve
equilibrium of mechanics equations at each loading step. At the end of each iteration,
convergence criteria are checked. More iterations are performed until all the convergence
criteria are satisfied within the specified tolerance or until the maximum number of iterations
is reached. See Time-Step Control for Mechanics on page 847 for details on convergence
criteria and time-stepping for mechanics.

NOTE To avoid convergence problems, use small time steps at the beginning
of the analysis. You can increase the number of time steps later, during
the analysis, if it does not adversely affect the solution.

Power Law Creep

The power law creep [9], also known as the Bailey–Norton creep, assumes creep strain to be
of the following form:
Q n (m – 1)
ε = A exp  – ------- σ mt̃
· cr
 RT
(914)

where, for multiaxial loading:

· cr 2 · cr · cr
■ ε = --- ε ij ε ij is the equivalent creep strain rate.
3
■ A is a pre-exponential factor.
■ Q is the activation energy.

642 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Material Models

■ R is the universal gas constant.


■ T is the absolute temperature in kelvin.
3
■ σ = --- σ' ij σ' ij is the equivalent stress or the von Mises stress.
2
■ t̃ is the time (different from physical time).
■ n and m are exponents.

The above form is referred to as a time hardening form. A more commonly used form called
the strain hardening form is obtained by eliminating the time variable:
1
----
Q n cr ( m – 1 ) m
ε = m  A exp  – ------- σ ( ε )
· cr
  RT 
(915)

Under a small strain assumption, strains (and strain rates) can be decomposed additively as:
e p cr
ε ij = ε ij + ε ij + ε ij (916)

with creep strains being distinct from plastic strains.


cr
Creep flow is assumed to be volume preserving ( ε ij δ ij = 0 ) and is governed by:

3 · cr σ' ij
ε ij = --- ε  -------
· cr
(917)
2  σ

When incremental plasticity is also active, the creep flow rule is modified to account for
hardening:

3 · cr σ' ij – q ij
ε ij = --- ε  --------------------
· cr
(918)
2  σ 

where:
3
■ σ = --- ( σ' ij – q ij ) ( σ' ij – q ij ) is the equivalent stress.
2
■ q ij is the back stress for kinematic hardening.
■ Plastic flow equations are solved simultaneously with creep flow.

The material parameters A , Q , n , and m are obtained by fitting experimental data. To set
these parameters, use the commands:
pdbSet <material> Mechanics Creep.A <n>
pdbSet <material> Mechanics Creep.Q <n>
pdbSet <material> Mechanics Creep.n <n>
pdbSet <material> Mechanics Creep.m <n>

Sentaurus Process User Guide 643


H-2013.03
9: Computing Mechanical Stress
Material Models

NOTE For materials other than Solder, use the long form of these commands
to set parameter values.

The default values for the above parameters have been added to the PDB to the Solder
material based on the 96.5Sn3.5Ag solder alloy as reported in [10].

To solve the creep equations, the rate terms are discretized using the backward Euler method,
and the resulting algebraic equations are evaluated locally at every integration point using the
Newton–Raphson iterative scheme.

To switch on the creep material model, use the command:


pdbSet <material> Mechanics IsCreep <n>

This flag must be switched on during the simulation if creep deformation exists. The nonlinear
nature of the creep model also requires global Newton iterations to achieve equilibrium of
mechanics equations at each loading step. At the end of each iteration, convergence criteria are
checked. More iterations are performed until all the convergence criteria are satisfied within
the specified tolerance or until the maximum number of iterations is reached. See Time-Step
Control for Mechanics on page 847 for details on convergence criteria and time-stepping for
mechanics.

NOTE To avoid convergence problems, use small time steps at the beginning
of the analysis. You can increase the number of time steps later, during
the analysis, if it does not adversely affect the solution.

Swelling
Swelling refers to volumetric expansion of material. Swelling material behavior is defined by
specifying strain rates at various temperatures that are interpolated linearly. To switch on the
model, use the command:
pdbSetBoolean <material> Mechanics IsSwelling <n>

The swelling strain rate data is specified with a double array:


pdbSetArray <material> Mechanics SwellingStrainRate
Temperature { <temp> {<SSR1> <SSR2> <SSR3>}
<temp> {<SSR1> <SSR2> <SSR3>} ... }

where <temp> is the temperature in degree Celsius, and <SSR1>, <SSR2>, and <SSR3> are
–1
strain rates in the x-, y-, and z-direction, respectively, in s .

644 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Material Models

Strain rates can be the same (isotropic) or different (anisotropic) in each of the three directions.
For cyclic temperature loading, strain rate data must be given for loading (temperature
increment) as well as unloading (temperature decrement). For example:
pdbSetDouble Mold Mechanics SwellingStrainRate Temperature {
27 {0.0 0.0 0.0}
77 {0.001 0.001 0.001}
127 {0.002 0.002 0.002}
80 {0.0012 0.0012 0.0012}
25 {0.0 0.0 0.0}
}

If strain rate data is not given for unloading, loading data is used for increasing as well as
decreasing temperatures.

Since strains are assumed to be small, swelling strain rates are added to other strain rates:
· · e · sw
ε ij = ε ij + ε ij (919)

and are integrated over time to give total strains:


e sw
ε ij = ε ij + ε ij (920)

· sw
where ε ijsw = ε ij = 0 for i ≠ j .

For a given material, only one set of strain rate data can be specified for a solve step. If
necessary, different strain rate data may be specified for the same material in a subsequent solve
step.

Mole Fraction–dependent Mechanical Properties


The mechanical properties of binary compounds change with the ratio of substance
concentration. A mole fraction–dependent model for elastic moduli has been implemented for
binary compounds such as SiGe. The elastic moduli are:
■ Bulk modulus and shear modulus for isotropic materials
■ C11, C12, and C44 for anisotropic elastic materials

and are computed by:


C AB = C A ( 1 – f ( x ) ) + C B f ( x ) (921)

where:
■ C AB denotes the elastic moduli of binary compound A 1 – x B x .

Sentaurus Process User Guide 645


H-2013.03
9: Computing Mechanical Stress
Material Models

■ x is the mole fraction.


■ f is an interpolation function with f ( 0 ) = 0 and f ( 1 ) = 1 .

The mole fraction–dependent moduli for Si1–xGex are linear combinations of the elastic moduli
of each material. The binary compound Si1–xGex is treated as silicon regions with germanium.
The mole fraction–dependent model can be switched on for silicon with:
pdbSetBoolean Si IsCompound 1

Next, a list of binary compound materials with mole fraction–dependent elastic moduli is
created by:
pdbSetString Mechanics BCompoundList {Silicon Germanium}

Finally, the interpolation function is defined as a double array, in other words,


{x1 f1 x2 f2 x3 f3 ... }. For example, a linear interpolation function can be specified with:
pdbSetDoubleArray SiliconGermanium CompoundInterp {0 0 1 1}

For nonlinear relations, a piecewise linear interpolation profile is used.

The mole fraction dependency can be applied to thermal expansion coefficients of materials
using the command:
pdbSet Mechanics [Link] 1

when the binary compound model is switched on.

Temperature-dependent Mechanical Properties


The mechanical properties of materials are different at high temperature from those at room
temperature. The elastic modulus of typical materials decreases as temperature rises. Some
materials show non-negligible changes of mechanical properties at different temperatures.

The temperature dependence of elastic moduli is assumed to be linear and included by a rate
coefficient. For isotropic elasticity, this parameter is specified with:
pdbSet <material> Mechanics YoungsModulusRate <n>

For anisotropic elasticity, the coefficients are defined with:


pdbSet <material> Mechanics C11Rate <n>
pdbSet <material> Mechanics C12Rate <n>
pdbSet <material> Mechanics C44Rate <n>

646 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Plane Stress Analysis

A similar temperature-dependent effect is applied to the thermal expansion coefficient by using


the command:
pdbSet <material> Mechanics ThExpCoeffRate <n>

to specify the rate coefficient. For the nonlinear temperature-dependent thermal expansion
coefficient, a piecewise linear interpolation function is used. To switch on the model, use the
command:
pdbSet Mechanics [Link] 1

The piecewise linear function is specified with:


pdbSet <material> Mechanics [Link] {<temp> <LCTE> <temp>
<LCTE> ... }

For the first yield stress of plastic materials, an Arrhenius expression is used for the
temperature-dependent effect. The prefactor and exponent of the Arrhenius expression are
specified respectively with the following commands:
pdbSet <material> Mechanics FirstYield <n>
pdbSet <material> Mechanics FirstYieldW <n>

Plane Stress Analysis


In two-dimensional problems, the elastic models implemented above follow the plane strain
formulation by default. Under the plane strain assumption:
ε zz = 0 ; σ zz ≠ 0 (922)

While this is good for structures where the strain in the third direction is very small compared
to the cross section, it would give inaccurate results for thin structures. Thin plate-like
structures where one dimension is very small compared to the other two can be modeled under
the plane stress assumption:
ε zz ≠ 0 ; σ zz = 0 (923)

The strain ε zz is obtained as a function of other strains, for example, for purely elastic
structures:
ε zz = – ν ( εxx + ε yy ) (924)

The plane stress model can be switched on for a particular region using:
pdbSetBoolean <material> Mechanics PlaneStress 1

Sentaurus Process User Guide 647


H-2013.03
9: Computing Mechanical Stress
Equations: Global Equilibrium Condition

NOTE You can combine plane stress and plane strain formulations within a
structure by switching on plane stress in only a few regions. However,
such a simulation is not advisable.

If both plane stress and plane strain regions are present in a structure, the material thickness of
regions can be specified by:
pdbSetDouble <material> Mechanics Thickness <d>

where <d> is specified in micrometers.

Equations: Global Equilibrium Condition


The equations for mechanics in Sentaurus Process are the quasistatic equations of force
equilibrium.

The strain rate tensor is related to the symmetric part of the velocity gradient and is given by:

1 ∂v j ∂v k
ε jk = ---  ------- + -------
·
(925)
2  ∂x k ∂x j 

Strain is then related to stresses through any of the material models defined in Material Models
on page 630. For all models, the global equilibrium condition is given by:
∂σ jk ( v )
 ------------------- = 0
∂x k
(926)
k

The above equations are solved using the finite-element method. The solution is a vector
representing the velocity components at each node. These velocities are used to compute the
strain and stresses. The stresses and the boundary conditions determine the mechanical state of
the system.

NOTE The stress and strain are derivatives of the velocity. They are, therefore,
computed at one order of accuracy lower than the solution variable. This
also means that they are discontinuous across the elements. When
visualized, the stress values may appear badly converged even if the
linear solver has converged.

In addition, the quasistatic mechanics equations are elliptic in nature and, therefore, are prone
to high levels of shape dependence. This is most frequently seen at gate corners during
polysilicon reoxidation steps or at the corners of the STI trench during liner oxidation. These
equations also exhibit a high sensitivity to the mesh modification algorithms at these corners.

648 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Boundary Conditions

NOTE At sharp corners, the mechanics equations have a singularity. Therefore,


it is not possible to discretize at a corner correctly using regular types of
element.

Boundary Conditions
Equations for stress equilibrium require boundary conditions to define the system completely.

Vy=0 Vy=0

Vx=0

Figure 90 Default mechanics boundary conditions in Sentaurus Process axis orientation

In Sentaurus Process, various boundary conditions can be selected using:


pdbSet Mechanics <side> BoundaryCondition <model>

where:
■ <side> is Left, Right, Front, or Back.
■ <model> is HomNeumann or Dirichlet.

The default boundary conditions are zero velocities in the direction perpendicular to the
boundary planes. Since velocities are set to fixed values along the boundaries, these boundary
conditions are referred to as Dirichlet boundary conditions in directions perpendicular to
boundary planes. The HomNeumann boundary condition is used when the plane must be free.

For example, if you want to set the ‘right’ plane to be free, use the command:
pdbSet Mechanics Right BoundaryCondition HomNeumann

Sentaurus Process User Guide 649


H-2013.03
9: Computing Mechanical Stress
Boundary Conditions

The HomNeumann boundary condition implies a zero normal stress (shown in Figure 91).

Vy=0 s y=0

Vx=0

Figure 91 HomNeumann boundary condition on ‘right’ boundary plane

Dirichlet boundary conditions are imposed using the penalty method, by default. To adjust the
penalty factor, use the command:
pdbSet Mechanics [Link] {<n>}

The default penalty factor is 1.0e12. The larger this factor, the more accurate the enforcement
of Dirichlet boundary conditions. However, using an extremely large penalty factor could lead
to an ill-conditioned matrix and, therefore, could slow down the linear equation solver.

Alternatively, you can use the matrix reduction method to impose Dirichlet boundary
conditions. To choose the penalty method or matrix reduction method, use the command:
pdbSet Mechanics [Link] {<model>}

where {<model>} is either Penalty or MatrixReduction.

NOTE To ensure the structure is bounded by a perfect rectangle, the


displacements computed by these general boundary conditions are not
applied to the structure. However, they evaluate the stresses correctly.
This assumption is consistent with the small deformation assumption
within each mechanics time step.

Example: Applying Boundary Conditions


line x loc=-0.02 tag=e spacing=0.005
line x loc=0 tag=a spacing=0.005
line x loc=0.2 tag=b spacing=0.05
line y loc=0 tag=c spacing=0.05
line y loc=2 tag=d spacing=0.05
region silicon xlo=a xhi=b ylo=c yhi=d

650 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Boundary Conditions

region oxide xlo=e xhi=a ylo=c yhi=d


init !DelayFullD
pdbSetDouble Mechanics RefThExpCoeff 0
pdbSet Mechanics Right BoundaryCondition HomNeumann
pdbSet Oxide Mechanics Viscosity0 1e40
pdbSet Oxide Mechanics ViscosityW 0
temp_ramp name=tr1 temperature=600 ramprate=30<K/min> time=10<min>
diffuse temp_ramp=tr1
struct tdr=rampup
diffuse time=10 temp=900 wet
struct tdr=postout

Sentaurus Process also provides a general way to specify boundary conditions for stress
analysis through the stressdata command:
stressdata [Link]=<c> [Link]= { dx=<n> | dy=<n> | dz=<n> }

where:
■ [Link] can be Left|Right|Front|Back|Bottom.
■ dx, dy, and dz are used to specify displacement rates (default unit: cm/s).

The displacement rates are applied to the area defined through [Link], where
Left|Right|Front|Back|Bottom refer to the outer boundary surfaces of the simulation
domain. At least at one node, the displacement along any coordinate system direction must be
fixed to remove the rigid body motion.

Pressure Boundary Condition


The pressure boundary condition is used to apply uniform pressure on the exterior boundary.
The direction of the loading depends on the normal of the exterior surface. To apply the
pressure boundary condition, use the stressdata command, for example:
stressdata [Link] = <c> [Link] = {pressure=<n>}

where [Link] can be left, right, front, back, bottom.

Sentaurus Process User Guide 651


H-2013.03
9: Computing Mechanical Stress
Boundary Conditions

Advanced Dirichlet Boundary Condition


A more advanced Dirichlet-type boundary condition also can be defined, which specifies both
the translational and rotational velocities on the boundaries. It is defined using the command:
stressdata [Link]=<c> [Link]= {xa=<c> | ya=<c> | za=<c>} \
[Link]= {dx=<n> | dy=<n> | dz=<n> | rx=<n> | ry=<n> | rz=<n>}

where:
■ [Link] can be Left|Right|Front|Back|Bottom.
■ dx, dy, and dz specify displacement rates (default unit: cm/s).
■ rx, ry, and rz specify rotational velocities (default unit: rad/s).
■ xa, ya, and za specify the coordinates of the point around which the rotation occurs
(default unit: cm).

Periodic Boundary Condition


The periodic boundary condition is used for structures with a periodically repeating pattern.
This condition is used on periodic structures with assigned master and slave boundaries. The
slave boundary has the same deformation profile as the master boundary. In Figure 92, the left
and right boundaries are bound together by the periodic boundary condition.

U1L U1R

U2L U2R

U1R = U1L; U2R = U2L ...

Figure 92 Periodic boundary condition

To apply the periodic boundary condition to the outer bounding surfaces, use the command:
pdbSet Mechanics <Left | Right | Front | Back> Periodic 1

652 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Time Step Control

If this command is specified on a sidewall, the opposite sidewall is defined automatically as a


periodic boundary. Conflict of boundary condition definitions are checked on all sidewalls. For
example, to apply a periodic boundary condition on the left and right sidewalls, use one of the
following commands:
pdbSet Mechanics Left Periodic 1
pdbSet Mechanics Right Periodic 1

Both the periodic and coupling boundary conditions are implemented using the penalty
method. To adjust the penalty factor, use the command:
pdbSet Mechanics [Link] <n>
13
The default penalty factor is 1.0 ×10 . The larger this factor, the more accurately the periodic
or coupling boundary conditions will be enforced. Using an extremely large penalty factor
could lead to an ill-conditioned matrix and, therefore, slow down or even fail the linear
equation solver.

NOTE If you choose to apply periodic boundary conditions, all other boundary
conditions defined through the old pdbSet method will be ignored and
must be redefined using the stressdata command.

Time Step Control


It may be necessary to use time step control when viscous or viscoelastic materials are present
in the structure. Usually, when dopants also are present, the time steps will be sufficiently
limited by the diffusion solver. If dopants are not present, or for materials with a low viscosity,
the time step control can be switched on with:
pdbSet Mechanics [Link] 1

Time-stepping can be controlled with the displacement increment and with the relative
relaxation time. To switch on these two options, use:
pdbSet Mechanics [Link] [Link] 1

and:
pdbSet Mechanics [Link] [Link] 1

respectively. For more control parameters, see “Mechanics [Link]” in the Parameter
Database Browser.

Sentaurus Process User Guide 653


H-2013.03
9: Computing Mechanical Stress
Stress-causing Mechanisms

Stress-causing Mechanisms
Every mechanical system needs a set of stress-driving mechanisms to reach a stressed state.
The stress-inducing mechanisms in Sentaurus Process are listed here.

Stress Induced by Growth of Material


During the oxidation process, volume is produced. Consuming silicon of volume 1 during
thermal oxidation produces oxide of volume 2.25. This process introduces velocities at a
growing interface: a velocity vector pointing into the silicon describes the proceeding of the
oxidation front, and a velocity vector pointing into the oxide accounts for the volume expansion
as described above. The latter is responsible for the generation of mechanical stresses and,
therefore, is used as a boundary condition for the mechanical problem.

Densification-induced Stress
A typical densification process uses thermal heating to increase the density of a porous
material. As the material density increases, its volume shrinks and the volume shrinkage
generates stresses.

The densification-induced stress computation is switched on using the [Link]


parameter in the diffuse command or the temp_ramp command, such as:
diffuse temperature=1000<C> time=30<min> \
[Link]= {[<regionName> = value] [<material> = value]}

temp_ramp name=dens time=1 temp=1000 [Link]= { oxide=0.02 }


diffuse temp_ramp=dens

The total amount of density increase can be specified per material or per region for a given
diffuse (or temp_ramp) step as shown above. A proportional amount of density increase is
applied during each time step of the densification process.

The densification operation can be performed for all existing materials, as well as new
materials defined using the mater command:
mater add name=TEOS [Link]=oxide
diffuse time=1 temp=1000 [Link] = { TEOS = 0.03 }

654 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Stress-causing Mechanisms

For densification processes involving large amounts of volume shrinkage, the material
boundaries and meshes can be updated using the following settings:
pdbSet Grid [Link] 1
pdbSetDouble TEOS Grid MinimumVelocity 0

For a complete densification process that has distinguished density changes, multiple diffuse
steps can be used with different density increases for each segment of the process.

Selectively Switching Off Grid Movement

The parameter MinimumVelocity can be used to selectively switch off point or interface
movement. This can be useful, for example, when a mechanics simulation computes a small
amount of boundary movement that is either unwanted or could cause element quality to suffer
in the vicinity, and the approximation of no movement is acceptable. In general, the command
is:
pdbSet <material> Grid MinimumVelocity <speed>

If <material> is a bulk material (no underscore), the parameter applies to bulk points. If the
speed of the bulk points is less than <speed> (in cm/s), Sentaurus Process truncates the speed
to zero. On the other hand, if <material> is an interface material (having an underscore such
as PolySilicon_Silicon), the parameter only applies to points on that interface.

NOTE The moving mesh operations can become unstable for values of
MinimumVelocity that are neither very large nor zero. Very large
values stop all motion, and 0 allows all motion.

Stress Caused by Thermal Mismatch


Temperature changes during the process described by the temp_ramp command or the
keyword ramprate in the diffuse command lead to stress in the structure caused by the
different thermal expansion coefficients of the relevant materials. When necessary, the stress
computation can be switched off by using the [Link] flag:
diffuse temperature=1000<C> time=30<min> ![Link]

NOTE If viscous or viscoelastic materials are present in the structure, the stress
distribution may change even without a change in the temperature due
to viscoelastic relaxation.

By default, stresses are computed during inert annealing for 2D simulations. To


apply ![Link] to all inert annealing steps, use the command:
pdbSet Compute NoStressRelax 1

Sentaurus Process User Guide 655


H-2013.03
9: Computing Mechanical Stress
Stress-causing Mechanisms

The thermal expansion coefficient for certain materials can be found in the parameter database
as follows:
<material> Mechanics ThExpCoeff

Thermal expansion only affects the dilatational part of the constitutive equation:
 
 σkk = 3K  ε kk – 3α rel ΔT
k 
(927)
k

The change in the temperature is described by ΔT and α rel = α mat – α subs is the relative
thermal expansion coefficient of a certain material with respect to the thermal expansion
coefficient of the substrate.

In certain examples, like bending, you may want to use absolute expansion coefficients instead
of relative. This can be achieved by setting a parameter called RefThExpCoeff as follows:
pdbSetDouble Mechanics RefThExpCoeff 0.

All the thermal expansion coefficients are computed with respect to the substrate. This
reference value is changed by setting a certain region as substrate and resetting the thermal
expansion coefficient. A region can be tagged as the substrate in several ways:
■ Use the substrate keyword when defining regions with the region command before the
init command.
■ If a saved structure is being loaded into Sentaurus Process, a region is tagged as the
substrate with the command:
region name=<region_name> substrate

The reference thermal expansion coefficient can be directly set with:


pdbSetDouble Mechanics RefThExpCoeff <n>

This command overwrites the reference thermal expansion coefficient setting from the
substrate.

Materials expand differently in different temperature ranges. The linear dependency of the
thermal expansion coefficient on temperature can be specified by:
pdbSet Silicon Mechanics ThExpCoeffRate 4e-9

So the total thermal expansion coefficient at the elevated temperature T can be expressed as:
a = ThExpCoeff + ThExpCoeffRate × ( T – RoomTemperature ) (928)

where the room temperature is set to 300 K.

656 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Stress-causing Mechanisms

Lattice Mismatch
The presence of impurities, such as germanium and carbon, can change the lattice parameters
of crystalline silicon. This effect has been exploited in two ways technologically:
■ Introducing an impurity during epitaxy to form a strained layer.
■ Growing a substrate (typically, a very thick layer grown on a standard substrate) to produce
a customized lattice constant.

However, most technological applications are based on the first use, for example, when SiGe
source/drain pockets are grown on silicon substrates. For strained SiGe epitaxy, Sentaurus
Process automatically computes and applies the strain, and no user input is necessary.

For customized lattice-spacing substrates or other material systems, more setup of the tool is
required. This section explains the theory and implementation of this model and gives an
example. Figure 93 shows a simple SiGe wafer.
Ge Concentration

Strained Layer

0.01

Relaxed Layer

0.5

Graded Layer

0.7

Pure Silicon

X µm

Figure 93 Simple SiGe wafer for customizing lattice-spacing

There are four main regions of the manufactured substrate. The silicon region has the graded
buffer layer where the Ge concentration increases linearly from zero to the required
concentration. The manufacturing process of this layer is designed such that all the dislocations
are forced energetically to nucleate here, and the wafer is completely relaxed. The relaxed layer
that is grown on top of the graded layer has no dislocations and no strain. The lattice-spacing
of this layer is determined by the Ge mole fraction. The lattice-spacing of this layer controls
the strains obtained in the top strained layer. The top strained layer is grown depending on the
kind of strain required. If this layer is to be in a tensile state, the Ge concentration here must be
less than that of the relaxed layer. In the case of a compressive state, the Ge concentration must

Sentaurus Process User Guide 657


H-2013.03
9: Computing Mechanical Stress
Stress-causing Mechanisms

be greater than that of the relaxed layer. This layer has a thermodynamic limit on its thickness
since the strain energy it contains should be less than the dislocation nucleation energy. The
strain energy is directly proportional to the volume that is under the strain. The strain profile of
germanium in silicon is given approximately by:
ε = 0.0425x (929)

where x is the Ge mole fraction.

In the relaxed region, Sentaurus Process modifies the lattice-spacing. This results in no stresses
due to the presence of germanium. In the strained region, the lattice-spacing is fixed by the
lattice-spacing in the relaxed region. Now, using the Ge mole fraction in the strained region,
the effective unstrained lattice-spacing is computed, and the stresses are based on the difference
of the effective lattice-spacing and the lattice-spacing of the relaxed region.

For example, assume the strained layer has no Ge: The effective lattice-spacing is that of silicon
given by L Si . The lattice-spacing of the relaxed SiGe part is, for example, L SiGe . The strain in
the strained region is:
ε = ( L SiGe – L Si ) ⁄ L Si (930)

The strain computed using Eq. 930 is applied as a biaxial strain in the y- and z-directions.

Using the Lattice Mismatch Model

For the most common case of SiGe layers grown on silicon substrates, the model is switched
on by default, and strain is computed and updated as necessary. For simulating other material
systems, a few settings are required to instruct Sentaurus Process how the strain should be
computed.

If the substrate is not silicon or it is not the lowest most region in the substrate (that is, the
largest x-coordinate), you must identify the substrate region in the wafer. Use the region
command and include the keyword substrate for the appropriate region. If there is no
substrate defined in the loaded structure, use the following command to tag a region as a
substrate:
region name=<region_name> substrate

Regions isolated from the substrate by nonsubstrate materials must be tagged as substrate to
account for the lattice mismatch effect.

For systems other than SiGe, Sentaurus Process must know the strain profile of the field in the
substrate. The strain_profile command is used to specify this. The strain is specified as a
piecewise linear function of the mole fraction. For Ge in silicon, it is:
strain_profile Silicon species=Germanium strain= {0 0.0425} ratio= {0 1}

658 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Stress-causing Mechanisms

or:
pdbSet Silicon Germanium [Link] {0 0 1 0.0425}

The lattice mismatch model for SiGe is switched on by default. Next, for customized lattice-
spacing substrates, the substrate must be given a strain profile. The strain profile can be
specified with the substrate_profile command or the profile command as a piecewise
linear function of the x-coordinate:
profile region=<region_name> name=Germanium \
concentration= {1e10 1e10 2e22 2e22 1e10 1e10} \
xcoord= {0 0.01 0.011 0.5 0.7 10} linear

The location of the top of the relaxed region must be specified in Sentaurus Process. Generally,
this should not be at the top of the relaxed layer (see Figure 93 on page 657) because
germanium diffusion during any anneal step can cause unrealistic stress values to appear in this
area. The best location for the top of the relaxed region is approximately two-thirds of the
relaxed layer thickness from the top of the relaxed layer. In this example, it is approximately
0.35 μm . This reference position can be set with the command:
pdbSet Silicon Mechanics TopRelaxedNodeCoord 0.35e-4

NOTE In most cases, when the simulation does not require any SiGe substrate
(for example, when SiGe source/drain pockets are grown on silicon
substrates), this parameter is not needed. The reference lattice-spacing
is the one of the substrate; Sentaurus Process detects automatically the
adjacent silicon-like regions and applies to them the lattice mismatch
model. For this reason, the value of this parameter defaults to the bottom
coordinate of the structure.

Finally, for these concentrations to take effect and all mechanics computations to occur, you
must add a short diffusion step if there is none.

The update_substrate command is deprecated. If used, the update_substrate


command should be called only once for initialization assuming all strain profiles have not
been accounted for lattice-mismatch strains.

During dopant redistribution, the lattice-spacing and lattice mismatch strains are updated, and
the doping concentration at the top of the relaxed layer may change. To disable automatic
updating of lattice-mismatch strains, use:
pdbSet Silicon Mechanics UpdateStrain 0

To switch off the lattice-spacing tracking at the top of the relaxed layer, use:
pdbSet Mechanics LatticeHistory 0

Sentaurus Process User Guide 659


H-2013.03
9: Computing Mechanical Stress
Stress-causing Mechanisms

Total Concentration Model

The total concentration model computes the total contribution of lattice mismatch stress with
the current impurity concentration and the elastic moduli at the current temperature. For binary
compound materials, the elastic moduli are computed with the current mole fraction. With this
approach, the lattice mismatch stress is history independent and can change even with an
unchanged doping profile.

This is the default lattice mismatch model. To switch off this model by computing the lattice
mismatch stress increment with the elastic moduli during doping profile change, use the
command:
pdbSet Mechanics [Link] 0

Reference Concentration Model


The reference concentration model is a simplified lattice mismatch model, which does not
distinguish the relaxed region and strained region by specifying the location of the top of the
relaxed region. Only relative concentration accounts for the lattice-spacing and strain changes.
For example, the strain in SiGe is:
ε = 0.0425 ⋅ ( C Ge – C ref ) ⁄ C Si (931)

and the lattice-spacing is computed by L SiGe = L Si ⋅ ( 1 + ε ) , where C Si is the lattice density


of silicon and C ref is the reference Ge concentration in SiGe defined by:
pdbSet Silicon Germanium [Link] 1e22

The lattice-spacing and strain from this model may not be physical in the relaxed region.

The reference concentration model is used when the structure is flipped for backside
processing. To switch on this model, use the command:
pdbSet Mechanics [Link] 1

Strained Deposition
Impurity-induced stress can be introduced locally during deposition to account for a lattice-
spacing change due to stress rebalancing. For example, the SiGe lattice-spacing during
unconstrained growth gradually returns to the unconstrained SiGe lattice-spacing. The lattice
mismatch effect should diminish during the SiGe growth.

660 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Stress-causing Mechanisms

The following steps are performed when strained deposition is enabled:


1. Deposit a new layer.
2. Apply a doping profile, and compute the lattice spacing of the newly deposited layer.
3. Set the lattice spacing of the deposited layer to that of the underlayer, and compute the
mismatch strain.
4. Perform stress relaxation to establish stress equilibrium, and update the lattice spacing.
5. Merge layers if needed.

To correctly catch the relaxation effect, the thickness of the deposited layer must be chosen
properly; a fine mesh is required. Multiple deposition can be particularly useful in such cases.

To switch on this model, use the command:


pdbSet Mechanics StrainedDeposition 1

and set the option [Link] in the deposit command.

The total concentration model is disabled during strained deposition. The reference
concentration model should not be used with strained deposition.

Edge Dislocation
The existence of crystal lattice defects, such as dislocation, affects the channel stress state. The
impact of edge dislocation is included by superposing the dislocation-induced stress field from
elasticity theory. Each edge dislocation can be defined with:
stressdata [Link] [Link]= {<n> <n> <n>}
[Link]= {<n> <n> <n>} [Link]= {<n> <n> <n>} region=<c> <material>

where:
■ [Link] is the location of the dislocation core.
■ [Link] specifies the direction of the edge dislocation or the direction of the half
plane.
■ [Link] is Burger’s vector in the perpendicular direction to the half plane.

Here, the magnitude of [Link] is the slip distance. You must supply either a region
name or a material name. If region is specified, the stress field is superposed to this region.
If material is specified, the stress field is applied to all regions of crystalline material.

Sentaurus Process User Guide 661


H-2013.03
9: Computing Mechanical Stress
Stress-causing Mechanisms

n2

O n1

Figure 94 Edge dislocation located at the origin O; n1 is Burger’s vector and n2 is the
direction of the half plane

Singularity exists in the analytic solution at the dislocation core. Without using a nonlinear
atomistic theory, the stresses in the core region within a few magnitudes of Burger’s vector to
the dislocation core are smoothed away. The factor for this core radius can be defined with:
pdbSet Mechanics [Link] 2.0

A prototype model for positioning the edge dislocations is available by minimizing the elastic
strain energy [11]. The stress field from each edge dislocation is superposed. The elastic strain
energy is determined after force equilibrium with edge dislocations at their initial locations.
The initial location of edge dislocation serves as the initial guess and can be defined by:
stressdata ![Link] [Link]= {<n> <n> <n>} \
[Link]= {<n> <n> <n>} [Link]= {<n> <n> <n>} region=<c>

where [Link] is the initial location of the edge dislocation, and


![Link] is specified to delay applying the dislocation-induced stress field.
Multiple edge dislocations with different Burger’s vectors can be defined separately with this
syntax.

When all the edge dislocations for minimizing the elastic strain energy are specified, you can
start the optimization with the command:
stressdata [Link]= {<n> <n> <n>} [Link]= {<n> <n> <n>} \
[Link]

where [Link] and [Link] define the range of dislocation positions in the specified
region. Some additional parameters for optimization convergence control also can be defined
in this command (see stressdata on page 1081).

662 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Stress-causing Mechanisms

The movement of edge dislocations depends on the gradient of the total elastic strain energy
computed from a discrete integral over all elements. The target of the optimization is set to -5
multiplied by the absolute value of the starting elastic strain energy. This factor can be changed
with:
pdbSetDouble Mechanics [Link] <n>

The coordinates of the edge dislocations after optimization are returned in a Tcl list formatted
as <x1> <y1> <x2> <y2> ... for two dimensions, and <x1> <y1> <z1> <x2> <y2>
<z2> ... for three dimensions. The final stress state remains the same as before the edge
dislocations are introduced. The edge dislocations may stop at the local minimum where the
elastic strain energy has not reached the global minimum. In such a case, a new optimization
step must be started with the initial guess of the edge dislocation positions adjusted based on
the previous optimization result. It is also helpful to refine the mesh.

Intrinsic Stress
Certain process steps require the deposition of materials with intrinsic stresses. Sentaurus
Process can be used to model these process steps. The intrinsic stresses (StressELXX,
StressELYY, StressELZZ, StressELXY, StressELYZ, StressELZX) can be prescribed in
the deposit command (see deposit on page 870). After stress relaxation, the resulting stresses
will be less than the prescribed ones by default. You can scale the prescribed stresses so that
for a flat surface, the relaxed stress will be the same as the prescribed stress. To scale the
stresses, use the command:
pdbSet Mechanics StressRelaxFactor 1

For deposition in 3D, you can specify stresses in specific layers using the stressdata
command (see stressdata on page 1081). For example:
stressdata nitride syyi=1.4e10
10 2
sets the yy component of the intrinsic stress in the nitride to 1.4 ×10 dyn/cm .

For interconnect simulations, intrinsic stresses in metal lines can be modeled as width
dependent [12] with either a linear relation or a logarithmic relation, using the parameters
defined through the stressdata command:
■ If modeled as a linear relation, the total intrinsic stresses are given by:
w w w
σ xx = σ xxi + σ xx1 ------x σ yy = σ yyi + σ yy1 ------y σ zz = σ zzi + σ zz1 ------z
wb wb wb

■ If modeled as a natural logarithmic relation, the total intrinsic stresses are given by:
w w w
σ xx = σ xxi + σ xx2 ln ------x σ yy = σ yyi + σ yy2 ln ------y σ zz = σ zzi + σ zz2 ln ------z
wb wb wb

Sentaurus Process User Guide 663


H-2013.03
9: Computing Mechanical Stress
Saving Stress and Strain Components

where σ xxi, σ xx1, σ xx2, w b are defined through the parameters sxxi, sxx1, sxx2, and base of
the stressdata command. The other two components ( yy and zz ) are defined in the same
way, and w is calculated internally with respect to the region (not material) boundaries.

Stress Rebalancing after Etching and Deposition


When materials are removed from or added to a given structure, physical stress distributions
generally change with the corresponding geometry and boundary changes. In simulations, a
stress-rebalancing step is required to re-establish the stress equilibrium in the structure and to
conform the stress distributions to the new boundaries. By default, a stress-rebalancing
operation is called after etching or deposition is performed. To omit the stress-rebalancing step,
use:
pdbSet Mechanics EtchDepoRelax 0

Automated Tracing of Stress History

Thermal residual stress in a given device structure is a function of its fabrication history, which
consists of process steps at various temperatures and temperature ramps in between. To model
stress evolution accurately, all temperature ramps should be traced. When the pdb parameter
StressHistory is switched on, for example:
pdbSet Mechanics StressHistory 1

the temperature gaps between process steps such as diffusion, deposition, and etching are
detected and filled with instant stress-rebalancing, solving for thermal mismatch strains and
stresses.

Saving Stress and Strain Components


By default, stress-tensor components are saved on both elements and nodes. The elastic
portions of the strain-tensor components also are saved on both elements and nodes by default.
The elastic strains are computed from stresses using isotropic elasticity by default. The
anisotropic elasticity also can be used for a given crystalline material when the corresponding
pdb parameter Anisotropic is set. The elastic strain-field computing and saving operation
can be omitted by using the following command:
pdbSet Mechanics saveElasticStrain 0

The stress tensor can be decomposed and the resulting dilatational and deviatoric stress
components can be saved on nodes when the following pdb parameter is switched on:
pdbSet Mechanics decomposeStress 1

664 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Saving Stress and Strain Components

Description of Output Variables


The mechanics module in Sentaurus Process assumes that stresses and strains are defined on
elements. However, not all tools can read or visualize element values. For this reason,
Sentaurus Process performs an element-to-node interpolation of stresses as a postprocessing
step and writes both forms of stresses to output.

The element stresses are prefixed by StressEL and the nodal stresses are prefixed by Stress.
The tensor components are given by the post-fix (XX, YY, ZZ, XY, YZ, ZX).

In history-dependent materials, you cannot create a simple, closed-form relation between


stresses and strains. It is useful, however, to compute the elastic part. The elastic component of
the strain is an indicator of the stored strain energy in the system. In addition, the elastic
component of the strain is the total strain in elastic materials such as silicon and polysilicon.

Pressure is one-third of the negative of the trace of the stress tensor:


1
P = – ---  σ ii (932)
3
i

The field LatticeSpacing represents the lattice-spacing of the crystal at the location of the
node. This is controlled by the presence of lattice-altering species such as germanium or carbon
in the structure. In addition, the strain_profile command must be specified.

In Sentaurus Process, the select command is used to perform Tcl-level and Alagator-level
operations. To access the stress components, use the select command.

The stresses and strains are represented as symmetric tensors. To access the xx, yy, and zz
components of nodal stress values, the variable references for the select command are
Stress_xx, Stress_yy, and Stress_zz, respectively. To access the xy, yz, and zx
components, use Stress_xy, Stress_yz, and Stress_zx, respectively.

For element values, the Boolean keyword element of the select command must be set to
true. To access the xx, yy, and zz components of the element stress values, the variable
references for the select command are StressEL_xx, StressEL_yy, and StressEL_zz,
respectively. To access the xy, yz, and zx components, use StressEL_xy, StressEL_yz, and
StressEL_zx, respectively.

The old variable names for accessing the components of stress and strain tensors are supported
as well. A comparison of the new names and the corresponding deprecated names is included
in Table 65 on page 668.

Sentaurus Process User Guide 665


H-2013.03
9: Computing Mechanical Stress
Saving Stress and Strain Components

Table 64 presents descriptions of the mechanics-related output data and whether the variables
apply to elements or nodes.

Table 64 Variable names in Sentaurus Process output files


Variable name Element/Node Description Unit

Displacement_x Node X component of displacement cm

Displacement_y Node Y component of displacement cm

Displacement_z Node Z component of displacement cm

ElasticStrainXX Node XX component of elastic strain Unitless

ElasticStrainXY Node XY component of elastic strain Unitless

ElasticStrainYY Node YY component of elastic strain Unitless

ElasticStrainYZ Node YZ component of elastic strain Unitless

ElasticStrainZX Node ZX component of elastic strain Unitless

ElasticStrainZZ Node ZZ component of elastic strain Unitless

PlasticStrainXX Node XX component of plastic strain Unitless

PlasticStrainXY Node XY component of plastic strain Unitless

PlasticStrainYY Node YY component of plastic strain Unitless

PlasticStrainYZ Node YZ component of plastic strain Unitless

PlasticStrainZX Node ZX component of plastic strain Unitless

PlasticStrainZZ Node ZZ component of plastic strain Unitless

PlasticStrainEQV Node Equivalent plastic strain Unitless

ViscoPlasticStrainXX Node XX component of viscoplastic strain Unitless

ViscoPlasticStrainXY Node XY component of viscoplastic strain Unitless

ViscoPlasticStrainYY Node YY component of viscoplastic strain Unitless

ViscoPlasticStrainYZ Node YZ component of viscoplastic strain Unitless

ViscoPlasticStrainZX Node ZX component of viscoplastic strain Unitless

ViscoPlasticStrainZZ Node ZZ component of viscoplastic strain Unitless

ViscoPlasticStrainEQV Node Equivalent viscoplastic strain Unitless

CreepStrainELXX Element XX component of creep strain Unitless

CreepStrainELXY Element XY component of creep strain Unitless

CreepStrainELYY Element YY component of creep strain Unitless

CreepStrainELYZ Element YZ component of creep strain Unitless

666 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Saving Stress and Strain Components

Table 64 Variable names in Sentaurus Process output files


Variable name Element/Node Description Unit

CreepStrainELZX Element ZX component of creep strain Unitless

CreepStrainELZZ Element ZZ component of creep strain Unitless

CreepStrainELEQV Element Equivalent creep strain Unitless

SwellingStrainELXX Element XX component of swelling strain Unitless

SwellingStrainELXY Element XY component of swelling strain Unitless

SwellingStrainELYY Element YY component of swelling strain Unitless

SwellingStrainELYZ Element YZ component of swelling strain Unitless

SwellingStrainELZX Element ZX component of swelling strain Unitless

SwellingStrainELZZ Element ZZ component of swelling strain Unitless

LatticeSpacing Node Lattice-spacing cm

Pressure Node Pressure Pa

StressELXX Element XX component of element stress Pa

StressELXY Element XY component of element stress Pa

StressELYY Element YY component of element stress Pa

StressELYZ Element YZ component of element stress Pa

StressELZX Element ZX component of element stress Pa

StressELZZ Element ZZ component of element stress Pa

StressXX Node XX component of node stress Pa

StressXY Node XY component of node stress Pa

StressYY Node YY component of node stress Pa

StressYZ Node YZ component of node stress Pa

StressZX Node ZX component of node stress Pa

StressZZ Node ZZ component of node stress Pa

MisesStress Node von Mises stress Pa

DeformationResistance Node Deformation resistance Pa

ElasticEnergyDens Node Elastic strain energy density J/m3

PlasticEnergyDens Node Plastic strain energy density J/m3

ViscoPlasticEnergyDens Node Viscoplastic strain energy density J/m3

CreepEnergyDensEL Element Creep strain energy density J/m3

Sentaurus Process User Guide 667


H-2013.03
9: Computing Mechanical Stress
Saving Stress and Strain Components

NOTE The stresses and strains in the output file are according to the UCS,
unless you explicitly request to save in the DF–ISE coordinate system
by using the math [Link] command. The UCS is the same as
the Sentaurus internal coordinate system, but differs from the DF–ISE/
TDR coordinates. Therefore, it is important to note the directions of the
axes in 2D and 3D (see Figure 95).

UCS DF–ISE/TDR
Z
UCS DF–ISE/TDR Y
Y X
Z
X
Y

X Y X

Figure 95 (Left) Axis orientation in 2D and (right) axis orientation in 3D

The axis directions in DF–ISE/TDR coordinates are different in 2D and 3D in the UCS.
Figure 95 shows the axis orientation in 2D and in 3D. Consequently, the values of the stress
and strain components change.

For information about the TDR format, refer to the Sentaurus Data Explorer User Guide.

Table 65 maps the fields from the select command to the fields in the output files of
Sentaurus Process. The axis directions in Sentaurus Process are the same in 2D and 3D.

Table 65 Variable names in output files


Field name Field name (deprecated) 2D 3D

StressEL_xx StressELKK_x StressEL-YY StressEL-ZZ

StressEL_yy StressELKK_y StressEL-XX StressEL-YY

StressEL_zz StressELKK_z StressEL-ZZ StressEL-XX

StressEL_xy StressELIJ_x StressEL-XY -StressEL-YZ

StressEL_yz StressELIJ_y Not applicable StressEL-XY

StressEL_zx StressELIJ_z Not applicable -StressEL-ZX

Stress_xx StressKK_x Stress-YY Stress-ZZ

Stress_yy StressKK_y Stress-XX Stress-YY

Stress_zz StressKK_z Stress-ZZ Stress-XX

Stress_xy StressIJ_x Stress-XY -Stress-YZ

668 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
Saving Stress and Strain Components

Table 65 Variable names in output files


Field name Field name (deprecated) 2D 3D

Stress_yz StressIJ_y Not applicable Stress-XY

Stress_zx StressIJ_z Not applicable -Stress-ZX

Pressure Not applicable Pressure Pressure

MisesStress Not applicable MisesStress MisesStress

PrincipalStress1 Not applicable PrincipalStress1 PrincipalStress1

PrincipalStress2 Not applicable PrincipalStress2 PrincipalStress2

PrincipalStress3 Not applicable PrincipalStress3 PrincipalStress3

ElasticStrain_xx ElasticStrainKK_x ElasticStrain-YY ElasticStrain-ZZ

ElasticStrain_yy ElasticStrainKK_y ElasticStrain-XX ElasticStrain-YY

ElasticStrain_zz ElasticStrainKK_z ElasticStrain-ZZ ElasticStrain-XX

ElasticStrain_xy ElasticStrainIJ_x ElasticStrain-XY -ElasticStrain-YZ

ElasticStrain_yz ElasticStrainIJ_y Not applicable ElasticStrain-XY

ElasticStrain_zx ElasticStrainIJ_z Not applicable -ElasticStrain-ZX

PlasticStrain_xx PlasticStrainKK_x PlasticStrain-YY PlasticStrain-ZZ

PlasticStrain_yy PlasticStrainKK_y PlasticStrain-XX PlasticStrain-YY

PlasticStrain_zz PlasticStrainKK_z PlasticStrain-ZZ PlasticStrain-XX

PlasticStrain_xy PlasticStrainIJ_x PlasticStrain-XY -PlasticStrain-YZ

PlasticStrain_yz PlasticStrainIJ_y Not applicable PlasticStrain-XY

PlasticStrain_zx PlasticStrainIJ_z Not applicable -PlasticStrain-ZX

PlasticStrainEQV Not applicable PlasticStrainEQV PlasticStrainEQV

ViscoPlasticStrain_xx ViscoPlasticStrainKK_x ViscoPlasticStrain-YY ViscoPlasticStrain-ZZ

ViscoPlasticStrain_yy ViscoPlasticStrainKK_y ViscoPlasticStrain-XX ViscoPlasticStrain-YY

ViscoPlasticStrain_zz ViscoPlasticStrainKK_z ViscoPlasticStrain-ZZ ViscoPlasticStrain-XX

ViscoPlasticStrain_xy ViscoPlasticStrainIJ_x ViscoPlasticStrain-XY -ViscoPlasticStrain-YZ

ViscoPlasticStrain_yz ViscoPlasticStrainIJ_y Not applicable ViscoPlasticStrain-XY

ViscoPlasticStrain_zx ViscoPlasticStrainIJ_z Not applicable -ViscoPlasticStrain-ZX

ViscoPlasticStrainEQV Not applicable ViscoPlasticStrainEQV ViscoPlasticStrainEQV

Displacement_x Not applicable Displacement-Y -Displacement-Z

Displacement_y Not applicable Displacement-X Displacement-Y

Sentaurus Process User Guide 669


H-2013.03
9: Computing Mechanical Stress
References

Table 65 Variable names in output files


Field name Field name (deprecated) 2D 3D

Displacement_z Not applicable Not applicable Displacement-X

The directionality is the same for other tensor fields such as StressEL and ElasticStrain.

Tracking Maximum Stresses


During a typical process flow, the maximum stresses may be reached in a process step and,
subsequently, the stresses may fall. If the material is prone to failure through delamination or
nucleation of dislocations, the failure may occur when the maximum stress is reached. To
always track the maximum stresses, set the following parameter:
pdbSet Mechanics SaveMaxStress 1

The StressMaxEL field is updated when the current stress is greater than the stored stress. In
this way, the maximum is maintained throughout the process flow. The maximum element
stresses and the von Mises stress are computed and stored.

By using the stressdata command (see stressdata on page 1081), a list of maximum stresses
(hot spots) and their locations can be obtained. The hot spots can be evaluated by one of the six
stress components (sxx, syy, szz, sxy, syz, and szx), the von Mises stress, the principal stress,
or the hydrostatic stress (negative pressure value or the pressure). The command returns a list
of maximum stress values (largest magnitude, largest tensile, largest compressive) and the
corresponding location coordinates.

References
[1] J. C. Simo and T. J. R. Hughes, Computational Inelasticity, vol. 7, New York: Springer,
1998.
[2] W. Ramberg and W. R. Osgood, Description of Stress-Strain Curves by Three
Parameters, National Advisory Committee for Aeronautics, Technical Notes No. 902,
Washington, July 1943.
[3] J. Lubliner, Plasticity Theory, Macmillan: New York, 1990.
[4] S. B. Brown, K. H. Kim, and L. Anand, “An Internal Variable Constitutive Model for
Hot Working of Metals,” International Journal of Plasticity, vol. 5, no. 2 pp. 95–130,
1989.

670 Sentaurus Process User Guide


H-2013.03
9: Computing Mechanical Stress
References

[5] G. G. Weber et al., “An Objective Time-Integration Procedure for Isotropic Rate-
Independent and Rate-Dependent Elastic-Plastic Constitutive Equations,” International
Journal of Plasticity, vol. 6, no. 6, pp. 701–744, 1990.
[6] G. Z. Wang et al., “Applying Anand Model to Represent the Viscoplastic Deformation
Behavior of Solder Alloys,” Journal of Electronic Packaging, vol. 123, no. 3, pp. 247–
253, 2001.
[7] Q. Wang et al., “Anand Parameter Test for Pb-Free Material SnAgCu and Life
Prediction for a CSP,” in 8th International Conference on Electronic Packaging
Technology (ICEPT), Shanghai, China, pp. 1–9, August 2007.
[8] J. Wilde et al., “Rate Dependent Constitutive Relations Based on Anand Model for
92.5Pb5Sn2.5Ag Solder,” IEEE Transactions on Advanced Packaging, vol. 23, no. 3,
pp. 408–414, 2000.
[9] H. J. Frost and M. F. Ashby, Deformation-Mechanism Maps, Pergamon Press: Oxford,
1982.
[10] S. Wiese, F. Feustel, and E. Meusel, “Characterisation of constitutive behaviour of
SnAg, SnAgCu and SnPb solder in flip chip joints,” Sensors and Actuators A, vol. 99,
no. 1–2, pp. 188–193, 2002.
[11] R. Gatti et al., “Dislocation engineering in SiGe heteroepitaxial films on patterned Si
(001) substrates,” Applied Physics Letters, vol. 98, no. 12, p. 121908, 2011.
[12] Y.-C. Joo, J.-M. Paik, and J.-K. Jung, “Effect of Microstructure and Dielectric Materials
on Stress-Induced Damages in Damascene Cu/Low-k Interconnects,” in MRS
Symposium Proceedings, Materials, Technology and Reliability of Advanced
Interconnects, vol. 863, San Francisco, CA, USA, p. B7.6/O11.6, March 2005.

Sentaurus Process User Guide 671


H-2013.03
9: Computing Mechanical Stress
References

672 Sentaurus Process User Guide


H-2013.03
CHAPTER 10 Mesh Generation

This chapter describes the mesh algorithms and meshing parameters


available in Sentaurus Process.

Overview
Sentaurus Process automatically generates meshes as they are needed. The behavior of the
automatic-meshing scheme is different in 3D than in 1D and 2D because of the time required
to generate 3D meshes. In 1D and 2D, meshes are generated after every geometry operation
such as etch, deposit, and transform. In 3D, meshes are only generated immediately before
steps that require a bulk mesh, such as a diffuse or an implant command, and structure
saving. This scheme can reduce the time spent when there are multiple geometry-changing
steps without a diffuse or an implant command (or any other step requiring a mesh) in
between.

Sentaurus Process uses Sentaurus Mesh as its mesh generation engine. Details of the meshing
algorithms are provided, but for simplification, Sentaurus Mesh is used throughout.

The mesh generation process starts with a bisection algorithm, which places mesh points as
instructed by the user. Afterwards, the mesh elements are created using a modified Delaunay-
meshing algorithm. Refer to the Mesh Generation Tools User Guide for details about Sentaurus
Mesh.

The meshes generated within Sentaurus Process can be refined adaptively, statically, or as a
combination of adaptive and static refinements. The refinement can be specified using one of
the major types of refinement box:
■ Field based (adaptive meshing)
■ Mask based
■ Uniform (standard)
■ Interface axis-aligned
■ Interface offsetting (offset normal to the interface)

All these refinement types are user controllable. In addition, Sentaurus Mesh enforces mesh
smoothing to limit the changes in element size from one element to the next. This smoothing
is important for mechanics accuracy and convergence behavior (see Mesh Refinement on
page 674).

Sentaurus Process User Guide 673


H-2013.03
10: Mesh Generation
Mesh Refinement

One important algorithm affecting refinement behavior is the UseLines algorithm. This
algorithm inserts lines created using the line command into the internal bisection algorithm
before any other lines are introduced. Further mesh refinement proceeds by bisecting the boxes
created by the UseLines lines. This has the effect of isolating static regions of a structure from
regions where the boundaries are moving due to geometric operations. Geometry movement
naturally causes perturbations to the mesh lines. The UseLines lines compartmentalize this
mesh movement to minimize solution degradation from interpolation. For more information,
see UseLines: Keeping User-defined Mesh Lines on page 702.

NOTE Because this internal bisection algorithm in Sentaurus Process is


different than the one used to create mesh refinement in the stand-alone
Sentaurus Mesh tool, it is not possible to create meshes identical to
those created with Sentaurus Mesh. However, element quality, stability,
and the Delaunay properties should be qualitatively the same.

Mesh Refinement
Mesh refinement is a two-step process:
■ First, you define the refinement box.
■ Second, the mesh is refined when the next remesh occurs either with an explicit
grid remesh call or during standard geometry modifications such as etch, deposit, clip,
or native layer formation.

The refinement boxes remain valid unless the list of refinement boxes is cleared with the
refinebox clear command.

All refinement boxes have refinement criteria that add mesh and constraints that can be used to
limit where the mesh refinement occurs. One type of refinement criteria is available for each
type of box, and it essentially defines the box type. The refinement criteria and, therefore, the
refinement box type can be either static or adaptive. All types of refinement box can be mixed
as required. The refinement box constraints are specified along with the refinement criteria in
the refinebox command and can be used in combination within one command.

The constraints available include:


■ A material constraint using the materials parameter that takes a list of materials.
■ Region constraints using the regions parameter that takes a list of region names.
■ The min and max parameters that limit the size of the refinement box (which by default
applies to all of the space).

674 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
Mesh Refinement

Refinement information also can be extracted and written to a file readable by Sentaurus Mesh
using the mshcmd flag in conjunction with the smesh parameter of the struct command (see
struct on page 1086).

Viewing Mesh Refinement

To aid in setting mesh refinement, you can store the current minimum edge length in each
direction as a field using the command:
pdbSet Grid [Link] 1

When specified, Sentaurus Process computes the smallest edge length in each direction and
saves it in three fields:
■ MinXEdgeLength
■ MinYEdgeLength (for 2D or 3D structures)
■ MinZEdgeLength (for 3D structures)

In addition, it prints the average edge length to the screen.

Static Refinement

Standard Refinement Boxes

The standard refinement box allows you to specify a smoothly varying mesh density inside the
refinement box at three locations in the x-, y- and z-directions using the xrefine and
yrefine, and zrefine parameter lists, respectively. If all three xrefine, yrefine, and
zrefine values are specified, the mesh density varies quadratically in that direction. If two
are specified, the variation is linear from top to bottom. If only one value is specified, a constant
mesh density is assumed.

Refinement boxes also can be limited to refine only in one specific material or region using the
regions or materials parameter.

Examples

This is an example of specifying two refinement boxes and calling remesh:


refinebox min= {-0.25 0.4 0.0} max= {0.4 0.6 1.0} xrefine= {0.1 0.06 0.1} \
yrefine= {0.1 0.01 0.1} zrefine = {0.01} oxide
refinebox min= {0.6 0.6} max= {0.8 0.8} xrefine= 0.1 silicon
grid remesh

Sentaurus Process User Guide 675


H-2013.03
10: Mesh Generation
Mesh Refinement

NOTE Calculating the linear or quadratic variation of the mesh density when
two or three x-, y-, or z-direction values are given requires the
specification of min and max. If min and max are not specified and at
least one region is specified, the minimum and maximum values of the
bounding box for that region serve as min and max for the calculation.
If more than one region is specified, only the bounding box of the first
region is used for the calculation, although all regions are used as
constraints to the refinement.

Interface Refinement Boxes

Refinement near interfaces can be specified using the refinebox command. So it is possible
to have a large global default minimum interface mesh-spacing, for example, and a smaller
localized value inside a box. The parameters affecting interface refinement are demonstrated
in the following examples:
■ Set the mesh criteria near the interface. This is the maximum size the first normal edge can
be, and it is possible for the edge to be 0.5 [Link]:
pdbSet Grid SnMesh [Link] <n>
■ Set the growth rate of the edge size away from the interface:
pdbSet Grid SnMesh [Link].2d <n>
pdbSet Grid SnMesh [Link].3d <n>

■ Set [Link] or [Link] or both locally within a refinement


box:
refinebox [Link] = <n> [Link] = <n> \
[[Link]=<list> | [Link] = <list of pairs>]

Interface Offsetting Refinement Boxes


In addition, the Sentaurus Mesh offsetting algorithm can be used to create offsetting layers at
interfaces by giving the offsetting keyword, which also permits regionwise interface
specification in addition to the materialwise possibility:
refinebox offsetting [Link] = <n> [Link] = <n> \
[[Link]=<list> | [Link] = <list of pairs>] \
[[Link]=<list> | [Link] = <list of pairs>]

For Sentaurus Mesh offsetting, an additional keyword [Link] defines the


number of layers to be generated at the interface.

676 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
Mesh Refinement

The [Link] can be defined globally using the mgoals command, or on a


materialwise or regionwise basis using the refinebox command as shown in the following
three possibilities:
mgoals [Link] = <i>
refinebox [Link] = <i> [Link]= { <string list> }
refinebox [Link] = <i> [Link]= { <string list> }

NOTE For Sentaurus Mesh offsetting, [Link] can only be


defined on a material or region basis with [Link] or
[Link] or globally, not with [Link]
or [Link].

NOTE For Sentaurus Mesh offsetting, [Link] and


[Link] can only be defined by material pair or region
pair with [Link] or [Link] or
globally, not with [Link] or [Link].

Offset-meshing parameters defined at interfaces using [Link] or


[Link] are interpreted in a symmetric way by default. This means that,
given the specification of a material or region pair x 1 ⁄ x 2 , the parameters are defined for both
x 1 at the x 2 interface and for x 2 at the x 1 interface. If the ![Link] keyword is given,
Sentaurus Mesh interprets x 1 ⁄ x 2 in a nonsymmetric way, that is, only for x 1 at the x 2
interface.

Refinement Inside a Mask

Mask-based refinements are similar to standard refinements (see Standard Refinement Boxes
on page 675), except that they have an additional constraint that is defined by a volume
specified by a previously existing mask. This constraint is applied in addition to the normal box
constraint defined by the min and max parameters. Mask-based refinements are a way to have
layout driven refinements.

For example, if you specify min and max, the refinement area will be the intersection of the
specified rectangle and the mask. If you specify a material name, the final refinement will be
the intersection of the regions with such a material and the mask.

These constraints are specified using the refinebox command with the following options:
■ A mask name (mask).
■ Minimum and maximum coordinates in x where the refinement will be applied
([Link] and [Link]).
■ An optional parameter to see if the refinement should extend some distance apart from the
mask (extend).

Sentaurus Process User Guide 677


H-2013.03
10: Mesh Generation
Mesh Refinement

Negative masks are also allowed. Mask boundaries are never interpreted as being infinite in any
direction, even if they extend far from the simulation boundary. Consequently, shrinking a
refinement by specifying a negative extension parameter might leave a region uncovered, even
if the mask originally extended past the boundary. For example, if a mask from (–0.010 to 1)
covers a domain from (0 to 2), applying an extend parameter of –0.02 will produce a
refinement extending from (0.010 to 0.98), thereby leaving the region from 0 to 0.010
unrefined.

Example

First, create a mask, and then a refinement box can be issued:


polygon name=pol segments= { -0.5 -0.5 -.25 -.5 -.25 -.05 .25 -.05 .25 -.5 \
.5 -.5 .5 0 -.5 0 }
mask name = "Mask" polygons= { pol }
#now that there is a mask it can be used to produce a refinement.
refinebox name = "refi_mask" mask = "Mask" xrefine= { .075 .075 .075 } \
yrefine= { .075 .075 .075 } [Link] = 0 [Link] = 0.05 \
extend = -0.1

Refinement Near Mask Edges

Refinement also can be constrained to be near mask edges. This mask edge–based refinement
has three parameters available in the refinebox command:
■ [Link]
■ [Link]
■ [Link]

The parameter [Link] must be specified to switch on mask edge–


based refinement and to set the lateral extent of the refinement from the mask edge. Vertically,
the mask edge–based refinement can be controlled with the x-coordinate of the min and max
parameters. The minimum mesh spacing near the mask edge is set with [Link] (the
default is taken from the pdb parameter Grid SnMesh [Link]), and the growth
of the edge length away from the mask edge is specified with [Link] (default is 1.0,
meaning the constant edges of lengths [Link] in the normal direction).

NOTE Similar to the pdb parameter Grid SnMesh [Link],


actual edge lengths may be up to two times smaller than
[Link] at the mask edge because of the binary-tree
refinement algorithm.

An example of using mask edge–based refinement is:


polygon name=p1 segments= { 1.0 1.0 1.0 5.0 3.0 5.0 3.0 2.5 2.0 2.5 2.0 1.0 }
mask name=m1 polygons = p1

678 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
Mesh Refinement

refinebox clear
# Prevent mesh propagation by defining regular coarse mesh
refinebox yrefine = 0.5 zrefine = 0.5
# Add edge-based refinement
refinebox mask = m1 [Link] = 0.08 [Link] = 0.25

grid remesh

The resist layer was created later using the command;


photo mask = m1 thickness = 0.05

Figure 96 shows the result.

Figure 96 Mask edge–based refinement shown on the mask and in silicon

Adaptive Refinement
Tailoring a mesh to a specific problem with static refinement boxes can be tedious and time-
consuming. In addition, for some applications, dopant profiles evolve so much during the
process that the areas where a finer mesh was needed at the beginning are very different from
the areas where a finer mesh is needed at the end.

To accurately capture the entire evolution with a static mesh, it is necessary to put a fine mesh
over large areas of the structure leading to long simulation times and large memory use.
Adaptive meshing in Sentaurus Process addresses these issues.

Sentaurus Process User Guide 679


H-2013.03
10: Mesh Generation
Mesh Refinement

The adaptive-meshing feature has a major component: field-based refinement.

For details, see Tips for Adaptive Meshing on page 689.

The refinement parameters and criteria are the same for adaptive implantation as for field-
based. When adaptive meshing is switched on, field-based refinement is performed during
every remesh step and for any dimension (in 1D, 2D, or 3D). This happens for all etch, deposit,
implant, native layer, regrid, and transform operations. In addition, during solve at a specified
step interval, a check of the current mesh is made to determine whether a remesh is required;
then the remesh is performed if necessary. For details, see Adaptive Meshing during Diffusion
on page 687. Finally, when adaptive meshing is used during implantation, in addition to
adaptively refining the newly implanted species and damage, adaptive refinement (also based
on existing fields) is applied simultaneously.

Adaptive Refinement Criteria


Numerous refinement functions are available to deal with differing fields and situations. All
functions involve some comparison between values on neighboring nodes and possible values
between neighboring nodes. In some cases, the same refinement function is available in
Sentaurus Mesh, and similar results to Sentaurus Mesh refinement will be obtained. The
following refinement criteria are available:
■ Relative difference (default)
■ Absolute difference
■ Logarithmic difference
■ Inverse hyperbolic sine (asinh) difference
■ Gradient
■ Local dose error
■ Interval refinement

These refinements can be applied globally (default) or they can be limited as follows:
■ Boxwise
■ Materialwise
■ Regionwise

Detailed descriptions of the refinement types, their respective control parameters, and
instructions for applying refinement constraints are given in subsequent sections. The default
adaptive meshing parameters have been set to apply only relative difference criteria to the
whole structure, and they typically produce a fairly coarse mesh. It is necessary to set one
criterion or more to produce a mesh sufficiently fine to reach a required accuracy.

680 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
Mesh Refinement

Adaptive meshing is switched off by default. To switch on adaptive meshing, use:


pdbSet Grid Adaptive 1
pdbSet Grid SnMesh UseLines 1 ;# Recommended with adaptive meshing

Relative Difference Criteria

The relative difference between two neighboring nodes is computed as follows:


C1 – C2
2 ---------------------------------- (933)
( C1 + C2 + α )

where C i is the field value on node i , and α is the field-specific refinement parameters set
with:
pdbSet Grid <Field> [Link] <n>

or [Link] and [Link], which are parameters of the refinebox command.

If the value of the expression in Eq. 933 is greater than the maximum relative difference, the
edge between node 1 and node 2 is split. To set the maximum relative difference, use:
pdbSet Grid <Field> [Link] <n>

or [Link] and [Link], which are parameters of the refinebox command.

The quantity <Field> is the name of the field, and <n> is a unitless number for
[Link] and [Link]; the units are the same as the units of the field.
The default values for [Link] and [Link] are set from <Field>
= AdaptiveField, except for the standard dopants, point defects, and Damage that have
entries in the PDB.

The density of the mesh is sensitive to [Link] because it represents the target
relative change of the field across an edge. For many standard situations, a number of the order
of 1.25 gives a coarse mesh, and a number of approximately 0.5 often gives a fine mesh. The
parameter α sets a smooth cutoff such that values of the field below α result in no refinement.

NOTE The relative difference criteria should only be used with fields that are
always positive.

Absolute Difference Criteria

The absolute difference between two neighboring nodes is computed simply:


C1 – C2 (934)

Sentaurus Process User Guide 681


H-2013.03
10: Mesh Generation
Mesh Refinement

where C i is the field value on node i . If the value of the expression in Eq. 934 is greater than
the maximum absolute difference, the edge between nodes 1 and 2 is split. The maximum
allowable absolute difference can be set with:
pdbSet Grid <Field> [Link] <n>

Logarithmic Difference Criteria

The logarithmic (base 10) difference between two neighboring nodes is computed as follows:
log ( C 1 + α ) – log ( C 2 + α ) (935)

where C i is the field value on node i , and α is the low value cutoff that can be set with:
pdbSet Grid <Field> [Link] <n>

or [Link] and [Link], which are parameters of the refinebox command.

If the value of the expression in Eq. 935 is greater than the maximum logarithmic difference,
the edge between nodes 1 and 2 is split. To set the maximum logarithmic difference, use:
pdbSet Grid <Field> [Link] <n>

or [Link] and [Link], which are parameters of the refinebox


command.

NOTE The logarithmic difference criteria should only be used with fields that
are always positive. Use the asinh criteria for fields that can have
negative values such as stresses.

Inverse Hyperbolic Sine (asinh) Difference Criteria

The asinh difference between two neighboring nodes is computed as follows:


asinh ( C 1 ) – asinh ( C 2 ) (936)

where C i is the field value on node i . If the value of the expression in Eq. 936 is greater than
the maximum asinh difference, the edge between nodes 1 and 2 is split. To set the maximum
asinh difference, use:
pdbSet Grid <Field> [Link] <n>

or [Link] and [Link], which are parameters of the refinebox


command.

682 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
Mesh Refinement

Gradient Criteria

The gradient between two neighboring nodes is computed as follows:


C1 –C2
------------------- (937)
l 12

where C i is the field value on node i , and l ij is the length of the edge between nodes i and j .
If the value of the expression in Eq. 937 is greater than the maximum gradient, the edge
between the two nodes is split. To set the maximum gradient, use:
pdbSet Grid <Field> [Link] <n>

or [Link] and [Link], which are parameters of the refinebox


command.

Local Dose Error Criteria

If an edge between two neighboring nodes is not split, the local dose error is computed as
follows:
0.5C 12 – 0.25C 1 – 0.25C 2 l 12 s 12 (938)

where:
■ C i is the field value on node i .
■ C ij is the concentration at the midpoint between nodes i and j .
■ l ij is the length of the edge between nodes i and j .
■ s ij is the box size perpendicular to the edge between nodes i and j (see Figure 97).

Cij
Ci s ij
Cj
i j

l
ij
l
ij

Figure 97 (Left) One-dimensional and (right) 2D representation of dose loss criteria

The function in Figure 97 (left) is taken from the previous mesh (or from an analytic
implantation). The box with four points in Figure 97 (right) represents one cell of the mesh

Sentaurus Process User Guide 683


H-2013.03
10: Mesh Generation
Mesh Refinement

refinement tree. The shaded area is the part of the 2D field under consideration. The dose in the
shaded area is computed in two ways:
■ As is
■ If the edge between i and j is split

If the difference between these two ways is greater than [Link], the edge is split.

The box size is 1.0 (unitless) in 1D; it is the box width (in cm) in 2D; and it is the box area
–2
( cm ) perpendicular to the edge i – j in 3D. If the value of the expression in Eq. 938 is greater
than the normalized maximum local dose error, the edge between the two nodes is split. The
local dose error can be set with:
pdbSet Grid <Field> [Link] <n>
–2
where <n> has units of cm , or [Link] and [Link], which are
parameters of the refinebox command.

The local dose error is first multiplied by the simulation size before comparing it to the
expression in Eq. 938. The simulation size is 1.0 (unitless) in 1D, the simulation width (in cm)
–2
in 2D, and the simulation lateral area in 3D (in cm ).

To estimate the total dose loss, you must estimate how many nodes carry a significant
concentration of the field in question and then multiply that number by the local dose error to
obtain approximately the maximum total dose error expected. (In practice, the dose error is
often considerably less than this.) This quantity is relatively easy to understand and is less
sensitive than some other parameters to process conditions.

Interval Refinement

Interval refinement provides a way to refine the mesh such that field values within a certain
interval are well resolved. Interval refinement produces mesh edges of a specified length
wherever the field values are within a specified interval. Four parameters are required to define
an interval refinement:
■ A minimum and maximum value
■ C min and C max
■ A target length, lt
■ A target length scaling, s

To preserve the anisotropy of the mesh, interval refinement examines each edge of a refinement
cell and calculates an effective edge length l eff defined by:
l eff = abs(( r 1 – r 2 ) ⋅ ∇C) (939)

684 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
Mesh Refinement

where r 1 and r 2 are the endpoints of the edge, and ∇C is the average gradient of the field in
the refinement cell. Edges that are nearly parallel to the contours of the field have effective edge
lengths near zero. Edges that are nearly perpendicular to the contours have effective edge
lengths near their actual edge length. Since edges are split only when they are longer than a
given target length, edges that are parallel to the field contours are allowed to be longer than
those that are perpendicular.

Interval refinement will split any edge whose effective edge length exceeds the effective target
length. The effective target length is calculated differently depending on whether the field
values on the edge overlap the interval specified by C min (refinebox [Link]) and C max
(refinebox [Link]).

Let C 1 and C 2 be the values of the field on the endpoints of the edge. If the relation
C max > C > C min is satisfied for any value of C between C 1 and C 2 , the edge overlaps the
interval.

For edges that overlap the interval, the effective target length is exactly the target length that
you specify (refinebox [Link]), that is:
lt eff = lt (940)

For edges that do not overlap:


2
lteff = lt ( 1 + log C a – log C b ) s (941)

where C a is either C min or C max , C b is either C 1 or C 2 , and the values of C a and C b are
chosen to minimize the difference.

The formula for lt eff outside the interval produces a graded mesh with an edge length that falls
off parabolically with distance from the interval. Default values for the parameters of the
interval refinements are defined in the PDB.

Table 66 lists refinebox parameters in the left column that can be used to specify boxwise
refinement. The right column lists the corresponding PDB parameters that can be used to
specify refinement criteria globally.

Table 66 Summary of refinement parameters


refinebox parameter Corresponding entry in parameter database

[Link], [Link] Grid <Field> [Link]

[Link], [Link] Grid <Field> [Link]

[Link], [Link] Grid <Field> [Link]

[Link], [Link] Grid <Field> [Link]

Sentaurus Process User Guide 685


H-2013.03
10: Mesh Generation
Mesh Refinement

Table 66 Summary of refinement parameters


refinebox parameter Corresponding entry in parameter database

[Link], [Link] Grid <Field> [Link]

[Link], [Link] Grid <Field> [Link]

[Link], [Link] Grid <Field> [Link]

[Link] Grid <Field> [Link]

[Link] Grid <Field> [Link]

[Link] Grid <Field> [Link] (um)

[Link] Grid <Field> [Link]

Localizing Adaptive Meshing using refinebox Command

Adaptive meshing has been implemented through generalized refinement boxes. As such,
adaptive refinement and the refinement parameters themselves can be set in a boxwise manner.
The default adaptive refinement box covers the entire structure and relies on global parameters
and field-based parameters for its default values. If you specify an adaptive refinement box, the
default box is not created.

NOTE For field-based refinement, any adaptive refinebox that is manually


created overrides the default adaptive refinebox. The default adaptive
refinebox (that covers the entire structure) can be created explicitly
with the command refinebox adaptive.

You can create one or more adaptive refinement boxes with different parameters. The most
commonly used parameters control the size of the box (min and max), and the minimum and
maximum edge lengths ([Link] and [Link]).

The default list of fields upon which to refine includes all dopants, point defects, and clusters
in the structure. This list can be modified in several ways. For example, the following command
overrides the default list:
pdbSet Grid <field> DoNotAdapt 1

The next example adds Field1 and Field2 to the default list for this particular box:
refinebox [Link] = { Field1 Field2 ... }

The following command redefines the list of fields to be used as the basis for refinement; if set,
this command overrides any add or subtract settings:
refinebox [Link] = { Field1 Field2 ... }

686 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
Mesh Refinement

Examples

To switch on adaptive meshing, use:


pdbSet Grid Adaptive 1

To apply adaptive meshing only inside a box and to set the anisotropic edge minimum in the
same box, use:
refinebox min= {0.0 0.0} max= {0.01 0.5} [Link]= {0.001 0.25} adaptive

To refine only considering arsenic and boron, use:


refinebox [Link] = {Arsenic Boron} adaptive

To create a default box and, in addition, to create a refinement box where r F is modified locally
for all species and α F is modified for only boron, use:
refinebox adaptive
refinebox min= {0.0 0.0} max= {0.01 0.5} [Link]= 0.9 \
[Link]= {Boron = 1.0e14} adaptive

Adaptive Meshing during Diffusion


Adaptive meshing during diffusion is switched on by default when adaptive meshing is
switched on (in other words, pdbGet Grid Adaptive returns 1). There is an additional
control that allows for the prevention of adaptive meshing at low temperatures, which is
specified like this:
pdbSet Grid [Link] <Temp C>

In any case, by default adaptive meshing is not performed during oxidation or silicidation. You
can switch on adaptive meshing during these steps by setting:
pdbSet Diffuse [Link] 10 ;# during inert annealings
pdbSet Diffuse [Link] -1 ;# during oxidation and silicidation
pdbSet Diffuse [Link] -1 ;# during epitaxy

where <number> is the fixed interval of time steps. For the first parameter
[Link], the default is 10 steps and, for the other two, the default is –1,
meaning it is off by default. After the specified number of steps is taken, the mesh is checked
to see if the refinement criteria are satisfied (within some tolerance); a remesh is performed if
necessary. Currently, the use of adaptive meshing during oxidation and epitaxy is possible.

Sentaurus Process User Guide 687


H-2013.03
10: Mesh Generation
Mesh Refinement

The refinement criteria check is performed as follows: Axis-aligned edges are checked to see
if they satisfy:
actual < [Link] * error / maxerror (942)

where:
■ [Link] is a direction-dependent parameter of the PDB under Grid.
■ error is the error functions given in Eq. 933–Eq. 938.
■ maxerror is the maximum error parameter associated with each refinement type.
■ actual is the ‘actual’ edge length.

There is a cutoff percentage PDB parameter Grid [Link] that limits the percent
of edges that fail (Eq. 942) before a remesh is called. This check procedure is performed for
every Diffuse [Link] whether a remesh is called or not. You can omit
the refinement criteria check (which can be time-consuming for large meshes) and force a
remesh by setting:
pdbSet Grid [Link] 0

Table 67 summarizes the parameters available for adaptive meshing for diffusion.

Table 67 Adaptive meshing parameters


Parameter Comment

Compute [Link] Number of diffusion steps before refinement criteria are checked to
decide if remeshing is required.

Compute [Link] To help with tailoring the mesh, files can be saved immediately before
adaptive remeshing occurs during diffusion. The files are named
<input_file_stub>_preregrid_###_fps.tdr
where <input_file_stub> would be, for example n1, if the
input file was n1_fps.cmd and ### is an increasing index starting
with 001.

Grid [Link] If Grid [Link] is set to 1 (true), then refinement criteria


are checked and remeshing occurs if necessary.

If it is set to 0 (false), remeshing occurs without a check.

Grid [Link] Tolerance factor for marking an edge too long.

Grid [Link] Allowed percentage of edges too long.

Adaptive Meshing during Implantation


Adaptive meshing during implantation is active whenever adaptive meshing is switched on (in
other words, pdbGet Grid Adaptive returns 1). It also may be enabled or disabled for each
implant step using the adaptive parameter of the implant command.

688 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
Mesh Refinement

Adaptive meshing during implantation differs from adaptive meshing for other process steps in
one key respect: When performing an implantation step, the implanted concentrations are
defined by analytic expressions instead of discretized field values. Therefore, the final values
for the implanted fields are not known before the remeshing step begins so they must be
computed as the mesh is refined.

By default, refinement on damage is handled differently from refinement on dopants. For the
analysis of damage, the gradient is usually uninteresting, but the location of the crystal–
amorphous interface is often critical. Therefore, refinement should be added to the mesh, not
according to the damage gradient, but rather according to whether the damage is near the
crystal–amorphous threshold. This is accomplished using an interval refinement (see Interval
Refinement on page 684). By default, the minimum and maximum values of the interval are set
22 –3
to the value of the crystal–amorphous threshold ( 1.15 × 10 cm ). The target length is
0.002 μm , and the target length scaling is 1.0.

NOTE The default target-length setting of 2 nm can produce many mesh points
for amorphizing implants in 3D. You should first try using a larger
setting and then reduce it if necessary.

As the mesh is constructed, each cell of the refinement tree is evaluated to determine whether
the refinement criteria are satisfied. The criteria for as-implanted fields are computed for each
edge of the cell. If any criterion is not satisfied, the cell is split and the as-implanted
concentrations are computed at the newly introduced points. This process continues until all
refinement criteria are satisfied (or the minimum edge length is reached) for all cells on the
refinement tree. Therefore, the constructed mesh satisfies the refinement criteria for all fields
present in the structure, not solely the implanted fields.

For adaptive meshing during MC implantation, the analytic module is used to compute
refinement, the mesh is formed, and afterwards, the implant profiles are computed with the MC
module.

Tips for Adaptive Meshing

The following list gives useful suggestions when using adaptive meshing:
■ When setting boxwise meshing criteria, remember that any global criteria you have
specified still apply inside the box. This means you cannot use boxwise meshing criteria to
establish less stringent meshing criteria (such as a larger relative error) inside a box because
the more stringent global criteria still apply. If you want to use different criteria for different
parts of the structure, set the global criteria to the least stringent criteria and use boxes for
more stringent criteria.
■ To switch on adaptive meshing and use all the defaults, all that is needed is pdbSet Grid
Adaptive 1. The main parameter for adjusting the amount of refinement is pdbSet
Grid AdaptiveField [Link], which defaults to 1.5. In many cases, this

Sentaurus Process User Guide 689


H-2013.03
10: Mesh Generation
Mesh Refinement

does not refine sufficiently. Decreasing the value causes more refinement. The number of
mesh points is sensitive to this value, and it is not generally recommended to use a value
less than 0.25. This parameter generally meshes doping gradients well, but may leave the
peaks too coarse. To refine the peaks, the best criterion to use is maximum dose error (Grid
AdaptiveField [Link]).
■ To override the default refinement box used for field-based refinement (which covers the
whole structure and applies to all solution variables), you need only to create an adaptive
refinement box. To add criteria in addition to the default criteria, for example, to add finer
criteria under the gate while preserving standard parameters elsewhere, you can create your
own default refinement box. For example:
refinebox adaptive
refinebox min= {-0.01 -0.01} max= {0.15 0.05} adaptive [Link]=0.75
■ The default refinement setting for implant damage can give too fine a mesh. Increase
Grid AdaptiveField [Link] from the default value of 0.002 to
reduce refinement.

Default Refinement
In two dimensions, by default, interface refinement is applied to any interface in which one of
the neighboring bulk regions is of material Silicon, Polysilicon, or Oxide. In three
dimensions, by default, interface refinement is applied only to interfaces where one of the
neighboring bulk regions is Silicon. For other interfaces, the [Link] criterion
is not applied. To view currently defined refinement boxes (including default refinement
boxes), use:
refinebox print

Additional interface refinement can be specified with the command:


refinebox [Link]= {<material1> <material2> ...}

This command specifies refinement at all interfaces to both <material1> and <material2>.
refinebox [Link]= {<material1> <material2>}

This command specifies interface refinement at all interfaces where one side of the interface is
<material1> and the other side is <material2>.

The interfaces that are refined are the union of [Link] (all interfaces
touching materials in the list) and [Link] (only refined on material pairs
found in the list first and second, third and fourth, and so on).

The default [Link] for all interface refinement boxes including the default ones
is taken from the pdb parameter Grid SnMesh [Link]. Similarly, the default

690 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
Mesh Refinement

value of [Link] for all interface refinement boxes is taken from the pdb
parameter Grid SnMesh [Link].2d in two dimensions and from Grid
SnMesh [Link].3d in three dimensions.

To add an interface refinement, use the refinebox command.

To remove an existing interface refinement, first do refinebox clear, and then start again.

Examples

The interfaces to be refined are defined as follows:


# Change the default [Link] (in micrometers)
pdbSet Grid SnMesh [Link] 2.0e-3

# Now modify which materials to apply interface refinement


# refine at all interfaces to silicon and poly (use the global [Link]
# and [Link])
refinebox clear
refinebox [Link]= {silicon poly}

The next example shows refinement only at the silicon–oxide and polysilicon–oxide interfaces,
and specifies a local value for interface refinement parameters:
refinebox clear
refinebox [Link] = 0.005 [Link] = 3 \
[Link]= { Silicon Oxide PolySilicon Oxide }

Refinement Box Manipulations: Using


[Link]
Several transformation can be performed on refinement boxes using the
[Link] command. This command works like the transform command
(see Stress Handling on page 734), except for refinement boxes. This command accepts the
following options:
■ Transformation – either translate, stretch, cut, rotate, flip, or reflect.
■ Transformation options – depend on the type of transformation. A displacement is required
for translate, axis and angle for rotate, a box for cut, reflecting plane for reflect,
the length and direction for stretch, and so on.
■ name – applies the transformation to a particular refinement box if specified or to all of
them otherwise.
■ [Link] – specifies the name of the transformed refinement.

Sentaurus Process User Guide 691


H-2013.03
10: Mesh Generation
Mesh Settings

■ [Link] – specifies whether to keep the original. Specifying ![Link]


transforms the specified refinement box, while setting it to [Link] preserves the
original refinement box and creates a new transformed one. This option is useful when you
want to “copy and paste” refinements by, for example, translating them to a different
position while keeping the original in place.

For example:
[Link] name="refbox" [Link]="newRefBox" \
translate= { 0.1 0 0 } [Link]

creates a new refinement called newRefBox identical to refbox but displaced 0.1 μm in x.

Mesh Settings
The following tables list the parameters available for Sentaurus Mesh. To set the parameters in
Table 68, use:
pdbSet Grid SnMesh <Parameter name> <value>

Table 68 Parameters available for Sentaurus Mesh


Parameter Default Description

CoplanarityAngle 175 degrees Any pair of faces with an angle of CoplanarityAngle


or more will be considered coplanar.

CoplanarityDistance 1.0e-6 μm Maximum deformation caused to the boundary when


swapping the edge shared by a pair of adjacent faces.

DecimateBeforeImprint true Decimates the boundary before imprinting it with the axis-
aligned mesh.

DelaunayTolerance 1.0e-4 Specifies how close the ridges and boundary faces conform to
the Delaunay criterion.

DelaunayToleranceMat Specifies an array pair of materials and tolerances to be used


in those materials. For example:
pdbSet Grid SnMesh DelaunayToleranceMat
{Silicon 0.01 Oxide 1.0}

DelaunayToleranceReg Specifies an array pair of regions and tolerances to be used in


those regions.

DelaunayType constrained Types of mesh generated by Sentaurus Mesh. Available types


are box method, conformal, or constrained.

DelPsc false Indicates whether the Delaunay refinement for piecewise


smooth complex (DelPSC) algorithm is applied to the
boundary at the beginning of a mesh generation step.

692 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
Mesh Settings

Table 68 Parameters available for Sentaurus Mesh


Parameter Default Description

DelPscAccuracy 1e-4 μm Specifies the accuracy used by the DelPSC algorithm when
approximating high-curvature areas. This parameter is used
during standard mesh generation (as opposed to using DelPSC
during oxidation).

EdgeProximity 0.05 Specifies the minimum ratio of the edges generated when an
edge is split.

FaceProximity 0.05 Specifies the minimum ratio of the faces generated when a
face is split.

ImprintCoplanarFacesOnly true Imprints the binary tree on the coplanar sets of faces. This is
useful to avoid over-refinement in curved areas.

ImprintCoplanarityAngle 179 degrees Angle used to decide when two faces are coplanar. If two
adjacent faces have an angle greater than this value, they will
be added to the set of faces to be imprinted with the binary
refinement tree cells.

[Link].2d 120 degrees Maximum angle in binary tree (2D only).

[Link].3d 150 degrees Maximum angle in binary tree (3D only).

MaxAspectRatio 1e6 Specifies the maximum-allowed aspect ratio of an element in


the binary tree.

MaxBoundaryCutRatio.2d 0.01 Specifies the maximum-allowed ratio between the lengths of


adjacent axis-aligned edges cutting material boundaries (2D
only).

MaxBoundaryCutRatio.3d 0.01 Specifies the maximum-allowed ratio between the lengths of


adjacent axis-aligned edges cutting material boundaries (3D
only).

MaxConnectivity 1e37 Specifies the maximum number of elements connected to a


point in the final mesh.

MaxNeighborRatio 3.0 Specifies the maximum-allowed ratio between the


circumscribed spheres of neighboring elements.

MaxPoints 100000 Maximum number of points allowed by the Sentaurus Mesh


delaunization module.

MaxSolidAngle 360 degrees Specifies the maximum solid angle allowed in the elements of
the mesh (3D only).

MaxTetQuality 1e37 Specifies the minimum shortestEdge/


circumradius ratio allowed in the mesh (3D only).
MinAngle 0 Specifies the minimum angle allowed in the elements of the
mesh (2D only).

minedge 1.0e-6 μm Minimum edge length request.

Sentaurus Process User Guide 693


H-2013.03
10: Mesh Generation
Controlling Mesh during Oxidation

Table 68 Parameters available for Sentaurus Mesh


Parameter Default Description

SliverAngle 175 degrees Limits the maximum dihedral angle on one element when the
delaunizer performs the sliver removal step.

SliverDistance 1e-2 μm Limits the amount of “damage” done to the standard Voronoï
diagram by the sliver removal algorithm. Note that the grid
produced by the sliver removal algorithm is weighted
Delaunay, so the standard Voronoï diagram is “damaged”
unless the Voronoï weights are stored (see the
StoreDelaunayWeight parameter). When the box
method library reads those weights, it calculates the correct
Voronoï diagram and coefficients to solve the PDEs.

StoreDelaunayWeight 0 When set to 1, stores the Delaunay–Voronoï weight


(DelVorWeight) for the box method library.

UseLines true Specify 1 or 0. UseLines is specified in the line


command in the mesh generated by Sentaurus Mesh.

Controlling Mesh during Oxidation


Oxidation creates new regions and dramatically alters the shape of existing ones. Controlling
the mesh is important. This section covers some mesh control methods.

TS4 Mesh Library


The TSUPREM-4 moving-boundary meshing library is available from within Sentaurus
Process (hereafter, referred to as the TS4 mesh library). By default, the TS4 mesh library
performs the 2D mesh update.

The following statement switches off the TS4 mesh library and specifies the use of the old
mesher:
pdbSet Grid UseTS4Mesh 0

[Link] is an alias of UseTS4Mesh.

The TS4 mesh library deposits the native oxide layer before oxidation by default. Since it
removes all grids inside a gas region, the simulation performance is improved without any loss
of accuracy. To use the MGOALS native layer in two dimensions, instead of the TS4 mesh
library, use the command:
pdbSet Grid UseTS4Native 0

694 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
Controlling Mesh during Oxidation

[Link] is an alias of UseTS4Native.

For silicidation, a gas mesh is used by default. The following statement forces the use of the
TS4-style gas mesh instead of the default gas mesh:
pdbSet Grid UseTS4GasMesh 1

Control Parameters in TS4Mesh

The control parameters are specified with:


pdbSet Grid TS4Mesh <control parameter> <value>

The available control parameters are:


■ MergeSubAndAdd <0|1> (default: 1)

It optimizes the speed performance by merging the grid subtraction and addition
procedures.
■ DoSubAfterStep <0|1> (default: 0)

Grid subtraction is performed after each diffusion step, while grid addition is performed
after each mechanics step followed by the diffusion step. Switching on this flag forces only
one diffusion step per each mechanics step. When this flag is switched on,
MergeSubAndAdd is ignored.
■ SubTimeFactor <double> (default: 1.5)

The time step given by mechanics for grid removal is scaled by SubTimeFactor.

NOTE Do not change the default.

■ MinSpaceOnInterface <double> (default: 2e-6 [ μm ])

The nodes on an interface mesh must be rebuilt after meshing on the moving boundary
since the bulk meshes along the interface can be added or removed. Instead of destroying
and rebuilding the interface mesh, the TS4 mesh library tries to reuse the original node data
on the interface mesh to minimize the interpolation error. The original nodes are detected
when the location difference is less than MinSpaceOnInterface.

NOTE Do not change the default.

■ ExactGridSpace <0|1> (default: 1)

On the growing material side of the interface, the triangular mesh elements expand. To
maintain solution accuracy in the material (for example, calculating the diffusion of
oxidant in the oxide), you must add nodes to the growing material. The addition of nodes

Sentaurus Process User Guide 695


H-2013.03
10: Mesh Generation
Controlling Mesh during Oxidation

to the growing material is controlled by [Link], ExactGridSpace, and


LocalGridSpace.

NOTE [Link] is the grid control parameter of each material,


for example: pdbSet Oxide Grid [Link] 0.01e-4
Precise grid spacing is obtained by adding new nodes in a growing layer at the distance
specified by [Link] from the existing node in the layer. Because only one
node can be added at each point on an interface during a simulation time step, the size of
the time step may need to be reduced to achieve the required spacing. This reduction in the
time step can be disabled by specifying:
pdbSet Grid TS4Mesh ExactGridSpace 0
By default, ExactGridSpace is set to 1 to allow reducing the number of time steps to
control the grid spacing. The algorithm does not allow grid points to be added at spacings
less than 1 A, and control of the spacing may not be precise for spacings less than 2 A.
■ LocalGridSpace <0|1> (default: 1)

The grid control algorithms and parameters apply to the entire structure. To avoid adding a
very fine grid in field regions when growing gate oxides, an option allows the grid spacing
to vary with the oxide growth rate. When LocalGridSpace is switched on, the grid
spacing to be used at each point in the growing material is:
h = (vmax/v) [Link]
where v is the growth rate at a point in the structure, and vmax is the maximum growth rate
at all interfaces of the same type in the structure. LocalGridSpace is switched on by
default.
■ OrderFlatTri <0|1> (default: 1)

When the area of a shrinking triangle becomes less than 1e-15 (cm2) after a time step, the
triangle is removed. When the shrinking triangle to be removed is located at a material
interface and the removal of the triangle will result in a bad mesh, the material type of the
shrinking triangle is replaced with the type of the growing neighbor material, instead of
removing it. When those triangles are adjacent to each other, the reordering algorithm for
the replacements smooths the interface shape after conversion.
■ MinAreaRemovalRatio <double> (default: 10.0)

When a region has only one triangle surrounded by neighbors of different materials and its
area is less than MinAreaRemovalRatio multiplied by 1e-15 (cm2), the material type of
the triangle is replaced with the neighbor material that shares the longest edge with the
triangle.
■ [Link] <double> (default: 1e-8 [cm])

When multiple regions with the same material meet at one point, the point is split by
inserting new elements. The parameter determines the minimum split distance.

696 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
Controlling Mesh during Oxidation

Moving Mesh and Mechanics Displacements


The displacements computed by the mechanics solution during oxidation are applied to the
nodes after checking against the MinimumVelocity criterion defined for each region.
Velocity is the computed solution variable and is multiplied by the time step to compute
displacements. The nodes are moved by this amount.

The computed velocities are compared against MinimumVelocity and, if the computed
velocity is greater than MinimumVelocity, the displacements are computed and applied. The
MinimumVelocity is set with the command:
pdbSetDouble Silicon Grid MinimumVelocity <n>

Grid Spacing
Grid spacing in the growing region is controlled by [Link]. The value is in units of
centimeter, and the edges in growing regions are checked to see whether they are nearly
perpendicular to the interface.

If they are perpendicular, they are split if their length exceeds the [Link] number.
This value is set with the command:
pdbSet Oxide Grid [Link] 2e-7 ;# unit is cm

Grid Cleanup
During oxidation or silicidation, the growing region increases at the expense of a shrinking
region. The shrinking regions then have a problem of small edges. Below a certain value, these
edges must be removed entirely, and the mesh around them must be adjusted.

The short edge criterion is specified by the [Link] parameter, which is specified in
centimeters and is set as follows:
pdbSet Silicon Grid [Link] 3e-8

NOTE Due to mesh quality constraints, this number must be kept above a value
–8
of 2 × 10 cm .

Sentaurus Process User Guide 697


H-2013.03
10: Mesh Generation
Controlling Mesh during Oxidation

Maximum-allowed Rate of Growth


For a minimal simulation time, it would be best if the entire thickness growth were simulated
in one step. However, this is not possible. The reasons for this include:
■ Nonconvergence of diffusion equations.
■ Inability to track material interfaces if they grow more than one edge length of a triangle
or a tetrahedron, and so on.

In the new growing region, new nodes are introduced and the data is interpolated from the
nearby nodes; if growth is too fast, significant interpolation errors could occur.

The rate of growth can be controlled by the parameters dThickness and IncreaseRatio.
The dThickness parameter (specified in micrometers) defines the maximum-allowed
oxidation front displacement per time step and is set as follows:
pdbSet Diffuse dThickness 0.001

The IncreaseRatio parameter is the factor by which the time integration step is allowed to
grow.

Miscellaneous Tricks
Since Sentaurus Process oxidation does not allow the interface to traverse more than one
element thickness at a time, speed can be achieved by having elements with longer edge lengths
near the interface. This can be controlled by refinement boxes or the pdb parameter
Grid SnMesh [Link]. Large structures, like those used in power devices, may
need [Link] of 0.01 μm , while submicron CMOS devices need 8 Å .

The mesh away from the interface is unrefined based on the pdb parameter
Grid SnMesh [Link].3d. If the mesh is not unrefining fast enough, this
number can be increased.

In large structures, the interface fidelity may not need to be as tight as that of 45-nm or 32-nm
gate transistors. The MGOALS accuracy parameter can be increased to 1 Å , which will
cause MGOALS to clean up interfaces of small (sub– 1 Å ) features and ensure smooth long
edges that speed up oxidation.

These are options available to the process engineer; however, care must be exercised in varying
these parameters since they may affect the final structure significantly.

698 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
Controlling Mesh during Oxidation

Meshing for 3D Oxidation


Maintaining a conformal high-quality mesh during the simulation of 3D oxidation is very
difficult because of the following requirements: moving boundaries, accurate dopant profiles,
dose conservation, minimization of the number of mesh points, and maintaining high-quality
mesh elements. In particular, handling the frequent collision of the oxidation front with points
inside the silicon, polysilicon, or gas regions can cause intractable problems for the local mesh
operations needed for maintaining dose conservation. These problems have not been
completely solved in Sentaurus Process, so various global remeshing strategies have been
implemented to try to recover when the local operations fail. Improvements in both the local
and global meshing operations are in progress.

Before each diffusion time-step, the mesh is checked for the maximum possible time step until
the first tetrahedron element collapses (becomes flat). If necessary, the time step is reduced. In
the diffusion simulation, all mesh points are moved using the velocity and the time step. The
mesh topology is not changed during the diffusion time step. At the end of the diffusion time
step, a face-swapping algorithm is used to improve the mesh quality and to remove flat
elements. After face-swapping, the mesh is checked for any remaining flat elements and any
elements that have short edges, poor shapes, or small volumes. An attempt is made to remove
these elements, followed by a face-flipping to improve the element quality allowing for the next
time step to be sufficiently large.

This removal of local elements is a difficult task, which does not always succeed and frequently
leads to bad elements surviving and enforcing small time steps. If this grid-limited time step
becomes too small, a 3D Delaunay meshing algorithm is used in an attempt to construct a mesh
for the given geometry and the set of bulk points that do not belong to any ‘flat’ elements.

NOTE If the delaunizer fails to construct a new mesh, a limited set of small
time steps is allowed in an attempt to recover a reasonable size time step.
If this does not succeed, the simulation is stopped with an error
message.

MovingMesh
This section describes an experimental feature that can be used for 3D oxidation. This feature
called MovingMesh is activated with the following command before the diffuse command:
pdbSet Grid [Link] 1 ;# switched on by default

Two important parameters control MovingMesh:


pdbSet Oxide Grid [Link] 0.005e-4 ;# centimeter
pdbSet Grid [Link] 0.001e-4 ;# centimeter

Sentaurus Process User Guide 699


H-2013.03
10: Mesh Generation
Controlling Mesh during Oxidation

The [Link] parameter specifies the distance that the oxide interface can move
before new mesh points are inserted in the oxide. The unit is in centimeter.

The [Link] parameter specifies the shortest distance the mesh vertices are allowed
from the oxide interface. Shorter than this distance, the vertices will be removed. Do not
specify a distance larger than the minimum oxide thickness. For a typical example with 1.5 nm
native layer, [Link] of 1.0 nm or less is appropriate. The unit is in centimeter.

The oxide interface can develop problematic geometric features like knife edges, noisy
surfaces, or extremely thin gaps. You can enable geometry repair and surface remeshing by
using:
pdbSet Grid MovingMesh [Link] 1 ;# switched on by default

The criteria to trigger geometry repair are based on the minimum dihedral angle and the
maximum face angle:
pdbSet Grid MovingMesh [Link] 5 ;# degree
pdbSet Grid MovingMesh [Link] 175 ;# degree

If the minimum dihedral angle between two triangles is below the threshold or the maximum
face angle of a triangle is above the threshold, the geometry repair procedure starts.

The geometry repair procedure involves a multimaterial level-set (MLS) formulation. The
resolution of the level-set cell size is controlled by:
pdbSet Grid MovingMesh [Link] 0.001 ;# micrometer

The boundary representation (brep) of the new geometry must go through a meshing algorithm
for curved surfaces called the Delaunay refinement for piecewise smooth complex (DelPSC)
that improves the quality of triangles on brep surfaces. This algorithm is enabled by:
pdbSet Grid MovingMesh [Link] 1 ;# switched on by default

DelPSC performs adaptive sampling on ridges (1D geometric feature) according to the
refinement fields, the curvatures of the ridges, and the proximity among the ridges. On each
surface patch (2D geometric feature), DelPSC performs adaptive sampling according to the
refinement fields and the curvatures of the surface.

Ridge sampling also is controlled by:


pdbSet Grid MovingMesh [Link] 0.005 ;# micrometer

The above parameter ensures no ridge edge will be longer than the specification. It is useful,
for example, when you have a straight line (no curvature) next to curved surfaces. You want the
sampling points on the straight line to be fine enough to support the adjacent curved surfaces.

700 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
Controlling Mesh during Oxidation

Note that you no longer require [Link] to be as small as the thin


native layer thickness, because of the adaptive sampling based on proximity between nearby
ridges.

To control accuracy in high curvature areas, you can specify the acceptable distance between
the old and new curved surfaces by using:
pdbSet Grid MovingMesh [Link] 0.0001 ;# micrometer

MovingMesh has facilities for troubleshooting run-time failures. A typical setting would be:
# Switch on level-1 diagnostics
pdbSetDouble debugLevel MovingMesh 1 ;# switched off by default
# Save intermediate result every 100 time steps
pdbSetDouble Grid MovingMesh [Link] 100 ;# switched off by default
# Save diagnostic files for [Link] and DelPSC
pdbSetDouble Grid MovingMesh [Link] 1
;# switched off by default

In level-1 diagnostics, the intermediate result will be saved after a certain number of time steps
in the files:
<NodeName>_MovingMeshGridTimeStep<xxxx>.tdr

The frequency of saving is specified by the [Link] parameter. The files are written
after mechanics and before diffusion to analyze the grid-limited time step.

In the event of failure in [Link], the level-1 diagnostics will save files with names
such as:
<NodeName>_remeshBrep{In,MLS,PSC,Out}.tdr
<NodeName>_applyBrepDelPSC{In,Out}.tdr

They are useful for checking whether the resolution parameters are adequate. The most likely
cause of failure is a too coarse resolution to capture thin oxide layers and other small geometric
features.

If the parameter [Link] is set to 1, the intermediate files with names


such as:
<NodeName>_remeshBrep_<xxxx>_{In,MLS,PSC,Out}.tdr
<NodeName>_applyBrepDelPSC_<xxxx>_{In,Out}.tdr

will be saved every time the repair geometry operation is triggered. These files are useful to
monitor how the MLS and DelPSC algorithms perform at various points in a simulation.

Sentaurus Process User Guide 701


H-2013.03
10: Mesh Generation
UseLines: Keeping User-defined Mesh Lines

UseLines: Keeping User-defined Mesh Lines


During the init command, the line location and spacing specifications given by line
commands are expanded into ticks and stored in the PDB and in TDR files. This is performed
by default.

By carefully placing lines, you can isolate areas of the structure that changed (because of
etching, deposition, and so on) from those that do not (such as bulk silicon). In this way, the
mesh in areas that do not change will have the least amount of change, the least interpolation,
and the most accurate results. Even the mesh in regions that do change will have a similar
starting point and should also have minimal mesh-point movement coming from remeshing.

Lines for Sentaurus Process Kinetic Monte Carlo are stored separately from the lines used with
continuum solvers (in other words, Sentaurus Mesh meshes). By default, line commands are
applied to both KMC and continuum meshes. Use the parameter !kmc or !mgoals to not
apply a particular line command. For example, for a line command to apply only to
continuum, use line !kmc.

In the simplest case, all the line commands are specified before the init command, and they
are saved and reused every time a remesh is performed. However, there are other cases
described in the following sections that allow this feature to be more powerful.

All the line commands are specified before the init command, and they are saved and
reused every time a remesh is performed. However, there are other cases described in the
following sections that allow this feature to be more powerful.

Using line Commands after init Command


The expansion of lines from line commands into ticks (in other words, all starting mesh line
locations) is performed only at the point that the lines in that direction are needed. For example,
x-lines are always expanded in the init command, but y-lines are only expanded when the
first etch with a mask is given. Therefore, it is possible to load a 1D structure, give y-lines, and
then expand to 2D, or give both y- and z-lines and expand to 3D.

After a particular direction or dimension is expanded, it is only possible to insert one tick at a
time in that direction using the line command (in other words, the spacing parameter is
thereafter ignored). For example, this could be because you identified the amorphous–
crystalline interface in silicon.

702 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
UseLines: Keeping User-defined Mesh Lines

This is handled by specifying one of the following:


■ The line command in a dimension greater than the current dimension. For example, a y-
line specification when the simulation is in 1D.
■ The line command in a dimension at or less than the current dimension. For example,
either an x-line or a y-line specified when the simulation is in 2D.

For more information about the operating dimension, see Automatic Dimension Control on
page 72.

Dimension within Current Spatial Dimension


This is encountered if the user-specified x-lines and the current spatial dimension of analyses
is 1D. Or, it could happen if you specify x- or y-lines in 2D, or x-, y-, or z- lines in 3D.

In this case, the line command ignores the spacing parameter and tries to insert only one
tick as long as that tick (line) is not too close to an existing tick.

Inside the init command, the line commands are expanded into ticks using the spacing
specifications for the dimension as they are needed. When additional line commands are
given for dimensions where the ticks have already been expanded, the spacing parameter is
ignored and one additional tick is added as long as it is not too close to an existing tick.

Dimension Greater Than Current Spatial Dimension


This is encountered if you specified y- or z-lines, and the current spatial dimension of analyses
is 1D. Or, it could happen if you specify z-lines and the current spatial dimension of analyses
is 2D.

In this case, the line command is considered in its entirety, and the spacing parameter is
used. All the intermediate lines are included in the list of ticks kept.

Creating More Than One Structure

You can create more than one structure using line, region and init commands in one
command file when using the UseLines feature. To ensure lines from the first structure are
not inserted into subsequent structures, it is important to issue line clear before starting the
definition of a new structure. For example:
#####################################################
line x loc=0 spacing=0.001
line x loc=1 spacing=0.1
line y loc=0
line y loc=1

Sentaurus Process User Guide 703


H-2013.03
10: Mesh Generation
UseLines: Keeping User-defined Mesh Lines

region silicon
init !DelayFullD

# initial structure gives 96 nodes


LogFile [grid qual nodes]

grid remesh

# after remesh, 112 nodes


# because Sentaurus Process adds interface refinement
LogFile [grid qual nodes]

####################################################
# the lines from above are removed
# to start a new structure
line clear
line x loc=0
line x loc=1
line y loc=0
line y loc=1

region silicon
init !DelayFullD

# this tiny structure has only have 8 nodes


LogFile [grid qual nodes]

grid remesh
# grid remesh gives 44 nodes
LogFile [grid qual nodes]

The UseLines and transform Commands


The ticks must be handled in a special manner with the transform reflect, transform
stretch, transform rotate, transform translate and transform cut commands.

The reflect Command

In the reflected region, the ticks are created after applying lateral inversion along the
appropriate plane.

704 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
UseLines: Keeping User-defined Mesh Lines

The stretch Command

On applying stretch at a given coordinate in a given direction, the existing ticks in the
stretched area are translated by the amount of the stretch. You must insert lines in the stretched
area appropriately.

The rotate Command

When applying rotate, the ticks also are rotated and properly transferred between x-ticks, y-
ticks and z-ticks.

The translate Command

The translate command shifts the ticks by the specified amount.

The cut Command


The lines in the part of the structure that is cut are deleted.

Examples

Testing line Commands

Use the following example to test line commands:


line x loc=0 tag=a spacing=0.05
line x loc=0.1 spacing=0.05
line x loc=1 tag=b spacing=0.05
line y loc=0 tag=c spacing=0.01
line y loc=0.6 tag=d spacing=0.1
region silicon xlo=a xhi=b ylo=c yhi=d
init !DelayFullD
deposit oxide thickness=0.002 iso
grid remesh info=2
line y loc=0.026
line y loc=0.027
line y loc=0.028
line y loc=0.029
line y loc=0.025
line y loc=0.024

Sentaurus Process User Guide 705


H-2013.03
10: Mesh Generation
Data Interpolation

line y loc=0.023
grid remesh
deposit poly thickness=0.18 iso
mask name=m1 left=-0.1 right=0.025
etch aniso thickness=0.2 poly mask=m1
struct tdr=linetest

Showing Clearing Lines for a New Structure

Use the following example to show clearing lines and to prepare for another structure definition
within the same command file:
line x loc=0 tag=a spa=0.125
line x loc=1 tag=b spa=0.125
line y loc=0 tag=c spa=0.125
line y loc=1 tag=d spa=0.125
region silicon xlo=a xhi=b ylo=c yhi=d
init
grid FullD
line clear
line x loc=0 tag=a spa=0.125
line x loc=1 tag=b spa=0.125
line y loc=0 tag=c spa=0.125
line y loc=1 tag=d spa=0.125
region silicon xlo=a xhi=b ylo=c yhi=d
init
line y loc=0.3 spa=0.01
grid FullD

Data Interpolation
Sentaurus Process stores a copy of the mesh with all its data before performing any geometry-
changing operation. This is the reference mesh used to interpolate data onto the new mesh. In
3D, a mesh is generated only when it is necessary, so you can have multiple etch, deposit,
photo, and strip commands without the need to remesh in between. When a new mesh is
required, data is interpolated from the stored mesh and data.

Data interpolation is performed material-wise. This is important because some nodal data can
be discontinuous at material interfaces; for example, segregation causes a jump in
concentration at the silicon–oxide interface. In addition, the precise location of an interface can

706 Sentaurus Process User Guide


H-2013.03
10: Mesh Generation
Troubleshooting

change slightly due to numeric noise in geometry-moving algorithms. Therefore, it is


necessary to allow the data to be interpolated from points in the old mesh nearby, but only from
the same material.

Data also can be interpolated from materials that are Like materials (that is, the material in the
old mesh is Like the material in the new mesh, or the material in the new mesh is Like the
material in the old mesh). When interpolating data at an interface, the preference is to use data
from the same region, then data from the same material, and finally data from Like materials.
If no match is found, then 0 is set for all data at that point.

For data defined on elements, the overlap of elements from the old mesh to the new mesh is
used for weighting. Similar to nodal data, interpolation of elements near interfaces uses the
region, material, and Like material preference order.

Multithreaded interpolation can be used to speed up interpolation in large 3D structures.


Because of the memory-intensive nature of interpolation, typically, the performance benefit of
multithreading saturates at two threads and can even decrease when using more than four
threads. Therefore, for interpolation, the suggested maximum is to use two threads using the
command:
math numThreadsInterp=2

Troubleshooting
Sometimes, the mesh generation step fails and it is not clear what the problem may be. The
following are recommendations of where to look when problems arise during meshing:
■ Set InfoDefault to 2 or higher, for example:
pdbSet InfoDefault 2
■ When Sentaurus Mesh prints the message:
"Short edge 1e-8 around points (x1, y1, z1) (x2, y2, z2)"
look at the input structure around the coordinates (x1, y1, z1) or (x2, y2, z2), and
check whether there is a singularity in that area (a crack, fold, surface overlap, and so on).
Sometimes, these singularities are the product of an etching or a deposition step, and action
can be taken to improve the quality of the structure.
■ Check the quality of the boundary printed for the steps preceding the mesh generation
process. In particular, the following line provides an indication of quality (this is output if
InfoDefault is 2 or higher):
minDihedralAngle: <angle> [near (x1, y1, z1),(x2, y2, z2)] at
region=Nitride_1.

Sentaurus Process User Guide 707


H-2013.03
10: Mesh Generation
Troubleshooting

If you see an angle of less than 3° in the geometry, this may indicate a problem in the
structure at the given coordinates. The recommendation is then to look at the preceding
process steps in Tecplot SV, and to see whether they can be modified to avoid creating the
problem.
To visualize the problem area in Tecplot SV, you can create a rectangular zone that can be
used as a marker to identify the problem. Select Data > Create Zone > Rectangular, and
input a box where one of the corners is a coordinate reported by Sentaurus Mesh as
problematic. The second corner of the box must be calculated manually to give a box large
enough to be seen in the visualization window. Then, hide all materials except the box that
you created. Magnify the rectangular zone, and display the material that was reported in
the minDihedralAngle message. Now, you should see the artifact. Sometimes, you need
to rotate the structure around the rectangular box to see what is happening to the geometry.
■ In addition to this, you may need to add !repair to the etch or deposit command. This
prevents the structure from being repaired and makes it easier to spot the problem in
Tecplot SV.
■ It is recommended to frequently save snapshots of the boundary file of the structure,
especially before all mesh generation operations. This will help you to investigate possible
problems in the input to the mesh generator. To accomplish this, use the command:
struct [Link]=fileName

Figure 98 (Left) Example of artifact in geometry and (right) magnification of artifact

708 Sentaurus Process User Guide


H-2013.03
CHAPTER 11 Structure Generation

This chapter describes the etching, deposition, and other geometry


manipulations available in Sentaurus Process.

Overview
To perform etching and deposition using Sentaurus Process, seamless interfaces to the
following modules have been created:
■ MGOALS (1D, 2D, and 3D)
■ Sentaurus Structure Editor (3D only)
■ Sentaurus Topography and Sentaurus Topography 3D (limited availability)

By default, all operations are performed by the MGOALS library. This is the preferred method
for performing geometric etching and deposition because of its robust and flexible algorithms.
The etching and deposition operations are always simulated using geometric shapes or simple
mathematical formulations; no physical processes are simulated. For a description of the
MGOALS interface, see MGOALS Interface on page 754.

Sentaurus Structure Editor is also available in 3D to perform basic and most common
geometry-modeling process steps. For a description of the Sentaurus Structure Editor interface,
see Sentaurus Structure Editor Interface on page 767.

For physical etch and deposition, Sentaurus Process provides an interface to Sentaurus
Topography and Sentaurus Topography 3D. For a description of the interfaces, see Sentaurus
Topography Interface on page 770.

Functionality
Sentaurus Process provides a number of etching and deposition operations, in addition to
purely geometric operations to help shape the geometry of the devices.

Sentaurus Process User Guide 709


H-2013.03
11: Structure Generation
Overview

Etching

The following types of etching are supported (see Etching on page 711 for more details):

■ Isotropic ■ Fourier
■ Anisotropic ■ Crystallographic
■ Directional ■ Chemical-mechanical polishing (CMP)
■ Polygonal ■ Piecewise linear
■ Trapezoidal

Deposition

The following types of deposition are supported (see Deposition on page 729 for more details):

■ Isotropic ■ Fill
■ Anisotropic ■ Fourier
■ Directional ■ Crystallographic
■ Polygonal

Masks and Photoresist

Masks offer an effect (similar to a masking layer) to limit the etch or deposition process to a
certain window or to provide a convenient way to mimic lithographic patterning (see The mask
and photo Commands on page 741).

Geometry Creation and Transformations

You also can create and insert polygons and polyhedra, or read an existing 3D structure from a
file (see Inserting Polygons in Two Dimensions on page 762 and Inserting Polyhedra in Three
Dimensions on page 762).

The shape library provides commands for generating some special shapes in Sentaurus Process
(see Shape Library on page 735).

In addition, several geometric transformations are available including reflection, translation,


rotation, flipping, cutting, and stretching (see Geometry Transformations on page 748).

710 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

Etching and Deposition Types and Options


Three main specifications are required for all etching and deposition steps:
■ Etch or deposit type
■ Material or materials to be etched, or material to be deposited
■ Amount of material to be removed or deposited

Etching
The types of available etching are:

type=[Link] Etch according to a definition of a piecewise linear etch rate.


type=anisotropic Etch in the vertical direction only.
type=cmp Perform CMP. The coordinate of the new surface must be specified as
coord.
type=crystal Angle-dependent etching where etch rate is dependent on the
crystallographic direction.
type=directional Etch in one specific direction only.
type=fourier Angle-dependent etching where etch rate is a cosine expansion of the
etching angle.
type=isotropic Etch rate is uniform in all directions.
type=polygon Etch according to a user-supplied polygon (2D only).
type=trapezoidal Etching allowing undercut and taper angle specifications (2D only),
or taper and bottom angle specifications (3D).

NOTE To remove materials exposed to the top gas, use the strip command
instead of the etch command. The strip command is used
specifically for this purpose. It is more straightforward, less prone to
user error, and more robust in delivering the expected results:
strip Photoresist

Sentaurus Process User Guide 711


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

Each etch type requires the setting of parameters particular to that etch type. Many options are
available and certain options are available only with certain etch types. Table 69 summarizes
the syntax options for each etch type.

Table 69 Options for etch and deposit command syntax (E=etching, D=deposition)

[Link]
Area Parameter name

anisotropic

directional

trapezoidal
isotropic

polygon

fourier

crystal
cmp
rate ED ED ED E
[Link] E
coeffs ED
[Link] E
Rate

[Link] ED
time ED ED ED ED ED E E
thickness ED ED ED E
etchstop E E E E E E
Stop criteria

coord E
[Link] E E E E E E
[Link] E E
polygon ED
angle E
undercut Ea
[Link] Eb
[Link] Eb
ED
Shape

direction
[Link] Ec
sources ED E
shadowing EcD ED ED E
Beam

[Link] ED
ast ED ED ED E ED ED ED E
Mesh

Adaptive ED ED ED E ED ED ED E
[Link] E E E
[Link] ED E ED EdDd EdDd E
Mode

1D ED
a. In 2D when not using [Link].
b. In 3D when not using [Link].
c. When used in conjunction with [Link].
d. Full level-set is the default scheme for Fourier and crystallographic.

712 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

To specify the etch type, the parameter type is used. For some etch types, one of the following
keywords can be used instead as a shorthand for specifying type: isotropic,
anisotropic, trapezoidal, or cmp. The amount to be etched is specified as either
thickness (by specifying rate and time) or an etchstop material with etchstop.

Etch types have been implemented in Sentaurus Process using three different methods
(analytic, fast level-set, and general time-stepping level-set), which are described in MGOALS
Interface on page 754.

These methods may require different inputs to perform the steps and may take different effects
into account. The method is selected depending on the specified parameters and the structure
to be etched.

NOTE The simplest and fastest algorithm possible is chosen by default.

If simple isotropic, anisotropic, directional, or CMP etching of a single material is requested


and for polygonal etching, an analytic algorithm is tried first. The analytic algorithm is the
fastest and most accurate. However, in some cases, the resulting etching front might intersect
itself. Because the analytic algorithm cannot handle this situation, the fast level-set method is
used.

NOTE Although these methods are fast and can handle most simple etching
tasks, they do not consider shadowing or visibility effects, and they
cannot etch more than one material at a time.

The general time-stepping level-set method is chosen if you specify any rate versus angle-type
etching (Fourier or crystallographic), or if you choose to etch different materials at different
rates, or if the parameter [Link] is specified. In addition, the general time-
stepping level-set method can handle multiple etching beams and, optionally, shadowing.

The general time-stepping level-set scheme used in Sentaurus Process has the same limitations
as all level-set methods:
■ Sharp corners in the evolving front are rounded.
■ Small front movement requires a fine level-set mesh, resulting in large memory use and
long simulation times.
■ The accuracy is limited by the size of the level-set mesh.

Besides the etching type, the materials to be etched and the amount of material to etch must be
specified. The amount of material to be etched can be specified in three ways:
■ Thickness
■ Rate and time
■ Using an etch stop

Sentaurus Process User Guide 713


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

The etch rate may be specified using etch beams that are created in the beam command. Beams
can be used only with the Fourier etch type. If an etch stop is specified, the etching stops as
soon as the specified material is exposed to gas.

In addition, a mask specification can be given for all etch types, except CMP, trapezoidal, and
polygonal to limit the areas where material is removed.

Etching Tips

Some tips for etching are:


■ If the total etch thickness is exactly the same thickness as the layer to be etched, numeric
roundoff errors can cause thin pieces of the material to be retained. You should etch a little
more (for example, 0.1%) than the thickness of the layer.
■ Etching small thicknesses using a small [Link] or etching large
structures can cause MGOALS to allocate a large amount of memory and increase
simulation time to solve the level-set equation. The MGOALS parameter resolution can
be increased for the simplified boundary movement mode, and the parameters dx and dy
can be increased in the general boundary movement mode to reduce memory consumption.
However, this may impact the accuracy.

Etching Type: Isotropic

Isotropic etching removes material at the same rate in all directions. You can specify more than
one material to be etched isotropically, in which case, the generalized level-set boundary
movement module is invoked.

When isotropic etching uses the level-set method (either fast or general time-stepping), the
final surface is obtained by solving a differential equation on a discrete mesh.

NOTE To control errors in the fast level-set method, use the resolution
parameter in the mgoals command. For the general etch method, use
either resolution or the dx and dy parameters of the mgoals
command.

714 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

An example of a single-material isotropic etch is (see Figure 99):


etch silicon thickness = 0.05 type=isotropic

Figure 99 Single-material isotropic etch

An example of a multiple-material isotropic etch is (see Figure 100):


mgoals resolution=0.04
etch material = {Silicon Oxide Poly} rate = {1.0 1.5 1.0} time = 0.05 \
type=isotropic info=2

Figure 100 Multiple-material isotropic etch

Etching Types: Anisotropic and Directional

Anisotropic etching is designed primarily to work with masks or masking layers. It also is
frequently used to create spacers. Anisotropic etching etches material away in a direction that

Sentaurus Process User Guide 715


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

is purely vertically downwards. It works well with structures such as those shown in
Figure 101.

Figure 101 Anisotropic etching

Anisotropic etching can take more than one material if the same rate is specified for all etched
materials. This can be useful to create multiple spacers since it does not produce small gaps
which are hard to avoid when etching one spacer at a time. If you want to use different rates for
each material then a better alternative can be Fourier etching.

If anisotropic etching is performed to etch the shaded region in the structure shown in
Figure 102, instabilities can arise. The resulting structure can be very different depending on
the numeric roundoff errors.

Figure 102 For this structure, anisotropic etching would not be stable

Anisotropic operations are sensitive to numeric noise at vertical or nearly vertical walls.

If the etch command is supposed to remove the entire layer, care must be taken to overetch by
a small amount to prevent thin regions remaining due to numeric roundoff error.

NOTE It is more robust and better to use the strip command to remove all
exposed layers of a certain material.

The directional etching method is similar to the anisotropic method. In this case, the specified
etching rate is applied in the direction of the etching beam. Visibility effects are not considered.
The etching window is determined from user-defined masks and from the exposed areas of the
etched material (see Figure 103 on page 717).

716 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

For example:
etch silicon thickness = 0.05 type=anisotropic

Figure 103 Anisotropic etching

In the next example, directional etching is demonstrated. The parameter direction sets the
direction of the etching beam by setting values for {x y z}. This direction vector is normalized
to 1.0 before being used by the etching module.
etch material=silicon rate = 0.05 time=1.0 type=directional direction = {1 1}

Figure 104 Directional etching (angled wall)


etch material=silicon rate = 0.05 time=1.0 type=directional direction = {1 -1}

Figure 105 Directional etch undercutting

Sentaurus Process User Guide 717


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

Etching Types: Polygonal and CMP

Polygonal etching provides a way of modifying a region without having to define etching rates
or the direction of the etch. The specified polygon is used to intersect the mesh elements. The
elements inside the polygon are replaced by gas.

CMP is handled as a special case of polygonal etching. Mesh elements are intersected at the
specified coordinate. All elements of the specified material above the coordinate are reassigned
to gas.
etch type=cmp coord = 0.05 material=all

Figure 106 CMP


# Etch with polygon given as x1 y1 x2 y2 ... xn yn
etch type=polygon material=silicon polygon= {-0.1 0.1 0.1 0.1 0.1 0.6 -0.1 0.6}

Figure 107 Polygonal etch

718 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

Etching Type: Fourier

In Fourier etching, the etching rate is a function of the angle between the incident etching beam
and the normal vector of the surface being etched. This allows for reasonably directional
etching with control of the slope of sidewalls. The coefficients A n are defined using coeffs
(for a single-material etch) or [Link] (for a multimaterial etch), and the etching rate is
computed according to:
m n

etch rate =  factori  Aj cosj θi (943)


i=0 j=0

where:
■ θ i is the angle between the incident beam i and the normal to the surface being etched.
■ factor i is the factor given in the beam command for beam i .

Any number of coefficients A j can be given for each material. If the parameters A j are chosen
such that negative etch rates would result in some slope angles, no etching will occur on the
parts of the surface that have that slope. It is common to set the parameters A j such that the
etch rate for angles less than a certain angle are positive and drop below zero (resulting in no
etching) above that angle. This produces a trench with a rounded bottom and a sidewall given
by the angle where the etch rate drops to zero.

Fourier etching uses the full level-set model formulated after Lax–Friedrichs. This formulation
shows good stability, leading to good accuracy of etching wall-angle control. The Lax–
Friedrichs formulation results in slightly less corner sharpness.

Etching Beams

The beam command is used to define the direction and relative strength of etching beams to be
used with Fourier etching. The syntax is:
beam name=<beam_name> incidence=<angle> | direction= {<x> <y> <z>}
factor=<relative_strength>

The angle of incidence of each beam is specified either by the incidence parameter in the
beam command (incidence=0 defines a vertical beam), or by a direction vector, which is
normalized automatically to unit length. To be clear, the angle θ i in Eq. 943 is measured from
the surface perpendicular to the angle of incidence for beam i . The relative strength factor
is used to mix the strength of different beams. Each etching beam must be given a unique name.

Etching beams are assumed to be collimated, that is, a slight angular spread of beam direction
is not considered.

Sentaurus Process User Guide 719


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

The parameter sources of the etch command specifies the list of names of etching beams to
be used in an etch operation.

A Fourier etching example follows (see Figure 108):


mgoals resolution=0.02
beam name=src1 direction = {1 0 0} factor=1
etch material=silicon type=fourier sources = src1 coeffs = {0 0 1.0} time=0.05

Figure 108 Fourier etching

Through the selection of Fourier coefficients, the angle of the etching wall can be controlled to
a large degree. In particular, the first coefficient in the list, A 0 , corresponds to the equivalent
of the rate of isotropic etching. The second coefficient in the list, A 1 , corresponds
approximately to the equivalent of the rate of anisotropic or directional etching. The
approximate formula for determining the etch wall angle is given as:
–A0
ϕ ≈ cos– 1 --------- (944)
A1

where ϕ is the angle of the etch wall measured from the horizontal plane. For example, the
choice of A 0 = – 0.5 and A 1 = 0.7071 results in an etch wall at an angle of approximately
45° from the horizontal as shown in Figure 109 on page 721:
beam name=src1 direction= {0.1 0 0} factor=1
mgoals [Link]= 0.05 resolution= 0.05
etch material= {silicon} type=fourier sources= {src1} coeffs= {-0.5 0.7071} \
time=1.0.

720 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

Figure 109 Example of Fourier etch

Another Fourier etching example shows the functionality in 3D and how multiple rates for
multiple materials are specified using [Link]. For 3D Fourier etching, also use the
command sde off.

Etching coefficients chosen for this example are illustrative and may not be physically
meaningful:
beam name=src1 direction= {1 0 0} factor=1
mgoals dx=0.1 dy=0.1 dz=0.1
sde off
etch info=10 sources= {src1} [Link]= { Silicon= {-1 2} \
Nitride= {-0.7 1.2} Oxide= {0.01} PolySilicon= {-0.05 0.2} } type=fourier \
remesh=false time=1

Figure 110 Three-dimensional multimaterial Fourier etching example before etching (left)
before etching and (right) after etching

Currently, in 3D Fourier etching, shadowing is not implemented as it is in two dimensions.

Sentaurus Process User Guide 721


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

Keywords shadowing and [Link]

The keyword [Link] is used instead of shadowing when you want to


allow only the 0th-order Fourier coefficient to etch areas where the beam is shadowed. The
keyword shadowing prevents all Fourier etching in areas shadowed from the beam; while the
keyword [Link] prevents only the Fourier coefficients of order one and
higher from etching in areas where the beam is shadowed.

Be aware that even when this parameter is specified, the 0th-order Fourier coefficient A 0
should continue to etch areas where the beam is shadowed. This permits a pseudo-isotropic
etching that is independent of shadowing, while at the same time the full Fourier etching occurs
only in areas where the beam is not shadowed.

Etching Type: Crystallographic

The parameter crystal_rate defines etching rates for different crystallographic


orientations. These rates are used for type=crystal. For details on wafer orientation, see
Defining the Crystal Orientation on page 71. Crystallographic etching rates are specified in
crystal_rate as a list of Miller indices and corresponding etching rates. The currently
accepted indices are <100>, <110>, and <111>, as in the following example:
crystal_rate= {"<100>" =0.8 "<110>" =0.35 "<111>" =0.003}

Interpolation of the rate at a given point along the etch front is calculated as a linear
combination of the <100>, <110>, and <111> rates weighted by the component of the etch
front normal vector along the corresponding crystallographic direction.

NOTE You must add a space between the double quotation mark (") after the
orientation and the equal sign.

A crystallographic etching example follows (see Figure 111 on page 723):


etch material=silicon type=crystal crystal_rate= {"<100>" =1.0 "<110>" =0.5 \
"<111>" =0.001} time=0.25

722 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

Figure 111 Crystallographic etching

Etching Type: Trapezoidal


The trapezoidal etch model provides a simple but flexible approximation to a number of real
etching processes. The location of the etch is determined by masking layers (that is, layers of
nonetchable material that, if nonexistent, can be easily created with the photo command) and,
therefore, does not require mask-dependent coordinates to be specified.

The trapezoidal model uses the following parameters to specify the shape of the region to be
removed:
■ thickness specifies the vertical depth (or a combination of rate and time).
■ angle specifies the angle (in degrees) of the resulting sidewalls.
■ undercut specifies the horizontal penetration of the etch under the edges of the masking
layer. It only works in two dimensions.
■ [Link] and [Link] specify the angle and thickness of the sidewalls
for a second etching after thickness and angle are already etched (3D only).

These parameters can be used to approximate a number of real etching processes including:
■ Combinations of vertical and isotropic etches.
■ V-groove etches.
■ Etches that produce retrograde sidewall profiles.

NOTE Trapezoidal etching is not supported by Sentaurus Structure Editor.


Consequently, the command sde off must be issued.

Sentaurus Process User Guide 723


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

Trapezoidal 2D Etching

An etch with the trapezoidal model is performed in three steps:


1. A vertical etch to depth thickness is performed. This etch does not apply to portions of
the surface that are masked by nonetchable materials or shadowed by etchable or
nonetchable materials; nor is it used on segments of the surface that form an angle greater
than angle to the horizontal.
2. A horizontal etch is performed. Surfaces that were exposed at the start of Step 1 are etched
horizontally by the distance undercut. Surfaces that were exposed during Step 1 are
etched by a distance proportional to the length of time between when they first became
exposed and the end of Step 1. Therefore, a sidewall exposed three-fourths of the way into
Step 1 is etched horizontally by one-fourth of undercut. (An exception is made when an
angle greater than 90° is specified; this case is described below.)

3. Where overhangs of etchable material are present at the end of Step 2, a vertical upwards
etch (that is, in the direction) is performed. On surfaces that were exposed at the start of
Step 2, this etch is to a distance undercut. On surfaces that were first exposed during the
course of Step 2, the distance of this etch is reduced in proportion to the time from the start
of Step 2. This step approximates the undercutting of the mask due to the isotropic
component of the etch.

When the thickness, angle, and undercut parameters satisfy the relationship:
thickness = undercut ⋅ tan ( angle ) (945)

the etch approximates a vertical etch with an isotropic component. This is the case whenever
two or fewer of the parameters thickness, angle, and undercut are specified with the
option [Link] set to 1 (default is 0):
pdbSet Grid [Link] 1
etch material=silicon type=trapezoidal thickness=0.25 undercut=0.1

-0.5

0
Y [µm]

0.5

1
0 0.5 1 1.5 2
X [µm]

Figure 112 Trapezoidal etching example 1

724 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

The left half of Figure 112 on page 724 shows the result when etching a planar substrate. The
etch region is a trapezoid of depth thickness, extending a distance undercut beneath the
mask edge, and with a sidewall slope of angle degrees. The right half of Figure 112 shows the
result when etching a nonplanar surface.

Step 1 of the sequence etches the exposed surface vertically to a depth of thickness
micrometers. Step 2 etches the resulting sidewall in the horizontal direction, producing an
undercutting of the mask and the sloped sidewall. In this case, Step 3 also has an effect, etching
upwards from the undercut region. Therefore, the hook in the final silicon profile is the result
of approximating the isotropic component of the etch. In every case, the intersection between
the bottom of the etch region and the sidewall occurs directly under the edge of the mask.

Figure 113 and Figure 114 show what happens when Eq. 945 is not satisfied.
etch material=silicon type=trapezoidal thickness=0.3 undercut=0.1 angle=45
-0.5

0
Y [µm]

0.5

1
0 0.5 1 1.5 2
X [µm]

Figure 113 Trapezoidal etching example 2


etch material=silicon type=trapezoidal thickness=0.3 undercut=0.1 angle=135
-0.5

0
Y [µm]

0.5

1
0 0.5 1 1.5 2
X [µm]

Figure 114 Trapezoidal etching example 3

In Figure 113, you have thickness/undercut < tan(angle). In this case, the sloped sidewall
of the etch extends out under the opening in the mask. The intersection between the bottom of
the etch region and the sidewall is no longer directly beneath the edge of the mask. If the mask
opening is narrow enough, the bottom of the etch region disappears entirely, resulting in a V-
groove etch. To produce this etch shape, Step 1 of the etch process is modified to reduce the

Sentaurus Process User Guide 725


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

depth of the vertical etch near the edges of the mask opening. Note that, in this situation, even
the smallest amount of nonetchable material can produce a triangular mound of unetched
material in the final structure.

Figure 114 on page 725 shows the case with an angle greater than 90° . In this case, the bottom
of the etched region is wider than the opening in the masking layer, producing overhanging
sidewalls. This etch is accomplished by modifying Step 2 of the procedure to etch further
horizontally at the bottom of the sidewalls formed by Step 1 than at the top. The apparent etch
depth of 0.5 μm at the right side of the mask opening is the result of a 0.3 μm vertical etch
of the original sloped surface (Step 1) followed by a 0.4 μm horizontal etch of the sloped
“bottom wall” that results from Step 1.

Trapezoidal 3D Etching

There are two possible cases for trapezoidal 3D etching:


■ A thickness (or rate and time) and an angle (optional) are specified. If angle is not
specified, it is considered to be 90° (vertical). In contrast with case 2, angle allows any
value between 0° and 180° . Figure 115 contains examples for both cases.
■ A thickness (or rate and time) and an angle (optional) plus [Link] and
[Link] (optional) are specified. If angle is not specified, it defaults to 90°
(vertical). Here, a special condition applies: angle must be greater than or equal to 90° ,
while [Link] must be smaller than or equal to 90° . In other words, the first
etching penetrates behind the mask, while the second one does the opposite. Figure 116 on
page 727 shows an example of this type.

NOTE For 3D trapezoidal etching to succeed, the initial etching surface must
be more or less flat.

Figure 115 Trapezoidal 3D etching: (left) angle=45 thickness=0.3 and (right) angle = 110,
thickness=0.44

726 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

Figure 116 Trapezoidal 3D etching produced with the options angle=110 thickness=0.3
[Link]=45 [Link]=0.400

Trapezoidal Etching Using [Link]

When the keyword [Link] is specified in conjunction with trapezoidal


etching:
■ Etch depth is controlled by rate and time, not by thickness.
■ The parameter [Link] is used to approximate the underetch effect otherwise
available in the [Link] case controlled in 2D by undercut. If
undercut is specified, [Link] will be approximated by undercut ⁄ time , and
a warning message will be issued. The parameter [Link] also approximates
underetching, controlled in three dimensions in the [Link] case by
the combination of angle, [Link], and [Link].
■ The parameters supported by the level-set solver such as shadowing become available.
■ An additional parameter roundness (default value 1.0) can be used to increase the
curvature of etching sidewalls.

Etching Type: Piecewise Linear


In piecewise linear etching, the etch rate is a user-defined piecewise linear function of the angle
between the incident etching beam and the normal vector of the surface being etched. You
define the points of angle versus rate on a material-by-material basis, as per the following
syntax:
[Link]= { \
materialA = { angleA0 rateA0 angleA1 rateA1 ... angleAn rateAn } \
materialB = { angleB0 rateB0 angleB1 rateB1 ... angleBn rateBn } \
...
}

where angle n – 1 ≤ anglen .

Sentaurus Process User Guide 727


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

The rates and angles are interpreted as follows:


■ Angles are given in degrees in the range [ 0° , 180° ].
■ The rate for angle < angle0 will be rate0, and the rate for angle > anglen will be 0.
■ The rate is calculated as the linear interpolation of the nearest two angle/rate pairs within
which the angle lies.

While Fourier etching and trapezoidal etching also define the etch rate according to the angle
between the beam direction and the surface normal, a piecewise linear function is a more
general parameterization of etch rate versus angle that users control directly.

Etching Beams

The beam command defines the direction and relative strength of etching beams to be used with
piecewise linear etching (see Etching Beams on page 719).

The parameter sources of the etch command specifies the list of names of etching beams to
be used in an etching operation.

Example of Piecewise Linear Etching

This example is a piecewise linear etching (see Figure 117):


beam name=src1 direction= {1 0 0} factor=1
etch type=[Link] sources=src1 time=0.2 \
[Link]= { Silicon= { 25 1.0 45 0.3 } }

-0.2
Y [µm]

0.2

0 0.5 1
X [µm]

Figure 117 Piecewise linear etching

The piecewise linear function must be defined by users as smoothly as possible, avoiding
discontinuous changes, to ensure well-defined level-set results.

728 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

Deposition
To specify the deposition type, use either the parameter type or one of the parameters
anisotropic, isotropic, fill, or fourier. To specify the thickness of the deposited
layer for isotropic and anisotropic deposition, use either the parameter thickness, or the
rate and time parameters. Besides the deposition type and thickness, you must specify the
material to be deposited (only one material is allowed per deposit command). To do this,
specify the material name in the command or the parameter material=<material_name>.

The following deposition types are supported:

type=anisotropic Performs anisotropic deposition.


type=isotropic Performs isotropic deposition.
type=fill Performs a fill of the structure with the specified material up to the
coordinate specified with the parameter coord.
type=fourier Performs Fourier deposition.
type=polygon Performs a polygonal deposition which requires the polygon
argument. The specified polygon is used to intersect all mesh
elements of material gas. Then, elements inside the polygon are
assigned to the specified material. (Not available in MGOALS3D.)
anisotropic Equivalent to type=anisotropic.
isotropic Equivalent to type=isotropic.
fill Equivalent to type=fill.
fourier Equivalent to type=fourier.

The number of steps for a deposition is specified as steps=<n>. The specified time or
thickness is subdivided accordingly. Subdividing a deposition into several steps might be
useful if stresses are initialized in the deposited layer. A stressed film of a given thickness can
be deposited at the same time or in several steps. Sentaurus Process simulates stress
rebalancing after each deposition step. Multistep deposition is known to generate more realistic
stress profiles compared to depositing the entire layer and then performing one stress
rebalancing calculation.

By default, the material is deposited on the surface exposed to the upper gas region. If the
structure has buried gas bubbles, they will be left untouched. To deposit inside those gas
bubbles specify the [Link] parameter in the deposit command.

Sentaurus Process User Guide 729


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

Mask Naming

The name of a mask also can be specified in the deposit command. In this case, the material
is deposited outside the specified mask. Deposition inside a mask requires the mask to be
inverted by specifying the parameter negative in the mask command defining the mask (see
Photoresist Masks on page 744).

For deposition, the analytic method, the fast level-set method, and the full level-set method are
available. In 2D, the analytic method is the preferred method for performing deposition, and
the level-set method is used when the analytic method is not possible because a front collision
is detected. In 3D, the analytic method is used for anisotropic deposition, the fast level-set
method is used for isotropic deposition, and the full level-set method is used for Fourier
deposition.

In the newly deposited region, constant field values can be initialized. For isotropic deposition,
you can define piecewise linear solution fields as a function of the distance from the original
surface.

Deposition Type: Isotropic

For simple conforming deposition, the boundary is offset an equal distance in all directions.

An isotropic deposition example follows (see Figure 118):


deposit nitride thickness = 0.05 type=isotropic

Figure 118 Isotropic deposition

Deposition Types: Fill and Polygonal


Fill is a special case of polygonal deposition. The mesh elements of material gas are intersected
at the specified coordinate. Gas elements below the coordinate are reassigned to the specified
material.

NOTE Polygon deposition is not available in MGOALS3D.

730 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

Figure 119 is a polygonal deposition example:


deposit type=polygon material=nitride polygon= {0.1 0.1 0.1 0.6 -0.31 \
0.6 -0.31 0.1}

Figure 119 Polygonal deposition

Figure 120 shows a fill example:


deposit material=nitride type=fill coord= -0.31

Figure 120 Fill example

Deposition Type: Crystallographic

Crystallographic deposition takes advantage of the full level-set method to grow single
materials whose rate of growth is determined by the crystallographic directions. The crystal is
assumed to be cubic regardless of the material being deposited. Deposition rates can be set for
the <100>, <110>, and <111> directions. These rates will be applied to their respective
equivalent directions based on cubic symmetry, for example, the <100> rate will apply to the
<010>, <001>, <-100>, <0-10>, and <00-1> directions.

Figure 121 on page 732 is a crystallographic deposition example:


deposit type=crystal material=nitride time = 0.05 \
[Link] = { <100> = 1.0 <110> = 0.1 <111> = 0.05 }

Sentaurus Process User Guide 731


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

Figure 121 Crystallographic deposition (vertical direction is <100>, lateral direction is <011>)

Crystallographic deposition also can be simulated using an atomistic technique (see Epitaxial
Deposition on page 507).

Deposition Type: Fourier


Fourier deposition takes advantage of the full level-set method to grow single materials whose
rate of growth is defined by a function of the angle between the surface normal of the material
boundary and the deposit beams. The definition and calculation of the deposit shape are exactly
analogous to the case of Fourier etching as described in Etching Type: Fourier on page 719.

For Fourier deposition, first, define the deposition beam in the same way as in Fourier etching:
beam name=<beam_name> incidence=<angle> | direction= {<x> <y> <z>}
factor=<relative_strength>

Use the sources and coeffs parameters in the same way as in Fourier etching, shown in the
following Fourier deposition example:
beam name=src1 direction= {1 0 0} factor=1
deposit nitride time=0.2 fourier sources= {src1} coeffs= { -0.3 0.7 }

The coeffs parameter has units of μm/minute and, by default, time is given in units of
minutes. To use Fourier deposition in 3D, additionally use the following command to override
the default Sentaurus Structure Editor deposit method:
sde off

NOTE The relationship between the A0 and A1 parameters in Fourier


deposition can be used to create a good reproduction of the
TSUPREM-4 deposit parameter ANISOTRO by using the formula
A1/A0 = ANISOTRO – 1.

732 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

0.5
Y [µm]

0 0.5 1 1.5 2
X [µm]

Figure 122 Two-dimensional Fourier deposition: for purposes of illustration, nitride is


deposited selectively on silicon using Fourier deposition and, then, an additional
Fourier deposition step adding polysilicon is performed using nitride as the
selective deposit material

Selective Deposition
Selective deposition is optionally available. Using the [Link] parameter,
you can select one or more materials to seed growth of the overlayer. When using 2D or 3D
MGOALS, multiple [Link] can be specified. In 3D SDE mode, only one
material can be specified in the [Link] list. Selective deposition can be used
with isotropic, anisotropic, or Fourier deposition types.

Fields in Deposited Layers

For isotropic deposition, piecewise linear fields can be specified in the deposited layer. A
doping command must be used for each field; each doping command must assign a unique
name. A list of names of the doping is then specified in the parameter doping of the deposit
command as a string array:
doping name=strainGe field=Germanium depths= {0 0.1} values= {1e22 1e22}
deposit material= oxide doping= {strainGe} type= isotropic \
thickness=0.1

These commands create a linear germanium field in the newly deposited oxide layer. Depth 0
corresponds to the initial surface (the bottom of the new layer).

Constant field values can be defined for all types of deposition as follows:
deposit material= oxide type= isotropic thickness=0.1 \
[Link]= {Vacancy=1e10 Germanium=2e22}

Sentaurus Process User Guide 733


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

NOTE To create layers with intrinsic stress, use the field names StressELXX,
StressELXY, StressELYY, StressELZZ, StressELYZ, and
StressELXZ. It is not necessary to specify all components of stress.
Those that are not specified are assumed to be initially at zero. If stresses
are added in this way, they will be rebalanced after the deposition is
completed. The actual value of the stress may differ from the value that
was deposited.

Constant concentrations can be defined for known solution fields (known solution fields must
have been defined before the deposit command, either in the [Link] file or the
command file of the user) as:
deposit material= {oxide} type= isotropic thickness= 0.1 Vacancy \
concentration=1e10

Stress Handling
In addition to optionally including an automatic ramp-up or ramp-down before etching and
deposition, by default, Sentaurus Process automatically rebalances the stresses after etching
and deposition. This updates the stress fields at the temperature of the etch or deposit step based
on the new geometry.

For the best stress results, it is necessary to control the temperature history. This includes
thermal ramp-up to process temperature, back to room temperature, and similarly ramp-up and
ramp-down for etch, and also for deposition. However, as a minimum, the elastic stress
rebalancing can be handled automatically by switching on the stress history (see Chapter 9 on
page 629 and Automated Tracing of Stress History on page 664).

It is sometimes useful to switch off this stress rebalancing step in 3D because the rebalance
triggers a new mesh to be created and, in 3D, meshing is delayed until it is needed. Therefore,
if you are more concerned about simulation time than stress accuracy, you should specify:
pdbSet Mechanics EtchDepoRelax 0

to allow multiple etch and deposit steps to be performed without a mesh being generated in
between.

734 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

Shape Library
The shape library provides commands for generating some special-shaped polyhedra in
Sentaurus Process. These shapes are created using Sentaurus Structure Editor. The shape
library is an interface to use those shapes in Sentaurus Process.

There are two ways to use the shapes from the shape library: MGOALS mode or SDE mode.
In MGOALS mode, polyhedra are created using Sentaurus Structure Editor. The generated
polyhedra then can be inserted into a Sentaurus Process structure using the insert command.
The MGOALS mode is activated with the command sde off.

In SDE mode, polyhedra are not created directly. Instead, the Sentaurus Structure Editor
structure itself is modified by inserting the shapes (replacing other materials). To activate the
SDE mode, use the command sde on.

In both modes, the correct coordinate transformation for the UCS (specified using math
[Link]) and for the DF–ISE coordinate system (default, or specified using math
[Link]) is applied.

The commands available in the shape library are:


■ PolyHedronSTI creates a shallow trench isolation (STI)–shaped polyhedron.
■ PolyHedronSTIaccc creates an STI concave active corner-shaped polyhedron.
■ PolyHedronSTIaccv creates an STI convex active corner-shaped polyhedron.
■ PolyHedronCylinder creates a cylinder-shaped polyhedron.
■ PolygonWaferMask creates a wafer mask polygon.
■ PolyHedronEpiDiamond creates an epitaxial diamond-shaped polyhedron.

Additional commands that create parameterized custom shapes can be defined by users using
the scripting capabilities of Sentaurus Process and Sentaurus Structure Editor.

PolyHedronSTI

The syntax of the PolyHedronSTI command is:


PolyHedronSTI name direction X0 Y0 Depth Zmin Zmax Tsti Asti Hsti Rd Rb Ru
[material]

where:
■ The name parameter is set to the name for the polyhedron.
■ The direction parameter can be set to left, right, front, or back, which tells the facing
direction of the STI polyhedron.

Sentaurus Process User Guide 735


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

■ The optional material parameter is used to specific the material of the inserted shape in
the SDE mode. In the MGOALS mode, the material of the inserted shape can be specified
in the insert command.
■ For other parameters, see Figure 123.
Depth

Ru
(X0 ,Y0 ) H sti
Rd A sti

Tsti
Y

X Rb

Figure 123 Parameters for generating STI-shaped polyhedron

Figure 124 shows some generated STI shapes in different directions. Figure 125 on page 737
shows STI shapes with different Tsti and Rb values.
Left Right

Zmin

Zmax

Front Back

Figure 124 STI-shaped polyhedra in different directions

736 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

Figure 125 STI-shaped polyhedra with different Tsti and Rb

PolyHedronSTIaccc

The syntax of the PolyHedronSTIaccc command is:


PolyHedronSTIaccc name direction X0 Y0 Z0 Tsti Asti Hsti Rd Rb Ru Rac
[material]

where:
■ The name parameter is set to the name for the polyhedron.
■ The direction parameter can be set to rb (right back), lb (left back), lf (left front), or
rf (right front).
■ The Rac parameter is the radius of the STI concave corner.
■ For other parameters, see Figure 123 on page 736.

Figure 126 shows STI concave corner-shaped polyhedra in different directions.

Figure 126 STI concave corner-shaped polyhedra in different directions: (from left to right)
left back, right back, left front, and right front

Sentaurus Process User Guide 737


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

PolyHedronSTIaccv

The syntax of the PolyHedronSTIaccv command is:


PolyHedronSTIaccv name direction X0 Y0 Z0 Depth Tsti Asti Hsti Rd Rb Ru Rac
[material]

where:
■ The name parameter is set to the name for the polyhedron.
■ Same as the PolyHedronSTIaccc command, the direction parameter can be set to rb,
lb, lf, or rf.
■ The Rac parameter is the radius of the convex corner.
■ For other parameters, see Figure 123 on page 736.

Figure 127 shows a generated STI convex corner-shaped polyhedron.

Figure 127 STI convex corner-shaped polyhedron

Figure 128 (left) shows a structure generated by combining the above three STI commands.
Figure 128 (right) illustrates the directions of the STI shapes.
Back
lb rb

Left Right

lf rf
Front

Figure 128 (Left) STI structures and (right) polyhedron directions

738 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

PolyHedronCylinder

The syntax of the PolyHedronCylinder command is:


PolyHedronCylinder name X0 Y0 Z0 Rc Hc [material]

where:
■ The name parameter is set to the name for the polyhedron.
■ Other parameters give the center coordination, the radius, and the height for the cylinder
(see Figure 129).

(Y0,Z0) Rc

Hc

X0

Figure 129 Cylinder-shaped polyhedron

PolygonWaferMask
The syntax of the PolygonWaferMask command is:
PolygonWaferMask name Y0 Z0 Rw Lf

where:
■ The name parameter is set to the name for the polyhedron.
■ Other parameters give the location and size for the mask (see Figure 130 on page 740).

NOTE This command only works in MGOALS mode.

Sentaurus Process User Guide 739


H-2013.03
11: Structure Generation
Etching and Deposition Types and Options

(Y0,Z0)
Rw

Lf

Figure 130 Wafer mask-shaped polygon

PolyHedronEpiDiamond
The syntax of the PolyHedronEpiDiamond command is:
PolyHedronEpiDiamond name X0 Y0 Z0 Wepi Lepi Hup Hdown Drecess [material]

where:
■ The name parameter is set to the name for the polyhedron.
■ For other parameters, see Figure 131.
Lepi

Hup
Wepi
(Y0,Z0) Drecess

X0
Hdown

Figure 131 Epitaxial diamond-shaped polyhedron

740 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
The mask and photo Commands

The mask and photo Commands


A quick way to mimic lithographic patterning is using the photo command. The photo
command takes a mask and effectively does a resist spin-on step followed by an exposure bake
and etch. The resist layer produced has vertical walls and is by default a negative of the mask,
but the positive sense can optionally be created as well.

In addition to the photo command, the etch and deposit commands allow you to specify a
mask directly. The parameter mask in the etch, deposit, and photo commands specifies the
name of one mask that has been previously defined using a mask command or by reading in
masks from a layout using the IC WorkBench EV Plus interface (see Chapter 12 on page 795).

The mask will have an effect similar to a masking layer; it limits the etch or deposition process
to a certain window. By default etching is not performed for points inside the mask, unless the
parameter negative is used in the mask definition. Similarly, deposition of a new layer in the
deposit command and of the photoresist layer in the photo command is performed outside
the mask unless the negative parameter is specified in the mask command in which case
deposition happens inside the mask only.

NOTE Always specify the masks and the simulation domain such that masks
do not end exactly on the boundary of the simulation domain, but end
inside or extend safely beyond the boundary of the simulation domain.

The mask command creates a mask. You can define the geometry of the mask directly in the
command file or can read masks from a layout file. Masks defined in the command file must
be given a name; otherwise, the names are read from the layout file.

If the parameter list is specified in a mask command, information about the existing masks
is printed. If name is specified as well, information about the specified mask is printed.

If the parameter clear is specified in a mask command, all previous mask definitions are
removed. If a name is specified as well, only the specified mask is removed.

A mask can be defined directly in the command file by using three different types of geometry
object:
■ Segments
■ Rectangles
■ Polygons

Each mask may be composed of an arbitrary number of such objects.

Sentaurus Process User Guide 741


H-2013.03
11: Structure Generation
The mask and photo Commands

Segments are defined as:


mask name= pmask segments= { -0.1 0.6 0.7 1.1 }

Pairs of subsequent values define the y-coordinates of the beginning and end of one mask
segment. Therefore, an even number of coordinates must be specified in the segments
parameter. The pairs may be defined in arbitrary order, and the segments defined by pairs of
coordinates may touch or overlap each other. In 3D, masks defined by segments are extended
over the entire range of z-coordinates.

A rectangular mask is defined as:


mask name=nimask left=0.2 right=1 front=0.2 back=1 negative

The left and right parameters define the minimum and maximum extensions of the mask
along the y-axis; the front and back parameters define the minimum and maximum
extensions of the mask along the z-axis.

NOTE Only one rectangle can be specified per mask command. The front
and back parameters may be omitted; in this case, the mask is
equivalent to a mask with one segment. Additional mask commands
with the same name can be used to add rectangles. The rectangles
defined for a mask may arbitrarily intersect or touch each other.

Masks also can be defined by a list of names of polygons. These named polygons must have
been defined before the mask command using one polygon command for each named
polygon:
polygon name=LShape2 segments= {0.0 -1.5 0.0 -0.5 0.5 -0.5 0.5 1.5 1.5 \
1.5 1.5 -1.5}
mask name=Mask2 polygons= {LShape2} negative

NOTE The segments in the polygon command are defined as a sequence of y-


and z-coordinates. The polygon is closed implicitly by connecting the
last point to the first. Each polygon for a mask must not touch or
intersect itself. The polygon may be specified with arbitrary orientation
(clockwise or counterclockwise in the yz plane). It does not matter if
different polygons for a mask touch or intersect each other.

Masks also can be defined by a combination of all three types of geometry object: segments,
rectangles, and polygons. Different objects may touch or overlap each other.

In 1D, the entire simulation domain is masked if the coordinate origin is masked. Any point
along the y-axis in a 2D simulation and any point of the yz rectangle of the simulation domain
in a 3D simulation are inside the mask if they are contained in any one of the geometry objects

742 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
The mask and photo Commands

defined for the mask. Specifying the parameter negative inverts the mask. In other words,
any point outside all the geometry objects defined for the mask is masked.

These commands can be used to invert a mask at any time after it has been defined:
mask name=aaa negative
mask name=aaa !negative

NOTE In the etch command, the masked area is not etched. While in the
photo and deposit commands, the photoresist or the specified
material is deposited in the unmasked area.

Masks can also be combined using a set of Boolean operations. The operations are specified
using the bool parameter (see Boolean Masks on page 744).

Layouts which have been defined in the GDSII format can be read into Sentaurus Process using
the ICWBEV Plus interface, see Chapter 12 on page 795. Alternatively, masks can also be read
from a layout file in DF–ISE format (default file extension .lyt). The TCAD layout tool
Ligament Layout Editor can save DF–ISE layout files as well as read in simple GDSII files. In
order to read the layout directly into Sentaurus Process, the name of the layout file must be
specified as layoutfile=[Link] in a mask command.

All mask rectangles and polygons read from a .lyt file are converted into named polygons.
These polygons then are collected into masks according to the names contained in the .lyt file.

When using a layout file, the relation between the layout coordinate system and the Sentaurus
Process coordinate system may need to be defined. By default, the layout-x axis (the horizontal
direction in Ligament Layout Editor) corresponds to the Sentaurus Process z-axis. The layout-y
axis (the vertical axis in Ligament Layout Editor) corresponds to the Sentaurus Process y-axis.
This definition matches the default definition of the parameter [Link] in the init
command and the coordinate x- and y-axes when displaying the Sentaurus Process simulation
results.

The coordinate transformation between the Sentaurus Process coordinate system and the
layout coordinate system can be defined in two ways:
■ In the mask command that specifies the layout file, the name of one mask may be specified.
If a mask with the specified name is contained in the layout file, it is used to position and
orientate the simulation domain in the layout.
■ Otherwise, a mask with the specified name must have been defined before using a mask
command. The specified mask is defined in layout coordinates. It may be defined as a
rectangle or a polygon, containing at least two points.

In the case of a rectangle (either defined by a SIM3D mask in Ligament Layout Editor or
defined in a mask command), the point with the minimum layout-x and layout-y coordinate is
used as the origin of the Sentaurus Process coordinate system. The direction from

Sentaurus Process User Guide 743


H-2013.03
11: Structure Generation
The mask and photo Commands

([Link]-x, [Link]-y) to ([Link]-x, [Link]-y) is used as the


Sentaurus Process y-axis.

If a polygon of at least two points is used (defined either as a SIM2D line segment in Ligament
Layout Editor or a mask defined as a polygon), the first point defined is used to place the origin
of the Sentaurus Process coordinate system. The direction from the first to the second point of
the mask is used as the orientation of the Sentaurus Process y-axis.

The local coordinates of the specified mask with respect to the selected Sentaurus Process y-
axis and origin are used as default extensions of the simulation domain. If a polygon mask with
only two points is used, the default extension in the z-direction is 0. The default extension in
the y-direction is defined by the distance between the two points. The default extensions in the
y- and z-directions as defined by the mask are reported. If no extensions have been defined
using the line y command or the line z command or both commands, the default extensions
are defined for the simulation when the layout file is read.

If a layout file is loaded, but no mask name is specified, the Cutline2D command that may
have been specified in the init command to define the parameter [Link] will be used
to orientate the coordinate systems. The first point specified in the Cutline2D command is
used as the origin of the Sentaurus Process coordinate system. The direction from the first to
the second point is chosen as the direction of the Sentaurus Process y-axis. If Cutline2D is
used, no default extensions of the simulation domain are defined.

Photoresist Masks
To define photoresist layers, use the photo command and specify a mask. Sentaurus Process
defines photoresist layers by specifying the minimum thickness of the resist and selecting the
name of a mask that has been defined by the mask command. By default, the photoresist will
be deposited outside the specified mask and will have a flat top similar to spin-on resist. If the
parameter negative has been specified when defining the mask, a photoresist is created
inside the mask.

Boolean Masks
Two masks can be combined using the bool parameter of the mask command. The Boolean
operations include: +, ^, * and –. In addition, masks can be transformed using the following
operations: rotate, scale, mirror, array, bias, over_under, under_over, and
offset.

The bool option only accepts simple expressions as described in the examples in Table 70.
Complex nested expressions (for example, bool= "(M1 + M2) – bias(–50, M3 + M4)")

744 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
The mask and photo Commands

are not possible in this implementation and, therefore, must be reduced to simple operations.
In addition, the bool option cannot be used together with the layoutfile, polygon, and
negative options.

Table 70 Boolean operations


Operation Example Description

+ bool= "mask1+mask2" Unites (merges) mask1 and mask2.

– bool= "mask1-mask2" Subtracts mask2 from mask1.

* bool= "mask1*mask2" Produces the intersection of mask1 and mask2.

^ bool= "mask1^mask2" Produces a mask that contains the nonoverlapping


portions of mask1 and mask2 (XOR operation).

– bool= "-mask" Produces a mask that is the complement of the


input mask.

rotate bool= "rotate(direction,mask)" Produces a mask that is rotated with respect to the
input mask. The direction parameter can be
either left-90 or right-90.

scale bool= "scale(factor,mask)" Produces a mask that is scaled with respect to the
input mask using the floating-point value of
factor.
mirror bool= "mirror(axis,mask)" Mirrors a mask with respect to a local axis
specified by x or y.

array bool= "array(nx, ny, dx, dy, mask)" Produces an array of n x × n y masks separated by a
distance specified with dx and dy.

bias bool= "bias(delta,mask)" All mask edges on the input mask are offset in the
normal direction by the specified amount. A
positive delta value expands the mask, while a
negative delta shrinks it. Zero or negative area
sections of the mask are eliminated from the output
mask. Overlapping sections of the mask are
merged.

over_under bool= "over_under(delta, mask)" Expands and then shrinks the input mask by delta.
This effectively merges areas in close proximity
and is equivalent to bias(delta, bias
(-delta, mask)).
under_over bool= "under_over(delta, mask)" Shrinks and then expands the input mask by delta.
This eliminates small areas and is equivalent to
bias(delta, bias(-delta, mask)).
offset bool= "offset(dy, dz)" Translates the mask by the specified amount. The
dz parameter is ignored in 3D.

Sentaurus Process User Guide 745


H-2013.03
11: Structure Generation
The mask and photo Commands

Line Edge Roughness Effect


Line edge roughness (LER) is the deviation of feature edges from ideal straight lines due to
statistical fluctuations in photolithographic processes. Sentaurus Process uses the
line_edge_roughness command to apply randomized deviations to straight mask edges,
for example:
line_edge_roughness normal= "Z" masks= {mask1} [Link]= 25.00<nm> \
[Link]= 5.00<nm> [Link]=5.00<nm>

The random noise function f random applied to mask edges by the line_edge_roughness
command is generated from the power spectrum of a Gaussian autocorrelation function. The
Gaussian autocorrelation shape is characterized by the standard deviation distance Δ specified
by the [Link] parameter and the correlation length Λ , specified by the
[Link] parameter:
2 2
2 –( x ⁄ Λ )
Autocorrelation ( f random ) = Δ πΛe (946)

f random is obtained by Fourier synthesis, applying the inverse Fourier transform to Eq. 946, after
adding random phases. In this way, random deviations of the mask edges can be obtained from
run to run, which correspond to LER profiles having the same standard deviation Δ and
correlation length Λ .

These random deviations are added in discrete form to the mask edges in question. First, the
mask edge is subdivided into discrete segments complying with the user parameter
[Link]. Second, the deviation at each segment endpoint is added in the
direction normal to the initial mask edge orientation.

LER is applied by default to all edges of the mask. You can limit which edges in a named mask
are to receive LER by the parameter normal, which specifies either the y-axis (Y) or the z-axis
(Z). If normal is specified, only those edges in the named masks normal to the given axis are
chosen for LER to be applied. LER is applied only once per mask. Mask segments along the
device bounding box do not receive LER.

The parameter ![Link] bypasses the reseeding of the random number generator
before the random phases are added. By using this parameter, the shape of the noise function
and, therefore, the LER result, can be reproduced from one run to the next if needed for
comparison.

The parameter [Link] can reproduce specific LER calculations from one run to the
next by setting the same random seed in both runs. When stored in a TDR file in split
simulations, the parameter [Link] is included when saving line_edge_roughness
to the TDR file, even if it is not specified by users, to ensure proper reproduction of the same
LER in a subsequent reload of the TDR file.

746 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
The mask and photo Commands

NOTE The structure is extruded automatically to three dimensions if it is less


than three dimensions and the line_edge_roughness command is
used.
A B

n m
50

C D

Figure 132 Example of 3D structure with LER applied using different values of standard
deviation Δ and correlation length Λ : (A) no LER applied, (B) LER applied with
Δ = 4 nm and Λ = 20 nm, (C) LER applied with Δ = 2 nm and Λ = 20 nm, and
(D) LER applied with Δ = 2 nm and Λ = 12 nm

The following strategy is used to address the problem of nearly collinear LER mask points that
may trigger removal by decimation during meshing. Avoiding the decimation of nearly
collinear LER mask points is desirable because removing such points may perturb the power
spectrum of the Gaussian autocorrelation function represented by the mask shape and may also
result in meshing difficulties.

If the parameter [Link] is set to a nonzero value, LER masks are checked for nearly
collinear points, which would result in decimation by the mesher:
line_edge_roughness [Link]=30

If any points in the LER mask are decimated by the mesher, based on the current
mgoals accuracy setting, the LER mask is rejected and the LER generation process is
restarted. After each restart, the detection and restart process is repeated until an acceptable
LER mask is generated or until the number of attempts exceeds [Link].

When [Link] is exceeded, Sentaurus Process stops with an error message that suggests
using a smaller value of mgoals accuracy or a larger value of [Link] in
the line_edge_roughness command.

Sentaurus Process User Guide 747


H-2013.03
11: Structure Generation
Geometry Transformations

The default value of [Link] is 0, meaning no decimation check is performed, no retries


are attempted, and the initial mask LER is accepted as it is, even with nearly collinear points.

Geometry Transformations
Transformations supported in Sentaurus Process are reflection, stretch, cut, rotation,
translation, and flip:
■ The transform reflect command is used with left, right, front, or back to
perform the reflection centered on the outer boundary of the simulation domain. At the
reflection side, regions are not merged immediately to allow a clean transform cut
afterward if required. The grid can be merged with grid merge command manually, but
if not, the structure will naturally be merged for any geometry changing operation later
(except transform reflect). It is also possible to discard the original structure when
reflecting by specifying the optional parameter ![Link].
■ The transform stretch command is used to indicate a mesh cutting at the position
given by the location parameter. The two pieces of mesh defined by the cut plane are
translated perpendicular to the cut plane, and new elements are inserted with a size given
by the length parameter.
■ The transform cut command is used to crop the structure. If used with left, right,
front, or back, the default will cut the structure in half at the midpoint along the given
direction. The location parameter is used to modify the cut to a position not in the
middle. For a more general crop operation, the cut parameter can be used with the min
and max parameters that specify the cropping box.
■ The transform rotate command is used to rotate a structure. An axis and angle
should be specified. Only 90° , 180° , and 270° angles are allowed for the x-axis, and
180° for the y- and z-axis. In the case of 2D simulations, rotations will produce an
extruded 3D simulation.
■ The transform translate command shifts the structure the specified quantity. Since
it is a pure translation, it will not change the aspect of the structure.

In 2D, all transformations are performed by MGOALS. In 3D, if the SDE mode is on, the
appropriate Scheme commands are dispatched to Sentaurus Structure Editor to transform the
structure. If the SDE mode is off, MGOALS performs the reflect, rotate, translate.
stretch and cut operation.

All these transformations also will be applied to the existing refinements, which will be cut,
stretched, rotated, translated, and reflected. To disable this feature, set Grid
[Link] to false.

The transformations stretch and flip are not supported by Sentaurus Process KMC.

748 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Geometry Transformations

Refinement Handling during Transformation

All these transformations also apply to the existing refinements created with either the
refinebox or the line command. Detailed descriptions of refinement handling are provided
with each operation here.

To disable this feature, set Grid [Link] to false.

Contact Handling during Transformation

The only special contact handling occurs during transform reflect. In this case, contacts
that straddle or touch the reflecting plane are enlarged to the reflected area (only one contact
remains). The remainder of the contacts are duplicated and are renamed by appending a suffix
as follows:
■ For right or left reflection, the contact on the left after reflection will be named <original
contact name>.1 (where <original contact name> was the name of the contact
before the reflection operation), and the contact on the right after reflection will be named
<original contact name>.2.
■ Similarly, for front or back reflection, the front contact (which has a larger z-coordinate)
will be named <original contact name>.2, and the back contact will be named
<original contact name>.1.
■ For up or down reflection, the upper contact will be named <original contact
name>.1, and the lower contact will be named <original contact name>.2.

You can rename contacts after the reflect command, or at any time, using the command:
contact name= <old contact name> [Link]= <new contact name>

For example, after reflection, you can use the command:


contact name= SourceDrainContact.1 [Link]= Source

where the original contact name before reflection was SourceDrainContact.

NOTE It is recommended to specify all contacts after all transform operations


other than transform reflect to avoid problems during contact
creation.

Sentaurus Process User Guide 749


H-2013.03
11: Structure Generation
Geometry Transformations

The transform reflect Command


The transform reflect command is used to reflect the structure about the left, right, front,
or back boundary (at minimum y, maximum y, maximum z, or minimum z). If any remeshing
or other mesh modification operations are performed after a transform reflect command,
the symmetry will be lost. An extra ![Link] parameter discards the original
structure leaving only the reflected one.

Examples:
transform reflect left
transform reflect ymin
transform reflect front
transform reflect left ![Link]

NOTE The option remesh is disabled in reflect because it may disrupt the
symmetry of the reflected structure. However, the command grid
merge can be used afterward to remove same-material interfaces at the
reflecting plane.

Refinement Handling during Reflection


In the case of ![Link], lines coming from both the line command and refinement
boxes are reflected along with the structure. However, when the original structure is kept, some
special handling is required.

Typically, during any geometry operation, lines created with the line command that have been
defined outside the bounding box will be removed. Therefore, there is no danger of the
reflected lines conflicting with the original lines.

For refinements created with refinement boxes, if the refinement box is constrained spatially
(that is, the min or max parameter has been used in the definition), then the box will be
duplicated, and the name of the new box will be reflected_<name> where <name> is the
name of the original refinement box. If the original and reflected refinement boxes overlap,
there is no problem since the refinement criteria are the same.

The transform stretch Command


The transform stretch command stretches the structure in the left, right, down, up, front,
or back directions at a given coordinate location by offsetting one side of the structure by the
specified length. If there is no vertical line of edges at the specified location, MGOALS creates

750 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Geometry Transformations

such a line and then stretches the structure. The data at the two ends of the stretched region is
exactly the same as that of the unstretched mesh.

Examples:
transform stretch location=0.001 length=5 right
transform stretch down loc=0.5 length=200 info=2

NOTE Do not use together with the atomistic mode (KMC).

Refinement Handling during Stretch


During the stretch operation, mesh lines that were created with the line command in the part
of the structure being stretched are translated with the structure. No new lines are introduced
into the expanded region. The refinement boxes that straddle the stretch location are increased
in size by the stretch distance to follow the structure.

The transform cut Command


The transform cut command cuts at or near the requested coordinate location. The location
defines a line in 2D or a plane in 3D that divides the structure into the left and right, or front
and back, or up and down parts. You can select the left/right, or front/back, or up/down region
to be removed. If a line of element edges in 2D or a plane of element faces in 3D can be
identified by MGOALS, the operation eliminates only the elements in the removed region. This
works well if a structure had been reflected and needs to be cut back to the original
(unreflected) structure. If a line of element edges in 2D or a plane of element faces in 3D cannot
be found, a mesh-cutting operation is performed. By default, MGOALS tries to find a mesh
line or plane near the specified coordinate. Then, MGOALS removes entire mesh elements
rather than cutting mesh elements to avoid arbitrarily small edges and poor element quality. To
disable the search feature and perform the operation exactly where specified, use
the ![Link] option of the transform command, which will invoke a remesh
unless !remesh also is specified.

Examples:
transform cut location=0.5 right
transform cut left loc = 0.0

You also can use the cut command to crop the mesh by specifying a rectangle/brick defined
by the upper-left-front and lower-right-back corners, specified with the min and max
parameters. The cut operation retains the region enclosed by the rectangle/brick. By default,
MGOALS tries to find a mesh line or plane near the specified coordinate and removes the
whole mesh elements instead of cutting the mesh (which could lead to arbitrarily small edges
and poor element quality). To suppress searching of a nearby mesh line or plane and to perform

Sentaurus Process User Guide 751


H-2013.03
11: Structure Generation
Geometry Transformations

the operation exactly at the specified location, specify ![Link]. This automatically
invokes a remeshing unless !remesh is specified.

Examples:
transform cut min= {-2 -1} max= {11 0}
transform cut min= {-10 1.35 0.15} max= {10 1.65 0.4}

Refinement Handling during Cut

During the cut operation, lines created with the line command that are outside of the
simulation domain after the cut are removed and, similarly, any refinement box that lies
completely outside the simulation domain after the cut is removed as well.

The transform flip Command and Backside Processing


The transform flip command was introduced specifically to allow a convenient way to
perform process steps on the back of a wafer. During the transform flip command, the
structure is rotated 180° about a line by default in the center of the structure parallel to the y-
axis. Therefore, the structure is upside down after the flip and in the same location. Because
most operations in Sentaurus Process require a Gas region on top, a gas region is added
automatically. In addition, many meshing operations require a solid material at the bottom of
the structure, so the Gas region that was previously on top of the structure is converted to an
auxiliary material called BackMat. If the structure is flipped again, the reverse happens,
namely, BackMat is converted to Gas, and Gas is converted to BackMat. Any operation is
allowed on a structure that has been flipped one or more times; however, the current bottom of
the structure is never an active surface for any operation such as oxidation, epi, etching, and
deposition.

There is great flexibility in the handling of the auxiliary material at the back of the structure.
The material itself defaults to BackMat as mentioned, but you can choose another material
using the command pdbSet Grid [Link] <material>.

The material BackMat inherits its parameters from (is Like) Gas so that it behaves like gas
for dopant diffusion simulation. For implantation, the material is converted to Photoresist
so no implant tables are required for this material. Similarly, for mechanics, the only way to
obtain Gas-like mechanics boundary conditions at interfaces to the back material is to use an
actual Gas region. Therefore, the back material is converted automatically to Gas before each
mechanics call and is converted back directly afterwards. Finally, when a region of material
BackMat is saved in a structure, it is first converted to Gas, so that other tools reading the
structure will have the proper material. However, it is also given a Sentaurus Process–specific
tag, so that Sentaurus Process knows the region should actually be BackMat.

752 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Geometry Transformations

Another important point regarding mechanics simulations on flipped structures is that only a
modified version of the lattice mismatch model is available. With this model, the command
substrate [Link] is no longer available for modification. Instead, the
lattice-mismatch strain is added using the reference concentration model. This model uses a
reference concentration and bases all strains directly on the difference between the strain field
and that reference (see Reference Concentration Model on page 660).

NOTE To avoid switching from the standard lattice mismatch model to the
reference concentration lattice mismatch model after transform
flip is used, switch on the reference concentration model. This should
be performed before initial structure creation using:
pdbSet Mechanics [Link] 1
for those simulations using transform flip.

NOTE When performing laser annealing on a structure that has been flipped,
the following settings are recommended (see also Flash or Laser Anneal
Model on page 220):
pdbSet Grid [Link] 0
mater add name= MyBackMat [Link]=Silicon add
pdbSet Grid [Link] MyBackMat
pdbSet ImplantData [Link] MyBackMat

NOTE Do not use together with the atomistic mode (KMC).

Refinement Handling during Flip

Refinements during a flip operation are handled in the same way as refinements during
reflection in the case of ![Link]. Lines coming from both the line command and
refinement boxes are reflected along with the structure.

The transform rotate Command


The transform rotate command rotates the structure the specified angle in the specified
axis using (0,0,0) as the rotation center. It accepts two parameters axis and angle to specify
the rotation axis and angle, respectively. For Y and Z, 180 degrees can be specified. For X, 90,
180, and 270 degrees are allowed.

It might happen that during the rotation the existing initial gas has to be moved to a side or the
bottom of the structure instead of being at the top. In these cases, new gas will be added to the
top.

Sentaurus Process User Guide 753


H-2013.03
11: Structure Generation
MGOALS Interface

The transform rotate command applies to 3D and 2D simulations. For 2D simulations, a


rotation in the z-axis will produce another 2D simulation, but rotations in the x-axis and y-axis
will produce a structure equivalent to extruding the z-axis and then performing the rotation.

Refinement Handling during Rotation

During a rotation operation, lines coming from both the line command and refinement boxes
are rotated along with the structure.

The transform translate Command


The transform translate command does not change the aspect of the structure. It only
adds the coordinate specified in the translate parameter to all the nodes, that is, it displaces
the structure or shifts it in space. It is equivalent to changing the origin of coordinates by a fixed
quantity.

Similarly, mesh lines created with the line command and the bounding box of refinement
boxes (which are specified with the min and max parameters of the refinebox command) are
translated with the structure.

MGOALS Interface
By default, etching and deposition operations are performed using the MGOALS library in 1D,
2D, and 3D. The MGOALS library operates as follows:
■ The starting structure is analyzed for the interfaces that will change during the operation.
■ The geometry-changing operations are performed.
■ In 2D, the entire structure is remeshed. During remeshing, nodes in the silicon region are
retained as much as possible in their original locations. In most cases, a high percentage of
the nodes are retained after remeshing. This minimizes interpolation errors. In 3D, the
structure is remeshed only if the next step requires an up-to-date mesh.

MGOALS Boundary-moving Algorithms


MGOALS uses either an analytic method or a fast level-set method to perform boundary-
modifying operations. In general, the analytic method is faster, less memory intensive, and
more accurate. However, it cannot handle deposition in concave regions or etching of convex
areas when there are boundary collisions and self-intersections.

754 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
MGOALS Interface

The analytic method is fast, accurate, and uses a simplified string algorithm. Due to speed and
accuracy advantages, MGOALS always tries to perform an analytic operation. If self-
intersections are detected in the new boundary, MGOALS automatically switches from the
analytic method to the fast level-set method. Both the analytic and the fast level-set methods
can handle simple etch and deposition processes.

Besides the analytic method and the fast level-set method, a general time-stepping level-set
method is available to handle more complex etch types such as Fourier, crystallographic, and
multimaterial etching, and to include shadowing effects.

Both level-set methods use an approach similar to that described in [1]:


■ First, the level-set method identifies the interface or the part of an interface to be moved.
This computation is based on nonetched overlayers, masks, and if necessary, visibility due
to directional constraints specified by the user.
■ Second, evolution of the moving interface is performed using either the fast-marching
scheme, which solves the time-independent boundary-value formulation of the Hamilton–
Jacobi equation (or Eikonal equation), or “full levelset,” a time-dependent, initial-value
formulation of the same equation. The fast-marching scheme computes the new boundary
location for all times in a single step. The nature of the equation is such that it captures and
handles collisions. However, the equation cannot identify when the collision actually
occurred. The “full levelset” formulation which is a time-dependent, initial-value
formulation is used for multimaterial, Fourier, and crystallographic etching, and for
handling shadowing effects. Its time-stepping algorithm allows for recalculating the front
velocity at every time step.

In MGOALS, the fast-marching and level-set equations are solved on a separate Cartesian
mesh that is independent of the simulation grid. For a description of the parameters that control
the Cartesian mesh, see MGOALS Boundary-moving Parameters on page 756.

After solving the level-set equations, the newly created boundary is extracted from the level-
set function on the Cartesian mesh and then incorporated into the simulation mesh. The exact
replication of the extracted boundary in the mesh can be expensive and can transfer unwanted
noise from the level-set solution into the structure. To resolve these issues, MGOALS allows a
certain smoothing to be performed on the extracted boundary.

In 2D, to incorporate the new boundary into the simulation grid, a simplified meshing step is
performed. A simple mesh is created for the modified regions and connected to the mesh in
unchanged regions. Since this mesh is not suitable for process simulation, by default, a full
remesh is performed after each etching and deposition step.

In 3D, almost all boundary-modification operations performed by MGOALS use the analytic
method. The only exceptions are isotropic deposition and etching, which are performed using
the fast level-set method. The new material boundary is integrated into the structure using a set
of polyhedral Boolean operations.

Sentaurus Process User Guide 755


H-2013.03
11: Structure Generation
MGOALS Interface

MGOALS Boundary-moving Parameters

Parameters to specify the resolution of the Cartesian mesh and the interface/boundary fidelity
are defined in an mgoals command before the etch or deposit command. These parameters
are applied to the entire structure. The interface quality and resolution are controlled by
accuracy, resolution, and [Link]. The actual size and placement of the
Cartesian mesh bounding box is calculated starting with the initial interface being etched,
extended based on the time and rates given by the user, or in the case of etchstop materials,
extended based on the distance from the initial front to the etchstop materials.

The accuracy Parameter

The accuracy parameter is used to control the noise and features at an interface. A small value
of accuracy allows only small deviations between the boundary extracted from the level-set
function and the piecewise linear segments incorporated into the simulation mesh. As a result,
a large number of small segments may be created. In addition, a value of accuracy that is too
small may interpret numeric noise as surface features, which MGOALS requires to reproduce
–5
in the simulation mesh. The default value for accuracy is 1.0 ×10 μm .

Figure 133 The curved surface represents the extracted new boundary and the piecewise
linear segments represent the simplified boundary incorporated into the
simulation mesh. The accuracy parameter ensures that u ≤ accuracy.

The resolution Parameter

The value of the resolution parameter controls the element size in the Cartesian mesh used
to perform level-set based etching and deposition. Since the thickness of the layer to be
deposited or etched is user specified, the grid size is defined as a fraction of the thickness of
the modified layer. The size of each grid element of the level-set mesh is given by the product
of the value of the resolution and the etch or deposit thickness.

The resolution is specified in the mgoals command and the etch or deposit thickness is
specified in the etch or deposit command, respectively. This scheme usually provides a
good approximation of the required level-set resolution and is computationally efficient. The
default value for resolution is 0.1.

NOTE Providing a small resolution parameter for thin layers may lead to
excessive time and memory consumption. For example, if an isotropic
deposit of 1 nm thickness is performed with resolution=0.1, a level-
set grid size of 1Å will result.

756 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
MGOALS Interface

NOTE For a thick etching or deposition, it may be necessary to reduce the


resolution. For example, a 1 μm deposition with
resolution=0.1 leads to a level-set grid size of 100 nm that may lead
to a poor approximation of sharp corners and rounded areas in the new
boundary.

General Time-Stepping Level-Set Parameters

The general time-stepping level-set method has a few additional parameters to control and
balance accuracy, simulation time, and memory use. Usually, the full time-stepping level-set
method is used in situations where more intricate boundaries will be generated. The full time-
stepping level-set method is needed for Fourier, crystallographic, and multimaterial etching
types, and for etching with shadowing on. It is also used if the [Link]
parameter is given.

The [Link] parameter can be used for the time-stepping level-set algorithm in the
same way resolution is used for the fast level-set algorithm. You also can specify the actual
spacing of the Cartesian mesh in the x-direction or y-direction or both directions, with the dx
and dy parameters (and the z-direction in 3D with dz). Reducing the mesh size causes the time-
stepping method to allocate more memory, to take smaller time steps, and to increase the solve
time for each time step, thereby increasing the overall simulation time.

NOTE In previous releases, the Upwind formulation of the time-stepping level-


set method provided users with the mgoals parameters
reinitfrequency and reinititerations to control the frequency
and quality of level-set reinitialization. The currently implemented
Lax–Friedrichs formulation does not provide these parameters to users,
since reinitialization is performed at every time step.

Level-Set Cartesian Mesh and Resolution: Internal Calculations

The Cartesian mesh extent or bounding box, the resolution and [Link]
criteria, and the grid spacing criteria dx, dy, and dz interplay in the following ways.

The Cartesian mesh encompasses the initial interface between the Gas and all the materials the
user has defined to be etched. It also encompasses the entire movement of the etching front
expected throughout the entire etch process. In the case of time-based etching with the time
keyword, an etching distance is computed based on the requested etch time multiplied by the
maximum expected etch rate. The resolution or [Link] keyword is then used
as the approximate mesh spacing unless overridden by dx, dy, or dz. The number of resulting
Cartesian mesh lines follows as required to achieve the desired mesh spacing within the
Cartesian mesh bounding box.

In the case of material etchstop, the bounding box of the Cartesian mesh is calculated based on
the initial Gas/etch-material interface, and its extent is determined by the position of etchstop

Sentaurus Process User Guide 757


H-2013.03
11: Structure Generation
MGOALS Interface

materials in the simulation domain—the estimated maximum etching distance. The target
mesh spacing in 2D is the resolution or [Link] multiplied by the estimated
maximum etching distance. In 3D, the target mesh spacing is set to the [Link],
as the estimated maximum etching distance is not calculated in 3D for this purpose. From the
Cartesian mesh bounding box size and the target mesh spacing, possibly overridden by dx, dy,
and dz, the number of Cartesian mesh lines is determined.

Limitations of Level Set

As a general approach, while level set is especially useful for shadowing, multimaterial,
sophisticated etch velocity functions (for example, surface normal dependent or crystal
direction dependent), and complex evolution of etch surfaces (that is, complicated structures),
it is generally not a good choice when sharp or exact corners, and straight or exact etch walls,
are required, such as in anisotropic etching.

This limitation is due to the implicit representation of the structure as a rectilinear grid of
distance functions used to calculate the evolution of the moving surfaces.

MGOALS 3D Boundary-moving Algorithms


MGOALS can perform 3D geometric etching and deposition operations, hereafter referred to
as the MGOALS3D mode. Since interfacing with Sentaurus Structure Editor is the default
method for 3D geometric operations, MGOALS must be activated using the command:
sde off

In MGOALS3D mode, a combination of level-set, fast marching, and analytic techniques are
used to perform geometric operations similar to 2D. Unlike Sentaurus Structure Editor,
MGOALS3D can reliably handle complicated boundaries (that is, those represented by
polyhedra instead of geometric primitives). Such boundaries are created by 3D MGOALS
etch, deposit, and transform commands.

NOTE After any one of these three process steps is performed in 3D, all
subsequent geometry operations should be performed using
MGOALS3D.

The use of the level-set method for thin etches or deposits can be prohibitively CPU and
memory intensive, especially for large structures or for very thin etch or deposit steps. To
address this issue, etches and deposits less than 1 nm use the analytic method by default. The
thickness of this cutoff can be modified using the [Link] parameter of the
mgoals command.

To produce meshes with the highest quality elements and the fewest points, you should reduce
the number of interfaces in the structure. This is especially true for 3D. However, because

758 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
MGOALS Interface

region-merging is inconsistent with the paint-by-numbers mode, the default behavior in 3D is


not to merge regions. When the MGOALS mode is switched on, it is assumed that you are not
running the paint-by-numbers mode, so region-merging is switched on.

NOTE When the command sde off is specified, region-merging is switched


on regardless of the previous setting.

Summary of MGOALS Etching and Deposition Algorithms


Table 71 on page 760 summarizes the algorithms used internally to implement etching and
deposition:
■ Level set (LF) – General time-stepping level-set algorithm with Lax–Friedrichs (LF)
formulation.
This is the most general algorithm. All level-set algorithms have the disadvantage of a
certain amount of rounding at corners and edges. The LF formulation has added stability,
which can result in slightly more rounding at corners and edges.
■ Level set (UW) – General time-stepping level-set algorithm with Upwind (UW)
formulation.
The UW formulation is less stable and less reliable. This algorithm is used only for 2D
isotropic single-material etching with shadowing or for 2D isotropic multimaterial etching.
■ Fastmarch (fast level-set method) – This is used in simple 1D or 2D directional and
anisotropic etching.
■ Geometric – Three-dimensional etching algorithm creates a shaped boundary
representation tool, which is applied through Boolean operations to the existing structure
“blank” to obtain the final etching shape.
■ Analytic – One-dimensional or 2D etching algorithm calculates and inserts an analytically
calculated etching shape into the device structure.

Sentaurus Process User Guide 759


H-2013.03
11: Structure Generation
MGOALS Interface

Table 71 Summary of etching algorithms used for different etching input parameters
Material Shadowing Etching type Structure Etchstop mechanism
dimension
Time and rate Material Etchstop Thickness

Single material No shadowing Isotropic 1D/2D Analytic Level set (UW) Analytic

3D Geometric Level set (LF) Geometric

Fourier 1D/2D/3D Level set (LF) Level set (LF) Not supported

Directional 1D/2D Fastmarch Fastmarch Fastmarch

3D Geometric Level set (LF) Geometric

Anisotropic 1D/2D Fastmarch Fastmarch Fastmarch

3D Geometric Level set (LF) Geometric

Shadowing Isotropic 2D Level set (UW) Level set (UW) Level set (UW)

3D Level set (LF) Level set (LF) Level set (LF)

Fourier 2D/3D Level set (LF) Level set (LF) Not supported

Directional 2D/3D Level set (LF) Level set (LF) Level set (LF)

Anisotropic 2D/3D Level set (LF) Level set (LF) Level set (LF)

Multimaterial No shadowing Isotropic 2D Level set (UW) Level set (UW) Level set (UW)

3D Level set (LF) Level set (LF) Geometric

Fourier 2D/3D Level set (LF) Level set (LF) Not supported

Directional 2D Level set (LF) Level set (LF) Level set (LF)

3D Level set (LF) Level set (LF) Geometric

Anisotropic 2D Level set (LF) Level set (LF) Level set (LF)

3D Level set (LF) Level set (LF) Geometric

Shadowing Isotropic 2D Level set (UW) Level set (UW) Level set (UW)

3D Level set (LF) Level set (LF) Geometric

Fourier 2D/3D Level set (LF) Level set (LF) Not supported

Directional 2D Level set (LF) Level set (LF) Level set (LF)

3D Level set (LF) Level set (LF) Geometric

Anisotropic 2D Level set (LF) Level set (LF) Level set (LF)

3D Level set (LF) Level set (LF) Geometric

760 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
MGOALS Interface

MGOALS Backward Compatibility

Default parameters and algorithm settings used by the MGOALS library may change from
release to release in the pursuit of more accurate, more realistic, and more stable structure
generation results. To use default parameters and settings from a previous release, enter the
required release as a string parameter in the mgoals command, for example:
mgoals "G-2012.06"

Partial support for this backward compatibility is available starting with Version D-2010.03
with more complete support starting with Version E-2010.12.

Boundary Repair Algorithm

Anisotropic or directional operations can produce residual material when the walls of the
etched material are not perfectly vertical or aligned to the etching beam. These residual
materials usually cause problems to the mesh generator since they contain sharp angles and
small features that cannot be meshed. To correct this problem, MGOALS has implemented a
repair algorithm that analyzes the structure and eliminates small, unwanted features.

The repair algorithm can be used with the etch, deposit, and photo commands. Those
commands include a Boolean parameter named repair that controls the repair algorithm. The
repair algorithm is enabled by default in 3D and disabled in 2D. To activate or deactivate the
repair algorithm, include repair or !repair in the command specification. For example:
etch material= {Silicon} type=anisotropic rate = 0.001 time=1.0 !repair

Inserting Segments in One Dimension


The insert command defines and inserts regions defined by segments in one dimension. You
can choose which materials or regions are replaced, and the name and material of the new
region.

Multiple regions can be inserted in one step. However, to insert multiple regions, the name
cannot be specified. If multiple regions are inserted, machine-generated names are used. For
more information, see insert on page 942.

Sentaurus Process User Guide 761


H-2013.03
11: Structure Generation
MGOALS Interface

Inserting Polygons in Two Dimensions


Two-dimensional regions defined by polygons can be created and inserted directly into a 2D
simulation.

Polygons are created with the polygon command. This command accepts several options to
specify how to create the polygon:
■ points is followed by a list of points defining the polygon.
■ rectangle, with min and max, specifies the rectangle limits.
■ segments is followed by pairs of numbers specifying the coordinate where each segment
starts and the previous one finishes.
■ xy specifies the polygon will be created in the xy plane.

Since the standard use of the polygon command (see The mask and photo Commands on
page 741 and Using Polygon and Rectangle Mask in 2D Simulation on page 773) is to
create masks for etch, deposit and photo, the default coordinates are y and z for the
segments and min and max options. Consequently, the option xy must be specified in
order for the polygon to be created in the xy plane instead of the yz plane.
■ tdr is followed by the name of a TDR file to import the polygon from, and the parameter
materials instructs the reader which polygon to read if there are many.

For examples of polygon creation, see Polygon Creation and Insertion in MGOALS2D on
page 786.

The insert command takes a mandatory polygon parameter containing the name of the
polygon and inserts it into the structure. It allows specifying the parameters
[Link], [Link], [Link], and [Link] in a very
similar way to the insertion in 3D (see Inserting Polyhedra on page 765).

For an example of polygon insertion, see Polygon Creation and Insertion in MGOALS2D on
page 786.

Inserting Polyhedra in Three Dimensions


Regions defined by polyhedra can be inserted into an existing structure in three dimensions.
The polyhedron command creates a polyhedron <phname> and adds it to the internal
polyhedron list:
polyhedron name=<phname>
(tdr=<filename> [!rotate] [materials = {mat1 mat2}] [regions = { r1 r2 }])||
(brick = { <minx> <miny> <minz> <maxx> <maxy> <maxz> })||

762 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
MGOALS Interface

(polygons = { <polname> } min=<value> max=<value> })||


(polygons = { <polname_1> ... <polname_n> })

You can build a polyhedron in four different ways; however, only one of them can be used at a
time in one polyhedron command:
■ Reading it from a TDR boundary file.
■ Creating a rectangular prism (brick) polyhedron.
■ Extruding a 2D <polname> polygon in the x-dimension.
■ Creating a polyhedron from the beginning using its constituent polygonal faces
<polname_1> to <polname_n>.

Reading Polyhedra from a TDR Boundary File

The polyhedron option:


tdr=<filename> [!rotate] [materials = {mat1 mat2}] [regions = { r1 r2 }]

reads all the polyhedra included in a TDR boundary file called <filename>.

The parameter materials is optional and is used to choose which materials are included. In
addition to explicit material names, the keyword [Link] is available to specify all
nongaseous materials.

The parameter regions is optional and is used to choose which regions of the boundary are
included.

If neither regions nor materials is specified, all regions are assumed to be included. If both
regions and materials are specified, the union of the two is assumed.

The extra option !rotate is used to avoid the automatic rotation that Sentaurus Process
performs when reading polyhedra to transfer them from the TDR boundary file (assumed to be
in DF–ISE coordinates) to the Sentaurus Process structure in Sentaurus Process coordinates.

Several polyhedra can be included in the TDR file. Any valid TDR boundary file is allowed,
regardless of the tool used to create it.

For an example, see Reading a TDR file on page 789.

Sentaurus Process User Guide 763


H-2013.03
11: Structure Generation
MGOALS Interface

Creating a Rectangular Prism

The polyhedron option:


brick = { <minx> <miny> <minz> <maxx> <maxy> <maxz> }

creates a rectangular prism given its two corners in Sentaurus Process coordinates.

For an example, see Defining a Brick on page 792.

Extruding a 2D Polygon

The polyhedron option:


polygons = { <polname> } min=<value> max=<value> }

takes an existing 2D polygon (created with the polygon command) and extrudes it in the
x-direction from min to max to build a 3D polyhedron. The command expects the polygon to
be planar. Only one polygon name is expected in the polygons list.

For an example, see Extruding a 2D Polygon on page 790.

Creating a Polyhedron from Its Constituent Polygonal Faces


The polyhedron option:
polygons = { <polname_1> ... <polname_n> }

builds a polyhedron given its definition as a set of polygons. The polygons are <polname_1>
to <polname_n>. Obviously, the command expects the polygon list to form a valid
polyhedron, that is, a compact, enclosed, nonintersecting 3D space. The polygons can be
created with the polygon command.

For an example, see Creating a Polyhedron using Polygons on page 791.

Sentaurus Structure Editor Interface: External Mode

This mode differs from the standard sde mode in that a structure can be created inside
Sentaurus Structure Editor independent of the existing Sentaurus Process structure. The
minimum syntax needed for creating an external structure is:
sde external { <sde commands> }

Where <sde commands> are scheme commands sent directly to Sentaurus Structure Editor.
As an option, a polyhedron can be specified to initialize the structure, and after sde

764 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
MGOALS Interface

external, further geometric commands such as etch, deposit, and transform operate on
the external structure until the command sde off is specified. For more options for the sde
command, see sde on page 1050. To create a polyhedron from the external structure, the
parameter [Link] of the polyhedron command must be given. In the following
example, an aluminum sphere is inserted into the Sentaurus Process structure:
math [Link]
sde external {
(sdegeo:create-sphere (position 0.4 0.0 0.0) 0.9 "Aluminum" "Aluminum_1")
}
polyhedron name= sphere [Link]
sde off
insert polyhedron= sphere

NOTE Commands sent directly to Sentaurus Structure Editor through the sde
command need to consider the Sentaurus Process coordinate system. In
the previous example, the UCS coordinate system (same as Sentaurus
Process coordinate system) is used, so the x coordinate is vertical (–x is
up), and y and z are lateral directions. If math [Link] is not
specified, the z-axis is vertical (+z is up) and x and y are lateral.

Inserting Polyhedra
The insert command is:
insert polyhedron=<phname> [[Link]= { mat1 mat2 }]
[[Link]= {r1 r2 }] [[Link]=<matname>] [[Link]=<regname>]

NOTE The parameter polyhedron is mandatory and specifies the name of the
polyhedron with which to operate. This polyhedron must be previously
defined with the polyhedron command (see Inserting Polyhedra in
Three Dimensions on page 762).

The parameter [Link] is optional and specifies a list that indicates the
materials to be replaced by the polyhedron. In addition to explicit material names, the keyword
[Link] is allowed. If [Link] is specified, it means that all materials in
the structure, except gas, will be replaced.

The parameter [Link] is optional and specifies a list that indicates the regions to
be replaced by the polyhedron. If neither [Link] nor [Link] is
specified, it means that all materials are replaced. If both [Link] and
[Link] are specified, the union of the two is assumed.

The parameter [Link] is optional. If set, all the regions in the polyhedron will change
to the specified material. This option does not change the polyhedron information except

Sentaurus Process User Guide 765


H-2013.03
11: Structure Generation
MGOALS Interface

temporarily during the duration of the insert command. The material name in the inserted
polyhedron is inserted, but not in the original polyhedron.

The parameter [Link] is optional and valid only when there is one region. When set, the
region name is set to the specified one after insertion. The region name in the inserted
polyhedron is affected, but not the original polyhedron.

The insert command can be used to perform polyhedron etch and polyhedron deposit as well
as the more general polyhedron insert functionality. Polyhedron etch is performed by
specifying [Link]=gas in the insert command or by creating a gas polyhedron.
Polyhedron deposit is performed by specifying [Link]=gas in the insert
command as well as choosing one or more bulk regions or materials in the polyhedron
command, such as materials=[Link] or [Link]=Silicon.

NOTE The boundaries of the polyhedra to be inserted must not overlap any
interfaces or outer boundaries of the structure. Otherwise, it is likely the
operation will fail.

For examples of polyhedron insertions, see Reading a TDR file on page 789, Extruding a 2D
Polygon on page 790, Creating a Polyhedron using Polygons on page 791, and Defining a
Brick on page 792.

3D Structure Assembly in MGOALS3D Mode


MGOALS3D can read an existing 3D structure from a file and paste it into the current 3D
simulation. To activate MGOALS, use the command:
sde off

The command used to perform structure assembly is:


paste direction = [back | front | left | right] tdr= <filename>

where:
■ direction can be back, front, left, or right.
■ filename is the file to paste, in TDR format, which must be specified.

Sentaurus Process automatically shifts the structure read from the file to the appropriate
quantity in x, y, and z to fit to the current structure. Nevertheless, Sentaurus Process will not
automatically stretch the incoming structure. Consequently, for the operation to succeed, the
sizes of the pasting planes of the incoming structure and the existing one must be the same.

The values of the fields are conserved for each structure and are interpolated at the interface
between the structures.

766 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Sentaurus Structure Editor Interface

Multithreading
Some of the more sophisticated etching and deposition types require the use of the level-set
method (such as multimaterial etching, crystal etching and deposition, Fourier etching and
deposition, use of etch stops or shadowing). This can be time-consuming, especially for 3D
summations. To minimize simulation time, the MGOALS library allows for a multithreaded
solution of the level-set equations.

The multithreaded operation can be invoked using:


math numThreads = <n>

or:
math numThreadsMGoals = <n>

where <n> is an integer. It is suggested to keep <n> at or below 4 to obtain reliable speed
improvement.

Sentaurus Structure Editor Interface


By default, etching and deposition operations are performed using the MGOALS library in 1D,
2D and 3D. However, the Sentaurus Structure Editor can also be used to perform 3D etch,
deposit, and geometry transformation operations.

Sentaurus Structure Editor is a 3D geometry editor that uses the ACIS solid geometry modeling
kernel and the Scheme scripting language. Structures are created using CAD operations and
process emulation operations. All 3D etch, deposit, strip, photo, mask, and transform
commands are translated into appropriate Scheme commands that are then dispatched to
Sentaurus Structure Editor.

Sentaurus Structure Editor is integrated as a library in Sentaurus Process. The command


controlling Sentaurus Structure Editor from within Sentaurus Process is the sde command.

Sentaurus Structure Editor also can be used as a stand-alone tool to build the final structure by
using both its GUI and scripting capability. Then, the final structure can be used in Sentaurus
Process either as a boundary file or after remeshing the structure with one of the available
stand-alone mesh generation tools. The mesh or the boundary for the final structure is loaded
and before each implant or diffuse step, the material of all regions, not yet present in the
structure for the process step, is changed to gas.

Finally, there is an external mode. The Sentaurus Structure Editor external mode allows
independent (in other words, external) structures built in Sentaurus Structure Editor to be

Sentaurus Process User Guide 767


H-2013.03
11: Structure Generation
Sentaurus Structure Editor Interface

inserted into structures created with MGOALS. This mode was designed to take advantage of
the best of MGOALS (advanced geometry-moving algorithms) and Sentaurus Structure Editor
(solid modeling capabilities). For more information on this mode, see Sentaurus Structure
Editor Interface: External Mode on page 764.

Hereafter, standard Sentaurus Structure Editor interface mode (sde on) will be referred to as
the SDE mode.

As usual, simulations may start in one or two dimensions. If a 3D mask is encountered and if
z-lines have been defined, the structure will be extruded to three dimensions, and if the SDE
mode is switched on, the Sentaurus Structure Editor interface will be initialized. All subsequent
structure-modifying steps in the etch, deposit, strip, photo, and transform commands
are dispatched to Sentaurus Structure Editor.

NOTE Reading a discretized 3D structure in Sentaurus Structure Editor can be


unstable; most isotropic operations (deposit or etch) will fail if this
method to initialize Sentaurus Structure Editor had been used.
Therefore, when initializing a 3D simulation, you should store and
load .sat files, rather than simply loading a 3D TDR boundary or grid
file.

When the 3D structure has been initialized in Sentaurus Structure Editor, structure generation
commands (mask, etch, deposit, photo, strip, and transform) are translated by
Sentaurus Process into appropriate Scheme commands and then dispatched to Sentaurus
Structure Editor.

NOTE Currently, a few options of the etch command cannot be translated into
appropriate Scheme constructs: Fourier etching, trapezoidal etching,
crystallographic etching, and shadowing effects are not supported in
3D. The parameter etchstop only works with cmp but not with other
etch types.

The modified structure will be retrieved from Sentaurus Structure Editor and remeshed when
a command that requires the geometry and the mesh to be synchronized (for example,
implant, diffuse, and struct commands that write the mesh to a file) is found in the
Sentaurus Process command file.

This ‘lazy’ remeshing (only when needed) minimizes the number of 3D remeshing operations
and, therefore, increases both the robustness and speed of the 3D structure generation and
remeshing.

768 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Sentaurus Structure Editor Interface

There is a separate command to configure and control the interface to Sentaurus Structure
Editor and to specify Scheme commands directly. The syntax of this Sentaurus Structure Editor
command is:
sde {<scheme command>} [on] [off] [remesh] [logfile=<c>] [SdeCheck]

The command:
sde on

must be specified in each 3D simulation so that the simulation is performed using the Sentaurus
Structure Editor interface.

To change to MGOALS3D, use:


sde off

The parameter logfile provides a file name to record all Scheme commands that are
dispatched to Sentaurus Structure Editor. At the end of the simulation, a complete Scheme
script is generated that can be used in a stand-alone run, for example:
sde -l [Link]

for debugging, testing different algorithms, or fine-tuning a few command parameters for
Sentaurus Structure Editor without rerunning the Sentaurus Process simulation. These
modified parameters and algorithm selections can later be incorporated into the etch,
deposit, and other commands by specifying the parameter sde in these commands:
deposit oxide thickness=5<nm> isotropic sde= {"algorithm" "lopx" "adaptive" \
#t "radius" 0.075}
etch silicon thickness=0.2<um> isotropic sde= {"algorithm" "lopx" "radius" \
0.07 "vexity" "convex" "blend-global" "steps" 1 "overetch" 0.2}
deposit oxide thickness=5<nm> isotropic sde= {"algorithm" "lopx"}

NOTE The Scheme language is incompatible with the Tcl used by Sentaurus
Process. Therefore, all Scheme commands and parameter settings must
be enclosed by a pair of braces. The opening brace must be on the same
line as the sde parameter.

In the sde command (not the parameter), the braces may contain any number of Scheme
commands, each of which starts on a new line.

Since the braces protect the Scheme commands and parameter settings from being parsed by
Tcl, they must not contain any calls to Tcl procedures in Tcl expressions. The Scheme language
provides its own set of expressions, parameter definitions, and other language constructs.

Sentaurus Process User Guide 769


H-2013.03
11: Structure Generation
Sentaurus Topography Interface

You should increase the default verbosity level when working with the sde command:
pdbSet InfoDefault 1

The Sentaurus Structure Editor library does not provide any error-processing facility for errors
that have occurred during the solid modeling operations. This can become time consuming if
a structure generation step fails and a long diffuse or implant simulation is performed for
an incorrect structure. To avoid this, use a few runs with the -f command-line option to adjust
the commands and to verify that the proper structure is created. In addition, by default, all
boundary files that are written in struct commands in the fast mode and before remeshing
are read and checked for any geometric inconsistencies. If any defects are observed, the
simulation is stopped with an error. To prevent this checking, specify the
parameter !SdeCheck.

NOTE By default, Sentaurus Process performs stress relaxation at the end of


each etching and deposition step. This requires that a boundary-fitted
mesh be constructed at the end of each step. If you do not want to track
the stress through all the process steps, use the pdbSet Mechanics
EtchDepoRelax 0 command before starting 3D structure generation.

NOTE To prevent adjacent regions of the same material (for example gas
regions) from merging, switch off region-merging using the command
pdbSet Grid No3DMerge 1. During the process, as more regions
need to be considered (for example, nitride spacer), appropriate
materials must be reverted from gas to the required materials.

Finally, the option Grid Auto3DMergeAndSeparate (off by default) adds the following
commands at the end of photo and depo when switched on:
(sdegeo:bool-unite (find-material-id 'depositedMaterial'))
(sde:separate-lumps)

Only the last one is added after etching.

Sentaurus Topography Interface


Sentaurus Process provides an interface to both Sentaurus Topography, the 2D physical etch
and deposit simulator, and Sentaurus Topography 3D, the 3D physical etch and deposit
simulator.

770 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Sentaurus Topography Interface

Sentaurus Topography
Each sptopo command first transfers the current 2D geometry from Sentaurus Process to
Sentaurus Topography. Then, it dispatches the command to Sentaurus Topography. Finally, it
retrieves the modified 2D geometry from Sentaurus Topography and remeshes it using the
MGOALS mesher in 2D.

Sending a new geometry from Sentaurus Process to Sentaurus Topography has been restricted
to cases where the geometry has actually been modified in Sentaurus Process after last
retrieving the structure from Sentaurus Topography, for example, when using Sentaurus
Process etch or deposit command. Provisions also are made to detect whether Sentaurus
Topography has actually modified the structure or simply a definition of it; for example, a new
machine has been added to Sentaurus Topography. Remeshing is restricted to the commands
that actually have changed the structure.

During the syntax check, Sentaurus Topography commands are dispatched to Sentaurus
Topography and checked for syntactical correctness. The supported syntax of the sptopo
command is:
sptopo <sptopo command>

or:
sptopo {
<sptopo command>
<sptopo command>
...
}

The first form of the sptopo command allows use of all the usual Sentaurus Process Tcl
constructions in the parameter specifications of <sptopo_command>. This form of the
command is parsed through the Tcl interpreter. Otherwise, the syntax used for the
<sptopo_command> is the same as in each of the commands for a stand-alone Sentaurus
Topography run. In Sentaurus Process command files, each sptopo command must start with
the sptopo string.

The pair of braces in the second form of the command prevents this sptopo command from
being parsed by the Tcl interpreter. No Tcl expressions must be used in the second form of the
sptopo command. On the other hand, any number of Sentaurus Topography commands can
be provided in the second form of the command, each on a separate command line. If necessary,
the structure will be sent from Sentaurus Process to Sentaurus Topography once at the
beginning, and retrieved and remeshed once at the end of the entire command sequence.

Sentaurus Process User Guide 771


H-2013.03
11: Structure Generation
Sentaurus Topography Interface

Examples:
sptopo {
deposit material=Oxide thickness = 0.005
deposit material=PolySilicon thickness = 0.180
}

Two planar deposition steps are performed in Sentaurus Topography:


■ The first fills the structure with oxide up to 5 nm above the top material position.
■ The second adds a planar layer of 180 nm polysilicon.

The structure is sent to Sentaurus Topography once, retrieved, and remeshed once at the end of
both deposition steps.

If masks are required in a Sentaurus Topography simulation, segments can be specified in the
sptopo command as shown below. Alternatively, the Sentaurus Process photo command can
be used with a mask to define a photoresist layer that will protect certain areas from being
etched in a sptopo etch command.

The Sentaurus Process strip command or the command:


sptopo etch material=Photoresist complete

can be used later to remove the entire photoresist layer.


sptopo {
mask name=m1 s0=-1.1 e0=-0.3 s1=0.3 e1=1.1
etch material=PolySilicon depth=0.185 mask=m1

machetch name=oxe1 material=Oxide anisotropy=1 rate=1


etch machname=oxe1 time = 0.02 dx=0.03 dy=0.03 mask=m1
}

The preceding example defines a mask in Sentaurus Topography including:


■ Geometric etching of polysilicon which is strictly vertical and restricted to the outside of
the specified mask segments
■ An anisotropic etching machine
■ Execution of an anisotropic oxide etching in Sentaurus Topography

To increase the default verbosity level when working with the sptopo command, use:
pdbSet InfoDefault 1

For a complete list of commands, parameters, and syntax rules of the Sentaurus Topography
simulator, refer to the Sentaurus Topography User Guide.

772 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Examples

Sentaurus Topography 3D
Sentaurus Process provides an interface to Sentaurus Topography 3D. This interface makes
advanced etching and deposition models of Sentaurus Topography 3D available from within
Sentaurus Process.

The subset of 3D commands that are needed for etching and deposition is available through the
interface. One single command, topo, in Sentaurus Process enables all the interface
functionality. The topo command is followed by the respective Sentaurus Topography 3D
commands:
topo <Sentaurus Topography 3D command>

For a list of the supported Sentaurus Topography 3D commands, refer to the Sentaurus
Topography 3D User Guide.

Examples

Using Polygon and Rectangle Mask in 2D Simulation


line x loc=-0.3 tag=ox
line x loc=-0.2 tag=top
line x loc=1.1 tag=bot
line y loc=-0.1
line y loc=1.1
region silicon xlo=top xhi=bot
init
polygon name=LShape2 segments= {-0.1 -1.5 -0.1 -0.5 0.5 -0.5 0.5 1.5 1.5 \
1.5 1.5 -1.5}
mask name=Mask2 polygons= {LShape2} negative left=0.2 right=0.3 front=-0.1 \
back=0.2
etch silicon anisotropic thickness=0.5 mask=Mask2
struct tdr=final

Sentaurus Process User Guide 773


H-2013.03
11: Structure Generation
Examples

Figure 134 Final result of 2D anisotropic etching with rectangle and polygon mask

3D Etching after 2D LOCOS Simulation (Sentaurus


Structure Editor Interface)
A 2D simulation result is loaded (LOCOS with nitride layer), modified in 2D, extruded to 3D,
and in 3D the polysilicon and oxide are etched.
# load a 2D locos structure
init tdr=initial

mgoals [Link]=0.02 accuracy=1e-4 [Link]=165 \


[Link]=4
refinebox min= {-10 -10 -10} max= {10 10 10} xrefine=0.4 yrefine=0.4 \
zrefine=0.4
# --- allow expanding structure to 3D ---
line z loc=-0.6 spacing=0.1
line z loc=0.5 spacing=0.1

# still in 2D
strip nitride

deposit PolySilicon thickness=100<nm> isotropic


struct tdr=locos1
sde logfile=[Link] on
pdbSet InfoDefault 1
polygon name=LShape2 segments= {-0.1 -0.4 0.6 -0.4 0.6 0.2 1.1 0.2 \
1.1 0.4 0.4 0.4 0.4 -0.2 -0.1 -0.2}
mask name=Mask2 polygons= {LShape2}

774 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Examples

etch PolySilicon anisotropic mask=Mask2 thickness=0.41


etch Oxide thickness=30<nm> anisotropic
struct tdr=locos2

Figure 135 (Left) Initial 2D structure after LOCOS formation and (right) final result after
extruding to 3D and etching of poly and oxide

Sentaurus Process User Guide 775


H-2013.03
11: Structure Generation
Examples

Using Layout File for 3D Etching (Sentaurus Structure


Editor Interface)
This series of examples demonstrates how to use the layout file [Link] to define masks
for 3D etching.

Figure 136 View of [Link] file in Ligament Layout Editor

Input file mask0_fps.cmd: The origin of the Sentaurus Process coordinate system coincides
with the origin in [Link]; the y-axis of Sentaurus Process is aligned to the vertical axis
in [Link]:
line x loc=-0.25 tag=gastop spac=0.05
line x loc=0.0 tag=substop spac=0.01
line x loc=1.5 tag=subsbottom spac=0.2
line y loc=1.65 spac=0.1
line y loc=1.95 spac=0.1
line z loc=0.15 spac=0.1
line z loc=0.6 spac=0.1

region silicon xlo=substop xhi=subsbottom

mgoals [Link]=0.02 accuracy=1e-4 [Link]=165 \


[Link]=4

776 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Examples

refinebox min= {-10 -10 -10} max= {10 10 10} xrefine=0.2 yrefine=0.2 \
zrefine=0.2
refinebox [Link] = {Silicon Oxide}
init
deposit oxide thickness=100<nm> isotropic
sde logfile=[Link] on
pdbSet InfoDefault 1

mask layoutfile=[Link]

# deposition with masks deposits where there is no mask


# so invert the mask used for deposition
mask name=Mask2 negative

deposit nitride thickness=0.25<um> anisotropic info=1 mask=Mask2

struct bndfile=mask0_0.bnd
etch oxide thickness=120<nm> type=anisotropic mask=Mask1

struct bndfile=mask0_1.bnd

struct tdr=mask0

Figure 137 Final structure after simulation of mask0_fps.cmd

Sentaurus Process User Guide 777


H-2013.03
11: Structure Generation
Examples

Input file mask1_fps.cmd: A Cutline2D is used to place the simulation domain in the layout
file. The extensions of the 3D simulation domain in the y- and z-directions must be specified
using line commands. The cutline is defined as the diagonal through the structure used in
mask1_fps.cmd, such that the Sentaurus Process origin is shifted and the coordinate system
is rotated compared to mask0_fps.cmd:
line x loc=-0.25 tag=gastop spac=0.05
line x loc=0.0 tag=substop spac=0.01
line x loc=1.5 tag=subsbottom spac=0.2

line y loc=0. spac=0.1


line y loc=0.4 spac=0.1

line z loc=-0.2 spac=0.1


line z loc=0.15 spac=0.1

region silicon xlo=substop xhi=subsbottom

mgoals [Link]=0.02 accuracy=1e-4 [Link]=165 \


[Link]=4
refinebox min= {-10 -10 -10} max= {10 10 10} xrefine=0.2 yrefine=0.2 \
zrefine=0.2
refinebox [Link] = {Silicon Oxide}

# define a coordinate transformation for a placement and rotation


# of a layout file
init [Link]=[CutLine2D 1.65 0.15 1.95 0.6]

deposit oxide thickness=100<nm> isotropic


sde logfile=[Link] on
pdbSet InfoDefault 1

# do not specify any name ==> use the cutline from the init command
# to place the Sentaurus Process coordinate system in the layout.
# the first specified point becomes the origin of the Sentaurus Process
# coordinate system and the direction of the cutline becomes the direction
# of the Sentaurus Process z-axis.
mask layoutfile=[Link]

# deposition with masks deposits where there is no mask


# so invert the mask used for deposition
mask name=Mask2 negative

deposit nitride thickness=0.25<um> anisotropic info=1 mask=Mask2

778 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Examples

struct bndfile=mask1_0.bnd
etch oxide thickness=120<nm> type=anisotropic mask=Mask1
struct bndfile=mask1_1.bnd
struct tdr=mask1

Figure 138 Final result of mask1_fps.cmd

Input file mask2_fps.cmd: A SIM3D mask is used, defined in the layout file:
# Use a layout file and place it according to the mask SIM3D, defined in the
# layout file itself.

# SIM3D defines an axis aligned rectangle in the layout plane. The point
# with the smallest layoutX and layoutY coordinates defines the
# origin of the Sentaurus Process coordinate system. The direction of the
# layoutX axis is used for the Sentaurus Process z-axis
# and the direction of the layoutY axis is used for the Sentaurus Process
# y-axis.

# The width of the rectangle (max(layoutX)-min(layoutX)) defines the


# default extension in Sentaurus Process z-direction.
# The height of the rectangle (max(layoutY)-min(layoutY)) defines the
# default extension in Sentaurus Process y-direction.
# If you specify line y and/or line z, your definitions are used.
# Otherwise the default extensions are used to define line y and line z
# when reading the layout file.

line x loc=-0.25 tag=gastop spac=0.05


line x loc=0.0 tag=substop spac=0.01
line x loc=1.5 tag=subsbottom spac=0.2

region silicon xlo=substop xhi=subsbottom

mgoals [Link]=0.02 accuracy=1e-4 [Link]=165 \


[Link]=4

Sentaurus Process User Guide 779


H-2013.03
11: Structure Generation
Examples

refinebox min= {-10 -10 -10} max= {10 10 10} xrefine=0.2 yrefine=0.2 \
zrefine=0.2
refinebox [Link] = {Silicon Oxide}
init
deposit oxide thickness=100<nm> isotropic
sde logfile=[Link] on
pdbSet InfoDefault 1
mask layoutfile=[Link] name=SIM3D

# In Sentaurus Process, deposition with masks deposits where


# there is no mask so invert the mask used for deposition
mask name=Mask2 negative

deposit nitride thickness=0.25<um> anisotropic info=1 mask=Mask2


struct bndfile=mask2_0.bnd
etch oxide thickness=120<nm> type=anisotropic mask=Mask1
struct bndfile=mask2_1.bnd
struct tdr=mask2

Figure 139 Final simulation result for mask2_fps.cmd; the y- and z-extensions are not
specified in the command file but are taken from the SIM3D mask in [Link]
(black line in Figure 136 on page 776)

3D Trench Etching, Sloped Sidewall with Predefined Angle


(Sentaurus Structure Editor Interface)
line x loc=-0.25 tag=gastop spac=0.05
line x loc=0.0 tag=substop spac=0.01
line x loc=0.5 tag=subsbottom spac=0.2

line y loc=0.0 spac=0.1


line y loc=0.4 spac=0.1

780 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Examples

line z loc=0 spac=0.1


line z loc=0.6 spac=0.1
region silicon xlo=substop xhi=subsbottom

mgoals [Link]=0.02 accuracy=1e-4 [Link]=165 \


[Link]=4
refinebox min= {-10 -10 -10} max= {10 10 10} xrefine=0.2 yrefine=0.2 \
zrefine=0.2
refinebox [Link] = {Silicon Oxide}

init concentration=1.4e+15<cm-3> field=boron [Link]=100


deposit oxide thickness=0.01 type=isotropic
fset NitrideThick 0.1
deposit nitride thickness=0.1 type=isotropic

mask name=STI left=-1 right=0.2 front=-1 back=0.4


deposit Photoresist isotropic thickness=0.5

sde logfile=[Link] on
pdbSet InfoDefault 1

etch Photoresist anisotropic thickness=0.5*1.5 mask=STI


struct bndfile=[Link]
fproc etchAngle { Angle Material Depth } {

set alpha [expr ${Angle}*atan(1.0)/45.0] ; #Degree to radiant conv.


set x1 [expr sin($alpha)] ; #x-component of etch directional vector
set x2 [expr cos($alpha)] ; #y-component of etch directional vector
set x3 [expr cos($alpha)] ; #z-component of etch directional vector
set etchRate [expr 1.0/sin($alpha)]
etch material=$Material time=$Depth type=directional \
direction= { $x1 $x2 $x3 } rate=$etchRate
}

fset NitrideAngle 89.0


etchAngle $NitrideAngle Nitride $NitrideThick*1.5

etch Oxide anisotropic thickness=0.02


strip Photoresist
fset TrenchAngle 84.0
fset TrenchDepth 0.2
etchAngle $TrenchAngle Silicon $TrenchDepth

struct bndfile=[Link]
struct tdr=final

Sentaurus Process User Guide 781


H-2013.03
11: Structure Generation
Examples

Figure 140 Final result of simulation of STI etching with predefined sidewall angles

3D Etching after 2D LOCOS Simulation using MGOALS3D


An example, similar to 3D Etching after 2D LOCOS Simulation (Sentaurus Structure Editor
Interface) on page 774, but with some extra processing steps, can be performed using
MGOALS3D. The script is as follows:
# Switch off stress relaxation after depo/etch
pdbSet Mechanics EtchDepoRelax 0

# Load a 2D locos structure


init tdr=initial

mgoals resolution=0.2 [Link]=0.02 accuracy=1e-4 [Link]=165 \


norm
refinebox min= {-10 -10 -10} max= {10 10 10} xrefine=0.4 yrefine=0.4 zrefine=0.

# --- allow expanding structure to 3D ---


line z loc=-0.6 spacing=0.1
line z loc=0.5 spacing=0.1

# Still in 2D
strip nitride

deposit PolySilicon thickness=100<nm> isotropic


struct tdr=locos1
#sde logfile=[Link] on

782 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Examples

sde off
pdbSet InfoDefault 2
pdbSet Grid sMesh 1

polygon name=LShape2 segments= {-0.1 -0.4 0.6 -0.4 0.6 0.2 1.1 0.2 1.1 0.4}
mask name=Mask2 polygons= {LShape2}

etch PolySilicon anisotropic mask=Mask2 thickness=0.41


struct tdr=locos2

etch Oxide thickness=30<nm> anisotropic


struct tdr=locos3

mgoals resolution=0.3
deposit oxide thickness=10<nm> isotropic
struct tdr=locos4

mgoals resolution=0.2
deposit nitride thickness=100<nm> isotropic
struct tdr=locos5

etch nitride thickness=120<nm> anisotropic


struct tdr=locos6 bnd

The initial 2D LOCOS structure ([Link]) is the left one represented in Figure 135 on
page 775. The sde off command is used to overwrite the standard setting and MGOALS is
used.

Figure 141 Script result simulated with MGOALS3D; polysilicon and silicon
are not shown to better reveal the structure features

Sentaurus Process User Guide 783


H-2013.03
11: Structure Generation
Examples

Structure Assembly in MGOALS3D


The following scripts creates a tdr file to be “pasted”
set gate 30e-3
set sti 55e-3
set sti_thick 100e-3
set gas_top 86e-3
set silicon_depth 300e-3
set zsize 640e-3
set SiO2gate 1.5e-3
set spacer 30e-3
set spacer_thick 30e-3
set extra 60e-3
set poly 80e-3
set factor 1.1

sde off
line x loc=0.0 tag=xtop
line x loc=$silicon_depth tag=xbottom
line y loc=0.0 tag=yleft
line y loc=[expr 2*$extra + 2*$spacer + 2*$sti + $gate] tag=yright spacing =
0.002
line z loc=0
line z loc=0.05
line z loc=0.1
region silicon xlo=xtop xhi=xbottom

init
#STI
set ll1 [expr 0]
set rr1 [expr $sti]
set ll2 [expr $sti + 2*$extra + 2*$spacer + $gate]
set rr2 [expr $ll2 + $sti]
mask negative name=sti_mask left=$ll1<um> right=$rr1<um>
mask negative name=sti_mask left=$ll2<um> right=$rr2<um>
etch silicon thickness=$sti_thick mask=sti_mask anisotropic
deposit oxide fill coord=[expr -$SiO2gate]
#poly gate
deposit polysilicon thickness=$poly isotropic
set ll3 [expr $sti + $extra+$spacer]
set rr3 [expr $ll3 + $gate]
mask name=gate_mask left=$ll3 right=$rr3
etch polysilicon mask=gate_mask anisotropic thickness=$poly
#spacer
deposit nitride thickness=$spacer_thick isotropic
etch nitride thickness=[expr $spacer_thick * $factor] anisotropic

784 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Examples

#rotate and transform into a 3D structure


transform rotate angle=90 axis = {X}
struct tdr=rotateX

Figure 142 on page 786 (upper right) shows the created structure.

Now, a simple structure is created with the same dimensions in the plane to be pasted and the
structures are put together:
set xsize 0.3
set ysize 0.1
set zsize 0.32

line x loc=0.0 tag=xleft


line x loc=$xsize/2 tag=xmed
line x loc=$xsize tag=xright
line y loc=0.0 tag=ybottom
line y loc=$ysize/2 tag=ymed
line y loc=$ysize tag=ytop
line z loc=0 tag=zinit
line z loc=$zsize/2 tag=zmed
line z loc=$zsize tag=zend
region oxide xlo=xleft xhi=xmed ylo=ymed yhi=ytop zlo=zinit zhi=zmed
region silicon xlo=xleft xhi=xmed ylo=ymed yhi=ytop zlo=zmed zhi=zend
region silicon xlo=xleft xhi=xmed ylo=ybottom yhi=ymed zlo=zinit zhi=zend
region silicon xlo=xmed xhi=xright ylo=ybottom yhi=ytop zlo=zinit zhi=zend

init
sde off
struct tdr = orig
paste direction = "right" tdr = "rotateX"
struct tdr = pasted_right

Figure 142 (upper left) shows the structure created before the paste operation, and the final
result is shown in the lower-left figure.

Sentaurus Process User Guide 785


H-2013.03
11: Structure Generation
Examples

Figure 142 (Upper left) The initial structure, (upper right) the structure read from the file, and
(lower left) the final structure after paste command

Polygon Creation and Insertion in MGOALS2D


The following script creates a 2D structure and saves it into a file:
set gate 30e-3
set sti 55e-3
set sti_thick 100e-3
set gas_top 86e-3
set silicon_depth 300e-3
set zsize 640e-3
set SiO2gate 1.5e-3
set spacer 30e-3
set spacer_thick 30e-3
set extra 60e-3
set poly 80e-3
set factor 1.1
refinebox min = { 0 0 } max = { 0.1 2 } xrefine = { 0.0012 0.0015 0.0015 }
line x loc=0.0 tag=xtop
line x loc=$silicon_depth tag=xbottom
line y loc=0.0 tag=yleft
line y loc=[expr 2*$extra + 2*$spacer + 2*$sti + $gate] tag=yright spacing =

786 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Examples

0.002
region silicon xlo=xtop xhi=xbottom

init
#STI
set ll1 [expr 0]
set rr1 [expr $sti]
set ll2 [expr $sti + 2*$extra + 2*$spacer + $gate]
set rr2 [expr $ll2 + $sti]
mask negative name=sti_mask left=$ll1<um> right=$rr1<um>
mask negative name=sti_mask left=$ll2<um> right=$rr2<um>
etch silicon thickness=$sti_thick mask=sti_mask anisotropic
deposit oxide fill coord=[expr -$SiO2gate]
#poly gate
deposit polysilicon thickness=$poly isotropic
set ll3 [expr $sti + $extra+$spacer]
set rr3 [expr $ll3 + $gate]
mask name=gate_mask left=$ll3 right=$rr3
etch polysilicon mask=gate_mask anisotropic thickness=$poly
#spacer
deposit nitride thickness=$spacer_thick isotropic
etch nitride thickness=[expr $spacer_thick * $factor] anisotropic
struct tdr=orig

Now, a triangular polygon is created in the xy plane and is called box:


point name=p1 coord = { -0.2 0.2 }
point name=p2 coord = { 0.2 0.25 }
point name=p3 coord = { 0.1 0.1 }
polygon name=box xy points = { p1 p2 p3 }

Finally, the triangular polygon is inserted into the original structure as Aluminum, but only in
the nitride and silicon materials:
insert polygon = "box" [Link] = { "Silicon" "Nitride" } \
[Link] = "Aluminum"
struct tdr=points

Figure 143 on page 788 (upper left) shows the initial structure, and the lower-left figure shows
the results after the insertion.

You also can read the polygon from a TDR file and insert it later. The following script reuses
the files from the previous example by doing that. It reads the Aluminum material as a polygon,
and inserts it in the original script as oxide in silicon material only:
init tdr=orig
polygon name=box xy tdr = "points_bnd.tdr" materials = "Aluminum"
insert polygon = "box" [Link] = "Silicon" [Link] = "Oxide" \

Sentaurus Process User Guide 787


H-2013.03
11: Structure Generation
Examples

info=4
struct tdr=tdr

Figure 143 (lower left) shows the results after the insertion.

Figure 143 Use of insert command in a 2D simulation: (upper left) initial 2D structure, (lower
left) triangular polygon being inserted in the initial structure for silicon and nitride
only, and (upper right) the results of reading the triangle of the lower-left figure
and inserting it as oxide in the silicon of the initial structure

788 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Examples

Polyhedron Creation and Insertion in MGOALS3D


All the following examples use the structure in Figure 144 as a starting point to be modified by
polyhedron creation and insertion.

Figure 144 Initial 3D structure used for polyhedron creation and insertion examples

Reading a TDR file


This example uses two spheres created with Sentaurus Structure Editor using the following
script:
(sde:clear)

(sdegeo:create-sphere (position 3.0 3.0 4.7) 0.9 "Silicon" "Silicon_1")


(sdegeo:create-sphere (position 0.7 0.7 4.7) 0.9 "Gas" "Gas_2")

(sdeio:save-tdr-bnd "all" "[Link]")

The spheres are inserted into Sentaurus Process. The gas sphere etches the material, while the
silicon one is deposited:
init tdr=initial

refinebox clear
sde off

polyhedron name=sphere tdr=[Link] materials = { Silicon Gas }


insert polyhedron=sphere

struct bndfile=result

Sentaurus Process User Guide 789


H-2013.03
11: Structure Generation
Examples

Figure 145 shows the result of the above script.

Figure 145 (Left) Polyhedra included in a TDR boundary file and (right) effect of inserting
them in initial structure

Extruding a 2D Polygon

This example creates a simple 2D polygon – a triangle:


init tdr=initial
math [Link]
refinebox clear
sde off

polygon name=triangle segments = { -4.2 -3.0 3.2 0.5 -4.7 4.2 }

The polyhedron command uses the triangle to extrude in the x-direction:


polyhedron name=prism polygons = { triangle } min=-6 max=2

Finally, to insert it, specify [Link] as gas to etch the extruded polygon:
insert polyhedron=prism [Link]=Gas

struct bndfile=result

790 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
Examples

Figure 146 shows the result.

Figure 146 Etching an extruded polygon

Creating a Polyhedron using Polygons

This example defines the polyhedra from the beginning using polygons:
init tdr=initial
refinebox clear
sde off

point name=p1 coord = { -6.5 2.0 2.0 }


point name=p2 coord = { -2.0 4.0 1.5 }
point name=p3 coord = { -2.0 2.0 3.0 }
point name=p4 coord = { -2.0 1.5 1.0 }

polygon name=face1 points = { p1 p2 p3 }


polygon name=face2 points = { p1 p3 p4 }
polygon name=face3 points = { p1 p2 p4 }
polygon name=face4 points = { p2 p3 p4 }

polyhedron name=tetrahedron polygons = { face1 face2 face3 face4 }

Now, the initial structure is etched using the new polyhedron:


insert polyhedron=tetrahedron [Link]=Gas
struct bndfile=result

Sentaurus Process User Guide 791


H-2013.03
11: Structure Generation
Examples

Figure 147 shows the simulation results.

Figure 147 Etching of a polyhedron defined by using polygons: (left) 3D general view and
(right) y-plane cut view

Defining a Brick
The brick option provides a convenient way to define a rectangular prism by defining the
lower and upper corners. The script is as follows:
init tdr=initial
refinebox clear
sde off

polyhedron name=smallCube brick = { -6 -4 -2 -1 4.5 1 }

Now, you can use the polyhedron to insert an oxide brick into the simulation:
insert polyhedron=smallCube [Link]=Oxide
struct bndfile=result

Figure 148 shows the result.

Figure 148 Oxide brick inserted in initial structure

792 Sentaurus Process User Guide


H-2013.03
11: Structure Generation
References

References
[1] J. A. Sethian, Level Set Methods and Fast Marching Methods: Evolving interfaces in
computational geometry, fluid mechanics, computer vision, and materials science,
Cambridge: Cambridge University Press, 1999.

Sentaurus Process User Guide 793


H-2013.03
11: Structure Generation
References

794 Sentaurus Process User Guide


H-2013.03
CHAPTER 12 ICWBEV Plus Interface for
Layout-driven Simulations

This chapter presents strategies for using the IC WorkBench


EV Plus–TCAD Sentaurus interface.

Overview
The IC WorkBench EV Plus (ICWBEV Plus)–TCAD Sentaurus interface drives the TCAD
simulations from the GDSII or OASIS layout file provided by designers, which could be at any
level of integration in the hierarchy: full chip, test chip, or a single cell.

The TCAD simulation domain can be conveniently chosen using specific markups in the layout
file. A single process flow can be defined for all devices in the layout and can be applied easily
with minimal adjustments for 1D, 2D, and 3D simulation domains. For meshing, it provides
the unique feature of layout-driven meshing. Electrical contacts can be defined easily using
auxiliary masks.

This chapter includes the following sections:


■ ICWBEV Plus Introduction for TCAD Users on page 796 provides basic ICWBEV Plus
training, especially with relevance to TCAD.
■ Files Relevant to ICWBEV Plus–TCAD Sentaurus on page 806 introduces the relevant
files and file formats used in the ICWBEV Plus–TCAD Sentaurus interface. Specifically,
the Sentaurus markup file (*_mkp.mcr) and TCAD layout file (*_lyt.mcr).
■ ICWBEV Plus Batch Mode and Macros on page 811 introduces working with macros and
running ICWBEV Plus in batch mode.
■ TCAD Layout Reader of Sentaurus Process on page 812 presents the TCAD layout reader
of Sentaurus Process that provides a file-based interface between ICWBEV Plus and
Sentaurus Process.

Sentaurus Process User Guide 795


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
ICWBEV Plus Introduction for TCAD Users

ICWBEV Plus Introduction for TCAD Users


Before discussing the ICWBEV Plus–TCAD Sentaurus interface, it is important to have an
understanding of ICWBEV Plus itself.

The general ICWBEV Plus training is a good starting point. Here, the focus is mainly on
ICWBEV Plus operations that are most relevant to TCAD Sentaurus users.

For details, refer to the ICWBEV Plus tutorials and manuals, which are accessed through the
main window of ICWBEV Plus (Help > Topics). The homepage of the online documentation
is displayed (see Figure 149).

Figure 149 Homepage of ICWBEV Plus online documentation

The first step consists of opening a layout file, which is typically in GDSII format.

Opening GDSII Layout Files


To open a GDSII or an OASIS layout file:
1. Set the environment variable ICWBEV_USER to activate the ICWBEV Plus Sentaurus User
Mode:
setenv ICWBEV_USER SENTAURUS
2. Launch ICWBEV Plus by typing:
icwbev
3. Select the file to be opened: File > Open > Browse for GDSII > Select GDSII > Open.

NOTE Use ICWBEV Plus Version B-2008.12 or later.

796 Sentaurus Process User Guide


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
ICWBEV Plus Introduction for TCAD Users

Graphical User Interface of ICWBEV Plus


Figure 150 shows the graphical user interface (GUI) of ICWBEV Plus and illustrates the
typical layout of work, panes, and toolbars. The panes can be moved and reconfigured as
needed.

TCAD Sentaurus toolbar

Figure 150 ICWBEV Plus main window, with TCAD Sentaurus–specific buttons (red box)

Figure 150 includes the following TCAD-relevant items in the GUI:


■ The Layout Layers pane shows the list of layers.
■ The Command Pane shows commands after GUI operations. Commands also can be
entered directly in this pane.
■ The Open Cells pane contains details about layers and markups including the TCAD-
relevant markups.

Sentaurus Process User Guide 797


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
ICWBEV Plus Introduction for TCAD Users

The TCAD Sentaurus toolbar is located in the upper-right corner of the main window. Table 72
describes the relevant toolbar buttons.

Table 72 TCAD Sentaurus–specific toolbar buttons


Button Description Button Description

3D simulation domain (highlight) Stretch utility

2D simulation domain (gauge) Save TCAD layout

1D simulation domain (point) Save markups

Sentaurus Markups
Sentaurus markups are used to add the simulation domain in 1D, 2D, and 3D domains as
needed. The Command Pane in Figure 151 shows the commands after adding Sentaurus
markups in the layout using GUI actions.

Figure 151 Adding Sentaurus markups to a layout

To add a 3D simulation domain (highlight), a 2D simulation domain (gauge), or a 1D


simulation domain (point), click the respective toolbar button and draw a rectangle, a line, or a
point on the layout, respectively.

798 Sentaurus Process User Guide


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
ICWBEV Plus Introduction for TCAD Users

NOTE A 2D simulation domain (gauge) has a direction. The starting point is


given as an open diamond, and the endpoint is given as a filled diamond.
A gauge that runs parallel to an edge of a layer must have a finite
orthogonal distance to that edge. If a gauge is collinear with the edges
of a layer, this edge might not be included in the 2D mask.

The default naming convention is:


■ For highlights, SIM3D<n>.
■ For gauges, SIM2D<n>.
■ For a point, SIM1D<n>.

where <n> is an automatically incremented number.

For 2D TCAD simulations, it can be useful to work with composite simulation domains, for
example, when the different contacts in a device layout cannot be connected by a single straight
line. In this case, it is not possible to perform a 2D device simulation after a 2D process step
using a single 2D simulation domain. However, a 2D TCAD simulation using a composite 2D
simulation domain is feasible. In this case, the various 2D cuts in the layout are daisy-chained
to form a composite 2D simulation domain.

An example of a composite simulation domain is shown in Figure 152, which shows a close-
up of the layout of a bipolar transistor with two 2D TCAD simulation domains. The simulation
domain labeled BJTBE cuts through two base–contact fingers and one emitter finger. The
simulation domain labeled BJTC cuts through the collector contact.

NOTE The two simulation domains are orthogonal and not contiguous.

Figure 152 Layout of a bipolar transistor with two 2D simulation domains: BJTBE cuts
through two base–contact fingers and one emitter finger, and BJTC cuts through
the collector contact

Figure 153 on page 800 shows the 2D TCAD simulation results obtained with a composite
simulation domain consisting of both the BJTBE and BJTC domains. Using a composite
simulation domain allows simulating a functional bipolar junction transistor (BJT) even for a
2D TCAD simulation.

Sentaurus Process User Guide 799


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
ICWBEV Plus Introduction for TCAD Users

Figure 153 Two-dimensional TCAD simulation results using composite simulation domain
consisting of the 2D domains BJTBE and BJTC

Stretch Utility
The stretch utility provides a convenient way to parameterize a layout by inserting a uniformly
stretched segment into the layout. For example, this feature can be used to generate a set of
transistors that have different gate lengths but are otherwise identical.

Figure 154 (Left) Snapshot of sample ICWBEV Plus layout with stretch utility line and (right)
effective layout seen by Sentaurus Process when the layout is loaded with a
positive stretch amount

A stretch line must be defined in ICWBEV Plus first. The stretch amount is set after loading
the TCAD layout with the Sentaurus Process command:
icwb stretch name= "<stretch-name>" value= <stretch-amount>

800 Sentaurus Process User Guide


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
ICWBEV Plus Introduction for TCAD Users

This feature can be used for simple parameterization of layouts for quantities such as threshold
rolloff. Figure 155 shows a close-up of the layout containing an NMOS transistor. In addition,
two stretch lines are shown. The stretch line labeled NMOS_W is used to vary gate width, and the
one labeled NMOS_L is used to vary the gate length in an NMOS.

To add a stretch line:


■ Click the stretch utility toolbar button, and draw a line across the required region in the
layout.

NOTE The stretch line must cross the entire simulation domain to which it
should be applied. Stretch lines can be used for 2D and 3D simulation
domains.

Figure 155 Adding stretch lines in a layout to vary gate width and gate length

Figure 156 on page 802 shows the resulting changes in the NMOS gate width and gate length.
The default naming scheme for a stretch line is Stretch<n>.

For example, to apply a stretch at run-time in Sentaurus Process, use a command such as:
icwb stretch name= "NMOS_W" value=@Stretch@

where NMOS_W is the name of the stretch variable. Here, the amount of stretching is defined
using the Sentaurus Workbench variable @Stretch@. A positive stretch value is used for
expansion; a negative value leads to shrinkage.

Sentaurus Process User Guide 801


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
ICWBEV Plus Introduction for TCAD Users

Figure 156 Effect of stretch utility on 3D NMOS structure showing variation in width and
length

Renaming Markups
Markups can be renamed and edited.

To rename markups:
1. View > Views > Open Cells.
2. Expand the markup type, for example, Highlights.
3. Click the respective Sentaurus Process markup to edit the name.
4. Click the coordinates to edit the coordinate values.

Figure 157 shows the Open Cells pane, displaying the list of Sentaurus Process markups and
their coordinates that can be edited as required.

Figure 157 Open Cells pane showing list of objects with descriptions

802 Sentaurus Process User Guide


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
ICWBEV Plus Introduction for TCAD Users

Auxiliary Layers
Auxiliary layers are used, for example, to denote the position of electrical contacts in a layout.
To add auxiliary layers, first a layer must be declared and attributes must be defined. Figure 158
illustrates how to define a layer and its attributes.

To add auxiliary layers, draw a polygon defining the region of the layer:
1. Open the layout for editing: Edit > Cell Edit.
2. Select the active layer.
3. Select the shape tool.
4. Draw a polygon.

Figure 158 Defining a layer and its attributes

Editing Polygons
If required, polygons can be edited. You can edit polygons by either:
■ Resizing a rectangle.
■ Converting a rectangle to a polygon.

Sentaurus Process User Guide 803


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
ICWBEV Plus Introduction for TCAD Users

Resizing a Rectangle

To resize a rectangle:
1. If not already open, open the layout for editing: Edit > Cell Edit.
2. Activate the selector tool.
3. Click the polygon edge to select it.
4. Move the edge as needed.

Figure 159 shows a rectangle highlighted for editing.

Figure 159 Moving the edge of a rectangle: select the rectangle and drag an edge

Converting a Rectangle to a Polygon

To convert a rectangle to a polygon:


1. Click the polygon edge to select it.
2. Right-click and select Split Edge.
3. Move the edge as needed.

804 Sentaurus Process User Guide


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
ICWBEV Plus Introduction for TCAD Users

Figure 160 illustrates the procedure.

Figure 160 Converting a rectangle to a polygon

Nonaxis-aligned Simulation Domains


The ICWBEV Plus–TCAD Sentaurus interface supports nonaxis-aligned domains. To realize
nonaxis-aligned simulation domains, the GDSII layout is rotated by a given angle, and the
TCAD simulation domain is added as discussed in Sentaurus Markups on page 798.

To rotate a GDSII layout:


1. Layout > Transform.
2. In the Cell Transformation dialog box, enter the values of the fields as required.

Figure 161 shows the transformation of a GDSII layout and the transformation parameters.

Figure 161 Rotation of layout with transformation parameters

Sentaurus Process User Guide 805


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
Files Relevant to ICWBEV Plus–TCAD Sentaurus

Files Relevant to ICWBEV Plus–TCAD Sentaurus


After adding Sentaurus Process markups in ICWBEV Plus, the markup information is saved in
two different files:
■ Sentaurus markup file: This file format is based on the standard ICWBEV Plus macro
language. It can be used to reload and re-edit Sentaurus Process markup. It also contains a
reference to the original, potentially large, GDSII file.
■ TCAD layout file: This file format is used as an internal file format for the exchange of
layout information between ICWBEV Plus and TCAD Sentaurus. It is based on the
standard ICWBEV Plus macro language. This file is flat and does not contain a reference
to the GDSII file. It is a small file because it contains only the parts of the layout needed
for TCAD Sentaurus.

After performing the necessary operations on the layout file, save the resulting Sentaurus
markup file.

Saving the Sentaurus Markup File


To save a Sentaurus markup file:
1. Click the Save markups button (see Table 72 on page 798).
The Save Sentaurus Markup File dialog box is displayed (see Figure 162 on page 807).
2. Select the option Include New Layers in Markup File to save auxiliary layers.

NOTE Including new layers in the markup file keeps the original GDSII file
intact.
3. Select the layout file corresponding to the markup file using one of the three options shown
in Figure 162:
a) Active Layout: Select this option when using a centrally located GDSII layout. This
option is particularly useful when working with a very large full-chip layout.
b) Choose File: Select this option when working with an edited or a local version of the
GDSII layout.
c) Markups Only: Select this option to manage the layout pointer and marker pointer
separately. This option suppresses storing of the layout file pointer.
4. Type the file name in the Save File as field.
5. Click OK.

The recommended extension for saving the file is _mkp.mac, for example, BiCMOS_mkp.mac.

806 Sentaurus Process User Guide


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
Files Relevant to ICWBEV Plus–TCAD Sentaurus

Figure 162 Saving Sentaurus Markup File dialog box

Contents of Sentaurus Markup File


This section describes a typical markup file with a brief explanation. For a description of
keywords, refer to the IC WorkBench EV Plus User Guide.

Version information:
# Sentaurus markup information - Fri Jan 11 17:15:39 PDT 2013
# version - D-2010.06-14 (Production)

Setting for treating self-intersection: By default, all layers are ORed. This convention is
expected by all subsequent tools and, therefore, this setting should not be altered.
default winding 1

Pointer to layout file:


layout open [<path>]/[Link] Inverter

Global transformations:
cell transform 1.0 0.0 0 0.0 0.0

Layer declarations and display settings:


layer add 1:0
layer configure 1:0 -name NWELL -fill #00ff00 -outline #00ff00
-lineStyle solid -lineWidth 1 ...

Open cell for editing (here, for adding new polygons):


cell edit_state 1

Sentaurus Process User Guide 807


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
Files Relevant to ICWBEV Plus–TCAD Sentaurus

Auxiliary layers:
polygon -layer 20:0 {950 5150 950 5350 1150 5350 1150 5150}
...

Simulation domains:
point add {8900 8100} Emit1D
gauge add {2100.0 7900.0 2100.0 10000.0} PMOS
highlight add {7900.0 7550.0 9900.0 9900.0} BJT3D
...

File end:
select clear
catch {view default}

Reloading the Markup File


To edit a markup file, you must reload it.

To reload a markup file:


1. File > Open.
The Open File dialog box is displayed (see Figure 163).
2. In the Files of type field, select Flag Files (*.mac) or Macro Files (*.mac).

Figure 163 Open File dialog box for reloading the markup file

808 Sentaurus Process User Guide


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
Files Relevant to ICWBEV Plus–TCAD Sentaurus

Saving the TCAD Layout File


To save the TCAD layout file:
1. Click the Save TCAD layout button (see Table 72 on page 798).
The Save Layout Information for Sentaurus dialog box is displayed (see Figure 164).
2. Save the file.
The recommended extension for the TCAD layout file is _lyt.mac, for example,
BiCMOS_lyt.mac.

Figure 164 Saving the TCAD layout file

Contents of TCAD Layout File


This section describes the contents of the TCAD layout file and the differences between the
contents of the Sentaurus markup file and TCAD layout file.

Version information: Same as Contents of Sentaurus Markup File on page 807.

Setting for treating self-intersection: Same as Contents of Sentaurus Markup File.

Pointer to layout file: Commented out.

Global transformations: Commented out.

Initialization of this self-contained layout:


layout new <cell name> -dbu 1e-09

Layer declarations and display settings: Same as Contents of Sentaurus Markup File.

File end: same as Contents of Sentaurus Markup File.

Sentaurus Process User Guide 809


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
Files Relevant to ICWBEV Plus–TCAD Sentaurus

Simulation domains in a layout file are described below. Point, gauge, and highlight
coordinates are mentioned first, and all polygons associated with the given simulation domains
are listed:
■ 1D simulation domains:
point add {8900 8100} Emit1D
polygon -layer 1:0 {8890 8090 8910 8090 8910 8110 8890 8110}
...
■ 2D simulation domains:
gauge add {2100.0 7900.0 2100.0 10000.0} PMOS
rectangle -layer 1:0 {2090 10010 2110 7890}
...
■ 3D simulation domains:
highlight add {7900.0 7550.0 9900.0 9900.0} BJT3D
polygon -layer 1:0 {7890 7540 9910 7540 9910 9910 7890 9910}
...

In the TCAD layout file, layers are clipped to simulation domains. In addition, these layers are
repeated for each simulation domain. For better viewing, layers are padded 10 units (nm).

To change the padding value, use:


set sentaurus::min_buffer <new_number>

Reloading the TCAD Layout File


For debugging purposes, reload the TCAD layout file.

To reload the file:


■ File > Open > Macro File (*.mac).

NOTE Do not extract a TCAD layout from a reloaded TCAD layout. TCAD
layout files should always be extracted from the Sentaurus markup file.

810 Sentaurus Process User Guide


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
ICWBEV Plus Batch Mode and Macros

ICWBEV Plus Batch Mode and Macros

Starting ICWBEV Plus in Batch Mode


To extract the TCAD layout file in batch mode, add the following command to the end of the
markup file:
sentaurus::get_sentaurus sentaurus <name>_lyt.mac
exit

To start ICWBEV Plus in batch mode run the following command from the shell prompt:
> icwbev -nodisplay -run <name>_mkp.mac

ICWBEV Plus Macros


ICWBEV Plus macros can be used to create simple layouts. An example of a macro is:
default winding 1
layout new a -dbu 1e-09
cell transform 1.0 0.0 0 0.0 0.0
layer add 0:0
layer configure 0:0 -name {} -fill #ff0000
layer add 1:0
layer configure 1:0 -name {} -fill #ff0000
cell edit_state 1
polygon -layer 0:0 {0 0 0 100 50 100 50 0}
polygon -layer 1:0 {-25 25 75 25 75 75 -25 75}
select clear
catch {view default}

Tcl-based Macros for Layout Parameterization


The macro language of ICWBEV Plus is Tcl based. Figure 165 on page 812 shows a rectangle
that has been replicated four times. The following Tcl command performs the replication:
layout new a -dbu 1e-09
layer add 0:0
layer configure 0:0 -name {}
cell edit_state 1
set SHIFTS [list 0 100 200 300 400]
foreach SHIFT $SHIFTS {

Sentaurus Process User Guide 811


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
TCAD Layout Reader of Sentaurus Process

eval rectangle -layer 0:0 { $SHIFT 0 [expr 50+$SHIFT] 50 }


}

Figure 165 Shift operation using macros

TCAD Layout Reader of Sentaurus Process


The TCAD layout reader of Sentaurus Process provides a file-based interface between
ICWBEV Plus and Sentaurus Process. Some of its key features include:
■ Loading the TCAD layout (optional rescaling)
■ Layout query functions
■ Selecting a simulation domain
■ Applying stretches
■ Creating masks
■ Mask-driven meshing
■ Mask-driven contact assignment

The following sections discuss these features in detail.

Loading the TCAD Layout


To load a TCAD layout: in Sentaurus Process use the following command:
icwb filename= "<[Link]>" [scale=<scale>]

Coordinates found in the TCAD layout file are multiplied by the value of the optional
parameter scale as the file is read.

812 Sentaurus Process User Guide


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
TCAD Layout Reader of Sentaurus Process

For example, to load the TCAD layout file BiCMOS_lyt.mac and apply a rescaling factor of
1 ⁄ 1000 to convert the ICWBEV Plus default unit of nanometer to the Sentaurus Process
default unit of micrometer:
icwb filename= "BiCMOS_lyt.mac" scale=1e-3

Finding Simulation Domains


To generate a list of the simulation domains:
icwb list domains

For example:
set Domains [icwb list domains]
-> icwb: Domains -> Emit1D NBODY NMOS BJT3D PMOS3D

Finding Layer Names and Layer IDs


Each layer in the TCAD layout file has a unique ID of the form <int>:<int>, for example
3:0. A layer also can have an optional explicit layer name such as NWELL. If no explicit layer
name has been set in ICWBEV Plus, the TCAD layout reader uses the layer ID as the default
layer name. The TCAD layout reader refers to layers always by the layer name.

To find the layer names:


icwb list layerNames

For example:
set LNames [icwb list layerNames]
-> icwb: LNames -> NWELL NPDIFF POLY EMIT METAL CONT ndrain ngate nsource base
emitter collect

To find the layer IDs:


icwb list layerIDs

For example:
set LIDs [icwb list layerIDs]
-> icwb: LIDs -> 1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0

Sentaurus Process User Guide 813


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
TCAD Layout Reader of Sentaurus Process

Selecting the Simulation Domain


To select a single or a composite simulation domain:
icwb domain = <domain-name> | <list-of-2d-domain-names>

For example, to select a single simulation domain (which can be 1D, 2D, or 3D):
icwb domain = { PMOS }

To define a composite simulation in 2D:


icwb domain = { NBODY NMOS PMOS BJTBE BJTC }

Finding Domain Dimensions


To find the domain dimensions:
icwb dimension

This command returns 3 for 3D simulation domains (highlight), 2 for 2D simulation domains
(gauge), and 1 for 1D simulation domains (point).

For example:
set DIM [icwb dimension]
-> icwb: dimension -> 3

Finding Bounding Box of Domain


To find the coordinates of the bounding box of the simulation domain in the global layout
coordinates:
icwb bbox xmin | xmax | ymin | ymax

For example:
set LXmin [icwb bbox xmin] ; set LXmax [icwb bbox xmax]
set LYmin [icwb bbox ymin] ; set LYmax [icwb bbox ymax]
-> icwb: Layout Bounding Box -> 7.9 9.9 7.55 9.9

To find the coordinates of the bounding box that automatically recenters the simulation domain
to start at the origin:
icwb bbox left | right | back | front

814 Sentaurus Process User Guide


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
TCAD Layout Reader of Sentaurus Process

For example:
set Ymin [icwb bbox left] ; set Ymax [icwb bbox right]
set Zmin [icwb bbox back] ; set Zmax [icwb bbox front]
-> icwb: Centered Bounding Box -> 0 2.35 0 2

NOTE Sentaurus Process works with the centered coordinates.

Interface with line Commands


After storing the bounding box of the simulation domain in the Tcl variables such as Ymin,
Ymax, Zmin, and Zmax, these variables can be used in line commands to define the initial
substrate and mesh in Sentaurus Process. For example:
if { $DIM == 3 } {
line y location= $Ymin spacing=100.0 tag=left
line y location= $Ymax spacing=100.0 tag=right
line z location= $Zmin spacing=100.0 tag=back
line z location= $Zmax spacing=100.0 tag=front
set Ydim "ylo=left yhi=right"
set Zdim "zlo=back zhi=front"
} elseif { $DIM == 2 } {
line y location= $Ymin spacing=100.0 tag=left
line y location= $Ymax spacing=100.0 tag=right
set Ydim "ylo=left yhi=right"
set Zdim ""
} else {
line y location=-0.5 spacing=100.0 tag=left
line y location= 0.5 spacing=100.0 tag=right
set Ydim "ylo=left yhi=right"
set Zdim ""
}
eval region silicon xlo=top xhi=bot $Ydim $Zdim

Creating Masks
To create a mask from a layer:
[Link] [Link]= (<string>|<string list>)
[name= <string>] [polarity= (positive|negative)] [info=<n>]
[shift= {dy dz}] [stretchypos= {yo dy}] [stretchyneg= {yo dy}]
[stretchzpos= {zo dz}] [stretchzneg= {zo dz}]

Sentaurus Process User Guide 815


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
TCAD Layout Reader of Sentaurus Process

Masks can be created in the following ways:


■ Mask name defaults to the layer name:
[Link] [Link]= POLY
■ Give an explicit name to the mask. For example, to distinguish between the positive mask
and negative counterparts:
[Link] [Link]= NWELL name= NWELL polarity= positive
[Link] [Link]= NWELL name= NOTNWELL polarity= negative

Several layers can be ORed to create a single mask. The following command illustrates the OR
procedure:
[Link] [Link]= "NPDIFF PPDIFF NPLUG PBASE" name= STI info=1

The info flag directs more detailed information about the mask creation process to the log file.

To automatically create mask layers with both polarities, use the following macro:
[Link]

The resulting mask names are <layername>_p for the positive version and <layername>_n
for the negative version.

The optional keywords shift, stretchypos, stretchyneg, stretchzpos, and


stretchzneg allow you to modify individual layers during the mask generation with
[Link]. For example, to generate a mask that corresponds to layer 1:0 shifted
by 0.25 μm along the y-direction and by – 0.1 μm along the z-direction, use:
[Link] [Link]= 1:0 shift= {0.25 -0.1}

For 2D simulation domains, the z-shift can be omitted.

The keywords starting with the word stretch allow you to stretch individual layers in a
manner similar to the icwb stretch command. (The latter, however, is applied to all layers
and takes the location of the stretch from the TCAD layout file.) The remaining part of the
keyword determines if the stretch is applied along the y- or z-direction, and if the layer is
stretched to the positive or negative side of the stretch position. For example, to move the
vertices of layer 1:0, which have a y-coordinate less than 1.2 by –0.25 μm, use:
[Link] [Link]= 1:0 stretchyneg= {1.2 -0.25}

This command operates on layer vertex coordinates and does not check if the resulting polygon
is valid. When using these commands to shrink layers, you must ensure that the resulting
polygons are still well defined, for example, not self intersecting.

816 Sentaurus Process User Guide


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
TCAD Layout Reader of Sentaurus Process

More than one shift and stretch keyword can be used in an [Link]
command. As these operations may not be commutative, you must note the order in which
these operations are applied if more than one is used. First, the shift is applied, and then
stretchypos, stretchyneg, stretchzpos, and finally stretchzneg are applied.

NOTE This order is hard coded and not influenced by the order the keywords
appear on the command line.

NOTE If you have a large layout with masks containing many polygons, it can
take some time until the Tcl function [Link]
parses and creates the masks. In this situation, you can use the command
icwb [Link] to create all the masks (see icwb on
page 916). This command works like the Tcl version but creates the
masks much faster.

Layout-driven Meshing
To create a refinement box that is tied to layers in the ICWB TCAD layout file:
[Link] [Link]= (<string> | <string list>) [name= <string>]
[oversize=<n>] xtop=<n> xbot=<n> <other options> [info=<n>]

Layout-driven meshing can be particularly useful when meshing in critical regions, such as the
channel and emitter areas of BiCMOS devices. The following example illustrates the use of the
POLY layer for meshing placement:
[Link] name= UnderPoly [Link]= POLY oversize= 0.1 \
xtop= -1.51 xbot= -1.35 info= xrefine= 0.02 yrefine= 0.02
[Link] name= SiOxPo [Link]= POLY oversize= 0.1 \
xtop= -1.51 xbot= -1.35 [Link]= 0.005 \
[Link]= {Silicon Oxide Silicon Polysilicon}

The oversize parameter gives the option to mesh in areas wider than the layer. Figure 166
and Figure 167 on page 818 demonstrate the use of the oversize parameter in the emitter
region of a BJT and the channel region of an NMOS, respectively.

Sentaurus Process User Guide 817


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
TCAD Layout Reader of Sentaurus Process

Figure 166 Meshing in emitter region of BJT; the oversize parameter is set to 0.1 μm

Figure 167 Meshing in channel region of NMOS; the oversize parameter is set to 0.1 μm

The utility command [Link] interfaces with the standard refinebox command
by providing information about the refinement extent (minimum and maximum) based on the
selected layer.

NOTE The extent of the refinement box in the primary direction must be given
explicitly with the keywords xtop and xbot. Any other commands are
passed on.
Layout-driven mesh refinements are applied under the layer itself. They
cannot be applied under the inverse of a layer. Consider defining
auxiliary layers in ICWBEV Plus to facilitate layout-driven meshing in
areas that do not coincide with an existing layer.
This feature supports only layers with axis-aligned edges. Slanted edges
may result in a large number of refinement boxes, which may not
appropriately represent the original shape.

818 Sentaurus Process User Guide


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
TCAD Layout Reader of Sentaurus Process

Layout-driven Contact Assignment


The [Link] command creates contacts for subsequent device simulations that
are tied to a layer in the TCAD layout file. The command serves as an interface between the
TCAD layout and the Sentaurus Process contact command by automatically obtaining the
lateral placement of the contact from the specified layout layer, taking the vertical placement
from the argument list and passing all other options directly to the contact command. The
syntax of the command is:
[Link] [Link]= (<string> | <string list>)
[name=<string>] <other options> [info=<n>]

The command supports both box and point contact types:


■ A box-type contact consists of elements at the surface of one region or material inside the
box. The lateral extent of the box is determined automatically from the layer segment (2D)
or the polygon bounding box (3D), while the vertical extent is taken from the contact
command keywords xlo and xhi.
■ A point-type contact contains all the boundary elements of one region. The lateral position
of the point is determined automatically as the midpoint of the layer segment (2D) or the
polygon bounding box (3D), while the vertical position is taken from the contact
command keyword x.

Often, there is no layer in the layout provided by designers that can be used readily for the
creation of contacts. In this case, add auxiliary layers in ICWBEV Plus to be used as markups
for device contacts.

The following example demonstrates the assignment of gate and drain contacts using layout-
driven contact assignment:
[Link] [Link]= ndrain name= drain point aluminum \
replace x= -2.0
[Link] [Link]= ngate name= gate box polysilicon \
[Link]=oxide xlo= -2.05 xhi= -1.95

The location in the primary direction must be given explicitly with either the keyword x for a
point-type contact, or with the keywords xlo and xhi for a box-type contact. Any other
command is passed on to the contact command. The keyword name is optional. If no name
is given, the name of the layer is used as the contact name.

Figure 168 on page 820 shows a layout on which auxiliary layers have been added for layout-
driven contact assignment. Figure 169 on page 820 shows the 2D boundary after the process
simulation with Sentaurus Process depicting the gate, drain, and source contacts.

Sentaurus Process User Guide 819


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
TCAD Layout Reader of Sentaurus Process

Figure 168 Auxiliary layers added for gate, source, and drain contacts are represented by
rectangles of solid color in the layout

Figure 169 Final boundary after TCAD simulation showing gate (red), drain (blue), and
source (green)

Aligning Wafer and Simulation Domain


To correctly support tilted process steps for 2D and 3D simulation domains, the alignment
between the wafer and the simulation domain must be declared using the [Link]
keyword in the init command.

820 Sentaurus Process User Guide


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
TCAD Layout Reader of Sentaurus Process

The TCAD layout reader command icwb [Link] returns the relative angle
of the active simulation domain so that the slice angle can be adjusted as needed.

Table 73 lists the returned [Link] offset values for:


■ A 3D simulation domain (SIM3D1).
■ A 2D domain along the layout x-axis extending from left to right (SIM2DXLR), right to left
(SIM2DXRL), along the layout y-axis from top to bottom (SIM2DYTD) and bottom to top
(SIM2DYDT).

The following commands realize a tilted process:


set SliceAngle -90
set SliceOffset [icwb [Link]]
init silicon field=Boron concentration=1e13 \
[Link]= [expr $SliceAngle+$SliceOffset]
implant phosphorus dose=4e12<cm-2> energy=100<keV> tilt=30 rot=0

Table 73 Slice angle offset values for different domains


Domain SliceOffset value

SIM3D1 90

SIM2DXLR 0

SIM2DXRL 180

SIM2DYDT 90

SIM2DYTD –90

Figure 170 shows a sample layout with a 3D simulation domain and the four 2D simulation
domains previously discussed. Figure 171 on page 822 and Figure 172 on page 822 show the
dopant profiles after the tilted implants for the different simulation domains.

Figure 170 Structure layout where implant is performed at highlighted L-shaped red region

Sentaurus Process User Guide 821


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
TCAD Layout Reader of Sentaurus Process

Figure 171 Three-dimensional implanted profile

Figure 172 Two-dimensional implanted profile for selected slice angles as mentioned in
Table 73 on page 821

Additional Query Functions


The TCAD layout reader of Sentaurus Process provides additional layout query functions. For
example, the following command returns a list of segments in the given layer for a 2D
simulation domain:
set Segments [icwb [Link] [Link]= "<layer-name>"]

For a 3D simulation domain, the following command returns a list containing the bounding
boxes for all polygons in the given layer (this command also can be used for 2D):
set PolyBBoxes [icwb list [Link] [Link]= "<layer-name>"]

For a 3D simulation domain, the following command returns a list containing a tessellated
representation of polygons in the given layer (this command also can be used for 2D):
set PolyTessel [icwb list [Link] [Link]= "<layer-name>"]

822 Sentaurus Process User Guide


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
TCAD Layout Reader of Sentaurus Process

Figure 173 Sample layout containing two polygons

For example, Figure 173 shows a simple layout containing two polygons in layer 0:0. The
following commands:
■ Load the TCAD layout file (here, called ORG_lyt.mac).
■ Select the 2D simulation domain SIM2D1.
■ Query the segment, the bounding boxes, and the tessellations:
icwb filename= "ORG_lyt.mac"
icwb domain= "SIM2D1"

set Segments [icwb [Link] [Link]= "0:0"]


LogFile "Segments $Segments"
# -> Segments 100 200 300 400 500 800

set BBoxes [icwb list [Link] [Link]= "0:0"]


LogFile "BBoxes: $BBoxes"
# -> BBoxes: {100 0 200 0} {300 0 400 0} {500 0 800 0}

set Tessellations [icwb list [Link] [Link]= "0:0"]


LogFile "Tessellations: $Tessellations"
# -> Tessellations: {100 0 200 0} {300 0 400 0} {500 0 800 0}

NOTE The bounding box and tessellation queries are supported for 2D, and
they return flat rectangles. The returned y-values are the same as for the
segment query; however, zeros are padded for the z-direction.

When loading the 3D simulation domain SIM3D2, the set of rectangles returned by the
[Link] query and the [Link] query are different:
icwb filename= "ORG_lyt.mac"
icwb domain= "SIM3D2"

set BBoxes [icwb list [Link] [Link]= "0:0"]


LogFile "BBoxes: $BBoxes"
# -> BBoxes: {100 100 300 400} {100 500 300 800}

set Tessellations [icwb list [Link] [Link]= "0:0"]

Sentaurus Process User Guide 823


H-2013.03
12: ICWBEV Plus Interface for Layout-driven Simulations
TCAD Layout Reader of Sentaurus Process

LogFile "Tessellations: $Tessellations"


# -> Tessellations: {100 100 150 200} {100 200 150 300} {100 300 150 400}
# {100 500 150 600} {100 700 150 800} {150 100 300 200} {150 300 300 400}
# {150 500 300 600} {150 600 300 700} {150 700 300 800}

The [Link] query returns the bounding box rectangle for each polygon
in the layer, while the [Link] query breaks each polygon into a set of
rectangles and then returns these rectangles. The set of rectangles covers the same area as the
original polygon, while the bounding box rectangles may cover a larger area.

Figure 174 shows the rectangles returned by the two query functions as an ‘effective/
equivalent’ layout for better comparison with the original layout shown in Figure 173 on
page 823.

NOTE The tessellation procedure supports only polygons with axis-aligned


edges.

Figure 174 Set of rectangles returned by (left) [Link] query and (right)
[Link] query for polygons shown in Figure 173

824 Sentaurus Process User Guide


H-2013.03
CHAPTER 13 Extracting Results

This chapter presents strategies for analyzing simulation results.

Overview
This chapter covers basic tasks such as obtaining a list of materials currently in the structure,
and obtaining 1D dopant profiles from 2D or 3D structures to more complex ones, such as
looping through all materials and extracting Pearson parameters for each material. The
following commands perform these tasks: select, slice, layers, interface,
interpolate, print.1d, FitPearson, mater, FitPearsonFloor, FitArrhenius, and
FitLine.

All these Sentaurus Process commands are built-in procedures designed to work with the tool
command language (Tcl). These commands allow you to take full advantage of the
programmability of the Sentaurus Process input language and provide a powerful framework
for performing complex customized tasks.

These commands return or accept a Tcl list to perform their respective functions. The Tcl list
can be viewed and processed by the user, passed to another function, written to a file, or read
from a file. For example, the slice command returns a Tcl list of xy pairs where the x value
gives the depth [ μm ] and the y value gives the value chosen with the select command. This
list can be viewed with the Tcl puts command, written to a file with the Tcl open and puts
commands, or processed with another command such as fitting a Pearson function to the profile
with the FitPearson command.

An understanding of basic Tcl commands and Tcl lists is helpful to utilize fully the flexibility
of these commands. For convenience, some basic aspects of Tcl are described to enable you to
work efficiently with these commands, and examples of basic results analysis are provided.

Saving Data Fields


Sentaurus Process automatically saves all solutions, active dopant concentrations, total dopant
concentrations, electrostatic potential, net active concentrations, point-defect concentrations,
and total point-defect concentrations along with mechanical stress results in a TDR file. The
total and active concentrations of dopants and the total concentration of defects are created only
after a diffusion step. Therefore, if there is no diffusion, some of these fields may be missing

Sentaurus Process User Guide 825


H-2013.03
13: Extracting Results
Selecting Fields for Viewing or Analysis

in the TDR file. You can control the fields that will be saved in the TDR file using the
SetDFISEList command (see SetDFISEList on page 1057).

Since the active and total dopant concentrations are defined as terms in Sentaurus Process, they
are converted automatically to data fields with the same name when saved to TDR files.
Because the conversion is handled internally, the data fields are not kept in the memory.

You can create new data fields and store them in a TDR file. For example:
sel z= "BActive/BTotal" name=BActiveRatio store

will divide the active boron concentration by the total boron concentration, and will save the
results in a data field called BActiveRatio. The parameter store ensures that the newly
created field will be saved in a TDR file. To see whether a field will be saved in a TDR file, the
select command with the option permanent can be used (see select on page 1053), for
example:
sel name= Boron permanent

will return 1 if the field will be saved in a TDR file. Otherwise, it will return 0.

Selecting Fields for Viewing or Analysis


Most analytic tasks begin with the select command, which is used to select a data field to be
viewed or operated on (see select on page 1053). A data field in Sentaurus Process is a quantity
that varies over the simulation domain, such as dopant concentration or electrostatic potential
distribution. The value of the data field is defined with an Alagator expression and is set with
z parameter of the select command.

The expression can be simply the name of a solution variable (such as Boron, H2O, or
Stress_x) or it can be a complex expression depending on what is required. If the expression
is the simple name of an existing data field, the select command selects this data field.

If it is more complex expression, the select command creates a corresponding data field and
then selects it, for example:
select z= BTotal ;# Select the total boron concentration
# term
select z= "Arsenic+Phosphorus-Boron" ;# Create and select a data field using
# solution variables
select z= log10(BActive) ;# Create and select a data field from
# the active boron concentration

The list of available data fields can be retrieved by using select list. The name that can
appear in the expression of the z parameter can be either a data field or a term.

826 Sentaurus Process User Guide


H-2013.03
13: Extracting Results
Obtaining 1D Data Cuts

A term is defined with the term command and is also an expression containing solution
variables, data fields, constants, and so on (see term on page 1099). Numerous terms are
created automatically in the diffuse command (see diffuse on page 875) and any of these
terms can be selected.

When a data field is selected (or created and selected) with the select command, the data field
can be viewed or operated on. The following commands can operate on the selected field:
slice, layers, interpolate, [Link], print.1d, and plot.1d.

Obtaining 1D Data Cuts


After a select command has been issued, you can obtain 1D cuts through the data along one
of the principal axes using the slice or print.1d command. The slice command returns
a list of coordinate data pairs. To make a cut perpendicular to x, specify the x parameter,
similarly for y and z.

The print.1d command returns a list of data-point lists. Each data-point list contains the
coordinate, data value, and the material name at that coordinate. Again, a cut perpendicular to
x is made by specifying the x parameter and, similarly, for the y and z cuts.

The plot.1d command can be used to view profiles with a temporary X11 graphics tool.

Examples
Sentaurus Process can run in interactive mode if there is no command file given on the
command line. In this case, you are prompted with the sprocess> prompt for commands. If
a command file is given, commands are read from this file. In interactive mode, the return value
of the commands is always displayed. You can set variables to the return value of a command
by using the syntax:
set var [command]

In this case, command is executed and a Tcl variable var is created if it does not already exist,
and the value of var is set to the return value of command. In addition, the return value of
command is displayed. It is also possible to write the return value to a user-defined file. The
following examples demonstrate the differences and functionality of the slice and print.1d
commands:
sprocess> select z= Vacancy
sprocess> slice y=0.6
{-1.000000e-02 4.804720e+16
-9.340278e-03 5.869015e+16

Sentaurus Process User Guide 827


H-2013.03
13: Extracting Results
Examples

...
0.000000e+00 5.969905e+17
0.000000e+00 7.075867e+17
7.421875e-04 7.618894e+17
...
sprocess> print.1d y=0.6
{ Distance Value Material }
{ -1.00000e-02 4.80472e+16 Oxide }
{ -9.34028e-03 5.86902e+16 Oxide }
...
{ 0.00000e+00 5.96991e+17 Oxide }
{ 0.00000e+00 7.07587e+17 Silicon }
{ 7.42188e-04 7.61889e+17 Silicon }
...

Here, the slice command returns raw coordinate data pairs, whereas print.1d returns a
header and coordinate data–material triplets. In both cases, the coordinates are given in
–3
micrometers and the concentration is in cm .

To illustrate how data from these functions can be manipulated with Tcl, suppose you require
a 1D profile of vacancy, which starts with 0.0 as the first coordinate, and the vacancy
–3
concentration to be in μm .

First, create a Tcl list from the data returned by the slice, and convert data in that list to a new
list, such as:
set vacList[lindex [slice y=0.6] 0] ;# Create a new list from slice
# command called vacList
set offset [lindex vacList 0] ;# Grab the offset, that is, the
# first coordinate
list modList ;# Create new Tcl list where modified
# data will reside
foreach { coord data } $vacList {\
lappend modList [expr $coord-$offset] ;#Convert coordinate by subtracting
# the offset and append to modlist
lappend modList [expr $data*1.0e-12] ;# Convert data to um^-3 units and
# append to modlist
}

The above example uses the following Tcl commands;


■ lindex retrieves a given element of a list.
■ list creates a list.
■ lappend appends an element to the end of a list.
■ expr evaluates a math expression.
■ foreach is used for looping.

828 Sentaurus Process User Guide


H-2013.03
13: Extracting Results
Determining the Dose: Layers

For example, to write modList to a file called [Link]:


set fileID [open [Link] w] ;# Use the Tcl open command
# to open a file for writing
foreach { x y } $modList { puts $fileID "$x $y" } ;# Write modList line by line
close $fileID

Determining the Dose: Layers


The layers command (see layers on page 967) computes the dose of the selected data field
along one of the principal axes. The syntax to specify the cut is the same as the slice
command (see slice on page 1073). As with the other commands, the information is returned
as a list of lists:
sprocess> sel z=Vacancy
sprocess> set layerInfo [layers y=0.5]; # For a 2d structure,
either x or y must be specified
{ Top Bottom Integral Material}
{-2.06000e-01 -6.00000e-03 9.98843e+14 Silicon}
{-6.00000e-03 0.00000e+00 3.97970e+09e Oxide)
{ 0.00000e+00 1.00000e+00 2.81858e+05 PolySilicon}

The top and bottom coordinates are in micrometers. To obtain the total integrated dose along
y=0.5, use:
sprocess> set total 0
0
# Loop over layerInfo list of lists skipping header list,
# and retrieve the 3rd element of each list (first element has 0 index)
# which corresponds to the Integral for that layer.
sprocess> for { set i 1 } { $i < [llength $layerInfo] } { incr i } {
> set total [expr $total + [lindex [lindex $layerInfo $i] 2]]
> }
sprocess> puts $total
9.991288377e+14
sprocess>

In addition to the Tcl commands used in the previous section, this example uses the following:
■ llength returns the size of a given list.
■ incr increases an integer by 1.

For more information about the layers command, see layers on page 967.

Sentaurus Process User Guide 829


H-2013.03
13: Extracting Results
Extracting Values and Level Crossings: interpolate

Extracting Values and Level Crossings: interpolate


The interpolate command has two purposes: to obtain the position at which a profile
crosses a particular value and to retrieve a value at a particular location in space. Interpolation
is used to accomplish both tasks.

The four main parameters of this command are x, y, z, and val. The command operates on a
selected data field. In 1D, you must supply either x or val. If x is supplied, Sentaurus Process
returns the value at x. If val is supplied, Sentaurus Process returns the locations at which the
selected profile crosses val.

In 2D, two of the four parameters must be given (not z) and, in 3D, three of the four parameters
must be given. For example, in 2D, if x and val are given, the locations along x where val is
crossed are returned. If x and y are given, the value at this location is returned. For more
information, see interpolate on page 950.

Extracting Values during diffuse Step: extract


The extract command is used to extract historical data during diffuse steps. This
command allows you to define the data extraction script with the command parameter. The
extraction script is composed typically of the select command for choosing the data field for
extraction and the interpolate command for retrieving the value at a specified location.
Only values returned by the interpolate command, at each time step, are stored in the
historical data values.

For example, to extract the boron concentration at position 0.04 μm in the silicon and the YY
component of the element stress at position – 0.001 μm in the oxide for each diffuse
substep:
extract name=etest command= {
sel z=Boron
interpolate Silicon x=0.04
sel z=StressEL_yy element
interpolate Oxide x=-0.001
}

This command must be defined before the diffuse step. After the diffuse steps of interest,
the following command retrieves the extracted data values for the defined extraction etest:
extract name=etest print

830 Sentaurus Process User Guide


H-2013.03
13: Extracting Results
Fitting Routines: FitLine, FitArrhenius, FitPearson, and FitPearsonFloor

The values are returned as a Tcl list with the format:


<time1> <Boron1> <Syy1> <time2> <Boron2> <Syy2> ...

The following script demonstrates how to manipulate this list for more formatted output:
set extdata [extract name=etest print]
foreach { time bval sval } $extdata {
puts "$time $bval $sval"
}

Output from the above script is:


0.000000e+00 4.738727e+15 6.000000e+09
1.000000e-04 4.738727e+15 4.793201e+09
2.503231e-04 4.738727e+15 4.793201e+09
5.509694e-04 4.738727e+15 4.793201e+09
1.152262e-03 4.738727e+15 4.793201e+09
...

For more information, see extract on page 895.

Fitting Routines: FitLine, FitArrhenius, FitPearson, and


FitPearsonFloor
The following commands provide fitting capabilities in Sentaurus Process:
■ The FitLine command is used to find the best offset and slope for a given set of data, for
example:
sprocess> foreach temp { 700 800 900 1000 } {
> lappend dat $temp
> lappend dat [expr 110 + 10*$temp]
> }
sprocess> FitLine $dat ;# Get the slope, offset, and correlation factor
10.0 110.0 1.0
■ The FitArrhenius command is used to find the best prefactor and energy for an
Arrhenius fit of a given profile, for example:
sprocess> list dat ;# This is the list to be passed to FitArrhenius
sprocess> foreach temp { 700 800 900 1000 } {
> SetTemp $temp
> lappend dat $temp ;# dat will contain "temp" - "Arrhenius val" pairs
> lappend dat [Arrhenius 0.1 1.0]; ;# Arrhenius takes prefactor and
# activation energy
> }
sprocess> FitArrhenius $dat ;# Send the list to FitArrhenius

Sentaurus Process User Guide 831


H-2013.03
13: Extracting Results
Resistivity

0.0999999308634 1.00030363776 -0.999999999866 ;# Return prefactor, energy


# and corr factor
sprocess>
The FitArrhenius command takes a list of temperature–function pairs. The unit of
temperature is degree Celsius. The return value is a list where the first member is the
prefactor, the second member is the activation energy [eV], and the third member is the
correlation factor. Absolute values of the correlation factor close to one are desirable.
■ The FitPearson command is used to extract the best Pearson parameters of a profile.
■ The FitPearsonFloor command is a modification of FitPearson and is used to set a
floor for the data value so that only data points with values greater than the given floor are
used for the Pearson fit.
An example of using this command is one that contains the command PearsonProfile,
which can be called to create a Pearson–IV, Pearson–V, or Pearson–VI profile depending
on the parameters sent. It takes as its arguments the name of the data field to be created and
a list of parameters in this order: dose [cm–2], projected range, standard deviation,
skewness, and kurtosis. FitPearsonFloor takes the minimum value and a list of x y
values, which are to be fit to a Pearson. It returns parameters in the same order as the list
of parameters for PearsonProfile:
sprocess> PearsonProfile Arsenic {1e14 0.0650 0.0228 0.577 3.4390}
;# Corresponds to 100keV As implant
sprocess> select z= Arsenic
sprocess> FitPearsonFloor 1.0e10 [lindex [slice silicon] 0]
9.99999659675e+13 0.0649998507454 0.0227994405041 0.576718866676
3.4368839917
sprocess>

Resistivity
The background concentration of the wafer can be defined using the resistivity of the wafer.
You can define the resistivity of the wafer with the init command, which requires a field name
to calculate the background concentration. For example:
line x location = 0 tag=top
line x location = 10 tag=bot
region silicon xlo = top xhi = bot
init field=boron silicon resistivity=1.4
16 –3
sets the boron concentration of the wafer to 1.08 ×10 cm in silicon.

The resistivity is given in Ωcm , and the resistivity is calculated by:


–1
RHO = ( qNμ ) (947)

832 Sentaurus Process User Guide


H-2013.03
13: Extracting Results
Resistivity

where:
■ q is the electron density.
■ N is the background concentration.
■ μ is the mobility.

Three mobility models can be selected using the command:


pdbSet <material> <dopant> [Link] <model>

where <model> can be Model1 [1], or Model2 [2], or Model3 [3]. They are given as:
■ Model1:

μ max – μ min
μ = μ min + ---------------------------
- (948)
N α
1 +  ------
 N r

■ Model2:
PC
–  ------ μ max – μ min2 μm
μ = μ min e N + ------------------------------
α
- – -----------------------β (949)
1 +  ------
N Ns
 N r 1 +  ------
 N

■ Model3:
P
–  -----C- μ max
 N
μ p = μ min e + -----------------------α-
1 +  ------
N
 N r (950)
3
A0 + A1 X + A2 + A3 X X2
-----------------------------------------------------------
3
-
1 + B1 X + B2 X 2 + B3 X
μ n = 10

X = log  ------
N
 N r
(951)

where N r , μ min , μ min2 , μ max , μ m , P C , A 0 , A 1 , A 2 , A 3 , B 1 , B 2 , B 3, β , and α are fitting


parameters for the empirical formulas.

The fitting parameters can be set using the following commands:


pdbSet <material> <dopant> uMin {<n>}
pdbSet <material> <dopant> uMin2{<n>}
pdbSet <material> <dopant> uMax {<n>}
pdbSet <material> <dopant> uM {<n>}
pdbSet <material> <dopant> uNr {<n>}
pdbSet <material> <dopant> uNs {<n>}

Sentaurus Process User Guide 833


H-2013.03
13: Extracting Results
Sheet Resistance

pdbSet <material> <dopant> uPC {<n>}


pdbSet <material> <dopant> uBeta{<n>}
pdbSet <material> <dopant> uAlpha {<n>}
pdbSet <material> <dopant> A0 {<n>}
pdbSet <material> <dopant> A1 {<n>}
pdbSet <material> <dopant> A2 {<n>}
pdbSet <material> <dopant> A3 {<n>}
pdbSet <material> <dopant> B1 {<n>}
pdbSet <material> <dopant> B2 {<n>}
pdbSet <material> <dopant> B3 {<n>}

In addition to these models, a user-defined mobility model can be set using the command:
pdbSet <material> <dopant> [Link] <String Expression>

For example, the Mobility1 model for boron in silicon can be set using the command:
pdbSet Silicon Boron [Link] \
"(49.705+(467.729-49.705)/(1+abs(tNetActive/1.606e+17)^0.7))"

tNetActive is the internal name for N .

Sheet Resistance
The sheet resistance and p-n junction depth of a semiconductor layer in the vertical direction
are calculated using the command:
SheetResistance <args>

where <args> must be the y–cross section in 2D, and the y– and z–cross sections in 3D. For
example, in 3D:
SheetResistance y=0.4 z=-0.1

The sheet resistance formula is given by:


1
R s = --------------------------------------------------
pn
- (952)
i+1

 q ( μ n n + μ p p ) dx
pn i

where μ X is mobility of the holes ( p ) or electrons ( n ) given in Eq. 948 or Eq. 949 or Eq. 950.
The active concentration of dopants is calculated at the last diffusion temperature. The electron,
n , and hole, p , concentrations are calculated assuming charge neutrality at a temperature of
300 K.

834 Sentaurus Process User Guide


H-2013.03
13: Extracting Results
References

Sheet resistance can be calculated only after a diffusion statement or activation step. For
example:
diffuse time=0.0 temperatur=1000
SheetResistance y=9.4 z=-0.1

Since not all data fields are stored in the TDR file, the sheet resistance may not be calculated
after loading the TDR file even though the last command was a diffusion command.

References
[1] D. A. Antoniadis, A. G. Gonzalez, and R. W. Dutton, “Boron in Near-Intrinsic <100>
and <111> Silicon under Inert and Oxidizing Ambients—Diffusion and Segregation,”
Journal of the Electrochemical Society, vol. 125, no. 5, pp. 813–819, 1978.
[2] G. Masetti, M. Severi, and S. Solmi, “Modeling of Carrier Mobility Against Carrier
Concentration in Arsenic-, Phosphorus-, and Boron-Doped Silicon,” IEEE Transactions
on Electron Devices, vol. ED-30, no. 7, pp. 764–769, 1983.
[3] W. R. Thurber et al., The Relationship Between Resistivity and Dopant Density for
Phosphorus- and Boron-Doped Silicon, National Bureau of Standards Special
Publication 400-64, Washington, DC, USA, May 1981.

Sentaurus Process User Guide 835


H-2013.03
13: Extracting Results
References

836 Sentaurus Process User Guide


H-2013.03
CHAPTER 14 Numerics

This chapter discusses numerics-related issues, time integration


methods, and the linear solvers used in Sentaurus Process.

Overview
In Sentaurus Process, during the simulation of diffusion steps, three different sets of nonlinear
partial differential equations must be solved:
■ Oxidant diffusion and reaction
■ Dopant diffusion and reaction
■ Stress equations

In the case of silicidation, the transport and reactions of dissolved silicon or dissolved metal is
handled similar to the oxidant diffusion and reaction.

The oxidant, dopant, and point-defect equations are solved on the simulation mesh using a
trapezoidal rule/backward differentiation formula (TRBDF) time discretization, a finite
volume (box) method for the spatial integration, and a Newton method to solve the nonlinear
equations.

For the discretization of the nonlinear stress equations, piecewise linear finite elements are
used. If stress history is tracked, the stress equations are solved, not only during the simulation
of diffusion steps, but also at the end of etch and deposit steps.

Various direct and iterative solvers are integrated in Sentaurus Process to solve the large
systems of linear equations in each Newton iteration. By default, for all equations in 1D
simulations and for mechanics equations in 2D simulations, the parallel direct solver
PARDISO is used. For diffusion equations in two dimensions and for all equations in three
dimensions, the iterative solver ILS is used. The solver can be selected using the math
command:
math ils

This command selects the solver ILS for all types of equation in 1D, 2D, and 3D. Separate
selections can be made for the various spatial dimensions and for the solution of mechanics
equations and diffusion equations (the same settings are used for both oxidant and
dopant–point defect equations).

Sentaurus Process User Guide 837


H-2013.03
14: Numerics
Setting Parameters of the Iterative Solver ILS

The parameters Flow and diffuse select the type of equation, and the parameter dim
specifies the spatial dimension:
math Flow dim=2 ils
math diffuse dim=2 pardiso
math Flow dim=3 pardiso

If a direct solver is used, a modified Newton method is used by default; Sentaurus Process tries
to avoid the recomputation and factorization of a new matrix and will reuse the last factorized
matrix, as long as the convergence rate remains sufficiently high. For the iterative solvers, by
default, a modified Newton scheme is used as well.

The math command is used to specify various parameters for the Newton iterations and to
define resources and specifications for the linear solvers (see math on page 984).

For the default settings for ILS, refer to the parameter database browser (PDB). More detailed
settings for ILS can be made using pdbSet commands as described in the next section.

Setting Parameters of the Iterative Solver ILS


The iterative solver ILS is used by default to solve the linear systems for diffuse in 2D
simulations and for both Flow and diffuse in 3D simulations. Default parameters for ILS
have been added to the parameter database. To specify modified parameters for ILS, such as
the type of iterative scheme, the number of iterations, the output verbosity, or the memory
resources, use the pdbSet commands.

NOTE In the pdbSet commands, parameters must be specified separately for


each type of problem (Flow or diffuse) and for each dimension (1D,
2D, or 3D).

NOTE ILS is not recommended for use in 1D simulations because of the simple
structure of matrices arising in 1D cases. The default direct solver
PARDISO is the correct choice for 1D simulations.

Different ILS parameters can be specified for diffuse and Flow, both in 2D or 3D. In general,
the pdbSet command for the ILS parameters has the form:
pdbSet Math [diffuse | Flow] [2D | 3D] ILS.[command] [value]

The following ILS commands are available:


[Link] Boolean
[Link] Double
[Link] Double
[Link] Double

838 Sentaurus Process User Guide


H-2013.03
14: Numerics
Setting Parameters of the Iterative Solver ILS

[Link] Double
[Link] Boolean
[Link] Double
[Link] String
[Link] String
[Link] Boolean
[Link] String
[Link] Double
[Link] Double
[Link] Double
[Link] String
[Link] String
[Link] Double
[Link] Double
[Link] Double
[Link] Boolean
[Link] Double

To select the GMRES method, for example, gmres(60), use:


pdbSet Math diffuse 3D [Link] gmres
pdbSet Math diffuse 3D [Link] 60

To specify the FlexibleGMRES method, for example, fgmres(40), to solve the stress
equations, use:
pdbSet Math Flow 3D [Link] fgmres
pdbSet Math Flow 3D [Link] 40
pdbSet Math Flow 3D [Link] 5

To select the efficient reuse mode (on each 3D diffuse time step, the costly reordering is applied
only once to a first Jacobian system), specify:
pdbSet Math diffuse 3D [Link] 2

and to return to reordering for every system, use:


pdbSet Math diffuse 3D [Link] 1

To improve the accuracy and convergence of iterative linear solvers, use an enhanced option
available in Version H-2013.03 by specifying (default value is 0):
pdbSet Math [diffuse | Flow] [2D | 3D] [Link] 1

To use the 3D diffuse gmres solver in the advanced parallel implementation, specify:
pdbSet Math diffuse 3D [Link] 3

Sentaurus Process User Guide 839


H-2013.03
14: Numerics
Partitioning and Parallel Matrix Assembly

In this command, the value 3 activates algorithmic improvements made in Version H-2013.03,
while the value 2 corresponds to Versions G-2012.06 and F-2011.09, and the value 1
corresponds to Version E-2010.12.

To select the solvers for mechanics, STS2 or STCG2 for 2D, and STS3 or STCG3 for 3D, for
example, sts3, use:
pdbSet Math Flow 3D [Link] sts3
pdbSet Math Flow 3D [Link] 1e-10
pdbSet Math Flow 3D [Link] 5e-4
pdbSet Math Flow 3D [Link] diagsym
pdbSet Math Flow 3D [Link] none

For the mechanics solvers STS2, STS3, STCG2, and STCG3, it is mandatory to specify
[Link] as diagsym, and [Link] as none. It is also recommended
–4 –5
to specify the value for the parameter [Link] in the range of 5 ×10 – 5 ×10 .

To improve convergence of the mechanics solver STS2 or STS3, use an enhanced version of
the solver by specifying, respectively (default value is 0):
pdbSet Math Flow 2D [Link] 1

or:
pdbSet Math Flow 3D [Link] 1

The enhanced version takes advantage of results from previous solve steps, so the actual
performance gain can vary depending on the simulation setup, and it performs best when there
is a sequence of mechanical solve steps, as in temperature ramps.

Partitioning and Parallel Matrix Assembly


Sentaurus Process can assembly the diffusion and mechanics matrices in parallel on multicore
machines. To switch on the parallel assembly, use:
math { numThreads = <n> | numThreadsAssembly = <n> }

where numThreads is the number of threads that would be used during the matrix assembly.
numThreads is a general keyword (see math on page 984) used by both implant and linear
solvers. If you want to use a different number of threads for diffusion matrix assembly, use the
keyword numThreadsAssembly. If the number of threads is greater than 1, Sentaurus Process
first creates the threads.

To modify the thread stack size, use:


math threadStackSize = <n>

840 Sentaurus Process User Guide


H-2013.03
14: Numerics
Partitioning and Parallel Matrix Assembly

NOTE Parallel assembly of the matrix is performed only for inert anneals. It is
recommended that numThreadsAssembly does not exceed the
number of actual cores of the computer. Parallel assembly of the matrix
is not available for moving-boundary problems such as oxidation and
silicidation.

Sentaurus Process then partitions the mesh structure into levels, and each level is divided into
different domains at the beginning of the diffusion step. For example, Figure 175 shows a
structure with three levels. The first level (blue) (L0) has four domains: D0, D1, D2, and D3.
Elements belonging to each domain on the same level do not cross over to the other domains.
The second level (orange) (L1) also has four domains: D0, D1, D2, and D3. Again, the
elements on the same level do not cross over to the other domains. The third level (green) (L2)
has only one domain: D0. This is the last level and contains all the elements not included in the
previous levels.

To control the partitioning, use:


math { maxNumberOfDomains=<n> | NumberOfElementsPerDomain=<n> }

Figure 175 Partitioned mesh structure

Sentaurus Process User Guide 841


H-2013.03
14: Numerics
Matrix Size Manipulation

NOTE maxNumberOfDomains is the maximum number of domains that each


level of partition
can have. It is recommended that
maxNumberOfDomains equals or is greater than the number of threads
used. NumberOfElementsPerDomain is the number of elements that
should go to each domain.

The final number of domains at each level is determined by:


Number of Edges
domains = min (maxNumberOfDomains,-----------------------------------------------------------------------------------) (953)
NumberOfElementsPerDomain

To partition the mesh, based on material type, give weight to each material using the command:
pdbSet <material> PartitionWeight <n>

For example:
pdbSet Silicon PartitionWeight 10
pdbSet Gas PartitionWeight 0

gives more weight to silicon mesh elements than the gas mesh elements during partitioning.
This allows Sentaurus Process to distribute the work among the threads more evenly since there
is no matrix assembly for the gas mesh.

Partition weights for mechanics assembly can be specified separately with:


pdbSet <material> Mechanics PartitionWeight <n>

This allows balancing the workload among threads according to the stress analysis methods for
different material behaviors. If the partition weights for mechanics assembly are not defined,
the partition weights for diffusion assembly are used by default.

Matrix Size Manipulation


The size of the matrix used during diffusion assembly is automatically determined based on the
number of solution variables and nodes in the structure. In most cases the allocated matrix size
is more than sufficient. If the matrix size becomes insufficient during the assembly, the matrix
size will be increased automatically by 10%. You can change the default 10% value by using
the command:
pdbSet Math [Link] <n>

where the value <n> should be greater than one.

842 Sentaurus Process User Guide


H-2013.03
14: Numerics
Node and Equation Ordering

You also can increase the automatically determined matrix size using the command:
pdbSet Math [Link] <n>

where the value <n> should be greater than one.

NOTE Be careful when choosing the matrix scaling values because it can
exhaust the computer memory for large scaling values.

Node and Equation Ordering


Because the order of nodes in meshes does not follow a specific order by default, adjacent
nodes may be far from each other in the internal node list. The order may not have much effect
on simulation time for small examples (such as 2D), but it may degrade 3D results. The nodes
in the structure can be ordered meshwise or globally using the command:
pdbSet Math < 1D | 2D | 3D > [Link] <model>

where <model> is None (default), Mesh, or Global.

The default order of equation numbering in the structure is based on the meshes. Each node in
the mesh receives an equation number from a solution variable and the same is repeated for the
next solution. This may create many distributed entries in the assembly matrix. Again, the order
may not greatly affect the simulation time for small examples (such as 2D), but it may degrade
3D results. It is possible to number equations based on solutions by taking a node in the mesh,
numbering it for each solution variable, and moving to the next node in the mesh. This creates
better-distributed entries in the assembly matrix. The order can be changed using the
command:
pdbSet Math < 1D | 2D | 3D > [Link] <model>

where <model> is None (default) or Solution.

Time Integration
The TRBDF method [1] is used for time integration by default for time-dependent problems.
It also is possible to choose the backward Euler method for the time integration. The following
command can be used to switch between methods:
math {tr_bdf | euler}

Sentaurus Process User Guide 843


H-2013.03
14: Numerics
Time-Step Control

A TRBDF integration step consists of a trapezoidal step followed by a backward difference


step. A second trapezoidal solution is used to estimate the local truncation error and to
determine the size of the next time step.

The local truncation error can be estimated by either a Milne’s device (the default method) or
the divided difference method. The following command switches between methods:
math {milne | difference}

The local truncation error for the next time-step estimation can be modified using the
command:
pdbSet Math [Link] {<model>}

where <model> is Damped, UnDamped, or Linear. The Damped model applies a logarithmic
damping function to the truncation error if the error is greater than 1.0. The UnDamped model
does not modify the error. The Linear model applies a linear damping function to the
truncation error if the error is greater than 1.0. The Linear model matches that of
TSUPREM-4.

When the geometry of a simulation structure evolves, one cycle of the TRBDF time integration
requires the geometric coefficients at three incidents, that is, t = t 0, t 0 + Δt TR, t 0 + Δt . To
reduce the computational time to calculate the geometric coefficients, especially in three
dimensions, the geometric coefficients at t = t 0 + Δt TR can be set to the interpolated values by
assuming that the coefficients change linearly during Δt , which reduces the number of the box
method calls by one third:
pdbSet Math 3D [Link] 1

or:
math dimension=3 [Link]

Time-Step Control
This section discussed different time-step controls.

Time-Step Control for PDEs


Sentaurus Process provides automatic time-step control. You can modify some of the control
parameters.

844 Sentaurus Process User Guide


H-2013.03
14: Numerics
Time-Step Control

The first time step of the diffuse command uses the initial time given with the diffuse
command (see diffuse on page 875).

In an ideal situation, oxidation, mechanics, and diffusion time steps are equal to each other, and
the next time step is increased by the IncreaseRatio:
t n + 1 = I ratio t n (954)

where t n + 1 is the next diffusion time step, t n is the current time step, and I ratio is the
IncreaseRatio. The default for IncreaseRatio is 2.

Use the following command to change IncreaseRatio:


pdbSet Diffuse IncreaseRatio {<n>}

In some cases, the ideal time step can be solution limited, grid limited, or reduced:
■ Solution limited is the case when the time step is shortened to decrease the local truncation
error; in a log file, such steps are marked by (s).
■ Grid limited is the case when the time step is reduced because of a grid motion; in a log
file, such steps are marked by (g).
■ Reduced is the case when the time step is reduced to prevent overstepping of oxidation or
mechanics steps; in log files, such steps are marked by (r).

If convergence is not achieved, the next time step is reduced by the ReduceRatio:

t̃ n + 1 = R ratio t n + 1 (955)

The following command can be used to change ReduceRatio:


pdbSet Diffuse ReduceRatio {<n>}

For more information about the convergence during diffusion, use the command:
pdbSet Diffuse [Link] {1 | 0}

Typical output with information level=2 will look like:


Iter Potential Boron Arsenic Int Vac B4
1 4.345e-02 2.244e+01 2.512e+00 5.096e+03 1.835e+02 2.599e-06
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Mesh: bulk Mater: Silicon
Org. Val. Org. Updt. Org.-Updt Apld. Updt. Error Location
Boron 5.7e+18 1.8e+17 5.5e+18 5.5e+18 3.1e+02 ( 1.7e-5, 0.0, 0.0 )
Arsenic 7.2e+16 3.1e+14 7.2e+16 7.2e+16 4.3e+01 ( 1.7e-5, 0.0, 0.0 )
Int 2.8e+12 -1.3e+13 1.5e+13 1.5e+13 4.5e+04 ( 1.5e-5, 0.0, 0.0 )
Vac 3.5e+14 5.5e+13 2.9e+14 2.9e+14 1.5e+03 ( 1.7e-5, 0.0, 0.0 )

Sentaurus Process User Guide 845


H-2013.03
14: Numerics
Time-Step Control

Largest update: Int in Silicon @ ( 1.5e-5, 0.0, 0.0 )

where:
■ [Link] is the original value at the node.
■ [Link] is the original update at the node.
■ Org.-Updt is the Original Value – Original Update.
■ Apld. Updt. is the applied update.

Sentaurus Process provides three time-step control models (TSCMs):


■ A local model (LTS) based on the current time step and described above.
■ Two history-based models involving all previous time steps within the diffuse command:
BPTS and NGLTS.

BPTS uses the biggest previous time step from the history, such that Eq. 954 is modified as:
t n + 1 = I ratio t BPTS, n (956)

NGLTS uses the latest nongrid limited time step, and Eq. 954 is modified as:
t n + 1 = I ratio t NGLTS, n (957)

Use the following command to choose the TSCM:


pdbSet Diffuse TSCM <model>

where <model> can be LTS, BPTS, or NGLTS.

Error Control for PDEs


To control errors during transient simulation, Sentaurus Process uses the following to calculate
the error:
1⁄2
 N ui 2
e =  ----   -----------------------------------------------------------------------  
1
(958)
N sol i × TransRelErr + AbsErr 
 i=1 

where the sum is taken over all solution variables, and u i is the update for solution sol i .
TransRelErr and AbsErr are the transient relative error and absolute error for the solution
variables, respectively. They can be set using the commands:
pdbSet <mater> <solution> [Link] <n>
pdbSet <mater> <solution> [Link] <n>

846 Sentaurus Process User Guide


H-2013.03
14: Numerics
Time-Step Control

where <mater> is the material name.

To control errors during nonlinear Newton iterations, Sentaurus Process uses the following to
calculate the error:
1⁄2
 N ui 2
e =  ----   ---------------------------------------------------------  
1
(959)
N sol i × RelErr + AbsErr 
 i=1 

where RelErr is the relative error for the solution variables. It can be set using the command:
pdbSet <mater> <solution> [Link] <n>

NOTE If the error control parameter is not defined in the PDB for a material or
a solution, the long-hand command pdbSetDouble must be used.

Time-Step Control for Mechanics


Automatic time-step control for mechanics is activated only if the structure contains certain
nonlinear features that require Newton iterations, such as plasticity, viscoplasticity, and creep.
The size of the time step is adjusted based on satisfaction of certain convergence criteria.

Convergence Criteria

To check the convergence of Newton iterations for mechanics equations [2][3], the criteria are:
■ Force residual
■ Energy
■ Displacement

The force residual criterion checks the satisfaction of force equilibrium by comparing the
external internal
maximum norm of the residual ( R = F –F ) against a reference value:
i 1
Rn + 1 ∞ ≤ εR Rn + 1 (960)

The reference value of the force residual is computed automatically by taking a norm of the
element force residual vector at the first Newton iteration in a time step.

The energy criterion checks the satisfaction of the minimization of energy at equilibrium by
comparing the change in energy against a reference value:
i i 1
Δu n + 1 ⋅ R n + 1 ≤ ε E Δu n ⋅ R n + 1 (961)

Sentaurus Process User Guide 847


H-2013.03
14: Numerics
Time-Step Control

The reference value of energy is computed automatically by taking a dot product of the force
residual and the displacement increment ( Δu = vΔt ) vector at the first Newton iteration in a
time step.

The displacement criterion checks the satisfaction of the solution accuracy by comparing the
maximum norm of the displacement increment against a reference value:
i
Δu n + 1 ∞ ≤ ε u Δu n (962)

The reference value of displacement is computed automatically by taking a norm of the


displacement increment vector at the start of the first Newton iteration in a time step.

The force residual and the energy criteria are checked by default. Optionally, the energy
criterion may be replaced by the displacement criterion. Use the following parameters to
activate or deactivate any of the convergence criteria:
pdbSet Mechanics [Link] <n>
pdbSet Mechanics [Link] <n>
pdbSet Mechanics [Link] <n>

where <n> is either 0 (deactivate) or 1 (activate).

The choices for the force residual and the displacement reference value norms that can be set
using the following command are:
pdbSet Mechanics [Link] [RMS | ABS]

where RMS refers to the root mean square value (default) and ABS refers to the mean absolute
value.

The reference values for any of the convergence criteria can be changed by using the
commands:
pdbSet Mechanics [Link] <n>
pdbSet Mechanics [Link] <n>
pdbSet Mechanics [Link] <n>

where <n> is a suitable positive value.

By default, the tolerance for each of the convergence criteria is set to 0.001 and can be changed
by using the commands:
pdbSet Mechanics [Link] <n>
pdbSet Mechanics [Link] <n>
pdbSet Mechanics [Link] <n>

where <n> is a value between 0.0 and 1.0.

848 Sentaurus Process User Guide


H-2013.03
14: Numerics
Time-Step Control

Convergence criteria are checked in every iteration until either they are satisfied or the
maximum number of Newton iterations is reached. The default value for the maximum number
of Newton iteration is 8, and this can be changed using the command:
pdbSet Mechanics MaxIterations <n>

where <n> is a value greater than zero.

Time-Step Adjustment

The first time step for solving mechanics equations is set to the initial time given with the
solve command. The size of subsequent time steps is decided based on the convergence
history of the preceding time step. The time-step size is extended if the preceding time step
converges quickly. The maximum value is limited to the maximum time given with the solve
command. The time-step size is reduced if the preceding time step takes too many iterations to
converge; it remains unchanged if the preceding time step takes a moderate number of
iterations to converge.

The time-step size also is adjusted to keep the viscoplastic or creep strain error or value within
tolerance when using such material models. Use the following commands to change the default
settings for the viscoplastic or creep strain error or value:
pdbSet Mechanics [Link] <n>
pdbSet Mechanics [Link] <n>
pdbSet Mechanics [Link] <n>
pdbSet Mechanics [Link] <n>

where <n> is a value between 0.0 and 1.0 for both. By default, only the viscoplastic or creep
strain error criterion is used with a tolerance of 0.02.

Time-Step Cutback

An automatic time-step cutback procedure interrupts the Newton iteration loop and restarts the
time step with a smaller size when any of the following issues is encountered:
■ Convergence criteria are not satisfied within the maximum number of Newton iterations.
■ The solution converges very slowly over several iterations.
■ The solution diverges over several iterations.
■ Convergence criteria are satisfied, but viscoplasticity equations fail to converge.
■ Convergence criteria are satisfied, but the viscoplastic or creep strain error or value is
greater than the tolerance.

To check convergence details during solve steps, specify info=1 in the solve command.

Sentaurus Process User Guide 849


H-2013.03
14: Numerics
References

References
[1] R. E. Bank et al., “Transient Simulation of Silicon Devices and Circuits,” IEEE
Transactions on Electron Devices, vol. ED-32, no. 10, pp. 1992–2007, 1985.
[2] O. C. Zienkiewicz and R. L. Taylor, The Finite Element Method, Butterworth-
Heinemann: Oxford, 5th ed., 2000.
[3] K. J. Bathe and A. P. Cimento, “Some Practical Procedures for the Solution of Nonlinear
Finite Element Equations,” Computer Methods in Applied Mechanics and Engineering,
vol. 22, no. 1, pp. 59–85, 1980.

850 Sentaurus Process User Guide


H-2013.03
APPENDIX A Sentaurus Process Commands

This appendix describes the commands used in Sentaurus Process.

Example Layout of Commands


The commands are presented in the layout that follows. An example is included here to
familiarize users with the placement of information.

Function: The uses of this command are stated briefly.


Syntax: The syntax of the command is presented here, for example:
param1=<n>[<unit1>|<unit2>]
(param2=<n>[<unit3>|<unit4>] | param3=<c>)
<material>
[<field>]
[param4=<n>] [param5=<n>] [param6=<i>]
[param7= <list>] [param8 | param9]
[param10]
[param11=<c> & (param12=<n> | param13=<n>)]

Description: This section describes the syntax. In the syntax definition, brackets denote
optional parameters, angle brackets denote a specific type of input, and
parentheses denote grouping. The way in which to read this syntax is that
param1 is a required parameter that takes a number (that is, <n>) as its
value.

The unit <unit1> or <unit2> can be specified. Do not use a space between
the unit and its number.

NOTE: The angle brackets must be included in the unit specification.

In addition to param1, either param2 or param3 is required; param3 takes


a string for its value (<c>). On the command line, a material must be
specified. A field can be specified, but is not required. A field is typically a
solution but can be a data field such as a calculated quantity or a term. The
parameters param4 and param5 are optional, and param6 takes an integer
for its value (<i>). Parameter param7 takes a Tcl list as its argument and
must be enclosed in braces, and elements are separated with a space.

Sentaurus Process User Guide 851


H-2013.03
A: Sentaurus Process Commands
Example Layout of Commands

Description: The parameters param8 and param9 are Boolean; either can be specified
but not both. The parameter param10 is also a Boolean (if a Boolean is on
the command line, it denotes ‘true’; if it is preceded by ‘!’, its value is
‘false’). The parameters param11, param12, and param13 are optional but,
if param11 is specified, either param12 or param13 also must be specified.
Conversely, if either param12 or param13 is specified, param11 must also
be specified. The order of parameters is unimportant.
Options: The options of the command are listed.
Examples: This section illustrates the use of the command. The backslash (\) is a line
continuation character in Sentaurus Process, for example:
command param1=1.0<unit1> param2=1.0 !param10 param9 \
param3= "string for param3" \
param7= { element1 element2 element3 }

See: This section lists cross-references to other relevant commands or


documentation.

852 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
Common Parameters

Common Parameters
Function: Parameters common to all commands.
Syntax: <command> [info=<n>] [parameters]

Description: Nearly all commands in Sentaurus Process (with the exception of those
implemented as Tcl procedures as well as a few others) support two common
parameters:
• info sets the amount of information to be printed to the screen and the
log file. The default is 0, which is the minimum amount. Higher levels
give more details about the status of the simulation as well as model and
parameter selection information. Recommended values are 0, 1, or 2.
This parameter can be used with any other parameter combination for
nearly all commands that are not Tcl procedures.
• parameters prints all available parameters for this command.

NOTE Some parameters are only intended for internal use and as such are not
documented. In a future release, these parameters will not be shown as
output. These parameters should not be used with any other parameter
of the command.

Sentaurus Process User Guide 853


H-2013.03
A: Sentaurus Process Commands
alias

alias
Function: Sets and prints aliases.
Syntax: alias <c> [<c>]

Description: Interactive mode command used to view or set aliases.

In the case of two arguments, a new alias is set. If the number of arguments is
equal to one, aliases are printed. If the first argument is -list, a list of
allowed aliases is printed. Otherwise, only one alias corresponding to the
first argument is printed.
Examples: alias V Vacancy
Sets a new alias of Vacancy.

alias -list
Prints the list of allowed aliases.

alias Vac
Prints an alias of Vac.

854 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
ambient

ambient
Function: Creates new ambients for material growth reactions, such as oxidation or
silicidation, or creates a new epi growth mode.
Syntax: ambient
name=<c>
[react | inert | epi]
(list | print | clear | delete | add)

Description: Creates ambients. The ambient names can be used in the diffuse,
gas_flow, reaction, and temp_ramp commands. The default list of
ambients is given in Table 63 on page 605.
Options:

add Creates a new ambient.


clear Clears all known ambients (only useful for very special situations).
delete Deletes named ambient.
list Returns a Tcl list of all available ambients.
name Defines the ambient name. This name can be used in the diffuse,
gas_flow, temp_ramp, and reaction commands to identify this ambient.
print Prints all available ambients.
react, inert, epi

When creating a new ambient, these parameters set the ambient type:
• react is used to create an active ambient and can be used to define a
material growth reaction such as oxidation.
• inert ambients are used in gas_flow commands to create gas reactions
or to dilute active ambients.
• epi ambients are used to create new epi growth modes or models.
Examples: ambient name= MyO2 add react
Creates a new ambient for a new oxidation model.

ambient name= MyEpi add epi


Creates a new ambient for a new epi growth model or mode.

ambient list
Lists the known ambients.

Sentaurus Process User Guide 855


H-2013.03
A: Sentaurus Process Commands
ArrBreak

ArrBreak
Function: Computes one of two Arrhenius expressions depending on a ‘break’
temperature.
Syntax: ArrBreak <n> <n> <n> <n> <n>

Description: Creates two Arrhenius expressions and switches from the first one to the
second one at the given break temperature. The first argument is the
prefactor, and the second one is the activation energy [eV] of the first
Arrhenius expression. The third argument is the prefactor, and the fourth
argument is the activation energy [eV] of the second Arrhenius expression.
The final argument is the break temperature [ °C ].

The first Arrhenius expression is computed when the temperature is below


the break temperature, and the second Arrhenius expression is computed
when the temperature is above the break temperature.
Examples: ArrBreak 5.0 0.5 4 0.4 825
Creates two Arrhenius expressions 5.0* exp ( – 0.5 ⁄ kT ) and
4.0* exp ( – 0.4 ⁄ kT ) with a break temperature of 825°C .
5.0* exp ( – 0.5 ⁄ kT ) is computed when T < 825.0°C and
4.0* exp ( – 0.4 ⁄ kT ) is computed when T ≥ 825.0°C .

856 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
Arrhenius

Arrhenius
Function: Creates an Arrhenius expression.
Syntax: Arrhenius <n> <n>

Description: Creates Arrhenius expressions. The first argument is the prefactor and the
second one is the activation energy [eV].
Examples: Arrhenius 5.0 0.5
Creates an Arrhenius expression 5.0* exp ( – 0.5 ⁄ kT ) .

Sentaurus Process User Guide 857


H-2013.03
A: Sentaurus Process Commands
beam

beam
Function: Creates a beam for multiple-beam etching.
Syntax: beam
name=<c>
(incidence=<n> | direction= {<x> <y>})
factor=<n>
list

Description: Defines the direction and relative strength of etchant beams. The beam name
is referenced in the etch command. The angle of incidence of the beam can
be given using the incidence keyword or by a direction vector, which is
normalized automatically to unit length. The relative strength factor is
used to mix the strength of different beams. Etchant beams are assumed to be
collimated, that is, a slight angular spread of beam direction is not taken into
account.
Options:

direction Another way to define the beam incidence angle is by a direction vector
defined with direction. The direction vector given by users is normalized
to unit length internally.
factor If multiple beams are defined, the relative strength of each beam can be
defined through factor, which is a relative strength factor.
incidence Defines the angle of incidence of the beam. An angle of 0 is vertical. The
angle is measured counterclockwise, that is, a positive angle implies a beam
ray entering from the upper left towards the lower right. A negative angle
implies a beam ray entering from the upper right towards the lower left.
list Returns a Tcl list of known beams.
name Specifies the beam name to be referenced using the sources option in the
etch command.
Examples: beam name=source1 incidence=0 factor=1
beam name=source2 incidence=10 factor=0.5
beam name=source3 direction= {1 -0.1} factor=0.1
Defines a vertical beam called source1 and a beam called source2 at half
the strength of source1 at an angle of 10° (positive angle implies that the
beam travels from the upper left to the lower right). A third beam called
source3 at one-tenth the strength of source1 enters from the upper right
slightly towards the lower left.

858 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
bound

bound
Function: Extracts the boundary of a material or region, and returns the outline as a list
of coordinates.
Syntax: bound
[<material> | region=<c>]

Description: Extracts the boundary of a material or region, and returns the outline as a list
of coordinates. This command is used to plot the limits of the regions for
other processing. The return is a list of lists of coordinates of the boundary.
The outer lists are distinct pieces of the regions. Each outer list comprises a
complete circle around the piece. Each inner list contains coordinate pairs in
order around the regions. The coordinate pairs are written in xy order around
the material.

NOTE: This command is not available for 3D simulations.


Options:

<material> Either a material or a region must be specified. Specifying a material will


extract the boundary of all regions of the specified material. For information
about specifying materials, see Material Specification on page 50.
region Either a material or a region must be specified. Specifying a region will
extract the boundary of that region.
Examples: bound oxide
Returns the boundary of the oxide material.

bound region=Silicon_1
Returns the boundary of the region named Silicon_1.

Sentaurus Process User Guide 859


H-2013.03
A: Sentaurus Process Commands
Compatibility

Compatibility
Function: Applies parameters consistent with the defaults in a previous release.
Syntax: Compatibility <release>

Description: Changes parameters to the default values from a previous release. If used,
this command must be the first command in the command file so that all
subsequent commands that depend on the defaults take into account the
compatibility setting (see Compatibility with Previous Releases on page 52).
Options:

<release> Applies parameters consistent with the specified release. Aliases are
available for the release name so that it is not necessary to know the release
foundation letter. For example, 2011.09 can be used instead of F-2011.09.
Examples: Compatibility 2010.12
Applies parameters consistent with Version E-2010.12.

860 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
contact

contact
Function: Defines a contact for subsequent device simulation. Intended only for adding
contacts to structures created for device simulation.
Syntax: contact
[add] [list] [clear]
[depth=<n>]
[name=<c>]
[[Link]=<c>]
[print]
[sidewall]
[width=<n>]
[region=<c>]
[left] [right] [back] [front] [top] [bottom]
(
{box <material> [[Link]=<c>]
xlo=<n>[<m>|<cm>|<um>|<nm>]
xhi=<n>[<m>|<cm>|<um>|<nm>]
[ylo=<n>][<m>|<cm>|<um>|<nm>]
[yhi=<n>][<m>|<cm>|<um>|<nm>]
[zlo=<n>][<m>|<cm>|<um>|<nm>]
[zhi=<n>][<m>|<cm>|<um>|<nm>]} |
[[Link]]
{point
x=<n>[<m>|<cm>|<um>|<nm>]
[y=<n>][<m>|<cm>|<um>|<nm>]
[z=<n>][<m>|<cm>|<um>|<nm>]
[replace]}
)
[SearchRadius=<n>][<m>|<cm>|<um>|<nm>)

Description: Defines new contacts, deletes contacts, and prints contact information. The
contact command can be called multiple times with the same name if the
add parameter is specified. In this case, the contact will have multiple parts.
Contacts are written to TDR files in the struct command. They are not
otherwise used in Sentaurus Process.

NOTE: Contacts are only intended for structures written for device
simulation. They should be specified immediately before the final struct
command used to write a structure for device simulation.

NOTE: Contacts are not transformed during the transform command.

NOTE: If a TDR file, containing a boundary or mesh, is read into Sentaurus


Process (during the init command), contacts defined in these files are
added to the list of contacts.

Sentaurus Process User Guide 861


H-2013.03
A: Sentaurus Process Commands
contact

Options:

add If the contact command is called multiple times with the same name, it
will overwrite the previous definition by default. If add is used also, it will
instead add to the existing contact indicated by the name parameter or create
a new contact if it does not already exist.
[Link]

Specifies a second material for the contact. Only elements at the interface
between the two materials are allowed for the contact.
left, right, back, front, top, bottom

These optional parameters selectively switch on certain outer boundaries.


These outer boundaries are the simulation outer domain and not the bulk
nongas outer boundary. Nongas outer boundaries are treated like interfaces
and can be specified with [Link]=gas. By default, only top
and bottom are switched on, and the rest are switched off. If any of these
parameters are specified, internal interfaces are switched off. In addition, the
sidewall parameter is equivalent to specifying all of these parameters.
box, point Selects one of the supported contact types:
• A box-type contact consists of elements at the surface of one region or
material inside the box, defined for the contact. When choosing a box-
type contact, the mesh will be cut where the box intersects the chosen
region to give an accurate size for the contact. Occasionally, this cutting
can produce bad mesh elements, so for those cases, cutting can be
switched off with pdbSet Grid [Link] 0. Use the line
command to insert lines in the mesh if desired to retain contact size
accuracy.
• A point-type contact contains all the boundary elements of one region.
The region can be specified or the material and the x-, y-, and z-
coordinates of one point can be specified to select the region.
clear Clears the list of all contacts. If name is specified, removes only the specified
contact.
[Link] By default when a box contact is created, the mesh is cut at the contact
borders to ensure accurate contact dimensions. Specifying ![Link] will
switch off mesh cutting, providing better element quality at the contact
borders, but possibly sacrificing accuracy of the contact borders. The contact
will only include nodes of the existing mesh within the contact borders.
depth Depth of the contact in micrometers.
list Prints a list of currently defined contacts.

862 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
contact

<material> Specifies the material for the contact. Contacts in DF–ISE and TDR files are
always defined as a set of surface elements. Only elements at the surface of
volume regions of the specified material are selected. For information about
specifying materials, see Material Specification on page 50.
name Name of the contact.
[Link] Used with the name parameter to change the name of a contact from that
specified by name to that specified by [Link].
print Prints the contact information.
region Name of the volume region to be used for the contact. Only surface elements
of that region will be selected for the contact.
replace If specified, in the DF–ISE or TDR file, the material of the region of a
contact is replaced by gas for point contacts.
NOTE: Sometimes, regions of material gas are not saved. The material of
the region in the subsequent simulation is not affected.
SearchRadius If contacts have been read from a DF–ISE or TDR file, they are added to the
current list of contacts defined in Sentaurus Process. When saving the
current structure to a DF–ISE or TDR file, surface elements from the current
simulation mesh are selected for the contacts if all their points are in the
vicinity of the original contact elements. The default unit is μm .
sidewall Allows only surface elements on the external boundary of the simulation
domain (left, right, front, back) to be selected for a contact. By default, only
surface elements at material interfaces and surface elements at the top and
bottom of the simulation domain are selected for contacts. The default is
false.
width Width of the contact in micrometers.
x, y, z Define the coordinates of a point for the point contact. If some coordinates of
the point are omitted, the region is selected using the specified coordinates
only. The default unit is μm .
xlo, xhi, ylo, yhi, zlo, zhi

Define the low and high values in each of the coordinate directions for the
box contact. If some coordinates are omitted, the current extensions of the
simulation domain are used. The default unit is μm .

Sentaurus Process User Guide 863


H-2013.03
A: Sentaurus Process Commands
contact

Examples: contact list


Lists all available contacts.

contact name=gate x=-0.05 y=0.0 replace point


Defines a contact named gate. It will consist of boundary elements of the
region containing the point (-0.05,0.0). The region material will be
replaced by gas.

contact box xlo=-0.01 ylo=-0.46 xhi=0.1 yhi=-0.16 name=source Aluminum


Defines a box-type contact containing the surface elements of an aluminum
region inside the specified box.

contact bottom name=substrate


Defines the substrate contact at the bottom of the simulation domain.
Switches off interior interfaces.

contact left front name=lfcontact xlo=0 ylo=0 zlo=0 xhi=1 yhi=1 zhi=1
Defines a contact named lfcontact on the left side (minimum Y-
coordinate) and the front (maximum Z-coordinate) of the simulation domain
for that part of the simulation domain inside the box (0,0,0) -> (1,1,1) and
not on any interior interfaces.
See: integrate on page 945, struct on page 1086

864 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
contour

contour
Function: Plots contours in the selected variable on a 2D plot.
Syntax: contour
[name=<c>] [value=<n>]
[x=<n>][<m>|<cm>|<um>|<nm>]
[y=<n>][<m>|<cm>|<um>|<nm>]
[z=<n>][<m>|<cm>|<um>|<nm>]
[color=<c>] [print]

Description: Draws a contour in the selected variable or a named data field at the value
specified. The value must be specified in the range of the computed variable.
For example, if plotting log boron, the value should be in the range 10 to 20
and not 1e10 to 1e20. The contour command assumes that a plot.2d
command has been specified, and that the screen is configured for plotting a
2D graphic. If this has not been set, the routine most likely will produce
useless results.
Options:

color Line color for the contour. It can be any color supported by X11 hardware
and named in the color database.
name Name of data field. This allows plots without using the select command.
The default is Z_Plot_Var.
print Indicates that the contour values should be printed, not plotted. The output is
compatible with xgraph. In addition, a set of Tcl lists is returned.
value This floating parameter expresses the value at which the contour line should
be plotted. If boron has been selected, a value of 1.0e16 would produce a line
of constant boron concentration at that concentration.
x, y, z Specify the plane on which contouring is performed. In two dimensions, they
need not be specified. In three dimensions, two parameters must be specified
to indicate the plane of calculation of the contour. The default unit is μm .
Examples: contour val=1e10
10
Draws a line at an isoconcentration of 10 .
See: Compatibility on page 860, plot.2d on page 1013, slice on page 1073

Sentaurus Process User Guide 865


H-2013.03
A: Sentaurus Process Commands
CutLine2D

CutLine2D
Function: Computes the slice angle when given a cut in wafer coordinates.
Syntax: CutLine2D <x1> <y1> <x2> <y2>

Description: Given a cut in wafer coordinates defined by the endpoints (x1,y1) and
(x2,y2), this command computes the slice angle.
Options:

<x1> <y1> <x2> <y2>

Endpoints of simulation cutline in wafer coordinates.


Examples: init [Link]= [CutLine2D 0 0 1.0 0]
Sets the cutline for the simulation from (0,0) to (1,0).
See: Understanding Coordinate Systems on page 64

866 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
define

define
Function: Defines a Tcl variable.
Syntax: define <name> <value>

Description: This is equivalent to the Tcl command set, except that variables defined
with set are not saved or restored in TDR files. Variables defined using the
define command are saved or restored.
Options:

<name> Any user-defined parameter name.


<value> Any number or string value.
Examples: define LG 0.02
Defines the Tcl variable LG, which is stored in and loaded from a TDR file. It
can be used in any Tcl expression.
See: Tcl documentation for description of set syntax. The define and fset
commands are equivalent.

Sentaurus Process User Guide 867


H-2013.03
A: Sentaurus Process Commands
defineproc

defineproc
Function: Defines a Tcl procedure.
Syntax: defineproc name { arguments of procedure } {
body of procedure
}

Description: This is equivalent to the Tcl command proc, except that procedures defined
with proc are not saved or restored in TDR files. Procedures defined using
defineproc are saved or restored.
Examples:

defineproc relerr { newVal RefVal name my_err } {


upvar my_err fl
set denom [ expr abs($newVal)+abs($RefVal)+1e-20 ]
set deviation [expr 100*abs(($RefVal - $newVal)/$denom)]
if { $deviation > 0.5 } {
LogFile IL0 "Compare: $name = $newVal, ref = $RefVal, relerr = \
$deviation
\n --> failed\n"
set fl [ expr $fl+1 ]
} else {
LogFile IL0 "Compare: $name = $newVal, ref = $RefVal, relerr = \
$deviation ok\n"
}
}

Defines the Tcl procedure relerr, which is stored in and loaded from a
TDR file.
See: Tcl documentation for description of proc syntax. The defineproc and
fproc commands are equivalent.

868 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
DeleteRefinementboxes

DeleteRefinementboxes
Function: Deletes a set of refinement boxes based on a name pattern.
Syntax: DeleteRefinementboxes pattern= "<pattern>"

Description: Finds all refinement boxes with names that match the defined pattern and
deletes them. The pattern is expanded according to standard Tcl rules.
Options:

pattern Pattern to use.


Examples: DeleteRefinementboxes pattern= "root*"
Deletes all refinement boxes that have names like root_1, root_2 and
root_3, and so on.

Sentaurus Process User Guide 869


H-2013.03
A: Sentaurus Process Commands
deposit

deposit
Function: Deposits a new layer.
Syntax: deposit
{ [<material>] [isotropic | anisotropic | fill | fourier | crystal]
[thickness=<n>][<m>|<cm>|<um>|<nm>]
[coord=<n>][<m>|<cm>|<um>|<nm>] }
[material=<c>]
[[Link]= <material list>]
[type=isotropic | anisotropic | fill | polygon | directional | fourier]
[rate=<n>]
[1D]
[time=<n>][<hr>|<min>|<s>]
[direction= <numeric list>]
[coord=<n>][<m>|<cm>|<um>|<nm>]
[direction= <numeric list>]
[polygon= <numeric list>]
[coeffs= {<A0> <A1> <A2> ... <An>}]
[[Link]= {
<material1>= {<A0> <A1> <A2> ... <An>}
<material2>= {<A0> <A1> <A2> ... <An>}
...
}
[[Link]= {"<100>"=<n> "<110>"=<n> "<111>"=<n>}]
[[Link]]
[[Link]=<c>]
[temperature=<n>][<C>|<K>]
[remesh] [Adaptive] [[Link]]
[repair]
[sde=<c>] [steps=<n>] [mask=<c>]
{[doping= <name list>]}
{[<field name>] | [species=<c>]
[concentration=<n>][<m-3>|<cm-3>|<um-3>|<nm-3>]}
[[Link]= <parameter list>]
[sources= {<beam1> <beam2> ... <beamn>}]
[shadowing] [[Link]] [[Link]]

Description: Simulates a deposition step.


Options:

1D Usually, a polygon deposit automatically increases the dimension to 2D


before performing the operation; setting 1D prevents this behavior.
Adaptive Specifies with or without adaptive meshing for this deposition. Parameters
for adaptive meshing are described in Adaptive Refinement on page 679.
The default is the return value of pdbGet Grid Adaptive.
coeffs List of single-material coefficients A 0, A 1, …, A n used in Fourier deposition.

870 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
deposit

[Link] List of deposition rates defined per crystallographic direction in the format:
{"<100>"=<etch rate> "<110>"=<etch rate> "<111>"=<etch rate>}

crystal Specify crystal deposition.


coord The x-coordinate for type=fill. The default unit is μm .
direction Specifies the direction for directional deposition as x- and y-coordinates of
the deposition vector. The x-coordinate must be positive. Positive-y indicates
a right-pointing deposition beam, and negative-y indicates a left-pointing
beam.
<field name>, species, concentration

These parameters allow a doped layer to be deposited. The species


parameter specifies the name of the data field to be incorporated (you can
add a new user species this way). Instead of specifying species, you can
specify a field name by name (for example, boron, arsenic, phosphorus, and
10 –3
indium). The default value and unit for concentration is 10 cm .
doping String array of names of doping profiles that have been previously defined
with the doping command.
fields List of fields to be introduced in the deposited layer. The data values for
these fields are specified with the values parameter. For stresses, use the
field names StressELXX, StressELXY, StressELYY, StressELZZ,
StressELXZ, StressELYZ. It is not necessary to specify all stress
components. Those that are not specified are assumed to be zero initially and
are updated during the stress rebalance at the end of deposition. This
parameter is deprecated.
[Link] Takes a list of parameters where the parameter name is the name of the field
to be introduced in the deposited layer, and the value is the initial value. A
list of fields of any name can be initialized with this parameter and, for
solution variables or stress components, units are accepted. For example:
[Link]= { boron=1e18<cm-3> }

[Link] By default, the material is deposited on the surface exposed to the upper gas
region. If the structure has buried gas bubbles, they are untouched. Use
[Link] to deposit inside those gas bubbles.
[Link]

By default, the simplest algorithm is chosen to perform the etching.


However, sometimes the algorithm chosen will not give correct results if the
topology of the structure is complicated. Specifying this parameter switches
on the general level-set time-stepping algorithm which correctly handles
these structures.

Sentaurus Process User Guide 871


H-2013.03
A: Sentaurus Process Commands
deposit

fourier Specify Fourier deposition type. When using Fourier deposition, the
coefficients must be specified using coeffs or [Link] parameters.
isotropic, anisotropic, fill

Specify the type of deposition:


• isotropic implies the same rate in all directions.
• anisotropic defaults to vertically downward deposition (directional
deposition cannot be performed with quick commands).
• fill is used to fill the structure with the specified material up to the
specified coordinate.
These deposition types must be used with thickness or coord, not with
rate and time.
mask Name of a mask to be used for the deposition.
NOTE: The material is deposited outside of the mask. If deposition inside
the mask is required, the parameter negative must be specified in the mask
command.
[Link] List of multimaterial coefficients A 0, A 1, …, A n used in Fourier deposition
with a different set of coefficients defined for each material.
<material> Allows the specification of the deposited material. For information about
specifying materials, see Material Specification on page 50.
material Defines the material to be deposited. Overrides the <material>
specification.
polygon A list of x- and y-coordinates can be defined for the deposition. This is used
only for 2D deposition with type=polygon. The list of coordinates must
define a single polygon with no self-intersections. The first and last points
are connected implicitly to close the polygon. The specified material is
deposited inside the polygon. The default unit for the coordinates is μm .
rate Deposition rate. The default unit is μm /minute.
[Link] Name of the region created by the deposit command. The name must not
contain an underscore (_) or a period (.) because these characters have
special meaning.
remesh Performs a remeshing after the deposition.
repair In MGOALS3D mode, small regions are removed automatically by default.
Sometimes, this can cause small gas bubbles in the structure or other
problems. Use !repair to switch off the small region removal.

872 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
deposit

sde String to specify parameters and to select algorithms for 3D Sentaurus


Structure Editor. By default, the parameters rate, time, thickness,
type, and so on are translated into appropriate Sentaurus Structure Editor
commands. If an algorithm is specified in the sde parameter, it overwrites
the algorithm used by default for isotropic or anisotropic deposition., for
example:
sde= {"algorithm" "lopx"}
sde= {"algorithm" "lopx" "radius" 0.07}

[Link]

Specifies that deposition will occur only on selected materials. In 2D,


MGOALS is used and multiple materials can be selected. In 3D, the
Sentaurus Structure Editor interface is called and only one material can be
selected. In addition, in either case, only one material can be deposited.
shadowing In 2D, switches on the inclusion of shadowing effects if
[Link] is specified or for Fourier deposition. The
visibility of each surface area to each beam is calculated at every level-set
time step. In MGOALS3D, this parameter enables shadowing effects on both
directional and anisotropic deposition. The interface to Sentaurus Structure
Editor ignores this parameter.
[Link]

Use instead of shadowing to allow the 0th-order Fourier coefficient to


deposit in areas where the beam is shadowed.
sources Defines the source beams for level-set deposition.
steps Used to subdivide a deposition into more than one step. If necessary, stress
relaxation is calculated at the end of each step. The default value is 1.
[Link]

Specifies strained deposition.


temperature Deposition temperature used for stress relaxation only. The default value and
unit is 26.85°C .
thickness Thickness of the deposited layers. The default unit is μm .
time Deposition time. It must be specified if the rate parameter is used. The
default unit is minute.

Sentaurus Process User Guide 873


H-2013.03
A: Sentaurus Process Commands
deposit

type Explicitly specifies the type of deposition to be performed:


• type=isotropic performs isotropic deposition, which must be used
with the rate and time arguments.
• type=anisotropic performs deposition in the vertical direction only,
which must be used with the rate and time arguments.
• type=fill performs a fill of a specified material up to the coordinate
specified with the coord argument.
• type=polygon performs a polygonal deposition (in 2D), which requires
the polygon argument.
• type=directional performs anisotropic etching using a specified
direction.
• type=fourier performs Fourier deposition, which requires the
coefficients to be specified with either coeffs or [Link].
• type=crystal performs crystallographic deposition, which requires
[Link] also to be specified.
values Data values of the fields introduced in the deposited layer by the fields
parameter. This parameter is deprecated.
Examples: deposit thickness=0.2 oxide isotropic
Isotropic deposition of a 0.2 μm oxide layer.

deposit rate= {0.2} material= {oxide} type=isotropic time=1


Same as above; thickness is defined by rate and time.

deposit thickness=0.1 nitride \


[Link]= { StressELXX=1e9<Pa> StressELYY=1e9<Pa> \
StressELZZ=1e9<Pa> }
In this example, an intrinsic isotropic stress of 109 Pa is added to the
deposited nitride layer before the post-deposit mechanics rebalancing step.
See: doping on page 883, mask on page 977, mgoals on page 992

874 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
diffuse

diffuse
Function: Simulates thermal annealing, densification, and any material growth process
during annealing – oxidation, silicidation, and epitaxy.
Syntax: diffuse
{[Link]=<c>} |
{time=<n>[<hr>|<min>|<s>] temperature=<n>[<C>|<K>] | }
[ramprate=<n>][<C/s>|<K/s>|<C/min>|<K/min>]
[[Link]=<n>][<C>|<K>]
[(<ambient> by default one of O2 | H2O | N2O | N2 | Epi | LTE |
H2 | HCl)]
[flow<ambient>=<n>][<l/min>]
[flows= {
[<ambient1>=<n>][<l/min>]
[<ambient2>=<n>][<l/min>]
...}]
[[Link]=<c>]
[p<ambient>=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[[Link]= {
[<ambient1>=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[<ambient2>=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
...}]
[pressure=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[ISSG]
[[Link]=<i>]
[[Link]= <parameter list>]
[[Link]= <parameter list>]
[[Link]=<i>]
[[Link]= {[<dopant1=<n>[<ohm-cm>]] [dopant2=<n>[<ohm-cm>]] ...}]
[[Link]=<n>][<m>|<cm>|<um>|<nm>]
[[Link]= {
[<interface_mat1>= <numeric list>]
[<interface_mat2>= <numeric list>]
}]
[sources= {<beam1> <beam2> ... <beamn>}]
[[Link]=<c>]
[[Link]= {"<100>"=<n> "<110>"=<n> "<111>"=<n>}]
[coeffs= {<A0> <A1> <A2> ... <An>}]
[[Link]= {
<material1>= {<A0> <A1> <A2> ... <An>}
<material2>= {<A0> <A1> <A2> ... <An>}
...
<materialn>= {<A0> <A1> <A2> ... <An>} }]
[repair]
[[Link]= <string list>]
[[Link]= [<regionName>=<n> | <material>=<n>]]

Sentaurus Process User Guide 875


H-2013.03
A: Sentaurus Process Commands
diffuse

Syntax (continued)

[isolve]
[init=<n>][<hr>|<min>|<s>]
[maxstep=<n>][<hr>|<min>|<s>]
[delT=<n>][<C>|<K>]
[delNT=<n>][<C>|<K>]
[delTox=<n>][<C>|<K>]
[minT=<n>][<C>|<K>]
[movie=<c>]
[[Link]]
[laser]
[[Link]=<c>]
[([Link]) | ([Link]) | ([Link])]
[kmc] [[Link]] [lkmc] [Adaptive]
[eqnInfo]
[reload] [reloadHeat] [reloadReact]

Description: Performs annealing (either continuum or KMC) or, if the diffusion time is set
to 0, this command activates dopants and performs a stress update. The
command options set diffusion conditions as well as time-stepping options.
Diffusion model and parameter setting are performed with the pdbSet
command. The basic settings are pdbSet <material> Dopant
DiffModel <model>, where <model> can be any of Constant, Fermi,
Pair, React, ChargedFermi, ChargedPair, or ChargedReact.
Temperature ramps are specified by first creating a list of ramping steps
using the temp_ramp command. Then, the ramp is applied with the
parameter [Link]. All temp_ramp command parameters can be
specified with the diffuse command.

To specify an oxidizing ambient, there are numerous methods:


• Use the shorthand <ambient> flags.
• Use the flow<ambient> or p<ambient> parameters.
• Use the gas_flow command and set the parameter [Link] to the
name set in the gas_flow command.
• Use gas_flow inside the temp_ramp command, and use [Link] to
set the name of the temp_ramp to be used.

The list of ambients is given in Table 63 on page 605 and includes O2, H2O,
HCl, N2, H2, and N2O, which can be used in oxidation specification, as well
as two epi ambients Epi and LTE for specifying epitaxial growth. For more
information on Epi and LTE, see Epitaxy on page 270.

876 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
diffuse

Options:

Adaptive Specifies with or without adaptive meshing for this diffusion step.
Parameters for adaptive meshing are described in Adaptive Meshing during
Diffusion on page 687. The default is the return value of pdbGet Grid
Adaptive.
<ambient> Shorthand specification to set the ambient partial pressure the same as the
total pressure. If an ambient is specified this way, it must be the only ambient
set in the diffuse command. In addition to the oxidation-type ambients
(O2, H2O, N2O, ISSG), the epitaxial ambients Epi and LTE are available.
[Link]

Specifies interface-specific anisotropic epi growth rate factors. This


parameter specifies a piecewise linear growth rate factor versus angle for
each growing interface (the factors must be between 0 and 1). For example,
to create a 30° silicon facet and a 40° polysilicon facet, specify:
[Link]= {
EpiOnSilicon_Gas= { 0.0 1.0 25.0 1.0 30 0.0 }
EpiOnPolySilicon_Gas= { 0.0 1.0 35.0 1.0 40 0.0 } }

[Link] List of species for which the auto-doping model will be switched on during
epitaxial growth.
coeffs List of single-material coefficients A 0, A 1, …, A n used in Fourier deposition
when [Link]=1 and [Link]=fourier.
[Link] List of etching rates defined per crystallographic direction in the format:
{"<100>"=<dep rate> "<110>"=<dep rate> "<111>"=<dep
rate>} used for crystallographic deposition when [Link]=1 and
[Link]=crystal.
delNT Defines the maximum temperature step during a temperature ramp down if
specified. The default unit is degree Celsius. It also can be defined globally
with the command: pdbSet Diffuse delNT {<n>}
delT Defines the maximum temperature step during a temperature ramp-up if
specified. The default unit is degree Celsius. It also can be defined globally
with the command: pdbSet Diffuse delT {<n>}
delTox Defines the maximum temperature step during a temperature ramp for
oxidation/growth if specified. The default unit is degree Celsius. It also can
be defined globally with the command: pdbSet Diffuse delTox {<n>}
[Link]

The density increase. The increase value can be specified per region
<regionName>=<n> or per material <material>=<n>.

Sentaurus Process User Guide 877


H-2013.03
A: Sentaurus Process Commands
diffuse

[Link] When [Link]=1, epitaxy is solved as a series of alternating deposit and


diffuse steps. This parameter specifies the deposition type, and allowed
values are:
• isotropic (default).
• fourier (in which case, either coeffs or [Link] must be
specified).
• crystal (in which case, [Link] must be specified).
[Link] Deprecated in favor of [Link]. This is a list of the data fields to be
incorporated into the epitaxial layer.
[Link] Takes a list of parameters where the parameter name is the name of the
species to be initialized and the value is the initial value. A list of fields of
any name can be initialized with this parameter and, for solution variables,
units are accepted. For example:
[Link]= { boron=1e18<cm-3> GSize=1<nm> myfield=1 }

[Link]

Takes a list of parameters where the parameter name is the name of the
species to be initialized and the value is the final value. A list of fields of any
name can be initialized with this parameter and, for solution variables, units
are accepted. For example:
[Link]= { boron=1e18<cm-3> GSize=1<nm> myfield=1 }

[Link] Number of layers of mesh lines required during epitaxial growth (for both
[Link]=0 and [Link]=1). The default is –1, which indicates that
10 layers should be used if [Link]=1, and 40 layers should be used if
[Link]=0. However, if the global parameter given by:

pdbSet Silicon Grid [Link] <n>

is set to a positive number, [Link] is ignored (whether set or not), and


[Link] is used to determine the distance between mesh lines.
For [Link]=1, the number of layers is adjusted if the deposited layer
thickness is less than the parameter Grid MinEpiDepositThickness in
SDE mode or Grid MinEpiDepositThicknessMGoals3D in
MGOALS3D mode.
[Link] The two methods described above can be chosen using this parameter:
• [Link]=0 (default) applies a moving-boundary algorithm similar to
oxidation.
• [Link]=1 uses alternating doped deposition and inert annealing
steps.
In 3D, [Link]=0 is not as stable or robust as [Link]=1, so
[Link]=1 is recommended.

878 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
diffuse

[Link] List of parameters with dopant name and resistivity to calculate the
background dopant concentration. If more than one dopant name appears in
the list, the doping concentration is calculated individually for each dopant
by ignoring the other ones.
[Link] Sets the epitaxial layer thickness to be deposited. The default unit is μm .
eqnInfo Allows equation updates to be printed to the log file during the Newton
iteration.
flow<ambient>, flows

List of gas flows in the reaction chamber. The gas flows are used to
computed the partial pressures of the active ambients (those causing material
growth). Flows can be specified using either a parameter name composed of
flow + <ambient> (for example, flowO2 and flowHCl where O2 and HCl
are ambient names) or the flows parameter that takes a list of parameters
with names of the ambients, for example:
flows= { O2 = 1.0<l/min> HCl = 1.0<l/min> }

The list of default ambients is given in Table 63 on page 605, but this list can
be extended by using the ambient command. When a gas flow is specified
as a combination of flows (and not when using partial pressures), a complete
reaction of the ambients is assumed to occur, for example, O2 + 2H2 ->
2H2O. Besides gas reactions, the addition of inert gases also changes the
partial pressure of the material growing ambients. For example, if the flows
of only N2 and O2 are specified and are equal, then the partial pressure of O2
will be <total pressure>/2.0 where <total pressure> is given by the
pressure parameter (see below).

NOTE: Flows and partial pressures must not be specified in the same
gas_flow together.
[Link] Specifies a [Link] to be used for this diffusion step. (Do not be use with
other gas_flow command parameters or with the temp_ramp command.)
init First time step. The default is 0.0001 s, which is sometimes inappropriate for
defect simulations, particularly in cases of damage. The default unit is
minutes.
isolve Switches off initial solve for models that need to have an equation solved to
set the initial conditions. In these cases, it is possible to set an initial
condition and switch off the default initialization.
ISSG Switches on in situ steam-generated (ISSG) oxidation.
kmc Allows the diffuse command to use Sentaurus Process KMC.

Sentaurus Process User Guide 879


H-2013.03
A: Sentaurus Process Commands
diffuse

[Link] Switches on the stress effect for Sentaurus Process KMC.


laser Switches on laser annealing.
lkmc Invokes the lattice kinetic Monte Carlo (LKMC) model during epitaxial
growth without the need to use a SetAtomistic simulation. The generation
of the grown epitaxial surface is performed by atomistic LKMC in a way that
is transparent to users. Use this parameter for standard continuum
simulations with epitaxial LKMC growth.
[Link] List of multimaterial coefficients A 0, A 1, …, A n used in Fourier deposition
when [Link]=1 and [Link]=fourier.
maxstep Maximum time step. The default unit is minute.
[Link] Allows you to use the MGOALS library to deposit a native oxide layer that
helps in the case of complex structures with several triple points. The default
is true for 1D oxidation and 2D silicidation cases.
minT Minimum annealing temperature. If the diffusion temperature falls below
this value, the diffusion solver is switched off. If it occurs during a ramp, the
time-stepping is altered such that diffusion switches on or off exactly at this
temperature. The default value and unit is 450°C .
movie Allows you to specify actions that occur during the anneal step. For every
time step of the diffusion, the character string value of the movie parameter
is executed.
p<ambient>, [Link]

List of the partial pressures of active ambients. Partial pressure specifications


must not be used with flow, flow<ambient>, or pressure specifications.
Specify partial pressures using either a parameter name composed of p +
<ambient> (for example, pO2 and pN2O where O2 and N2O are active
ambient names) or the parameter [Link] that takes a list of
parameters with names of the ambients, for example:
[Link]= { O2 = 1.0<atm> N2O= 1.0<atm> }

The list of default ambients is given in Table 63 on page 605, but this list can
be extended by using the ambient command. These partial pressures are
assumed to contribute to the oxidation or user-defined reaction processes. No
reaction between the species is assumed. The default unit is atm.

NOTE: Only the partial pressures of the active ambients are used directly in
the oxidation reaction equations, so setting the partial pressure of inactive (in
the sense that they cause the material growth reaction) ambients such as N2
or HCl has no effect.

880 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
diffuse

pressure The (total) pressure of the ambient gas. The default value and unit is 1.0 atm.
This setting takes effect only if flows or flow<ambient> is defined
explicitly. If [Link] is specified, the pressure is set in the corresponding
gas_flow command.
ramprate Temperature change during anneal. The default value and unit is 0.0°C/s .
reload, reloadHeat, reloadReact

Allows diffusion, laser annealing, or reaction equation to be parsed at each


time step.
repair In MGOALS3D mode, small regions are removed automatically by default.
Sometimes, this can cause small gas bubbles in the structure or other
problems. Use !repair to switch off the removal of small regions.
sources Defines deposition sources used in Fourier deposition when [Link]=1
and [Link]=fourier are specified.
[Link] Allows the use of the native library to deposit a native oxide layer. The
default is true for 3D oxidation and silicidation cases.
[Link] This Boolean parameter is used to switch off relaxation of stresses during
diffusion with an inert ambient. The default is true for two dimensions and
false for three dimensions.
[Link] Final temperature for a temperature ram-up or ramp-down. It is used if the
ramp rate is not given. The ramp time is calculated automatically.
[Link] Name of a temperature ramp created with the temp_ramp command.
temperature Annealing temperature. The default unit is degree Celsius.
time Annealing time. The default unit is minute.
[Link] Allows you to use the TS4 library to deposit a native oxide layer. The default
is true for 2D oxidation cases.
[Link]

Stores the thermal profile created during laser annealing. The format of the
file is two columns: time (in seconds) and temperature (in degree Celsius).
This file can be used to create a temp_ramp to allow subsequent simulations
to use the computed temperature profile without the need to simulate laser
annealing again.

Sentaurus Process User Guide 881


H-2013.03
A: Sentaurus Process Commands
diffuse

Examples: diffuse time=30<s> temp=900


A simple low temperature 900°C anneal for 30 s.

diffuse time=90 temperature=1000 H2O


An oxidation step for a thick isolation oxide.

diffuse [Link] = spike


Performs a diffusion step using the temperature ramp named spike.
See: gas_flow on page 901, term on page 1099

882 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
doping

doping
Function: Defines a named piecewise linear doping profile that can be used with the
deposit command.
Syntax: doping
name=<c> field=<c>
values= <numeric list>
depths= <numeric list>
[location=vertex | element] [list] [clear] [[Link]]

Description: Allows a doping profile specification that can be used inside the deposit
command to add doping and other fields to the newly deposited layer (on
either vertices or elements).
Options:

clear Clears all doping specifications.


depths A Sentaurus Process–style list of the depths at which the values are applied.
field Name of the field; it can be the name of the dopant. For stresses, use the field
names:
• StressELXX
• StressELXY
• StressELYY
• StressELZZ
• StressELXZ
• StressELYZ
It is not necessary to specify all stress components. Those that are not
specified are assumed to be zero initially and are updated during the stress
rebalance at the end of deposition.
list List the names of all doping specifications.
location Location where the field is to be applied.
The options are vertex (default) or element.
[Link] Specifies a piecewise logarithmic doping profile.
name Name of the profile to be used in the deposit command.
values A Sentaurus Process–style list of the values of the field.

Sentaurus Process User Guide 883


H-2013.03
A: Sentaurus Process Commands
doping

Examples: doping name=init_boron field=Boron values= {1e10 1e20} depths= {0 0.1}


Creates a doping profile definition with the name init_boron and consists
10
of a boron profile linearly increasing from 1 ×10 at the starting surface to
20
1 ×10 at 0.1 μm and beyond in the deposited layer. This doping profile
definition can be used with the deposit command to create the specified
profile.

doping name= film_stress_xx field = StressELXX values= 1e9


doping name= film_stress_yy field = StressELYY values= 1e9
doping name= film_stress_zz field = StressELZZ values= 1e9
In this example, an intrinsic isotropic stress of 109 Pa is added to the
deposited layer before the post-deposit mechanics rebalancing step.
See: deposit on page 870

884 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
element

element
Function: Extracts the grid of a material and returns a list of coordinates.
Syntax: element
<material> [region]

Description: Extracts the grid for a specified material and returns the grid as a list of
coordinates. This can be used to plot the grid. The return is a list of
coordinates that defines the grid. Each of the outer lists makes up a
continuous line through the grid. Each inner list contains coordinate pairs in
order for that line.

NOTE: This command is not available for 3D simulations.


Options:

<material> A material must be specified. For information about specifying materials, see
Material Specification on page 50.
region Option to limit output to only one region.
Examples: element oxide
Returns the grid of the oxide material.

Sentaurus Process User Guide 885


H-2013.03
A: Sentaurus Process Commands
Enu2G

Enu2G
Function: Computes the shear modulus from Young’s modulus and the Poisson ratio.
Syntax: Enu2G <n> <n>

Description: Computes the shear modulus from Young’s modulus (the first value) and the
Poisson ratio (the second value).
The same units are assumed for all moduli.
Examples: Enu2G 1.620e12 0.28
Computes the shear modulus from Young’s modulus (1.620e12 dyn/cm2)
and the Poisson ratio (0.28).

886 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
Enu2K

Enu2K
Function: Computes the bulk modulus from Young’s modulus and the Poisson ratio.
Syntax: Enu2K <n> <n>

Description: Computes the bulk modulus from Young’s modulus (the first value) and the
Poisson ratio (the second value).
The same units are assumed for all moduli.
Examples: Enu2K 1.620e12 0.28
Computes the bulk modulus from Young’s modulus (1.620e12 dyn/cm2) and
the Poisson ratio (0.28).

Sentaurus Process User Guide 887


H-2013.03
A: Sentaurus Process Commands
equation

equation
Function: Allows test parsing and resolution of a sample expression.
Syntax: equation [eqn=<c>] [nodal]

Description: Allows testing of an equation string. It is parsed, broken into pieces, and
derivatives are taken and printed. It is useful for debugging problems with
the resolver and parsing, as equation strings can be tried before being run.
Options:

eqn String to be checked.


nodal Returns the nodal part of the string given with the eqn parameter.
Examples: equation eqn= "exp(Potential*$Vti)"
Parses and resolves the string "exp(Potential*$Vti)".
See: solution on page 1076

888 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
etch

etch
Function: Removes part or all of an exposed layer.
Syntax: etch
[time=<n>][<hr>|<min>|<s>]
[etchstop= {<mat1> <mat2> ...} [[Link]=<n>]]
[mask=<c>]
[temperature=<n>][<C>|<K>]
[<material>]
[isotropic | anisotropic | cmp | trapezoidal]
[thickness=<n>][<m>|<cm>|<um>|<nm>]
[coord=<n>][<m>|<cm>|<um>|<nm>]
[material= <string list>]
[type=isotropic | anisotropic | cmp | directional | polygon |
fourier | crystal | trapezoidal | [Link]]
[rate= <numeric list>]
[[Link]= {"<100>"=<n> "<110>"=<n> "<111>"=<n>}]
[direction= <numeric list>]
[polygon= <numeric list>]
[1D] [Adaptive] [[Link]] [remesh] [repair]
[[Link]=<n>]
[sde=<c>]
[coeffs= {<A0> <A1> <A2> ... <An>}]
[[Link]= {
<material1>= {<A0> <A1> <A2> ... <An>}
<material2>= {<A0> <A1> <A2> ... <An>}
...
<materialn>= {<A0> <A1> <A2> ... <An>} }]
[[Link]= {
materialA= { angleA0 rateA0 angleA1 rateA1 ... angleAn rateAn }
materialB= { angleB0 rateB0 angleB1 rateB1 ... angleBn rateBn }
... }]
[sources= {<beam1> <beam2> ... <beamn>}]
[shadowing] [undercut=<n>] [angle=<n>]
[[Link]]
[[Link]=<n>] [[Link]=<n>]
[roundness=<n>] [[Link]=<n>] [[Link]]

Description: Etches a layer exposed to the top gas. Several materials can be etched at the
same time. Sentaurus Process has several modes to perform etching:
• The MGOALS mode uses either an analytic or a level-set method
performed by the MGOALS library.
• A general level-set time-stepping mode is available for handling more
sophisticated etching capabilities such as multimaterial etching, Fourier
etching, multiple beam, and shadowing.

Sentaurus Process User Guide 889


H-2013.03
A: Sentaurus Process Commands
etch

Options:

1D Usually, a polygon etch automatically increases the dimension to 2D before


performing the operation; setting 1D prevents this behavior.
Adaptive Specifies with or without adaptive meshing for this etch step. Parameters for
adaptive meshing are described in Adaptive Refinement on page 679. The
default is the return value of pdbGet Grid Adaptive.
[Link] Used with type=trapezoidal and [Link] to
approximate the underetch effect.
angle Specifies the etching angle for type=trapezoidal.
[Link] Specifies a set of angle rate pairs that gives a piecewise linear etch rate
versus angle. To be stable, smaller angles should have a higher etch rate.
Specify the etching rate to go to zero above some angle produces facets.
anisotropic Specifies anisotropic etching.
[Link] Specifies the angle for the bottom of a trapezoidal etching in 3D.
[Link] Specifies the thickness for the bottom of a trapezoidal etching in 3D.
cmp Specifies chemical mechanical polishing.
coeffs List of single-material coefficients A 0, A 1, …, A n used in Fourier etching.
coord The x-coordinate to work with the cmp type. The default unit is μm .
[Link] List of etching rates defined per crystallographic direction in the format:
{"<100>"=<etch rate> "<110>"=<etch rate> "<111>"=<etch rate>}

direction List of x-, y-, and z-values specifying the etching direction for
type=directional.

NOTE: Always all three values must be specified. In 2D, the z-value must
always be zero.
etchstop Materials, instead of time, can be given as etch-stopping criteria. In this case,
etching continues until any of the given etchstop materials is exposed. An
additional overetch is performed, with a time equal to
[Link] (default: 10%) multiplied by the accumulated time
required to expose the first etchstop material.
In 3D, etchstop is ignored when Sentaurus Structure Editor is used.

NOTE: Materials, in addition to time, can be given as etch-stopping criteria


for Fourier etching. If both time and etchstop are given, Fourier etching
stops when either of the two criteria is first met.

890 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
etch

[Link]

When etchstop is defined, an additional overetch is performed when the


first etchstop material becomes exposed to gas. The duration of this
overetch step is the already performed etching time multiplied by
[Link]. The default value is 0.1 (10%).
[Link]

By default, the simplest algorithm is chosen to perform the etching.


However, sometimes, the algorithm chosen will not give correct results if the
topology of the structure is complicated. Specifying this parameter switches
on the general level-set time-stepping algorithm, which correctly handles
these structures.
isotropic Specifies isotropic etch.
[Link]

Specifies a required amount of isotropic etch following an anisotropic etch.


The thickness is specified as a fraction of the anisotropic component. This
parameter is not implemented in MGOALS3D.
[Link] Used with [Link] to choose the Upwind formulation of
the full level-set algorithm. The Upwind algorithm is less stable and less
robust than the Lax–Friedrichs algorithm, which is the default.
mask Name of the mask to be used for the etch.
[Link] List of multimaterial coefficients A 0, A 1, …, A n used in Fourier etching with
a different set of coefficients defined for each material.
<material> Specifies the material to be etched. For information about specifying
materials, see Material Specification on page 50.
material Defines a list of materials for multimaterial etching.
polygon Defines a list of x- and y-coordinates for type=polygon. The list of
coordinates {x0 y0 x1 y1 x2 y2 ... xn yn} defines a single polygon
that must not be self-intersecting. The first and last points are connected
implicitly to close the polygon. The material inside the polygon is etched.
The default unit of the coordinates is μm .
rate Defines a list of etching rates. The default unit is μm /minute.
remesh Performs remeshing after the etch.

Sentaurus Process User Guide 891


H-2013.03
A: Sentaurus Process Commands
etch

repair In MGOALS3D mode, small regions are removed automatically by default.

NOTE: Sometimes, this causes small gas bubbles in the structure or other
problems. Use !repair to switch off small region removal.
roundness Tuning parameter for the curvature of etch sidewalls in the case of
trapezoidal etching when [Link] is used. The default
value is 1.0. Increased values up to 2.0 or 3.0 increase the curvature of the
etch sidewall calculated by the level-set solver.
sde String used to specify parameters and select algorithms for 3D Sentaurus
Structure Editor. By default, the parameters rate, time, thickness,
type, and so on are translated into appropriate Sentaurus Structure Editor
commands. If an algorithm is specified in the sde parameter, it overwrites
the algorithm used by default for isotropic or anisotropic etching, for
example:
sde= {"algorithm" "lopx"}
sde= {"algorithm" "lopx" "radius" 0.07}

shadowing In 2D, it switches on the inclusion of shadowing effects if


[Link] is specified or for Fourier etching. The visibility
of each surface area to each beam is calculated at every level-set time step.
In MGOALS3D, this parameter enables the shadowing effects on both
directional and anisotropic etching.
The interface to Sentaurus Structure Editor ignores this parameter.
[Link]

Used instead of shadowing to allow the 0th-order Fourier coefficient to etch


areas where the beam is shadowed.
sources Defines the etching source beams for level-set etching.
temperature Etching temperature. The default value and unit is 26.85°C .
thickness Thickness that is removed in the etching. The default unit is μm .
time Refers to etching time. It must be specified if the rate parameter is used.
The default value and unit is 1.0 minute.

NOTE: If both time and etchstop are given for Fourier etching, the
Fourier etching stops when either of the two criteria – time or material
etchstop – is met.
trapezoidal Specifies trapezoidal etching.

892 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
etch

type Specifies the type of etching to be performed:


• type=isotropic performs isotropic etching, which must be used with
the rate and time arguments.
• type=anisotropic performs etching in the vertical direction only and
must be used with the rate and time arguments.
• type=cmp performs chemical-mechanical polishing (CMP) and is used
with the argument coord.
• type=directional performs anisotropic etching in other directions
and must be used with the direction, rate, and time arguments.
• type=polygon performs polygonal etching in 2D and is used with the
polygon argument.
• type=fourier performs angle-dependent etching in 2D or 3D where
the rate-versus-angle functions are defined by a cosine series using the
coeffs or [Link] parameter.
• type=crystal performs etching in 2D or 3D using etching rates
dependent on the crystallographic direction defined by the
[Link] argument.
• type=trapezoidal performs TSUPREM-4-like trapezoidal etching in
2D defined by the thickness, undercut, and angle parameters, and
in 3D defined by the thickness, angle, [Link], and
[Link] parameters.
undercut Distance to etch below the nonetchable material in 2D trapezoidal etching.
Examples:

etch time=2.0 rate= {0.1} material= {silicon} type=directional \


direction= {1.0 1.0 0.0} mask=m1
A 0.2 μm silicon layer will be etched anisotropically in the direction indicated by the
parameter direction, and a mask called m1 is used during etching.

beam name=source1 factor=1.0 incidence=-30


etch material= {silicon} shadowing sources= {source1} type=fourier \
coeffs= {0.1 0 0 1} time=0.1
Etches silicon for 0.1 minute at a rate of 1 μm per minute, using source1 as the etching beam,
including shadowing effects, and with a Fourier response to the etchant defined by A 0 = 0.1
and A 3 = 1 .

beam name=source_beam factor=1.0 incidence=-30


etch material= {Silicon Nitride Oxide PolySi} sources= {source_beam} \
[Link]= { Silicon= {0 0.5} Nitride= {0 1} Oxide= {0 0.75} \
PolySilicon= {0.5} } type=fourier time=0.2
Defines multimaterial Fourier etching for 0.2 minute. The Fourier A coefficients for each
material are given separately within the [Link] option.
See: deposit on page 870, mask on page 977, mgoals on page 992

Sentaurus Process User Guide 893


H-2013.03
A: Sentaurus Process Commands
exit

exit
Function: Terminates the execution of Sentaurus Process.
Syntax: exit

Description: Terminates the execution of Sentaurus Process. It can be used in the


interactive mode and in command files.
Examples: exit
This interactive mode command terminates Sentaurus Process.
See: fbreak on page 896, fcontinue on page 897

894 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
extract

extract
Function: Extracts historical data during diffuse step.
Syntax: extract
[clear] [print] [name=<c>]
[command= {<c> <c> ...}]
[[Link]]

Description: Specifies the Sentaurus Process commands for data extraction during a
diffuse step. The extracted historical data can be returned as a Tcl list.
Options:

clear Clears the stored historical data.


command List of Sentaurus Process commands for data interpolation.
name Name of data extraction.
print Returns the extracted data values as a Tcl list with all interpolated variables.
[Link]

Sets a value to be returned only during syntax-checking mode. Sometimes,


the value returned by a command can cause a false syntax-check error
because the value returned by the command would not be the value during
the normal run mode. Setting this value avoids such problems.
Examples: extract name=etest command= { \
sel z=Boron \
interpolate Silicon x=0.04 \
}
Extracts and stores the boron concentration at the position 0.04 μm in the
silicon for each diffuse step.

extract print name=etest


Returns the extracted data values with the extraction name etest in a Tcl
list. For example, if two values are extracted in etest, the Tcl list takes the
format:
<time1> <value1_1> <value2_1> <time2> <value1_2> <value2_2> ...

extract clear
Clears all stored historical data.
See: interpolate on page 950 and Extracting Values during diffuse Step: extract on
page 830

Sentaurus Process User Guide 895


H-2013.03
A: Sentaurus Process Commands
fbreak

fbreak
Function: Enters interactive mode.
Syntax: fbreak

Description: Interrupts the execution of a command file and starts an interactive mode.
Examples: fbreak
This command inside the command file starts an interactive mode.
See: exit on page 894, fcontinue on page 897

896 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
fcontinue

fcontinue
Function: Resumes execution of command files.
Syntax: fcontinue

Description: This interactive mode command is used to resume the program execution in
the batch input mode.
Examples: fcontinue
This command resumes the execution of a command file.
See: exit on page 894, fbreak on page 896

Sentaurus Process User Guide 897


H-2013.03
A: Sentaurus Process Commands
fexec

fexec
Function: Executes system commands.
Syntax: fexec

Description: Executes system calls through the Tcl command exec (with exactly the
same syntax). Using fexec, the system calls are not executed during syntax-
checking as they would be if the plain exec command were used.
Examples: fexec ls
Lists the contents of the current directory.
See: Tcl documentation for description of exec syntax.

898 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
fproc

fproc
Function: Defines a Tcl procedure.
Syntax: fproc name { arguments of procedure } {
body of procedure
}

Description: This is equivalent to the Tcl command proc, except that procedures defined
with proc are not saved or restored in TDR files. Procedures defined using
fproc are saved or restored. If a procedure is defined using both fproc and
proc, the latter overwrites the previous one, but fproc stays in the memory
and is saved in TDR files.
Examples:

fproc relerr { newVal RefVal name my_err } {


upvar my_err fl
set denom [ expr abs($newVal)+abs($RefVal)+1e-20 ]
set deviation [expr 100*abs(($RefVal - $newVal)/$denom)]
if { $deviation > 0.5 } {
LogFile IL0 "Compare: $name = $newVal, ref = $RefVal, relerr = \
$deviation
\n --> failed\n"
set fl [ expr $fl+1 ]
} else {
LogFile IL0 "Compare: $name = $newVal, ref = $RefVal, relerr = \
$deviation ok\n"
}
}

Defines the Tcl procedure relerr, which is stored in and loaded from a
TDR file.
See: Tcl documentation for description of proc syntax. The defineproc and
fproc commands are equivalent.

Sentaurus Process User Guide 899


H-2013.03
A: Sentaurus Process Commands
fset

fset
See define on page 867.

900 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
gas_flow

gas_flow
Function: Specifies a gas mixture for use with the diffuse or temp_ramp command.
Syntax: gas_flow
(list | clear | print | name=<c>)
[<ambient>]
[flow<ambient>=<n>][<l/min>]
[flows= {
[<ambient1>=<n>][<l/min>]
[<ambient2>=<n>][<l/min>]
...}]
[ISSG]
[p<ambient>=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[[Link]= {
[<ambient1>=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa> |<dyn/cm2>]
[<ambient2>=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa> |<dyn/cm2>]
...}]
[pressure=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]

Description: Specifies a gas mixture for thermal oxidation or user-defined gas material
reactions, and can be set in the diffuse command or temp_ramp
command. Specification in a multiple temp_ramp command allows
changing the gas flow during a temperature ramp. If gas flows are specified
by flows (see below), a complete gas reaction between the contributing gas
types is assumed. The partial pressure of the active ambients (for example,
material-growing ambients O2, H2O, and N2O) are the quantities directly
needed to compute oxidation rates. If flows is specified, the partial
pressures are computed from gas reactions, the mix of remaining gases after
the reaction, and the total pressure. If partial pressures of the active ambients
are specified, they are used directly. The default value is 0 for all parameters,
except pressure. The list of ambients is given in Table 63 on page 605 and
includes O2, H2O, HCl, N2, H2, and N2O as well as two epi ambients Epi and
LTE that do not apply to this command.
Options:

<ambient> Shorthand specification to set the ambient partial pressure the same as the
total pressure. Only active ambients can be specified in this way, and only
one ambient can be specified. The active ambients are O2, H2O, and N2O.
clear Clears the global list of gas mixtures.

Sentaurus Process User Guide 901


H-2013.03
A: Sentaurus Process Commands
gas_flow

flow<ambient>, flows

List of gas flows in the reaction chamber. The gas flows are used to
computed the partial pressures of the active ambients (those causing material
growth). You can specify flows using either a parameter name composed of
flow + <ambient> (for example, flowO2 and flowHCl where O2 and HCl
are ambient names) or the flows parameter that takes a list of parameters
with names of the ambients, for example:
flows= { O2 = 1.0<l/min> HCl = 1.0<l/min> }

The list of default ambients is given in Table 63 on page 605, but this list can
be extended by using the ambient command. When a gas flow is specified
as a combination of flows (and not when using partial pressures), a complete
reaction of the ambients is assumed to occur, for example:
O2 + 2H2 -> 2H2O.

Besides gas reactions, the addition of inert gases also changes the partial
pressure of the material-growing ambients. For example, if the flows of only
N2 and O2 are specified and are equal, the partial pressure of O2 will be
<total pressure>/2.0 where <total pressure> is given by the pressure
parameter (see below).
NOTE: Flows and partial pressures must not be specified together in the
same gas_flow.
ISSG Switches on in situ steam-generated (ISSG) oxidation.
list This Boolean parameter generates a list of gas mixtures and returns a Tcl list
that can be operated on as such. The default action for commands is to print
the return, so if no handling is required, this prints a list of names of defined
gas mixtures. If a name is specified, that gas mixture only is listed with
details.
name Identifies the gas mixture description and specifies it in a diffuse or
temp_ramp command.

902 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
gas_flow

p<ambient>, [Link]

List of the partial pressures of active ambients. Partial pressure specifications


must not be used with flows, flow<ambient>, or pressure
specifications. You can specify partial pressures using either a parameter
name composed of p + <ambient> (for example, pO2 and pN2O where O2
and N2O are active ambient names) or the parameter [Link]
that takes a list of parameters with names of the ambients, for example:
[Link]= { O2 = 1.0<atm> N2O= 1.0<atm> }

The list of default ambients is given in Table 63 on page 605, but this list can
be extended by using the ambient command. These partial pressures are
assumed to contribute to the oxidation or user-defined reaction processes. No
reaction between the species is assumed. The default unit is atm.

NOTE: Only the partial pressures of the active ambients are used directly in
the oxidation reaction equations, so setting the partial pressure of inactive (in
the sense that they cause the material growth reaction) ambients such as N2
or HCl have no effect.
pressure The (total) pressure of the ambient gas. The default value and unit is 1.0 atm.
print Prints the gas flow information.
Examples: gas_flow name=myflow pressure=0.8 flows= {O2=3.1 H2O=1.2 H2=0.8}
gas_flow name=myflow pressure=0.8 flowO2=3.1 flowH2O=1.2 flowH2=0.8
gas_flow name=myflow pressure=0.8 flowO2=3.1 flows= {H2O=1.2 H2=0.8}
These are three equivalent flow specifications for the gas mixture myflow.

gas_flow name=mypp [Link]= {O2=3.1 H2O=1.2}


gas_flow name=mypp pO2=3.1 pH2O=1.2
gas_flow name=mypp pO2=3.1 [Link]= {H2O=1.2}
Similar syntax for partial pressures: Three equivalent specifications for the
gas mixture mypp. When setting partial pressures, pressure,
flow<ambient>, and flows must not be used.
See: diffuse on page 875, term on page 1099

Sentaurus Process User Guide 903


H-2013.03
A: Sentaurus Process Commands
graphics

graphics
Function: Updates or initiates Sentaurus Process graphics specified by the command
option.
Syntax: graphics
[on | off] [cmd= <command>]
[connect] [maxdepth] [update]
[host=<c>] [display=<c>] [configure= <command>]

Description: Controls automatic graphics updating or specifies a Sentaurus Process


command sequence that will be called automatically after structure- or data-
changing steps. The default display uses an interface to Tecplot SV. To use
the interface, you must open an interprocess communication–enabled
Tecplot SV first from the UNIX command line:
unix:> tecplot_sv -s:ipc

After the main window has opened, subsequent runs of Sentaurus Process
connect to it and open a new frame if the command graphics on is issued.
Options:

cmd Specifies the update command. The default value is [Link] grd
data.
configure Runs a [Link] configuration command. Any valid [Link] option can
be specified.
connect Allows connection.
display Specifies the display for Tecplot SV. The default is the value of the DISPLAY
environment variable.
host Specifies the host on which Tecplot SV is to run. The default behavior is
explained in Tecplot SV User Guide, Launching or Connecting to
Tecplot SV on page 13.
maxdepth Specifies the command depth limit.
off Disables automatic updating of graphics.
on Enables automatic updating of graphics using the command given by the
cmd option.
update Runs the update command.

904 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
graphics

Examples:

graphics configure= "xyshow=Boron* Stress*"


Specifies the datasets to display.

graphics on
Switches graphics on and uses the Tecplot SV interface.

graphics on cmd= "plot.2d grid gas"


Automatically calls the old 2D graphics display for data- or structure-
changing steps.

Sentaurus Process User Guide 905


H-2013.03
A: Sentaurus Process Commands
grid

grid
Function: Performs grid operations and computes statistics about the mesh.
Syntax: grid
[remesh [Adaptive]] | (2D | 3D | FullD) | [Link]]
[merge] [interpolate]
[[Link]]
[<material>] [Gas]
[[Link]] [[Link]] [[Link]] [[Link]]
[mingrid=<n>][<m>|<cm>|<um>|<nm>]
[[Link]=<c>]
[rename [[Link]]] [[Link]] [[Link]] [[Link]]

[bbox | [Link] | [Link] | [Link] | [Link] | dimension |


elements | [Link] | [Link] | [Link] |
[Link] | [Link] | [Link] | [Link] |
[Link] | [Link] | [Link] |
[Link] | [Link] | [Link] | nodes |
obtuse | [Link] | [Link] | vertices | [Link] |
[Link] | [Link] | [Link] |
[Link] | [Link] | [Link]]

Description: Allows you to:


• Remesh.
• Merge regions.
• Extrude.
• Rename regions.
• Measure and report on various mesh statistics.
• Measure and report on various boundary representation (referred to as
brep) statistics.
• Convert KMC particles into FE fields using the Sano method.
• Remesh while adaptively refining Sano fields.

To retrieve mesh or brep statistics, use one of the following options:


• In a single pass, all the statistics can be computed and returned in a Tcl
array that can be accessed by the name of the measured value, for
example:
array set returnArray [grid [Link]]
set numNodes $returnArray([Link])
set numElements $returnArray(elements)

• To retrieve only the required parameter, use:


set numNodes [grid nodes]

NOTE: If you are interested in several mesh statistics, it is more efficient to


retrieve all the statistics in one pass and read them from a Tcl array.

906 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
grid

Description: NOTE: To limit grid or brep statistics to a certain material or interface,


specify the material on the command line. For example:
• To limit brep statistics to silicon, use: grid [Link] Silicon
• To limit brep statistics to the oxide–silicon interface, use:
grid [Link] Silicon /Oxide

Several mesh statistics parameters compute a measure of element quality


including:
• [Link] (average element quality)
• [Link]
• [Link]
• [Link] (percentage of elements whose quality is less
than 0.3)
• [Link] (percentage of elements whose quality is
greater than 0.6)
These parameters are computed and returned as part of [Link], but
they are not separately available.

NOTE: For the purpose of this command, quality is defined as:


• Triangles: 4.0 * sqrt(3.0) * area (sum of side lengths)2.
• Tetrahedra: The ratio of the radius of the inscribed sphere to the radius of
the circumsphere.
Options:

Regridding, renaming, refinement, and so on

2D, 3D, FullD Extrudes grid to higher dimension. The line commands must be issued
before extruding to a higher dimension. For 2D, at least two y-lines must
have been specified. For 3D, two y-lines and two z-lines must have been
specified. FullD extrudes to the highest possible dimension.
Adaptive Specifies adaptive meshing if remesh is chosen.
interpolate Performs interpolation if remesh is chosen.
merge Merges adjacent regions of the same material into one region.
Do not use in combination with other options.
mingrid Specifies the minimum-allowed grid spacing. The default unit is μm .
[Link] Prints the region names if the option rename is chosen.
[Link] Returns 1 if remeshing is needed based on refinement criteria; otherwise, it
returns 0.
remesh If this option is selected, Sentaurus Process recreates the mesh using the
currently active mesh generator.

Sentaurus Process User Guide 907


H-2013.03
A: Sentaurus Process Commands
grid

rename Renames all regions of the structure according to the material they contain
and the smallest y-coordinate point of the region, that is, from the bottom of
the structure upwards. Multiple regions of the same material with the
smallest y-coordinate within the given coordinate interval will increase the
associated index towards the positive x-axis, from left to right.
[Link] Must be used by itself. When specified, Sentaurus Process computes the
smallest edge length in each direction and saves it in three fields:
MinXEdgeLength, MinYEdgeLength (for 2D or 3D structures), and
MinZEdgeLength (for 3D structures). In addition, this parameter stores the
element volumes in a field ElementVolume. When this parameter is set, the
average edge length in each direction is returned and can be used to set a Tcl
variable, for example:
set aveEdgeLength [grid [Link]]

[Link] Sets element volumes as element values over the mesh. This field is not
updated automatically.
[Link]

Sets a value to be returned only during syntax-checking mode. Sometimes,


the value returned by a command can cause a false syntax-check error
because the value returned by the command would not be the value during
the normal run mode. Setting this value avoids such problems.
Grid statistics

Gas By default, quality (except volume) and bbox measures include the gas
mesh. To exclude gas in the quality or bbox measure, use !Gas.
<material> If specified, limits the measured grid statistics to the specified material.
Grid statistics reporting

bbox Prints the bounding box of the structure (coordinates in μm ).


[Link] Prints the bounding box of the structure (coordinates in cm).
[Link] Prints the bounding box of the structure (coordinates in μm ).
[Link] Returns the number of bulk nodes.
[Link] Returns the number of bulk regions.
dimension Returns the current simulation dimension.
elements Returns the number of elements.

908 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
grid

[Link]

Computes the area of interfaces. It can be limited to one particular interface


by specifying a material interface such as "Silicon /Oxide" ( μm in 2D,
2
μm in 3D).
[Link]

Returns the number of interface nodes.


[Link]

Returns the number of interface regions.


[Link] Returns the maximum angle in degrees between edges (2D) or faces (3D).
[Link]

Returns the maximum number of edges connected to a single node.


[Link] Returns the maximum edge length in μm .
2 3
[Link] Returns the maximum element volume ( μm in 2D, μm in 3D).
[Link]

Returns the maximum ratio of volumes of two elements that share the same
face (3D only).
[Link]

Returns the location where the maximum volume ratio occurs (coordinates in
μm ).

Sentaurus Process User Guide 909


H-2013.03
A: Sentaurus Process Commands
grid

[Link] Indicates that all bulk mesh statistics must be printed. Here, all mesh
statistics are listed as command parameters if they can be individually
queried. They also are printed with the [Link] parameter or are listed
below if they are available only by using the [Link] parameter:
• dimension: Simulation dimension.
• vertices: Number of vertices in mesh.
• nodes: Total number of nodes in mesh. (At interfaces, there are three
nodes for each vertex. In the bulk, there is one node for each vertex.)
• [Link]: Number of nodes in mesh excluding those in the interface
meshes (this gives two nodes for each vertex on an interface and one node
for each bulk vertex).
• [Link]: Number of interface nodes in mesh. This will be the
same as the number of interface vertices.
• [Link]: Same as nodes, that is, the total number of nodes in
mesh.
• elements: Number of elements in the mesh.
• [Link]: Number of regions in the mesh.
• [Link]: Number of interface regions in the mesh.
• bbox: Bounding box (minimum and maximum extents) of the mesh.
• [Link]: Length of minimum edge in the mesh (in micrometers).
• [Link]: Endpoints of minimum edge.
• [Link]: Length of maximum edge in the mesh (in micrometers).
D
• [Link]: Volume of mesh (in μm where D is the dimension).
• [Link]: Minimum of all angles of all elements in the mesh.
• [Link]: Maximum of all angles of all elements in the mesh.
• [Link]: Maximum number of edges sharing one vertex in
the mesh.
D
• [Link]: Minimum element volume (in μm where D is the
dimension).
• [Link]: Location of the center of the element with the
minimum volume.
D
• [Link]: Maximum element volume (in μm where D is the
dimension).
• [Link]: Maximum ratio of volumes (larger volume to
smaller volume) of neighboring elements.
• [Link]: Location where maximum ratio of
volumes occurs.
• obtuse: Percentage of triangles or tetrahedra that have obtuse angles.
[Link] Returns the minimum angle in degrees between edges (2D) or faces (3D).
[Link] Returns the minimum edge length in μm .
[Link]

Returns the vertices of the minimum edge.

910 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
grid

2
[Link] Returns the element with the smallest area in 2D (in cm ) or the smallest
3
volume in 3D (in μm ).
[Link]

Prints the location of the smallest element (coordinates in μm ).


nodes Same as [Link].
obtuse Returns the percent of triangles or tetrahedra that have obtuse angles.
[Link] Returns the total number of nodes in the mesh. Note the difference between
points and nodes: there is a node for each region sharing an interface point in
addition to each point not on an interface.
2
[Link] Returns the total volume of the bounding box (cm in 1D, cm in 2D, and
3
cm in 3D). The unit of the angles reported is degree. If none of these is
chosen, all values are reported.
vertices Returns the total number of vertices in the mesh.
Brep statistics reporting

[Link] Returns the number of faces in the brep.


[Link]

Returns the brep minimum angle in degrees.


[Link]

Returns the coordinates of the minimum angle (coordinates in μm ).


[Link]

Returns the minimum edge length (in μm ) (3D only).


[Link]

Returns the coordinates of the minimum edge length (3D only) (coordinates
in μm ).

Sentaurus Process User Guide 911


H-2013.03
A: Sentaurus Process Commands
grid

[Link] Indicates that all brep statistics should be printed. In this section, all brep
statistics are listed as command parameters if they can be individually
queried. They also are printed with the [Link] parameter or are listed
below if they are available only by using the [Link] parameter:

• [Link]: Returns true if all outer


boundaries are on a flat bounding box; otherwise, false.
• [Link]: Returns the bounding box of the brep.
• [Link]: Returns true if the brep is conformal: otherwise,
false.
• [Link]: Returns the dimension of the brep.
• [Link]: Returns the brep maximum angle in degrees.
• [Link]: Returns 180° -brep maximum angle
(3D only).
• [Link]: Returns the coordinates (in μm ) of the
maximum angle (3D only).
• [Link]: Returns the minimum dihedral angle in
degrees in the brep (3D only).
• [Link]: Returns the coordinates of
the minimum dihedral angle (3D only) (coordinates in μm ).
• [Link]: Returns the material where
the minimum dihedral angle is located (3D only).
• [Link]: Returns the number of regions in the brep.
• [Link]: Returns the total brep interface area in 3D or the
2
bulk area in 2D (in μm ).
3
• [Link]: Returns the brep volume (3D only) (in μm ).
[Link] Returns the number of vertices in the brep.
Sano smoothing and remeshing

[Link] Sets the list of fields for [Link] or [Link] operations. By


default, the list contains the active dopant concentrations. The field
NetActive (Doping Concentration) is updated automatically during
Sano operations and does not need to be explicitly included here.
[Link]

Sets the list of materials where the Sano method is applied. The default is
Silicon. It is not recommented to include other materials unless special
care is taken to configure KMC for those materials because, by default,
KMC models are simplistic in materials other than silicon.

912 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
grid

[Link] Switches on a special Sano remesh mode. Usually, remeshing based on Sano
fields and Sano field creation are performed with the UnsetAtomistic
command (see UnsetAtomistic on page 1110), which calls grid
[Link] and grid [Link]. More detail is provided here if
nonstandard behavior is required. During grid [Link], certain
fields, called Sano fields, can be the target of adaptive refinement. By
default, the list of Sano fields contain active dopants.

NOTE:
• NetActive is updated automatically using Sano active fields during
[Link].
• This mode does not create any new fields in the structure. Sano fields can
be created using [Link] in a separate grid command.
• This mode does not automatically switch on adaptive meshing.
[Link] Converts KMC particle distributions to FE fields using the Sano method.
Usually, this conversion is performed with the UnsetAtomistic command
(see UnsetAtomistic on page 1110), which calls grid [Link] and
grid [Link]. More detail is provided here if nonstandard behavior
is required. The list of fields that are converted by default contains the active
dopants that are present. To change this list, use the [Link] parameter.

NOTE:
• NetActive (DopingConcentration) is updated automatically using
Sano fields during [Link].
• This parameter specifies that only KMC particles are converted to new FE
fields on the existing mesh; no remeshing occurs.

Sentaurus Process User Guide 913


H-2013.03
A: Sentaurus Process Commands
grid

Examples: grid remesh


Recreates the mesh using currently specified refinements.

grid obtuse silicon


Reports the percentage of obtuse elements in silicon.

array set returnArray [grid [Link]]


set numNodes $returnArray([Link])
set numElements $returnArray(elements)
First, computes all mesh statistics, and then reads the number of nodes and
the number of elements from the statistics array into numNodes and
numElements, respectively. To have different Sano lists for remesh versus
smoothing, use the following commands:
KMC2PDE
grid [Link] [Link]= BActive
grid [Link] [Link]= { AsActive BActive }
pdbSet Diffuse KMC 0
pdbSet Implant MC 0
pdbSet AtomisticData 0
kmc off

See: line on page 969

914 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
help

help
Function: Prints a list of all the commands available in Sentaurus Process.
Syntax: help

Description: Prints a list of all Sentaurus Process commands. It can be used in the
interactive mode and in the command files.

Sentaurus Process User Guide 915


H-2013.03
A: Sentaurus Process Commands
icwb

icwb
Function: IC WorkBench (ICWB)-related functions.
Syntax: icwb
bbox { xmin | xmax | ymin | ymax | left | right | front | back } |
[Link] | dimension | domain= "<domain name>" |
domain= [list "<domain name 1>" "<domain name 2>" ... \
"<domain name n>"] |
filename= "<[Link]>" [scale=<scale>] |
[Link]=<c> cell=<c> [Link]= {<n>} [Link]= {<c>} \
[[Link]=<c>] sim2d | sim3d= {<n>} [stretches= {<c>= {<n>}}] \
[scale=<n>] |
[Link]= "<layer name>" list [Link] |
list { domains | layerIDs | layerNames } |
list [Link] [Link]= "<layer name>" |
list [Link] [Link]= "<layer name>" |
[Link]= "<polygon name>" [Link] |
stretch name= "<stretch name>" value=<amount> | [Link]

Description: The keyword icwb introduces commands used to operate with ICWB TCAD
layout files. The different uses of the keyword icwb are given here, along
with their syntax and corresponding descriptions.
Detailed descriptions:

icwb bbox <option>

Returns corresponding coordinate where <option> can be the following in


either ICWB coordinates (xmin, xmax, ymin, ymax) or Sentaurus Process
coordinates (left, right, front, back).
icwb [Link]

Faster version of the [Link] command; intended to


create large masks from complex layouts.
icwb dimension

Returns dimension of current domain. For the following domain types, the
corresponding value for dimension is returned:
• Point: 1
• Gauge: 2
• Highlight: 3

916 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
icwb

icwb domain= "<domain name>"


icwb domain= [list "<domain name 1>" "<domain name 2>" ... "<domain name n>"]

Defines the current domain. Setting the current domain is a prerequisite for
other ICWB commands that implicitly depend on the current domain being
defined.
The second variation allows for the concatenation of multiple “gauge”
domains, reorientated into one linear simulation domain.
icwb filename= "<[Link]>" [scale=<scale>]

Reads an ICWB TCAD layout file. Coordinates in the ICWB file are
multiplied by the optional parameter scale as the file is read. The ICWB
TCAD layout file must be read as a prerequisite to other ICWB commands
that act on the domains and masks defined in that file.
icwb [Link]=<c> cell=<c> [Link]= {<n>} [Link]= {<c>} [[Link]=<c>]
sim2d | sim3d= {<n>} [stretches= {<c>= {<n>}}] [scale=<n>]

Reads a GDSII layout file.


The [Link] parameter specifies the input GDSII file name, and the cell
parameter specifies the cell name. The [Link] is a list of selected
layers from the GDSII file, and [Link] is a list of names for those
layers.
The [Link] parameter defines the name of the simulation domain. If
no name is specified, SIM3D is used for a 3D domain, and SIM2D is used for
a 2D domain. The domain will be set to be the current domain automatically,
so you do not need to call icwb domain=<c> before using other icwb
commands. However, you can call icwb domain=<c> to set another
preferred current domain.
sim2d | sim3d indicates whether it is a 2D or 3D simulation domain. The
simulation domain is defined by two points, with each point defined by x-
and y-coordinates in the GDSII coordinate system. For two dimensions, the
two points are endpoints of a segment. The segment must be horizontal or
vertical in the GDSII coordinate system. For three dimensions, the two
points are the two opposite corners of the simulation domain. The first point
is the left-back corner and the second point is the right-front corner in the
internal coordinate system. Either sim2d or sim3d must be specified.
The stretches parameter is a list of stretches, with each stretch having a
name and being defined by a segment with two points. For a 3D domain, the
segment must cross the bounding box of the domain. For a 2D domain, the
segment must intersect with the 2D domain.

Sentaurus Process User Guide 917


H-2013.03
A: Sentaurus Process Commands
icwb

The scale parameter is the same as that in the command


icwb filename=<c> [scale=<n>]. Coordinates in the GDSII file are
multiplied by this parameter as the file is read in to Sentaurus Process.
This icwb command can be called multiple times to set multiple simulation
domains. The GDSII layout file or the ICWB TCAD layout file must be read
as a prerequisite to other ICWB commands that act on the domains and
masks defined in that file.
icwb [Link]= "<layer name>" list [Link]

Lists polygon names given a layer name.


icwb list domains

Queries the names of the current domains.


icwb list { layerIDs | layerNames }

Returns a list of ICWB TCAD layout file layer IDs or layer names.
icwb list [Link] [Link]= "<layer name>"

Returns the bounding box rectangle for each polygon in the layer.
icwb list [Link] [Link]= "<layer name>"

Breaks each polygon in the layer into a set of rectangles, and then returns
these rectangles,
icwb [Link]= "<polygon name>" [Link]

Lists polygon segments given a polygon name.


icwb [Link]

Returns the relative angle of the active simulation domain.


icwb stretch name= "<stretch name>" value=<amount>

Applies the given stretch by the given amount to the current domains. The
order of applied stretches matters since the location of other stretches can
change given the application of one stretch.

918 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
[Link]

[Link]
Function: Layout-driven contact placements.
Syntax: [Link]
[Link]= (<string> | <string list>) [name= <string>] <other options>
[info=<n>]

Description: Creates contacts for subsequent device simulations that are tied to a layer in
the ICWB TCAD layout file.

The command serves as an interface between the ICWB TCAD layout and
the Sentaurus Process contact command by automatically obtaining the
lateral placement of the contact from the specified ICWB layer, taking the
vertical placement from the argument list and passing all other options
directly to the contact command.

The command supports both box-type and point-type contacts:


• A box-type contact consists of elements at the surface of one region or
material inside the box. The lateral extent of the box is determined
automatically from the layer segment (2D) or the polygon bounding box
(3D), while the vertical extent is taken from the contact command
keywords xlo and xhi.
• A point-type contact contains all the boundary elements of one region.
The lateral position of the point is determined automatically as the
midpoint of the layer segment (2D) or the polygon bounding box (3D),
while the vertical position is taken from the contact command
keyword x.
For details on how to define contacts, see contact on page 861.

NOTE: A layer used for layout-driven contact placements can consist of


only a single segment or polygon in each ICWB simulation domain. It may
be necessary to create auxiliary layers in ICWBEV Plus for the placement of
contacts.

NOTE: For 3D simulations, sometimes the placement of contacts in


Sentaurus Process causes meshing problems. In this case, use the similar
layout-driven contact placement feature in Sentaurus Structure Editor.
Options:

info Specifies the information level. Select 1 or 2 for detailed output.


[Link] Name of a layer in the ICWB TCAD layout file.

Sentaurus Process User Guide 919


H-2013.03
A: Sentaurus Process Commands
[Link]

name Optional contact name. The name defaults to the layer name.
<other options> Any other options supported by the contact command.
Examples: [Link] [Link]= emitter box polysilicon \
[Link]=oxide xlo= -2.05 xhi=-1.95
[Link] [Link]= pdrain name= drain \
point aluminum replace x= -2.0

See: contact on page 861

920 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
[Link]

[Link]
Function: Creates positive and negative mask versions for all layers found in the
currently active ICWB simulation domain.
Syntax: [Link] [info=<n>]

Description: Creates a positive and a negative mask for each layer found in the currently
active ICWB simulation domain. The names of the masks are given by the
layer names and the postfix _p for the positive and _n for the negative
version of the mask. For example, if the TCAD layout contains a layer with
the layer name TRENCH, the corresponding mask names are TRENCH_p and
TRENCH_n.

NOTE: Use the command-line option -n to suppress automatic syntax-


checking in Sentaurus Process when using this feature. The syntax-checker
cannot determine which masks are available and, therefore, may incorrectly
flag the use of an unknown mask.
Options:

info Specifies the information level. Select 1 or 2 for detailed output.


Examples: [Link]

Sentaurus Process User Guide 921


H-2013.03
A: Sentaurus Process Commands
[Link]

[Link]
Function: Creates a mask for subsequent use in etch, deposit, or photo commands
from one or more ICWB layers.
Syntax: [Link]
[Link]= (<string> | <string list>)
[name= <string>] [polarity= positive | negative] [info=<n>]
[shift= {dy dz}] [stretchypos= {yo dy}] [stretchyneg= {yo dy}]
[stretchzpos= {zo dz}] [stretchzneg= {zo dz}]

Description: Serves as an interface between the ICWB TCAD layout and the Sentaurus
Process mask and polygon commands, and provides a convenient way to
generate 1D, 2D, and 3D masks consisting of the points, segments, or
polygons from one or more ICWB layers based on a dimension-independent
syntax. The command automatically determines the dimension of the
currently active ICWB simulation domain.
Options:

info Specifies the information level. Select 1 or 2 for detailed output.


[Link] Name of one or more layers in the ICWB TCAD layout file. If more than one
layer name is given, the resulting mask is the union of the polygons (3D) or
segments (2D) from all the layers listed. (Use the command
icwb list layerNames to obtain a list of all layer names.)
name Optional mask name. The mask name defaults to the layer name. If the layer
name list contains more than one entry, the first layer name is used.
polarity Sets the polarity to negative to invert a mask. The polarity is assumed to be
positive by default (that is, points inside the mask are considered masked).
shift Shifts the layers by the specified amount before creating the mask.
stretchypos, stretchyneg, stretchzpos, stretchzneg

Stretches the layer before creating the mask. The last four characters of the
keywords determine if the stretch is applied along the y- or z-direction and if
the layer is stretched to the positive or negative side of the stretch position.

More than one shift and stretch keyword can be used in a


[Link] command. As these operations may not commute, it
is important to note the order in which these operations are applied if more
than one is used. First, the shift is applied, and then stretchypos,
stretchyneg, stretchzpos, and finally stretchzneg are applied.

922 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
[Link]

Examples: [Link] [Link]= NWELL polarity= negative


[Link] [Link]= NWELL name= NOTNWELL
[Link] [Link]= "NPDIFF PPDIFF NPLUG PBASE" name=STI info=1
[Link] [Link]= 1:0 stretchyneg= {1.2 -0.25}

Sentaurus Process User Guide 923


H-2013.03
A: Sentaurus Process Commands
[Link]

[Link]
Function: Layout-driven refinement specifications.
Syntax: [Link]
[Link]= (<string> | <string list>) [name= <string>] [oversize=<n>]
xtop=<n> xbot=<n> <other options> [info=<n>]

Description: Creates refinement boxes that are tied to layers in the ICWB TCAD layout
file. The command serves as an interface between the ICWB TCAD layout
and the Sentaurus Process refinebox command by automatically obtaining
the lateral dimension of the refinement box from the specified ICWB layers,
taking the vertical refinement box dimensions from the argument list, and
passing all other options directly to the refinebox command.

For a 2D or 3D ICWB simulation domain, a refinement box is created for


each segment or polygon found in the specified layers. For 3D, the lateral
extent of respective refinement boxes is given by an axis-aligned tessellation
of the polygon.

Using the oversize keyword increases the area of refinement beyond the
extent of the actual segments or polygon bounding boxes. The nonzero
oversize value is subtracted from or added to the minimum and maximum
segment or polygon bounding box coordinates, respectively.

NOTE: Layout-driven refinement is available only for the area under the
given layer itself, not for the inverse of a layer. If refinement is needed in an
area not covered by the layer, you must create the inverse of the layer as an
auxiliary layer explicitly in ICWBEV Plus.

For details on how to define refinement boxes, see refinebox on page 1040.
Options:

info Specifies the information level. Select 1 or 2 for detailed output.


[Link] Name of one or more layers in the ICWB TCAD layout file. If more than one
layer name is given, refinement boxes are created for the polygons (3D) or
segments (2D) from all mentioned layers.
name Optional refinement box name. The name defaults to the layer name. If the
layer name list contains more than one entry, the first layer name is used. If
more than one polygon (3D) or segment (2D) is found, an index is appended
to the refinement box name.
<other options> Any other options supported by the refinebox command.

924 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
[Link]

oversize To refine an area wider than the polygon bounding box (3D) or the segment
(2D), specify a nonzero oversize parameter (unit is micrometer). This
value is used to increase the refinement boxes beyond the extent given by the
polygon bounding boxes or segments.
xbot Bottom or maximum x-coordinate of the refinement box extent.
xtop Top or minimum x-coordinate of the refinement box extent.
Examples: [Link] name=UnderPoly [Link]=POLY \
oversize=0.1 xtop=-1.51 xbot=-1.35 xrefine=0.02 yrefine=0.02
[Link] name=SiOxPo [Link]=POLY \
oversize=0.1 xtop=-1.51 xbot=-1.35 [Link]=0.005 \
[Link]= {Silicon Oxide Silicon Polysilicon}

See: refinebox on page 1040

Sentaurus Process User Guide 925


H-2013.03
A: Sentaurus Process Commands
implant

implant
Function: Specifies implantation model parameters and implants an ion species into a
wafer.
Syntax: implant
{[tables=Default | Dios | Tasch | AdvCal | Taurus] [[Link]=<c>]
[[Link]=<c>] [[Link]=<c>]} |

{[species=<c>]
[tables=Default | Dios | Tasch | AdvCal | Taurus | TSuprem4]
[[Link]=<c>] [[Link]=<c>] [[Link]=<c>]}
[energy=<n>] [tilt=<n>] [[Link]=<n> [[Link]=<n>]} |

{[<material>] [species=<c>] [dataset=<c>]


[[Link]=<c>] [[Link]=<c>]
[[Link]=<c>] [[Link]=<c>]
[gaussian | pearson | pearson.s | dualpearson | [Link]]
[damage]
[file=<c>] [[Link]=<n>] [[Link]=<n>]
[rp=<n>][<m>|<cm>|<um>|<nm>]
[rp2=<n>][<m>|<cm>|<um>|<nm>]
[stdev=<n>][<m>|<cm>|<um>|<nm>]
[stdev2=<n>][<m>|<cm>|<um>|<nm>]
[gamma=<n>] [gamma2=<n>]
[beta=<n>] [beta2=<n>]
[lexp=<n>] [lexp2=<n>]
[[Link]=<n>][<m>|<cm>|<um>|<nm>]
[lat.stdev2=<n>][<m>|<cm>|<um>|<nm>]
[[Link]=<n>][<m>|<cm>|<um>|<nm>]
[lat.scale2=<n>][<m>|<cm>|<um>|<nm>]
[ratio=<n>] [[Link]=<n>]
[[Link]] [[Link]] [[Link]]
[[Link]=<n>][<m-3>|<cm-3>|<um-3>|<nm-3>]}

[[Link]] [[Link]]
[[Link]= {<n> <n> <n>}] [[Link]= {<n> <n> <n>}]
[[Link]= {<n> <n> <n>}]

{[<species>]
[energy=<n>][<eV>|<keV>|<MeV>]
[dose=<n>][<cm-2>]
[[Link]=<n>][<cm-2/s>]
[tilt=<n>][<degree>] [rotation=<n>][<degree>] [[Link]=<i>]
[primary= beam | wafer]
[[Link]] [temperature=<n>] [current=<n>]
[contamination= {energy=<n> [Link]=<n>}]
[preprocess] [postprocess] [postprocessonly] [extrude]
[[Link]= [Link] | [Link].n | [Link] |
[Link]]

926 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
implant

Syntax: [Adaptive] [average]


[backscattering] [[Link]]
[match= no | range | dose]
[pai] [[Link]] [[Link]]
[[Link]] [material=<c>]
[[Link]=<n>][<m>|<cm>|<um>|<nm>]
[[Link]] [[Link]=<c>]
[[Link]=<n>] [[Link]=<n>]
[[Link]=<n>] [[Link]=<n>] [[Link]=<n>] [[Link]=<n>]
[[Link]=<c>] [[Link]=<n>] [tolerance=<n>] [[Link]]
[crystaltrim | [Link]]
[particles=<n>]
[cascades] [iBCA] [recoils] [[Link]] [randomize]
[KMC] [[Link]] [[Link]]
[plasma] [conformity=<n>]
[[Link]= {<species1>=<n> <species2>=<n> ...}]
[[Link]= {material=<c> thickness=<n> steps=<n>}]
[[Link]=<n>] [[Link]=<n>] [conformity=<n>]
[ifactor=<n>] [vfactor=<n>] [dfactor=<n>]
[[Link]=<n>] [[Link]=<n>]
[[Link]=<n>][<cm-2>]
[[Link]=<n>] [[Link]=<n>] [[Link]=<n>]
[smooth] [[Link]= {<list of fields>}]
[[Link]= {<double array>}]
[[Link]]
[shift=<n>] [flip] [left] [right] [multiply=<n>]
[save1d] [[Link]=<c>] [[Link]=<c>]
[[Link]] [[Link]] [[Link]]
[mpp] [[Link]] [info=<n>]}

Description: There are two main branches to this command. The first allows you to
specify parameters for the analytic model. It can be performed by specifying
tables or species parameters. The second performs an implantation into the
current structure. Either analytic functions or Monte Carlo simulations
(Crystal-TRIM or Sentaurus MC) can be used.
Options:

Specifying parameters

[Link]

Declares the tilt- and rotation-dependent range parameters in the implant


table used. By default, the Dios tables are all set to angle independent. For all
other tables, angle-dependent moments are assumed by default.
beta Overwrites the kurtosis found in the specified implant table.
beta2 Overwrites the second kurtosis found in the specified implant table for the
dual Pearson model.

Sentaurus Process User Guide 927


H-2013.03
A: Sentaurus Process Commands
implant

[Link] Specifies that the implant moments are cap (screening) layer dependent in
the dual Pearson model.
[Link] Specifies the file name suffix for Taurus tables that contain the required
implant damage data in the format
<ion>_damage_in_<material>_<suffix>.
[Link] Defines the implantation table containing moments for the primary and
lateral damage distributions.
damage Switches on or off the damage calculation based on the Hobler model.
[Link] Specifies the file name suffix for Taurus tables that contain the required
implant data in the format <ion>_in_<material>_<suffix>.
dataset Used for the data name that is created when an implant is performed.
[Link]

Switches on or off the lateral standard deviation depth dependency.


[Link]

Efficiency factor for the summation of layer thicknesses to calculate the total
screening (cap) layer thickness. The default is 1.
[Link]

Logical switch for the effective channeling suppression model. The default
is 1 for the Taurus/TSUPREM-4 mode, and 0 otherwise.
energy Specifies the plasma implantation energy for the species. If this parameter is
specified for a given ion species, the energy as specified will be used for this
species instead of the common energy as specified in the performing branch
of the implant command. Used for plasma implantation only.
[Link] Specifies the standard deviation of plasma implantation energy for the
species. If this parameter is specified for a given ion species, the value as
specified will be used for this species instead of the common energy as
specified in the performing branch of the implant command. Used for
plasma implantation only.
file Name of the file used in the [Link] implant model and the
[Link] mode.
[Link]

Specifies the amount of spatial shift for [Link]. The actual shift
occurs for interstitials. This parameter takes a list of numeric values. The
first, second, and third values in the list are taken as the x-, y-, and z-value,
respectively. The missing value is treated as zero.

928 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
implant

gamma Overwrites the skewness found in the specified implant table.


gamma2 Overwrites the second skewness found in the specified implant table for the
dual Pearson model.
gaussian, pearson, pearson.s, dualpearson, [Link]

Specifies which type of distribution to use.


[Link] Specifies that the effect of Ge needs to be taken into account if its
concentration is sufficiently large. Default is false.
[Link] Specifies the amount of spatial shift for plus interstitials and takes a list of
numeric values. The first, second, and third values in the list are taken as the
x-, y-, and z-value, respectively. The missing value is treated as zero.
[Link] Defines the implantation table containing moments for the primary and
lateral dopant distributions.
[Link] Scaling factor for the lateral standard deviation. The default is 1.
lat.scale2 Scaling factor for the second lateral standard deviation. The default is 1.
[Link] Overwrites the lateral standard deviation found in the specified implant table.
The default unit is μm .
lat.stdev2 Overwrites the second lateral standard deviation found in the specified
implant table for the dual Pearson model. The default unit is μm .
lexp Overwrites the linear exponential tail length found in the specified implant
table.
lexp2 Overwrites the second linear exponential tail length found in the specified
implant table.
<material> Specifies a material for which specification of model parameters is
performed. For information about specifying materials, see Material
Specification on page 50.
–3
[Link] Minimum concentration of the implanted species. The default unit is cm .
ratio Ratio between the amorphous part of the dose and the total dose for the dual
Pearson model.
rp Overwrites the projected range found in the specified implant table. The
default unit is μm .
rp2 Overwrites the second projected range found in the specified implant table
for the dual Pearson model. The default unit is μm .
species Name of one of the solution variables of the simulation, for example, Boron.

Sentaurus Process User Guide 929


H-2013.03
A: Sentaurus Process Commands
implant

stdev Overwrites the standard deviation found in the specified implant table. The
default unit is μm .
stdev2 Overwrites the second standard deviation found in the specified implant
table for the dual Pearson model. The default unit is μm .
tables Changes the implant tables and model switches in all materials. The settings
will be overwritten for one particular species if there is the species
keyword. Otherwise, the implant tables and model switches will be
overwritten for all species in all materials. The options that correspond to
different available tables are:
• Default (tables extracted from Monte Carlo simulations with Crystal-
TRIM).
• Dios (tables used by default in Dios).
• Tasch (University of Texas implant tables).
• AdvCal (makes the Default table data available in the Taurus Process
table format).
• Taurus (the Taurus Process table set).
• TSuprem4 (TSUPREM-4 native implant tables).
tilt Specifies the tilt angle for the species. If this parameter is specified for a
given ion species, the tilt angle as specified will be used for this species
instead of the common tilt as specified in the performing branch of the
implant command. Used for plasma implantation only.
[Link] Specifies the standard deviation of the tilt angle for the species. If this
parameter is specified for a given ion species, the value as specified will be
used for this species instead of the common value of [Link] as
specified in the performing branch of the implant command. Used for
plasma implantation only.
[Link] Specifies the name of the material as used in TSUPREM-4. This is used for
TS4-style tables only.
[Link] Specifies the prefix used in TSUPREM-4 native implant tables. Valid
prefixes include default, none, ch, dual, le, tr, ut, and scr.
[Link] Specifies the TS4 implant table name for the dopant, for example, chboron,
[Link]. This is used for TS4-style tables only.
[Link] Specifies the amount of spatial shift for plus vacancies and takes a list of
numeric values. The first, second, and third values in the list are taken as the
x-, y-, and z-value, respectively. The missing value is treated as zero.
[Link] Point of reference in y for the automated 1D Monte Carlo run.
[Link] Point of reference in z for the automated 1D Monte Carlo run.

930 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
implant

Performing an implantation

Adaptive Specifies with or without adaptive meshing for both analytic and Monte
Carlo implantation. Parameters for adaptive meshing are described in
Adaptive Meshing during Implantation on page 688. The default is the return
value of pdbGet Grid Adaptive.
average Specifies whether to average the as-implanted profiles over the reflected
domains in the case of TrueReflect boundary conditions. The default is
true if the tilt angle (or tilt2D in the case of a 2D structure) is less than 2° ,
and false otherwise.
backscattering

Switches on or off the integration algorithm that accounts for particles


backscattered from the surface. The default is true.
[Link] Switches to beam dose control. The default is 1 for the Taurus/TSUPREM-4
mode, and 0 otherwise.
cascades Runs Monte Carlo simulations in a full-cascade mode. The default is false.
conformity Specifies the conformal doping fraction between 0 and 1:
• conformity=0 is the standard implantation.
• conformity=1 is fully conformal doping.
contamination= {energy=<n> [Link]=<n>}

Specifies the energy contamination implantation parameters, where energy


is the contaminated energy, and [Link] is the fraction of the
specified dose. The contaminated dose is [Link] × dose , while
the main implantation dose is then ( 1 – [Link] ) × dose .
[Link] Defines a parameter used for the point-defect profile calculation in the
[Link] and [Link] models in the case of analytic implantation.
–2
The default unit is cm .
crystaltrim Selects simulation of ion implantation using the Monte Carlo simulator
Crystal-TRIM.
current Beam line current. The default value and unit is 0 A.
[Link] Specifies the column number of concentration data in [Link] used by
[Link]. The default column number is 2.
[Link] Specifies the file name of the data for [Link].
[Link] Specifies the maximum value of the concentration data to be loaded from
[Link]. Concentration data above [Link] is ignored by
30 –3
[Link]. The default value and unit is 1 ×10 cm .

Sentaurus Process User Guide 931


H-2013.03
A: Sentaurus Process Commands
implant

[Link] Specifies the minimum value of the concentration data to be loaded from
[Link]. Concentration data smaller than [Link] is ignored by
14 –3
[Link]. The default value and unit is 1 ×10 cm .
[Link] Specifies the units of the depth (x-)coordinate in [Link]. Valid values
are um, nm, and cm. The default value is um.
[Link] Specifies the column number of the depth (x-)coordinate in [Link]
used by [Link]. The default column number is 1.
[Link] Specifies the maximum value of the depth (x-)coordinate to be loaded from
[Link]. Depths greater than [Link] are ignored by
10
[Link]. The default value is 1 ×10 .
[Link] Specifies the minimum value of the depth (x-)coordinate to be loaded from
[Link]. Depths smaller than [Link] are ignored by
[Link]. The default value is the first depth data in [Link].
[Link] Selects the model used to calculate point defects. Possible choices are:
• The [Link] switch selects the +1 model.
• The [Link].n model dynamically calculates an NFactor
using an energy-dependent and a dose-dependent fitting formula.
• For [Link], interstitial and vacancy profiles are calculated from
the damage profile resulting from the last implantation.
• The [Link] model allows you to defined your own models.
dfactor Scaling factor for the damage profile calculation in analytic implant. The
default is 1.
14 –2
dose Dose of the implant. The default value and unit is 1 ×10 cm .
–2
[Link] Dose rate of the implant. The default unit is cm /s . If [Link] is
specified in the implant command, its value is used with the assumption of
a uniform dose rate. If it is not specified, the dose rate is calculated from the
DoseRate Tcl procedure in [Link]. This parameter is useful for
KMC only.
[Link] Standard deviation of implant energy for plasma implantation. The default is
0.0. Used for plasma implantation only.
energy Implant energy. The default value and unit is 250 keV.
[Link]

Logical switch that specifies that this command will extract the implant
moments from the ASCII data file as specified by [Link].

932 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
implant

extrude Logical switch for extruding the 1D or 2D structure into pseudo-3D structure
before analytic implantation. This makes 1D or 2D simulation results nearly
identical to those in 3D. The default is false.
flip Flips the profile loaded with [Link] to the left.
[Link] Scaling factor for the interstitial profile calculation in the [Link]
models. It is used for analytic implantation only.
[Link] Scaling factor for the vacancy profile calculation in the [Link]
models. It is used for analytic implantation only.
[Link]

Follows all particles in a Crystal-TRIM or Sentaurus MC run for a molecular


species. This is the default.
[Link] Logical switch for returning the implant moments instead of performing the
actual implantation. The return value of the implant command is a list of
key–value pairs. For example, for the Gaussian model, the return list would
be “model gaussian rp <n> stdev <n>”. For the dual Pearson model,
the return list would be “model dualpearson rp <n> stdev <n>
beta <n> gamma <n> rp2 <n> stdev2 <n> beta2 <n> gamma2
<n> ratio <n>”. The default is false.
iBCA Logical switch for the improved BCA (iBCA) damage model. The default is
false. This option is used in Sentaurus MC implantation only.
ifactor Scaling factor for the interstitial profile calculation in the [Link] and
[Link] models. It is used for the [Link] model in the case
of analytic implantation only. The default is 1.
[Link] Specifies the file name for storing the damage information in the internal
grid of Crystal-TRIM. This is not used in Sentaurus MC. This parameter is
deprecated.
info Specifies the information level. Recommended values are 1…3.
[Link] Plots the positions of implanted ions during a Monte Carlo run.
[Link]

Keeps the damage information stored at the internal grid between two runs of
Crystal-TRIM. This is not used in Sentaurus MC. This parameter is
deprecated.
KMC Switches on the KMC mode for MC implantation (both Crystal-TRIM and
Sentaurus MC). In this mode, dynamic annealing is performed with
Sentaurus Process KMC.

Sentaurus Process User Guide 933


H-2013.03
A: Sentaurus Process Commands
implant

left, right Direction specifiers for the flip command.


[Link] Loads an external profile specified with the file selector. You can select
either Crystal-TRIM or Sentaurus MC for an automated Monte Carlo run by
setting the model parameter in the parameter database, for example:
pdbSet MCImplant model crystaltrim
The default is [Link].
match Selects algorithms of simulation in multilayer structures using this parameter
whose options are:
• range selects the numeric range scaling algorithm. It is the used by
default.
• dose selects the dose-matching algorithm.
• no switches off both algorithms.
material Specifies the material for the [Link] parameter from which implant
moments are extracted. The default is silicon.
[Link] Maximum number of iterations to extract the dual-Pearson implant moments
from [Link]. The default value is 500.
[Link] Scaling factor for the damage profile calculated by Sentaurus MC. The
default value is 1.
[Link] Scaling factor for the interstitial profile calculation in the [Link]
models. It is used for Monte Carlo simulation only.
[Link] Scaling factor for the vacancy profile calculation in the [Link]
models. It is used for Monte Carlo simulation only.
mpp Switches on or off the multiprocess parallelization (MPP) feature for MC
implants. However, if the pdb parameter ParallelJobs is equal to 1, no
parallel jobs will be run even if this switch is on. The default is on. This
parameter is deprecated.
[Link] Specifies multiple stages of implants at different rotation angles. For
example, [Link]=4 means one quarter of the dose is implanted at the
first rotation angle, the next quarter at the original rotation angle plus 90° ,
the next quarter at the original rotation angle plus 180° , and the last quarter
at the original rotation plus 270° . The default is 1.
multiply Profile loaded with [Link] is multiplied by a factor.
[Link]

Specifies the oxide thickness for [Link] parameter. For oxide


thickness–dependent implant tables, the implant moments are interpolated
with respect to the specified oxide thickness. The default thickness is 0.0.

934 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
implant

pai Logical switch for the preamorphization implant (PAI) mode. The PAI model
takes preamorphization into account by converting the damage into effective
screening layer thicknesses used for the moment lookup in screening (cap)
layer-dependent tables. The default is 1 for the Taurus/TSUPREM-4 mode,
and 0 otherwise.
particles Number of pseudoparticles that will be started per surface segment during
MC simulation.
plasma Logical switch for plasma implantation. This option is valid for
Sentaurus MC implantation only.
[Link]= {<species1>=<n> <species2>=<n> ...}

Specifies a list of plasma ion species, where <species1>, <species2>,


and so on, can be any predefined species, and the number after each species
specifies the fraction of the total dose as specified by the dose parameter.
[Link]= {material=<c> thickness=<n> steps=<n>}

Specifies the parameters for deposition during plasma implantation, where


material specifies the deposit material, thickness specifies the total
thickness of the deposit material, and steps specifies the number of steps
Sentaurus Process will perform alternatively between MC implantation and
material deposition. The default thickness is 0.0, and the default number of
steps is 1.
[Link] Logical switch for point implant mode, in which all particles are implanted
into a central location of the implant surface. This option is valid for
Sentaurus MC implantation only.
postprocess Switches on postprocessing of *_LastImp datasets. This is the default.
postprocessonly

Postprocesses existing *_LastImp datasets only (implantation itself is


omitted).
[Link]

Uses the damage from the internal grid for a Crystal-TRIM run. This is not
used in Sentaurus MC. This parameter is deprecated.
preprocess Switches on preprocessing. This is the default.

Sentaurus Process User Guide 935


H-2013.03
A: Sentaurus Process Commands
implant

primary Defines the interpretation of the range and lateral range parameters. Possible
choices are:
• beam switches to the beam projection mode. In this case, the primary
moments are applied along the projection of the ion beam onto the
simulation plane, and the lateral integration is performed perpendicular to
the projection of the ion beam. This is the default in Sentaurus Process.
• wafer switches to the wafer normal mode. Here, the primary distribution
function and the moments are interpreted orthogonally to the wafer
surface.
[Link]

Logical switch for the profile reshaping model. Default is 1 for the Taurus/
TSUPREM-4 mode, and 0 otherwise.
randomize Switches to randomize the random seed (by using internal clock) each time
the command file is run. Therefore, each run will produce different results.
This parameter is used in MC implantation only. The default is false.
[Link] Logical switch for the proportional range shift mode. The channeling part of
the profile is shifted proportionally to the ratio of the amorphous and the
channeling range. The shift is the same for both contributions if the model is
switched off. The default is 1 for the Taurus/TSUPREM-4 mode, and 0
otherwise.
recoils Switches to recoil implant mode, such as simulating the oxygen knock-on
effect. This parameter is used in Sentaurus MC implantation only. The
default is false.
rotation Rotation angle of the wafer in the implanter. The default value and unit is
– 90° .
[Link] Specifies the offset for the projected ranges of the first and second Pearson
moments extracted by [Link]. The extracted projected ranges
are shifted by [Link]. The default value and unit is 0.0 μm .
save1d Specifies that the 1D profiles as calculated by Sentaurus MC implantation
will be saved in (x,y) format. These saved files have the particle names as the
file name extension. Valid for 1D or quasi-1D structure only.
[Link] Specifies the file name for the 1D profiles as calculated by Sentaurus MC
implantation. These saved files have the particle names as the file name
extension. Valid for 1D or quasi-1D structure only.
[Link] Specifies the unit of the x-axis for the 1D profiles as calculated by
Sentaurus MC implantation. The valid units are A, nm, and μm .

936 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
implant

[Link]

When this parameter is switched off, secondary ion fields (for example,
fluorine in a BF2 implantation) are not created for Monte Carlo implantation.
The default is on.
[Link] Selects simulation of ion implantation using the Monte Carlo simulator
Sentaurus MC.
shift Shifts the profile loaded with [Link] by a certain amount along the y-axis.
smooth Logical switch for smoothing the as-implanted profiles after MC
implantation. If [Link] is not specified, all the as-implanted
profiles will be smoothed. The default is false.
[Link] Specifies a set of fields to be smoothed. The valid fields are dopant names or
Damage. For example, for BF2 implantation, Boron, Fluorine, or Damage
are valid names.
[Link]

Specifies the smoothing distance for each field as specified in


[Link] parameter. The default smooth distance is 2.0 nm.
<species> Any of the previously defined species names can be specified for this
parameter.
temperature Implant temperature (wafer temperature). The default value and unit is
26.84°C .
tilt Angle normal to the substrate at which the impurity was implanted. The
default value and unit is 7° .
[Link] Standard deviation of the tilt angle for plasma implantation. The default is 0.
tolerance Error tolerance for convergence to extract the dual-Pearson implant moments
from [Link]. The default value and unit is 0.1%.
[Link]

Switches the TS4 backscattering model on or off. In this model, the portion
of the profile distribution which sticks out of the solid structure is assumed to
be lost, resulting in slightly less dose than the nominal dose. Default is false.
vfactor Scaling factor for the vacancy profile calculation in the [Link] and
[Link] models. It is used for the [Link] model in the case
of analytic implantation only. The default is 1.

Sentaurus Process User Guide 937


H-2013.03
A: Sentaurus Process Commands
implant

Examples: implant species=Boron tables=Dios


Changes all implant specifications for the species boron from the default to
the Dios implantation tables and models.

implant species=Boron Silicon [Link]=my_table.tab pearson !damage


Changes the default implantation table for boron in silicon to
my_table.tab and the implant model to pearson. It also switches off the
damage calculation for boron in silicon.

implant Phosphorus dose=1e14 energy=100


Specifies that a 100 keV implant of phosphorus is performed with a dose of
14 –2
1 ×10 cm . The previously assigned data files and models are used to
obtain range statistics.

implant Arsenic dose=1e15 energy=60 tmc [Link]=[Link]


15 –2
Specifies an implant of arsenic with a dose of 1 ×10 cm and energy of
60 keV. Sentaurus MC simulation will be used. Point-defect profiles will be
calculated from the damage profile.

938 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
init

init
Function: Sets up the mesh and background doping levels.
Syntax: init
[dfise=<c>] [tdr=<c>] [bnd=<c>] [sat=<c>] [sigmac=<c>]
[clear] [done] [[Link]] [pdb] [[Link]]
[Adaptive] [resistivity]
[field=<c>] [concentration=<n>][<m-3>|<cm-3>|<um-3>|<nm-3>]
[<material>]
[DelayFullD]
[[Link]= <numeric list>] [[Link]= <numeric list>]
[[Link]=<n>] [[Link]=<n>]
[[Link]=<n>][<degree>]
[top] [scale=<n>]

Description: Sets up the mesh from either a rectangular specification or a file. The
command also allows initialization of the background doping concentration
and type.
Options:

Adaptive When loading a TDR file containing geometry but no mesh, a mesh is
generated automatically. This parameter determines whether adaptive
meshing is used. The default is obtained from the pdb parameter
Grid Adaptive.
bnd Selects the .bnd format file for reading. This command reads the boundary
file (2D or 3D) and meshes it with MGOALS using the parameters and
refinement boxes previously defined.
[Link]

Specifies the orientation of the wafer miscut, in other words, the rotation
angle of the wafer normal with respect to the crystal coordinate system. This
parameter is used in both analytic and Sentaurus MC implantation. The
default value and unit is 0° ; in other words, the projection of the wafer
normal to the crystal plane formed by b- and c-axis is coincidental to the
<110> direction in silicon.
[Link] Specifies the magnitude of the wafer miscut, in other words, the tilt angle of
the wafer normal from the crystal c-axis. This parameter is used in both
analytic and Sentaurus MC implantation. The default value and unit is 0° , in
other words, no wafer miscut.
clear Clears all the current structure data in memory. The default is true.

Sentaurus Process User Guide 939


H-2013.03
A: Sentaurus Process Commands
init

–3
concentration Concentration of the incorporated data field. The only available unit is cm ,
but any nodal quantity (with any internal unit) can be initialized with this
parameter if no unit is specified. The default value is zero.
dfise Selects a pair of DF–ISE format files for reading. The .grd, .dat
or .[Link], .[Link] extensions are searched for automatically. So, if
dfise=filename is given, Sentaurus Process looks for [Link],
[Link], or [Link], [Link]. The DF–ISE
format has a different default orientation from the internal format of
Sentaurus Process. A rotation is applied to the structure.
done Returns 1 if the initialization is performed; otherwise, returns 0.
DelayFullD By default, Sentaurus Process generates a minimum-dimensional structure,
which will be extruded to higher dimensions when Sentaurus Process
encounters a ‘mask.’ To generate a full-dimensional structure,
specify !DelayFullD.
field Name of data field to be initialized everywhere in the structure.
[Link] Crystal orientation of the wafer flat or notch. The default is
[Link]= {1 1 0}.
[Link] Loads the commands in the TDR format file. The default is true.
<material> Specifies a material for doping. Must be used with the field parameter.
pdb Loads pdb parameters along with geometry and data in the TDR format file.
The default is true.
[Link] Loads only pdb parameters without geometry and data in the TDR format
file. The default is false.
resistivity Sets the value of the field by requesting a resistivity. This parameter only
works for fields that have the resistivity pdb parameters set (which, by
default, are only As, B, P, Sb, and In in silicon).
sat Specifies to read the structure file in the Sentaurus Structure Editor format.
scale Coordinates of the input structure are divided by the specified value. The
default is 1.0e4, which converts from DF–ISE standard (micrometer)
structures to Sentaurus Process internal standard (centimeter).
sigmac Specifies to read the structure file in Sigma-C 3D format.
[Link] Angle of the simulation domain with respect to the wafer coordinate system.
The default value and unit is – 90° .
The [Link] can be specified using a CutLine2D command:
init [Link]= [CutLine2D 1.65 0.15 1.95 0.6]

940 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
init

tdr Selects the TDR format file for reading. The _fps.tdr extension is
appended to the specified file name automatically if one is not supplied.

The TDR file can contain a variety of information depending on which tool
was used to write the file. By default, Sentaurus Process writes files with
enough information to restart a simulation. This includes current parameter
settings, stored commands (such as polygon, mask, contact), bulk mesh
and data, and, in 3D, a boundary (see Saving a Structure for Restarting the
Simulation on page 74). If such a file is specified, all this data is read and
used to restart the simulation. It is also possible to read TDR files that
include only bulk mesh and data, or only a boundary. If only a boundary is
available, Sentaurus Process will create a mesh using current refinement
criteria. Finally, a TDR file can contain information for restarting a
Sentaurus Process KMC simulation with a KMC structure and other restart
information. This type of file is saved by the kmc extract command if the
atomistic mode is switched on (see Atomistic Mode on page 371 and Using
the Sentaurus Process Interface on page 529).
If the --fastMode option is on and init does not find the specified file, it
looks for a .bnd file instead.
For information about the TDR format, refer to the Sentaurus Data Explorer
User Guide.
top Specifies that the gas is found at the smallest x-value (at the top of the
structure). If !top is specified, the gas is added at the highest x-value (at the
bottom). The default is true.
[Link] Wafer orientation. The default is [Link]= {0 0 1}.
Examples: init dfise=tmp
Reads in a structure previously saved in [Link] and [Link]
files.

init field=Boron concentration=1e15


15
Finishes a rectangular mesh and sets up a boron doping of 1 ×10 .
See: line on page 969, region on page 1047, struct on page 1086

Sentaurus Process User Guide 941


H-2013.03
A: Sentaurus Process Commands
insert

insert
Function: Inserts segments in 1D, polygons into 2D structures, and polyhedra into 3D
structures.
Syntax: insert
[Adaptive]
segments= {<n_1> <n_2> ...} | polyhedron=<phname> | polygon=<poname>
[[Link]= {<mat_1> ... <mat_n>}]
[[Link]= {<reg_1> ... <reg_n>}]
[[Link]=<matname>] [[Link]=<regname>]

Description: Inserts segments in 1D, polygons in 2D, and polyhedra in 3D. Segments are
defined using the segments parameter, but polygons and polyhedra must be
defined using the polygon and polyhedron commands, respectively. One
of the following parameters must be specified: segments, polyhedron, or
polygon. Other parameters are optional.

When specified, [Link] and [Link] provide a


list of materials and regions to be replaced. If neither is specified, all
materials will be replaced. If both are specified, the union of them will be
replaced. The parameter [Link] changes the polyhedron material
temporarily.

The insert command can be used to perform polyhedron or polygon


etching and deposition as well as the more general polyhedron or polygon
insert functionality. Polyhedron or polygon etching is performed by
specifying [Link]=gas or by creating a gas polyhedron. You also
can do the same in one dimension with segments, but this is the same as
CMP or fill. Polyhedron or polygon deposition is performed by specifying
[Link]=gas as well as having one or more bulk materials in
the polyhedron or polygon, or defining them temporarily with
[Link].

This command operates only in the MGOALS3D mode for polyhedra. If the
SDE mode is switched on, calling this command will set sde off.
Options:

Adaptive If remeshing, this parameter determines whether adaptive meshing is used.


The default is obtained from the pdb parameter Grid Adaptive.
[Link] Sets the material for the inserted segment, polyhedron, or polygon. This
parameter is mandatory for all but TDR polyhedra or polygons.

942 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
insert

[Link] Sets the name of the inserted region. It works with one segment or polygon
only, that is, it does not work if the segment, polygon, or polyhedron contains
more than one region.

NOTE: This parameter is not allowed for TDR polyhedra.


polygon Uses <poname> as the polygon to insert. Only polygons created with the xy
option are allowed (see polygon on page 1024). It fails if the simulation is
3D or if it is 1D and cannot be extruded to 2D because there are no y-lines
available.
polyhedron Uses <phname> as the polyhedron to insert. It needs a 3D simulation or a
simulation that can be extruded to 3D.
[Link]

Specifies a list that indicates the materials to be replaced by the polyhedron.


In addition to explicit materials, the keyword [Link] is allowed.
If [Link] is used, it means that all materials in the structure,
except gas, will be replaced.
[Link]

Specifies a list of regions to be replaced by the polyhedron.


segments Segments are defined as a list of an even number of coordinates (in μm ). If
more than two coordinates are specified, unique region names are generated
for each segment/region.
Examples: insert polyhedron=prism [Link]=Gas
Etches the structure using a polyhedron called prism.

insert polyhedron=smallCube [Link]=Oxide


Replaces all the materials in the structure with a polyhedron called
smallCube. The polyhedron will be filled with oxide.

insert polyhedron=smallCube [Link]= { Nitride } \


[Link] = Oxide
Replaces the nitride, and only the nitride, in the simulation with oxide inside
the polyhedron called smallCube.

mater add name=Silicon2 [Link]=Silicon [Link]=Silicon


insert polygon=Channel [Link]=Silicon2 [Link]=ChannelRegion
Replaces all the materials in the structure with a polygon called Channel.
The polygon will be filled with material Silicon2 and the region is named
as ChannelRegion. This polygon can be inserted without merging with
neighboring silicon regions.

Sentaurus Process User Guide 943


H-2013.03
A: Sentaurus Process Commands
insert

See: Inserting Polyhedra on page 765, polyhedron on page 1027, polygon on


page 1024

944 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
integrate

integrate
Function: Returns volume integration of named quantity.
Syntax: integrate
[name=<c>] [<material>] [region=<c>]
[element] [absolute] [average] [interfaces] [skipgas]
[min= {<n> <n> <n>}] [max= {<n> <n> <n>}]
[mode= mesh | boundary | jagged]
[[Link]=<c>]

Description: Integrates the field specified with the name parameter (by default, the last
unnamed select command field) over the entire structure or within a given
box specified by the min and max parameters. If material is specified, the
integration is limited to regions of the given material. If a region is specified,
the integration is limited to only the named region.

The modes for integration within a given box are:


• The mesh mode (default) uses a mesh-cutting algorithm.
• The boundary mode for three dimensions cuts the boundary to a cuboid
and remeshes the cuboid using the given mesh refinements.
• The jagged mode simply includes all nodes contained entirely within
the given box for integration.

The command by default expects the quantity to be nodal and the integration
is performed nodewise, but if the element parameter is given, an elemental
quantity is expected and the integration proceeds elementwise.

A Tcl list is returned where the first value is the integrated value. The second
value is the volume of the computed regions (in <value unit>*cm for 1D,
2 3
in <value unit>* cm for 2D, and in <value unit>* cm in 3D where
<value unit> is the unit of the named quantity). The third value is the
–2
dose (the integrated value divided by the simulated area in cm in all
dimensions). The fourth and fifth values are the minimum and maximum of
the named quantity, respectively. If the parameter average is specified, the
averaged result for the named quantity is appended to the returned Tcl list.
Options:

absolute Specifies that integration is performed with the absolute values of the named
quantity.
average Specifies that the average value of the named quantity is computed and
added to the returned Tcl list.

Sentaurus Process User Guide 945


H-2013.03
A: Sentaurus Process Commands
integrate

element Specifies that integration is performed elementwise. In this case, it is


expected that the quantity specified by name is an elemental quantity.
interfaces Specifies that integration is performed on interface meshes.
<material> Used to limit integration to regions of the specified material. For information
about specifying materials, see Material Specification on page 50.
max List of numbers defining the x-, y-, and z-coordinates of the lower-right front
corner of the cutting box in the internal coordinate system. For 1D, 2D, and
3D structures, a list of one, two, or three numbers is required, respectively.
The possible maximum number is used for missing numbers.
min List of numbers defining the x-, y-, and z-coordinates of the upper-left back
corner of the cutting box in the internal coordinate system. For 1D, 2D, and
3D structures, a list of one, two, or three numbers is required, respectively.
The possible minimum number is used for missing numbers.
mode Specifies the integration mode. Available modes are mesh, boundary, and
jagged. The boundary mode is for 3D only. The default is mesh.
name Quantity to be integrated. The default is Z_Plot_Var.
region Limits integration to only the region specified.
skipgas Specifies that integration is omitted on invisible meshes.
[Link]

Sets a value to be returned only during syntax-checking mode. Sometimes,


the value returned by a command can cause a false syntax-check error
because the value returned by the command would not be the value during
normal run mode. Setting this value avoids such problems.

946 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
integrate

Examples: integrate silicon name=Boron


Returns the integral boron in all silicon regions in the structure, the volume
of all silicon regions, and the combined boron dose in all silicon regions.

select z= "1.0/3*(StressELXX+StressELYY+StressELZZ)"
integrate element
Returns the integrated pressure elementwise in the whole structure (not
including gas), the volume of the structure (not including gas), and the dose
of pressure not including gas, which in this case is not necessarily a useful
number.

integrate name=Boron average min= {0. 0.} max= {10. 0.2}


Returns a list of integral, volume, dose, minimum, maximum, and average
values of boron within the box defined by upper-left corner (0.0, 0.0) and
lower-right corner (10.0, 0.2).

sel z=BActive
integrate silicon
Returns the integrated term BActive, the volume and the combined dose in
all silicon regions in the structure. The term BActive is first converted to a
temporary data field before integration.

integrate name=Boron mode=jagged min= {0. 0. 0.} max= {0.4 0.4 0.4}
Returns a list of integral, volume, dose, and minimum and maximum of
boron within the cuboid defined by upper-left back corner (0.0, 0.0, 0.0) and
the lower-right front corner (0.4, 0.4, 0.4).

Sentaurus Process User Guide 947


H-2013.03
A: Sentaurus Process Commands
interface

interface
Function: Returns the location or the value of the selected data field at a material
interface.
Syntax: interface
[name=<c>] [<material>]
[data] [side=<c>] [All]
[x=<n>][<m>|<cm>|<um>|<nm>]
[y=<n>][<m>|<cm>|<um>|<nm>]
[z=<n>][<m>|<cm>|<um>|<nm>]
[p1= {<n> <n> <n>} & p2= {<n> <n> <n>}]
[precision=<n>]
[[Link]=<c>]

Description: Returns the position of an interface, or returns the value of the selected data
field if data is specified. Therefore, the command can be used to prepare
plots of material thickness, silicon consumption, or material growth. It also is
used to provide an argument to the interpolate command, which returns
a list if there is more than one interface. The list processing commands of
Tcl, particularly lindex, are very helpful.
Options:

All If specified, all interface locations are returned. Otherwise, only the first
value is returned.
data If specified, the value of the selected data field at the interface will be
returned.
<material> Usually works with an interface description and returns the location or value
of the selected quantity at the interface.
NOTE: If an interface is not specified, an error occurs. If the specified
interface does not exist in the current structure, an error is reported. For
information about specifying materials, see Material Specification on
page 50.
name Specifies the name of the data field to be returned when data is specified. The
default is Z_Plot_Var.
p1, p2 Specify the two endpoints of a cutline; each is a list of numbers. Only the
first <dim> numbers from each list is read, where <dim> is the spatial
dimension of the simulation. Specifying the endpoints with p1 and p2 allows
for nonaxis-aligned cuts. Endpoints also can be used to limit axis-aligned
cuts instead of cutting through the entire structure.
precision Controls the number of precision digits of floating values (in scientifc
notation). The default value is 6.

948 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
interface

side Takes its value from one of the two bulk materials consisting of the interface
or the ‘interface’ (literally) itself. If side is not specified, the ‘interface’
itself is assumed. If side is specified as one of the bulk materials, the value
of the selected data field for the bulk material is returned. This parameter is
effective only if the parameter data is specified.
[Link]

Sets a value to be returned only during syntax-checking mode. Sometimes,


the value returned by a command can cause a false syntax-check error
because the value returned by the command would not be the value during
normal run mode. Setting this value avoids such problems.
x, y, z Provide the description of a line to look for the interface. It is unnecessary in
1D simulation. In 2D, one of x and y must be specified. In 3D, two of these
must be specified. The default unit is μm . The default values are zero.
Examples: interface y=1.0 silicon /oxide
Returns the silicon–oxide interface at a lateral position of 1.0 μm .

interface oxide /gas


Returns the top position of the oxide.

interface p1= { 1.0 1.0 } p2= { 1.1 1.1 } Nitride /Oxide


Returns any oxide–nitride interfaces between (1.0, 1.0) and (1.1, 1.1). This
specification is valid for one or two dimensions, but not three dimensions. In
one dimension, it returns the interfaces between 1.0 and 1.1.
See: interpolate on page 950, [Link] on page 1021, [Link] on page 1023

Sentaurus Process User Guide 949


H-2013.03
A: Sentaurus Process Commands
interpolate

interpolate
Function: Returns the request position or value at a specified location.
Syntax: interpolate
<material> [name=<c>]
[x=<n>][<m>|<cm>|<um>|<nm>]
[y=<n>][<m>|<cm>|<um>|<nm>]
[z=<n>][<m>|<cm>|<um>|<nm>]
[value=<n>] [[Link]=<c>]

Description: Analyzes simulation results. (This is a powerful command.) It returns the


interpolated value of one coordinate given the other two coordinates in the
3D defined by x- and y-variables, and the data field. It also works for 1D
simulation by returning values as a function of one coordinate.

This function may return a Tcl list of values if more than one is found. For
example, there may be several junctions found along a given line. All of
these are returned and can be processed by normal Tcl list operations. For
most cases, this command return a single value.

This command has multiple uses. It can return the data value at a specified
position in the structure or return the position at which a specified data value
occurs.
Options:

<material> Mandatory. Limits the search to a single material. For information about
specifying materials, see Material Specification on page 50.
name Specifies name of a data field. This allows printing without using the
select or tclsel commands. The default is Z_Plot_Var.
[Link]

Sets a value to be returned only during syntax-checking mode. Sometimes,


the value returned by a command can cause a false syntax-check error
because the value returned by the command would not be the value during
normal run mode. Setting this value avoids such problems.

950 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
interpolate

x, y, z, value

The combination of these parameters determines how the command


operates. In 1D, you must supply either x or value. If x is supplied,
Sentaurus Process returns the value at x. If value is supplied, Sentaurus
Process returns the locations at which the selected profile crosses value. In
2D, two of four parameters must be given (not z). In 3D, three of the four
parameters must be given. For example, in 2D, if x and value are given, the
locations along x where value is crossed are returned. If x and y are given,
the value at the location (x, y) is returned.
Examples: interpolate oxide x=1.0 y=1.0
Returns the value of the data field at the position ( 1.0 μm , 1.0 μm ) in the
oxide.

interpolate y=0.0 silicon value=0.0


Returns a list of zero crossings in silicon of the data field along the vertical
line y = 0.0 μm .

interpolate silicon x=2.0 value=0.0


Returns a list of zero crossings in silicon along a horizontal line at a depth of
2.0 μm .

interpolate x=1.0 silicon


Returns the value of the data field at 1.0 μm .

interpolate silicon val=0.0


Returns a list of zero crossings in the silicon material.
See: interface on page 948, [Link] on page 1021, [Link] on page 1023

Sentaurus Process User Guide 951


H-2013.03
A: Sentaurus Process Commands
KG2E

KG2E
Function: Computes Young’s modulus from bulk modulus and shear modulus.
Syntax: KG2E <n> <n>

Description: Computes Young’s modulus from the bulk modulus (the first value) and the
shear modulus (the second value).
The same units are assumed for all moduli.
Examples: KG2E 1.2272e12 6.328e11
Computes the Young’s modulus from the bulk modulus 1.2272e12 dyn/cm2
and the shear modulus 6.328e11 dyn/cm2.

952 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
KG2nu

KG2nu
Function: Computes the Poisson ratio from bulk modulus and shear modulus.
Syntax: KG2nu <n> <n>

Description: Computes the Poisson ratio from the bulk modulus (the first value) and the
shear modulus (the second value).
The same units are assumed for all moduli.
Examples: KG2nu 1.2272e12 6.328e11
Computes the Poisson ratio from the bulk modulus 1.2272e12 dyn/cm2 and
the shear modulus 6.328e11 dyn/cm2.

Sentaurus Process User Guide 953


H-2013.03
A: Sentaurus Process Commands
kmc

kmc
Function: Specifies options for the atomistic kinetic Monte Carlo (KMC) mode.
Syntax: kmc
(add |
(add queue name=<c> [amorphous | crystalline]
{coordx=<n>[<m>|<cm>|<um>|<nm>]}
{coordy=<n>[<m>|<cm>|<um>|<nm>]}
{coordz=<n>[<m>|<cm>|<um>|<nm>]} ))
{clustertype name=<c>} |
{deatomize name=<c> [active] [<material>]} |
{[Link]=<filename>} |
{[Link]=<filename> [defectname=<c>] [materialname=<c>]} |
{defecttypes [<material>]} |
(extract
(acinterface
[coordx=<n>][<m>|<cm>|<um>|<nm>]
[coordy=<n>][<m>|<cm>|<um>|<nm>]
[coordz=<n>][<m>|<cm>|<um>|<nm>])) |
(defects
[name=<c>] [defectname=<c>] [materialname=<c>]
[countparticles] [countdefects] ([acinterface] [detailed])) |
(dose
[name=<c>] [defectname=<c>] [materialname=<c>] [countdefects]) |
(histogram
name=<c> [materialname=<c>] [meansize [minsize=<u>]]) |
(materials
[detailed]
[coordx=<n>][<m>|<cm>|<um>|<nm>]
[coordy=<n>][<m>|<cm>|<um>|<nm>]
[coordz=<n>][<m>|<cm>|<um>|<nm>]) |
(profile
name=<c> [timeaveraged] [materialname=<c>] [defectname=<c>]
[coordx=<n>][<m>|<cm>|<um>|<nm>]
[coordy=<n>][<m>|<cm>|<um>|<nm>]
[coordz=<n>][<m>|<cm>|<um>|<nm>]) |
(supersaturation {name=<c>}) |
(tdrAdd [concentrations] ([defects] | [visual=<l>]) [histogram]
[list=<l>] [stress]) |
(tdrClear) | (tdrWrite {filename=<c>}) | ) |
materialtypes | off | particletypes | PDEupdated |
present {name=<c>} | report
)

954 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
kmc

Description: Interface to send direct instructions to Sentaurus Process Kinetic Monte


Carlo (Sentaurus Process KMC), which is used for diffusion. The main
options are:
• add to create defects in the simulation.
• deatomize to create fields according to the atomistic concentrations.
• extract to obtain physical information (mainly concentrations) on the
simulation. extract has many different options and the most important
are: defects, dose, histogram, profile and tdrAdd, tdrClear,
and tdrWrite.
Options:

acinterface The command kmc extract acinterface returns the 1D coordinates of


the amorphous–crystalline transitions present in the simulation. If the
simulation has N dimension, it needs N – 1 cutlines, specified with
coordx, coordy, or coordz.
The command kmc extract defects acinterface returns the
atomistic position of lattice atoms in the amorphous–crystalline interface,
when using the LKMC recrystallization mode.
active Used by kmc deatomize to deatomize only the active part of a dopant.
add Instructs Sentaurus Process KMC to add a new defect into the simulation
cell. The defect to be included must be first sent to the queue, using kmc add
queue. Here, the defect is specified with name, and the coordinates with
coordx, coordy, and coordz. When all defects are in the queue, the
command kmc add, without any other parameter, passes the defects from
the queue to Sentaurus Process KMC, erasing the queue.
amorphous When added to kmc add, creates the defect and changes the material to
amorphous.
clustertype Defines the type of defect specified in name. For example, kmc
clustertype name=I56 returns if this cluster is considered an amorphous
pocket (AP), a {311}, or a loop.
concentrations Instructs Sentaurus Process KMC to generate concentration information to
be included in the TDR file. It is used with kmc extract tdrAdd.
coordx, coordy, coordz

Specify the x-, y-, and z-coordinates needed for the command kmc add
queue. They also are used to specify cutlines in the commands kmc
extract profile and kmc extract materials.

Sentaurus Process User Guide 955


H-2013.03
A: Sentaurus Process Commands
kmc

countdefects Used with kmc extract defects to instruct Sentaurus Process KMC to
count the number of defects instead of listing the particles in the defects.
Used with kmc extract dose to compute the dose of defects, not
particles. For example, the dose of loops is different from the dose of
particles in loops.
countparticles Used with kmc extract defects to instruct Sentaurus Process KMC to
count and return the number of particles, instead of listing them.
crystalline When added to kmc add, creates the defect in a crystalline phase of the
material, locally recrystallizing the area where the defect will be added when
necessary.
deatomize Instructs Sentaurus Process KMC to build a new data field and fill it with the
concentrations taken from the KMC simulation. name is the field to create.
For deatomize, the parameter name also can be XTotal or NetActive,
where X means any dopant. It accepts the active flag to account for the
active part of the dopant only.
defectname Specifies an optional name of a defect (ThreeOneOne,
ImpurityCluster, ...) for kmc extract profile, kmc extract
defects, kmc extract dose, and kmc [Link]. This option is
used to further refine the option name. For example, if name is I, using this
option refines these interstitials to interstitials as point defects, or in impurity
clusters, and so on.
defects Using kmc extract defects returns the defects currently present in the
simulation.
Using kmc extract tdrAdd defects appends to the TDR file an
atomistic 3D view of the defects currently contained in the simulation,
allowing visualization, and loading and continuing the simulation.
[Link] Specifies the name of a text file from which to read its defects and insert
them in the current simulation.
[Link] Specifies the name of a text file into which to write all the current defects in
the simulation. Use the parameters defectname and materialname to
filter the defects written.
defecttypes Using kmc defecttypes returns the name of the defects that can be used
by the option defectname.

956 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
kmc

detailed Produces different results depending on the context.


• kmc materials detailed returns the current list of materials for each
internal KMC element, including the element coordinates.
• kmc extract defects acinterface detailed works as extract
defects acinterface, but returns all the lattice atoms in the LKMC
model, and not solely those ones belonging to the amorphous–crystalline
interface.
–2
dose Using kmc extract dose returns doses (concentration in cm ). The
option countdefects returns the dose of defects, instead of the dose of
particles (which is the default). The defects and particles included in this
dose are refined with the parameters name and defectname.
extract The command kmc extract retrieves information about the current status
of the KMC simulation. This information is mainly concentrations,
histograms, and atomistic positions and types of the defects. kmc extract
also is used to control the information written to the TDR file.
It is mandatory to use another option together with the kmc extract
command. Available options are:
• defects to obtain the current list of particles in the simulation.
• dose to compute and return the dose of given particles or defects or both.
• histogram to retrieve the number of defects depending on their size.
• materials to retrieve the materials currently in the simulation.
• profile to return the concentration of particles, defects, electrons, and
holes in the simulation or any cutline of the simulation.
• supersaturation to return the concentration relative to equilibrium
for interstitials and vacancies.
• tdrAdd, tdrClear, and tdrWrite to control the information to be
written to the TDR file.
filename Specifies the name of the TDR file to be written by the command
kmc extract tdrWrite.
histogram The command kmc extract histogram returns the number of defects for
each defect size. The parameter name determines the returned histogram. If
name is XI or XV (X being a dopant or impurity), it returns the histogram of
impurity clusters for that dopant with Is or Vs. If the name is I or V, it
produces the histogram of I or V extended defects. Finally, if the name is set
to IV, it returns the AP histograms.
If the option meansize is included, the returned value is not a list of defects
and sizes, but the average size for these defects. The minimum size for
computing this average is zero by default, but it can be changed using the
option minsize.
If histogram is added to the kmc extract tdrAdd command, it will
include histogram information in the TDR file.

Sentaurus Process User Guide 957


H-2013.03
A: Sentaurus Process Commands
kmc

list Adds a list of fields to be included in the TDR file. This parameter is used in
the kmc extract tdrAdd command. Any specific defect name is allowed,
and generic defect names (as obtained by kmc defecttypes) also are
allowed. For example, I8 adds this cluster to the TDR file, but
AmorphousPockets adds any AP existing in the simulation.
<material> Specifies the material name for the options deatomize or clustertype.
For information about specifying materials, see Material Specification on
page 50.
materialname Restricts the output to the material specified.
materials The command kmc extract materials returns the list of materials
currently present in the simulation.
The command kmc extract materials detailed returns the
coordinates and materials of the KMC elements. materialname=<c> adds
a condition to the output of kmc extract defects, profile, dose, and
histogram.
materialtypes Returns the subset of materials allowed in the Sentaurus Process KMC
simulation. Any material not listed here is assigned as ‘unknown’
meansize Can only be used together with kmc extract histogram. It instructs
Sentaurus Process KMC to compute the average size for the specified defect
type. The minimum size needed to take the defect into account is 0, unless
minsize is specified.
minsize Can only be used together with kmc extract histogram meansize. It
instructs Sentaurus Process KMC to use the specified value as the minimum
size to take any cluster into consideration when computing the average
cluster size.

958 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
kmc

name Specifies the name of the field, particle, or defect for the following options.
In the following, X is the name of a valid dopant (such as B or As). Any
defect means very detailed defects such as B2I3, I8, I4V5, and AsV4. Any
particle means point defects, dopants, impurities, or impurity- and dopant-
paired point defects in any charge state, in other words, any name obtained
with the command kmc particletypes (for example, I, VMM, BiP,
or F):
• add is name of the defect or particle to be added. XAmorphous and
XInterface also are acceptable.
• histogram: XI, XV, I, V, and IV are the only valid names.
• profile is any defect or any particle. Holes, electrons, XAmorphous,
and XInterface also are valid.
• defects is any defect or any particle.
• dose is any defect or any particle.
• supersaturation allows only I or V.
• deatomize is any defect or any particle. XAmorphous, XInterface,
XTotal, NetActive, pNetActive, nNetAtive, and tNetActive also are valid.
• present is any defect or any particle. XAmorphous, XInterface, and
XTotal also are acceptable.
• clustertype is any defect.
off Using kmc off deletes the Sentaurus Process KMC information and
removes the current KMC object from memory.
NOTE: Use with caution.
particletypes Returns a list of valid particle names. This list may change between
simulations, depending on the dopants specified in the parameter database.
PDEupdated Returns true if the state of Sentaurus Process KMC did not change since the
last time the PDEs were synchronized (by using KMC2PDE).
present Returns true (1) when the species specified in name is in the KMC
simulation.

Sentaurus Process User Guide 959


H-2013.03
A: Sentaurus Process Commands
kmc

profile Using kmc extract profile returns concentrations. These


concentrations contain 1D, 2D, or 3D information depending on the
simulation dimension. Cutlines can be specified with coordx, coordy, and
coordz. Each of these parameters reduces the dimensions of the output by
1. The concentrations in 1D simulations can be directly compared with SIMS
profiles.

The parameter name specifies the particle or defect from which the
concentration is obtained. If name is a valid particle name (see
particletypes), the parameter defectname can be used with a valid
defect name (see defecttypes) to further refine name. When a particle is
specified in name, profile returns the concentration of particles;
otherwise, it returns the concentration of defects.

Some particular names that can be used are:


• holes, electrons, GapNarrowing, and gap for electronic
concentrations.
• stressXX, stressXY, stressZZ, strainXX, strainYY, strainZZ,
strainXY, strainXZ, and strainYZ for mechanical properties.
• dopants for the net active concentration.
• Ge for the germanium concentration.
queue Adds the new defect, specified with name, into the simulation at the
coordinates coordx, coordy, and coordz. Adding defects to the queue will
not put them in the KMC simulation. To transfer the defects from the queue
to the simulation, use the command kmc add, without any other parameter.
report Instructs Sentaurus Process KMC to generate a list of defects created during
the simulation. This list includes the first and last time and temperature the
defect was seen. If the defect is still in the simulation, the report also gives
the number of defects. In addition, a report is printed automatically at the end
of the diffuse and implant commands.
stress When added to kmc extract tdrAdd, it adds the stress and strain
distribution as imported by Sentaurus Process KMC.
supersaturation Using kmc extract supersaturation returns the value of the global
supersaturation (concentration over equilibrium concentration). The
parameter name must be specified. This parameter can only be I or V.

960 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
kmc

tdrAdd Using kmc extract tdrAdd instructs Sentaurus Process KMC to add a
new ‘snapshot’ of information ready to be written into a TDR file. This
information is stored in memory and is written using the command
kmc extract tdrWrite. tdrAdd without options will add an empty
snapshot. The tdrAdd options are:
• concentrations computes and adds 1D, 2D, or 3D concentrations for
each particle and defect.
• defects adds atomistic 3D information. It allows you to see the defects
shape and position, and to load and continue the simulation.
• histogram adds histograms for extended defects and impurity clusters.
• list adds user-specified defects. For example, concentrations only
adds ‘I in ThreeOneOne’, but list can be used to add I45, I65, and so on.
Specifying the name of a defect (as obtained in kmc defecttypes) adds
all the clusters in this particular defect for each existing size in the
simulation.
• stress includes stress fields in the file.
tdrClear Using kmc extract tdrClear removes all the snapshots previously
added with kmc extract tdrAdd from memory.
tdrWrite Using kmc extract tdrWrite instructs Sentaurus Process KMC to write
all the snapshots (previously added with tdrAdd) to a file. The name of the
file is specified using the option filename.
timeaveraged Must be used with kmc extract profile. It generates time-averaged
concentrations of particles, instead of instantaneous ones. The averaging is
performed between two snapshots. Since this option only makes sense for
mobile particles, the parameter name must be a valid particle, not a defect.
visual When added to kmc extract tdrAdd, it includes atomistic information
that can be used for visualization purposes only, and not for restarting (in
contrast with the defects option).

visual attempts to produce a file as small as possible without losing


atomistic information. A list of the type of defects to be saved must
accompany visual. The generic defects (that is, ThreeOneOne, Void),
specific ones (such as B2I3), or materials (Silicon) specified act as filters
for the defects to be save.

To save all of them, use visual=all.

Sentaurus Process User Guide 961


H-2013.03
A: Sentaurus Process Commands
kmc

Examples: kmc add queue coordx=10<nm> coordy=15<nm> coordz=6<nm> name=I8


kmc add queue coordx=3<nm> coordy=8<nm> coordz=7<nm> name=B2I2
kmc add queue coordx=5<nm> coordy=5<nm> coordz=5<nm> name=Bi
kmc add
Creates an I8 clusters, a mobile B in interstitial position and the BIC B2I2 in
the queue, and it adds the queue to the KMC simulation.

kmc clustertype name=I543


Returns whether an I543 is a ThreeOneOne or a Loop in this simulation.

kmc deatomize name=BTotal


Creates a BTotal data field. This field will be computed by Sentaurus
Process KMC including all the boron in any defect in the simulation.

kmc deatomize name=As4V


Creates an As4V data field, filled with the As4V information taken from the
KMC simulation.

kmc defecttypes
Returns a list of the different defect types modeled by Sentaurus
Process KMC.

kmc extract defects


Returns a list containing the particles currently in the KMC simulation,
including its defect type, defect number, and coordinates. Particles with the
same defect number belong to the same defect.

kmc extract defects name=I


Returns a list of each I particle currently in the KMC simulation.

kmc extract defects name=B defectname=ImpurityCluster


Returns the B particles in impurity clusters currently in the simulation.

962 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
kmc

Examples: kmc extract defects name=B2I3 countparticles


Returns the number of particles in B2I3 defects.

kmc extract defects name=B2I3 countdefects


Returns the number of B2I3 defects in the simulation.

kmc extract defects detailed


Returns a list of particles currently in the KMC simulation. It also returns the
‘hidden’ particles, which are regenerated by Sentaurus Process KMC using
internal information (see Damage Accumulation Model: Amorphous Pockets
on page 420).

kmc extract defects name=As4V


Returns the As4V defects present in the simulation.

kmc extract profile name=electrons


Returns the electron concentration computed by Sentaurus Process KMC.

kmc extract histogram name=BI


Returns the BIC histograms.

kmc extract histogram name=I minsize=40


Returns the average size of I in extended defects. The minimum size to be
included in this average is set to 40.

kmc extract profile name=I2V3


Returns the concentration of I2V3 defects.

kmc extract profile name=holes


Returns the concentration of holes in the KMC simulation.

kmc extract profile name=B


Returns the concentration of boron in any defect.

kmc extract profile name=B defectname=PointDefect


Returns the concentration of substitutional boron.

kmc extract dose name=I defectname=ThreeOneOne


–2
Returns the dose (concentration in cm ) of interstitials in {311}s.

kmc extract materials


Returns the list of materials currently present in the simulation.

kmc extract materials detailed


Returns the coordinates of each KMC element and its material.

Sentaurus Process User Guide 963


H-2013.03
A: Sentaurus Process Commands
kmc

Examples: kmc extract profile timeaveraged name=I


Returns the concentration of mobile interstitials in the simulation.

kmc extract supersaturation name=I


Returns the interstitial supersaturation.

kmc extract tdrClear


kmc extract tdrAdd concentrations defects
kmc extract tdrWrite filename=[Link]
Clears all the previous stored information, adds a new snapshot with the
concentration of particles and the atomistic information for any defect, and
writes the information in a TDR file called [Link]. Since the option
defects is included, this file also can be used to load and continue the
simulation.

kmc materialtypes
Returns the list of materials supported by Sentaurus Process KMC.

kmc particletypes
Returns the list of particles supported by Sentaurus Process KMC. This list
can be changed using pdb commands.

kmc present name=BI2


Returns true (1) or false (0) depending on the presence of BI2 in the
simulation.

kmc off
Exits Sentaurus Process KMC and removes all its associated information
from memory.

kmc report
Prints a list of the simulated defects with the first and last time and
temperature they were seen in the simulation.

kmc extract profile name=B2I2 coordx=10<nm>


In 1D, returns the concentration of B2I2 at x = 10 nm.
In 2D, returns the concentration of B2I2 in the line x = 10 nm.
In 3D, returns the concentration of B2I2 in the plane x = 10 nm.

kmc extract profile name=B2I2 coordx=10<nm> coordz=15<nm>


Returns the concentration in the line y with x = 10 nm and z = 15 nm.

kmc extract tdrAdd list={ThreeOneOne BI2 B2I2}


Creates a TDR snapshot with any {311} defect and the BI2 and B2I2 defects.

964 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
kmc

See: deposit on page 870, diffuse on page 875, etch on page 889,
implant on page 926, integrate on page 945, line on page 969,
photo on page 1010, profile on page 1033, region on page 1047,
select on page 1053, stressdata on page 1081, struct on page 1086
For more details on Sentaurus Process KMC, see Chapter 5 on page 369.

Sentaurus Process User Guide 965


H-2013.03
A: Sentaurus Process Commands
KMC2PDE

KMC2PDE
Function: Translates the atomistic KMC atomistic information to Sentaurus Process.
Syntax: KMC2PDE

Description: Translates the atomistic information stored in the KMC diffusion into
continuum five-stream quantities, and transfers it into the standard Sentaurus
Process mesh. Consequently, there are two transformation involved here:
• Deatomization of particles into concentrations
• Translation of the Sentaurus Process KMC field names into Sentaurus
Process field names

The deatomization is performed in a standard way by calling


kmc deatomize for each existing Sentaurus Process KMC field. If the
Sentaurus Process mesh is too coarse, the continuum fields will look smooth,
but some information may be lost. On the other hand, if the Sentaurus
Process mesh is too fine, isolated islands of concentration may form
following its corresponding atomistic concentrations.

The translation is made as accurately as possible by mapping as many KMC


species into similar five-stream fields. In cases when this one-to-one map is
not possible or unique, acceptable approximations can be taken. For
example, Bi will be translated into BoronInt, but B2I2, BI2, and so on will
be translated into only BCluster. A complete list of these translations is
available in the file [Link].
Examples: KMC2PDE

See: UnsetAtomistic on page 1110

966 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
layers

layers
Function: Prints material interfaces and integrated data field values.
Syntax: layers
[<material>] [name] [[Link]]
[x=<n>][<m>|<cm>|<um>|<nm>]
[y=<n>][<m>|<cm>|<um>|<nm>]
[z=<n>][<m>|<cm>|<um>|<nm>]
[merge] [precision=<n>] [[Link]] [[Link]=<c>]

Description: Prints the material interfaces and integrates the selected data field in each
region. It is most useful for examining doping because it gives the integrated
doping in each layer. This command can be simulated with the
interpolate and interface commands, and it returns a Tcl list of each
material.
Options:

<material> Used to limit the reporting of layers to regions of the specified material. For
information about specifying materials, see Material Specification on
page 50.
merge Specifies that the adjacent regions with the same material should be merged.
The default is false.
name Specifies a data field name. This allows printing without using the select
or tclsel commands. The default is Z_Plot_Var.
precision Controls the number of precision digits of floating values (in scientific
notation). The default is 12.
[Link] Allows output to be written to the log file.
[Link] Specifies that region names should be printed in addition to the material
names for each region in the structure.
[Link]

Sets a value to be returned only during syntax-checking mode. Sometimes,


the value returned by a command can cause a false syntax-check error
because the value returned by the command would not be the value during
normal run mode. Setting this value avoids such problems.

Sentaurus Process User Guide 967


H-2013.03
A: Sentaurus Process Commands
layers

x, y, z Specify the constant values of a line along which sectioning will be


performed. In 1D, these parameters are not necessary. In 2D, only one of x or
y can be specified for a given device. Specifying x produces a horizontal
slice through the device, and y specifies a vertical slice. An easy way to
remember this is that the cross section is taken at the constant value
specified. For a 3D simulation, two of these three must be specified. The
default unit is μm .
Examples: layers
In a 1D simulation, this lists all material interfaces.

layers y=0.0 name=Boron


In a 2D simulation, this lists all material interfaces at a lateral position of
0.0 μm and integrates the data field named Boron.
See: interface on page 948, interpolate on page 950, select on page 1053,
tclsel on page 1091

968 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
line

line
Function: Specifies the position and spacing of mesh lines.
Syntax: line
(x | y | z)
location=<n>[<m>|<cm>|<um>|<nm>]
[spacing=<n>][<m>|<cm>|<um>|<nm>]
[kmc] [mgoals]
clear [tag=<c>]

Description: Specifies the position and spacing of mesh lines. All line commands must
precede region commands, which in turn must be followed by the init
command. Lines must be given in increasing order.

When used to create the initial mesh, only rectilinear structures can be
specified with the line and region commands, that is, rectangular regions
in 2D and cuboid-shaped regions in 3D.

Sentaurus Process has the following coordinate system, which is the same as
the unified coordinate system (UCS): x is the direction normal to the wafer
with positive-x oriented into the bulk of wafer; y is perpendicular to the x-
direction and lies along the wafer surface; y is in the lateral direction. The z-
direction is used for 3D and the direction is given by X × Y . By default,
Sentaurus Process delays promoting a structure until it is necessary (by use
of a higher dimensional mask). The lines specifying the higher dimensions
are stored until they are needed. During the init command, the line and
spacing information is expanded into mesh ‘ticks’ that are stored in the PDB.
These ticks are used every time a mesh is created if UseLines is on (see
UseLines: Keeping User-defined Mesh Lines on page 702).

After an init command, if new lines are specified and UseLines is on, the
spacing parameter is ignored, and only one tick or mesh line at a time may
be added. To create an entirely new structure, the command line clear
should first be issued to clear old lines and mesh ticks before issuing new
lines, regions, and init commands.
Options:

clear Clears lines in preparation for a new structure definition, or removes all ticks
stored for the UseLines method (see UseLines: Keeping User-defined Mesh
Lines on page 702).

Sentaurus Process User Guide 969


H-2013.03
A: Sentaurus Process Commands
line

kmc, mgoals Lines for KMC and MGOALS (continuum) meshes are stored separately. By
default, line commands are applied to both KMC and continuum meshes.
Use negative values for these parameters to not apply mesh lines to one or
the other. For example, for a line command to apply only to a continuum
mesh, use !kmc.
location Location along the chosen axis. The default unit is μm .
spacing Local grid spacing. Each mesh line has a characteristic required spacing.
Lines are graded from one spacing to the next over the interval. The default
is a spacing equal to the largest interval between the neighboring lines. The
default unit is μm .
tag Lines can be labeled for later reference by region statements. The label can
be any word.
x, y, z Specifies the orientation of the mesh line. Specifying x places a mesh line at
a constant x-value. A series of line x commands would specify the
horizontal grid locations during the simulation.
Examples: line x loc=0 spa=0.02 tag=surf
line x loc=3 spa=0.5 tag=back
line y loc=0 spa=1 tag=left
line y loc=1 spa=0.1
line y loc=2 spa=1 tag=right
There are three user-specified y-lines and two user-specified x-lines. Taking
the y-lines as an example, there is a finer spacing in the center than at the
edges. After processing, Sentaurus Process produces a mesh with x-lines at
0.0, 0.42, 0.69, 0.88, 1.0, 1.12, 1.31, 1.58, and 2.0. Around the center, the
spacing is 0.12, approximately what was requested. At the edge, the spacing
is 0.42 because that was as coarse as it could become without having an
interval ratio greater than 1.5 (a fixed quantity). If the interval ratio was
allowed to be 9, for example, there would have been one interval of 0.9 and
one interval of 0.1 on each side. In this example, specifying a spacing of 1 at
the edges is redundant because that is what the spacing of the user-specified
lines was already.
See: region on page 1047

970 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
line_edge_roughness

line_edge_roughness
Function: Adds line edge roughness (LER) to named masks.
Syntax: line_edge_roughness
masks= {<string list>}
normal= ("Y" | "Z")
[Link]=<n>[<m>|<cm>|<um>|<nm>]
[Link]=<n>[<m>|<cm>|<um>|<nm>]
[Link]=<n>[<m>|<cm>|<um>|<nm>]
[[Link]=<n>] [[Link]] [[Link]=<n>] [[Link]=<n>]

Description: Adds LER to the named masks, along the mask edges normal to the given
normal axis ("Y" or "Z").

LER can be added to a mask only once. See Boolean Masks on page 744.
Options:

[Link]

Specifies the correlation length of the randomized LER. Approximately


corresponds to the concept of wavelength. The default value and unit is
20 nm.
masks Specifies the names of masks to receive LER defined by the other parameters
in the line_edge_roughness command.
[Link]

Specifies the maximum segment length. Mask edges are subdivided into
segments that are approximately this size or smaller before LER deviation is
added to each. The default value and unit is 1 nm.
[Link] Specifies the maximum number of LER mask generation attempts. For
nonzero values, detection of nearly collinear points is performed after LER
generation, and the LER process is restarted if decimation occurs based on
the mgoals accuracy value. The default value is 0, meaning that the LER
mask is accepted as it is, with no decimation detection.
[Link] When normal is not specified, where two mask edges receiving LER meet,
the corner is first rounded before LER is applied. This is to allow a well-
defined application of LER and to avoid discontinuous jumps in the resulting
mask shape. The rounding radius is the larger of [Link] and twice
[Link].

Sentaurus Process User Guide 971


H-2013.03
A: Sentaurus Process Commands
line_edge_roughness

normal Defines the normal axis. Only mask segments normal to this axis receive
LER. This axis is also the reference axis along which the LER deviation is
added to the given mask segment. The default is to add LER to all edges of
the mask.
[Link] Before the calculation of LER, the random number generator is reseeded to
ensure each call of line_edge_roughness results in randomized noise
that is uncorrelated with other calls of line_edge_roughness. To switch
off this random reseeding, use ![Link] to reproduce the same
LER from call to call. The default is true.
[Link] Used to reproduce specific LER calculations from one run to the next by
setting the same random seed in both runs. Ignored when ![Link]
is used.
[Link]

Specifies the standard deviation of the randomized LER. Approximately


corresponds to the concept of added noise amplitude. The default value and
unit is 2 nm.
Examples: line_edge_roughness normal= "Z" masks= {mask1} \
[Link]= 25.00<nm> [Link]= 5.00<nm> \
[Link]=5.00<nm>

Adds LER to the mask named mask1 along mask segments normal to the
z-axis. These segments are subdivided into smaller segments of length
smaller than or equal to 5 nm. LER is characterized by a
[Link] of 25 nm and [Link] of 5 nm.
The random number generator is reseeded automatically before LER is
calculated.
See: Line Edge Roughness Effect on page 746

972 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
load

load
Function: Loads data from a file and interpolates it onto the current mesh.
Syntax: load
(tdr=<c> | dfise=<c> | grdfile=<c> datfile=<c>)
(sum | replace | rename | merge)
[species= <list>] [actions= <list>] [[Link]= <list>]
[shift=<n>] [flip (left | right | front | back | up | down)]
[offset= {<n> <n>}]
[transform= {<n> <n> <n> <n> <n> <n>}]

Description: Interpolates data from TDR or DF–ISE grid and data files onto the current
mesh. The file to be loaded must have the same dimension as the existing
structure. There are several options for handling the new and old datasets.
First, the actions can be applied individually to selected datasets using the
species and actions lists. If the species list appears, the actions list
must be specified and must have the same number of members as the
species list. If this is the case, only the species in the species list are
taken from the external datasets. If the species list does not appear, one of
the global actions is used. The default behavior is a global sum where new
datasets are added and, if there is an existing dataset with the same name, the
external data is added (summed) with the existing dataset.

The other actions that can be performed are:


• replace replaces current datasets with new datasets of the same name.
• rename renames new datasets by appending __load to the name, which
can be manipulated with the select command as required.
• merge takes only the new datasets that do not currently exist in the
structure.
• In atomistic mode, only the options tdr and replace can be used to
replace the current simulation contents with the particles stored in a TDR
file.
Options:

dfise Specifies the input file name. Sentaurus Process checks for all standard
suffixes for both grid files (.grd, _fps.grd, .[Link], _fps.[Link]) and
data files (.dat, _fps.dat, .[Link], _fps.[Link]).

Sentaurus Process User Guide 973


H-2013.03
A: Sentaurus Process Commands
load

[Link] Averages the data from a list of TDR files (all with identical meshes to the
current mesh) and replaces the current data with the averaged data from the
files. This is an option developed specifically for the distributed MC
implantation feature (mpp). However, there may be other uses for it, for
example, to improve KMC statistics.

NOTE: Do not use it with any other parameter. To use it, specify a list of
files, for example:
[Link]= {[Link] [Link] [Link]}

flip & left | right | front | back | up | down

For 2D structures only. Performs a flip of the data in the indicated direction
about the outer boundary before interpolation. Must be used with a direction:
left, right, front, back, up, down.
grdfile, datfile

Specifies the exact names for the DF–ISE files (should not be used with the
dfise parameter).
merge Adds only new datasets that do not currently exist in the structure.
offset For 2D structures only. Offsets the data by a vector before loading it.
rename Adds new datasets and renames them by adding the suffix load.
replace Adds new datasets and replaces existing datasets with new datasets of the
same name.
shift Shifts the data laterally before loading it.
species, actions

These lists specify species-by-species actions. The species name must be one
of those appearing in the loaded .dat file. Each action in the actions list
should be one of sum, replace, rename, or merge.
sum Adds new datasets and sums matching datasets.
tdr Specifies the input file name with TDR format. Sentaurus Process checks for
standard file names with the .tdr extension.
transform This function provides a general interface for translating or rotating the
structure to be loaded before interpolation. In 1D, one value must be
specified – the shift in the x-coordinate. In 2D, six values must be specified:
rxx, ryx, rxy, ryy, offsetx, offsety. In 3D, 12 values must be
specified: rxx, ryx, rzx, rxy, ryy, rzy, rxz, ryz, rzz, offsetx,
offsety, offsetz. First, the offset is applied, and then the rotation matrix
is applied (it does not have to be an orthogonal matrix).

974 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
load

Examples:

load tdr=in replace


Replaces all existing datasets with those in the file in_fps.tdr.

load tdr=in species= {Arsenic_Implant Damage_Implant} actions= {sum replace}


Loads the TDR file in_fps.tdr, sums Arsenic_Implant with the existing
Arsenic_Implant (if available), and replaces the existing Damage_Implant data field by
the one in the in_fps.tdr file.

Sentaurus Process User Guide 975


H-2013.03
A: Sentaurus Process Commands
LogFile

LogFile
Function: Prints a message to the screen and to the log file.
Syntax: LogFile
[IL0 | IL1 | IL2 | IL3]
(message)

Description: Prints messages to the terminal window in which Sentaurus Process is


running and to the log file. If one of IL0, IL1, IL2, or IL3 is given and this
command is called from within a Sentaurus Process command, the message
is printed only if the information level is equal to or greater than the one
specified.
Options:

IL0, IL1, IL2, IL3

Specify the information level.


message Specifies the message to be printed to the screen and to the log file.
Examples: LogFile "Step 25"
Writes the string "Step 25" to the log file and to the screen.

LogFile IL2 "$DebugInfo"


Prints the contents of the Tcl variable DebugInfo only if info=2 or higher
has been specified in the calling command.

976 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
mask

mask
Function: Creates a mask for subsequent use in etch, deposit, or photo commands.
Syntax: mask
[list] [clear] [name=<c>] [negative] [bbox]
[[Link]] [[Link]] [[Link].z] [bool=<op>]
(
{[left=<n>][<m>|<cm>|<um>|<nm>]
[right=<n>][<m>|<cm>|<um>|<nm>]
[front=<n>][<m>|<cm>|<um>|<nm>]
[back=<n>][<m>|<cm>|<um>|<nm>]} |

{[polygons= <string list>]}


{[segments= <numeric list>]}
{[layoutfile=<c>]}
)
{ [cut.x=<n>] [regions= <string list>] [materials= <string list>] }

Description: Allows the management and creation of masks for use with subsequent
etch, deposit, or photo commands. Mask definitions are stored in TDR
files and restored when loading a TDR file in the init command. Masks can
be defined by rectangles, polygons, and segments, or they can be read using
the ICWB interface (see ICWBEV Plus Interface for Layout-driven
Simulations on page 795) or read from a DF–ISE layout format file.

Masks are created additively. If more than one mask command is issued with
the same name, the union of the specified masks is assumed. To change a
mask, clear it first and then assign a new specification (in two separate calls
to the mask command).
Options:

bbox Returns the mask bounding box. The command returns a list of lists where
the values are in centimeters: {ymin zmin} {ymax zmax}.
bool Performs Boolean operations between masks. The bool option cannot be
used together with the layoutfile, polygon, and negative options. For
more information, see Boolean Masks on page 744.
clear Clears the list of all masks. If name is specified, it clears only that mask.

Sentaurus Process User Guide 977


H-2013.03
A: Sentaurus Process Commands
mask

[Link]

Used to obtain information about the coverage of the simulation domain. The
following strings may be returned:
• covered: The mask completely covers the simulation domain.
• uncovered: The mask does not cover the simulation domain at all.
• partial.2d: The mask partially covers the domain, but in a way that the
mask does not promote the simulation dimension (that is, the mask does
not vary in the z-direction over the simulation domain).
• partial: The mask partially covers the simulation domain, and its use in
etch or deposit forces the simulation to 3D.
cut.x, regions, materials

Currently, this parameter is only available in 2D. The cut.x parameter must
be used with the regions or materials parameters to create a mask. The
mask is created by taking a cut through the set of regions created by a union
of regions named in the regions parameter and regions of one of the
materials named in the materials parameter. The cut is taken at the
x-coordinate specified in the cut.x parameter, and the resulting outline is
used to create the mask.
[Link], [Link].z

Retrieves segments that result from cutting the mask at


z=[Link].z. The default value of [Link].z is the
midpoint of the simulation domain in the z-direction.
layoutfile Name of a layout file in DF–ISE layout format. All masks defined in the
layout file will be read. By default, the origin of the layout file and the
internal coordinate system coincide. The lateral coordinate of the layout file
will be used as the Sentaurus Process y-coordinate, and the vertical
coordinate of the layout file will be used as the Sentaurus Process ‘-z’-
coordinate.

You can place the Sentaurus Process simulation domain anywhere in the
layout file by specifying either the parameter name together with
layoutfile or a CutLine2D in the init command. If name is specified, it
must refer either to a mask that has been previously defined or to one of the
masks in the layout file (SIM3D or SIM2D).

978 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
mask

layoutfile If a rectangle mask is used, either defined as SIM3D in the layout file or by
referring to a previously defined mask, the minimum coordinates of the
rectangle define the origin of the internal coordinate system. The layout –x-
axis and –y-axis define the Sentaurus Process z-axis and y-axis, respectively.

If a CutLine2D or a SIM2D or a polygon mask is used, the origin of the


UCS is defined by the first point. The direction of the Sentaurus Process y-
axis is aligned to the direction of the specified line. If a polygon mask is
used, only the first two points are required for the placement of the
simulation domain in the layout file.
Default extensions of the 2D or 3D simulation domain in the y- and
z-directions are defined from the specified mask. For a SIM2D or a two-
point polygon, the default extension along the y-axis is defined for a
rectangle, polygon, or SIM3D mask; default extensions are defined in both
the y-direction and z-direction. If you did not specify the line y and
line z commands, the default extensions are used.
left, right, front, back

Specify the corners of one rectangle. The rectangle is added to the current list
for the mask. If several rectangles must be specified for a mask, several mask
commands must be used with the same name. The default unit is μm .
list Prints a list of all currently defined masks. If name is specified, it prints the
information about that mask only.
name Name of a mask. If used with list or clear, only the specified mask will
be reported or removed. If defining a new mask, name must be given.
negative Inverts the type of mask. By default, points inside the mask are considered
masked. The commands mask name=xyz negative and mask
name=zyx !negative can be used to invert an existing mask xyz.
polygons Specifies a mask as a list of named polygons. The named polygons must
have been defined using polygon commands (see polygon on page 1024).
segments Specifies a list of coordinates of mask segments. The default unit is μm .
Several mask segments can be specified at the same time. The first
coordinate defines the beginning of a segment, the second coordinate defines
the end of the segment, the third defines the beginning of the second
segment, and so on. In a 3D simulation, mask segments are extended across
the entire structure in the z-direction.

Sentaurus Process User Guide 979


H-2013.03
A: Sentaurus Process Commands
mask

Examples: mask name=field left=0.0 right=10.0


Defines a mask named field.

mask name=mgoals segments = {0.0 10.0}


The position of this mask is the same as in the previous example.

mask layoutfile=[Link] name=SIM3D


Reads the layout file and defines the position and default extensions of the
Sentaurus Process simulation domain by one of the masks in the layout file.
The default extensions of the simulation domain are y: 0...length of SIM3D
z: 0...width of SIM3D. They are ignored if you defined the line y and
line z commands.

polygon name=cutline segments= {1.65 0.15 1.95 0.6}


mask name=cutline polygons= {cutline}
mask layoutfile=[Link] name=cutline
Defines a mask as a two-point polygon, loads the layout file, and aligns the
origin and y-axis of the default coordinate system with the specified mask.
The default extension of the simulation domain along the y-axis is 0...length
of the segment.

init [Link]= [CutLine2D 1.65 0.15 1.95 0.6]


mask layoutfile=[Link]
Loads a layout file. Aligns the origin and the y-axis of the default coordinate
system with the specified CutLine2D.

NOTE: There are no default extensions defined in this case. You must
specify line y explicitly.

# mask bbox example - return value in cm


mask name=m1 left=0.1<um> right=0.2<um> front=0.3<um> back=0.4<um>
set m1bbox [mask name= "m1" bbox]
# $m1bbox == {1.0e-05 3.0e-05} {2.0e-05 4.0e-05}

mask list
Returns information about all masks in array format.

array set maskinfo [mask list]


LogFile "Mask names: [array names maskInfo]"
Returns a list of mask names.

array set polyInfo $maskInfo(PolygonMask)


LogFile "Contents of PolygonMask: [array names polyInfo]"
Prints all information about a mask named PolygonMask.

980 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
mask

Examples: LogFile "Number of polygons in PolygonMask: [llength $polyInfo(polygons)]"


Prints the number of polygons in a mask named PolygonMask.

LogFile "polygon 0 in PolygonMask: [lindex $polyInfo(polygons) 0]"


Prints the first polygon in a mask named PolygonMask.
See: deposit on page 870, etch on page 889, photo on page 1010,
point on page 1022, polygon on page 1024

Sentaurus Process User Guide 981


H-2013.03
A: Sentaurus Process Commands
mater

mater
Function: Returns a list of all materials in the current structure. Adds new materials to a
global list.
Syntax: mater
[add] [name=<material>] [min= {<n> <n> <n>} max= {<n> <n> <n>}]
[[Link]] [[Link]=<material>] [[Link]=<c>]
[[Link]] [Interface] [[Link]]
[bbox | [Link] | [Link]]
[[Link]=<c>]

Description: Returns a list of all materials in the current structure. The format of the list is
compatible with the material specification for the program. Bulk material
names are returned if no options are given. Interface materials can be
obtained with the Interface parameter. A new material is added to the
global material list if the add parameter is given.

This command also computes the cropped bounding box of a material that
lies within a user-specified bounding box defined by min and max. The name
parameter is given as input.
Options:

add Adds a material specified with the name option.


[Link] Defines the alternative material to be used when saving a structure. When
using the TDR format, regions that are converted using [Link]
will be converted back properly to the simulation material when the TDR file
is read in from the init command. Although common materials such as
SiGe and III–Vs are by default handled this way, special situations may
require additional conversions when transferring to device simulation.
bbox, [Link], [Link]

If specified, the mater command returns the maximum extents of the


material in two points in micrometer or centimeter.
[Link] Returns the cropped bounding box of a material within a user-defined
bounding box.
Interface Returns a list of interface materials in the current structure.
[Link]

Usually, the interpolation code interpolates data from and to materials that
are ‘like’ each other (see Like Materials: Material Parameter Inheritance on
page 55). Use this option to prevent such interpolation.

982 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
mater

[Link] Lists all the materials defined.


min, max Specify the bounding box of a material. These parameters compute the
cropped bounding box of a material.
name Name of a material.
[Link] Name of the existing material from which all default values are inherited. For
newly created materials, pdb parameters for this material are checked first
and, if not found, the ‘Like’ material parameters are used (see Like
Materials: Material Parameter Inheritance on page 55).
[Link]

Sets a value to be returned only during syntax-checking mode. Sometimes,


the value returned by a command can cause a false syntax-check error
because the value returned by the command would not be the value during
normal run mode. Setting this value avoids such problems.
Examples: mater add name=Germanium [Link]=Silicon

Sentaurus Process User Guide 983


H-2013.03
A: Sentaurus Process Commands
math

math
Function: Sets the numeric and matrix parameters. Parameters set with the math
command are stored in TDR files by default.
Syntax: math
[[Link]] [[Link]] [[Link]] [coord.-zyx] [[Link]]
[[Link] [Link] ([Link] | [Link])]

[numThreads=<i>]
[numThreadsAssembly=<i>]
[numThreadsBoxMethod=<i>]
[numThreadsDeatomize=<i>]
[numThreadsILS=<i>]
[numThreadsImp3d=<i>]
[numThreadsInterp=<i>]
[numThreadsKMC=<i>]
[numThreadsMC=<i>]
[numThreadsMGoals=<i>]
[numThreadsPardiso=<i>]
[numThreadsSano=<i>]
[numThreadsTopo=<i>]

[diffuse | flow]
[dimension = 1 | 2 | 3]
[pardiso | ils] [scale]

[fullNewton | modNewton]
[newtonSteps1=<i>] [newtonRate1=<n>] [newtonRate2=<n>]
[newtonTries1=<i>] [newtonStats=<i>] [newtonDeriv]

[NegErrCntrl] [[Link]] [[Link]] [LocTrnErrCntrl]

[maxNumberOfDomains=<i>]
[NumberOfElementsPerDomain=<i>]
[[Link]= [Link] | [Link] | [Link]]
[threadStackSize=<i>]

[tr_bdf | euler] [milne | difference]

[[Link]] [voronoitriangle] [[Link]]

Description: This command is used to specify the:


• Different coordinate system types.
• Number of threads and parameters used for parallel processing on shared-
memory computers.
• Default options on the matrix packages to be used for different equations.
• Parameters for the Newton method.
• Different time discretization schemes.

984 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
math

Options:

Solver selection

[Link]

Allows stricter error control for each solve time step after an adaptive
meshing step by calculating the error from negative updates instead of
damped results.
diffuse, flow Specifies the type of equation to which the command specification applies. If
omitted, it applies to all equation types.
dimension Specifies dimensionality to which the command specification applies. If
omitted, it applies to all dimensions.
[Link]

Allows stricter error control for the first solve time step by calculating the
error from negative updates instead of damped results.
LocTrnErrCntrl Allows stricter error control for each solve time step by modifying the
handling of negative updates:
• 1 (|upd|/org*lte+abs)
• 0 (|upd|/org+lte*abs)
LocTrnErrCntrl can be switched on for individual solution variables in
specific materials using:
pdbSetBoolean <mater> <solution> LocTrnErrCntrl 1

NegErrCntrl Allows stricter error control at each Newton iteration step by calculating the
error from negative updates instead of damped results. NegErrCntrl can be
switched on for individual solution variables in specific materials using:
pdbSetBoolean <mater> <solution> NegErrCntrl 1

pardiso, ils Specifies the type of linear solver to apply to the system:
• pardiso selects the parallel direct solver PARDISO, which is based on
the LU factorization with pivoting of the matrix. PARDISO decomposes
the matrix.
• ils selects the iterative linear solver ILS, including preconditioners,
iterative methods, scaling, and convergence criteria. (You can change the
default settings of ILS parameters by specifying pdbSet Math
commands.) To set ILS parameters in the parameter database, see Setting
Parameters of the Iterative Solver ILS on page 838.
scale Applies row/column scaling to the matrix in an attempt to make it better
conditioned. This is a recommended option. No scaling is performed if the
modified Newton scheme is used.

Sentaurus Process User Guide 985


H-2013.03
A: Sentaurus Process Commands
math

Newton method

fullNewton, modNewton

Specifies type of nonlinear equation solver to use:


• fullNewton performs a matrix factorization at each step.
• modNewton tries to reuse one matrix factorization for several solve steps.
The full Newton method may be more robust, but it may use more solution
time than the modified Newton method.
• modNewton is the default in 2D for both PARDISO and ILS.
• modNewton is the default for ILS in 3D.
newtonDeriv Allows the Jacobian computation to be switched on during the modified
Newton step. The default is false.
newtonRate1 For the modified Newton method, if the solution for any of the Newton steps
1 through newtonSteps1 is newtonRate1 or more times better than the
previous step, the next step can be a solve-only step. Otherwise, the next step
will perform a matrix factorization. The default value is 4.0.
newtonRate2 For the modified Newton method, if the solution for any of the Newton steps
newtonSteps1+1 onwards is newtonRate2 or more times better than the
previous step, the next step can be a solve-only step. Otherwise, the next step
will perform a matrix factorization. The default value is 32.0.
newtonStats Prints information on Newton iterations.
newtonSteps1 For the modified Newton method, any of the Newton steps 1 through
newtonSteps1 must improve the solution by the factor newtonRate1 over
the previous step. Otherwise, the next step will be a full Newton step. For
Newton steps newtonSteps1+1 onwards, the solution at each step must
improve by the factor newtonRate2. Otherwise, the next step will be a full
Newton step. The default is 12.
newtonTries1 Number of first modified Newton step breakdown allowed before switching
to full Newton. The default is 2.
Time discretization

milne, difference

Controls whether the next time step is estimated using the Milne’s device or
the divided difference method. The default is milne.
tr_bdf, euler Specifies the type of time discretization scheme to use. The options are
TR-BDF(2) or the backward Euler method. The default is tr_bdf.

986 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
math

Parallel processing

Sentaurus Process provides parallel processing for MC implantation,


interpolation, 3D analytic implantation, the KMC charge model, the matrix
assembly, the box method, and the linear solvers by generating multiple
threads to accelerate simulations on multicore shared-memory computers.
By default, only one processor (thread) is used.

NOTE: The number of threads must not exceed the number of actual CPUs
(cores) of the computer.

NOTE: Observe the following general recommendations to obtain the best


results from a parallel run: Speedup is only obtained for sufficiently large
problems. As a general rule, the mesh should have at least 10000 nodes.
Three-dimensional problems are good candidates for parallelization.

NOTE: You should run a parallel job on an unloaded computer. As soon as


multiple jobs compete for processors, performance decreases significantly (a
parallel job could run even longer than a serial one).

NOTE: The parallel execution of the matrix assembly on the linear solvers
PARDISO and ILS produces different rounding errors. Therefore, the
number of Newton iterations in particular may change.

NOTE: Parallel performance scalability of the different modules (such as


implant, assembly, and linear solver) can vary dramatically.

NOTE: It is not necessary to set the OpenMP environment variable


OMP_NUM_THREADS. You need only specify the number of threads required
in the math command.

To use more than one thread, specify the following parameters of the math
command in the command file:
NumberOfElementsPerDomain

Modifies the number of elements that should go to each domain (see


Partitioning and Parallel Matrix Assembly on page 840).
maxNumberOfDomains

Modifies the maximum number of domains each level of partition can have
(see Partitioning and Parallel Matrix Assembly on page 840).

Sentaurus Process User Guide 987


H-2013.03
A: Sentaurus Process Commands
math

numThreads Specifies the number of parallel threads for Sentaurus Process. Applies to
Sentaurus MC implantation, interpolation, 3D analytic implantation,
Sentaurus Process KMC, matrix assembly, the box method, and the linear
solvers PARDISO and ILS.

To run MGOALS, Sentaurus Process KMC, matrix assembly, the box


method, or the linear solvers with a different number of threads, specify the
following parameters:
• numThreadsAssembly
• numThreadsBoxMethod
• numThreadsDeatomize
• numThreadsILS
• numThreadsImp3d
• numThreadsInterp
• numThreadsKMC
• numThreadsMC
• numThreadsMGoals
• numThreadsPardiso
• numThreadsSano
• numThreadsTopo
Separately, these parameters have priority over the generic parameter
numThreads.
numThreadsAssembly

Number of threads used for the matrix assembly. Parallel assembly of the
matrix applies only to inert anneals.
numThreadsBoxMethod

Number of threads used for the box method.


numThreadsDeatomize

Number of threads used when deatomizing KMC particles into continuum


finite-element fields.
numThreadsILS Number of threads for the ILS solver.
Some parallel implementations of a default diffusion iterative solver gmres
can be activated by the command:
pdbSet Math diffuse <2D|3D> [Link] <0 | 1 | 2 | 3>
For the high-performance computing mode, the options are 0 (default), and
the algorithmic parallel enhancements are activated by 1 for Version
E-2010.12, by 2 for Versions F-2011.09 and G-2012.06, and by 3 for Version
H-2013.03.

988 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
math

numThreadsImp3d

Number of threads used for 3D analytic implantation.


numThreadsInterp

Number of threads used for interpolation.


numThreadsKMC Number of threads used for Sentaurus Process KMC diffusion.
NOTE: Parallelism for Sentaurus Process KMC only works for 1D or 2D
Sentaurus Process simulations.
numThreadsMC Number of threads used for Sentaurus MC implantation. This value is over
written by numThreadsKMC when this last one is present.
numThreadsMGoals

Number of threads used for MGOALS level-set operations.


numThreadsPardiso

Number of threads when running PARDISO.


numThreadsSano

Number of threads used for the Sano method for KMC particle to finite
element field smoothing computation.
numThreadsTopo Number of threads used when calling Sentaurus Topography to perform
etching and deposition steps.
[Link]

If you run a simulation in parallel mode but the number of parallel licenses is
insufficient, Sentaurus Process proceeds in serial mode (default behavior or
if [Link]=[Link] is specified), or waits for parallel
licenses ([Link]=[Link]), or aborts
([Link]=[Link]).
threadStackSize
18
Stack size for each thread. Default stack size is 2 = 262144 bytes (see
Partitioning and Parallel Matrix Assembly on page 840).

Sentaurus Process User Guide 989


H-2013.03
A: Sentaurus Process Commands
math

Coordinate system input/output selection

When saving structures and meshes, a coordinate transformation is applied.


By default, the transformation is to the TDR coordinate system (which is the
same as DF–ISE and visualization coordinate systems discussed in more
detail in Understanding Coordinate Systems on page 64).

NOTE: This coordinate system is different for 1D, 2D, and 3D structures.
Options in this section can be used to change how files are written and read.
Files written in alternative coordinate systems will be rotated when read by
other tools. Nevertheless, it can be useful to write files in the Sentaurus
Process native coordinate system to assist in writing command files. Even
though the structure will appear rotated when it is displayed in Tecplot SV,
the coordinates will match those in the Sentaurus Process command file,
which can be helpful when setting up refinement boxes, masks, and so on.
[Link] Reads or writes files in DF–ISE coordinate system. This should be used only
to revert coordinate systems. If the dimension of the structure changes,
math [Link] must be recalled.
[Link], [Link], [Link], [Link]

Both [Link] and [Link] allow a general


coordinate transformation through specification of a rotation matrix defined
as follows:
[Link]= { a11 a12 a13 a21 a22 a23 a31 a32 a33 }

where aij (i=row, j=column) are the members of the rotation matrix, and:

[Link]= { x y z }

specifies a translation vector (in the internal coordinate system).

Both [Link] and [Link] must be used with either


[Link] or [Link] to indicate the transformation is specifying
the transformation for writing or reading, respectively. When specifying
[Link], the inverse of the specified transformation is applied when
reading. When [Link] is specified, the inverse transformation is
applied when writing.
[Link], [Link]

Reads and writes files in the unified coordinate system (UCS).


[Link] Same as [Link] in 2D.
coord.-zyx Same as [Link] in 3D.

990 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
math

Generic options

[Link]

For Intel x86 architecture, this option limits floating-point operations to


64 bits instead of the default 80 bits. This setting is applied by default to
improve reproducibility among different platforms.
[Link]

Switches on the method to be used for interpolating geometric coefficients


for TRBDF, which reduces the number of box method calls by one third.
voronoitriangle

Switches on the internal box method calculation.


Examples: math flow dim=2 ils
The ILS solver is used for the mechanics in the 2D case.

math diffuse dim=2 pardiso numThreadsPardiso=2 scale


pdbSetDouble [Link] 2
The PARDISO solver with two threads is used for the PDE equation system
in the 2D case and specifies the nested dissection ordering for PARDISO.

NOTE: To run in parallel mode, the linear solvers PARDISO and ILS must
be used with the nested dissection ordering ND for both the 2D and 3D
cases. For example, to specify the ND ordering, use:
pdbSetDouble [Link] 2
pdbSet Math diffuse 2D [Link] nd

math dim=2 ils newtonStats=1


math dim=2 ils newtonStats=1 euler fullNewton

The solver ILS is selected for all equations in 2D. Newton statistics is printed
at the end of each diffuse command:
• In the first case, the modified Newton method and TR-BFDF(2) methods
are used.
• In the second case, Euler and full Newton methods are specified.

Sentaurus Process User Guide 991


H-2013.03
A: Sentaurus Process Commands
mgoals

mgoals
Function: Modify default parameters for geometric and meshing operations for the
MGOALS library.
Syntax: mgoals
[resolution=<n>] [[Link]=<n>]
[dx=<n> dy=<n> dz=<n>]
[reinitfrequency=<n>] [reinititerations=<n>]
[accuracy=<n>][<m>|<cm>|<um>|<nm>]
[maxangle=<n>][<degree>]
[nlayers=<i>]
[minedge=<n>][<m>|<cm>|<um>|<nm>]
[[Link]=<n>][<m>|<cm>|<um>|<nm>]
[[Link]=<n>][<m>|<cm>|<um>|<nm>]
[[Link]=<n>][<m>|<cm>|<um>|<nm>]
[[Link]=<n>][<m>|<cm>|<um>|<nm>]
[[Link]=<n>]
[[Link]=<n>][<degree>]
[[Link]]
[[Link]=<n>]
[[Link]]
[repair.2d] [[Link]=<n>]
[[Link]]
[[Link]=<n>][<m>|<cm>|<um>|<nm>]
[[Link]] [[Link]] [[Link]]
[[Link] | [Link] | [Link] |
[Link]]
[[Link]]
[[Link]]
[[Link]]
[[Link]=<i>]
[[Link].2d]
[G-2012.06-SP2 | G-2012.06 | F-2011.09-SP1 | F-2011.09 | E-2010.12 |
D-2010.03]

Description: Allows you to define parameters for MGOALS level-set and meshing
operations.
Options:

accuracy Specifies the error that can be tolerated in transferring the new interface
definition from the level-set grid to the simulation grid. There is a
compromise between smoothness and the number of grid points. Smoother
grids need more points on curved regions. The default value and unit is
–5
1.0 ×10 μm .

992 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
mgoals

[Link]

For etching and deposition steps of layers of thickness of 1 nm or less, an


analytic method is used to perform the etch because thin etches using the
level-set method can be prohibitively CPU and memory intensive. For very
large or very small structures, a 1-nm cutoff may not be appropriate, so this
parameter can be used to modify the thickness where the analytic method is
used.
[Link]

Removes fragments remaining from 3D anisotropic etching. The tolerance


measures the ratio of the volume and the surface of a region. The default
value is 1.0e-6.
[Link]

When set to true, the 3D anisotropic algorithm attempts to protect areas


shadowed by buried materials. The default is true.
dx, dy, dz Explicitly set the level-set grid spacing in each direction. If set, these
parameters override the automatic setting of dx, dy, and dz, which uses
resolution.
[Link] For deposition, material is deposited on the surface exposed to the upper gas
region. With [Link] specified, deposition also occurs inside the
buried gas bubbles that may exist.
[Link]

When performing an isotropic etching or deposition, forces the use of an


analytic algorithm instead of a level-set algorithm even when a boundary
collision will occur. For very large structures or very small etch or deposition
thicknesses, the level-set algorithm may consume too much memory and
time.
[Link], [Link], [Link]

Defines the general level-set time-stepping algorithm as the default


algorithm for both etching and deposition, or etching only, or deposition
only, respectively.
[Link]

Controls the artificial diffusion parameter. If the parameter is specified, the


solution is more accurate but the corners are less sharp. For complex Fourier
rates, switch off [Link] to enhance stability.

Sentaurus Process User Guide 993


H-2013.03
A: Sentaurus Process Commands
mgoals

[Link]

Usually, the full-time stepping level-set method is used in situations where


more intricate boundaries will be generated. The full-time stepping level-set
method is needed for Fourier, crystallographic, and multimaterial etching
types, and for etching with shadowing on. This parameter allows a separate
resolution setting for these cases. The default value is 0.025 compared to 0.1
for the resolution parameter.
[Link] Specifies maximum angle in the interior of any region where MGOALS can
put locally an exact Cartesian grid. The default value and unit is 120° .
[Link]

Specifies maximum lateral (parallel to the interface) spacing between


elements. This is, however, also used to define an upper bound on the normal
size. The default value and unit is 10 μm .
[Link]

Binary-tree smoothing is performed after refinements have been added to the


binary tree. This prevents sudden changes in element size that can be
especially detrimental to mechanics results. The ratio of neighboring
collinear edges in the binary tree can be adjusted with this parameter. The
default value is 3.0.
maxangle Maximum-allowed angle in the MGOALS-created grid. MGOALS tries to
stay within this limit but may exceed it if meshing becomes very tough. The
default value and unit is 165° .
[Link]

Minimum thickness of the gas layer at the top of the simulation structure.
The default value and unit is 0.1 μm .
[Link]

Specifies minimum size for the level-set mesh. Usually, the level-set mesh
size scales with the operation according to the resolution factor and the etch
or deposition thickness. However, for thin etch or deposition steps, this may
lead to a small level-set mesh causing excessive memory use and simulation
time. Often, it is not necessary (for thin layers, a mesh size between
thickness/2.0 and thickness/3.0 is usually sufficient). This parameter limits
the mesh size and, therefore, limits computational expense.
–4
The default value and unit is 1.0 ×10 μm .
[Link]

Specifies smallest normal (to the interface) mesh element size on either side
–4
of an interface. The default value and unit is 8.0 ×10 μm .

994 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
mgoals

minedge Specifies minimum edge length allowed in MGOALS.


–6
The default value and unit is 2.0 ×10 μm .
nlayers When using the MGOALS mesher, this parameter defines the number of
layers of the original grid next to the interface that can be modified during an
etching or a deposition. The default value is 2.
[Link]

Used to increase the normal (to the interface) size of the element, moving
away from the interface. For example, if [Link]=1.3, this
means that, one layer away from the interface, the maximum normal size of
an element can be 1.3*[Link]. The default value is 2.0.
[Link]

Specifies the number of offsetting layers at an interface when Sentaurus


Mesh offsetting is used at an interface.
[Link] Prints MGOALS current meshing constants.
reinitfrequency

Level-set reinitialization is performed every reinitfrequency time step


in level-set operations. A reinitialization algorithm is run to condition the
level-set distance function to reduce the effect of ‘contour bunching,’ which
can cause etching distances to be less than expected. The default value is 0,
which means that no reinitialization is performed.
reinititerations

The internal reinitialization algorithm reinitializes first the 0 level set and
works outwards from the front with higher numbers of iterations. The default
value is 1. This option only comes into operation if reinitfrequency is
nonzero.
[Link]

Determines whether MGOALS automatically removes regions that are not


attached to the bottom of the structure. The default is true.
repair.2d Controls the default behavior of the boundary repair operation in two
dimensions. By default, boundary repairs are disabled in two dimensions.
[Link] Controls the dihedral angle at which repairs are performed. The algorithm
attempts to repair any surface section with a dihedral angle less than
[Link]. The default is 1° .

Sentaurus Process User Guide 995


H-2013.03
A: Sentaurus Process Commands
mgoals

resolution Specifies the minimum number of level-set cells across the thickness of a
deposited or etched layer. For example, resolution=0.2 implies five cells.
The default value is 0.1.
[Link] Switches on element-smoothing in 3D to eliminate slivers. This operation
may move the nodes on the boundary.
[Link] Switches on element-splitting in 3D to eliminate slivers. This operation will
increase the number of non-Delaunay elements in the structure. This may
adversely affect the simulation.
[Link] Switches on element-swapping in 3D to eliminate slivers.
[Link].2d Switches on the brep structure mode for two dimensions when handling
structural changes such as 2D etching and 2D deposition. The default is
false.

The boundary representation (brep) structure mode in two dimensions


handles structural changes similarly to how structural changes are handled
by default in 3D. A brep of the structure is used and modified rather than the
volume mesh.

Using brep reduces run-times by avoiding unnecessary meshing operations


and increases stability and accuracy by eliminating both boundary
simplification and variable interpolation associated with remeshing between
structural modification operations.
G-2012.06-SP2, G-2012.06, F-2011.09-SP1, F-2011.09, E-2010.12, D-2010.03

Sets the backward compatibility of parameters and algorithms to the


specified release. Support is available for Versions G-2012.06-SP2,
G-2012.06, F-2011.09-SP1, F-2011.09, E-2010.12, and D-2010.03 (partial
support).
Examples: mgoals [Link]=1.0 [Link]=2e-3
Sets parameters for meshing. The smallest normal mesh element size is
2 nm, and the maximum lateral spacing between elements is 1.0 μm .

mgoals dx=0.01 dy=0.02 reinitfrequency=5 reinititerations=4


Explicitly sets the vertical level-set mesh spacing to 0.01 μm and the
horizontal level-set mesh spacing to 0.02 μm . Reinitialization of the level-
set distance function is performed every five time steps, and every
reinitialization is performed to an internal iteration accuracy of four
iterations.

996 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
paste

paste
Function: Assembles 3D simulations by incorporating fragments from a TDR file.
Syntax: paste
tdr = <filename>
direction = (left | right | front | back)
[Adaptive]

Description: Reads a TDR file containing a 3D valid geometry and appends it (pastes it)
to the current 3D structure. The new structure is displaced automatically by
the right amount to correctly fit at the specified side, but the structures are
not stretched automatically. If the dimensions of nongas materials at the
pasting sides are not the same, the command fails and quits.
The paste command allows assembly of complex 3D structures by reading
the different pieces from TDR files and putting all of them together.
Options:

Adaptive Specifies whether to use adaptive meshing.


direction Selects the side where to paste the incoming simulation. The new structure
can be pasted on the left, right, front, or back side.
tdr Name of the file to be imported and pasted into the current simulation.
Examples: paste tdr = "filename" direction = "right"

See: Inserting Polygons in Two Dimensions on page 762, struct on page 1086

Sentaurus Process User Guide 997


H-2013.03
A: Sentaurus Process Commands
pdbDelayDouble

pdbDelayDouble
Function: Retrieves an expression for a double parameter that will be evaluated at each
time step during diffusion.
Syntax: pdbDelayDouble <c> <c> ...

Description: This function is typically called from Alagator to retrieve a parameter


expression. Since among other things, the temperature can change during a
diffusion step, the evaluation of Arrhenius expressions must be delayed until
the temperature is known. This command provides that functionality.
Examples: pdbDelayDouble Si B D0
Returns an expression for D0 (not a value).

998 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
pdbdiff

pdbdiff
Function: Compare current structure with one from a TDR file.
Syntax: pdbdiff <tdr file 1> <tdr file 2>

Description: Compare parameters stored in two different TDR files. Report differences in
which parameters are stored and any differences in value.
Options:

<tdr file 1>, <tdr file 2>

Give the full path or prefix for each TDR file. The prefix is the file name
without _fps.tdr.
Examples: pdbdiff n1 n2
Compares the pdb differences between n1_fps.tdr and n2_fps.tdr.

Sentaurus Process User Guide 999


H-2013.03
A: Sentaurus Process Commands
pdbDopantLike

pdbDopantLike
Function: Helps to create new dopants.
Syntax: pdbDopantLike <c> <c>

Description: Creates new dopants in materials. It takes two arguments. The first one must
be the name of the material and the second must be the name of the new
dopant. If dopants are not present in a material, an error message is
displayed.
Examples: pdbDopantLike Silicon MyDopant
Creates a new dopant called MyDopant in silicon. You can select dopant-
related diffusion switches (such as DiffModel and ActiveModel) for
MyDopant.

1000 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
pdbExprDouble

pdbExprDouble
Function: Retrieves an expression for a double parameter without evaluating.
Syntax: pdbExprDouble <c> <c> ...

Description: This function is typically called from Alagator to retrieve a parameter


expression. If the parameter depends on solution names, data fields, and so
on, the evaluation of the expression must be delayed until the solution time.
This command provides that functionality.
Examples: pdbExprDouble Si Mechanics BulkModulus
Returns an expression for Bulk (not a value).

Sentaurus Process User Guide 1001


H-2013.03
A: Sentaurus Process Commands
pdbGet and Related Functions

pdbGet and Related Functions


Function: All of these functions retrieve database parameters:
• pdbGet
• pdbGetArray
• pdbGetBoolean
• pdbGetDouble
• pdbDelayDouble
• pdbGetDoubleArray
• pdbGetElement
• pdbGetFunction
• pdbGetString
• pdbGetSwitch
• pdbGetSwitchString
Only pdbGet has syntax checking.
Syntax: pdbGet <c> <c> ...

Description: These functions are used to obtain parameters that reside in the property
database, which is hierarchical and is indicated by passing a series of strings
to the command. In the command file, the command pdbGet should replace
all other pdbGet* commands because the type of the parameter and the
syntax are checked automatically. If a parameter does not exist in the
directory, the tool exits and prints a list of parameters that can be found. The
normal aliasing is applied to each string before the parameter is retrieved
from the database.

The following commands all return 0 if the parameter is not found:


• pdbGetArray
• pdbGetBoolean
• pdbGetDouble
• pdbDelayDouble
• pdbGetDoubleArray
• pdbGetElement
• pdbGetFunction
• pdbGetString
• pdbGetSwitch

1002 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
pdbGet and Related Functions

Description: The command pdbGetSwitchString returns nothing if the parameter is


not found. These commands have a slight performance advantage and will
not exit if a parameter has not been defined, so they are preferred for
Alagator scripting.

The command pdbGetSwitch returns an integer value of a switch, and the


command pdbGetSwitchString returns the string value. For example, if a
switch has the choices a, b, or c, and a is chosen, pdbGetSwitch returns 0,
and pdbGetSwitchString returns a.
Examples: pdbGet Mechanics StressHistory
Retrieves the current value of StressHistory. The parameter
StressHistory is known, but if it is spelled improperly, Sentaurus Process
exits and prints a list of known parameters at the Mechanics level.

pdbGetBoolean Mechanics StressHistory


Retrieves StressHistory without syntax-checking and returns 0 if not
found. It exits if there is a type mismatch between StressHistory and
Boolean (which is not the case in this example).

Sentaurus Process User Guide 1003


H-2013.03
A: Sentaurus Process Commands
pdbIsAvailable

pdbIsAvailable
Function: Checks if the given pdb command is available.
Syntax: pdbIsAvailable <c> ... <c>

Description: Checks the availability of the given pdb command. If the command exists, it
returns 1; otherwise, it returns 0.
Examples: pdbIsAvailable Silicon MyVacancy
Returns 1 if the command "Silicon MyVacancy" is available.

1004 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
pdbSet and Related Functions

pdbSet and Related Functions


Function: All of the following functions set database parameters:
• pdbSet
• pdbSetArray
• pdbSetBoolean
• pdbSetDouble
• pdbSetDoubleArray
• pdbSetElement
• pdbSetFunction
• pdbSetString
• pdbSetSwitch
Only pdbSet has syntax checking.
Syntax: pdbSet <c> <c> ...<value>

Description: These functions are used to set parameters that reside in the property
database, which is hierarchical and is indicated by passing a series of strings
to the command. In the command file, the command pdbSet should replace
all other pdbSet* commands because the type of the parameter is checked
automatically and syntax is checked as well. If a parameter does not exist in
the directory, the tool exits and prints a list of parameters that can be found.
The normal aliasing is applied to each string before the parameter is retrieved
from the database for all these commands.

The following commands all create a new parameter if one does not already
exist:
• pdbSetArray
• pdbSetBoolean
• pdbSetDouble
• pdbSetDoubleArray
• pdbSetFunction
• pdbSetString

These commands have a slight performance advantage and will not exit if a
parameter has not been defined, so they are preferred for Alagator scripting.
2 2
The units of the property database are cgs [s, cm, g, dyn/cm , poise, cm /s ],
except for activation energies [eV].

Sentaurus Process User Guide 1005


H-2013.03
A: Sentaurus Process Commands
pdbSet and Related Functions

Description: The command pdbSet checks the type of variable trying to be set and
checks that type against the <value> passed. The command
pdbSetDouble takes a double for a value and, similarly, pdbSetString
takes a string and pdbSetBoolean takes a Boolean (either 1 or 0). The
command pdbSetSwitch will set a value for existing switches. If a switch
is not found, a new one will be created.

The command pdbSetArray defines the array for string data.

The data type DoubleArray has a special format and can be modified in
several different ways depending on the changes required.

This type is usually used for charge state–dependent parameters, in which


case, the array index refers to the charge state. For example, the database
entry for Silicon Interstitial ChargeStates is a list of length 10;
the first entry is -2, the second entry is 0 (which means
ChargeStates[-2]=0), the third entry is -1, and the fourth is
{[Arrhenius 5.68 0.48]}, which means
ChargeStates[-1]=[Arrhenius 5.68 0.48] and so on. There are
also arrays that are intended for double sums. In this case, the array index
entries have a comma-separated field. For example, with Silicon Boron
Interstitial kfKickOut, the first entry (which corresponds to an array
index) is {-2,-2}. The following examples show how to set and change
these types.

The command pdbSetElement modifies the value of one element in an


array.

NOTE: The arguments for pdbSetDouble, pdbSetDoubleArray, and


pdbSetBoolean must evaluate to a numeric data. Calls to procedures or to
the pdbDelayDouble command in the arguments may cause errors if they
are not constructed correctly.

1006 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
pdbSet and Related Functions

Examples:

pdbSet Si B Dstar 1e-7;


# Set the Dstar parameter for Boron in Silicon--quit with list if not found.
# Next line sets index 0 of ChargeStates to 0.1

pdbSet Si Int ChargeStates 0 0.1


#Next line sets all members of ChargeStates: index 0 = 0.1, and so on

pdbSet Si Int ChargeStates {0 0.1 1 0.2 3 0.3};


# Next sets one index of a double array meant for double charge state indexing

pdbSet Si B Int KfKickOut -2,1 {[expr 4.0*3.14159*([Arrhenius 0.1 0.2]+


[Arrhenius 0.3 0.4])]}

# Now for the non-syntax-checked versions:


pdbSetDouble Si B Dstar 1e-7
# Set Dstar , create Dstar if it does not already exist
# (in this example, Dstar would already exist)
pdbSetSwitch Si Dopant DiffModel Pair
# Set the DiffModel in Silicon to 'Pair'

pdbSetDoubleArray Si MyVar MyArray {0 0.1 1 0.2 3 0.3};


# Create a new DoubleArray,index 0 = 0.1, and so on

pdbSetArray MyArray { 0 abc 1 def 2 ghi }


pdbGetArray MyArray ;# print "0 abc 1 def 2 ghi"
pdbGetElement MyArray 1 ;# print "def"
pdbSetElement MyArray 1 jkl ;# modifies A[1] data from "def" to "jkl"

Sentaurus Process User Guide 1007


H-2013.03
A: Sentaurus Process Commands
pdbUnSet-related Functions

pdbUnSet-related Functions
Function: All of the following functions unset database parameters:
• pdbUnSetBoolean
• pdbUnSetDouble
• pdbUnSetDoubleArray
• pdbUnSetString
Syntax: pdbUnSetBoolean <c> <c> ...
pdbUnSetDouble <c> <c> ...
pdbUnSetDoubleArray <c> <c> ...
pdbUnSetString <c> <c> ...

Description: Used to temporarily remove parameters from the parameter database during
the simulation.
Examples: pdbUnSetString Silicon Vac EquationProc

pdbUnSetDouble Silicon Vac Cstar

1008 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
PDE2KMC

PDE2KMC
Function: Translates and transfers Sentaurus Process fields to Sentaurus Process KMC.
Syntax: PDE2KMC

Description: Called automatically when a switch from the PDE solver to the Sentaurus
Process KMC solver is detected. It translates the continuum concentrations
into suitable particle distributions to be used by Sentaurus Process KMC.

The atomization is performed using the select command with the


appropriate KMC species names.

The translation between PDE fields and KMC species is performed with a
mapping that translates the field names into their atomistic counterparts. This
translation is made as accurately as possible, but sometimes a perfect one-to-
one mapping is not possible. In that case, meaningful approximations are
used. For example, ICluster is translated into I4. A complete list of these
translations is available in the file [Link].
Examples: PDE2KMC

See: SetAtomistic on page 1056

Sentaurus Process User Guide 1009


H-2013.03
A: Sentaurus Process Commands
photo

photo
Function: Creates a photoresist layer.
Syntax: photo
[thickness=<n>][<m>|<cm>|<um>|<nm>]
[mask=<c>] [Adaptive] [sde] [repair]

Description: Creates photoresist layer of the specified thickness outside the mask. The
mask must have been defined using a mask command. If the photoresist
should be deposited inside of the mask, the parameter negative must be
defined in the mask command.
Options:

Adaptive Specifies with or without adaptive meshing for the photo command.
Parameters for adaptive meshing are described in Adaptive Refinement on
page 679. The default is the return value of pdbGet Grid Adaptive.
mask Specifies the name of the mask to be used to create the photoresist. The
photoresist is deposited in the openings of the mask.
repair In MGOALS3D mode, small regions are removed automatically by default.
Sometimes, this can cause small gas bubbles in the structure or other
problems. Use !repair to switch off small region removal.
sde String used to specify parameters and select algorithms for 3D Sentaurus
Structure Editor. By default, the parameters mask and thickness are
translated into appropriate Sentaurus Structure Editor commands. If an
algorithm is specified in the sde parameter, it overwrites the algorithm used
by default for isotropic or anisotropic etching. For example:
photo thickness=2<um> mask=mask1 sde= {"algorithm" "lopx"}

thickness Specifies the thickness of the photoresist. The default value is 2.0 μm .
Examples: photo thickness=2<um> mask=mask1

See: mask on page 977

1010 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
plot.1d

plot.1d
Function: Plots a 1D cross section.
Syntax: plot.1d
[name=<c>] [[Link]]
[x=<n>][<m>|<cm>|<um>|<nm>]
[y=<n>][<m>|<cm>|<um>|<nm>]
[z=<n>][<m>|<cm>|<um>|<nm>]
[boundary] [clear]
[max= <numeric list>] [min= <numeric list>]
[color=<c>] [symb=<c>] [label=<c>] [title=<c>]
[close] [rescale]

Description: Plots cross sections vertically or horizontally through the device with options
to provide for initialization of the graphics device and plotting of axes. This
command can optionally draw vertical lines whenever a material boundary is
crossed.
Options:

boundary Specifies that any material boundaries that are crossed should be drawn in as
vertical lines on the plot. The default is false.
clear Specifies whether the graphics screen should be cleared before the graph is
drawn. If true (the default), the screen is cleared.
close Closes the plot window.
color Specifies the line color for the plot. It can be any color supported by the X11
hardware and named in the color database.
[Link] Specifies the x-, y-axis ratio to be fixed. The default is false.
label Specifies the name of the line in the legend box of the plot window. The
default is the name of the current dataset.
max Takes a list of numeric values that will be the ends of the x- and y-axis. The
first argument is the x-value and the second is the y-value. A single value is
always interpreted as the x-value. The default is the maximum extent of the
current structure.
min Takes a list of numeric values that will be the ends of the x- and y-axis. The
first argument is the x-value and the second is the y-value. A single value is
always interpreted as the x-value. The default is the minimum extent of the
current structure.
name Specifies the name of a data field. This allows plots without using the
select command. The default is Z_Plot_Var.

Sentaurus Process User Guide 1011


H-2013.03
A: Sentaurus Process Commands
plot.1d

rescale Rescales the plot to fit the whole simulation domain.


symb Specifies a symbol type to be drawn on the cross-sectional line. Each point is
drawn with the specified symbol. It defaults to no symbol. Whatever
character is entered is placed at each data point on the plot.
title Specifies the title of the plot window.
x, y, z Specify the constant values of a line along which sectioning is performed. In
1D, these parameters are not necessary. In 2D, only one of x or y can be
specified for a given device. Specifying x produces a horizontal slice through
the device and y specifies a vertical slice. An easy way to remember is that
the cross section is taken at the constant value specified. For a 3D simulation,
two of these three values must be specified. The default unit is μm .
Examples: plot.1d x=1.0 symb=1 clear
Clears the screen, draws a set of axes, and draws the data along a horizontal
cross section at x=1.0 μm . Each point is drawn with symbol 1.

plot.1d x=2.0 clear lab=Lateral


Draws a horizontal cross section at x = 2.0 μm on the previous set of axis.
The line is labeled Lateral in the legend.
See: select on page 1053, slice on page 1073

1012 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
plot.2d

plot.2d
Function: Plots a 2D xy graphic.
Syntax: plot.2d
[(x=<n>) | (y=<n>) | (z=<n>)][<m>|<cm>|<um>|<nm>]
[[Link]]
[max= <numeric list>] [min= <numeric list>]
[clear] [fill] [gas]
[edges] [faces] [nodes]
[boundary] [[Link]] [[Link]=<c>]
[grid] [[Link]=<c>] [title=<c>]
[kmc]
[vector=<c>]
[vlength=<n>][<m>|<cm>|<um>|<nm>]
[vmax=<n>][<m>|<cm>|<um>|<nm>]
[close] [rescale]

Description: Plots a 2D xy graphic. Usually, this command is used to look at material


boundaries and grids; however, it also can be used to plot a flow field. This
command can be executed immediately before a contour command to
allow isoconcentration lines to be plotted in context with the structure.

To obtain standard color and other settings for the plot.2d window, use the
following command from the UNIX command line:
unix:> xrdb -merge ${STROOT}/tcad/${STRELEASE}/lib/score/XFloops

Options:

boundary Specifies that the device outline and material interfaces should be drawn.
The default is false.
clear Specifies that the graphics screen should be cleared before the graph is
drawn. If true (the default), the screen is cleared.
close Closes the plot window.
[Link] Specifies the color with which to draw the boundary. Any valid X11 color
can be specified.
[Link] Specifies the color with which to draw the grid. Any valid X11 color can be
specified.
edges Prints the edge indices on the plot. The default is false.
faces Prints the face indices on the plot. The default is false.

Sentaurus Process User Guide 1013


H-2013.03
A: Sentaurus Process Commands
plot.2d

fill Specifies that the device should be drawn with the proper aspect ratio. If
fill is false (the default), the device is drawn with the proper aspect ratio.
When true, the device is expanded to fill the screen.
[Link] By default, the x to y ratio is now fixed. This can be switched off with
the ![Link] parameter.
gas Specifies that the grid in the gas should also be plotted. The default is false
(so no gas grid is shown).
grid Specifies that the numeric grid on which the problem was solved should be
drawn. The default is false.
kmc Plots particles in an atomistic KMC simulations as dots.
[Link] Name of the material in the lower-left corner of the material region.
max Takes a list of numeric values that will be the ends of the x- and y-axis,
respectively. The first argument is the x-value and the second is the y-value.
A single value is always interpreted as the x-value. The default is the
maximum extent of the current structure. The default unit is μm .
min Takes a list of numeric values that will be the ends of the x- and y-axis,
respectively. The first argument is the x-value and the second is the y-value.
A single value is always interpreted as the x-value. The default is the
minimum extent of the current structure. The default unit is μm .
nodes Prints the node indices on the plot. The default is false.
rescale Rescales the plot to fit the whole simulation domain.
title Specifies the plot window title.
vector Takes a vector field name as an argument. This indicates arrows proportional
to the size of the vector and in the direction of the vector at each node.
Currently, this option does not work for 3D simulations.
vlength Scales the length of the vectors so that the maximum vector has length
vlength. The default value and unit is 0.1 μm .
vmax Use this as the maximum velocity instead of searching for it. The default unit
is μm .
x, y, z For a 2D simulation, these parameters are unnecessary. In three dimensions,
one of these three must be specified to indicate the cutline through the
structure. The default unit is μm .

1014 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
plot.2d

Examples: plot.2d grid


Draws the triangular grid and axis. Each material is plotted in a different
color.

plot.2d bound min= {2 5}


Draws the material interfaces with the minimum x- and y-values of 2.0 and
5.0 μm .

plot.2d bound diamonds


Draws the material interfaces and places symbols at each coordinate in the
mesh.

plot.2d vector=Velocity vlength=0.1 !clear


Plots the Velocity vector field. The maximum arrow drawn will have a
length of 0.1 μm . The plot surface will not be cleared.
See: bound on page 859, Compatibility on page 860, contour on page 865,
select on page 1053, slice on page 1073

Sentaurus Process User Guide 1015


H-2013.03
A: Sentaurus Process Commands
[Link]

[Link]
Function: Updates or initiates Sentaurus Process–Tecplot SV 1D, 2D, and 3D graphics.
Syntax: [Link]
[autofit] [autorange]
[command=<c>]
[connect]
[contourvar=<c>]
[[Link]]
[data]
[[Link]] [[Link]] [[Link]] [[Link]] [[Link]]
[[Link]] [[Link]] [[Link]]
[[Link]] [detach] [display] [double_prec]
[framebg] [framebgname] [framecolor] [framecolorname] [frameheader]
[frameheight] [framewidth] [frameposx] [frameposy]
[frameshiftx] [frameshifty] [frametransparent]
[framezoom] [framezoomx] [framezoomy]
[Grid]
[host=<c>]
[interfaces]
[[Link]=<n>]
[legend]
[loadfile=<c>]
[macro=<c>]
[port=<n>]
[[Link]] [[Link]]
[scale = lin | log | ash]
[[Link]=<c>]
[start]
[suppressmat=<c>] [unsuppressmat=<c>]
[suppressvar=<c>] [unsuppressvar=<c>]
[terms]
[[Link]]
[x1auto] [x2auto] [x3auto] [x4auto] [x5auto] [xauto]
[y1auto] [y2auto] [y3auto] [y4auto] [y5auto] [yauto]
[x1log] [x2log] [x3log] [x4log] [x5log] [xlog]
[y1log] [y2log] [y3log] [y4log] [y5log] [ylog]
[x1max=<n>] [x1min=<n>] [x2max=<n>] [x2min=<n>] [x3max=<n>] [x3min=<n>]
[x4max=<n>] [x4min=<n>] [x5max=<n>] [x5min=<n>] [xmax=<n>] [xmin=<n>]
[xyautofit] [xyshow]
[y1axisvar=<n>] [y2axisvar=<n>] [y3axisvar=<n>] [y4axisvar=<n>]
[y5axisvar=<n>]
[y1max=<n>] [y1min=<n>] [y2max=<n>] [y2min=<n>] [y3max=<n>] [y3min=<n>]
[y4max=<n>] [y4min=<n>] [y5max=<n>] [y5min=<n>] [ymax=<n>] [ymin=<n>]

1016 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
[Link]

Description: Starts Tecplot SV, connects to a running Tecplot SV process, or sends


commands or data to a running Tecplot SV process. After an instance of
Tecplot SV with interprocess communication enabled (that is, the command-
line option tecplot_sv -s:ipc) is running, subsequent Sentaurus
Process runs will send graphics information to the same (already running)
Tecplot SV to avoid a delay in Tecplot SV startup. The [Link] command
is called automatically by the graphics command.
Options:

autofit Automatically fits the view for 2D and 3D modes after each update.
autorange Automatically resets the minimum and maximum data range for contour
plots after each update.
command Specifies the command string used to launch the Tecplot SV process. The
default is "tecplot_sv -s:ipc".
connect Permits connection to a running Tecplot SV process. The default is true.
contourvar Selects the specified variable as the contour variable. By default, the first
variable is selected as the contour variable.
[Link] Automatically creates an abs() dataset for each vector variable.
data Sends new values of all variables to Tecplot SV.
[Link], [Link], [Link], [Link], [Link]

Enables data of the corresponding value type. The default is true for
[Link], [Link], and [Link].
[Link], [Link], [Link]

Enables data of the corresponding location type. The default is true for all
types.
[Link] Causes the old frame to be deleted when a new frame is created in
Tecplot SV, due to switching from 1D to 2D, or from 2D to 3D mode. The
default is true.
detach Detaches display from a process.
display Specifies the host name and sequence number for display.
double_prec Uses double precision for all data transfers to Tecplot SV. This causes slower
data transfer and higher memory consumption in Tecplot SV. This option
must be specified before or together with the start option. The default is to
use single precision.
framebg Specifies the background color of the frame.

Sentaurus Process User Guide 1017


H-2013.03
A: Sentaurus Process Commands
[Link]

framebgname Specifies the background color name of the frame.


framecolor Specifies the header color of the frame.
framecolorname

Specifies the header color name of the frame.


frameheader Enables display of frame header.
frameheight, framewidth

Specify the height and width of the frame.


frameposx, frameposy

Specify the horizontal or vertical display position of the frame.


frameshiftx, frameshifty

Specify the horizontal or vertical distance that the frame shifts.


frametransparent

Sets transparency display mode of the frame.


framezoom Specifies scaling factor of the frame.
framezoomx, framezoomy

Specify the horizontal or vertical scaling factor of the frame.


Grid Updates the grid (vertices and elements) in Tecplot SV.
host Specifies the name of the host where Tecplot SV should be started or
connected to.
interfaces Enables interface regions to be displayed. The default is false.
[Link]

Specifies how many seconds Sentaurus Process must wait for a Tecplot SV
response after trying to start it. The default is 10 s.
legend Displays the contour legend.
loadfile Loads the specified file in Tecplot SV.
macro Sends a macro command to Tecplot SV (see examples). The macro language
is documented in the Tecplot 360™ Scripting Guide.
port Specifies the port number for the Tecplot SV socket connection. The default
is 2203.
[Link] Resets to the default display mode.

1018 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
[Link]

[Link] Resets the axis scale and axis range for all axes.
scale Sets the contouring scale to either lin, log, or ash for the variables
specified with the option [Link]. The [Link] option
must be specified with scale.
[Link] Specifies a list of variables to be used with a second option such as scale.
The variable names can contain wildcards, for example, Stress*.
start Tries to connect to a running Tecplot SV process or to launch a new process.
See Tecplot SV User Guide, Chapter 5 on page 13 for detailed information
on the behavior of the start procedure.
suppressmat, unsuppressmat

Specifies the name of a material to be excluded or not excluded from the


display.
suppressvar, unsuppressvar

Specifies the name of a variable to be excluded or not excluded from the


display. A pattern can be specified to exclude a set of variables, for example,
*Interstitial*. Patterns are matched using the Tcl_StringMatch()
function.
terms Enables term fields.
[Link] Fits the view.
x1auto, x2auto, x3auto, x4auto, x5auto, xauto
y1auto, y2auto, y3auto, y4auto, y5auto, yauto

Enables the automatic range reset for the specified axis. The default is true.
x1log, x2log, x3log, x4log, x5log, xlog
y1log, y2log, y3log, y4log, y5log, ylog

Sets or unsets logarithmic mode for the specified axis. The default is true for
y-axes.
x1max, x1min, x2max, x2min, x3max, x3min, x4max, x4min, x5max, x5min, xmax, xmin
y1max, y1min, y2max, y2min, y3max, y3min, y4max, y4min, y5max, y5min, ymax, ymin

Sets the lower and upper range limits for the specified axis. This disables
automatic range reset for the corresponding axis.
xyautofit Resets all xy axes ranges to preset values after each update.
xyshow Specifies variables that should be displayed as xy mappings. Wildcards can
be used in the variable names.

Sentaurus Process User Guide 1019


H-2013.03
A: Sentaurus Process Commands
[Link]

y1axisvar, y2axisvar, y3axisvar, y4axisvar, y5axisvar

Specifies the variable name to be displayed on the y-axis.


Examples: # if a structure has already been created
[Link] start ;# start graphics
# Perform a process step here...
[Link] grd data ;# update graphics

Allows independent scaling of axes and fits the view:


[Link] macro="TWODAXIS AXISMODE = INDEPENDENT"
[Link] [Link]

Saves a Tecplot SV package file:


[Link] macro="SAVELAYOUT '[Link]' INCLUDEDATA = YES"

Prepares for displaying boron and stress data on separate y-axes, with the
legend enabled, with linear scaling for the stress variables, and with boron as
the contouring variable for 2D mode:
[Link] xyshow="Boron* Stress*" \
y1axisvar=Boron* y2axisvar=Stress*!y2log y2min=-1e-6 y2max=1e-5 \
contourvar=Boron legend
[Link] [Link]=Boron* scale=log
[Link] [Link]=Stress* scale=lin

See: Tecplot SV User Guide, Launching or Connecting to Tecplot SV on page 13

1020 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
[Link]

[Link]
Function: Prepares an xy plot to draw on.
Syntax: [Link]
[clear]
[min= <numeric list>] [max= <numeric list>]
[[Link]=<c>] [[Link]=<c>] [[Link]] [[Link]]

Description: Configures a 2D plot surface for use with the [Link] command. This
prepares axis scaling, labels, and controls log axes. (Using this command and
the [Link] command could simulate all other commands in this section.)
Options:

clear Clears the existing plot surface. The default is true.


max Takes a list of numeric values that will be the ends of the x- and y-axis,
respectively. The first argument is the x-value and the second is the y-value.
A single value is always interpreted as the x-value. The default is the
maximum extent of the current structure.
min Takes a list of numeric values that will be the ends of the x- and y-axis,
respectively. The first argument is the x-value and the second is the y-value.
A single value is always interpreted as the x-value. The default is the
minimum extent of the current structure.
[Link], [Link]

Provide the labels for the x-axis and y-axis.


[Link], [Link] Control whether there is a linear or log axis. If log is selected, the logarithm
of the values on the [Link] command are taken. The axis also will have
log scale form.
Examples: [Link] min = {1 0.0} max = {3600 0.75} [Link]=Time [Link]=Thickness
Prepares a plot area.
See: [Link] on page 1023, select on page 1053

Sentaurus Process User Guide 1021


H-2013.03
A: Sentaurus Process Commands
point

point
Function: Creates a point, for example, for a mask polygon.
Syntax: point
[coord= {<n>[<m>|<cm>|<um>|<nm>]
<n>[<m>|<cm>|<um>|<nm>]
<n>[<m>|<cm>|<um>|<nm>]}]
[name=<c>] [list] [clear]

Description: Defines a point in three dimensions or a 2D point in the yz plane. It can be


used to construct polygons to define masks.
Options:

clear Clears the list of all points. If a name is specified, it clears only that point
information.
coord Defines the coordinates of the point. For a 3D point, all three coordinates
must be specified. If only two are defined, a 2D layout point in the yz plane
is assumed. The default unit is μm .
list Returns the list of currently defined points. If a name is given, it prints the
information for this point only.
name Specifies the name of the point.
Examples: point name=p1 coord= {0 -1.5}
Defines a 2D point with the coordinates y = 0 and z = –1.5.

LogFile [point list]


Prints the list of defined points.
See: mask on page 977, polygon on page 1024

1022 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
[Link]

[Link]
Function: Adds a line segment to a plot.
Syntax: [Link]
x=<n> y=<n>
[name=<c>] [color=<c>] [symb=<c>] [move]

Description: Adds segments to a specified line on a plot surface using the X-windows-
based plotting (plot.1d or plot.2d). The command is used to plot
calculated values, data, or direct outputs from the simulation. The values can
be added to any named line.
Options:

color Specifies the color for the line. It can be any color supported by the X11
hardware and named in the color database.
move Instead of drawing from the last point, the graphics pen is placed at this point
without moving. This, combined with symb, can be used to draw scatter
plots.
name Specifies the name of a line, so that points can be added to the line at a later
time. The name can be any valid character string and is used in the plot
legend. If the named line does not exist, it is created.
symb The first character of this string is used to mark the line. The default is x. If
no symbol is specified, none will be used. If a symbol is specified once for a
line, it is used for all lines.
x, y Mandatory. Specify the values to be added to the plot.
Examples: [Link] x=60.0 y=0.1 name=Thickness
The x- and y-values are added to the line named Thickness.
See: interface on page 948, interpolate on page 950, [Link] on page 1021,
select on page 1053

Sentaurus Process User Guide 1023


H-2013.03
A: Sentaurus Process Commands
polygon

polygon
Function: Creates a polygon, for example, for a mask.
Syntax: polygon
(list | clear |
(name=<c>
(tdr=<filename> [regions= {reg_1 ... reg_n}]) |
[materials= {mat_1 ... mat_n}] |
[points= {point_1 point_2 ... point_n}] |
[segments= {
y_1[<m>|<cm>|<um>|<nm>]
z_1[<m>|<cm>|<um>|<nm>]
y_2[<m>|<cm>|<um>|<nm>]
z_2[<m>|<cm>|<um>|<nm>] ...
y_n[<m>|<cm>|<um>|<nm>]
z_n[<m>|<cm>|<um>|<nm>]}] |
[rectangle]
[min= {
y[<m>|<cm>|<um>|<nm>]
z[<m>|<cm>|<um>|<nm>]}]
[max= {
y[<m>|<cm>|<um>|<nm>]
z[<m>|<cm>|<um>|<nm>]}]
)
)
[xy]

Description: Defines a polygon. This command defines a mask or uses the polygon during
an insertion. One of the following must be used to create a polygon:
• points
• segments
• rectangle
• tdr
If named points are not given explicitly when forming polygons, they are
generated automatically during the creation of the polygon.
Options:

clear Clears the list of all polygons. If name is specified, it clears only the named
polygon.
list Returns a list of all polygons. If name is given, it returns the information for
this polygon only.
materials Specifies a material or list of materials that will be read when using the tdr
option.

1024 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
polygon

max Maximum point for a rectangular box. It should be used with the
rectangle parameter to create a rectangular polygon. The default is the
structure bounding box maximum.
min Minimum point for a rectangular box. It should be used with the rectangle
parameter to create a rectangular polygon. The default is the structure
bounding box minimum.
name Specifies the name of the polygon.
points Lists the point names used to specify the polygon. A minimum of three must
be specified. The points must have been specified using the point
command. The polygon is closed implicitly by connecting the first and last
points. This parameter also can be used with rectangle to specify a
rectangular polygon. In this case, two points should be given: the minimum
and maximum points of the rectangle.
rectangle Must be specified along with the parameters min and max to define a
rectangular box. Alternatively, two named points can be given (using
points) corresponding to the minimum and maximum of the rectangle.
regions Specifies a region or list of regions to be used when reading the polygon by
using the tdr option.
segments Lists the line segments in the yz plane (or xy when the option xy is specified)
used to specify a polygon in 3D. The polygon is closed implicitly by
connecting the first and last points. A minimum of three segments must be
given.
tdr Reads the polygon from the filename. If you use tdr, you must specify xy.
It allows you to use materials and regions to further specify which polygon to
be read from the TDR file.
xy Defines the polygon in the xy plane instead of the default yz plane. When
using xy, the segments are defined as { x_1 y_1 ... x_n y_n }, and min and
max as x y. This option is mandatory when using tdr. Specifying this option
typically means that the polygon will be used for insertion rather than for
masking.

Sentaurus Process User Guide 1025


H-2013.03
A: Sentaurus Process Commands
polygon

Examples: point name=p1 coord= {0.0 0.0}


point name=p2 coord= {0.0 -0.5}
point name=p3 coord= {0.5 -0.5}
point name=p4 coord= {0.5 0.0}

polygon name=Box1 points= {p1 p2 p3 p4}


polygon name=Box2 points= {p2 p4} rectangle
polygon name=Box3 min= {0.0 -0.5} max= {0.5 0.0} rectangle
Creates three identical rectangles using points and coordinates.

polygon name=LShape segments= \


{0.0 -1.5 0.0 -0.5 0.5 -0.5 0.5 1.5 1.5 1.5 1.5 -1.5}
Defines an L-shaped polygon using 1D line segments.

polygon name = "box" xy tdr="points_bnd.tdr" materials="Aluminum"


Reads the aluminum material structure in the file points_bnd.tdr as a
polygon called box.

LogFile [polygon list]


Prints the list of polygons that have been defined.

polygon name=Box3 clear


Deletes Box3.
See: Inserting Polygons in Two Dimensions on page 762, insert on page 942,
mask on page 977, point on page 1022

1026 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
polyhedron

polyhedron
Function: Creates and stores 3D polyhedra, mainly for later insertion.
Syntax: polyhedron
clear | list |
(name=<c>
([Link]
(tdr=<filename> [regions= {reg_1 ... reg_n}]) |
[materials= {mat_1 ... mat_n}] [rotate]) |
brick= {
minx[<m>|<cm>|<um>|<nm>]
miny[<m>|<cm>|<um>|<nm>]
minz[<m>|<cm>|<um>|<nm>]
maxx[<m>|<cm>|<um>|<nm>]
maxy[<m>|<cm>|<um>|<nm>]
maxz[<m>|<cm>|<um>|<nm>] } |
polygons= {pol_1 ... pol_n} |
(polygons= {pol}
min=min_x[<m>|<cm>|<um>|<nm>]
max=max_x[<m>|<cm>|<um>|<nm>])
)

Description: Creates a polyhedron and stores it under the name <c>. Different
mechanisms can be used to create the polyhedron. It can be read from a TDR
boundary file, defined as a brick, defined from the beginning using polygonal
faces, or created as an extruded polygon. When a polyhedron is defined, it
can be used to perform polyhedron insertion using the insert command.
Options:

brick Creates a rectangular prism, given its two corners as minx miny minz and
maxx maxy maxz.
clear Erases all the previously defined polyhedra from memory.
[Link] Creates a polyhedron from the external Sentaurus Structure Editor structure.
For more information, see Sentaurus Structure Editor Interface on page 767.
list Displays a list of the currently defined polyhedra.
materials Optional. It can be used with the tdr option only and is used to choose
which materials will be included in the file. In addition to explicit material
names, the keyword [Link] is available to specify all nongas
materials.
max Maximum x-coordinate for extrusion (see polygon below).
min Minimum x-coordinate for extrusion (see polygon below).

Sentaurus Process User Guide 1027


H-2013.03
A: Sentaurus Process Commands
polyhedron

name Mandatory. Specifies the name of the polyhedron to be created.


polygons Parameter polygons can be used in two contexts:
• When specifying a whole list of polygons that form a polyhedron, it will
build such a polyhedron.
• When specifying one planar axis-oriented polyhedron, it will (with the
help of min and max) extrude that polygon in the x-direction to form a
polyhedron.
regions Optional. It must be used together with tdr. It is used to choose which
regions of the TDR boundary file are included.
rotate Used to avoid the automatic rotation that Sentaurus Process performs when
reading polyhedra to transfer them from the TDR boundary file (assumed to
be in DF–ISE coordinates) to the Sentaurus Process structure in Sentaurus
Process coordinates. It requires the use of the tdr option.
tdr Reads all the polyhedra included in the specified TDR boundary file.
Examples: polyhedron name=sphere tdr=sphere_bnd.tdr materials= { Silicon Gas }
Loads the polyhedra containing silicon and gas from a boundary file
sphere_bnd.tdr with the name sphere.

polyhedron name=prism polygons= { triangle } min=-6 max = 2


Creates a polyhedron named prism, extruding from x = – 6 μm to
x = 2 μm an already existing polygon called triangle.

polyhedron name=tetrahedron polygons = { face1 face2 face 3 face4 }


Using the polygons face1, face2, face3, and face4 (that must be
correctly defined), builds a polyhedron called tetrahedron.

polyhedron name=smallPrism brick= { -6 -4 -2 -1 4.5 1 }


Defines a rectangular prism (brick shape) called smallPrism by using its
two corners, that is, minx = – 6 μm , miny = – 4 μm , minz = – 2 μm , and
maxx = – 1 μm , maxy = 4.5 μm , maxz = 1 μm .
See: Inserting Polyhedra on page 765, insert on page 942

1028 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
PowerDeviceMode

PowerDeviceMode
Function: Sets diffusion models to match the [Link] model of TSUPREM-4 for
power-device applications. It also relaxes time-step controls and reduces
mesh refinement around the interfaces.
Syntax: PowerDeviceMode

Description: Sentaurus Process and TSUPREM-4 use different code and, sometimes, have
different assumptions or algorithms for diffusion. This command tries to
minimize these differences by setting appropriate switches that make the
results of a Sentaurus Process simulation as close as possible to those
produced by TSUPREM-4 with the [Link] model for boron, phosphorus,
arsenic, antimony, and indium in silicon. This includes:
• Switch on Fermi model.
• Switch on solid solubility model.
• Switch on DopantOnly charge model.
• Switch on equilibrium activation model for arsenic.
• Switch on segregation model at oxide–silicon interface.
• Switch off dopant and defect clusters.
• Switch off point-defect equations.
• Relax time-step controls by modifying InitTimeStep, delT, delTox,
delNT, IncreaseRatio, ReduceRatio, and MaxGrowthStep.
• Switch on TSUPREM-4-style time-step controls.
• Reduce mesh refinement around the interfaces.
• Relax meshing criteria during boundary movement.

Sentaurus Process User Guide 1029


H-2013.03
A: Sentaurus Process Commands
print.1d

print.1d
Function: Prints values along a 1D cross section.
Syntax: print.1d
[x=<n>][<m>|<cm>|<um>|<nm>]
[y=<n>][<m>|<cm>|<um>|<nm>]
[z=<n>][<m>|<cm>|<um>|<nm>]
[<material>] [region=<c>] [name=<c>]
[gas] [interfaces]
[[Link]=<c>]

Description: Prints the values along cross sections through the device. This command is
particularly useful for creating input for another xy plot. A Tcl list is returned
for all values. This allows subsequent processing (for example, integration)
of the resulting profile.
Options:

gas By default, gas values are not reported. This option allows the gas mesh to be
included in the extracted data.
interfaces Prints interface data from the field specified with the name parameter. Values
from all interfaces are displayed on the screen and are organized by
interface. For each point on the interface, a set of numbers is displayed as
follows:
• {x value} in 1D
• {x y value} in 2D
• {x y z value} in 3D
where x, y, and z are the coordinates of the interface point, and value is the
value of the specified field.
<material> Name of the material for which the data fields are printed.
name Specifies the name of a data field. This allows printing without using the
select command. The default is to use the field specified in the most recent
select command.
region Name of the region for which the data fields are printed.
[Link]

Sets a value to be returned only during syntax-checking mode. Sometimes,


the value returned by a command can cause a false syntax-check error
because the value returned by the command would not be the value during
normal run mode. Setting this value avoids such problems.

1030 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
print.1d

x, y, z Specify the constant values of a line along which sectioning is performed. In


one dimension, these parameters are not necessary. In two dimensions, only
one of x or y can be specified for a given device. Specifying x produces a
horizontal slice through the device and y specifies a vertical slice. An easy
way to remember this is that the cross section is taken at the constant value
specified. For a 3D simulation, two of these three parameters must be
specified. The default unit is μm .
Examples: print.1d x=1.0
Prints the selected value at x equal to 1.0 μm .

print.1d y=1.0 name=Arsenic


Prints the data field named Arsenic along a vertical line at a lateral position
of 1.0 μm .
See: plot.1d on page 1011, select on page 1053, tclsel on page 1091

Sentaurus Process User Guide 1031


H-2013.03
A: Sentaurus Process Commands
[Link]

[Link]
Function: Writes data in x-, y-, and z-format.
Syntax: [Link]
[name=<c>] [outfile=<c>]
[xlo=<n>][<m>|<cm>|<um>|<nm>] [xhi=<n>][<m>|<cm>|<um>|<nm>]
[ylo=<n>][<m>|<cm>|<um>|<nm>] [yhi=<n>][<m>|<cm>|<um>|<nm>]
[zlo=<n>][<m>|<cm>|<um>|<nm>] [zhi=<n>][<m>|<cm>|<um>|<nm>]
[NODE | EDGE]

Description: Displays the selected data field. The file format is the x-position, y-position,
and z-position. This command is used primarily to write a data field for use
with more sophisticated 3D plotting tools.
Options:

name Specifies the name of a data field. This allows printing without using the
select command. The default is Z_Plot_Var.
NODE, EDGE These Booleans specify either a node-based field or an edge-based field. The
default is NODE.
outfile Name of output file. The file is opened for writing, and any previous content
is destroyed.
xlo, ylo, zlo, xhi, yhi, zhi

Specify a 3D bounding box. Only data within these limits is printed. The
default value and unit is 0 μm .
Examples: [Link] outfile=foo name=Boron
Prints the data field named Boron.
See: select on page 1053

1032 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
profile

profile
Function: Reads a data file and constructs a data field.
Syntax: profile
infile=<c> name=<c> concentration=<n> region=<c> [<material>]
xcoord=<n>
[offset= {<n> <n> <n>}][<m>|<cm>|<um>|<nm>]
[xscale=<n>] [ymin=<n>]
[(logarithmic | linear)]
[min= {<n> <n> <n>}] [max= {<n> <n> <n>}]
[[Link]=<n>] [[Link]=<n>] [[Link]=<n>]

Description: Reads data fields from an ASCII data file or a TDR file and adds them to the
structure. This command allows reading a doping profile from a SIMS
measurement. In this case, if the simulated structure is 2D or 3D, the data
field is created uniformly in the lateral direction. This command also allows
reading a field from a TDR file with the same dimension as the simulated
structure. You also can limit the extent of the imported profile within a
rectangular box by specifying min or max, or both. Outside this box, the
profile falls off with complementary error function (erfc) with standard
deviations given by [Link], [Link], and [Link] in the x-, y-, and z-
direction, respectively.
Options:

concentration Specifies concentration of the field at the specified xcoord.


infile Name of the file to be read. If it is an ASCII data file, the file should be in a
two-column format with depth (in μm ) in Column 1 and the variable in
Column 2. It also will read the output of the print.1d command, which
includes Tcl braces for list processing and the material name. If it is a TDR
file, it must be in the same dimension as the simulated device structure and
requires .tdr as the file extension.
logarithmic, linear

Interpolates data using logarithmic or linear interpolation. The default value


is logarithmic, which is usually more accurate for concentration profiles.
<material> Name of the material to which the field profile is applied. For information
about specifying materials, see Material Specification on page 50.
max Takes a list of numbers defining the x-, y-, and z- coordinates of the lower-
right front corner of the 1D, 2D, or 3D rectangular box in the internal
coordinate system into which the profile is imported. For 1D, 2D, and 3D
structures, a list of one, two, or three numbers is required, respectively. The
possible maximum number is used for missing numbers.

Sentaurus Process User Guide 1033


H-2013.03
A: Sentaurus Process Commands
profile

min Takes a list of numbers defining the x-, y-, and z- coordinates of the upper-
left back corner of the 1D, 2D, or 3D rectangular box in the internal
coordinate system into which the profile is imported. For 1D, 2D, and 3D
structures, a list of one, two, or three numbers is required, respectively. The
possible minimum number is used for missing numbers.
name Mandatory. Specifies name of data field. This parameter allows the creation
of arbitrary fields, for example, a field called Measured.
offset A list of numbers that specify the offsets in the x-, y-, and z-direction,
respectively. The missing values are treated as 0. These values will be
subtracted from the x-, y-, and z-coordinate, respectively, when creating the
data field from the imported field. This parameter allows a profile to be
shifted. The default value and unit is 0 μm .
region Name of the region to which the profile is applied.
[Link] Standard deviation of erfc falloff from a rectangular box in the x-direction.
This parameter must be specified if a rectangular box is specified.
xcoord Coordinate in x-direction where the concentration will be defined.
xscale The profile command assumes the x-dimension is in micrometers. This
command allows you to scale the depth dimension if necessary. For example,
–4
if the depth is in ångströms, 1 ×10 should be specified. The default value is
1.0.
[Link] Standard deviation of erfc falloff from a rectangular box in the y-direction. If
it is not specified, it takes the value of [Link].
ymin Minimum-acceptable value of the data field. Values less than ymin in the
data field are set to ymin. This is useful for data that may approach zero
when using logarithmic interpolation.
[Link] Standard deviation of erfc falloff from a rectangular box in the z-direction. If
it is not specified, it takes the value of [Link].

1034 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
profile

Examples: profile name=Boron infile=[Link] xscale=1.0e-4 ymin=1.0e14


Reads a boron profile into the program. This could be from a Monte Carlo
–4
implant code – UT MARLOWE. Scales the depth by 1 ×10 to convert the
ångström of MARLOWE to micrometer. Since the output of MARLOWE is
14
sometimes zero, a minimum value of 1 ×10 is specified.

profile name=Data inf=SIMS


Reads a filed named SIMS into a data field called Data. This can be
performed to initialize a device doping profile or to read in a measured
profile that is the target of a diffusion extraction.

Sentaurus Process User Guide 1035


H-2013.03
A: Sentaurus Process Commands
RangeRefineboxes

RangeRefineboxes
Function: Creates a set of refinement boxes based on a mask and a set of range and
extent parameters. All boxes share a set of global refinement settings, but
each box can have additional local refinement settings.
Syntax: RangeRefineboxes
name= <root>
mask= <mask>
range= <range>
[<default parameters>]
boxes= {
{drange= <drange_1> [<box_1-specific parameters>]}
[{drange= <drange_2> [<box_2-specific parameters>]}]
...
}

Description: Creates a set of refinement boxes with a single command. The refinement is
applied to the area under the specified mask. The lateral extent is controlled
by the same parameters as in the refinebox command, for example,
[Link] and [Link].

The primary extent is defined by the parameters range and drange. The
range parameter is common to all refinement boxes and may be taken as the
range parameter for a given implantation. The drange parameter can be set
for each related refinement box separately.

As optional global default parameters, any parameter from the refinebox


command is allowed. These parameters are applied to all refinement boxes of
the set. For each individual refinement box, an additional refinebox
command can be set, which can overwrite globally defined parameters or add
new parameters. There are no limits on how many refinement boxes can be
in the set. The individual refinement boxes inherit the <root> name with a
numeric post-fix counter.

NOTE: This command makes one call to the refinebox command per
individual refinement box.

NOTE: You can use the DeleteRefinementboxes command to remove


the entire set of refinement boxes created with the RangeRefineboxes
command.

1036 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
RangeRefineboxes

Options:

<box-specific parameters>

Any parameter of the refinebox command. These parameters are applied


only to the individual refinement box. They can overwrite global parameters
defined in the <default parameters> section.
boxes A Tcl list containing a set of Tcl lists. Each Tcl list contains specific
parameter settings for one individual refinement box.
drange Specifies the primary extent of an individual refinement box, which extends
from xmin = range – drange to xmax = range + drange.
mask Specifies the mask under which the refinement is to be applied.
name Specifies the root name for the set of refinement boxes. Each individual
refinement box inherits a name of the form <root>_<n>, where <root> is
the argument of the name parameter and <n> is a counter.
range Specifies the center of the primary extent for all refinement boxes in the set.
For example, you can use the range parameter from an implant table to
define a set of refinement boxes to resolve the area that dopants penetrate in
a subsequent implantation step.
Examples:

mask name= M1_p segments= { 6 10 }


array set moments [implant Arsenic dose= 5e13<cm-2> energy= 1000<keV> \
tilt= 0 rotation= 0 [Link]]
set range $moments(rp)
set sigma $moments(stdev)
eval RangeRefineboxes name= "RM1" mask= "M1_p" range= $range \
boxes= \{ \
{ drange= $sigma xrefine= [expr $sigma/4.0] yrefine= [expr $sigma/4.0] \
extend= 0 } \
{ drange= [expr 4*$sigma] xrefine= $sigma yrefine= $sigma \
extend= [expr 2*$sigma] } \
{ drange= [expr 2*$sigma] [Link]= [expr $sigma/8.0] \
[Link]= [expr 2*$sigma] [Link]= 1} } \
extend=1.0 xrefine=0.5 yrefine=0.5 info=3

See: refinebox on page 1040

Sentaurus Process User Guide 1037


H-2013.03
A: Sentaurus Process Commands
reaction

reaction
Function: Defines the reacting materials.
Syntax: reaction
(list | (name=<c> mat.l=<c> mat.r=<c> [Link]=<c>))
[[Link]=<c> [Link]=<c>]
[[Link]= <string list>]
[[Link]] [clear] [delete]

Description: Defines reacting materials and the new material that forms as the product of
the reaction. The convention for interface materials is mat1_mat2 where the
materials are ordered alphabetically. For the purpose of this command, left
refers to mat1 and right refers to mat2. Both materials must be specified
when using this command. Silicidation and oxidation rely on this
information.
Options:

[Link] Specifies an ambient-type reaction and which ambient must be present for
this reaction to occur.
clear If a reaction is named, this parameter clears the diffusing species list from
that reaction. If no reaction is named, it deletes all reactions (may only be
useful for special situations).
delete Deletes the named reaction.
[Link]

List of reactants for material growth reactions either ambient type or


nonambient type. For ambient type reactions, the (one only) default diffusing
species name is the ambient name, but it can be changed using this
parameter. For nonambient reactions (such as silicidation), multiple diffusing
species can be listed. Reactants are added automatically to the global
solution list in the SetReactantSolutions procedure.
list Lists the names of the already defined reactions.
[Link] For reactions that use a temporary material during growth, this parameter can
be set to convert the temporary material to a final material after the diffuse
step is finished. This is usually used with epitaxial reactions to keep regions
separated during growth and only merged afterwards.
mat.l, mat.r Specify the material names for each side of the interface before the reaction.
[Link] A valid material name as the product of the reaction.

1038 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
reaction

name A reaction name must be specified. The parameter name is used to identify
the reactions during growth process.
[Link] Name of the existing material that the new material is behaving like. This
includes the existing material and other material interfaces. It is performed in
the ReactantLike procedure.
Examples: reaction name=MyDryOx mat.l=Silicon mat.r=Gas [Link]=oxide \
[Link] = O2
Defines a reaction named MyDryOx. The reaction will occur at the
gas–silicon interface and the new material will be oxide. For the reaction to
occur, O2 must be present in the structure. It is expected that you will provide
the actual reaction equation for the interface using the Alagator language
(see Alagator for Generic Growth on page 584).

reaction name=silicidation mat.l=Silicon mat.r=Titanium \


[Link]=TiSilicide [Link] = {Silicon Titanium} \
[Link]=oxide
In this example, silicon and titanium are the reacting materials. The product
of the reaction is titanium silicide. Two species, silicon and titanium, are
needed for the reaction. It is expected that you will provide the actual
reaction equations for the interface using Alagator language.
See: Alagator for Generic Growth on page 584

Sentaurus Process User Guide 1039


H-2013.03
A: Sentaurus Process Commands
refinebox

refinebox
Function: Sets the local grid parameters and performs a grid refinement using the
MGOALS library.
Syntax: refinebox
[name=<c>] [clear] [list] [print]
[<material>] [materials= {string list}] [regions= {string list}]
[min= <numeric list>] [max= <numeric list>]
[xrefine= <numeric list>]
[yrefine= <numeric list>]
[zrefine= <numeric list>]
[[Link]= {<string list>}]
[[Link]= {<string list>}]
[offsetting] [[Link]]
[[Link]=<i>]
[[Link]= {string list}]
[[Link]= {string list}]
[[Link]=<n>][<um>]
[Adaptive] [kmc]
[[Link]=<n>]
[[Link]=<n>][<um>]
[[Link]=<n>] [[Link]=<n>]
[[Link]=<n>]
[[Link]=<n>]
[[Link]=<n>]
[[Link]=<n>]
[[Link]= n>]
[[Link]= {field1 = <n> field2 = <n> ...}]
[[Link]= {field1 = <n> field2 = <n> ...}]
[[Link]= {field1 = <n> field2 = <n> ...}]
[[Link]= {field1 = <n> field2 = <n> ...}]
[[Link]= {field1 = <n> field2 = <n> ...}]
[[Link]= {field1 = <n> field2 = <n> ...}]
[[Link]= {field1 = <n> field2 = <n> ...}]
[[Link]= {string list}]
[[Link]= {string list}]
[[Link]= {string list}]
[[Link]= string]
[[Link]= {field1= <string> field2= <string> ...}
[[Link]= <string>]
[[Link]= <numeric list>] [[Link]= <numeric list>]
[[Link]= <numeric list>]
[[Link]=<n>] [[Link]=<n>]
[[Link]=<n>] [[Link]=<scaling>]
[3d]
[(mask=<maskname> [Link]=<n> [Link]=<n>) [extend=<n>]
[[Link]] [[Link]] [[Link]]]

1040 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
refinebox

Description: Specifies mesh refinement. The following types of refinement box are
available:
• Standard: Independent xrefine, yrefine, zrefine settings.
• Interface: Refinement near one or more interfaces.
• Adaptive: Adaptive refinement on fields.
• Plane: Planar refinement for crystal boundaries.
• Bulk mask: Confine refinement to an extruded boundary defined by a
mask.
• Mask edge: Confine refinement to a specified distance from a specified
mask.
All refinement boxes can be limited by material or spatially by specifying x-,
y-, or z- minimum or maximum limits.
Options:

3d Specifies the refinement box for only 3D, or for only 1D and 2D. The default
behavior is to always apply the refinement box. If 3d is specified, the
refinement box only applies to 3D. If !3d is specified, the refinement box
only applies to 1D and 2D.
Adaptive Specifies an adaptive refinement box. Adaptive refinement boxes are used
during all MGOALS remeshing operations (etch, depo, photo,
transform, and so on) but will not be used during solve unless adaptive
meshing is switched on (which can be accomplished using pdbSet Grid
Adaptive 1).
clear When used alone, this parameter clears all previously defined refinement
boxes. When used with the name parameter, only the named refinement box
is deleted.
[Link] If ![Link] is specified with the offsetting keyword,
[Link] and [Link] are interpreted
in a nonsymmetric fashion by Sentaurus Mesh. The default is
[Link], that is, the specification of a material or region pair x 1 ⁄ x 2 is
interpreted by Sentaurus Mesh as if the parameters were defined
symmetrically for both x 1 ⁄ x 2 and x 2 ⁄ x 1 .
extend Optional extension when using a mask driven refinement. This value can be
positive (or negative) and extends (shrinks) the refinement isotropically in y
and z. The original mask is left unchanged.
[Link] Minimum and maximum lengths in the x-axis where the refinement will be
[Link] applied when using the mask option.
kmc Refines the internal KMC boxes only.
list Lists the defined refinement boxes.

Sentaurus Process User Guide 1041


H-2013.03
A: Sentaurus Process Commands
refinebox

mask Uses an existing mask name as an extra constrain to where the refinement
will be applied. If the refinement contains another spatial constrain (for
example, using min and max parameters), the final application region is the
intersection of the other constrains and the specified extruded mask.
This parameter requires specifying the box length in x (lacked by the mask)
using [Link] and [Link], and optionally allows the use
of the parameter extend. This option allows the definition of layout (mask)
driven refinements.
[Link] Specifies minimum mesh size near mask edge (actual edge length may be up
to 2 times smaller than this setting. This parameter must be used with
[Link] to have an effect.
[Link] Specifies the growth rate of refinement away from the mask edge (default is
1.0, == no growth). This parameter must be used with
[Link] to have an effect.
[Link]

Specifies the distance from the mask edge over which edge-based refinement
occurs. It must be specified to obtain mask edge–based refinement.
<material> Limits the refinement box to a particular material. By default, the refinement
box applies to all materials. For more information about specifying
materials, see Material Specification on page 50.
materials Limits the refinement box to a list of materials. By default, the refinement
box applies to all materials. For more information about specifying
materials, see Material Specification on page 50.
max, min Limits the extent of the refinement box. Both parameters take a Tcl list of
numbers defining the refinement box extent in the x-, y-, and z-axes (in the
internal coordinate system). You may specify either one or both min and max
with a Tcl list of one, two, or three numbers for each parameter. If one
number is specified, it is taken to be the limit in the x-axis. If two numbers
are specified, they set limits for the x-axis and y-axis. Similarly, three
numbers specify a limit in all three axes. The default unit is μm .
name Name of the refinement box.
print Prints information for all refinement boxes unless name is specified; in
which case, only the named refinement box information is printed.
regions Limits the refinement box to a list of regions. By default, the refinement box
applies to all regions.

1042 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
refinebox

xrefine Sentaurus Process list of three numbers defining the element sizes in the x-
direction at the top, middle, and bottom (in Sentaurus Process coordinates)
of the box. The default unit is μm .
yrefine Sentaurus Process list of three numbers defining the element sizes in the y-
direction at the left, middle, and right (in Sentaurus Process coordinates) of
the box. The default unit is μm .
zrefine Sentaurus Process list of three numbers defining the element sizes in the z-
direction at the front, middle, and back (in Sentaurus Process coordinates) of
the box. The default unit is μm .
Interface refinement control

[Link]

All interfaces that contain any of the materials listed here are refined using
the [Link] criterion. By default, in 2D, interface refinement is
applied to all interfaces of Silicon, Polysilicon, or Oxide. In 3D,
interface refinement is only by default applied to interfaces of Silicon.
[Link]

Used only in conjunction with offsetting or [Link] to


switch on Sentaurus Mesh offsetting or to specify [Link] on a
regionwise basis for Sentaurus Mesh offsetting.
[Link]

A set of pairs of materials where interface meshing will be switched on (1st


and 2nd, 3rd and 4th, and so on).
[Link]

A set of pairs of regions where interface meshing will be switched on (1st


and 2nd, 3rd, 4th, and so on). This region-based interface specification is
supported only for Sentaurus Mesh offsetting, in other words, when the
offsetting keyword is also given.
[Link]

Specifies maximum lateral spacing at the interface.


[Link]

Specifies minimum edge spacing at interfaces for this box.


[Link]

Specifies edge-to-edge growth ratio moving away from an interface.

Sentaurus Process User Guide 1043


H-2013.03
A: Sentaurus Process Commands
refinebox

offsetting When this keyword is given, along with [Link],


[Link], [Link], or
[Link], causes the Sentaurus Mesh offsetting
algorithm to be used to generate offsetting layers at the given interface.
[Link]

Specifies number of offsetting layers at the interface when Sentaurus Mesh


offsetting is used, specified by material or region with the
[Link] or [Link] keywords.
Adaptive meshing

[Link] Sets a field-dependent value of minimum significant field value.


[Link] Sets the field-independent default value of minimum significant field value.
[Link]

Sets the field-independent default value of maximum inverse hyperbolic sine


(asinh) difference criteria.
[Link]

Sets the field-independent default value of maximum absolute difference


criteria.
[Link]

Sets the field-independent default value of maximum local dose error


criteria.
[Link]

Sets the field-independent default value of maximum gradient criteria.


[Link]

Sets the field-independent default value of maximum logarithmic difference


criteria.
[Link] Sets the field-independent default value of the required relative change of a
field across an edge.
[Link] Maximum interval value for interval refinement.
[Link] Sets a field-dependent value of inverse hyperbolic sine difference criteria.
[Link]

Sets a field-dependent value of maximum absolute difference criteria.

1044 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
refinebox

[Link]

Sets a field-dependent value of the maximum local dose error criteria.


[Link] Sets a field-dependent value of maximum logarithmic difference criteria.
[Link] Sets a field-dependent value of maximum gradient criteria.
[Link] Minimum interval value for interval refinement.
[Link] Sets a field-dependent value of the required relative change of the refined
field across an edge.
[Link]

Adds fields to the default list of fields considered for adaptive refinement.
[Link]

Applies adaptive refinement more strongly in one direction than another. A


factor of 1 will have no effect: A factor less than 1 causes smaller edges in
that direction. For example, [Link]= {0.1 1.0} requests
that, for a given adaptive refinement expression value, edges in the x-
direction be 10 times smaller than edges in the y-direction.
[Link] Sets a refinement expression. This takes any valid Alagator expression that
produces a node-based result. Earlier releases required the diff() operator,
but now, the diff operator must not be used. Similar results can be obtained
for earlier releases by removing the diff operator.
[Link] Replaces the default list of fields considered for adaptive refinement.
Solution variables and terms can appear in the [Link] list. (For a
description of a term, see Chapter 6 on page 559.) The default list includes
all dopants and point defects.
[Link]

Sets a field-dependent refinement expression.


[Link]

Sets the direction-dependent maximum edge length.


[Link]

Sets the direction-dependent minimum edge length.


[Link]

Removes specified fields from the default list of fields considered for
adaptive meshing.

Sentaurus Process User Guide 1045


H-2013.03
A: Sentaurus Process Commands
refinebox

[Link] Specifies the type of criteria to apply for adaptive refinement. Allowed
values are interval and error (the default).
[Link] Target length (in micrometers) for interval refinement.
[Link]

Scaling factor used in the calculation of the effective target length for
interval refinement.
Examples: refinebox min= {-0.25 0.4} max= {0.4 0.6} xrefine= {0.1 0.06 0.1} \
yrefine= {0.1 0.01 0.1} oxide
refinebox min= {0.6 0.6} max= {0.8 0.8} xrefine= {0.1 0.03 0.1} \
yrefine= {0.1 0.03 0.1} silicon
Defines two refinement boxes.

refinebox adaptive [Link] = 100 [Link]=5e9


Creates an adaptive box that applies maximum dose error criteria to the
default list of adaptive species, and effectively switches off relative error
criteria which is on by default.

polygon name=pol segments = { -.5 -.5 .5 -.5 .5 .5 0 .5 0 0 -.5 0 }


mask name=Mask1 polygons = { pol }
refinebox name="ref1" mask=Mask1 yrefine = { 0.05 0.075 0.075 } \
[Link] = 0 [Link] = 0.05 extend = 0.2
The boundary for the refinement will be formed by the extension (by
0.2 μm ) of the existing mask called Mask1 extruded from 0 to 0.05 μm .
See: Mesh Refinement on page 674, mask on page 977, mgoals on page 992

1046 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
region

region
Function: Creates regions, marks substrates, and changes region materials.
Syntax: region
<material>
xlo=<c> [ylo=<c>] [zlo=<c>]
xhi=<c> [yhi=<c>] [zhi=<c>]
[substrate] [name=<c>] [min= {<n> <n> <n>} max= {<n> <n> <n>}]
[[Link]] [[Link]] [[Link]]
[[Link]]
[field=<c> & (resistivity=<n>[<ohm-cm>] | concentration=<n>)]
[list | [Link] | [Link] | [Link]]
[[Link]]
[material]
[bbox | [Link] | [Link]]
[[Link]=<c> point= {<n> <n> <n>}]
[volume]
[[Link]=<c>]

Description: The region command has different uses:


• At the beginning of a simulation, the initial regions are created with the
region command in concert with the line command and the init
command. The line command defines where mesh lines go.
• The region command specifies between which mesh lines the regions
are created and what material the regions will be, and whether this region
will be a substrate. It is used to change the material of a region at any
point in the simulation after the structure has been initialized.
• The region command also can be used to return a cropped bounding box
of a region, specified within a user-specified bounding box, defined by
min and max along with a region name.
Options:

[Link] Specifies an alternative material to be used when saving a structure. When


using the TDR format, regions that are converted using [Link] are
properly converted back to the simulation material when the TDR file is read
in from the init command. Although common materials such as SiGe and
III–Vs are by default handled this way, special situations may require
additional conversions when transferring to device simulation.
bbox, [Link], [Link]

If specified, the region command returns the maximum extents of the


region in two points. If [Link] is specified, it returns the maximum extents
of the region in centimeter. If [Link] is specified, it returns the maximum
extents of the region in micrometer.

Sentaurus Process User Guide 1047


H-2013.03
A: Sentaurus Process Commands
region

[Link]

Changes the material of an existing region (must be used with the name
parameter). Changing the material of selected regions (to and from gas) can
be used to change the structure without remeshing. Meshes of material gas
are ignored in most process steps: implantation and oxidation.
concentration Specifies the value of the field directly.
[Link] If specified, returns the cropped bounding box of a region that lies within a
user-specified bounding box.
[Link] Normally when changing the material of a region, all ancestors of the named
region (if there are any) are converted as well as the named region if it exists.
For more information on region naming, see Regionwise Parameters and
Region Name-handling on page 56. If [Link] is switched on (it is
switched off by default), only a region whose name exactly matches the
name parameter will have its material changed.
field Name of a field to be initialized within this region.
list, [Link], [Link], [Link]

Used to obtain a Tcl list of regions:


• list returns a list of all regions.
• [Link] returns a list of nongas, noninterface regions (that is, all bulk
regions).
• [Link] returns a list of gas regions.
• [Link] returns a list of interface regions.
<material> Material of the region. For more information about specifying materials, see
Material Specification on page 50.
material This Boolean flag returns the material name for the named region.
min, max User-specified bounding box.
name Specifies a name for the region. The name should not contain an underscore
(_) or a period (.) because these characters have special meaning.
[Link], point

Used together to change the name of a region. The parameter point must
specify a point (a list of doubles) within a region. The point should not be on
or very near a border. The parameter [Link] specifies the new name of
the region.
resistivity Sets the value of the field by requesting a resistivity. This parameter only
works for fields that have the resistivity parameters in the PDB (which by
default is only As, B, P, Sb, and In in silicon).

1048 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
region

substrate Tags a named region as the substrate for subsequent analysis. This Boolean
flag allows the update_substrate command (see update_substrate on
page 1112) to apply the lattice mismatch strain due to impurities.
Setting !substrate clears the substrate tag. If no region name is specified
and !substrate is set, all substrate tags are cleared.
[Link]

Sets a value to be returned only during syntax-checking mode. Sometimes,


the value returned by a command can cause a false syntax-check error
because the value returned by the command would not be the value during
normal run mode. Setting this value avoids such problems.
xlo, ylo, zlo, xhi, yhi, zhi

Specify the bounds of the region. The <c> value should be one of the tags
created in a preceding line statement.
volume If specified, the command returns the volume of the named region. The units
will be in cm<dim>, where <dim> is the simulation dimension.
[Link] Usually when the material of a region is changed using the
[Link] parameter, all data in that region is set to 0.
Setting ![Link] leaves the data untouched. The default value for this
parameter is taken from pdbGet Grid [Link], which
allows a global setting for this parameter.
Examples: mater name=MySilicon [Link]=Silicon add
region name=bulk MySilicon [Link] ![Link]
Creates a new material MySilicon, and then changes the material of a
region named bulk to MySilicon without changing the data.

region name=Gate Gas [Link]


Changes the region Gate to Gas before setting all fields to zero in Gate
([Link] defaults to true).

region silicon ylo=left yhi=right xlo=surf xhi=back


Creates a 2D silicon region using the statements from the example for the
line command (see line on page 969).

region name=bulk min= {-5.0 0.0 0.0} max= {5.0 1.0 1.0} [Link]
Returns a cropped bounding box of the region bulk that lies within the
specified bounding box defined by the min and max parameters.
See: integrate on page 945, line on page 969

Sentaurus Process User Guide 1049


H-2013.03
A: Sentaurus Process Commands
sde

sde
Function: Dispatches commands to Sentaurus Structure Editor (only available in 3D).
Syntax: sde
{<Sentaurus Structure Editor commands>}
[Adaptive] [remesh]
[on] [off] [external]
[polyhedron=<c>] [[Link]=<c>]
[SdeCheck]
[logfile=<c>]

Description: Enables and configures the interface between Sentaurus Process and
Sentaurus Structure Editor. When sde on is specified, all 3D geometry
modeling is performed using Sentaurus Structure Editor. Sentaurus Process
will translate geometry-modifying commands to the Sentaurus Structure
Editor language and retrieve the resulting modified structure when necessary.
The following commands are supported: etch, deposit, photo, strip,
transform.

NOTE: Scheme commands may be sent directly Sentaurus Structure Editor


using this command, but they must be enclosed in a pair of braces to prevent
syntax errors in the Tcl interpreter. Several Scheme commands can be
specified inside one sde command; each of them must start on a new input
line.
Options:

Adaptive If remesh is selected, this parameter determines if adaptive meshing is used.


The default value is read from the Boolean pdb parameter Grid Adaptive.
<Sentaurus Structure Editor commands>

Any number of sde commands in the Scheme language. You must enclose
the Scheme commands in a pair of braces to protect them from the Tcl
command interpreter. The opening brace must be on the same line as the sde
command, for example:
sde {
(sdepe:depo "thickness" 0.01 "type" "iso" "algorithm" "pt"
"max-chamfer-angle" 30 "steps" 1 "material" "Oxide")
(sdeio:save-dfise-bnd "all" "out1_sde.bnd")
}

1050 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
sde

external Puts Sentaurus Structure Editor interface in external mode. This mode can be
used to create polyhedra that can be inserted into a Sentaurus Process
structure using MGOALS3D. When the external mode is switched on, all
geometry transformations such as etch, deposit, and transform are
applied to the external Sentaurus Structure Editor structure. See Sentaurus
Structure Editor Interface: External Mode on page 764.
logfile Specifies name of a file to log all of the Scheme commands dispatched to
Sentaurus Structure Editor. The recommended file extension is .scm. The file
will contain both the Scheme commands translated from Sentaurus Process
etch, deposit, strip, photo, and transform commands, and the
Scheme commands specified by users inside the sde command.
The log file can be used for fine-tuning and debugging in a stand-alone run
of Sentaurus Structure Editor such as: sde -l [Link]
off Switches off Sentaurus Structure Editor mode. Operations will be performed
by the MGOALS library instead.
on Enables use of Sentaurus Structure Editor for 3D geometry modeling. Even
when Sentaurus Structure Editor is the default engine for 3D etching and
deposition, the command sde on must always be specified to ensure that
future simulations are performed using the same algorithms.
polyhedron Used for external mode only (see the external parameter definition). This
polyhedron is used to initialize the external Sentaurus Structure Editor
interface. The material to be used for this polygon is chosen with the
[Link] parameter, which has a default value of Silicon.
[Link]

Selects the material of the polyhedron that is used to initialize the external
mode. See polyhedron and external parameters.
remesh Enforces a remesh at the end of the sde command.
SdeCheck Performs a geometry check for every boundary file that is created by
Sentaurus Structure Editor. This helps to detect failures in the geometry-
modeling part and prevents the Sentaurus Process simulation from
continuing after an incorrect boundary representation is found.

Sentaurus Process User Guide 1051


H-2013.03
A: Sentaurus Process Commands
sde

Examples:

sde logfile=[Link] on SdeCheck


pdbSet InfoDefault 1
Enables the use of Sentaurus Structure Editor or geometry modeling,
specifies the log file for the Scheme commands, and checks all boundary
files written by Sentaurus Structure Editor.

sde {
(sdegeo:set-default-boolean "ABA")
(define r1 (sdegeo:create-cuboid (position 0 0.6 0)
(position 0.2 0.3 0.5) "Silicon" "Silicon_2"))
(define facelist (list (car (find-face-id (position 0.1 0.3 0.25)))
(car (find-face-id (position 0.2 0.5 0.25)))))
(sdegeo:taper-faces facelist (position 0.2 0.3 0.5) (gvector 0 0 1) 5)
(sdeio:save-dfise-bnd "all" "out1_sde.bnd")
}
Creates a cuboid in Sentaurus Structure Editor with tapered sidewalls and
saves the structure to a .bnd file.
NOTE: The coordinates in the position vectors must be specified in DF–ISE
coordinates: x, y, z in the position vectors correspond to Sentaurus Process
z-, y-, and -x-coordinates.
See: For details about the Scheme commands, refer to the Sentaurus Structure
Editor User Guide.

1052 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
select

select
Function: Selects the plot variable for the postprocessing routines.
Syntax: select
[<material>] [region=<c>]
[z=<c>] [value=<c>]
[name=<c>]
[list] [[Link]]
[store] [present] [permanent] [delete]
[min | max] | [[Link]]
[element] [[Link]] [interfaces] [[Link]]
[[Link]=<c>]

Description: Specifies the variable for display in all postprocessing commands. Data can
be selected directly in most commands, but it is usually more effective to
specify it with the select command, which allows for manipulation of data
fields and also will list all currently defined data fields. The quantity can be
computed on nodes (default) or on elements using the element parameter.
In either case, if necessary, interpolation will be performed to obtain the
proper value type (to obtain element values from nodal ones or vice versa).

NOTE: The select command can be abbreviated to sel.

NOTE: The select command always sets or retrieves data in internal units.
2
Internal units are cgs, for example, pressure is dyn/cm .
Options:

delete Deletes the data field with the name defined by the name parameter.
[Link] Computes the weighted field with respect to edge orientation strongly
favoring axis-oriented edges. Used with adaptive meshing.
element Computes the field on elements interpolating fields in the z expression if
necessary. If false and element fields appear in the z expression, those values
are interpolated to the nodes first.
interfaces Computes the field or minimum/maximum on interfaces as well as bulk. The
default is on, that is, include interfaces.
list Returns a list of currently defined and named real data fields. This returns a
full Tcl list, for use with those commands that require list variables.
[Link] Returns a list of currently defined and named data fields (for example, real
data, vector data, and so on). This returns a full Tcl list for use with
commands that require list variables.

Sentaurus Process User Guide 1053


H-2013.03
A: Sentaurus Process Commands
select

<material> Specifies the material to which the command applies. Different expressions
for the data field initialization in different materials can be used. For
information about specifying materials, see Material Specification on
page 50.
min, max These parameters must be used with the name parameter. When specified,
the select command returns the minimum or maximum of the field name.
You can limit the query to a specific material using the material parameter
or a specific region using the region parameter.
name Name of the new data field. The default is the name is Z_Plot_Var. This is
used by all of the commands when a plot name is not specified. This is a
powerful feature, as solution fields also can be created.
[Link] Computes the divergence of a vector field at a node.
permanent Returns 1 if the data field is written into permanent storage. If not, it returns
0.
present Returns 1 if the data field with the name defined by the name parameter
exists. If it does not exist, it returns 0.
region Name of the region. This parameter specifies the region to which the
command applies. Different expressions for the data field initialization in
different regions can be used.
[Link]

Works with the min and max parameters, Reports the coordinate of the
minimum or maximum value of the selected field.
store Sets the data field with the name defined by the name parameter to be written
into permanent storage when a structure file is output. The default is false.
[Link]

Sets a value to be returned only during syntax-checking mode. Sometimes,


the value returned by a command can cause a false syntax-check error
because the value returned by the command would not be the value during
normal run mode. Setting this value avoids such problems.

1054 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
select

z, value Accepts an expression of data fields that are used to build a new data field.
The operators *, /, +, –, and ^ all work as expected. The vector variables are
listed below. The data fields available can be listed with the list parameter.
In addition to the listed data fields, the x- and y-coordinates can be specified.
Several functions also are available to operate on data fields:
abs Absolute value.
erf Error function.
erfc Complementary error function.
exp Exponential.
log Logarithm.
log10 Logarithm base 10.
sqrt Square root.
Examples: select z=log10(Vacancy)
Selects as the plot variable the base 10 logarithm of the vacancy
concentration.

sel z=(Vacancy - 5.0e14)


Selects as the plot variable the Vacancy concentration minus a constant
14
value of 5 ×10 .

sel z=(MyData - 1.0e18 * exp ( y * y / 1.0e-8 )) name=MyField store


Selects as the plot variable the difference between the MyData and an
analytic profile. This data field will be named MyField. The store flag
indicates that the doping field must be written into any saved structure files.

sel z=1.0e9 name=Pressure store


Sets the value of the data field Pressure to 109 dyn/cm2. The CGS unit is
used internally for mechanics.

select name=MyField delete


Deletes the MyField data field.

select z= "-diff(Potential)" [Link] store name=ElectricField


Calculates the electric field in a new data field called ElectricField. The
store option ensures that the new data field is stored to disk in subsequent
calls of the struct command.

select list
Lists all available real data fields.

select z= "grad(Temperature)" [Link] store name=TotalHeat


Calculates the total heat field in a new data field called TotalHeat.
See: All postprocessing commands

Sentaurus Process User Guide 1055


H-2013.03
A: Sentaurus Process Commands
SetAtomistic

SetAtomistic
Function: Sets the atomistic mode as the simulation mode.
Syntax: SetAtomistic

Description: Switches the simulation domain to the atomistic mode. The following
commands are affected in this mode:
• deposit
• diffuse
• etch
• implant
• profile
• region
• select
• strip
• struct

If there are continuum fields, SetAtomistic automatically calls PDE2KMC


to atomize the fields and to make them available as an initial state for the
KMC simulation.
Examples: SetAtomistic

See: Chapter 5 on page 369

1056 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
SetDFISEList

SetDFISEList
Function: Sets a list of solution or term names to be included when saving DF–ISE
format files.
Syntax: SetDFISEList
[solution/term names]
[Solutions] [Dopants]

Description: Creates a solution or term name list that is passed to the struct command.
Depending on the flags provided by users, solution names or dopant names
can be included or excluded from the fields that need to be written to the
DF–ISE files. If the command is executed without arguments, the default
saving is used, which includes all solutions, total and active dopant fields,
and NetActive (DopingConcentration). If DF–ISE or TDR files are
saved in the struct command with the smesh parameter, the selection of
fields does not depend on the SetDFISEList specifications.
Options:

Dopants Dopants include the total and active dopant concentrations.


Specifying !Dopants does not save total and active dopant concentrations,
but still saves NetActive (DopingConcentration). The default is true.
solution/term names

Any known fields listed on the command line are added to files saved with
struct dfise=<filename>.
Solutions Stores all solution variables (necessary for restarting a simulation).
Using !Solutions switches off all default savings (only fields specified by
name will be saved to DF–ISE files). The default is true.
Examples: SetDFISEList VTotal !Solutions
Allows only the VTotal field to be written to the DF–ISE file.

SetDFISEList Vac Temperature


Adds the Vac and Temperature fields to those usually saved in DF–ISE
files.

SetDFISEList Int0 Intm Vac0 Vacpp


Adds the Int0, Intm, Vac0, and Vacpp fields to those usually saved in
DF–ISE files.

SetDFISEList !Solutions Dopants


Saves only NetActive, and the total and active dopants.

Sentaurus Process User Guide 1057


H-2013.03
A: Sentaurus Process Commands
SetDielectricOxidationMode

SetDielectricOxidationMode
Function: Sets the oxidation mode to grow oxide with dielectric on top.
Syntax: SetDielectricOxidationMode
<Dielectric> <Oxidant>
[Dirichlet | MassTransfer] [Continuous | Segregation]

Description: Sets the related parameters and models for oxidation with a dielectric on top.
Boundary conditions at the gas–dielectric interface and the dielectric–oxide
interface default to Dirichlet and Continuous, respectively.

In addition, these settings can be changed with:


pdbSetString <Dielectric> <Oxidant> DielectricOxTransportBC MassTransfer
pdbSetString <Dielectric> <Oxidant> DielectricOxInterfaceBC Segregation

Options:

Continuous Sets continuous boundary condition at the dielectric-oxide interface.


<Dielectric> Specifies name of dielectric material to grow oxide underneath.
Dirichlet Sets Dirichlet boundary condition at the gas–dielectric interface.
<Oxidant> Specifies name of oxidant.
MassTransfer Sets mass transfer boundary condition at the gas–electric interface.
Segregation Sets segregation boundary condition at the dielectric–oxide interface.
Examples: SetDielectricOxidationMode Nitride O2 MassTransfer Segregation

See: UnsetDielectricOxidationMode on page 1111

1058 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
SetFastMode

SetFastMode
Function: Omits diffusion and Monte Carlo implantation to simulate the device
geometry quickly.
Syntax: SetFastMode

Description: Runs the simulation quickly without simulating dopants and defects. This
can be useful when setting up a command file to confirm quickly that the
geometry is satisfactory before simulating more computationally expensive
steps.

To switch off implantation, use:


pdbSet ImplantData NoImplant 1

To switch off oxidation/reaction, use:


pdbSet Diffuse NoDiffusionReaction 1
This may be useful for 3D geometry simulation.

Examples: SetFastMode

Sentaurus Process User Guide 1059


H-2013.03
A: Sentaurus Process Commands
SetPlxList

SetPlxList
Function: Sets a list of solution and term names to be passed to the WritePlx
command.
Syntax: SetPlxList [solution/term names]

Description: Sets the list of fields to be saved in the next call to WritePlx. The list can
contain solutions or term names.
Options:

solution/term names

Defines the name list to be passed to the WritePlx command.


Examples: SetPlxList { Vacancy Potential }
WritePlx V_and_P.plx
Write a .plx file with the data fields Vacancy and Potential.
See: WritePlx on page 1113

1060 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
SetTDRList

SetTDRList
Function: Sets a list of solution or term names to be included when saving TDR format
files.
Syntax SetTDRList
[solution/term names]
[Solutions] [Dopants]

Description: This command has the same syntax as SetDFISEList. Currently, there is
only one list of fields to be stored when using either TDR or DF–ISE format
files (that is, SetTDRList and SetDFISEList perform exactly the same
function).
Options:

Dopants Dopants include total and active dopant concentrations. !Dopants does not
save total and active dopant concentrations, but still saves NetActive
(DopingConcentration). The default is true.
solution/term names

Any known fields listed on the command line are added to files saved with
struct dfise=<filename>.
Solutions Stores all solution variables (necessary for restarting a simulation).
Using !Solutions switches off all default savings (only fields specified by
name will be saved to DF–ISE files). The default is true.
See: SetDFISEList on page 1057

Sentaurus Process User Guide 1061


H-2013.03
A: Sentaurus Process Commands
SetTemp

SetTemp
Function: Sets the temperature value.
Syntax: SetTemp <n>[<C>|<K>]

Description: Sets the temperature value. The default unit is degree Celsius.
Examples: SetTemp 1000.0
Sets the temperature to 1000°C .

1062 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
SetTS4ImplantMode

SetTS4ImplantMode
Function: Sets implant-related parameters and models to match those of TSUPREM-4.
Syntax: SetTS4ImplantMode [Taurus | Native]

Description: Sentaurus Process and TSUPREM-4 use different codes and, sometimes,
have different assumptions or algorithms for analytic implantations. This
command tries to minimize this difference by setting appropriate switches
that make Sentaurus Process simulation results as close as possible to those
produced by TSUPREM-4. This includes:
• Use beam dose.
• Switch on [Link] model.
• Switch off Sentaurus Process backscattering model.
• In Taurus mode, also switch on PAI model with TSUPREM-4-compatible
PAI mode.

The results may not be exactly the same due to differences in numeric
methods for some cases.
Options:

Native Makes simulation results close to those of TSUPREM-4 native implanter.


Taurus Makes simulation results close to those of TSUPREM-4 Taurus implanter.

Sentaurus Process User Guide 1063


H-2013.03
A: Sentaurus Process Commands
SetTS4MechanicsMode

SetTS4MechanicsMode
Function: Sets mechanics-related parameters and models to match those of
TSUPREM-4.
Syntax: SetTS4MechanicsMode [advanced | 2008.09]

Description: Sets mechanics-related parameters and models in Sentaurus Process to


match TSUPREM-4 settings. This includes the:
• Viscoelastic model and parameters.
• Elastic moduli.
• Stress relaxation factor setting.
• Stress smoothing setting.
• Thermal mismatch coefficients.
• Some settings for oxidation used for backward compatibility (these
settings are the same as the defaults in the PDB).

The parameters above are set to match TSUPREM-4 defaults. The results
may differ due to different numeric methods.
Options:

2008.09 Used for backward compatibility.


advanced Sets TSUPREM-4 advanced settings.

1064 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
SetTS4OxidationMode

SetTS4OxidationMode
Function: Sets oxidation-related parameters and models to match those of
TSUPREM-4.
Syntax: SetTS4OxidationMode [advanced | 2008.09]

Description: Sets oxidation-related parameters and models in Sentaurus Process to match


TSUPREM-4 settings. This includes:
• Settings from SetTS4MechanicsMode
• Activation volumes of SDO reaction rate and diffusivity
• Activation volumes of stress-dependent viscosity
• Native layer thickness
• Stress-dependent oxidation flag

Because TSUPREM-4 has different values for the activation volume of


stress-dependent viscosity during oxidation and nonoxidation steps, it is
recommended to call SetTS4OxidationMode immediately before the
oxidation step and call SetTS4MechanicsMode after it.

The parameters above are set to match TSUPREM-4 defaults. The results
may not be very close due to differences in numeric methods for some cases.
Options:

2008.09 Sets oxidation and mechanics parameters to Version A-2008.09 default


values.
advanced Sets parameters to TSUPREM-4 advanced settings.

Sentaurus Process User Guide 1065


H-2013.03
A: Sentaurus Process Commands
SetTS4PolyMode

SetTS4PolyMode
Function: Sets the polycrystalline model to match those of TSUPREM-4.
Syntax: SetTS4PolyMode

Description: Sets the related parameters and models for the polycrystalline model in
Sentaurus Process to match TSUPREM-4 settings.

1066 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
SheetResistance

SheetResistance
Function: Calculates the sheet resistance and p-n junction depth.
Syntax: SheetResistance
[x=<n>] [y=<n>] [z=<n>]

Description: Calculates the sheet resistance and p-n junction depth of a semiconductor
layer in the vertical direction. It can only be used after a diffusion step.
Options:

x, y, z Specify the cut position. For 1D simulations, no cut specification is


necessary. In 2D, either x or y should be specified and, for 3D simulations,
two axes must be specified. The unit for x, y, and z is μm .
Examples: SheetResistance y=0.4 z=-0.1
Calculates the sheet resistance and p-n junction depth of a 3D structure using
the cut plane y = 0.5 μm and z = ( – 0.1 ) μm .
See: Chapter 13 on page 825

Sentaurus Process User Guide 1067


H-2013.03
A: Sentaurus Process Commands
simDelayDouble

simDelayDouble
Function: Retrieves the Tcl expression used to evaluate a double-precision simulator
state variable.
Syntax: simDelayDouble <c> [<c>]

Description: This command is very similar to the simGetDouble command except that
the evaluation of the return expression is delayed.
Examples: simDelayDouble Diffuse tempC
Returns [simGetDouble Diffuse tempC], which is the unevaluated
expression itself.
See: simGetDouble on page 1070

1068 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
simGetBoolean

simGetBoolean
Function: Reads a global simulator state variable.
Syntax: simGetBoolean <c> [<c>]

Description: Collects the one of the following global simulator state variables:
• AmbientReactions
• IsEpi
• IsGrowing
• laser
• MaterialReactions
Examples: simGetBoolean Diffuse laser
Returns true if laser annealing is switched on.

Sentaurus Process User Guide 1069


H-2013.03
A: Sentaurus Process Commands
simGetDouble

simGetDouble
Function: Reads a double-precision simulator state variable.
Syntax: simGetDouble <c> [<c>]

Description: Collects a simulator set global variable. These variables are:


• EpiThick
• PH2O
• pO2
• pressure
• ramprate
• temp
• tempC
• tempK
• time
• Vt
• Vti
If the variable is not defined, it returns zero.
Examples: simGetDouble Diffuse tempK
Returns the last diffusion temperature [K].

simGetDouble Diffuse pO2


Returns the oxygen partial pressure used during simulation.

1070 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
simSetBoolean

simSetBoolean
Function: Sets a global simulator state variable.
Syntax: simSetBoolean <c> [<c>] <n>

Description: Sets one of the following global simulator state variables:


• AmbientReactions
• IsEpi
• IsGrowing
• laser
• MaterialReactions

NOTE: Modifying global simulator state variables may cause errors in the
simulation.
Examples: simSetBoolean Diffuse laser 1
Sets the value of the global simulator state variable laser to true.

Sentaurus Process User Guide 1071


H-2013.03
A: Sentaurus Process Commands
simSetDouble

simSetDouble
Function: Sets a double-precision simulator state variable.
Syntax: simSetDouble <c> [<c>] <n>

Description: Sets one of the following global double-precision simulator state variables:
• PH2O
• pO2
• temp
• tempC
• tempK
• Vti

NOTE: Modifying global simulator state variables may cause errors in the
simulation.
Examples: simSetDouble Diffuse temp 900
Sets the last diffusion temperature to 900°C .

1072 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
slice

slice
Function: Extracts a 1D data slice through the 2D to 3D simulation object.
Syntax: slice
[name=<c>] [<material>]
[value=<n>] [side=<c>]
[mx] [my] [mz] [mdist]
[x=<n>][<m>|<cm>|<um>|<nm>]
[y=<n>][<m>|<cm>|<um>|<nm>]
[z=<n>][<m>|<cm>|<um>|<nm>]
[p1= <numeric list>]
[p2= <numeric list>]
[[Link]=<c>]

Description: This is an extremely powerful data analysis command. It extracts xy data


along a slice through a specified material. It returns a Tcl list of
coordinate–value pairs, where the coordinate is the distance [ μm ] along the
reference segment, and the value is the local value of the parameter specified
either with the -name option or, if that is not provided, in the most recent
select command. For example:
select z=Boron
set sliceRet [slice y=0.5]
foreach { x value } $sliceRet {
LogFile "$x\t$value\n"
}
This will print and send to the log file the boron profile in x-coordinate value
pairs at y=0.5.

This command extracts the selected variables as a function of position along


a constant line. In one dimension, the command returns the concentration
versus depth, for example. It also can extract a constant contour of the data
selected and returns the coordinates of the isoconcentration line.
Options:

<material> For information about specifying materials, see Material Specification on


page 50.
mx, my, mz, mdist

These Booleans change the reporting information when interface materials


are selected. The interface distance can be reported as projected along one of
the three primary axes (mx, my, mz). Alternately, it can be reported as the
distance along the extracted line (mdist).
name Specifies the name of the data field. The default is Z_Plot_Var.

Sentaurus Process User Guide 1073


H-2013.03
A: Sentaurus Process Commands
slice

p1, p2 Specify the start point and endpoint for the cutline, and each parameter takes
a list of numeric values. The first, second, and third values in the list are
taken as the x-, y-, and z-value, respectively. The missing value will be
treated as zero. These parameters allow the slice command to extract data
along an arbitrary line. The output from the slice command is a list of
(distance, value) pairs, where distance is measured from p1 point, and
value is the extracted value of the selected quantity along the line. Error
messages will given if p1 and p2 are mixed with x, y, z, or value
parameters.
side Takes the value from one of the two bulk materials consisting of the interface
or ‘interface’ (literally) itself. If side is not specified, ‘interface’ itself is
assumed. If side is specified as one of the bulk materials, the value of the
selected quantity for the bulk material at the interface is returned. This
parameter is effective only if an interface material is specified.
[Link]

Sets a value to be returned only during syntax-checking mode. Sometimes,


the value returned by a command can cause a false syntax-check error
because the value returned by the command would not be the value during
normal run mode. Setting this value avoids such problems.
x, y, z, value

Specify a cutline for up to a four-dimensional solid, so that a 2D return is


provided. For 1D simulations, none of these parameters is required. For 2D
simulations, one is required. For 3D simulations, two are required. These
requirements are reduced by one if an interface material has been specified.
The default unit for x, y, and z is μm .
Examples: slice silicon y=0.01
Returns the selected variable as a function of depth at a constant lateral
position of 0.01 μm .

slice silicon val=16.0


Returns the x- and y-positions of a contour of the selected variable at 16.0.

slice silicon /oxide mdist side=silicon


Returns the value of the selected quantity at the silicon side of the interface
as a function of distance from the start of the interface.

slice name=Boron p1= {0 0} p2= {1. 2}


Returns the boron concentration along a line passing through points (0, 0)
and (1, 2).
See: select on page 1053, tclsel on page 1091

1074 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
smooth

smooth
Function: Smooths a set of fields.
Syntax: smooth
[Link]= {list of fields}
[[Link]= {double array}]
[init=<n>][<hr>|<min>|<s>]

Description: Smoothes a set of fields with specified smooth distances.


Options:

init Specifies the first time step for solving the smoothing equations. The default
value is 0.0001 s, which is sometimes inappropriate for defect simulations,
particularly in cases of damage. The default unit is minute.
[Link] Specifies a set of fields to be smoothed. Any existing field can be specified.
[Link]

Specifies the smoothing distance for each field as specified in the


[Link] parameter. The default is 2.0 nm.
Examples: smooth [Link]= {Int_Implant Vac_Implant} \
[Link]= {2<nm> 3<nm>}
Smoothes the interstitial and vacancy implantation profiles with smooth
distances of 2 nm and 3 nm, respectively.

Sentaurus Process User Guide 1075


H-2013.03
A: Sentaurus Process Commands
solution

solution
Function: Obtains and sets solution parameters for generic solutions using Alagator.
Syntax: solution
[add] [list] [present] [needsolution]
[nosolve | solve | ifpresent=<c>] [smooth]
[damp] [negative] [DiffStep] [GrowthStep] [InitStep] [Heat]
[name=<c>] [reset] [store]
[[Link]= {<string list>}]
[unit=<c>]

Description: Creates and modifies solution names, and sets conditions for their inclusion
in the assembly. Solutions also can be listed and checked.
Options:

add Creates a new solution.


damp Damps the Newton iteration updates for this solution.
DiffStep, GrowthStep, InitStep, Heat, smooth

Determines in which solver the solution variable will be solved:


• DiffStep variables are solved with the diffusion solver such as dopants
and defects.
• GrowthStep variables are solved in the reaction step and are usually
oxidants.
• InitStep variables are solved during initialization step.
• Heat variables are solved during laser annealing step.
• smooth variables are solved during smoothing steps (such as occurs
when using the smooth command).
list Lists all of the currently defined solutions.
[Link] List of materials where the solution variable will be solved. If the list is
empty, the solution variable will be solved only if the equations are set for a
specific material.
name The character string used for the solution. Capitalization is not ignored, for
example, Vacancy and vacancy are different. Abbreviations of names are
not accepted.
needsolution Returns true if the solution must be solved.
negative Allows the solution specified to have negative values.

1076 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
solution

nosolve, solve, ifpresent

Only one of these options can be used at a time. They control the solution
status for the next command:
• nosolve means do not solve.
• solve switches on the solution status for the next command.
• ifpresent sets up a conditional solve.
If all the solutions in the specified list are also being solved, this solution is
solved.
present Returns true if the solution is defined and a data field matches the name.
reset Allows reaction solution variables to be reset before the diffusion starts. The
default is on.
store Allows the solution command to be stored in a TDR file.
–3
unit Unit of the solution variable. The default is cm .
Examples: solution name=Potential damp negative solve add
Creates a solution named Potential and always solves for it. Allows the
solution to have negative values and uses damping on the Newton iteration
updates.

solution name=Vac !damp !negative solve add


Creates a solution name Vac and always solves for it. Does not use damping
and does not allow values to become negative.

solution name=I2 !damp !negative ifpresent = {Int Vac} add


Creates a solution named I2 and solves for it if Int and Vac are also present
and being solved.

solution list
Returns a list of all solutions.

solution name=Vac present


Returns a Boolean true if Vac has been defined and if there is a data field
with the name Vac.
See: term on page 1099

Sentaurus Process User Guide 1077


H-2013.03
A: Sentaurus Process Commands
sptopo

sptopo
Function: Exchanges structure and dispatches commands to the 2D etch and deposit
simulator Sentaurus Topography.
Syntax: sptopo { <commands> }

Description: Transfers the boundary representation of the current structure to Sentaurus


Topography and dispatches the commands to Sentaurus Topography. After
executing the commands in Sentaurus Topography, the modified structure is
retrieved and remeshed in Sentaurus Process.

NOTE: A license for Sentaurus Topography must be available, and a version


of the Sentaurus Process binary with Sentaurus Topography included must
be installed.
Options:

<commands> Any number of Sentaurus Topography commands. It is recommended to


enclose the commands in a pair of braces to protect them from interpretation
by the Tcl interpreter.
Examples: sptopo {
deposit material=Oxide thickness = 0.005
deposit material=PolySilicon thickness = 0.180
}

See: Refer to the Sentaurus Topography User Guide.


For 3D operations, see topo on page 1101.

1078 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
stdiff

stdiff
Function: Compares current structure with one from a TDR file.
Syntax: stdiff <tdr file>

Description: Reads the external TDR file, interpolates the data onto the current structure,
compares data, and reports if data exceeds relative error criteria (subject to
absolute error minimum value).
Options:

<tdr file> Gives the full path or prefix of a TDR file. The prefix is the file name without
_fps.tdr.
Examples: stdiff n1_fps.tdr

Sentaurus Process User Guide 1079


H-2013.03
A: Sentaurus Process Commands
strain_profile

strain_profile
Function: Defines the strain introduced by a impurity as a piecewise linear function of
the mole fraction in a given substrate.
Syntax: strain_profile
<material>
species=<c>
ratio= <numeric list>
strain= <numeric list>

Description: The presence of certain materials such as germanium in silicon can modify
the lattice spacing. This command allows Sentaurus Process to compute
strains using the impurity mole fraction.
Options:

<material> Substrate material where the strains are defined.


ratio Mole fraction of the species; ranges from 0 to 1.
species Species in the substrate that cause the strain.
strain Strain caused by the specified mole fraction; ranges from 0 to 1.
Examples: strain_profile silicon species=Germanium ratio= {0 1} strain= {0 0.0425}

See: transform on page 1102

1080 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
stressdata

stressdata
Function: • Defines intrinsic stress of materials for use in stress calculations.
• Defines boundary conditions for stress analysis.
• Reports the maximum stress values and their locations.
• Defines edge dislocation settings.
Syntax: stressdata
[<material> | region=<c>]
[sxxi=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[syyi=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[szzi=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[sxyi=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[syzi=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[szxi=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[sxx1=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[syy1=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[szz1=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[sxx2=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[syy2=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[szz2=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[base=<n>][<m>|<cm>|<um>|<nm>]
[[Link]=Left | Right | Front | Back | Bottom]
[[Link]= {[xa=<n>] | [ya=<n>] | [za=<n>]}]
[[Link]= { [dx=<n>] | [dy=<n>] | [dz=<n>] | [pressure=<n>] |
[pfx=<n>] | [pfy=<n>] | [pfz=<n>] |

[rx=<n>] | [ry=<n>] | [rz=<n>]


}]

[[Link]= {<n> <n> <n>}]


[[Link]]
[[Link]= {<n> <n> <n>}]
[[Link]= {<n> <n> <n>}]
[[Link]= {<n> <n> <n>}]
{ [[Link]]
[[Link]= {<n> <n> <n>}] [[Link]= {<n> <n> <n>}]
[[Link]=<n>] [[Link]=<n>]
[[Link]=<n>] [[Link]=<n>] }
[number=<n>] [sxx] [syy] [szz] [sxy] [syz] [szx] [vms] [ps] [hs] [pr]

Description: Provides stress analysis parameters for input and output. Zero is the default
value for all intrinsic stress parameters. Wherever possible, you should use
the deposit command with specified stresses to apply intrinsic stresses.
Options:

<material> Material in which the stress parameters are to be set.


region Region where the stresses are to be applied.

Sentaurus Process User Guide 1081


H-2013.03
A: Sentaurus Process Commands
stressdata

sxxi, syyi, szzi, sxyi, syzi, szxi


2
Intrinsic stresses. The default unit is dyn/cm .
Width-dependent intrinsic stress

base Base width. The default unit is μm .


sxx1, syy1, szz1

Scale factors in linear width-dependent intrinsic stress.


sxx2, syy2, szz2

Scale factors in natural logarithmic width-dependent intrinsic stress.


Boundary conditions

[Link] Specifies the area where the boundary conditions are applied. The value can
be Left | Right | Front | Back | Bottom.
Left | Right | Front | Back | Bottom refer to the outer boundary surfaces
of the simulation domain.
[Link]

Specifies the coordinates of the point around which rotational boundary


conditions are applied. The default unit is centimeter (cm).
[Link] Specifies the boundary condition types and values. The type can be:
• dx/dy/dz for displacement rate (default unit: cm/s).
2
• pressure for pressure (default unit: dyn/cm ).
• pfx/pfy/pfz for point force (default unit: dyne).
• rx/ry/rz for rotational velocity (default unit: rad/s).
[Link] Specifies the location where the point force is applied.
Maximum stress list

number Specifies the number of the largest stress values to report.


sxx, syy, szz, sxy, syz, szx, vms, ps, hs, pr

Specifies from which stress component (sxx, syy, szz, sxy, syz, szx) or
which derived stress (vms is the von Mises stress, ps is the principal stress,
hs is the hydrostatic stress, and pr is the pressure) to extract the maximum
stress values. Values for stress components and principal stresses are
computed at element centroid, while values for von Mises stresses,
hydrostatic stresses, and pressures are computed at nodes.

NOTE: To extract maximum principal stresses, use:


pdbSet Mechanics [Link] 1

1082 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
stressdata

Edge dislocation settings

[Link]

Indicates that an edge dislocation will be defined.


[Link]

Specifies the location of dislocation core.


[Link] Specifies the direction of edge dislocation.
[Link] Specifies the Burger’s vector in the perpendicular direction to the half plane.
The magnitude is the slip distance.
Edge dislocation–induced strain energy minimization settings

[Link] Specifies the maximum number of iterations allowed in the optimization


loop. The default value is 500.
[Link] Specifies the change in norm of the parameter vector for convergence.
The default value is 5e-3.
[Link] Specifies the relative change in the sum of the squares for convergence.
The default value is 1e-5.
[Link] Specifies the tolerance of target errors. The default value is 1e-3.
[Link]

Switches on the elastic strain energy minimization of edge dislocations


defined with the option ![Link].
[Link] List of numbers defining the x-, y-, and z-coordinates of the lower-right front
corner of the bounding box for the location of the edge dislocation core.
[Link] List of numbers defining the x-, y-, and z-coordinates of the upper-left back
corner of the bounding box for the location of the edge dislocation core.
Examples: stressdata nitride syyi=1.4e10
10 2
Sets the yy component of the intrinsic stress in nitride to 1.4 ×10 dyn/cm .

Sentaurus Process User Guide 1083


H-2013.03
A: Sentaurus Process Commands
StressDependentSilicidation

StressDependentSilicidation
Function: Enables stress-dependent silicidation for a particular silicide.
Syntax: StressDependentSilicidation <silicide>

Description: Switches on stress-dependent silicidation in the material <silicide>. In


the model, reaction rates are normal stress dependent; the diffusivity of the
reactant species, silicon, (represented by the field iSilicon) is pressure
dependent; and the silicide is allowed to relax.
Options:

<silicide> Specifies the name of the silicide that will use the pressure-dependent model.
Examples: StressDependentSilicidation NickelSilicide

See: Stress-dependent Silicidation on page 623

1084 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
strip

strip
Function: Completely removes a layer exposed to the top gas region.
Syntax: strip <material> [remesh]

Description: Completely removes a layer exposed to the top gas region. In 2D, the mesh is
regenerated immediately. In 3D, only the boundary is modified and the mesh
is regenerated later when necessary.
Options:

<material> The specified material, if exposed, is completely removed. For information


about specifying materials, see Material Specification on page 50.
remesh By default, the structure is remeshed in 2D after strip. Setting !remesh
prevents remeshing. In 3D, the boundary is changed without generating a
mesh, so this parameter has no effect in 3D. Preventing remeshing can save
time for very large structures.
Examples: strip oxide
Removes all oxide regions exposed to the top gas region.

Sentaurus Process User Guide 1085


H-2013.03
A: Sentaurus Process Commands
struct

struct
Function: Writes files containing the structure or the mesh and solutions.
Syntax: struct
[dfise=<c> | tdr=<c> | smesh=<c>]
[pdb] [[Link]] [bnd] [sat]
[contacts] [interfaces]
[bndfile=<c>] [datfile=<c>] [grdfile=<c>] [satfile=<c>] [[Link]]
[compress] [[Link]]
[Gas]
[mshcmd]
scale=<n> [binary] [FullD] [simplify=<n>]
{[x=<n>][<m>|<cm>|<um>|<nm>]
[y=<n>][<m>|<cm>|<um>|<nm>]
[z=<n>][<m>|<cm>|<um>|<nm>]}
[visual.1D] [Adaptive]

Description: Writes the structure and the simulation mesh and field data to one or several
files. The data saved is from the current set of solution values.
Options:

Adaptive In 3D, meshing is delayed until it is needed; to save a file, a mesh may need
to be created. This parameter controls whether adaptive meshing is used. The
default is taken from the pdb parameter Grid Adaptive.
[Link]

Saves alternative material names to DF–ISE or TDR format files. If you


choose an alternative name for a material using mater [Link] or
region [Link], the alternative material name is used in the file
when this parameter is specified. When writing DF–ISE files, the original
material name is not available upon loading. In TDR files, the Sentaurus
Process material name also is stored in the file, so both the proper material
names and the alternative names are restored when loading a TDR file.
binary Uses binary (not the default compressed ASCII) format when writing
DF–ISE files.
bnd Saves a boundary file in 2D and 3D along with the DF–ISE or TDR file. The
default is false.
bndfile, datfile, grdfile

Specify the corresponding file names separately.


compress Writes compressed or uncompressed DF–ISE format files. The default is
true.

1086 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
struct

contacts Writes contacts defined in the contact command into the boundary file.
The default is true.
dfise Saves files in DF–ISE format. The extensions _fps.grd and _fps.dat are
added automatically. Therefore, if dfise=filename is specified, Sentaurus
Process saves the files filename_fps.grd and filename_fps.dat.

The coordinate system for Sentaurus Process differs from the coordinate
system in the DF–ISE files. In Sentaurus Process, the x-direction is always
perpendicular to the substrate surface and the positive direction increases
with depth into the substrate (the negative direction is up). The y-direction
and z-direction are parallel to the initial substrate surface in 2D and 3D,
respectively. In DF–ISE, different coordinate systems are used for 1D, 2D,
and 3D. In 2D, x is parallel to the initial substrate surface and negative-y
points up. In the 3D DF–ISE coordinate system, positive-z is up, and x and y
are parallel to the initial substrate surface. The appropriate coordinate
transformation is applied by default. To change the coordinate rotation, use
the math command.
FullD If this Boolean parameter is specified, the mesh is extruded to the maximum
dimension allowed in the simulation temporarily before saving the file.
After saving the file, the simulation is continued in the same dimension as
before.
If !FullD is specified in a struct command, the saved files contain mesh
and data in the dimension currently used in the simulation.

NOTE: When TDR restart files are saved, by default, no extrusion is


performed.
Gas By default, Sentaurus Process writes regions of material gas to
DF–ISE, .bnd, and TDR files. If !Gas is specified, regions of material gas
are not saved.
interfaces Saves interface data in DF–ISE and TDR format files.
Specify !interfaces to prevent storing interface data. The default is true.
mshcmd When specified with the smesh keyword, mshcmd writes a .cmd file with
refinement information readable by Sentaurus Mesh.
pdb Saves pdb parameters along with the geometry and data in TDR format file.
[Link] Saves only pdb parameters (without geometry and data) in TDR format file.
sat This Boolean parameter is used to enforce or prevent the saving of a
Sentaurus Structure Editor restart file.

Sentaurus Process User Guide 1087


H-2013.03
A: Sentaurus Process Commands
struct

satfile When using Sentaurus Structure Editor for 3D geometry-modeling steps, a


Sentaurus Structure Editor restart file is saved by default. The parameter
satfile defines the file name. The default file extension is .sat.
When saving a 2D or 3D boundary file in .bnd or .tdr files, the extracted
geometry is simplified before saving to file. The double parameter
simplify defines the maximum deviation of the simplified boundary from
the extracted geometry.
scale The coordinates are multiplied by the specified value before writing them to
the file. The default is 1.0e4, which converts from Sentaurus Process
internal standard units (centimeter) to DF–ISE units (micrometer).
simplify When saving a 2D or 3D boundary file in .bnd or .tdr files, the extracted
geometry is simplified before saving to file. The double parameter
simplify defines the maximum deviation of the simplified boundary from
the extracted geometry.
smesh Selects regions and fields, and saves a set of files to be transferred to
Sentaurus Mesh. If smesh=<filename> is specified, a TDR file with the
boundary description <filename>_bnd.tdr, a TDR file
<filename>_fps.tdr with the simulation mesh, and the field data are
saved. Regions of material gas and interface meshes are omitted. Only total
and active dopant concentrations, stress fields, and NetActive
(DopingConcentration) are stored. If contacts have been defined, they
are included in both files.
If the mshcmd keyword is also given, a text file <filename>_msh.cmd is
written which contains refinement information readable by Sentaurus Mesh.

If the parameter StoreDelaunayWeight is set (pdbSet Grid SnMesh


StoreDelaunayWeight 1), the TDR file will have the field variable
2
Delaunay–Voronoï weight (DelVorWeight) in the unit of μm . This
variable is used in the weighted box method in Sentaurus Device.

NOTE: Files written using the smesh parameter cannot be used to restart a
Sentaurus Process simulation.

1088 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
struct

tdr Saves a file in TDR format. The extension _fps.tdr is added automatically.
By default, all modifications to the parameter database are written to the
TDR file to support splitting and restarting simulations.
The coordinate system in TDR files is the same as DF–ISE files.
By default, TDR files can be used for splitting and restarting simulations.
Coordinates and field values are stored with their unscaled internal values.
If !Gas or !interfaces is specified, coordinates and field values are
scaled to the DF–ISE units and information required for restart is omitted.
For information about the TDR format, refer to the Sentaurus Data Explorer
User Guide.
[Link] Writes a TDR file that contains just the boundary representation.
visual.1D Applies only to 1D simulations. If specified, Sentaurus Process orders the
nodes when writing them in a TDR file, so that the file can be easily
visualized with Tecplot SV.
x, y, z Specify a cutline for up to a 3D solid, so that a 1D TDR file is stored. For 1D
simulations, none of these parameters is required. For 2D simulations, one is
required. For 3D simulations, two are needed. Since the file is stored in TDR
format, the tdr parameter must be used together with these parameters.
Examples: struct dfise=output
Saves the DF–ISE files output_fps.[Link] and output_fps.[Link].

struct smesh=output
Writes two files: output_fps.tdr and output_bnd.tdr.

struct tdr=output
Writes a TDR file with the current simulation mesh and data. By default, a
restart file is written.

struct tdr=output bnd


Writes two files: output_fps.tdr and output_bnd.tdr.

struct bndfile=output
Writes one file output_fps.bnd with the boundary representation in
DF–ISE format.
See: contact on page 861, integrate on page 945

Sentaurus Process User Guide 1089


H-2013.03
A: Sentaurus Process Commands
substrate_profile

substrate_profile
Function: Defines the impurity profile in the substrate.
Syntax: substrate_profile
<material>
species=<c>
xcoord= <numeric list>
concentration= <numeric list>

Description: Defines the profile of a species in a substrate in a piecewise linear manner.


The piecewise linear function is given by the concentration corresponding to
xcoord.
Options:

concentration Concentration of the impurity at the specified xcoord.


<material> Substrate material where the impurities are to be defined.
species Name of the impurity.
xcoord Coordinate in x-direction where the concentration will be defined.
Examples: substrate_profile Silicon species=Germanium \
xcoord= {0 0.01 0.011 0.5 0.7 10} \
concentration= {1e10 1e10 2e22 2e22 1e10 1e10}

See: transform on page 1102

1090 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
tclsel

tclsel
Function: Selects the plot variable for the postprocessing routines.
Syntax: tclsel
[<material>] [z=<c>] [name=<c>]
[store] [list] [vec]

Description: Specifies the plot variable for almost all other plot commands. This
command is a companion to the select command, and it differs from the
select command in that it accepts any general Tcl expression. Data fields
are made into Tcl variables and can be accessed with standard Tcl variable
methods.
Options:

list Returns a list of currently defined and named data fields. The real data fields
are listed by default. Vector data fields can be listed using the vec parameter.
This returns a Tcl list for use with those commands that require list variables.
<material> Specifies the material to which the command applies. Different expressions
for the data field initialization in different materials can be used. For
information about specifying materials, see Material Specification on
page 50.
name Name of the new data field. The default is Z_Plot_Var. This is used by all
commands when a plot name is not specified. This is a powerful feature, as
solution fields also can be created.
store Controls whether the data field is written into permanent storage when a
structure file is output. The default is false.
vec Lists the vector data fields. The default is false.
z Accepts a Tcl expression that are used to build a new data field. All valid Tcl
expressions can be used in the string. Existing data fields are defined as Tcl
variables, and the expression is evaluated node-by-node with the updated
value of the variable. In general, this parameter must be enclosed in braces,
so that variable substitution is performed when the string is parsed.

Sentaurus Process User Guide 1091


H-2013.03
A: Sentaurus Process Commands
tclsel

Examples: tclsel z = {log10($Arsenic)}


Selects as the plot variable the base 10 logarithm of the arsenic
concentration.

tclsel z= {($Phosphorus - 5.0e14)}


Selects as the plot variable the phosphorus concentration minus a constant
14
value of 5 ×10 .

tclsel z= {($Phosphorus - 1.0e18 * exp ( $y * $y / 1.0e-8 ))} \


name=Doping store
Selects as the plot variable the difference between the phosphorus and an
analytic profile. This data field will be named Doping. The store flag
indicates that the doping field should be written into any saved structure
files.

tclsel list vec


Lists all available real and vector data fields.
See: All postprocessing commands

1092 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
temp_ramp

temp_ramp
Function: Defines a temperature profile for use with the diffuse command.
Syntax: temp_ramp
(list | clear | name=<c>)
[time=<n>][<hr>|<min>|<s>]
[temperature=<n>][<C>|<K>] |
[ramprate=<n>][<C/s>|<K/s>|<C/min>|<K/min>]
[[Link]=<n>][<C>|<K>]
[[Link]] [[Link]=<c>]
[[Link]=<n>][<hr>|<min>|<s>]
[[Link]= [<regionName>=<n> | <material>=<n>]]
[delNT=<n>][<C>|<K>] | [delT=<n>][<C>|<K>]
[last] [hold]
[[Link]=<c>]
[<ambient>]
[flow<ambient>=<n>][<l/min>]
[flows= {
[<ambient1>=<n>][<l/min>]
[<ambient2>=<n>][<l/min>]
}]
[ISSG]
[p<ambient>=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[[Link]= {
[<ambient1>=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa> |<dyn/cm2>]
[<ambient2>=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa> |<dyn/cm2>]
...}]
[pressure=<n>][<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>]
[[Link]=<i>] [[Link]=<i>]
[[Link]= { [<dopant1=<n>[<ohm-cm>]] [<dopant2=<n>[<ohm-cm>]]... }]
[[Link]=<n>][<m>|<cm>|<um>|<nm>]
[[Link]= <parameter list>] [[Link]= <parameter list>]
[sources= {<beam1> <beam2> ... <beamn>}]
[repair]
[[Link]=<c>]
[[Link]= {"<100>"=<n> "<110>"=<n> "<111>"=<n>}]
[coeffs= {<A0> <A1> <A2> ... <An>}]
[[Link]= {
<material1>= {<A0> <A1> <A2> ... <An>}
<material2>= {<A0> <A1> <A2> ... <An>}
...
<materialn>= {<A0> <A1> <A2> ... <An>} }]
[[Link]= {
[<interface_mat1>= <numeric list>]
[<interface_mat2>= <numeric list>]
}]
[[Link]= <string list>]

Sentaurus Process User Guide 1093


H-2013.03
A: Sentaurus Process Commands
temp_ramp

Description: Specifies multiple-step temperature ramps and holds. This command can be
used to construct a complex temperature sequence to be simulated with the
diffuse command (by specifying the [Link] parameter of the
diffuse command).

All gas_flow command parameters are available with the temp_ramp


command (see gas_flow on page 901). The list of ambients is given in
Table 63 on page 605 and includes O2, H2O, HCl, N2, H2, and N2O. To
specify epi, an epi-type ambient should be used. By default, two are
available: Epi and LTE. For more information about epitaxy, see Epitaxy on
page 270.
Options:

<ambient> Shorthand specification to set the ambient partial pressure the same as the
total pressure. If an ambient is specified this way, it should be the only
ambient set in the temp_ramp command.
[Link]

Specifies interface-specific anisotropic epi growth rate factors. This


parameter specifies a piecewise linear growth rate factor versus angle for
each growing interface (the factors should be between 0 and 1). For example,
to create a 30° silicon facet and a 40° polysilicon facet, specify:
[Link]= {
EpiOnSilicon_Gas= {0.0 1.0 25.0 1.0 30 0.0}
EpiOnPolySilicon_Gas= {0.0 1.0 35.0 1.0 40 0.0} }

[Link] List of species for which the auto-doping model will be switched on during
epitaxial growth.
clear Clears the global list of temperature ramps. When defining profiles, the
action is to unite the new definition with any prior profiles of the same name.
[Link] Returns the value of the ramp for the given time.
coeffs List of single-material coefficients A 0, A 1, …, A n used in Fourier deposition
when [Link]=1 and [Link]=fourier.
[Link] List of etching rates defined per crystallographic direction in the format:
{"<100>"=<dep rate> "<110>"=<dep rate> "<111>"=<dep
rate>} used for crystallographic deposition when [Link]=1 and
[Link]=crystal.
delNT Defines the maximum temperature step during a temperature ramp-down if
specified. The default unit is degree Celsius. It also can be defined globally
with the command: pdbSet Diffuse delNT {<n>}.

1094 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
temp_ramp

delT Defines the maximum temperature step during a temperature ramp-up if


specified. The default unit is degree Celsius. It also can be defined globally
with the command: pdbSet Diffuse delT {<n>}.
[Link]

Applies densification model where the density increases in percentage. The


increase value can be specified per region <regionName>=<n> (where
regionName is the name of an existing region in the current structure) or
per material <material>=<n> (where material is the name of a material
in the current structure).
[Link] When using [Link]=1, epitaxy is solved as a series of alternating
deposit and diffuse steps. This parameter specifies the deposit type, and
allowed values are:
• isotropic (default).
• fourier (in which case, either coeffs or [Link] must be
specified as well).
• crystal (in which case, [Link] must be specified as well).
[Link] Takes a list of parameters where the parameter name is the name of the
species to be initialized, and the value is the initial value. A list of fields of
any name can be initialized with this parameter and, for solution variables,
units are accepted, for example:
[Link]= {boron=1e18<cm-3> GSize=1<nm> myfield=1}

[Link]

Takes a list of parameters where the parameter name is the name of the
species to be initialized, and the value is the final value. A list of fields of any
name can be initialized with this parameter and, for solution variables, units
are accepted, for example:
[Link]= {boron=1e18<cm-3> GSize=1<nm> myfield=1}

[Link] Number of layers of mesh lines required during epitaxial growth (for
[Link]=0). The default is 40. You also can set globally a distance
between mesh lines using:
pdbSet Silicon Grid [Link] <n>
If [Link] is set to a positive number, [Link] is
ignored.
[Link] The two methods described above can be chosen using this parameter:
• [Link]=0 (default) applies a boundary-moving algorithm similar to
oxidation.
• [Link]=1 uses alternating doped deposition and inert annealing
steps.

Sentaurus Process User Guide 1095


H-2013.03
A: Sentaurus Process Commands
temp_ramp

[Link] List of parameters with dopant name and resistivity to calculate the
background dopant concentration. If more than one dopant name appears in
the list, the doping concentration is calculated individually for each dopant
by ignoring the other ones.
[Link] Sets the epitaxial layer thickness to be deposited. The default unit is μm .
flow<ambient>, flows

List of gas flows in the reaction chamber. The gas flows are used to compute
the partial pressures of the active ambients (those causing material growth).
You can specify flows using either a parameter name composed of flow +
<ambient> (for example, flowO2 and flowHCl where O2 and HCl are
ambient names) or the flows parameter that takes a list of parameters with
names of the ambients, for example:
flows= { O2 = 1.0<l/min> HCl = 1.0<l/min> }

The list of default ambients is given in Table 63 on page 605, but this list can
be extended by using the ambient command. When a gas flow is specified
as a combination of flows (and not when using partial pressures), a complete
reaction of the ambients is assumed to occur, for example, O2 + 2H2 ->
2H2O. Besides gas reactions, the addition of inert gases also will change the
partial pressure of the material growing ambients. For example, if the flows
of only N2 and O2 are specified and are equal, then the partial pressure of O2
will be <total pressure>/2.0 where <total pressure> is given by
the pressure parameter (see below).
NOTE: Flows and partial pressures must not be specified in the same
temp_ramp together.
[Link] Specifies a gas flow to be used for this temp_ramp (should not be used with
other gas_flow parameters).
hold During this segment, allows the diffuse command time to specify the time
of the segment.
ISSG Switches on in situ steam-generated (ISSG) oxidation.
last Defines the final component of the temperature profile. There will be no
more additions to the ramp.
list This Boolean parameter generates a list of temperature profiles. It returns a
Tcl list and can be operated on as such. The default action for commands is
to print the return, so if no handling is required, this prints a list of names of
defined temperature profiles. If a name is specified, then temp_ramp only is
listed along with details about the ramps.
[Link] List of multimaterial coefficients A 0, A 1, …, A n used in Fourier deposition
when [Link]=1 and [Link]=fourier.

1096 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
temp_ramp

name Name used to identify the temperature ramp. Use this name in a subsequent
diffuse command.
p<ambient>, [Link]

List of the partial pressures of active ambients. Partial pressure specifications


must not be used with flows, flow<ambient>, or pressure
specifications. Partial pressures can be specified using either a parameter
name composed of p + <ambient> (for example, pO2 and pN2O where O2
and N2O are active ambient names) or with the parameter
[Link] that takes a list of parameters with names of the
ambients, for example:
[Link]= {O2 = 1.0<atm> N2O= 1.0<atm>}

The list of default ambients is given in Table 63 on page 605, but this list can
be extended by using the ambient command. These partial pressures are
assumed to contribute to the oxidation or user-defined reaction processes. No
reaction between the species is assumed. The default unit is atm.

NOTE: Only the partial pressures of the active ambients are used directly in
the oxidation reaction equations. Therefore, setting the partial pressure of
inactive (in the sense that they cause a material growth reaction) ambients,
such as N2 and HCl, has no effect.
pressure The (total) pressure of the ambient gas. The default value and unit is 1.0 atm.
This setting takes effect only if flows or flow<ambient> is defined
explicitly. If [Link] is specified, the pressure is set in the corresponding
gas_flow command.
ramprate Temperature change during anneal. The default value and unit is 0.0°C/s .
[Link]

Reads a thermal profile from a file. It must not be used with any other
thermal specification. To create this profile file during laser annealing, use
the [Link] parameter of the diffuse command. The format of
the file is two columns: time (in seconds) and temperature (in degree
Celsius). Lines beginning with a ‘#’ are ignored.
repair In MGOALS3D mode, small regions are removed automatically by default.
Sometimes, this can cause small gas bubbles in the structure or other
problems. Use !repair to switch off removal of small regions.
[Link]

Starts each annealing step with the same initial time step.

Sentaurus Process User Guide 1097


H-2013.03
A: Sentaurus Process Commands
temp_ramp

sources Defines deposition sources used in Fourier deposition when [Link]=1


and [Link]=fourier.
[Link] Final temperature for a temperature ramp-up or ramp-down. It is used if
ramprate is not given. The ramp time is calculated automatically.
temperature Annealing temperature. The default unit is degree Celsius.
time Annealing time. The default unit is minute.
Examples: temp_ramp name=tr1 temp=20 ramprate=10<K/s> time=100<s>
Defines the temperature profile named tr1. Temperature rate is 10 K/s.
See: diffuse on page 875, gas_flow on page 901

1098 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
term

term
Function: Defines a new subexpression for use in the equation specification of the
Alagator language.
Syntax: term
[<material>]
[add] [list] [delete] [clear]
[name=<c>] [eqn=<c>] [print] [store]

Description: Creates subexpressions for use with the Alagator scripting language. Terms
are never required but can offer substantial computational benefit. Each term
is evaluated only once during assembly, and the results are cached. If
multiple equations refer to a term, the first equation to use it evaluates the
expression and the remainder use the cached values. Terms are usually used
for expressions that need to appear in several partial differential equations.
For example, a recombination term between vacancies and interstitials needs
to appear in both the vacancy and interstitial equation. A term can be used
for the recombination and can be placed in both partial differential equations.
The recombination is then evaluated only once during the assembly process.

Terms can be created, searched, and printed. That allows inquiries about
terms to be made in the various callback procedures. This allows intelligent
decisions to be made. For example, the charge term in the Poisson equation
can be accumulated by obtaining the current charge and adding new pieces to
the term.
Options:

add Creates a new term. A term with that name will be overwritten.
clear Removes a term from the current set if the term exists otherwise it clears the
content of all terms.
delete Removes a term from the current set.
eqn The string defines the equation part of the term. The equation must conform
to all the standard constraints of the Alagator language. Terms can be nested;
the equation specified here can refer to other terms. Parsing of the equation is
performed during diffusion, so there is no need for everything to be
predefined.
list List of all of the names of the current terms. This is returned as a Tcl list, so
it can be used in conjunction with all of the list functionality.

Sentaurus Process User Guide 1099


H-2013.03
A: Sentaurus Process Commands
term

<material> If a material is specified, the term becomes specific for this material only.
This allows the same name to have different equations in different materials.
For information about specifying materials, see Material Specification on
page 50.
name Reference name for the term. This name is defined and is compared to
strings found in the equation parsing. Capitalization is important, and only
exact matches are allowed.
print Prints the equation for the term matching the name specified. If no term
matches, 0.0 is returned. If the material name is not given, the first term with
the matching name is returned (for example, you may obtain VTotal in
oxide instead of silicon).
store Allows the term command to be stored in a TDR file.
Examples: term name=VTotal add silicon eqn="Vacancy+VacancyGbc"
Creates a term named VTotal in silicon only. The keyword VTotal will be
replaced with the subexpression Vacancy+VacancyGbc.

term name=Noni add silicon eqn = exp(Potential*$Vti)


Creates a term named Noni in silicon only. The equation will be the
exponential of Potential multiplied by $Vti. The normal rules for Tcl
string variables and executions apply, so that Vti must be a currently defined
variable. The value will be replaced when the term command is executed.

term name=Noni add silicon eqn= {exp(Potential*$Vti)}


This is the same as the previous command. The difference is the braces
around the equation, which delay variable expansion. The variable will not
be expanded until the diffuse command is executed. This is the more
normal form. You want the Vti variable to be replaced with the value of the
current temperature of the diffuse command, not the temperature at the
time of the term command execution.

term list
Returns a list of all the current term names defined.

term name=Charge print


Returns the currently defined equation corresponding to the name Charge.
See: solution on page 1076

1100 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
topo

topo
Function: Performs 3D etch and deposition using Sentaurus Topography 3D.
Syntax: topo <Sentaurus Topography 3D commands>

Description: Physical etch and deposition is available through the interface to Sentaurus
Topography 3D and is executed using the topo command. Commands
entered into the topo command are passed directly to the Sentaurus
Topography 3D library. The exchange of the boundary between Sentaurus
Process and Sentaurus Topography 3D is handled automatically and only
when required.

NOTE: A licence for Sentaurus Topography 3D must be available, and a


version of the Sentaurus Process binary with Sentaurus Topography 3D
included must be installed.
Options: All options to the topo commands are described in the Sentaurus
Topography 3D User Guide.
See: Refer to the Sentaurus Topography 3D User Guide.

Sentaurus Process User Guide 1101


H-2013.03
A: Sentaurus Process Commands
transform

transform
Function: Performs a transformation step.
Syntax: transform
(reflect | stretch | cut | flip | rotate)
([location=<n>][<m>|<cm>|<um>|<nm>] &
left | right | front | back | up | down &
ymin | ymax | zmin | zmax)
(min= {
<n>[<m>|<cm>|<um>|<nm>]
<n>[<m>|<cm>|<um>|<nm>]
<n>[<m>|<cm>|<um>|<nm>]} &
max= {
<n>[<m>|<cm>|<um>|<nm>]
<n>[<m>|<cm>|<um>|<nm>]
<n>[<m>|<cm>|<um>|<nm>]} )
[length=<n>][<m>|<cm>|<um>|<nm>]
(translate= {
<n>[<m>|<cm>|<um>|<nm>]
<n>[<m>|<cm>|<um>|<nm>]
<n>[<m>|<cm>|<um>|<nm>]} )
([angle=<n> & axis= "X" | "Y" | "Z"])
[[Link]] [[Link]] [remesh] [Adaptive]

Description: Reflects, stretches, cuts, flips, rotates, or translates the structure. Previously,
cut and clip had slightly different behavior. Now, they are the same and
are referred to as cut. All operations work in 2D and 3D.
All these operations, except flip and stretch, are also available in the
KMC mode.
Options:

The cut options

Adaptive If the remesh parameter is set, Adaptive specifies with or without adaptive
meshing. Parameters for adaptive meshing are described in Adaptive
Refinement on page 679. The default is the return value of pdbGet Grid
Adaptive.
cut Crops the structure to a new bounding box (using the min and max
parameters) or crops half the structure (using the left, right, front,
back, up, or down parameters).
left, right, front, back, up, down

Indicates a cut at a location given by the location parameter, and specifies


which half is to be removed. These parameters should not be used with either
the min or max parameter.

1102 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
transform

location The x-, y-, or z-coordinate (in internal coordinate system) where the cut is to
be performed. The default is 0.0 μm . The location parameter is used with
left, right, front, back, up, or down to indicate which direction and
side to cut.
max, min The cut box can either be specified by the min and max parameters:
min= {minx miny minz} and max= {maxx maxy maxz}, or there are
shortcut parameters (left, right, front, back, up, down) to specify an
axis-aligned cut at the coordinate given by the location parameter. The
parameters min and max must be used together and cannot appear with any
of the left, right, front, back, up, or down parameters.
[Link] By default, mgoals cuts the structure at the nearest mesh line and does not
perform a remesh. If ![Link] is specified, mgoals cuts precisely at
the specified coordinates and remeshes the structure.
remesh Optional Boolean only for two dimensions, which forces a remesh after the
transform. However, remeshing is always possible using the grid remesh
command if required.
The translate options

translate Translates the entire structure by specifying a translation vector:


{translate_x translate_y translate_z}

The flip options

Adaptive Specifies whether to use adaptive meshing.


flip Selects the flip operation (flip from top to bottom). For more details, see The
transform flip Command and Backside Processing on page 752.
location Selects the x-coordinate about which the structure will be flipped. By
default, the middle of the structure is chosen. Subsequent transform flip
commands will, by default, use the same location for flipping whether the
default is used or a chosen location is used. In 3D, the z-coordinate of the
rotation is the middle of the structure in the z-direction. The location of the
flip is also the fixed coordinate for mechanics simulations, which is
otherwise at the bottom of the structure when no flip has occurred.
The reflect options

Adaptive Specifies whether to use adaptive meshing.


[Link] Keeps the original structure after reflection (having both the original and the
reflected) or stores only the reflected structure when disabled with
![Link]. It is enabled by default.

Sentaurus Process User Guide 1103


H-2013.03
A: Sentaurus Process Commands
transform

left, right, front, back

Selects the side of the simulation domain at which the reflection is


performed.
reflect Indicates that a reflection will be performed.
ymin, ymax, zmin, zmax

Specify the location where the reflection is performed. ymin is the same as
left, ymax is the same as right, zmin is the same as back, and zmin is
the same as front.
The rotate options

Adaptive Specifies whether to use adaptive meshing.


angle Rotation angle. It must be one of 90, 180, or 270. Angles leading to
structures having gas in a side are not allowed. This means that only 180° is
allowed for y- and z-axes. Two-dimensional simulations are extruded into
three dimensions and are then rotated.
axis Rotation axis. It must be x, y, or z.
rotate Indicates that a rotation will be performed.
The stretch options

Adaptive Specifies whether to use adaptive meshing if remeshing.


left, right, front, back

Indicates which side of the structure will be moved.


length Length of stretching. The default value and unit is 0 μm .
location The y- or z-coordinate (in internal coordinate system) where the structure
will be stretched. The default value and unit is 0 μm .
remesh Optional Boolean that indicates whether a remesh will be performed.
The default is on.
stretch Indicates that a stretching action will be performed.

1104 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
transform

Examples: transform reflect right


transform reflect ymax
Both commands reflect the structure to the right side.

transform reflect right ![Link]


Reflects the structure to the right side and keeps the reflected part only.

transform stretch location=0.7 length=0.02 right remesh


Stretches the structure to the right side. The structure left of 0.7 remains
unchanged; the structure to the right of 0.7 will be moved by 20 nm.

transform cut location=0.7 left !remesh


Cuts the structure at y=0.7. The left part will be removed without remeshing.

transform cut min= {0<um> 0<um>} max= {1<um> 3<um>}


Cuts the structure at x between 0 and 1 μm , and y between 0 and 3 μm .

transform translate = {-1 0 0}


Shifts the structure up in the x-direction by 1 μm .

transform flip
Flips the structure from top to bottom about its midpoint if it is the first flip,
or stores the flip location for subsequent flips.

transform rotate axis=X angle=90


Rotates the structure 90° in the x-axis.
See: mgoals on page 992, Stress Handling on page 734

Sentaurus Process User Guide 1105


H-2013.03
A: Sentaurus Process Commands
[Link]

[Link]
Function: Transforms a refinement box and optionally preserves the original.
Syntax: [Link]
(reflect | stretch | cut | flip | rotate)
([location=<n>][<m>|<cm>|<um>|<nm>] &
left | right | front | back | up | down | ymin | ymax | zmin | zmax)
(min= {
<n>[<m>|<cm>|<um>|<nm>]
<n>[<m>|<cm>|<um>|<nm>]
<n>[<m>|<cm>|<um>|<nm>]} &
max= {
<n>[<m>|<cm>|<um>|<nm>]
<n>[<m>|<cm>|<um>|<nm>]
<n>[<m>|<cm>|<um>|<nm>]} )
[length=<n>][<m>|<cm>|<um>|<nm>]
(translate=
<n>[<m>|<cm>|<um>|<nm>]
<n>[<m>|<cm>|<um>|<nm>]
<n>[<m>|<cm>|<um>|<nm>]} )
([angle=<n> & axis= "X" | "Y" | "Z"])
[[Link]]
[name=<oldName>] [[Link]=<newName>]

Description: Reflects, stretches, cuts, flips, rotates, or translates a given refinement box or
all refinement boxes. A new transformed refinement box is created by
default, while the old one is kept. This can be overridden
with ![Link]. The transformation applies to all existing
refinements, except if a name is specified. In this case, a transformed
refinement name also can be specified by using [Link].
Options:

General

[Link] Specifies whether to keep the original after the transformation. When
keeping the original refinement, the original is untouched, and a new one is
created by transforming the original refinement. Otherwise, the refinement
itself is transformed.
name Name of refinement to apply the transformation.
[Link] Name of the transformed refinement. If not specified, a default name is
given.

1106 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
[Link]

The cut options

cut Crops the refinement to a new bounding box (using the min and max
parameters) or crops half of it (using the left, right, front, back, up, or
down parameters).
left, right, front, back, up, down

Indicates a cut at a location given by the location parameter, and specifies


which half is to be removed. These parameters must not be used with either
the min or max parameter.
location The x-, y-, or z-coordinate (in internal coordinate system) where the cut is to
be performed. The default is 0.0 μm . The location parameter is used with
left, right, front, or back to indicate which direction and side to cut.
max, min The cut box can be specified by either the min and max parameters
min= {minx miny minz} and max= {maxx maxy maxz}, or there are
shortcut parameters (left, right, front, back) to specify an axis-aligned
cut at the coordinate given by the location parameter. The parameters min
and max must be used together and cannot appear with any of the left,
right, front, or back parameters.
ymin, ymax, zmin, zmax

Specify the location where the refinement reflection is performed. ymin is


the same as left, ymax is the same as right, zmin is the same as back,
and zmin is the same as front.
The translate options

translate Translates the refinement by specifying a translation vector:


{translate_x translate_y translate_z}

The flip options

flip Flips a refinement (top to bottom).


location Selects the x-coordinate about which the refinement will be flipped. By
default, the middle of the structure is chosen. Subsequent transform flip
commands will, by default, use the same location for flipping whether the
default is used or a chosen location is used. In 3D, the z-coordinate of the
rotation is the middle of the structure in the z-direction.
The reflect options

left, right, front, back

Selects the side of the simulation domain at which the reflection is


performed.
reflect Indicates that a reflection will be performed.

Sentaurus Process User Guide 1107


H-2013.03
A: Sentaurus Process Commands
[Link]

The stretch options

left, right, front, back

Indicates which side of the refinement will be moved.


length Length of stretching. The default value and unit is 0 μm .
location The y- or z-coordinate (in internal coordinate system) where the refinement
will be stretched. The default value and unit is 0 μm .
stretch Indicates that a stretching action will be performed.
The rotate options

angle Rotation angle. It must be 90, 180, or 270.


axis Rotation axis. It must be x, y, or z.
rotate Indicates that a rotation will be performed.
Examples: [Link] reflect right
Creates a set of new refinements as reflections of all the current refinements
to the right side.

transform stretch location=0.7 length=0.02 right name=box1 [Link]=sbox1


Creates a new refinement called sbox1 by stretching the existing refinement
box1 to the right side. The area left of 0.7 remains unchanged; the structure
to the right of 0.7 will be moved by 20 nm.

transform cut location=0.7 ![Link]


Cuts all the existing refinements at y = 0.7. The left part will be removed.

transform translate = {-1 0 0} name=r1 [Link]=new2


Creates a new refinement new2 by coping and shifting r1 up in the x-
direction by 1 μm .

transform rotate axis=Y angle=270 name=refbox [Link]=refbox \


![Link]
Rotates the refinement refbox 270° around the y-axis without changing its
name.
See: Mesh Refinement on page 674, Stress Handling on page 734,
refinebox on page 1040, transform on page 1102

1108 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
translate

translate
Function: Translates a named dataset with the specified offset.
Syntax: translate
<material>
[name=<c>]
[offset= {<n> <n> <n>}]
[min=<n>]

Description: Spatially shifts a profile (dataset) with the specified offset. If a material is
specified, the profile is shifted in the specified material only. Otherwise, the
profile is shifted in all materials. When a profile is shifted, the value at some
points may become undefined, in which case, these points are filled with a
minimum value as specified by the min parameter.
Options:

<material> If a material is specified, the dataset is translated in the specified material


only. Otherwise, the dataset is translated in all materials. For information
about specifying materials, see Material Specification on page 50.
min Minimum value to fill the points with undefined value. The default value
is 0.0.
name Specifies the name of a dataset. The default is Z_Plot_Var.
offset Takes a list of numeric values. The first, second, and third values in the list
are taken as the x-, y-, and z-value, respectively. The missing value is treated
as zero.
Examples: translate name=Boron offset= {0.01 0.02}
Shifts the Boron data field with a shifting vector ( 0.01 μm , 0.02 μm ,
0.0 μm ).

Sentaurus Process User Guide 1109


H-2013.03
A: Sentaurus Process Commands
UnsetAtomistic

UnsetAtomistic
Function: Disables the atomistic KMC diffusion model and continues the simulation
using the PDE solver.
Syntax: UnsetAtomistic
[sano] [[Link]] [[Link]]

Description: Disables the KMC diffusion module. It transfers all the information into the
Sentaurus Process standard mesh (by calling KMC2PDE), sets the atomistic
mode to false, and deletes all the atomistic related information.
Options:

sano Remeshes the Sentaurus Process finite-element mesh and converts KMC
particles to finite-element fields. To adaptively remesh on Sano fields and
Sano smoothed NetActive (DopingConcentration), it is necessary to
specify adaptive meshing parameters before UnsetAtomistic.

Any adaptive criteria specified for a field that is in the Sano list will be
applied to the Sano smoothed value of the field, and any criteria specified for
NetActive will be applied by default to NetActive computed from Sano-
smoothed active fields. To set the list of Sano fields, use the [Link]
parameter, but by default the list contains the active dopants. The field
NetActive is updated automatically using Sano fields and does not need to
be included explicitly.
[Link] Sets the list of Sano fields. These fields are converted from KMC particle
distributions using the Sano method and are used for adaptive remeshing,
and subsequently converted to finite-element fields on the newly created
mesh. By default, the Sano list includes all active dopants that are present.
The field NetActive is updated automatically using Sano fields and does
not need to be included explicitly.
[Link]

Sets the list of materials in which the Sano method is applied. By default, the
list contains only Silicon because that is the only material that by default
has nontrivial KMC diffusion models.
Examples: UnsetAtomistic
UnsetAtomistic sano [Link]= {PActive AsActive BActive}

1110 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
UnsetDielectricOxidationMode

UnsetDielectricOxidationMode
Function: Disables the oxidation mode to grow oxide with dielectric on top.
Syntax: UnsetDielectricOxidationMode <Dielectric> <Oxidant>

Description: Disables the dielectric oxidation mode of material <Dielectric> and ambient
<Oxidant>. It deletes all the dielectric oxidation-related callback settings, the
boundary conditions, and the parameter settings.
Options:

<Dielectric> Specifies name of dielectric material to grow oxide underneath.


<Oxidant> Specifies name of oxidant.
Examples: UnsetDielectricOxidationMode Nitride O2

See: SetDielectricOxidationMode on page 1058

Sentaurus Process User Guide 1111


H-2013.03
A: Sentaurus Process Commands
update_substrate

update_substrate
Function: Sets up the substrate with impurities, strains, and modified lattice constants
for analyses that involve strained silicon layers.
Syntax: update_substrate [Link]=<n>

Description: Takes into account the strains that certain impurities introduce to the wafer as
defined by the strain_profile command or in the PDB and sets up the
lattice constants and strains in the substrate as defined in the region
command. This command applies to the impurity profile to the substrate as
defined by the profile command or the substrate_profile command.
The [Link] is the lowest x-coordinate below which the
wafer is totally relaxed from the impurity-related strains.

This command should be called only once for initialization. It is


recommended to replace it with a short solve step and set:
pdbSet Silicon Mechanics UpdateStrain 1
Options:

[Link]

Top of the region that is totally relaxed from the lattice strains. It can be
thought of as the top point above which no dislocations can be found.
Examples: update_substrate [Link]=0.3

See: region on page 1047, strain_profile on page 1080,


substrate_profile on page 1090

1112 Sentaurus Process User Guide


H-2013.03
A: Sentaurus Process Commands
WritePlx

WritePlx
Function: Writes a 1D .plx file.
Syntax: WritePlx
<filename>
[x=<n>] [y=<n>] [z=<n>]
[<material>]

Description: Makes a 1D profile along a given cutline and writes a .plx file of the
solutions and terms given in the list provided by the SetPlxList command.
If the list is not provided, only present solution names are written. If a
material is specified, only data from the given material is used to create the
plot.

NOTE: The <filename> parameter must be the first one on the WritePlx
command line.
Options:

<filename> Name of the output file.


<material> If a material is specified, only the plot from the given material is created. For
information about specifying materials, see Material Specification on
page 50.
x, y, z Specify the cut position. For 1D simulations, no cut specification is
necessary. In 2D, either x or y should be specified and, for 3D simulations,
two axes must be specified. It is also possible to shift .plx output files by
specifying PlxShift variables. The unit for x, y, and z is μm .
Examples: WritePlx [Link] y=1.5
Writes a 1D .plx file at the y = 1.5 μm cutline.

set PlxShift 0.2


WritePlx [Link]
Shifts the axis by 0.2 μm and writes a 1D .plx file.
See: SetPlxList on page 1060

Sentaurus Process User Guide 1113


H-2013.03
A: Sentaurus Process Commands
WritePlx

1114 Sentaurus Process User Guide


H-2013.03

You might also like