Taurus Process
Reference Manual
Version X2005.10, October 2005
ii
Copyright Notice and Proprietary Information
Copyright © 2005 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.
Right to Copy Documentation
The license agreement with Synopsys permits licensee to make copies of the documentation for its internal use only.
Each copy shall include all copyrights, trademarks, service marks, and proprietary rights notices, if any. Licensee must
assign sequential numbers to all copies. These copies shall contain the following legend on the cover page:
“This document is duplicated with the permission of Synopsys, Inc., for the exclusive
use of __________________________________________ and its employees. This
is copy number __________.”
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.
Registered Trademarks (®)
Synopsys, AMPS, Arcadia, C Level Design, C2HDL, C2V, C2VHDL, Cadabra, Calaveras Algorithm, CATS, CRITIC,
CSim, Design Compiler, DesignPower, DesignWare, EPIC, Formality, HSIM, HSPICE, Hypermodel, iNPhase, inSync,
Leda, MAST, Meta, MetaSoftware, ModelTools, NanoSim, OpenVera, PathMill, Photolynx, Physical Compiler, PowerMill,
PrimeTime, RailMill, RapidScript, Saber, SiVL, SNUG, SolvNet, Superlog, System Compiler, Testify, TetraMAX, TimeMill,
TMA, VCS, Vera, and Virtual Stepper are registered trademarks of Synopsys, Inc.
Trademarks (™)
Active Parasitics, AFGen, Apollo, Apollo II, ApolloDPII, ApolloGA, ApolloGAII, Astro, AstroRail, AstroXtalk, Aurora,
AvanTestchip, AvanWaves, BCView, Behavioral Compiler, BOA, BRT, Cedar, ChipPlanner, Circuit Analysis, Columbia,
ColumbiaCE, Comet 3D, Cosmos, CosmosEnterprise, CosmosLE, CosmosScope, CosmosSE, Cyclelink, Davinci, DC
Expert, DC Expert Plus, DC Professional, DC Ultra, DC Ultra Plus, Design Advisor, Design Analyzer, Design Vision,
DesignerHDL, DesignTime, DFMWorkbench, Direct RTL, Direct Silicon Access, Discovery, DW8051, DWPCI,
DynamicMacromodeling, Dynamic Model Switcher, ECL Compiler, ECO Compiler, EDAnavigator, Encore, Encore PQ,
Evaccess, ExpressModel, Floorplan Manager, Formal Model Checker, FoundryModel, FPGA Compiler II, FPGA Express,
Frame Compiler, Galaxy, Gatran, HANEX, HDL Advisor, HDL Compiler, Hercules, HerculesExplorer, HerculesII,
Hierarchical Optimization Technology, High Performance Option, HotPlace, HSIM
plus
, HSPICELink, iNTandem,
Integrator, Interactive Waveform Viewer, iVirtual Stepper, Jupiter, JupiterDP, JupiterXT, JupiterXTASIC, JVXtreme,
Liberty, LibraPassport, Library Compiler, LibraVisa, Magellan, Mars, MarsRail, MarsXtalk, Medici, Metacapture,
Metacircuit, Metamanager, Metamixsim, Milkyway, ModelSource, Module Compiler, MS3200, MS3400, Nova Product
Family, NovaExploreRTL, NovaTrans, NovaVeriLint, NovaVHDLlint, Optimum Silicon, Orion_ec, Parasitic View,
Passport, Planet, PlanetPL, PlanetRTL, Polaris, PolarisCBS, PolarisMT, Power Compiler, PowerCODE, PowerGate,
ProFPGA, ProGen, Prospector, Protocol Compiler, PSMGen, Raphael, RaphaelNES, RoadRunner, RTL Analyzer,
Saturn, ScanBand, Schematic Compiler, Scirocco, Sciroccoi, Shadow Debugger, Silicon Blueprint, Silicon Early Access,
SinglePassSoC, Smart Extraction, SmartLicense, SmartModel Library, Softwire, SourceLevel Design, Star, StarDC,
StarMS, StarMTB, StarPower, StarRail, StarRC, StarRCXT, StarSim, StarSimXT, StarTime, StarXP, SWIFT,
Taurus, TimeSlice, TimeTracker, Timing Annotator, TopoPlace, TopoRoute, TraceOnDemand, TrueHspice,
TSUPREM4, TymeWare, VCS Express, VCSi, Venus, Verification Portal, VFormal, VHDL Compiler, VHDL System
Simulator, VirSim, and VMC are trademarks of Synopsys, Inc.
Service Marks (
SM
)
MAPin, SVP Café, and TAPin are service marks of Synopsys, Inc.
SystemC is a trademark of the Open SystemC Initiative and is used under license.
ARM and AMBA are registered trademarks of ARM Limited.
All other product or company names may be trademarks of their respective owners.
Printed in the U.S.A.
Taurus Process Reference Manual, X2005.06
.
ABOUT THIS GUIDE
TP 2005.10 iii
Draft 8/11/05
About This Guide
0
Overview
This reference manual includes details for using Taurus Process, discussions of
strategies, and extensive examples of process simulation. For quickstart
instructions, refer to the Taurus Process User Guide.
This manual contains the following chapters:
About This
Guide
Includes conventions, related publications, and customer
support information.
Chapter 1 Introduces Taurus Process.
Chapter 2 Discusses the geometry and meshing algorithms.
Chapter 3 Discusses the physical models of Taurus Process.
Chapter 4 Describes the input syntax of Taurus Process commands,
objects, and examples. The sections of the chapter define
commands for specifying structure, solution, postprocess
ing, input/output, physical and numerical parameters, and
control commands.
Chapter 5 Defines advanced input: Physical Model and Equation
Interface (PMEI).
Appendix A Presents process and advanced examples.
Appendix B Details the Taurus Process databases.
Appendix C Describes the format of the TL2 files. Information is for
experienced programmers who wish to generate mask lay
out data files using a text editor.
About This Guide Conventions
iv TP 2005.10
Draft 8/11/05
Related Publications
For additional information about Taurus Process, see:
• TCAD Taurus Process Quick Start Guide for instructions on getting started.
• Synopsys Online Documentation (SOLD), which is included with the
software for CD users or is available to download through the Synopsys
Electronic Software Transfer (EST) system
• Documentation on the Web, which is available through SolvNet at http://
solvnet.synopsys.com
• The Synopsys MediaDocs Shop, from which you can order printed copies of
Synopsys documents, at
http://mediadocs.synopsys.com
• You might also want to refer to the documentation for the following related
Synopsys products:
 For information on Taurus Process installation procedures, see the TCAD
Products and Utilities Installation Manual.
 Taurus Process uses many references from the changing body of industry
literature. Where appropriate, you are directed to source material.
References are included in the Taurus Process Reference Manual,
Chapter 3, “References.”
Conventions
The following conventions are used in Synopsys documentation.
Convention Description
Courier
Indicates command syntax.
Courier italic
Indicates a userdefined value in Synopsys syntax,
such as object_name. (A userdefined value
that is not Synopsys syntax is indicated by regular
text font italic.)
Courier bold
Indicates user input—text you type verbatim—in
Synopsys syntax and examples. (User input that is
not Synopsys syntax, such as a user name or pass
word you enter in a GUI, is indicated by regular
text font bold.)
[ ]
Denotes optional parameters, such as
pin1 [pin2 ... pinN]
Customer Support About This Guide
TP 2005.10 v
Draft 8/11/05
If a button label appears grayed out, the button is not currently active. Attempts to
click the button are ignored.
Customer Support
Customer support is available through SolvNet online customer support and
through contacting the Synopsys Technical 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 including software downloads,
documentation on the Web, and “Enter a Call to the Support Center.”
To access SolvNet:
1. Go to the SolvNet Web page at http://solvnet.synopsys.com.
2. If prompted, enter your user name and password. (If you do not have a Synop
sys user name and password, follow the instructions to register with SolvNet.)
If you need help using SolvNet, click SolvNet Help in the Support Resources
section.

Indicates a choice among alternatives, such as
low  medium  high
(This example indicates that you can enter one of
three possible values for an option:
low, medium, or high.)
_
Connects terms that are read as a single term by
the system, such as
set_annotated_delay
Controlc Indicates a keyboard combination, such as holding
down the Control key and pressing c.
\ Indicates a continuation of a command line.
/ Indicates levels of directory structure.
Edit > Copy Indicates a path to a menu command, such as
opening the Edit menu and choosing Copy.
Convention Description
About This Guide Customer Support
vi TP 2005.10
Draft 8/11/05
Contacting the Synopsys Technical Support Center
If you have problems, questions, or suggestions, you can contact the Synopsys
Technical Support Center in the following ways:
• Open a call to your local support center from the Web by going to http://
solvnet.synopsys.com (Synopsys user name and password required), then
clicking “Enter a Call to the Support Center.”
• Send an email message to support_center@synopsys.com.
• Telephone your local support center.
 Call (800) 2458005 from within the continental United States.
 Call (650) 5844200 from Canada.
Find other local support center telephone numbers at
http://www.synopsys.com/support/support_ctr.
Table of Contents
TP 2005.10 vii
About This Guide iii
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Accessing SolvNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Contacting the Synopsys Technical Support Center . . . . . . . . . . . . . . vi
Introduction 11
Product Name Change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Major Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Physical Model and Equation Interface . . . . . . . . . . . . . . . . . . . . . . . 13
Coordinate System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Implantation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Diffusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Oxidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Silicidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Stress. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Structure Definition Deposition and Etching . . . . . . . . . . . . . . . . . 16
Taurus Process Fundamentals 21
CommandLine Options and Environment Variables . . . . . . . . . . . . . . 21
CommandLine Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
File Extensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Warning Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Table of Contents Taurus Process Reference Manual
viii TP 2005.10
TaurusProcess Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Geometry Model, and Meshing Algorithm. . . . . . . . . . . . . . . . . . . . . . . 27
Initializing a Simulation Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
DefineDevice Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Initialization by Loading a File . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Initializing a New Simulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Defining the Coordinate Transformation . . . . . . . . . . . . . . . . . . . . 28
Specifying a MaskFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Defining Default Substrate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Defining Background Doping . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Initializing Physical Parameters and Models . . . . . . . . . . . . . . . . 210
Creating New Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Defining the Simulation Domain . . . . . . . . . . . . . . . . . . . . . . . . . 211
Combining Several Simulation Results . . . . . . . . . . . . . . . . . . . . 212
Defining the Initial Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Automatic Generation of Initial Grid Lines . . . . . . . . . . . . . . . . . 213
Specifying a Graded Initial Grid . . . . . . . . . . . . . . . . . . . . . . . . . 214
Example for a Graded Initial Grid . . . . . . . . . . . . . . . . . . . . . . . . 215
Default Parameters for Mesh Adaptation. . . . . . . . . . . . . . . . . . . 216
Default Repetitive Printout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Manipulating the Device Structure with RedefineDevice . . . . . . . . 216
Expanding the Simulation Mesh . . . . . . . . . . . . . . . . . . . . . . . . . 216
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Truncating the Simulation Mesh . . . . . . . . . . . . . . . . . . . . . . . . . 217
Switching to Higher Dimension. . . . . . . . . . . . . . . . . . . . . . . . . . 218
Initial Grid in ReflectMesh, Mesh Expansion, and
RedefineDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Useful Mesh Manipulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Defining a New Simulation Domain using ReflectMesh. . . . . . . 219
Defining Regions using the DefineRegion Command. . . . . . . . . . . 219
Defining Geometry Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Using Templates to Define Regions . . . . . . . . . . . . . . . . . . . . . . . . 224
Construction of the 3D Level Set Function . . . . . . . . . . . . . . . . . 225
Defining the CrossSection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Defining the Contour of a Template. . . . . . . . . . . . . . . . . . . . . . . 227
Vertical Alignment of Extracted Contours. . . . . . . . . . . . . . . . . . 228
Defining Several Regions through Templates . . . . . . . . . . . . . . . 228
Examples: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Initializing Fields in the DefineRegion Command . . . . . . . . . . . . . 233
Merging Regions using the RedefineRegion Command . . . . . . . . . 234
Reassignment of Regions without Regrid . . . . . . . . . . . . . . . . . . 235
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Removing a Field from a Region . . . . . . . . . . . . . . . . . . . . . . . . . 236
Implicit Geometry Representation. . . . . . . . . . . . . . . . . . . . . . . . . . 236
Regionwise Level Set Functions. . . . . . . . . . . . . . . . . . . . . . . . . 236
Taurus Process Reference Manual Table of Contents
TP 2005.10 ix
Computing Geometry Changes using Level Set Functions . . . . . 236
Mesh Generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Level Set Based Quadtree/Octtree Mesh. . . . . . . . . . . . . . . . . . 239
Controlling Mesh Refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Do’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Don’ts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Initial Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Refinement Tree. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Maximum Tree Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Constraining a Refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Refinement on Maximum Edge Length . . . . . . . . . . . . . . . . . . . . 243
Refinement on Field Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Refinement at Material Interfaces . . . . . . . . . . . . . . . . . . . . . . . . 244
Refining Thin Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Very Important Points Refinement. . . . . . . . . . . . . . . . . . . . . . . . 246
Other Refinement Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
An Alternative Method to Prescribe Mesh Resolution. . . . . . . . . 246
Green Points, 1Irregularity Condition. . . . . . . . . . . . . . . . . . . . . 247
MaximumAngle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Construction of the Boundary Fitted Mesh . . . . . . . . . . . . . . . . . 248
Staircase Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Mesh Refinement Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Very Important Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Use of VIFs by the Mesher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Very Important Points and Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
VIF Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Userspecified VIFs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Automatic VIFs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Mesh VIFs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Sharp Corner Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
VIF Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Current Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Profile Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Restricting a Profile to Regions or Geometry Locations . . . . . . . 260
Analytic Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Evaluating “1D” Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Local Coordinates of a Point with respect to an Edge . . . . . . . . . 264
Local Coordinates of a Point with respect to a Polygon . . . . . . . 265
Numeric Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
LocalCoordinates=originalCoordinates . . . . . . . . . . . . . . . . . . . . 266
LocalCoordinates=sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
LocalCoordinates=sweepVertical . . . . . . . . . . . . . . . . . . . . . . . . 267
LocalCoordinates=polygonCoordinates. . . . . . . . . . . . . . . . . . . . 268
Blending of Profiles using Lateral Distance. . . . . . . . . . . . . . . . . 269
Template Profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Geometric Profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Table of Contents Taurus Process Reference Manual
x TP 2005.10
Extract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Measuring Values in the Current Structure . . . . . . . . . . . . . . . . . 272
Comparing the Current Simulation to a Master File . . . . . . . . . . 273
DefineContact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Atomistic Diffusion Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
TPA Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
TPA Simulation Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Recommended Domain Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Randomization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Estimating CPU Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Engaging TPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
TPA and Device Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Conversion From Continuum to Atomistic . . . . . . . . . . . . . . . . . 285
Restart Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Mapping Rules for Particles and Concentrations . . . . . . . . . . . . . 286
Implantation in DADOS Mode . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Recommended Mesh for TPA . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Saving and Visualizing TPA Results . . . . . . . . . . . . . . . . . . . . . . 287
Model Descriptions 31
Diffuse Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Ambient Gas Pressure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Ambient Composition and Oxidation of Materials . . . . . . . . . . . . . . 33
Other Definitions of the Ambient Composition. . . . . . . . . . . . . . . 33
Time Stepping in Oxidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Dopant Predeposition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Diffusion of Impurities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Selection of Diffusion Model, Specification of Parameters. . . . . . 35
Diffusion Equation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Impurity Fluxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Mobile Impurities and Ion Pairing . . . . . . . . . . . . . . . . . . . . . . . . . 36
Electric Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Bandgap and Effective Density of States. . . . . . . . . . . . . . . . . . . . . . 38
Bandgap Narrowing due to Heavy Doping . . . . . . . . . . . . . . . . . 310
StressInduced Bandgap Change . . . . . . . . . . . . . . . . . . . . . . . . . 312
StressDependent Impurity Diffusion . . . . . . . . . . . . . . . . . . . . . . . 313
Strain Dependent Diffusion Model . . . . . . . . . . . . . . . . . . . . . . . 314
Dilatational Stress Dependent Diffusion Model. . . . . . . . . . . . . . 315
Taurus Process Reference Manual Table of Contents
TP 2005.10 xi
Dopant Diffusivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Polysilicon Enhancement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Point Defect Enhancement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
PdFermi Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
PdFull Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Paired Fractions of Dopant Atoms . . . . . . . . . . . . . . . . . . . . . . . . 320
Reaction Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Activation of Impurities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Solid Solubility Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Solid Solubility Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Equilibrium Clustering Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Transient Clustering Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
BGe Pairing Model for Boron Diffusion in SiGe. . . . . . . . . . . . . . 324
Segregation of Impurities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Segregation Flux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Transport Coefficient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Segregation Coefficient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Diffusion of Point Defects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Equilibrium Concentrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Charge State Fractions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Point Defect Diffusion Equations. . . . . . . . . . . . . . . . . . . . . . . . . 327
Interstitial and Vacancy Diffusivities. . . . . . . . . . . . . . . . . . . . . . 328
Reaction of Pairs with Point Defects . . . . . . . . . . . . . . . . . . . . . . 328
Net Recombination Rate of Interstitials . . . . . . . . . . . . . . . . . . . . 328
Bulk Recombination Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Interstitial Clustering Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Model Equations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Choosing Model Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Injection and Recombination of Point Defects at Interfaces . . . . . . . . 332
Surface Recombination Velocity Models. . . . . . . . . . . . . . . . . . . 332
Injection Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Atomistic Diffusion Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Atomistic Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Molecular Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Kinetic Monte Carlo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Introducing the KMC Technique . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
TPA Units. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Space TPA Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Materials and Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Supported Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Managing Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Simulated and CPU Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
TPA Reported Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
TPA Time Internal Representation, Time Limitations. . . . . . . . . 340
Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Particle Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Defect Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Table of Contents Taurus Process Reference Manual
xii TP 2005.10
Point Defects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Interactions in dados.ddp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Isolated Impurities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Damage Accumulation Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Amorphous Pockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Extended Defects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
{311} Defects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Dislocation Loops. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Voids. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Amorphization and Recrystallization. . . . . . . . . . . . . . . . . . . . . . . . 363
Amorphous Defects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Recrystallization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Impurity Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Growth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Emission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Recombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
FrankTurnbull Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Complementary Recombination. . . . . . . . . . . . . . . . . . . . . . . . . . 374
Complementary Emission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Fermi Level Effects: The Charge Model . . . . . . . . . . . . . . . . . . . . . 375
Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Formation Energies for Charged Species. . . . . . . . . . . . . . . . . . . 377
Binding Energies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Temperature Dependency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Charge Attractions and Repulsions . . . . . . . . . . . . . . . . . . . . . . . 379
Fermi Level Computation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Updating Charged States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Electric Drift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Bandgap Narrowing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Boron Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Arsenic Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Interfaces and Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Interfaces for Self Silicon Point Defects . . . . . . . . . . . . . . . . . . . 388
Interfaces for Impurities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Oxide and Nitride. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
TPA and Input Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Implant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Diffuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Browsing inside TPA Models: Extracting TPARelated
Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Histogram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Immobile Concentration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3100
Immobile Concentration Histo . . . . . . . . . . . . . . . . . . . . . . . . . . 3101
Mobile Concentration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3103
Supersaturation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3105
Atomistic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3107
Taurus Process Reference Manual Table of Contents
TP 2005.10 xiii
Electrons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3109
Holes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3109
Integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3111
Controlling KMC Data Generation . . . . . . . . . . . . . . . . . . . . . . . . 3113
Defaults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3113
dadosdata Command: Changing Defaults . . . . . . . . . . . . . . . . . 3114
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3114
Oxidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3115
Theory of Oxidation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3116
Oxidation Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3117
Oxidant Diffusivity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3117
Incorporating Oxidant at the Exposed Surface. . . . . . . . . . . . . . 3118
Reaction at the OxideSilicon Interface . . . . . . . . . . . . . . . . . . . 3119
Concentration Dependence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3121
Stress Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3122
Automatic Stress History Simulation During the Process Flow 3122
Stress Strain Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3123
Anisotropic Mechanical Properties . . . . . . . . . . . . . . . . . . . . . . 3124
Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3125
ViscoElastic Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3126
Oxidation Stress Dependence. . . . . . . . . . . . . . . . . . . . . . . . . . . 3127
Hydrostatic Stress Dependent Reaction Rate Model . . . . . . . . . 3129
Anisotropic StressDependent Reaction Model for Oxidation. . 3129
Implicit Time Integration Scheme . . . . . . . . . . . . . . . . . . . . . . . 3130
Control of Stress Balance When Solving Stress Equations . . . . 3130
Finite Deformation Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3131
Modeling Thermal Mismatch Stresses. . . . . . . . . . . . . . . . . . . . . . 3131
Modeling Intrinsic Stress in Deposited Layers . . . . . . . . . . . . . . . 3132
Modeling Lattice Mismatch Stress for SiGe Applications . . . . . . 3132
Modeling Stress Rebalance after Depositon and Etching . . . . . . . 3132
Stresse Dependent Impurity Diffusion. . . . . . . . . . . . . . . . . . . . . . 3132
Oxidation of Polysilicon and other Materials . . . . . . . . . . . . . . . . 3132
Silicidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3132
Theory of Silicidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3133
Silicide Growth Suppression by Oxygen . . . . . . . . . . . . . . . . . . 3135
Silicidation Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3136
Silicide Growth Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3136
ViscoElastic Stress Mode in Silicidationl . . . . . . . . . . . . . . . . . 3138
Point Defect Recombination and Generation. . . . . . . . . . . . . . . 3138
Ion Implantation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3138
Adaptive Mesh Refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3139
Boundary Conditions for Implantation. . . . . . . . . . . . . . . . . . . . 3139
Analytic Implant Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3140
Implanted Impurity Distributions. . . . . . . . . . . . . . . . . . . . . . . . 3140
Lateral Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3141
Implant Moment Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3142
Gaussian Distribution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3142
Table of Contents Taurus Process Reference Manual
xiv TP 2005.10
Pearson Distribution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3142
Dual Pearson Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3143
Tilt and Rotation Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3144
Multilayer Implants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3144
Effective Range Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3144
Effective Channeling Suppression . . . . . . . . . . . . . . . . . . . . . . . 3145
Profile Reshaping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3145
PreAmorphization Implants . . . . . . . . . . . . . . . . . . . . . . . . . . . 3147
Ion Channeling in Polysilicon . . . . . . . . . . . . . . . . . . . . . . . . . . 3147
Implant Damage Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3148
Damage Produced During Implant . . . . . . . . . . . . . . . . . . . . . . . 3148
Cumulative Damage Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3151
IDamage Distribution Calculations . . . . . . . . . . . . . . . . . . . . . . 3152
Recommended Usage and Limitations. . . . . . . . . . . . . . . . . . . . 3153
Monte Carlo Ion Implant Model . . . . . . . . . . . . . . . . . . . . . . . . . . 3153
Binary Scattering Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3154
Energy Loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3154
Scattering Angle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3155
Dimensionless Form. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3155
Coulomb Potential . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3156
Universal Potential . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3156
Amorphous Implant Calculation . . . . . . . . . . . . . . . . . . . . . . . . 3157
Nuclear Stopping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3158
Electronic Stopping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3159
Total Energy Loss and Ion Deflection . . . . . . . . . . . . . . . . . . . . 3160
Crystalline Implant Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3160
Damage Dechanneling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3162
Depth and Trajectory Splits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3163
Dose Split . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3163
Trajectory Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3164
High Energy Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3165
Boundary Conditions for Ion Implantation . . . . . . . . . . . . . . . . . . 3166
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3167
Deposition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3168
Initializing Field Values During Deposition . . . . . . . . . . . . . . . 3170
Intrinsic Stress in Deposited Layers. . . . . . . . . . . . . . . . . . . . . . 3171
Stress Rebalance After Deposition. . . . . . . . . . . . . . . . . . . . . . . 3171
Stress Capabilities for SiGe/Si Structures . . . . . . . . . . . . . . . . . 3171
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3172
Etch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3173
Selection of Etchable Regions . . . . . . . . . . . . . . . . . . . . . . . . . . 3174
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3176
Stress Rebalance After Etching . . . . . . . . . . . . . . . . . . . . . . . . . 3179
Numerical Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3179
Time Discretization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3179
Newton’s Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3181
Linear Solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3182
Taurus Process Reference Manual Table of Contents
TP 2005.10 xv
Linear Solution Acceptance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3184
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3184
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3186
Input Commands 41
Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Including a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Printing a Variable or Expression into an Extract File. . . . . . . . . . 47
Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
String Concatenation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Logical Operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Repeating Commands by Defining a Loop . . . . . . . . . . . . . . . . . . . . 48
Conditional Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Order of Commands in Input File . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Leaving TaurusProcess. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Input Command Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
ActivateEquation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Atom. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
AutomaticGrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Brick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
CapCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Circle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Coarsen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
CombinedProfile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Concat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Contour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Corner2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Couple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Criterion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
CrossSection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
Cylinder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
DadosDomain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Define . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
DefineContact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
DefineDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
DefineRegion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Delaunay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
Deposit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Table of Contents Taurus Process Reference Manual
xvi TP 2005.10
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Diffuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Objects of the Diffuse Command. . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
Edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Etch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Expr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Extract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
ExtraNormalVector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
ForEach. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
Gauss. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
Geometric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Hole. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
If . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Implant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4105
ImpliedMasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4106
InABox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4108
Include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4109
Initialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4110
Into . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4111
Iterate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4112
Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4113
Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4115
Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4116
Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4118
Manifold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4119
MaskEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4120
MaskPolygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4121
Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4122
Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4123
MinMax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4124
Molecule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4125
Moments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4126
Normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4128
Numeric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4129
Numerics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4134
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4141
Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4142
Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4143
Onto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4144
Taurus Process Reference Manual Table of Contents
TP 2005.10 xvii
Physics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4145
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4146
Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4147
Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4148
Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4149
Polyhedron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4150
Predeposit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4151
PrimaryFlatDirection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4152
Print. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4153
Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4154
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4157
RedefineDevice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4160
RedefineRegion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4162
Refinements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4164
ReflectMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4166
Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4167
Regrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4168
RemoveContact. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4174
RemoveField. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4175
Save. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4176
Save1D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4180
ScanThinLayers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4181
Select. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4182
Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4184
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4184
Shift. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4185
SimulationAxisX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4186
SimulationOrigin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4187
Skip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4188
Sphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4189
Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4190
StartPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4191
Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4192
TaurusProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4193
Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4194
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4197
Uniform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4198
Verbosity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4199
VIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4200
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4207
Userspecified VIFs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4208
Automatic VIFs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4210
Mesh VIFs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4211
VIF Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4211
Current Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4212
VIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4214
VIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4217
Table of Contents Taurus Process Reference Manual
xviii TP 2005.10
What . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4218
Where . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4219
While. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4220
XGrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4221
Physical Model and Equation Interface 51
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Getting Started with PMEI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Development and Usage of a PMEI Library . . . . . . . . . . . . . . . . . . . . . 53
Development Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
PMEI Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
UserCreated Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Files Created when Executing Equation Files . . . . . . . . . . . . . . . . 54
Files Created when Building Shared Library. . . . . . . . . . . . . . . . . 54
Using TaurusProcess with PMEI Library . . . . . . . . . . . . . . . . . . . . . . . . .55
Programming in PMEI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Structure of PMEI Equation File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
DefineEquation Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Model Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
Parameter Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58
Array Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Accessing Models and Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .513
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Model Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .515
Database Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
The make.pdm Input File and the MakeTaurus Command . . . . . . . 517
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Initial Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .518
Boundary and Interface Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .518
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Mathematical Expressions in PMEI . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Expression Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Writing Mathematical Expressions . . . . . . . . . . . . . . . . . . . . . . . . . 522
Syntax Rules, Operators, and Functions . . . . . . . . . . . . . . . . . . . . . . . . .522
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
Implant Command and PMEI Variables . . . . . . . . . . . . . . . . . . . . . . . . . . .524
Modifying Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .524
The .physics Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .524
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Initializing Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .526
Mesh Refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Diffuse Command/Couple Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .526
PMEI Equations and Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .527
Taurus Process Reference Manual Table of Contents
TP 2005.10 xix
Modifying Internal Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
Switching PMEI Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
PMEI Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
BoundaryCondition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
DefineEquation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
Expression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
ImplantModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
InitialCondition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
InterfaceCondition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
Intermediate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
Mathematical Operators and Functions . . . . . . . . . . . . . . . . . . . . . . . . 538
MakeTaurus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
Sum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Examples A1
Process Flow Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A1
0.18 um MOSFET with STI Isolation . . . . . . . . . . . . . . . . . . . . . . . . . . A1
Taurus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A1
DefineDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A2
Refinements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A3
Physics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A3
Numerics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A3
Deposit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A4
Etch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A4
Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A5
Diffuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A5
Table of Contents Taurus Process Reference Manual
xx TP 2005.10
Deposit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A6
Implant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A7
20nm FinFET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A15
Implantation and Diffusion Examples . . . . . . . . . . . . . . . . . . . . . . . . . A26
Monta Carlo LDD Implantation and Anneal . . . . . . . . . . . . . . . . . . . . A26
Structure Generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A29
Monte Carlo Implant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A29
Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A31
Diffusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A32
Trench Implant Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A33
Structure Generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A36
Analytical Implant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A37
Monte Carlo Implant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A37
Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A38
Monte Carlo Molecular Ion Implantation (BF2) . . . . . . . . . . . . . . . . . A43
Monte Carlo Molecular Ion Implantation (decaborane) . . . . . . . . . A47
Examples for the Simulation of Stress Effects . . . . . . . . . . . . . . . . . . . A48
Stress in SiGe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A48
2D Stress Evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A52
3D Stress Evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A55
Thermal Mismatch Stress in 3D STI . . . . . . . . . . . . . . . . . . . . . . . . . . A58
Interconnect Stress Evolution During Back End Process. . . . . . . . . . . A60
Densification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A64
PMEI Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A66
HBT process example, SiGe Model. . . . . . . . . . . . . . . . . . . . . . . . . A66
Oxidation Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A75
Silicidation Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A79
Examples Using Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A83
Trench Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A83
Locos Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A84
Sweep along a Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A86
Sweep along a Closed Contour . . . . . . . . . . . . . . . . . . . . . . . . . . . . A88
Simulation of 3D Reverse Short Channel and Narrow Width Effect . . A90
Constructing 3D MOS Transistor Model from 2D Simulation . . . . . . A96
Constructing 3D Transistor Model from 2D Simulation . . . . . . A103
Deposition Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A109
Planar Deposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A109
Planar Deposition Example 1. . . . . . . . . . . . . . . . . . . . . . . . . . . A109
Planar Deposition Example 2. . . . . . . . . . . . . . . . . . . . . . . . . . . A110
Planar Deposition Example 3. . . . . . . . . . . . . . . . . . . . . . . . . . . A112
Conformal Deposition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A114
Conformal Deposition Example 1 . . . . . . . . . . . . . . . . . . . . . . . A114
Conformal Deposition Example 2 . . . . . . . . . . . . . . . . . . . . . . . A115
Anisotropic Deposition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A116
Anisotropic Deposition Example 1 . . . . . . . . . . . . . . . . . . . . . . A116
Anisotropic Deposition Example 2 . . . . . . . . . . . . . . . . . . . . . . A118
Anisotropic Deposition Example 3 . . . . . . . . . . . . . . . . . . . . . . A119
Taurus Process Reference Manual Table of Contents
TP 2005.10 xxi
Selective Deposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A121
Selective Deposition Example 1. . . . . . . . . . . . . . . . . . . . . . . . . A121
Selective Deposition Example 2. . . . . . . . . . . . . . . . . . . . . . . . . A122
Selective Deposition Example 3. . . . . . . . . . . . . . . . . . . . . . . . . A124
Selective Deposition Example 4. . . . . . . . . . . . . . . . . . . . . . . . . A126
Selective Deposition Example 5. . . . . . . . . . . . . . . . . . . . . . . . . A128
Geometric Deposition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A130
Geometric Deposition Example 1 . . . . . . . . . . . . . . . . . . . . . . . A130
Geometric Deposition Example 2 . . . . . . . . . . . . . . . . . . . . . . . A131
Geometric Deposition Example 3 . . . . . . . . . . . . . . . . . . . . . . . A133
Etching Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A135
Planarizing Etching (CMP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A136
Planarizing Etching Example 1 . . . . . . . . . . . . . . . . . . . . . . . . A136
Planarizing Etching Example 2 . . . . . . . . . . . . . . . . . . . . . . . . A137
Planarizing Etching Example 3 . . . . . . . . . . . . . . . . . . . . . . . . A139
Dry Etching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A140
Dry Etching Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A140
Dry Etching Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A142
Dry Etching Example 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A143
Dry Etching Example 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A145
Dry Etching Example 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A147
Dry Etching Example 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A148
Dry Etching Example 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A150
Dry Etching Example 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A151
Dry Etching Example 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A153
Dry Etching Example 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A154
Dry Etching Example 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A157
Dry Etching Example 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A159
Dry Etching Example 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A160
Dry Etching Example 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A161
Dry Etching Example 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A162
Dry Etching Example 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A163
Dry Etching Example 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A164
Dry Etching Example 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A165
Wet Etching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A166
Wet Etching Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A166
Examples combining Etching and Deposition . . . . . . . . . . . . . . . . . . A168
Creating Several Spacers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A168
Backside Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A170
A Simulation along an Arbitrary Line in the Layout . . . . . . . . . . . . . A172
Examples for Generation of the Initial Grid . . . . . . . . . . . . . . . . . . . . A174
Example for the Automatic Initial Grid . . . . . . . . . . . . . . . . . . . . . . . A174
Examples for Manual Initial Grid Specification. . . . . . . . . . . . . . . . . A177
Example 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A177
Example 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A179
Example Using Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A182
Switching from 1D to 2D and 3D Simulation . . . . . . . . . . . . . . . . . . A185
Table of Contents Taurus Process Reference Manual
xxii TP 2005.10
Adaptation after Loading a TIF file . . . . . . . . . . . . . . . . . . . . . . . . . . A188
Adaptation after a Device Simulation. . . . . . . . . . . . . . . . . . . . . . . . . A189
2D and 3D Spacer Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A192
Spacer Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A192
spacer.pdm.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A192
spacer0.pdm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A192
spacer2.pdm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A192
spacer4.pdm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A193
Simulation of a 2D cut through the 3D file.. . . . . . . . . . . . . . . . . . A195
spacer_cut.pdm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A195
Simulation using a Staircase Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . A196
Databases B1
Physics Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B1
The physics_data File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B2
The physics_data_tsuprem4 File . . . . . . . . . . . . . . . . . . . . . . . . . . . B59
Dados Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B67
Material Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B77
Fields Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B80
Equation Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B91
Default Refinements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B93
The default_refinements File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B93
The default_prints File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B95
The refinements_data File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B96
The coarse_refinements_data File . . . . . . . . . . . . . . . . . . . . . . . . B99
Format of TL2 Mask Files C1
Format of Mask Layout Data Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C1
Index Index1
CHAPTER 1
TP 2005.10 11
Draft 8/11/05
Introduction
1
This chapter covers the following topics:
• Product Name Change
• Description
• Major Features
Product Name Change
Synopsys process simulation tools, Taurus Process and TSUPREM4 have been
consolidated into one product under the name Taurus TSUPREM4. The
executables for both tools (tprocess or tsuprem4) are included with Taurus
TSUPREM4 distribution and users may choose either executable. If you own
TSUPREM4, you now have the right to run Taurus Process in 2D. Taurus
Process 3D requires purchase of an upgrade to 3D.
Description
Taurus Process is a process simulator for one two, and threedimensional (1D,
2D, and 3D) structures. Taurus Process simulates the fabrication steps used to
manufacture semiconductor devices. Simulation capabilities are focused on front
end processes such as ion implantation, activation, and annealing including
oxidation and silicide growth. The simulator allows the specification of arbitrary
initial geometries. The simulation of etching and deposition is restricted to simple
geometric operations where the resulting shape can be derived from the initial
structure and the process description. Taurus Process does not currently offer
capabilities for simulating the physics and chemistry of etching and deposition
processes.
The program uses dynamic memory allocation—the size of the simulation
problem is limited only by the capacity of the computer. The recommended
memory range is from 32 Mb (1D) to >1 Gb (3D).
Introduction Major Features
12 TP 2005.10
Draft 8/11/05
Taurus Process allows you to:
• Simulate 1D, 2D, and 3D structures and impurity profiles generated during
the fabrication process.
• Analyze the mechanical stresses that develop during processing.
• Automatically adapt the mesh during the course of the process simulation.
• Specify and use new equations and models during the process simulation.
Major Features
The main features of Taurus Process include:
• 1D, 2D, and 3D process simulation
• Robust simulation of structure generation
• Simulation of ion implantation using well calibrated analytic models or very
precise Monte Carlo simulation
• Full scale of diffusion and activation models ranging from simple Fermi Dif
fusion to threestream and fivestream point defect based models
• Seamless switching from 1D the 2D and 3D during the simulation. Extrude
2D simulation results (e.g., from TSUPREM4)
• Physical Model and Equation Interface (PMEI); optionally available
• Automatic generation and adaption of simulation meshes, using an quadtree /
octtree approach. Capability to prescribe mesh lines for the initial mesh,
including compact specification for graded mesh spacing in the initial mesh.
Capability to generate initial grid lines from loaded result files, from prescan
ning the input file and mask layout file.
• A delaunization algorithm to postprocess the constructed meshes improving
the mesh quality.
• Capability to extrude or clip simulation results.
• Capabilities to merge several small simulation results into one large structure.
• Capability to redefine the material and geometry of regions, to split regions
and to assign parts of regions to another already existing or new region.
• Definition of electrical and thermal contacts for subsequent device simulation
• Capability to completely change the mesh before saving a file for device sim
ulation (e.g., with Medici or TaurusDevice) and to load, regrid and save any
simulation result from a 1D, 2D or 3D simulation
• Definition of a broad range of analytic profiles for arbitrary fields; use of such
profiles for mesh refinement.
• Comparison of simulation results with “master” results.
Major Features Introduction
TP 2005.10 13
Draft 8/11/05
Physical Model and Equation Interface
The builtin Physical Model and Equation Interface (PMEI) allows for easy and
flexible definition of new physical models and partial differential equations.
Using PMEI, you can run simulations using your own set of models and
equations. Areas of particular utility include impurity and point defect diffusion.
This facility allows you to include a broad variety of userdefined partial
differential equations into the process simulation.
The solution variables for the PMEI equations can be initialized through the same
simulation capabilities available for the internal equations: either through the
definition of analytic profiles or through analytic or Monte Carlo ion implantation
simulation.
The solution method for the equations can be fully controlled by the user. The tool
allows you to specify the solution strategy: select the internal equations and user
defined equation to be solved individually, through a blockiteration, or fully
coupled as a large nonlinear system.
Coordinate System
Taurus Process distinguishes two different coordinate systems. The user input of
geometry objects (e.g., such a mask polygons, polyhedra, bricks or polygon
surfaces, profile and refinement specifications) are done with respect to the layout
coordinate system.
The layout coordinate system is a righthanded coordinate system (i.e.,
). The yaxis points into the wafer, the Layout plane is the xzplane. If
the layout plane is shown on screen, the layout xaxis points to the right; the
layout zaxis points up; and the layout yaxis points into the screen.
In addition to the layout coordinate system, Taurus Process uses a simulation
coordinate system. By default, the two coordinate systems coincide. The user may
specify the layout coordinates for the origin of the simulation coordinate system
and may define a vector in the layout xzplane that is used for the xaxis of the
simulation coordinate system. The layout yaxis and the simulation yaxes always
point in the same direction.
x
ˆ
y
ˆ
× z
ˆ
=
layout Y
layout X
layout Z
Introduction Major Features
14 TP 2005.10
Draft 8/11/05
All 1D simulations are made along the simulation yaxis. All 2D simulations are
made in a rectangle in the xyplane of the simulation coordinate system. It is not
possible to define a nonrectangular simulation domain, but you may define some
parts of the simulation domain as ambient. All 3D simulations are made in a brick
aligned to the x, y, and aaxes of the simulation coordinate system.
If a simulation mesh is loaded from a file, the outer surface of the simulation mesh
may have arbitrary shape. At latest in the first regrid operation the loaded mesh
will be changed and the new mesh will be constructed to fill the entire bounding
rectangle in 2D or bounding box in 3D.
All simulation results (TDF and TIF files) that can be saved in Taurus Process
represent the simulation mesh in the simulation coordinate system. The
transformation (rotation matrix and shift vector) to transform these into layout
coordinates is not stored in these files. It needs to be redefined in the
defineDevice command together with the name of the loaded file.
All coordinates, lengths, and thicknesses in the input can be specified with a
length unit (A, nm, um, cm). Input values of such quantities with no specified unit
are assumed to be in µm. Most output of coordinates and thicknesses is provided
with an unit, but some of the output may just show the coordinate values in the
internally used length scale of cm. (Please report such printout to your support
engineer to be fixed for the next release.)
For a process simulation, the orientation of the crystal coordinate system must be
defined. By default, the layout yaxis is assumed to be the <100> axis of the
crystal. You also may select a <111> crystal orientation.
The layout xaxis is assumed to be the <011> axis of the crystal. You may specify
a different crystal orientation and direction of the primary flat.
The tool requires the crystal orientation of the wafer to be orthogonal to the
primary flat.
simulation Y
simulation X
simulation Z
3D simulation domain
Major Features Introduction
TP 2005.10 15
Draft 8/11/05
Models
Taurus Process contains a large number of physical models encompassing
implantation, diffusion, oxidation, silicidation, deposition, and etching simulation.
The models and specific features are listed below:
Implantation • Monte Carlo implantation model
• Dual Pearson, Pearson, and Gaussian analytic models
• Energy range 0.25 keV to 10 MeV
• Energy, dose, tilt, rotation, and screen layerdependent channeling
• Depthdependent lateral standard deviation, separate for random scattering
and channeling
• Backscattering model extends profiles under the masks
• Shadowing effects due to wafer tilt and rotation
• Integration of implant moment data into hierarchical implant data tables
• Implant damage/amorphization model
• Effective “plus number” model for defining initial point defect profiles for
TED simulation
Diffusion • Highconcentration effects: diffusivity enhancement and precipitation
• Impurity interaction with point defects
• TED, OED, and ORD effects
• Impurity interaction via ion paring and electric field
• Builtin pd.fermi and pd.full diffusion models comparable to TSUPREM4
Oxidation • Viscoelastic stress model for oxide
• Boundary movement simulated using level set method
• Oxidation of mixed ambient by simulating flow and interface reaction of sev
eral oxidizing species.
• Initial logarithmic oxidation kinetics in dry oxygen
• Surface orientation dependence for 2D/3D structures
• Substratedoping dependent oxidation
Silicidation • Viscoelastic stress model for silicide
• Boundary movement simulated using level set method
• Silicidation may assume several diffusing species and interface reactions
• Model for the suppression of silicide growth at spacer edges by simulation of
oxygen diffusion into the silicide
Introduction Major Features
16 TP 2005.10
Draft 8/11/05
Stress • Isotropic elastic, anisotropic elastic, and viscoelastic stress models
• Intrinsic stress and stress rebalance
• Lattice mismatch stress and strain
• Thermal mismatch stress
• Volume expansion and shrinkage stress
• Stress dependent diffusions and reactions.
Structure
Definition
Deposition and
Etching
Robust handling of simple geometric etching and deposition operations allows
simulation of structure changes without simulating the complex physics and
chemistry of the real processes.
• Definition of the initial shape of a new region at any time in the simulation as
the intersection of the current ambient region and the union of any number of
user defined geometry objects.
• Conformal deposition.
• Anisotropic deposition: An anisotropyFactor can be specified by
which the deposited thickness on vertical surfaces is reduced compared to the
thickness, specified for horizontal surfaces.
• Planarizing deposition (SOG): filling of the structure up to a certain ycoordi
nate.
• Selective deposition: isotropic deposition of different materials with different
thicknesses deposited on different material surfaces.
• “Polyhedron”deposition: deposition of the union of any user defined geome
try objects.
• Dry etching (purely vertical).
• Wet (isotropic) etching.
• Planarizing etching (CMP)
• “Polyhedron”Etching: removal of material inside the union of any user
defined collection of geometry objects.
• Definition of etch masks (user defined masks) from the input file or a separate
layout file (TL2 layout format) and selection of etch masks from the current
structure (implied masks). Mapping of all such masks into one plane, union of
all mask polygons. Taurus Process can handle simultaneous etching of several
materials and regions and multiple etching steps using the same mask specifi
cation.
• Construction of “mask profiles” with sloped sides from mask polygons for the
easy creation of sloped trench walls for arbitrary combinations of masks in the
mask plane.
• Etching can be restricted to certain regions or materials and can be restricted
to any collection of geometry objects.
CHAPTER 2
TP 2005.10 21
Draft 8/11/05
Taurus Process
Fundamentals
2
This chapter covers the following topics:
• CommandLine Options and Environment Variables
• Geometry Model, and Meshing Algorithm
• Defining Regions using the DefineRegion Command
• Mesh Generation
• Profile Command
• Extract
• DefineContact
• Atomistic Diffusion Simulation
CommandLine Options and Environment Variables
This section:
• Describes the usage of Taurus Process in a Unix/Linux environment.
• Lists and explains commandline options and relevant environment symbols.
• Describes the rules for the location of database files.
• Lists the recommended file extensions and describes the purpose of each file
type.
CommandLine Options and Environment Variables Taurus Process Fundamentals
22 TP 2005.10
Draft 8/11/05
CommandLine Options
Taurus Process recognizes the following commandline options.
The verbosity level controls the amount of output during the execution of Taurus
Process. The verbosity level may be specified or changed in the input file using
the Verbosity command. Increasing the verbosity level is recommended when
warnings occur and need to be understood or when otherwise unexpected tool
behavior is observed, e.g., a mesh refinement takes “forever”.
Environment Variables
It is not recommended for the user to specify the environment variables
PHYSICS_DATA or TDFLIB. With the installation, the user receives a Taurus
Option Description
h Show all command line options.
i Run in interactive mode.
r Parse input file and execute (default).
v Show version number.
W0 Stop on syntax errors (default).
W1 Warn about syntax errors; continue execution. May be used
to run files with outdated command syntax.
W2 Skip all syntax verification. Force execution of the
commands.
extraPrecision Use 80bit precision in registers. On x86 Linux, an extended
precision is available. By default, Taurus Process tries to
truncate the register operations to also use 64bit precision
to provide better consistency to other unix platforms.
help Show all commandline options.
fpeTest Check if there is a floating point exception handler available
on the platform. Test it by provoking such exceptions.
quiet Set initial verbosity to quiet.
verbose Set initial verbosity to verbose.
version Show version number.
veryverbose Set verbosity to veryverbose.
diff file1.tdf file2.tdf Test two TDF (or TIF) files for differences. All fields are
evaluated in the nodes of the mesh in file2.tdf, if necessary
interpolated values are used in the comparison. If any
differences are observed, a file “file2_diff.tdf” is created,
containing the relative differences between the fields.
Taurus Process Fundamentals CommandLine Options and Environment Variables
TP 2005.10 23
Draft 8/11/05
Process script (tprocess) that automatically defines the correct symbols. This is
the recommended usage.
The environment variables and flags required when using PMEI are described in
Chapter 5, Development and Usage of a PMEI Library, p. 53.
In some rare occasions, an expert user may call the Taurus Process binary directly.
This is not recommended usage. Then the user must specify several environment
symbols to guarantee correct behavior.
Variable Description
PMEI_LIBDIR Points to a directory with a userspecified shared library, libUserPMEI.so.
This environment variable is used by the tprocess script to generate an
appropriate LD_LIBRARY_PATH.
PHYSICS_DATA Points to a directory with data files: physics_data, refinements_data, implant
data tables, and solubility data tables, files included using an include
command.
Taurus Process tries to open any of these files first using the name, literally as
specified by the user. The specified name may contain a relative or absolute
path. If no path is present, the file is searched for in the current working
directory. If a file can not be opened in the specified location, and if the user
did not specify an absolute path, Taurus Process prepends the content of the
environment variable PHYSICS_DATA to the specified name. If the resulting
file name also can not be read, Taurus Process stops with an error.
CommandLine Options and Environment Variables Taurus Process Fundamentals
24 TP 2005.10
Draft 8/11/05
TDFLIB Directory with material and solution database files. The database files are
searched in the current working directory. If not found locally, the
environment variable TDFLIB is asked for the path. If the database files can
not be read, Taurus Process stops with an error.
The material database is called mtr.db. All materials used in a simulation
must be present in the material database which is read upon starting Taurus
Process. Rules for extending this file are described in the header of the file
itself.
The solution database, called sol.db, contains a list of known field names.
This database describes the interpolation type, the order (s for scalar, v for
vector) of the field, and provides a unit string. This database also allows you
to map field names from e.g. TSUPREM4 or Medici into names known in
Taurus Process.
Taurus Process accepts field names that are not contained in the solution data
base. Some field names are known internally. These have their fixed names,
order (scalar or vector) and have a fixed internally used unit. These internal
names, units or order can not be changed by modifying the database file.
Fields not listed in sol.db and not known as internal field are treated as scalar,
interpolated linearly and do not have a unit string upon printout. Such fields
may be read from a TDF or TIF file or added using a profile command. When
defining a profile for such field, you may define the interpolation type and
unit to be used. Species, not known to Taurus Process, are interpolated during
the regrid operations and are saved to output files. Arbitrary vector valued
fields read from a TDF or TIF file, but the user cannot define a profile for a
vector valued field.
LD_LIBRARY_PATH Path to locate shared libraries. (All architectures but HPUX and AIX)
SHLIB_PATH Path to locate shared libraries (HPUX)
LIBPATH Path to locate shared libraries (AIX)
Variable Description
Taurus Process Fundamentals CommandLine Options and Environment Variables
TP 2005.10 25
Draft 8/11/05
File Extensions
TaurusProcess reads and writes several different binary and ASCII files. File
names given without extension may be completed with the default extension. The
following default file extensions are in use.
Extension For
mat
Usage Description
.pdm ASCII input The .pdm input file is an ASCII file that contains the
commands that shall be executed by TaurusProcess.
The keywords, parameters, and rules for these com
mands are described in this manual.
.tdf binary input/
output
Mesh and data file in binary TDF format. This file
format supports 1D, 2D and 3D structures.
Note that 1D TDF files cannot be displayed by Taurus
Visual; you must either write a 1D data file or expand
the 1D simulation into 2D using the Extrude
parameter when saving the TDF file.
.tif ASCII input/
output
2D Mesh and data file in TSUPREM4 TIF format. This
format cannot be used for 1D or 3D simulations.
.tl2 ASCII input Layout file with mask descriptions. TL2 files can be
generated with TaurusLayout. The format of TL2 files
is described in Appendix C, Format of Mask Layout
Data Files, p. C1.
.data ASCII output ASCII data format for 1D simulations. Also used to
store data along 1Dcuts through a 2D or 3D structure.
1D data files can be displayed by TaurusVisual. They
can not be used in a DefineDevice command.
.out ASCII output All command output, error and warning messages are
reported both on the screen and are recorded in the .out
file.
.ext ASCII output File containing extracted values. The Extract
command may be used to extract values into variables,
that are used in the subsequent simulation, into the .out
file and/or into a separate ASCII file which is used by
Taurus WorkBench to control, e.g. a parameter
optimization or the flow of a series of simulations.
.tree ASCII input/
output
ASCII file containing the refinement tree. A tree file is
not mandatory to continue a simulation with Taurus
Process. It may be used to restore the initial grid from a
previous simulation. The tree file contains a description
of the mesh hierarchy in the TreeDevice.
.db ASCII input Database file for materials (mtr.db) and field names
(sol.db).
CommandLine Options and Environment Variables Taurus Process Fundamentals
26 TP 2005.10
Draft 8/11/05
Warning Messages
Taurus Process may generate several warnings and other messages during its
execution. The message is embedded into the context of the normal flow of
output. The warnings are collected into a buffer and repeated at the end of the
execution of Taurus Process. This repetition is intended to catch the user’s
attention.
Note:
Please verify carefully all simulation results from any simulation that
generate warnings by carefully inspecting the result files.
TaurusProcess Command
In any input file intended for Taurus Process, it is recommended to make
TaurusProcess the first executable command. This command clearly
indicates the target simulator should the input file become part of a multitool
simulation flow.
.<string>_pointd ASCII output DADOS output files. Location of all particles that are
not bound in clusters, e.g., free interstitials, “active”
dopant concentration (substitutional dopants and mobile
dopantdefect pairs). The file extension is formed by
appending _pointd to the name of the dopant or point
defect: e.g., boron_pointd, arsenic_pointd,
interstitial_pointd, vacancy_pointd, etc.
.<string>_clustered ASCII output DADOS output files. Location of all particles that are
bound in immobile clusters, e.g. point defects in <311>
or dislocation loops, arsenic in clusters, boron in BICs.
The file extension is formed by appending _clustered to
the name of the dopant or point defect: e.g.,
boron_clustered, arsenic_clustered,
interstitial_clustered, vacancy_clustered.
.uvas ASCII output DADOS output format. Can be used only in context
with tools obtained from University of Valladolid
Spain.
.ddp ASCII input DADOS initialization file. The physical parameters for
the migration and reactions are specified in this file. It is
searched in the directory to which the environment
variable PHYSICS_DATA points.
Extension For
mat
Usage Description
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 27
Draft 8/11/05
Geometry Model, and Meshing Algorithm
Initializing a Simulation Structure
DefineDevice
Command
The DefineDevice command is used to initialize each simulation. In this
command the simulation coordinate system is defined with respect to the layout
coordinate system. In addition, the crystal orientation of the wafer and the primary
wafer flat are defined. The initial set of physical parameters and models are
selected, the initial grid is defined, and the initial set of regrid parameters is
specified.
In a Taurus Process simulation, only one device is defined by the user. The
behavior of the tool in case of multiple DefineDevice commands has not been
tested.
Initialization by
Loading a File
A simulation with TaurusProcess can be initialized by loading a file, i.e., by
specifying MeshFile=”<filename>” in the DefineDevice command.
The file can be in either TDF or TIF format. The file extension is used to
distinguish a TIF file, by default a TDF file is expected. The file is loaded from
the current working directory, unless a relative or absolute path is specified in the
file name.
Note:
The file may contain a mesh description that does not meet the specifica
tions of Taurus Process; the mesh may not fill its entire bounding box or
it may contain no or several regions of ambient material. In all these
cases, Taurus Process functionality may be restricted after loading the
file, the simulation may be incorrect or fail, and the results need to be
inspected carefully.
When loading a TIF file, TaurusProcess adds an ambient region at the top of the
structure with a minimum possible mesh that does not interfere with the mesh in
the other regions. This is done to speed up Monte Carlo simulations and to
provide a more regular initial structure for this particular, but frequently
encountered situation.
It is not currently possible to load the result and to continue a DADOS simulation.
Note:
TaurusProcess allows several parameter specifications in the
DefineDevice command. Most of these specifications are lost when
saving a result as a TDF or TIF file. Even saving additional files; e.g.,
tree, physics, or refinement files may not take care of preserving these
specifications for a subsequent simulation. Therefore, it is recommended
to reexecute the appropriate specifications in the DefineDevice
command of the subsequent simulation and it may be necessary to use
Geometry Model, and Meshing Algorithm Taurus Process Fundamentals
28 TP 2005.10
Draft 8/11/05
an Include(“<filename>”) command to (re)include settings of
physics and refinements, for example. For a more detailed description of
the available output files and their purpose, see Chapter 2, File Exten
sions, p. 25.
Initializing a New
Simulation
If you do not specify the MeshFile parameter or if you do specify the
MeshFile parameter more than once in the DefineDevice command, a new
simulation is started from scratch. In this case, the DefineDevice command
initializes the ambient region. The region name is ambient_1, and the material
name is ambient. Initially, the ambient region will be assigned the entire
simulation domain.
Note:
Taurus Process can handle only one region of ambient material. The
ambient region may be split during the simulation into any number of
disconnected parts, logically it remains one region. All pieces share the
same region name. The ambient region may be composed of parts at the
bottom and the top of the structure, contain pieces that are completely
surrounded by regions of other material or even surround the entire
structure.
All regions that are created later in the course of the process simulation (e.g., in
DefineRegion or Deposition commands) do change the ambient region.
Always some part of the current ambient region is assigned to the newly created
region.
Note:
All nonambient regions are not affected during these steps. During
Etch commands, the etched regions are modified; part or all of the
etched region is removed and turned into ambient. Note again that there
is only one ambient region allowed in TaurusProcess.
Defining the
Coordinate
Transformation
In TaurusProcess, the yaxis always points into the substrate regardless of the
dimension of the simulation. The x and zaxes of the simulation coordinate
system are in the layout plane. The parameters
SimulationOrigin(x=<float> z=<float>) and
SimulationAxisX(x=<float> z=<float>) of the DefineDevice
command can be used to define the origin of the simulator coordinates in the
layout coordinate system and to define a direction vector in the layout plane to be
used for the xaxis of the simulator coordinate system. These parameters allow 1D
simulations for arbitrary points in the layout, 2D simulations for arbitrary line
segments in the layout, and 3D simulations for arbitrary rectangles in the layout.
For 3D simulations, it is usually not necessary to move the origin and for 2D
simulations it is usually not necessary to move the xcoordinate of the
SimulationOrigin. In these cases, the appropriate part of the layout can be
selected by defining the simulation domain with the parameters minX, maxX,
minZ and maxZ.
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 29
Draft 8/11/05
All geometry objects that can be defined by the user are specified in the layout
coordinate system. The coordinates, specified by the user are translated into the
simulator coordinate system before the geometry objects are created in the
simulation.
It is recommended to always chose the simulation domain such that it follows
local symmetry planes in the layout; i.e., it ends in the middle of a mask or in the
middle between two masks. This ensures that the reflective boundary conditions
in anneal steps and the 1D extension in implantation simulations are applied at
appropriate places. This is especially important if the scale of the lateral physical
processes is comparable to the size of the masks. It may be safe to select the
boundaries of the simulation domain closer to the mask edges if the distance is
large enough to ensure that there will be no lateral variation of any profile at the
lateral boundaries of the simulation mesh. Except for Monte Carlo ion
implantation, TaurusProcess does not handle periodic boundary conditions.
For small structures or for structures without symmetry planes, reflective
boundary conditions may not be applicable. In these cases it may be necessary to
simulate a larger area than the actual area of interest. The reflective boundary
conditions and 1D extensions will change the profiles at the boundary of the
(larger) simulation domain. They will not influence the results in the (interior)
area of interest. At the end of the simulation, you may use a RedefineDevice
command to restrict the mesh to the inner part where the boundary influence can
be neglected.
Note:
Masks in TL2 files and mask polygons, specified in etch commands
should not contain line segments “on” or nearby the boundary of the
simulation domain. To minimize simulation artifacts at the boundaries
of the simulation domain, ideally all line segments of masks should be
either completely inside, or completely outside of the simulation domain
and sufficiently “far away” from the boundary of the simulation domain
or they should intersect the boundary of the simulation domain at a 90
o
angle.
Specifying a
MaskFile
You can specify the parameter MaskFile=”<filename>” in the
DefineDevice command to load a mask layout file in TL2 format for
subsequent use in the simulation. Only one such file can be used in a simulation.
The file contains one or several mask names together with the polygon description
of the mask geometry for each mask (also called a “mask layer”). During the
simulation with TaurusProcess, you may refer to a particular mask layer using
the parameter MaskLayer=”<masklayername>” on a variety of commands.
Note:
The specified value is case sensitive; the string value must be specified
exactly as the name in the TL2 file. TL2 files can be generated and visu
alized using the TaurusLayout tool. The TL2 file format is described in
Appendix C.
Geometry Model, and Meshing Algorithm Taurus Process Fundamentals
210 TP 2005.10
Draft 8/11/05
Defining Default
Substrate
Usually the initial geometry of the simulation structure, e.g. the substrate region
are defined using DefineRegion commands following the DefineDevice
command. As a shortcut, you may just specify the SurfacePosition
parameter in the DefineDevice command to indicate the initial position of the
substrate surface, the default value is SurfacePositon=0.
Defining
Background
Doping
To specify the background doping for the default substrate, use the Initialize
subcommand:
DefineDevice( ...
Initialize( Name=<string> Value=<float>)
)
Several Initialize commands can be specified; each one defines the name
and the constant initial value for one field.
Initializing
Physical
Parameters and
Models
The models and model parameters used in TaurusProcess are initialized by
reading an ASCII initialization file in the DefineDevice command. The syntax
of the initialization file uses the same rules as the Taurus Process input files. The
initialization file contains one or several Physics commands which define
parameters and models to be used in certain materials or at certain interfaces, for
certain equations.
Note:
A Physics command may be executed at any position in the Taurus
Process input file after the DefineDevice command. The model
selections and specified model parameter values will override the values,
previously used; i.e., from the moment a new parameter is specified, the
new value is used for all subsequent process steps.
The default initialization file is called physics_data. An alternative initialization
file may be specified using the PhysicsFile=”<filename>” parameter of
the DefineDevice command. With your installation you have already received
one alternative file: physics_data_tsuprem4. This file contains model selections
and parameters that are very close or identical to the models used by default in
TSUPREM4.
The default physics_data file or the file specified as PhysicsFile is located
according to the following rules:
• The file is searched in the current local directory if you did not specify a path
name; otherwise, it is searched at the specified location.
• If this file cannot be read and if the specified file name does not contain an
absolute path, Taurus Process resolves the environment variable
PHYSICS_DATA. The value of the environment variable is prepended to the
specified or default file name.
The currently used physics_data file is attached in this manual (see Appendix B).
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 211
Draft 8/11/05
You may generate your own default physics file by copying and modifying the
file provided with your installation and entering modified parameter values
received from parameter optimizations.
Note:
This practice is not recommended due to maintenance problems for
future releases. It is recommended instead to use the
Include(“<filename>”)command to include your separate file
with the Physics commands into your simulation to override just the
values you have optimized. The rules for locating the included file
name are the same as the rules for locating the PhysicsFile.
This technique is also recommended to ensure that modified physics parameters
are properly set in all subsequent simulation modules of Taurus WorkBench
project, for example. After saving a result file and continuing the simulation with
a different input file that starts by loading a preceding result file, you must either
reexecute all Physics commands or, as recommended, include the file with
your default settings for all simulations.
Creating New
Materials
To include a new material into the process simulation, you must ensure first that
the name is contained in the material database file mtr.db. This material database
is read once during the startup of TaurusProcess. The file is searched in the
current working directory or, if not found there, in the directory specified by the
TDFLIB environment variable. The properties and rules for the extension of the
database file are described in the header of the (ASCII) database file itself. A copy
of the file is included in this manual. See Appendix B, Material Database, p. B
77.
Defining the
Simulation
Domain
For any simulation that starts from scratch, the simulation domain; i.e., the
bounding box of the simulation mesh is defined by specifying the extensions in
each of the coordinate directions using the parameters MinX, MaxX, MinY,
MaxY, MinZ, MaxZ.
Since the yaxis always points into the substrate regardless of the dimension of the
simulation, you must always specify MaxY>MinY.
Note:
MinY defines the “top” limit of the simulation mesh, which is usually in
the ambient region, while MaxY defines the “bottom” limit and is usually
a position deep in the substrate.
The spatial dimension of the simulation is defined by the specified simulation
domain. A 1D simulation is always performed along the yaxis of the simulator
coordinate system, a 2D simulation is always performed in the xy plane of the
simulator coordinates, and a 3D simulation is always performed in xyz simulator
coordinates. For 1D simulations, all mesh points have coordinates (0,y
i
,0) in the
simulator coordinate system. For 2D simulations, all mesh points have
coordinates (x
i
,y
i
,0) in the simulator coordinate system. Upon saving the
Geometry Model, and Meshing Algorithm Taurus Process Fundamentals
212 TP 2005.10
Draft 8/11/05
simulation results, the “unused” coordinates are not stored; i.e., 1, 2, or 3
coordinates are saved per mesh point, depending on the dimension of the
simulation.
If the simulation is 1D. If has been specified,
the simulation can only be 1D or 2D.
If none of the MinX, MaxX, MinZ and MaxZ parameters have been defined by the
user, the lateral extensions of the (3D) simulation domain are read from the TL2
file. If no TL2 file has been specified, or if has been specified, a
1D simulation is performed in this case.
Combining
Several
Simulation
Results
Use the DefineDevice command to load more than one simulation result file
and to define a new, larger structure from the loaded results. You must specify the
size of the new simulation domain, the new initial grid, and several names of files
with the simulation results to load. All the loaded result files currently need to be
of the same dimension; several 2D results can be combined into a larger 2D
structure, or several 3D results can be combined into a larger 3D structure. In the
DefineDevice command, a Matrix and a Shift vector can be specified
before each MeshFile to define the coordinate transformation that is applied to
this file. For each point in the new structure, the bounding boxes of the loaded
devices are used to determine which of the loaded devices is “closest” to the point.
The regionwise signed distance and field values from this “closest” device are
used for this point.
Defining the
Initial Grid
You can also use the DefineDevice command to define the initial grid. The
initial grid may consist of only one element, a segment in 1D, a rectangle in 2D
and a brick in 3D. The initial grid element then coincides with the specified
bounding box of the simulation mesh.
By default, Taurus Process inserts additional mesh points (1D), lines (2D) or
planes (3D) into the initial grid.
The definition of several mesh elements in the initial grid proved very helpful to
assist the fitting of the simulation mesh to axis aligned geometry features.
It also adds control of the mesh in case of a series of simulations with variable
feature sizes; e.g., the same mesh elements may be constructed in the S/D area of
the device and at the spacer, while in the mesh elements in the channel are
adjusted to account for the variable channel length.
The list of x, y and zcoordinates for the initial grid is collected from different
sources. Grid lines may be generated automatically, they may be read from a tree
file and they may be specified directly in the DefineDevice command. All
initial grid lines are sorted and filtered to remove too close lines and then used to
construct the elements of the initial grid. Grid lines, outside of the current
simulation domain are removed from the initial grid.
MaxX MinX ≤ MaxZ MinZ ≤
MaxX MinX ≤
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 213
Draft 8/11/05
Automatic
Generation of
Initial Grid Lines
The “automatic” construction of the initial grid lines is controlled by the
parameters, specified inside of the AutomaticGrid(...) subcommand. As
described below, the parameters of the AutomaticGrid control which grid
lines are selected from the different sources. Mesh lines closer than DxMin are
removed. In addition, you may specify one value for each of the parameters DX,
NX, DxMax, DxMin, DX0, DX1 inside of the AutomaticGrid command, and
similar parameters for the y and zcoordinates. These parameters can be specified
to construct a graded mesh inbetween the initial grid lines as described in
Specifying a Graded Initial Grid, p. 214. By default, one extra grid line is
inserted inbetween each pair of “extracted” grid lines: NX=1. In some cases it
may be useful to change this default and to specify NX=0.
Initial grid from a
Mask File
If a TL2 file is specified in the DefineDevice command, the coordinates of all
masks are used as initial grid lines. This is recommended if the masks contain
only axis aligned segments. The two coordinates of the mask polygons in the file
are assumed to represent the x and zcoordinate in the layout plane. The
coordinates of the points of the polygons are transformed from layout coordinates
to simulator coordinates. The transformed coordinates are used in the initial grid.
Currently intersections between; e.g., the 2D simulation domain and the mask
edges are not computed. By default, all points from all masks in the TL2 file are
used for the initial grid; you may select all points from one or several masks using
the parameter Grid=<masklayer> inside of AutomaticGrid.
Note:
If the mask polygons describe “rounded” features, e.g. after applying
OPC corrections, it is recommended to prevent the selection of all coor
dinates for the initial grid. Specifying SkipTL2X or SkipTL2Z pre
vents using the corresponding coordinates of the mask points in the
initial grid.
Initial Grid from a
loaded TDF/TIF file
If a 2D TDF or TIF file is loaded, corners and triple points (VIPs) are detected in
the loaded structure and are added as initial grid lines. Using these VIPs for the
initial grid can be prevented by specifying the parameters SkipVIPX,
SkipVIPY or SkipVIPZ in AutomaticGrid. In this case, it might be useful
to prevent the generation of an extra grid line between each pair of extracted
coordinates. Specify NX=0 NY=0 NZ=0 to prevent the extra lines.
Initial Grid from
Geometry Objects
in the Input File
The coordinates of all Points that are specified in the input file and all included
files (in any context, any depth of commands and at any position) are prescanned.
This includes evaluation of expressions that specify coordinates for such points if
all variables used in these expressions are already known. (Note, that loops are not
executed during the prescanning.) In addition, any coordinates specified, e.g., in
X(Min=..., Max=...), Y(Min=..., Max=...), Z(Min=..., Max=...) or
Location(y=...) and the coordinate specified as SurfacePosition are
added to the list of prescanned coordinates. All prescanned coordinates are used
as initial grid lines, unless the parameters SkipPrescannedX ...
SkipPrescannedZ are defined inside of AutomaticGrid.
Geometry Model, and Meshing Algorithm Taurus Process Fundamentals
214 TP 2005.10
Draft 8/11/05
Reading the Initial
Grid from a
TreeFile
When initializing a simulation by loading a TDF/TIF file, it is possible, but not
necessary, to load as well a tree file from the preceding simulation. The name of
the tree file is specified using the parameter TreeFile in the DefineDevice
command. The coordinates of the initial grid elements, contained in the tree file
are extracted. These coordinates can be skipped from the initial grid by specifying
SkipRootX ... SkipRootZ in the AutomaticGrid subcommand.
When loading a tree file and not specifying any other parameters related to the
initial grid, only the coordinates from the root elements are used. In this case the
same root elements are constructed as in the previous simulation where the
TreeFile was saved. Currently, it is recommended to save both a TDF and a
tree file in each module of a Taurus WorkBench project and to load both files in
the next module. This will significantly increase the consistency of the simulation
split into several modules compared to a single simulation of the entire flow and
reduce the interpolation error.
No Automatic
Initial Grid
You may specify Grid=”none” in the DefineDevice command (not inside
the AutomaticGrid subcommand) to prevent the construction of any
automatic initial grid lines.
Specifying a
Graded Initial
Grid
TaurusProcess allows the specification of graded initial grids. The parameters for
the graded initial grid are defined outside of the AutomaticGrid subcommand
directly in the DefineDevice command. Several coordinates of initial grid
lines are specified, and inbetween parameters that describe the discretization
between subsequent coordinates. The coordinates must be increasing.
DefineDevice(
x = x0
dx = ...
dxMax = ...
xFactor = ...
xSide = ...
x = x1
dx = ...
dxMax = ...
xFactor = ...
xSide = ...
x = ...
...
)
Note:
The order of parameter specifications is important. Between two consec
utive x values (x0 and x1 in the above command. x0 < x1), you may
specify a value for the parameters dx, xFactor, dxMax and xSide to
construct an entire set of intermediate xvalues at gradually changing
distances.
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 215
Draft 8/11/05
The first distance is dx, the second dx*xFactor, then
dx*xFactor*xFactor etc. The parameter xSide is used to decide how to
insert points in the interval between x0 and x1. For xSide=1 the first point is
inserted at the distance dx from x0, and the grading is directed from x0 to x1, for
xSide=1, the first point is inserted at the distance dx from x1 and the grading
goes from x1 to x0. For all other values of xSide, point insertion starts from both
x0 and x1 at a distance dx and the grading goes towards the middle between these
two points. A similar control can be achieved by specifying dx0 and dx1 rather
than dx and xSide. A spacing of dx0 is applied near the x0 and dx1 is applied
near x1.
dxMax and dxMin limit the maximum and minimum distance of the graded
initial grid. If xFactor is not specified, various combinations of the parameters
dx0, dx1, dx, dxMin, dxMax, and nx are used to compute the grading factor.
Depending on the specified parameters, the last one or two segments of the
constructed graded mesh, either at x1, or x0 or in the middle, are adjusted to match
and avoid very large or small last segments.
To resolve ambiguous cases, each section of the graded initial grid can be
specified inside of a XGrid subcommand of the DefineDevice command.
Similar parameters and rules are also defined for the y and zdirections.
Example for a
Graded Initial
Grid
DefineDevice(
...
x= 0 dx=0.01 dxMax=0.4 xFactor=1.2 xSide=1
x= 0.7 dx=0.01 dxMax=0.4 xFactor=1.3
x= 1 dx=0.01 xFactor=0.8 xSide=2
x= 1.05 dx=0.01 xFactor=1.4 xSide=2
x= 3.95 dx=0.01 xFactor=1.
x= 4 dx=0.02
x= 4.06 dx=0.01
x= 4.1 dx=0.02
x= 4.3 dx=0.1 dxMax=0.5 xFactor=1.1 xSide=1
x= 5
y=1 dy=0.1 yFactor=1.1 ySide=1
y=0.342 dy=1
y=0.3407
y=0.34 dy=0.002
y=0.32
y=0.27 dy=0.01 yFactor=1.2 ySide=2
y=0.12 dy=1
y=0.02
y= 0
y= 0.25
y= 0.3 dy=0.1 yFactor=1.2 ySide=1.
y= 1
...
)
Geometry Model, and Meshing Algorithm Taurus Process Fundamentals
216 TP 2005.10
Draft 8/11/05
Default
Parameters for
Mesh Adaptation
The name of a RefinementsFile can be specified in the DefineDevice
command. The default file name is refinements_data. The rules for searching the
file are the same as for the PhysicsFile: if not found as specified, and if no
absolute path is specified, the PHYSICS_DATA environment variable provides the
path.
The RefinementsFile contains Regrid commands. These commands
follow the rules defined in Mesh Generation, p. 238. The Regrid commands
read from the RefinementsFile will If RefinementsFile=No
Default
Repetitive
Printout
The RefinementsFile also may contain commands for repetitive output. In
each time/solve step before and after each regrid operation a printout of the
minimum, maximum, and integral values of selected fields, a printout of region
volumes and of grid information and the reexecution of the last extract command
can be enabled. The printout can be selected using Print(Name=<string>)
Name can be a field name or one of the keywords All, Volume, GridInfo or
Extract to select all initialized fields, print information on the region volumes,
the number of points, elements and the edge lengths or to repeat the last executed
Extract command.
See Appendix B, Default Refinements, p. B93.
Manipulating the Device Structure with RedefineDevice
Expanding the
Simulation Mesh
TaurusProcess handles the mesh expansion during the process operations
deposition, silicide growth, and oxidation automatically. The mesh is checked, if
the newly grown material will fit entirely into the existing mesh. If not, the mesh
will be expanded at the top or bottom by adding new elements to the initial grid.
The current top and bottom extensions of the mesh are used as mesh lines/planes
for all the new meshes. This helps reducing the interpolation error.
To allow defining a structure where the entire simulation mesh is occupied by
material other than ambient, this automatic mesh expansion at the top and bottom
is not done when DefineRegion commands are used. In this case you must
ensure that the simulation mesh is defined large enough, by defining a sufficiently
small value of MinY.
CAUTION
The size of the simulation domain must be chosen carefully if process
steps such as implantation, diffusion or etching are performed. If a re
gion of a material, other than ambient touches the top position of the
simulation mesh, Taurus Process may fail to perform a correct simula
tion or may issue warnings. Please expand the simulation domain and
repeat the simulation. Similarly for backside processing the entire bot
tom surface must be covered by ambient.
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 217
Draft 8/11/05
The RedefineDevice command can be used to “manually” expand the
simulation domain while staying in the same dimension. The new extensions of
the simulation mesh must be specified using the parameters minX, maxX, minY,
maxY, minZ, maxZ. If the simulation domain is modified, in the next regridding
step a new initial grid is constructed. The extension of the old mesh are added
automatically to the list of mesh lines for the initial grid. New positions for the
mesh lines of the initial grid can be specified in the RedefineDevice
command. All parameters that can be used to define the initial grid in the
DefineDevice command also can be specified in the RedefineDevice
command.
Note:
The initial grid is always constrained to contain only mesh lines inside of
the current simulation domain. Specifications outside of the simulation
domain will not be used if the simulation domain is expanded later on.
You need to specify the initial grid for the new area in the Rede
fineDevice command.
By default, a regrid operation will be scheduled if the RedefineDevice
command defines a new simulation domain to ensure that the simulation mesh fits
the modified simulation domain before any further process step is simulated.
If Expand=true is specified in the RedefineDevice command, the existing
simulation mesh will be modified directly by constructing new mesh elements
without performing a regridding. If expansion is required in several coordinate
directions, it is done in the order Y, X, Z. If coordinates are specified for the initial
grid in the expanded simulation domain, they are used to construct new mesh
elements at the appropriate outer surfaces of the existing mesh. If the only new
coordinates are given by the increased extensions of the simulation domain, only
one “slice” of new elements is constructed at each appropriate side.
In 3D for each triangle at the outer surface of the existing mesh, a prism is
constructed and for each rectangle a brick is constructed, in 2D rectangles are
constructed from the segments at the appropriate outer boundary. The field values
for the new nodes are copied from the appropriate nodes at the outer boundary of
the existing mesh.
Example RedefineDevice( expand
MinX=1 MaxX=1 MinY=4 MaxY=20
x=0 dx0=0.2 dx1=0.01 x=0.28 x=0.2 dx=0.1 x=1
y=4 dy=0.2 y=0 y=1.2 dy0=0.1 dy1=1 y=20
)
Truncating the
Simulation Mesh
You also can use the RedefineDevice command to shrink the simulation
domain, e.g., after a reflection and an implantation step or to cut off an
excessively large substrate domain after using point defect based diffusion models
before switching to a device simulation. If a smaller new simulation domain is
specified using the minX, ... maxZ parameters, a regrid is scheduled and the mesh
Geometry Model, and Meshing Algorithm Taurus Process Fundamentals
218 TP 2005.10
Draft 8/11/05
lines of the initial grid inside the smaller simulation domain are chosen together
with the new simulation domain boundaries.
If the parameter Truncate=true is specified, the mesh truncation is done
directly without scheduling or performing a regrid. In this case some mesh
elements are selected from the existing mesh and are converted into the new
mesh. The selection of mesh elements requires that you specify a set of geometry
objects as an InABox subcommand. The parameter AcceptAsInside defines
a threshold value for the signed distance function. A mesh point is “selected” if its
signed distance function exceeds AcceptAsInside. If the parameter
Align=false is specified, the new mesh will be constructed from the elements
that have all their corners “selected”. If Align=true is specified, all mesh
elements with at least one corner selected are used for the new mesh. In this case
if a point is not selected, it will be moved along an edge to the zero level
isosurface of the level set function.
Note:
While truncation after expansion worked well in some examples, the
truncation of arbitrary meshes using Truncate=true does quite often
result in meshes that do not completely fill their bounding box. In this
case a regrid should be performed to continue simulation of the next
process step.
Switching to
Higher
Dimension
You can use the RedefineDevice command to increase the dimensionality of
the mesh during the simulation. This is done by specifying the extensions of the
simulation in additional coordinate directions:
RedefineDevice(
MinX = <float> MaxX = <float>
MinY = <float> MaxY = <float>
MinZ = <float> MaxZ = <float>
)
Performing a 1D or 2D simulation as long as possible may save a huge amount of
CPUtime. If the parameter Extrude=true is specified, the new mesh elements
are constructed from the elements of the existing mesh. The coordinates specified
for the initial grid in the added new dimensions is used to construct new elements
by extruding all element of the existing mesh; e.g., triangles into prisms,
rectangles into bricks or segments into rectangles (when switching from 1D to
2D) or bricks (when switching from 1D to 3D). For each subsequent pair of mesh
points in the added dimension, a new “slice” of mesh elements is constructed.
If Extrude=true is not specified, the RedefineDevice command
schedules a regrid before the next command that requires a consistent mesh. It is
not currently possible to reduce the dimensionality of a simulation.
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 219
Draft 8/11/05
Initial Grid in
ReflectMesh,
Mesh Expansion,
and
RedefineDevice
The initial grid is defined in the DefineRegion command. In the
RedefineDevice command, you may specify additional mesh lines, e.g. for
the added coordinate directions when switching dimensions. Adding grid lines to
an already existing dimension inside the existing mesh is allowed, but is not
recommended.
CAUTION
When adding mesh lines to the initial grid inside the existing simulation
domain, all mesh refinement will be done differently. This may cause
significant interpolation error. It is not currently possible (unless by sav
ing and loading a TDF/TIF file) to remove initial grid lines from a simu
lation.
The coordinates of the initial grid are reflected in a ReflectMesh command.
Upon vertical expansion of the mesh the current position of the top or bottom of
the mesh is added as grid lines to the initial grid.
The initial grid and the coordinates and parameters to construct the initial grid are
not currently saved into a TDF or TIF file.
Useful Mesh Manipulations
Defining a New
Simulation
Domain using
ReflectMesh
Use the ReflectMesh command to reflect the mesh (the tree, the boundary fit
ted mesh and the initial grid), the structure, and the nodal field values at a speci
fied side of the simulation domain. Where physically meaningful, the reflected
field values receive the opposite sign. The reflection plane is selected by one of
the following boolean arguments: Left, Right, Front, and Back.
Note:
You should define contacts after reflecting the mesh. After reflection, the
volume regions and the (discretized) surface regions are composed of
both the original and the reflected parts even if these are disconnected.
Note:
Neither profile definitions, nor contact definitions, nor any other geome
try objects or refinement specifications are reflected.
Defining Regions using the DefineRegion Command
Use the DefineRegion command to define the properties of a region with
known shape: the name, material and initial geometry as well as constant initial
values for fields in the region.
Geometry Model, and Meshing Algorithm Taurus Process Fundamentals
220 TP 2005.10
Draft 8/11/05
A region in Taurus Process is a geometric entity that collects locations in space
that have the same material. It is not required that the locations of a region are
connected and it is not required that there is only one region of a certain material
(exception: there must be only one ambient region). In some sense, a region is
what the user defines it to be.
A new region can be initialized in TaurusProcess using the DefineRegion
command.
Note:
New regions also may be introduced during the oxidation or silicide
growth and during the simulation of deposition steps without using a
DefineRegion command. The details for these process steps are
described below in the respective command sections.
The DefineRegion command allows the description of arbitrary initial
structures before performing any process simulation. A DefineRegion
command also may be used after any other command in the TaurusProcess
simulation to initialize a new region of arbitrary userdefined shape. A
DefineRegion command may be used; e.g., after performing an LDD implant
and anneal to define a spacer by extruding a 3D result with a sweep template.
The DefineRegion command requires the Name and the Material of the
new region to be defined. It also requires the geometry of the new region to be
specified. This can be done using a Template or specifying any number of
geometry primitives:
• Location
• MinMax
• Brick
• Sphere
• Cylinder
• Polyhedron
• Manifold
• Circle
• Polygon
For a detailed description of the primitives, see the next section Defining
Geometry Primitives, p. 221.
The union of all geometry primitives is used as the description of the geometry of
the region.
The order in which the regions are defined has a significant impact on the
resulting structure. After a new simulation has been started (using the
DefineDevice command), only the ambient region is defined. The entire
simulation domain is assigned initially to the ambient.
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 221
Draft 8/11/05
When a new DefineRegion command is encountered, Taurus Process
computes the intersection between the current ambient region and the specified
geometry of the region. This intersection forms the new region. Hence, the new
region will not contain points that had already been assigned to a nonambient
region in the initial structure.
Note:
The interior of different regions never overlaps, even if the geometry
objects defined by the user do overlap. Each point in the interior of a
region belongs only to this one region. Points on the surface of a region
belong to at least one other region or they belong to the outer surface of
the simulation mesh. The surfaces of the regions form objects; e.g., man
ifolds of at least one spatial dimension less than the simulation mesh.
Examples of such locations are interface points in 1D simulations, inter
face line segments in 2D simulations or interface faces in 3D simula
tions (e.g. between oxide and ambient regions). Other such objects are
triple points in 2D simulations and triple lines in 3D simulations (e.g.
between oxide, ambient, and silicon regions) and “quadruple points” in
3D simulations where several such triple lines terminate. These interface
objects are not described by the user. Their location is computed as the
result of the intersection and meshing algorithms in Taurus Process.
The user defines only the (volume) regions, either explicitly using the
DefineRegion command or implicitly with respect to the already
defined structure using process commands.
Currently, TaurusProcess has a limit of 50 regions. This restricts the number of
defineRegion, deposition, etching, and oxidation steps that can be used in the
simulation of one structure. Currently, Taurus Process cannot automatically adjust
for an increased demand of regions. The only choice left to the user in this case is
to merge regions of the same material.
Defining Geometry Primitives
The following geometry primitives can be used in TaurusProcess:
• Location
• MinMax
• Polygon
• Circle
• Manifold
• Sphere
• Brick
• Polyhedron
• Cylinder
Geometry Model, and Meshing Algorithm Taurus Process Fundamentals
222 TP 2005.10
Draft 8/11/05
Each geometry entity (e.g. a region boundary), may be defined using one single or
any collection of geometry primitives. Each of these geometry primitives may
contain a Hole, for example:
Brick(...
Hole(
Sphere(...)
)
)
A Hole itself is defined by, i.e. may contain again any number of geometry
primitives (e.g. Sphere(...) in the above example), but the geometry
primitives inside a Hole must not contain another Hole. Additionally, a Hole
must always be contained in a geometry primitive.
The union of all geometry primitives that define a Hole is “subtracted” from the
geometry primitive that contains the Hole. Finally, the union of all residual
geometry primitives is formed and used for the geometry entity, e.g., the region in
the DefineRegion command.
Each of the geometry primitives defines a 3D object; e.g.. the
Location(y=...) primitive defines the half space below the specified y
coordinate. The geometry primitives are always defined in the layout coordinate
system. The respective points and coordinates are transformed into simulation
coordinates before they are used in TaurusProcess.
Each of the geometry primitives must be defined consistently:
• A Polygon is defined by a series of points. Subsequent points are connected
and the last point is connected to the first. The orientation of the polygon is
arbitrary. The polygon may be defined in any plane in the 3D layout coordi
nate system. All points of the polygon must be coplanar. The 3D object
defined for the Polygon primitive is defined by infinitely extruding the Poly
gon to both sides in the normal direction.
• A Polyhedron is described by polygon faces. All faces of the polyhedron
must have the same orientation and must be oriented counterclockwise when
viewed from the outside of the polyhedron
• .All faces of a polyhedron must not intersect or touch other than along edges
or corners. The polyhedron must be closed. The polygon faces of a polyhe
dron do not define a geometric primitive of their own. The polygon faces of a
polyhedron may have holes too, but these holes may only be defined by other
polygon’s, not by arbitrary primitives. Polygons that define holes of a poly
gon face must have the opposite orientation, must be coplanar with the outer
polygon, and must neither intersect nor touch, neither each other nor the outer
polygon. Again holes of polygon faces must not contain holes.
• A Manifold is described by a set of polygons. These polygons follow simi
lar rules as the faces of a polyhedron. The faces of a manifold form open or
closed surfaces that separate the simulation domain. The polygon faces may
have holes, similar to the polygon faces of a polyhedron. All polygon faces of
a manifold must have the same orientation and must be oriented counter
clockwise when viewed from “outside” the manifold.
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 223
Draft 8/11/05
The current version of TaurusProcess performs limited checking for the
correctness of the input for the geometry primitives. Tests will be added in the
course of further development, but the current version leaves the verification of
correctness to the user. It is recommended to use the Profile command to
define and evaluate geometric profiles for the geometric primitives on a fixed
mesh, and to visually inspect the results using TaurusVisual before using the
geometric primitives in, e.g., a DefineRegion command.
Example Use a profile command to display the level set function for a new shape on a fixed
mesh. Using the geometry primitive to define the geometry of a region requires
that you copy the content of the Geometric(...) into the DefineRegion
command.
TaurusProcess
DefineDevice(
MinY = 1.0 MaxY = 1.0
MinX = 0.0 MaxX = 1.0
MinZ = 0.5 MaxZ = 0.5
RefinementsFile = no
)
Refinements(Regrid( MeshSpacing = 75nm))
Profile(
Name = levelset1
Geometric(
Circle(
Center(x = 0.4 y = 0.05 z = 0.0)
Radius = 0.3
Normal(y = 1.0)
)
)
)
Save()
Each single geometry primitive in a collection of geometry primitives must
always be defined consistently, whether the collection defines a geometry entity
or a Hole. Different primitives defined in a Hole of a geometry primitive and
different geometry primitives of a geometry entity may be of any type and may be
in any geometry relationship to the other geometry primitives in the collection.
They may be disjunct from each other, touch or intersect arbitrarily. A precise
intersection of geometry entities is not required in TaurusProcess and is never
computed. Instead TaurusProcess defines signed distance functions for each
geometry primitive and performs the subtraction of the holes and the union of the
primitives in terms of these level set functions.
As a result of these level set operations on the primitives, each geometry entity
that is defined through primitives has an associated level set function. This
function is used for all subsequent calculations until the generation of the
boundary fitted mesh is completed.
Geometry Model, and Meshing Algorithm Taurus Process Fundamentals
224 TP 2005.10
Draft 8/11/05
Examples DefineRegion command using a Location:
DefineRegion(
Material = oxide
Location(y = 0.9)
)
DefineRegion command using a MinMax. Omit coordinates on the boundary
and outside of the simulation mesh:
DefineRegion(
Name = substrate
Material = silicon
MinMax(
MaxY=1.00um MinZ=0.0um)
MaxX= 0.25um MinY=0.25um MaxZ=0.5um)
)
)
DefineRegion command using a Brick. All coordinates are required. Place
points outside of the simulation domain rather than on the boundary of the
simulation domain:
DefineRegion(
Name = substrate
Material = silicon
Brick(
Point(x=1.00um y=1.00um z=0.0um)
Point(x= 0.25um y=0.25um z=0.5um)
)
)
DefineRegion using a Polygon primitive. This may be used in 1D. 2D, and
3D:
DefineRegion(
Material = silicon
Polygon(
Point(x=0.0 y=1.0)
Point(x=2.0 y=1.0)
Point(x=2.0 y= 0.0)
Point(x=0.0 y= 0.0)
)
)
Using Templates to Define Regions
The initial region geometry also may be defined using templates.
Use Trench and Locos templates to define “ideal” initial structures of quite
complicated shape. Use the Sweep template to expand 2D process simulation
results into real 3D structures ready for 3D device simulation or 3D simulation of
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 225
Draft 8/11/05
ion implantation and annealing, without performing too many 3D geometry and
meshing steps.
All templates work in the same way: a closed 2D polygon, called
CrossSection is attached to and moved along an open or closed path, called
Contour. All points that are at least once “inside” of the cross section when it is
moved along the contour belong to the 3D template shape, all points that are
always outside of the moving cross section are outside of the 3D template shape.
The difference between the templates is that Trench and Locos use predefined
parameterized cross sections, while Sweep works with arbitrary 2D cross sections
that can be defined in the input or extracted from 2D result files.
Construction of
the 3D Level Set
Function
The geometry of the template is represented by a level set function. See Implicit
Geometry Representation, p. 236 for explanations on the level set functions. The
3D level set function representing the 3D geometry of the template is computed as
follows: for a point in 3D space (e.g., A in Figure 21), first the closest point on
the contour is determined (C). Using the appropriate 2D plane normal to the
contour at the closest point, the signed local lateral and normal distances are
computed in the 2D plane (lat and norm). These distances are used as x and y
coordinates of a point (x,y) in the 2D plane (B in Figure 21). The signed distance
for this point from the 2D cross section is computed assigned as the value of the
level set function for the 3D point.
Although the definition of a region geometry through a template cannot be mixed
with the definition through geometry primitives, the level set function, defined
using a template is subject to the same rules with respect to the ambient region and
already existing nonambient regions as the level set functions defined using
geometry primitives. A template may only “cutout” part of the ambient and
redefine it to belong to the new region; it cannot change the shape defined for
already existing nonambient regions.
Geometry Model, and Meshing Algorithm Taurus Process Fundamentals
226 TP 2005.10
Draft 8/11/05
Defining the
CrossSection
The closed 2D cross section of a template can be defined either by using a
parameterized Trench or a Locos shape as indicated in Figure 23 and Figure 25,
by specifying it directly as a sequence of points, similar to a polygon using the
CrossSection subcommand of the Template command, or by extracting the
cross section from a 2D TDF or TIF file.
The File and Region parameters of the CrossSection subcommand are
used to select the “upper” boundary of a region. If several Region parameters are
specified, the union of these regions is taken and the “upper” boundary of the
union is used. The region names must be taken from the loaded 2D result file, e.g.,
as displayed in TaurusVisual.
If the region or the union of regions is composed of several disconnected pieces or
if you want only to select a part of the “upper” boundary; e.g., the parts close to
the active area but not the STI in the 2D simulation, use the parameters MinX and
MaxX to select the appropriate piece.
The left and right sides of the extracted “upper” boundary are modified. If the 2D
region boundary hits the left (begin) or right (end) side of the simulation domain
X
Y
CrossSection
Contour
A
B
Figure 21 Construction principle of the Template geometry. The
CrossSection is swept along a Contour.
C
lat
norm
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 227
Draft 8/11/05
in the 2D file. the “upper” part is expanded laterally by adding two points, one far
outside with the same Ycoordinate and one point far outside with very large Y
coordinates (very deep in the 2D substrate). If the “upper” boundary of the
selected 2D region (or union of regions) ends inside of the simulation domain of
the 2D file, a point with the same lateral coordinate and a very large ycoordinate
is added (very deep in the 2D substrate). The left and right end points very deep in
the substrate are then connected to close the cross section. If this automatic
expansion does not yield the expected result, specify the parameter Expand to
enforce certain behavior. Possible values of Expand are Lateral,
LateralBegin, LateralEnd, Vertical, VerticalBegin,
VerticalEnd, All, None.
Defining the
Contour of a
Template
The contour along which the closed 2D cross section polygon is swept can be
defined in one of four different ways: by selecting one of the predefined
parameterized contour shapes, by specifying a mask layer from a TL2 file, by
directly specifying the contour path in the Contour sub command in the
Template command or by extracting the contour from a 2D TDF or TIF file.
The contour is understood to be one of the predefined contour shapes if the Name
of the template is formed by appending one of the three names: Trench, Locos
or Sweep (i.e., one of the three types of allowed CrossSection’s) to the name
of one of the predefined contour shapes: Corner, Side, Middle,
TwoCorner, L, U or O. Thus, the type of contour and cross section are indicated
by the template name, e.g., Name=”uTrench”,
Name=”twocornerLocos”etc. The predefined, parameterized contour shapes
all use the parameters d0...d5 as indicated in Figure 22. You must specify the
required values in the Template command. Note that by default the contour
parameters d0...d5 represent distances, some of which are measured with
respect to the minimum and maximum x and z values of the simulation domain.
You may optionally specify the parameters x0, z0, x1, z1 to define these
reference points for the predefined contour shape independent of the extensions of
the mesh.
To define the contour using a mask layer from a TL2 file, use the MaskLayer
parameter of the Template command. The parameter YofMask defines the
vertical position of the contour.
To define the contour directly in the input, use the Polygon, MaskPolygon or
Contour subcommand of the Template command. Polygon and
MaskPolygon follow the usual rules: they define planar objects closed by
connecting the first and the last point. MaskPolygon does not allow points with
Ycoordinates, similar to a MaskLayer the vertical position is defined using the
YofMask parameter. The Contour command may contain a list of Points
similar to a polygon. Unlike a polygon, a contour is not automatically closed. A
closed contour requires the last point to be the same as the first point.
Inside of a MaskPolygon or Contour subcommand a rounding Radius may
be specified. TaurusProcess replaces the specified corners by an arc of the
specified radius wherever the length of the edges at the corner allow the
replacement.
Geometry Model, and Meshing Algorithm Taurus Process Fundamentals
228 TP 2005.10
Draft 8/11/05
Selection of the contour from a file requires to specify the File and Region.
Similar to the extraction of the cross section, several regions can be specified to
extract the “upper’ boundary from the union of regions. The parameters MinX and
MaxX can be used to restrict the extracted contour. Although no expansion is done
by default, the extracted contour can be expanded similar to the cross section. The
contour, extracted from a file is defined in the zyplane of the 3D simulation: the
lateral coordinates (x in the 2D result) are taken as zcoordinate of the contour, the
vertical (y) coordinates are used as ycoordinates of the contour.
In principle, a contour may define an arbitrary 3D curve. To avoid artifacts,
contours should define 2D objects, either open or closed curves in the xz (layout)
plane or open curves in the yz plane. Contours must be free of intersections.
Closed contours in the Layout plane must be defined counterclockwise if they
define an “outer” contour, i.e., have the left side of the 2D cross section to their
left and clockwise if they define an “inner” contour. If the contours are chosen in
the y=0 plane, the ycoordinates of the 3D surface will match the ycoordinates of
the closed 2D cross section polygon.
When specifying several MaskLayer, Polygon, MaskPolygon or Contour
to construct one template, the resulting contours must not intersect or touch each
other.
Vertical
Alignment of
Extracted
Contours
If several regions are defined through sweep templates and several cross sections
are extracted from a 2D TDF/TIF file often the same contour can be used. If the
Contour is in the y=0 plane, the ycoordinates of the 2D CrossSection will appear
also as ycoordinates of the 3D surfaces. Since the origin of the CrossSection is
“attached” to the Contour, the ycoordinates of the various CrossSection translate
automatically into the correct vertical positions. If the contour is defined in the yz
plane, e.g., to model a polysmile, the vertical position of the contours must be
chosen with care. All contours need to be adjusted vertically to ensure correct
location of the constructed 3D surfaces to ensure e.g., correct gate oxide
thickness. This can be achieved by specifying one of the following:
• Shift(y=<float>) in each of the Template commands
• Specify one xcoordinate in the Contour command that performs the con
tour extraction as MakeZero=<float>. When extracting the contour from
the 2D TDF/TIF file, the ycoordinate of the selected 2D surface at the speci
fied lateral position MakeZero will be determined and the entire contour will
be shifted, such that at the specified position the shifted contour will have y=0
as its vertical coordinate.
Defining Several
Regions through
Templates
When using the sweep template, a separate cross section may be extracted or
specified for each region. If the same contour is used in the sweeping, the 3D
regions will follow their 2D counterparts, just extruding the 2D shape along the
path of the contour.
The user also may choose to sweep the same cross section along different contour
paths, e.g. different straight line segments with different start and end points. This
may define regions that are located “next” to each other in the third dimension;
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 229
Draft 8/11/05
e.g., the surface of one 2D polysilicon region may be used in three subsequent
DefineRegion commands to describe the polysilicon, a thin oxide and a nitride
spacer next to the polysilicon in the 3D structure.
When using the predefined trench and locos templates, several regions may be
defined using the same (or nearly the same) parameters. For each of these regions,
a separate DefineRegion command is required and the template parameters
for these commands need to be copypasted.
The locos template requires to select one of three different shapes silicon, oxide or
nitride. For all three different shapes of the locos template identical geometry
parameters should be used. The material, specified in the DefineRegion
command is checked for the default choice of the appropriate shape. Any of the
three shapes can be selected for a region of any material by specifying the
parameter Material inside of the Template command. Note: the parameter
Material in the DefineRegion command defines the material of the region
while the parameter Material inside of the Template subcommand selects
the shape of the locos template.
When using a trench template for several regions, the template definitions in the
DefineRegion commands may differ only in their Delta parameter. The
difference in the Delta parameter with respect to the preceding region defines
the thickness of the region.
Geometry Model, and Meshing Algorithm Taurus Process Fundamentals
230 TP 2005.10
Draft 8/11/05
Figure 22 Parameters for predefined template contours
trench surface
d0
d1
CornerTrench
MiddleTrench
d2
d0
d1
SideTrench
TwoCornerTrench
UTrench
LTrench
OTrench
d0
d1
d2
d3
d3
d2
d0
d1
d4
d3
d0
d2
d1
d2
d3
d1
d0
d0
d1
d2
d3
d4
d5
Up
surface
radius
floor radius
height depth
left side right side
The different predefined and parameterized
contour shapes available for all templates.
For Negative=false (default) the shaded
area corresponds to the left side of the
2D cross section defined for the template
(x<0) and the white parts correspond to
the right side of the cross section (x>0).
For Negative=true this selection is inverted.
The red arrow in the Ushape indicates the
path that is used to sweep the cross section. The
Sideshape
Cornershape
TwoCornershape
Middleshape
Ushape
Lshape
Oshape
(X0,Z0)
(X0,Z0)
(X0,Z0)
(X0,Z0)
(X0,Z0)
(X0,Z0)
(X0,Z0)
(X1,Z1)
parameter SideRadius is used to replace all sharp
corners of the contour by a circular arc if this can
be done without creating a self intersection of the contour.
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 231
Draft 8/11/05
Figure 23 Parameters for the 2D cross section of the trench template
Figure 24 Using the trench template cross section together with each of the
predefined contour shapes. The left pictures represent the
default, i.e. Negative=false; the right pictures correspond to
Negative=true. The last two pictures show the use of Delta
for multiple layers, and the definition of the contour using a 4
point MaskPolygon that is rounded (left) and used asis (right).
FloorRadius
SurfaceRadius
y=Height
Depth
Delta
default
(Negative=false)
x=0
Angle
FloorRadius
SurfaceRadius
y=Height
Depth
Delta
(Negative=true)
x=0
Angle
Geometry Model, and Meshing Algorithm Taurus Process Fundamentals
232 TP 2005.10
Draft 8/11/05
Figure 25 Parameters for the 2D cross section of the Locos template
Figure 26 Using the Locos template crosssection. The top picture show the
standard Locos defined using a mask polygon and the same for
MaskThickness
Width
BeakLength
P
a
d
T
h
i
c
k
n
e
s
s
F
i
e
l
d
T
h
i
c
k
n
e
s
s
y=0
x=0
SurfaceRadius
SurfaceRadius
FloorRadius
F.R.
F.R.
Negative=true
default (Negative=false)
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 233
Draft 8/11/05
Negative=true (right). The bottom pictures show the
CornerLocos and the OLocos templates.
Examples: DefineRegion command using a trench Template:
DefineRegion(
Material = silicon
Template(
Name = CornerTrench
Height = 1.00um
Depth = 0.80um
D0 = 0.75um
D1 = 0.75um
SideRadius = 0.50um
SurfaceRadius = 0.25um
FloorRadius = 0.25um
)
)
DefineRegion command using a LOCOS template for both silicon and oxide.
The same parameters are specified but a different shape is obtained due to the
different material:
DefineRegion(
Material = silicon
Template(
Name = locos
PadThickness = 0.065
FieldThickness = 1.0
Width = 1.0
BeakLength = 0.5
MaskLayer = layer_3
)
)
DefineRegion(
Material = oxide
Template(
Name = locos
PadThickness = 0.065
FieldThickness = 1.0
Width = 1.0
BeakLength = 0.5
MaskLayer = layer_3
)
)
Initializing Fields in the DefineRegion Command
Use the DefineRegion command to initialize any number of fields in the new
region. Use the Initialize subcommand to initialize a field with a constant
value in the new region. Use one Initialize command for each field to
initialize.
Geometry Model, and Meshing Algorithm Taurus Process Fundamentals
234 TP 2005.10
Draft 8/11/05
DefineRegion( ...
Initialize( Name=<string> Value=<float>)
Initialize( Name=<string> Value=<float>)
)
Merging Regions using the RedefineRegion Command
A region in Taurus Process does not need to consist of only one “piece”. Already
the initial specification of a region given by the user may define several
disconnected pieces. During the simulation, a region may be split further; e.g., in
etching or oxidation steps.
You may allow regions of the same material to be merged. Two regions of the
same material are merged if both of them allow to be merged. The AllowMerge
parameter is set in the command that creates a new region, i.e. in the
DefineRegion, Deposit and Diffuse commands. By default, each of
these commands sets AllowMerge=false for a new region. To change this
default setting, specify AllowMerge=true in the command creating the
region. To change the flags for several regions or for all regions of certain
materials before remeshing, change the AllowMerge flag of existing regions using
the RedefineRegion command:
RedefineRegion(
Region=”<string>” Region=”<string>”
Material=”<string>” Material=”<string>”
AllowMerge=true
)
The AllowMerge flag of the regions may be overridden by the parameter
MergeRegionsOfMaterial of the Regrid command. The default
refinements file use this parameter to specify that all oxide regions are merged by
default and that all nitride regions are merged. To extend the merging to other
materials, specify:
Regrid(MergeRegionsOfMaterial=Polysilicon)
Or to switch the tool behavior and to merge regions of all materials, leaving only
one region of each of the materials present in the structure, specify.
Regrid(MergeRegionsOfMaterial=all)
Or to disable the overwriting of the AllowMerge flags of the regions,
alternatively specify:
Regrid(MergeRegionsOfMaterial=none)
Any merging of regions is done at the end of a regridding step, once the new
boundary fitted mesh has been constructed and the field values have been
interpolated. During the merging the duplication of nodes and field values at
interfaces that will disappear is removed. Only one node will be defined for the
merged region and the averaged value of all nodes will be assigned.
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 235
Draft 8/11/05
Reassignment of
Regions without
Regrid
It is possible to change the assignment of mesh elements to a different region
without performing any regridding. Use the Select subcommand of the
RedefineRegion command to enforce immediate merging or splitting of
regions, regardless of their materials and regardless of the AllowMerge flag of
the regions involved. Each Select subcommand defines its own complete
selection of connected parts from one or several regions. The regions from which
pieces are selected are specified inside the Select subcommand by the Region
or Material parameter, the connected parts of these regions are selected by a
Point or a set of geometry objects InABox, or it is specified by topology:
AtBoundaryType, AtMaterial, AtRegion, Exposed, UnExposed.
If the parameter Subdivide=true is specified inside a Select subcommand,
only the mesh elements identified by the Point, InABox etc. are selected, and
the selection is not extended to the entire set of mesh elements of the specified
regions, connected to these elements. This allows to reassign one or several mesh
elements to a different region, e.g. to define artificial contacts for floating regions
for a 2D device simulation. The geometry of the new region will be defined by
selecting elements from the existing mesh, not by intersecting the elements with
the geometry objects, specified as InABox.
The selected parts or elements from all Select subcommand are assigned to one
region, specified by the NewName parameter in the RedefineRegion
command (outside of any of the Select subcommands). If the receiving region
does not exist, it will be created. The material for the receiving region may be
defined using the NewMaterial parameter of the RedefineRegion
command, by default the material of the first selected part is used.
Example Selecting the “left” piece of aluminum and assigning it to the Source region,
RedefineRegion(
Select(
Material=Aluminum
InABox(
MinMax(MaxX=expr(($MINX+$MAXX)/2.))
)
)
NewName=Source
)
Selecting all mesh elements of the oxide1 region that have all their corners to the
left of x=0.254 and all elements with all corners to the right of x=0.254 and
assign them to the oxide4 region:
RedefineRegion(
Select(
Region=oxide1 subdivide
InABox(MinMax(MinX=0.254) MinMax(MaxX=0.254))
)
NewName=oxide4
)
Geometry Model, and Meshing Algorithm Taurus Process Fundamentals
236 TP 2005.10
Draft 8/11/05
Removing a Field
from a Region
It is possible to remove some or all fields defined in a region using the
RedefineRegion command.
Example RedefineRegion( Material=oxide
RemoveField=Arsenic RemoveField=Boron
)
RedefineRegion( Region=Ambient_1 RemoveField=all)
Implicit Geometry Representation
Regionwise
Level Set
Functions
TaurusProcess uses an implicit geometry representation by regionwise level set
functions. Each region has its own level set function and the region boundary is
described exclusively by this one level set function. The regionwise level set
functions can be thought to be the signed distance from the region boundary. Each
level set function is defined in the entire simulation domain. Positive values
describe the interior of the region; negative values are defined for points outside
the region.
The regionwise level set functions are computed initially from the set of
geometry objects, defined by the user (e.g., in the DefineRegion command) of
from the template as described in Using Templates to Define Regions, p. 224.
Computing
Geometry
Changes using
Level Set
Functions
Two different approaches have been chosen to compute geometry changes during
initial structure definition/etching/deposition and during oxidation/silicide
growth/thermal expansion/densification. Etching and deposition use analytic
expressions to determine the final shape (the new level set functions at the end of
the process step) from the initial structure and the parameters of the process
commands. Only one step is assumed and only one remeshing step is required to
represent the geometry at the end of the entire process step.
On the contrary during thermal processes that change the layer structure in each
time step, level set functions are modified in each time step by solving level set
equations and a new mesh is constructed that represents the incremental changes
of the geometry during this process time step.
Modifications of
Implicit Geometry
during Etching
and Deposition
All changes of the layer structure that are simulated in the Etch and Deposit
commands are simulated by defining new regionwise level set functions for
newly created and modified regions.
If, for example, an isotropic deposition needs to be simulated, a new regionwise
level set function must be defined for the newly deposited region, and the region
wise level set function for the ambient region must be modified. Assume
denotes the regionwise level set function for the initial ambient. This function is
positive inside of the initial ambient and negative everywhere else.
ϕ
E
x ( )
Taurus Process Fundamentals Geometry Model, and Meshing Algorithm
TP 2005.10 237
Draft 8/11/05
The function assumes positive values only outside of the
newly created region (red stripe in Figure 27). Hence represents a level
set function for the modified ambient region.
The function assumes positive values only
inside of the newly deposited region. It represents the regionwise level set
function for the newly deposited region.
Similar operations on the regionwise level set functions are performed for all of
the various types of etching and deposition simulation and for all of the
DefineRegion commands that cut off a piece of the current ambient region.
The regionwise level set functions are used by the meshing algorithm to construct
a boundary fitted mesh.
Once the boundary fitted mesh has been constructed, the regionwise signed
distance functions may be recomputed as the signed distance from the boundary
of the region as it is defined in the boundary fitted mesh. The geometry objects
initially used to define the region and the rules how to modify the level set
functions of the initial structure prior to an etching or deposition step may not be
stored any further. The level set functions can be reinitialized at any moment
from the boundary fitted mesh.
In the course of a simulation the geometry objects are kept until the first etching or
deposition step or the first high temperature step which leads to a modification of
the layer structure. These steps require a boundary fitted mesh to perform some
analysis, e.g. of exposed and buried regions and domains. As long as the structure
can be defined using DefineRegion commands, such a topology analysis and a
boundary fitted mesh is not really required but the level set functions can still be
updated correctly. It is recommended to use DefineRegion commands
ϕ
N
x ( ) ϕ
E
= x ( ) d –
ϕ
N
x ( )
ϕ
D
x ( ) min ϕ
E
x ( ) ϕ
N
x ( ) – , ( ) ( ) =
φ
E
>0
φ
E
<0
φ
E
>0
φ
N
>0
φ
N
<0
φ
N
<0
φ
D
<0
φ
D
<0
φ
D
>0
old ambient interface
new ambient interface
new region
Figure 27 Level Set function for deposition simulation.
Mesh Generation Taurus Process Fundamentals
238 TP 2005.10
Draft 8/11/05
whenever possible to reduce the number of regridding steps and to reduce the risk
of accumulating roundoff errors.
Solving Level Set
Equations
During oxidation and silicide growth, and during thermal expansion and
densification simulations, a level set equation is solved for each of the regionwise
level set functions.
First, the appropriate physical equations are solved on the boundary fitted mesh:
In an oxidation or silicide growth first the equations for the transport and surface
reactions of reactants are solved (oxygen and/or steam in oxidation, dissolved
silicon and/or cobalt in silicide growth).
Based on the surface reaction terms and the local volume expansion the stress
strain equations are solved to determine the mechanical deformation of the entire
structure.
If required, the dopant and point defect equations are solved next.
The displacements computed on the boundary and the consumption rates of the
materials at the interfaces are combined to define the value of the interface
velocity for each point on the boundary of each region.
Once all physics equations are solved, the level set equations are solved. For each
region, the corresponding level set function is initialized with the signed distance
with respect to the boundary as it is represented in the boundary fitted mesh. In
addition, the interface velocity is extended from the boundaries of the region to all
points of the mesh. The extension velocity for a point of the mesh is computed by
detecting the closest point on the boundary of the region and copying the interface
velocity vector. This extension velocity is used to solve the level set equation
for the regionwise level set function
Equation 21
The zero isoline/isosurface of the modified level set functions at the end of the
time step define the new location of the boundary of the region at the end of the
time step. The new level set functions are used to construct the new boundary
fitted mesh.
Mesh Generation
TaurusProcess solves all physics equations on a boundaryfitted mesh. It
supports mixed element meshes that may combine several different element types.
In 1D, mesh segments of variable size are used. In 2D, a mixture of triangles and
rectangles and in 3D a mixture of bricks, prisms, pyramids and tetrahedra is used
to discretize the regions.
v
ϕ
t ∂
∂ϕ
v gradϕ ⋅ + 0 =
Taurus Process Fundamentals Mesh Generation
TP 2005.10 239
Draft 8/11/05
Each mesh element is assigned entirely to one region. In the simulation mesh
region boundaries are represented by the surface of mesh elements: points in 1D,
edges in 2D, and triangular or rectangular faces in 3D. Each region boundary is
“decorated” by a boundary region that consists of N1 dimensional mesh elements
and carries surface information. Mesh points and edges that are located on region
boundaries are duplicated to allow the individual storage of values for each of the
adjacent regions and for the boundary regions. These multiple instances of a mesh
point are called nodes. A mesh point may be shared by several regions and bound
ary regions, a mesh node is assigned to only one region or boundary region. Mesh
edges and mesh elements are formed out of nodes; edges are duplicated at region
boundaries. Mesh faces are given implicitly as the sides of the mesh elements.
Level Set Based
Quadtree/Oct
tree Mesh
The meshing algorithm in TaurusProcess uses the regionwise level set functions
to represent the boundaries of the regions. See Implicit Geometry Representation,
p. 236 for detailed explanations. Each region, including the ambient region has
one level set function associated to the region. The set of all level set functions
together represents the implicit geometry description used in the construction of
the boundary fitted mesh.
Controlling Mesh Refinement
You must specify the parameters for the remeshing using regrid commands. The
regrid command is used to specify both meshing parameters, i.e. parameters and
resources for the mesher to be used and refinement parameters.
Meshing parameters control the meshing process itself or limit the available
resources, Delaunize, CriticalFeatureSize or
MaximumNumberOfPointsInTree are examples for meshing parameters.
For each meshing parameter there is only one value; meshing parameters cannot
be restricted to a material, region or InABox. Meshing parameters are overwritten
by any subsequent specified value.
Refinement parameters define certain mesh sizes to be established, gradients to be
resolved or define certain properties of neighboring mesh elements that need to be
established during the refinement process. Such parameters can be repeatedly
specified; they can be restricted to one or several regions, materials or geometry
objects, specified as InABox. Each new set of such parameters defines a new
refinement; they do not overwrite each other. All refinements, specified in a
simulation are accumulated in a refinement manager and all of them are applied
during all subsequent regridding operations. All refinements are checked for each
mesh element in the order they had been defined. If one refinements is fulfilled for
a mesh element, the element is split along one of the coordinate axes. Examples
for refinement parameters are MeshSpacing (which defines the maximum
allowed edge length), ThinLayer, GradingFactor and all parameters,
specified inside of a Criterion subcommand.
In the DefineDevice command the initial set of meshing parameters and
refinement parameters is read from an initialization file. The default file is
refinements_data, a different file can be specified using the RefinemensFile
Mesh Generation Taurus Process Fundamentals
240 TP 2005.10
Draft 8/11/05
parameter. This file provides both meshing and refinement parameters. An
alternative file that provides the same meshing parameters but a very reduced set
of refinement parameters is called coarse_refinements_data. Reading an
initialization file may be prevented by specifying RefinementsFile=no. The
initialization file is searched as specified; if the file is not found as specified and if
no absolute path was specified, the value of the PHYSICS_DATA environment
variable is prepended to the specified name.
The Regrid command is usually included in a Refinements command;
Regrid commands are used in the initialization file and Regrid commands
may also be used as toplevel command in the input file.
It is recommended to define all refinements in one place at the beginning of the
input file. Two approaches are recommended:
• Define all refinements in a projectspecific refinements_data file that may be
first copied from the default file and then adapted to the local needs in the
project.
• Include the default file refinements_data or coarse_refinements_data in the
DefineDevice command, then add a Refinements command with your
additional parameters and criteria. Collect the Refinements command
together with all Physics, Numerics and RedefineDevice commands
(for the initial grid settings) in one file and use an Include command
shortly after the DefineDevice command to include this file.
All refinement parameters are collected by a refinement manager, regardless if
they are specified in the initialization file, a Refinements or a Regrid
command. Since some refinement criteria are formulated in terms of “refine at a
region boundary” or refine “at a gradient” and since the fields and interface
positions may have changed, all refinements are rechecked during each
remeshing step. This ensures that the mesh meets the specified refinement criteria,
even if the geometry of the device or the fields have changed.
You may choose to delete a refinement from the refinement manager. This can be
done by specifying the name of the refinement and either the parameter delete or
just override a refinement with a new set of parameters. You also may choose to
remove all refinements using the command
Regrid(Name=all Delete=true).
The veryverbose mode may clarify the refinement procedure. A detailed
report of the refinements applied during a regridding operation is given and the
mesh refinement itself indicates how many elements have been split due to which
criteria. Sometimes by accident a very large mesh tree is created. Usually the
reason can be easily identified using veryverbose.
Do’s The following actions are recommended:
• Collect specifications for the initial grid (RedefineDevice), the
Refinements, the Numerics, and Physics commands in a central
place: the RefinementsFile specified in the DefineDevice command
Taurus Process Fundamentals Mesh Generation
TP 2005.10 241
Draft 8/11/05
and/or one include file to configure the tool. This also helps organizing the
restart in a Taurus WorkBench flow.
• Save a tree file as the easiest way of passing the initial grid information to a
subsequent simulation. The ASCII tree files of Taurus Process are very small;
they contain just the description of the root elements. It is possible to read a
tree file from Taurus Process and a TDF or TIF file from any other tool in a
DefineDevice command as long as the dimensionality of the initial grid
and the TDF or TIF file coincide.
Note:
Taurus Process tree files can only be read by Taurus Process; other
tools, e.g. TaurusDevice or older versions of Taurus Process & Device
cannot read these files.
• Exploit symmetry by using the minimum possible simulation domain in the
lowest possible spatial dimension. Later, when process conditions break the
symmetry, you can easily reflect or expand the simulation domain using the
ReflectMesh(...) and RedefineDevice(...) commands.
• Perform organize simulations by first simulating all possible 2D cuts before
starting any 3D simulations. This will give a quick verification of the correct
ness of the mask and geometry definitions and of the mesh refinement specifi
cations and allow you to uncover and fix any topological problems quickly
and also allow comparison of 2D and 3D results to estimate meshing effects.
• Use a DefineRegion command whenever possible; do not use a sequence
of Deposit and Etch commands, if the effect can be simulated easily by
defining the region. Both deposit and etch simulations require you to con
struct a boundary fitted mesh at the beginning and perform one regrid for the
new structure. Multiple DefineRegion commands can be executed with
out performing a regrid inbetween. Similarly a Profile command does not
require you to construct a boundary fitted mesh, an Implant command
requires a boundary fitted mesh.
Don’ts The following actions are not recommended:
• Do not scatter regrid commands into process commands. Most of such speci
fications have little meaning, except to give the false impression that you have
taken care of the mesh. It is recommended instead to define refinements early
in a simulation and let the tool keep track of moving the fine mesh along with
the structure and the gradients.
• A Save command requires you to construct a boundary fitted mesh before
saving a file; do not insert unnecessary Save commands between
DefineDevice, DefineRegion and Profile commands.
Mesh Generation Taurus Process Fundamentals
242 TP 2005.10
Draft 8/11/05
Initial Grid
As has been described in Defining the Initial Grid, p. 212, the initial grid is
defined through mesh points in 1D, mesh lines in 2D and mesh planes in 3D.
These are used to construct the initial set of elements (a nonequidistant tensor
product mesh): segments in 1D, rectangles in 2D, and bricks in 3D. These
elements of the initial grid represent the root elements of the refinement tree
which is described in the next section. The elements of the initial grid are
reconstructed whenever the simulation domain changes; e.g., when using the
RedefineDevice(...) command, when the tool needs to expand the
simulation mesh before a deposition step, during an oxidation, or when no tree is
available at the start of a regrid.
Refinement Tree
Starting with the root elements Taurus Process builds a binary tree of mesh ele
ments during the refinement process. In 1D, a tree of segments is used; in 2D, the
tree is composed of rectangles; and in 3D, the tree is composed of bricks. During
the refinement, each element of the tree is checked if it needs to be refined. All
criteria are checked if the element is big enough and fulfills the condition defined
by the refinement. If one of the refinements requires the element to be split, the
coordinate direction in which refinement needs to be done is determined and the
element is scheduled to be refined. Splitting is always done in the midpoints of an
appropriate set of edges. The element that is subdivided is called “father”; the two
elements resulting from the refinement are called “sons”. The son elements are
said to be one refinement level deeper than their father. Elements that do not have
a father are called “root elements of the tree”. Elements that do not have sons are
called “leaf element of the tree”.
The mesh refinement is done in an iterative way. Once all leaf elements of the tree
are checked, the elements scheduled to be refined are split. During the refinement
new leaf elements are created. They also need to be checked if they require to be
refined. Once no more leaf elements require to be refined, the construction of the
new refinement tree is finished.
Maximum Tree
Size
The meshing parameter MaximumNumberOfPointsInTree can be used to
limit the size of the refinement tree. If the tree contains more mesh points than
specified, no further refinement is done. Currently the default value is chosen at
80k points. It is set in the refinements_data file but can be overridden in any of the
Regrid commands.
Constraining a
Refinement
The refinement parameters specified in a Regrid define which tests are
performed with the mesh elements. The refinement may be confined to one or
several regions or materials by specifying the Region or Material parameter
of the Regrid command (once or several times). A refinement also can be
confined to a certain set of geometry objects specified in a InABox subcommand.
Elements are refined if all of their corners are inside of the geometry objects.
Taurus Process Fundamentals Mesh Generation
TP 2005.10 243
Draft 8/11/05
Elements that do not touch the box are not affected by the criterion. While the
mesh is still coarse, mesh elements may be refined if they contain a corner with
the largest value of the signed distance function for the InABox profile of a
refinement.
Refinement on
Maximum Edge
Length
The parameters MeshSpacing, MeshSpacingX, MeshSpacingY or
MeshSpacingZ of the Regrid command (on the top level of the Regrid, not
inside a Criterion) define the maximum edge length. Elements with edges that
exceed this length are refined. All refinements on maximum edge length is done
first.
Refinement on
Field Values
Once no element needs to be split based on the maximum edge length, all other
refinement criteria are checked. Refinement criteria are often used to resolve steep
gradients of fields defined on the mesh, or to refine an area in the mesh with a
certain range of values of a field. Each such criterion is defined in a Criterion
subcommand of a Regrid command and formulates a condition for one or
several fields, together with a required minimum element size.
The field is specified using the Name parameter in the Criterion; e.g.
Name=NetDoping. Only one field can be specified per Criterion
subcommand, but each Regrid command may contain any number of
Criterion subcommands. It is possible in Taurus Process to define a profile of
a arbitrary shape for auxiliary userdefined fields. The gradient of any such
profile, or the locations, where such a profile would exceed certain values can be
chosen as location of refinement. It is safe to define a refinement criterion for a
field that does not (yet) exist in a simulation, such criteria are ignored.
The condition specified in a criterion is only evaluated for edges that are longer
than the allowed mesh spacing for this criterion (the value of MeshSpacing,
MeshSpacingX, MeshSpacingY or MeshSpacingZ specified inside the
Criterion subcommand). Edges that are long enough will be refined if the
condition of the criterion is fulfilled. The condition is always checking values of
the selected field. For scalar fields, the node values in the end points of the edge
are checked; for vector quantities, the magnitude of the vector in the end points of
the edge is checked. The evaluation of the criterion can be restricted to certain
range of values. The field values are cut off from above and below if you specify
MinimumValue or MaximumValue inside the Criterion. Let denote the
field values and denote the cutoff field values at the end points of the edge:
The condition checked for a criterion depends on the specified Type. For
Type=Linear the edge fulfills the condition if
For Type=Log the condition is: .
For Type=ASinh the condition is .
For Type=Relative the following expression is checked:
v
i
f
i
f
i
min MaximumValue max MinimumValue v
i
, ( ) , ( ) =
f
0
f
1
– Delta >
f
0
( ) log f
1
( ) log – Delta >
asinh f
0
( ) asinh f
1
( ) – Delta >
Mesh Generation Taurus Process Fundamentals
244 TP 2005.10
Draft 8/11/05
For Type=All the condition is always fulfilled. The edge will be refined, if it is
long enough and if the values in the edge end points are in the specified data
range.
The parameters Delta, Type, MinimumValue and MaximumValue are
specified in each Criterion.
Refinement at
Material
Interfaces
Since the level set functions define a field on the mesh, they can be used to refine
the mesh at a certain distance around the boundary of a region. Such a criterion
specifies a refinement in the “normal direction” at the boundary of one region or
at the boundary of all regions of the specified material. Refinement “normal” to
the boundary is often desirable to properly model physical phenomena at the
material interfaces. It also is helpful for the construction of boundary fitted
meshes that represent the specified geometry features properly.
During the simulation, regions are removed and new regions are inserted; i.e.,
level set functions are removed and new functions are constructed. During these
operations, the correspondence between level set function names (numbers) and
regions may change. Therefore, it is not safe to specify refinements based on the
name of individual level set functions. It is safe to specify refinements in terms of
region names and have the tool apply the local mapping of names in each
regridding step. This can be done by specifying the parameter Region inside a
Criterion subcommand.
If you allow merging of regions, the region names are not completely static either.
Therefore, it is recommended to specify refinements in terms of material names
using the parameter Material of the Criterion subcommand.
The boolean parameter AllInterfaces can be specified in a Criterion to
ensure refinement “normal” to the boundary of all regions.
The refinement at the interfaces may use the level set functions in various ways. If
you specify the parameter Delta, the level set functions are used directly to
evaluate the condition of the Criterion. If not specified otherwise,
Type=Relative is assumed.
Regrid(
Criterion(
MeshSpacing=10nm Region=Silicon_1 Delta=0.7
)
)
If the parameter Delta is not specified in a Criterion that refines at an
interface, the refinement is based on the regions of the end points of an edge.
Elements are refined along edges that are long enough and if the edge end points
do not share any region. The regions of a mesh point are determined by checking
which of the level set functions have the largest value in the point.
f
0
f
1
– Delta max f
0
f
1
, ( ) ⋅ >
Taurus Process Fundamentals Mesh Generation
TP 2005.10 245
Draft 8/11/05
In this case, the refinement at interfaces can be restricted by specifying any of the
parameters AtRegion or AtMaterial inside of the Criterion
subcommand. These parameters can be specified several times.
Regrid(
Criterion(
MeshSpacing=10nm Material=Silicon
AtMaterial=oxide
)
)
Refining Thin
Layers
During the refinement, mesh edges are checked if they may cross a thin layer. An
extrapolation of the nodal values of the level set functions is used as indicated in
Figure 28. t
If the sign of the extrapolated value (blue dot for point C in Figure 28) and the
actual value (red dot for point C) differ, the edge will be refined. The thin layer
refinement is restricted to edges that are longer than the specified value of the
ThinLayer refinement parameter of the Regrid command. A negative value
of ThinLayer in one of the Regrid commands prevents all checking of thin
layers. The refinement of thin layers can be fine tuned by specifying any of the
parameters Region, Material, SkipRegion or SkipMaterial of the
ScanThinLayers subcommand of the regrid command. By default, the
ambient is not tested for thin layers:
ScanThinLayers(SkipMaterial=Ambient)
The meshing parameter CriticalFeatureSize of the Regrid command is
closely related to the refinement of thin layers. Upon construction of the boundary
fitted mesh (after the refinement tree has been built), all geometry features smaller
than CriticalFeatureSize will not be resolved in the boundary fitted
mesh. Thin layers below this size may be dropped by the mesher. The default
values are CriticalFeatureSize=1.5nm and ThinLayer=4nm. If the
deposition of native oxide and silicide layers creates a thin layer smaller than 4
nm, the value of the ThinLayer parameter is reduced accordingly.
A
B
C
Figure 28 Thin layer refinement. The discrete values of the level set
function (red solid line) do not indicate a thin layer. The different
sign of the value in C and the value extrapolated from A and B
for C are used to refine edge BC.
Mesh Generation Taurus Process Fundamentals
246 TP 2005.10
Draft 8/11/05
Note:
This reduced value is not transferred between different modules of a
Taurus WorkBench project and that there is currently no algorithm in
place that would detect the presence of thin layers when loading a TDF
or TIF file. If the loaded file contains a thin layer and before any regrid
ding is done with Taurus Process, you must specify an appropriate value
for ThinLayer to ensure integrity of the thin layer after the regridding.
Very Important
Points
Refinement
The refinement process checks how many Very Important Points(VIP) are
contained in one mesh element. If more than one VIP is detected, the element is
split regardless of its size since it is very difficult to fit a single element to multiple
VIPs. You may specify the VIPSize refinement parameter in the Regrid
command. Elements with edges larger than the specified size are refined if they
contain any VIP.
Other
Refinement
Criteria
Besides the purely edgelength, field and geometrybased refinements, the mesh
refinement can be chosen to check the size gradation of neighboring mesh
elements. A leaf element is refined in a certain direction if it has a small neighbor
in that direction. A nonzero GradingFactor refinement parameter must be
specified to enable this type of refinement. By construction of the treebased
meshing algorithm, the GradingFactor must be larger than 2.
The refinement also can be used to refine leaf elements with an aspect ratio larger
than MaxAspectRatio. This refinement parameter limits the aspect ratio of the
mesh elements in the tree. During the construction of the boundary fitted mesh,
the leaf elements may be subdivided at region boundaries. This may result in ele
ments that have a bounding box of much bigger aspect ratio. Since the boundary
fitting is done after all refinement, there is currently no direct control over the
final maximum aspect ratio of the elements.
An Alternative
Method to
Prescribe Mesh
Resolution
As an alternative approach to specify refinements, the desired mesh size may be
prescribed directly by a profile. A profile may be defined for any of the following
fields:
• MeshSpacing
• MeshSpacingX
• MeshSpacingY
• MeshSpacingZ
Taurus Process Fundamentals Mesh Generation
TP 2005.10 247
Draft 8/11/05
The field value of these fields represent the desired mesh spacing (in microns).
The resulting leaf elements of the tree at the end of the refinement will not be
coarser than the respective minimum field value at any of its corners.
When continuing a simulation by loading a TDF or TIF in the
DefineDevice command, you can specify the parameters
InitializeIsotropic or InitializeOriented. In this case, the
fields MeshSpacing resp. MeshSpacingX Y and Z are initialized with the
average value, resp. the minimum edge lengths in the coordinate directions
given by the loaded file.
Green Points, 1
Irregularity
Condition
In 2D and 3D there may be leaf elements left at the end of the refinement process
that contain mesh points on their edges or faces. Such points are called green
points (or dangling nodes). In the final boundary fitted mesh nodes should only be
at corners of the given element types, dangling nodes need to be resolved when
constructing the boundary fitted mesh.
During the refinement process, some mesh elements may be refined several times
in a certain direction. To obtain more regular splitting levels between neighboring
mesh elements, the refinement is automatically propagated into neighboring
elements such that any edge of an element may be subdivided at most once (1
irregularity condition).
Profile(
Name = MeshSpacing
Edge(
Point(x=1.4 y=1.3 z=0)
Point(x=1.6 y=0.7 z=0)
)
Linear(
PeakValue = 0.02
Depth = 0.5
DepthValue = 0.1
)
Minimum = 0.005
AddToExisting = false
)
Figure 29 Resolution of green point in 2D: splitting an element into
triangles (left side). Propagation of refinement to ensure 1
irregular refinement (right side) The desired split in second to
right picture (red line) can only be performed if the neighbor has
been split first (blue line).
Mesh Generation Taurus Process Fundamentals
248 TP 2005.10
Draft 8/11/05
Before leaving the tree refinement and switching to the construction of the
boundary fitted mesh, a loop has been added that separates elements with green
points from elements that are cut by interfaces. If the edge containing a green
point is cut by an interface, the element is cut in halves using the green point. A
loop is performed to check the neighbors of the subdivided elements.
MaximumAngle Specify the meshing parameter MaximumAngle in one of the Regrid commands
to check the shape of the leaf elements with green points. If the default value is
181, the check is not performed. If the angle resulting from connecting the green
point to the opposite edge (in the rectangle element or on the rectangle surface of
a brick element) exceeds the specified value, the element is cut in halves using the
green point. If a separate value is provided for the parameter
MaximumBoundaryAngle, elements are checked with a different value if they
contain corners that belong to different regions. While the check of the aspect
ratio of the elements with green points may proof helpful to construct a tree with
“nicely” shaped elements, the specified maximum angle has no direct influence
on the largest angle in the final boundary fitted mesh that is constructed from the
tree.
Construction of
the Boundary
Fitted Mesh
After the desired mesh resolution has been achieved in the refinement tree and the
1irregularity condition has been fulfilled, the mesh is handed over to the
construction of the boundary fitted mesh. The position of the interfaces is
determined locally in each leaf element of the refinement tree. The leaf elements
in the vicinity of the interfaces are modified by cutting their edges at the exact
location of the interfaces. The parameter CriticalFeatureSize is used to
decide if the interface cut point is inserted into the edge or if it is too close to one
of the end points of the edge and therefore snapped to an already existing point.
Note:
Each edge may get at most one such interface cut. Edges that are cut by
multiple interfaces will lead to imprecise representation of the input
geometry by the resulting mesh. You need to specify additional refine
ments near the interfaces to avoid this situation. (See Refinement at
Material Interfaces, p. 244 and Refining Thin Layers, p. 245.)
All elements with subdivided edges are later subdivided into triangles in 2D, and
into tetrahedra, prisms or pyramids in 3D such that each of the resulting split mesh
elements can be assigned to one region.
In 2D and in 3D, the meshing algorithm receives a list of very important features:
very important points (VIPs) in 2D and very important points(VIPs), and very
important lines (VILs) in 3D. See Very Important Features, p. 251. During the
boundary fitted mesh construction, the mesher tries to generate the mesh such that
each VIP becomes a mesh point and that the intersections of the VILs with the
mesh element are incorporated into the mesh.
If a VIL is detected to intersect a leaf element, the intersection points inside the
faces or the intersection points with the edges of the element are computed. These
Taurus Process Fundamentals Mesh Generation
TP 2005.10 249
Draft 8/11/05
points are inserted to surface of the element. If an element contains a VIP, the
point may be inserted inside in a face or edge of the element.
Similar to the insertion of VIP and VIL, the case of a triple point (in 2D) or a triple
line (3D) are handled. The appropriate position of the minimum of the three level
set functions inside of the rectangle or on the surface of the brick are computed,
and mesh points are inserted inside the element or on the surface of the mesh
element. Similarly, the intersection of several triple lines inside or on the surface
of a brick is handled in 3D. The position of the intersection point is computed and
added as a mesh point inside or on the surface of the brick.
Once all points have been added, each leaf element of the tree is checked, if it
allows a valid tessellation into elements of the admitted element types by one of
the known patterns, available in Taurus Process. If the element does not allow
such tessellation (possible in 3D), the center of the brick is added and a set of
tetrahedra and pyramids is constructed by connecting the center with all points on
the surface of the element. The selection of a tessellation pattern may require
reserving edges on the surface of the mesh elements. Once an edge is reserved, the
neighboring element is rechecked if it still can be split.
Once the edge reservation terminates, all elements are split according to the
selected tessellation pattern.
The resulting 2D mesh is composed of rectangles and triangles and the resulting
3D mesh is composed of tetrahedra, pyramids, prisms and bricks. In 1D only
segments are used.
Once all elements are subdivided, each of the resulting leaf elements is assigned
to one of the regions. As far as available, unambiguous corners, edges, faces are
used to decide about the region. Ambiguous cases (null patches) are resolved by
evaluating the level set functions in the edge, face or element midpoints.
In 2D and 3D, a Delaunay algorithm has been implemented to postprocess the
resulting boundary fitted mesh. A Delaunay background mesh is constructed for
the cloud of mesh points. Interfaces between elements assigned to different
regions are restored by inserting additional points to the faces and edges on the
surface. As a result, a conforming Delaunay boundary fitted mesh is constructed:
the Delaunay property holds for each of the regions. In addition, during the
Delaunization the surfaces of the rectangle or brick elements of the refinement
tree are restored in the mesh. This reduces or prevents the construction of a “fan”
of edges connected all to the same mesh point.
The Delaunay postprocessing is applied by default in 2D. The 2D Delaunay
meshes produced by Taurus Process have the following properties:
• The sum of the angles opposite to an internal edge is less or equal than 180
degrees.
• There is no obtuse angle facing an interface edge.
In 3D, the Delaunay algorithm is capable of handling quite complex structures.
However, sometimes a large number of points has been added during the
Delaunization in the presence of very small features or very sharp angles.
Mesh Generation Taurus Process Fundamentals
250 TP 2005.10
Draft 8/11/05
Therefore, in the 2003.09 version of Taurus Process the user must enable the
Delaunizer in 3D by using the parameter Delaunize=true in one of the
Regrid commands. The 3D Delaunay meshes produced by have the following
properties:
• The circumscribed sphere of an element does not contain any point of the tri
angulation.
• The smallest circumscribed sphere around an interface face does not contain
any point of the triangulation.
• The smallest circumscribed sphere around an interface ridge does not contain
any point of the triangulation.
The Delaunay meshes, generated by Taurus Process may contain obtuse angles,
but these obtuse angles are always compensated by opposite acute angles, so that
the net sum of angles opposite to a given edge is always less than 180 degrees.
During the assembly of the equations, a modified algorithm takes advantage of
these properties to compute all nonnegative weights for the edges and nodes. This
computation is selected automatically when the Delaunizer is called after the
regridding. When loading a simulation structure from a file that is known to
contain a Delaunay mesh, the modified calculation can be activated using the
parameter useDelaunayBoxes in the DefineDevice command.
The Delaunay algorithm constructs simplex meshes. In 2D, an algorithm has been
added to replace pairs of triangles by a rectangle if this is possible. A similar
algorithm has been added in 3D to restore bricks from a set of tetrahedra. The
algorithm can be disabled by specifying MakeRectangles=false in one of
the Regrid commands.
Note:
Sometimes the Delaunay algorithm fails to construct a mesh with the
desired properties within the specified limits (see parameters in the
Delaunay subcommand). In this case a warning will be generated and
the boundary fitted mesh, presented as input to the Delaunizer will be
used in the subsequent simulation. These meshes, although non
Delaunay, have similar quality as the meshes constructed by earlier ver
sions of Taurus Process and Taurus Process & Device.
In the final stage of the boundary fitted mesh construction, mesh points at
interfaces are duplicated to ensure one node per region. New data values are
interpolated and stored for all mesh nodes and all regions.
There are only a few parameters that control the construction of the boundary
fitted mesh. The parameter CriticalFeatureSize (default 1.5nm) that
controls the minimum distance of a cut from the end points of the edge had
already been mentioned. If a mesh edge is already smaller than
CriticalFeatureSize, the relative position of the cut on the edge can be restricted
by the parameter CriticalAspectRatio (default 0.05). Once the Delaunay
algorithm is enabled (by default in 2D or by specifying) Delaunize=true, the
parameters MinDistance, Relative and Safety of the Delaunay
subcommand control the allowed point insertion. MinDistance (default
Taurus Process Fundamentals Very Important Features
TP 2005.10 251
Draft 8/11/05
0.1Angstroem) defines the smallest edge length the Delaunizer may produce,
Relative (default 0.05) defines the closest relative position on an edge where
the Delaunizer may add a point and Safety (default 1e3) limits the smallest
edge length relative compared to the shortest edge of the boundary fitted mesh
given as input to the Delaunay algorithm.
Staircase
Meshes
The meshing parameter SkipBoundaryFitting=1 may be specified in one
of the Regrid commands to prevent the construction of the boundary fitted
mesh. In this case, a mixed element mesh is constructed to terminate all green
points, but no attempt is made to subdivide elements at the interfaces, represented
by the level set functions. All triangles into which a rectangle is subdivided and all
tetrahedra, pyramids and prisms into which a brick is subdivided are assigned to
the same region. The region is determined by checking the level set function with
the maximum value in the center of the rectangle (in 2D) or brick (in 3D). This
results in a staircase mesh, approximating the specified geometry. All mesh
refinement, defineRegion, etching and deposition, implantation and anneal
operations can be simulated as usual on such meshes. Oxidation and silicide
growth are currently not supported on such meshes.
Mesh Refinement Check
During the simulation of oxidation and silicide growth, regridding is done per
each time step. This takes care also for resolving any displaced steep gradients of
fields. During inert anneals, steep gradient of a field may be moving into coarse
mesh elements. At each time step Taurus Process checks the mesh for the need of
a regridding. Axis aligned edges are checked, if they fulfill any of the specified
refinement criteria and if they are longer by SafetyFactor compared to the
MeshSpacing specified inside of the criterion. If such an edge is found, a mesh
readaptation is scheduled. Otherwise, no remeshing is done. Regridding during
inert anneal steps is turned off when a negative value is specified for Safety
Factor in any of the regrid commands.
Very Important Features
Use of VIFs by the Mesher
The level set function based boundary fitting method by itself tends to chop off
sharp corners within one mesh element.
However, if the level set functions are supplemented by geometrical data, i.e.,
VIPs and VILs, then the mesher will try to use this information during the mesh
construction.
For example, a mesh element that contains a VIP will be refined and fit to the VIP.
Very Important Features Taurus Process Fundamentals
252 TP 2005.10
Draft 8/11/05
Note:
A mesh node may not be placed at a VIP if this would violate other mesh
criteria regarding element size or quality.
As another example, the mesher will use the intersection point of a VIL and the
face of a mesh element rather than compute the intersection of three level set
functions to define the point where a triple line intersects the face.
Using VIP and VIL in this manner often improves the quality of the boundary
fitting considerably without requiring smaller mesh spacing refinement criteria, in
particular if nonaxisaligned straight lines need to be rendered in the mesh as
indicated in Figure 210. For further details, see Mesh Generation, p. 238.
Very Important Points and Lines
VIP A VIP is defined by a coordinate location. The location is specified as a 3D point.
In a 3D simulation, a VIP suggests a potential sharp corner or a junction point on
a two dimensional region boundary. The boundary fitting method tries to place a
mesh point at the VIP location during the construction of the mesh. Elements
Figure 210 The resulting mesh for a non axisaligned brickshaped region
with and without the aid of VIFs during boundary fitting
Taurus Process Fundamentals Very Important Features
TP 2005.10 253
Draft 8/11/05
containing VIPs are refined until the resulting elements are smaller than the
VIPSpacing (see the Regrid command).
In a 2D simulation ,a VIP is considered only if it lies in the 2D simulation domain
(situated in the z=0 plane). The VIP is then treated as a possible sharp corner or a
junction point on a one dimensional region boundary. VIPs at 3D locations away
from the z=0 plane are ignored in 2D simulations.
VIL A VIL is defined by a piecewise linear path that consists of a sequence of
coordinate locations. Each location is specified as a 3D point. The path is open
ended unless the first and last points coincide.
In a 3D, simulation a VIL suggests a potential ridge line or a fold line on a two
dimensional region boundary. In a 2D simulation a VIL is automatically reduced
to one or more VIPs if the 3D path intersects the 2D simulation domain (situated
in the z=0 plane). If such intersection points exist, then they are treated as possible
sharp corners or a junction points on one dimensional region boundaries. VILs
that do not pass through the z=0 plane are ignored in 2D simulations.
VIF Categories
VIFs, such as VIPs and VILs, are geometric entities that exist independently of
any mesh representation.
For each Taurus Process device, a structured list of VIFs is maintained for
consideration by the mesher. This list evolves during the simulation and is called
the “VIF Pool”. The VIF Pool consists of VIPs and VILs, and is populated in three
separate categories:
• Userspecified VIFs
• Automatic VIFs
• Mesh VIFs
Userspecified
VIFs
The VIF(VIP(..)) and VIF(VIL(..)) commands allow you to explicitly
define VIPs and VILs. (The VIF command is discussed in Chapter 4, Input
Commands.) VIPs and VILs defined in this manner are added to the current
device’s VIF pool under the “Userspecified VIF” category.
User VIFs are employed when you know the VIF locations and need to
supplement the builtin capabilities for automatic VIF generation provided by the
other two VIF categories.
For example, here is a VIF specification for the 8 corners and 12 edges of a brick
whose opposite corners are at (x,y,z) = (0,0,0) and (x,y,z) = (1,1,1):
VIF(
VIP(x=0 y=0 z=0)
VIP(x=1 y=0 z=0)
VIP(x=0 y=1 z=0)
Very Important Features Taurus Process Fundamentals
254 TP 2005.10
Draft 8/11/05
VIP(x=1 y=1 z=0)
VIP(x=0 y=0 z=1)
VIP(x=1 y=0 z=1)
VIP(x=0 y=1 z=1)
VIP(x=1 y=1 z=1)
VIL(Point(x=0 y=0 z=0) Point(x=1 y=0 z=0))
VIL(Point(x=0 y=1 z=0) Point(x=1 y=1 z=0))
VIL(Point(x=0 y=0 z=1) Point(x=1 y=0 z=1))
VIL(Point(x=0 y=1 z=1) Point(x=1 y=1 z=1))
VIL(Point(x=0 y=0 z=0) Point(x=0 y=1 z=0))
VIL(Point(x=1 y=0 z=0) Point(x=1 y=1 z=0))
VIL(Point(x=0 y=0 z=1) Point(x=0 y=1 z=1))
VIL(Point(x=1 y=0 z=1) Point(x=1 y=1 z=1))
VIL(Point(x=0 y=0 z=0) Point(x=0 y=0 z=1))
VIL(Point(x=1 y=0 z=0) Point(x=1 y=0 z=1))
VIL(Point(x=0 y=1 z=0) Point(x=0 y=1 z=1))
VIL(Point(x=1 y=1 z=0) Point(x=1 y=1 z=1))
)
The above VIF specification is valid even if the brick is partially outside the
simulation domain, e.g. when combined with the following device dimensions:
DefineDevice(
MinX = 0.5 MaxX = 1.5
MinY = 0.5 MaxY = 1.5
MinZ = 0.5 MaxZ = 1.5
)
Taurus Process stores the userspecified VIFs in “raw” form using the original
coordinates, but maps them to “simulation” form for regridding.
This mapping is repeated at the beginning of each regrid operation. Taurus
Process allows you to change the simulation domain bounds and dimension
during the course of a simulation flow without having to redo the original VIF
specification because:
• This mapping includes clipping by the current simulation domain and dimen
sional reduction.
• VIPs and VILs always are specified as 3D entities.
The dimensional reduction is employed when using the VIF pool in a 2D
simulation. Any raw VIP is reduced to a 2D VIP if it lies in the 2D simulation
domain (situated in the z=0 plane); otherwise it is ignored. Any raw VIL is
reduced to a 2D VIP if it intersects the 2D simulation domain. The intersection
point is then treated as a 2D VIP.
Every VIF command that specifies VIPs or VILs expands the userspecified VIF
pool cumulatively. User VIFs persist throughout the simulation, i.e., are
considered during all subsequent regrid operations unless explicitly removed from
the pool by a VIF(RemoveUserVIF) or VIF(RemoveVIF) command.
Taurus Process Fundamentals Very Important Features
TP 2005.10 255
Draft 8/11/05
Note:
Userspecified VIFs also are populated when you specify DefineDe
vice(..MakePrescannedVIP..). For every point coordinate that
was prescanned in the input file for the purposes of generating the initial
grid, a VIP also will be generated.
Automatic VIFs Ideally, Automatic VIFs make userspecified VIFs unnecessary. Taurus Process
automatically analyzes your input when you define or modify regions
geometrically using any of these commands:
• DefineRegion( .. <geomspec> )
• Deposit( .. <geomspec> DepositType=geometric )
• Etch( .. <geomspec> EtchType=geometric )
where <geomspec> denotes a geometry primitive.
Taurus Process generates VIFs from the edges and corners of each specified
geometry primitive. For example, if you specify a brickshaped region using:
DefineRegion(
Material=..
Brick(
Point(x=0 y=0 z=0)
Point(x=1 y=1 z=1)
)
)
Then the user VIF specification illustrated above (consisting of 8 userspecified
VIPs and 12 userspecified VILs) can be omitted, unless you want to manually
define certain VIPs and VILs independent of commands that define or modify
regions.
Note:
Taurus Process currently generates VIPs and VILs for the Brick,
MinMax, and Polygon primitives. Primitives not yet considered for
automatic VIF generation are Cylinder, Manifold, and Polyhe
dron.
Automatic VIFs are managed differently than userspecified VIFs. This reflects
their intended closeness to the actual features in the simulation structure. While
auto VIFs are initially populated as “raw” VIFs, this persists only until the next
regrid operation at which point they are converted to “simulation” VIFs which are
stored persistently and cumulatively, while the accumulated “raw” VIFs are
discarded.
Mesh VIFs VIFs in principle exist independently of any mesh representation; i.e., they dictate
all sharp features a priori while the regrid operation merely has to capture them.
User VIFs and auto VIFs already play this role.
Very Important Features Taurus Process Fundamentals
256 TP 2005.10
Draft 8/11/05
In practice, since sometimes intersections of geometry primitives result in ridges
and sharp corners, the Auto VIF pool is incomplete, i.e., does not contain all sharp
features in the structure. Hence, Taurus Process allows additional “Mesh” VIFs to
be discovered by an automated analysis of the discretized boundary surfaces after
a regrid operation or after loading or constructing a boundary fitted mesh.
Taurus Process adds Mesh VIFs to the VIF pool’s Mesh VIF category in
“simulation” form, ready for the next regrid operation. This is important even for
existing regions that are not changed by successive regrid operations because all
boundary surfaces are retriangulated from scratch during each regrid operation.
Sharp Corner
Detection
In a 2D simulation, a polygon boundary description is extracted from the
generated mesh at the end of each regrid operation. It is tested for its topological
correctness. (Note that sometimes this test generates warnings about very short
edges in the boundary representation. The simulation structure saved in the next
save command should be inspected using TaurusVisual.) The 2D polygon
boundary representation is used in Taurus Process only to determine the location
of important points (sharp corners and triple points); the boundary representation
is not currently used for the regridding or to simulate any geometry modification
operations.
TaurusProcess automatically detects triple points and sharp corners in the
extracted 2D structure and adds them to the Mesh VIFs.
The sharp corner detection algorithm in TaurusProcess computes a corner angle
for each node of a polygon as shown in Figure 211. A summed corner
angle is then computed for each node by summing the corner angles of all nodes
within an arc length l. A node will be considered a sharp corner if:
• Its summed corner angle is greater than a cutoff angle θ
c
• Its corner angle is greater than
• There are no other important points within arc length l
• When multiple points within arc length l all meet the angle criteria, the
point with the largest summed corner angle will be taken as the sharp
corner
The ArcLength and cutoff Angle can be specified in the Corner2D
subcommand of the VIF command:
VIF(Corner2D(ArcLength=2nm Angle=30))
π – θ π ≤ ≤
θ
c
2 ⁄
Taurus Process Fundamentals Very Important Features
TP 2005.10 257
Draft 8/11/05
If the ArcLength is set to zero no sharp corners will be found.
VIF Management
You also can use the VIF command to control VIF generation, visibility, and
disposition during a simulation flow.
For example, for a new device all VIF categories are visible during any regrid
operation by default. For demonstrations, you can change which VIFs are
actually used during a regrid operation, e.g., VIF(IgnoreUserVIF).
You also can clear the VIF pool or any of the selected VIF pool categories at any
point in the simulation flow, e.g., VIF(RemoveMeshVIF).
For further details, see the description of the parameters of the VIF command in
Chapter 4, Input Commands.
Current Limitations
There are limits on automatic generation of VIFs in the current program version.
This may lead to an imbalance: sharp features may be rendered in some places in
the mesh, but not others. (You can partially remedy this by explicitly specifying
supplemental VIFs, i.e., the userspecified VIFs discussed above.)
For example. the Auto VIF category as currently implemented is incomplete:
• The Cylinder, Manifold, and Polyhedron geometry primitives are
not considered during automatic VIF generation.
Figure 211 Definition of corner angle.
θ
Profile Command Taurus Process Fundamentals
258 TP 2005.10
Draft 8/11/05
• The effects of union and intersection between geometric primitives, between
other geometric primitives, and between preexisting regions are not consid
ered. Therefore, some of the generated VIFs will actually be hidden and hence
will be superfluous, while solidsolid surface intersections are missed.
• VIFs implied by the projection of mask polygons and nonetchable regions
onto the exposed surface of the device structure are not considered.
• VIFs corresponding to newly formed caustics in the zero level sets of growing
regions are not considered.
• There is presently no internal filter to control the number of automatic VIFs
generated during analysis of geometric input. For example. a complex Poly
gon primitive might burden the mesher.
• Taurus Process currently generates Mesh VIFs only for 2D simulations.
• Because Taurus Process does not yet model the convection of sharp features,
the VIF pool is automatically cleared whenever a process operation that
involves boundary motion occurs.
• When constructing userspecified VILs using VIL(MaskPolygon..) or
VIL(MaskLayer..), the projection of the mask polygon or polygons onto
the exposed surface of the device structure (which forms a nonplanar surface
in general) is not computed; currently a flat polygon at each yOfMask is used
always.
• A userspecified VIL that is a piecewise linear path formed by three or more
points may in general make sharp turns at one or more points. Currently, such
a VIL is not automatically broken into several smaller, smoother VILs at the
points where the path makes a sharp turn. Without this decomposition, the
regrid operation might not capture the sharp turns if there are no VIPs at these
points.
• The VIF pool (which evolves during the process flow) is not included in
saved mesh files.
Profile Command
Any physical property that is not a constant material parameter is represented in
TaurusProcess by a field (e.g., the total concentration of arsenic, the electric
potential, the mole fraction). Appendix B, Fields Database, p. B80 contains a list
of field names. Fields are defined per region. They are represented on the current
simulation mesh by their values defined per node of the region. The nodal values
represent the piecewise linear or logarithmic values of the field inside of the mesh
elements.
You can use the Profile command to define an analytic profile for a field and
to define a numeric profile, which specifies a field by using a discrete set of values
given on a mesh other than the current simulation mesh (e.g., read from an
external TDF, TIF, or ASCII file). A numeric profile is evaluated for an arbitrary
point in space by projecting the point onto the bounding box of the external mesh
and then searching the mesh element for which a value can be interpolated.
Taurus Process Fundamentals Profile Command
TP 2005.10 259
Draft 8/11/05
Profile definitions are not tied to the discretization of the current simulation mesh.
For example, an analytic profile is independent of any mesh, while a numeric
profile depends only on the discretization in the associated TDF, TIF, or ASCII
file, not on the current simulation mesh.
The parameter Name=”<fieldname>” is used to select the field of Taurus
Process for which the profile is defined. All fields in Taurus Process can be
defined by a Profile command. If the fieldname does not correspond to any
known field, a new field with the given name is introduced. This is very helpful
when loading TDF or TIF files from other tools containing fields, unknown to
Taurus Process. It also can be used to trigger mesh refinement in certain areas.
The user needs to check the spelling of the names of the known fields very
carefully.
Usually all profile definitions for a field are kept in memory. When a Profile
command is executed, new nodal values are computed for each mesh point in the
current simulation mesh; i.e., the field is represented both by the collection of
analytic profiles and by the nodal values on the current simulation mesh. The
collection of analytic profiles for a field is subsequently evaluated for any new
mesh points created during a mesh adaptation.
Depending on the type of simulation that is performed, and depending on the
field, the analytic profile may be permanently maintained, ignored or removed in
a subsequent process step by the simulator. When an analytic profile is removed;
e.g., in an anneal step, the discrete values at the mesh nodes remain the only
representation of the field values. In veryverbose output mode, information is
provided which fields are represented by analytic and numeric profiles when such
a profile is generated and removed.
Several profiles (for the same or for different fields) may be defined in one
Profile command. Several Profile commands may be used to specify data
for the same field. All profiles defined for the same field are usually added to each
other.
If a field is already represented by an analytic profile, the new profile is added to
the list of already defined profiles and new nodal values are computed.
If a field had been previously specified in the simulation but is currently
represented only by the nodal values, a numeric profile is constructed based on the
current mesh and the current nodal values. The new analytic profile is then added
to the numeric profile but no new nodal values are yet computed. A regrid is
scheduled instead to allow mesh adaptation and proper evaluation of the sum of
both the numeric and analytic profiles. Before any further process step is
performed, a new mesh is constructed to properly evaluate the field. If the
parameter NoRegrid is specified in the Profile command, no numeric profile
is created in this case, no regridding is scheduled and the new analytic expression
is evaluated for the nodes of the existing grid and added to the nodal values. The
analytic profile is not stored in this case at all. While this may be acceptable when
adding a constant value; e.g., in Polysilicon this may sometimes cause loss of
gradient resolution.
Profile Command Taurus Process Fundamentals
260 TP 2005.10
Draft 8/11/05
If the parameter AddToExisting=false is specified in a Profile
command, the new analytic profile will always override the discrete values and all
analytic profiles defined previously for the same field. After this command, the
field will be represented only by the new analytic profile and the corresponding
nodal values.
Restricting a
Profile to
Regions or
Geometry
Locations
All profiles are always defined in the entire 3D space. It defines a “Query
function”: a value can be evaluated for any coordinate, not just a mesh point and
not just a point inside of the simulation domain.
Evaluation of a profile may be restricted to a certain set of Regions or
Materials. In this case the profile will not be defined for the field in regions
other than specified and discrete values will never be evaluated for nodes from
regions other than specified.
A profile may be constrained to a certain geometry locations by specifying a set of
geometry objects inside of InABox. Depending on the parameters
DecayLength and DecayType specified in the Profile command, the
values of the analytic profile are cut off sharply or reduced continuously at the
surface of the geometry objects. The DecayType may be specified as one of:
Erfc, Gauss, Linear, LinearOutSide or Abrupt. The signed distance
from the union of the geometry objects is used to compute a linear, gaussian or
erfc reduction factor between 1 and 0 in the vicinity of the surface of the objects.
For Gauss, LinearOutside, and Abrupt the full profile value is used for all
points inside of the union of the geometry objects, for Linear and Erfc a factor
of 1/2 is assumed on the surface.
This type of constraining a profile is multiplied to any “lateral” decay functions
that may be defined in any particular analytic expression and computed during the
profile evaluation. InABox decay can be applied to all profiles.
Analytic Profiles
Different types of analytic expressions can be used in TaurusProcess. The
Uniform profile does not require a coordinate for evaluation. Other types of
analytic expressions are defined as a function of one scalar argument, e.g., the
distance from an edge or polygon: Linear, Gauss or CombinedProfile.
An Edge or a Polygon or a Masklayer need to be defined inside of such
profiles to properly define their location in the 3D space. A MaskLayer refers to
a mask in a TL2 file and is translated together with the YOfMask parameter into a
polygon.
As described in the subsequent sections, the specified edge and polygon objects
are used to evaluate the “1D profile” and to compute a lateral Gaussian or Erfc
blending factor. The maximum of the values computed for all edges and polygons
is used as value of the profile. This value is modified further by the decay
specified using InABox, DecayType and DecayLength.
Taurus Process Fundamentals Profile Command
TP 2005.10 261
Draft 8/11/05
Linear The linear profile defines a 1D profile that varies linearly with the “normal”
distance from the Edge, MaskLayer or Polygon, specified inside the
Linear subcommand. The PeakValue is required and is assumed at zero
normal distance. In addition, either the Slope or the Depth and DepthValue
must be specified. Linear profiles often generate negative values at large normal
distances. The parameters LowerBound and UpperBound can be used to
restrict the values of the individual linear profile; e.g. before the values are added
to other profiles defined for the same field.
The linear profile allows to compute a lateral decay “at the end” of the Edge,
Polygon or MaskLayer. The parameter Lateral defines the lateral decay
length. By default, a gaussian decay is assumed; if LateralErfc=true is
specified, a lateral error function is applied instead.
Gauss The gauss profile defines a 1D profile that varies with the normal distance from
the Edge, Polygon or MaskLayer, specified inside the Gauss subcommand:
Equation 22
The PeakValue is required and assumed at zero normal distance. In addition,
either the “normal” decay length Sigma or the two parameters Depth and
DepthValue must be specified. The gauss profile allows you to compute a
lateral decay “at the end” of the Edge, Polygon or MaskLayer. If specified,
the parameter Lateral defines the lateral decay length. The lateral decay length
also can be specified relative to the “normal” decay length using the parameter
LateralRatio. By default, a gaussian decay is assumed; if
LateralErfc=true is specified, a lateral error function is applied instead.
Numeric A 1D numeric profile can be specified using an ASCII file. Each line in the file
that contains just two numbers (the “normal” distance and the value) is read and
stored for the 1D profile. The normal distance from the Edge, Polygon or
MaskLayer, specified in the Numeric command are used to interpolate the
appropriate value assuming that the file defines a piecewise linear function of the
normal distance.
In each line of the file the first value is expected in µm, the second value in the
unit of the field. The normal distances loaded from the file are multiplied by the
value, specified as Matrix(YY=1e3), the parameter, specified as Shift( Y
= 0.05um) is added to the scaled normal distances. The values of the loaded
file are multiplied by the value, specified as DataScale. Only positive “normal”
distances are obtained; the profile is “reflected” at the specified Edge, Polygon, or
MaskLayer.
CombinedProfile This 1D profile combines a constant, Gaussian, and a rational part. The internal
profile parameters A and B are chosen such that the resulting composed profile
and its derivative are continuous. Depending on the parameters specified by the
user, all three functions are used, or just a constant and Gaussian resp. a constant
f normal ( ) PeakValue
normal
Sigma

. ,
 `
2
–
. ,
 `
exp ⋅ =
Profile Command Taurus Process Fundamentals
262 TP 2005.10
Draft 8/11/05
and rational function are combined. As any other 1D profile, the combined profile
requires an Edge, MaskLayer or Polygon.
The two parameters and can be specified using ExponentRational
and ExponentGauss. They are used to select the type of function.
If the parameter is not specified, a constant ( ) and a
Gaussian ( ) function are combined:
Equation 23
If the parameter is not specified, a constant ( ) and
rational ( ) function are combined:
Equation 24
If both exponents are specified a constant ( ), Gaussian
( ) and rational
( ) function are combined:
Equation 25
E
R
E
G
E
R
y DepthGauss ≤
y DepthGauss >
f y ( )
PeakValue
PeakValue
y DepthGauss –
Sigma

. ,
 `
E
G
–
. ,
 `
exp ⋅
.

=
E
G
y DepthRational ≤
y DepthRational >
f y ( )
PeakValue
PeakValue
1
y DepthRational –
Sigma

. ,
 `
E
R
+

.

=
y DepthGauss ≤
DepthGauss y DepthRational ≤ <
y DepthRational >
f y ( )
PeakValue
PeakValue
y DepthGauss –
Sigma

. ,
 `
E
G
–
. ,
 `
exp ⋅
B
y A – ( )
E
R

.

=
Taurus Process Fundamentals Profile Command
TP 2005.10 263
Draft 8/11/05
The lateral decay of the CombinedProfile corresponds to that of the Gauss profile.
Evaluating “1D”
Profiles
When evaluating profiles for a point in space, the normal and lateral distances of
the point with respect to the edge or polygon are computed and used for the
evaluation of the profile. The lateral distance is counted negative if the projection
of the point falls inside the edge or polygon, and positive if the projection falls
outside of the edge of polygon. These definitions and the different types of
locating a lower dimensional profile in the current simulation mesh are explained
in the subsequent sections.
An analytic function of one scalar argument is evaluated using the absolute value
of the normal distance from the edge or polygon as the argument.
The signed lateral distance from the edge or polygon is used to evaluate the
Gaussian or Erfc blending function. See Figures 213 and 214.
It is recommended to always use the Erfc blending function. The lateral error
function is computed for all mesh points, using the signed lateral distance as an
argument. It is multiplied by the 1D profile values. When defining doping
profiles, this type of lateral blending function is related to the underlying
scattering and diffusion processes. It is also independent of any (artificial)
subdivision of the polygons or edges since the lateral blending functions for
neighboring edges and polygons sum to 1.
Figure 212 Example of a CombinedProfile. The red curve combines the
constant and rational function, the blue the constant and Gauss
functions and the green all three functions.
const+rational
const+Gauss
const+Gauss+rational
Profile Command Taurus Process Fundamentals
264 TP 2005.10
Draft 8/11/05
Blending also can be done using an abrupt profile termination or using a Gaussian
function. For abrupt and Gauss blending, the full 1D profile is used if the
projection of the mesh point falls inside or at the boundary of the edge or polygon,
i.e. for negative or zero lateral distance. For positive lateral distances, the profile
is set to zero for abrupt profiles. Otherwise, a Gaussian function of the positive
lateral distance is computed and multiplied by the 1D profile value. These
blending functions are not recommended even though,for compatibility reasons, a
Gauss blending function is still used by default.
A 1D profile used together with a box for blending is handled as a special case.
Only one signed distance from the box is computed for each mesh point; inside
the box the full profile is applied and outside of the box one Gaussian function of
the distance is computed. If LateralErfc is specified, the entire profile is
defined by computing the complementary error function for the signed distance.
Local
Coordinates of a
Point with
respect to an
Edge
When an edge is used to locate a profile, the value of the profile for a point in
space is determined as follows; the point is projected onto the line of the edge.
The unsigned distance between the point and the projection is used as normal
coordinate norm, and the signed distance between the projection and the closest
end point of the edge (negative if the projection point is inside the edge) is used as
lateral coordinate lat. A local point lp is defined as (lat,norm,0). This is shown for
two points a and b below. The points Pa and Pb fall on the line defined by the
edge.
a
edge
lat>0
lat<0
norm >0
norm>0
Pa
b
Pb
Figure 213 Principle of computing local coordinates norm and lat by projecting a
point (a or b) onto the line of the edge. Note that the points a’ and b’ and
have the same local coordinates norm and lat as the points a and b. A
1D profile will be reflected at the line of the edge.
norm>0
norm >0
a’
b’
Taurus Process Fundamentals Profile Command
TP 2005.10 265
Draft 8/11/05
Local
Coordinates of a
Point with
respect to a
Polygon
When a polygon is used to locate a profile, the value of the profile for a point x in
space is determined as follows:
• The point x is projected into the plane containing the polygon.
• The unsigned distance (norm) of the point x to the projection point is used as
normal distance.
• The signed distance (lat) of the projection to the contour defining the polygon
is used as lateral coordinate.
• Negative values are used if the projection falls inside the polygon, and posi
tive values are used if the projection is outside the polygon.
• The local coordinates define a local point lp as (lat,norm,0). This is shown for
two points a and b below.
• The projection points Pa and Pb lie in the plane containing the polygon.
• Besides the local normal and lateral coordinates, the projection point Pa and
the point cPa on the polygon boundary that is closest to Pa are used in the
profile evaluation.
Numeric Profile
The parameters of a discretized profile are specified as Numeric(...). When
discretized profiles are used, an external mesh will be used that is different from
the current simulation mesh. This can be a mesh, read in from a TDF or TIF file or
a “mesh” defined from a cloud of points in an ASCII file. The file name is
specified using the parameter MeshFile. The file type is determined from the
file extension. It can also be specified using the parameter FileType.
a
norm >0
lat<0
lat>0
norm >0
Pa
b
Pb
cPa
cPb
Figure 214 Principle of computing local coordinates norm and lat by projecting a point (a or
b) into the plane of the polygon. Note that the points a’ and b’ have the same
local coordinates norm and lat as the points a and b. A 1D profile will be
reflected at the plane of the polygon.
Polygon
a’
b’
norm >0
norm >0
Profile Command Taurus Process Fundamentals
266 TP 2005.10
Draft 8/11/05
In an ASCII file each line corresponds to one data point. If the file contains lines
with 4 values per line, the file is assumed to represent 3D data, three coordinates
and one field value. Otherwise, if the file contains lines with 3 values per line, a
2D file is assumed, specifying two coordinates and a field value. In ambiguous
cases the parameter Dimension can be specified as oneD, twoD or threeD.
The ASCII file type does not assume any order of the data. Upon reading, Taurus
Process tries to order and arrange the data into a tensor of coordinates and values.
If such a tensor can be formed, the data interpolation is done by locating the
appropriate cell and computing local weights for a point in a segment, rectangle or
brick. If the data cannot be arranged into a tensor, the data “interpolation” is very
slow and imprecise.
Currently, a fixed set of (20) nearest neighbor points is determined for each
coordinate at which the data needs to be interpolated. The appropriate values of
the ASCII file are used for the interpolation.
If a TDF or TIF file are loaded, the grid structure defined in the file is used to
locate the points for which the profile is evaluated and to interpolate values from
the profile. When loading a TDF or TIF file, all fields that are found in the file are
loaded. Use the Skip or Only parameters to change this default. Use the
parameter InputField (inside the Numeric subcommand) to select an
arbitrary field from the file and load it into the field, identified by the parameter
Name (in the Profile command, outside of the Numeric subcommand).
When repeating the parameters Name and InputField, the sequence of input
fields is loaded and mapped to the sequence of named fields in the specified order.
Profiles of any input dimension can be loaded into the current simulation mesh
which may be of any dimension. As for the analytic profiles, placement, and
blending functions have to be provided. The type of placement and the coordinate
transformation are selected with the parameter LocalCoordinates.
If the loaded profile has the same dimension as the current simulation mesh, it is
recommended to always use
LocalCoordinates=originalCoordinates.
When loading numeric profiles of lower dimension into a current simulation mesh
of higher dimension, the placement is done using edges and polygons. The local
coordinates with respect to these edges and polygons are calculated as has been
described for 1D profiles.
After calculating local coordinates, an additional coordinate transformation may
be applied to adjust the coordinate systems of the loaded profile. The coordinate
transformation is given by a Matrix and a Shift vector. When loading 1D
profiles, the parameters Offset and DepthScale can be used instead and
when loading 2D profiles the parameters OffsetX, OffsetY, DepthScaleX
and DepthScaleY can be used.
LocalCoordinate
s=originalCoordi
nates
The coordinates of the point a are transformed according to the specified matrix
and shift vector: . The profile is evaluated in the sP Matrix a Shift + ⋅ =
Taurus Process Fundamentals Profile Command
TP 2005.10 267
Draft 8/11/05
search point sP. If the profile is 1D, only the ycoordinate of sP is used and if the
profile is 2D then only the x and ycoordinates of sP are used.
LocalCoordinate
s=sweep
For the point a the closest point on the polygon or edge is searched. The local
point lp=(lat,norm,0) is transformed according to: .
The profile is evaluated in the search point sP. If the numeric profile is 1D, only
the ycoordinate of sP is used and if the profile is 2D only the x and ycoordinates
of sP are used.
If a 1D profile is placed using a polygon, it is aligned to the normal of the
polygon. If a 2D profile is placed using a polygon and
LocalCoordinates=sweep, the profile is swept along the polygon contour.
The construction principle for this transformation is identical to the sweep
template that may be used in a DefineRegion command.
The xaxis of the coordinate system of the profile points along the outward normal
to the polygon contour in the polygon plane, and the ycoordinate of the loaded
profile is aligned with the normal of the polygon. If the polygon is not planar, or if
instead of a polygon a set of not coplanar edges is given, the local normal to the
polygon is used. For the first segment, the local yaxis of the loaded profile is
aligned to the ExtraNormalVector that may be specified for the profile.
LocalCoordinate
s=sweepVertical
A loaded 2D profile may be swept along a noonplanar polygon or a set of edges
that are not all coplanar, such that always the local ycoordinate remains aligned
to the ExtraNormalVector and is not aligned to the local normal direction.
For planar polygons and sets of coplanar edges, this is equivalent to
LocalCoordinates=sweep.
sP Matrix lp Shift + ⋅ =
Figure 215 Principle of sweeping a 2D crosssection around a contour LocalCoordinates=Sweep
and LocalCoordinates=SweepVertical
polygon
current 3D mesh
Profile Command Taurus Process Fundamentals
268 TP 2005.10
Draft 8/11/05
LocalCoordinate
s=polygonCoordi
nates
A local coordinate system is defined by the polygon. The origin of the local
coordinate system is attached to the first point of the polygon. The xaxis of the
local coordinate system is aligned to the direction of the first line segment of the
polygon. The zaxis of the local coordinate system is aligned to the normal of the
polygon, where the normal of the polygon is defined as a righthanded traversal of
the point list of the polygon. The yaxis of the local coordinate system is defined
such that the coordinate system is righthanded.
Two examples of coordinate systems defined in this manner are shown below
where 1 denotes the first point in the polygon point list and 2 denotes the second
point in the polygon point list. For the example on the left, the zaxis (and the
normal of the polygon) point away from the observer and perpendicular to the
plane of the polygon. For the example on the right, the zaxis (and the normal of
the polygon) point toward the observer and perpendicular to the plane of the
polygon.
For each point a, two additional points are defined. These are: the projection point
Pa into the plane of the polygon, and the point cPa that is closest to Pa on the
polygon boundary. Let Paloc and cPaloc denote these points if the coordinates are
given in the local coordinate system.
For points with positive local lateral coordinate (Pa is outside the polygon), the
point cPaloc is transformed according to .
For points with nonpositive local lateral coordinate, i.e., if Pa is inside the
polygon, the point Paloc is transformed according to
. The profile is evaluated for the search point sP.
When loading a 2D profile with
LocalCoordinates=polygonCoordinates, the origin of the coordinate
system of the profile is attached to the first point of the polygon. The xaxis is
polygon
Xloc
Zloc
Yloc
polygon
Xloc
Zloc
Yloc
1
2
1
2
Figure 216 Principle of extruding a 2D profile into 3D localCoordinates=polygonCoordinates
sP Matrix cPaloc Shift + ⋅ =
sP Matrix Paloc Shift + ⋅ =
Taurus Process Fundamentals Profile Command
TP 2005.10 269
Draft 8/11/05
aligned to the first line segment of the polygon. The orientation of the yaxis of the
simulation depends on the orientation of the specified polygon.
Note:
The profile is always evaluated using a point inside or on the polygon;
this provides a means to skip unwanted parts of the loaded 2D profile
file.
Blending of
Profiles using
Lateral Distance
The edges and polygons specified to locate the profile also are used to calculate
blending functions that provide an abrupt or smooth transition of the nodal values
between the parts where the profile is supposed to be used and the parts of the
current mesh where the profile is not desired.
The signed lateral distance lat is used to compute a complimentary error function:
.
The normal distance norm is used to compute a decay function at the offset
distance Extent from the polygon or edge:
.
The resulting profile value at the search point sP is obtained from the value
that is interpolated in the search point sp as .
Several edges and/or polygons may be specified in one profile command to place
and blend a numeric profile. For each edge or polygon, a separate placement of
the profile and a separate blending are computed. The maximum of the computed
values for all edges and polygons is determined and added to the nodal value for
the field.
Template Profile
A template profile can be specified in complete analogy to the template
specification in the DefineRegion command. A template profile may be used
to analyze the correctness of the described parameters of the template by
evaluating the signed distance function on a fixed mesh, independent of the
construction of a boundary fitted mesh for the specified template.
Geometric Profile
A geometric profile can be specified in complete analogy to the geometric
primitives specified in the DefineRegion command. A geometric profile may
be used to analyze the correctness of the described geometry objects by evaluating
the signed distance function from the geometry objects on a fixed mesh,
independent of the construction of a boundary fitted mesh for the specified
geometry objects.
L lat ( )
1
2
 erfc
lat
2 Sigma ⋅

. ,
 `
⋅ =
N lat ( )
1
2
 erfc
norm Extent –
2 Sigma_v ⋅

. ,
 `
⋅ =
F sP ( )
·
F sP ( )
·
L lat ( ) N ⋅ norm ( ) ⋅
Profile Command Taurus Process Fundamentals
270 TP 2005.10
Draft 8/11/05
Examples
Load all fields from a TDF file, interpolate the values for the current mesh:
Profile(
Numeric(Filename = in.tdf)
AddToExisting = false
)
Load only stressstrain data from a TDF file:
Profile(
Numeric(
Filename = in.tdf
Only(
Name = stressStrainX
Name = stressStrainY
Name = stressStrainZ
)
)
AddToExisting = false
)
Load all fields from a TIF file, except arsenic and phosphorus:
Profile(
Numeric(
Filename = in.tif
Skip(
Name = arsenic
Name = phosphorus
)
)
AddToExisting = false
NoRegrid
)
Define a 2D numeric profile in a 3D structure:
Profile(
Name = arsenic
Minimum = 1e5
Numeric(
Filename = num_profile_samp_2d_in.tdf
OffsetX = 0.0
OffsetY = 0.0
LateralErfc
Interpolation = log
Sigma = 0.1
Extent = 0.35
InputField = arsenic
InputRegion = silicon1
# XY plane(xp=+x)
Polygon(
Point(x=0.00 y=0.0 z=0.00)
Taurus Process Fundamentals Extract
TP 2005.10 271
Draft 8/11/05
Point(x=0.55 y=0.0 z=0.30)
Point(x=0.55 y=0.5 z=0.30)
Point(x=0.00 y=0.5 z=0.00)
)
)
)
Evaluate a template profile on a fixed mesh:
DefineDevice(
# sim.domain = [2,2] x [2,0] x [3,3]
MeshFile = 3d0.tdf
)
Profile(
Name = levelsetFunction12
Template(
Name = sweep
CrossSection(
Filename = sti2_13.tdf
Region = silicon_1
Minx = 0.5
)
OffsetX = 0.5
LocalCoordinates = sweepVertical
MaskPolygon(
Point(x= 0.5 y=0 z=4 )
Point(x= 1 y=0 z= 1.5)
Point(x=1 y=0 z= 2 )
Point(x=1 y=0 z=4 )
)
)
NoRegrid
)
Save()
Extract
The Extract command can be used to measure quantities in the current the
structure, to compare the current simulation to a reference file, to generate 1D
cross sections through the structure and to store the 1D cross section in data file.
The generation of data files containing 1D cross sections requires to specify all of
the parameters Where, What and Save. The parameters Layers and
Moments can be specified to enable more output. The 1D cut can be made along
arbitrary straight line segments.
Examples Extraction of a vertical 1D cross section in a 2D simulation
Extract(
Where(X=0.61)
What(Profile=boron Profile=damage)
Extract Taurus Process Fundamentals
272 TP 2005.10
Draft 8/11/05
Save(File=cut1D.dat)
)
Extraction of a horizontal 1D cross section in a 2D simulation
Extract(
Where(Y=0.01)
What(Profile=boron profile=Damage)
Save(File=cut1D.dat)
)
Extraction of a 1D cross section in a 3D simulation
Extract(
Where(x=0.61 z=0.5)
What(Profile=boron Profile=damage)
Save(File=cut1D.dat)
)
Extraction of a 1D cross section through the arsenic concentration field and
through the xx component of the stress tensor field along an arbitrary line seg
ment:
Extract(
Where(
Line(
Start(x=0 y=0 z=0)
End (x=1 y=2 z=1)
)
)
What(
Profile = arsenic
Profile = stressXX
)
Save(File = extract_2d.dat)
)
Measuring
Values in the
Current Structure
The Extract command may be used to measure quantites in the current
simulation structure All measured values are reported in the output file and can
also be directed into a separate ASCII file specified as ExtractFile
(recommended extension .ext). The .ext file can then be used to evaluate results in
Taurus WorkBench. Existing content of the .ext file will be deleted unless the
parameter Append is specified.
The measurement of quantities can be restricted by specifying a list of Regions,
Materials, Points or by defining a box: MinX, .... MaxZ.
The parameter Sample is used to select the type of measurement. For some
values of Sample, the layer structure and the mesh are checked: Volume,
NumberOfNodes, NumberOfElements, MinimumEdgeLength,
MaximumEdgeLength, ExposedAltitude. For AspectRatioTree the
maximum aspect ratio of the rectangles or bricks is defined. For
AspectRatioOther the maximum aspect ratio of the axis aligned bounding
box of the triangles. tetrahedra, prisms, and pyramids is extracted.
Taurus Process Fundamentals Extract
TP 2005.10 273
Draft 8/11/05
For other values of Sample, the fields specified in Only(Name=<string>)
are evaluated. Sample may be specified as Minimum, Maximum, Integral,
Values. The list of points to sample can be specified as
Points(Point(...) Point(...) ) before Sample=Values is
specified.
Quantities also can be measured for 1D cross sections through the current
structure. In this context, Sample may assume the following values: Layers,
InterfacePosition, Moments, ProjectedRange,
StandardDeviation, Skewness, Kurtosis, Minimum, Maximum,
Integral. The position of the 1D cut is specified using the Where
subcommand. The parameters Value=<float> and Sample=Position can
be specified, to report the position of each occurrence of the specified value in the
1D cut.
Comparing the
Current
Simulation to a
Master File
The measurement of quantities in the current structure also can be used to
compare the current simulation result with a master file, given in TDF or TIF
format. The comparison of the current simulation result to a master file requires
you to specify the name of the master file in the CompareTo parameter. If the
parameter CompareTo is not provided in an Extract command, no
comparison is done and instead just the measurement in the current device is
performed. All quantities that can be measured in the current device structure can
also be used in the comparison. If a comparison is done, each of the quantities is
measured twice, once in the current structure and once in the structure given by
the master file. The measured results are compared.
Usually during the comparison relative quantities are compared; the absolute
value of the difference of the two measured quantities is divided by the maximum
of their absolute values. The parameters CompareRelative (default) or
CompareAbsolute can be specified to compute the absolute differences rather
than relative differences.
When comparing two results the parameter, Sample may assume additional
values. For Sample=InterfaceDeviation. the two structures are
compared. Each mesh point on an interface on one structure is located in the other
structure and the closest point on an appropriate interface there is searched. The
maximum distance is checked and reported.
When comparing fields in the two structures, the parameters CutOffEpsilon,
CutOffMaximum and CutOffMinimum can be specified to restrict the data
values to a certain data range before the comparison. CutOffEpsilon will
replace all values with smaller magnitude than the specified value by +/
CutOffEpsilon. If necessary, a separate cut off value for negative values of
small magnitute can be specified as CutOffEpsilonN. When comparing fields,
it is possible to first compute the largest values and then restrict the data range to a
certaing amont below the largest value. The measured largest value is divided by
the value, specified as CutOffMagnitude. (Separate cut off of negative values
can be specified as CutOffMagnitudeN.)
Extract Taurus Process Fundamentals
274 TP 2005.10
Draft 8/11/05
When comparing fields on the mesh or along 1D cuts, the parameter
Sample=LeastSquareDifference may be specified.
When comparing two structures Sample=Values does not require you to
specify a list of points. By default, the values are compared for all mesh points of
the master file.
If the parameter ErrorThreshold is specified in an Extract command that
compares two structures, absolute or relative differences larger than the specified
threshold will be registered and reported as error. All comparisons will be
performed, but at the exit from the extract command Taurus Process will stop with
an error. In case of an error a TDF or TIF file with the absolute or relative
differences of the field quantities will be created in the current working directory.
The file name is derived from the master file name by appending “_diff” to the
base name of the file before the file extension.
The parameters SnapEpsilon, SearchEpsilon and
ErrorThresholdNotFound control the behavior if the mesh of the current
simulation structure and the master file differ. If a mesh point of the master device
is searched in the current device and a mesh point within a distance of
SnapEpsilon is found, the two nodal values are compared without
interpolation. The specified ErrorThreshold is applied. Otherwise, the value
is interpolated and the comparion is done with a specified
ErrorThresholdNotFound. If a point is not found in the correct region, a
sphere of radius SearchEpsilon is searched for a point in the correct region. If no
such point is found, an error is reported.
Note:
The execution of several measurements and comparisons within one
extract command is possible. The order of the parameters is relevant. All
parameters that shall be used by one extraction (e.g., CutOffEpsilon,
ExtractFile, Only) must be specified before the actual extraction is
selected using the Sample parameter.
Writing a
Difference File
If a master file is specified as CompareTo and a second file name is specified as
DifferenceFile, a TDF or TIF file is generated that contains the difference
between the current simulation and the master file. Depending on the parameters
CompareRelative and CompareAbsolute, the absolute or relative
differences are computed and stored. The difference file will always contain the
mesh and structure of the master file, the field values represent the difference of
the values interpolated in the current device structure and the values in the mesh
points of the master device.
Repeating Printout Extract(Print) can be specified to repeat the standard printout of min, max,
integral and number of regions, mesh points etc.
Taurus Process Fundamentals Extract
TP 2005.10 275
Draft 8/11/05
Extracting a
Boundary
Description
Extract(DefineBoundary) can be specified to create a simple input file
for TaurusProcess containing a set of DefineRegion commands. These
commands contain polygons that define the current set of region boundaries as
they are represented by the boundary fitted mesh.
Examples Extraction of the integral of the arsenic concentration field into file aaa.ext, of the
minimum of the arsenic field into file a1.ext, and appending the value of the
arsenic field at the point (x,y) = (0,0.1) to the end of file aaa.ext:
Extract(
Only(Name = arsenic)
ExtractFile = aaa.ext
Sample = integral
ExtractFile = a1.ext
Sample = minimum
Append
ExtractFile = aaa.ext
Points(
Point(x=0 y=0.1)
)
Sample = values
)
Extraction (printout) of layer thicknesses and moments of 1D cross section of
arsenic:
Extract(
Where(
Line(
Start(x=0 y=3)
End (x=0 y= 3)
)
)
Layers
What(Profile = arsenic)
Moments
)
Comparison of the current simulation with a master file. Report only errors. Com
pare several items of the simulation mesh, then compare minimum, maximum,
integral and nodal values of arsenic, boron and antimony profiles. For nodal value
comparison use all mesh points of the mesh in mesh file test/master_ox1_5.tdf,
and compare the values to the interpolated values found at the same coordinate in
the current mesh. Ignore all values below 1e12. Finally, compare two level set
functions in the data range t0.2:
Extract(
CompareTo = test/master_ox1_5.tdf
Summary = true
ErrorThreshold = 0.001
Extract Taurus Process Fundamentals
276 TP 2005.10
Draft 8/11/05
Sample = numberOfNodes
Sample = volume
Sample = numberOfElements
Sample = minimumEdgeLength
Sample = maximumEdgeLength
Sample = aspectRatioTree
Sample = aspectRatioOther
CutoffMinimum = 1e12
Only(
Name = arsenic
Name = boron
Name = antimony
)
Sample = minimum
Sample = maximum
Sample = integral
Sample = values
Summary = false
ErrorThreshold = 0.001
CutoffMinimum = 0.2
CutoffMaximum = 0.2
Only(
Name = levelsetFunction0
Name = levelsetFunction1
)
Sample = minimum
Sample = maximum
Sample = values
)
Detailed comparison of 2D result files using a template. Input file:
TaurusProcess()
Define(
FILE1=”a.tdf”
FILE2=”master/a.tdf”
EEEE=0.001
)
include(“template”)
The included template file may be:
DefineDevice(add(name=all)
meshfile=$FILE1
)
extract(
compareto=$FILE2
errorthreshold=expr(10 * $EEEE)
summary=true
sample=numberOfNodes
sample=NumberOfElements
errorthreshold=expr($EEEE)
errorthresholdnotfound=expr(20 * $EEEE)
Taurus Process Fundamentals Extract
TP 2005.10 277
Draft 8/11/05
sample=Volume
cutoffminimum=1e12 # cm3
cutoffmaximum=1e25
cutoffepsilon=1e12
only(
name=aluminum
name=antimony
name=arsenic
name=activealuminum
name=activeantimony
name=activearsenic
name=activeboron
name=activegermanium
name=activeindium
name=activephosphorus
name=boron
name=cistar
name=cluster
name=cvstar
name=damage
name=germanium
name=grossdoping
name=indium
name=interstitial
name=ipair
name=ntype
name=oxygen
name=nitrogen
name=phosphorus
name=ptype
name=silicon
name=steam
name=vacancy
name=acceptordoping
name=donordoping
)
#sample=minimum
#sample=maximum
#sample=integral
sample=values
cutoffepsilon=50 # MPa
cutoffminimum=1e25
cutoffmaximum=1e25
only(
name=dilatationalstress
name=stressxx
name=stressxy
name=stressxz
name=stressyy
name=stressyz
name=stresszz
name=vonmiesesstress
name=deviatoricstressxx
Extract Taurus Process Fundamentals
278 TP 2005.10
Draft 8/11/05
name=deviatoricstressyy
name=deviatoricstresszz
)
#sample=minimum
#sample=maximum
sample=values
cutoffepsilon=1e6 # cms1
cutoffminimum=1e25
cutoffmaximum=1e25
only(
name=displacementvelocity
# name=xvel
# name=yvel
)
#sample=minimum
#sample=maximum
sample=values
cutoffepsilon=1e6 # um
cutoffminimum=1e25
cutoffmaximum=1e25
only(
# name=displacement
name=displacementx
name=displacementy
name=displacementz
)
#sample=minimum
#sample=maximum
sample=values
cutoffepsilon=1e6
cutoffminimum=1e25
cutoffmaximum=1e25
only(
name=mismatchstrain
)
#sample=minimum
#sample=maximum
sample=values
cutoffepsilon=1e12 # cm3
cutoffminimum=1e25
cutoffmaximum=1e25
only(
name=netdoping
)
#sample=minimum
#sample=maximum
sample=values
cutoffminimum=0.05 #um
cutoffmaximum=0.05
Taurus Process Fundamentals DefineContact
TP 2005.10 279
Draft 8/11/05
cutoffepsilon=0.0
compareabsolute=true
only(
name=meshspacing
name=meshspacingx
name=meshspacingy
name=meshspacingz
)
sample=values
cutoffepsilon=1.e10
cutoffminimum=1e25
cutoffmaximum=1e25
comparerelative
remainingDatasets
#sample=minimum
#sample=maximum
sample=values
errorthreshold=expr($EEEE / 5.)
compareabsolute
sample=InterfaceDeviation
)
DefineContact
Use the DefineContact command to define contacts for subsequent device
simulation. Contacts are not used in a process simulation. Contacts are defined by
creating surface elements in a postprocessing of a given simulation mesh; defining
a contact does not require a regrid. Surface elements (points in 1D, edges in 2D
and triangles or rectangles in 3D) for the contacts are created at the surface of
existing volume mesh elements, either at the outer surface of the mesh (where the
volume element has no neighbor) or at the interface between regions (where the
volume neighbor of the element belongs to another region). No mesh points are
added when a contact is defined. The points and coordinates that are used in
DefineContact commands are by default already included in the initial grid.
After each regridding step, a new set of surface elements is constructed for each
contact.
Each contact must be defined using a DefineContact command or must be
present in a loaded TDF or TIF file. For contacts, loaded from a TDF or TIF file
an unsigned distance function from the set of surface elements is constructed. In
addition, the set of volume regions that is touching the contact is registered. After
each regrid all surface elements in close distance to the previously defined contact
will be selected for the discrete representation of the contact in the new mesh.
Only points on the surface of regions that had been initially touching the contact
are used.
In a DefineContact command, the Name and the Type of the contact should
be specified, Type=Contact is the default, Type=ThermalContact the
DefineContact Taurus Process Fundamentals
280 TP 2005.10
Draft 8/11/05
alternative choice. The other parameters of the DefineContact command can
be combined to define a selection rule for the surface elements. The Region and
Material parameters can be used to select regions; if specified, the surface
elements must be on the surface of the specified regions. The boolean parameters
Top, Bottom, Left, Right, Front, Back, Interface,
ExternalBoundaries and ReflectiveBoundaries can be specified to
select surface elements on certain sides of the outer surface or just elements on
interfaces between regions. A set of geometry objects can be specified InABox.
Only surface elements inside of the objects will be admitted.
If a Point is specified, the surface of the connected component of the specified
region closest to the point is selected for the contact. Not all coordinates of the
point need to be specified. The check for the closest connected part is done only
for the specified coordinates.
A Polygon can be specified to locate a contact in 2D. A Polygon can be
specified in one of the coordinate planes, together with the extension in the
normal direction, e.g. a Polygon in the xz plane and y(Min=<float>
Max=<float>) to define a contact for 3D, similar to a cylinder, defined
InABox.
Finally one or several Edges can be specified in 2D and one or several
Polygons can be specified in 3D to define a contact at these objects. Again an
unsigned distance function to these objects is used to identify points that belong to
the contact.
The parameter AcceptAsInside defines a small negative value. If the signed
distance from the specified geometry objects is larger than the specified value, the
point is inside or close to the boundary, the point is admitted for the contact. When
an unsigned distance function is used, the negative value of the distance function
is required to be larger than AcceptAsInside. A surface element is accepted
for a contact, if all its corners are accepted.
Note:
The set of mesh points and surface elements of a contact depends on the
chosen simulation mesh. The intersection of a userdefined geometry
object, polygon, extruded polygon or brick is NOT included into the sim
ulation mesh. Therefore, the area of a surface contact may change dur
ing mesh refinement. By default, the points and the min and max values
specified in the contact definition are included into the construction of
the initial grid.
Note:
If the mesh is not refined sufficiently or if the polygon or limits enclose a
too small volume, a contact may have no elements or even no points. A
warning is given when an attempt is made to save a file with such a con
tact. The file may be corrupt or yield incorrect results in subsequent sim
ulations. To resolve this problem, the mesh should be refined more or
Taurus Process Fundamentals DefineContact
TP 2005.10 281
Draft 8/11/05
larger geometry objects should be specified in the DefineContact
command.
Note:
Earlier versions of TaurusProcess & Device were automatically trans
lating each region of conductor material into a contact. This is no longer
done in Taurus Process. All contacts need to be present in the loaded ini
tial structure or need to be defined by the user.
Note:
If it is necessary to change the material of a volume region, e.g. to Elec
trode, the RedefineRegion command must be used. The Select
parameters in the RedefineRegion command can be used to split vol
ume regions before defining contacts, e.g. after a ReflectMesh com
mand or when a conductor material was deposited as one region and
split by etching into several pieces.
Examples Defining a substrate contact:
DefineContact(
Region = Substrate Bottom
)
Defining a contact in 2D by a rectangle:
DefineContact(
Name = substrate
x(min = 0.1 max = 1.1)
y(min = 0.45 max = 1.1)
)
Defining a contact in a 3D mesh by a polygon:
DefineContact(
Name = drain
Polygon(
Point(x=0.7 y=0.001 z=0)
Point(x=0.8 y=0.001 z=0)
Point(x=0.8 y= 0.25 z=0)
Point(x=0.9 y= 0.25 z=0)
Point(x=0.9 y=0.001 z=0)
Point(x=1.1 y=0.001 z=0)
Point(x=1.1 y= 0.5 z=0)
Point(x=0.7 y= 0.5 z=0)
)
Z(min=0.1, max=0.1)
ReflectiveBoundaries = false
)
Defining a contact by one point to pick the closest connected piece of a region:
DefineContact(
Atomistic Diffusion Simulation Taurus Process Fundamentals
282 TP 2005.10
Draft 8/11/05
Name = source
Region = aluminum_1
Point(x=0.1 y=0.1)
)
Atomistic Diffusion Simulation
TaurusProcessAtomistic (TPA) is an option to TaurusProcess that enables
kinetic Monte Carlo diffusion simulation based on the well known DADOS
engine developed at the University of Valladolid in Spain. You can use TPA to
perform atomistic simulation of diffusion and ion implantation.
TPA Grid TPA uses DADOS internal grid to store the geometry and material assignments of
the structure being simulated. The grid also is used to accelerate the search for
possible interaction partners for each defect in the simulation. The TPA grid is a
uniform tensor product grid with independent spacings in each axis direction.
Each rectangular grid box is about 1 nm * 1 nm * 1 nm in size. The grid is built
completely automatically and can not be adjusted by the user.
The number of boxes in each direction is always a power of two and is reported in
the output. For example:
Boxes: X=128, Y=8, Z=8, 0.9375nm x 1.25nm x 1.25nm
Means that the number of boxes along the x, y, and zaxes (corresponding to y,
x, and zaxes in TaurusProcess simulation coordinates, respectively) are 128, 8,
and 8, and that the box sizes along those directions are 0.9375 nm, 1.25 nm, and
1.25 nm, respectively. The total number of boxes is limited by the BitsBoxes
parameter in the dados.ddp file. The default value is 19 so that up to 2
19
boxes
can be generated for the large structures.
Coordinates reported in the output file by TPA are given in the internal DADOS
coordinate system which has the positive xaxis pointing into the wafer. This
differs from TaurusProcess coordinate system which has the positive yaxis
pointing into the wafer. The transformation between these two coordinate systems
is performed automatically when data is exchanged with the DADOS engine and
all data in .tdf and other data files is always in TaurusProcess coordinates. You
can ignore this transformation except for interpreting TPA messages in the output
file.
TPA Simulation
Domain
All TPA simulations are performed in a 3D domain. If the TaurusProcess
structure is 1D or 2D, the missing lateral dimensions are automatically created to
form a 3D simulation domain for TPA. For a 2D structure, the default extension in
the zdirection is MinZ=10nm and MaxZ=10nm. For a 1D structure, the default
extension is MinX=10nm, MaxX=10nm, MinZ=10nm, and MaxZ=10nm.
By default, the TPA simulation domain is the same as the TaurusProcess
simulation domain, except the default minimum ycoordinate is set to the location
of the highest point of material silicon instead of MinY. This means the TPA
Taurus Process Fundamentals Atomistic Diffusion Simulation
TP 2005.10 283
Draft 8/11/05
domain is the same in the lateral directions and smaller in the vertical direction
than the TaurusProcess domain.
The size of the TPA simulation domain is reported in the output, for example:
The Dados simulation domain is (0,0.020625,0) um to
(0.01,0.099375,0.01) um.
where the axes are listed in the order X, Y, and Z, and correspond to the Taurus
Process axes.
You can specify the size of the TPA domain by using the DadosDomain
subcommand inside the DefineDevice command.
Note:
TPA models diffusion inside its simulation domain using reflective
boundary conditions. When TPA is active, no diffusion is simulated out
side the TPA domain and no impurity fluxes are exchanged across the
boundaries of the TPA simulation domain.
Recommended
Domain Size
For 3D simulations of deep submicron transistors, there is not much choice, just
make your TaurusProcess simulation domain large enough to contain one quarter
of the transistor, and TPA will automatically use the same domain.
For a 1D simulation (that can be compared to SIMS data), TPA uses as small
lateral domain sizes as possible to save CPU time. However, simulation domains
with lateral sizes smaller than 20 nm may be too small to represent extended
defects. It might be desirable to increase the lateral size if you are interested in a
1D profile with as little statistical noise as possible.
The lateral domain area is multiplied by the implant dose to obtain the number of
ions that are implanted. For the high impurity concentration levels, you might get
enough particles in a relatively small simulation domain. For example, the implant
dose of 10
15
cm
2
creates 4,000 ions for the 20 nm * 20 nm lateral domain. This
might be enough to get low statistical noise, while any further increase in the
lateral domain size will only slow down simulation.
To obtain good statistics for lower concentrations or lower doses, it is necessary to
increase the lateral size of the simulation domain. For example, an implant dose of
10
12
cm
2
will create only 4 ions for the 20 nm * 20 nm lateral domain.
Randomization You can investigate statistical variations of a process flow, by selecting a different
seed for the random number generator used by TPA in each run. To use a different
seed in each run, specify the boolean parameter Randomize in either the
Diffuse or Implant command. You also can explicitly specify the value of
the seed using the Seed parameter in either the Diffuse or Implant
command. The seed can be set to any value from 0 to 31328. If a value outside of
this range is provided, it is automatically converted into the valid range.
Atomistic Diffusion Simulation Taurus Process Fundamentals
284 TP 2005.10
Draft 8/11/05
Boundary
Conditions
Similar to the continuum simulation models, TPA is using reflective boundary
conditions at the left, right, front, and back sides of the simulation domain. There
is an option to use periodic boundary conditions for extended defects like {311}s
and dislocation loops.
It can be defined by setting DebugFlag to 4 in the dados.ddp file. This will
apply periodic boundary conditions only to the extended defects and will still use
reflective boundary conditions for everything else. This option can be used 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 get meaningful
results. This option should not be used for 3D simulations if there are lateral
variations in geometry or profiles.
Estimating CPU
Time
The CPU time and memory necessary for kinetic Monte Carlo diffusion
simulation are directly proportional to the number of particles in the structure. For
a typical 2 GHz machine, TPA performs up to 1 million events (jumps) per
second.
In equilibrium conditions without implant damage, concentrations of mobile
species are very low and there are not many events (jumps) happening. Therefore,
the simulation requires few events to reach the desired diffusion time and
proceeds very quickly.
For transientenhanced diffusion after an implant step, it takes some time to
anneal the implant damage. Depending on the implant conditions, each implanted
ion generates many (from 10
1
to 10
3
) interstitials and vacancies. Each interstitial
and vacancy makes many (up to 10
5
) jumps before recombining at the surface.
This means that it takes about 1 second of CPU time to anneal 1 implanted ion.
Engaging TPA To activate TPA and perform kinetic Monte Carlo diffusion simulation, use
following Physics command:
Physics(
Diffusion(Model=dados)
)
All subsequent Diffuse and Implant steps in the input file will be simulated
using TPA.
Once in atomistic mode, you should not select a different diffusion model later in
the simulation flow. It is not possible to transfer all of the details of the atomistic
simulation to the continuum mode without simplifications because the continuum
models have fewer possible cluster configurations.
TPA and Device
Structure
When the first Diffuse or Implant step is encountered in the input file after
the DADOS diffusion model is selected, the existing geometry and material
assignments of the device structure are transferred to the TPA grid. Each box in
the TPA grid is given a material assignment according to the material present in
Taurus Process Fundamentals Atomistic Diffusion Simulation
TP 2005.10 285
Draft 8/11/05
the finite element mesh at the point that corresponds to the center of the box.
Boxes in the TPA grid cannot be subdivided and can have only one material
assignment. Hence, the representation of the device structure in TPA is a
Manhattanstructure that may deviate somewhat from the geometry in the finite
element mesh. Since the TPA boxes are roughly 1 nm on a side, the scale of these
deviations is usually small.
At present, TPA supports impurity diffusion in the following materials: silicon,
oxide, and nitride. Impurity diffusion in all other materials is ignored in TPA.
Note:
The representation of the device structure used by TPA is not affected by
Deposit or Etch commands that occur after the initial transfer of the
device structure.
Conversion From
Continuum to
Atomistic
When the first Diffuse or Implant step is encountered in the input file after
the DADOS diffusion model is selected, all impurity and point defect
concentrations are converted from continuum representation into appropriate
particles. Particles are created at random positions according to the concentrations
stored in the corresponding fields. For example, a concentration of 10
22
cm
3
would generate about 10 particles per 1 nm
3
box. A concentration of 10
15
cm
3
,
however, would generate about 10
7
particles per box, which means that only
about one in 10
7
boxes would get a particle. If your entire silicon region is 0.1 µm
* 0.1 µm * 0.1 µm, then you should expect to see about 1 particle in the entire
region for a uniform concentration of 10
15
cm
3
.
Conversion of concentrations into particles is performed for point defects and
dopants only. Interstitials, vacancies, and substitutional impurity atoms are
transferred to the appropriate particle types. All other information, including small
and extended defects and dopantdefect clusters, is not transferred to TPA.
Once the conversion to an atomistic representation has been made, all detailed
information about the particles is stored in TPA until the end of the input file and
all subsequent implant and diffusion steps are performed in the atomistic mode.
Note:
The conversion from concentration fields to atomistic representation
occurs only once. After the initial conversion the only method to add
impurity atoms to the TPA simulation is through implantation. One con
sequence of this is that any Profile commands that are used in the
input file must be specified before the continuum to atomistic conversion
happens. All Profile commands after the initial conversion will be
ignored.
To obtain accurate correlations between the locations of the asimplanted particles
as well as the dopantdefect clusters that form during the implant step at wafer
temperatures close to room temperature, switch to the DADOS diffusion mode
before an implant step rather than before a subsequent diffusion step.
Atomistic Diffusion Simulation Taurus Process Fundamentals
286 TP 2005.10
Draft 8/11/05
The Monte Carlo implant model is recommended for implantation simulations
with TPA. If you use the analytic implant model or switch to the DADOS mode
after the implant steps, then the continuumtoatomistic conversion will
randomize the particle positions according to the concentrations and any
correlations between the particle locations will be lost. It is also not recommended
to switch to DADOS mode between diffusion steps because it is impossible to
adequately convert concentration of interstitials in {311} defects into the
appropriate atomistic representation of such defects.
Restart
Limitations
Once the atomistic diffusion model is selected, it is necessary to perform the rest
of the process flow in the same input file, because the TDF file does not contain
all necessary information to restart an atomistic simulation session.
Mapping Rules
for Particles and
Concentrations
Conversion from particles to concentrations happens at the end of each Implant
and Diffuse step while in the DADOS diffusion mode. The conversion does not
disturb the internal atomistic information in TPA in any way and is done for
extraction and visualization purposes only. Subsequent process steps will
continue to use the detailed internal atomistic information.
The conversion of particles to concentrations is controlled by the mapping policy.
The mapping policy can be specified in each Implant and Diffuse step. The
MappingPolicy parameter can be set to either Taurus or DADOS and
determines how particles are converted to concentrations at the end of each
process step. The default setting is Taurus. The Taurus mapping policy converts
DADOS particles to the closest possible variables and models available in
continuum mode. The alternative DADOS mapping policy creates a concentration
field for each internal DADOS particle type, including VM (negatively charged
vacancy), VMM (double negatively charged vacancy), etc.
Implantation in
DADOS Mode
It is recommended to turn on the DADOS diffusion mode before the implant steps
and to use the Monte Carlo implant mode rather than the analytic implant model.
In either case, the number of implanted particles is determined by the dose and the
surface area of the simulation domain (it is NOT controlled by the NIons
parameter of the Monte Carlo ion implantation!). During the implant simulation,
the implanted ions and implant damage are transferred to TPA to simulate the
effect of annealing on the implant damage evolution during the duration of the
implant.
When selecting the DADOS diffusion model before Monte Carlo implantation,
the results of the Monte Carlo implant simulation are transferred as coordinates of
each dopant and defect particle.
For the analytic implant model, continuum doping and point defect profiles are
converted to particle locations by interpreting the concentrations as a probability
to generate discrete dopant and defect particles with the “same” spatial
distribution.
The default wafer temperature during the implant step is 300
o
K. The default
implantation time is determined as time[s]=dose[cm
2
]/10
12
. It is recommended to
Taurus Process Fundamentals Atomistic Diffusion Simulation
TP 2005.10 287
Draft 8/11/05
specify the equipmentspecific wafer temperature (that can be as high as 50
o
C or
even 80
o
C) and implant time. This helps to accurately estimate the evolution of
implant damage during the implant step.
Recommended
Mesh for TPA
The finite element mesh in TaurusProcess does not affect how atomistic diffusion
is performed in TPA in any way. However, it can be important for the initial
conversion of the continuumtoatomistic data and especially for the visualization
of the concentrations generated from particles.
If the initial impurity profiles at the time of the continuumtoatomistic conversion
are nonuniform, then the TaurusProcess mesh needs to be fine enough to
accurately represent the profiles. This is an obvious requirement, and there are no
additional requirements for the atomistic simulation.
The results of TPA simulation can be displayed in TaurusVisual either as
particles or as concentrations. The TaurusProcess mesh does not affect how the
particles are created nor how they are visualized. It is important, however, when
you look at the concentrations.
If the mesh is too fine, then the concentration profile will be noisy. For example,
consider a TaurusProcess mesh with the elements of size 10 nm * 10 nm * 10 nm.
If you are looking at concentrations above 10
20
cm
3
, then the profile will be very
smooth, as one particle contributes less than 1% variation in concentration for
such an element size. Lower concentrations will look more noisy. At the level of
5*10
17
cm
3
, half of such elements will show 10
18
cm
3
instead, while the other
half will show zero which looks too noisy to interpret well.
Therefore, it is recommended to make the mesh elements as large as possible as
long as they are fine enough to represent details of the profiles. This balancing
will be different for different concentration levels and gradients.
One special case here would be quasi1D simulation for comparison with the
SIMS data. In this case, it is recommended to make the vertical mesh fine enough
to resolve the specific impurity profile, while make only one element in the lateral
directions. This can be done by specifying lateral mesh spacing as large as the
lateral size of the simulation domain. This ensures that all particles at certain
depth are contained in a single element which minimizes the random noise.
Saving and
Visualizing TPA
Results
The results of atomistic diffusion and implantation simulations are converted into
continuous dopant concentrations that can be saved in a TDF or TIF file that can
be used later for visualization or subsequent simulation. The results also can be
saved in a series of the ASCII text files, one per each particle type. Each file has a
base name that is specified by the DADOSFile parameter of the Save command.
For each of these ASCII files the file extension is automatically added. It
corresponds to the type of particle, like .boron or .vacancy.
Each line in the ASCII text file represents one particle providing the location in
the simulation coordinate system. The three coordinates (X, Y, and Z) are given in
nanometers.
Atomistic Diffusion Simulation Taurus Process Fundamentals
288 TP 2005.10
Draft 8/11/05
When saving a TDF file, the keyword MCData can be used to display the position
of the DADOS particles in TaurusVisual. The TDF file will contain the
continuous concentrations in the usual data fields. Each DADOS particle type is
stored as a “region”, the particles will become visible when disabling the display
of the silicon region or displaying silicon as a transparent or semitransparent
region.
CHAPTER 3
TP 2005.06 31
Draft 8/11/05
Model Descriptions
3
This chapter covers the following topics:
• Diffuse Command
• Diffusion of Impurities
• Activation of Impurities
• Segregation of Impurities
• Diffusion of Point Defects
• Interstitial Clustering Model
• Injection and Recombination of Point Defects at Interfaces
• Atomistic Diffusion Simulation
• Oxidation
• Stress Modeling
• Silicidation
• Ion Implantation
• Deposition
• Etch
• Numerical Methods
• References
This chapter describes the modeling capabilities of the Taurus Process for the
analysis of fabrication processing steps:
• Equations used to model the physical processes. The equations are described
in terms of the command parameters documented in Chapter 4.
• The available numerical solution methods to solve the linear equations are
described.
Diffuse Command Model Descriptions
32 TP 2005.06
Draft 8/11/05
Diffuse Command
The Diffuse command models all high temperature process steps: inert
annealing, predeposition, oxidation or growth of silicides. The selection of the
appropriate equations to solve is based on the analysis of the current structure, the
models, selected in the Physics commands or the default physics setup and the
parameters specified in the diffuse command itself.
Time
The Time parameter specifies the duration of the diffusion step. The default time
unit is minutes; to specify time in seconds, you must add the unit: Time=30s.
By default each Diffuse command starts simulation with a small first time step.
If the parameter Continue is specified, the last time step from the preceding
Diffuse command is used. The initialTimeStep and maxTimeStep,
parameters can be prescribed. See Numerical Methods, p. 3179 for more details
on time discretization and control parameters.
Temperature
The Temperature parameter specifies the temperature in degrees Celsius (
o
C)
of the anneal step. To specify a temperature in Kelvin(
o
K), the user must add the
unit: Temperature=1000K.
A temperature ramp may be specified using the parameter EndTemperature.
In a ramp, Temperature defines the temperature at the beginning of the process
and EndTemperature defines the temperature at the end of the anneal step.
The temperature varies linearly with anneal time, but each time step is computed
at a constant temperature. MaxTemperatureChangePerTimeStep can be
specified to restrict the time step.
Ambient Gas Pressure
In the Diffuse command the pressure of the ambient gas can be specified as
Pressure. There is no unit string allowed when defining the pressure, the
specified value is interpreted as atmospheres, the default pressure is 1 (i.e.,
1 atmosphere).
Similar to a temperature ramp, a pressure ramp may be specified by prescribing
both the Pressure and the EndPressure parameters.
MaxPressureChangePerTimeStep can be specified to limit the time steps.
Model Descriptions Diffuse Command
TP 2005.06 33
Draft 8/11/05
Ambient Composition and Oxidation of Materials
The user may specify the gas flow for the components of the ambient gas
Oxygen, Steam, Hydrogen, HCl, and Nitrogen. The flow is specified as a
float number: Oxygen=0.1. The unit for the gas flow may be chosen arbitrary
e.g. as l/min. The simulator uses only the ratio of a particular flow to the sum of
all flows to determine the partial pressures. A unit string must not be specified in
the input.
The default ambient is inert, no flows need to be specified for inert anneals.
An arbitrary combination of the oxidizing and neutral components is allowed. If
several oxidizing components are provided: (dry) oxygen and steam, each of them
is assumed to diffuse through the oxide regions and to react at the oxide/
semiconductor interfaces.
If both oxygen and hydrogen are specified in the Diffuse command, their flows
are converted in a 1:2 ratio into an equivalent steam flow until at least one of the
oxygen or hydrogen flows disappears. If there is a residual oxygen after the
conversion, oxygen will participate in oxidation in parallel with the steam. If there
is a residual hydrogen, it will just reduce the partial pressure of the steam.
Other Definitions
of the Ambient
Composition
The composition of the ambient may also be specified using one of the commonly
used DryO2, WetO2 or Pyrogenic process specifications as a keyword of the
Diffuse command. These atmospheres are translated internally into flows of
ambient gas:
• DryO2 translates to: oxygen=1.
• WetO2 translates to: oxygen=0.08, steam=0.92.
• Pyrogenic translates to: steam=1.
Time Stepping in
Oxidation
Each time step of an oxidation is computed on a fixed mesh. The modification of
the layer structure is computed by solving level set equations. At the end of each
time step the mesh is adapted and fitted to the new boundary positions and the
data is interpolated. The parameter MaxDisplacementPerTimeStep can be
prescribed to limit the change of the structure in each time step. The time step will
be adjusted according to the interface reactions and the mechanical deformations
of the structure.
Dopant Predeposition
A dopant predeposition step can be modeled using the Diffuse command. The
value at the exposed surface can be prescribed for one or several of the dopants
using a predeposit subcommand Predeposit(name=<string>
value=<float>)for each dopant. The concentration is specified in atoms per
cubic centimeter. The unit string cm3 may be specified.
Diffuse Command Model Descriptions
34 TP 2005.06
Draft 8/11/05
Impurity predeposition can be combined with thermal oxidation. The resulting
oxide is always modeled as a highquality thermal oxide with high dopant
concentration; the effects of high impurity concentrations on the oxide
characteristics (density, structure and viscosity) are not simulated.
Examples
Anneal in inert ambient:
Diffuse(
Time = 10min
Temperature = 1000C
)
An oxidation in pyrogenic steam can be specified as:
Diffuse(
Time = 10min
Temperature = 1000C
Pyrogenic
)
An oxidation in high pressure steam can be specified as:
Diffuse(
Time = 10min
Temperature = 1000C
Steam=1
Pressure=10
)
Anneal with predeposition of both Boron and Arsenic:
Diffuse(
Time=10min Temperature=1000C
Predeposit(name=Boron value=1e15cm3)
Predeposit(name=Arsenic value=1e18cm3)
)
The specification of an anneal in inert ambient can be combined with a control of
the time integration parameters:
Diffuse(
Time = 10min
Temperature = 1000C
TrBdf2
InitialTimeStep = 0.5min
NiniSteps = 2
TimeStepFactor = 0.5
)
Model Descriptions Diffusion of Impurities
TP 2005.06 35
Draft 8/11/05
Diffusion of Impurities
This section describes the equations that model the diffusion of dopant atoms in
the material. By default, diffusion of dopants is simulated in semiconductor and
insulator materials, except in the ambient. The user may select to solve the
diffusion equations in other materials by using the ActivateEquation
command (see Chapter 4, ActivateEquation, p. 411).
Selection of
Diffusion Model,
Specification of
Parameters
Taurus Process requires to select the diffusion model before the Diffuse
command. By default, the simple PDFermi model is used in all materials. You
should always specify the same diffusion model for all dopants. You do this by
not indicating any equation in the Physics command:
Physics(
Material=Silicon
Diffusion(Model=PDFull)
)
Note that you should not specify the point defect based models (PDFull and
PDTrans) for insulator materials.
If you want to modify parameters for the diffusion of the dopants or point defects,
their reactions in the bulk materials or at the material interfaces, you must also
specify these parameters using Physics commands prior to the Diffuse
command. Finally, if the diffusion model you want to use requires to compute
point defect profiles in the implantation, you must specify the diffusion modes
prior to the Implant command. See Chapter 4, Physics, p. 4145 for a detailed
description of the Physics command.
Diffusion Equation
The diffusion equation solved for each impurity present in the structure is:
Equation 31
where:
• is the chemical impurity concentration.
• is the divergence operator.
• and denote the impurity fluxes.
∂C
∂t
 ∇ J
m
J
n
+ ( ) ⋅ – =
C
∇
.
J
m
J
n
Diffusion of Impurities Model Descriptions
36 TP 2005.06
Draft 8/11/05
Impurity Fluxes The impurity fluxes in the interior of a material are given by:
Equation 32
Equation 33
where:
• and are the flux and diffusivity of impurities diffusing with (or as)
interstitials.
• and are the flux and diffusivity of impurities diffusing with vacancies.
• is the charge of the ionized impurity (+1 for donors and –1 for acceptors).
• is the electronic charge.
• is Boltzmann’s constant.
• is the absolute temperature.
• is the mobile impurity concentration.
• is the gradient operator and model the enhancement (or
retardation) of diffusion due to nonequilibrium point defect concentrations.
Mobile Impurities
and Ion Pairing
Taurus Process includes a model for the pairing of positively and negatively
charged dopant ions (see References [4], [5], and [6]). This model reduces the
concentration of mobile dopant atoms according to:
Equation 34
Equation 35
where is the electrically active dopant concentration and and are the
ion pairing factors for donors and acceptors, respectively. Ion pairing reduces the
diffusivity of dopants where there is a large concentration of dopants of the
opposite type.
The ion pairing model assumes that positively charged donors can bind with
negatively charged acceptors to form neutral pairs:
Equation 36
The forward reaction rate is proportional to the number of unpaired donor and
acceptor ions, while the reverse reaction rate is proportional to the number of
pairs.
J
m
D
m
∇ C
m
M
M′

. ,
 `
z
s
C
m
M
M′

. ,
 `
qE
kT

– – =
J
n
D
n
∇ C
m
N
N′

. ,
 `
z
s
C
m
N
N′

. ,
 `
qE
kT
 – – =
J
m
D
m
J
n
D
n
z
s
q
k
T
C
m
∇ M M′ ⁄ N N′ ⁄
C
m
C
m
F
pd
C
a
donors ( ) =
C
m
F
pa
C
a
= acceptors ( )
C
a
F
pa
F
pd
D
+
A

P
→
←
+
Model Descriptions Diffusion of Impurities
TP 2005.06 37
Draft 8/11/05
In equilibrium:
Equation 37
where and are the total concentrations of electrically active donors and
acceptors, respectively, is the concentration of ion pairs, and is a
proportionality factor. Equation 37 can be solved for the number of ion pairs:
giving:
Equation 38
The pairing factors are then given by:
Equation 39
Equation 310
The parameter is given by:
Equation 311
where denotes the intrinsic density and Omega is a parameter which can be
changed using the Physics command; the default value for silicon and
polysilicon is 6.0, (see Reference [5]).
The ion pairing model can be enabled or disabled for each material by the
PairingModel parameter of the Physics command. By default, the model is
enabled for silicon and polysilicon and disabled for all other materials.
The ion pairing model is significant because it allows the dependence of the
impurity diffusivity to be modeled in both Ntype and Ptype materials. In
particular, it may reduce the diffusivity of boron in Ntype materials without
introducing a strong increase in diffusivity at high Ptype concentrations.
Electric Field Taurus Process uses the zerospace charge assumption for the electric field. In
insulator and conductor materials, the electric field vector is neglected. In
semiconductor materials, the electric field is computed as:
Equation 312
N
d
( N
p
) N
a
N
p
– ( ) ΩN
p
= –
N
d
N
a
N
p
Ω
N
p
1
2
 N
d
( N
a
Ω) N
d
( N
a
Ω)
2
4N
d
N
a
– + + – + + =
F
pd
1
N
p
N
d
 –
. ,
 `
= donors ( )
F
pa
1
N
p
N
a
 –
. ,
 `
= acceptors ( )
Ω
Ω Omega n
i
=
n
i
E
E ∇ψ – =
kT
q

1
n
∇n – =
Diffusion of Impurities Model Descriptions
38 TP 2005.06
Draft 8/11/05
where is the electron concentration. By assuming local charge neutrality, the
electron concentration is written as:
Equation 313
where:
• and are the sums of the electrically active donor and acceptor impurity
concentrations, respectively.
• is the intrinsic carrier concentration as defined in Equation 321.
The electric field term results in a coupling between the diffusion equations for
the different impurities.
Bandgap and Effective Density of States
The electron and hole concentrations in semiconductors are defined by Fermi
Dirac distributions and a parabolic density of states. When these are integrated,
they yield:
Equation 314
Equation 315
where:
Equation 316
Equation 317
In Equations 314, 315, 316, and 317:
• and are the effective density of states in the conduction and valence
bands.
• and are the conduction and valence band energies.
• and are the electron and hole Fermi energies. For example,
E
Fn
=
_
qφ
n
and E
Fp
=
_
q
φp
.
The FermiDirac integral of order onehalf is defined as:
Equation 318
n
n
N
d
N
a
–
2

N
d
N
a
–
2

. ,
 `
2
n
i
2
+ + =
N
d
N
a
n
i
n N
C
F
1 2 ⁄
η
n
( ) =
p N
V
F
1 2 ⁄
η
p
( ) =
η
n
E
Fn
E
C
–
kT
 =
η
p
E
V
E
Fp
–
kT
 =
N
C
N
V
E
C
E
V
E
Fn
E
Fp
F
1 2 ⁄
η
S
( )
2
π

η
1 2 ⁄
1 exp η η
S
– ( ) +
 η d
0
∞
∫
=
Model Descriptions Diffusion of Impurities
TP 2005.06 39
Draft 8/11/05
Equations 314 and 315 can be simplified using Boltzmann statistics:
Equation 319
Equation 320
where neglecting bandgap narrowing, the intrinsic carrier concentration is:
Equation 321
Where E
g
is the bandgap energy of the semiconductor, that is:
E
g
= E
C
_
E.
V
.
As described in Reference [129], for the isotropic elemental and simple
compound semiconductors, the bandgap and effective density of states in the
conduction and valence band have temperature dependencies as follows:
Equation 322
Equation 323
Equation 324
where for homogenous material E
g
(300) can be specified using the EG300
parameter of the Physics command. The default values of EG300, ALPHA, and
BETA can be found in the physics_data.file. They all can be modified in the
Physics command. It should be noted that the thermal bandgap shift Eg(300) is
applied equally to both the conduction and valance band edges.
The effective densities of states are expressed as follows:
Equation 325
Equation 326
where N
c
(300) and N
v
(300) are conduction band density of states and valence
band density of states at room temperature, respectively. and are temperature
exponents for each band. The parameters can be specified as
n N
C
exp η
n
( ) ≈ n
ie
exp
q
kT
 ψ φ
n
– ( ) =
p N
V
exp η
p
( ) ≈ n
ie
exp
q
kT
 φ
p
ψ – ( ) =
n
ie
T ( ) n
i
T ( ) N
C
N
V
e
E
g
– /2kT
= =
E
g
T ( ) E
g
0 ( )
ALPHA T
2
T BETA +

E
g
300 ( ) ALPHA
300
2
300 BETA +

T
2
T BETA +
 – + =
– =
N
C
T ( ) 2M
C
2πm
de
kT
h
2

. ,
 `
3 2 ⁄
=
N
V
T ( ) 2M
V
2πm
dh
kT
h
2

. ,
 `
3 2 ⁄
=
N
C
T ( ) N
c
300 ( )
T
300

. ,
 `
e
c
=
N
V
T ( ) N
c
300 ( )
T
300

. ,
 `
e
v
=
e
c
e
v
Diffusion of Impurities Model Descriptions
310 TP 2005.06
Draft 8/11/05
TemperatureExponent in the Physics command. Their default values can
be found in the physics_data file. For silicon they are defined as:
ConductionDensityOfStates(
AtRoomTemperature = 2.86e19,
TemperatureExponent = 1.58
)
ValenceDensityOfStates(
AtRoomTemperature = 3.10e19,
TemperatureExponent = 1.85
)
Bandgap
Narrowing due to
Heavy Doping
Bandgap narrowing effect due to heavy doping can be activated by specifying
BGNActive=True in the Physics command.
The model proposed by Slotboom Reference [148] is selected when
BGNModel=Slotboom in the Physics command.
Equation 327
Equation 328
Equation 329
Equation 330
The parameters V0, N0, CON, and FC can be specified in the Physics
command.
An alternative bandgap narrowing model due to heavy doping (References [149]
and [150]) is selected when BGNModel=JainandRoulston is specified in the
Physics command. It represents general closedform equations for bandgap
narrowing for ntype and ptype semiconductors. The equations are derived by
identifying the exchange energy shift of the majority band edge, correlation
energy shift of the minority band edge, and impurity interaction shifts of the two
band edges. The band shift at conduction band edge and valence band edge for
is given by:
Equation 331
∆E
g bgn ,
V0 q ⋅
2kT

. ,
 `
–
ln
N
total
x y ( , )
N0

ln
N
total
x y ( , )
N0

. ,
 `
2
CON + +
=
∆E
C bgn ,
FC ∆ ⋅ E
g bgn ,
=
∆E
V bgn ,
FC1 ( )∆E
g bgn ,
=
n
ie
x y ( , ) n
i
exp ∆E
g bgn ,
– ( ) =
N 10 >
18
cm
3 –
∆E
nC
A
nC
N
10
18

. ,
 `
1
3

B
nC
N
10
18

. ,
 `
1
4

C
nC
N
10
18

. ,
 `
1
2

+ + =
Model Descriptions Diffusion of Impurities
TP 2005.06 311
Draft 8/11/05
Equation 332
For ntype semiconductor, the parameters ANC, BNC, CNC, ANV, BNV, CNV and
for ptype, APC, BPC, CPC, APV, BPV and CPV can be specified in the
Physics command. The resulting intrinsic carrier concentration due to this
bandgap change can then be expressed as:
Equation 333
Equation 334
The shifts of conduction and valence band edges result in an adjustment to the
electric field terms in the transport Equations 35 and 36 obtained by substitution
of Equations 319 and 320 into Equations 33 and 34.
Equation 335
Equation 336
The shifts of conduction and valence band edges result in an adjustment to the
electric field terms in the transport Equations 35 and 36 obtained by substitution
of Equations 319 and 320 into Equations 33 and 34.
Equation 337
Equation 338
The following Physics command fragment illustrates the usage of the models.
Bandgap(
BGNActive = True
# BGNModel = Slotboom  JainandRoulston
BGNModel = Slotboom # Slotboom’s model is default
BandgapNarrowing(
V0 = 0.009
N0 = 1e17
CON = 0.5
FC = 0.5
)
# Jain and Roulston’s model (Conduction band shift)
ClosedFormDeltaEC(
∆E
pC
A
pC
N
10
18

. ,
 `
1
3

B
pC
N
10
18

. ,
 `
1
4

C
pC
N
10
18

. ,
 `
1
2

+ + =
∆E
gn p ,
∆E
n pV ,
∆E
n pC ,
– =
n
ie
x y , ( ) n
i
∆E
gn p ,
( ) exp =
En
∇E
C
q
 =
Ep
∇E
V
q
 =
En
∇E
C
q
 =
Ep
∇E
V
q
 =
Diffusion of Impurities Model Descriptions
312 TP 2005.06
Draft 8/11/05
ANC = 14.84e03
BNC = 0.00e03
CNC = 0.78e03
APC = 0.00e03
BPC = 16.27e03
CPC = 0.18e03
)
# Jain and Roulston’s model (Valence band shift)
ClosedFormDeltaEV(
ANV = 0.00e03
BNV = 15.08e03
CNV = 0.74e03
APV = 18.46e03
BPV = 0.00e03
CPV = 2.63e03
)
)
StressInduced
Bandgap Change
The model of the stressinduced bandgap width and intrinsic carrier concentration
uses the stress tensor to compute the stressinduced change in the bandgap and
electron affinity, as well as the stressinduced change in the intrinsic carrier
concentration.
In addition to temperature and dopinginduced variations in the bandgap, Taurus
Process can consider variations in the bandgap due to mechanical stress and strain
in silicon regions. Under Boltzmann statistics, the change in the conduction and
valence band edges are as follows Reference [151]:
Equation 339
Equation 340
where:
• is the shift in the band edge of the i
th
ellipsoidal conduction minima.
• and are the shifts in the band edges for the light and heavy hole
maxima, respectively, that make up the valence band.
• is given by , where the parameters ML0 and MH0 can be
specified in the Physics command.
• The band edge shifts are computed using the deformation potential theory
from Bir and Pikus Reference [152]:
Equation 341
∆E
C
kT
∆E
Ci
kT
 –
. ,
 `
exp
3

i 1 =
3
∑
. ,
 `
ln – =
∆E
V
kT
x
0
1 x
0
+

∆E
Vl
kT

. ,
 `
exp
1
1 x
0
+

∆E
Vh
kT

. ,
 `
exp +
. ,
 `
ln =
∆E
Ci
∆E
Vl
∆E
Vh
x
0
ML0 MH0 ⁄ ( )
3 2 ⁄
∆E
Ci
D ε
11
ε
22
ε
33
+ + ( ) U ε
ii
+ =
Model Descriptions Diffusion of Impurities
TP 2005.06 313
Draft 8/11/05
Equation 342
where:
Equation 343
and ε is the strain tensor in the crystallographic coordinate system. The
deformation potential constants, D, U, A, B, and C can be specified in the
Physics command.
The spatial variations of and result in an adjustment to the electric field
terms that are used in the transport equations. The independent variations of
and are handled using a formulation similar to that used for graded
heterostructures. Using this formulation, and are included in Equations
335 and 336, respectively.
Stressinduced changes to the band edges can be selected with the
StressInducedBGNActive parameter of the Physics command. The
crystallographic orientation of a wafer must be specified in the DefineDevice
command (see Chapter 4, DefineDevice, p. 442). By default, a <100> oriented
substrate is assumed. Every time a structure is loaded from a TIF or TDF file the
orientation must be specified in the DefineDevice command. The following
example illustrates how to set the wafer orientation:
The nodal values of the 2D or 3D stress tensor should exist in the loaded file. The
stress tensor, , is converted to the strain used in Equations 341 through 343
using the compliance tensor S: . In silicon, PoissonsRatio=0.28 and
YoungsModulus=1.875e11Pa are used by default.
StressDependent Impurity Diffusion
When the stressdependent bandgap model is used in Taurus Process, it affects the
impurity diffusion in two ways:
• The change of the intrinsic carrier concentration modifies the concentrations
of the positively and negatively charged point defects, and hence the impurity
diffusivity via interaction with the charged point defects.
• The stress gradient leads to the gradient in the intrinsic carrier concentration.
This creates a builtin electric field that forces charged impurity atoms to drift.
DefineDevice(
MeshFile = ”mystructure.tdf”
Orientation = 111
PrimaryFlat(x = 1 y = 0 z = 0)
PrimaryFlatDirection = 110
)
∆E
V h l , ( )
A ε
11
ε
22
ε
33
+ + ( ) ξ t =
ξ
B
2
2

ε
11
ε
22
– ( )
2
ε
22
ε
33
– ( )
2
ε
33
ε
11
– ( )
2
+ + { ¦
C
2
ε
12
2
ε
13
2
ε
23
2
+ + ( ) +
=
E
C
E
V
E
C
E
V
∆E
C
∆E
V
σ
ε Sσ =
Diffusion of Impurities Model Descriptions
314 TP 2005.06
Draft 8/11/05
Generally, compressive stress narrows the bandgap and reduces the impurity
diffusivity. Tensile stress, on the contrary, widens the bandgap and increases the
impurity diffusivity. The direction of the drift, induced by the stress gradient,
depends on the charge of ionized impurity.
Strain Dependent
Diffusion Model
Boron diffusion in insitu doped SiGe/Si is of major concern in process design.
Experiments have shown that Boron diffusivity in SiGe/Si is very different from
that in Si and is strain dependent. (see Reference [147]). Also when outdiffusion
of Ge from the SiGe layer occurs, which affects the device performance and
reliability, the Ge diffusivity is dependent on the local strain field, as discussed in
Cowern’s paper. In Cowern’s strain dependent diffusion model, the diffusivity is
modified due to the change of activation energy that is the product of a strain
coefficient, Q, with the local strain, s, so the modified diffusivity D = D
0
exp(Qs/
kT). There is no consideration for the change of chemical driving forces in this
model.
Taurus Process can perform straindependent diffusion for Boron and
Germanium, when the strainDependency flag is set true in the Physics
command, the diffusivity in the diffusion model is changed according to
Cowern’s model and the default value for parameter strainCoefficient is
that given in by Cowern Reference [146]. The value can be changed using
Physics command. For vacancy mediated diffusion such as Ge diffusion in Si/
SiGe the coefficient is positive, and for interstitial mediated diffusion such as B
diffusion in SiGe the coefficient is negative.
To use the model, the KeepStressHistory flag must be set true in the
Physics command. The syntax should look as the following:.
## turn on the stress strain equations
Physics(
KeepStressHistory
ReflectiveBoundary = Fixed
Bandgap(StressInducedBGNActive = true)
)
## turn on the strain dependent models.
Physics(
Material=Silicon
Equation=Germanium
Diffusion(
StrainFactor(
StrainDependency = true
StrainCoeffcient = 40.0
)
Equation=Boron
Diffusion(
StrainFactor(
StrainDependency = true
StrainCoefficient = 17.0
)
)
Model Descriptions Diffusion of Impurities
TP 2005.06 315
Draft 8/11/05
Dilatational
Stress
Dependent
Diffusion Model
In the process of bandgap engineering and device miniaturization, stresses are
introduced to the areas where accurate impurity/dopant profiles are important.
Experiments have shown that stress can have large effects on impurity/dopant
diffusions. Besides the simple biaxial strain dependent diffusion model proposed
by Cowern, a more general three dimensional stress dependent diffusion model
has been proposed by Aziz, Reference [145]. In the model, the diffusivity is
modified due to the change of activation energy that is the product of a stress
conjugate activation volume, Va, with the local dilatational stress, Sd, so that the
modified diffusivity D = D0 exp (  Sd * Va /kT), while D0 is the stress free
diffusivity, k is the Boltzmann’s constant and T is the temperature in K.
To use the model, the stress history has to be kept in silicon regions to provide
local stress field. In addition, the parameter StressDependency must be set
true in the Physics command. The stress ActivationVolume for an
impurity diffusing in silicon can be defined by Physics command. The
activation volume is usually in the order of few cubic Angstroems. The value
must be specified as a plain float value with no unit. The specified value is
assumed to be in cubic meters (1A
3
= 1e30 m
3
).
For Boron and Germanium diffusing in Silicon, default values are provided based
on Cowern’s experiments Reference [146]. Taurus Process can perform
dilatational stress dependent diffusion for Boron and Germanium, when the
StressDependency flag is set true in the Physics command and the
ActivationVolume is specified. For vacancy mediated diffusion such as Ge
diffusion in Si/SiGe a positive ActivationVolume is used, and for interstitial
mediated diffusion such as B diffusion in SiGe a negative ActivationVolume
is used.
Diffusion of Impurities Model Descriptions
316 TP 2005.06
Draft 8/11/05
To use the model, the KeepStressHistory flag must be set true in the
Physics command. The syntax should look as the following:.
Dopant Diffusivity
For the simplest diffusion model Model=SimpleDiffusion dopant diffusion
model, the diffusivity is given as:
Equation 344
This model is used by default for oxide and other insulators. For the PdFermi
model, the diffusivity is given by:
Equation 345
where is given by:
Equation 346
Equation 347
## turn on the stress strain equations
Physics(
KeepStressHistory
ReflectiveBoundary = Fixed
Bandgap(StressInducedBGNActive = true)
)
## turn on the stress dependent models.
Physics(
Material=Silicon
Equation=Germanium
Diffusion(
StressFactor(
StressDependency = true
ActivationVolume = 37.0e30 # [m3]
)
Equation=Boron
Diffusion(
StressFactor(
StressDependency = true
ActivationVolume = 15.73e30 # [m3]
)
)
D Prefactor exp
Energy –
kT

. ,
 `
⋅ =
D D
k
η
k –
. ,
 `
k 2 – =
1
∑
=
D
k
D
0
D0 exp
E0 –
kT

. ,
 `
⋅ =
D
1
DP exp
EP –
kT

. ,
 `
⋅ =
Model Descriptions Diffusion of Impurities
TP 2005.06 317
Draft 8/11/05
Equation 348
Equation 349
This model is used by default for silicon and polysilicon. The parameters are
specified as:
Physics(
Material = <string>
Equation = <string>
FermiDiffusion(
Dnn = <float>
Enn = <float>
Dnn = <float>
Dn = <float>
En = <float>
D0 = <float>
E0 = <float>
Dp = <float>
Ep = <float>
)
)
where the appropriate names for the Material and Equation (dopant) must
be specified.
For the PdTrans and PdFull models, it is assumed that impurities diffuse in
semiconductor materials as dopantdefect pairs. The diffusion coefficients
and are sums of the effective diffusivities of impurities due to pairing with
defects in various charge states:
Equation 350
where is the normalized electron concentration. The components of
diffusivity given by Equations 345 through 349 can be specified in the
Physics command as:
Physics(
Material = <string>
Equation = <string<
TransDiffusion(
Interstitial(
Dnn = <float>
Enn = <float>
Dnn = <float>
Dn = <float>
En = <float>
D0 = <float>
D
1 –
DN exp
EN –
kT

. ,
 `
⋅ =
D
2 –
DNN exp
ENN –
kT

. ,
 `
⋅ =
D
m
D
n
D
m
D
mk
η
k –
. ,
 `
k 2 – =
1
∑
= D
n
D
nk
η
k –
. ,
 `
k 2 – =
1
∑
=
η n n
i
⁄ ≡
Diffusion of Impurities Model Descriptions
318 TP 2005.06
Draft 8/11/05
E0 = <float>
Dp = <float>
Ep = <float>
)
)
)
The same parameter names can be specified in the Vacancy subcommand of the
TransDiffusion command. The same Interstitial and Vacancy
subcommands can be specified in the FullDiffusion command. Again
appropriate Material and Equation (dopant) names must be specified.
Polysilicon Enhancement
The factor GrainBoundaryEnhancement is applied if a nonzero value is
specified.:
Point Defect Enhancement
The definition of the point defect enhancement factors and depends
on the diffusion model chosen (e.g., if PdFermi is set for the simulation). In
materials other than silicon, the point defect concentrations are assumed to be at
their thermal equilibrium values so that:
PdFermi Model Equation 351
and Equations 31, 32, and 33 reduce to:
Equation 352
PdFull Model For the PdFull model, Taurus Process uses the following equations for the
enhancement factors:
D
polycrystal
GrainBoundaryEnhancement D
monocrystal
× =
M M' ⁄ N N' ⁄
M
M′

N
N′
 1 = =
∂C
∂t
 ∇
D
m
D
n
+ ( ) ∇C
m
z
s
C
a
qE
kT
  –
. ,
 `
–
⋅ – =
Model Descriptions Diffusion of Impurities
TP 2005.06 319
Draft 8/11/05
Equation 353
Equation 354
and are the ratios of the dopantdefect pair concentrations to the
substitutional dopant concentration under equilibrium conditions. They are used
to define and :
Equation 355
Equation 356
The values of and are calculated from:
Equation 357
where:
Equation 358
. Equation 359
The parameters and can be specified in the physics command as:
Physics(
Material = <string>
M
M′

I
I
*

K
m
K
mv
I
*
I

+
K
m
K
mv
V
V
*

+

. ,
 `
1 α
m
I
I
*

K
m
K
mv
I
*
I

+
K
m
K
mv
V
V
*

+

. ,
 `
α
n
V
V
*

K
n
K
ni
V
*
V

+
K
n
K
ni
I
I
*

+

. ,
 `
+ +
 =
N
N′

V
V
*

K
n
K
ni
V
*
V

+
K
n
K
ni
I
I
*

+

. ,
 `
1 α
m
I
I
*

K
m
K
mv
I
*
I

+
K
m
K
mv
V
V
*

+

. ,
 `
α
n
V
V
*

K
n
K
ni
V
*
V

+
K
n
K
ni
I
I
*

+

. ,
 `
+ +
 =
α
m
α
n
M′ N′
M′ α
m
C ≡
N′ α
n
C ≡
α
m
α
n
α
m
D
m
D
M
 = and α
n
D
n
D
N
 =
D
M
D
i0
exp
D
iE
kT

–
. ,
 `
⋅ =
D
N
D
v0
exp
D
vR
kT

–
. ,
 `
⋅ =
D
i0
D
iE
Diffusion of Impurities Model Descriptions
320 TP 2005.06
Draft 8/11/05
Equation = <string>
DIPair(
PreFactor = <float>
Energy = <float>
)
DVPair(
PreFactor = <float>
Energy = <float>
)
)
where appropriate Material and Equation (dopant) names must be used.
Physically, and are the diffusivities (assumed to be independent of charge
state) of the dopantdefect pairs. These diffusivities are expected to have values
comparable to the diffusivities of interstitials and vacancies, respectively.
Paired Fractions
of Dopant Atoms
The values of and vary with the Fermi level, but do not otherwise depend
on the dopant or defect concentrations. Physically, the values represent the
fractions of dopant atoms coupled with interstitials and vacancies. The and
terms prevent the pair concentrations from exceeding the total dopant
concentrations when the concentrations of point defects are very high (see
Reference [8]). These terms are calculated only by specifying PdFull;
otherwise, they are set to zero.
Reaction Rates The and terms arise from the competition between the kickout and Frank
Turnbull mechanisms of pair formation (see Reference [9]):
• and are the reaction rate constants for generation of dopantinterstitial
and dopantvacancy pairs.
• is the rate constant for the reaction of dopantinterstitial pairs with vacan
cies.
• is the rate constant for the reaction of dopantvacancy pairs with intersti
tials.
Thus, and are the reaction rate constants for dopantassisted
recombination of interstitials and vacancies. The values of the reaction rate
constants are computed from:
Equation 360
Equation 361
D
M
D
N
α
m
α
n
α
m
α
n
K
m
K
n
K
m
K
n
K
mv
K
ni
K
mv
K
ni
K
m
PreFactor D ⋅
I
I
i
*
φ
Ik
η
k –
. ,
 `
k 2 – =
1
∑
=
K
n
PreFactor D ⋅
V
V
i
*
φ
Vk
η
k
. ,
 `
k 2 – =
1
∑
=
Model Descriptions Diffusion of Impurities
TP 2005.06 321
Draft 8/11/05
Equation 362
Equation 363
where:
Equation 364
The capture radius and the barrier are specified by the parameters
InteractionRadius and InteractionBarrier of the Physics
command under the appropriate model (Km, Kn, Kmv, Kni). The interstitial and
vacancy diffusivities ( and ) and charge fractions ( and ) are described
in Diffusion of Point Defects, p. 326.
The dopantassisted recombination factors are calculated only if
PairingModel is true.
For the PdFermi model, Equations 353 and 354 on on p. 319 reduce to:
Equation 365
Equation 366
This approximation is used in many other process simulators.
If the spatial variation of and is small, Equations 31, 32, and 33
on on p. 35 are approximated by:
Equation 367
K
mv
PreFactor D
M
D +
V
( )V
i
*
D
mk
D
M

φ
V k – ( )
. ,
 `
k 2 – =
1
∑
⋅ =
K
ni
PreFactor D
N
D +
I
( )I
i
*
D
nk
D
N

φ
I k – ( )
. ,
 `
k 2 – =
1
∑
⋅ =
PreFactor I
R
4π exp
I
B
kT
 –
. ,
 `
⋅ =
I
R
I
B
D
I
D
V
φ
Ik
φ
Vk
M
M′

I
I
*
 =
N
N′

V
V
*
 =
M M′ ⁄ N N′ ⁄
∂C
∂t
 ∇ D
m
M
M′
 D
n
N
N′
 +
. ,
 `
∇Cm z
s
C
a
qE
kT
 –
. ,
 `
– ⋅ – =
Activation of Impurities Model Descriptions
322 TP 2005.06
Draft 8/11/05
Activation of Impurities
For large chemical concentrations, the electrically active concentration of an
impurity may be less than its chemical concentration. When calculating the active
concentration, three different mechanisms are considered:
• Solid Solubility: Limits the solid solubility of a dopant species. Solid solubil
ity (precipitation) is used by default for phosphorus and antimony. The active
concentration is simply cut off at the solid solubility level.
• Clustering of Impurities: Used by default for boron and arsenic.
• Transient Activation Model: Simulates transient activation and deactivation.
Either model can be applied to any impurity. Moreover, both the solid solubility
model and the clustering model can be used simultaneously in which case the
minimum active concentration computed by the two models is used. The transient
activation model can be used with either solid solubility or clustering model, as
well as with a combination of the two.
Solid Solubility Model
At high doping concentrations, the active concentration is limited by solid
solubility to:
Equation 368
where C
ss
is the solid solubility and C is the total chemical impurity concentration.
Solid Solubility
Tables
The solid solubilities of impurities are represented by ASCII files containing the
solubility data. The files are located either in the current working directory or in
the directory specified by the PHYSICS_DATA environment variable. The files
are named using the impurity name. File names are defined as
name_solubility_suffix, where name is the impurity name and suffix is
an arbitrary string. The default suffix is standard, as defined in the
physics_data file parameters. For instance, the default solubility table for boron is
boron_solubility_standard. Beside the standard data, available for
boron, phosphorus, arsenic, and antimony, solubility data from
TSUPREM4 with the suffix tsuprem4 is available for boron, phosphorus,
and antimony.
These ASCII solubility data files contain two columns of float numbers with no
unit strings specified:
C
as
C C 0.9C
ss
≤ ,
C
ss
C 1.1C
ss
– ( )
2
0.4C
ss
 – 0.9C
ss
C 1.1 ≤ ≤ C
ss
,
C
ss
C 1.1C
ss
≥ ,
¹
¹
¹
¹
'
¹
¹
¹
¹
=
Model Descriptions Activation of Impurities
TP 2005.06 323
Draft 8/11/05
• Temperature (in
o
C)
• Corresponding solubility (in atoms per cubic centimeter)
Linear interpolation is used to obtain values of solid solubility for temperatures
between the values in the table. For temperatures outside the range of values in the
table, the value is extrapolated.
The solubility model is selected and the data tables are identified by the following
command:
Physics(
Material = <string>
Equation = <string>
Activation(
SolubilityModel = true
ClusteringModel = false
SolubilityData = <string>
)
)
If the clustering model is not set to false, then both the solid solubility model and
the equilibrium clustering model will be applied simultaneously and the active
impurity concentration will be determined as a minimum of the two models:
Equilibrium Clustering Model
In the clustering model, the electrically active impurity concentration is obtained
by solving the following equation:
Equation 369
The model is selected and its parameters are specified as:
Physics(
Material = <string>
Equation = <string>
ClusteringModel = true
Clustering(
PreFactor = <float>
Energy = <float>
Exponent = <float>
)
)
Transient Clustering Model
The transient clustering model simulates the activation of dopant atoms following
an ion implantation. It solve the following equation for the active concentration
:
C C
ac
PreFactor exp
Energy –
kT

. ,
 `
C
ac
⋅
Exponent
+ =
C
a
Activation of Impurities Model Descriptions
324 TP 2005.06
Draft 8/11/05
Equation 370
Here denotes the chemical concentration of the dopant and the equilibrium
active concentration determined either by the solid solubility model or by the
clustering model. The time constants for the activation and deactivation of
dopants are given by:
.
After an implantation all newly implanted dopant atoms are assumed to be
inactive, i.e., the ion implantation increases the value of but does not change the
value of . This assumption is modified by the constraint:
Equation 371
where is the intrinsic carrier concentration and ActivationFactor is a
parameter on the Activation(Transient(...)) section of the Physics
command. Thus activation to a level comparable to occurs “instantaneously”,
after which Equation 370 describes the activation process. As a result transient
enhanced diffusion may occur in the tail of an implanted profile without
significant diffusion near the peak.
The transient clustering model is selected and its parameters are specified as
follows:
Physics(
Material = <string>
Equation = <string>
Activation(
TransientModel=true
Transient(
ActivationPrefactor = <float>
ActivationEnergy = <float> # [eV]
DeactivationPrefactor = <float>
DeactivationEnergy = <float> # [eV]
ActivationFactor = <float>
)
)
)
BGe Pairing Model for Boron Diffusion in SiGe
Boron diffusion in SiGe occurs through a complicated mechanism that may
include BGe pairing, as suggested by Lever Reference [147]. In Lever’s model
the isovalent atoms of Ge act as traps for B atoms and the complex BGe acts as a
clustering center for the B clusterization process to transfer B atoms into an
∂ C C
a
– ( )
∂t

C
a
C
a
*
–
τ
 =
C C
a
*
τ
a
τ
d
τ
a
ActivationPreFactor exp
ActivationEnergy –
kT

. ,
 `
⋅ =
τ
d
DeActivationPreFactor exp
DeActivationEnergy –
kT

. ,
 `
⋅ =
C
C
a
C
a
min C
a
ActivationFactor n
i
) ⋅ , ( =
n
i
n
i
Model Descriptions Segregation of Impurities
TP 2005.06 325
Draft 8/11/05
electrically inactive charge state. The immobile BGe complex leads to reduced
diffusion of Boron in SiGe. The effective Boron diffusivity is inversely
proportional to the Ge concentration, C
Ge,
according to the following formula,
D
Beff
= D
B
/(1+(C
Ge
/S)). Here the quantity S has the dimensions of concentration
and is specified as PairingCoefficient. The model is selected with the
GePairing flag in the Physics command:
Physics(
Material = Silicon
Equation = Boron
PairingFactor(
GePairing = true
PairingCoefficient = 3.2e21
)
)
Segregation of Impurities
The segregation of impurities at material interfaces is treated as a nonequilibrium
process by Taurus Process.
Segregation Flux At an interface between materials and , the impurity flux from material to
material (normal to the interface) is given by:
Equation 372
where:
• and are the concentrations in materials and , respectively.
• is the interface transport coefficient.
• is the equilibrium interface segregation coefficient.
This expression represents both the impurity flux in the diffusion equation at
interfaces between different materials and between the ambient gas and the
exposed surfaces of the simulation structure.
Transport
Coefficient
The transport coefficient is given by:
Equation 373
Segregation
Coefficient
The segregation coefficient defines the ratio in equilibrium, when the
interface impurity flux vanishes. The segregation coefficient is given by:
i j J i
j
J h
C
i
m
 C
j
–
. ,
 `
=
C
i
C
j
i j
h
m
h PreFactor exp
Energy –
kT

. ,
 `
⋅ =
C
i
C
j
⁄
Diffusion of Point Defects Model Descriptions
326 TP 2005.06
Draft 8/11/05
Equation 374
Both transport and segregation models and parameters are defined for an
interface. They are defined in the Physics command as follows:
Physics(
Interface(Material1 = <string> Material2 = <string>)
Equation = <string>
Transport(
Prefactor = <float> # cm/s
Energy = <float> # eV
)
Segregation(
Prefactor = <float> # dimensionless
Energy = <float> # eV
)
)
Diffusion of Point Defects
This section describes the equations that model the diffusion of interstitials and
vacancies in silicon. The modeling of point defects depends on the diffusion
model. The point defects equations are only solved when PdFull or PdTrans
models are set.
Equilibrium
Concentrations
The equilibrium concentrations and are given by:
Equation 375
Equation 376
where PreFactor and Energy are parameters in the Physics command.
m PreFactor exp
Energy –
kT

. ,
 `
⋅ =
I
*
V
*
I
*
I
i
*
φ
Ik
η
k –
. ,
 `
k 2 – =
2
∑
= V
*
V
i
*
φ
Vk
η
k –
. ,
 `
k 2 – =
2
∑
=
I
i
*
and V
i
*
PreFactor exp
Energy –
kT

. ,
 `
⋅ =
Model Descriptions Diffusion of Point Defects
TP 2005.06 327
Draft 8/11/05
Charge State
Fractions
The charge state fractions and of the interstitials and vacancies are given
by:
Equation 377
Equation 378
where PreFactor and Energy are set in the Physics command under
PhiImm, PhiIm, PhiI0, PhiIp, and PhiIpp, for the Interstititial
equation and PhiVmm, PhiVm, PhiV0, PhiVp, and PhiVpp are specified for
the Vacancy equation.
Point Defect
Diffusion
Equations
For diffusion models PdTrans or PdFull, the following equations for point
defect diffusion are solved:
:
Equation 379
Equation 380
Equation 381
where:
• and are the concentrations of dopantinterstitial and dopantvacancy
pairs defined in Diffusion of Impurities, p. 35.
• and are the corresponding fluxes.
The sums are taken over all dopant species in the structure. The and terms
are included only if PdFull is specified. Otherwise, these terms are set to 0.
Similarly, the and terms are included only if PdFull is used.
φ
Ik
φ
Vk
φ
Ik
φ′
Ik
φ′
Ik
k 2 – =
2
∑
 = and φ
Vk
φ′
Vk
φ′
Vk
k 2 – =
2
∑
 =
φ′ PreFactor exp
Energy –
kT

. ,
 `
⋅
. ,
 `
=
∂I
∂t
 Σ
∂M
∂t

+ ∇ D
I
I
*
∇
I
I
*

. ,
 `
ΣJ
m
+ – G
p
R
b
R
ti
R
c
– R
l
– – – + ⋅ – =
∂V
∂t
 Σ
∂N
∂t
 + ∇ D
V
V
*
∇
V
V
*

. ,
 `
ΣJ
n
+ – G
p
R
b
– + ⋅ – =
G
p
Σ
K
mv
V
V
*

K
m
K
mv
V
V
*

+

∂M
∂t
 ∇ J
m
⋅ +
. ,
 `
K
ni
I
I
*

K
n
K
ni
I
I
*

+

∂N
∂t
 ∇ J
n
⋅ +
. ,
 `
+ =
M N
J
m
J
n
M N
J
m
J
n
Diffusion of Point Defects Model Descriptions
328 TP 2005.06
Draft 8/11/05
Interstitial and
Vacancy
Diffusivities
and are the diffusivities of interstitials and vacancies, respectively, given
by:
Equation 382
where PreFactor and Energy are specified as:
Physics(
Material = Silicon
Equation = Interstitial
Diffusivity(
Model = standard
Standard(
Prefactor = <float> # [cm2/s]
Energy = <float> # [eV]
)
)
and similar for the vacancy equation.
Reaction of Pairs
with Point
Defects
The terms are the result of dopantdefect pairs reacting with dopants.
Normally, when dopantinterstitial pairs break up they produce an interstitial,
which is accounted for by the and terms in . However, when dopantassisted
recombination is dominant, dopantinterstitial pairs are destroyed by absorbing a
vacancy rather than producing an interstitial. Under these circumstances, the
term cancels the and terms in and subtracts them from instead. Similarly,
dopantvacancy pairs can either produce a vacancy or absorb an interstitial when
they dissolve.
Net
Recombination
Rate of
Interstitials
The net recombination rate of interstitials with vacancies in the bulk silicon is
given by:
Equation 383
where:
• is the substitutional dopant concentration.
• , , and are described in Diffusion of Impurities, p. 35.
D
I
D
V
D
I
and D
V
PreFactor exp
Energy –
kT

. ,
 `
⋅ =
G
p
M J
m
G
p
M J
m
R
b
K
b
F
IV
I
I
*

V
V
*

1 –
. ,
 `
K
m
K
mv
K
m
K
mv
V
V
*
 +

K
n
K
ni
K
n
K
ni
I
I
*
 +
 +
. ,
 `
S
∑
I
I
*

V
V
*

1 –
. ,
 `
+
=
S C M – N – =
K
m
K
n
K
mv
K
ni
Model Descriptions Diffusion of Point Defects
TP 2005.06 329
Draft 8/11/05
Again, the sums are taken over all dopant species. The and terms model
dopantassisted recombination. These terms are included only if PdFull is set in
the Physics command. Otherwise, they are set to zero.
The bulk recombination factor is specified by:
Equation 384
where PreFactor and Energy are specified as:
Physics(
Material=Silicon
Equation=Interstitial
BulkRecombination(
Model=Standard
Standard(
Prefactor = <float> # [cm3/s]
Energy = <float> # [eV]
FIV(Rate = Medium)
)
)
)
Bulk
Recombination
Models
The most commonly used point defect recombination models are available in
Taurus Process. The factor F
IV
depends on the selected bulk recombination model:
Equation 385
The three bulk recombination models, Low, Medium, and High, reflect different
assumptions about the reaction rates between interstitials and vacancies in the
various charge states. The model is selected by the parameter Rate. For
Rate=Low it is assumed that charged interstitials recombine only with vacancies
of opposite charge. For Rate=High it is assumed that an interstitial is equally
likely to recombine with any vacancy, regardless of their charge states. The
Rate=High model is used in many other process simulators:
Equation 386
K
mv
K
ni
K
b
K
b
PreFactor exp
Energy –
kT

. ,
 `
⋅ =
F
IV
I
i
*
V
i
*
L , ow
φ
V0
V
i
*
I
*
φ
I0
I
i
*
V
*
+
I
i
*
+ V
i
*
φ
Ik
φ
Vk
2φ
I0
φ
V0
–
k
∑
. ,
 `
Medium ,
I
*
V
*
High ,
¹
¹
¹
¹
¹
¹
¹
'
¹
¹
¹
¹
¹
¹
¹
=
R
b
K
b
= IV I
*
V
*
– ( )
Interstitial Clustering Model Model Descriptions
330 TP 2005.06
Draft 8/11/05
For Rate=Medium it is assumed that reactions involving any uncharged point
defect and reactions involving point defects of opposite charge are equally likely,
while reactions between point defects of the same charge do not occur because of
Coulomb repulsion. For Rate=Medium the model includes only reactions
between point defects of opposite charge but with the same charge number; it
neglects reactions between defects having opposite charges of different
magnitudes (e.g. doubly negative vacancies and singly positive interstitials).
It is expected that for a given value of the model will underestimate the
recombination rate at high doping levels for Rate=Low because it neglects the
recombination of neutral defects with charged defects. Similarly, for
Rate=High the model is expected to overestimate the recombination because it
includes recombination of defects of the same charge. In Taurus Process
Rate=Medium is used by default. The values of , and perhaps other
parameters too, may need to be recalibrated if a different model is selected.
Interstitial Clustering Model
Taurus Process includes a nonequilibrium model for the formation and dissolution
of interstitial clusters (a.k.a. <311> defects). These clusters play an important role
in transientenhanced diffusion (TED) of impurities following ion implantation.
The main effect of the model is to delay the onset of TED at low temperatures and
to distribute the diffusion enhancement over a longer period of time.
Model Equations The kinetics of <311> formation and dissolution are not well understood. Several
models have been proposed (e.g., Reference [11]). For this reason Taurus Process
uses a generalized model that includes many of the proposed models as special
case. This is accomplished by including two terms describing the clustering of
interstitials and one describing the declustering:
Equation 387
where C is the concentration of clustered interstitials, I is the concentration of
unclustered interstitials, and is the equilibrium concentration of interstitials.
The parameters are specified as follows:
• is specified by NucleationIPower
• by NucleationIStarPower
• by GrowthIPower
• by GrowthIStarPower
• by GrowthClusterPower
• by ShrinkagePower
K
b
K
b
t ∂
∂C
K
fi
I
N
p
I
∗
N
P
∗

K
fc
I
G
p
I
∗
G
p
∗

C I + ( )
C
P
+ K
R
C
S
p
– =
I
∗
N
P
N
P
∗
G
P
G
P
∗
C
P
S
P
Model Descriptions Interstitial Clustering Model
TP 2005.06 331
Draft 8/11/05
The reaction constants , and are given by Arrhenius relations. The
prefactor and activation energy of are specified as NucleationPreFactor
and NucleationEnergy, for they are specified as GrowthPreFactor
and GrowthEnergy and for they are specified as ShrinkagePreFactor
and ShrinkageEnergy. All of these parameters can be specified in the
Cluster(GrowthRateStandard()) section of the Physics command.
All changes in the concentration of interstitials in clusters are accompanied by
corresponding inverse changes in the concentration of free interstitials .
Clustering reduces the number of free interstitials, while the dissolution of
clusters releases interstitials. In silicon the concentration of interstitials in clusters
is initialized to 10
9
/cm
3
when the point defect model is first activated. After
that, the concentration is determined by Equation 387.
Choosing Model
Parameters
Parameters for the interstitial clustering model are set in the Physics command.
It is recommended to choose the parameters such that:
• Clusters form rapidly when the interstitial concentration is very high (i.e., fol
lowing an implant).
• Clusters decay at a suitable rate when the interstitial concentration is low.
• There is a small but nonzero concentration of clustered interstitials at equilib
rium. This is required for numerical reasons, and may be needed to start the
clustering process following a subsequent implant.
• The clustering model does not interfere with the simulation of highconcen
tration diffusion, oxidationenhanced diffusion, or other situations in which
nonequilibrium interstitial concentrations may be present.
• The clustering model is numerically well behaving.
To obtain clustering following an implant, either the or the term (or both)
must be nonzero. For rapid clustering in response to an excess of interstitials,
NucleationIPower, GrowthIPower, and/or GrowthClusterPower
must be set appropriately; larger values increase the dependence of the clustering
rate on the interstitial concentration. One may use the
NucleationIStarPower and GrowthIStarPower parameters to modify
the clustering rate at high doping concentrations.
The dissolution of clusters and the release of interstitials requires a nonzero
term. The parameter ShrinkagePower must be greater than zero to avoid
numerical difficulties (a value of 1.0 is typical). The forward reaction terms are
also active during dissolution, so the net dissolution rate depends on the and
terms as well as on the term.
The equilibrium concentration of clustered interstitials depends on the balance
between the and terms and the term.
The default parameter values use only the and terms. They have been
chosen to fit the clustering data of Poate, et al (Reference [12]) when used with the
default values of the point defect parameters.
K
fi
K
fc
K
r
K
fi
K
fc
K
r
C
I
C
K
fi
K
fc
K
r
K
fi
K
fc
K
r
K
fi
K
fc
K
r
K
fc
K
r
Injection and Recombination of Point Defects at Interfaces Model Descriptions
332 TP 2005.06
Draft 8/11/05
Injection and Recombination of Point Defects at Interfaces
Recombination of interstitials and vacancies at interfaces with other materials is
modeled as Reference [13]:
Equation 388
where:
• is the local concentration of interstitials or vacancies
• is the equilibrium concentration of interstitials or vacancies
• is the surface recombination rate
Surface
Recombination
Velocity Models
The surface recombination rate depends on the motion of the interface due to
oxidation or silicidation:
Equation 389
where is the local velocity of the interface and each of the parameters ,
, , and is given by an Arrhenius relation:
,
where is Boltzmann’s constant and the absolute temperature. The prefactor
and activation energy of are specified as StationaryPreFactor and
StationaryEnergy, the prefactor and activation energy of are specified
as MovingPreFactor and MovingEnergy, the prefactor and activation
energy of are specified as PowerPreFactor and PowerEnergy, and the
prefactor and activation energy of are specified as
NormalizationPreFactor and NormalizationEnergy:
Physics(
Interface(Material1=Silicon Material2=Oxide)
Equation=Interstitial
SurfaceRecombination(
Model = Standard
Standard(
StationaryPrefactor = <float>
StationaryEnergy = <float> # [eV]
MovingPrefactor = <float>
MovingEnergy = <float> # [eV]
PowerPrefactor = <float>
PowerEnergy = <float> # [eV]
NormalizationPrefactor = <float>
NormalizationEnergy = <float> # [eV]
)
)
)
R
s
K
s
C C
*
– ( ) =
C
C
*
K
s
K
s
K
surf
K
svel
v
v
norm

. ,
 `
K
pow
+ =
v K
surf
K
svel
K
pow
v
norm
prefactor exp
energy
kT
 ( ) ⋅
k T
K
surf
K
svel
K
pow
v
norm
Model Descriptions Injection and Recombination of Point Defects at Interfaces
TP 2005.06 333
Draft 8/11/05
Injection Rate At moving interfaces interstitials and/or vacancies can be injected into the silicon.
The injection rate is given as a function of the interface velocity and applies to
both oxidation and silicidation.
The injection is calculated based on the local interface velocity:
Equation 390
where:
• AtomicDensity is the number of silicon atoms per cubic centimeter.
• is the fraction of silicon atoms injected.
• is the local interface velocity.
• and are given by Equations 3187 and 3191, respectively.
The values of , and are all defined by Arrhenius relations, the
prefactor and activation energy of are specified as FractionPreFactor and
FractionEnergy, the prefactor and activation energy of are specified as
PowerPreFactor and PowerEnergy and the prefactor and activation energy
of are specified as NormalizationPreFactor and
NormalizationEnergy:
Physics(
Interface(Material1=Silicon Material2=Oxide)
Equation=Interstitial
SurfaceGeneration(
Model = Standard
Standard(
FractionPrefactor = <float>
FractionEnergy = <float> # [eV]
PowerPrefactor = <float>
PowerEnergy = <float> # [eV]
NormalizationPrefactor = <float>
NormalizationEnergy = <float> # [eV]
)
)
)
G
s
G
s
AtomicDensity θ
v
v
norm

. ,
 `
G
pow
⋅ =
θ
v
θ v
norm
G
pow
θ
G
pow
v
norm
Atomistic Diffusion Simulation Model Descriptions
334 TP 2005.06
Draft 8/11/05
Atomistic Diffusion Simulation
All diffusion models that were described so far are based on the continuum
simulation approach. This section describes an alternative, atomistic simulation
approach of the diffusion and activation processes. It is based on the kinetic Monte
Carlo (KMC) diffusion simulator DADOS References [54] and [55] and is
available with the optional Taurus Process Atomistic license.
The conventional (continuum) approach to modeling dopant diffusion in the
process simulation tools is 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 very useful in designing the semiconductor devices in
the 80’s and 90’s.
Several trends in the manufacturing process of sub100nm devices make it
difficult to maintain high predictability of the continuum based simulations.
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 dopantdefect 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 dopantdefect configuration, which leads to a large number of
equations to be solved.
The drastic reduction of the device sizes results in a rather small number of
impurity atoms, as small as tens or hundreds, that determine the threshold voltage
of a transistor. Treating such small discretized distributions as a continuous
concentration may become questionable.
A Monte Carlo based diffusion simulation may provide a valuable alternative to
the continuum approach. Computational resources that are required for the Monte
Carlo diffusion simulation are proportional to the number of dopants and defects
in the device. Therefore, we expect the well established continuum diffusion
model to be used for the larger devices, especially for the inherently large power
device applications.
For the shrinking deep submicron devices, however, the Monte Carlo diffusion
model becomes increasingly competitive with the continuum diffusion model in
terms of the required computational resources.
Unlike the continuum approach, the large number of different dopantdefect
configurations does not present a problem for the Monte Carlo 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.
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 335
Draft 8/11/05
Besides, atomistic implantation and diffusion models provide a natural way of
determining statistical variations for a specific process flow/device geometry
combination.
The usage of the Taurus Process Atomistic option is explained in Chapter 2.
Atomistic Techniques
There are two major alternative approaches to the atomistic simulation of
diffusion:
• Molecular dynamics
• KMC
Molecular
Dynamics
For a parameter free, deeply physically based methods like abinitio can be used
for small atomic structures. For bigger sizes, like extended defects, empirical
Molecular Dynamics (MD) can be used. This last technique allows the extraction
of dynamic magnitude, like diffusivities.
MD (which considers all atoms including lattice atoms, defects, and impurities) is
accurate, but inherently limited to small simulation domains that can not contain a
transistor or even a typical doping profile. MD tracks the thermal vibrations of the
lattice atoms with a period of the order of 10
13
s, and, therefore, can be only used
for short annealing times, much shorter than an RTA or furnace anneal.
Nevertheless, both the number of particles MD can simulate and the simulated
times, although significative bigger than for abinitio methods, is still not enough
for MD’s direct use as a process simulator.
Kinetic Monte
Carlo
An alternative atomistic simulation approach, KMC, considers only defects and
impurities and ignores the lattice. This drastically reduces memory requirements
and allows you to investigate simulation domains that are large enough to contain
a deep submicron device. As KMC tracks diffusion and interaction of the defects,
the fastest process is the jumping of a point defect with a period of about 10
9
seconds. When there are no mobile point defects in the structure, it is waiting for
an emission of a mobile particle from the surface or from an extended defect,
which has a period of about 10
3
seconds.
Therefore, typically, TPA would begin with time steps of about 10
9
seconds, and
as the point defects are trapped by the clusters and extended defects, it
automatically switches to the larger time steps of the order of 10
3
seconds that are
large enough to model typical process steps.
Atomistic Diffusion Simulation Model Descriptions
336 TP 2005.06
Draft 8/11/05
Introducing the KMC Technique
Figure 31 shows the KMC technique.
The main ideas under the KMC concept are discussed in the following
subsections.
In MD, all lattice atoms and all the defect atoms have to be simulated, but in KMC
only defect atoms are considered. Lattice atoms are vibrating because of the
thermal energy, with a high frequency, and only from time to time one of the point
defects diffuses and moves to a neighboring position. KMC discards the lattice
information and follows the defect atoms. This makes a big difference in time,
from approximately10
13
seconds for lattice vibrations to approximately 10
9
seconds for fast diffusing particles. During the diffusion, moving particles can be
captured by extended defects. These extended defects, with frequencies an order
of magnitude smaller than the PD diffusing ones, emit isolated particles.
KMC, taking as input parameters the migration, binding, emission energies, etc.
simulates the frequencies at which these different events happen. KMC starts with
short time steps, but once 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 (point defects) or belong to a a extended defect,
like a {311}. For self silicon point defects, i.e., interstitial and vacancy models,
see “Point Defects, p. 343. For diffusing dopants, see Isolated Impurities, p. 3
45. For silicon self extended defects, see Damage Accumulation Model, p. 350
and Extended Defects, p. 356. For clusters involving dopants, see Impurity
Clusters, p. 367.
TPA Units The units used by TPA are:
• Nanometers (nm.) for positions
• Seconds (s) for time
• Electron volts for binding energies (eV)
• Atoms per cm3 for concentrations
• cm
2
s
1
for diffusivities
Figure 31 In the KMC technique, lattice atoms are not included; only atoms
in defects are tracked.
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 337
Draft 8/11/05
Note:
The units mentioned above are standard in atomistic and continuum
simulators, so no further explanation is needed. Nevertheless, TPA uses
a nonconventional unit to measure frequencies. Frequencies, are mea
sured in diffusivity units. This is done in the input parameter file
dados.ddp for consistency with migration prefactors, which are in diffu
sivity units as well. But even for migration prefactors, which are in diffu
sivity units to easily compare with experimental numbers, TPA must pass
to frequency units in s1. This is done using the expression: ,
where is the average jump distance.
Space TPA
Management
TPA assumes an orthogonal simulation cell to manage the space. The maximum x,
y, and z dimensions are passed to TPA as simulation parameters. TPA assumes
internally the xaxis to be the depth of the silicon wafer, where yz would be the
wafer area.
Once TPA has the simulation cell length, it splits the space (see Figure 32) in a
maximum of boxes. This is done for computational reasons and to increase
the speed of simulations. TPA tries to split each axis proportionally to the axis
maximum length, when possible. Each axis is divide in parts, so finally
. This creates an internal grid inside rectangular boxes. This
grid is used only by TPA and is fully isolated from the Taurus one. These
rectangular boxes cannot be smaller than twice the jump distance. The internal
TPA grid is not customizable by the user. You can only specify the number of
maxbits as the parameter BITSBOXES in dados.ddp.
(GLOBAL OPTIONS)
(...)
BitsBoxes 19 (number of boxes = 2^nbitsb)
TPA indicates the number of used boxes in its output:
υ
D
λ
2
 =
λ
Figure 32 TPA splits the space (a) in small boxes (b). In this 2D example
each axis uses 4 bits, giving 16 slides each for a total of 256
boxes. TPA is always 3D.
2
maxbits
2
x y z , ,
m
m
x
m
y
m
z
+ + maxbits ≤
Atomistic Diffusion Simulation Model Descriptions
338 TP 2005.06
Draft 8/11/05
Boxes: X=256, Y=32, Z=32, 1.36719nm x 1.25nm x 1.25nm
Boxes volume (cm3) = 2.13623e21 per particle conc =
4.68114e+20
Consequently, in the listed example, the xaxis is split into 256 (2
8
) parts, and the
y and z into 32 (2
5
) parts. TPA generated 256*32*32 = 231424 internal grid
elements (boxes). The dimensions for each of these boxes are 1.36*1.25*1.25 nm
3, and their volume is 4.6e21 cm
3
. The total dimensions of the simulation cell are
350 nm depth by 40 x 40 nm
2
. BITSBOXES is, at least, 18 (8+5+5) in this
simulation.
Note:
Memory allocation depends strongly on the parameter maxbits. Setting
BITSBOXES larger than 20 is discouraged. The suggested value is 19.
Materials and
Space
When transferring the materials from Taurus to TPA, each internal grid element is
assigned to a material type. TPA creates interfaces whenever two internal grid
elements are set to different materials. Consequently, how well TPA follows the
shape and interfaces assigned in Taurus depends on how soft these shapes are and
how small the internal grid elements are (see Figure 33).
Supported
Materials
TPA supports ambient, silicon (crystalline silicon), silicon oxide, and nitride.
Amorphous silicon also is supported, but it is created automatically inside the
crystalline silicon during simulation when the damage reaches an amorphization
level (see Amorphization and Recrystallization, p. 363).
Note:
Only silicon and silicon oxide are calibrated; the other materials are
supported, but not calibrated.
Managing Time The main component in TPA is an algorithm that sequentially selects the possible
random events (migration of point defects, emission of extended defects, etc.)
according to their corresponding frequencies similar to the BortzKalosLiebowitz
Figure 33 Because of the internal TPA structure, interfaces between
materials are displayed as small rectangles.
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 339
Draft 8/11/05
(BKL) algorithm. Figure 34 illustrates the selection procedure for the
configuration shown in Figure 31, consisting of three vacancies (V), 2 interstitials
(I), and one {311} defect.
If you assume that the vacancy and interstitial migration frequency are 1000 s
1
and 100 s
1
, respectively and the {311} emission rate is 10 s
1
, then to simulate 1
second, you would have to simulate a total of 3210 “events”. Consequently,
simulating one event corresponds to simulating 1/3210 seconds. This implies that
the simulated time step is not fixed, but depends on the particular simulation
configuration. In addition, you must pick up 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 instance, in Figure
34, the number 3147 selects an I migration event.
If, after several migration events, one interstitial reaches a V and interacts with it,
the simulator generates an IV pair called “Amorphous Pocket (AP)” (see Damage
Accumulation Model, p. 350). The simulation contains 2 Vs, 1 Is, 1 IV, and 1
{311}. You can assume the IV pair will recombine with a frequency of 500s1.
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, the new simulation contains only 2 Vs, 1 I and 1 {311}, and the following
time step is 1/2110 s.
Consequently, there is not a fixed time step in a TPA simulation. The current time
step depends on two factors:
• Number of particles in the simulator
• Frequency of the events associated to the particles
The associated frequency depends on three factors:
• Type of event
• Energy associated with the event
• Simulated temperature
Simulated and
CPU Times
The time needed to complete a simulation depends on two main factors:
• How fast the computer simulates one event
• How many events have to be simulated
Figure 34 Events are selected according to their rates, which, in turn
depends on the current atomistic configuration (Scheduler).
Atomistic Diffusion Simulation Model Descriptions
340 TP 2005.06
Draft 8/11/05
The number of events to be simulated is proportional to the average time step
(which changes during the simulation, as explained above). The speed at which
the simulator simulates events depends on the type of simulated events. Migration
events usually are simulated rapidly. Simulations involving changes in the
electronic concentration and/or temperature are slower because updating the
dependencies with the temperature and the Fermi level takes extra time. Generally
the smaller the simulation, the shorter the time.
Note:
You can estimate the time needed for simulation by running a small sim
ulation and assuming the CPU time is proportional to the volume cell.
TPA Reported
Time
TPA simulations print the current status as the following sentence:
Time=25119s, 670C. 9.42775e+08 events. 653500ev./CPU s.
Av. step=4.19851e05s.
In the above example the total simulated (annealed) time is 25,119 seconds. The
(current) temperature is 670
o
C. A total of 9.4e8 events has been simulated so far,
and the simulator is processing 653,500 events each CPU second. Finally, the
(averaged) time step is 4.2e5 seconds. This information can change drastically
from one simulation to another, and even at different times during the same
simulation. The events, CPU time, and average step statistics are recomputed for
each output sentence.
TPA Time
Internal
Representation,
Time Limitations
For computational reasons, TPA stores the frequency of events as 128 bits integer
numbers. It implies that there is a minimum frequency that can be simulated
(integer number 1) which corresponds to 3e16 Hz. There is a maximum limit of
1e10 particles with a maximum frequency of 1e13 Hz before overflooding the
probability bar. Nevertheless, these limits are big enough to allow almost any
physical simulation.
Particles
Particles are represented in TPA with three spacial coordinates (x, y, z) and two
labels:
• Particle type label identifies the species, charge state, and role of the particle
in the simulation.
• Defect type indicates when the particles are agglomerated with others or stand
alone.
This information can be extracted from the TPA simulations (for more
information, see Browsing inside TPA Models: Extracting TPARelated
Information, p. 394).
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 341
Draft 8/11/05
Particle Types The frequently used particle types in TPA are as follows:
Other particles included in TPA, but not calibrated include the following:
I Silicon self interstitial. Neutral.
IM Silicon self interstitial. Negative.
IP Silicon self interstitial. Positive
V Vacancy. Neutral.
VMM Vacancy. Double negative.
VM Vacancy. Negative.
VP Vacancy. Positive.
VPP Vacancy. Double positive.
As Substitutional arsenic. Positive.
AsOxide Arsenic diffusing in oxide.
Asi Interstitial arsenic. Neutral.
AsiP Interstitial arsenic. Positive.
AsV Vacancy arsenic. Neutral.
AsVM Vacancy arsenic. Negative.
AsVP Vacancy arsenic. Positive.
B Substitutional boron. Negative.
BOxide Boron diffusing in oxide.
Bi Interstitial arsenic. Positive.
BiM Interstitial arsenic. Positive.
BiP Interstitial arsenic. Positive.
AsNitride Arsenic diffusing in nitride.
BNitiride Boron diffusing in nitride.
C Substitutional carbon. Neutral.
Ci Interstitial carbon. Neutral
F Interstitial fluorine. Neutral
In Substitutional indium. Negative.
Ini Interstitial indium. Neutral.
IniM Interstitial indium. Negative.
InV Vacancy indium. Neutral.
InVM Vacancy indium. Negative.
Ph Substitutional phosphorous. Positive.
Atomistic Diffusion Simulation Model Descriptions
342 TP 2005.06
Draft 8/11/05
Defect Types Implemented defect types include the following:
Note:
As previously shown, not all possibilities of particle and defect types are
allowed. Some particle types, like the paired ones (Asi, BiM...), are only
allowed as PointD. Others, like As or B can stay alone (PointD), trapped
in interfaces (SiInterface) or part of an impurity clusters (Complex).
PhNitiride Phosphorous diffusing in nitride.
PhOxide Phosphorous diffusing in oxide.
Phi Interstitial phosphorous. Neutral.
PhiP Interstitial phosphorous. Positive.
PhV Vacancy phosphorous. Neutral.
PhVM Vacancy phosphorous. Negative.
PhVM Vacancy phosphorous. Negative.
PointD Single particles (IM, I, IP, VMM, VM, V, VP, VPP, As,
B, AsOxide, BOxide) or paired ones (Asi, AsiP, AsVM,
AsV, AsVP, BiM, Bi, BiP) that do not belong to any
extended defect or particle agglomeration. AsNitride,
BNitride, C, F, In, Ini, IniM, InV, InVM, Ph, PhNitride,
PhOxide, Phi, PhiP, PhV, PhVM, PhVP also are
PointD, although not yet calibrated. See Point Defect
Enhancement, p. 318.
AmorphousPocket Disordered agglomeration of Is and Vs (damage). Only
I and V particle types are allowed. See “Damage Accu
mulation Model, p. 350.
Amorphous Amorphous region inside the crystalline silicon. Only I,
V, As, and B (C, F, In, Ph also) particle types are
allowed. See “Amorphization and Recrystallization, p.
363.
Voids Big vacancy clusters with spherical shape. Only Vs are
allowed. See Voids, p. 361.
I311 {311} roadlike extended defects. Only Is. See {311}
Defects, p. 356.
DLoops Dislocation loops. Extended Is defect. Only Is. See Dis
location Loops, p. 359.
Complex Impurity clusters. Agglomeration of dopants with Is or
Impurity Clusters, p. 367.
SiInterface Dopants trapped in the interfaces (e.g. Si/SiO2). Only B
and As (and Ph also). See Interfaces and Surfaces, p. 3
87.
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 343
Draft 8/11/05
Neutral interstitials, for example, can stay alone (PointD), in damaged
clusters (AmorphousPocket), {311} defects (I311) or dislocation loops
(DLoops). Single particles can be mobile point defects (i.e., interstitials
and vacancies), immobile impurity atoms (like substitutional boron and
arsenic, or interstitial oxygen and fluorine), and also mobile impurity
defect pairs like B
i
or AsV. All of them are considered PointD.
Point Defects Interstitials and vacancies in TPA perform a diffusion event at a frequency given
by the following expression:
, Equation 391
being the prefactor and the migration energy. These parameters are
called DM_X (prefactor) and EM_X (energy) in the parameter file dados.ddp. X can
be I or V:
(POINT DEFECTS)
(Single Point Defects: migration)
Dm_V 1.e3 (cm2/s) Em_V 0.4 (eV)
Dm_I 5e3 Em_I 1.
Note:
These parameters can be freely recalibrated by the user, if necessary, to
change the point defect diffusivity and DC product.
TPA simulates point defect migration changing the particle coordinates in the
orthogonal directions to a fixed distance, called , which corresponds with the
second neighbors in the silicon lattice (0.384 nm).
After each diffusion event, the charge state of the point defect is updated
according to the new local Fermi level (see Fermi Level Effects: The Charge
Model, p. 375 and Updating Charged States, p. 380). Whenever a jumping
point defect encounters another particle, defect, or interface, the jumping point
defect interacts with the particle according to the specific situation. These
interactions are allowed depending on the following:
• Incoming species—For instance, substitutional boron plus interstitial (B+I) is
allowed, and the incoming species form a boron interstitial. Boron plus
vacancy is not allowed. Some of this interactions can be enabled or disabled in
the dados.ddp parameter file, as explained below.
• Energetics—TPA allows interactions for {311} defects, dislocation loops, and
pairing because the binding energies are > 0. For impurity clusters, if the reac
tion is unfavorable, 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.
Mobile particles can interact with others or with extended defects whenever they
enter in the capture radius of the other particle or defect (see Figure 35). The
capture radius for a mobile particle (PointD) is , assumed to be the same as the
ν
m
ν
0 m ,
E
m
k
B
T ( ) ⁄ – ( ) exp ⋅ =
ν
0 m ,
E
m
λ
λ
Atomistic Diffusion Simulation Model Descriptions
344 TP 2005.06
Draft 8/11/05
jumping distance. For defects with more than one particle, 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, p. 387.
Interactions in
dados.ddp
Interactions are allowed in dados.ddp with the command
EnableInteraction. This command needs four arguments. The first two are
the names of the particles to interact (listed in particle types). The third one, which
is the type of defect to be created, can be one of the following:
• PointD—An isolated particle, defect type POINTD. When POINTD is specified
the fourth argument is the particle type of the particle to be created.
• ImpCluster—An impurity cluster, defect type COMPLEX. When specified, the
fourth argument is I for creating Dopant+Interstitial clusters or V for
dopant+vacancies.
• AmPock—Damage, defect type AP. When specified, the fourth argument has
to be none.
For example, to allow I to interact with I and form an AP:
EnableInteraction I I AmPock none
To allow I also to interact with V to form APs:
EnableInteraction I V AmPock none
Because the reactions for each single charged state has to be introduced, the
charged I also interacts with V:
EnableInteraction V IM AmPock none
EnableInteraction V IP AmPock none
Figure 35 Point defects diffuse by jumping a distance in any orthogonal
direction. They can interact with neighboring particles.
λ
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 345
Draft 8/11/05
And with other charged states of V:
EnableInteraction IM VP AmPock none
EnableInteraction IM VPP AmPock none
EnableInteraction IP VM AmPock none
EnableInteraction IP VMM AmPock none
(...)
The interstitial interacts with substitutional boron to give boron interstitial (which
is an isolated moving particle, PointD in TPA notation):
EnableInteraction I B PointD Bi
(...)
And the BI, and other Bi charged states recombine vacancies:
EnableInteraction V Bi PointD B
EnableInteraction V BiM PointD B
EnableInteraction V BiP PointD B
Finally, BI can interact with a I to form the BIC (impurity cluster) BI2:
EnableInteraction I Bi ImpCluster I
(...)
For the interaction, you must specify the particular charged state of each reacting
species. When this reaction gives a new point defect, the neutral state is specified
for the result since TPA updates its charge later conforming to the local Fermi
level.
All interactions are listed in the dados.ddp file. With that list of interactions, you
can understand which reactions are considered and how they work. For example,
boron substitutional plus an incoming interstitial gives a B interstitial. If this
boron interstitial hits another interstitial, it interacts to form an impurity cluster
(BI2). Not all interstitials react with boron. For example, B + IM is not in the
interacting list in dados..dp, and is not be allowed (it is a repulsive reaction).
Note:
Although it is possible, it is not recommended to change the interaction
list. Changes in the default list can break the models or produce unpre
dictable results.
The interactions for the other dopants (C, F, IN, and P) also are included in
dados.ddp file:
EnableInteraction I C PointD Ci
EnableInteraction I In PointD Ini
EnableInteraction V F ImpCluster V
(...)
Isolated
Impurities
Isolated impurities in TPA can be substitutional or mobile impuritydefect pairs.
Substitutional impurities are electrically active and assumed to be immobile. The
acceptor and donor impurities (Groups III and V of the periodic table,
respectively) can move in silicon only via pairing with an interstitial or a vacancy
Atomistic Diffusion Simulation Model Descriptions
346 TP 2005.06
Draft 8/11/05
as shown in the literature (Reference [25], Reference [18], Reference [20],
Reference [16], Reference [45]). These paired states are mobile.
Isolated (not in clusters) impurity atoms are modeled similar to interstitials or
vacancies. They have also 3D position and a defect type and particle type. The
defect type is PointD, and the particle type characterizes the species, charge state,
and the presence of a paired I or V. For instance, BiM indicates a negatively
charged boron paired with an interstitial.
Note:
TPA assumes interstitial particles and substitutional particles paired
with an interstitial as the same configuration; i.e. B
i
is the same as IB or
BI.
Mobile impurities can perform two possible types of events (see Figure 36):
• Diffusion jump
• Breakup of the impuritydefect pair
Note:
Fluorine is modeled as an interstitial particle. Consequently, F diffuses
without pairing and cannot break up.
Migration
(Diffusion)
The diffusion event is defined in the same way as that for the Is and Vs (see
Equation 392). Nevertheless, the equation defines an “instant” diffusivity which
is different from the “effective” diffusivity. Effective diffusivity measured in
experiments involves a large number of microscopic migration steps and alot of
time. Microscopic migration steps are done via the “kickout” mechanisms. For
instance, when a interstitial reacts with a substitutional boron, a boron interstitial
pair is generated: . The pair is mobile, while substitutional boron is not.
Then, begins to diffuse, using the diffusivity constants specified in equation
Equation 392. After a while, the interstitial boron breaks up and releases the
interstitial (further explanation in the following subsection). The microscopic
diffusion stops, until a new incoming I reacts with another substitutional boron.
The macroscopic diffusivity is related not only with the boron interstitial
diffusivity, but also with its break up frequency:
Figure 36 Impurity pairs can diffuse or break up in a subsitutional plus an
intertitial or vacancy.
B I + B
i
→
B
i
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 347
Draft 8/11/05
Equation 392
where depends on the B
i
and I migration prefactors and on the B
i
breakup
prefactor. is related with the B
i
microscopic migration energy ,
the formation energy of an interstitial and the B
i
binding energy :
. Equation 393
Finally, the total boron diffusivity is given as the sum of the contribution of all
mobile species. For boron interstitial, there are three mobile ones: negative,
neutral, and positive:
. Equation 394
Breakup The breakup event for an interstitialimpurity pair can be described as:
, Equation 395
where is an interstitialimpurity pair, is a substitutional impurity atom, and
is an interstitial silicon atom. This breakup event happens with a frequency
given by:
, Equation 396
where is the prefactor and the activation energy, defined as the binding
energy plus the migration energy of the emitted species:
. Equation 397
D
eff
B ( ) D
0
eff
B ( )
E
diff
B ( )
k
B
T
 –
. ,
 `
exp =
D
0
eff
B ( )
E
dif f
B ( ) E
m
B
i
( ) ( )
E
f
I ( ) ( ) E
b
B
i
( ) ( )
E
diff
B ( ) E
m
B
i
( ) E
f
I ( ) E
b
B
i
( )
·
– + =
D B ( ) D B
i

( )
B
i

[ ]
B

[ ]

D B
i
0
( )
B
i
0
[ ]
B

[ ]

D B
i
+
( )
B
i
+
[ ]
B

[ ]

+ + =
A
i
A
s
I + =
A
i
A
s
I
ν
bk
ν
0 bk ,
E
bk
k
B
T ( ) ⁄ – ( ) exp ⋅ =
ν
0 bk ,
E
bk
E
bk
A
i
( ) E
b
A
i
( ) E
m
I ( ) + =
Atomistic Diffusion Simulation Model Descriptions
348 TP 2005.06
Draft 8/11/05
Figure 37 shows the energies involved in the kickout mechanisms.
Parameters The dopant diffusion parameters are introduced in the dados.ddp file:
(POINT DEFECTS)
(Single Point Defects: migration)
Dm_B 0. Em_B 5.
Dm_As 0. Em_As 5.
(Bi atom)
Dm_BiM 1.e3 (cm2/s) Em_BiM 0.5 (eV) (migration)
Db_BiM .37 (cm2/s) Eb_BiM 0.1 (eV)
(Bi atom)
Dm_Bi 1.e3 (cm2/s) Em_Bi 0.25 (eV) (migration)
(Bi+ atom)
Dm_BiP 1.e3 (cm2/s) Em_BiP 1.1 (eV) (migration)
(AsV+ Pair)
Dm_AsVP 2.1e4 (cm2/s) Em_AsVP 1.3 (eV) (migration)
Db_AsVP 1E3 (cm2/s) Eb_AsVP 1.01 (eV) (binding)
(ArsenicVacancy Pair)
Dm_AsV 2.1e4 (cm2/s) Em_AsV 1.3 (eV) (migration)
(AsV Pair)
Dm_AsVM 2.1e4 (cm2/s) Em_AsVM 1.6 (eV) (migration)
(Asi+ atom)
Figure 37 Energies involved in the kickout mechanism include: (for B+10 =
Bi. Migration energy of the interstitials and boron interstitial are
specified directly in the dados.ddp file as Em_I and Em_BIM. The
binding energy is Eb_BIM, and the I formation energy is specified
as Eform_I. The formation energy for dopants is not specified; the
system begins with the necessary dopants, which never
disappear.
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 349
Draft 8/11/05
Dm_AsiP 4e3 (cm2/s) Em_AsiP 1.4 (eV) (migration)
Db_AsiP 5e3 (cm2/s) Eb_AsiP 0.1 (eV) (binding)
(Asi atom)
Dm_Asi 4e3 cm2/s) Em_Asi 1.4 (eV) (migration)
Note:
The current values of these parameters in the dados.ddp file can be dif
ferent from the ones listed here.
Note:
You can change these parameters whenever it is necessary to calibrate
intrinsic and extrinsic dopant diffusivity under equilibrium conditions.
For nonequilibrium conditions, you can also change the extended
defects if necessary.
DM_X is the diffusion prefactor and EM_X the diffusion energy for each
microscopic species and charge state. X can be AS, B, ASI, BI, ASIM, BIM... The
binding parameters are DB_X for the prefactors and EB_X for the binding energies.
Immobile species (substitutional dopants) have the migration prefactor set to 0
and the migration energy high to clarify that the species will not move as it is.
Finally, since TPA assumes substitutional atoms to be ionized (i.e., and ),
the binding parameters (both the prefactor and the binding energy) are only
defined for pairing reactions with charge preservation like or
.
The parameters for F, P, IN, and C also are included in the dados.ddp file, but not
yet calibrated. They are listed as:
(Single Point Defects: migration)
Dm_C 0. Em_C 5.
Dm_F 5e3 Em_F .8
Dm_In 0. Em_In 5.
Dm_Ph 0. Em_Ph 5.
(Ci atom)
Dm_Ci 1.e3 (cm2/s) Em_Ci 0.87 (eV) (migration)
Db_Ci 2.5 (cm2/s) Eb_Ci 1.5 (eV) (binding)
(InV Pair)
Dm_InVM 0. (cm2/s) Em_InVM 5. (eV) (migration)
Db_InVM 1.5e3 (cm2/s) Eb_InVM 1.6 (eV) (binding)
(InV Pair)
Dm_InV 0. (cm2/s) Em_InV 5. (eV) (migration)
(Ini atom)
Dm_IniM 2. (cm2/s) Em_IniM 2.2 (eV) (migration)
Db_IniM 0 (cm2/s) Eb_IniM 1.6 (eV) (bind)
(Ini atom)
B

As
+
B

I
0
+ B
i

→
As
+
V
0
+ AsV
+
→
Atomistic Diffusion Simulation Model Descriptions
350 TP 2005.06
Draft 8/11/05
Dm_Ini 1.6e6 (cm2/s) Em_Ini 0.9 (eV) (migration)
(PhV+ Pair)
Dm_PhVP 0. (cm2/s) Em_PhVP 5. (eV) (migration)
Db_PhVP 5.e3 (cm2/s) Eb_PhVP 0.6 (eV) (binding)
(PhosphorusVacancy Pair)
Dm_PhV 0. (cm2/s) Em_PhV 5. (eV) (migration)
(PhV Pair)
Dm_PhVM 0. (cm2/s) Em_PhVM 5. (eV) (migration)
(Phi+ atom)
Dm_PhiP 1e2 (cm2/s) Em_PhiP 2.1 (eV) (migration)
Db_PhiP 0.25 (cm2/s) Eb_PhiP 0.7 (eV) (binding)
(Phi atom)
Dm_Phi 1.e6 (cm2/s) Em_Phi 0.8 (eV) (migration)
Damage Accumulation Model
Damage accumulation evolution, i.e, the behavior of the damage evolution after
an ion implantation, is a crucial step that affects the subsequent formation of
extended defects and impurity clusters. This accumulation generates the transient
enhanced diffusion of commonly used dopants, such as boron.
Experimentally, electron irradiation and light ions implant create isolated point
defects (easy to model) inside the silicon. In contrast, heavy ions generate high
disordered regions, APs, as a consequence of the implanted cascades. This
disordered region depending strongly on the temperature, ion mass, and dose rate
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 (Reference [43]) at room temperature, 1.2 eV (Reference [43]
for 400
o
to 550
o
C), but it is much less than the 2.7 eV reported for truly
amorphized amorphous layers. It means that the damage accumulation depends on
the dynamic annealing, ripening, and dissolution history of the APs during the
implant process. This annealing can have a quasicontinuum range of activation
energies.
There is much discussion on how this damage is annealed. Some literature points
to an annealing of the disordered Region 9 APs via 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 an small I or V clusters.
Amorphous
Pockets
TPA simulates the damage accumulation with a defect called “amorphous pocket
(APs)”. An AP is a disordered collection of point defects stable at low
temperatures (close to ambient). APs dissolve fast at higher temperatures, leaving
only big clusters with the I or V net excess and the impurities. APs can contain IV
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 351
Draft 8/11/05
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} for Is, voids for Vs).
APs can grow when capturing new incoming point defects. APs can dissolve by
internal recombination of IV pairs or particle emission when there are no IV pairs
(see Figure 38).
Shape APs have an irregular shape. TPA does not reshape the incoming particles in any
special shape, and particles are left in their incoming positions. Figure 39 shows
some APs resulting from an implanted cascade.
Growth APs capture any incoming point defect (I or V) within their capture radius. Any
charge state is allowed when they contain both Is and Vs, but only neutral Is or Vs
when they behave as small clusters; i.e, when they contain only Is or Vs.
Figure 38 Growth of APs showing their internal recombination.
Figure 39 APs formed in TPA after some implanted As cascades. Red:
Intertitials. Green: Vacancies. Yellow: Arsenic.
Atomistic Diffusion Simulation Model Descriptions
352 TP 2005.06
Draft 8/11/05
Recombination APs containing IV pairs (i.e., APs both interstitials and vacancies) can recombine
pairs via a recombination event, which recombines one I with one V. The event is
performed with a frequency given by:
, Equation 398
where the prefactor is called D0AMORPHOUSPOCKET in the dados.ddp file;
size is the size of the cluster. The number of IV contained pairs, is a exponent
called EXPONENTAMORPHOUSPOCKET, and depends on the size (number or IV
pairs) of the AP, and is specified as a list of energies for each size below the label
EB_AMORPHOUSPOCKET:
(AMORPHIZATION)
(...)
Erecryst 2.7 (eV)
(...)
D0AmorphousPocket 5e5 (cm2/s)
ExponentAmorphousPocket 0.66
Eb_AmorphousPocket
1 0.700
2 0.723
3 0.746
4 0.768
5 0.791
6 0.814
7 0.837
8 0.860
9 0.882
10 0.905
11 0.928
12 0.951
13 0.974
14 0.996
15 1.019
16 1.042
17 1.114
18 1.185
19 1.257
20 1.328
21 1.400
22 1.471
23 1.543
24 1.614
25 1.686
26 1.757
27 1.829
28 1.900
29 1.972
30 2.043
31 2.115
32 2.186
ν
diss
ν
0 diss ,
size
β
E –
diss
size ( )/ k
B
T ( ) ( ) exp ⋅ =
ν
0 diss ,
β
E
diss
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 353
Draft 8/11/05
33 2.258
34 2.329
35 2.401
36 2.472
37 2.544
38 2.615
39 2.687
40 2.700
1
The list finishes with 1, and it can be as large as necessary. For sizes higher than
the last specified size, the recombination energy specified as ERECRYST is
automatically assigned.
Note:
You can the above parameters to calibrate the damage accumulation
model. The current values can be different from the ones listed here.
Emission Once all IV pairs have been recombined, APs behave as small I or V clusters,
allowing the emission of their constituent particles. These defects emit neutral Is
or Vs particles with a frequency given by:
, Equation 399
where the prefactor depends on the size of the cluster and the activation energy for
emission of an X (i.e., either I or V) is , the sum of the
binding energy (that depends on the cluster size) and the migration energy. The
cluster size is defined as the number of Is or Vs it contains:
The parameters for Is and Vs are specified in the dados.ddp file as:
Vacancy Clusters:
D0_ClusterProp V 10 (cm2/s)
ν
emit
ν
0 emit ,
E –
emit
size ( )/ k
B
T ( ) ( ) exp ⋅ =
E
emit
E
b
X ( ) E
m
X ( ) + =
Figure 310 Energy needed to emit an interstitial from a size n
cluster.
Atomistic Diffusion Simulation Model Descriptions
354 TP 2005.06
Draft 8/11/05
Default energies:
Eb_SmallestCluster V 1.5 (eV)
Eb_LargeCluster V 3.7 (eV)
exponent_Cluster V 0.6667
Eb_Cluster V
2 1.4
3 1.4
4 2.4
5 3.0
6 3.4
7 0
8 2.4
9 3.4
10 3.4
11 0
12 2.4
13 3.0
14 3.0
1 (1 == end of array)
Interstitial Clusters
D0_ClusterProp I 150. (cm2/s)
Default energies:
Eb_SmallestCluster I 2.31 (eV)
Eb_LargeCluster I 2.89 (eV)
exponent_Cluster I 0.75
Eb_Cluster I
2 2.25
3 2.25
4 2.42
5 2.33
6 2.5
7 2.16
8 2.95
9 2.43
10 2.38
11 2.63
12 2.72
13 2.653
(...)
1 (1 == end of array)
Note:
You can change these parameters; however, their values not only affect
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 subse
quent extended defects or recrystallization, these values also affect the
formation of extended defects. The emission prefactor constant also is
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 355
Draft 8/11/05
shared with the impurity clusters. The listed values can be different from
the current used in dados.ddp file.
D0_CLUSTERPROP is the emission prefactor, and EB_CLUSTER is the cluster binding
energy, where dependency with size is explicitly assigned in the dados.ddp file.
The array of binding energies versus sizes finishes with the size “1”. For bigger
sizes, the binding energies are computed using the following equation:
, Equation 3100
where (EB_LARGECLUSTER) is the binding energy for the largest cluster,
(EB_SMALLESTCLUSTER) for the smallest one (size 1) and a (EXPONENT_CLUSTER) is
just an exponent, usually 2/3 or 3/4.
Figure 311 shows the binding energies.
Amorphous
Pocket Life Cycle
Whenever two point defects (I+I, V+V or I+V) interact with each other, an AP is
generated. Once 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.
It 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 because of the internal recombination of IV pairs, the emis
sion of particles, or both.
• If an AP contains only Is or Vs and it reaches a threshold size, the AP is trans
formed into a extended defect: {311} defects for Is and voids for Vs.
• If the concentration of some of the boxes (internal TPA grid elements) con
taining the AP reaches a concentration threshold, the box/boxes are consid
ered amorphous and their particles are not owned by the AP. Consequently,
APs only exist in crystalline silicon.
E
b
size ( ) E
b L ,
E
b L ,
E
b S ,
– ( )
size
a
size 1 – ( )
a
–
2
a
1 –

– =
E
b L ,
E
b S ,
Figure 311 Interstitial (left) and vacancy (right) binding energies. Discrete values are assigned one at
one. The continuum energies are computed using the equation displayed above..
Atomistic Diffusion Simulation Model Descriptions
356 TP 2005.06
Draft 8/11/05
For instance, assume you have an AP with two Vs and seven Is (I
7
V
2
). 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 I
6
V
1
AP. The second recombination energy, with a recombination
energy assigned to size 1, leaves an I
5
AP. This AP begins to emit Is, with a
frequency associated to its size (5). However, if it captures a V, it becomes an I
6
V
1
AP again and must recombine the IV pair with an associated recombination size
of 1 (because it contains only one IV pair).
Extended Defects
Small clusters are defined as immobile agglomerations of interstitials or
vacancies, and are managed via the AP previously explained. When the number of
Is or Vs in such clusters grow above a threshold of about 20 to 40) the small
clusters convert into extended defects of the {311} and void types, respectively.
Voids are spherical; {311}s are ribbon shaped, and dislocation loops are circular.
{311} Defects The {311} “rodlike” defects are associated with transient enhance diffusion
(Eaglesham 94). Consequently, they need a realistic simulation, in both shape and
energetic values. Their shape is like rectangular stripes of interstitials lying on a
{311} plane along a <110> direction. Reference [47] gives an atomic model for its
structure whose stability has been confirmed by theoretical studies (Reference
[31], Reference [30], Reference [13]).
Shape TPA 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 N
r
rows of Is lying on a line with a distance of
between Is in the same line and Nc columns keeping a distance of
between them, being a=0.543 nm the silicon lattice parameter. The ratio between
length (L) and width (W) is given by:
Equation 3101
being C = 0.5 nm. This ratio is maintained, reshaping the {311} defect (i.e.,
changing the number of row and columns) when necessary.
<011> a 2 ( ) ⁄
a 22 ( ) 4 ⁄ ( )
W CL ≈
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 357
Draft 8/11/05
The {311} defects only exist above a size threshold. Smaller defects are assumed
to be APs, and they have an irregular shape. This threshold is assigned in the
dados.ddp file:
(THREEONEONEs)
MIN311SIZE 33
Note:
During regular simulations, you do not need to change this parameter.
When {311} defects grow enough, they are transformed into dislocation loop
defects (see Dislocation Loops, p. 359). The threshold size (number of
interstitials) between {311} defects and dislocation loops is assumed to follow an
Arrhenius plot:
. Equation 3102
The dislocation loop formation energy has to be smaller than the {311} formation
energy at the threshold size; otherwise, the threshold is taken as the size where
both energies are equal. Both prefactor and E are assigned in the dados.ddp file as
size0_311toDLoop and E311toDLoop, respectively:
size0_311toDLoop 1.6 (prefactor)
E311toDLoop 0.68 (eV)(Eact for 311 to DLoop)
Note:
You can change these parameters to fit the {311} to dislocation loop tran
sition size. Current values can be different from those listed here.
Figure 312 {311} defects are simulated by TPA as parallel stripes
(rows) of I particles lying in a {311} plane (two small
dislocation loops are also present in the picture). Red:
Si interstitials. Yellow: Arsenic.
size prefactor E k
B
T ( ) ⁄ ( ) exp × =
Atomistic Diffusion Simulation Model Descriptions
358 TP 2005.06
Draft 8/11/05
Capture Each time a neutral I point defect interacts with a I belonging to a {311} defect,
the {311} captures the point defect. Then, a jumping (diffusing) I point defect
passing by, may hit the {311} at any of its I atoms. Since {311} defects grow/
shrink at their ends, the new particle is attached at the nearest end of the defect;
otherwise, it is attached to the other end, and the interaction is rejected.
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.
The emission frequency is computed as in APs by:
Equation 3103
where the considerations taken into account for the AP emission also applies here.
The binding energies are taken from the list supplied with the EB_CLUSTER I
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 (see Figure 313).
Recombination The {311} defects recombine incoming Vs with any charge by annihilation of the
I at the nearest {311} defect end. The {311} defects do not transform back into
APs, by recombination or I emission, once the threshold AP{311} size is
reached. Because the emission frequency only depends on the size and the binding
energies for small I defects are shared with the APs, leaving small I defects as
{311} defects only affects the capture volume. 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.
ν
emit
ν
0 emit ,
E –
emit
size ( )/ k
B
T) ( ) ( ) exp × =
Figure 313 Recombination of defects.
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 359
Draft 8/11/05
Finally, when a {311} reaches the size 2, it releases the particles as point defects
and the {311} disappears.
Dislocation
Loops
Dislocation loops are planar defects lying on {111} planes (Reference [37]) and
can be either faulted (FDL) or perfect (PDL). FDLs, only implemented in TPA,
are circular stacking faults surrounded by a dislocation line.
The {311} defects are the dislocation loop precursors. When the conditions
(available concentration of I, distance to the free surface) are appropriate, {311}
defects grow until they reach a threshold size (see Recombination, p. 352), and
they transform into the more stable dislocation loops. This stability means that the
supersaturation created by dislocation loops can be orders of magnitude lower
than for {311} defects.
Shape The shape of dislocation loops is computed as a set of particles forming a circle in
a {111} orientation (see Figure 314). All {111} orientations are allowed, and the
particular one is randomly chosen. To easily get a new position for incoming
interstitials, the allowed positions in the dislocation loops are indexed following a
spiral inside the circle, so dislocation loops grow or shrink adding or removing the
last indexed particle.
Capture Dislocation loops capture any incoming neutral interstitial. The original position
is lost, and the particle is moved inside the disk.
Figure 314 Several dislocation loops (disks) and {311}defects (chains) taken
from a TPA simulation. Red spheres are Si interstitials; yellow
spheres are arsenic isolated defects.
Atomistic Diffusion Simulation Model Descriptions
360 TP 2005.06
Draft 8/11/05
Emission Dislocation loops compute the emission frequency of neutral Is as:
Equation 3104
where includes both a prefactor and a linear dependency with the
dislocation loop size, and is the binding energy of the dislocation
loop, which only depends on the size. TPA computes the binding energies as:
Equation 3105
and finally, the dislocation loop formation energies are taken from Reference [21]
as:
Equation 3106
being , , , , are parameters, is the silicon lattice
parameter and is the atomic density in a {111} plane, in nm
2
.
The above parameters are specified in the dados.ddp file. is gamma, is mu,
is nu and is called burgVectMod. Finally, the emission prefactor is called
D0DLoopProp.
(DISLOCATION LOOPS)
size0_311toDLoop 1.6 (prefactor for 311 to DLoop tran
sition size)
E311toDLoop 0.68 (eV)(Eact for 311 to DLoop
transition size)
D0DLoopProp 1e6
gamma 0.4375
mu 472
nu 0.3
burgVectMod 0.3135
Note:
You can change these parameter to fit the dislocation loop formation and
dissolution. Current values could differ.
Figure 315 shows ??????????????????
ν
emiss
ν
0 emiss ,
E
b loop ,
size ( ) E
m
I ( ) +
k
B
T
 –
. ,
 `
exp × =
ν
0 emi ss ,
E
b loop ,
size ( )
E
b loop ,
size ( ) E
f
I ( ) E
f loop ,
size 1 – ( ) E
f loop ,
size ( ) – + =
E
f loop ,
size ( ) πγ R
2
a
2
µ
6 1 ν – ( )

R
8R
b

. ,
 `
log ⋅ ⋅ nE
f
I ( ) – + =
R size πd
111
( ) ⁄ = γ µ ν b a
d
111
γ µ ν
b
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 361
Draft 8/11/05
Voids Small vacancy defects have been reported (using paramagnetic resonance and
photoluminiscence) by several authors Reference [50], Reference [51], Reference
[32], Reference [27]). Theoretical studies (Reference [17], Reference [24])
indicate that some of these small clusters can be particularly stable. TPA assumes
these small clusters to belong to APs and, consequently, to have irregular shapes.
Nevertheless, sizedependent binding energies are considered for its V emission
(see Amorphous Pockets, p. 350).
Vacancy clusters appear as spheroidal voids when they are big enough to be seen
by TEM (Reference [26]). Studies show binding energies as a function of the
cluster size by tight binding molecular dynamics (Reference [15]) (see Figure 3
16).
Figure 315 Title?.
Figure 316 Voids (red) are simulatd with a spherical shape. Small vacancy
clusters; i.e., APs containing only vacancies, have an irregular
shape (blue).
Atomistic Diffusion Simulation Model Descriptions
362 TP 2005.06
Draft 8/11/05
Shape The threshold size between irregular small vacancy clusters (APs) and voids is
specified in the dados.ddp file with the name MINVOIDSSIZE. Another parameter,
MAXVOIDSDIAMNM can be used to set up the maximum allowed diameter (in
nanometers) for these defects.:
(VOIDS)
MINVoidsSIZE 27
MAXVOIDSDIAMnm 5.0
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 Si lattice sites. TPA manages the void shape to assert that its
density is correct (see Figure 317).
Capture Voids capture neutral vacancies, rearranging them to have a spheroidal shape.
Emission Voids emit neutral vacancies with a frequency:
Equation 3107
where is a prefactor which includes a constant and a dependency with the
surface of the void, and is the binding energy of a void. These binding
energies are assigned in the dados.ddp file together with the small vacancy cluster
binding energies For information on how to locate and modify them, see
Amorphous Pockets, p. 350. For voids, only the values for sizes bigger than the
AP  Void threshold apply.
Figure 317 Title??????????
ν ν
0
E
b void ,
size ( ) E
m
I ( ) + ( ) k
B
T ( ) ⁄ – ( ) exp × =
ν
0
E
b void ,
size ( )
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 363
Draft 8/11/05
Recombination Voids recombine incoming interstitials, whatever charge they have.
Amorphization and Recrystallization
A predictive KMC simulator needs to include an amorphization model.
Nevertheless, accounting for each particle and position during the amorphization,
although possible (Reference [39]) is not convenient for the sizes, times and
computer resources involved in process modelling. In spite of this, amorphization
involves the destruction of the lattice structure and, without lattice, the KMC
scheme, which discard the lattice and tracks only defects, is opened to a quasi
atomistic approach, as we will explain in this section.
Figure 318 shows a generic damage concentration profile after an implant.
There are four different concentrations (A, B, C, and D) and two concentration
thresholds, which are called MaxStorage and Amorphization. These thresholds
are stored in the dados.ddp file as MaxIVStorage and AmorphizationThreshold,
respectively:
(AMORPHIZATION)
MaxIVStorage 1e20
AmorphizationThreshold 3e22 (I+V / cm3)
Note:
You can change these limits if necessary. The damage accumulation
model is strongly dependent on the Amorphization Threshold. A low
MaxIVStorage can lead to incorrect simulations, as too much informa
tion would be discarded. A high MaxIVStorage implies bigger and
longer simulations. Consequently, changing the MaxIVStorage limit is
possible, but drastic changes are not suggested because the parameter is
a compromise between accuracy and computer resources. Current val
ues could differ.
Figure 318 Damage concentration profile.
Atomistic Diffusion Simulation Model Descriptions
364 TP 2005.06
Draft 8/11/05
The behavior of the simulator while adding new point defects (damage) differs
depending on the local concentration of the internal box (TPA grid).
Consequently, the amorphization (and subsequent recrystallization) model is
based on counting the damage into the TPA internal boxes rather than on the
atomistic position of particles. That is why it is called a quasiatomistic model.
A new point defect is inserted into a box depending on the concentration of that
box. If the concentration is smaller than the MaxStorage threshold (A and B), the
point defect is inserted as it is; i.e., a particle is created into the simulator with its
three coordinates, the defect, and particle type. Once the damage concentration
(I+V) of a box is above the MaxStorage limit, the new incoming Is and Vs are not
created into the simulator, but a counter in the box counts how many Is and Vs has
been added. So, for boxes above the MaxStorage concentration, the number of
particles contained in the box is the number of particles already created plus the
internal I and V counters. Discarding new incoming particles and only storing its
number (concentration) is because storing the full information of every single
particle until reaching the amorphization value expends huge amounts of memory.
Nevertheless, the atomistic information contained is now meaningless because
once a limit (assumed to be MaxStorage, 1e20) is reached, the new particles do
not provide further information on the shape or capture volume of the AP. New
particles provide information on the concentration, and they are stored as a
concentration while the simulator provides some “real” particles (the ones below
MaxStorage) to maintain the atomistic information.
Note:
As explained above, the atomistic information of some Is and Vs is dis
carded once their box concentration is above a limit. Consequently, for
those boxes, the atomistic 3D information does not contain all the exist
ing particles, but only a sample of some of them. When asking TPA ato
mistic information (the 3D coordinates for each particle), you should not
expect to get all Is and Vs in high disordered regions, but only some of
them. If concentration or profiles, and not the 3D coordinates, are asked,
the right concentrations are obtained because TPA computes the con
centrations and profiles using both the “real” particles and the counted
ones.
In the Figure 318, C shows a damage concentration which is stored as some
“real” particles plus a concentration.
Finally, the damage concentration can be higher than the amorphization threshold
(D in Figure 318). In this case, the entire internal box is assumed to be
amorphous. All atomistic 3D coordinates are discarded for amorphous boxes
because the definition of point defect is now meaningful in an amorphous region.
The 3D coordinates of dopants in amorphous boxes are discarded as well, and
only its concentration is stored.
Note:
The atomistic 3D representation for amorphous boxes is a single I or V
centred in the box. Its defect type is assigned to amorphous.
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 365
Draft 8/11/05
Amorphous
Defects
An amorphous defect is a special defect assigned to each box with a damage level
above the amorphization threshold.
Shape The shape of an amorphous defect is always a small rectangular box. 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
small rectangular amorphized boxes. Amorphous defects capture any incoming
defect.
Growth Amorphous boxes do not grow because they are limited to the size of the internal
cell. Amorphous layers grow when new internal boxes are amorphized and
become amorphous. These amorphous boxes capture any incoming particles.
Recombination These defects can recombine their damage and become a crystalline event via a
recrystallization event. Amorphous defects do not emit any particles;
recrystallization is the only event they can perform.
Recrystallization Recrystallization is implemented as a special event performed by the amorphous
defects. At a given temperature, the amorphouscrystalline (ac) interface
(computed as the set of all the amorphous defects in the neighborhood of
crystalline boxes) advances into the amorphous region (recrystallizing it) at a
speed v. Therefore, if w is the average length of an amorphous defect, it takes w/v
seconds to recrystallize it and move the ac interface to the next set of amorphous
boxes. This recrystallization velocity is computed as an Arrhenius plot:
Equation 3108
being and parameters specified in the dados.ddp file as V0RECRYST and
ERECRYST, respectively:
(AMORPHIZATION)
(...)
V0recryst 1.712e8 (cm/s)
Erecryst 2.7 (eV) (recryst. velocity)
Note:
You can change these parameters; however, current dados.ddp values
may differ.
Dumping Damage The recrystallization event forces all IV pairs inside an amorphous defect to be
recombined. The I or V excess is dumped to the neighboring amorphous boxes, if
any. Otherwise, the excess is dumped onto the surface or, it there is no free
surface/interface neighboring amorphous boxes, it is left as point defects. If the
recrystallization front has moved from several boxes, the amount of excess point
defects can be high.Once the defects are deposited in the crystalline silicon, they
growth and ripen into extended defects depending on the anneal conditions.
V V
0
E
recrys
k
B
T ( ) ⁄ ( ) exp × =
V
0
E
recrys
Atomistic Diffusion Simulation Model Descriptions
366 TP 2005.06
Draft 8/11/05
Crystalline Islands Whenever there is a crystalline island inside an amorphous layer, the small
crystalline region acts as a seed for the recrystallization. Sometimes when an
amorphous layer has more than one recrystallization front, high concentrations of
point defects can be deposited when the two fronts converge (see Figure 319).
Consequently, if because some random fluctuations, some crystalline regions are
created inside an amorphous layer, the simulation results can change drastically.
To prevent the formation of artificial crystalline regions inside an amorphous
layer, TPA includes some averaging mechanisms which makes crystalline areas
surrounded by amorphous silicon easier to become amorphous.
Impurity Sweep/
Deposit
The recrystallization process may affect the impurity concentration. The
recrystallization front moves indium and other dopants away, changing the
concentration profiles. (Reference [23], Venezia 03). To model this effect, the
amorphous defects also store (as previously explained) the dopant concentration.
This concentration is modified when the amorphous defects recrystallize as
follows:
• Dopants have a probability to remain in the box or move away with the recrys
tallization front (see Figure 320).
Figure 319 Source and gate of a small transistor simulated by TPA. As is
implanted in the drain (35 keV, 1e15 cm2) followed by a 600 C
anneal. Red is amorphous silicon, blue is arsenic atoms and
yellow are remaining damage (I clusters). The time evolution
(t = 0, 5, 20, 40, 60, 90, and 100) is shown while the
recrystallization front is moving. At the end, there is only
damage near the ac interface.
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 367
Draft 8/11/05
• Once the box is already recrystallized if the remaining dopant concentration is
bigger than the solubility limit, the extra dopants are deposited as impurity
clusters. These clusters have a limited size.
The parameters for the recrystallization model are listed in the dados.ddp file.
RECRYSDEPOSITPROB_X is the probability for a dopant X to remain in the same box
after the recrystallization front passes. RECRYSMAXACTIVE_X is the maximum
allowed concentration of an active dopant X in the recrystallized areas. Finally,
MAXDEPOSITEDCXSIZE_X limits the maximum size of the deposited impurity
clusters.
(AMORPHIZATION)
(...)
recrysDepositProb_As 0.3
recrysMaxActive_As 1e21 (cm3)
maxDepositedCxSize_As 4
recrysDepositProb_B 1.0
recrysMaxActive_B 3.5e20 (cm3)
maxDepositedCxSize_B 3
Note:
You can modify these parameters to fit the impurity sweep/deposit model;
however, current dados.ddp values may differ.
Phosphorous also is included, although not yet calibrated:
recrysDepositProb_Ph 0.3
recrysMaxActive_Ph 1e21 (cm3)
maxDepositedCxSize_Ph 3
Impurity Clusters
Under certain concentrations, dopants are electrically inactive (Reference [25]).
At the same time, high I concentration can make electrically inactive a fraction of
Boron, even when its concentration is below its solubility (Reference [44]). This
phenomena can be explained by an I
n
B
m
clustering mechanisms (Reference [28],
Figure 320 Impurity sweep example.
Atomistic Diffusion Simulation Model Descriptions
368 TP 2005.06
Draft 8/11/05
Reference [40]) or/and dopant precipitation (Reference [25]). TPA considers these
mechanisms, implementing the impurity clusters.
Shape An impurity cluster is an irregular agglomeration of impurities (A) with or
without interstitials and vacancies (X) that can be written as A
n
X
m
cluster with n
impurity atoms and m I’s or V’s. If m = 0, then it is a pure impurity cluster (see
Figure 321). For TPA, the notation A
n
X
m
means all configurations with n
impurities and m interstitial (vacancy) atoms. The interstitial (vacancy) atoms can
be self interstitials or A interstitials. TPA assumes all the A
n
X
m
configurations to
be the same with only one effective formation energy. Because of this assumption,
A is substitutional (inactive, because they are a cluster) dopants, and X self
interstitial or vacancies.
Figure 321 Impurity clusters are disordered agglomerations of dopants and
silicon point defects. They can trap and emit particles. Frank
Turnbull mechanisms and IV recombinations also are possible.
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 369
Draft 8/11/05
Growth Impurity clusters grow trapping neutral mobile particles. For an A
n
I
m
cluster, both
I and A
i
particles can be trapped:
Equation 3109
Impurity cluster 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, and
not always the energy between the initial and final states makes the reaction
favorable. TPA computes the trapping probability for an impurity cluster A
n
I
m
of
an I or A
i
as:
Equation 3110
where:
Equation 3111
being an optional energy barrier.
The binding energies are computed using the potential impurity cluster
energies:
Equation 3112
Equation 3113
These energies are specified as input TPA parameters in the dados.ddp file:
(COMPLEXES)
(I_B complex)
Etotal_Complex I B
0 4 0.8 1 4 4.0 2 4 6.5 3 4 8.5
0 3 0.8 1 3 3.6 2 3 6.0 3 3 8.0
0 2 0.8 1 2 1.6 2 2 4.6 3 2 6.0
2 1 3.3
1 (1 == end of array)
EbarrierB_Complex I B
1
EbarrierF_Complex I B
1
(V_As complex)
Etotal_Complex V As
A
n
I
m
I + A
n
I
m 1 +
↔
A
n
I
m
A
i
+ A
n 1 +
I
m 1 +
↔
P
capture
E
capture
k
B
T
 –
. ,
 `
exp =
E
AnIm
capture
E
barrier
A
n
I
m
( ) max 0 E
AnIm
b
– , ( ) + =
E
barrier
A
n
I
m
( )
E
AnIm
b
E
AnIm
b
I ( ) E
pot
A
n
I
m 1 +
( ) E
pot
A
n
I
m
( ) – =
E
AnIm
b
A
i
( ) E
pot
A
n 1 +
I
m 1 +
( ) E
pot
A
n
I
m
( ) – E
pot
A
i
( ) + =
Atomistic Diffusion Simulation Model Descriptions
370 TP 2005.06
Draft 8/11/05
0 4 0 1 4 5.4
0 3 0 1 3 4.4
0 2 0 1 2 3.9
1
EbarrierB_Complex V As
1
EbarrierF_Complex V As
1
Etotal_Complex lists sets of three numbers:
• One is the number or Is or Vs in the cluster configuration.
• One is the number of dopants.
• One is the potential energy, which will be negative for stable clusters.
For instance, the previous example assigns 5.4 eV of potential energy to the
As
4
V
1
cluster. The list finishes with 1. This same structures applies for the
barriers. A list of barriers to trap interstitials (or vacancies) can be introduced for
each AnIm configuration under EbarrierB_Complex. A different list of barriers
from trapping mobile dopants (A
i
) is accessible under EbarrierF_Complex.
Note:
You can modify these parameters to fit the impurity cluster model; how
ever, listed values may differ from the current dados.ddp file.
When a particular energy for a particular configuration is not specify (i.e., when it
does not exist an input in the parameter file for a A
n
I
m
or A
n
V
m
impurity cluster),
TPA assumes this configuration to be unstable and assigns a barrier of 5 eV for
other configurations to reach the unstable state.
Impurity clusters for C (C
n
I
m
) P (P
n
V
m
) and F (F
n
V
m
) also are included, but are
not calibrated:
(V_Ph complex) uncalibrated
Etotal_Complex V Ph
0 4 0 1 4 6 2 4 10.3
0 3 0 1 3 6
0 2 0 1 2 5
1
EbarrierB_Complex V Ph
1
EbarrierF_Complex V Ph
1
(V_F complex)
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 371
Draft 8/11/05
Etotal_Complex V F
1 1 2.38
1 2 4.63
1 3 7.08
1 4 7.12
1 5 8.5
1 6 9.7
1 7 3
0 2 0.5
0 3 1
0 4 1.5
0 5 3
0 6 4.5
2 1 4.20
2 2 7.07
2 3 9.04
2 4 11.47
2 5 13.29
2 6 16.09
1
EbarrierB_Complex V F
1
EbarrierF_Complex V F
1
(I_C complex)
Etotal_Complex I C
0 2 1.2
1 2 2.3
2 2 7
1 3 1.7
2 3 9.7
3 3 11.5
2 4 12.5
3 4 13.7
4 4 16
3 5 13
4 5 20.5
5 5 25
4 6 25.4
5 6 26.9
6 6 30.9
7 7 35.6
8 8 40.3
9 9 45
1
EbarrierB_Complex I C
1
EbarrierF_Complex I C
1
Atomistic Diffusion Simulation Model Descriptions
372 TP 2005.06
Draft 8/11/05
Emission Impurity clusters can emit both neutral interstitials (vacancies) or mobile dopants:
Equation 3114
Equation 3115
TPA computes the emission frequencies as:
Equation 3116
where the emission energies are:
Equation 3117
Equation 3118
where is the migration energy of the emitted species and both and
have been shown above.
Once 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 a interstitial or a
mobile, paired dopant, respectively.
Recombination Impurity clusters can trap incoming neutral Vs (Is) and recombine them with
internal Is (Vs):
Equation 3119
The capture probability is:
Equation 3120
and for this case the associated energies are:
Equation 3121
and:
.
After the IV pair recombination, the cluster size is tested and, if necessary,
dissolved, as previously explained.
A
n
I
m
A
n
I
m 1 –
I + ↔
A
n
I
m
A
n 1 –
I
m 1 –
A
i
+ ↔
ν
emission
ν
0 emission ,
E
emission
k
B
T
 –
. ,
 `
exp × =
E
emission
I ( ) E
m
I ( ) E
barrier
A
n
I
m
( ) max 0 E
AnIm
b
I ( ) , ( ) + + =
E
emission
A
i
( ) E
m
A
i
( ) E
barrier
A
n
I
m
( ) max 0 E
AnIm
b
A
i
( ) , ( ) + + =
E
m
E
AnIm
b
I ( )
E
AnIm
b
A
i
( )
A
n
I
m
V + A
n
I
m 1 –
↔
P
capture
E
capture
k
B
T
 –
. ,
 `
exp =
E
AnIm
capture
E
AnIm
b
E
pot
V ( ) – E
pot
I ( ) – =
E
AnIm
b
E A
n
I
m 1 –
( ) E A
n
I
m
( ) – =
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 373
Draft 8/11/05
FrankTurnbull
Mechanism
TPA calls the FrankTurnbull mechanism to the emission of a neutral V (I) from
an A
n
I
m
(A
n
V
m
) impurity cluster via the formation of a Frenkel pair (IV):
Equation 3122
or:
Equation 3123
TPA includes the FrankTurnbull (FT) mechanism to maintain microscopic
reversibility. Since impurity clusters recombine incoming Is or Vs, the opposite
mechanism (FT) is also needed. Usually this mechanisms is unfavorable, but for
some particular configurations, the energetic differences between them can enable
the formation of IV pairs, and thus, the emission of particles via the FT
mechanism (see Figure 322).
The vacancy (interstitial) emission frequency is computed as:
Equation 3124
being:
Equation 3125
and:
Equation 3126
The prefactor is proportional to the size of the clusters. The proportionality
constant is shared with the AP emission prefactor constant for I (A
n
I
m
) or V
(A
n
V
m
).
A
n
I
m
I V A
n
I
m
+ + A
n
I
m 1 +
V + → →
A
n
V
m
I V A
n
V
m
+ + A
n
V
m 1 +
I + → →
Figure 322 An example of the FT mechanism. An As4 cluster can emit an
interstitial to become an As4V impurity cluster.
ν
emission
ν
0 emission ,
E
emission
k
B
T
 –
. ,
 `
exp × =
E
emission
V ( ) E
m
V ( ) max 0 E
AnIm
b
V ( ) , ( ) + =
E
AnIm
b
V ( ) E
pot
I ( ) E
pot
V ( ) E
pot
A
n
I
m 1 +
( ) E
pot
A
n
I
m
( ) – + + =
Atomistic Diffusion Simulation Model Descriptions
374 TP 2005.06
Draft 8/11/05
Complementary
Recombination
Some impurities diffuse via both the interstitially and vacancy mechanisms. For
these cases, the impurity clusters can react with both of them. For instance, an
As
n
V
m
impurity cluster can grow trapping AsV, as previously explained, but also
can interact with an incoming As
i
, trapping the As and recombining the I with one
internal vacancy. This implies to take into account the reaction:
Equation 3127
These complementary recombinations of neutral particles are allowed with a
probability of:
Equation 3128
the capture energies are computed as:
Equation 3129
where is an internal parameter that cannot be changed.
Complementary
Emission
To maintain the microscopic reversibility, the reaction reverse to the
complementary recombination has to be defined (see Figure 323).
TPA calls it as a complementary emission; the equation is:
Equation 3130
As
n
V
m
As
i
+ As
n 1 +
V
m 1 –
↔
P
capture
E
capture
k
B
T ( ) ⁄ – ( ) exp E
capture
0 >
1 E
capture
0 ≤
¹
¹
'
¹
¹
=
E
capture
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
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 > , ≡
E A
i
A → ( ) m 0 n 1 ≡ , ≡
¹
¹
¹
'
¹
¹
¹
=
E A
i
A → ( )
Figure 323 An example of complementary emission: The cluster emits an
interstitial which takes an impurity and generates a vacancy.
A
n
I
m
A
n
I
m
I V + + A
V
A
n 1 –
I
m 1 +
+ → →
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 375
Draft 8/11/05
Its emission frequency is computed using the emission frequency equation:
Equation 3131
where:
Equation 3132
Note:
The current fluorine impurity cluster model in TPA differs from the
above models. Since only interstitial F is included, fluorine clusters are a
set of interstitial fluorine together with vacancies. The correct notation
for that would be F
in
V
m
, but TPA calls them F
n
V
m
. Fluorine impurity
clusters can emit either interstitial fluorine or vacancy. They also can
recombine incoming Is. TPA assumes the interstitial in the fluorine does
not react with the vacancy in the cluster or with any other particle.
Fermi Level Effects: The Charge Model
Point defects (I, V) and impurity atoms (B, As, etc.) can appear in different charge
states. For example, interstitials can be neutral, positive, or negative while
vacancies can have a double negative and positive charged state as well. TPA
implements the species and charged states listed in the following table.
E
emission
E
m
A
V
( ) max 0 E
AnIm
b
A
V
( ) , ( ) + =
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
( ) – + + =
I I
+
, I
0
, I

IP, I, IM
V V
++
, V
+
, V
0
, V

, V

VPP, VP, V, VM, VMM
As As
+
, As
0
, As
0
As, AsOxide, AsNitride
Asi As
i
+
, As
i
0
AsiP, Asi
AsV AsV
+
, AsV
0
, AsV

AsVP, AsV, AsVM
B B

, B
0
, B
0
B, BOxide, BNitride
Bi B
i
+
, B
i
0
, B
i

BiP, Bi, BiM
C C
0
C
Ci C
i
0
Ci
Atomistic Diffusion Simulation Model Descriptions
376 TP 2005.06
Draft 8/11/05
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 needs a full set of parameters.
TPA takes a different 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 (i.e., the Fermi level, bandgap width,
etc.) are associated with each internal TPA box in the simulation. Consequently,
there can be local changes between different boxes, but each box is considered to
be homogenous.
Assumptions TPA takes the energy reference in the valence band. The following assumptions
also are taken:
• Charge reactions are faster than structural reactions (Reference [42]). Conse
quently, the charges are instantaneously updated.
• Formation energy for neutral species (for instance, Ef(I0)) are not dependent
on the Fermi level. TPA takes the formation energies for neutral species as
parameters using them to compute the energies for nonneutral species.
• The electronic levels dependency with temperature is proportional to the
bandgap temperature dependency. The same applies for the bandgap narrow
ing. This assumption allow you to establish proportionality relations to com
pute the electronic levels and bandgap narrowing at different temperatures
using a known value for one particular temperature as parameter.
• Substitutional dopants are always ionized; i.e., substitutional boron is always
B

and substitutional arsenic As
+
.
F F
0
F0
In In

In
Ini In
i
0
, In
i

Ini, IniM
Inv InV
0
, InV

InV, InVM
P P
+
, P
0
, P
0
Ph, PhOxide, PhNitride
Pi P
i
0
, P
i
+
Phi, PhiP
PV PV
0
, PV

, PV
+
Ph, PhVM, PhVP
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 377
Draft 8/11/05
• The properties inside each internal box are constant. Properties can change
between boxes.
For further references on the TPA charge model ban, see Reference [34],
Reference [35], Reference [36].
Formation
Energies for
Charged Species
Taking I
+
as an example, in the reaction:
Equation 3133
the energy needed to take an electron from an I
0
and get I
+
+ e

is denoted as
e(+,0), and is measured from the valence band. The formation energy for a
positive interstitial is:
Equation 3134
where e
F
is the Fermi level. Consequently, the concentration between different
interstitial charge species using as a reference the neutral concentration is:
Equation 3135
Equation 3136
The electronic levels (for T=0K) are introduced in TPA as parameters in the
dados.ddp file:
(Point defects. Electronic levels at T=0, in eV)
e_VMM0 1.06
e_VM0 0.6
e_VP0 0.03
e_VPP0 0.13
e_IM0 1.0
e_IP0 0.4
e_BiM0 0.8
e_BiP0 1.04
e_AsVM0 0.77
e_AsVP0 0.3
e_AsiP0 0.1
together with the parameters for In and P (not yet calibrated):
e_IniM0 0.6
e_InVM0 0.7
e_AsiP0 0.1
e_PhVM0 0.7
e_PhVP 0
e_PhiP0 0.6
I
0
I
+
e

+ →
E
f
I
+
( ) E
f
I
0
( ) e
F
e +,0 ( ) – + =
I
0
[ ]
I
+
[ ]

e
F
e +,0 ( ) –
k
B
T

. ,
 `
exp =
I

[ ]
I
0
[ ]

e
F
e 0  , ( ) –
k
B
T

. ,
 `
exp =
Atomistic Diffusion Simulation Model Descriptions
378 TP 2005.06
Draft 8/11/05
where:
Note:
You can modify these parameters; however, changes affect both extrinsic
and intrinsic diffusion.
Binding Energies The binding energy needed for pairing and breakup reactions is only specified in
the dados.ddp file for the reaction with the neutral interstitial or vacancy. For
example, for boron the binding energy is specified for the reaction B

+ I
0
= B
i

.
The other binding energies (for example, B

+ I
+
= B
i
0
) are computed using the
binding energy for the above reaction and the energy levels associated to the
charge transitions (Reference [35]):
Equation 3137
The activation energy for the Bi0 breakup is E
b
(B
i
0
) + E
m
(I
+
). Because electronic
levels scale with Eg (as shown above), a slight dependency with T is introduced in
this calculated binding energies.
Temperature
Dependency
The bandgap width used in TPA is given by the expression (Size, 81):
Equation 3138
And using the assumption of proportionality with the bandgap, TPA assumes that
the electronic levels at different temperatures can be computed as:
Equation 3139
Effective state density of conduction and valence bands follow similar
expressions:
Equation 3140
Equation 3141
e_XMM0 Electronic level e(,) for X
e_XM0 Electronic level e(0,) for X
e_XP0 Electronic level e(+,0) for X
e_XPP0 Electronic level e(++,+) for X
E
b
B
i
0
( ) E
b
B
i

( ) e B
i
( ) 0  , ( ) e I ( ) + 0 , ( ) – + =
E
g
T ( ) E
g
T=0 ( )
AT
2
B T +
 – =
e j 1 j , + ( ) T ( ) e j 1 j , + ( ) 0 ( )
E
g
T ( )
E
g
0 ( )

× =
N
c
T ( ) N
c
300 ( )
T
300

. ,
 `
×
expNc
=
N
v
T ( ) N
v
300 ( )
T
300

. ,
 `
×
expNv
=
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 379
Draft 8/11/05
Finally, TPA uses the values to compute the intrinsic levels and intrinsic carrier
densities:
Equation 3142
Equation 3143
The needed parameters are included in the dados.ddp file:
(Band gap)
Eg0 1.17 (eV)
Agap 4.73e4 (eV/K)
Bgap 636. (K)
Nc300 3.2e19 (cm3)
Nv300 1.8e19 (cm3)
expNc 1.5
expNv 1.5
where:
Charge
Attractions and
Repulsions
The short range repulsions between charged particles have been implemented
forbidding the interactions between particles in the same charge state. Long range
forces are automatically considered due to the bias induced in the particle
migration by the local Fermi level.
Fermi Level
Computation
TPA computes the Fermi level assuming charge neutrality and FermiDirac
statistics. TPA simply makes the number of charges in each box equal to the
concentration of substitutional dopants in the box, but neglects the presence of
mobile charged particles.
e
i
T ( )
E
g
T ( )
2

k
B
T
2

. ,
 `
N
v
N
c

. ,
 `
ln + =
n
i
T ( ) N
c
N
v
E
g
T ( )
2k
B
T
 –
. ,
 `
exp × =
Eg0 Band gap width at 0 Kelvin Eg(0)
Agap Band gap width temperature dependency parameter (A)
Bgap Band gap width temperature dependency parameter (B)
Nc300 Effective state density for the conduction band, at 300K.
Nc(300)
Nv300 Effective state density for the valence band, at 300K. Nv(300)
expNc Effective state density temperature dependency parameter (con
duction).
expNv Effective state density temperature dependency parameter
(valence)
Atomistic Diffusion Simulation Model Descriptions
380 TP 2005.06
Draft 8/11/05
The concentration of substitutional dopants for each box is an average of the
dopant concentration in the neighborhood. The averaging radius is taken as the
Debye radius for each temperature:
Equation 3144
which depends on the dopant concentration N. This average is important because
of the atomistic nature of the simulation. Without this averaging, a medium dose
doped sample could be seen a set of intrinsic (empty) boxes and few boxes with a
very high concentration. For example, a dopant concentration of 1e20 cm
3
corresponds to 1 particle in 10 nm
3
. The volume of an internal box typically could
be1 nm
3
. This means 1 particle per 10 boxes. Without any charge averaging, a
moving interstitial diffuse intrinsically in the 9 empty boxes and very extrinsically
in 1 box. With the average, the interstitial “sees” the right concentration of
1e20cm
3
and diffuses according to this concentration (Figure 324).
Updating
Charged States
TPA charge model 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 a local change at the Fermi level:
• Mobile particles diffusing between boxes with different Fermi level
• Change of the electron concentration in a particular box
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.
Three different mechanisms are implemented in TPA to maintain the particles in
the correct ratios. All are performed at the same time, but apply to the different
scenarios listed below.
Figure 324 Simulated vacancy profiles for a P sample (from 30 to 60 nm) for
the different charged states. Left: Smoothing out the charge
concentration. Right: Incorrect results without smoothing out.
r
D
T
4πeN
 =
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 381
Draft 8/11/05
Electronic
Concentrations
and Charge State
Ratios
An update method that periodically reviews all the particles and updates the Fermi
level and the proportions of charged particles in each grid box is needed. The
algorithm:
• Smooths out the charge distribution
• Computes the Fermi level for each box using the charge neutrality assump
tion,
• Establishes the appropriate charge ratios
Note:
This update slows down the simulation. It is crucial that you perform this
update frequently enough to follow the changes in the Fermi level, but
without wasting CPU time.
Mobile Particles Mobile particles see different Fermi levels when migrating from one box to
another. Therefore, a charge update is needed each time a particles crosses the
boundaries between boxes. This is implemented with an algorithm that updates
the charge of mobile particles each time they perform a migration jump.
Pairing and
Breakup
Reactions
After pairing or breakup reactions, some species appear and disappear in the box.
To ensure that the concentration of these species is in the right proportion, a
breakup, pairing charge update mechanisms is implemented that computes the
probability for the new particles to be in a particular charge state.
The charge update algorithm only uses one external parameter listed in the
dados.ddp file:
(GLOBAL OPTIONS)
Figure 325 A mobile particle (I) sees different electronic properties when
jumping from one box to another. Its charge state has to be
updated to reproduce the expected macroscopic concentration.
Atomistic Diffusion Simulation Model Descriptions
382 TP 2005.06
Draft 8/11/05
(...)
ChargeVarPercent 0.25 (maximum relative error allowed
in Fermi level updates)
Note:
This parameter is a compromise between accuracy and efficiency.
Decreasing its value leads to higher accurate simulations, but slower
ones (and the charge model) can overload your computer resources.
Increasing its value speeds up the simulations (with a maximum limit
when there are no charge updates), losing some accuracy. Only small
changes to this parameter are recommended.
Electric Drift Introducing the charge in TPA leads to the:
• Introduction of an electric field, related with the local charge variations.
• Existence of forces which act over the charged species. These forces generate
a bias in the diffusion: the electric drift.
TPA models this bias modifying the jump probabilities to take into account that
when an electric field is present, there is an anisotropy in space.
A particle inside the electric field can jump in both directions, but the probability
of jumping according to the electric field is higher. Consequently, a “migration
barrier” is implemented. The barriers are related to the relative concentration of
each species. For example, 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
), the jump is always possible. Otherwise,
there is a probability of 1[P(x
2
)]/[P(x
1
)] of being rejected. For this I
+
particle the
jump is accepted with a probability of:
Equation 3145
where typically, if there is no bandgap narrowing effects, e(+,0)
2
= e(+,0)
1
and:
Equation 3146
P x
2
( )
P x
1
( )

e
F
e +,0 ( ) – [ ]
2
e
F
e +,0 ( ) – [ ]
1
–
k
B
T

. ,
 `
exp =
P x
2
( )
P x
1
( )

e
F
2
e
F
1
–
k
B
T

. ,
 `
exp =
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 383
Draft 8/11/05
The subscripts 1 and 2 refer to magnitudes in different internal boxes. Figure 326
shows a energy diagram of this process.
Bandgap
Narrowing
TPA includes dopinginduced energy shifts of the conductions band minimum and
the valence band maximum. The narrowing of the fundamental bandgap is
presented as the function (Reference [29]):
Equation 3147
Equation 3148
for n type semiconductors and:
Equation 3149
Equation 3150
for p type. and are the increments (or decrements) of the normalized
valence and conduction energy bands:
Equation 3151
The parameters ,... are extracted from the Reference [41] and are listed in
the dados.ddp file:
(Band gap narrowing, Jain & Roulston’s model.
Values, in eV, from Persson et al, JAP 86, 4419 (1999))
Acn1_4 0
Acn1_3 14.84e3
Acn1_2 0.78e3
Acp1_4 16.27e3
Figure 326 Energy diagram showing the jump process.
∆η
c
A
cn1/4
N
+
10
18

. ,
 `
1/4
A
cn1/3
N
+
10
18

. ,
 `
1/3
A
cn1/2
N
+
10
18

. ,
 `
1/2
+ + =
∆η
v
A
vn1/4
N
+
10
18

. ,
 `
1/4
A
vn1/3
N
+
10
18

. ,
 `
1/3
A
vn1/2
N
+
10
18

. ,
 `
1/2
+ + =
∆η
c
A
cp1/4
N

10
18

. ,
 `
1/4
A
cp1/3
N

10
18

. ,
 `
1/3
A
cp1/2
N

10
18

. ,
 `
1/2
+ + =
∆η
v
A
vp1/4
N

10
18

. ,
 `
1/4
A
vp1/3
N

10
18

. ,
 `
1/3
A
vp1/2
N

10
18

. ,
 `
1/2
+ + =
∆η
v
∆η
c
η
X
e
X
e
i
–
k
B
T
 =
A
cn1/4
Atomistic Diffusion Simulation Model Descriptions
384 TP 2005.06
Draft 8/11/05
Acp1_3 0
Acp1_2 0.18e3
Avn1_4 15.08e3
Avn1_3 0
Avn1_2 0.74e3
Avp1_4 0
Avp1_3 18.46e3
Avp1_2 2.63e3
Note:
You can update these parameters if necessary.
Finally, N is the dopant concentration, in cm
3
, computed by TPA to apply the
model.
TPA assumes that the electronic levels vary in accordance with the bandgap.
Consequently, in a region where and are corrected a quantity and , a
generic quantity is corrected by:
Equation 3152
Boron Diffusion The known charged states of B
i
are B
i

, B
i
0
and B
i
+
(Reference [51]). The three
states are included in TPA, although the inclusion of B
i
+
only appears for systems
far from equilibrium. The pairing, breakup, and charge reactions related to B
i
are
represented in the current TPA model by the reactions:
Equation 3153
Equation 3154
Equation 3155
Figure 327 Bandgap narrowing. TPA assumes the valence band to have
zero energy.
η
c
η
v
∆η
c
∆η
v
η
X
∆η
X
η
c
η
X
–
η
c
η
v
–

∆η
v
η
X
η
v
–
η
c
η
v
–

∆η
c
+ =
I
0
B

+ B
i

↔
I
+
B

+ B
i
0
↔
B
i

B
i
0
B
i
+
↔ ↔
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 385
Draft 8/11/05
Equation 3156
Direct breakup of B
i
+
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:
Equation 3157
using the MaxwellBoltzmann approximation, the previous equation is usually
written as:
Equation 3158
Si being the interstitial supersaturation, and p and n
i
the hole concentration and
the intrinsic concentration, respectively. The relations between the above
diffusivity components and the microscopic parameters are (Reference [35]):
Equation 3159
Equation 3160
Equation 3161
e
i
being the intrinsic level.
These expressions can be used as a bridge between the parameters of continuum
simulators and those used by TPA. Nevertheless, the above expression assume
MaxwellBoltzmann and quasiequilibrium conditions, which are not needed by
TPA.
Arsenic Diffusion A similar analysis can be done for arsenic, which has both vacancy and interstitial
contributions, related to AsV and As
i
defects. Arsenic reactions are:
Equation 3162
Equation 3163
I
0
I
+
↔
D B ( ) D B
i

( )
B
i

[ ]
B

[ ]

D B
i
0
( )
B
i
0
[ ]
B

[ ]

D B
i
+
( )
B
i
+
[ ]
B

[ ]

+ + =
D B ( ) S
I
D
X
B ( ) D
P
B ( )
p
n
i

D
PP
B ( )
p
n
i

. ,
 `
2
+ + =
D
X
B ( ) v
capt
D I
0
( ) I
0
[ ]
*
ν
m
B
i

( )
ν
break
B
i

( )

=
D
P
B ( ) v
capt
D I
0
( ) I
0
[ ]
*
ν
m
B
i
0
( )
ν
break
B
i
0
( )

e B
i
( ) 0  , ( ) e
i
–
k
B
T

. ,
 `
exp =
D
PP
B ( ) v
capt
D I
0
( ) I
0
[ ]
*
ν
m
B
i

( )
ν
break
B
i

( )

e B
i
( ) 0  , ( ) e B
i
( ) +,0 ( ) 2e
i
– +
k
B
T

. ,
 `
exp =
I
0
As
+
+ As
i
+
↔
I

As
+
+ As
i
0
↔
Atomistic Diffusion Simulation Model Descriptions
386 TP 2005.06
Draft 8/11/05
Equation 3164
Equation 3165
and:
Equation 3166
Equation 3167
Equation 3168
Equation 3169
Equation 3170
Arsenic diffusion in TPA will have all previously mentioned contributions:
Equation 3171
which in continuum models is usually reduced to:
Equation 3172
f
I
being the fraction of interstitialassisted diffusion. Notice, however, that this last
continuum description conveys several simplifying assumptions compared with
TPA. The common assumption that D
x
and D
m
fit an Arrhenius plot is only true if
the contributions of AsV
+
and As
i
+
have the same activation energy. The same
applies for the AsV
0
and As
i
0
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 also is independent of the temperature.
I
0
I

↔
As
i
+
As
i
0
↔
V
0
As
+
AsV
+
↔ +
V

As
+
AsV
0
↔ +
V

As
+
AsV

↔ +
V
0
V

V

↔ ↔
AsV
+
AsV
0
AsV

↔ ↔
D As ( ) D AsV
+
( )
AsV
+
[ ]
As
+
[ ]
 D As
i
+
( )
As
i
+
[ ]
As
+
[ ]
 D AsV
0
( )
AsV
0
[ ]
As
+
[ ]
 D As
i
0
( )
As
i
0
[ ]
As
+
[ ]
 D AsV

( )
AsV

As
+
[ ]
 + + + + =
D As ( ) f
I
S
I
1 f
I
– ( )S
V
– [ ] D
X
As ( ) D
M
As ( )
n
n
i

D
MM
As ( )
n
n
i

. ,
 `
2
+ + × =
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 387
Draft 8/11/05
Interfaces and Surfaces
An interface is the planar extension between two regions with different materials.
The most common TPA interface is the Silicon/Silicon Oxide one.
Since, as previously explained in Materials and Space, p. 338, TPA splits the
space in small boxes and assigns to each of them a particular material, the
interfaces are the set of box faces between different materials.
Interfaces set the equilibrium concentration for self silicon point defects and the
solubility concentration for impurities. TPA models the interfaces differently for
silicon point defects than for impurities.
Figure 328 TPA interfaces are the set of box faces between different
materials
Atomistic Diffusion Simulation Model Descriptions
388 TP 2005.06
Draft 8/11/05
Interfaces for
Self Silicon Point
Defects
It is common to define a recombination length L
r
as the distance from the surface
needed to get the equilibrium concentration (see Figure 329).
The microscopical meaning of Lr can be associated with the probability of a point
defect of being trapped at the surface:
Equation 3173
being the point defect jumping distance. The smaller Lr, the better sink is the
surface. For interstitials and Silicon/Silicon oxide, the surface is close to a perfect
sink with Lr <5 nm (Reference [33], Reference [19]).
Capture Interfaces capture neutral interstitials and vacancies with the probability set in
Equation 3173. When L
r
is set to zero, the probability is set to 1, so the interfaces
are considered to be a perfect sink.
Emission Reference [36] shows that the point defects (for instance, Is) equilibrium
concentration is related with the surface frequency emission prefactor as:
Equation 3174
where the surface frequency emission in TPA is:
Equation 3175
Figure 329 The recombination length is the distance between the interface
and the point in which the prolongation of the point defect
concentration joins its equilibrium concentration.
P
trap
λ
L
r
 =
λ
I [ ]
* 2
λ

ν
0
I ( )
E
f
I ( )
k
B
T
 –
. ,
 `
exp × × =
ν sites P
trap
× ν
0
I ( ) ×
E
m
I ( ) E
f
I ( ) +
k
B
T
 –
. ,
 `
exp × =
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 389
Draft 8/11/05
sites being the number of sites in the interface (proportional to its surface),
the surface emission prefactor, and , the migration and formation
energies of the point defects, respectively.
The point defects are emitted from a randomly chosen position at the surface.
Only neutral Is or Vs are emitted to maintain microscopic reversibility with the
capture process.
Parameters All the parameters that control the point defect interface model are displayed in
the dados.ddp file:
(SILICON SURFACE IV THERMAL GENERATION)
(Vacancy generation)
D0FS_V 800. (adim.) Eform_V 3.8 (eV)
RecLnm_V 0 (set to 1 for no surf emiss/recombination)
(Interstitial generation)
D0FS_I 5e4 (adim.) Eform_I 3.8 (eV)
RecLnm_I 0 (set 1 for no surf emiss/recombination)
D0FS_X are the surface emission prefactors, EFORM_X the formation energy and
RECLNM_X the recombination length in nanometers. The migration energies are
displayed in the point defect section of the file (see Point Defects, p. 343).
Note:
You can modify these values. Nevertheless, changes in the formation
energy or surface emission prefactor modify the DC equilibrium product
of point defects. A change, both in the formation and migration parame
ters, maintains the DC product constant. Current dados.ddp parameters
could differ.
Interfaces for
Impurities
Interfaces have to trap and reemit some of the arriving dopants to maintain the
solubility in a trapping/emission equilibrium. The trapping and reemission of
impurities model in TPA has been created following the model of Reference [38].
In this model the flux of dopant into the interface is given by:
Equation 3176
where and ; is the total trap density, and a
and e denotes the absorption and emission probabilities. C
s
describes the current
concentration of dopant in the material. Solubility, h and e/a temperature
dependency follows an Arrhenius plot:
Equation 3177
Equation 3178
ν
0
I ( )
E
m
I ( ) E
f
I ( )
F C
s
h 1
e
a
 
σ
F
σ
max

×
σ
F
σ
max

species
∑
– +
. ,
 `
hκσ
F
– =
h aσ
max
= κ e a ⁄ ( ) C
max
σ
max
⁄ ( ) = σ
max
C
sol
X ( ) C
0 sol ,
X ( ) E
sol
k
B
T ( ) ⁄ – ( ) exp × =
h X ( ) h
0
X ( ) E
h
k
B
T ( ) ⁄ – ( ) exp × =
Atomistic Diffusion Simulation Model Descriptions
390 TP 2005.06
Draft 8/11/05
Equation 3179
where X is the particular species (B, As, etc.) and the prefactors and energies are
TPA parameters specified in the dados.ddp file:
(OXIDENITRIDEINTERFACES  IMPURITY PARAMETERS)
(Arsenic)
Csol0_As 2.2e22 Esol_As 0.47
(OhWard parameters):
Surf_h0_As 2.31e2 Surf_Eh_As 0.766
Surf_e_a0_As 6.29e5 Surf_Ee_a_As 0.738
SurfMaxTrap_As 2.0e14
(Boron)
Csol0_B 1.e24 Esol_B 1.
(OhWard parameters):
Surf_h0_B 1.66e2 Surf_Eh_B 0.486
Surf_e_a0_B 0.178 Surf_Ee_a_B 0.086
SurfMaxTrap_B 2.0e14
The name of the parameters corresponds with its previous definitions, except for
SURMAXTRAP_X, which is :
C, P, and F also are allowed to react with the interfaces/surfaces, but their
parameters are not yet calibrated;
(Phosphorus)
Csol0_Ph 1.e20 Esol_Ph 0.
(OhWard parameters):
Surf_h0_Ph 0.715 Surf_Eh_Ph 1.75
Surf_e_a0_Ph 4e3 Surf_Ee_a_Ph 0.37
SurfMaxTrap_Ph 6.8e14
(Carbon)
Csol0_C 0 Esol_C 0.
Surf_h0_C 100 Surf_Eh_C 0
Surf_e_a0_C 4e3 Surf_Ee_a_C 0.37
SurfMaxTrap_C 1e18
(Fluorine)
Csol0_F 0 Esol_F 0.
Surf_h0_F 100 Surf_Eh_F 0
Surf_e_a0_F 4e3 Surf_Ee_a_F 0.37
SurfMaxTrap_F 1e18
Emission Following Equation 3176, TPA assumes the emission flux to be equal to
or, introducing the number or trapped atoms:
Equation 3180
e a ⁄ ( ) X ( ) e a ⁄ ( )
0
X ( ) E
e a ⁄ ( )
X ( ) k
B
T ( ) ⁄ – ( ) exp × =
σ
max
F
emi ss
hκσ
F
=
F
emiss
h
e
a

× C
sol
×
N
N
max

× =
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 391
Draft 8/11/05
The emitted particles are:
For species diffusing by both intesrtitial and vacancy mechanisms, the emitted
particles are a interstitial or vacancy pair proportionally to their effective
diffusivities.
Capture TPA computes the probability of capturing an incoming dopant as:
Equation 3181
being D the effective diffusivity of the dopant.
Steady State Using the previous equations and assuming that only one dopant (for example,
boron) is present with its steadystate concentration, the relation between the
current number of trapped dopant atoms and the dopant concentration is:
Equation 3182
as shown in Figure 330.
AsV and Asi For arsenic
Bi For boron
Ci For carbon
InV and Ini For Indium
Pi and PV For phosphorous
P
cap
λ
D

h 1
N
N
max

e
a
 
N
N
max

+
As B ... , ,
∑
–
. ,
 `
× =
N
N
max

1
1
e
a
 
B
sol
[ ]
B [ ]
 1 –
. ,
 `
+
 =
Figure 330 Trapped atoms in the interface/surface for steady state.
Atomistic Diffusion Simulation Model Descriptions
392 TP 2005.06
Draft 8/11/05
Oxide and Nitride
TPA allows the segregation of B and As into Silicon oxide and Nitride, and the
subsequent diffusion of these dopants into these materials.
The segregation coefficient for each dopant is established as an Arrhenius plot:
Equation 3183
The diffusion of dopants into silicon oxide and nitride obeys the equation EQPD.
The parameters needed for both segregation and dopant diffusion into other
materials are set in the dados.ddp file:
(Arsenic in Oxide)
Dm_AsOxide 2.94e4
Em_AsOxide 3.15
Segreg_pref_AsOxide 30.0
Segreg_eV_AsOxide 0.0
(Arsenic in Nitride)
Dm_AsNitride 2.94e4
Em_AsNitride 3.15
Segreg_pref_AsNitride 30.0
Segreg_eV_AsNitride 0.0
(...)
(Boron in Oxide)
Dm_BOxide 3.12e3
Em_BOxide 3.93
Segreg_pref_BOxide 30.0
Segreg_eV_BOxide 0.0
(Boron in Nitride)
Dm_BNitride 3.12e3
Em_BNitride 3.93
Segreg_pref_BNitride 30.0
Segreg_eV_BNitride 0.0
(...)
(Phosphorus in Oxide)
Dm_PhOxide 14.2
Em_PhOxide 4.86
Segreg_pref_PhOxide 30.0
Segreg_eV_PhOxide 0.0
(Phosphorus in Nitride)
Dm_PhNitride 14.2
Em_PhNitride 4.86
Segreg_pref_PhNitride 30.0
Segreg_eV_PhNitride 0.0
Where SEGREG_PREF_XMATERIAL and SEGREG_EV_CMATERIAL set the segregation
prefactor and energy, respectively, for each dopant between silicon and the
Seg Seg
0
E
seg
k
B
T ( ) ⁄ – ( ) exp × =
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 393
Draft 8/11/05
specified material, and DM_XMATERIAL, EM_XMATERIAL set the diffusion prefactor
and energy for dopants in other materials.
Note:
You can change these parameters to fit the segregation and diffusion in
other materials.
TPA and Input Commands
Implant The Implant option model and Monte Carlo must be used together with TPA (see
Implant Damage Model, p. 3148) The analytic implant also can be used, but is
not recommended. TPA needs the damage morphology (coordinates of each point
defect) for its damage accumulation model, and this information is lost in the
analytical implant. The implant options DADOS BATCH, TEMPERATURE, TIME,
MAPPINGPOLICY, and CURRENT are specific for using implant together with TPA.
The options TIME (or CURRENT), TEMPERATURE, and DADOS BATCH are needed
because while implanting TPA automatically performs diffusion at the specified
temperature (default is ambient). Typically the temperature and time during the
implantation do not affect the distribution of dopants, but it may affect damage
accumulation, amorphization, and subsequent recrystallization and impurity
cluster formation. Thus, the use of the extra parameter time and temperature is
recommended.
For each implant dose and surface size, the number of implanted ions is
computed. For example, 1e14cm2 boron in a simulation cell with 40x40 nm2
surface and 250 nm depth will implant 40x40x1e14 = 1600 boron cascades (being
a cascade one ion and its damage). The information is passed to TPA for annealing
in DADOS BATCH batches. DADOS BATCH is 100 by default. In this example, using
the default, the implantor generates 1600/100 = 16 cascades after each internal
diffusion step. These diffusion steps, which occur internally and are not specified
by the user but manipulated through the DADOS BATCH, TIME, and TEMPERATURE
implant commands occurs DADOS BATCH times, for a time TIME/DADOS BATCH
each, and at the specified temperature (typically ambient). During the implant, the
output looks like:
10 DADOS batches (5000 ions) completed. 40 batches to be simulated.
Time=184.786s, 26.85C. 9.7798e+06 events. 49531ev./CPU s. Av.
step=6.63612e05s.
11 DADOS batches (5500 ions) completed. 39 batches to be simu
lated.
Time=215.444s, 26.85C. 1.01165e+07 events. 67344ev./CPU s. Av.
step=9.10504e05s.
12 DADOS batches (6000 ions) completed. 38 batches to be simu
lated.
6250 trajectories completed. 18750 to go (estimated CPU time: 6min
16s ).
13 DADOS batches (6500 ions) completed. 37 batches to be simu
lated.
Time=251.189s, 26.85C. 1.04565e+07 events. 42499ev./CPU s. Av.
step=0.000105132s.
Atomistic Diffusion Simulation Model Descriptions
394 TP 2005.06
Draft 8/11/05
The output gives information about how many batches have been processed and
about the diffusion during the ongoing implant, indicating the diffused time and
temperature (together with the events information). During the implant, the
number of events per second is typically small, but the average step use is big
because the temperature is low.
Diffuse MAPPINGPOLICY, RANDOMIZE, and SEED are diffuse options which only work with
TPA (see Diffuse Command, p. 32). They control the way species are named and
the initial setup of the random number generator.
For the first diffuse after the implant, the use of a small temperature rampup (with
the TEMPERATURE and ENDTEMPERATURE parameters) is suggested. The time for this
rampup should be chosen as realistically as possible. At the end of an implant, the
simulation cell contains the implanted ions plus a huge amount of damage (point
defects). During the rampup this damage recombines and forms impurity
clusters. The use of a realistic rampup produces more accurate results.
TPA performs different annealings at different temperatures during the rampup.
The main idea is to perform frequently a few large annealings at low temperature,
but 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 TPA performs these rampups can be configured using the following
parameters of the dados.ddp file:
dTBase 2.0 (>1.)
nInit 1 (int)
dTLimit 20.0 degrees
The temperature steps for the highest temperature (the end of the rampup or the
beginning of the rampdown) are computed as:
Equation 3184
being dTBase and nInit. For example, using the above parameters, in a
rampdown from 600
o
to 500
o
C, the first annealing is done at 600
o
C  2
1+0
=
598
o
C, the second one at 598
o
C  2
1+1
= 594
o
C,... Once is bigger
than dTLimit, the maximum value dTLimit is taken.
Browsing inside TPA Models: Extracting TPARelated
Information
TPA offers the possibility to extract full sets of data related with its models. This
atomistic information is computed by an atomistic data extractor module specially
developed to manage the raw data, as generated by DADOS core engine. This
∆T
base
( )
n
init
n +
∆T
base
n
init
∆T
base
( )
n
i nit
n +
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 395
Draft 8/11/05
information is accessible using the extract Taurus command. The access to
this special information is done via three new parameter:
DADOSINFO selects the type of information to be extracted using one of the
following types:
DADOSPARTICLES accepts the following as arguments:
dadosInfo Type of information to be extracted.
dadosParticle Particle type.
dadosDefect Defect type
histogram Information about the size of the extended
defects.
immobile_concentration Concentration (cm3) of particles in the simu
lation, computed directly from their current
(instantaneous) positions versus depth. Use it
to get the profiles of immobile species (like
substitutional dopants or interstitials in
extended defects).
immobile_concentration
_histo
Concentration (cm3) of particles in the simu
lation computed from their current positions
vs. depth and versus the cluster size. This
options allows to extract profiles for each
existing cluster size.
mobile_concentration Time average concentration (cm3) of parti
cles versus depth, computed from their jumps.
Use it to get the profiles of the mobile parti
cles, like point defects.
supersaturation Concentration over equilibrium concentration
averaged in the whole simulation cell.
atomistic Atomistic coordinates of every particle in the
simulation.
electrons Electron concentration profile.
holes Hole (electronic) concentration profile.
integral Average concentration in the whole simula
tion box, in cm2
I Neutral self silicon interstitial.
V Neutral self silicon vacancy.
As Substitutional arsenic.
B Substitutional boron.
AsNitride Arsenic in nitride.
Atomistic Diffusion Simulation Model Descriptions
396 TP 2005.06
Draft 8/11/05
DADOSDEFECT arguments are
Histogram TPA includes several models where the defects are not isolated, but agglomerated
in extended defects which can contain many particles. The option histogram
allows you to extract information about the sizes (number of particles) of these
extended defects in the simulation.
BNitride Boron in nitride.
AsOxide Arsenic in oxide.
BOxide Boron in oxide.
Asi Neutral interstitial arsenic.
AsiP Positive interstitial arsenic.
AsV Neutral vacancy arsenic.
AsVM Negative vacancy arsenic.
AsVP Positive vacancy arsenic.
Bi Neutral interstitial boron.
BiM Negative interstitial boron.
BiP Positive interstitial boron.
IM Negative self silicon interstitial.
IP Positive self silicon interstitial.
VM Negative self silicon vacancy.
VMM Double negative self silicon vacancy.
VP Positive self silicon vacancy.
VPP Double positive self silicon vacancy.
PointD Alone (or paired) mobile particles. Substitutional
dopants, silicon point defects.
AmorphousPocket Interstitials or vacancies in APs.
Amorphous Particles in an amorphized box.
Voids Vacancies in voids.
I311 Interstitials in {311} defects.
DLoops Interstitial in dislocation loops.
Complex Interstitials, vacancies or dopants in impurity clus
ters.
SiInterface Dopants trapped at the interfaces (for instance, Si/
SiO2 interface).
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 397
Draft 8/11/05
Histogram needs either DADOSDEFECT or DADOSPARTICLE pointing to a valid defect
or particle. The available histograms and the way to point to them is shown in the
following list:
Interstitial
Extended Defects
Histogram
This histogram extracts the number of particles in the simulation for each size.
The number versus size list contains information about the small, irregular
clusters (see Amorphous Pockets, p. 350), {311} defects (for size bigger than the
established limit), and dislocation loops:
extract(
dadosInfo=histogram
dadosParticle=I
extractFile=Ihisto.ext
)
It writes in the file something like:
0 42
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 40
9 0
(...)
19 19
20 20
21 0
22 0
(...)
37 0
38 0
39 39
40 0
41 0
42 0
Interstitial
extended
defects
Set dadosInfo=histogram and dadosParticle=I to extract
information about the small I clusters, {311} defects and
dislocation loops.
Vacancy
extended
defects
Set dadosInfo=histogram and dadosParticle=V to extract
information about the small V clusters and voids.
B interstitial
clusters
Set dadosInfo=histogram and dadosParticle=B to extract
information about the boron impurity clusters (BICs).
As vacancy
clusters
Set dadosInfo=histogram and dadosParticle=As to extract
information about the arsenic vacancy clusters.
Amorphous
pockets
Set dadosInfo=histogram and dadosDefect=Amorphous
Pocket to extract information about the IV APs.
Atomistic Diffusion Simulation Model Descriptions
398 TP 2005.06
Draft 8/11/05
43 0
44 0
45 45
46 0
(...)
Where the size 0 size is the average size (for sizes >33), and size 1 has always 0
clusters. For example, there are 5 clusters of size 8 (40 particles total), and 1
cluster of size 45 (45 particles total).
Vacancy Extended
Defects Histogram
This histogram is similar to the interstitial extended defects histogram, except that
the extracted number of particles versus size is for vacancies, and the size 0 does
not contain the average size but 0:
extract(
dadosInfo=histogram
dadosParticle=V
extractFile=Vhisto.ext
)
Amorphous
Pocket Histogram
The AP histogram contains the particle concentration (in cm3) for each AP I and
V size. APs with null Is or Vs can be considered as amorphous sizes, small I, or V
clusters.
extract(
dadosInfo=histogram
dadosDefect=AmorphousPocket
extractFile=IVhisto.ext
)
The extracted file contains three columns:
• The first one is the number of Is in the AP.
• The second one the number of Vs.
• The third one is the concentration of particles in that particular size.
Concentration of particles implies that one single AP of, for instance, sizes (5, 3)
produces in this output a concentration double that of a single AP of size (2, 2).
Even when the number of clusters in the simulation is the same, the number of
particles they contain is different. The concentration is computed taking only the
volume of the Si. Oxides and nitrides are not considered. This TPA Si volume is
approximately equal to the Taurus assigned one, but some small differences due to
the internal boxes can appear.
An example of a generated output is:
0 0 0
0 1 0
0 2 2.14941e+019
0 3 1.58598e+019
0 4 8.61943e+018
(...)
1 0 0
1 1 7.51874e+018
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 399
Draft 8/11/05
1 2 4.54458e+018
1 3 2.56e+018
1 4 1.32661e+018
(...)
2 0 2.39924e+019
2 1 5.6525e+018
2 2 6.65457e+018
2 3 3.81848e+018
2 4 1.74252e+018
(...)
3 0 1.32354e+019
3 1 1.93614e+018
3 2 4.19494e+018
3 3 5.77614e+018
3 4 4.04078e+018
(...)
4 0 6.1526e+018
4 1 7.08123e+017
4 2 1.78554e+018
4 3 4.24156e+018
4 4 6.22429e+018
(...)
Boron Interstitial
Clusters
The boron interstitial cluster histogram offers information about the number of
BICs for each BIC configuration (BnIm).
extract(
dadosInfo=histogram
dadosParticle=B
extractFile=Bhisto.ext
)
The extracted information contains three columns:
• The first one is the number of boron atoms in the cluster (n).
• The second one the number of interstitials (m).
• The third one the number of BnIm clusters in the simulation.
For instance,
0 0 0
0 1 0
0 2 0
0 3 0
0 4 0
1 0 0
1 1 0
1 2 48
1 3 37
1 4 0
2 0 0
2 1 0
2 2 7
2 3 0
2 4 0
3 0 0
3 1 0
Atomistic Diffusion Simulation Model Descriptions
3100 TP 2005.06
Draft 8/11/05
3 2 0
3 3 0
3 4 0
3 5 0
4 0 0
4 1 0
4 2 0
4 3 0
4 4 0
indicates the presence of 48 BI2 clusters, 37 BI3 and 7B2I2 ones, i.e., there are
48+37+7*2 boron particles in BICs.
Arsenic Vacancy
Clusters
The vacancy arsenic cluster histogram offers information about the number of
arsenic and vacancies in impurity clusters for each configuration (AsnIm):
extract(
dadosInfo=histogram
dadosParticle=As
extractFile=Ashisto.ext
)
The output is a three column list:
• The first column is the number (n) of As.
• The second is the number (m) of V.
• The third is the number of AsnVm.
Immobile
Concentration
TPA computes the 1D concentration versus size as a convenient way to directly
obtain data comparable with SIMS experiments. The 1D profiles are an average of
the concentration of particles in the box for a particular depth. TPA splits the
depth into a maximum of 50 slides. If the number of internal boxes in the depth
axis is less than 50, TPA takes this number (instead of 50) as the number of slides.
TPA counts the number of particles in each slide and divides it by the slide
volume.
The IMMOBILE_CONCENTRATION parameter needs the arguments DADOSDEFECT and
DADOSPARTICLE. Some examples:
• To extract the profile of substitutional boron in a simulation:
extract(
dadosinfo=immobile_concentration
dadosParticle=B
dadosDefect=PointD
extractFile=B.ext
)
• To extract the profile of boron in BICs (inactive boron):
extract(
dadosinfo=immobile_concentration
dadosParticle=B
dadosDefect=Complex
extractFile=BIC.ext
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 3101
Draft 8/11/05
)
• To extract the profile of boron trapped in the interfaces:
extract(
dadosinfo=immobile_concentration
dadosParticle=B
dadosDefect=SiInterface
extractFile=BInterface.ext
)
Note:
In most cases the interface is a plane parallel to the surface. Conse
quently, the trapped dopant profile will be just a peak at the interface
depth.
• To extract the profile of I in {311} defects:
extract(
dadosinfo=immobile_concentration
dadosParticle=I
dadosDefect=I311
extractFile=I311.ext
)
• To extract the profile of I in impurity clusters (like BICs):
extract(
dadosinfo=immobile_concentration
dadosParticle=I
dadosDefect=Complex
extractFile=IComplex.ext
)
The IMMOBILE_CONCENTRATION computes the concentration of the particles at some
instant, thus the name. Its results are fine for immobile particles, but for mobile
ones (point defects, mobile dopant pairs), it gives a peak wherever there is a
particle. Usually the instantaneous position of mobile particles obtained using
immobile concentration is meaningless.
All particles are expected to be mobile. All particles with the defect label “point
defect” which migration energy and prefactor are not zero. Otherwise, they are
immobile particles.
Note:
TPA gives a concentration of 0 for the nonexisting DADOSDEFECT,
DADOSPARTICLE combinations. (For instance, Arsenic in {311} defects,
etc.)
Immobile
Concentration
Histo
With this histo it is possible to obtain the distribution of clusters in the simulation
cell depending on the cluster size. IMMOBILE_CONCENTRATION parameter gives the
profile of all the clusters sizes versus the depth. The
IMMOBILE_CONCENTRATION_HISTO parameter is a combination of both. It extracts
the profiles (concentration versus depth) as IMMOBILE_CONCENTRATION does, but for
Atomistic Diffusion Simulation Model Descriptions
3102 TP 2005.06
Draft 8/11/05
each cluster size. Thus, this command extracts as many profiles as different
impurity clusters, interstitials, or vacancy clusters are in the simulation.
IMMOBILE_CONCENTRATION_HISTO needs DADOSPARTICLE pointing to a valid
particle. The available concentration histograms are:
For instance, the following EXTRACT command:
extract (
dadosInfo = immobile_concentration_histo
dadosParticle=B
append
extractFile = "BICs.ext"
)
produces:
> B1I2 <
2.015 1.30687e+20
6.045 1.88861e+20
10.075 6.69975e+19
14.105 2.7571e+19
(...)
195.455 1
199.485 1
> B2I3 <
2.015 7.88531e+19
6.045 1.63496e+20
10.075 8.90543e+19
(...)
199.485 1
> B2I2 <
2.015 1
6.045 5.5142e+17
10.075 1
(...)
A profile is obtained for each BIC size present in the simulation. A similar study
can be done with the interstitial clusters:
extract (
Interstitial
extended
defects
Set dadosParticle=I to extract information about {311} defects
and dislocation loops.
Vacancy
extended
defects.
Set dadosParticle=V to extract information about V voids.
B intersti
tial clusters
Set dadosParticle=B to extract information about the boron
impurity clusters (BICs).
As vacancy
clusters
Set dadosParticle=As to extract information about the arsenic
vacancy clusters.
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 3103
Draft 8/11/05
dadosInfo = immobile_concentration_histo
dadosParticle=I
append
extractFile = "InterstitialClusters.ext"
)
producing:
> I39 <
2.015 1
6.045 8.82272e+18
10.075 1.92997e+18
14.105 1
(...)
> I42 <
2.015 1.10284e+18
6.045 1.0477e+19
10.075 1
(...)
Mobile
Concentration
For mobile particles, the instantaneous concentration can be extracted using
IMMOBILE_CONCENTRATION, but that data usually is not interesting. Since mobile
species can diffuse quickly, a time average is needed to obtain reliable data.
TPA maintains the number of jumps each particle has done in each internal boxes.
Using this information, TPA computes the mobile concentration of the particle.
The average is done between timeframes, i.e., each new timeframe TPA erases the
previous information. Usually, TPA reports each new timeframe with an output
line:
Time=10s, 800C. 2.6578e+06 events. 0ev./CPU s.
Time=11.6592s, 800C. 1.5348e+08 events. 325047ev./CPU s. Av.
step=1.10013e08s.
Time=13.5936s, 800C. 1.88213e+08 events. 551320ev./CPU s. Av.
step=5.56911e08s.
The time between two timeframes is important for the accuracy of the mobile
concentration. Brief timeframes do not give enough information for the average.
Long timeframes often contain old and inaccurate information.
Note:
By default, TPA takes 15 timeframes per decade.
For instance, the next input file obtains the iterstitial concentration at 600
o
C for
the different charge states:
TaurusProcess
DefineDevice(
Name = mcdados
xSize = 0.025um
ySize = 0.010um
zSize = 0.025um
Atomistic Diffusion Simulation Model Descriptions
3104 TP 2005.06
Draft 8/11/05
)
Physics( Diffusion( Model = DADOS ))
Deposit(
Material=oxide, Thickness=0.0015um
)
Diffuse(
Temperature = 600C
Time = 2e10s
)
extract(
dadosInfo=mobile_concentration
dadosParticle=IP
dadosDefect=pointd
extractFile=600IP.ext
)
extract(
dadosInfo=mobile_concentration
dadosParticle=I
dadosDefect=pointd
extractFile=600I0.ext
)
extract(
dadosInfo=mobile_concentration
dadosParticle=IM
dadosDefect=pointd
extractFile=600IM.ext
)
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 3105
Draft 8/11/05
The results are depicted in Figure 331.
Supersaturation Supersaturation is the current concentration relative to the equilibrium
concentration:
Equation 3185
TPA computes the supersaturation for Is and Vs only. The current concentration is
calculated as in the MOBILE_CONCENTRATION and, consequently, an average
(involving the time between two timeframes) is done.
The parameter DADOSPARTICLE is needed and can be I or V:
extract(
dadosInfo=supersaturation
dadosParticle=I
extractFile=SupersaturationI.ext
)
extract(
dadosInfo=supersaturation
dadosParticle=V
extractFile=SupersaturationV.ext
)
The output file includes the simulated time and the supersaturation:
1.84786e+10 0.953666
Figure 331 Equilibrium concentration at 600
o
C, as obtained with TPA.
supersaturation X ( )
X [ ]
X [ ]
*
 =
Atomistic Diffusion Simulation Model Descriptions
3106 TP 2005.06
Draft 8/11/05
The supersaturation evolution with time can be easily obtained because the output
includes the time. For instance:
TaurusProcess
DefineDevice(
Name = mcdados
xSize = 40nm
ySize = 350nm
zSize = 40nm
)
Physics( Diffusion( Model = DADOS ))
Deposit(
Material=oxide, Thickness=0.0015um
)
Implant(
Name = silicon
Energy=40 Dose=2e13 Tilt=7 Rotation=22
Model = montecarlo
Time = 10s
AdaptiveRegrid = none
)
Diffuse(
Temperature=26C, Time=5s,
EndTemperature=600C
)
Diffuse(
Temperature=600C, Time=3s
)
extract(
dadosInfo=supersaturation
dadosParticle=I
extractFile=supersat600.ext
)
(...)
Diffuse(
Temperature=600C, Time=40000s
)
extract(
dadosInfo=supersaturation
dadosParticle=I
extractFile=supersat600.ext
append
)
produces the results:
15.849 4.12273e+07
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 3107
Draft 8/11/05
18.4789 1.85987e+07
21.5448 2.0972e+07
54.1178 7.66859e+06
73.5667 4.0307e+06
100 7.85411e+06
398.107 1.3157e+06
630.985 1.89991e+06
1000.08 1.37985e+06
3983.1 40688.3
6310.21 16255.6
10002 107310
39813.1 72699.9
63099.3 63010.4
100007 78849.9
Figure 332 show a comparison with experimental results
Atomistic Setting dADOSINFO to atomistic extracts all the atomistic (3D) information inside
TPA. This includes the three coordinates (x, y, z), the defect type, and particle type
for each particle.
Note:
Setting dadosInfo = atomistic can produce huge output files.
Figure 332 Supersaturation evolution with time, after a Si implant (2e13
dose, 40 keV energy) annealed 1e5s at 600
o
C. (Experimental
points modified from the Reference [19] to use the same B
diffusivity). Points, experiments, lines, TPA.
Atomistic Diffusion Simulation Model Descriptions
3108 TP 2005.06
Draft 8/11/05
The DADOSPARTICLE and DADOSTYPE parameters can be used together with
atomistic to reduce the number of extracted particles. If DADOSPARTICLE is set,
TPA only extracts the atomistic information for that value. The same applies to
dADOSDEFECT. When both, DADOSPARTICLE and DADOSDEFECT are set, TPA only
extracts the particles with both values, Particle and Defect, equals to the specified
ones.
Some examples follow:
• To extract all the particles in the simulation:
extract(
dadosInfo=atomistic
extractFile=atomistic.ext
)
• To extract only the interstitials:
extract(
dadosInfo=atomistic
extractFile=atomisticI.ext
dadosParticle=I
)
• Only the interstitials in {311} defects:
extract(
dadosInfo=atomistic
extractFile=atomisticI.ext
dadosDefect=I311
dadosParticle=I
)
• All the isolated particles (point defects, in TPA nomenclature):
extract(
dadosInfo=atomistic
extractFile=atomisticI.ext
dadosDefect=PointD
)
Note:
If there are APs or amorphous defects in the simulation, the result may
not be the expected. APs only report the “real” particles using this
option. The hidden, or counted ones, are not reported. Amorphous only
reports one particle in the middle of the amorphized box. For further
information, see the Amorphous Pockets, p. 350 and Amorphous
Defects, p. 365.
The created file will look like:
86.6365 9.03064 28.2154 I PointD
81.9499 32.1962 27.8017 I I311
82.4933 32.7394 26.7154 I I311
82.0858 32.4678 27.1228 I I311
81.6784 32.1962 27.5302 I I311
82.2217 32.7394 26.4438 I I311
87.8439 16.2442 14.5956 I AmorphousPocket
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 3109
Draft 8/11/05
87.5885 15.8930 14.8592 I AmorphousPocket
88.0691 16.5111 14.2658 I AmorphousPocket
This atomistic information can be used by any other program to represent the 3D
look of the simulation.
Electrons This option extracts the 1D electron concentration (cm^3) versus depth from the
simulation. These 1D profiles are an average of the electron concentration for
each particular depth.
Electrons parameter needs no extra arguments:
extract(
dadosInfo = electrons
extractFile = e.ext
)
Holes This option works as “electrons”, but extracts the hole concentration for each
depth. It needs no arguments:
extract(
dadosInfo = holes
extractFile = h+.ext
)
As an example, the next input file creates an initial rectangular boron profile and
diffuses it. At the end, the diffused arsenic, the electron, and hole concentration
are extracted:
Figure 333 The atomistic information extracted with dadosInfo=atomistic can
be used by external programs to produce simple views.
Atomistic Diffusion Simulation Model Descriptions
3110 TP 2005.06
Draft 8/11/05
TaurusProcess
DefineDevice(
Name = mcdados
xSize = 100nm
ySize = 100nm
zSize = 100nm
)
Physics( Diffusion( Model = DADOS ))
Deposit(
Material=oxide, Thickness=0.0015um
)
Profile(
Name = boron
Uniform(
Value = 2e19
Polygon(
Point(x=0.1um y=40nm z= 0.0um)
Point(x=0.1um y=60nm z= 0.0um)
Point(x= 0.1um y=40nm z= 0.0um)
Point(x= 0.1um y=60nm z= 0.0um)
)
)
)
Diffuse(
Temperature=20C, Time=5s,
EndTemperature=900C
)
Diffuse(
Temperature=900C, Time=250s
)
Extract(
dadosInfo=immobile_concentration
dadosParticle=B
dadosDefect=Complex
extractFile=BCxdiff.ext
)
Extract(
dadosInfo=immobile_concentration
dadosParticle=B
dadosDefect=PointD
extractFile=BPDdiff.ext
)
Extract(
dadosInfo=electrons
extractFile=electronsdiff.ext
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 3111
Draft 8/11/05
)
Extract(
dadosInfo=holes
extractFile=holesdiff.ext
)
Figure 334 plots the files BPDDIFF.EXT, ELECTRONSDIFF.EXT, and HOLES
DIFF.EXT generated by the above example.
Integral The INTEGRAL option extracts the concentration per surface unit (i.e., cm^2) for
the whole simulation cell in a particular time. You can use INTEGRAL to look at the
evolution of the species with the time.
INTEGRAL needs both the DADOSPARTICLE and dADOSDEFECT. For mobile species,
INTEGRAL extracts the instantaneous concentration, i.e., INTEGRAL does not average
in time. As an example, the following input file implant Si into Si and extracts the
subsequent dissolution of {311} during annealing.
TaurusProcess
DefineDevice(
Name = mcdados
xSize = 75nm
ySize = 350nm
zSize = 75nm
)
Physics( Diffusion( Model = DADOS ))
Figure 334 A rectangular boron spike annealed 250 seconds at 900
o
C.
Atomistic Diffusion Simulation Model Descriptions
3112 TP 2005.06
Draft 8/11/05
Refinements(
Regrid(
MeshSpacing = 0.05um
Criterion(
MeshSpacing = 0.0025um
)
)
Regrid(
MeshSpacingY = 0.0035um
MinY = 0.01um MaxY = 0.5um
)
)
Deposit(
Material=oxide, Thickness=0.0015um
)
Implant(
Name = silicon
Energy=40 Dose=5e13 Tilt=7 Rotation=22
Model = montecarlo
AdaptiveRegrid = none
Time = 100s
DADOSbatch = 100
)
Diffuse(
Temperature = 20C
EndTemperature = 670C
Time = 4s
)
Diffuse(
Temperature = 670C
Time = 3100s
)
extract(
dadosInfo=integral
dadosParticle=I
dadosDefect=I311
extractFile=si670c311.ext
append
)
(...)
extract(
dadosInfo=integral
dadosParticle=I
dadosDefect=I311
extractFile=si670c311.ext
append
)
Model Descriptions Atomistic Diffusion Simulation
TP 2005.06 3113
Draft 8/11/05
This example will produce a file “si670c311.ext”
3204 3.74933e+13
11104 2.944e+13
16104 2.11556e+13
21104 1.536e+13
26104 1.15556e+13
31104 7.64444e+12
36104 4.12444e+12
Figure 335 shows the comparison with experimental data (Reference [45]).
Note:
For times bigger than 4e4 seconds, there is only one {311} remaining in
the simulation. For obtaining values beyond that time, a bigger simula
tion is needed.
Controlling KMC Data Generation
Defaults TPA reports its status five times per time decade, by default. Time decade means
the annealed time (i.e., during a diffusion of 100 seconds). TPA reports the status
15 times, in a logarithmic way, and also at the end of each annealing.
Each time TPA reports its status, it erases the stored information for mobile
particles. That means that the data extracted with MOBILE_CONCENTRATION has been
averaged between the current “snapshot” and the previous one. If the time
Figure 335 Dissolution of {311} extended defects at 670
o
C after a Si into Si
implant of 40 keV, 5e13 cm^2.
Atomistic Diffusion Simulation Model Descriptions
3114 TP 2005.06
Draft 8/11/05
between this snapshots is too short, the information probably will be too noisy. If
the time is too long, it is useless because it contains too much information on
previous history of the simulation.
TPA splits the depth axis into 50 slices, by default. This means that all the profiles
extracted with MOBILE_CONCENTRATION or IMMOBILE_CONCENTRATION contain 50
data points.
Finally, TPA does not store internally 3D information to be extracted with the
ATOMISTIC option by default. For big simulations, or when you are not interested
in this information, this takes memory resources. If you want to obtain this
information using the ATOMISTIC option, then you must change the default as
explained in the following subsection.
dadosdata
Command:
Changing
Defaults
Use the DADOSDATA command to change the above defaults and to set new ones.
DADOSDATA accepts the following options:
The unset options are reset to their default values.
The suggested numbers of decades is 3 to 15. It affects how frequently TPA
outputs a report, but also the averaging for the mobile particles. It does not affect
the simulation, only how the results are averaged.
Events should be set to zero (disabled) or to a value bigger than 1 e61 e7.
Because TPA is able to perform 1 e6 events per second, a small value (for
example, 10,000) generates numerous reports (in this example can be as much as
100 per second) which wastes CPU time.
Examples The following command:
TaurusProcess
DefineDevice(
Name = mcdados
xSize = 25nm
ySize = 50nm
decades Sets the number of reports per decade (5 by default). To disable,
set to zero t.
events Generate a report each time TPA simulates the indicated events.
(Disabled by default) Set to zero to disable it.
save3d True/false. Gets 3D information to be used by the atomistic
extract option (false by default).
slices Number of data points to be extracted in the
MOBILE_CONCENTRATION or IMMOBILE_CONCENTRATION. (50 by
default). If bigger than the number of boxes in the depth axis,
TPA adjusts it.
Model Descriptions Oxidation
TP 2005.06 3115
Draft 8/11/05
zSize = 25nm
)
Physics( Diffusion( Model = DADOS ))
Deposit(
Material=oxide, Thickness=0.0015um
)
DadosData( decades=5 )
Diffuse(
Temperature=800C, Time=1000s
)
produces:
Time=0s, 800C. 0 events.
Time=2.07912s, 800C. 186 events. 186ev./CPU s. Av. step=0.011178s.
Time=3.57062s, 800C. 190 events. Av. step=0.372876s.
Time=6.62435s, 800C. 193 events. Av. step=1.01791s.
Time=10.3755s, 800C. 895 events. Av. step=0.00534351s.
Time=19.188s, 800C. 15154 events. Av. step=0.000618029s.
Time=30.9751s, 800C. 15220 events. Av. step=0.178593s.
Time=40.4597s, 800C. 15362 events. Av. step=0.0667931s.
Time=63.6615s, 800C. 15404 events. Av. step=0.552424s.
Time=101.486s, 800C. 20151 events. Av. step=0.00796815s.
Time=166.514s, 800C. 34155 events. Av. step=0.00464353s.
Time=252.049s, 800C. 39509 events. Av. step=0.0159759s.
Time=403.001s, 800C. 205914 events. Av. step=0.000907136s.
Time=635.265s, 800C. 446280 events. 240366ev./CPU s. Av.
step=0.000966292s.
Time=1000s, 800C. 581511 events. 135231ev./CPU s. Av.
step=0.00269712s.
But setting events to 100000 (for this small simulation this number is acceptable):
DadosData( events=100000, decades=0 )
The result is:
Time=0s, 800C. 0 events. 0ev./CPU s.
Time=304.583s, 800C. 100000 events. 100000ev./CPU s. Av.
step=0.00304583s.
Time=317.481s, 800C. 200000 events. Av. step=0.000128975s.
Time=557.863s, 800C. 300000 events. Av. step=0.00240383s.
Time=557.863s, 800C. 400000 events. Av. step=2.80806e11s.
Time=856.69s, 800C. 500000 events. 100000ev./CPU s. Av.
step=0.00298827s.
Time=1000s, 800C. 581511 events. 81511ev./CPU s. Av.
step=0.00175817s.
Oxidation
Taurus Process uses a viscoelastic model similar to that developed by Senez et al
(Reference [67]). The simulation of oxidation is performed when a Diffuse
command specifies an ambient containing either steam or oxygen (see Ambient
Composition and Oxidation of Materials, p. 33).
Oxidation Model Descriptions
3116 TP 2005.06
Draft 8/11/05
If the structure contains a silicon or polysilicon surface that is exposed to the
ambient a native oxide layer is created. The thickness can be specified using the
NativeLayerThickness parameter of the Diffuse command. The default
value of NativeLayerThickness is 20 Angstrom. In 3D simulations this
small value may result in an extremely large number of mesh elements and
prohibitive slow simulation. The user may have to specify a larger native thickness
and adjust some parameters for the oxide growth to create a layer of oxide with
the correct oxide thickness.
After forming the native oxide layer, the structure is checked if it contains a
silicon or polysilicon region in contact to a region of material oxide or teos. It this
oxide or teos region is exposed to the ambient or is connected through other oxide
or teos regions with the exposed ambient, an oxidation simulation is performed. If
no such region is found an inert anneal is simulated instead.
Theory of Oxidation
The model used in Taurus Process for the simulation of oxidation is an extension
of the theory of Deal and Grove (Reference [56]). The flux of oxidant (assumed to
be O
2
or H
2
O) entering the oxide from the ambient gas is given by:
Equation 3186
where:
• is the gasphase masstransfer coefficient
• is the concentration of oxidant in the oxide at the surface
• is the concentration of oxidant in the ambient at the oxide surface
• is the unit vector normal to the oxide surface, pointing towards the oxide
The flux of oxidant in the oxide is:
Equation 3187
where:
• is the diffusivity of oxidant in the oxide
• is the local concentration of oxidant
• is the gradient operator
The rate of oxidant consumption at the oxidizing interface is:
Equation 3188
where:
• is the surface reaction rate
• is the oxidant concentration at the interface
F h C
a
C
o
– ( )
n
s
=
h
C
o
C
a
n
s
F D∇C =
D
C
∇
F k
s
Cn
i
=
k
s
C
Model Descriptions Oxidation
TP 2005.06 3117
Draft 8/11/05
• is the unit vector normal to the interface pointing away from the oxide
In steady state, the divergence of the fluxes is zero:
Equation 3189
The oxide growth rate is given by:
Equation 3190
where:
• represents the interface velocity relative to the oxide.
• is the number of oxidant molecules needed to form each cubic centimeter
of oxide.
The term models the rapid growth that is seen during the initial stages of
oxidation.
In 1D, Equations 3186 through 3190 can be solved to give:
Equation 3191
where y is the oxide thickness and A and B are given by:
Equation 3192
Equation 3193
Oxidation Model
The numerical model used in Taurus Process uses Equations 3186 through 3190
to solve the incorporation of oxidant at the exposed surface, the diffusion through
the oxide region and the conversion of oxidant and silicon layer material into
newly grown oxide in combination with a solution of the viscoelastic stress
equations, as described below. In 1D simulations, this model becomes equivalent
to Equation 3191.
Oxidant
Diffusivity
The diffusion of oxidant through the oxide is modeled by Equation 3187. The
oxidant diffusivity is given by:
Equation 3194
n
i
∇ F ⋅ 0 =
dY
dt

F
N
1
 r
thin
+ =
dY dt ⁄
N
1
r
t hin
dy
dt

B
A 2y +
 =
A 2D
1
k
s

1
h
  +
. ,
 `
=
B
2DC
*
N
1
 =
D Prefactor exp
Energy –
kT

. ,
 `
⋅ =
Oxidation Model Descriptions
3118 TP 2005.06
Draft 8/11/05
where Energy and PreFactor are defined in the Physics command. A
critical temperature and separate values for Prefactor and Energy can be
specified to be used below and above the critical temperature:
Physics(
Material=Oxide
Equation=<string>
Diffusivity(
CriticalTemperature = <float> # [C]
LowTemperatureDiffusivity(
Prefactor=<float> # [cm2/s]
Energy=<float> #[eV]
)
HighTemperatureDiffusivity(
Prefactor=<float> # [cm2/s]
Energy=<float> #[eV]
)
)
)
Incorporating
Oxidant at the
Exposed Surface
Considering that the gasphase mass transfer is always several orders of
magnitude faster than the solidstate mass transfer for the oxidizing species,
Equation 3186 is replaced by the following boundary condition at the exposed
oxide surface:
Equation 3195
where:
• is the exponent for the partial pressure dependence
• is the oxidant solubility in the oxide at atmospheric pressure
• is the partial pressure of the oxidant in the ambient
The oxidant solubility in oxide is determined by:
Equation 3196
where Energy and PreFactor are defined as:
Physics(
Material=Oxide
Equation=<string>
Solubility(
Prefactor=<float> # [cm3]
Energy=<float> #[eV]
)
)
for the oxygen or steam equations. Separate values may be specified for the
material.
C
o
C
*
P
ox
m
⋅ =
m
C
*
P
ox
C
*
Prefactor exp
Energy –
kT

. ,
 `
⋅ =
Model Descriptions Oxidation
TP 2005.06 3119
Draft 8/11/05
Partial Pressure
Dependence
The partial pressure of the oxidant species affects the oxidant concentration at the
exposed oxide surface according to Equation 3195. The exponent is equal to 1
for steam oxidation, which means that the oxidation rate is directly proportional to
the steam partial pressure. For oxidation in dry oxygen, however, the exponent
depends on oxidation temperature as:
Equation 3197
Values of the parameters of this equation are selected such that the exponent is 1.0
at high temperatures (above 1200
o
C), and 0.5 at low temperatures (below 600
o
C).
The value of the exponent is limited to the [0.5,1] range.
This peculiar nonlinearity of the dry oxidation dependence on partial pressure is
due to the energetics of oxygen chemosorption Reference [140].
The parameters PressureExponent, PressureExponentFactor, and
PressureExponentShift can be specified in the Physics command:
Physics(
Material=Oxide
Equation=Oxygen
PressureExponent=<float>
PressureExponentFactor=<float>
PressureExponentShift=<float>
)
Reaction at the
OxideSilicon
Interface
The rate at which the oxidant molecules react with silicon at the oxide/silicon
interface is given by Equation 3188. The reaction rate is derived from
Equation 3192:
Equation 3198
where is reflecting the substrate doping dependence of the oxidation reaction
that is described in a subsequent section; Energy and PreFactor are specified
separately for each principal surface orientation <100>, <110>, and <111> in
the Physics command.
To compute the reaction rate for a mesh point on the oxide silicon interface, first
an averaged local normal direction is determined. The surface reaction rate in the
point depends on the local crystal orientation of the interface, which is derived
from:
• The normal vector
• The orientation of the simulation coordinate system relative to the layout
coordinates
• The substrate orientation,
• The primary flat orientation and direction.
m
m PressureExponent
PressureExponentFactor T PressureExponentShift – ( )
+ =
k
s
k
s
P
ox
PressureExponent
Prefactor exp
Energy –
kT

. ,
 `
l
C
⋅ ⋅ =
l
C
Oxidation Model Descriptions
3120 TP 2005.06
Draft 8/11/05
Once the local crystal orientation is determined, the reaction rate is interpolated
from the parameters specified for the three principal surface orientations.
Separate coefficients for the reaction rate are specified for a high and a low
temperature region.
Physics(
Interface(Material1=Oxide Material2=Silicon)
Equation=<string>
Reaction(
PressureExponent = <float>
Orientation100(
CriticalTemperature = <float>
LowTemperatureReaction(
Prefactor=<float> # [cm/s]
Energy=<float> #[eV]
)
HighTemperatureReaction(
Prefactor=<float> # [cm2/s]
Energy=<float> #[eV]
)
)
Orientation110(...)
Orientation111(...)
)
)
Thin Regime For dry oxidation an abnormally fast initial oxide growth has been described. In
Taurus Process the thin regime oxidation rate is given according to Reference [57]
as:
Equation 3199
where is the oxide thickness, is defined by the parameter
PressureExponent. The parameter is given by an Arrhenius relation with
PreFactor and Energy. These parameters and the DecayLength are
specified per each of the fundamental crystal orientations in the Physics
command:
Physics(
Interface(Material1=Oxide Material2=Silicon)
Equation=Oxygen
ThinLayerEnhancement(
PressureExponent=<float>
Orientation100(
Prefactor=<float> # [cm/s]
Energy=<float> # [eV]
DecayLength=<float> # [um]
)
Orientation110(...)
Orientation111(...)
)
r
thin
R
0
P
ox
E
exp
d
ox
–
DecayLength

. ,
 `
⋅ =
d
ox
E
R
0
Model Descriptions Oxidation
TP 2005.06 3121
Draft 8/11/05
)
The partial pressure dependency in Equation 3198 and Equation 3199 is turned
off by default by using zero values for the PressureExponent parameters.
These terms have been introduced for compatibility with TSUPREM4.
Concentration
Dependence
The electron concentration dependency of the linear oxidation rate is given by
References [62], [63], and [64]:
Equation 3200
where:
Equation 3201
Equation 3202
The parameters PreFactor and Energy are specified for each of the oxidizing
species as:
Physics(
Interface(Material1=Oxide Material2=Silicon)
Equation=Oxygen
Reaction(
DopingDependence(
Prefactor=<float>
Energy=<float> # [eV]
)
)
)
denotes the electron concentration in the silicon at the oxidizing interface,
the intrinsic density. The terms , , and are the normalized intrinsic
concentrations of positive, negative, and double negative vacancies, respectively,
given by:
Equation 3203
Equation 3204
l
C
l
C
1 γ
V
C
V
1 – ( ) + =
γ
V
PreFactor exp
Energy –
kT

. ,
 `
⋅ =
C
V
1 C
+
n
i
n

. ,
 `
C
_
n
n
i

. ,
 `
C
=
n
n
i

. ,
 `
2
+ + +
1 C
+
C
_
C
=
+ + +
 =
n n
i
C
+
C
_
C
=
C
+
exp
E
+
E
i
–
kT

. ,
 `
=
C
_
exp
E
i
E

–
kT

. ,
 `
=
Stress Modeling Model Descriptions
3122 TP 2005.06
Draft 8/11/05
Equation 3205
Equation 3206
Equation 3207
Equation 3208
Equation 3209
Equation 3210
Stress Modeling
Taurus Process uses either a viscoelastic, an isotropic elastic, or an anisotropic
elastic model for one of the materials in the device to simulate stress evolution in
the structure. By default, stresses are computed only during oxidation and
silicidation steps and in material regions other than the silicon substrate. The
semiconductor bulk region is assumed to be a rigid body by default.
Automatic Stress
History
Simulation
During the
Process Flow
You can change this default behavior and simulate the stress history during the
entire process flow and in the entire structure including the bulk region by
specifying:
Physics(KeepStressHistory)
With this setting, the simulation will include thermal mismatch stress, lattice
mismatch stress, stress relaxation during low temperature geometry changes,
intrinsic stress durig depostion, and stresses caused by material growth and
volume expansion or shrinkage. Specify this Physics command before any
Diffuse, Deposit, or Etch commands corresponding to the process steps
where the stress effects are considered.
KeepStressHistory activates the stressstrain equations in all regions
including the silicon substrate and does stress simulations at every Diffuse
command and a stress relaxation at the end of each Deposit and Etch
command (with time=1s and temperature=20C).
The flag KeepStressHistory enables the stress simulation, but it does not
enforce the simulation of boundary movements (unless the Diffuse command
requires oxidation or silicidation). In some cases, such as TEOS densification, the
boundary movement must be enabled explicitly as:
C
=
exp
2E
i
E
_
– E
=
–
kT

. ,
 `
=
E
+
0.35 eV =
E
_
E
g
0.57 eV – =
E
=
E
g
0.12 eV – =
E
i
E
g
2
 0.75ln 0.719 ( )kT eV + =
E
g
1.17
4.73 10
4 –
T
2
×
T 636 +

eV – =
Model Descriptions Stress Modeling
TP 2005.06 3123
Draft 8/11/05
Physics(MoveBoundaries)
By default, both KeepStressHistory and MoveBoundaries are turned
off.
Stress Strain Models
Taurus Process uses several stress models to describe materials with different
mechanical behaviors. In crystalline materials like silicon, mechanical properties
vary along different crystal orientations so the anisotropic elastic model is used to
model this anisotropy. For polycrystal materials like polysilicon, mechanical
properties are isotropic so the isotropic elastic model is used. The viscoelastic
stress model is used for modeling insulator materials like oxide and silicide. The
model was initially used for stress modeling during oxidation (Reference [67]).
For the isotropic elastic model, the stresses are calculated from the constitutive
equations as:
Equation 3211
Equation 3212
Equation 3213
Equation 3214
Equation 3215
Equation 3216
where , and are the components of the displacement increment vector (the
increment per time step), and , , , , , and are the components of
the corresponding stress tensor,
Equation 3217
σ
xx
2 G
∂u
x
∂x

v
1 2v –

∂u
x
∂x

∂u
y
∂y

∂u
z
∂z
 + +
. ,
 `
1 v +
1 2v –
 α ∆T ⋅ ⋅
. ,
 `
– +
. ,
 `
⋅ ⋅ =
σ
yy
2 G
∂u
y
∂y

v
1 2v –

∂u
x
∂x

∂u
y
∂y

∂u
z
∂z
 + +
. ,
 `
1 v +
1 2v –

α ∆T ⋅ ⋅
. ,
 `
– +
. ,
 `
⋅ ⋅ =
σ
zz
2 G
∂u
z
∂z

v
1 2v –

∂u
x
∂x

∂u
y
∂y

∂u
z
∂z
 + +
. ,
 `
1 v +
1 2v –

α ∆T ⋅ ⋅
. ,
 `
– +
. ,
 `
⋅ ⋅ =
σ
xy
G
∂u
x
∂y

∂u
y
∂x
 +
. ,
 `
⋅ =
σ
xz
G
∂u
x
∂z

∂u
z
∂x
 +
. ,
 `
⋅ =
σ
yz
G
∂u
y
∂z

∂u
z
∂y
 +
. ,
 `
⋅ =
u
x
u
y
u
z
σ
xx
σ
yy
σ
zz
σ
xy
σ
xz
σ
yz
G
YoungsModulus
2 1 PoissonRatio + ( ) ⋅
 =
Stress Modeling Model Descriptions
3124 TP 2005.06
Draft 8/11/05
denotes the shear modulus, and the PoissonRatio. ∆T denotes the
temperature change and α defines the linear thermal expansion coefficient as:
Equation 3218
denotes the absolute temperature. The parameters are specified for each
material as:
Physics(
Material=<string>
YoungsModulus=<float> # [Pa]
PoissonRatio=<float>
ThermalExpansion(
AtRoomTemperature=<float>
Delta=<float>
)
)
The stresses must satisfy the balance equations for the linear momentum:
Equation 3219
Equation 3220
Equation 3221
These equations can be combined with Equation 3226 and are solved for the
displacement increments (i.e. the displacement per time step). The equations are
referred to as StressStrainX, StressStrainY, and StressStrainZ.
To enable the isotropic stressstrain model, the following Physics command is
used:
Physics(
KeepStressHistory
Material=Silicon
StressModel=Elastic
)
Anisotropic
Mechanical
Properties
In crystalline silicon and germanium, Young’s modulus in different directions can
differ by about 10% in the <110> plane, as evaluated by Wortman and Evans
(Reference [141]). This anisotropy has been estimated to account for over 30%
difference in stress/strain values (Reference [140]). This model is the same as the
model above except for the different constitutive equations as described in the
following equation:
Equation 3222
ν
α AtRoomTemperature Delta T 293 – ( ) ⋅ + =
T
∂σ
xx
∂x

∂σ
xy
∂y

∂σ
xz
∂z
 + 0 = +
∂σ
xy
∂x

∂σ
yy
∂y

∂σ
yz
∂z
 + 0 = +
∂σ
zx
∂x

∂σ
zy
∂y

∂σ
zz
∂z
 + 0 = +
σ
i
C
ij
ε
j
⋅ =
Model Descriptions Stress Modeling
TP 2005.06 3125
Draft 8/11/05
where σ
i
and ε
i
are the engineering stresses and strains, respectively. According to
convention, the σ
i
(i=1,...,6) corresponds to σ
xx,
σ
yy,
σ
zz,
σ
xy,
σ
yz,
σ
xz
while ε
i
corresponds to ε
xx,
ε
yy,
σ
zz,
2ε
xy,
2ε
yz,
2ε
xz.
In a coordinate system with axes aligned along the crystalaxes in a cubic crystal,
the symmetrical stiffness matrix C has the following nonzero components:
C
11
=C
22
=C
33
, C
12
=C
23
=C
13
, C
44
=C
55
=C
66
. All other components are zero.
There are three independent modulus parameters, namely, C
11
, C
12
and C
44
. This
model reduces to the isotropic model if C
11
C
12
=2C
44
. When the device
coordinate axes do not coincide with the crystal axes, C has to be multiplied by
the appropriate rotation matrix.
The values of these parameters can be defined using the following command,
which also shows the default values used for crystalline silicon:
Physics(
Material=Silicon
C11=1.657e+11, # [Pa]
C12=0.639e+11, # [Pa]
C44=0.796e+11, # [Pa]
)
To enable the anisotropic stressstrain calculation for crystalline silicon one must
use the following Physics command:
Physics(
KeepStressHistory
Material=Silicon
StressModel=Elastic
Anisotropic=True
)
Boundary
Conditions
The displacement increment is continuous across internal interfaces and there is
no slippage at an interface between materials. Normal tractions across the
interfaces are also balanced.
All ambient interfaces are treated as free surface.
Reflective surfaces at the sides of the simulation domain are treated as fixed: No
normal motion of the boundary and zero normal flow of material across the
boundary are assumed but the material may move freely in the Ydirection.
If a 1D or 2D structure is simulated with Taurus Process, a plane strain type of
boundary condition is applied. In 1D simulations the components , ,
and the mechanical and of the strain tensor are assumed to be zero, in a
2D simulation the components , and the mechanical of the strain tensor
are assumed to be zero. Note that the corresponding normal stress components
may be nonzero. For thermal simulations the normal strain components in these
directions will also be nonzero.
ε
xy
ε
yz
ε
xz
ε
xx
ε
zz
ε
xz
ε
yz
ε
zz
Stress Modeling Model Descriptions
3126 TP 2005.06
Draft 8/11/05
ViscoElastic
Flow
The viscoelastic model adds a viscous relaxation to the above elastic stressstrain
model according to the Maxwell model. The viscoelastic model solves an
equation of the form:
Equation 3223
where:
• G is the modulus of elasticity in shear (see Equation 3217).
• is the shear stress relaxation time ( is the viscosity).
• is the strain.
The increments of the strain tensor are defined by:
Equation 3224
Equation 3225
The change in stress is proportional to the change in strain, minus a relaxation
term that is proportional to the stress. The model relaxes the deviatoric stress
components, whereas the dilatational (volumetric) component has no relaxation:
Equation 3226
where:
Equation 3227
are the dilatational components of the stress and strain, respectively, and
∂σ
∂t
 2G
∂ε
∂t

σ
τ
 – =
τ µ G ⁄ = µ
ε
ε
xx
∂u
x
∂x

≡ ε
yy
∂u
y
∂y

≡ ε
zz
∂u
z
∂z

≡
ε
xy
1
2

∂u
x
∂y

∂u
y
∂x
 +
. ,
 `
ε
xz
1
2

∂u
x
∂z

∂u
z
∂x
 +
. ,
 `
ε
yz
1
2

∂u
z
∂y

∂u
y
∂z
 +
. ,
 `
≡
≡
≡
∂σ
v
∂t
 3K
∂ε
v
∂t

=
∂σ′
∂t
 2G
∂ε ′
∂t

σ′
τ ′
 – = τ ′
µ
G
 = ,
σ
v
1
3

σ
xx
σ
yy
σ
zz
+ + ( ) ≡ and ε
v
1
3

ε
xx
ε
yy
ε
zz
+ + ( ) ≡
Model Descriptions Stress Modeling
TP 2005.06 3127
Draft 8/11/05
Equation 3228
are the deviatoric components.
The bulk modulus is defined as:
Equation 3229
and the shear viscosity is given by:
Equation 3230
where PreFactor, Energy, YoungsModulus and PoissonRatio are
specified for each viscoelastic material in the Physics command as:
Physics(
Material=<string>
YoungsModulus=<float> # [Pa]
PoissonRatio=<float>
ShearViscosity(
Prefactor=<float> # [Pa s]
Energy=<float> # [eV]
)
)
To enable the viscoelastic stressstrain calculation, one must use the following
Physics command:
Physics(
KeepStressHistory
Material=<string>
StressModel=ViscoElastic
)
Oxidation Stress
Dependence
When StressDependency is set true in the Physics command, the surface
reaction rate , diffusivity of the oxidant in oxide , and the oxide viscosity
are modified to reflect their dependence on the stresses during oxidation.
The stress dependent surface reaction rate is defined as:
σ′
σ
xx
σ
v
–
σ
yy
σ
v
–
σ
zz
σ
v
–
σ
xy
σ
xz
σ
yz
≡ and ε ′
ε
xx
ε
v
–
ε
yy
ε
v
–
ε
zz
ε
v
–
ε
xy
ε
xz
ε
yz
≡
K
K
YoungsModulus
3 1 2 Po ⋅ – issonRatio ( ) ⋅
 =
µ
µ Prefactor exp
Energy –
kT

. ,
 `
⋅ =
k
s
D µ
k'
s
Stress Modeling Model Descriptions
3128 TP 2005.06
Draft 8/11/05
Equation 3231
It depends on the stress normal to the interface :
Equation 3232
where is the unit normal vector to the interface. If the hydrostatic stress model is
selected for the reaction rate (see next section), in Equation 3231 is replaced
by the hydrostatic pressure defined as:
. Equation 3233
The stress dependent oxidant diffusivity always depends on the hydrostatic
pressure:
Equation 3234
The exponent in Equation 3234 is limited to positive arguments to prevent
unrealistic enhancements of the diffusivity.
For the stress dependent nonlinear oxide viscosity the von Mieses stress is
used:
Equation 3235
The viscosity depends on the von Mieses shear stress :
This expression reduces 2D to the total shear stress used in TSUPREM4 for the
case of a planar deformation:
. Equation 3236
Each of the three StressDependency effects and each of the
ActivationVolume parameters is defined in the Physics command:
Physics(
Material=Oxide
ShearViscosity(
StressDependency=true
ActivationVolume=<float>
)
Equation=<string>
Diffusivity(
StressDependency=true
k′
s
k
s
exp
σ
n
ActivationVolume ⋅
kT

–
. ,
 `
=
σ
n
nσn – =
n
σ
n
p
p
1
3
 σ
xx
σ
yy
σ
zz
+ + ( ) – =
D'
D′ D exp
p ActivationVolume ⋅
kT

–
. ,
 `
=
µ'
µ' µ
σ
s
ActivationVolume ⋅ ( ) 2kT ⁄
sinh σ
s
ActivationVolume ⋅ ( ) 2kT ⁄ ( )

=
σ
s
σ
s
σ
xx
2
σ +
yy
2
σ
zz
2
3σ
xy
2
3σ
xz
2
3σ
yz
2
σ
xx
σ
yy
– σ
xx
σ – +
zz
σ
yy
σ
zz
– + + + =
σ
s
1
2
 σ
xx
2
σ +
yy
2
2σ
xx
σ
yy
– 4σ
xy
2
+ =
Model Descriptions Stress Modeling
TP 2005.06 3129
Draft 8/11/05
ActivationVolume=<float>
)
)
Physics(
Interface(Material1=Oxide Material2=Silicon)
Equation=<string>
Reaction(
StressDependency=true
ActivationVolume=<float>
)
)
Hydrostatic
Stress
Dependent
Reaction Rate
Model
Two stress dependent interface reaction rate models are available in Taurus
Process: the reaction rate may be chosen to depend on the normal stress or on the
hydrostatic pressure.
When the reaction rate is chosen to depend on the normal stress, the oxide
expansion is assumed as a one dimensional movement from the interface in the
normal direction. The stress opposing this expansion is the compressive normal
stress σ
nn
. The extra work to be performed in order to overcome the activation
barrier is the product of this normal stress and the activation volume.
In contrast, if the reaction rate depends on the hydrostatic pressure, an isotropic
expansion of the oxide at the interface is assumed. The stress component opposing
such an expansion is the pressure, defined by p =  (σ
11
+ σ
22
+σ
33
) / 3, in the
oxide and the work to be performed in order to overcome the activation barrier is
the product of this pressure and the activation volume (Reference [142]).
Generally, the hydrostatic stress dependence provides a more physically correct
representation of the stress related effects than the normal stress dependency.
Besides, it provides a higher numerical stability, because the hydrostatic pressure
can be calculated more accurately in the volume elements than the normal stress at
the interface.
The hydrostatic stress dependent reaction rate model is selected as:
Physics(
Material=Oxide
Equation=<string>
Reaction(StressModel=hydrostatic)
)
Anisotropic
Stress
Dependent
Reaction Model
for Oxidation
Due to the anisotropy of the silicon crystal, all material properties vary along
different crystal directions. For oxidation, experiments have shown a strong
directional dependence of the oxide growth. (see Reference [143]). In Taurus
Process an anisotropic dependency of the reaction rate on the stress (see
Reference [144]) is implemented in which the activation volume varies according
to the local crystal orientation at the interface.
Stress Modeling Model Descriptions
3130 TP 2005.06
Draft 8/11/05
To select this model, both the KeepStressHistory and the
OrientationDependency parameters need to be selected. The appropriate
physics command is:
Physics(
KeepStressHistory
Material=Silicon
Anisotropic=true
)
Physics(
Interface(Material1=Oxide Material2=Silicon)
Equation=<string>
Reaction(
StressModel = hydrostatic
OrientationDependency = true
ActivationVolume_100 = 64.0e30
ActivationVolume_110 = 22.6e30
ActivationVolume_111 = 332.5e30
)
)
Implicit Time
Integration
Scheme
In the implicit time integration scheme, the stress at the end of the time step is
computed using a constant viscosity which is the average of the viscosity at the
beginning and the end of the time step. The stress at the end of the time step is
determined by this average viscosity which in turn depends on the unknown stress
at the end of the time step. An iteration is required to determine the solution for
the coupled equation. This solution scheme is named “implicit”.
This implicit scheme is significantly more stable than the conventional explicit
scheme at a higher cost per time step compared to the explicit method used by
default. The implicit integration scheme can be selected as follows:
Physics(StressModel=ViscoElastic_IMP)
The (default) explicit integration scheme is selected using:
Physics(StressModel=ViscoElastic)
Control of
Stress
Balance When
Solving Stress
Equations
Taurus Process offers control of the stress imbalance. In the explicit algorithm, the
nonlinear dependencies of diffusivity, reaction rate and viscosity on stress use the
stress values from the previous time step. The current stress values are updated
only after solving the oxidant transport and reactions. When the time step
increases, large imbalance forces due to using previous stress values might lead to
stress oscillations. The stress imbalance can be restricted by defining an
imbalance limit per time step in the numerics command
Numerics(ImbalanceLimit=10.0). Large deviations of the computed
stresses will cause a rejection and reduction of the current time step. The
imbalance control is recommended when stress oscillations become a concern.
Setting a very small imbalance limit will result in longer simulation time due to
the reduced time steps. In most cases simulated until now, stress oscillations can
be avoided when the imbalanced force limit is set to less than 10 (i.e., 10 Newton).
Model Descriptions Stress Modeling
TP 2005.06 3131
Draft 8/11/05
Finite
Deformation
Model
A finite deformation stressstrain model is often necessary to account for the large
mechanical deformations that are common in fabrication processes. Expressing in
terms of the Lagrangian formulation, a point initially at position X is displaced to
its current position x, the two point deformation gradient tensor F can be
decomposed into an orthogonal rotation tensor R, which represents a rigid body
rotation, and a symmetric positive definite stretch tensor U. The strain tensor E
can be obtained based on the deformation tensor F. Since no stress should be
generated from rigid body rotations, stresses calculated from strain in the rotated
frame need to be converted back to the fixed global frame by multiplying with the
rotation tensors.
To enable the finite deformation model and account for the rotational stress
component, use the following Physics command:
Physics(SmallStrain=false)
The Finite Deformation Model has a potential to improve accuracy by 5% for
some applications involving large deformation. For most small strain applications
it has no impact at all. This model is not available for the current release.
Modeling Thermal Mismatch Stresses
Taurus Process models the thermal mismatch stresses that are introduced during
temperature ramps. The materials in the strucutre can be described using the
isotropic elastic model, the anisotropic elastic model, or the viscoelastic model.
The thermal expansion of the entire wafer is controlled by the
WaferThermalExpansion parameter in the Physics command. In
addition, for each material the ThermalExpansion parameter is specified.
In thermal mismatch stress simulation the relative thermal expansion or shrinkage
of the structure compared to the isotropic thermal expansion or shrinkage of the
wafer is simulated. If all materials had specified their thermal expansion
coefficient the same as the WaferThermalExpansion, there would be no
thermal mismatch between materials and neither a boundary movement nor a
change of the stresses would be computed. Nontrivial stress changes can be
observed only in structures that contain materials with different thermal expansion
coefficients.
In the simulation the difference between the thermal expansion coefficient of each
material and the thermal expansion coefficient of the wafer is used in the stress
strain equation discussed above. This implies that thermal expansion of the layer
structure is dominated by the themal expansion of the thick substrate wafer.
Fixed boundary conditions are applied at all reflective boundaries (at the left,
right, front and back side of the mesh), including regions with thermal expansion
coefficients different from the wafer expansion. It is assumed that the simulation
domain always represents a very small part of a large silicon wafer and hence the
deformation of the simulation domain is “constrained” by the wafer. The layer
structure can expand “freely” only to the top, but not in the lateral directions.
Silicidation Model Descriptions
3132 TP 2005.06
Draft 8/11/05
Modeling Intrinsic Stress in Deposited Layers
Taurus Process models the intrinsic stress in the deposited layers. See
corresponding descriptions in Deposition, p. 3168.
Modeling Lattice Mismatch Stress for SiGe Applications
Taurus Process models the lattice mismatch stress for SiGe applications. See
corresponding descriptions in Deposition, p. 3168.
Modeling Stress Rebalance after Depositon and Etching
Taurus Process models the stress rebalance after deposition and etching. See
corresponding descriptions in Deposition, p. 3168 and Etch, p. 3173.
Stresse Dependent Impurity Diffusion
Taurus Process models the stress dependency of impurity diffusion. See
corresponding descriptions in Diffusion of Impurities, p. 35.
Oxidation of Polysilicon and other Materials
Polysilicon is oxidized using the models for silicon oxidation. Oxidation of
nitride, oxidation of silicon using NO
x
or nitridation cannot currently be simulated
in Taurus Process.
Silicidation
Taurus Process simulates the growth of silicide using a diffusionreaction model
for the silicon or metal transport, interface reactions and a viscoelastic stress
model very similar to the simulation of oxidation.
Before each anneal simulation, the structure is analyzed. If an interface is found
between a silicon or polysilicon region and a metal, capable of forming a silicide,
a native silicide layer is formed. The nativeLayerThickness can be
specified similar to the oxidation. The default is 2nm.
If the layer structure contains a silicide region in contact with a silicon or
polysilicon region, as well as a corresponding metal region, the simulation of
silicidation is enabled.
For cobalt silicide two diffusing species are assumed:
• Silicon atoms dissolve in the silicide. Silicon bulk material is assumed to dis
solve at the silicidesemiconductor interface, the dissolved atoms diffuse
Model Descriptions Silicidation
TP 2005.06 3133
Draft 8/11/05
through the silicide towards cobalt and react at the cobaltcobaltsilicide inter
face to form new cobaltsilicide. The concentration of dissolved silicon is
stored and displayed in Taurus Visual in a field called “silicon”. This field is
used solely for silicide growth, it has nothing to do with other silicon atoms;
e.g., silicon implanted in a preamorphizing implant or silicon interstitials.
• Cobalt atoms dissolve in the silicide. Cobalt bulk material is assumed to dis
solve at the cobaltcobaltsilicide interface, diffuse through the silicide towards
the semiconductor and react at the semocondictorsilicide interface to form
new silicide. The cobalt atoms dissolved in silicide are stored and displayed in
Taurus Visual in a field called “cobalt”.
For all other silicides, the only species contributing to the silicide growth are
silicon atoms, dissolved in the silicide.
Silicide growth for metals other than the predefined titanium, nickel, tungsten and
cobalt can be added to Taurus Process by modifying two ASCII files.
• The name of the metal and the name of its corresponding silicide must both
appear in the material data base file mtr.db. The name of the silicide must be
derived from the metal name by appending “silicide”.
• The physical properties of the metal, its silicide, and their interfaces should be
specified in the simulation, e.g. in the physics_data file.
Theory of Silicidation
The simulation of silicidation in Taurus Process follows the basic oxidation theory
of Deal and Grove (Reference [56]) for oxidation. The flux of silicon atoms
entering the silicide from the silicon substrate is given by the firstorder kinetics:
Equation 3237
where:
• is the interface masstransfer coefficient.
• is the concentration of silicon atoms in the silicide at the surface.
• is the solubility of silicon atoms in the silicide.
• is the unit vector normal to the silicide surface, pointing towards the sili
cide.
The flux of silicon atoms in the silicide is:
Equation 3238
where:
• is the diffusivity of silicon atoms in the silicide.
• is the local concentration of silicon atoms.
• is the gradient operator.
F h C
*
C
o
– ( )
n
s
=
h
C
o
C
*
n
s
F D∇C =
D
C
∇
Silicidation Model Descriptions
3134 TP 2005.06
Draft 8/11/05
The rate of silicon atoms consumption at the silicide/metal interface is:
Equation 3239
where:
• is the surface reaction rate.
• is the silicon atoms concentration at the interface.
• is the unit vector normal to the interface pointing away from the silicide.
In steady state, the divergence of the fluxes is zero:
Equation 3240
The silicon consumption rate by the growing silicide is given by:
Equation 3241
where:
• represents the interface velocity relative to the silicon substrate.
• is the volume of a silicon atom in silicon.
The silicide expansion rate at the silicide/metal interface is given by:
Equation 3242
where:
• represents the interface velocity relative to the silicide.
• is the volume of a silicide molecule in silicide.
• is the number of silicon molecule per metal molecule in the reaction.
Equations 3240 through 3242 illustrate that if , then the top surface of
silicide is rising above the original silicon surface (which is the case for titanium
silicide). Otherwise, it is going below the original silicon surface (which is the
case for cobalt silicide).
The metal shrinkage rate is given by:
Equation 3243
where:
• represents the shrinkage velocity at the metal/silicide interface.
• is the volume of a metal atom in metal.
F k
s
Cn
i
=
k
s
C
n
i
∇ F ⋅ 0 =
dY
dt
 FV
Si
=
dY dt ⁄
V
Si
dY
dt
 F – ( )
V
MeSi
N
si

=
dY dt ⁄
V
MeSi
N
si
V
Si
V
MeSi
N
si
 <
dY
dt
 FV
Me
=
dY dt ⁄
V
Me
Model Descriptions Silicidation
TP 2005.06 3135
Draft 8/11/05
The volumes in Equations 3241 through 3243 are given by:
Equation 3244
where:
• is the mass of a molecule or atom, specified by the MolecularWeight
parameter on the Physics command.
• is the Avogadro number (6.02204
.
10
23
).
• is the density of the material specified by the Density parameter on the
Physics command.
The metal dissolution, transport, and reaction in case of cobalt silicide is governed
by the exact same equations with the exception that dissolution and formation of
new silicide are assumed at opposite boundaries. Taurus Process simulates this by
simultaneously solving Equations 3237 through 3240 for silicon and metal
atoms. The interface movement rates are determined by the same volume
proportions as in the case of silicon atoms diffusion. The interface movement
rates due to the silicon and metal atoms contributions are added together.
Silicide Growth
Suppression by
Oxygen
The shape of selfaligned silicide typically shows partial or complete growth
suppression at the corners of oxide spacers or TEOS isolation (Reference [75]). To
account for this effect, a model for oxygen atoms diffusing into silicide from the
adjacent oxide regions and suppressing silicidation has been proposed in
(Reference [76]). In the simulation, the oxygen atoms to suppress silicide growth
are kept completely separate from the oxygen species in oxidation. The oxygen
species in oxidation is stored in a TDF file and displayed in Taurus Visual as
oxygen, the oxygen, used to suppress silicide growth under masks is stored and
displayed as O2.
At the oxide/silicide interface, oxygen atoms are injected into the silicide
according to:
Equation 3245
where:
• is the interface masstransfer coefficient
• is the concentration of oxygen atoms in the silicide at the surface
• is the solubility of oxygen atoms in the silicide
• is the unit vector normal to the silicide surface, pointing towards the sili
cide
The flux of oxygen atoms in the silicide is:
Equation 3246
V
m
N
Avo
ρ
 =
m
N
Avo
ρ
F h O
*
O
o
– ( )
n
s
=
h
O
o
O
*
n
s
F D∇O =
Silicidation Model Descriptions
3136 TP 2005.06
Draft 8/11/05
where:
• is the diffusivity of oxygen atoms in the silicide.
• is the local concentration of oxygen atoms.
• is the gradient operator.
The oxygen atoms suppress the silicidation reaction and the silicon atom diffusion
through the silicide which can be modeled as follows (Reference [76]()
Equation 3247
where denotes oxygenaffected values of , , and for silicon atoms in
silicide and denotes their original values in oxygenfree silicide.
The numerical model used in Taurus Process solves Equations 3237 through 3
247, in combination with a solution of the viscoelastic stress equations described
in Silicidation Model, p. 3136. (The parameters of the O2 equation are currently
hard coded in the tool. Default values are not contained in the physics_data file.)
Silicidation Model
Silicide Growth
Rate
For all types of silicides, currently simulated in Taurus Process the dissolution of
silicon at the silicon, dissolved in silicide is the
Equation 3237 describes the dissolution of silicon atoms from the silicon bulk
material at the silicon/silicide interface. The interface mass transfer coefficient
is given by:
Equation 3248
The parameters are specified as:
Physics(
Interface(
Material1=TitaniumSilicide Material2=Silicon
)
Equation=Silicon # dissolved in silicide
Reaction(
CriticalOxygenConcentration=<float>
PreFactor=<float>
Energy=<float>
)
)
The diffusion of dissolved silicon atoms in the silicide is modeled by Equation 3
238. The diffusivity of the dissolved silicon atoms is given by:
D
O
∇
ν′ ν
O
*
O –
O
*

. ,
 `
=
ν′ D h k
s
ν
h
h
CriticalOxygenConcentration O –
CriticalOxygenConcentration

. ,
 `
Prefactor exp
Energy –
kT

. ,
 `
⋅ =
Model Descriptions Silicidation
TP 2005.06 3137
Draft 8/11/05
Equation 3249
The parameters are specified as:
Physics(
Material=TitaniumSilicide
Equation=Silicon # dissolved in silicide
Diffusivity(
CriticalOxygenConcentration=<float>
PreFactor=<float>
Energy=<float>
)
)
The rate at which the dissolved silicon atoms react with the bulk metal at the
metal/silicide interface to form new silicide is given by Equation 3239. The
reaction rate is given as:
Equation 3250
The parameters are specified as:
Physics(
Interface(
Material1=TitaniumSilicide Material2=Titanium
)
Equation=Silicon # dissolved in silicide
Reaction(
CriticalOxygenConcentration=<float>
PreFactor=<float>
Energy=<float>
)
)
If the values of CriticalOxygenConcentration in Equations 3248
through 3250 are identical to the value of oxygen solubility in silicide, a complete
suppression of the silicidation will occur next to the oxide/silicide interface. For a
partial suppression, CriticalOxygenConcentration should be chosen
larger than the oxygen solubility (1.2e17).
The reaction and transport of cobalt is completely symmetric to the dissolved
silicon case.
D
CriticalOxygenConcentration O –
CriticalOxygenConcentration

. ,
 `
Prefactor exp
Energy –
kT

. ,
 `
⋅ =
k
s
k
s
CriticalOxygenConcentration O –
CriticalOxygenConcentration

. ,
 `
Prefactor exp
Energy –
kT

. ,
 `
⋅ =
Ion Implantation Model Descriptions
3138 TP 2005.06
Draft 8/11/05
ViscoElastic
Stress Mode in
Silicidationl
The model simulates the viscoelastic flow of the silicide and metal during
silicidation. Taurus Process uses the same viscoelastic model as for oxidation
(see Stress Strain Models, p. 3123). In thermal oxidation, silicon is much more
rigid than the oxide, so, it is a fair assumption to consider the silicon substrate as a
rigid body an not simulating the stressstrain equations in the substrate. In
silicidation, however, the mechanical properties of the silicon substrate and the
silicide are much closer to each other. Therefore, it is recommended to always
specify Physics(KeepStressHistory) before a silicidation.
All reaction rates and the diffusivity of dissolved silicon and cobalt can be chosen
to depend on the computed stresses. The same parameter names as in the case of
an oxidation can be specified.
While solving the coupled stress equations to achieve global equilibrium, the local
reaction rates, the volume expansion and consumption rates are converted to local
mechanical velocities and applied as mechanical boundary conditions.
The reaction rates for silicidation do not currently depend on the crystal
orientation.
Point Defect
Recombination
and Generation
At the moving silicide/silicon interfaces point defect recombination/injection rates
are determined by Equations 388 through 3190, similarly to the oxidation. The
major difference between oxidation and silicidation is that oxidation usually
injects interstitials into silicon, but silicidation tends to inject vacancies instead.
This difference is reflected in the parameters values of the interstitial and vacancy
generation models.
Ion Implantation
The Implant command is used to simulate ion implantation. Implantation can
be simulated using analytic profiles or using Monte Carlo simulation. The implant
model is selected with the parameter Model=<string>, where <string> is
one of Gauss, Pearson, DualPearson, or MonteCarlo. The default model
is DualPearson.
The impurity to be implanted is specified using Name=<string>, where
<string> is the impurity name. Boron, BF
2
, Phosphorus, Arsenic,
Indium, Germanium, Silicon, and Antimony are frequently used in
implantation. The names of other supported impurities can be found in the
equation database, Appendix B.
The Dose parameter specifies the total number of impurity ions per square
centimeter. The acceleration energy of the ions is specified in keV with the
Energy parameter.
The Tilt and Rotation angle (in degrees) of the implantation should always
be specified. By default zero tilt and rotation is assumed.
Model Descriptions Ion Implantation
TP 2005.06 3139
Draft 8/11/05
Adaptive Mesh
Refinement
For the analytic implant models, the asimplanted concentrations are added to the
preimplant concentrations and the sum is compared to any refinement criteria
specified in the simulation. The mesh is automatically refined to satisfy all such
criteria. To prevent mesh changes during analytic implants specify the parameter
noRegrid.
For the Monte Carlo implant model, the mesh can be refined before the Monte
Carlo simulation using an analytic implant model. By default, the mesh is
prerefined when implanting arsenic, boron, and phosphorus. Use the
AdaptiveRegrid parameter to disable prerefinement or to select which
analytic model is used.
Boundary
Conditions for
Implantation
Both analytic and Monte Carlo implant models support the same set of boundary
conditions. To select the boundary condition, use the
BoundaryConditions=<string> parameter of the Implant command.
Allowed values are:
• Extend (1Dcontinuation)
• Periodic
• Reflect
• Vacuum
The default value is extend for both analytic and Monte Carlo models. For 3D
simulations, use the parameters BoundaryConditionsX and
BoundaryConditionsZ to set the boundary conditions separately in the x
and zdirections. Any combination of boundary conditions is allowed.
Some boundary conditions require TaurusProcess to create additional mesh
elements to account for the effects of image structures implied by the boundary
conditions. These additional mesh elements are created automatically and deleted
at the end of the implant command.
The analytic implant model constructs additional surface elements (edges in 2D,
faces in 3D) for each material interface that touches the simulation domain
boundary. This construction is performed for all boundary conditions, except
vacuum, and the new surface elements satisfy the boundary condition. The
constructed surface elements extend the simulation domain by a distance that is
adequate to account for lateral straggling and the specified tilt angle. This distance
depends on the implant conditions and is determined automatically. If necessary,
you can override the default distance calculation using the MarginSize
parameter of the implant command. For 3D simulations, use the MarginSizeX
and MarginSizeZ parameters to set different lengths in the x and zdirections.
When the Monte Carlo implant model is selected, the construction of additional
mesh elements depends on the boundary condition. For extend (1Dcontinuation)
boundary conditions, the construction is similar to that used by the analytic model
except that the entire mesh including volume elements and all data on the mesh
are extended. The default extension length is dependent on the simulation domain
size and the tilt/rotation angles, and is determined automatically. To override the
Ion Implantation Model Descriptions
3140 TP 2005.06
Draft 8/11/05
default extension lengths, use the MarginSize, MarginSizeX, and
MarginSizeZ parameters.
For reflective boundary conditions, a complete copy of the mesh is created by
reflecting the structure once in the xdirection for 2D simulations and once each in
the x and zdirections for 3D simulations. This produces a structure with periodic
symmetry, and periodic conditions are then applied.
For periodic and vacuum boundary conditions, no additional mesh elements are
needed with the Monte Carlo model.
Note:
The default boundary condition for MC implant model was reflect in
2004.09 or earlier releases. However, in older versions, no structure
reflection was performed. The old boundary condition reflect is equiva
lent to the new boundary condition extend with MarginSize=0.0.
With the new boundary condition reflect, there will be a performance
penalty due to the expansion of simulation domains.
Note:
There is likely a performance penalty with the new boundary condition
extend for nonzero tilt implants. If the accuracy near boundary is not
critical, MarginSize=0.0 can be set to eliminate the automatic exten
sion.
Analytic Implant Models
Implanted
Impurity
Distributions
The asimplanted impurity distribution in 2D and 3D structures is derived from
distributions calculated along 1D cut lines through the structure. Each 1D profile
is converted to 2D or 3D distribution by multiplying it by a function of lateral
coordinates. The resulting final profile is determined by integrating the
contribution of all 2D or 3D distributions at each node. If a nonzero Tilt
parameter is specified, the lines for the1D calculation are taken at the specified
angle from the vertical.
If u represents the distance along the line of the ion beam direction, the
distribution along each cut line is given by:
Equation 3251
where:
• occurs at the surface of the top material layer along the line.
• is a normalized Gaussian or Pearson distribution, depending on whether
Gaussian or Pearson is selected on the Implant command.
The equations for are described in the following sections.
I u ( ) Dose f u ( ) × =
u 0 =
f u ( )
f u ( )
Model Descriptions Ion Implantation
TP 2005.06 3141
Draft 8/11/05
The vertical distribution function is calculated from its spatial distribution
moments. The first four moments are defined as:
Projected range:
Equation 3252
Standard deviation:
Equation 3253
Skewness:
Equation 3254
Kurtosis:
Equation 3255
The values of , , , and are obtained from the implant data files.
Lateral
Distribution
Each onedimensional profile is expanded to two or three dimensions by
multiplying by a Gaussian distribution in the direction perpendicular to the line
(Reference [92]):
Equation 3256
where is the distance perpendicular to the line. The quantity is the lateral
standard deviation of the implant profile in the given material. It is found by
interpolation in the implant data file. The complete implant profile is obtained by
summing up the 2D or 3D profiles generated for all of the lines.
f u ( )
R
p
uf u ( ) u d
∞ –
∞
∫
=
σ u R
p
– ( )
2
f u ( ) u d
∞ –
∞
∫
=
γ
u R
p
– ( )
3
f u ( ) u d
∞ –
∞
∫
σ
3
 =
β
u R
p
– ( )
4
f u ( ) u d
∞ –
∞
∫
σ
4
 =
R
p
σ γ β
I u v , ( ) I u ( )
1
2π σ
lat

exp
v
2
2σ
lat
2

–
. ,
 `
× =
v σ
l at
Ion Implantation Model Descriptions
3142 TP 2005.06
Draft 8/11/05
Implant Moment
Tables
Parameters for the analytical distributions (projected range, standard deviation,
etc.) for the corresponding set of the implant conditions (implant energy, dose,
etc.) are read from ASCII files. The data is stored in separate files, one for each
pair of implanted ion and target material. All the ASCII files with implant data
must be found either in the current working directory, in the directory specified by
the parameter DataPath, or in the directory specified by the environmental
variable PHYSICS_DATA.
The file name is impurity_in_material_suffix, where impurity is
one of the impurity names, material is one of the material names, and the
default suffix is standard. For example, the default implant data file for
boron in silicon is named boron_in_silicon_standard. The suffix can
be used to select data for specific implantation equipment and/or implantation
conditions. The suffix can be specified using the ImplantData parameter.
The ImplantData parameter can be specified for each material and equation in
the Physics command. A common value for all materials can be specified in the
Implant command; and a specific value for each material may be defined
together with the Material in the Moments subcommand of the Implant
command.
If an implantation data file cannot be found for a certain material, Taurus Process
looks for data for the parents of that material. The parentchildren hierarchy is
defined in the material data base mtr.db. For example, nitride’s parent is insulator,
and if a file arsenic_in_nitride_mySIMS is not found, then file
arsenic_in_insulator_mySIMS is used if found.
All standard implant data files contain a detailed description of their file format.
Gaussian
Distribution
A Gaussian distribution requires only two moments: projected range and
standard deviation and is defined as:
Equation 3257
where and are defined above.
Pearson
Distribution
A Pearson distribution, in addition to and , requires the moments skewness,
, and kurtosis, , and is defined by the differential equation (Reference [87]).
Equation 3258
where:
Equation 3259
R
p
σ
f u ( )
1
2π σ

exp
u R
p
– ( )
2
–
2σ
2

=
R
p
σ
R
p
σ
γ β
df v ( )
dv

v a – ( )f v ( )
b
0
av b
2
v
2
+ +
 =
v u R
p
– =
Model Descriptions Ion Implantation
TP 2005.06 3143
Draft 8/11/05
Equation 3260
Equation 3261
Equation 3262
Equation 3263
Not all combinations of and produce useful (i.e. bellshaped) profiles. The
characteristics of the profile can be determined by examining the denominator of
Equation 3258:
Equation 3264
For the profile to have a maximum at , must be negative; for the
mean of the profile to be at requires that .
The Taurus Process implant model checks these conditions and increases the value
of such that a bellshaped distribution is obtained.
The nature of the profile depends on the value of and whether there are real
solutions to the equation . In the following, it is assumed that
and the solutions to (if they exist) are and , with
. For , the profile is nonzero for ; this corresponds to a
Pearson type I or II distribution. If and has no real solutions,
then the profile is nonzero for all , but approaches zero as approaches ; this
is a Pearson type IV or VII distribution for and a Gaussian for .
If and has real solutions, then the profile either goes to zero at
and (for ) or at and (for ); this is a Pearson type V or
VI distribution for and a type III distribution for .
Dual Pearson
Distribution
At all times, and especially for implantation into crystalline silicon it is always
recommended to use the DualPearson which is the best in describing ion
channeling in the lattice. For amorphous materials the model will be automatically
downgraded to a single Pearson distribution.
In a dualPearson distribution, one Pearson profile models the random scattering
portion of the implant profile, while the second Pearson profile models the
channeled portion resulting from ion channeling in the crystalline silicon.
The dose dependence is modeled by varying the relative magnitude of the
channeled and random Pearson functions. The composite dualPearson profile is
described as:
a
σγ β 3 + ( ) –
A
 =
b
0
σ
2
– 4β 3γ
2
– ( )
A
 =
b
2
2β – 3γ
2
6 + +
A
 =
A 10β 12γ
2
– 18 – =
β γ
p ν ( ) b
0
aν b
2
ν
2
+ + =
v a = p a ( )
R
p
b
2
1 2 ⁄ – >
β
b
2
p ν ( ) 0 =
p a ( ) 0 < p ν ( ) 0 = ν
1
ν
2
ν
1
ν
2
≤ b
2
0 > ν
1
ν ν
2
< <
b
2
0 ≤ p ν ( ) 0 =
ν ν ∞ t
b
2
0 < b
2
0 =
b
2
0 ≤ p ν ( ) 0 =
ν
1
∞ – a ν
1
< ν
2
∞ a ν
2
>
b
2
0 < b
2
0 =
Ion Implantation Model Descriptions
3144 TP 2005.06
Draft 8/11/05
Equation 3265
where:
• and are the normalized random and channeled Pearson
profiles, respectively.
• is the ratio of the dose of the amorphous profile to the total dose.
• subscripts and refer to amorphous and channeled profiles, respectively.
• is the depth coordinate along the line.
The implant data file for dualPearson data has two sets of four moments,
corresponding to both Pearson profiles, and a table of ratio values. A ratio of one
indicates completely amorphous substrate without any channeling; whereas,
smaller ratio values indicate more ion channeling.
When the Gaussian distribution is selected and dualPearson data is contained
in the implant data file, only the first set of moments is used for the calculation of
the distribution.
Tilt and Rotation
Tables
The standard implant data tables contain dualPearson distributions for a range of
energies, doses, wafer tilts and rotations for implantation into bare <100> silicon
as well as for a set of screen oxide thicknesses.
Multilayer
Implants
A multilayer implant is represented by treating each layer sequentially, starting
with the top layer in the structure. The impurity distribution is determined by
first obtaining the moments from the implant data file for the impurity in the
material comprising the layer. The distribution is used for the
impurity distribution within the layer, where:
Equation 3266
The summation is performed over all previously treated layers of the structure,
and is the thickness of layer .
Effective Range
Model
Effective range model determines u
s
(Reference [88]).
Equation 3267
where is the first moment of in layer , is the first moment of in
the present layer, and the summation is performed over all previously treated
layers of the structure. For layers below the first, the magnitude of the distribution
is scaled so that the integral of from to , plus the total dose
I
composite
u ( ) rI
random
u R
Pa
σ
a
γ
a
β
a
, , , , ( )
1 r – ( ) I
channeled
u R
Pc
σ
c
γ
c
β
c
, , , , ( ) +
=
I
random
I
channeled
r
a c
u
I u ( )
I u u
l
– u
s
+ ( )
u
l
t
i
i
∑
=
t
i
i
u
s
t
i
R
p
R
p
i

i
∑
=
R
p
i
f u ( ) i R
p
f x ( )
I u ( ) u u
s
= u ∞ =
Model Descriptions Ion Implantation
TP 2005.06 3145
Draft 8/11/05
placed in all previously treated layers, is equal to the specified implant dose. This
method is referred to as the effective range or effective thickness approach.
Effective
Channeling
Suppression
If the implant table for a specific ion/target combination does not contain the
explicit screen oxide thickness dependence of the channeling tail and an implant is
performed into the silicon substrate (covered by an amorphous layer such as
screen oxide), then effective channeling suppression is used. Effective channeling
suppression model determines the value of the ratio for implantation through
amorphous layers as:
Equation 3268
where is the value of the ratio , obtained from the implant table for
implantation into a bare silicon. is defined as:
Equation 3269
with summation performed over all amorphous regions on top of silicon.
MinRatio is a minimum value of the ratio . Parameters MinRatio and
Exponent can be specified in the Physics command:
Physics(
Material=<string>
Equation=<string>
ChannelingSuppression(
MinRatio=<float>
Exponent=<float>
)
)
To turn off this model, one must specify a zero value for Exponent.
Profile
Reshaping
Traditionally, it is believed that the first peak of the implanted profile in a
monocrystalline silicon is due to the random scattering and is described by the
first Pearson distribution in the dual Pearson analytic model. The second peak (or
hump) on the implanted distribution is attributed to ion channeling along the
crystalline axes and planes and is described by the second Pearson distribution in
the dual Pearson model.
This approach works quite well for the implants with relatively high tilt angle
(above 4 deg), where position and width of the first Pearson distribution does not
change with the screen oxide thickness. However, for the low tilt implants (below
4 deg) position and width of the first Pearson distribution changes considerably
(up to 50%) with the thickness of the screen oxide.
r
r
r
0
σ MinRatio ≤ ,
r
0
MinRatio
σ

. ,
 `
Exponent
σ MinRatio > ,
¹
¹
'
¹
¹
=
r
0
r
σ
σ
t
i
R
p
i

i
∑
=
σ
Ion Implantation Model Descriptions
3146 TP 2005.06
Draft 8/11/05
Typically, for a low tilt implant performed into a bare silicon, the first Pearson
distribution is shifted deeper into the substrate and is much wider than for a
similar high tilt implant. As the screen oxide thickness increases, the projected
range and 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 implant, even the first peak contains a
considerable amount of channeled ions. This effect dictates reshaping of both
Pearsons in the dual Pearson model in addition to reduction of the second peak,
which is discussed above.
For the ions with explicit screen oxide thickness dependence in the implant tables,
this change in shape is automatically taken care of. Otherwise, the following
expression is applied to the first two moments of both Pearson distributions:
Equation 3270
where is the change of projected ranges and standard deviations for both
Pearson distributions in dual Pearson model due to the amorphous layers; is the
sensitivity of to the amorphous layer thickness; is the thickness of the current
amorphous layer; is the value of at high tilt value (typically, 7 deg); and
is the value of at a given low tilt angle. Summation is performed over all
amorphous layers.
The parameters of the profile reshaping model can be defined in the Physics
command:
Physics(
Material=<string>
Equation=<string>
MomentScaling(
RangeFactor=<float>
SigmaFactor=<float>
ChannelingRangeFactor=<float>
ChannelingSigmaFactor=<float>
)
)
These parameters are used as an in Equations 3270 for projected range and
standard deviation of the first Pearson distribution and projected range and
standard deviation of the second Pearson distribution, respectively.
Zero value of effectively turns this model off, whereas higher values of lead
to a faster transition from low tilt to high tilt profile with increasing amorphous
layer thickness.
ξ ∆ 1 e
α d
i
⋅
R
p
 –
–
. ,
 `
ξ
high
ξ
low
– ( ) ⋅
i
∑
=
ξ ∆
α
ξ d
i
ξ
high
ξ
ξ
low
ξ
α
α α
Model Descriptions Ion Implantation
TP 2005.06 3147
Draft 8/11/05
Pre
Amorphization
Implants
If by the time an implantation is performed, the structure already contains
implantation damage from the previous implants, the damage also contributes to
the suppression of the channeling tail. This applies to a series of implants
performed without intermediate anneals.
In this case, an equivalent thickness of amorphous layer is extracted as:
Equation 3271
where denotes the concentration of the preexisting implant damage in terms of
the Frenkel pairs; PAIThreshold is a normalization parameter that can be
specified on the Implant command.
The extracted equivalent amorphous layer thickness is then added to the total
amorphous layer thickness. If the implant data file contains screen layer thickness
dependence, the obtained total amorphous thickness is used for interpolation in
the table. Otherwise, the effective channeling suppression and profile reshaping
models described above are used.
This model is turned on by default whenever the impurity diffusion model had
been set to Pdfull, Pdtrans, prior to the implantation or if it is defined by
PMEI. The PAI model can be turned off by specifying PAI=false in the
Implant command.
Ion Channeling
in Polysilicon
Polysilicon consists of monocrystalline silicon grains that generally have a variety
of crystalline orientations. Preferential orientation is (110) in the direction, normal
to the surface of the structure (which might be nonplanar). Even if most grains
have the same orientation, the lattices are misaligned at the grain boundaries. This
is definitely affecting the capability of implanted ions to channel, as every grain
boundary that is encountered on the ions path can potentially dechannel it.
One extreme approach to model ion channeling in polysilicon is to consider it
amorphous and therefore suppress all ion channeling there. This is the default
behavior of TaurusProcess that is compatible with the approach in TSUPREM4.
The separate moment tables provided for polysilicon assume that the material is
amorphous and the fraction of the channeling ions is zero.
The other extreme approach is to assume that ion channeling in polysilicon is as
large as in the monosilicon. This could happen if the polysilicon layer has grains
comparable with the layer thickness and the implanted ion does not go through
any grain boundaries. This basically means that the polysilicon layer behaves as a
monosilicon layer. To model it, deposit silicon instead of polysilicon or use the
ReDefineRegion command to change its material properties before and after
the implant.
These two extreme cases would show the possible impact of no channeling vs lots
of channeling on the device performance. An intermediate approach would be to
t
eqv
t
eqv
D u d
0
R
P
∫
PAIThreshold
 =
D
Ion Implantation Model Descriptions
3148 TP 2005.06
Draft 8/11/05
define polysilicon layer as several pieces of silicon with the sizes and shapes
corresponding to the TEM image of the polysilicon layer taken just before the
implant of interest. There are some publications on this topic References [90] and
[91] that suggest that there is noticeable ion channeling in polysilicon.
Implant Damage Model
If a diffusion model other than PdFermi (such as PdFull, PdTrans, etc.) is
selected before the implant command, an analytic model for the generation of
point defects during ion implantation is invoked. The interstitial and vacancy
distributions created by the implantation are added to any interstitials and
vacancies that may have existed in the structure before implantation.
The implant damage model in Taurus Process accounts both for the silicon atoms
knocked out of lattice sites and for interstitials produced when silicon atoms are
displaced by implanted ions (the “plus one” model). In addition, the effects of
amorphization are taken into account, and an analytical model of point defect
recombination has been included to speed up subsequent diffusion steps. The
implant damage model works with both the analytical and Monte Carlo
implantation models.
The implant damage model automatically accumulates the damage produced by
successive implants and simulates defect recombination and amorphous regrowth
at the start of the first hightemperature step following a series of implants.
Damage
Produced During
Implant
The model starts by calculating the damage produced during each implantation
step. Due to collisions of the implanted ions lattice atoms are displaces, leaving a
vacancy and generating an interstitial. The concentrations of interstitials and
vacancies produced by the impact of implanted ions (and the cascades of knocked
on lattice atoms) are denoted by and , respectively. When the analytical
implant model is used, and are calculated according the model of Hobler
and Selberher (Reference [93]) and are assumed to be equal at every point in the
structure. When the Monte Carlo model is used, and may be slightly
different because most displaced lattice ions are knocked forward while a few are
scattered out of the structure entirely. If the increase in concentration of the
implanted species is , then the number of added interstitials and vacancies due
to the implant is:
Equation 3272
Equation 3273
Equation 3274
I
F
V
F
I
F
V
F
I
F
V
F
C ∆
I ∆ DamageScalingFactor I
F
f
pl
C ∆ × + × =
V ∆ DamageScalingFactor V
F
× =
f
pl
PlusNumber , if PlusNumber specified
f
pl∞
f
pld
otherwise ,
¹
'
¹
=
f
pl∞
Base Factor m
MassExponent
R
p
RangeExponent
E
λ
∞
⋅
⋅ ⋅
+ =
Model Descriptions Ion Implantation
TP 2005.06 3149
Draft 8/11/05
Equation 3275
where:
Equation 3276
Equation 3277
and:
• and are the dose (per cm
2
) and energy (in keV) of the implant.
• is the projected range (in nm).
• is the mass of the implanted ion (in atomic mass units).
• and are specified as Factor and MassExponent in the Plus
NumberFormula(EnergyExponent(...))subcommand of the
Physics command:
Physics(
Material=Silicon
Equation=Interstitial
PlusNumberFormula(
EnergyExponent(
Factor=<float>
MassExponent=<float>
)
)
)
• and are specified as Factor and MassExponent in the Plus
NumberFormula(DoseEnergyExponent(...))subcommand of the
Physics command:
Physics(
Material=Silicon
Equation=Interstitial
PlusNumberFormula(
DoseEnergyExponent(
Factor=<float>
MassExponent=<float>
)
)
• )
f
pld
DoseBase
DoseFactor m
DoseMassExponent
R
p
DoseRangeExponent
E
λ
d
ReferenceDose
d

. ,
 `
DoseExponent
⋅
⋅ ⋅
⋅ +
=
λ
∞
F
∞
m
E
∞
=
λ
d
F
d
m
E
d
=
d E
R
p
m
F
∞
E
∞
F
d
E
d
Ion Implantation Model Descriptions
3150 TP 2005.06
Draft 8/11/05
The parameter DamageScalingFactor can be specified either in the
Physics or the Implant command; it is used to adjust the Frenkel pair
concentration to account for uncertainties in the damage creation models or the
wafer temperature in the implanter. This parameter also can be used to change the
simulated amorphization depth of amorphizing implants.
Effective +n
Damage Models
The term accounts for the fact that after implantation each implanted ion is
assumed to reside on a lattice site, displacing one silicon atom which is turned into
an interstitial. The recombination of vacancies at the surface may leave an
additional amount of excess interstitials, which is accounted for by the factor .
This excess can be specified directly by the PlusNumber parameter in the
Implant command. If PlusNumber is not specified, an effective +n model
(Reference [77]) is used to determine the number of excess interstitials as a
function of energy, ion mass, and projected range. Higher energy or ion mass
increase the separation between the generated interstitials and vacancies,
increasing the chance that vacancies will recombine at the surface before
recombining with an interstitial. Increasing the range of the implant has the
opposite effect. The effectiveness of the IV recombination decreases at low doses
References [78] and [79].
The effective +n model is designed for use with the analytical implant model. The
Monte Carlo damage model provides several different methods to calculate the
damage during the implantation, based on the calculation of energy transferred
from the ions to the lattice atoms or on the simulation of full cascades. For
compatibility with the routinely used analytical implantation, by default the
Monte Carlo method generates Damage (Frenkelpairs) using its internal models
and generates the excess interstitial profile using the same “+n” model as the
analytic implant.
The “+n” model is selected by specifying:
Physics(
Material=Silicon
Equation=Interstitial
EffectivePlusNumber=true
)
This model is a superset of several models that have been published in the
literature; by setting the parameters appropriately, each of these published models
can be used.
By default, the parameters are set to give the model of Hobler and
Moroz (Reference [80]):
Physics(
Material=Silicon
Equation=Interstitial
PlusNumberFormula(
Base = 1
Factor = 0.0905
MassExponent = 0.85
EnergyExponent(
C ∆
f
pl
Model Descriptions Ion Implantation
TP 2005.06 3151
Draft 8/11/05
Factor = 2
MassExponent = 0.5
)
RangeExponent = 0
DoseBase = 1
DoseFactor = 3.25
DoseMassExponent = 0.5
DoseEnergyExponent(
Factor = 2
MassExponent = 0.5
)
DoseRangeExponent = 0
ReferenceDose = 3e12
DoseExponent = 1
)
)
The original model of Pelaz et al. is obtained with the parameters:
Physics(
Material=Silicon
Equation=Interstitial
PlusNumberFormula(
Base = 1
Factor = 0.42
MassExponent = 0.5
EnergyExponent(
Factor = 0.5
MassExponent = 0
)
RangeExponent = 0.75
DoseBase = 1
DoseFactor = 0
DoseMassExponent = 0
DoseEnergyExponent(
Factor = 0
MassExponent = 0
)
DoseRangeExponent = 0
ReferenceDose = 0
DoseExponent = 0
)
)
For BF
2
implants, the mass and energy of the boron ion are used, and the dose is
multiplied by three to account for the effect of the fluorine atoms.
The parameter Base, in the Physics command may be used to adjust the
amount of TED produced by an implant; it defaults to 1.0.
Cumulative
Damage Model
The cumulative damage model calculates a quantity called “damage” that
represents the total damage at any point in the structure from all implants since the
last hightemperature processing step. An implant step increases the damage by:
Ion Implantation Model Descriptions
3152 TP 2005.06
Draft 8/11/05
Equation 3278
The interstitial, vacancy, and damage concentrations following an implant are then
given by:
Equation 3279
Equation 3280
where , , and are the concentrations of interstitials, vacancies, and
damage, respectively, before the implant.
Most of the Frenkel pair damage produced during implantation will recombine
during the first few seconds of the first postimplant annealing step. This is
modeled by setting at the start of the first diffusion step following an
implant.
Crystalline regrowth of silicon amorphized by implant damage normally occurs
during the rampup phase of the first postimplant annealing step. This is modeled
by setting the interstitial and vacancy concentrations to their equilibrium values in
the amorphized region.
The amorphization threshold can be adjusted in the Physics command:
Physics(
Material=Silicon
Equation=Interstitial
AmorphizationThreshold=<float>
)
IDamage
Distribution
Calculations
Damage distributions are calculated using the model of Hobler and Selberherr
Reference [93]. This model approximates damage profiles by combinations of
Gaussian and exponential functions. Parameters of these functions are provided in
a set of data files in the energy range from 0.1 keV to 10 MeV.
Each data file contains damage distribution moments for a specific ion/material
combination in an ASCII format. All implant damage data files are located in the
current working directory, if not found there in the directory specified in the
DataPath parameter of the Implant command, and if not found there either in
the directory defined by the PHYSICS_DATA environment variable. The file
name is impurity_damage_in_material_suffix, where impurity is
one of the impurity names, material is one of the material names, and the
suffix can be used to select different data tables. The suffix can be specified
using the parameter ImplantDamageData. The ImplantDamageData
parameter can be specified for each material and equation in the Physics
command. A common value for all materials can be specified in the Implant
command; and a specific value for each material may be defined together with the
Material in the Moments subcommand of the Implant command. The
default suffix is standard. The suffix can be used to provide alternative
D ∆ min I ∆ V ∆ , ( ) =
I I
0
I ∆ D ∆ – + =
V V
0
V ∆ D ∆ – + =
D D
0
D ∆ + =
I
0
V
0
D
0
D 0 =
Model Descriptions Ion Implantation
TP 2005.06 3153
Draft 8/11/05
data for specific implantation equipment and/or implantation conditions. For
example, the implant data file for boron in silicon is named
boron_damage_in_silicon_standard.
If implant damage data for a certain material is not found, Taurus Process looks
for data for the parents of that material. The parentchildren hierarchy is defined in
the material data base mtr.db. For example, nitride’s parent is insulator, and if a
file arsenic_damage_in_nitride_mySIMS is not found, then file
arsenic_damage_in_insulator_mySIMS is used instead.
Recommended
Usage and
Limitations
If an Implant command that does damage calculation is followed by a
Diffuse command, the simulation domain must be chosen sufficiently large to
accommodate the rapid diffusion of point defects into the silicon substrate. In the
DefineDevice command or in a RedefineDevice command prior to the
anneal the parameter MaxY should have been chosen such that at least 10µm
substrate material are present. A too shallow substrate region may result in an
overestimation of the point defect concentration and thus wrong diffusion
behavior.
Monte Carlo Ion Implant Model
The Monte Carlo model for ion implantation is selected by specifying Model =
MonteCarlo in the Implant command. The Monte Carlo calculation is useful
for examining a number of dependencies for which the empirical models are
imperfect or incompletely calibrated. Some examples of these are:
• Multilayer structure
• High tilt angle implants, such as halo/pocket implants
• Lateral straggling
• Preexisting damage
• Complex geometry and/or topography, such as trench sidewalls etc.
Besides, the Monte Carlo model is more reliable if the lateral distribution is of
interest for 2D/3D simulations.
The details of the physical models for Taurus Process Monte Carlo implant and its
capability for predicting the impurity range profiles of the common dopant species
from subkeV to above 10 MeV can be found in Reference [94]. The calculation
used in Taurus Process’s Monte Carlo 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 colli
sion 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 ion’s motion. This is
described in Amorphous Implant Calculation, p. 3157.
Ion Implantation Model Descriptions
3154 TP 2005.06
Draft 8/11/05
The calculation of damage and damage selfannealing of silicon substrates are
described in Crystalline Implant Model, p. 3160.
Binary Scattering
Theory
The Monte Carlo model in Taurus Process models the nuclear collision energy
loss according to classical binary scattering theory. The basic assumption of the
nuclear collision energy loss mechanism is that the ion interacts with only one
target atom at a time. This assumption allows the use of binary scattering theory
from classical mechanics (Reference [96]). This section briefly outlines the
pertinent results of this theory.
Consider a particle of mass and kinetic energy approaching a stationary
particle with mass . The impact parameter, , 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 .
Energy Loss It can be shown that the first particle loses kinetic energy:
Equation 3281
where:
• is the energy lost by particle 1.
• is its energy before collision.
• is the integral.
Equation 3282
where:
• is the inverse separation between the two particles.
• is the potential between the two particles (assumed to be repulsive), and
Equation 3283
is the reduced energy in the center of mass coordinates. The upper limit of the
integral, , is the inverse distance of closest approach of the two particles, and
is given by the solution to the equation:
Equation 3284
M
1
E
0
M
2
b
θ
∆E
n
E
0

4M
1
M
2
M
1
M
2
+ ( )
2

cos
2
bI ( ) =
∆E
n
E
0
I
I
s d
1
V s ( )
E
r
 – b
2
s
2
–

0
s
max
∫
=
s 1 r ⁄ =
V s ( )
E
r
E
0
1 M
1
M
2
⁄ +
 =
s
max
1
V s
max
( )
E
r
 – b
2
s
max
2
– 0 =
Model Descriptions Ion Implantation
TP 2005.06 3155
Draft 8/11/05
Scattering Angle The angle by which particle 1 is deflected is given by:
Equation 3285
Dimensionless
Form
Equations 3281 through 3285 are the basic equations for classical twobody
scattering. The scattering integral, Equation 3282, can be cast into a
dimensionless form by assuming the potential has the form:
Equation 3286
where:
• is the charge on particle 1.
• is the charge on particle 2.
• is the constant.
Equation 3287
is an arbitrary function of , to be defined later, and is a unit of length.
Taurus Process uses:
Equation 3288
which is the socalled Universal screening length (Reference [97]) and a
dimensionless impact parameter:
Equation 3289
and a dimensionless energy:
Equation 3290
Using Equations 3288, 3289, and 3290 in the scattering integral
Equation 3282, and making the substitution gives:
Equation 3291
θ
cosθ
1 0.5 1
M
2
M
1
 + ∆E E
0
⁄ –
1 ∆E E
0
⁄ –
 =
V s ( ) Z
1
Z
2
k
1
sg a
u
s ( ) =
Z
1
Z
2
k
1
k
1
q
2
4πε
0
 14.39495 10
7 –
× keVµm = =
g a
u
s ( ) a
u
s a
u
a
u
0.8854 10
4 – 0.529
Z
1
0.23
Z
2
0.23
+
. ,
 `
 µm × =
b
n
b a
u
⁄ =
ε
a
u
E
r
Z
1
Z
2
k
1
 =
s′ a
u
s =
I
1
a
u
 =
s′ d
1 s′ g s′ ( ) ε b
n
2
s′
2
– ⁄ –

0
s′
max
∫
Ion Implantation Model Descriptions
3156 TP 2005.06
Draft 8/11/05
From Equation 3281, the quantity of interest is , which becomes:
Equation 3292
Thus using Equation 3292, can be evaluated in terms of the
dimensionless variables and , without reference to a particular particle’s
charge or mass.
Coulomb
Potential
As an example of the above procedure, consider the Coulomb potential between
two particles:
Equation 3293
or:
Equation 3294
In this case, . Then from Equation 3292:
Equation 3295
with:
Equation 3296
from a solution of Equation 3284. Then the integral can be evaluated exactly,
giving:
Equation 3297
For a given impact parameter and incident energy , the dimensionless and
can be obtained from Equations 3289 and 3290, giving from Equation
3297. Then the energy loss due to the collision is given by Equation 3281, and
the angle at which particle 1 leaves the collision is given by Equation 3285.
Universal
Potential
For the simple form of the Coulomb potential used in the example above, the
scattering integral can be solved analytically. For more realistic interatomic
cos
2
bI ( )
cos
2
bI ( ) cos
2
b
n
s′ d
1 s′ g s′ ( ) ε b
n
2
s′
2
– ⁄ –

0
s′
max
∫
=
cos
2
bl ( )
b
n
ε
V r ( )
Z
1
Z
2
k
1
r
 =
V s ( ) Z
1
Z
2
k
1
s =
g a
u
s ( ) 1 =
cos
2
bI ( ) cos
2
b
n
s′ d
1 s′ ε b
n
2
s′
2
– ⁄ –

0
s′
max
∫
=
s′
max
1 4b
n
2
ε
2
+ 1 –
. ,
 `
2ε b
n
2
 =
cos
2
bI ( )
1
1 4b
n
2
ε
2
+
 =
b E
0
b
n
ε cos
2
bI ( )
Model Descriptions Ion Implantation
TP 2005.06 3157
Draft 8/11/05
potentials, however, the scattering integral cannot be evaluated analytically. For
example, the Universal potential (Reference [97]) that is used in Taurus Process is
Equation 3298
An analytic solution does not exist since the upper limit of the integral in Equation
3282 is given by Equation 3284, which becomes a transcendental equation with
this potential.
All Monte Carlo ion implantation codes use a formalism similar to
Equations 3281 through 3285 to treat the nuclear scattering; the difference
between codes is in the method of evaluating the scattering integral,
Equation 3282. The original MARLOWE code Reference [98] numerically
integrates the scattering integral, providing accurate solutions at great
computational expense. The improved UTMARLOWE Reference [99] tabulates
the interatomic potentials for each individual collision pairs. The program TRIM
Reference [100] fits an analytic function of five parameters to the values of the
scattering integral obtained by numerical integration. This technique retained the
accuracy of MARLOWE while improving efficiency by an order of magnitude.
However, TRIM still requires the evaluation of , the inverse distance of
closest approach at each collision. This requires solving the nonlinear Equation 3
284. With an initial guess of , Newton’s method converges to an
answer in about 3 to 5 iterations. If the Universal potential (Reference [116]) is
used, this requires 18 to 30 exponentials to be evaluated at each collision.
A different algorithm is used in Taurus Process (Reference [102]). The quantity
, in its dimensionless form, Equation 3292, is numerically integrated for a
wide range of its parameters and . These results are stored in tables. Then at
each collision, is obtained from these tables. This scheme eliminates the
need to find for each collision, minimizing the amount of arithmetic
operations performed during the calculation of an ion’s trajectory, while retaining
accuracy.
Tables for the Universal potential over a wide range of energies and impact
parameters are provided for immediate use in Taurus Process. They span the
normalized energy range of and the normalized impact parameter
range . For , the Coulomb form Equation 3298 is used. Values of
are not encountered for ionatom combinations of interest at energies
above the energy at which the ion is assumed to be stopped (10 eV). For values of
, the ion is assumed to be undeflected.
Amorphous
Implant
Calculation
This section describes how the binary scattering theory of the previous section is
used to calculate ion trajectories in an amorphous solid. Taurus Process calculates
V r ( )
Z
1
Z
2
k
r
 0.18175e
3.1998r a
u
⁄ –
0.50986e
0.94229r – a
u
⁄
0.28022e
0.4029r a
u
⁄ –
0.028171e
0.20162r a
u
⁄ –
+
+ +
=
s
max
s
max
1 b ⁄ =
cos
2
bI ( )
b
n
ε
cos
2
bI ( )
s
max
10
5 –
ε 100 ≤ ≤
0 b
n
30 ≤ ≤ ε 100 >
ε 10
5 –
<
b
n
30 >
Ion Implantation Model Descriptions
3158 TP 2005.06
Draft 8/11/05
a number of ion trajectories that can be specified using the Nions parameter on
the Implant command.
The calculation of ion trajectories proceeds as follows. Assume an ion with kinetic
energy hits a target with an angle with respect to the target normal. The
surface of the target is assumed to be at , with increasing vertically into the
target. The incident energy can be set on the Implant command using the
Energy parameter. The incident angle can be specified on the Implant
command using the Tilt parameter.
Given the atomic density for the target material, the mean atomic separation
between atoms in the target is . The ion is assumed to travel a
distance:
Equation 3299
between scattering events. As the ion enters the target material, it approaches the
first target atom with impact parameter , defined in the previous section. The
probability of finding a target atom between and is given by:
Equation 3300
for:
Equation 3301
If is a uniformly distributed random number between 0 and 1, then the
probability distribution gives:
Equation 3302
as described in (Reference [100]).
Nuclear Stopping Given the above definitions, the algorithm for calculating the energy loss through
nuclear collisions experienced by the ion proceeds as follows:
1. A random number between 0 and 1 is chosen.
2. The normalized impact parameter for this collision is calculated from
Equations 3289 and 3302:
Equation 3303
E
0
θ
0
y 0 = y
E
0
θ
0
N
dens
1 N
dens
( ) ⁄
1 3 ⁄
L 1 N
dens
( ) ⁄
1 3 ⁄
=
b
b b δb +
w b ( )δb 2πN
dens
2 3 ⁄
b δb =
b 1 πN
dens
2 3 ⁄
⁄ <
R
rand
b
R
rand
πN
dens
2 3 ⁄
 =
b
1
a
u

R
rand
πN
dens
2 3 ⁄
 =
Model Descriptions Ion Implantation
TP 2005.06 3159
Draft 8/11/05
3. The ion energy, , is normalized to:
Equation 3304
from Equations 3283 and 3290.
4. Now the value of can be obtained from the tables, and
Equation 3281 gives the energy loss due to nuclear scattering
Equation 3305
This procedure is repeated for each collision event.
Electronic
Stopping
The ion also loses energy by inelastic electronic processes, which include both
nonlocal and local stopping power. For each collision, the energy loss due to
electronic stopping is (References [94][101]):
Equation 3306
Equation 3307
Equation 3308
Equation 3309
Equation 3310
Equation 3311
Equation 3312
Equation 3313
where:
• L is the free flight path between collisions.
• p is the impact parameter.
• ε is the scaled dimensionless energy.
• is the ion energy at the stopping power maximum.
E
0
ε
a
u
E
0
1 M
1
M
2
⁄ + ( )Z
1
Z
2
k
1
 =
cos
2
bI ( )
∆E
0
E
0
4M
1
M
2
M
1
M
2
+ ( )
2

cos
2
bI ( ) =
∆E
e
x
nl
∆E
nl
e
x
loc
∆E
loc
⋅ + ⋅ =
∆E
nl
e
L N
dens
S
e
⋅ ⋅ =
∆E
e
loc
S
e
2πa
2

p – a ⁄ ( ) exp ⋅ =
x
nl
min F
nl
ε
E
nl
1 , ⋅ ( ) =
x
nl
x
loc
+ 1 =
S
e
LSSCorrectionFactor S
es
E
m
f
es
1 –
⋅ ⋅ ⋅ =
a f
a
U
0.3

⋅ =
f
1.45
Z
1
2 5 ⁄
 =
E
m
Ion Implantation Model Descriptions
3160 TP 2005.06
Draft 8/11/05
• a
U
is the universal screening length.
• is the ion atomic number.
• and are the NonLocalPreFactor and the NonLocalExpo
nent.
NonLocalPrefactor, NonLocalExponent, and
LSSCorrectionFactor can be specified in the Physics command for each
material and each equation (dopant). The default values for each implant species
can be found in the physics_data file.
Parameters and are given by (References [103][94]):
Equation 3314
Equation 3315
where:
• is the ion atomic number.
• is the composite target atomic number.
• is the base of natural logrithm.
• is a fitting parameter.
Total Energy
Loss and Ion
Deflection
The total change in energy of the ion after the collision is the sum of nuclear
energy loss, Equation 3305, and electronic energy loss, Equation 3306:
Equation 3316
The corresponding angle through which the ion is scattered is given by:
Equation 3317
Note that for , approaches zero.
Crystalline
Implant Model
The calculation described in the previous section is for amorphous layers. This
amorphous Monte Carlo model is used for all materials except crystalline silicon.
In the Monte Carlo model, silicon layers are treated with a more sophisticated
calculation that incorporates the crystal structure of the silicon lattice. This
calculation is intended to model the channeling, which is the preferential
penetration of implanted ions along crystal axes.
Z
1
F
nl
E
nl
S
es
f
es
S
es
1.212 Z
1
7 6 ⁄
Z
2
Z
1
2 3 ⁄
Z
2
2 3 ⁄
+
3 2 ⁄
M
1
1 2 ⁄
 =
f
es
E
0
E
m
⁄
E
0
E
m
⁄ E
m
E
0
⁄ e 2 – + + ( ) ln

. ,
 `
δ 2 ⁄
E
m
E
0

. ,
 `
δ 2 ⁄
+
1 δ ⁄
=
Z
1
Z
2
e
δ 1.425 =
i
th
E
i
E
i 1 –
∆E
n
– ∆E
e
– =
θ cos
1 –
1
1
2

1 M
2
M
1
⁄ + ( )∆E
n
E
0
⁄ –
1 ∆E
n
E
0
⁄ –

=
∆E
n
E
0
⁄ 1 « θ
Model Descriptions Ion Implantation
TP 2005.06 3161
Draft 8/11/05
The calculation proceeds as in the amorphous case except that rather than
selecting the collision of the implanted ion with target atoms based on the density
of the target material and a random number, the simulation determines an impact
parameter based on the implanted ion’s position relative to sites on an idealized
lattice. The algorithm for selecting the collision partners is based on UT
MARLOWE (Reference [99]).
Channeling occurs naturally due to the inclusion of the structure of the silicon
lattice. The effect of the Tilt/Rotation parameter is much more pronounced
for implants into crystalline silicon than into amorphous silicon. Both axial and
planar channeling show enhanced penetrations.
Lattice Damage Taurus Process contains various damage models for accurately predicting the
damage effect on the ion trajectories. These damage models are none, plus, XKP
(eXtended KinchinPease), and cascade. The damage model can be selected by
using the DamageModel parameter of the Implant command.
DamageModel = none is used in cases where no damage effect is desirable,
such as PointResponse implants.
There are two types of damage calculations:
• One calculates the deposit energy for each collision, which is then
converted to the number of point defect (Frenkel pairs) using the modified
KinchinPease formula: , where , and
eV. Plus and XKP damage models use this type of damage calcu
lations.
• Another traces secondary recoils and cascades. Cascade damage model uses
this type of calculations.
The default damage model is plus. In this model, the damage (the Frenkel pairs) is
computed with the modified KinchinPease formula using the desposit energy,
while the net interstitial profile is the scaled impurity profile with a
PlusNumber (similar to the analytic implant model). This model is fully
compatible with “+n” diffusion simulations. However, 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. The net increase of the
defects in a local region with defect concentration is thus
Equation 3318
If DamageModel = Cascade is specified, a calculation is performed to
determine the trajectories of 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
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 (Reference [98]). Taurus
Process calculates the trajectories of these knockions with the same detail as the
implanted ions. A vacancy is assumed to be formed whenever a lattice atom is
knocked from its site. An interstitial is assumed to be formed whenever a silicon
E
D
x ( )
n x ( ) κ E
D
2 E
d
⋅ ( ) ⁄ ( ) = κ 0.8 =
E
d
15 =
C x ( )
∆n x ( ) SurvivalRate n x ( ) 1
C x ( )
N
dens
 –
. ,
 `
⋅ ⋅ =
Ion Implantation Model Descriptions
3162 TP 2005.06
Draft 8/11/05
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, i.e., I
V separations. In order to achieve the computational efficiency, Taurus Process
uses a statistical approach to account for the IV recombination in both
intracascade and intercascade, similar to Reference [113]. The projectile’s
encounter probability with interstitials is also accounted for statistically. In order
to conserve particle numbers, interstitial and vacancy 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 has to be taken into account.
The intracascade recombination is accounted for by a factor SurvivalRate, while
intercascade recombination by a probability , 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 ,but not with those of the
same cascade, since this recombination has already been accounted for by
vacancy intracascade recombination in previous step.
Damage
Dechanneling
The accumulated damage has significant effect on the destination of the
subsequent ions, thus altering the shape of the impurity profiles. This effect is
known as damage dechanneling. Taurus Process handles this problem by
switching from the crystal 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 AmorphizationThreshold, this local region is assumed to be
amorphized, and amorphous collision model is used for this local region. For the
local regions with defect concentration below AmorphizationThreshold, the
probability for the selection of the amorphous model is proportional to the local
interstitial concentration C
I
(x) and a random number call. Amorphous collision
model is selected when:
Equation 3319
where:
• AmorphizationThreshold and AmorphousParameter can be
specified on the Physics command.
Increasing AmorphousParameter makes the profiles more like those implants
into amorphous materials.
Note:
For very low energy implants, due to very shallow projected ranges, the
mesh near the surface should be refined in order to fully account for the
damage dechanneling effect.
1 N
I
N ⁄
dens
( ) –
1 N
v
N ⁄
dens
( ) –
R
rand
AmorphousParameter
C
I
x ( )
N
dens

<
Model Descriptions Ion Implantation
TP 2005.06 3163
Draft 8/11/05
Note:
The amorphization process is not explicitly simulated by Taurus Process.
However, for the Monte Carlo model, by common practice, when a criti
cal amount of damage is accumulated in a certain region, a crystal/
amorphous phase transition is assumed to occur in this region. For sili
con implants, this critical damage is approximately 25% of the lattice
density. Thus, if the interstitial concentration reaches more than 1.25e22
cm
3
for silicon, this region is considered to be amorphized. Using this
criteria, Taurus Process can fairly well predict the onset of amorphiza
tion and the thicknesses of the amorphous layers for high dose implants.
Depth and
Trajectory Splits
For a typical Monte Carlo implantation, most of the ions stop around the peak
position (projected range), often leaving only a few ions in the channeling tails
and resulting in poor statistics for the tail profiles. The Monte Carlo module in
Taurus Process provides methods to improve the sampling of the low
concentration regions.
• DepthSplit: This algorithm dynamically determines the splitting depths. If
an ion reaches the splitting depth, it is replaced by two virtual ions, each with
a half weighting factor before the splitting. Each split ion trajectory is run sep
arately. These trajectories diverge from each other due to the thermal vibra
tions. An ion can be split multiple times whenever it reaches the next splitting
depth. This scheme maintains the same number of virtual ions at any depth,
but their weights decrease with depth. The total number of virtual ions could
be several times larger than the number of original ions. This method is very
effective for 1D or quasi1D simulations. However, it does not help to
improve lateral statistics for the 2D and 3D applications. This algorithm can
be selected using the DepthSplit parameter in the Implant command.
• TrajectorySplit: This algorithm is based on the collision density and
splits the ions if the difference is sufficiently large. The advantage of this
method is that it is applicable to 1D/2D/3D simulations. It is also selfadaptive
to the mesh structure. This algorithm can be selected using the Trajecto
rySplit parameter in the Implant command.
Dose Split A dose split algorithm is applied for the simulation of amorphizing implants. It
can drastically reduce the noise of the channeling tails (an example of 8e15 cm
2
arsenic implanted at 50 keV is shown below). Using the same number of ions, the
dose split algorithm improves the statistics in the channeling tails by at least two
orders of magnitude. For a typical run, the CPU time is about three times as long
as without dose split for the same number of ions. However, to achieve certain
accuracy, the required number of ions can be reduced by a factor of 100. This
means that the effective speed up is about a factor of 30.
Ion Implantation Model Descriptions
3164 TP 2005.06
Draft 8/11/05
The dose split algorithm is only useful for amorphizing implants. It assigns
different weights to the ions, entering the crystal before and after it is amorphized.
By default, dose split is enabled for implants above critical dose, while it is
disabled below critical dose. The critical dose is 5e14 cm
2
, for heavy ions like
BF
2
, arsenic and indium. It is 1e15 cm
2
, for ions with medium mass like
germanium and phosphorus, and it is 1e16 cm
2
for the light boron ions.
You can always override the default by specifying an appropriate value of the
boolean parameter DoseSplit on the Implant command.
Trajectory
Replication
This Monte Carlo speedup technique is activated by specifying
TrajectoryReplication=true in the implant command. The algorithm
divides the implant window into many subwindows of equal length (in 2D) resp.
equal area (in 3D). The size of these subwindows can be specified in the
Implant command with the parameters xLength (2D and 3D) and zLength
(3D only). The default sizes are xLength=0.01um (in 2D) and
xLength=0.02um, zLength=0.02um (in 3D). The parameter values are
slightly adjusted such that equal length resp. area of each subwindow is
guaranteed.
TrajectoryReplication automatically identifies equivalent subwindows
of the device structure (parts with 1D geometry in a 2D or 3D structure, and parts
with 2D geometry in a 3D structure) and attempts to replicate the ion trajectories
to all equivalent segments/areas, thereby reducing the expensive collision
calculations. Depending on the geometry and topography, the speedup is between
0 to 50 times.
While DepthSplit, DoseSplit, and TrajectorySplit help to get
smoother profiles for low concentration areas with smaller number of initial ions
Model Descriptions Ion Implantation
TP 2005.06 3165
Draft 8/11/05
(Nions as specified on the Implant command), TrajectoryReplica
tion speeds up the MC calculations with the same number of initial Nions.
High Energy
Model
A high energy implant algorithm provides a significant simulation time speed up
for amorphous materials by increasing the flight path. For boron it is about 8 times
faster and for arsenic it is about three times faster than the conventional model.
The model is selected using the HighEnergyModel parameter in the
Implant command. Although this model can not be extended to non
amorphized crystalline silicon, it speeds up simulation in the amorphous
materials, typically present on top of the silicon substrate.
Number of Ions The results of the Monte Carlo calculation are subject to statistical variation due to
the finite number of particles that are calculated. The resulting noise in the
solution can be reduced by increasing the value of the Nions parameter above its
default value. The solution time is directly proportional to this value. The solution
time can be reduced at the expense of a higher statistical variation in the results by
reducing the value of Nions.
Molecular Ion
Implantation
The Molecule subcommand provides capabilities to define and implant arbitrary
molecular ions, such as BF2 and B10H14. In this model, all atoms in the molecule
are assumed to dissociate upon entry into the targets. Since the velocity at impact
is the same for all atoms, the implant energy of the molecule is distributed
according to the masses of the atoms.
For molecular ion implantation, it is not necessary to calculate the trajectories for
all atoms. Users have the control over which species’ trajectories will be
calculated, and which will not. Since uncalculated species will contribute certain
amount of damage to the structure, a damage scaling factor is applied to get the
total damage. This scaling factor is calculated as the ratio of the sum of the mass
for all atoms in a molecule and the sum of the calculated atoms.
BF
2
Implantation BF
2
is a builtin molecular implant species. By default, Taurus Process Monte
Carlo implant model simulates the dissociation of BF
2
molecules and calculates
the trajectories for both boron and fluorine atoms. The initial energy for each ion
species is scaled according to the atomic mass of the three atoms. However, if
Crystal=false is specified on the Implant command, only the boron atoms
are simulated with their scaled energy to save CPU time. In this case the damage
is scaled by 49/11 to account for the damage created by fluorine ions. This default
behavior can be altered by using a Molecule subcommand.
Monte Carlo
Implant into
Crystalline GaAs
The Monte Carlo Implant Model in Taurus Process supports implantation into
crystalline GaAs for implant species beryllium, silicon, zinc, and selenium. The
calculations of the nuclear stopping, the electronic stopping, and the damage
accumulation are similar to those of crystalline silicon. The channeling effect and
the damage effect on the impurity range profiles can be simulated accurately for
GaAs.
Ion Implantation Model Descriptions
3166 TP 2005.06
Draft 8/11/05
Note:
The current version does not support the recoil damage model for GaAs.
There are currently no diffusion models and parameters available to
simulate subsequent anneal steps.
Boundary Conditions for Ion Implantation
Ion implantation does not obey the reflecting boundary conditions that are used
during the anneal simulation at the lateral boundaries of the simulation mesh.
The analytical model uses the surface elements of the simulation mesh to account
for the geometry. At the lateral boundaries, the analytic implant model adds
surface elements to prevent implantation into the side of the simulation
domain.These elements are removed after the implantation.
In some cases the structure must be reflected using a ReflectMesh command
before the analytic implantation can be simulated. After the implantation
simulation is performed, the structure may then be truncated back to the original
size using the RedefineDevice command.
The Monte Carlo model uses the volume mesh to locate the particles in the mesh
and to track the material interfaces. An automatic construction of volume mesh
elements at the lateral sides of the simulation domain before and cutback of the
mesh after the implant simulation, similar to the analytic approach, is currently
not done. By using a RedefineDevice command before and after the Monte
Carlo implantation and by using BoundaryConditions=Vacuum in the
Monte Carlo implant simulation, the same behavior as in analytic implantation
can be achieved: the structure can be expanded before the Monte Carlo simulation
and truncated back to the original size after the Monte Carlo simulation. Similar to
the analytic case, sometimes the structure must be reflected before expanding it.
When the user does not want to pay the price of two additional regridding
operations, and a larger simulation domain, he may use a boundary condition
other than Vacuum. The parameter BoundaryConditions can be specified as one
of Periodic or Reflect. Each of these boundary conditions has a limited
range of application and thus must be used with care.
• By default for 1D structures, BoundaryConditions=periodic is
selected. The periodic boundary conditions assume that ions leaving the simu
lation mesh at one side of the structure reenter on the opposite side, with the
same velocity and direction of motion. This condition gives accurate answers
for onedimensional structures and for truly periodic structures. It is left to the
user to ensure that the structure is periodic and no artifacts are created by the
implantation.
• For 2D and 3D structures by default BoundaryConditions =
reflective is assumed. For this model particles that hit the lateral bound
aries of the simulation domain are directed back into the structure by reflect
ing their direction of motion. Note that this boundary condition is applicable
only for implantations with Tilt=0 and for quadimplantations that will
Model Descriptions Ion Implantation
TP 2005.06 3167
Draft 8/11/05
implant ions with the same dose from the opposite side as well. This can be
interpreted as if the reflected ions were “borrowed” from the implantation
with rotation angle + 180 deg.
• BoundaryConditions=Vacuum treats ions leaving at the lateral sides of
the simulation mesh as “lost”. If this boundary condition is applied without
expanding the structure prior to the Monte Carlo simulation and truncating the
structure after the implantation, the asimplanted profiles usually show artifi
cial gradients at the lateral sides of the simulation domain.
Examples
Analytic implantation:
Implant(
Name = Boron
Energy = 35
Dose = 1.0e14
Tilt = 7
Rotation = 30
)
Monte Carlo implantation with trajectory splitting for smooth 1D profiles:
Implant(
Name=boron
Energy=5.0
Dose=1e13
Tilt=7
Rotation=0
# select MC implant model
Model=montecarlo
# recommended minimum number of ions for 2D
Nions=10000
# overwrite the default "reflect"
BoundaryConditions=periodic
# turn splitting on to get smoother profiles
TrajectorySplit=true
)
Monte Carlo simulation including both TrajectorySplitting and Replication and
including DamageScaling:
Implant(
Name = arsenic
Energy = 25
Dose = 1e14
Tilt = 0
Rotation = 0
# select MC implant model
Deposition Model Descriptions
3168 TP 2005.06
Draft 8/11/05
Model = montecarlo
# recommended minimum number of ions for 2D implant
Nions = 100000
# turn on TrajectorySplit for smoother 1D profiles
TrajectorySplit = true
# turn on TrajectoryReplication to speed up simulations
TrajectoryReplication = true
# turn off adaptive regrid
AdaptiveRegrid = none
# scale asimplanted damage if needed (default: 1)
DamageScalingFactor=1.0
)
Deposition
The Deposit command is used to simulate the deposition of a material on the
exposed surfaces of the existing structure. Isotropic, planarizing, selective, non
isotropic and geometric deposition can be simulated.The simulation is performed
by applying geometric transformations to the layer structure that is present at the
time just before the Deposit command. No simulation of any physical or
chemical processes is currently performed by Taurus Process. The resulting
shapes are computed using predefined parameterized geometric transformations
of the level set functions that represent the initial structure. These transformations
are selected and parameterized by the values the user specifies in the Deposit
command.
Note:
It is important to remember that the Deposit command uses geometric
transformation operations instead of actual physical process simulation
to compute the shape of a deposited region. Although these transforma
tions have been carefully chosen to mimic the effects of common deposi
tion processes they do not provide the correct physical result in all cases.
The shape of the deposited layer should be carefully inspected especially
when structures have overhanging parts. Structures sometimes contain
geometric features that are unexpected and could not be created using a
true simulation of the physics and chemistry of the deposition processes.
Taurus Process models the deposition of material layers as a “cold” process. If the
parameter KeepStressHistory had been specified in a Physics command
prior to the deposition, Taurus Process will perform a stress rebalancing right after
creating the new structure and mesh, still inside of the deposit command (time =
1s, temperature = 20
0
C). Only the stress equations will be solved. Although not
recommended, if the parameter MoveBoundaries had been specified in a
Physics command prior to the deposition the new position of boundaries will be
Model Descriptions Deposition
TP 2005.06 3169
Draft 8/11/05
computed during the stress rebalancing step as well and another regrid will be
performed. No anneal of dopant of point defect profiles is performed inside of a
Deposit command. If necessary, the user should use a Diffuse command
with appropriate time and temperature specifications right after a Deposit
command to account for the impact of the deposition temperature and duration.
A deposition simulation will always change the exposed part of the ambient
region and it will always create at least one new region.
By default the “top exposed” parts of the (single) ambient region are treated, that
is the parts of the ambient region that are in direct contact to the top surface (i.e. in
contact with y=MinY). The user may specify the parameter Backside in the
Deposit command. Deposition will then occur at the bottom of the structure.
Note that both top and backside deposition is possible only if the respective side is
covered entirely by the ambient region. Taurus Process will automatically expand
the simulation mesh if the newly deposited layer would not fit into the simulation
mesh, but it does not allow currently to create a part of the ambient region at the
backside if it was not created there in the initial setup of the structure, or by
cutting off the bottom part of the structure in a geometric etch that ignores the etch
stops.
The user may define the Name of the newly deposited region. By default, the
name will be generated automatically by appending an underscore and an integer
number to the material name, e.g., oxide_2.
You can specify whether the region that is created using a Deposit command is
allowed to be merged with other regions of the same material by using the
AllowMerge parameter. Merging is done at the end of a regridding operation, it
is done only if two regions of the same material both allow to be merged; if they
do merging is done whether the regions touch or not. You can also modify the
AllowMerge parameter after executing the Deposit command by using a
ReDefineRegion command for each region to be merged. In this case merging
occurs only in the next remeshing step after the RedefineRegion command.
Finally using a Select subcommand in RedefineRegion, you may enforce
merging of regions with no regridding.
Several important deposition processes can be simulated using Taurus Process:
• Conformal deposition: a new region is created with a constant thickness that
covers the entire exposed surface. The parameter Thickness and the
Material of the new region are required.
• Anisotropic deposition: Anisotropic deposition is a modification of the
conformal deposition method. The AnisotropyFactor can be specified.
The thickness, deposited on vertical surfaces is reduced by this factor
compared to the specified thickness, which is deposited on horizontal
surfaces. The parameters Thickness, Material and
AnisotropyFactor are required for this simulation.
• Planarizing deposition: filling of the structure up to a certain ycoordinate.
The parameters Material and SurfacePosition are required for this
simulation.
Deposition Model Descriptions
3170 TP 2005.06
Draft 8/11/05
• Selective deposition. An isotropic deposition process can be simulated,
depositing different materials with different thicknesses on different material
surfaces. There may be material surfaces in contact to the exposed ambient
onto which no new region is deposited. If newly deposited regions are located
in close proximity to each other, a facet will form between these regions. The
orientation and shape of this facet is determined entirely by the specified
thicknesses and the initial structure. The selective deposition requires to
specify Layer subcommands inside of the Deposition command. For
each Layer command one new region is created; each Layer command
requires the parameters Material, Thickness and the Onto
subcommand. An example of a selective deposition:
Deposit(
Layer(
Material = oxide
Thickness = 0.1um
Onto(Material = silicon)
Thickness = 0.2um
Onto(Other)
)
)
• Geometric deposition: The geometry of the newly created region may be
specified by the union of any collection of geometry promitives:
Location, MinMax, Brick, Sphere, Cylinder, Polyhedron,
Manifold, Circle and Polygon allowing Hole’s in each of the
primitives.
Initializing
Field Values
During
Deposition
Taurus Process allows field values to be initialized in the newly deposited region.
A constant value may be specified using the Initialize subcommand. A
uniform profile with the specified Value will be defined for the field specified as
Name in the newly created regions. Initializing a graded profile in the new region
requires to define both Value and EndValue in the Initialize command.
The Value will be assumed at the initial position of the exposed surface before
the deposition and the specified EndValue will be assumed at the specified
Thickness away from the initial exposed surface. If the Thickness is not
defined unambiguously in the command, e.g., when a geometric deposition or a
selective deposition is performed, the Thickness where the EndValue is
assumed should be specified inside of the Initialize subcommand. Each field
to initialize requires a separate Initialize subcommand.
The following Deposit command:
Deposit(
Material = Polysilicon
Thickness = 0.1um
Initialize(
Name = Phosphorus
Value = 1e17
EndValue = 1e18
)
)
Model Descriptions Deposition
TP 2005.06 3171
Draft 8/11/05
is used to simulate the creation of a 0.1 micron thick polysilicon layer with a
graded phosphorus concentration of 1e17 cm
3
at the lower polysilicon boundary
and 1e18 cm
3
at the top polysilicon boundary.
Field values in a newly deposited layer can also be specified by using the
Profile command. The Profile command offers a mechanism to define a
profile only for a particular region. This mechanism can be used to allow more
general initializations than uniform and linearly graded profiles.
Intrinsic Stress
in Deposited
Layers
The intrinsic stress in the newly deposited layer can be created using above
specifications for the stress components or by specifying the
IntrinsicStress parameter in the Deposit command.
A simulation of a stress relaxation is performed when the stress history simulation
has been enabled before the simulation of the deposition step using:
Physics(KeepStressHistory).
The stress relaxation calculation determines the new equilibrium stress
distribution in the entire structure. The residual stresses from preceding process
steps in the “old” layers and the intrinsic stress specified in the newly created
layers are balanced.
Stress Rebalance
After Deposition
When a material is deposited on to a structure that is in stress equilibrium, the
balance of forces acting on the original materials changes. Taurus Process allows
to compute the rebalancing of the stresses at the end of each deposition step. The
stress rebalancing is computed when the parameter KeepStressHistory of
the Physics command had been enabled before the deposition step.
Stress
Capabilities for
SiGe/Si
Structures
Si/SiGe CMOS technology and SiGe HBT technology require epitaxial growth of
Si and SiGe layers. While Si and Ge share a common crystal structure, a diamond
cubic lattice, they do not have the same lattice constant. The lattice constant for
SiGe varies between 5.43 Angstrom for pure Si and 5.66 Angstrom for pure Ge.
Consequently, a lattice mismatch strain is introduced when SiGe or Si layers are
grown epitaxially on top of each other. In Taurus Process the lattice constant of
SiGe is described by Vegard’s law and the lattice mismatch strain is calculated to
measure the relative lattice change of a thin newly deposited layer with respect to
the thick underlying layer.
In Taurus Process, SiGe is treated as crystalline Silicon with the Germanium
defined as a concentration, similar to an impurity. When a SiGe or Si layer is
deposited, Taurus Process checks for the Ge concentrations in the new layer and in
the seed layer, converts the Ge concentrations locally into the Ge mole fraction
and computes the lattice constants according to Vegard’s law. This calculation is
performed only if the parameter MismatchStrain is set true in the Deposit
command. Taurus Process computes the mismatch strain in the newly deposited
layer, assigns it to the respective field quantity, modifies the local mechanical
properties and balances the resulting stresses. Currently the strained layer is
assumed to be defect free and the entire deformation energy is assumed to be
stored in the strained layer.
Deposition Model Descriptions
3172 TP 2005.06
Draft 8/11/05
Experiments have shown that the deformation energy can be released by either
generating extended defects in the SiGe layer or by outdiffusion of Ge.
Deformation energy can also be introduced by Ge diffusion into Si. Once the
stress strain equations are activated in Si/SiGe, Taurus Process automatically
relaxes or strains the layers during Germanium diffusion. The local Germanium
concentration is checked every time step and the lattice constant is adjusted
accordingly. The stresses are rebalanced in each time step when the stress strain
equations are solved. Quantitative models for generating dislocations are yet to be
implemented.
All of the stress related features, described above require to specify:
Physics(KeepStressHistory).
Examples Simple conformal deposition:
Deposit (
Material = oxide
Thickness = 0.05um
)
Deposition with intrinsic stress and graded dopant distributions:
Deposit (
Material = nitride
Thickness = 0.08um
IntrinsicStress = 400.0e6Pa
Initialize(
Name = Arsenic
Value = 1e14
EndValue=1e15
)
Initialize(
Name = Boron
Value = 1e15
EndValue = 1e16
)
)
Deposition of a SiGe layer with mismatch strain calculation:
## turn on the stress strain equations in silicon regions.
Physics(
keepStressHistory
ReflectiveBoundary = Fixed
)
# deposit a SiGe seed layer.
Deposit(
Material = silicon
Thickness = 0.4um
Initialize(
Name = germanium
Value = 0.844e22
)
Model Descriptions Etch
TP 2005.06 3173
Draft 8/11/05
)
## deposit a thin Si layer and compute mismatch strain.
Deposit(
Material = silicon
Thickness = 0.02um
MismatchStrain
)
Etch
The Etch command simulates complete or partial etching of one or several
regions using purely geometric operations. Dry and wet etching, planarizing
etching and purely geometric etching are supported. Masks can be defined in the
input, read from a TL2 layout file or extracted from unetched regions in the initial
structure. The slope angle at the masks can be described.
Similar to the simulation of deposition processes no simulation of the physics or
chemistry of the etching process is performed. The resulting structures are
computed using predefined parameterized geometric transformations of the level
set functions representing the initial structure and the masks. The geometric
transformations are selected and parameterized by the values specified by the user
in the Etch command.
Note:
It is important to remember that the geometric transformations applied
during the simulation of etching steps are not an actual physical simula
tion of etching. Although the transformations have been carefully cho
sen to mimic common etching effects they do not provide the correct
physical results in all cases. The user should inspect the resulting geom
etry as unexpected results may occur. Simulations that use implied
Masks(all) or that involve structures with overhanging materials
should be checked very carefully for artifacts that may result from
roughness of the mesh present at the beginning of the etching step.
The EtchType parameter selects the type of etching. Taurus Process allows to
simulate the following etching processes:
EtchType = dry Dry etching (purely vertical): The Thickness parameter should be provided in
the input, otherwise a very large value is used. This etching type is recommended
for etching of contact holes and spacers. Together with the parameter Angle it
can be used to create trenches of a certain sidewall slope.
EtchType = wet Wet (isotropic) etching: The Thickness parameter should be provided in the
input, otherwise a very large value is used. This etching type is recommended to
simulate isotropic underetching for wetetch processes.
Etch Model Descriptions
3174 TP 2005.06
Draft 8/11/05
EtchType = Planar Planarizing etching (CMP): The parameter SurfacePosition must be
provided in the input. The etched regions will be cut off at the specified
SurfacePosition. This etching type is recommended for “CMP” like
processes.
EtchType =
Geometric
“Polyhedron”Etching: All parts of the etched regions or materials inside the
union of the user defined collection of geometry objects will be etched. This
etching type is recommended when “CAD” like operations shall be performed.
EtchType = All Complete removal of regions or materials. All of the etched regions or materials
will be removed.
Selection of
Etchable
Regions
The Region or Material to etch may be specified. The user may specify
several Region or Material parameters in one Etch command.
By default all regions are assumed etchable. By default only the exposed parts of
etchable regions are modified by the etching. A part of a region is exposed, if it
touches the exposed ambient or is connected to the exposed ambient through
etchable regions.
Note:
Taurus Process does NOT perform any visibility analysis. The selection
of exposed parts is based purely on the topology of regions and not on
their geometry.
The parameter IgnoreEtchStops can be specified to allow the etching to
modify all parts of the etchable regions, regardless if they are exposed or not.
Masks The result of an etching process is determined very often by the presence of
masks. In Taurus Process all etching masks are assumed to be in one plane, the
mask plane. The user may define the position of the mask plane using the
YOfMask parameter of the Etch command. By default the top position of all
etched materials is determined and used as mask plane. The specification of a Y
coordinate in a MaskEdge or MaskPolygon is not allowed. Masks may be
specified using the MaskLayer=<string> parameter. The named mask layer
must be contained in the TL2 layout file that was specified in the
DefineDevice command of the same simulation prior to the Etch command.
Masks can also be defined through a MaskEdge or a MaskPolygon
specification directly in the Etch command. The definition of
MaskEdge(Point(x=<float>) Point(x=<float>))
is a shortcut to simplify the definition of a mask. The mask edge is translated into
a mask polygon that extends over the entire range of the layout Zaxis:
.
All masks, specified by the user either as a MaskLayer, as MaskEdge or
MaskPolygon are always given in layout coordinates. The coordinates are
∞ Z ∞ < < –
Model Descriptions Etch
TP 2005.06 3175
Draft 8/11/05
converted into simulator coordinates before the masks are applied to the simulated
structure.
Note:
Unlike in preceding releases of Taurus Process & Device, it is recom
mended in Taurus Process to respecify the same masks any time it is
required to etch a region or material. Taurus Process is not at all sensi
tive to these masks and the clean and minimal definition of mask poly
gons or layers offers advantages over the extraction of implied masks
from the mesh.
Implied Masks For dry etching processes, it is possible to select etch masks from the current layer
structure. These masks are called implied masks. The surface of unetched regions
is projected into the mask plane and is used similar to the userdefined mask
polygons. The user may select the regions or materials that are used for the
construction of implied masks. Only surface elements on the exposed surface of
the selected regions will be used to construct implied masks. These regions can be
selected using the:
ImpliedMasks(
Region=<string>
Material=<string>
)
subcommand. The user may restrict the selection of implied masks by specifying
any collection of geometry objects in the ImpliedMasks subcommand, e.g.:
Etch(
ImpliedMasks(
Region=”oxide_1”
Brick(...)
)
)
Only surface elements at the exposed boundary that belong to the selected region
and have all of their corners inside or on the surface of the specified geometry
objects are selected for the construction of the implied mask.
Finally the user may specify ImpliedMasks(All)and select the exposed
surface of all regions that are not etchable to be used for constructing the implied
masks.
Once all polygons and surface elements have been projected into the mask plane,
Taurus Process computes the union of all these polygons. The resulting polygons
are used to protect certain areas of the structure from being etched. By default
these areas are determined as “everything below” the resulting masks.
The user may specify the Angle=<value> parameter and thus modify the
construction of the “protected” area; Angle=90 is the default, a value less than
90 results in an “undercut” of the protected parts and a value above 90 results in a
masked part that extends to the outside of the mask.
Etch Model Descriptions
3176 TP 2005.06
Draft 8/11/05
Note:
The implied masks are projected into the mask plane, regardless of their
true position in space. During the construction of implied masks no visi
bility test is performed that would check, if any material is “above” an
exposed unetched face that would prevent this surface element from
becoming part of an implied mask.
The user must specify all of the masks that he wants applied in an etching. For
simple cases Etch(material=Silicon ImpliedMasks(all))may be
sufficient. In other situations the mask polygons or implied masks need to be
chosen very carefully.
Etch in a Box The effect of any type of etching can be limited to a specified geometry or “box.”
Use the InABox subcommand to specify the geometry in which etching is
allowed. You can use any of the geometry primitives listed in Chapter 4,
DefineDevice, p. 442.
Example Geometric etching of oxide using a Polygon:
Etch(
Material = Oxide
EtchType = Geometric
Polygon(
Point( x = 0.0um y = 0.0um)
Point( x = 1.0um y = 0.0um)
Point( x = 1.0um y = 1.0um)
Point( x = 0.0um y = 1.0um)
)
)
Etching with a mask read in from a TL2 file:
Etch(
initial surface
region after etch
EtchType=Wet
mask
initial surface
region after etch
EtchType=wet
initial surface
region after etch
EtchType=dry
mask
user defined masks istotropic offset of exposed surface vertical offset of exposed surface
Figure 336 Different etching types.
isotropic offset outside of masks
Model Descriptions Etch
TP 2005.06 3177
Draft 8/11/05
EtchType = Dry
Material = Polysilicon
MaskLayer = ”gate”
Thickness = 1.0um
)
Dry Etching through all of a region using an implied mask of all unetched regions:
Etch(
EtchType = Dry
Material = Polysilicon
ImpliedMask(All)
)
Wet etching may also use a MaskPolygon. Only ImpliedMasks
are restricted to Dry etching:
Etch(
EtchType = wet
material = silicon
thickness = 1.0um
MaskPolygon(
Point( x = 0.0 z = 0.0)
Point( x = 1.0 z = 0.0)
Point( x = 1.0 z = 1.0)
Point( x = 0.0 z = 1.0)
)
)
Etch(
Material = silicon
Thickness = 1.0um
MaskEdge(
Point(x=0.0)
Point(x=1.0)
)
)
Geometric Etching using a Polyhedron:
Etch(
Material=nitride
EtchType=Geometric
Polyhedron(
Polygon(
Point(x=0.16um y=0.2um z=0.02um)
Point(x=0.04um y=0.2um z=0.02um)
Point(x=0.04um y=0.2um z=0.18um)
Point(x=0.16um y=0.2um z=0.18um)
)
Polygon(
Point(x=0.04um y=0.2um z=0.18um)
Point(x=0.04um y=0.2um z=0.02um)
Point(x=0.10um y=0.0um z=0.10um)
)
Polygon(
Etch Model Descriptions
3178 TP 2005.06
Draft 8/11/05
Point(x=0.04um y=0.2um z=0.02um)
Point(x=0.16um y=0.2um z=0.02um)
Point(x=0.10um y=0.0um z=0.10um)
)
Polygon(
Point(x=0.16um y=0.2um z=0.02um)
Point(x=0.16um y=0.2um z=0.18um)
Point(x=0.10um y=0.0um z=0.10um)
)
Polygon(
Point(x=0.16um y=0.2um z=0.18um)
Point(x=0.04um y=0.2um z=0.18um)
Point(x=0.10um y=0.0um z=0.10um)
)
)
)
Geometric Etching using two bricks. One of them has a Sphere hole in it:
Etch(
Material = silicon
Brick(
Point(x=0.10um y=0.20um z=0.10um)
Point(x= 0.30um y=0.05um z= 0.30um)
Hole(
Sphere(
Center(x=0.1um y=0.15um z=0.1um)
Radius = 0.08um
)
)
)
Brick(
Point(x= 0.03um y=0.20um z= 0.03um)
Point(x= 0.17um y=0.05um z= 0.17um)
)
)
Dry etching using a mask with inclined sidewalls removing all material outside
the mask:
Etch(
EtchType = Dry
Thickness = 0.35um
Angle = 100
YofMask = 0.1um
MaskPolygon(
Point( x = 0.08um z = 0.04um)
Point( x = 0.12um z = 0.04um)
Point( x = 0.12um z = 0.08um)
Point( x = 0.08um z = 0.08um)
)
)
Model Descriptions Numerical Methods
TP 2005.06 3179
Draft 8/11/05
Dry etching in a box:
Etch(
EtchType = dry
Thickness = 0.4um
InABox(
Sphere(
center(x=0.5um y=0.4um z=0.3um)
raduis = 0.35um
)
)
)
Stress Rebalance
After Etching
When material is removed from a structure that is in stress equilibrium, the
balance of forces acting on the remaining material changes. Taurus Process allows
to compute the rebalancing of the stresses at the end of each etching step. The
stress rebalancing is computed when the parameter KeepStressHistory of
the Physics command had been enabled before the etching step:
Physics(KeepStressHistory)
Numerical Methods
In the Diffuse command, as well when rebalancing stresses in the Deposit or
Etch commands, Taurus Process must solve large systems of nonlinear
equations. The diffusion equations are nonlinear because the diffusion coefficients
and electric field depend on the impurity, point defect, and carrier concentrations.
These dependencies also couple the equations for multiple impurities and point
defects. The stress equations are nonlinear due to the dependency of the viscosity
on the stress.
These systems of equations are solved based on the spatial and time discretization,
described below. The spatial discretization uses the finite volume method (also
referred to in the literature as box integration method).
The Numerics command can be used to select methods and to specify resources
for the solution of the equations. It works similar to the Physics command: the
Numerics command must be specified before the Diffuse command, the
values specified in a Numerics command have an effect on all subsequent
Diffuse commands and remain in effect until they are reset by another
Numerics command. Most parameters that can be specified in a Numerics
command also can be specified locally in a Diffuse command; in which case
the local values are used.
Time
Discretization
Four different time discretization methods are available Bdf1, Bdf2, Bdf1Bdf2
and TrBdf2. The time discretization scheme is selected by the Bdf1, Bdf2,
Bdf1Bdf2 or TrBdf2 parameters in the Numerics command.
Numerical Methods Model Descriptions
3180 TP 2005.06
Draft 8/11/05
For oxidation and silicide growth by default BDF1 is used, for inert annealing
Bdf1Bdf2 is used by default.
The total diffusion time specified by the Time parameter is divided into a series
of smaller time steps represented by . The initial time step can be set by the
InitialTimeStep parameter of the Numerics or the Diffuse command
(see p. 32), or if the parameter Continue is specified in a Diffuse command,
the last time step from the most recent Diffuse command can be used. A
constant time step may be specified using the ConstStep parameter, either in a
Numerics or a Diffuse command.
Time
Discretization
Error
By default the time step size is chosen automatically, using the estimated time
discretization error according to Reference [7]. A time step is accepted, if the
estimated discretization error fulfills the condition:
Equation 3320
where:
• is the number of equations (impurities and point defects, oxidant species,
level set functions or stress equation) at each node.
• is the number of unknowns in the equation .
• is the value of field at node .
• is the estimated error in (predicted value minus solution value).
• is a control parameter that can be specified as TimeStepFactor. The
default values are 0.3 for BDF1 and 0.6 for BDF2.
• is the order of the time discretization scheme: 1 for BDF1 and 2 for BDF2.
• is the accepted error. The default is 2. If the parameters SmallTimeStep
is specified, for time steps below this value the error chosen as SmallStep
DiscError instead.
• and denote the relative and absolute error tolerances that can be speci
fied for each of the equations using the Relative and Absolute parame
ters in the Error subcommand of the Numerics command or the
RelativeError parameter in the Numerics command that applies to all
equations:
Numerics(
RelativeError=<float>
Error(
Equation=arsenic
∆t
∆t
∆C
ij
R
j
C
ij
A
j
+ ⋅

i 1 =
n
j
∑
2
j 1 =
m
∑
n
j
i 1 =
m
∑

. ,
 `
0.5
E f
1 d + ( )
⋅ ≤
m
n
j
j
C
ij
j i
∆C
i j
C
ij
f
d
E
R
j
A
j
Model Descriptions Numerical Methods
TP 2005.06 3181
Draft 8/11/05
Relative=<float>
Absolute=<float>
)
)
Determining the
Next Time Step
If a time step is accepted, the new time step is computed as:
Equation 3321
The new time step is restricted from growing too fast. The new time step may
exceed the current time step by at most maxTimeStepFactor. The default
value is 2. The absolute size of the time step may be restricted as well. The
parameter MaxTimeStep can be specified, or the time step can be restricted to
allow only a certain change of the external quantities temperature or pressure in a
ramp: MaxTemperatureChangePerTimeStep,
MaxPressureChangePerTimeStep. Finally, if the simulation involves a
change of the layer structure, e.g. in an oxidation the time step may be constrained
by a maximum displacement: MaxDisplacementPerTimeStep.
Newton’s Method The nonlinear equations, discretized in time and spatial variables are solved using
Newton’s method. The set of all equations that need to be solved is defined by the
current state of the simulation: how many dopant, selection of diffusion model,
dimension of the simulation, number of regions, oxidation, silicide growth or inert
anneal. Taurus Process uses a solution strategy that couples certain of the
equations that are known to strongly depend on each other and performs a
sequential solution for other equations to reduce the number of equations solved
in each coupled system. For each set of coupled equations, a separate Newton
iteration process is performed. If the current task is found to have converged,
simulation switched to the next Newton task. By default:
• Each of the (linear) oxidant equations is solved by itself.
• The nonlinear stress equations for all required components of the displace
ment vector are solved as one coupled system.
• The nonlinear equations for the point defects and the dopants are solved cou
pled in one Newton step.
• Each of the (linear) level set equations is solved separately.
The user may redefine the solution strategy by using the Couple and Iterate
objects of the Diffuse command. This is rarely needed, most likely when using
t
new
t ∆ = f
n
j
i 1 =
m
∑
∆C
ij
R
j
C
ij
A
j
+ ⋅

i 1 =
n
j
∑
2
j 1 =
m
∑

. ,
 `
1 2 1 d + ( ) ( ) ⁄
⋅ ⋅ ∆
Numerical Methods Model Descriptions
3182 TP 2005.06
Draft 8/11/05
PMEI for equations other than dopant equations (i.e., for equations that do not
define the dopantCharge parameter).
Convergence
Criteria
Convergence of each Newton iteration process is determined by the parameters for
relative error and the parameters for absolute error as specified in the Numerics
command. Convergence is reached when the following relation for the update
(∆x) of a solution variable is satisfied:
Equation 3322
where the maximum is taken over the all mesh nodes where the equation has been
solved. Note that the function values are scaled, depending on the equation.
An additional condition depending on the relative nonlinear residuum may be
selected before accepting a Newton iteration process as solved:
Equation 3323
The parameters addNewtonResid and newtonResid can be specified in the
Numerics command. The relative L2 norm of the nonlinear residuum (a.k.a.
right hand side) of the ith Newton iteration is compared to the maximum of the
L2 norms for the first two Newton iterations, modified by adding a small value
addNewtonResid. If the parameter newtonResid has been specified by the
user, the comparison is made and the solution of the nonlinear problem is
accepted only if the condition on the Newton residuum is fulfilled.
The number of Newton iterations performed for each coupled task is restricted, it
can be specified using the Iterations parameter of the Numerics command.
If the maximum number of iterations is reached, the Newton iteration failed and
the time step is reduced. If the norm of the Newton updates, compared in Equation
3322 are increasing, instead of decreasing over several Newton iterations, the
iteration is terminated with a failure earlier. The maximum number of such failing
iterations is set using the MaxDivergenceCount parameter. The number of
divergent iterations is the maximum of 5 and Iterations/3.
For each Newton iteration of each linear or nonlinear system a large linear system
of equations must be solved.
Linear Solver Several iterative and one direct linear equation solvers are available to solve these
linear systems.The linear solver is selected using the LinearSolver parameter
in the Numerics command.
• The direct solver is the well established solver used in Medici
• ILUCGS (References [157] and [159]) is a preconditioned conjugate gradient
method with an incomplete LU decomposition with no fillin ILU(0).
RelativeError max
∆x
i
x
i
ScaledAbsoluteError +

. ,
 `
<
b
i
max b
0
b
1
, ( ) addNewtonResid +
 newtonResid <
b
i
Model Descriptions Numerical Methods
TP 2005.06 3183
Draft 8/11/05
• The ILU(0) preconditioner has been combined with a GMRES (References
[157] and [158] ) algorithm. This solver can be selected as Linear
Solver=ILUGMRES.
• The ILU(0) preconditioner also can be used together with a Generalized Bi
Conjugate Gradient Method. Four versions of this method are available. They
can be selected as LinearSolver=GBiCG1, LinearSolver=GBiCG2,
LinearSolver=BiS1, LinearSolver=BiS2.
• New preconditioners are available in TP 2005.06. They can be used together
with the new itrative solvers kGMres, kGBiCG1, kGBiCG2. Unlike ILU(0)
the new preconditioners allow addition of matrix elements during the con
struction of the preconditioning matrix. The fillin is controlled by the level.
The parameter kFill can be specified in the Numerics command. Values of
0, ... 5 can be used. Selecting higher levels of fillin allows the addition of
more elements during the LUdecomposition. This leads to more memory
requirement but often helps to improve convergence. Scaling of the linear
matrices is available and recommended when using these iterative solvers.
• The ILUGMRES, GBiCG1, GBiCG2, BiS1, BiS2, kGMRes, kGBiCG1 and
kGBiCG2 methods can be combined with a scaling of the linear systems. The
scaling procedure is automatic and usually helps to improve the convergence
and stability of the iterative scheme. In many difficult simulation examples,
the use of a scaling of the linear problem proved helpful. Three different scal
ing schemes can be selected using LinScale=1, LinScale=2 resp. Lin
Scale=3 in the Numerics command. These scaling schemes do not
require significant resources or time and are recommended to be used always.
Due to still limited practical experience, by default the iterative solvers do not
use any scaling of the linear problem (LinScale=0).
• With respect to the computational effort and memory resources the “cheapest”
among the iterative solvers is ILUCGS, followed by GBiCG1, GBiCG2,
BiS1 and BiS2. The most robust but also most memory consuming iterative
solvers are ILUGMRES, kGMRes, kGBiCG1 and kGBiCG2 with
kFill=2...5.
Numerics
Command
The linear solver, as well as several other parameters controlling the solution
process, can be set globally in the Numerics command. These settings apply to
all Diffuse commands following the Numerics command and to all solutions
of the stress rebalancing problem after Etch and Deposit commands.
Note:
Each Numerics command sets the parameter values specified in the
command. Parameter settings are accumulated over all Numerics com
mands. If a parameter is specified in several Numerics commands, the
value specified last will be used.
In the Numerics command, a series of linear solvers may be specified. Each
LinearSolver specification may be followed by the resource and precision
parameters (e.g., LinScale, MaxiIter, Itresid, MaxBackVector,
RelativeError, kFill etc.) to be used by this solver. These solver selections
Numerical Methods Model Descriptions
3184 TP 2005.06
Draft 8/11/05
and parameters apply to all Diffuse commands unless LinearSolver and
resource parameters are specified locally in the command.
The first specified LinearSolver together with the resource and precision
values specified right after the LinearSolver (or the default resource values)
is used to solve each of the linear problems encountered in the simulation. If one
LinearSolver fails to solve the linear equation to the required precision within
the provided resources, the next LinearSolver specified in the list together
with its resources is selected. If no other LinearSolver can be found in the
list, the Newton step is rejected and the time step is cut back.
For best overall execution time, it is recommended to specify a simple solver first
and to switch to solvers with higher memory consumption and larger number of
iterations only in case of difficulties to find a solution.
Taurus Process does not switch back to a “cheaper” solver within the same
Diffuse command, since usually the equations remain difficult to solve.
It is possible in Taurus Process to either use one particular iterative solver or to
define a fixed solver strategy. If the optimum solver settings for a particular class
of problems are already known, these should be specified in the numerics
command.
LinearSolver=iterative is used by default. This setting is translated into
the entire list of available iterative solvers. ILUCGS is the first iterative solver in
this list. When ILUCGS does not converge, the simulator switches to more
expensive and more precise linear solvers.
Linear Solution
Acceptance
The acceptance of a linear system as solved is controlled by the parameter
itResid:
The default value itResid=1e7 may be too large for some problems. A
smaller value, e.g., 1e15 requires a more precise solution of the linear system.
Sometime solving each system to a higher precision may reduce the overall
simulation time by allowing larger time steps.
The maximum number of iterations can be prescribed using the MaxiIter
parameter. Sometimes the linear solver does nearly achieve the required tolerance
itResid when the maximum number of iterations is reached. Taurus Process
now accepts such linear solves unless in the last Newton iteration step.
Examples Increase the maximum number of Newton iterations. Increase the number of
allowed “divergent” steps before terminating the Newton iteration as failed:
Numerics(
Iterations = 20
MaxDivergenceCount = 10
)
A ∆x ⋅ b –
b

itResid <
Model Descriptions Numerical Methods
TP 2005.06 3185
Draft 8/11/05
Select a solve strategy of three different LinearSolver’s. Define separate
resources for each of the solvers before specifying the LinearSolver:
Numerics(
LinearSolver = ILUCGS
MaxiIter = 60
Itresid = 1e8
LinearSolver = ILUGMRES
MaxBackVector = 60
MaxiIter = 120
LinScale = 2
Itresid = 1e11
LinearSolver = kGMRes
kFill=2
MaxBackVector = 60
MaxiIter = 120
LinScale = 3
Itresid = 1e13
)
References Model Descriptions
3186 TP 2005.06
Draft 8/11/05
References
[1] C. P. Ho, S. E. Hansen, and P. M. Fahey. “SUPREM III—A Program for
Integrated Circuit Process Modeling and Simulation,” Technical Report No.
SEL84001, Stanford Electronics Laboratories, Stanford University, Stan
ford, California, July 1984.
[2] G. Masetti, M. Severi, and S. Solmi. “Modeling of Carrier Mobility Against
Carrier Concentration in Arsenic, Phosphorus, and BoronDoped Silicon,”
IEEE Trans. Electron Devices, Vol. ED30, No. 7, pp. 764769, July 1983.
[3] B. E. Deal. “Thermal Oxidation Kinetics of Silicon in Pyrogenic H
2
O and
5% HCl/H
2
O Mixtures,” J. Electrochem. Soc., Vol. 125, No. 4, pp. 576579,
April 1978.
[4] R. B. Fair and P. N. Pappas. “Diffusion of IonImplanted B in High Concen
tration P and AsDoped Silicon,” J. Electrochem. Soc., Vol. 122, No. 9, pp.
12414, Sept. 1975.
[5] N. E. B. Cowern and D. J. Godfrey. “A Model for Coupled Dopant Diffusion
in Silicon,” Fundamental Research on the Numerical Modelling of Semi
conductor Devices and Processes (Papers from NUMOS I, the First Interna
tional Workshop on the Numerical Modelling of Semiconductors, 11th 
12th December 1986, Los Angeles, USA), edited by J. J. H. Miller, Dublin,
Ireland: Boole Press, 1987.
[6] F. Wittel and S. T. Dunham. “Diffusion of Phosphorus in Arsenic and Boron
Doped Silicon,” Appl. Phys. Lett., Vol. 66, p. 1415, 1995.
[7] R. E. Bank, W. M. Coughran Jr., W. Fichtner, E. H. Grosse, D. J. Rose, and
R. K. Smith. “Transient Simulation of Silicon Devices and Circuits,” IEEE
Trans. Elec. Dev., Vol. ED32, No. 10, pp. 19922007, Oct. 1985.
[8] M. E. Law, H. Park, and P. Novell. “Theory of Dopant Diffusion Assuming
Nondilute Concentrations of DopantDefect Pairs,” Appl. Phys. Lett., Vol.
59, No. 26, pp. 34883489, Dec. 1991.
[9] N. E. B. Cowern. “General Model for Intrinsic Dopant Diffusion in Silicon
Under Nonequilibrium PointDefect Conditions,” J. Appl. Phys., Vol. 64,
No. 9, pp. 44844490, Nov. 1988.
[10] F. A. Trumbore. “Solid Solubilities of Impurity Elements in Germanium
and Silicon,” Bell Sys. Tech. J., pp. 205233, Jan. 1960.
[11] C. S. Rafferty, G. H. Gilmer, J. Jaraiz, D. Eaglesham, and H.J. Gossmann,
“Simulation of Cluster Evaporation and Transient Enhanced Diffusion in
Silicon,” Appl. Phys. Lett., Vol. 68, No. 17, pp. 23957, 22 April 1996.
[12] J. M. Poate, D. J. Eaglesham, G. H. Gilmer, H.J. Gossmann, M. Jaraiz, C.
S. Rafferty, and P. A. Stolk, “Ion Implantation and Transient Enhanced Dif
fusion,” 1995 IEDM Tech. Dig., pp. 7780, 1995.
Model Descriptions References
TP 2005.06 3187
Draft 8/11/05
[13] S. M. Hu. “On Interstitial and Vacancy Concentrations in Presence of Injec
tion,” J. Appl. Phys., Vol. 57, p. 1069, 1985.
[14] P. Alippi and R. Colombo. “LatticeStrain Field induced by \{311\} Self
Intersititial Defects in Silicon,” Phys., Rev. B, Vol. 62, p. 1815, 2000.
[15] A. Bongiorno and L. Colombo. “Interaction between a Monovancy and a
Vacancy Cluster in Silicon,” Phys. Rev. B, Vol. 57, p. 8767, 1998.
[16] R. A. Casali, H. R. Tucker, and M. Methfessel. “Interaction of Vacancies
with Interstitial Oxygen in Silicon,” Appl. Phys Lett., Vol. 78, p. 913, 2001.
[17] D. J. Chadi and K. J. Chang. “Magic Numbers for Vacancy Aggregation in
Crystalline Si,” Phys. Rev. B, Vol. 38, p. 1523, 1988.
[18] N. E. B. Cowern and C. S. Rafferty. “Enhanced Diffusion in Silicon Pro
cessing,” Mat. Res. Soc. Bulletin, Vol. 25, p. 39, 2000.
[19] N. E. B. Cowern, D. Alquier, M. Omri, A. Claverie, and A. Nejim. “Tran
sient Enhanced Diffusion in Preamorphized Silicon: The Role of the Sur
face,” Nucl. Instr. Meth. B, Vol. 148, pp. 257261, 1999.
[20] N. E. B. Cowern, K. T. F. Janssen, G. F. A. van de Walle, and D. J. Gravest
eifn. “Impurity Diffusion via an Intermediate Species: The BSi System,”
Phys. Rev. Lett, Vol. 65, p. 2434, 1990.
[21] F. Cristiano, J. Grisolia, B. Colombeau, M. Omri, B. de Mauduit, A. Cla
verie, L. F. Giles, and N. E. B. Cowern. “Formation Energies and Relative
Stability of Perfect and Faulted Dislocation Loops in Silicon,” J. Appl. Phys,
Vol. 87, p. 8420, 2000.
[22] T. Diaz de la Rubia and G. H. Gilmer. “Structural Transformations and
Defect Production in Ion Implanted Silicon: A Modecular Dynamics Simu
lation Study,” Phys. Rev. Lett, Vol. 74, p. 2507, 1995.
[23] Omer Dokumaci, Paul ronsheim, Christopher D’emic, Anthony G. Domen
icucci, Sur Hegde, Paul Kozlowaki, and H. S. Philip Wong. “Transient
Enhanced Diffusion and Dose Loss of Indium in Silicon,” Mat. Res. Soc.
Sym. Proc, Vol. 568, pp. 205210, 1999.
[24] S. K. Estreicher, J. L. Hastings, and P. A. Fedders. “The RingHexavancy in
Silicon: A Stable and Inactive Defect,” Appl. Phys. Lett., Vol. 70, p. 432,
1997.
[25] P. M. Fahey, P. B. Griffin, and J. D. Plummer. “Point Defects and Dopant
Diffusion in Silicon,” Rev. Mod. Phys., Vol. 61, pp. 289384, 1989.
[26] O. W. Holland and C. W. White. “IonInduced Damage and Amorphization
in Si,” Nuc. Inst. Meth. B., Vol. 59/60, p. 353, 1991.
[27] B. Hourahine, R. Jones, N. Safonov, S. Soberg, P. R. Briddon, and S. K.
Streicher. “Idenification of the Hexavancy in Silicon with the B4 Optical
Center,” Phys., Rev. B., Vol. 61, p. 19, 2000.
References Model Descriptions
3188 TP 2005.06
Draft 8/11/05
[28] S. M. Hu. “Atomic Diffusion in Semiconductor,” Plenum., p. 271, London,
1973.
[29] S. C. Jain and D. J. Roulston. “A Simple Expression Bandgap Narrowing,”
Solid State Electronic., Vol. 34, pp. 453465, 1991.
[30] J. Kim, J. W. Wilkins, F. S. Khan, and A. Canning. “Extended Si P{311}P
Effects,” Phys., Rev. B., Vol. 55, p. 24, 1997.
[31] Masanori Kohyama and Seiji Takeda. “Atomic Structure and energy of the
\{311\} Planar Interstitial Defects in Si,” Phys., Rev. B., Vol. 46, pp. 305
316, 1992.
[32] Y. H. Lee and J. W. Corbett. “EPR Study of Defects in NeutronIrradiated
Silicon: Quenchedin Alignment under <110>Uniaxial Stress,” Phys., Rev.
B., Vol. 49, p. 10, 1974.
[33] Desmond R. Lim, C.S. Rafferty, and F. P. Klemns. “The Role of the Sur
face in Transient Enhanced Diffusion,” Appl. Phys., Lett., Vol. 67, pp.
23022304, October 1995.
[34] I. MartinBragado, R. Pinacho, P. Castrillo, M. Jaraiz, J. E. Rubio, and J.
Barbolla. “Physical Modeling of FermiLevel Effects for Decanano Device
Process Simulations,” Mat. Sci. Eng. B, Vol. 114115, pp. 284289, 2004.
[35] Ignacio MartinBragado, M. Jaraiz, Pedro Castrillo, Ruth Pinacho, and
Juan Barbolla. “??,” Phys. B, Vol. ??, pp. ??, 2005.
[36] Ignacio MartinBragado. “Simulacion Atomistica Deprocesos Para Micro
electronica,” Universidad de Valladolid, Valladolid, Spain, 2005.
[37] B. de Mauduit, L. Laanab, C. Bergand, M. M. Faye, G. Ben Assayag, and
A. Claverie. “Identification of EOR Defects due to the Regrowth of Amor
phous Layers Created by Ion Bombardment,” Nuc. Instrum. Methods, Rev.
B, Vol. 84, p. 190, 1994.
[38] YongSeog Oh and Donald E. Ward. “A Calibrated Model for Trapping of
Implanted Dopants at Material Interface During Thermal Annealing,”
IEDM 198 Proceedings, Series 18.6, Vol. 82, pp. 509512, 1998.
[39] Lourdes Pelaz, Luis A. Marques, M. Aboy, Juan Barbolla, and G. H.
Gilmer. “Atomistic Modeling of Amorphization and Recrystallization in
Silicon,” App. Phys. Lett., Vol. 82, p. 2038, 2003.
[40] L. Pelaz, M. Jaraiz, G.H. Gilmer, H. J. Gossman, C.S. Rafferty, D. J.
Eaglesh, and J. M Poate. “B Diffusion and Clustering in Ion Implanted Si:
The role of B Cluster Precursors,” App. Phys. Lett., Vol. 70, pp. 22852287,
1997.
[41] C. Persson, U. Lindefelt and B. E. Sernelius. “Bandgap Narrowing in N
Type and PType 3C, 2H, 4H, 6HSiC, and Si,” J App. Phys. , Vol. 86, pp.
44194427, October 1999.
[42] Conor Rafferty. “Progress in Predicting Transient Diffusion,” Proc. Int.
Conf. on Simulation of Semicond. Processes and Devices (SISPAD. 1997.
Model Descriptions References
TP 2005.06 3189
Draft 8/11/05
[43] P. J. Schultz, C. Jagadish, M. C. Ridgway, R. G. Elliman, and J. S. Will
iams. “??,” Phys. Rev. B, Vol. 44 p. 9118, 1991.
[44] P. A. Stolk, H. J. Gossmann, D. J. Eaglesham, D. C. Jacobson, J. M. Poate,
and H. S. Luftman. “TrapLimited Interstitial Diffusion and Enhanced
Boron Clustering in Silicon,” Appl. Phys. Lett., Vol. 66, p. 568, 1995.
[45] P. A. Stolk, H. J. Gossmann, D. J. Eaglesham, D. C. Jacobson, C. S. Raf
ferty, G. H. Gilmer, M. Jaraiz, J. M. Poate, H. S. Luftman, and T. E.
Haynes. “Physical Mechanism of Transient Enhanced Dopant Diffusion in
IonImplanted Silicon,” J. Appl. Phys., Vol. 81, pp. 60316050, 1997.
[46] S. M. Sze. “Physics of Semiconductor Devices,” John Wiley & Sons, New
York, 1981.
[47] S. Takeda. “An Atomic Model of ElectronIrradiationInduced Defects on
\{113\} in Si,” Japan J. Appl. Phys., Vol. 30, p. l639, 1991.
[48] V. C. Venezia, R. Duffy, L. Pelaz, M. Aboy, A. Heringa, P. B. Griffin, C.
C. Wang, M. J. P. Hopstaken, Y. Tamminga, T. Dao, B. J. Pawlak, and F.
Roozeboom. “Dopant Redistribution Effects in Preamorphized Silicon Dur
ing Low Temperature Annealingi,” IEDM 2003 Proceedings, 2003.
[49] George D. Watkins. “Deep Centers in Semiconductors,” Japan J. Appl.
Phys., Ed. 2, S. T. Pantelides and Gordon and Breach, Switzerland 1992.
[50] George D. Watkins and J. W. Corbett. “Defects in Irradiated Silicon: Elec
tron Paramagnetic Resonance of the Divacancy,” Phys. Rev. B, Vol. 138, p.
A543, 1965.
[51] George D. Watkins. “Defects in Irradiated Silicon: EPR and Electron
Nuclear Double Resonance of Interstitial Boron,” Phys. Rev. B, Vol. 12, pp.
58245839, 1975.
[52] P. B. Griffin and J. D. Plummer. “Process Physics Determining 2D Impu
rity Profiles in VLSI Devices,” IEDM Technical Digest, pp. 522525, 1986.
[53] P. B. Griffin. “Physics and Modeling of TwoDimensional Diffusion in
SUPREMIV,” Doctoral dissertation, Stanford University, Palo Alto, Cali
fornia, 1989.
[54] M. Jaraiz, P. Castrillo, R. Pinacho, I. MartinBragado, and J. Barbolla,
“Atomistic FrontEnd Process Modeling: A Powerful Tool for DeepSub
micron Device Fabrication,” Proc. SISPAD 2001, pp. 1017, 2001.
[55] N. Strecker, V. Moroz, and M. Jaraiz, “Introducing Monte Carlo Diffusion
Simulation into TCAD Tools,” Proc. ICCN 2002, pp. 247250, 2002.
[56] B. E. Deal and A. S. Grove. “General Relationship for the Thermal Oxida
tion of Silicon,” J. Appl. Phys., Vol. 36, p. 3770, 1965.
[57] H. Z. Massoud. “Thermal Oxidation of Silicon in Dry Oxygen—Growth
Kinetics and Charge Characterization in the Thin Regime,” Technical
Report, Stanford Electronics Laboratories, Stanford University, Stanford,
California, June 1983.
References Model Descriptions
3190 TP 2005.06
Draft 8/11/05
[58] D. W. Hess and B. E. Deal. “Kinetics of the Thermal Oxidation of silicon
in O
2
/HCl Mixtures,” J. Electrochem. Soc., Vol. 124, No. 5, pp. 735739,
May 1977.
[59] R. R. Razouk, L. N. Lie, and B. E. Deal. “Kinetics of High Pressure Oxida
tion of Silicon in Pyrogenic Steam,” J. Electrochem. Soc., Vol. 128, No. 10,
pp. 22142220, Oct. 1981.
[60] L. N. Lie, R. R. Razouk, and B. E. Deal. “High Pressure Oxidation of sili
con in Dry Oxygen,” J. Electrochem. Soc., Vol. 129, No. 12, pp. 2828
2834, Dec. 1982.
[61] N. Guillemot, G. Pananakakis, and P. Chenevier. “A New Analytical
Model of the “Bird’s Beak,” IEEE Trans. Elec. Dev., Vol. ED34, No. 5, pp.
10331038, May 1987.
[62] C. P. Ho and J. D. Plummer. “Si/SiO
2
Interface Oxidation Kinetics: A
Physical Model for the Influence of High Substrate Doping Levels—I. The
ory,” J. Electrochem. Soc., Vol. 126, No. 9, pp. 15161522, Sept. 1979.
[63] C. P. Ho and J. D. Plummer. “Si/SiO
2
Interface Oxidation Kinetics: A
Physical Model for the Influence of High Substrate Doping Levels—II.
Comparison with Experiment and Discussion,” J. Electrochem. Soc., Vol.
126, No. 9, pp. 15231530, Sept. 1979.
[64] C. P. Ho, J. D. Plummer, and J. D. Meindl. “Thermal Oxidation of Heavily
PhosphorusDoped Silicon,” J. Electrochem. Soc., Vol. 125, No. 4, pp. 665
671, April 1978.
[65] D. Chin, S. Y. Oh, S. M. Hu, R. W. Dutton, and J. L. Moll. “TwoDimen
sional Oxidation,” IEEE Trans. Elec. Dev., Vol. ED30, No. 7, pp. 744749,
July 1983.
[66] C. S. Rafferty. “Stress Effects in silicon Oxidation—Simulation and Exper
iments,” Doctoral dissertation, Stanford University, Stanford, California,
1989.
[67] V. Senez, P. Ferreira, and B. Baccus. “TwoDimensional Simulation of
Local Oxidation of silicon: Calibrated Viscoelastic Flow Analysis,” IEEE
Trans. Electron Dev., Vol. 43, No. 5, pp. 720–731, May 1996.
[68] S. L. Zhang, R. Buchta, and M. Ostling. “A Study of Silicide Formation
form LPCVDTungsten Films: Film Texture and Growth Kinetics,” J.
Mater. Res., Vol. 6, pp. 18861891, Sept. 1991.
[69] Locker and C. D. Capio, “Reaction Kinetics of Tungsten Thin Films on Sil
icon (100) Surfaces,” J. Appl. Phys., Vol. 44, No. 10, pp. 43664369, Oct.
1973.
[70] E. Ma, B. S. Lim, M. A. Nicolet, N. S. Alvi, and A. H. Hamdi. J. Electron.
Mater., Vol. 17, p. 207, 1988.
[71] C. L. Chu, K. C. Saraswat, and S. S. Wong. “Measurement of Lateral
Dopant Diffusion in Thin Silicide Layers,” IEEE Trans. Elec. Dev., Vol. 39,
No. 10, pp. 23332340, Oct. 1992.
Model Descriptions References
TP 2005.06 3191
Draft 8/11/05
[72] V. Probst, H. Schaber, A. Mitwalsky, and H. Kabza. “WSi2 and CoSi2 as
Diffusion Sources for ShallowJunction Formation in silicon,” J. Appl.
Phys., Vol. 70, No. 2, pp. 708719, July 1991.
[73] M. Y. Tsai, F. M. d’Heurle, C. S. Petersson, and R. W. Johnson. “Proper
ties of Tungsten Silicide Film on Polycrystalline Silicon,” J. Appl. Phys.,
Vol. 52, No. 8, pp. 53505355, Aug. 1981.
[74] G. Giroult, A. Nouailhat, and M. Gauneau. “Study of a WSi2/Polycrystal
line Silicon/Monocrystalline Silicon Structure for a Complementary Metal
OxideSemiconductor for a Compatible SelfAligned Bipolar Transistor
Emitter,” J. Appl. Phys., Vol. 67, No. 1, pp. 515523, Jan. 1990.
[75] P. Fornara and A. Poncet, “Modeling of Local Reduction in TiSi2 and
CoSi2 Growth Near Spacers in MOS Technologies: Influence of Mechani
cal Stress and Main Diffusing Species,” Proceedings of IEDM, pp. 7376,
1996.
[76] V. Moroz and T. Okada, “Modeling SelfAligned Silicidation in 2D and
3D: Growth Suppression by Oxygen Diffusion,” in Shallow Junctions and
Silicides, Mat. Res. Soc. Spring Meeting, San Francisco, 2000.
[77] L. Pelaz, G. H. Gilmer, M. Jaraiz, S. B. Herner, H.J. Gossmann, D. J.
Eaglesham, G. Hobler, C. S. Rafferty, and J. Barbolla, “Modeling of the Ion
Mass Effect on Transient Enhanced Diffusion: Deviation from the ‘+1’
Model,”, Appl. Phys. Lett., Vol. 73, No. 10, pp. 1421–1423, 7 Sep 1998.
[78] D. Chidambarrao and R. Young, private correspondence.
[79] S. Chakravarthi and S. T. Dunham, “Influence of Extended Defect Models
on Prediction of Boron Transient Enhanced Diffusion,” in Silicon Front
End Technology—Materials Processing and Modeling, N. Cowern, P. Grif
fin, D. Jacobsen, P. Packan, and R. Webb, Eds. (Mat. Res. Soc. Proc. Vol.
532, Pittsburgh, PA, 1998).
[80] G. Hobler and V. Moroz, “Simple Formuale for the Effective PlusFactor
for Transient Enhanced Diffusion,” to be published at ESSDERC 2000.
[81] T. L. Crandle, W. B. Grabowski, and M. R. Kump. “Empirically and Phys
ically Based Approaches to Ion Implant Modeling,” Proceedings of the
NASECODE VI Short Course on Software Tools for Process, Device and
Circuit Modeling, Dublin, Ireland, pp. 3244, 1989.
[82] A. F. Tasch, H. Shin, C. Park, J. Alvis, and S. Novak. “An Improved
Approach to Accurately Model Shallow B and BF2 Implants in Silicon,” J.
Electrochem. Soc., Vol. 136, No. 3, March 1989.
[83] S. Morris, V. Ghante, L. M. Lam, S.H. Yang, M. Morris, and A. F. Tasch,
“An Accurate and Computationally Efficient Model for Phosphorus
Implants into (100) SingleCrystal Silicon,” Proc. of the XIth International
Conference on Ion Implantation Technology, Austin, TX, June 1621, 1996.
References Model Descriptions
3192 TP 2005.06
Draft 8/11/05
[84] M. SimardNormandin and C. Slaby. “Empirical Modeling of Low Energy
Boron Implants in Silicon,” J. Electrochem. Soc., Vol. 132, No. 9, pp. 2218
2223, Sept. 1985.
[85] C. Park, K. Klein, A. Tasch, R. Simonton, and S. Novak. “Comprehensive
Modeling of Boron Ion Implantation for the ULSI Era,” Extended Abstract
Volume, TECHCON’90 (San Jose, CA), pp. 443446, 1990.
[86] J. F. Gibbons. Handbook on Semiconductors, Vol. 3, Chapter 10, edited by
T. S. Moss and S. P. Keller, Amsterdam: NorthHolland, 1980.
[87] W. K. Hofker. “Implantation of Boron in Silicon,” Philips Res. Reports,
Suppl. No. 8, pp. 1121, 1975.
[88] R. Tielert. “TwoDimensional Numerical Simulation of Impurity Redistri
bution in VLSI Processes,” IEEE Trans. Elec. Dev., Vol. ED27, No. 8, pp.
14791483, Aug. 1980.
[89] J.Amaratunga, K. Sabine, and A. G. R. Evans. “The Modeling of Ion
Implantation in a ThreeLayer Structure Using the Method of Dose Match
ing,” IEEE Trans. Elec. Dev., Vol. ED32, No. 9, pp. 18891890, Sept.
1985.
[90] Hobler, Bevk, and Agarwal, IEEE ED Lett., 1999, Vol. 20, No. 7, pp. 357
359
[91] Dubois et al, ESSDERC 2002: http://www.essderc2002.deis.unibo.it/
ESSDERC_web/TOC.htm.
[92] S. Furukawa, H. Matsumura, and H. Ishiwara. “Theoretical Considerations
on Lateral Spread of Implanted Ions,” Jap. J. Appl. Phys., Vol. 11, No. 2,
pp. 134142, Feb. 1972.
[93] G. Hobler and S. Selberherr. “TwoDimensional Modeling of Ion Implan
tation Induced Point Defects,” IEEE Trans. ComputerAided Design, Vol.
7, No. 2, pp. 174180, 1988.
[94] S. Tian, ‘‘Predictive Monte Carlo ion implantation simulator from subkeV
to above 10 MeV”, J. Appl. Phys., Vol. 93, No. 10, pp. 58935904, May 15,
2003
[95] B. J. Mulvaney, W. B. Richardson, and T. L. Crandle. “PEPPER—A Pro
cess Simulator for VLSI,” IEEE Trans. ComputerAided Design, Vol. 8,
No. 4, pp. 336349, 1989.
[96] H. Goldstein. Classical Mechanics, Reading, Massachusetts: Addison
Wesley, 1950.
[97] J. F. Ziegler, J. P. Biersack, and U. Littmark. The Stopping and Ranges of
Ions in Matter, Vol. 1, New York: Pergamon Press, 1985.
[98] M. T. Robinson and I. M. Torrens. “Computer Simulation of Atomic Dis
placement Cascades in Solids in the BinaryCollision Approximation,”
Phys. Rev., Vol. B9, p. 5008, 1974.
Model Descriptions References
TP 2005.06 3193
Draft 8/11/05
[99] S. Tian, S. J. Morris, B. Obradovic, M. F. Morris, G. Wang, G. Balamuru
gan, A. F. Tasch, C. Snell, UTMARLOWE, Version 4.0 (1997), The Univer
sity of Texas, Austin, Texas.
[100] J. P. Biersack and L. G. Haggmark. “A Monte Carlo Computer Program
for the Transport of Energetic Ions in Amorphous Targets,” Nucl. Instr. and
Meth., Vol. 174, p. 257, 1980.
[101] G. Hobler, A. Simionescu, L. Palmetshofer, C. Tian, and G. Stingeder.
“Boron channeling implantation in silicon: Modeling of electronic stopping
and damage accumulation”, J. Appl. Phys., Vol. 77, No. 8, pp. 36973703,
1995.
[102] G. Hobler and S. Selberherr. “Efficient TwoDimensional Simulation of
Ion Implantation,” Proceedings of NASECODE V, Trinity College, Dublin,
p. 225, 1987.
[103] J. Lindhard, M. Scharff, and H. E. Schiott. K. Dan Viedensk. Selsk. Mat.
Fys. Medd., Vol. 33, No. 1, 1963; J. Lindhard and M. Scharff, Phys. Rev.,
Vol. 124, p. 128, 1961.
[104] D. V. Morgan. Channeling, New York: Wiley, 1973.
[105] R. G. Wilson. “Ion Channeling in GaAs: Be, Mg, Zn, and Cd, and Calcu
lations of Electronic Stopping Powers,” J. Appl. Phys., Vol. 53, p. 5641,
1982.
[106] R. G. Wilson. “Random and Channeled Implantation Profiles and Range
Parameters for P and Al in Crystalline and Amorphized Si,” J. Appl. Phys.,
Vol. 59, p. 27972805, Oct. 1986.
[107] R. G. Wilson and V. R. Deline. “Ion Channeling in GaAs: Si, S, Se, and
Te,” Appl. Phys. Lett., Vol. 37, pp. 793796, 1980.
[108] Ion Beam Handbook for Material Analysis, New York: Academic, 1977.
[109] T. Saito, H.Yamakawa, S. Komiya, H. J. Kang, and R. Shimuzu.
“Dynamic Simulation of Ion Implantation with Damage Processes
Included,” Nucl. Instr. and Meth., Vol. B21, p. 456, 1987.
[110] T. L. Crandle, W. B. Richardson, and B. J. Mulvaney. “A Kinetic Model
for Anomalous Diffusion During PostImplant Annealing,” Intl. Elec. Dev.
Mtng., Tech. Digest, p. 636, 1988.
[111] W. P. Maszara and G. A. Rozgonyi. “Kinetics of Damage Production in
silicon During SelfImplantation,” J. Appl. Phys., Vol. 60, p. 2310, 1986.
[112] T. L. Crandle and B. J. Mulvaney. “An Ion Implantation Model Incorpo
rating Damage Calculations in Crystalline Targets,” IEEE Elec. Dev. Lett.,
Vol. 11, No. 1, 1990.
[113] G. Hobler, “Net point defect concentrations after ion implantation in sili
con,” Electrochemical Society Proceedings, Vol. 964, pp. 509521, 1996.
References Model Descriptions
3194 TP 2005.06
Draft 8/11/05
[114] S. K. Jones and A. Gerodolle. “2D Process Simulation of Dopant Diffu
sion in Polysilicon,” NASECODE VII Transactions, COMPEL, Vol. 10, No.
4, pp. 401410, 1991.
[115] A. Gerodolle and S. K. Jones. “Integration in the 2D MultiLayer Simula
tor TITAN of an Advanced Model for Dopant Diffusion in Polysilicon,” in
Simulation of Semiconductor Devices and Process, Vol. 4, pp. 381388,
edited by W. Fichtner and D. Aemmer, HartningGorre Verlag (Konstanz),
1991.
[116] S. K. Jones, A. Gerodolle, C. Lombardi, and M. Schafer. “Complete Bipo
lar Simulation Using STORM,” IEDM92, Tech. Digest, p. 931, 1992.
[117] A. G. O’Neill, C. Hill, J. King, and C. Please. “A New Model for The Dif
fusion of Arsenic in Polycrystalline Silicon,” J. Appl. Phys., Vol. 64, No. 1,
p. 167, 1988.
[118] M. M. Mandurah, K. C. Saraswat, R. W. Dutton, and T. I. Kamins.
“Dopant Segregation in Polysilicon,” J. Appl. Phys., Vol. 51, pp. 5755,
1981.
[119] L. Mei and R. W. Dutton. “A Process Simulation Model for Multilayer
Structures Involving Polycrystalline Silicon,” IEEE Trans. Elec. Dev., Vol.
ED29, No. 11, p. 1726, 1982.
[120] L. Mei, M. Rivier, Y. Kwark, and R. Dutton. “Grain Growth Mechanisms
in Polysilicon,” J. Electrochem. Soc., Vol. 129, No. 8, p. 1791, 1982.
[121] C. V. Thompson. “Secondary Grain Growth in Thin Films of Semicon
ductors: Theoretical Aspects,” J. Appl. Phys., Vol. 58, No. 2, p. 763, 1985.
[122] D. Gupth, D. R. Campbell, and P. S. Ho. Thin Films—Interdiffusion and
Reactions, New York: Wiley, p. 161, 1980.
[123] C. Hill and S. K. Jones. “Modelling Dopant Diffusion in and from Polysil
icon,” Mat. Res. Symp. Proc., No. 182, p. 129, 1990.
[124] S. Ajuria and R. Reif. “Early Stage Evolution Kinetics of the Polysilicon/
SingleCrystal silicon Interfacial Oxide Upon Annealing,” J. Appl. Phys.,
Vol. 69, No. 2, p. 662, 1991.
[125] J. D. Williams. “Epitaxial Alignment of Polycrystalline Silicon and its
Implications for Analogue Bipolar Circuits,” Doctoral dissertation, Univer
sity of Southampton, Faculty of Engineering and Applied Science, 1992.
[126] F. Benyaich, F. Priolo, E. Rimini, C. Spinella, and P. Ward. “Kinetic and
Structural Study of the Epitaxial Realignment of Polycrystalline Si Films,”
J. Appl. Phys., Vol. 71, No. 2, p. 638, 1992.
[127] E. A. Irene. “Residual Stress in Silicon Nitride Films,” J. Electronic Mat.,
Vol. 5, No. 3, p. 287, 1976.
[128] S. M. Hu. “FilmEdgeInduced Stress in Silicon Substrates,” Appl. Phys.
Lett., Vol. 32, p. 5, 1978.
Model Descriptions References
TP 2005.06 3195
Draft 8/11/05
[129] S. M. Sze. Physics of Semiconductor Devices, New York: WileyInter
science, pp. 2834, 1969.
[130] K. Yamaguchi. “FieldDependent Mobility Model for TwoDimensional
Numerical Analysis of MOSFET’s,” IEEE Trans. Electron Devices, Vol.
ED206, pp. 10681074, July 1979.
[131] K. Yamaguchi. “A Mobility Model for Carriers in the MOS Inversion
Layer,” IEEE Trans. Electron Devices, Vol. ED30, pp. 658663, June
1983.
[132] N. D. Arora, J. R. Hauser, and D. J. Roulston. “Electron and Hole Mobili
ties in Silicon as a Function of Concentration and Temperature,” IEEE
Trans. Electron Devices, Vol. ED29, pp. 292295, Feb. 1982.
[133] D. M. Caughey and R. E. Thomas. “Carrier Mobilities in Silicon Empiri
cally Related to Doping and Field,” Proc. IEEE, Vol. 55, pp. 21922193,
1967.
[134] M. J. van Dort, P. H. Woerlee, and A. J. Walker. “A Simple Model for
Quantization Effects in HeavilyDoped Silicon MOSFETs at Inversion
Conditions,” Solid State Electronics, Vol. 37, No. 3, pp. 411414, 1994.
[135] R. Y. S. Huang and R. W. Dutton. “Experimental Investigation and Mod
eling of the Role of Extended Defects During Thermal Oxidation,” J. Appl.
Phys., Vol. 74, No. 9, pp. 58215827, Nov. 1993.
[136] S. M. Hu. in Defects in Semiconductors, edited by J. Narayan and T. Y.
Tan, Amsterdam: NorthHolland, pp. 333354, 1981.
[137] H. Cerva and G. Hobler. “Comparison of Transmission Electron Micro
scope Cross Sections of Amorphous Regions in Ion Implanted Silicon with
PointDefect Density Calculations,” J. Electrochm. Soc., Vol. 139, No. 12,
pp. 36318, 1992.
[138] R. Rios, et al. “A Physical Compact MOSFET Model, Including Quantum
Mechanical Effects for Statistical Circuit Design Applications,” IEDM ´95
Tech. Digest, pp. 937940.
[139] K. B. Parab, S. H. Yang, S. J. Morris, S. Tian, M. Morris, B. Obradovich,
A. F. Tasch, D. Kamenitsa, R. Simonton, and C. Magee. “Detailed Analysis
and Computationally Efficient Modeling of UltraShallow Profiles
Obtained by Low Energy B, BF2, and As Ion Implantation,” MRS Fall
Meeting, Boston, 1995.
[140] S. M. Hu, “Thermal oxidation of silicon: Chemisorption and linear rate
constant,” J. Appl. Phys., Vol. 55, No. 11, pp. 40954105, 1984.
[141] J.J. Wortman et al., J. Appl. Phys., Vol. 36, No.1, pp. 153, 1965.
[142] K. Garikipati, V. S. Rao, M. Y. Hao, E. Ibok, I. de Wolf and R. W. Dut
ton, “Modeling and Validation of Contributions to Stress in the Shallow
Trench Isolation Process Sequence,” Comp. Model. Engrg. Sci., vol. 1, No.
1, pp 6584, 2000.
References Model Descriptions
3196 TP 2005.06
Draft 8/11/05
[143] V. Moroz, C. Dachs and A. Schoonveld, “Modeling Facet Formation for
NonPlanar Thermal Oxidation of Silicon,” ESSDERC 2001, pp443446,
2001.
[144] X. Xu, N. Strecker and V. Moroz, “Three Dimensional Modeling of
Anisotropic Stress Effects in Thermal Oxidation of Silicon,” MRS proceed
ing, 2002.
[145] M.Aziz Materials Science in Semiconductor Processing, Vol4, pp397
403, 2001
[146] N.E.B. Cowern, P.C. Zalm, P. vander Sluis, D.J. Gravesteijn and W.B. de
Boer, “Diffusion in Strained Si(Ge),” Physical Review Letters, Vol. 72, No.
16, pp25852588, 1999.
[147] R.F. Lever and J. M. Bonar, “Boron diffusion across siliconsilicon Ger
manium boundaries,” Journal of Applied Physics, Vol. 83, No. 4, pp1988
1994, 1998
[148] J. W. Slotboom, “The pn Product in Silicon,” SolidState Electronics, 20,
pp. 279283, 1977.
[149] S.C.Jain and D.J.Roulston, “A simple expression for bandgap narrowing
(BGN) in heavily doped Si,Ge,GaAs and Ge(x)Si(1x) strained layers”,
Solid State Electronics, 34, pp.453465, 1991
[150] C.Persson et al,"Band gap narrowing in ntype and ptype 3C, 2H, 4H,
6HSiC, and Si", Journal of Applied Physics,Vol.86, p.4419, 1999.
[151] J.L. Egley and D. Chidambarrao, “Strain Effects on Device Characteris
tics: Implementation in DriftDiffusion Simulators,” SolidState Electron
ics, 36(12), pp. 16531664, 1993.
[152] G.L. Bir and G. E. Pikus, Symmetry and StrainInduced Effects in Semi
conductors, Wiley, New York (1974).
[153] L. B. Rall, Automatic Differentiation, Springer Verlag, 1981.
[154] D. Wake, K. Lilja, and V. Moroz, “A Hybrid Mesh Generation Method
for Two and ThreeDimensional Simulation of Semiconductor Processes
and Devices”, 7th International Meshing Roundtable 98, Dearborn, Oct.
1998.
[155] K. Lilja, V. Moroz, and D. Wake, “A 3D Mesh Generation Method for the
Simulation of Semiconductor Processes and Devices”, Proc. MSM (Model
ing and Simulation of Micro Systems, Semiconductors, Sensors, and Actua
tors), Santa Clara, May 1998.
[156] V. Moroz, S. Motzny, and K. Lilja, “A Boundary Conforming Mesh Gen
eration Algorithm for Simulation of Devices with Complex Geometry”,
Proc. SISPAD’97, Cambridge, MA, September 1997.
[157] J.A.Meijerink, and H.A. van der Vorst, Guidelines for the usage of incom
plete decompositions in solving sets of linear equations as they occur in
practical problems. J. Comput. Phys. 44 (1981), pp. 134155
Model Descriptions References
TP 2005.06 3197
Draft 8/11/05
[158] Y.Saad and M.H.Schultz, GMRES: A generalized minimal residual algo
rithm for solving nonsymmetric linear systems, SIAM J.Sci. Statist. Com
put., 7 (1986), pp. 856869
[159] P.Sonneveld, CGS, A fast Lanczostype solver for nonsymmetric linear
systems, SIAM J. Sci. Statist. Comput., 10 (1989), pp. 3652
References Model Descriptions
3198 TP 2005.06
Draft 8/11/05
CHAPTER 4
TP 2005.10 41
Draft 8/11/05
Input Commands
4
This chapter covers the following topics:
• Command Syntax
• ActivateEquation
• Add
• Atom
• AutomaticGrid
• Brick
• CapCenter
• Center
• Circle
• Coarsen
• CombinedProfile
• Concat
• Contour
• Corner2D
• Couple
• Criterion
• CrossSection
• Cylinder
• DadosDomain
• Define
• DefineContact
• DefineDevice
• DefineRegion
• Delaunay
• Deposit
• Diffuse
• Direction
Input Command Descriptions
42 TP 2005.10
Draft 8/11/05
• Edge
• End
• Error
• Etch
• Expr
• Extract
• ExtraNormalVector
• ForEach
• Gauss
• Geometric
• Hole
• If
• Implant
• ImpliedMasks
• InABox
• Include
• Initialize
• Into
• Iterate
• Layer
• Line
• Linear
• Location
• Manifold
• MaskEdge
• MaskPolygon
• Materials
• Matrix
• MinMax
• Molecule
• Moments
• Normal
• Numeric
• Numerics
• Offset
• Only
• Onto
• Physics
Input Command Descriptions
TP 2005.10 43
Draft 8/11/05
• Point
• Points
• Polygon
• Polyhedron
• Predeposit
• PrimaryFlatDirection
• Print
• Profile
• RedefineDevice
• RedefineRegion
• Refinements
• ReflectMesh
• Regions
• Regrid
• RemoveContact
• RemoveField
• Save
• Save1D
• ScanThinLayers
• Select
• Shell
• Shift
• SimulationAxisX
• SimulationOrigin
• Skip
• Sphere
• Start
• StartPoint
• Stop
• TaurusProcess
• Template
• Uniform
• Verbosity
• VIF
• VIL
• VIP
• What
• Where
Command Syntax Input Command Descriptions
44 TP 2005.10
Draft 8/11/05
• While
• XGrid
Command Syntax
Each Taurus Process command has the following format:
Command(<parameters>){<objects>}
Commands may stretch along several lines in an input file. A command is closed
and executed once the matching closing parenthesis is read. Each Taurus Process
command consists of:
• A command name.
• A list of parameters enclosed in parentheses:
Cmd(Param1=value1 Param2=value2 ..)
Parameters must be separated by white space. The comma character and the
line break are treated as white space. The use of comma is deprecated. For
some commands, the parameter list may be empty. In this case an empty pair
of opening and closing parentheses is optional.
Commands can contain both parameters and subcommands, for example:
Cmd(Param=value .. SubCmd(<params>) ..)
This allows complex commands to be defined in terms of simpler, “lower
level” commands.
• Although rarely needed, some commands may use an object or a list of
objects. Objects need to be enclosed in curly brackets { }. Several objects
need to be separated by white space:
Cmd(...){Object1 Object2 ..}.
The comma character and newline between objects are treated as white space.
The use of comma is deprecated. If the command does not contain any
objects, the empty pair of opening and closing curly brackets is optional, but
should be omitted.
Most Taurus Process commands do not require objects. Objects may be added
occasionally, e.g., in a Diffuse command.
When assigning a value to a parameter, the value may be of type integer, string,
boolean, or float. The corresponding input formats are:
• Param=<integer>
• Param=<string> or Param=”<string>”
Enclosing the string value in quotes is optional unless the string does not start
with a letter or contains special characters such as white space, parentheses,
curly brackets or operator characters, etc.
• Param=true or Param=false
Input Command Descriptions Command Syntax
TP 2005.10 45
Draft 8/11/05
The explicit assignment to true is optional. Typing Param by itself is
equivalent to typing Param=true.
• Param=<float>
Float values can be specified by a floating point number. For some quantities the
value may be specified as a floating point number that is immediately followed by
a unit string. If the unit string is omitted, the input is interpreted in the default unit
of the appropriate physical quantity. Only a few physical quantities can be
specified with a unit. If no unit string is listed in Table 41, there is no applicable
unit known in the input parser. The values need to be specified as pure float
numbers using the internal unit of Taurus Process. The internal units are indicated
in this manual where appropriate. They also can be found in the comments inside
of the physics_data file that comes with the installation.
Note:
The default units of time and temperature had been changed in the
2003.12 release compared to earlier releases of Taurus Process &
Device.
• White space or line breaks may be added anywhere between parameters or
objects. For a parametervalue assignment, white space may be used to sepa
rate the parameter name, the equal sign and the value. If a physical quantity is
specified with unit, white space is not allowed between the value, and the unit
string.
• Quantities with unit string must not be used in expressions. Such quantities
can be specified in Define commands. The value of the variable is con
verted into the default unit and used in any evaluation of expressions.
• The input language is not case sensitive. Except for file names and the names
of mask layers, all input is converted to lowercase before it is interpreted.
• Taurus Process provides no name completion, and hence no abbreviations are
allowed.
• The # character turns the rest of an input line into a comment that is ignored
by the program.
Table 41 Units supported in Taurus Process
Quantity Supported Units Default Unit
Concentration cm3
Dose cm2
Length um A nm cm um (µm)
Temperature C K C
Time min s h min
ImplantEnergy keV MeV keV. Activation energies
must be specified with no
unit.
Velocity cm/s um/min cm/s
Stress MPa Pa dyn/cm2 MPa
Command Syntax Input Command Descriptions
46 TP 2005.10
Draft 8/11/05
The input command descriptions in this chapter indicate the appropriate type in an
assignment of a value to a parameter by using one of the forma
Param=<integer>, Param=<string>, Param=<boolean>, or
Param=<float>. The < and > enclose variable information that you must
replace with specific text. Do not type < and > when entering your text. For
quantities that can be specified with a unit, Param=<float> is used.
Including a File
Input files may be nested. A file named filename is included by using the
Include command:
Include(“<filename>”)
An Include command may only be used as a “toplevel” command, i.e., an
Include command may not be issued inside other commands. An included file
must contain entire Taurus Process commands and must not contain only
parameter definitions.
Include files are searched as specified. If a relative path is specified, or no path is
specified, the file is searched, starting in the current working directory. If the file
is not found at the specified location, the value of the PHYSICS_DATA
environment variable is checked and prepended to the specified name. If the file
still cannot be found, an error is signaled. By default, the PHYSICS_DATA
variable points to the appropriate directory of the installation.
Variables
Variables may be defined in Taurus Process using the Define command or using
the Extract command. Variable names are not case sensitive.
Use the Define command to define a symbolic name for later use in other
commands and in expressions. E.g.,
Define(oxide_thickness=5nm)
Variable names should always start with a letter. The name should not contain any
special characters (no white space, commas, operator signs, parentheses, or
brackets).
The value assigned to a variable may be specified as an expression. The
expression must not use variables that are defined in the same Define command.
The expression must not use variables that have been specified with unit.
The Extract command allows the definition of variables which values are
computed based on the current state of the simulation (see Extract, p. 484).
After a variable has been defined, it may be used to assign the value to a
parameter. The variable is referred to using a $ character as prefix before the
name (like a UNIX shell variable) or it can be used in an expression:
Deposit(
Input Command Descriptions Command Syntax
TP 2005.10 47
Draft 8/11/05
Material=oxide
Thickness=$oxide_thickness
)
No white space, parentheses, or brackets are allowed between the $ prefix and the
variable name. No operators are allowed before the $; just a plain assignment of
the value is allowed.
Printing a
Variable or
Expression into
an Extract File
To print the value of a variable or expression into an extract file, use the Print
command. See Print, p. 4153.
Print(
Name=<string>
Value=<expression>
ExtractFile=<string>
Append=<boolean>
)
Expressions
An expression can be used like a value using the keyword, expr, followed by the
expression in parentheses. For example:
Define( now=12.01 hours=3.72)
Diffuse(... Time=expr($now + $hours / 24))
Variables used in expressions must have a preceding $ character. Values specified
in expressions must not contain units. All standard arithmetic operators are sup
ported, as well as % (modulo) and ^ (power). A number of standard functions are
also supported, such as: sin, cos, tan, asin, acos, atan, sinh, cosh,
tanh, exp, log, log10, sqrt, abs, ceil, and floor. All operations
assume floatingpoint operands. Operator precedence is the same as in C, except
that ^ is rightassociative (in C this is the exclusiveor operator). For example:
Define(
a=2
)
Define(
b=expr(2*sin($a))
)
Define(
c=expr($b^2*sqrt(2))
)
White space between the elements of an expression is optional.
String Concatenation
A list of values can be joined and used as one string value using the keyword
concat, followed by the list of values separated by commas in parentheses. This
allows the construction of string values such as file names from variables and
other string elements.
Command Syntax Input Command Descriptions
48 TP 2005.10
Draft 8/11/05
For example:
Define(a=3)
Save(MeshFile=concat(1, ”two”, $a, ”.pdm”))
assigns the string 1two3.pdm to the MeshFile parameter.
Quoted strings are taken literally. They may contain special characters, e.g., white
space.
Logical Operators
The following logical operators can be used to construct conditionals used in the
If, ElseIf, and While commands:
The == and != operators may be used to perform case insensitive string
comparison. All other operators are restricted to numeric operands.
Repeating Commands by Defining a Loop
The foreach keyword causes a block of statements to be processed repeatedly.
A loop variable is specified along with a list of values which will be assigned to
the variable, one at a time, for each pass through the loop. For example:
foreach foo ( 1 2 3 )
{
Cmd(Param1=$foo Param2=expr(2*$foo))
}
Use the While command to specify a block of commands to be executed
repeatedly as long as a specified condition is true. For example:
define(a=0)
while ($a<5)
{
define(a=expr($a+1))
...
}
operator Description Type
! unary not logical
<
<=
>
>=
less than
less than or equal
greater than
greater than or equal to
relational
==
!=
equal to
not equal to
relational
&& logical and logical
 logical or logical
Input Command Descriptions Command Syntax
TP 2005.10 49
Draft 8/11/05
Note:
An infinte loop will result if the condition specified for a while loop
never becomes false.
Conditional Statements
Use the If, ElseIf, and Else statements to conditionally execute commands.
Each If command can be followed by zero or more ElseIf statements followed
by zero or more Else Statements.
If (condition1)
{
# Commands to execute if condition1 is true.
...
}
ElseIf (condition2)
{
# Commands to execute if condition2 is true.
...
}
Else
{
# Commands to execute if neither condition1
# nor condition2 are true.
...
}
Order of Commands in Input File
The commands are processed in the order they appear in the input file. A device, a
region, a contact, an equation, or a field must be defined before it can be used. The
TaurusProcess command should appear as the first command in the input file
to unambiguously identify that the file contains input for Taurus Process.
All Taurus Process commands define or change some object or property for a
“device”. This requires using the DefineDevice command before the
DefineRegion, Regrid, and Refinements commands, and before any of
the process commands, i.e., Implant, Diffuse, Etch, or Deposit.
A few commands are used to control the simulation flow or the output or are
related to the definition of new equations for PMEI. Such commands may occur
before a DefineDevice command.
Leaving TaurusProcess
A simulation is finished when no more command lines are found in the input file.
A simulation can be terminated at any position in an input file by using the Stop
command. Interactive runs of Taurus Process require the Stop command to
terminate.
Command Syntax Input Command Descriptions
410 TP 2005.10
Draft 8/11/05
A simulation stops with an error message and a nonzero error return value if
Taurus Process encounters a fatal error in an algorithm, in the user input, or when
reading data files or writing result files.
Input Command Descriptions
The input command descriptions in this chapter describe the toplevel Taurus
Process commands as well as subcommands. Subcommands are always nested
inside higher level commands. For example, the Point subcommand is typically
nested within a command that defines geometry. Commands and subcommands
are presented in strict alphabetical order.
Input Command Descriptions ActivateEquation
TP 2005.10 411
Draft 8/11/05
ActivateEquation
Use the ActivateEquation command to activate an equation in a particular
region. All equations are defined in all regions. Only active equations are solved.
By default, equations are automatically activated in the appropriate materials. The
ActivateEquation command can be used to change this default setting. If
neither Region nor Material are specified, the equation is activated or de
activated for all regions.
ActivateEquation(
Name=<string>
Material=<string>
Region=<string>
Active=<boolean>
Device=<string>)
Parameter Description
Active=<boolean> True: activate, False: deactivate the equation.
default: true
Device=<string> Name of the device in which to activate the equation.
Default: the device defined in the simulation.
Material=<string> The name of the material in which to activate/deactivate the
equation.
Name=<string> Name of an equation. (See Databases, Chapter B, Equation
Database, p. B91 for a list of built in equations).
Region=<string> The name of the region in which to activate/deactivate the equa
tion.
Add Input Command Descriptions
412 TP 2005.10
Draft 8/11/05
Add
Subcommand of DefineDevice, Numeric, and Save.
Use the Add command to add field names to the list of fields that are processed by
the parent command.
Add(
Name=<string>
All
)
Parameter Description
All=<boolean> Adds all fields currently present in the simulation
Default: false.
Name=<string> Specifies the name of a field to be added. This parameter may
be repeated as many times as necessary to add multiple fields.
Input Command Descriptions Atom
TP 2005.10 413
Draft 8/11/05
Atom
Subcommand of Molecule in the Implant command. Used only for the Monte
Carlo implantation model.
Use the Atom command to specify the atoms that make up a molecule.
Atom(
Name=<string>
Z=<integer>
M=<float>
Num=<integer> # default:1
Profile=<boolean> # default:true
)
Name selects an atom known to TaurusProcess, such as boron, fluorine, etc. By
default, Name is the name of the implanted species. Z and M are atomic number
and atomic mass, respectively. If the Name of the atom is known to Taurus
Process, i.e., the atom is one of the builtin species boron, fluorine, arsenic,
phosphorus, germanium, indium, antimony, etc., the default values of Z and M will
be retrieved from the physics_data file. If Z or M are specified, the specified
values will overwrite the values retrieved from physics_data. Num is the number
of atoms of this kind in the molecule. By default, Num=1. Profile specifies
whether the concentration of this atom should be accumulated in the simulation.
Profile can be true only if the Name is known in TaurusProcess. If the atom is
unknown, Z and M must be specified, and Profile must be set to false.
Parameter Description
M=<float> Specifies the mass of the atom.
Name=<string> Specifies the name of the atom.
Num=<integer> Specifies the number of this type of atoms in the molecule.
Default: 1
Profile=<boolean> Specifies whether the concentration of this atom should be
accumulated in the simulation. Must be set to false if the atom
is unknown to Taurus Process.
Default: false.
Z=<integer> Specifies the atomic number of the atom.
AutomaticGrid Input Command Descriptions
414 TP 2005.10
Draft 8/11/05
AutomaticGrid
Subcommand of DefineDevice and RedefineDevice.
Use the AutomaticGrid command to control the generation of mesh lines
using masks from a layout file, points from a loaded tree, important points of a
loaded TDF or TIF file, and from points prescanned in the input file.
AutomaticGrid(
Grid=<string>
NX=<integer> NY=<integer> NZ=<integer>
SkipPrescannedX=<boolean>
SkipPrescannedY=<boolean>
SkipPrescannedZ=<boolean>
SkipRootX=<boolean>
SkipRootY=<boolean>
SkipRootZ=<boolean>
SkipTl2X=<boolean>
SkipTl2Z=<boolean>
SkipVipX=<boolean>
SkipVipY=<boolean>
SkipVipZ=<boolean>
dx=<float> dx0=<float> dx1=<float>
dxMax=<float> dxMin=<float> x=<float>
xFactor=<float> xSide=<integer> nx=<integer>
)
The AutomaticGrid command accepts all parameters that can be used to
construct a graded mesh: NX, DX, DX0, DX1, dXMax, dXMin, x, xFactor,
xSide, and similar for the y and zdirections.
The coordinates from all sources are sorted and a graded mesh is constructed in
between consecutive coordinates.
Parameter Description
DX=<float> Used for graded mesh specification. Only one value of DX can be
used in the automatic grid. See DefineDevice, p. 442.
DX0=<float> Used for graded mesh specification. Only one value of DX0 can be
used in the automatic grid.See DefineDevice, p. 442.
DX1=<float> Used for graded mesh specification. Only one value of DX1 can be
used in the automatic grid.See DefineDevice, p. 442.
dXMax=<float> Used for graded mesh specification. Only one value of dXMax can
be used in the automatic grid.See DefineDevice, p. 442.
dXMin=<float> Used for graded mesh specification. Only one value of dXMin can
be used in the automatic grid.See DefineDevice, p. 442.
Grid=<string> Selects masks from the layout file. May be repeated to select mul
tiple mask layers. The values “none” and “all” may be used to
specify that no masks or all masks should be used in automatic
grid construction.
Input Command Descriptions AutomaticGrid
TP 2005.10 415
Draft 8/11/05
NX=<integer> Used for graded mesh specification. Only one value of NX can be
used in the automatic grid. See DefineDevice, p. 442.
SkipPrescannedX
=<boolean>
SkipPrescannedY
=<boolean>
SkipPrescannedZ
=<boolean>
Specifies that coordinates from the list of points prescanned from
the input file should be not be used in the initial grid.
Default: false
SkipRootX=<boolean>
SkipRootY=<boolean>
SkipRootZ=<boolean>
Specifies that coordinates from the root elements read from a tree
file should be not be used in the initial grid.
Default: false
SkipTl2X=<boolean>
SkipTl2Z=<boolean>
Specifies that coordinates from a TL2 file should be not be used in
the initial grid.
Default: false
SkipVIPX=<boolean>
SkipVIPY=<boolean>
SkipVIPZ=<boolean>
Specifies that coordinates of VIPs detected in geometries read
from TIF or TDF files should not be used in the initial grid.
Default: false
X=<float> Used for graded mesh specification. See DefineDevice, p. 442.
XFactor=<float> Used for graded mesh specification. Only one value of XFactor
can be used in the automatic grid. See DefineDevice, p. 442.
XSide=<float> Used for graded mesh specification. Only one value of XSide can
be used in the automatic grid. See DefineDevice, p. 442.
Parameter Description
Brick Input Command Descriptions
416 TP 2005.10
Draft 8/11/05
Brick
Subcommand used in multiple contexts including DefineRegion, Deposit, Etch,
Hole, InABox, etc.
The Brick command defines a brick that is aligned with the coordinate axes of
the layout coordinate system, and is described by two opposite corners. A Brick
command may contain a Hole command.
Brick(
Point(x=<float> y=<float> z=<float>)
Point(x=<float> y=<float> z=<float>)
Hole(...)
)
Parameter Description
Hole Specifies an exclusion set or hole. See Hole, p. 497.
Point Specfies the corners of the brick. Specify any two opposite corners
(i.e., the endpoints of any body diagonal). See Point, p. 4147.
Input Command Descriptions CapCenter
TP 2005.10 417
Draft 8/11/05
CapCenter
Subcommand of Cylinder.
CapCenter(
x=<float>
y=<float>
z=<float>
)
Use the CapCenter command to specify the coordinates of the center of the
second EndCap of a cylinder given by only one circle.
Parameter Description
X=<float> Xcoordinate of the center.
Y=<float> Ycoordinate of the center.
Z=<float> Zcoordinate of the center.
Center Input Command Descriptions
418 TP 2005.10
Draft 8/11/05
Center
Subcommand of Circle and Sphere.
Center(
x=<float>
y=<float>
z=<float>
)
Use the Center command to specify the coordinates of the center of a circle or
sphere geometry primitive.
Parameter Description
X=<float> Xcoordinate of the center.
Y=<float> Ycoordinate of the center.
Z=<float> Zcoordinate of the center.
Input Command Descriptions Circle
TP 2005.10 419
Draft 8/11/05
Circle
Subcommand used in multiple contexts including DefineRegion, Deposit, Etch,
Hole, InABox, MaskPolygon etc.
A Circle command defines either a “true circle” or a “discretized circle”. In a
3D simulation a circle defines the cylinder formed by extruding to in the
direction of the normal. In 2D and 1D a circle is the corresponding cross section
of the extruded cylinder. A Circle command may contain a Hole command.
A “true circle” is specified by a Radius, and Center and a Normal vector:
Circle(
Radius=<float>
Center(x=<float> y=<float> z=<float>)
Normal(x=<<float> y=<float> z=<float>)
Hole(...)
)
The Radius and Center parameters are required. Normal is optional. Its
default value depends on the context. For geometry specifications (InABox,
Deposit, DefineRegion) it defaults to the +zaxis. For MaskPolygon it
defaults to +y. Any coordinate values left unspecified in the Normal or Center
are set to zero.
A “discretized circle” is defined by a Center, and a StartPoint on the circle
perimeter, the number of edges NEdges, and a Normal vector. A polygon
aprroximation of the circle is constructed with the appropriate number and
position of points:
Circle(
Center(x=<float> y=<float> z=<float>)
Normal(x=<float> y=<float> z=<float>)
StartPoint(x=<float> y=<float> z=<float>)
NEdges=<integer>
Hole(...)
)
The Center and StartPoint parameters are required. Normal is optional.
NEdges is optional and defaults to 12. Any coordinate values left unspecified in
the Normal, Center, or StartPoint are set to zero. The vector from the
center to the start point must be perpendicular to the normal vector. If it is not
perpendicular, the start point is moved and a warning is issued.
∞
+
−
Parameter Description
Center Specifies the center of the circle. See Center, p. 418.
Hole Specifies an exclusion set or hole. See Hole, p. 497.
NEdges=<integer> The number of edges of the polygon approximation for a dis
cretized circle.
Default: 12
Normal Specfies the a vector normal to the plane of the circle. See
Normal, p. 4128
Circle Input Command Descriptions
420 TP 2005.10
Draft 8/11/05
Radius=<float> Specfies the radius of a true circle.
StartPoint Specifies one point on the polygon approximation for a dis
cretized circle. See StartPoint, p. 4191
Parameter Description
Input Command Descriptions Coarsen
TP 2005.10 421
Draft 8/11/05
Coarsen
Subcommand of Contour, CrossSection, Numeric, and Template.
Use the Coarsen command to reduce the number of points in a contour or cross
section by removing points that are nearly colinear.
Coarsen(
Epsilon=<float>
MinX=<float> MaxX=<float>
MinY=<float> MaxY=<float>
MinZ=<float> MaxZ=<float>
)
A point P
i
is considered colinear if it is within Epsilon of the line connecting
the points P
i1
and
P
i+1
. The coarsening may be restricted to a box. Several
Coarsen statements may be specified to provide different resolution e.g., at the
critical parts. A value of 1.e6um is recommended to restrict coarsening to
effectively colinear points.
Parameter Description
Epsilon=<float> Tolerance used to determine if points are colinear. A point P
i
is considered colinear if it is within Epsilon of the line con
necting the points P
i1
and
P
i+1
.
MaxX=<float>
MaxY=<float>
MaxZ=<float>
MinX=<float>
MinY=<float>
MinZ=<float>
Maximum or minimum coordinate where coarsening occurs.
CombinedProfile Input Command Descriptions
422 TP 2005.10
Draft 8/11/05
CombinedProfile
Subcommand of Profile.
Defines a profile composed of a constant, rational, and gaussian function.
CombinedProfile(
PeakValue=<float>
DepthValue=<float>
Depth=<float>
Sigma=<float>
LateralErfc=<boolean>
LateralRatio=<float>
Lateral=<float>
Edge(...)
Polygon(...)
MaskLayer=<string>
yOfMask=<float>
)
• The roll off of the Gaussian profile can be set either using Depth and
DepthValue or directly with Sigma (in µm).
• If ExponentGauss is specified, DepthGauss must be smaller than
DepthRational.
• LateralRatio is ignored when Lateral is used to set the lateral decay
length directly.
• Edge, MaskLayer and Polygon can be specified several times. The max
imum of the resulting profiles is used.
• If ExponentGauss or ExponentRational are not specified the Gaussian or
rational functions (repsectively) will not contribute to the profile.
Parameter Description
Depth=<float> Specifies the depth at which the profile has the value given by
DepthValue.
DepthGauss=<float> Specifies the depth (in µm) at which to switch from constant to
Gaussian function.
DepthRational=<float> Specifies the depth (in µm) at which to switch to the rational
function.
DepthValue=<float> Specifies the value of the profile at a distance Depth (in µm)
away from the peak.
Edge Defines the position of the CombinedProfile in the simu
lation domain. Points in the simulation mesh are projected
orthogonally to the line defined by the edge. The normal dis
tance from the line is used to evaluate the CombinedPro
file. The signed lateral distance of the projection from the
edge (negative inside, zero at the end points and positive if the
projection is outside of the edge) is used to evaluate a lateral
decay. See Edge, p. 472.
Input Command Descriptions CombinedProfile
TP 2005.10 423
Draft 8/11/05
ExponentGauss=<float> Specifies the exponent of the Gaussian function. If not speci
fied the Gaussian function will not contribute to the profile.
ExponentRational
=<float>
Specifies the exponent of the rational function. If not specified
the rational function will not contribute to the profile.
Lateral=<float> Specifies the lateral decay length of the Gaussian function
directly.
LateralErfc=<boolean> For LateralErfc=True, a complementary error function
is applied as lateral decay of the combined profile. If Lat
eralErfc=false the full combined profile is applied
“inside” and “on” the lateral boundary of the specified Edge,
MaskLayer or Polygon. Outside a Gaussian decay is
assumed.
Default: false
LateralRatio=<float> Defines the ratio of the lateral decay length to the “vertical”
decay length of the Gauss function. Use the parameter Lat
eral to prescribe the lateral decay length directly (in µm). In
this case LateralRatio is ignored.
MaskLayer=<string> Specifies the name of a mask in the TL2 MaskFile which
must be specified in the DefineDevice command. The
polygons from the MaskLayer are converted into Poly
gon’s using the two coordinates in the MaskFile for x and z
and using y=yOfMask.
PeakValue=<float> Specifies the maximum of the profile, i.e., the level of the con
stant part. It is assumed in the vicinity of the specified Edge,
Polygon or MaskLayer.
Polygon Defines the position of the CombinedProfile in the simu
lation domain. Points in the simulation mesh are projected
orthogonally into the plane defined by the polygon. The nor
mal distance from that plane is used to evaluate the Com
binedProfile. The signed lateral distance from the
projection to the polygon (negative inside, zero at the end
points and positive if the projection is outside of the polygon)
is used to evaluate the lateral decay.
Sigma=<float> Specifies the sigma for the Gaussian function.
yOfMask=<float> Specifes the ycoordinate for MaskLayers.
Parameter Description
Concat Input Command Descriptions
424 TP 2005.10
Draft 8/11/05
Concat
The Concat command can only be used as a righthand side of a parameter
assignment. The Concat command takes the list of string values given as
arguments and concatenates them into one string. The arguments must be
separated by commas.
Concat allows the construction of string values such as file names from
variables and other string elements. For example:
Define(a=3)
Save(MeshFile=concat(1, ”two”, $a, ”.pdm”))
assigns the string 1two3.pdm to the MeshFile parameter.
Quoted strings are taken literally. They may contain special characters, e.g., white
space or comma.
Input Command Descriptions Contour
TP 2005.10 425
Draft 8/11/05
Contour
Subcommand of Contour, Numeric, and Template.
Use the Contour command to define a piecewise linear “curve.” The points on a
contour are not necessarily coplanar. A contour in the layoutXlayoutZ plane may
be open or closed. A contour in the YlayoutZ plane must be open.
A contour may be defined by
• A sequence of points
• A discretized circle
• A material interface extracted from a 2D simulation result.
For a Contour specified as a sequence of points:
Contour(
Point(x=<float> Y=<float> Z=<float>) ...
Radius=<float>
Coarsen(...)
)
Note:
A closed Contour requires the first and last points to coincide.
For a Contour defined by a discretized circle:
Contour(
Circle(
Center(...) StartPoint(...) Normal(...)
NEdges=<integer>
)
)
For a Contour extracted from a 2D simulation result.
Contour(
File=<string>
Region=<string>
Expand=<string>
MaxX=<float> MinX=<float>
MakeZero=<float>
Coarsen(...)
Delete=<boolean>
)
Contour Input Command Descriptions
426 TP 2005.10
Draft 8/11/05
Parameter Description
Circle Only the discretized form of the Circle command is
allowed. See Circle, p. 419.
Coarsen Reduces the number of points on a contour by removing points
that are nearly colinear. See Coarsen, p. 421.
Delete=<boolean> Controls if the device created when loading a File is kept in
memory after extracting the Contour.
Expand=<string> One of All, Lateral, LateralBegin, LateralEnd,
Vertical, VerticalBegin, VerticalEnd. The
extracted 2D “top” surface (an open polygon) may be
expanded at the lateral sides. The expansion is done by adding
segments that reach far outside of any useful device dimension
in either lateral or vertical directions. No expansion of an
extracted contour is done by default.
File=<string> The name of a 2D TDF or TIF file from which contour data is
extracted.
MakeZero=<float> Defines the lateral position (xcoordinate) of a point in the 2D
TDF or TIF file. The vertical position (ycoordinate) of the
“top” surface of the selected regions at this point is deter
mined, and the extracted contour is shifted such that the verti
cal coordinate of this point becomes zero. By default, no
vertical alignment is made. Specifies coordinates in the loaded
file, not in the current simulation domain.
MaxX=<float>
MinX=<float>
Maximum/Minimum xcoordinate that will be used to when
extracting a contour from a file. No restriction is applied by
default. Specifies coordinates in the loaded file, not in the cur
rent simulation domain.
Point Specifies a point on the contour. See Point, p. 4147.
Radius=<float> For contours specified by a sequence of points. Replace sharp
corners with a circular arc of the given radius when the dis
tance between consecutive points is long enough.
Region=<string> One or several Region names from the file can be selected.
The Contour is formed as the “top surface” of the union of
the specified regions. Region must the name of a region in
the specified file, not a region name inthe current simulation.
Input Command Descriptions Corner2D
TP 2005.10 427
Draft 8/11/05
Corner2D
Subcommand of VIF.
The Corner2D command is used within the context of the top level VIF com
mand.
The Corner2D command specifies parameters that control sharp corner detec
tion along piecewise linear paths, e.g., boundary interfaces in 2D simulations and
edge chains in VIL definitions in 3D. The available parameters are:
Corner2D(
Angle=<float>
Arclength=<float>
)
Details for Angle and ArcLength are discussed under Chapter 2, Sharp Corner
Detection, p. 256.
You can specify the VIF(Corner2D(..)) command not only as a toplevel
command, but also under the DefineDevice command. Specify the
Corner2D parameters under DefineDevice to customize these parameters
before loading a 2D MeshFile.
Parameter Description
Angle=<float> The Angle parameter is specified in degrees and is 30 deg by
default.
ArcLength=<float> Arclength is 20 nm by default.
Couple Input Command Descriptions
428 TP 2005.10
Draft 8/11/05
Couple
A Couple object is used as an object of an Iterate object (see Iterate, p. 4
112). If only one equation needs to be solved, the Couple may be used as the
object of the Diffuse command. Couple objects are used to define a nonstandard
solver strategy. All equations, specified in one Couple object are treated together
as one nonlinear problem, one matrix is computed and the derivatives with respect
to all “coupled” variables are used in the solution. An outer iteration process
through all the Couple objects must be defined using an Iterate object, even
of only one “iteration” is made.
When a Couple object is specified, all equations that need to be solved,
including both built in and PMEI equations must be listed in the iteration.
Note:
Global Newton loop convergence criteria can be set in the Numerics
command. They apply to all Diffuse commands that do not specify
their own local criteria. Individual criteria for each equation can be set
by using a Couple command for each equation. Each Error parame
ter overrides previous or global settings.
Parameter Description
Absolute=<float> See Numerics, p. 4134
AddNewtonResid=<float> See Numerics, p. 4134
CalcResidual=<boolean> See Numerics, p. 4134
CheckResidual=<boolean> See Numerics, p. 4134
ContinueIteration=<float> See Numerics, p. 4134
Damping=<float> See Numerics, p. 4134
DampingDenominator=<float> See Numerics, p. 4134
DampingExponent=<float> See Numerics, p. 4134
DiagonalDamping=<float> See Numerics, p. 4134
Error See Numerics, p. 4134
Iterations=<integer> Maximum number of iterations
Default: 12
ItResid=<float> See Numerics, p. 4134
kFill=<integer> See Numerics, p. 4134
LinearSolver=<string> See Numerics, p. 4134
LinScale=<integer> See Numerics, p. 4134
MaxBackVector=<integer> See Numerics, p. 4134
MaxDivergenceCount=<integer> See Numerics, p. 4134
MaxiIter=<integer> See Numerics, p. 4134
NewtonResid=<boolean> See Numerics, p. 4134
Relative=<float> See Numerics, p. 4134
Input Command Descriptions Couple
TP 2005.10 429
Draft 8/11/05
Residual=<float> See Numerics, p. 4134
ScaleNegative=<integer> See Numerics, p. 4134
StoreError=<integer> See Numerics, p. 4134
StoreIterated=<integer> See Numerics, p. 4134
StpreResidual=<integer> See Numerics, p. 4134
StoreUpdate=<integer> See Numerics, p. 4134
Verbosity=<string> See Numerics, p. 4134
Parameter Description
Object Description
Equation See Appendix B, Equation Database, p. B91 for a list of known
equation names. Use the PMEI to define additional equations.
Couple A couple object may contain another couple object as an object.
Criterion Input Command Descriptions
430 TP 2005.10
Draft 8/11/05
Criterion
Subcommand of Regrid.
Each Criterion selects one or several fields to be checked during the edge
splitting. Only Edges that are long enough and fulfill the criterion will be split.
Several Criterion commands may be specified in one Regrid command.
Criterion(
Name=<string>
Region=<string>
Material=<string>
AllInterfaces=<boolean>
Type=<string>
Delta=<float>
MeshSpacing=<float>
MeshSpacingX=<float>
MeshSpacingY=<float>
MeshSpacingZ=<float>
MinimumValue=<float>
MaximumValue=<float>
)
• The fields of a Criterion are selected by either Name, Region, Mate
rial or AllInterfaces. AllInterfaces is the default.
• A criterion is ignored unless the specified field is present in the simulation.
• The refinements “at” material interfaces (Region, Material, AllInterfaces or
the name of a level set function) is done either by evaluating a condition on
the corresponding level set functions (a value for Delta is specified in the
criterion) or by evaluating the set of regions the mesh points are assigned to
(no value for Delta is specified in the criterion). In the latter case, the refine
ment may be finetuned by specifying the neighboring regions or materials at
which interfaces the mesh shall be refined.
Parameter Description
AllInterfaces=<boolean> Refinement at all interfaces of all regions.
Only one of the parameters Name, Region, Material or
AllInterfaces can be specified.
AtMaterial=<string> Restrict refinement at interfaces to certain neighboring mate
rial. Can be specified several times. Is ignored if Delta is
specified.
AtRegion=<string> Restrict refinement at interfaces to certain neighboring region.
Can be specified several times. Is ignored if Delta is speci
fied.
Input Command Descriptions Criterion
TP 2005.10 431
Draft 8/11/05
Delta=<float> The maximum change along an edge. The interpretation
depends on the chosen Type.
If the criterion defines the refinement to be done “at” the
interface, and if Delta is not specified, the refinement does
not check the level set functions but instead is based on the
regions to which the mesh points are assigned.
Material=<string> Refinement at the interfaces of all regions of the selected
material. The material name is translated into the set of names
of level set functions corresponding to the regions of the spec
ified material.
Only one of the parameters Name, Region, Material or
AllInterfaces can be specified.
Only one Material can be defined per criterion, but several
criterion subcommands can be defined in the same Regrid
command.
MaximumValue=<float> The nodal values of the field are truncated before they are used
to check the condition of the criterion.
MeshSpacing=<float> The minimum length of an edge that can be split. Shorter
edges are not split, even if they fulfill the condition the crite
rion imposes on the field.
MeshspacingX=<float>
MeshspacingY=<float>
MeshspacingZ=<float>
The minimum length in a coordinate direction of an edge that
can be split. Shorter edges are not split, even if they fulfill the
condition the criterion imposes on the field.
MinimumValue=<float> The nodal values of the field are truncated before they are used
to check the condition of the criterion.
Name=<string> The name of the field the criterion applies to.
Only one of the parameters Name, Region, Material or
AllInterfaces can be specified.
Only one Name can be defined per criterion, but several crite
rion subcommands can be defined in the same Regrid com
mand.
Parameter Description
Criterion Input Command Descriptions
432 TP 2005.10
Draft 8/11/05
Region=<string> Refinement at the interfaces of one region. The region name is
translated into the set of names of level set function corre
sponding to the region.
Only one of the parameters Name, Region, Material or
AllInterfaces can be specified.
Only one Region can be defined per criterion, but several
criterion subcommands can be defined in the same Regrid
command.
Type=<string> Type is one of Lin, Log, Asinh or Relative.
Lin is recommended for fields that are interpolated linearly.
An edge fulfills the criterion, if the difference of the field val
ues at the two end points of the edge is larger than Delta.
Log and Asinh are recommended for fields that change over
many orders of magnitude and for fields that in addition
change their sign, respectively. Instead of the field values, the
differences of the log or the asinh of the field values is tested.
The data range can be restricted from above and below using
MinimumValue and MaximumValue.
Type=Relative can be used to locate refinements at the
zero value of a field with changing sign, e.g. a level set func
tion. A value of Delta=0.7 ... 1 is recommended in this
case.
Parameter Description
Input Command Descriptions CrossSection
TP 2005.10 433
Draft 8/11/05
CrossSection
Subcommand of Template.
The CrossSection command is used to define the CrossSection for a
Sweep template.
A CrossSection can be specified as:
• Aseries of points
• A discretized circle
• A boundary of a region or the boundary of the union of several regions from a
2D TDF or TIF file.
If an open CrossSection is defined (i.e., first and last point are different), it
will be expanded in the lateral or/and vertical directions depending on the slope of
the first and last segments. Then the CrossSection is closed far outside of the
simulation domain.
For a CrossSection as a series of points:
CrossSection(
Point(x=<float> Y=<float>) ...
Coarsen(...))
For a CrossSection defined using a discretized Circle:
CrossSection( Circle(...))
For a CrossSection defined by extracting the boundary of one or several
regions from a 2D simulation result:
CrossSection(
File=<string>
Region=<string>
MakeZero=<float>
Coarsen(...)
All=<boolean>
Attach=<float>
Expand=<string>
Start(X=<float> Y=<float>)
End(X=<float> Y=<float>)
MaxX=<float> MinX=<float>
Negative=<boolean>
Delete=<boolean>
)
CrossSection Input Command Descriptions
434 TP 2005.10
Draft 8/11/05
Parameter Description
All=<boolean> Extract the entire boundary of a region or of the union of
regions as CrossSection. Default: false
Attach=<float> Lateral position (xcoordinate in the loaded file) which shall
be moved into 0. This position of the cross section is
“attached” to the contour.
Circle Only the discretized form of Circle is allowd. See Circle, p.
419.
Coarsen Reduce sthe number of points in the CrossSection poly
gon. See Coarsen, p. 421.
Delete=<boolean> The device that corresponds to the File from which the
CrossSection is extracted will be deleted after extraction
of the boundary. Default: false
End The “end” point for the extraction of the “upper” boundary. By
default, the maximum lateral extension of the specified
region(s) is used to determine the selected parts. In special sit
uations, Start and End points (in the coordinates of the 2D
TDF or TIF file) may be provided to assist the selection of the
boundary. See End, p. 473. Do not specify a zcoordinate.
Expand=<string> Parameter to control the lateral and vertical expansion of the
extracted “upper” boundary of the regions. Possible values:
All, Lateral, LateralBegin, LateralEnd, Verti
cal, VerticalBegin, VerticalEnd. By default region
boundaries are expanded laterally if they reach the left or right
side of the simulation domain of the 2D TDF or TIF file. They
are expanded vertically if the region boundary ends inside of
the simulation domain of the 2D TDF or TIF file.
Default: all (allow both lateral and vertical expansion)
File=<string> Name of the 2D TDF or TIF file from which the cross section
will be extracted.
MakeZero=<float> Defines a lateral coordinate in a loaded file. The ycoordinate
of the extracted surface at this lateral position is extracted and
subtracted from the ycoordinates of all points of the Cross
Section.
MaxX=<float> Maximum lateral position (xcoordinate) in the loaded 2D
TDF or TIF file that shall be used for the extracted boundary.
MinX=<float> Minimum lateral position (xcoordinate) in the loaded 2D
TDF or TIF file that shall be used for the extracted boundary.
Negative=<boolean> Reflect the extracted CrossSection at x=0.
Point A point on the cross section. Do not specify zcoordinates. See
Point, p. 4147.
Input Command Descriptions CrossSection
TP 2005.10 435
Draft 8/11/05
Region=<string> Name of the region in the 2D TDF or TIF file. The Region
command may be repeated to select several regions. The
“upper” boundary of the region (or the union of several
regions) is extracted, expanded, and closed outside of the sim
ulation domain.
Start The “start” point for the extraction of the “upper” boundary.
By default, the minimum lateral extension of the specified
region(s) is used to determine the selected parts. In special sit
uations, Start and End points (in the coordinates of the 2D
TDF or TIF file) may be provided to assist the selection of the
boundary. Do not specify a zcoordinate. See Start, p. 4190.
Parameter Description
Cylinder Input Command Descriptions
436 TP 2005.10
Draft 8/11/05
Cylinder
Subcommand used in multiple contexts including DefineRegion, Deposit, Etch,
Hole, InABox, etc.
The Cylinder command is used to define a “cylinder” by either one endcap and
a length or by specifying two endcaps. A Cylinder command may contain a
Hole subcommand.
The syntax for a cylinder with one specified endcap is:
Cylinder(
Circle(...)
Polygon(...)
Length=<float>
Scale=<float>
CapCenter(x=<float> y=<float> z=<float>)
Offset(x=<float> y=<float> z=<float>)
Twist=<float>
Hole(...)
)
The Circle or Polygon subcommands specify the first endcap of the cylinder.
Any collection of 2D geometry primitives (circles and polygons) is allowed, but
all must be located in the same plane. The second endcap is constructed parallel to
the bottom endcap. Length is mandatory and gives the directed, perpendicular
distance from the plane containing the bottom endcap and to the plane containing
the top endcap. Length may be positive or negative.
The second endcap can be shrunk or expanded relative to the first using the
Scale parameter. endcap. Scale specifies the dimensionless size ratio of the
top endcap to the bottom endcap to create an optional tapering effect for the
cylinder as a whole. As a special case, the cylinder reduces to a cone when Scale
is set to 0.0. Scale is 1.0 by default.
Offset specifies an optional displacement vector for the second endcap, within
its plane, relative to its default location directly opposite the first endcap. This
creates an optional shearing effect for the cylinder as a whole. Offset is (0,0,0)
by default.
The syntax for a cylinder with two endcaps is:
Cylinder(
Polygon(
Point(x=<float> y=<float> z=<float>)
...
Hole(
Polygon(...)
...
)
)
Polygon(... Hole(...))
Hole(...)
Input Command Descriptions Cylinder
TP 2005.10 437
Draft 8/11/05
)
A cylinder with two endcaps is defined by two polygons. Each polygon is defined
by a sequence of points. Consecutive points are connected by an edge. Each
polygon is closed by connecting the last and the first point. The polygons must be
planar, and must not touch or intersect themselves.
Both polygons need to be defined using the same number of points but they need
not be the same shape. Each of these polygons may have holes. Both polygons
must have the same number of holes, the holes must be in the same order. Each
hole in a polygon may contain only other polygons. They must be in the same
plane as the polygon. Polygons inside the holes must not contain holes.
The two polygons defining the cylinder must lie in parallel planes, the orientation
of the polygons is arbitrary.
The geometry primitive, described by the cylinder with two endcaps is
transformed into a polyhedron by connecting corresponding corners of the two
polygons. The faces formed by making these connections must be planar.
Note:
TaurusProcess does not perform any test of the geometric correctness of
the specified cylinder. Therefore, you must define the polygons such that
planar faces are defined and that the resulting polyhedron does not con
tain any intersections of edges, faces, etc.
Parameter Description
CapCenter Specifies the center of the second endcap of the cylinder. See
CapCenter, p. 417
Circle Specifies an endcap of the cylinder. See Circle, p. 419.
Hole Specifies an exclusion set or hole. See Hole, p. 497.
Length=<float> Specifies the length of the cylinder. Length may be positive
or negative.
Offset Specifies a displacement vector for the second endcap of a cyl
inder specified with one endcap.
Default: (0,0,0) See Offset, p. 4142
Polygon Specifies an endcap of the cylinder. See Polygon, p. 4149.
Scale=<float> Specifies the scaling factor for the second endcap of a cylinder
specified with one endcap.
Default: 1.0
Twist=<float> Specifies a twist angle for the cylinder to be established
between th.e first end cap and the second end cap.
DadosDomain Input Command Descriptions
438 TP 2005.10
Draft 8/11/05
DadosDomain
Subcommand of DefineDevice.
Use the DadosDomain command to specify the simulation domain for
simulations performed by DADOS. By default the entire Taurus Process
simulation domain is used.
DadosDomain(
MinX=<float> MaxX=<float>
MinY=<float> MaxY=<float>
MinZ=<float> MaxZ=<float>
)
The DADOS simulation domain is always a 3dimensional axisaligned brick. In
1D or 2D simulations the size of the DADOS simulation domain in the missing
dimensions will be set to 20nm.
Parameter Description
MaxX=<float>
MaxY=<float>
MaxZ=<float>
MinX=<float>
MinY=<float>
MinZ=<float>
The maximum/minimum coordinates of the DADOS domain.
Input Command Descriptions Define
TP 2005.10 439
Draft 8/11/05
Define
Use the Define command to define a variable to be used in subsequent com
mands.
Define(<string>=<string>)
Examples Define( oxide_thickness=5nm)
Deposit(
material=oxide
thickness=$oxide_thickness
)
Parameter Description
<Name>=<string> In a Define command a single such assignment of a value to a
name may be used or a list of such assignments. A name,
defined in a Define command must not be used in an expres
sion in the same command.
The Name must be free of special characters and must begin
with a letter. The string value is translated depending on the
later usage either literally or converted into a number.
The values of the variables can be used in subsequent com
mands using the prefix $ (as in a UNIX shell). They also can be
used in expressions expr(). See Expr, p. 483.
DefineContact Input Command Descriptions
440 TP 2005.10
Draft 8/11/05
DefineContact
Use the DefineContact command to define contacts for a subsequent device
simulation with either TaurusDevice or Medici. Contacts are not used during
process simulation. Appropriate boundary regions (collections of surface
elements) are created for each contact. The parameters of a DefineContact
command define a selection rule. Points that fulfill the rule may become part of
the contact. A surface element is added to the contact if all its corners are selected.
DefineContact(
Name=<string> Type=<string>
Region=<string> Material=<string>
Bottom Left Right Top Front Back
Interface ReflectiveBoundaries ExternalBoundaries
Point(...)
InABox(...)
Polygon(Point(...)..)
X(Min=<float> Max=<float>)
Y(Min=<float> Max=<float>)
Z(Min=<float> Max=<float>)
AcceptAsInside=<float>
Contour(...)
Edge(...)
)
Parameter Description
AcceptAsInside
=<float>
A small negative value. Points on the surface of the selected
regions are defined as part of the contact if the signed distance to
the specified geometry objects is larger. If the contact is defined
using an unsigned distance, the distance value must be less than
AcceptAsInside. Default: 1nm
Back=<boolean> Allow points on the back side (z=maxZ) to be in the contact.
Default: false.
Bottom=<boolean> Allow points on the bottom side (y=maxY) to be in the contact.
Default: false.
Contour Defines the contact through a distance function from a contour (a
list of points). See Contour, p. 425.
Edge Define the contact through a distance function from one or sev
eral edges. See Edge, p. 472.
ExternalBoundaries=
<boolean>
Equivalent to specify all six sides: Top Bottom Left Right
Front Back.
Front=<boolean> Allow points on the front side (z=minZ) to be in the contact.
Default: false.
InABox Defines a contact by the union of the specified geometry primi
tives. See InABox, p. 4108.
Interface=<boolean> Allow the contact to contain points on material interfaces
between regions.
Input Command Descriptions DefineContact
TP 2005.10 441
Draft 8/11/05
Left=<boolean> Allow points on the left side (x=minX) to be in the contact.
Default: false.
Material=<string> Select all regions of the specified material. Only points on the
surface of these regions can be part of the contact.
Name=<string> Name of the contact. Each contact should have a unique name,
different from all other contacts and from all volume regions.
Point Used to identify one piece of a selected region. The surface of the
piece closest to the point is used for the contact. Not all coordi
nates need to be specified. See Point, p. 4147.
Polygon Defines a contact using a polygon. There are two possible usages
of the polygon.
• The polygon defines a surface in 3D. The unsigned distance
from all polygons is used to select points for the contact.
• The polygon must be in one of the coordinate planes. The
polygon is extruded in its normal direction. Only surface ele
ments that are entirely inside the specified extruded polygon
will be added to the contact. The limits of the extrusion are
defined by the parameters X Y or Z depending on the coordi
nate plane of the polygon.
See Polygon, p. 4149. Polygons used in DefineContact cannot
use Hole.
Consider using InABox instead of Polygon as the former is
much more powerful.
ReflectiveBoundaries=
<boolean>
Equivalent to specifing Left Right Front Back.
Region=<string> Selects one region. Only points on the surface of a selected
region can be part of the contact.
Right=<boolean> Allow points on the right side (x=maxZ) to be in the contact.
Default: false.
Top=<boolean> Allow points on the top side (y=minY) to be in the contact.
Default: false.
Type=<string> Type of the contact. Must be one of Contact, or Thermal
Contact.
Default: Contact
X
Y
Z
The parameter defines the extension of a box along an axis or the
range for an extruded polygon given in the plane normal to the
axis. The parameter is specified as
X(Min=<float> Max=<float>)
Deprecated. Use InABox instead.
Parameter Description
DefineDevice Input Command Descriptions
442 TP 2005.10
Draft 8/11/05
DefineDevice
Use the DefineDevice command to initialize a simulation. Several parameters
of global scope are defined: coordinate transformation, layout file, and parameters
for the initial grid. The DefineDevice command does not contain any
declarations of regions or a description of a geometry. Therefore, it does not
create a simulation mesh by itself. The mesh is created only before the first
process step that requires a boundary fitted mesh as input. Only one
DefineDevice command is used per TaurusProcess simulation. In the
following summary and in the table parameters are specified only for the x
direction; similar parameters ny, yGrid, zGrid, etc. are defined also for the y
and zdirections.
DefineDevice(
Name=<string>
Orientation=<integer>
PrimaryFlatOrientation=<integer>
PrimaryFlatDirection(x=<float> z=<float>)
PhysicsFile=<string>
RefinementsFile=<string>
MaskFile=<string>
SimulationAxisX(x=<float> z=<float>)
SimulationOrigin(x=<float> z=<float>)
MinX=<float> MaxX=<float>
MinY=<float> MaxY=<float>
MinZ=<float> MaxZ=<float>
XSize=<float> YSize=<float> ZSize=<float>
SurfacePosition=<float> AmbientHeight=<float>
Initialize(Name=<string> Value=<float>)
MeshFile=<string> TreeFile=<string>
Add(Name=<string>) Skip(Name=<string>)
Only(Name=<string>)
Matrix(XX=<float> ... ZZ=<float>)
Shift(X=<float> ... Z=<float>)
AutomaticGrid(...)
dx=<float> dx0=<float> dx1=<float>
dxMax=<float> dxMin=<float> x=<float>
xFactor=<float> xSide=<integer> nx=<integer>
grid=<string>
xGrid(...)
DadosDomain(MinX=<float> ... MaxZ=<float>)
InterpolateNetDoping=<boolean>
)
Input Command Descriptions DefineDevice
TP 2005.10 443
Draft 8/11/05
Parameter Description
AcceptAsInside=
<float>
When loading a TDF or TIF file with contacts, the set of sur
face segments (2D) or faces (3D) is used to construct a dis
tance function. At the end of subsequent meshing steps new
surface elements are selected for the contact. The parameter
AcceptAsInside defines how close mesh points on the
interfaces in the new mesh need to be to the original surface to
be included into the new contact. Always a negative value
must be specified. A value with too large magnitude will allow
the contact to grow, a too small magnitude may cause incom
plete contact reconstruction. Default: 1nm
Add Specifies field names to be loaded from a TDF or TIF file. See
Add, p. 412.
AmbientHeight=<float> If a TIF file is loaded, it contains no ambient region at the top
of the structure. Upon loading, TaurusProcess will construct
such an ambient region. The parameter AmbientHeight can be
specified to define the minimal distance between the top of the
constructed ambient and the material surfaces.
Default: 15% of vertical device extension, at least 2µm
AutomaticGrid Specifies the generation of mesh lines for the initial grid.
See AutomaticGrid, p. 414.
DadosDomain Defines the domain in which a DADOS simulation is per
formed. See DadosDomain, p. 438.
DX0=<float>
DX1=<float>
Parameter for constructing a graded mesh. If both DX0 and
DX1 are specified, DX0 is used to insert graded points “at” the
smaller xcoordinate and DX1 is used to insert points “at” the
larger xcoordinate. This is similar to specifying xSide. Sim
ilar parameters exist for all coordinate directions.
DX=<float> Mesh spacing of intermediate mesh lines between two subse
quent user supplied xvalues: X=x0 nd X=x1
The value of DX specified before X=x1 is used for the interval
X0...X1
Similar parameters exist for the y and zdirections: DY DZ.
DXMax=<float>
dXMin=<float>
Maximum/Minimum mesh spacing in mesh grading in the x
direction. DXMax DxMin may be used, together with other
parameters to compute xFactor. Similar parameters exist in
the other directions.
DefineDevice Input Command Descriptions
444 TP 2005.10
Draft 8/11/05
Grid=<string> If Grid=none is specified, the initial grid is constructed
using only the bounding box of the device, as specified
through the MinX, ..., MaxZ parameters and using the graded
mesh segments, specified using the X,Y,Z and related parame
ters in the DefineDevice command. Points read from
masks, VIP and prescanned points are not used to construct the
initial grid.
The name of a mask layer in the TL2 MaskFile may be
assigned to the Grid parameter. The points defining the mask
are transformed from Layout coordinates into simulator coor
dinates and used for the construction of the initial grid. Several
Grid=<string> commands may be specified to extract the
coordinates of several mask layers.
If Grid=all is specified all points of all mask layers of the
TL2 file are used.
The input file is prescanned for coordinates. All Point’s
found in the input file, e.g., when specifying a polyhedron are
transformed from the layout coordinates in which they are
defined into simulator coordinates. The simulator x y and z
coordinates of the transformed points are used as mesh lines in
the initial grid.
The values specified in a DefineContact command as
x(min=<float> max=<float>)
y( min=<float> max=<float>) and
z( min=<float> max=<float>) and the position speci
fied as SurfacePosition e.g., in a DefineRegion
command also are used as mesh lines to construct the initial
grid. If no ycoordinates are found during the prescanning, it is
assumed that the default SurfacePosition at y=0 is used
and y=0 is added as a mesh line.
Default: All
Initialize Specifies the background doping for the default 1D substrate
region. See Initialize, p. 4110.
Note: If you use a DefineRegion command to specify
the substrate you need to specify the background doping
also in the DefineRegion command instead of in the
DefineDevice command.
InitializeIsotropic
=<boolean>
If a TDF or TIF file is loaded, the average length of the mesh
edges at a point can be assigned to the mesh point to be used in
subsequent regrid steps. A profile will be defined for the field
MeshSpacing. See An Alternative Method to Prescribe Mesh
Resolution, p. 246
Parameter Description
Input Command Descriptions DefineDevice
TP 2005.10 445
Draft 8/11/05
InitializeOriented
=<boolean>
If a TDF or TIF file is loaded, the minimum length of the axis
aligned mesh edges at a point can be assigned to the mesh
point to be used in subsequent regrid steps. A profile will be
defined for the fields MeshSpacingX, MeshSpacingY or
MeshSpacingZ. See An Alternative Method to Prescribe Mesh
Resolution, p. 246
InterpolateNetDoping
=<boolean>
By default, NetDoping is computed as the difference of
DonorDoping and AcceptorDoping (or nType and
pType if DonorDoping and AcceptorDoping are miss
ing). When comparing two result files this behavior is undesir
able and can be disabled by specifying
InterpolateNetDoping=true. Default: false
MakePrescannedVIP
=<boolean>
All points, specified e.g. in a Polygon or Polyheadron are used
by default for the construction of the initial grid. Sometimes
this is not desirable. It might be desirable sometimes, to try
turning all of these points into VIPs instead.
MaskFile=<string> Reads mask layout data from an ASCII text file with TL2 for
mat, generated from GDSII format using the TaurusLayout
tool. The layout data can be used to define mask polygons,
e.g., in an etch command. All masks in the layout file have a
name. They are selected in the respective process commands
Matrix Specifies a coordinate transformation applied to a structure
read from a file. This is most useful when loading several
result files to combine them into a larger structure.
Both the Matrix and the Shift vector must be defined
before the MeshFile to which they apply. See Matrix, p. 4
123.
MaximumSpacing=<float> When InitinalizeOriented or InitializeIso
tropic are used, the extracted edge lengths can be restricted
from above.
MaxX=<float> Maximum xcoordinate of the simulation domain in simulator
coordinates. MinX<MaxX indicates that the simulation is at
least 2D. If none of the coordinates are specified, default val
ues are read from a TL2 file.
MaxY=<float> Maximum ycoordinate of the simulation domain in simulator
coordinates.
MaxZ=<float> Maximum zcoordinate of the simulation domain in simulator
coordinates. MinZ<MaxZ indicates that the simulation is 3D.
MeshFile=<string> Read mesh and data from a TDF or TIF file. By default a 2D
result file is scanned for VIP (very important points, corners,
and triple points). These points are added as mesh lines to the
initial grid. The parameter dXMin can be specified to rarefy
the extracted points.
Default: none
Parameter Description
DefineDevice Input Command Descriptions
446 TP 2005.10
Draft 8/11/05
MinimumSpacing=<float> When InitinalizeOriented or InitializeIso
tropic are used, the extracted edge lengths can be restricted
from below.
MinX=<float> Minimum xcoordinate of the simulation domain in simulator
coordinates. MinX<MaxX indicates that the simulation is at
least 2D. Default: 0 or from TL2 file.
MinY=<float> Minimum ycoordinate of the simulation domain in simulator
coordinates, typically a negative number. The value should be
defined smaller than all ycoordinates of the geometry objects
in the DefineRegion commands. For a process simulation
the entire top surface of the structure (at MinY) should belong
to the ambient region. The simulation domain may need to be
expanded during a deposition or oxidation step.
MinZ = <float> Minimum zcoordinate of the simulation domain in simulator
coordinates. MinZ<MaxZ indicates that the simulation is 3D.
Default: 0 or from TL2 file
Name = <string> Defines the device name.
Default: UnNamedDevice
NX = <integer> Number of intermediate segments inbetween each pair of
consecutive coordinates in the initial grid. It is recommended
to always specify NX=1. In some cases, e.g. when loading a
Tree file NX= 0 should be used. The default value depends on
the specified files and parameters. Similar parameters exist for
the other coordinate directions: NY NZ.
Only Specifies a list of field names to read from a TDF or TIF file.
Only the specified fields will be read. By default all fields con
tained in the file are read. Missing fields will be initialized as
necessary during the simulation such as when solving equa
tions. Fields not recognized by the simulator will be loaded but
will not be used when solving equations. Such fields are inter
polated during mesh adaptation and then saved to an output
file. See Only, p. 4143.
Orientation
= <integer>
Crystal orientation of the wafer surface i.e., the simulatorY
and the layoutY axis.
Default: 100, alternative 110 111
PhysicsFile
= <string>
Read default physics model and parameter data from a file.
The file should contain one or several Physics commands
which contain the entire set of model and parameter specifica
tions for all available materials and equations. If the file is not
found in the current directory, the path is extracted from the
environment variable PHYSICS_DATA
A physics file with parameters and model selections compati
ble to TSUPREM4 is provided in the release as
physics_data_tsuprem4
Default: ./physics_data if this is not found
$PHYSICS_DATA/physics_data
Parameter Description
Input Command Descriptions DefineDevice
TP 2005.10 447
Draft 8/11/05
PrimaryFlatDirection Sets the direction of the primary flat in layoutX and layoutZ
coordinates. See PrimaryFlatDirection, p. 4152.
PrimaryFlatOrientation
=<integer>
Crystal orientation of the primary flat, i.e., the layoutZ axis.
Default: 110
RefinementsFile
=<string>
Read default refinement parameters and repetitive output con
trols from a file. The file should contain one or several
Regrid commands which apply to all simulations. The file
also may contain Print commands that set the list of fields
for which the minimum, maximum and integral values are
printed out once per time step (in the Verbosity=verbose
mode). Print(name=all) will enable printing all initial
ized fields. See Regrid, p. 4168.
A default set of refinement specifications is contained in the
file refinements_data, and should provide well controlled
meshes.
Default: ./refinements_data if this is not found
$PHYSICS_DATA/refinements_data
ScaleSpacing=<float> When InitinalizeOriented or InitializeIso
tropic are used, the extracted edge lengths can be multiplied
by ScaleSpacing. Default: 1.
Shift Specifies a coordinate shift applied to a structure read from a
file. This is most useful when loading several result files to
combine them into a larger structure.
Both the Matrix and the Shift vector must be defined
before the MeshFile to which they apply. See Shift, p. 4
185.
SimulationAxisX Specifies the direction of the xaxis of the simulation coordi
nate system in terms of layout x and layout zcoordinates.
Specifying a direction other than the default will cause the
simulator coordinate system to be rotated compared to the lay
out coordinate system. See SimulationAxisX, p. 4186.
Note: The yaxis of the simulator coordinate system and
the layout coordinate system always coincide.
Default: SimulationAxisX(x=1 z=0)
SimulationOrigin Specifies the origin of the simulator coordinate system in
terms of layout x and layout zcoordinates. This can be used
to place the simulation domain at any position in the layout.
The parameter must be used to perform 1D simulations at
positions other than layoutX=0 and layoutZ=0 and to perform
2D simulations in planes other than layoutZ=0. See Simula
tionOrigin, p. 4187.
Default: SimulationOrigin(x=0 z=0)
Parameter Description
DefineDevice Input Command Descriptions
448 TP 2005.10
Draft 8/11/05
Skip List of field names to be skipped when reading a TDF or TIF
file. The specified fields will not be read. See Skip, p. 4188.
SurfacePosition
=<float>
The position of the initial substrate surface may be specified. If
specified, a 1D substrate region will be defined prior to all
DefineRegion commands. If not specified, the initial sub
strate region may be defined using a DefineRegion com
mand.
Default:0
Temperature=<float> TaurusProcess cannot read the temperature from the TIF file.
When using the PdFull diffusion model and loading a TIF file,
it is necessary to specify the temperature at which the concen
tration of pairs is computed from the eqilibrium assumptions.
The sum of free point defects and equilibrium pairs is then
subject to the rebalancing of point defects.
If the PdFull model is used in TaurusProcess, the TDF file
usually contains the pair concentrations explicitly and uses the
loaded field values for the rebalancing.
TreeFile=<string> Read octtree/quadtree mesh tree from an ASCII file. This
information is not required to perform a regrid. A new mesh
tree is generated if necessary.
Default: none
UseDelaunayBoxes
=<boolean>
When loading a TDF or TIF file that is known to contain a
Delaunay mesh, the user may select the modified calculation
of the Voronoi diagram. By default, the traditional box weights
are computed. During the remeshing the appropriate choice is
made depending on the result of the Delaunay algorithm.
VIF The parameters of the VIF(Corner2D(Angle=float>
ArcLength=<flaot>)) subcommmand can be specified
in a DefineDevice command to enable the detection of
VIP in the mesh loaded from a TDF or TIF file. See VIF, p. 4
200
X0=<float> Coordinate to start definition of an initial grid section. By
default the smallest xcoordinate: MinX
X1=<float> End coordinate of a section of the graded mesh. By default the
maximum xcoordinate. MaxX
X=<float> Xcoordinate of a mesh line in the initial mesh. Used to create
several root elements of the simulation mesh. Several mesh
lines may be specified by repeating the parameter.
XFactor=<float> Mesh grading factor. The mesh spacing DX is multiplied by
xFactor for each intermediate mesh line.
If the xFactor is not specified, it may be computed using a
combination of the specified other parameters, e.g. DX, DXMax
and NX.
Default:1
Parameter Description
Input Command Descriptions DefineDevice
TP 2005.10 449
Draft 8/11/05
Examples Definition of a 3D device. The initial grid is defined by the bounding box of the
simulation domain:
DefineDevice(
Name=STI
MinX=0 MaxX=1um
MinY=1um MaxY=1um
MinZ=0 MaxZ=0.5um
Grid=none
)
Definition of a 2D device by loading a TDF file to continue a simulation. A new
initial grid can be defined for the subsequent simulation. Upon the first regridding,
the new initial grid will be created. Currently, the specification of the initial grid is
not stored, neither the TDF nor the TIF formats. You must redefine the initial grid
each time after loading a file:
DefineDevice(
meshFile=”a.tdf”
x=1 x=4 x=3.6 dx=0.5
)
Definition of a 2D device by loading a TDF file and a tree file to continue a
simulation. The tree file is read in and used for all regrid commands that do only
refine the grid, i.e., when the regrid does not construct a new initial grid.
Otherwise the coordinates of the root elements of the tree are used to construct the
new root elements:
DefineDevice(
MeshFile=”a.tdf”
TreeFile=”a.tree”
)
Definition of a 2D device. A graded initial grid is
xGrid Specifies one section of a graded mesh. See XGrid, p. 4221.
XSide=<integer> Side, at which the mesh spacing DX is applied. A value or 1, 0
or 1 may be specified. Assume two consecutive xvalues are
specified as X=x0 and X=x1. The following graded initial grid
is created:
For XFactor=1:
x0 x0+DX x0+DX*XFactor, ... X1
For XFactor=1:
x0 ... X1DX*XFactor x1DX x1
and for XFactor=0:
x0 x0+DX x0+DX*XFactor ... x1DX*XFactor
x1DX x1
A similar effect can be achieved by specifying DX0 and DX1
instead of DX and XSide.
Default:1
Parameter Description
DefineDevice Input Command Descriptions
450 TP 2005.10
Draft 8/11/05
defined:
DefineDevice(
minX=0 maxX=5 minY=1 maxY=1
x=0. dx=0.01 xfactor=1.2 dxmax=0.4 xside=1
x=0.7 dx=0.01 xfactor=1.3 dxmax=0.4
x=1 dx=0.01 xfactor=0.8 xside=0
x=1.05 dx=0.01 xfactor=1.4 xside=0
x=3.95 dx=0.01 xfactor=1.
x=4 dx=0.02
x=4.06 dx=0.01
x=4.1 dx=0.02
x=4.3 dx=0.1 xfactor=1.1 dxmax=0.5 xside=1
x=5
y=1. yside=1 yfactor=1.1 dy=0.1
y=0.342 dy=1
y=0.3407
y=0.34 dy=0.002
y=0.32
y=0.27 dy=0.01 yfactor=1.2 yside=0
y=0.12 dy=1.
y=0.02
y=0
y=0.25
y=0.3 dy=0.1 yfactor=1.2 yside=1 y=1
)
Definition of a large 3D simulation domain. Loading of two 3D simulation results
to be merged to construct the large structure:
DefineDevice(
MeshFile=deviceAandB.tdf
Shift(x=4.4)
MeshFile=deviceCandDandE.tdf
MinX=0 MaxZ=10.6
MinY=3 MaxY=2
MinZ=39 MaxZ=1.9
y=0 y=0.01 y=0.01
)
Input Command Descriptions DefineRegion
TP 2005.10 451
Draft 8/11/05
DefineRegion
Use the DefineRegion command to define a new region. The Material of
the region and the geometry of the region must be defined. Other parameters are
optional. The geometry of the region is defined by specifying a Template or an
arbitrary number of geometry primitives. Each of the geometry primitives may
contain holes. A Hole in a geometry primitive can again be defined by an
arbitrary collection of geometry primitives of any (other) type. The primitives
defined inside of a Hole command must not have holes. The union of all
primitives inside of all Hole’s that are defined inside of one geometry primitive
is subtracted from that geometry primitive. The union of the remaining parts of all
primitives defines the geometry of the region.
Each of the geometry primitives and the template define an object in the 3D layout
coordinate system. The intersection of the simulation domain and the 3D objects
defines the actual shape of the region when it is discretized in the boundary fitted
mesh.
An explanation of geometry concepts can be found in Chapter 2, Geometry
Model, and Meshing Algorithm, p. 27.
DefineRegion(
Name=<string>
Material=<string>
AllowMerge=<boolean>
Initialize(Name=<string> Value=<float>)
Location(...)
MinMax(...)
Brick(...)
Polygon(...)
Polyhedron(...)
Manifold(...)
Circle(...)
Sphere(...)
Cylinder(...)
Template(...) # see Examples, p. 453
)
DefineRegion Input Command Descriptions
452 TP 2005.10
Draft 8/11/05
Parameter Description
AllowMerge=
<boolean>
Determines whether a region can be merged after subsequent meshing
steps with any existing regions of the same material that also allow
merging. Merging is performed regardless if the regions touch each
other or not. If merging is allowed, there is no guarantee that regions
with specified region names can be accessed at later process steps. By
default region merging is not allowed. The AllowMerge flag of a
region can be changed using the RedefineRegion command.
Note that the meshingparameter MergeRegionsOfMaterial that
can be specified in a Regrid command may override the Allow
Merge flag of a region. By default all regions of material oxide and all
regions of material nitride are merged.
To disable this and restore full control to the AllowMerge parameter,
specify Regrid(MergeRegionsOfMaterial=none) before
depositing any oxide or nitride regions.
Default: false.
Brick Specifies a Brick geometry primitive. Multiple geometry primitives may
appears in the same DefineRegion command. The geometry of the
region is defined as the union of all specified geometry primitives. See
Brick, p. 416.
Circle Specifies a Circle geometry primitive. Multiple geometry primitives
may appears in the same DefineRegion command. The geometry of
the region is defined as the union of all specified geometry primitives.
See Circle, p. 419.
Cylinder Specifies a Cylinder geometry primitive. Multiple geometry primitives
may appears in the same DefineRegion command. The geometry of
the region is defined as the union of all specified geometry primitives.
See Cylinder, p. 436.
Initialize Specifies the initial value for fields in the region. Each Initialize
command contains the definition for one field. Several Initialize
commands may be contained in one DefineRegion command. See
Initialize, p. 4110.
Location Specifies a Location geometry primitive. Multiple geometry primitives
may appears in the same DefineRegion command. The geometry of
the region is defined as the union of all specified geometry primitives.
See on Location, p. 4118.
Manifold Specifies a Manifold geometry primitive. Multiple geometry primitives
may appears in the same DefineRegion command. The geometry of
the region is defined as the union of all specified geometry primitives.
See Manifold, p. 4119.
Material=<string> Name of the material of the region. The material must be available in the
material database mtr.db (see Appendix B, Material Database, p. B77).
Input Command Descriptions DefineRegion
TP 2005.10 453
Draft 8/11/05
Examples
Note:
The same definitions are good for 1D, 2D or 3D simulation:
DefineRegion command defining a layer with the surface at Y=0.1.
DefineRegion(
Material=Silicon
Location( Y=0.1um)
)
DefineRegion command defining an Lshaped layer with a step at X=0.1
DefineRegion(
Material=Silicon
Location(y=0)
MinMax(MinX=0.1 MinY=0.1um)
)
Example of DefineRegion using a Template command:
DefineRegion(
Material=silicon
Template(
Name=CornerTrench
Height=1.0um
MinMax Specifies a MinMax geometry primitive. Multiple geometry primitives
may appears in the same DefineRegion command. The geometry of
the region is defined as the union of all specified geometry primitives.
See MinMax, p. 4124.
Name=<string> Name of the region. The default name is generated automatically from
the name of the material of the region by appending an underscore char
acter, followed by an index.
Polygon Specifies a Polygon geometry primitive. Multiple geometry primitives
may appears in the same DefineRegion command. The geometry of
the region is defined as the union of all specified geometry primitives.
See Polygon, p. 4149.
Polyhedron Specifies a Polyhedron geometry primitive. Multiple geometry primi
tives may appears in the same DefineRegion command. The geome
try of the region is defined as the union of all specified geometry
primitives. See Polyhedron, p. 4150.
Sphere Specifies a Sphere geometry primitive. Multiple geometry primitives
may appears in the same DefineRegion command. The geometry of
the region is defined as the union of all specified geometry primitives.
See Sphere, p. 4189.
Template Defines the geometry of the region using a template. See Template, p. 4
194.
Parameter Description
DefineRegion Input Command Descriptions
454 TP 2005.10
Draft 8/11/05
Depth=0.8um
d0=0.75um
d1=0.75um
SideRadius=0.50um
SurfaceRadius=0.25um
FloorRadius=0.25um
)
)
Example of a DefineRegion command using a Brick primitive.
You should not specify Bricks with points on the boundary of the simulation
domain. Use a MinMax instead and omit the coordinate:
DefineRegion(
Material=silicon
Brick(
Point(x=1.0um y=1.0um z=0.0um)
Point(x=0.25um y=0.25um z=0.5um)
)
)
Example of a DefineRegion command that defines a Polygon primitive.
Unless you are using the Polygon Mesher you should not define points on the
boundary of the simulation domain; but either inside or outside of the simulation
domain.
DefineRegion(
Material=silicon
Polygon(
Point(x=0.0um y=1.0um)
Point(x=2.0um y=1.0um)
Point(x=2.0um y=0.0um)
Point(x=0.0um y=0.0um)
)
)
Example of a DefineRegion command that uses a locos template.
Note:
The material, specified for the region is used to select the shape of the
template. If a Locos template is defined for a region of a material other
than silicon, oxide or nitride, the material parameter in the template
must be used to select one of the three possible shapes of the locos tem
plate.
DefineRegion(
Material=silicon
Template(
Name=locos
PadThickness=65nm
FieldThickness=1.0um
Width=1.0um
Input Command Descriptions DefineRegion
TP 2005.10 455
Draft 8/11/05
BeakLength=0.5um
MaskLayer=layer_3
)
)
DefineRegion(
Material=oxide
Template(
Name=locos
PadThickness=65nm
FieldThickness=1.0um
Width=1.0um
BeakLength=0.5um
MaskLayer=layer_3
)
)
Delaunay Input Command Descriptions
456 TP 2005.10
Draft 8/11/05
Delaunay
Subcommand of Regrid.
The Delaunay subcommand can be used when the delaunizer is enabled (see
Delaunize parameter in the Regrid command). The Delaunay command
defines parameters that can affect the way the delaunizer algorithm works.
Delaunay(
MinDistance=<float>
Relative=<float>
Safety=<float>
)
Parameter Description
MinDistance=<float> The minimum edge length that the Delaunay algorithm is
allowed to generate.
Note that under certain circumstances,especially when the input
angles are too small, the Delaunizer can generate edges that are
shorter than minDistance.
No default.
Relative=<float> Ratio between the sizes of an old and a new ridge (or faces),
when the old ridge (or face) is refined. When a ridge (or a face)
is refined, the ratio between the sizes of the old and the new
ridges (or faces) can not be smaller than <relative>. For instance
if one wanted to force the delaunizer to refine ridges in the mid
dle, one would specify Relative=0.5.
Default: 0.05
Safety=<float> Ratio of the shortest edge that the Delaunizer is allowed to gen
erate to the shortest edge in the boundary fitted mesh given as
input to the Delaunizer.
Default: 1e3
Input Command Descriptions Deposit
TP 2005.10 457
Draft 8/11/05
Deposit
Use the Deposit command to specify a deposition simulation. Several different
deposition processes can be simulated: including planar, conformal,
geometric and selective. The deposit types planar, conformal, and
geometric always deposit the new layer into the exposed ambient. Regions
other than the ambient are not modified.
A geometric deposition uses the same subcommands to define geometric
primitives as the DefineRegion command. Geometric deposition replaces the
intersection of the exposed ambient region and the specified geometric primitives
by the newly deposited region.
The simulation domain is expanded automatically if necessary to hold the entire
structure after deposition. Currently, you can not automatically add an ambient at
the backside.
Deposit(
Material=<string> Name=<string>
DepositType=<string> AllowMerge=<boolean>
SurfacePosition=<float> Thickness=<float>
AnisotropyFactor=<float> Backside=<boolean>
Layer(
Material=<string> Region=<string>
Thickness=<float>
Onto(...) Into(...)
)
Initialize(
Name=<string> Value=<float>
EndValue=<float> Thickness=<float>
)
IntrinsicStress=<float> MismatchStrain=<float>
Brick Circle Cylinder Location Manifold
Minmax Polygon Polyhedron Sphere
Temperature=<float>
)
Deposit Input Command Descriptions
458 TP 2005.10
Draft 8/11/05
Parameter Description
AllowMerge=
<boolean>
Specifies if the deposited region may be merged after subsequent meshing
steps with any existing regions of the same material that also allow merg
ing. Merging is performed regardless if the regions touch each other or
not. If merging is allowed, there is no guarantee that regions with specified
region names can be accessed at later process steps. By default region
merging is not allowed. The AllowMerge flag of a region can be
changed using the RedefineRegion command.
Note that the meshingparameter MergeRegionsOfMaterial that can
be specified in a Regrid command may override the AllowMerge flag
of a region. By default all regions of material oxide and all regions of
material nitride are merged.
To disable this and restore full control to the AllowMerge parameter,
specify Regrid(MergeRegionsOfMaterial=none) before
depositing any oxide or nitride regions.
Default: false.
AnisotropyFactor
=<float>
For a conformal deposition an AnisotropyFactor can be specified.
The thickness, deposited on vertical surfaces is reduced by this factor,
compared to the thickness, deposited on horizontal surfaces.The parame
ters Thickness, Material and AnisotropyFactor are required
for anisotropic deposition. This parameter is 1.0 by default.
BackSide
=<boolean>
Specifies that the new region should be deposited into the exposed ambi
ent at the backside of the structure. This requires that the material struc
ture is defined such that the bottom material boundary is located inside the
simulation domain and the ambient region is composed of a top and a bot
tom part. This can be achieved either by the initial definition of the sub
strate region or by using a geometric etch that ignores etch stops. By
default this parameter is false and deposition is into the exposed ambi
ent at the top of the structure.
Brick Geometry primitive for geometric deposition. See the definition of Brick,
p. 416
Circle Geometry primitive for geometric deposition. See the definition of Circle,
p. 426
Cylinder Geometry primitive for geometric deposition. See the definition of Cylin
der, p. 436
DepositType=
<string>
Type of deposition process. The type can be one of planar, geomet
ric, conformal or selective.
Initialize Specifies initial field quantities in the deposited region. Each field that is
initialized in the deposited region requires a separate Initialize com
mand. See Initialize on p. 4110.
IntrinsicStress
=<float>
Deposit a layer with the specified intrinsic stress value and relax the stress
afterwards to leave only tangential stress components. The relaxation of
the intrinsic stress is calculated only when stress history simulation had
been enabled using Physics(KeepStressHistory) before the
Deposit command.
Default: 0.
Input Command Descriptions Deposit
TP 2005.10 459
Draft 8/11/05
Examples The following example specifies conformal deposition of 0.05 µm of oxide.
Deposit(
Material=oxide
Thickness=0.05um
)
The following example specifies conformal deposition of a 0.08µm thick layer of
nitride. Three fields are defined in the deposited layer: an intrinsic stress value of
400MPa, a graded distribution of arsenic, and a graded distribution of boron.
# Deposit with intrinsic stress and graded
# distribution of arsenic and boron.
Deposit (
Layer For DepositType=selective, a material layer can be deposited
selectively at different interfaces. The Layer command allows specifica
tion of selective conformal deposition of one or several materials into a
material or region. See Layer on p. 4113.
Location Geometry primitive for geometric deposition. See the definition of Loca
tion, p. 452
Manifold Geometry primitive for geometric deposition. See the definition of Mani
fold, p. 452
Material
=<string>
Material to be deposited. See the Appendix B, Material Database, p. B77
for a list of material names.
MinMax Geometry primitive for geometric deposition. See the definition of Min
Max, p. 453
MismatchStrain=
<boolean>
For MisMatchStrain=true, Taurus Process computes the mismatch
strain in the newly deposited region, modifies the local mechanical prop
erties according to the underlying and newly deposited materials, and
computes a new equilibrium stress distribution.
Default: false
Name=<string> Name of the new region. By default, a name is not required but determined
automatically by Taurus Process.
Polygon Geometry primitive for geometric deposition. See the definition of Poly
gon, p. 453
Polyhedron Geometry primitive for geometric deposition. See the definition of Poly
hedron, p. 4150
Sphere Geometry primitive for geometric deposition. See the definition of Sphere,
p. 453
SurfacePosition
=<float>
Planar deposition to the specified ycoordinate. The exposed ambient
below the specified position is replaced by the deposited material.
Temperature=
<float>
Set the temperature to be used for the stress relaxation calculation, if one
is performed (see Chapter 3, Oxidation Stress Dependence, p. 3127).
Thickness=
<float>
Thickness of deposited layer for conformal deposition.
Parameter Description
Deposit Input Command Descriptions
460 TP 2005.10
Draft 8/11/05
Material=nitride
Thickness=0.08um
IntrinsicStress=400.0e6Pa
Initialize(
Name=arsenic
Value=1e14
EndValue=1e15
)
Initialize(
Name=boron
Value=1e15
EndValue=1e16
)
)
The following commands turn on the stress strain equations, deposit an SiGe seed
layer, then deposit a thin Si layer and compute the mismatch strain. Note that the
SiGe material is represented by a silicon layer with a germanium profile. Stress
and lattice mismatch calculation require to use a germanium profile in a silicon
region. Use the RedefineRegion command to change the material from SiGe
to silicon if necessary, e.g. after loading a TIF file.
# Turn on stress strain equations in Si regions.
Physics(
KeepStressHistory
ReflectiveBoundary=fixed
)
# Deposit a SiGe seed layer.
Deposit(
Material=silicon
Thickness=0.4um
Initialize(
Name=germanium
Value=0.844e22
)
)
# Deposit a thin Si layer & compute mismatch strain.
Deposit(
Material=silicon
Thickness=0.02um
MismatchStrain
)
The following command demonstrates conformal selective deposition of a
0.03µm thick layer of silicon at the interfaces between ambient and silicon,
concurrent with deposition of a 0.05µm thick layer of polysilicon at any
interfaces between ambient and other materials:
# Selective deposition of silicon on silicon
# and of polysilicon on other material.
Deposit(
Layer(
Material=silicon
Thickness=0.03um
Input Command Descriptions Deposit
TP 2005.10 461
Draft 8/11/05
Onto(Material=silicon)
)
Layer(
Material=polysilicon
Thickness=0.05um
Onto(Other)
)
)
The following command demonstrates selective deposition into a material and
onto a specified region:
Deposit(
Layer(
Into(
Material=<string>
)
Material=<string>
Region=<string>
Thickness=<float>
Onto(
Region=<string>
)
)
)
The following example demonstrates selective deposition into a certain region and
onto all adjacent regions:
Deposit(
Layer(
Into(
Region=<string>
)
Material=<string>
Region=<string>
Thickness=<float>
Onto(
All=<boolean>
)
)
)
Diffuse Input Command Descriptions
462 TP 2005.10
Draft 8/11/05
Diffuse
Use the Diffuse command in a process simulation for the simulation of all high
temperature steps. Time and temperature are required parameters. The structure is
analyzed to decide if a silicide growth needs to be simulated. If not, by default an
inert atmosphere is assumed. Parameters need to be specified that describe the
ambient composition for an oxidation. If the ambient allows oxidation the struc
ture is analyzed if it allows oxidation. Only in this case oxidation is simulated.
Diffuse(
Temperature=<float> # always with unit, default: C
Time=<float> # always with unit, default: min.
Endtemperature=<float>
Predeposit(Name=<string> Value=<float>)
Inert=<boolean>
Dryo2=<boolean> Weto2=<boolean> Pyrogenic=<boolean>
HCl=<float> Hydrogen=<float> Nitrogen=<float>
Oxygen=<float> Steam=<float>
Pressure=<float> EndPressure=<float> #no unit [atm]
NativeLayerThickness=<float> # [µm]
AllowMerge=<boolean>
IgnoreMovingBoundaries=<boolean>
AddConvectiveFlux=<boolean>
InitialTimeStep=<float> # always with unit, default min.
NIniSteps=<integer>
Continue=<boolean>
Bdf1=<boolean> Bdf1Bdf2=<boolean>
Bdf2=<boolean> Trbdf2=<boolean>
ConstStep=<boolean>
MaxTimeStep=<float> # always with unit, default min.
TimeStepFactor=<float>
MaxDisplacementPerTimeStep=<float> # [µm]
MinDisplacementPerRegrid=<float> # [µm]
MaxTimestepFactor=<float> MinTimestepFactor=<float>
SmallTimeStep=<float> # always with unit, default min.
SmallStepTimeDiscError=<float>
MaxTemperatureChangePerTimeStep=<float>
MaxPressureChangePerTimeStep=<float>
KeepTimeStepAfterRejection=<integer>
MaxeepTimeStepAfterRejection=<integer>
MinTimeStep=<float>
Absolute=<float> Error(...) NewtonResid=<float>
LinearSolver=<string> LinScale=<integer>
KFill=<integer> MaxBackVector=<integer>
MaxDivergenceCount=<integer>
StoreError=<integer> StoreIterated=<integer>
StoreResidual=<integer> StoreUpdate=<integer>
Input Command Descriptions Diffuse
TP 2005.10 463
Draft 8/11/05
Save(...)
MappingPolicy=<string> Seed=<integer>
Randomize=<boolean>
)
{
Couple
Iterate
}
Parameter Description
Absolute=<float> See Numerics, p. 4134
AddConvectiveFlux
=<boolean>
See Numerics, p. 4134
AllowMerge=<boolean> Allow the native oxide or silicide regions to be merged with other
regions of the same material that also allow merging. Merging is
performed regardless if the regions touch each other or not. If
merging is allowed, there is no guarantee that regions with speci
fied region names can be accessed at later process steps. By default
region merging is not allowed. The AllowMerge flag of a region
can be changed using the RedefineRegion command.
Note that the meshing parameter MergeRegionsOfMaterial
that can be specified in a Regrid command may override the
AllowMerge flag of all regions of certain materials. By default
all regions of material oxide and all regions of material nitride are
merged.
To disable this and restore full control to the AllowMerge param
eter, specify Regrid(MergeRegionsOfMaterial=none)
before depositing any oxidation.
Default: false
Bdf1=<boolean> See Numerics, p. 4134
Bdf1Bdf2=<boolean> See Numerics, p. 4134
Bdf2=<boolean> See Numerics, p. 4134
ConstStep=<boolean> See Numerics, p. 4134
Continue=<boolean> Chose the initial time step the same as the last time step of a pre
ceding anneal. Default: false
DryO2=<boolean> Dryo2 is equivalent to Oxygen=1.
EndPressure =<float> Ambient pressure at the end of the step in atmospheres. No unit
must be specified. Values in atm.
EndTemperature
=<float>
Temperature at the end of the process step. To be specified with
unit. Default unit
o
C (C)
Error Conditions for the Newton iteration process, specified per equa
tion, region etc. See Error, p. 474
Diffuse Input Command Descriptions
464 TP 2005.10
Draft 8/11/05
HCl =<float> The specified value is interpreted as the gas flow rate for HCl. The
flow rate units are arbitrary (e.g. l/min); the flow rates need to be
consistent for all ambient components of the diffuse command.
The combination of the Oxygen, Hydrogen, Steam, Nitro
gen, and HCl flow rates are used to compute the partial pressures
of Oxygen and Steam.
Hydrogen =<float> The specified value is interpreted as the gas flow rate Hydrogen.
The flow rate units are arbitrary (e.g. l/min); the flow rates need to
be consistent for all ambient components of the diffuse command.
The combination of the Oxygen, Hydrogen, Steam, Nitro
gen, and HCl flow rates are used to compute the partial pressures
of Oxygen and Steam.
The specified Oxygen and Hydrogen flows are converted into
equivalent flows of Steam and Oxygen by assuming a pyrogenic
steam reaction. A remaining Hydrogen flow just reduces the par
tial pressures.
For nonzero Oxygen or Steam flow oxidation is simulated.
IgnoreMovingBound
aries =<boolean>
See Numerics, p. 4134
Inert =<boolean> Inert can be specified to notify yourself that an anneal is inert. This
is not required, since all anneals are inert by default.
Iterations See Numerics, p. 4134
ItResid See Numerics, p. 4134
KeepTimeStepAfterRe
jection=<integer>
See Numerics, p. 4134
KFill=<integer> See Numerics, p. 4134
InitialTimeStep=
<float>
See Numerics, p. 4134
LinearSolver
=<string>
See Numerics, p. 4134
LinScale=<integer> See Numerics, p. 4134
MappingPolicy=
<string>
For DADOS simulations the mapping between particles and con
centrations can be specified. By default mapping of particles is
done such that the concentrations match as close as possible the
type of concentrations one would receive from a simulation with
the PDFull model. Some additional fields of immobile particles,
not known to the PDFull model are created, e.g., vacancy_cluster.
For MappingPolicy=Dados the names of the particle and
defect types known in DADOS are combined. For each particle
type  defect type combination a separate concentration field is cre
ated. This allows to a certain degree to explore the “insides” of the
DADOS models.
Parameter Description
Input Command Descriptions Diffuse
TP 2005.10 465
Draft 8/11/05
MaxBackVector
=<integer>
See Numerics, p. 4134
MaxDisplacementPer
TimeStep=<float>
See Numerics, p. 4134
MaxDivergenceCount
=<integer>
See Numerics, p. 4134
MaxiIter=<integer> See Numerics, p. 4134
MaxKeepTimeStepAf
terRejection
=<integer>
See Numerics, p. 4134
MaxPressureChangeP
erTimeStep=<float>
See Numerics, p. 4134
MaxTemperature
ChangePerTimeStep
=<float>
See Numerics, p. 4134
MaxTimeStep=<float> See Numerics, p. 4134
MaxTimeStepsFactor
=<float>
See Numerics, p. 4134
MinDisplacementPer
Regrid=<integer>
See Numerics, p. 4134
MinTimeStep
=<float>
See Numerics, p. 4134
MinTimeStepFactor
=<float>
See Numerics, p. 4134
NativeLayerThickness
=<float>
Defines the thickness of the deposited native oxide or silicide layer.
The native layer is constructed at the exposed semiconductor sur
face before an oxidation and at the metal/semiconductor interface
before silicidation. In 3D it may be necessary to specify a larger
thickness to allow to construct a mesh of reasonable size and to
adjust some parameters of the anneal to obtain the correct final
thickness. Default: 20A
NewtonResid=<float> See Numerics, p. 4134
NiniSteps=<float> See Numerics, p. 4134
Nitrogen=<float> The specified value is interpreted as the gas flow rate for Nitro
gen. The flow rate units are arbitrary (e.g. l/min); the flow rates
need to be consistent for all ambient components of the diffuse
command. The combination of the Oxygen, Hydrogen, Steam,
Nitrogen, and HCl flow rates are used to compute the partial
pressures of Oxygen and Steam.
Parameter Description
Diffuse Input Command Descriptions
466 TP 2005.10
Draft 8/11/05
Oxygen=<float> The specified value is interpreted as the gas flow rate for Oxygen.
The flow rate units are arbitrary (e.g. l/min); the flow rates need to
be consistent for all ambient components of the diffuse command.
The combination of the Oxygen, Hydrogen, Steam, Nitro
gen, and HCl flow rates are used to compute the partial pressures
of Oxygen and Steam.
The Hydrogen and Oxygen flows specified in the input are con
verted in the ratio 2:1 into an equivalent flow of Steam until either
no Hydrogen or no Oxygen flow is left. A remaining Hydro
gen flow just reduces the partial pressures.
For nonzero Oxygen or Steam flow oxidation is simulated. For
each of these oxidant species a separate diffusionreaction equation
is solved.
Predeposit Specifies concentrations of impurities in the ambient for the simu
lation of predeposition. Each Predeposit command defines the
value for one field, several Predeposit commands must be used
in one Diffuse command to initialize the predeposition values
for all species in a simulation. A small concentration may result in
an evaporation from the surface rather than a predeposition. See
Predeposit, p. 4151.
Pressure=<float> Ambient pressure must be specified with no unit. Values are in
atm.
For pressure ramps Pressure defines the value at the beginning
of the process step.
Default: 1
ProjectionLimitFac
tor=<float>
See Numerics, p. 4134
Pyrogenic=<boolean> Pyrogenic is equivalent to Steam=1.
Randomize=<boolean> Randomizes the seed for the random number generator for select
ing probabilities for the diffusion events whenever dopant diffusion
is simulated using the Kinetic Monte Carlo diffusion module
DADOS. For Randomize=false the same results can be
expected when the same input file is simulated. For Random
ize=True a random seed value is used and different simulation
results are expected for each simulation.
Default: false
Relative=<float> See Numerics, p. 4134
Residual=<float> See Numerics, p. 4134
Parameter Description
Input Command Descriptions Diffuse
TP 2005.10 467
Draft 8/11/05
Save A Save command may appear inside a Diffuse command (see
Save, p. 4176). A new file is saved after each time step or after a
certain number of time steps. The file name specified in the Save
command is used for the first saved file in a Diffuse command.
The file name is then modified by appending an underscore charac
ter and a counter that is incremented after each save. The desired
save file format is determined from the specified file extension.
Seed =<integer> You may specify a value for the seed of the random number gener
ator. For a fixed seed value identical DADOS results will be
obtained from each simulation. You must specify Randomize or a
different seed value in each simulation to obtain a series of differ
ent results of the atomistic simulations.
SmallStepTimeDiscEr
ror=<float>
See Numerics, p. 4134
SmallTimeStep
=<float>
See Numerics, p. 4134
Steam=<float> The specified value is interpreted as the gas flow rate for Steam.
The flow rate units are arbitrary (e.g. l/min); the flow rates must be
consistent for all ambient components of the diffuse command.
The combination of the Oxygen, Hydrogen, Steam, Nitro
gen, and HCl flow rates are used to compute the partial pressures
of Oxygen and Steam.
The Hydrogen and Oxygen flows specified in the input are con
verted in the ratio 2:1 into an equivalent flow of Steam until either
no Hydrogen or no Oxygen flow is left. A remaining Hydro
gen flow just reduces the partial pressures.
For nonzero Oxygen or Steam flow oxidation is simulated. For
each of these oxidant species a separate diffusionreaction equation
is solved.
StoreError=<integer> See Numerics, p. 4134
StoreIterated
=<integer>
See Numerics, p. 4134
StoreResidual
=<integer>
See Numerics, p. 4134
StoreUpdate
=<integer>
See Numerics, p. 4134
Temperature=<float> Temperature of the anneal or at the beginning of a temperature
ramp. Specify temperatures always with a unit: Tempera
ture=950C Default unit is
o
C (C).
Time=<float> Duration of the anneal. Specify time always with a unit:
Time=30min Time=1s The default time unit is min.
TimeStepFactor =
<float>
See Numerics, p. 4134
Parameter Description
Diffuse Input Command Descriptions
468 TP 2005.10
Draft 8/11/05
Objects of the Diffuse Command
In rare cases the Diffuse command requires you to specify the Couple and/or
Iterate objects. While it is not recommended to use objects in the standard
situations, sometimes for PMEI examples, you must specify the solution process
in detail.
Note:
When the Couple and Iterate objects are used they must include all
equations that are to be solved, including both built in equations and
PMEI equations.
Note:
Objects must be enclosed in curly braces
Diffuse(...){...}
Examples Inert anneal:
Diffuse(
Time=10min
Temperature=1000C
)
Oxidation in pyrogenic steam atmosphere:
Diffuse(
Time=10min
Temperature=1000C
Pyrogenic
)
Inert anneal with some control of the time integration parameters:
Diffuse(
Time=10min
Temperature=1000C
Inert
Bdf2
InitialTimeStep=0.5min
TrBdf2=<boolean> See Numerics, p. 4134
WetO2=<boolean> Weto2 is equivalent to Steam=0.92, Oxygen=0.08,
Parameter Description
Parameter Description
Couple The Couple object is described in Couple, p. 428.
Iterate The Iterate object is described in Iterate, p. 4112.
Input Command Descriptions Diffuse
TP 2005.10 469
Draft 8/11/05
NiniSteps=2
TimeStepFactor=0.5
)
An example for a Diffuse command that uses an Iterate object to define a
solution strategy. Note, that it is usually not necessary to specify objects for the
Diffuse command, even when using PMEI. You can check which equations are
solved by using the Verbosity(verbose) command before the diffuse.
Diffuse(
Time=40min
Temperature=1000C
InitialTimeStep=1e9s
MaxTimeStep=100s
DryO2
)
{# begin of the Iterate object of the Diffuse command
Iterate( Iterations=1)
{# begin of the Couple objects of the Iterate object
Couple{ Oxygen } # 1st Couple object
Couple( # begin of 2nd Couple object
LinearSolver=iterative
Iterations=14
RelativeError=0.003
)
{ # begin of Equation objects of 2nd Couple
MyBoronEquation
MyArsenicEquation
Interstitial
Vacancy
MyCluster
} # end of Equation objects, End of 2nd Couple
Couple( # begin of 3rd Couple object
LinearSolver=iterative
Iterations=6
)
{ # begin of Equation objects of 3rd Couple
StressStrainY
StressStrainX
} # end of Equation objects, end of 3rd Couple
} # end of objects of Iterate
} # end of Diffuse command
An example for a Diffuse command that uses one Couple object:
Diffuse(
Time=30min,
Temperature=900C,
InitialTimeStep=0.01min,
TrBdf2,
TimestepFactor=0.5
)
{ # begin of Couple object
Couple(
Iterations=15
Diffuse Input Command Descriptions
470 TP 2005.10
Draft 8/11/05
LinearSolver=direct
)
{ # begin of Equation objects of the Couple
germaniumequation,
boronsigeequation,
arsenic
} # end of the Equation objects
} # end of the Couple object and of the Diffuse command
Input Command Descriptions Direction
TP 2005.10 471
Draft 8/11/05
Direction
Subcommand of Line and Where.
Direction( x=<float> y=<float> z=<float> )
Use the Direction command to specify a direction vector.
Parameter Description
X=<float>
Y=<float>
Z=<float>
component of direction vector.
Edge Input Command Descriptions
472 TP 2005.10
Draft 8/11/05
Edge
Subcommand of DefineContact, CombinedProfile, Gauss, Linear, Numeric, and
Template.
Use the Edge command to define an edge. An edge is specified by two points:
Edge(
Point(...)
Point(...)
)
Parameter Description
Point Use two Point commands to define the endpoints of an edge.
See Point, p. 4147.
Input Command Descriptions End
TP 2005.10 473
Draft 8/11/05
End
Subcommand of CrossSection and Where.
Use the End command to specify the coordinates of an endpoint.
End(
x=<float>
y=<float>
z=<float>
)
Parameter Description
X=<float>
Y=<float>
Z=<float>
coordinate of the endpoint.
Error Input Command Descriptions
474 TP 2005.10
Draft 8/11/05
Error
Subcommand of Numerics. Also used in the Couple object of the Diffuse
command.
The Error command defines region, material or equationspecific relative or
absolute error tolerances. Using the Error command should be restricted to special
situations. In a normal simulation the appropriate parameters can be set in the
Numerics command globally for all equations and regions.
Error(
Relative=<float> Absolute=<float>
Residual=<float> Device=<string>
Equation=<string>
Region=<string> Material=<string>
ContinueIteration=<float> ScaleNegative=<float>
Ts4Abe=<float>
ItResid=<float> KFill=<integer>
LinearSolver=<string> LinScale=<integer>
MaxBackVector=<integer> MaxiIter=<integer>
)
Parameter Description
Absolute=<float> See Numerics, p. 4134
ContinueIteration=<float> See Numerics, p. 4134
Device=<string> Name of the device for which the error condition is speci
fied. Default: the device where the equations are solved
Equation=<string> The name of an equation where the Relative or Abso
lute parameters are applied (see Appendix B, Equation
Database, p. B91 for the names of the builtin equations).
ItResid=<float> Required relative residuum of the iterative linear solver. The
iterated solution of the linear equation is
accepted, if:
Default:1e7
kFill=<integer> Allowed fillin level in the preconditioner for the kGMRes,
kGBiCG1 and kGBiCG2 solvers. Supported values: 0...5
Default: 0
∆x A∆x b =
A ∆x ⋅ b –
b
 itResid <
Input Command Descriptions Error
TP 2005.10 475
Draft 8/11/05
LinearSolver=<string> Selects the linear solver method used for all equations
solved in the diffuse command. A variety of linear solv
ers can be selected: direct, iterative, ILUCGS,
ILUGMRES, GBiCG1, GBiCG2, BiCGS, CGStab,
ICCG, BiS1, BiS2, kGMRes, kGBiCG1, kGBiCG2.
If iterative is specified, a fixed sequence of iterative solv
ers is defined, together with appropriate resources and
precision requirements. The first solver in the sequence is
used until it cannot solve the problem, then the next one
etc.
You can define your own solver strategy by specifying
several LinearSolver parameters. You may specify
relevant resource and precision parameters for each lin
ear solver (kFill, maxiIter, MaxBackVector and
itResit) right after each LinearSolver.
Default: iterative
LinScale=<integer> Selection of scaling scheme for the linear systems. Sup
ported values: 0, 1, 2, 3
Default: 0
Material=<string> The name of the material where the Relative or Abso
lute parameters are applied.
Default: all materials where the equation is solved.
MaxBackVector=<integer> Maximum number of basis vectors to be used in the ILUG
MRES and kGMRes linear solvers. During each iteration
one basis vector is generated and stored. A proper linear
combination of all basis vectors, minimizing the norm of
the residuum, represents the iterated solution.
If MaxBackVector<MaxIIter the ILUGMRES and
kGMRes methods are restarted after all basis vectors have
been used.
The default value depends on problem size.
MaxIIter=<integer> Maximum number of iterations in the iterative linear solver.
The default value depends on the selected linear solver.
Default:
Region=<string> The name of the region where the Relative or Abso
lute parameters are applied. Default: all regions where the
equation is solved.
Parameter Description
max 35 rank , ( )
Error Input Command Descriptions
476 TP 2005.10
Draft 8/11/05
Relative=<float> Relative error tolerance. If specified, it applies to all equa
tions being solved. This is currently the only parameter to
control the acceptance of a Newton process. If the relative
increments for the nodal values for all solution variables are
smaller than the required tolerances, the Newton loop is
accepted as solved.
Default: a specific value is chosen for each Newton loop.
See parameter RelativeError in Chapter 3, Equation 3
322, p. 3182
Residual=<float> Residual error tolerance. If you specify this parameter, it
applies to all equations being solved.
Default: 
ScaleNegative=<float> See Numerics, p. 4134
Ts4ABE=<float> Absolute error for a field in case of the PdFull diffusion
model. For the PdFull model, the same Newton acceptance
conditions are applied that are used in TSUPREM4. Nega
tive concentrations that occur for the first time are truncated
at Ts4ABE. For further negative values the previous iterated
values are multiplied by 0.01
Parameter Description
Input Command Descriptions Etch
TP 2005.10 477
Draft 8/11/05
Etch
Use the Etch command to simulate etching processes. Regions or materials may
be removed partially or completely. Use the Etch command to simulate dry,
wet, planar, and geometric etching.
The union of all polygons constructed from the userdefined MaskPolygon,
MaskLayer, and MaskEdge and of all polygons, constructed from the exposed
surfaces of unetchable regions or materials is computed. The resulting planar
mask polygon is used to protect parts of etchable regions from being etched.
By default, TaurusProcess performs an analysis of the topology of the structure.
Parts of etchable regions that are not connected to the exposed ambient through
etchable regions will not be modified by an etching. Set
IgnoreEtchStops=true to allow etching of regions that are not connected
to the exposed ambient by etchable regions.
Note:
TaurusProcess does not currently provide any type of visibility analysis.
The protection is based purely on the topology.
Etch(
Material=<string> Region=<string>
Thickness=<float> Surfaceposition=<float>
Etchtype=<string> Angle=<float>
Backside=<boolean>
MaskEdge(Point(x=<float>) Point(x=<float>))
MaskLayer=<string>
MaskPolygon(Point(x=<float> Z=<float>) ...)
ImpliedMasks(...)
YOfMask=<float> Negative=<boolean>
Radius=<float>
IgnoreEtchStops=<boolean>
Brick Circle Cylinder Location Manifold
Minmax Polygon Polyhedron Sphere
InABox(...)
Temperature=<float>
)
Etch Input Command Descriptions
478 TP 2005.10
Draft 8/11/05
Parameter Description
Angle=<float> Defines an angle in degrees for the etch sidewalls. Sloped side
walls are computed for the polygons resulting from computing the
union of all user defined MaskLayer, MaskPolygon,
MaskEdge, and all implied mask polygons. By default a 90deg
Angle is assumed: strictly vertical etching will be performed. If
an Angle larger than 90 deg is provided (typically 93 to 100
deg),
then the sidewall of the etched layer will have the shape, typical
for STI or polysilicon gate, etc. For Angle less than 90 deg the
etching will reach under the mask.
BackSide=<boolean> Selection of etching at the front or back side of the simulation
domain. For backside etching, you must specify the initial sub
strate domain such that the back side of the substrate is located
inside of the vertical extensions of the simulation domain. You
may also use a RedefineRegion command or a geometric etching
with IgnoreEtchStops to create ambient at the backside. By
default, etching is simulated at the front side, i.e., Back
side=false.
Brick Geometry primitive for etching (see Brick, p. 416).
Circle Geometry primitive for etching (see Circle, p. 419).
Cylinder Geometry primitive for etching (see Cylinder, p. 436).
EtchType=<string> Selects the type of etching. The EtchType is one of Wet, Dry,
Geometric, Planar or All. Each of the etch types modifies
the etchable regions according to a predefined rule. You can mod
ify all etch operations by specifying masks and/or by specifying a
set of geometry primitives inside a InABox subcommand. Etch
able regions are modified only inside these specified objects.
IgnoreEtchStops=
<boolean>
Parts of etchable regions that are not in contact with the exposed
ambient and are not connected to the exposed ambient through
etchable regions are not etched by default. If IgnoreEtch
Stops=true is specified, such parts may be etched as well.
Note, the etch stops are not based on a true visibility analysis but
rely solely on the topology of the initial structure.
Default: false
ImpliedMasks Specifies how implied masks are determined from the current
structure. Implied masks are used only for EtchType=Dry. By
default no implied masks are constucted. See ImpliedMasks, p. 4
106.
InABox Restricts the effect of any etch command to the specified
geometry. Only material that is inside the geometry will be etched.
See InABox on p. 4108.
Location Geometry primitive for etching (see Location, p. 4118).
Manifold Geometry primitive for etching (see Manifold, p. 4119).
Input Command Descriptions Etch
TP 2005.10 479
Draft 8/11/05
MaskEdge Defines a mask in the layout plane by extruding an edge defined on
the layoutX axis to along the layoutZ axis. See MaskEdge, p.
4120.
MaskLayer=<string> Name of the mask layer in the TL2 MaskFile that was loaded in
the DefineDevice command. The MaskLayer is case sensi
tive. MaskLayer may be specified several times in one Etch
command.
MaskThickness
=<float>
Specifies a depth relative to the mask plane below which etching is
not allowed.
MaskPolygon Defines a mask polygon in the layout xzplane.
See MaskPolygon, p. 4121.
Material=<string> Select a Material to be etchable. The etching applies to all
regions of the specified material. This parameter may be repeated
to specify that several materials are etchable. If neither Mate
rial nor Region is specified the etch command applies to all
regions of all materials.
MinMax Geometry primitive for etching (see MinMax, p. 4124).
Negative=<boolean> Specifies etching logic for masks.
Negative=false will remove material outside of the mask and
inside of the union of the specified geometry primitives.
Negative=true will remove material inside of the mask and
outside of the union of the specified geometry primitives.
Default: false
Polygon Geometry primitive for etching (see Polygon, p. 4149).
Polyhedron Geometry primitive for etching. See the definition of Polyhedron,
p. 4150.
Radius=<float> The sharp corners of a MaskPolygons may be replaced by an
appropriate arc of the specified radius wherever the edge length
permits this.
Region=<string> Select a region to be etchable. This parameter may be repeated to
specify that several regions are etchable. If neither Material nor
Region is specified the etch command applies to all regions of all
materials.
Sphere Geometry primitive for etching (see Sphere, p. 4189).
SurfacePosition=
<float>
Performs a CMPlike planar etching. The surface of the specified
materials or regions is flattened at the position.
Temperature=
<float>
Set the temperature to be used for the stress relaxation calculation,
if one is performed (see Chapter 3, Stress Rebalance After Etch
ing, p. 3179). The default unit for Temperature is
o
C (C).
Thickness=<float> Thickness of material that is removed.
Default: 500um
Parameter Description
∞ t
Etch Input Command Descriptions
480 TP 2005.10
Draft 8/11/05
Examples Geometric etching using a Polygon. Note that this etching may be applied to 1D,
2D or 3D structures. In 3D the entire “prism” for will be etched:
Etch(
Material=Oxide
EtchType=Geometric
Polygon(
Point(x=0.0um y=0.0um)
Point(x=1.0um y=0.0um)
Point(x=1.0um y=1.0um)
Point(x=0.0um y=1.0um)
)
)
Dry etching with a mask (Active) read from a TL2 MaskFile. The MaskFile
must have been specified when initializing the structure in the DefineDevice
command:
Etch(
Material=teos
EtchType=dry
MaskLayer=Active
Negative
Thickness=1.0um
)
Dry etching using a MaskPolygon and extracting the exposed surface faces of
all oxide regions to act as an implied mask:
Note:
The Negative flag only applies to MaskLayer’s from the layout file
and to user defined masks (MaskPolygon or MaskEdge). It does not
apply to ImpliedMasks:
Etch(
EtchType=dry
Material=silicon
Thickness=1.0um
Negative
ImpliedMasks(Material=oxide)
VerticalMaskOffset
=<float>
Specifies the ycoordinate of the mask plane as a vertical offset
from the highest solid point on the structure. May be negative
(below the highest point) or positive (above the highest point).
Default: 0.0
YOfMask=<float> Position of the mask plane. All masks are projected into the mask
plane before their union is constructed. The union of all mask
polygons is used to construct a mask profile (using the parameter
Angle for sloped sidewalls). The mask profile protects parts of
the etchable regions and materials from being etched.
Parameter Description
∞ z ∞ < < –
Input Command Descriptions Etch
TP 2005.10 481
Draft 8/11/05
MaskPolygon(
Point(x=0.0 z=0.0)
Point(x=1.0 z=0.0)
Point(x=1.0 z=1.0)
Point(x=0.0 z=1.0)
)
)
Wet etching using a MaskEdge. Note that the MaskEdge can be used in 1D, 2D
and 3D; the entire strip for will be masked:
Etch(
EtchType=wet
Material=silicon
Thickness=1.0um
MaskEdge(
Point(x=0.0)
Point(x=1.0)
)
)
Geometric etching using a Polyhedron:
Etch(
EtchType=geometric
Material=nitride
Polyhedron(
Polygon(
Point(x=0.16um y=0.2um z=0.02um)
Point(x=0.04um y=0.2um z=0.02um)
Point(x=0.04um y=0.2um z=0.18um)
Point(x=0.16um y=0.2um z=0.18um)
)
Polygon(
Point(x=0.04um y=0.2um z=0.18um)
Point(x=0.04um y=0.2um z=0.02um)
Point(x=0.10um y=0.0um z=0.10um)
)
Polygon(
Point(x=0.04um y=0.2um z=0.02um)
Point(x=0.16um y=0.2um z=0.02um)
Point(x=0.10um y=0.0um z=0.10um)
)
Polygon(
Point(x=0.16um y=0.2um z=0.02um)
Point(x=0.16um y=0.2um z=0.18um)
Point(x=0.10um y=0.0um z=0.10um)
)
Polygon(
Point(x=0.16um y=0.2um z=0.18um)
Point(x=0.04um y=0.2um z=0.18um)
Point(x=0.10um y=0.0um z=0.10um)
)
)
)
∞ z ∞ < < –
Etch Input Command Descriptions
482 TP 2005.10
Draft 8/11/05
Etching by removing the silicon material inside of three bricks:
Etch(
Material=silicon
Brick(
Point(x=0.10um y=0.20um z=0.10um)
Point(x= 0.30um y=0.05um z= 0.30um)
)
Brick(
Point(x= 0.03um y=0.20um z= 0.03um)
Point(x= 0.17um y=0.05um z= 0.17um)
)
Brick(
Point(x= 0.07um y=0.20um z= 0.07um)
Point(x= 0.13um y=0.05um z= 0.13um)
)
)
Dry etching using an inclined sidewall removing all materials outside the mask:
Etch (
Thickness=0.35um
Angle=100
EtchType=dry
MaskPolygon(
Point(x=0.08um z=0.04um)
Point(x=0.12um z=0.04um)
Point(x=0.12um z=0.08um)
Point(x=0.08um z=0.08um)
)
)
Geometric etching cutting off a piece of the substrate to allow backside processing
afterwards:
Etch(
Material=Silicon
EtchType=Geometric
Location(Y=2)
IgnoreEtchStops
)
Input Command Descriptions Expr
TP 2005.10 483
Draft 8/11/05
Expr
Use the expr keyword to assign the value of a mathematical expression to a
parameter. Variables used in expressions must have a preceding $ character. All
standard arithmetic operators are supported, as well as % (modulo) and ^ (power).
A number of standard functions are also supported, such as: sin, cos, tan,
asin, acos, atan, sinh, cosh, tanh, exp, log, log10, sqrt, abs,
ceil, and floor. All operations assume floatingpoint operands. Operator pre
cedence is the same as in C, except that ^ is rightassociative (in C this is the
exclusiveor operator).
Expressions can be used in Define commands. However, expressions must not
use variables that are defined in the same Define command.
Examples Define(now=12.01 hours=3.72)
Diffuse(
Temperature=1000C
Time=expr($now+$hours/24)
)
Define(a=2)
Define(
a1=expr($a)
b=expr(2*sin($a))
)
Define(c=expr($b^2*sqrt(2)$a1))
Extract Input Command Descriptions
484 TP 2005.10
Draft 8/11/05
Extract
Use the Extract command to create 1D cuts in a 2D or 3D structure and to
measure scalar parameters. The extracted values may be assigned to variables.
The values are printed into the output file and into separate extract files (extension
.ext) used by the TaurusWorkBench tool to control the simulation flow or to
optimize parameter values.
Extract(
What(Profile=<string>)
Where(...)
Save(File=<string> Header=<boolean>)
Moments=<boolean>
Layers=<boolean>
CompareTo=<boolean>
CompareAbsolute=<boolean> CompareRelative=<boolean>
CutoffEpsilon=<float> CutoffEpsilonn=<float>
Cutoffmagnitude=<float> CutoffMagnitudeN=<float>
CutoffMaximum=<float> CutoffMinimum=<float>
Searchepsilon=<float> SnapEpsilon=<floar>
ErrorThreshold=<float>
ErrorThresholdNotFound=<float>
Only(Name=<string>)
AllDataSets=<boolean>
RemainingDataSets=<boolean>
AllRegions=<boolean> Regions(Name=<string>...)
AllMaterials=<boolean> Materials(Name=<string>...)
MinX=<float> MaxX=<float>
MinY=<float> MaxY=<float>
MinZ=<float> MaxZ=<float>
Points(Point(...)...)
Sample=<string>
Name=<boolean>
ExtractFile=<boolean> Append=<boolean>
DifferenceFile=<boolean>
DefineBoundary=<boolean>
Basename=<boolean>
Print=<boolean>
All=<boolean>
Precision=<integer>
Prefix=<string>
Reset=<boolean>
Summary=<boolean>
)
Input Command Descriptions Extract
TP 2005.10 485
Draft 8/11/05
Parameter Description
All=<boolean> Perform all available comparisons. Default: false
AllDataSets =
<boolean>
Compare all available data sets. Default: true
AllMaterials
=<boolean>
Compare data sets in all materials. Use materialwise search. Default:
false
AllRegions
=<boolean>
Compare data sets in all regions. Use regionwise search. Default:
true
Append=<boolean> Append extracted values to an ExtractFile rather than overwrite
the file. Default: false
BaseName=<string> Specify a base name for the files generated using ExtractBound
ary.
CompareAbsolute
=<boolean>
Use absolute differences
rather than relative differences when comparing the current simula
tion
with a master file. Comparing absolute differences may be useful
when comparing fields with changing sign, e.g., levelset functions.
Default: false
CompareRelative
=<boolean>
Compare field values using relative differences when comparing
results with a master file. Default: true
CompareTo=<string> Name of master file, including file extension. An absolute or relative
path may be included.
The master file is loaded and remains in memory during one
Extract command. At the end of the Extract command it is
deleted. Several extractions may be performed in the same Extract
command: parameters to select and restrict fields and the parameter
Sample may be specified several times.
Only one master file is loaded per Extract command.
CutoffEpsilon
=<float>
Restricts the absolute value of a field from below. Any value with
smaller norm will be cut off at positive or negative value depending
on the sign of the value to compare to. This may be used when com
puting relative differences for fields that change sign.
CutoffEpsilonn
=<float>
If small negative values need to be cut off at a different absolute value
than small positive values, a separate negative value can be specified.
CutoffMagnitude
=<float>
Restricts the absolute value of a field from below. The maximum
value of the field is determined and divided by the specified Cut
offMagnitude. This can be used to compare fields in around the
peak value and a certain number of decades below the peak.
f
c
f
m
–
f
c
f
m
–
max f
c
f
m
, ( )

Extract Input Command Descriptions
486 TP 2005.10
Draft 8/11/05
CutoffMagnitudeN
=<float>
If small negative values need to be cut off at a different absolute value
than small positive values, a separate negative value can be specified.
CutoffMaximum
=<float>
Restrict large field values from above before comparing them.
CutoffMinimum
=<float>
Restrict small field values from below before comparing them.
DefineBoundary
=<boolean>
Generate an input file with a boundary description that matches the
current mesh.
DifferenceFile
=<string>
The absolute or relative differences of the field values can be stored
in a file. Note that the mesh from the master file is used and nodal
values are interpolated for each point of the master mesh in the cur
rent simulation mesh. If the parameter DifferenceFile is speci
fied, such a file is written for the currently evaluated fields.
If the parameter ErrorThreshold is set and if any data fields
were found different by more than the ErrorThreshold, a file
with the differences will be saved in the current working directory at
the end of the extraction command. The file name is taken from the
master file, with an "_diff" inserted between the file name and the file
extension.
ErrorThreshold
=<float>
If a relative or absolute difference of a field or any other extracted
quantity (e.g., NumberOfNodes) between the current mesh and the
master file exceeds the specified ErrorThreshold, an error mes
sage is printed and Taurus terminates with an error code. This func
tion is used in the tprocess diff script to test the results of different
Taurus Process versions.
Default: 1
ErrorThresholdNot
Found=<float>
If a point of the master file is not found as a mesh point in the current
simulation, a larger error margin may be specified.
Default: 1
ExtractFile
=<string>
The result of an extraction, a comparison between two files or an
extraction in the current simulation may be directed to a file with the
recommended extension .ext. These files can be used by TMA Work
Bench.
Layers=<boolean> Printout layer thicknesses when computing a 1D cut.
Default: false
Materials Extraction can be restricted to a subset of materials. By default, all
materials are used. See Materials, p. 4122.
MaxX=<float> Extraction can be restricted to a box.
MaxY=<float>
MaxZ=<float>
MinX=<float>
MinY=<float>
Parameter Description
Input Command Descriptions Extract
TP 2005.10 487
Draft 8/11/05
MinZ=<float>
Moments=<boolean> Printout all 4 Moments when computing a 1D cut.
Default: false
Name=<string> The value specified as Name is used as name of a variable. The
extracted value is assigned to the variable. If several Name parame
ters are specified, several extracted values are assigned in the order
they are extracted. The extracted variables may be used in subsequent
commands; e.g. to compute an expression in a Print command or
to define a thickness for an etching.
Only Restricts extraction to a list of fields. By default all fields are
extracted. Several field names may be specified in one Only com
mand. Differences in the list of fields between the master file and cur
rent file sill cause an error. See Only on p. 4143.
Note: TaurusProcess will stops with an error flag only if the
parameter ErrorThreshold is specified.
Points List of points to be used in the extraction. Values for each of these
points are interpolated in the current mesh and (if specified) in the
master mesh. See Points, p. 4148.
Precision=
<integer>
Defines the mantissa length (length of output field) for the output of
the extract command.
Prefix=<string> Userdefined string that is prepended to all output of the extract com
mand. This can be used to scan for certain extraction results in the
output file.
Print=<boolean> Extract(Print) can be specified to allow the standard printout
(min, max, integral, number of mesh points and edge lengths) from a
command independent of the verbosity.
Regions Extraction can be restricted to a subset of regions. Several regions
can be specified in the same Regions command. See Regions, p. 4
167.
RemainingDataSets
=<boolean>
If comparison of result files is done, specific cutoff values and crite
ria may be supplied for some fields known to require different rules,
e.g. CutOffEpsilon=1e12 for concentrations. The parameter
RemainingDataSets can be specified to perform comparison of
all data sets that had not been previously compared in this extract
command.
Reset=<boolean> Reset all parameters of the extraction to their hardcoded internal
default values. Note that only parameters are reset. A loaded master
file will remain on memory until the extract command is finished.
Parameter Description
Extract Input Command Descriptions
488 TP 2005.10
Draft 8/11/05
Sample=<string> Defines the target for the extraction of scalar values. Sample can
assume the following values:
All AspectRatioTree AspectRatioOther
ExposedAltitude Integral InterfaceDeviation
InterfacePosition Kurtosis Layers
LeastSquareDifference Maximum
MaximumEdgeLength Minimum MinimumEdgeLength
Moments NumberOfElements NumberOfNodes
Position ProjectedRange StandardDeviation
Skewness Values Volume
Note: Immediately following a Sample keyword the actual
extraction is performed. The parameters, points, cutoff values,
selection of taurus field names etc. specified BEFORE the
Sample keyword are used during the extraction. Parameters,
specified after a Sample keyword may be used only in a subse
quent extraction e.g. for the next Sample or are not used at
all.
Use Sample=AspectRatioTree to determine the maximum
aspect ratio of the rectangles in the final grid in 2D. In 3D the maxi
mum aspect ratio of the brick elements in the final grid is computed.
Use Sample=AspectRatioOther to determine the maximum
aspect ratio of the bounding box of triangle elements in 2D and of tet
rahedron, prism and pyramid elements in 3D.
Use Sample=ExposedAltitude to extract the position of the
ambient surface at a given point or set of points, by default in the
middle of x and zdirections.
Use Sample=InterfaceDeviation to compare the distance
between the surfaces and the contacts of the current simulation and
the master file.
Use Sample=InterfacePosition to extract the coordinate of
the intersection point of a 1D cut line and the region interfaces.
Use Sample=Layers to extract the layer thicknesses along a 1D
cut.
Use Sample=LeastSquareDifference to compare the two
profiles in the volume mesh or to compare two 1D cross sections: one
is computed in the current simulation structure, the other is computed
in the structure given by the master file.
(continued)
Parameter Description
Input Command Descriptions Extract
TP 2005.10 489
Draft 8/11/05
Examples Extraction of a 1D cross section through Arsenic and one component of the stress
tensor:
Extract(
Where(
Start(x=0 y=0 z=0)
End(x=0 y=2um z=0)
)
Sample = <string>
(continued)
Use Sample=Moments to extract all four moments of a 1D cross
section profile. Use Sample=ProjectedRange StandardDe
viation SkewNess or Kurtosis to extract only one of the
moments.
Use Sample=Values to compare all nodal values from the given
master file with values interpolated in the current mesh for the same
coordinates. This comparison does not require the meshes to be iden
tical. If a PointList is given, the values for these points are inter
polated in both the current and the master mesh and compared. The
interpolation includes a search of a nearby (within SearchEpsi
lon) point of the appropriate region or material. If a point from the
master file is found closer than SnapEpsilon to one mesh point of
the current simulation mesh, no interpolation is applied and the value
in this nearby point is compared to the master value.
Save Determines in which File an extracted 1D cut shall be saveddd. A
.data file is stored. The 1D data file is composed of several columns.
The first column contains the distance from the specified Start
point, each subsequent column contains the interpolated data values
for one of the specified Profile’s.
The syntax is Save(File=<string> Header=<boolean>)
The default is Header=True. Note that .data files cannot be used in
a DefineDevice command to initialize a 1D device.
SearchEpsilon
=<float>
Distance for the search of points for regionwise interpolation. If a
node of one region of the master mesh is not found within this dis
tance in a region with the same name in the current mesh, this is
reported as an error. Default 6nm
SnapEpsilon=<float> A small distance. No interpolation is applied but the nodal values are
compared instead, if a node is found closer than this distance to a
node of the current mesh.
Summary=<boolean> Prints out only a summary of the detected errors; avoids printing all
of the extracted values. Default: false
What Selects the fields for which a 1D cut is computed. Several Profile
parameters may be specified in one What command. See What, p. 4
218.
Where Defines the position of a 1D cut. See Where, p. 4219.
Parameter Description
Extract Input Command Descriptions
490 TP 2005.10
Draft 8/11/05
What(
Profile=arsenic
Profile=stressxx
)
Save(
File=extract_2d.dat
Header=true
)
)
Extraction of the integral of Arsenic into file aaa.ext, minimum of Arsenic into
a1.ext and appending of point value of Arsenic at the end of aaa.ext:
Extract(
Only( Name=arsenic)
ExtractFile="aaa.ext",
Sample=integral
ExtractFile="a1.ext"
Sample=minimum
Append
ExtractFile="aaa.ext"
Points(point(x=0 y=0.1))
Sample=values
)
Extraction (printout) of layer thicknesses and moments of 1D cross section of
arsenic:
Extract(
Where(
Start(x=0 y=3)
End(x=0 Y=3)
)
Layers
What(Profile=arsenic)
Moments
)
Printing of Minimum, Maximum and Integral for one field:
Extract(
Only(Name=Arsenic)
Sample=Minimum Sample=Maximum Sample=Integral
)
Input Command Descriptions Extract
TP 2005.10 491
Draft 8/11/05
Repeating the standard printout of Minimum, Maximum and Integrals:
Extract(Print)
Printing minimum, maximum and integrals for all fields, present in a simulation:
Refinements(Print(Name=all))
Extract(print)
Comparison of current simulation with master file. Report only errors. Compare
several items of the simulation mesh with the corresponding values in the master
file. Then compare minimum, maximum, integral and nodal values of arsenic,
boron and antimony profiles with the values for the master file. For nodal value
comparison, use all mesh points of the test/master_ox1_5.tdf mesh and compare
the values to the interpolated values found at the same coordinate in the current
mesh/Ignore all values below 1e12. Finally, compare the two levelset functions in
the data range t0.2 with their counterparts in the master file.
Extract(
CompareTo=”test/master_ox1_5.tdf”
Summary=true
ErrorThreshold=0.001
Sample=numberOfNodes
Sample=Volume
Sample=NumberOfElements
Sample=MinimumEdgeLength
Sample=MaximumEdgeLength
Sample=AspectRatioTree
Sample=AspectRatioOther
CutoffMinimum=1e12
Only(
Name=arsenic
Name=boron
Name=antimony
)
Sample=minimum
Sample=maximum
Sample=integral
Sample=values
Summary=false
ErrorThreshold=0.001
CutoffMinimum=0.2
CutoffMaximum=0.2
Only(
Name=levelsetfunction0
Name=levelsetfunction1
)
Sample=minimum
Sample=maximum
Sample=values
)
ExtraNormalVector Input Command Descriptions
492 TP 2005.10
Draft 8/11/05
ExtraNormalVector
Subcommand of Numeric and Template.
ExtraNormalVector( x=<float> y=<float> z=<float> )
Use the ExtraNormalVector command to specify an additional direction
when sweeping a 2D profile along a polygon using
LocalCoordinates=Sweep or SweepVertical.
Parameter Description
X=<float>
Y=<float>
Z=<float>
Specifies a component of the vector.
Input Command Descriptions ForEach
TP 2005.10 493
Draft 8/11/05
ForEach
Use the ForEach command to repeatedly process a block of statements. A loop
variable is specified along with a list of values which will be assigned to the
variable, one at a time, for each pass through the loop. For example:
foreach foo( 1 2 3 )
{
foreach bar( a b c )
{
cmd(
param1=$foo
param2=expr(2*$foo)
param3=concat($foo, $bar, ”.out”)
)
}
}
This example executes the command cmd, nine times, with the variable, foo, tak
ing on the values 1, 2, 3 and the variable bar assuming the values a, b, and c. The
values specified in the parentheses of a foreach command can be of any type,
including expressions. foreach loops can be nested.
Gauss Input Command Descriptions
494 TP 2005.10
Draft 8/11/05
Gauss
Subcommand of Profile.
Use the Gauss command to specify the parameters of a Gaussian profile.
Gauss(
PeakValue=<float>
DepthValue=<float> Depth=<float>
Sigma=<float>
LateralErfc=<boolean>
LateralRatio=<float>
Lateral=<float>
Edge(
Point(x=<float> y=<float> z=<float>)
Point(x=<float> y=<float> z=<float>)
)
Polygon(
Point(x=<float> y=<float> z=<float>)
...
)
MaskLayer=<string> YOfMask=<float>
)
• The 1D Gaussian profile is applied “inside” of the specified Edge,
MaskLayer or Polygon. and a Gaussian or Erfc decay function is applied
“outside”.
• The rolloff of the Gaussian profile can be defined either with Depth and
DepthValue or directly with Sigma.
• Use LateralERFC=true to apply a complementary error function as a lat
eral decay function to the Gaussian 1D profile. By default Lateral
ERFC=false.
• LateralRatio is ignored when Lateral is specified.
• Edge, MaskLayer and Polygon may can be specified several times. The
resulting profiles are added.
Parameter Description
Depth=<float> Specifies the distance from the peak at which the value of the
profile is DepthValue.
DepthValue=<float> Specifies the value of the profile at a distance Depth (in µm)
away from the peak. DepthValue is specified in the same
unit as PeakValue.
Input Command Descriptions Gauss
TP 2005.10 495
Draft 8/11/05
Edge Defines the position of the Gaussian profile in the simulation
domain. Points in the simulation mesh are projected orthogo
nally to the line defined by the Edge. The normal distance
from the line is used to evaluate the Gaussian profile. The
signed lateral distance of the projection from the Edge (nega
tive inside, zero at the end points and positive if the projection
is outside of the edge) is used to evaluate a lateral decay. See
Edge, p. 472.
Lateral=<float> Specifies the decay length for the lateral decay in µm. If it is
specified, LateralRatio is ignored.
LateralErfc=<boolean> Specifies whether a complementary error function is applied
as lateral decay function to the Gaussian 1D profile.
Default: false
LateralRatio=<float> Specifies the ratio of the lateral decay length to “vertical”
decay length, i.e., the specified value of Sigma or the value
computed from Depth, DepthValue and PeakValue.
Ignored when Lateral is specified.
Default: 1.0
MaskLayer=<string> Specifies the name of a mask in the TL2 MaskFile which
must be specified in the DefineDevice command. The
polygons from the MaskFile are converted into Polygon’s
using the two coordinates in the Maskfile for x and z and
using y=yOfMask.
PeakValue=<float> Specifies the maximum of the Gaussian profile. PeakValue
must be specified in the appropriate unit. The units can be
found in the solution database sol.db which is shipped with the
release and included in this manual (Appendix B, Fields Data
base, p. B80). The PeakValue is assumed to lie “on” the
specified Edge, Polygon, or MaskPolygon.
Polygon Defines the position of the Gaussian profile in the simulation
domain. Points in the simulation mesh are projected orthogo
nally into the plane defined by the Polygon. The normal dis
tance from that plane is used to evaluate the Gaussian profile.
The signed lateral distance from the projection to the polygon
(negative inside, zero at the end points and positive if the pro
jection is outside of the polygon) is used to evaluate the lateral.
See Polygon, p. 4149.
Sigma=<float> Specifies the characteristic roll off of the Gaussian (in µm).
This value is not used when Depth and DepthValue are
specified.
yOfMask=<float> Specifies the ycoordinate used for masks.
Parameter Description
Geometric Input Command Descriptions
496 TP 2005.10
Draft 8/11/05
Geometric
Subcommand of Profile.
Use the Geometric command to specify the parameters of a geometric profile.
A geometric profile is defined by a union of geometric primitives.
Geometric(
Brick(...)
Circle(...)
Cylinder(...)
Location(...)
Manifold(...)
MinMax(...)
Polygon(...)
Polyhedron(...)
Sphere(...)
)
Parameter Description
Brick Brick geometry primitive. See Brick, p. 416.
Circle Circle geometry primitive. See Circle, p. 419.
Cylinder Cylinder geometry primitive. See Cylinder, p. 436.
Location Location geometry primitive. See Location, p. 4118.
Manifold Manifold geometry primitive. See Manifold, p. 4119.
MinMax MinMax geometry primitive. See MinMax, p. 4124.
Polygon Polygon geometry primitive. See Polygon, p. 4149.
Polyhedron Polyhegron geometry primitive. See Polyhedron, p. 4150.
Sphere Sphere geometry primitive. See Sphere, p. 4189.
Input Command Descriptions Hole
TP 2005.10 497
Draft 8/11/05
Hole
Subcommand of geometric primitives such as Brick, Circle, Cylinder, Location,
Manifold, MinMax, Polygon, Polyhedron, Sphere, etc.
Use the Hole command to specify an exclusion set or “hole” in a geometric
primitive.
Hole(
Brick(...)
Circle(...)
Cylinder(...)
Location(...)
Manifold(...)
MinMax(...)
Polygon(...)
Polyhedron(...)
Sphere(...)
)
Any geometric primitive may contain one or more holes. Holes may contain any
collection of geometric primitives. The union of all primitives specified in the
hole is subracted from the parent geometry.
Note:
Geometry primitives inside a Hole command cannot have Holes.
Note:
Polygons that are used to define the faces of Polyhedron or Mani
fold primitives may contain holes, however these holes may only con
tain other Polygons.
Parameter Description
Brick Brick geometry primitive. See Brick, p. 416.
Circle Circle geometry primitive. See Circle, p. 419.
Cylinder Cylinder geometry primitive. See Cylinder, p. 436.
Location Location geometry primitive. See Location, p. 4118.
Manifold Manifold geometry primitive. See Manifold, p. 4119.
MinMax MinMax geometry primitive. See MinMax, p. 4124.
Polygon Polygon geometry primitive. See Polygon, p. 4149.
Polyhedron Polyhegron geometry primitive. See Polyhedron, p. 4150.
Sphere Sphere geometry primitive. See Sphere, p. 4189.
If Input Command Descriptions
498 TP 2005.10
Draft 8/11/05
If
Use the If, ElseIf, and Else statements to conditionally execute commands.
Each If command can be followed by zero or more ElseIf statements followed
by zero or more Else Statements.
If (condition1)
{
# Commands to execute if condition1 is true.
...
}
ElseIf (condition2)
{
# Commands to execute if condition2 is true.
...
}
Else
{
# Commands to execute if neither condition1
# nor condition2 are true.
...
}
Input Command Descriptions Implant
TP 2005.10 499
Draft 8/11/05
Implant
Use the Implant command to simulate ion implantation. The Implant command
contains parameters for both the Monte Carlo implantation and the analytic
implantation models as well as some parameters for the kinetic Monte Carlo
anneal simulation that can be performed together with the implantation. In the
subsequent parameter table parameters that are used only by the Monte Carlo
model are labeled MC and parameters used only by the analytic model are labeled
AI. Parameters used only for the KMC simulation are labeled TPA.
Implant(
Name=<string> Dose=<float> Energy=<float>
Tilt=<float> Rotation=<float>
Model=<string>
ImplantData=<string> ImplantDamageData=<string>
DataPath=<string>
PAI=<float> PAIThreshold=<float>
Plusnumber=<float> D.p1=<float>
PrintMoments=<boolean>
Backscattering=<boolean>
ProportionalRangeShift=<boolean>
ScaleDose=<boolean>
NoRegrid=<boolean>
Save(...)
Moments(...)
Also.Tab=<boolean>
CutoffConcentration=<float>
Nions=<integer>
AdaptiveRegrid=<string>
BeamDivergenceAngle=<float>
BoundaryConditions=<string>
Crystal=<boolean>
DamageModel=<string>
TrajectorySplit=<boolean> MaxSplit=<integer>
TrajectoryReplication=<boolean>
XLength=<float> ZLength=<float>
DepthSplit=<boolean> DoseSplit=<boolean>
DamageScalingFactor=<float>
HighEnergyModel=<boolean>
OxygenRecoil=<boolean> NitrogenRecoil=<boolean>
PointResponse=<boolean>
Molecule(...)
Save1D(...)
Temperature=<float> # always with unit, default C
Current=<float> # no unit allowed, value in mA/cm2
Time=<float> # always with unit, default min
DadosBatch=<integer>
Implant Input Command Descriptions
4100 TP 2005.10
Draft 8/11/05
MappingPolicy=<string>
Randomize=<boolean>
Seed=<integer>
)
Parameter Description
AdaptiveRegrid
=<string>
MC: Use analytical implant model to refine the mesh before
Monte Carlo implants. It can be one of the following options:
None, Gaussian, Pearson, DualPearson.
Default: DualPearson for boron, arsenic and phosphorus,
None otherwise
Also.Tab=<boolean> AI: Specify a true value for this parameter to obtain moments,
missing in a Moments command from implant tables.
Default: true
If you specify Also.Tab=false, Range and Sigma must be
specified, but reasonable values will be chosen for missing
Gamma, Kurtosis, LSigma, and LSlope. If you want to use a
DualPearson profile, you must specify in addition D.Range,
D.Sigma, and Frac, all other missing DualPearson parameters
will be given reasonable values.
BackScattering=
<boolean>
AI: Determines the dose scaling approach. For the default setting
of BackScattering=false the implanted ion profile is
scaled such that the whole specified dose is inside the solid state
structure. Otherwise, part of the dose (typically of the order of 1%)
that is outside of the solid state structure is lost in the ambient.
Default: False
BeamDivergenceAngle
=<float>
MC: Ion beam divergence angle.
Default:0.5
BoundaryConditions
=<string>
MC: Boundary conditions for Monte Carlo model: one of Vac
uum, Reflective, or Periodic.
Default: Periodic for quasi1D structures, Reflective oth
erwise.
Crystal=<boolean> MC: Specifies whether to consider silicon as crystalline or amor
phous in the Monte Carlo implantation.
Default: true
Current=<float> TPA: Current density of the ion beam in the implantation.
Default: 0.1 mA/cm
2
CutOffConcentration
=<float>
AI: Cuts off analytic implant profile below certain value to save
CPU time. Default: 1.e13
D.P1=<float> Parameter of the preamorphization model.
Input Command Descriptions Implant
TP 2005.10 4101
Draft 8/11/05
DADOSbatch=<integer> TPA: Specifies the number of batches for DADOS to simulate.
During implantation DADOS is called multiple times to anneal the
accumulated “so far” damage. Each “batch” is one transfer of a set
of particles generated by ion implantation “since the last batch” to
DADOS and a diffusion simulation in DADOS.
Default: 100
DamageModel=<string> MC: Selects Monte Carlo Implant damage model: one of None,
Plus, XKP, and Cascade
Default: Plus
DamageScalingFactor
=<float>
MC: Scales the implant damage profile in the Monte Carlo
implantation.
Default:1
DataPath=<string> AI: Specifies the path (directory) from which the implant data
tables can be found. If the implant data are not found in the current
directory and not found as specified in DataPath, the path spec
ified by the PHYSICS_DATA environment variable is used.
DepthSplit=<boolean> MC: Enables the depth split algorithm to enhance the statistical
significance of the profile tail regions in the Monte Carlo implan
tation. This is useful for 1D or quasi1D simulations, but does not
improve the lateral statistics.
Default: false
Dose=<float> Implantation dose in ions per square centimeter.
DoseSplit=<boolean> MC: Enables the dose split algorithm in the Monte Carlo simula
tion to enhance the statistical significance for the channeling tails.
Default: false for low doses;
true for doses over:
5e14 cm
2
for BF
2
, As & In,
1e15 cm
2
for Ge & P,
1e16 cm
2
for B.
Energy=<float> Implantation energy in keV (typically in the range 0.1 keV to 10
MeV)
HighEnergyModel
=<boolean>
MC: Provides computational speed improvements for high energy
Monte Carlo implants into amorphous materials.
Default: false
ImplantDamageData
=<string>
AI: Specifies suffix for the file names, containing the implant dam
age tables. The file names are of the form:
ion_damage_in_material_suffix. The values for ion and material
are defined from the implanted species (Name) and the materials
present in the structure. The damage table files must be present
either in the current working directory, or in the directory specified
by DataPath or in the directory, determined by the environment
variable PHYSICS_DATA. This parameter affects the suffix for all
materials in the structure.
Default: standard
Parameter Description
Implant Input Command Descriptions
4102 TP 2005.10
Draft 8/11/05
ImplantData=<string> AI: Specifies suffix for the file names with the moment tables for
the analytic implantation. The file names are of the form:
ion_in_material_suffix. Values for ion and material are given by
the implanted species (Name) and the materials present in the
structure. The moment table files must be present either in the cur
rent working directory, the directory specified by DataPath or in
the directory, determined by the environment variable
PHYSICS_DATA. This parameter affects the suffix for all materi
als in the structure.
Default: standard
MappingPolicy
=<string>
TPA: Specifies the mapping between particles and concentrations
for DADOS simulations. See p. 464
MaxSplit=<integer> MC: Specifies maximum number of split stages allowed for
DepthSplit and TrajectorySplit. Used only in Monte
Carlo simulation.
Default: 5
Model=<string> Name of the implant model. One of Gauss, Pearson, Dual
Pearson, or MonteCarlo.
Default: DualPearson
Molecule MC: Specifies arbitraty molecules for implantation with the
Monte Carlo model. See Molecule, p. 4125.
Moments AI: Specifies the moments of the DualPearson primary
distribution as well as the moments of the lateral distribution
directly in the input file without using a data table. See Moments,
p. 4126.
Name=<string> Name of the species to be implanted. Currently, Name is one of
Boron, BF
2
, Phosphorus, Germanium, Arsenic,
Indium, and Antimony. For Monte Carlo Name can also be one
of Fluorine, Aluminum, Silicon, Beryllium, Sele
nium, or Zinc. (The latter four are used in IIIV materials.) If a
Molecule subcommand is specified, Name can be any string.
The value is used as default for the Name, specified in Atom.
Nions=<integer> MC: Number of particles to be simulated in the Monte Carlo sim
ulation. Default: 10,000, 100,000, and 1,000,000 for 1D, 2D, and
3D simulations, respectively
NitrogenRecoil
=<boolean>
MC: Enable the calculation of nitrogen recoil particles when per
forming full cascade simulations in the Monte Carlo model.
NoRegrid=<boolean> AI: Specifies that implantation should not change the mesh. By
default a single regrid is used to ensure that all specified refine
ment criteria are satisfied for the implanted profile.
Default: false
OxygenRecoil
=<boolean>
MC: Specifies whether to calculate the oxygen knockon effect.
(Monte Carlo only)
Default: false
Parameter Description
Input Command Descriptions Implant
TP 2005.10 4103
Draft 8/11/05
PAI=<boolean> (PreAmorphizing Implant) Determines if the preexisting implant
damage should be taken into account for simulation of the ion
channeling suppression. Applies to both analytic and Monte Carlo
simulation.
Default: true
PAIThreshold=<float> AI Threshold implant damage concentration for conversion of the
implant damage into an equivalent amorphous layer thickness.
The equivalent amorphous layer thickness is then used for simula
tion of the ion channeling suppression. This parameter is com
pletely separate from the silicon amorphization threshold which
can be set up using a Physics command. Applies to analytic
implantation only.
Default: 2.5e22
PlusNumber=<float> Factor by which the asimplanted dopant profile is multiplied
before it is adding to the interstitial profile.
For both analytic and Monte Carlo implantation the default value
is calculated with the formula for effective plus number.
PointResponse
=<boolean>
MC Performs point response simulation in Monte Carlo mode at
the surface in the middle of the structure.
Default: false
PrintMoments
=<boolean>
AI: Prints out the moments extracted from the look up tables.
Note: These moments are used as printed only for a single
material target. The moments for multilayer targets are mod
ified according to the local layer structure.
Default: false
ProportionalRange
Shift=<boolean>
AI: Selects an approach for shifting projected ranges in a multi
layer target for the analytic implantation model. For Propor
tionalRangeShift=false, the projected ranges for
channeling and damage profiles in the multilayer target are
shifted by the same amount as the main projected range. For the
default setting of ProportionalRangeShift=true the pro
jected ranges for channeling and damage profiles are shifted by an
amount proportional to their ratio to the main projected range.
Default: true
Randomize=<boolean> Randomizes the seed of the random number generator for Monte
Carlo ion implantation and the atomistic diffusion with DADOS.
The default setting ensures the same results for all simulations that
use the same input file. Setting this parameter to true produces dif
ferent results every time the simulation is performed.
Default: false
Rotation=<float> Spherical angle phi around the PrimaryFlatDirection,
specified in the DefineDevice command.
Default: 0
Parameter Description
Implant Input Command Descriptions
4104 TP 2005.10
Draft 8/11/05
Save A Save command may be specified inside of an Implant com
mand. Unlike the toplevel Save command, a Save command
inside the Implant command saves only the asimplanted profile
and ignores everything that was in the structure before the implan
tation.
Save1D MC: Saves data in a format the provides easy comparison with
SIMS data. This command can be used only with Monte Carlo
implantation. See Save1D, p. 4180.
ScaleDose=<boolean> Specifies if the provided implant dose means the dose integrated
along the direction of wafer normal (ScaleDose=true) or
along the ion beam direction (ScaleDose=false). Scale
Dose=true is convenient if the purpose is to compare with 1D
SIMS data. The default behavior (false) corresponds to the indus
try standard.
Default: false
Seed=<float> MC: Specifies the seed value of the random number generator for
MC implant.
Default: 19191
Temperature=<float> TPA: Wafer temperature in the implanter. A temperature value
should always be specified with unit. Default unit is
o
C (degree
Celsius).
Default: 300 K
Tilt=<float> Spherical angle theta to the yaxis.
Default:0
Time=<float> TPA Specifies the implantation time. This is used only if an atom
istic simulation is performed during implantation. Phys
ics(Diffusion(Model=DADOS)) must have been
specified before the implant command. Default: Implant time,
defined from Current and Dose.
TrajectoryReplica
tion=<boolean>
MC Enables the trajectory replication, which identifies equivalent
parts of the device and replicates the trajectories wherever applica
ble. This method gives 3 to 4 times speed improvement for simple
topographies.
Default: false
TrajectorySplit
=<boolean>
MC Enables a trajectory split algorithm to enhance the statistical
significance for the channeling tails. It is unidirectional and
improves 1D, 2D, and 3D results.
Default: false
Parameter Description
Input Command Descriptions Implant
TP 2005.10 4105
Draft 8/11/05
Examples Implant( Name=boron Energy=10 Dose=1.0e14 Tilt=15
Rotation=30)
In the next example, implant data suffix is "myStandard" for all materials except
for silicon and polysilicon. In silicon the suffix is “myData”, while the suffix is
“mySIMS” for polysilicon. Besides, the implant model in silicon is DualPearson
(default), while it is Gauss in polysilicon.
The implant damage data suffix is “myDamage” in silicon,
while it is "standard" (default) for other semiconductor
materials. The implant data should be stored either in
the local working directory, or as specified in the
directory /home/my/data, or in the directory defined by
the environment variable PHYSICS_DATA.
Implant (
Name=boron
Energy=10
Dose=1.0e14
Tilt=0
Rotation=0
ImplantData=myStandard
DataPath="/home/my/data/"
Moments(
# default material: silicon
ImplantData=myData
ImplantDamageData=myDamage
)
Moments(
Material=polysilicon
Model=Gauss
ImplantData=mySIMS
)
)
XLength=<float> MC Specifies the length of the replication subwindow in x direc
tion (in microns). This is used only for TrajectoryReplica
tion=true.
Default: 0.01 um for 2D and 0.02 um for 3D
ZLength=<float> MC Specifies the length of the replication subwindow in z direc
tion (in µm). This is used only for TrajectoryReplica
tion=true for 3D simulations.
Default: 0.02 um
Parameter Description
ImpliedMasks Input Command Descriptions
4106 TP 2005.10
Draft 8/11/05
ImpliedMasks
Subcommand of Etch.
Use the ImpliedMask command to specify how implied masks are determined
from the current structure.
Note:
By default no implied masks are used. Unetched regions do not protect
parts of exposed etchable regions underneath unless an ImpliedMask
command is used.
Implied masks may be used only for EtchType=Dry.
ImpliedMasks(
All=<boolean>
Region=<string>
Material=<string>
Brick Circle Cylinder Location
Manifold MinMax Polygon Polyhedron
Sphere
)
Implied masks are constructed by projecting faces of the exposed boundaries into
the mask plane at y=YOfMask. Specify All=true to select the exposed
surfaces of all unetchable materials and regions as implied masks. Specify the
Region and Material parameters to limit the face selection to only faces of
selected unetchable regions. The face selection can be further restricted to only
those faces on the exposed surface that have all corners inside of a geometry as
specified by a collection of geometric primitives.
Parameter Description
All=<boolean> Specifies whether all exposed faces of all unetchable materials
should be used for implied mask construction.
Default: false
Brick Brick geometry primitive. See Brick, p. 416.
Circle Circle geometry primitive. See Circle, p. 419.
Cylinder Cylinder geometry primitive. See Cylinder, p. 436.
Location Location geometry primitive. See Location, p. 4118.
Manifold Manifold geometry primitive. See Manifold, p. 4119.
Material=<string> Specifies materials to use for implied mask construction. All
exposed faces of all unetchable regions of the specified material
will be used for implied mask construction.
MinMax MinMax geometry primitive. See MinMax, p. 4124.
Polygon Polygon geometry primitive. See Polygon, p. 4149.
Polyhedron Polyhegron geometry primitive. See Polyhedron, p. 4150.
Input Command Descriptions ImpliedMasks
TP 2005.10 4107
Draft 8/11/05
Region=<string> Specifies regions to use for implied mask construction. All
exposed faces of the specified unetchable region will be used for
implied mask construction.
Sphere Sphere geometry primitive. See Sphere, p. 4189.
Parameter Description
All=<boolean> Specifies whether all exposed faces of all unetchable materials
should be used for implied mask construction.
Default: false
InABox Input Command Descriptions
4108 TP 2005.10
Draft 8/11/05
InABox
Subcommand used in multiple contexts including DefineContact, Etch, Profile,
RedefineDevice, Regrid, Save, Select, etc.
Use the InABox command to specify or limit the geometry that a parent
command modifies.
You may specify any collection of geometry primitives inside of an InABox
subcommand.
InABox(
Brick(...)
Circle(...)
Cylinder(...)
Location(...)
Manifold(...)
MinMax(...)
Polygon(...)
Polyhedron(...)
Sphere(...)
)
Parameter Description
Brick Brick geometry primitive. See Brick, p. 416.
Circle Circle geometry primitive. See Circle, p. 419.
Cylinder Cylinder geometry primitive. See Cylinder, p. 436.
Location Location geometry primitive. See Location, p. 4118.
Manifold Manifold geometry primitive. See Manifold, p. 4119.
MinMax MinMax geometry primitive. See MinMax, p. 4124.
Polygon Polygon geometry primitive. See Polygon, p. 4149.
Polyhedron Polyhegron geometry primitive. See Polyhedron, p. 4150.
Sphere Sphere geometry primitive. See Sphere, p. 4189.
Input Command Descriptions Include
TP 2005.10 4109
Draft 8/11/05
Include
Use the Include command to include the contents of another file into the cur
rent input file, for example:
Include("header.pdm")
Include commands must appear as toplevel commands. A file can not be
included inside of a command. Include files can be nested to any depth. Include
files are searched as specified. If the quoted file name contains an absolute path,
and the file is not found, an error will be reported. If the file name contains no path
or a relative path, and the file cannot be opened as specified, the value of the envi
ronment variable PHYSICS_DATA is prepended to the specified name.
Initialize Input Command Descriptions
4110 TP 2005.10
Draft 8/11/05
Initialize
Subcommand of DefineDevice, DefineRegion, and Deposit.
Use the Initialize command to specify the initial value for fields when
creating a region.
Initialize(
Name=<string>
Value=<float>
Thickness=<float>
EndValue=<float>
)
• Use Initialize in DefineDevice only when the initial substrate is not
defined by a DefineRegion command. Otherwise, specify background
doping using Initialize in the DefineRegion command.
• Each Initialize command contains the definition for one field. Do not
repeat the Name or Value parameters. Repeat the Initialize command
instead.
• The Thickness and EndValue parameters are used only when Ini
tialize appears in the Deposit command.
Parameter Description
EndValue=<float> If both Value and EndValue are specified, a graded profile
is created in the deposited region. Value defines the value at
the original exposed surface before deposition and End
Value defines the value of the graded profile at the specified
Thickness.
Name=<string> Specifies the name of the field to initialize.
Thickness=<float> Specifies the thickness over which a graded profile is created.
Default: If unambiguous, the thickness defined in the
Deposit command. Otherwise, no default.
Value=<float> The initial value of the field
Input Command Descriptions Into
TP 2005.10 4111
Draft 8/11/05
Into
Subcommand of Layer used in Deposit.
Use the Into subcommand to specify which region or material should be
consumed as the layer grows.
Into(
Material=<string>
Region=<string>
)
Use either Material or Region, but not both.
The exposed ambient is consumed by default.
Parameter Description
Material=<string> Indicates that all regions of the specified material should be
consumed by the deposited layer.
Region=<string> Indicates that the specified region should be consumed by the
deposited layer.
Iterate Input Command Descriptions
4112 TP 2005.10
Draft 8/11/05
Iterate
An Iterate object is used as the object of a Diffuse command.
An Iterate object may contain two parameters: Iterations and
IgnoreCrit. You must enclose them into parentheses Iterate(...). The
parameters describe the “outer” iterations through all the couple objects specified,
e.g., in the Couple objects of the Iterate object. Each couple object of an
Iterate object represents a nonlinear problem by itself and may require several
Newtoniterations to converge. An Iterate object must have objects
An Iterate object itself must have objects that define which equations need to
be solved. It usually has at least two Couple objects, but it may also have other
Iterate objects.
Parameter Description
IgnoreCrit=<boolean> The parameter allows to control if convergence criteria are checked
or not. If convergence criteria are ignored, the specified number of
iterations is performed unconditionally. Otherwise, if convergence
criteria are fulfilled, the iteration process may be terminated before
the specified number of iterations is performed. Default: true In
TaurusProcess only one external block iteration couple objects is
done.
Iterations=<integer> The number of iterations through all the Couple objects of the
Iteration object. Default: 1
Object Description
Couple See Couple, p. 428.
Iterate An Iterate object may have other Iterate objects.
Input Command Descriptions Layer
TP 2005.10 4113
Draft 8/11/05
Layer
Subcommand of Deposit.
For DepositType=selective, a material layer can be deposited selectively
at different interfaces. The Layer command allows specification of selective
conformal deposition of one or several materials into a material or region. The
selective deposition can be restricted to occur only at certain interfaces between
materials or regions.
The available parameters are:
Layer(
Material=<string>
Region=<string>
Thickness=<float>
Onto(
Material=<string>
Region=<string>
Other=<boolean>
All=<boolean>
)
Into(
Material=<string>
Region=<string>
)
)
Note:
In the Into subcommand, and in every Onto subcommand only one of
the listed parameters must be used. If necessary you need to repeat
Thickness and Onto
Use several Layer commands in a single Deposit command to allow
simultaneous deposition of multiple layers of different materials. In each Layer
command, you must specify which material shall be deposited. You may provide
a region name using the Region parameter.
Use the Into subcommand to specify which region or material should be
consumed as the layer grows. The exposed ambient is consumed by default.
Each Layer command must specify the Thickness to be deposited. After
defining the Thickness, you must use an Onto command to select one or more
interfaces at which the new layer grows. The Onto command selects the interface
in terms of a Material or Region or a group of regions that is adjacent to the
consumed material or region. You can use several groups of Thickness and
Onto commands inside one Layer command to allow a variable thickness to
grow on different interfaces.
Layer Input Command Descriptions
4114 TP 2005.10
Draft 8/11/05
Parameter Description
Into Specifies either the material or the region to deposit into. This
command is optional. By default, selective deposition is done
into ambient. In this case only the exposed ambient is
modified. See Into, p. 4111.
Material=<string> Specifies the material of the deposited layer.
Onto Specifies the materials or regions a layer is deposited onto.
Selective deposition is performed at the interface between the
material or region specified in the Onto command, and the
material or region specified in the Into command. Several
Thickness specifications and Onto commands can be
given inside of a Layer command. See Onto, p. 4144.
Region=<string> Specifies the name of the deposited layer. A name is not
required because it is determined automatically by Taurus
Process.
Thickness=<float> Specifies the thickness of the conformal deposition inside the
consumed material or region, and along the interface at an
adjacent material or region, during selective deposition.
Input Command Descriptions Line
TP 2005.10 4115
Draft 8/11/05
Line
Subcommand of Where in the Extract command.
Extract(Where(Line(YMin=<float> YMax=<float>))...)
A 1D cut in a 1D simulation domain can be restricted using the YMin and YMax
values.
Parameter Description
YMax=<float> The maximum ycoordinate of the cut in 1D.
YMin=<float> The minimum ycoordinate of the cut in 1D.
Linear Input Command Descriptions
4116 TP 2005.10
Draft 8/11/05
Linear
Subcommand of Profile.
Use the Linear command to define the parameters of a linearly varying profile.
Note:
To avoid adding negative field values please specify the parameter Low
erBound=0 for each Linear subcommand of a Profile command.
Linear(
PeakValue=<float>
Depth=<float> DepthValue=<float>
Slope=<float>
LowerBound=<float> UpperBound=<float>
Lateral=<float> LateralErfc=<boolean>
Edge(...) Polygon(...)
MaskLayer=<string> yOfMask=<boolean>
)
• The roll off of the linear profile can be set either using Depth and Depth
Value or directly with Slope.
• Edge, MaskLayer and Polygon can be specified several times. The max
imum of the resulting profiles is used.
Parameter Description
Depth=<float> Specifies the distance in µm away from the position of the
peak at which the value of the profile will be DepthValue.
DepthValue=<float> Specifies the value of the profile at a distance Depth from the
peak.
Edge Defines the placement of the linear profile in the simulation
domain. Points in the simulation mesh are projected orthogo
nally to the line defined by the Edge. The normal distance
from the line is used to evaluate the linear profile. The signed
lateral distance of the projection from the edge (negative
inside, zero at the end points and positive if the projection is
outside of the edge) is used to evaluate a lateral decay. See
Edge, p. 472.
Lateral=<float> Specifies the decay length (in µm) for the lateral decay. If not
positive an abrupt decay is assumed.
Default: 1
Input Command Descriptions Linear
TP 2005.10 4117
Draft 8/11/05
LateralErfc=<float> For LateralErfc=true: an error function is applied
depending on the lateral distance from the edge or polygon.
For points with zero lateral distance from the edge or polygon
the value will be 1/2 of the value “deep” inside of the edge or
polygon. This is closer to “diffusion”like profiles and pro
vides a smooth transition between several profiles where
edges or polygons are touching.
For LateralErfc=false the full linear profile will be
applied “inside” and “on” the boundary of the edge or polygon
and a Gaussian decay function will be applied “outside” of the
edge or polygon. This leads to artificial “humps” in profiles
where edges or polygons are touching.
Default: false
LowerBound=<float> Smallest value, that can be returned for a linear profile. The
cut off is applied to the individual profile, before adding the
value to other profiles (e.g. uniform).
MaskLayer=<string> Selects the name of a mask in the TL2 MaskFile which
must be specified in the DefineDevice command. The
polygons from the MaskFile are converted into Polygon’s
using the two coordinates in the Maskfile for x and z and
using y=yOfMask.
PeakValue=<float> Specifies the maximum value of the profile. PeakValue
must be specified in the appropriate unit. The units can be
found in the solution database sol.db which is shipped with the
release and included in this manual (Appendix B, Fields Data
base, p. B80).
The value of the profile is set to PeakValue at the position
of the Edge, Polygon or MaskLayer.
Polygon Defines the placement of the linear profile in the simulation
domain. Points in the simulation mesh are projected orthogo
nally into the plane defined by the polygon. The normal dis
tance from that plane is used to evaluate the linear profile. The
signed lateral distance from the projection to the polygon
(negative inside, zero at the end points and positive if the pro
jection is outside of the polygon) is used to evaluate the lateral
decay.
Slope=<float> Specifies the roll off of the linear profile. The unit to specify
Slope is the unit of the specified field divided by µm.
UpperBound=<float> Largest value, that can be returned for a linear profile. The cut
off is applied to the individual profile, before adding the value
to other profiles (e.g. uniform).
yOfMask=<float> Specifies the ycoordinate used for masks.
Parameter Description
Location Input Command Descriptions
4118 TP 2005.10
Draft 8/11/05
Location
Subcommand used in multiple contexts including DefineRegion, Deposit, Etch,
Hole, InABox, etc.
Use the Location command to define a halfspace. All points in the 3D space
with a ycoordinate larger than the specified value are “inside” this geometry
primitive. Since the yaxis of TaurusProcess points into the wafer, points
“below” a surface have a larger ycoordinate. A Location command may con
tain a Hole command.
Location(
y=<float>
Hole(...)
)
Parameter Description
Hole Specifies an exclusion set or hole. See Hole, p. 497.
Y=<float> The ycoordinate of the interface between half spaces. All
points in the 3D space with a ycoordinate larger than the
specified value are “inside” this geometry primitive.
Input Command Descriptions Manifold
TP 2005.10 4119
Draft 8/11/05
Manifold
Subcommand used in multiple contexts including DefineRegion, Deposit, Etch,
Hole, InABox, etc.
Use the Manifold command to define one or several “surfaces” that separate
the simulation domain.
Manifold(
Polygon(...)
...
Hole(...)
)
A manifold is defined by specifying each of its faces as a polygon. Each polygon
is defined by a sequence of points. Consecutive points are connected by an edge.
Each polygon is closed by the edge connecting the last and the first point.
All polygons, defining a manifold must be consistent: each of the polygons must
be planar, and must not touch or intersect itself. Different polygon faces may only
touch along edges or points, they must not intersect. For each edge defined in one
of the polygons, the same edge must be defined in one other polygon, unless the
edge is completely outside of the simulation domain.
The orientation of the faces of the manifold must be counterclockwise when
viewed from the outside of the manifold. This does apply both to the faces
defining the “outer” hull of a manifold, but also to “holes”, i.e. when the set of
faces of the manifold defines an outer hull and a hole or a set of holes: looking
from “outside” of the manifold all faces must be counterclockwise.
Note:
The consistency of the normals is not checked. Failure to provide correct
orientation results in very obscure signed distance functions and may
cause huge mesh refinement. It is recommended to first use the manifold
specification to define a geometric profile on a fine fixed mesh before
using the manifold to construct a region boundary.
Each of the polygon faces, may contain holes, these holes must be polygons, com
pletely inside of the “outer” polygon, they must not intersect each other and must
not touch the outer polygon.
The Manifold command may contain Hole commands. The Hole command
may contain any number of geometry primitives of any type.
Parameter Description
Hole Specifies an exclusion set or hole. See Hole, p. 497.
Polygon Specifies a face of the manifold. Polygon faces may contain
holes, but such holes may contain only polygons. See Poly
gon, p. 4149
MaskEdge Input Command Descriptions
4120 TP 2005.10
Draft 8/11/05
MaskEdge
Subcommand of Etch.
Use the MaskEdge command to define a mask for etching simulations.
MaskEdge(
Point(X=<float>)
Point(X=<float>)
)
This command defines a mask in the layout plane by extruding an edge defined on
the layout xaxis to along the layout zaxis.
Several MaskEdge commands may be specified in one Etch command. Masks
can also be defined with the MaskPolygon commmand.
∞ t
Parameter Description
Point Specifies the endpoints of the mask edge. There must be
exactly two Point commands in a MaskEdge command.
The y and zcoordinates of the point have no meaning in this
context and should not be specified.
Input Command Descriptions MaskPolygon
TP 2005.10 4121
Draft 8/11/05
MaskPolygon
Subcommand of Etch.
Use the MaskPolygon command to define a mask in the layout plane (the xz
plane) for etching simulations.
MaskPolygon(
Point(X=<float> Z=<float>)
Circle(...)
Radius=<float>
)
The MaskPolygon can be either specified by a sequence of Points or by a
Circle. Consecutive points of the mask polygon are connected by edges. The
last point is connected by an edge to the first point to close the MaskPolygon.
Each MaskPolygon must contain only one closed polygon. If the Radius is
specified each of the specified corners of the mask is replaced by an arc of the
appropriate radius if the edge lengths allow the replacement.
Several MaskPolygon commands may be specified in one Etch command.
Masks can also be defined with the MaskEdge commmand.
Parameter Description
Circle See Circle, p. 419
Point Specifies the corners of the mask plolygon. The ycoordinate
of the point has no meaning in this context and should not be
specified.
Radius=<float> Radius of the circular arcs that replace the specified Points.
Materials Input Command Descriptions
4122 TP 2005.10
Draft 8/11/05
Materials
Subcommand of Extract.
Use the Materials command to restrict extraction to a subset of the materials
in a structure. Several materials can be specified in the same Materials
command.
Materials(Name=<string>)
Parameter Description
Name=<string> Specifies the name of a region to be included in the subset.
Input Command Descriptions Matrix
TP 2005.10 4123
Draft 8/11/05
Matrix
Subcommand of DefineDevice and Numeric.
Use the Matrix commmand along with the Shift command (Shift, p. 4185)
to specify a coordinate transformation when loading several result files to
combine them into a bigger structure. The coordinate transformation is given by
x_current = Matrix * x_file + Shift.
Matrix(
xx=<float>
xy=<float>
xz=<float>
yx=<float>
yy=<float>
yz=<float>
zx=<float>
zy=<float>
zz=<float>
)
Both the Matrix and the Shift vector must be defined before the MeshFile
to which they apply.
Parameter Description
XX=<float> Specifies the xxcoefficient of the transformation matrix.
Default: 1
XY=<float> Specifies the xycoefficient of the transformation matrix.
Default: 0
XZ=<float> Specifies the xzcoefficient of the transformation matrix.
Default: 0
YX=<float> Specifies the yxcoefficient of the transformation matrix.
Default: 0
YY=<float> Specifies the yycoefficient of the transformation matrix.
Default: 1
YZ=<float> Specifies the yzcoefficient of the transformation matrix.
Default: 0
ZX=<float> Specifies the zxcoefficient of the transformation matrix.
Default: 0
ZY=<float> Specifies the zycoefficient of the transformation matrix.
Default: 0
ZZ=<float> Specifies the zzcoefficient of the transformation matrix.
Default: 1
MinMax Input Command Descriptions
4124 TP 2005.10
Draft 8/11/05
MinMax
Subcommand used in multiple contexts including DefineRegion, Deposit, Etch,
Hole, InABox, etc.
MinMax(
MinX=<float> MaxX=<float>)
MinY=<float> MaxY=<float>)
MinZ=<float> MaxZ=<float>)
Hole(...)
)
The MinMax command generalizes the Location command. The set of points
inside of a MinMax geometry primitive may be restricted by a minimum and a
maximum in each coordinate direction. Like a Location or a Brick, a
MinMax is aligned with the axes of the Layout Coordinate System. Like any
geometry primitive, coordinates are specified in the Layout Coordinate System.
Defining any of the limits in any of the coordinate directions is optional. It is
recommended to not specify limits on or outside of the boundary of the simulation
domain. Any combination of limits can be specified provided there is at least one.
Specifying all six interfaces is equivalent to specifying a Brick. A MinMax
command may contain a Hole command.
Parameter Description
Hole Defines a hole in the MinMax geometry. See Hole, p. 497
MaxX=<float> The maximum xcoordinate that is considered inside the MinMax.
MaxY=<float> The maximum ycoordinate that is considered inside the MinMax.
MaxZ=<float> The maximum zcoordinate that is considered inside the MinMax.
MinX=<float> The minimum xcoordinate that is considered inside the MinMax.
MinY=<float> The minimum ycoordinate that is considered inside the MinMax.
MinZ=<float> The minimum zcoordinate that is considered inside the MinMax.
Input Command Descriptions Molecule
TP 2005.10 4125
Draft 8/11/05
Molecule
Subcommand of Implant.
The Molecule command provides a mechanism by which arbitrary molecules
can be implanted in a Monte Carlo implantation simulation. A Molecule
command contains several Atom subcommands (Atom, p. 413).
Molecule(
Atom(
Name=<string>
Z=<integer>
M=<float>
Num=<integer> # default:1
Profile=<boolean> # default:true
)
)
Parameter Description
Atom Specifes the atoms in the molecule. See Atom, p. 413.
Moments Input Command Descriptions
4126 TP 2005.10
Draft 8/11/05
Moments
Subcommand of Implant.
Use the Moments command to:
• Specify the moments of the DualPearson primary distribution as well as the
moments of the lateral distribution directly in the input file without using a
data table.
• Select a separate implant model for each material.
• Specify different ImplantData and ImplantDamageData suffixes for
each material.
Any of these settings apply only to the current Implant command.
Moments(
Impurity=<string> Material=<string>
Model=<string> Screen=<float>
ImplantData=<string> ImplantDamageData=<string>
Range=<float> Sigma=<float>
Gamma=<float> Kurtosis=<float>
LSigma=<float> LSlope=<float>
Frac=<float>
D.Range=<float> D.Sigma=<float>
D.Gamma=<float> D.Kurtosis=<float>
D.LSigma=<float> D.LSlope=<float>
)
The four moments of the primary (random) Pearson profile are specified using the
Range, Sigma, Gamma, and Kurtosis parameters; the lateral distribution is
specified using the LSigma and LSlope parameters. Similar parameters
D.Range etc. can be specified for the second (channeling) Pearson profile. The
Material parameter can be specified to select the material for which the
moments are used (the default material is silicon). Several Moments
subcommands can be used for the different materials in a structure.
Use the Model and Material parameters in the Moments subcommand to
select a separate implant model (one of Gauss, Pearson, DualPearson) for
each material.
To specify the suffixes of the implant data tables on a permaterial basis, Specify
the ImplantData, ImplantDamageData, and Material parameters.
Unlike global ImplantData and ImplantDamageData of the Implant
commnand, these parameters inside Moments will affect the specified material
only.
Input Command Descriptions Moments
TP 2005.10 4127
Draft 8/11/05
Parameter Description
D.Gamma=<float> Skewness (third moment) for the second (channeling) Pearson
profile.
D.Kurtosis=<float> Kurtosis (fourth moment) for the second (channeling) Pearson
profile.
D.LSigma=<float> Lateral standard deviation for the second (channeling) Pearson
profile.
D.LSlope=<float> Slope of the lateral standard deviation for the second (channel
ing) Pearson profile.
D.Range=<float> Projected range (first moment) for the second (channeling)
Pearson profile.
D.Sigma=<float> Standard deviation (second moment) for the second (channel
ing) Pearson profile.
Frac=<float> The dose fraction for the primary Pearson profile.
Gamma=<float> Skewness (third moment) for the primary Pearson profile.
ImpantData=<string> The suffix used to locate the implant table for the implanted
species.
ImplantDamageData=
<string>
The suffix used to locate the implant table for damage.
Impurity=<string> The impurity to which the specified moments apply.
Kurtosis=<float> Kurtosis (fourth moment) for the primary Pearson profile.
LSigma=<float> Lateral standard deviation for the primary Pearson profile.
LSlope=<float> Slope of the lateral standard deviation for the primary Pearson
profile.
Material=<string> The material for which the moments are used. Default: silicon
Model=<string> The implant model for the material specified with the Mate
rial parameter.
Range=<float> Projected range (first moment) for the primary Pearson profile.
Screen=<float> Thickness of screen oxide used for moment modification.
Sigma=<float> Standard deviation (second moment) for the primary Pearson
profile.
Normal Input Command Descriptions
4128 TP 2005.10
Draft 8/11/05
Normal
Subcommand of Circle.
Use the Normal command to specify a vector normal to the plane of a circle.
Normal(
x=<float>
y=<float>
z=<float>
)
Parameter Description
X=<float> The xcomponent of the normal vector.
Y=<float> The ycomponent of the normal vector.
Z=<float> The zcomponent of the normal vector.
Input Command Descriptions Numeric
TP 2005.10 4129
Draft 8/11/05
Numeric
Subcommand of Profile.
Use the Numeric command to specify the parameters of a numeric profile.
Numeric profiles are used to interpolate field values on a mesh that is different
from the current simulation mesh, e.g., from a TDF, TIF, or ASCII file. The
syntax of the Numeric command is:
Numeric(
MeshFile=<string>
Add(name=<string>)
Only(name=<string>)
Skip(name=<string>)
Coarsen(...)
Contour(...)
Attach=<bool>
DataScale=<float>
Dimension=<string>
Edge(...)
Extent=<float>
ExtraNormalVector(...)
FileType=<string>
InputField=<string>
InputRegion=<string>
LateralERFC=<boolean>
LocalCoordinates=<string>
Masklayer=<string> YOfMask=<float>
MaskPolygon(...) Polygon(...)
Matrix(...) Shift(...)
Print=<boolean>
SearchEpsilon=<float>
Sigma=<float>
Sigma_v=<float>
)
The Coarsen command can be used to reduce the number of points in the Con
tour or Polygon. See p. 426 for a description of the Coarsen command.
The Polygon and Edge are defined by a list of points.
When loading a 2D profile into a 3D structure and when using LocalCoordi
nates=Sweep or SweepVertical the Polygon or Contour does not need
to be planar but instead the contour is used as “curve” to sweep the profile along.
Each Polygon is assumed to be closed by connecting the first and the last point.
Several Polygons can be defined. For each polygon the loaded 2D profile will
be evaluated and the resulting profiles are added. A Contour (open or closed
polygon) can be defined, similar to a Template, either as a sequence of points or
by extracting it from a file. See Contour, p. 4195 for details.
Numeric Input Command Descriptions
4130 TP 2005.10
Draft 8/11/05
Parameter Description
Add Adds fields to the list of fields read from a file. Enables load
ing fields that would otherwise be skipped when reading the
file.
Several name assignments may be contained in one Only,
Skip or Add command. By default all fields except level set
functions are read from a file. See Add, p. 412
Attach=<boolean> This parameter controls the behavior when loading a numeric
1D profile. If specified, the minimum coordinate in the file is
determined and shifted such that the data value at the mini
mum coordinate is assumed at the specified edge or polygon
and the data values for larger coordinate values are assumed at
appropriate distance from the edge or polygon. Otherwise all
parts of the 1D profile with negative coordinate values are
ignored by the profile. The user may specify Shift(y=...) to
define the shift of the coordinate directly.
Coarsen The Coarsen command can be used to reduce the number of
points in a Polygon. See Coarsen, p. 421.
Contour When loading a 2D profile into a 3D structure and when using
LocalCoordinates=Sweep or SweepVertical the
Polygon does not need to be planar but instead the contour is
used as “curve” to sweep the profile along. Each Polygon is
assumed to be closed by connecting the first and the last point.
Several Polygons can be defined. For each polygon the loaded
2D profile will be evaluated and the resulting profiles added.
A Contour (open or closed polygon) can be defined, similar
to a Template, either as a sequence of points or by extract
ing it from a file. See Contour, p. 425 for details.
DataScale=<float> DataScale defines a scalar by which each loaded field value
is multiplied.
Default: 1
Dimension=<string> Defines the spatial dimension of an ASCII file profile. By
default the dimension is defined from the number of values in
each line of the ASCII file. May assume the values OneD,
TwoD or ThreeD. By default, the number of data values in
each line of the ASCII file is used to determine the dimension:
Each line contains all coordinates and one data value.
Edge An Edge is defined by a pair of points. Several edges may be
defined. If subsequent edges are connected, (i.e. the second
point of one edge coincides with the first point of the subse
quent edge, the edges are treated as a contiguous “curve” (i.e.
an open or closed polygon). Disjoint edges start a new
“curve”. See Edge, p. 472.
Input Command Descriptions Numeric
TP 2005.10 4131
Draft 8/11/05
Extent=<float> When loading 1D profiles into 2D or 3D or 2D profiles into
3D, the parameter Extent defines the length of the extrusion
in normal direction from the polygon (in µm). When Lat
eralERFC=true and LocalCoordinates=Polygon
Coordinates are specified, the interpolated field values are
multiplied by a complementary error function that is located at
the offset Extent from the polygon (at Extent one gets
half of the profile values). The extrusion is done normal to the
polygon plane symmetrically about the polygon such that the
polygon rests at the center.
Default: 0
ExtraNormalVector Specifies an additional direction when sweeping a 2D Profile
along a polygon using LocalCoordinates=Sweep or
SweepVertical. See ExtraNormalVector, p. 492.
FileType=<string> Defines the type of file to read: one of ASCII, TIF or TDF.
The parameter can be omitted for TDF and TIF files, if it can
be detected from the file extension. Each line of an ASCII file
contains one data point: a list of 1, 2 or 3 coordinates, followed
by one data value.
InputField=<string> Use the InputField parameter (in the Numeric com
mand) to store the interpolated values for the specified scalar
field into another field. The name of the other field is given by
the parameter Name (in the Profile command that contains
the Numeric subcommand). Several InputField names
can be specified. They are mapped to the fields identified by
Names in the order they appear.
InputRegion=<string> Defines the name of one region in the loaded TIF or TDF file.
Only data from the indicated region will be loaded.
LateralErfc=<boolean> LateralErfc=True selects a complementary error func
tion for the decay of the numeric profile at the end of the
Extent and at the outer boundary of the specified Edge,
MaskLayer, or Polygon. The actual functionality depends
on the dimensionality of the current mesh and the dimension
ality of the loaded mesh and also depends on the value, speci
fied for LocalCoordinates.
By default LateralErfc=false the full profile is applied
“inside” the Edge, MaskLayer, or Polygon and an abrupt
or Gaussian decay is assumed “outside”.
LocalCoordinates
=<string>
The parameter LocalCoordinates may assume the values
Sweep, SweepVertical, PolygonCoordinates, or
OriginalCoordinates. It selects the type of calculation
of local coordinates when loading 2D profiles into 3D simula
tion meshes. The description of the different methods to place
a 2D profile in 3D structures is contained in Numeric Profile,
p. 265.
Parameter Description
Numeric Input Command Descriptions
4132 TP 2005.10
Draft 8/11/05
MaskLayer=<string> A MaskLayer selects the appropriate polygons from the TL2
file, specified in the DefineDevice command. MaskLay
ers and MaskPolygons are translated into polygons using
the ycoordinate specified as YOfMask..
MaskPolygon Specifies a mask. See MaskPolygon, p. 4121. MaskLayers
and MaskPolygons are translated into polygons using the y
coordinate specified as YOfMask.
Matrix Defines the transformation matrix of general affine transfor
mation. See Matrix, p. 4123.
A mesh point of the current simulation mesh is transformed
as:
point_searched = Matrix * point_current + Shift.
Depending on the dimensions of the loaded file and the current
simulation and dependent on the LocalCoordinates,
point_current may represent the true actual coordinates of a
mesh point or local coordinates. See Numeric Profile, p. 265
for a detailed discussion.
Default: The identity matrix.
MeshFile=<string> Specifies the name of the file to be read.
Only Specifies an explicit list of fields to be read from a file.
By default all fields except level set functions are read from a
file. See Only, p. 4143
Polygon Defines the polygon if the dimensionality of the mesh in the
loaded file is less than the dimensionality of the current mesh.
See Polygon, p. 4149
Print=<boolean> Print a list of field names and region names which are used to
construct the profiles. Default: false
SearchEpsilon=<float> Defines the search range for mesh elements. Interpolation is
done regionwise. If a mesh node from a region of the current
simulation is not found in the loaded mesh in a region with the
same name, neighboring mesh elements in the loaded mesh
are inspected within the given distance. If an element is found,
the “closest” value in the correct region is applied. If neces
sary InputRegion must be specified to select data from a
certain region of the input file.
Default: 6nm
Parameter Description
Input Command Descriptions Numeric
TP 2005.10 4133
Draft 8/11/05
Shift Defines a translation vector. See Shift, p. 4185.
A mesh point of the current simulation mesh is transformed
as:
point_searched = Matrix * point_current + Shift.
Depending on the dimensions of the loaded file and the current
simulation and dependent on the LocalCoordinates,
point_current may represent the true actual coordinates of a
mesh point or local coordinates. See Numeric Profile, p. 265
for a detailed discussion.
Sigma=<float> Defines the characteristic distance of the roll off of the field
“outside”. The roll off is defined by .
For Sigma=0 an abrupt decay is assumed. When inserting 2D
numeric profiles into 3D, the error function is also applied in
the normal direction as:
Default: Sigma=0
Sigma_V=<float> Defines the decay length at +/Extent in the direction nor
mal to the Polygon for LocalCoordi
nates=PolygonCoordinates.
Default: The same value as Sigma
Skip Specifies fields to be skipped when reading a file.
See Skip, p. 4188
yOfMask=<float> Specifies the ycoordinate used when converting a
MaskPolygon or MaskLayer into a Polygon.
Parameter Description
erfc lat 2 Sigma • ( ) ⁄ ( )
erfc norm Extent – 2 Sigma • ( ) ⁄ ( )
Numerics Input Command Descriptions
4134 TP 2005.10
Draft 8/11/05
Numerics
Use the Numerics command to select methods, to set parameters for the
nonlinear and the linear solvers, and to set the convergence criteria, e.g., the
relative and the absolute error.
Note:
The Numerics command has an effect on global scope, similar to the
Physics command. The values specified in a Numerics command
apply to all Diffuse commands that are simulated after the Numer
ics command, if the corresponding parameters are not specified locally
in the Diffuse command. The parameter settings of several Numer
ics commands are accumulated. For each parameter the most recently
specified value is used.
Numerics(
Bdf1=<boolean> Bdf2=<boolean> Bdf1bdf2=<boolean>
Trbdf2=<boolean>
ConstStep=<boolean>
InitialTimestep=<float> # specify with unit, default min
nIniSteps=<integer>
MaxTimeStep=<float> # specify with unit, default min
MinTimeStep=<float> # specify with unit, default min
TimeStepFactor=<float>
SmallTimeStep=<float> # specify with unit, default min
SmallStepTimeDiscError=<float>
MaxTimeStepFactor=<float>
MinTimeStepFactor=<float>
MaxDisplacementPerTimeStep=<float>
MaxTemperatureChangePerTimeStep=<float>
MaxPressureChangePerTimeStep=<float>
ImbalanceLimit=<float>
MinimumStepControlFactor=<float>
KeepTimeStepAfterRejection=<integer>
MaxKeepTimeStepAfterRejection=<integer>
MinDisplacementPerRegrid=<float>
Previous=<boolean>
Iterations=<integer> MaxDivergenceCount=<integer>
Relative=<float>
NewtonResid=<float> AddNewtonResid=<float>
CalcResidual=<boolean> CheckResidual=<boolean>
Residual=<float> Absolute=<float>
Damping=<boolean> DampingDenominator=<float>
DampingExponent=<float> DiagonalDamping=<float>
Error(...)
ContinueIteration=<float> ScaleNegative=<float>
TS4ABE=<float>
StoreError=<integer> StoreIterated=<integer>
Input Command Descriptions Numerics
TP 2005.10 4135
Draft 8/11/05
StoreResidual=<integer> StoreUpdate=<integer>
ItResid=<float>
LinearSolver=<string>
MaxiIter=<integer> kFill=<integer>
LinScale=<integer> MaxBackVector=<integer>
IgnoreMovingMoundaries=<boolean>
AddConvectiveFlux=<boolean>
Verbosity=<string>
)
Parameter Description
Absolute=<float> Absolute error for the check of the Newton convergence. The
specified value is scaled depending on the internal scaling of
the field (for all fields in TaurusProcess the scaling factor is
1) and then used in the denominator of the Newton conver
gence check. See parameter ScaledAbsError in Chapter
3, Equation 3322, p. 3182.
AddConvectiveFlux
=<boolean>
An extra term is added to the flux across the interface during
oxidation and silicide growth to account for the convective
transport across the interface.This code is still in experimental
stage and should be used with caution. Default: false
AddNewtonResid=<float> A constant value is added to the denominator when comparing
the relative nonlinear residuum. See Chapter 3, Equation 3
323, p. 3182.
Default: 1.e30
Bdf1=<boolean> Selects the first order implicit time discretization (backward
Euler)
Default: True for oxidation and silicidation
Bdf1Bdf2=<boolean> Selects a twostep time discretization scheme. A first order
implicit method (Euler) for the first halfstep is combined with
a second order implicit method (Gear) for the second half
step. Default: True for inert anneals.
Bdf2=<boolean> Selects the second order implicit time discretization (Gear
scheme). Default: False
CalcResidual=<boolean> If specified, the residual of each equation is calculated and
shown in the output
Default: false
CheckResidual=<boolean> If specified, the residual is used in the convergence test. A
Newton iteration is considered converged if the solution satis
fies the relative error or the residual error.
CheckResidual=true implies CalcResidual=true
Default: false
Numerics Input Command Descriptions
4136 TP 2005.10
Draft 8/11/05
ConstStep=<boolean> For ConstStep=false the time step is selected automati
cally using a time step estimator. Default: False
ContinueIteration
=<float>
Parameter to control the acceptance of Newton iterations in
case negative iterated values need to be truncated.
Note that this does not apply to the special case of using the
PdFull diffusion model.
ContinueIteration<0:In case negative concentrations
need to be truncated, require one more Newton step.
ContinueIteration=0: Measure the relative error for
the truncated concentrations similar to the not truncated nodes.
ContinueIteration>1: In case of truncated concentra
tions perform an additional iteration unless the relative error
times the value of ContinueIteration is smaller than
Relative.
For values between 0 and 1 the values that need truncation are
replaced by an average of their neighboring positive values.
Default: 1.0001 (The truncated values ion is ignored and the
Newton solution may be accepted right after truncation.)
Damping=<boolean> If Daming is selected, the maximum factor is determined such
that all concentrations remain positive. The Newton incre
ments for all equations, solved together in one coupled prob
lem are scaled by the same factor. A truncation of negative
values is not required in this case.
For the PdFull diffusion model a special Newton update strat
egy has been implemented that copies exactly the behavior of
TSUPREM4 Damping is ignored in this case.
DampingDenominator
=<float>
Parameter for the diagonal damping. in Equation 41 and
Equation 42.
DampingExponent=<float> Parameter for the diagonal damping. in Equation 41 and
Equation 42.
DiagonalDamping
=<float>
During the first few Newton steps the diagonal matrix ele
ments are multiplied by a factor >1. The factor depends on the
norm of the right hand side and on the number of the
Newton iterated . The parameter DiagonalDamping
defines in Equation 41 and Equation 42.
Equation 41
Equation 42
For the PdFull diffusion model a special Newton update strat
egy has been implemented that copies exactly the behavior of
TSUPREM4. DiagonalDamping is ignored in this case.
Parameter Description
b
c
rhs
it
a
a rhs
1 b rhs + ( )it
c –
 c 0 < ,
a rhs
1 b rhs + ( )c
it

c 0 > ,
Input Command Descriptions Numerics
TP 2005.10 4137
Draft 8/11/05
Error The Error command defines equationspecific relative or
absolute error tolerances. See Error, p. 474.
IgnoreMovingBoundaries
=<boolean>
If an oxidation is simulated with this flag, the boundary condi
tions for point defects are chosen like in an oxidation, but the
layer structure is not actually modified and no regrid is per
formed. This flag can be used to replace thermal oxidation of
thin layers in 3D simulations by a deposition of a thin oxide
and an anneal simulation that accounts for the impact of the
oxidation on the dopant and point defect profiles.
ItResid=<float> Required relative residuum of the iterative linear solver. The
iterated solution of the linear equation is
accepted, if:
Default:1e7
ImbalanceLimit=<float> Imbalance limit when solving stress equations. A value of e.g.
10 may be specified to limit the changes of the stress.
InitialTimeStep
=<float>
Initial time step. Always specify with a unit. Default unit min.
Default value: depends on the selected diffusion model.
Iterations=<integer> Maximum number of Newton iterations for each a Newton
loop. Default: 14
KeepTimeStepAfterRejec
tion=<integer>
Number of time steps after a rejected Newton step during
which the time step is not increased. Default: 1
kFill=<integer> Allowed fillin level in the preconditioner for the kGMRes,
kGBiCG1 and kGBiCG2 solvers. Supported values: 0...5
Default: 0
LinearSolver=<string> Selects the linear solver method used for all equations
solved in the diffuse command. A variety of linear solvers
can be selected: direct, iterative, ILUCGS, ILUG
MRES, GBiCG1, GBiCG2, BiCGS, CGStab, ICCG,
BiS1, BiS2, kGMRes, kGBiCG1, kGBiCG2.
If iterative is specified, a fixed sequence of iterative solvers
is defined, together with appropriate resources and preci
sion requirements. The first solver in the sequence is used
until it cannot solve the problem, then the next one etc.
You can define your own solver strategy by specifying sev
eral LinearSolver parameters. You may specify rele
vant resource and precision parameters for each linear
solver (kFill, maxiIter, MaxBackVector and
itResit) right after each LinearSolver.
Default: iterative
LinScale=<integer> Selection of scaling scheme for the linear systems. Supported
values: 0, 1, 2, 3
Default: 0
Parameter Description
∆x A∆x b =
A ∆x ⋅ b –
b
 itResid <
Numerics Input Command Descriptions
4138 TP 2005.10
Draft 8/11/05
MaxBackVector=<integer> Maximum number of basis vectors to be used in the ILUG
MRES and kGMRes linear solvers. During each iteration one
basis vector is generated and stored. A proper linear combina
tion of all basis vectors, minimizing the norm of the residuum,
represents the iterated solution.
If MaxBackVector<MaxIIter the ILUGMRES and
kGMRes methods are restarted after all basis vectors have
been used.
The default value depends on problem size.
MaxDisplacementPer
TimeStep=<float>
In oxidation and silicide growth the time step may be
restricted to not allow too large deformation of the structure in
one time step. A value of e.g. 2nm or less can be specified if
oscillations are observed in an oxidation simulation. Default:
10 nm
MaxDivergenceCount=
<integer>
Maximum number of Newton iterations with increasing resid
ual. If the right hand side norm increases during too many iter
ations, the Newton process is aborted.
Default: max (5, Iterations/3)
If the PdFull diffusion model is used, the Newton process is
aborted if the right hand side norm does not decrease suffi
ciently fast.
MaxIIter=<integer> Maximum number of iterations in the iterative linear solver.
The default value depends on the selected linear solver.
Default:
MaxKepTimeStepAfterRe
jection=<integer>
Maximum Number of time steps after multiple rejected New
ton steps during which the time step is not increased.
Default: 5
MaxPressureChangePer
TimeStep=<float>
In a pressure ramp the time step may be restricted to enforce
the simulations to discretize the pressure range fine enough. In
each time step of a ramp the pressure at the beginning of the
time step is used. Default: none
MaxTemperatureChangeP
erTimeStep=<float>
In a temperature ramp the time step may be restricted to
enforce the simulations to discretize the temperature range
fine enough. In each time step of a ramp the temperature at the
beginning of the time step is used. Default: none
MaxTimeStep=<float> Maximum time step. Should be specified with unit, default
time unit is min.
Default none.
MaxTimeStepFactor=
<float>
Maximum factor by which the new time step may be increased
compared to the current time step.
Default: 2
MinDisplacementPerRe
grid=<float>
The maximum displacement computed during one time step is
accumulated. No remeshing is performed while the accumu
lated maximum displacement remains smaller than MinDis
placem