sentaurus process -  · sentaurus process contents iii sentaurus process about this manual.....xvii

546
Sentaurus Process Version Y-2006.06, June 2006

Upload: dokhanh

Post on 28-May-2018

403 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

Sentaurus ProcessVersion Y-2006.06, June 2006

Page 2: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

ii

Copyright Notice and Proprietary InformationCopyright © 2006 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 DocumentationThe 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 StatementAll 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.

DisclaimerSYNOPSYS, 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, iN-Phase, in-Sync, Leda, MAST, Meta, Meta-Software, ModelTools, NanoSim, OpenVera, PathMill, Photolynx, Physical Compiler, PowerMill, PrimeTime, RailMill, RapidScript, Saber, SiVL, SNUG, SolvNet, Superlog, System Compiler, TetraMAX, TimeMill, TMA, VCS, Vera, and Virtual Stepper are registered trademarks of Synopsys, Inc.

Trademarks (™)Active Parasitics, AFGen, Apollo, Apollo II, Apollo-DPII, Apollo-GA, ApolloGAII, Astro, Astro-Rail, Astro-Xtalk, Aurora, AvanTestchip, AvanWaves, BCView, Behavioral Compiler, BOA, BRT, Cedar, ChipPlanner, Circuit Analysis, Columbia, Columbia-CE, Comet 3D, Cosmos, CosmosEnterprise, CosmosLE, CosmosScope, CosmosSE, Cyclelink, Davinci, DC Expert, DC Professional, DC Ultra, DC Ultra Plus, Design Advisor, Design Analyzer, Design Vision, DesignerHDL, DesignTime, DFM-Workbench, Direct RTL, Direct Silicon Access, Discovery, DW8051, DWPCI, Dynamic-Macromodeling, 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, Hercules-Explorer, Hercules-II, Hierarchical Optimization Technology, High Performance Option, HotPlace, HSIMplus, HSPICE-Link, iN-Tandem, Integrator, Interactive Waveform Viewer, i-Virtual Stepper, Jupiter, Jupiter-DP, JupiterXT, JupiterXT-ASIC, JVXtreme, Liberty, Libra-Passport, Library Compiler, Libra-Visa, Magellan, Mars, Mars-Rail, Mars-Xtalk, Medici, Metacapture, Metacircuit, Metamanager, Metamixsim, Milkyway, ModelSource, Module Compiler, MS-3200, MS-3400, Nova Product Family, Nova-ExploreRTL, Nova-Trans, Nova-VeriLint, Nova-VHDLlint, Optimum Silicon, Orion_ec, Parasitic View, Passport, Planet, Planet-PL, Planet-RTL, Polaris, Polaris-CBS, Polaris-MT, Power Compiler, PowerCODE, PowerGate, ProFPGA, ProGen, Prospector, Protocol Compiler, PSMGen, Raphael, Raphael-NES, RoadRunner, RTL Analyzer, Saturn, ScanBand, Schematic Compiler, Scirocco, Scirocco-i, Shadow Debugger, Silicon Blueprint, Silicon Early Access, SinglePass-SoC, Smart Extraction, SmartLicense, SmartModel Library, Softwire, Source-Level Design, Star, Star-DC, Star-MS, Star-MTB, Star-Power, Star-Rail, Star-RC, Star-RCXT, Star-Sim, Star-SimXT, Star-Time, Star-XP, SWIFT, Taurus, TimeSlice, TimeTracker, Timing Annotator, TopoPlace, TopoRoute, Trace-On-Demand, True-Hspice, TSUPREM-4, TymeWare, VCS Express, VCSi, Venus, Verification Portal, VFormal, VHDL Compiler, VHDL System Simulator, VirSim, and VMC are trademarks of Synopsys, Inc.

Service Marks (SM)MAP-in, SVP Café, and TAP-in 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.

Sentaurus Process, Y-2006.06

Page 3: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CONTENTS

Sentaurus ProcessAbout this manual .............................................................................................................................xvii

Audience ..........................................................................................................................................................xviiiRelated publications.........................................................................................................................................xviiiTypographic conventions .................................................................................................................................xviiiCustomer support.............................................................................................................................................. xixAcknowledgments .............................................................................................................................................. xx

Chapter 1 Getting started .....................................................................................................................1Overview ..............................................................................................................................................................1Setting up the environment ..................................................................................................................................2Starting Sentaurus Process .................................................................................................................................3

Starting different versions of Sentaurus Process ...........................................................................................4Command file input ..............................................................................................................................................4Examples .............................................................................................................................................................5

1D simulation..................................................................................................................................................5Defining an initial 1D grid ........................................................................................................................5Defining initial simulation domain............................................................................................................6Initializing the simulation .........................................................................................................................6Setting up an MGOALS meshing strategy ..............................................................................................6Growing screening oxide.........................................................................................................................7Measuring oxide thickness......................................................................................................................8Depositing screening oxide .....................................................................................................................8Tcl control statements .............................................................................................................................8Implantation.............................................................................................................................................9Saving the as-implanted profile...............................................................................................................9Thermal annealing, drive-in, activation, and screening oxide strip .......................................................10

2D simulation................................................................................................................................................11Defining an initial 2D grid ......................................................................................................................11Defining simulation domain and initializing simulation ..........................................................................12Boron implants ......................................................................................................................................13Growing gate oxide ...............................................................................................................................13Defining polysilicon gate .......................................................................................................................13Polysilicon reoxidation...........................................................................................................................14Saving snapshots..................................................................................................................................15Remeshing for LDD and halo implants .................................................................................................16LDD and halo implants..........................................................................................................................17Spacer formation...................................................................................................................................17Remeshing for source/drain implants....................................................................................................18Source/drain implants ...........................................................................................................................18Contact pads .........................................................................................................................................18Saving the full structure.........................................................................................................................19Extracting 1D profiles ............................................................................................................................19

Chapter 2 The simulator Sentaurus Process....................................................................................21Overview ............................................................................................................................................................21Interactive graphics ............................................................................................................................................22Command-line options .......................................................................................................................................23

Interactive mode...........................................................................................................................................23Environment variables........................................................................................................................................24File types used in Sentaurus Process................................................................................................................24Syntax for creating input files .............................................................................................................................25

Tcl input........................................................................................................................................................26

iii

Page 4: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCONTENTS

Aliases..........................................................................................................................................................27Default simulator settings: FLOOPS.models file ................................................................................................27Parameter database...........................................................................................................................................28

Regionwise parameters and region name-handling.....................................................................................29Viewing defaults: Parameter Database Browser..........................................................................................31Starting the Parameter Database Browser...................................................................................................32

Browser functions..................................................................................................................................32Browser preferences .............................................................................................................................34

Viewing parameters stored in a TDR file......................................................................................................34Creating and loading structures and data ..........................................................................................................35

Understanding coordinate systems ..............................................................................................................35Wafer coordinate system ......................................................................................................................35Simulation coordinate system ...............................................................................................................36Visualization coordinate system............................................................................................................37

Defining the structure: line and region commands .......................................................................................38Creating the structure and initializing data ...................................................................................................39Defining crystal orientation ...........................................................................................................................40Automatic dimension control ........................................................................................................................41Saving and visualizing structures .................................................................................................................41Saving 1D profiles for Inspect ......................................................................................................................42The select command (more 1D saving options)...........................................................................................42Loading 1D profiles: profile command..........................................................................................................43

Setting parameters of iterative solver ILS ..........................................................................................................43

Chapter 3 Implantation .......................................................................................................................45Overview ............................................................................................................................................................45Selecting models................................................................................................................................................47Coordinate system .............................................................................................................................................49

Coordinates for implantation ........................................................................................................................49Tilt and rotation angles..........................................................................................................................49

2D coordinate system...................................................................................................................................51Multistep implantation...................................................................................................................................52Mask.............................................................................................................................................................52

Analytic implantation ..........................................................................................................................................53Primary distribution functions .......................................................................................................................54

Gaussian distribution: gaussian ............................................................................................................54Pearson distribution: pearson ...............................................................................................................55Pearson distribution with linear exponential tail: pearson.s ..................................................................56Dual Pearson distribution: dualpearson ................................................................................................57

Screening (cap) layer-dependent moments .................................................................................................57Profile reshaping ..........................................................................................................................................59Lateral straggle.............................................................................................................................................60

Depth-dependent lateral straggle: Sentaurus Process formulation.......................................................61Depth-dependent lateral straggle: Dios formulation..............................................................................61Depth-dependent lateral straggle: Taurus formulation..........................................................................61

Analytic damage: Hobler model ...................................................................................................................62Datasets .......................................................................................................................................................63Tables...........................................................................................................................................................64

Implantation table library .......................................................................................................................64File formats ...........................................................................................................................................66

Multilayer implants........................................................................................................................................71Lateral integration.........................................................................................................................................73

Local layer structure in 2D ....................................................................................................................73

iv

Page 5: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CONTENTS

Primary direction and scaling ................................................................................................................74Backscattering algorithm.......................................................................................................................75

Point-response interface ..............................................................................................................................76Analytic damage and point defect calculation ..............................................................................................77

Implantation damage.............................................................................................................................77Point defect calculation .........................................................................................................................77

Multiple implantation steps ...........................................................................................................................78Preamorphization implants (PAI) model................................................................................................78Coimplantation model ...........................................................................................................................79

MC implantation .................................................................................................................................................81Running Crystal-TRIM or Taurus MC...........................................................................................................81Structure of target material...........................................................................................................................82

Composition ..........................................................................................................................................82Single-crystalline materials ...................................................................................................................83Amorphous materials ............................................................................................................................84Polycrystalline materials........................................................................................................................85Molar fractions.......................................................................................................................................85

Crystal-TRIM physical models......................................................................................................................86Single-crystalline materials ...................................................................................................................86Amorphous materials ............................................................................................................................87Damage buildup and crystalline–amorphous transition ........................................................................89Internal storage grid for implantation damage.......................................................................................90

Taurus MC physical models .........................................................................................................................91Binary collision theory ...........................................................................................................................92Electronic stopping model .....................................................................................................................97Damage accumulation and dynamic annealing ....................................................................................99Damage de-channeling .......................................................................................................................100

Molecular implants .....................................................................................................................................101MC implant into polysilicon.........................................................................................................................102MC implant into compound materials with molar fractions .........................................................................103MC implant into silicon carbide...................................................................................................................104MC damage and point defect calculation ...................................................................................................105

Crystal-TRIM: Damage probability ......................................................................................................105Taurus MC damage calculation ..........................................................................................................105Point defects .......................................................................................................................................106

Statistical enhancement .............................................................................................................................106Trajectory splitting ...............................................................................................................................107Trajectory replication...........................................................................................................................107

Boundary conditions and domain extension...............................................................................................108Transparent boundary.........................................................................................................................108Periodic structure ................................................................................................................................109Reflective boundary ............................................................................................................................109Extending the simulation domain ........................................................................................................109

Datasets .....................................................................................................................................................110Loading external profiles ..................................................................................................................................110

Loading files using load.mc ........................................................................................................................110Automated Monte Carlo run .......................................................................................................................111

Chapter 4 Diffusion ...........................................................................................................................113Overview ..........................................................................................................................................................113Basic diffusion ..................................................................................................................................................114

Transport models .......................................................................................................................................116Recombination and reaction models ..........................................................................................................118

v

Page 6: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCONTENTS

Boundary conditions...................................................................................................................................118Other materials and effects ........................................................................................................................119

General formulation..........................................................................................................................................119Transport models .............................................................................................................................................120

ChargedReact diffusion model ...................................................................................................................120React diffusion model.................................................................................................................................125ChargedPair diffusion model ......................................................................................................................127Pair diffusion model....................................................................................................................................129ChargedFermi diffusion model ...................................................................................................................131Fermi diffusion model .................................................................................................................................132Constant diffusion model............................................................................................................................133

Carbon diffusion model ....................................................................................................................................133Initializing carbon transient cluster model ..................................................................................................136

Fluorine diffusion model ...................................................................................................................................136Initializing fluorine model ............................................................................................................................137

Flash or laser anneal model.............................................................................................................................137Control parameters.....................................................................................................................................139Heat parameters for materials....................................................................................................................141Notes ..........................................................................................................................................................142

Diffusion in polysilicon......................................................................................................................................142Grain shape and the grain growth equation ...............................................................................................143Polycrystalline diffusion equations .............................................................................................................145Boundary conditions...................................................................................................................................147

Boundary conditions for grain growth equation...................................................................................147Dopant diffusion boundary conditions .................................................................................................147

Dopant diffusion in SiGe ..................................................................................................................................148Bandgap effect ...........................................................................................................................................149Effects on point-defect equilibrium concentrations.....................................................................................149Germanium–boron pairing..........................................................................................................................150

Initializing germanium–boron clusters.................................................................................................151Pressure-dependent diffusion ..........................................................................................................................151Electron concentration .....................................................................................................................................152

Bandgap narrowing ....................................................................................................................................153Epitaxy .............................................................................................................................................................155Modifying dopant diffusivities ...........................................................................................................................156

Diffusion prefactors ....................................................................................................................................156High-concentration effects on dopant diffusion ..........................................................................................156

Dopant activation and clustering ......................................................................................................................157Dopant active model: None ........................................................................................................................157Dopant active model: Solid.........................................................................................................................157Dopant active model: Transient..................................................................................................................157Dopant active model: Cluster .....................................................................................................................158

Initializing transient or cluster model ...................................................................................................160Dopant active model: BIC...........................................................................................................................161

Initializing BIC model...........................................................................................................................162Dopant active model: Equilibrium...............................................................................................................162

Defect clusters .................................................................................................................................................163Defect cluster model: None ........................................................................................................................163Defect cluster model: Equilibrium...............................................................................................................164Defect cluster model: 311...........................................................................................................................164

Initializing 311 model...........................................................................................................................170Defect cluster model: Loop.........................................................................................................................171

Initializing loop model..........................................................................................................................172

vi

Page 7: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CONTENTS

Defect cluster model: LoopEvolution..........................................................................................................172Initializing LoopEvolution model..........................................................................................................173

Defect cluster model: FRENDTECH ..........................................................................................................174Initializing FRENDTECH model ..........................................................................................................177

Defect cluster model: 1Moment..................................................................................................................177Initializing 1Moment model..................................................................................................................178

Defect cluster model: 2Moment..................................................................................................................179Initializing 2Moment model..................................................................................................................180

Defect cluster model: Full ...........................................................................................................................181Initializing full model ............................................................................................................................183

Implant to diffusion ...........................................................................................................................................184Initializing solution variables.............................................................................................................................185Boundary conditions.........................................................................................................................................187

HomNeumann ............................................................................................................................................187Natural........................................................................................................................................................188

Surface recombination model: PDependent .......................................................................................188Segregation ................................................................................................................................................190

Surface recombination model: Default ................................................................................................190Surface recombination model: PairSegregation..................................................................................191

Dirichlet ......................................................................................................................................................192Three-phase segregation ...........................................................................................................................192

Surface recombination model: Default ................................................................................................193Surface recombination model: PairSegregation..................................................................................194

EpiTransfer.................................................................................................................................................195Boundary conditions at moving interfaces .......................................................................................................195

Enhanced and retarded diffusion ...............................................................................................................195Conserving dose ........................................................................................................................................195

Common dopant and defect dataset names ....................................................................................................196

Chapter 5 Atomistic kinetic Monte Carlo diffusion ........................................................................203Overview ..........................................................................................................................................................203KMC technique.................................................................................................................................................204Operating modes..............................................................................................................................................204

Atomistic mode...........................................................................................................................................204Restrictions .........................................................................................................................................205Implant ................................................................................................................................................206Diffuse .................................................................................................................................................206

Non-atomistic mode ...................................................................................................................................207Simulation domain............................................................................................................................................207

Recommended domain size.......................................................................................................................208Internal grid ......................................................................................................................................................208Randomization .................................................................................................................................................209Boundary conditions.........................................................................................................................................209Estimating CPU time ........................................................................................................................................210Atomistic diffusion simulation with KMC...........................................................................................................211

KMC units...................................................................................................................................................211Space management ...................................................................................................................................212Materials and space ...................................................................................................................................213Supported materials ...................................................................................................................................214Time management .....................................................................................................................................214Simulation and CPU times .........................................................................................................................215Reported time.............................................................................................................................................216

Snapshots ...........................................................................................................................................216

vii

Page 8: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCONTENTS

Movie...................................................................................................................................................217Time internal representation and limitations...............................................................................................217

Particles ...........................................................................................................................................................217Particle types..............................................................................................................................................218

Particles in models ..............................................................................................................................219Alias ....................................................................................................................................................220Colors..................................................................................................................................................220Particles and parameters ....................................................................................................................220Removing particles..............................................................................................................................221

Defect types ...............................................................................................................................................222Point defects, impurities, dopants, and impurity paired point defects ..............................................................223

Interstitials and vacancies ..........................................................................................................................223Impurities....................................................................................................................................................224

Migration (diffusion).............................................................................................................................225Breakup...............................................................................................................................................226Parameters..........................................................................................................................................226Parameter examples ...........................................................................................................................227

Enabling and disabling interactions............................................................................................................228Interaction rules...................................................................................................................................229Examples ............................................................................................................................................229

Damage accumulation model: Amorphous pockets.........................................................................................230Shape .........................................................................................................................................................232Growth........................................................................................................................................................232Recombination ...........................................................................................................................................232

Parameters..........................................................................................................................................233Emission.....................................................................................................................................................233

Parameters..........................................................................................................................................235Amorphous pockets life cycle.....................................................................................................................236

Parameters..........................................................................................................................................236Amorphous pockets interactions ................................................................................................................237

Interaction with point defects: I and V .................................................................................................237Interaction with impurities....................................................................................................................238

Extended defects .............................................................................................................................................239{311} Defects (ThreeOneOne) ...................................................................................................................239

Shape..................................................................................................................................................239Capture ...............................................................................................................................................240Emission..............................................................................................................................................241Recombination ....................................................................................................................................241Interactions..........................................................................................................................................242

Dislocation loops ........................................................................................................................................242Shape..................................................................................................................................................243Capture ...............................................................................................................................................243Emission..............................................................................................................................................243Interactions..........................................................................................................................................245

Voids ..........................................................................................................................................................245Shape..................................................................................................................................................246Capture ...............................................................................................................................................247Emission..............................................................................................................................................247Recombination ....................................................................................................................................247Interactions..........................................................................................................................................247

Amorphization and recrystallization .................................................................................................................248Amorphous defects ....................................................................................................................................250

Shape..................................................................................................................................................250

viii

Page 9: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CONTENTS

Growth.................................................................................................................................................250Recombination ....................................................................................................................................250

Recrystallization .........................................................................................................................................251Dumping damage................................................................................................................................252Crystalline islands ...............................................................................................................................252Impurity sweep/deposit .......................................................................................................................252

Impurity clusters ...............................................................................................................................................254Shape .........................................................................................................................................................254Growth........................................................................................................................................................255

Percolation ..........................................................................................................................................256Parameters..........................................................................................................................................256

Emission.....................................................................................................................................................257Parameters..........................................................................................................................................258

Recombination ...........................................................................................................................................258Parameters..........................................................................................................................................259

Frank–Turnbull mechanism........................................................................................................................259Parameters..........................................................................................................................................260

Complementary recombination ..................................................................................................................260Parameters..........................................................................................................................................260

Complementary emission...........................................................................................................................261Parameters..........................................................................................................................................261

Interactions.................................................................................................................................................261Parameters..........................................................................................................................................262

Fermi-level effects: Charge model ...................................................................................................................263KMC approach ...........................................................................................................................................264Assumptions...............................................................................................................................................264Formation energies for charged species ....................................................................................................265

Parameters..........................................................................................................................................265Binding energies.........................................................................................................................................266Temperature dependency ..........................................................................................................................266

Parameters..........................................................................................................................................267Charge attractions and repulsions..............................................................................................................267Fermi-level computation .............................................................................................................................268Updating charged states ............................................................................................................................268

Electronic concentrations and charge state ratios ..............................................................................269Mobile particles ...................................................................................................................................269Pairing and breakup reactions ............................................................................................................270Parameters..........................................................................................................................................270

Electric drift.................................................................................................................................................271Bandgap narrowing ....................................................................................................................................272

Parameters..........................................................................................................................................273Charge model and boron diffusion example...............................................................................................273Charge model and arsenic diffusion example ............................................................................................274

Interfaces and surfaces....................................................................................................................................275Interfaces for self silicon point defects .......................................................................................................276

Capture ...............................................................................................................................................277Emission..............................................................................................................................................277Parameters..........................................................................................................................................277

Interfaces for impurities ..............................................................................................................................278Parameters..........................................................................................................................................279Emission..............................................................................................................................................280Capture ...............................................................................................................................................281

ix

Page 10: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCONTENTS

Other materials.................................................................................................................................................282Parameters.................................................................................................................................................282

Including new impurities...................................................................................................................................283Impurities diffusing without pairing .............................................................................................................284Normal diffusion .........................................................................................................................................284Diffusion without pairing .............................................................................................................................284

KMC models report ..........................................................................................................................................285Extracting KMC-related information .................................................................................................................287

Creating fields in synchronization with KMC information: deatomize.........................................................288Using the Sentaurus interface ....................................................................................................................289

Select, print, and plot ..........................................................................................................................289struct ...................................................................................................................................................289Non-atomistic mode ............................................................................................................................289Atomistic mode....................................................................................................................................290

Calling directly the KMC kernel ..................................................................................................................290Writing and displaying TDR files with KMC information ......................................................................290

Inquiring KMC profiles, histograms, and defects........................................................................................292Histogram............................................................................................................................................293Profiles ................................................................................................................................................295Supersaturation...................................................................................................................................297Defects ................................................................................................................................................299Doses ..................................................................................................................................................301

Materials.....................................................................................................................................................302

Chapter 6 Alagator scripting language ...........................................................................................305Operators .........................................................................................................................................................305

Binary and unary operators ........................................................................................................................305Simple functions .........................................................................................................................................306Differential functions...................................................................................................................................306String names ..............................................................................................................................................307Solution names and subexpressions: Terms .............................................................................................307Constants and parameters .........................................................................................................................307

Alagator for diffusion ........................................................................................................................................307Basics.........................................................................................................................................................308Setting boundary conditions .......................................................................................................................309

Dirichlet boundary condition................................................................................................................309Segregation boundary condition .........................................................................................................310Natural boundary condition .................................................................................................................310Interface traps .....................................................................................................................................311

Using terms ................................................................................................................................................311Callback procedures...................................................................................................................................313

Callbacks during execution of diffuse command.................................................................................313Using callback procedures .........................................................................................................................316

Setup procedure: InitProc ...................................................................................................................316Equation procedure: EquationProc .....................................................................................................317Preprocessing and postprocessing data: diffPreProcess, UserDiffPreProcess, diffPostProcess, UserDiffPostProcess ...........................................................................................................................319Complex initialization procedures: InitSolve and EquationInitSolve....................................................321

Diffusion summary: pdb, TclLib, FLOOPS.models.....................................................................................322Alagator for generic growth ..............................................................................................................................324

Basics.........................................................................................................................................................324Callback procedures...................................................................................................................................327

Setup procedure: InitGrowth ...............................................................................................................329

x

Page 11: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CONTENTS

Equation procedure: EquationGrowthProc..........................................................................................330Generic growth summary: pdb, TclLib, FLOOPS.models ..........................................................................331

Modifying diffusion models...............................................................................................................................333UserAddEqnTerm, UserSubEqnTerm.................................................................................................333UserAddToTerm, UserSubFromTerm.................................................................................................334

Chapter 7 Advanced Calibration......................................................................................................335Overview ..........................................................................................................................................................335Using Advanced Calibration.............................................................................................................................335Additional calibration by users .........................................................................................................................336

Chapter 8 Oxidation and silicidation ...............................................................................................337Oxidation ..........................................................................................................................................................337

Basic oxidation ...........................................................................................................................................338Temperature cycles....................................................................................................................................338Mixed flow oxidation ...................................................................................................................................339

Computing partial pressures ...............................................................................................................339Oxidant diffusion and reaction....................................................................................................................340

Transition to linear and parabolic rate constants ................................................................................342Massoud model...................................................................................................................................343Orientation-dependent oxidation .........................................................................................................344Stress-dependent oxidation ................................................................................................................344Dopant-dependent oxidation ...............................................................................................................345Diffusion prefactors .............................................................................................................................347

Silicidation ........................................................................................................................................................347Silicidation reactions...................................................................................................................................348

Numerics ..........................................................................................................................................................350Outer time loop...........................................................................................................................................350Inner time loop............................................................................................................................................350

Controlling mesh during oxidation....................................................................................................................352Mechanics displacements ...................................................................................................................352Grid spacing ........................................................................................................................................352Grid cleanup........................................................................................................................................352Maximum allowed thickness increase.................................................................................................352Maximum allowed rate of growth ........................................................................................................353Miscellaneous tricks ............................................................................................................................353

3D oxidation .....................................................................................................................................................353Recommendations and examples ..............................................................................................................354Example: LOCOS.......................................................................................................................................362

Chapter 9 Computing mechanical stress........................................................................................365Overview ..........................................................................................................................................................365Material models................................................................................................................................................366

Purely viscous materials.............................................................................................................................366Shear stress–dependent viscosity ......................................................................................................367

Viscoelastic materials.................................................................................................................................367Purely elastic materials ..............................................................................................................................368Anisotropic elastic materials.......................................................................................................................368TSUPREM-4 models ..................................................................................................................................369

Equations: Global equilibrium condition ...........................................................................................................369Boundary conditions.........................................................................................................................................370

Example .....................................................................................................................................................372

xi

Page 12: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCONTENTS

Stress-causing mechanisms ............................................................................................................................372Stress induced by growth of material .........................................................................................................372Stress induced by densification..................................................................................................................373Stress caused by thermal mismatch ..........................................................................................................373Lattice mismatch ........................................................................................................................................375

Using the lattice mismatch model .......................................................................................................376Intrinsic stress ............................................................................................................................................377Stress rebalancing after etching and deposition ........................................................................................377

Automated trace of stress history........................................................................................................377Saving stress and strain components ..............................................................................................................377

Description of output variables ...................................................................................................................378Tracking maximum stresses.......................................................................................................................381

Chapter 10 Mesh generation ............................................................................................................383Overview ..........................................................................................................................................................383MGOALS mesh ................................................................................................................................................384

Algorithms: Remeshing .......................................................................................................................384Algorithms: Data interpolation .............................................................................................................385

Nonadaptive refinement with refinement boxes ...............................................................................................385Standard boxes ..........................................................................................................................................386

Examples ............................................................................................................................................386Refinement near interfaces ........................................................................................................................386

Examples ............................................................................................................................................387Using keep.lines...............................................................................................................................................387

Examples ............................................................................................................................................3873D Mesh generation.........................................................................................................................................388Adaptive meshing.............................................................................................................................................389

Field-specific parameters ...........................................................................................................................390Adaptive parameters of refinebox ..............................................................................................................391

Examples: ...........................................................................................................................................391Interval refinement ..............................................................................................................................392

Adaptive meshing during diffusion .............................................................................................................393Adaptive meshing during implant ...............................................................................................................394Tips for adaptive meshing ..........................................................................................................................395

Chapter 11 Etch, deposit, and transform ........................................................................................397Overview ..........................................................................................................................................................397MGOALS etching types and options ................................................................................................................398

Tips.............................................................................................................................................................400Isotropic......................................................................................................................................................400Anisotropic: Directional...............................................................................................................................401Polygon: CMP ............................................................................................................................................403Fourier etching ...........................................................................................................................................404

Etching beams ....................................................................................................................................404Crystallographic etching .............................................................................................................................405Masks .........................................................................................................................................................405

Photoresist mask.................................................................................................................................406MGOALS deposition types and options ...........................................................................................................406

Isotropic......................................................................................................................................................406Fill: polygon ................................................................................................................................................407Doping in deposited layers .........................................................................................................................408

MGOALS geometry transformations ................................................................................................................409Transform reflect ........................................................................................................................................409

xii

Page 13: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CONTENTS

Transform stretch .......................................................................................................................................409Transform cut .............................................................................................................................................409Transform clip.............................................................................................................................................410

3D structure creation........................................................................................................................................410Sentaurus Process–Sentaurus Structure Editor mode...............................................................................410Strategy ......................................................................................................................................................411Sentaurus Process—Sentaurus Structure Editor flow................................................................................412

MGOALS boundary movement algorithms ......................................................................................................412MGOALS boundary movement parameters ...............................................................................................414

The accuracy parameter .....................................................................................................................414The resolution parameter ....................................................................................................................414General time stepping levelset parameters.........................................................................................415

Chapter 12 Extracting results ..........................................................................................................417Overview ..........................................................................................................................................................417Selecting fields for viewing or analysis.............................................................................................................417Obtaining 1D data cuts.....................................................................................................................................418Examples .........................................................................................................................................................418Determining the dose: Layers ..........................................................................................................................419Extracting values and level crossings: Interpolate ...........................................................................................420Fitting routines: FitLine, FitArrhenius, FitPearson, and FitPearsonFloor .........................................................420Resistivity .........................................................................................................................................................421Sheet resistance ..............................................................................................................................................422

Appendix A Sentaurus Process commands...................................................................................423alias..................................................................................................................................................................424Arrhenius..........................................................................................................................................................424beam ................................................................................................................................................................424bound ...............................................................................................................................................................425color .................................................................................................................................................................426contact..............................................................................................................................................................426contour .............................................................................................................................................................428deposit..............................................................................................................................................................429diffuse...............................................................................................................................................................432doping ..............................................................................................................................................................434equation ...........................................................................................................................................................435etch ..................................................................................................................................................................435exit....................................................................................................................................................................438fbreak ...............................................................................................................................................................439fcontinue...........................................................................................................................................................439fexec.................................................................................................................................................................439gas_flow...........................................................................................................................................................440graphics............................................................................................................................................................441grid ...................................................................................................................................................................442help ..................................................................................................................................................................444implant..............................................................................................................................................................444init.....................................................................................................................................................................450integrate ...........................................................................................................................................................452interface ...........................................................................................................................................................453interpolate ........................................................................................................................................................454kmc...................................................................................................................................................................456layers................................................................................................................................................................463line....................................................................................................................................................................463

xiii

Page 14: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCONTENTS

load ..................................................................................................................................................................465LogFile .............................................................................................................................................................466mask.................................................................................................................................................................466mater ................................................................................................................................................................467math .................................................................................................................................................................468mechdata .........................................................................................................................................................473mgoals..............................................................................................................................................................473pdbDelayDouble...............................................................................................................................................476pdbDopantLike .................................................................................................................................................476pdbGet and related functions ...........................................................................................................................477pdbNewMaterial ...............................................................................................................................................477pdbSet and related functions ...........................................................................................................................478pdbUnSetString and pdbUnSetDouble ............................................................................................................479photo ................................................................................................................................................................479plot.1d ..............................................................................................................................................................480plot.2d ..............................................................................................................................................................481plot.tec..............................................................................................................................................................483plot.xy...............................................................................................................................................................486point .................................................................................................................................................................487point.xy.............................................................................................................................................................488polygon.............................................................................................................................................................489print.1d .............................................................................................................................................................490print.data ..........................................................................................................................................................491profile ...............................................................................................................................................................492reaction ............................................................................................................................................................493refinebox ..........................................................................................................................................................494region ...............................................................................................................................................................497select................................................................................................................................................................498SetDFISEList....................................................................................................................................................500SetDiosEquilibriumModelMode and SetDiosPairModelMode ..........................................................................501SetFastMode....................................................................................................................................................501SetPlxList .........................................................................................................................................................502SetTDRList.......................................................................................................................................................502SetTemp...........................................................................................................................................................502SetTS4MechanicsMode ...................................................................................................................................503SheetResistance ..............................................................................................................................................503simDelayDouble ...............................................................................................................................................503simGetDouble ..................................................................................................................................................504simGetSwitch ...................................................................................................................................................504slice ..................................................................................................................................................................504solution.............................................................................................................................................................505strain_profile.....................................................................................................................................................507stress................................................................................................................................................................507strip ..................................................................................................................................................................507struct ................................................................................................................................................................508substrate_profile...............................................................................................................................................510tclsel .................................................................................................................................................................511temp_ramp.......................................................................................................................................................512term..................................................................................................................................................................514transform..........................................................................................................................................................515update_substrate .............................................................................................................................................517WritePlx............................................................................................................................................................517

xiv

Page 15: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CONTENTS

Appendix B Material specification...................................................................................................519Overview ..........................................................................................................................................................519Interface specification in Alagator and parameter database ............................................................................520

Bibliography ......................................................................................................................................521

xv

Page 16: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCONTENTS

xvi

Page 17: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS ABOUT THIS MANUAL

Sentaurus Process

About this manual

Sentaurus Process is an advanced 1D, 2D, and 3D process simulator suitable for silicon andsemiconductor semiconductors. It features a modern software architecture and state-of-the-art models toaddress current and future process technologies.

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

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

The main chapters are:

Chapter 1 instructs you on how to run Sentaurus Process and guides you through a series ofexamples of increasing complexity.

Chapter 2 provides practical details about standard tasks such as saving and loading files, obtainingand setting parameters, using the Parameter Database Browser, working with the tool commandlanguage (Tcl), and creating a structure.

Chapter 3 presents ion implantation technique used in Sentaurus Process.

Chapter 4 provides information on the dopant and defect diffusion models and parameters.

Chapter 5 describes kinetic Monte Carlo (KMC) diffusion in Sentaurus Process.

Chapter 6 discusses the Alagator language for solving diffusion equations.

Chapter 7 provides details about using Advanced Calibration in Sentaurus Process.

Chapter 8 describes the oxidation models.

Chapter 9 describes the mechanical models.

Chapter 10 describes mesh algorithms and meshing parameters available in Sentaurus Process.

Chapter 11 discusses etch and deposition in Sentaurus Process.

Chapter 12 provides information and techniques for analyzing simulation results.

Appendix A lists the available commands, including a description, available options, and examples.

Appendix B lists the available materials and describes how to specify materials.

xvii

Page 18: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSABOUT THIS MANUAL

AudienceThis manual is intended for users of the Sentaurus Process software package.

Related publicationsFor additional information about Sentaurus Process, see:

The Sentaurus Process release notes, available on SolvNet (see Accessing SolvNet on page xix).

Documentation on the Web, which is available through SolvNet athttps://solvnet.synopsys.com/DocsOnWeb.

Synopsys Online Documentation (SOLD), which is included with the software for CD users or isavailable to download through the Synopsys Electronic Software Transfer (EST) system.

Typographic conventionsConvention Explanation

< > Angle brackets

{ } Braces

[ ] Brackets

( ) Parentheses

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

Bold text Identifies a selectable icon, button, menu, or tab. It also indicates the name of a field, window, dialog box, or panel.

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

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

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

NOTE Identifies important information.

xviii

Page 19: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS ABOUT THIS MANUAL

Customer supportCustomer support is available through SolvNet online customer support and through contacting theSynopsys Technical Support Center.

Accessing SolvNet

SolvNet includes an electronic knowledge base of technical articles and answers to frequently askedquestions about Synopsys tools. SolvNet also gives you access to a wide range of Synopsys onlineservices including software downloads, documentation on the Web, and “Enter a Call to the SupportCenter.”

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 Synopsys user name andpassword, follow the instructions to register with SolvNet.)

If you need help using SolvNet, click HELP in the top-right menu bar or in the footer.

Contacting the Synopsys Technical Support Center

If you have problems, questions, or suggestions, you can contact the Synopsys Technical Support Centerin 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 e-mail message to your local support center:

• E-mail [email protected] from within North America.

• Find other local support center e-mail addresses at http://www.synopsys.com/support/support_ctr.

Telephone your local support center:

• Call (800) 245-8005 from within the continental United States.

• Call (650) 584-4200 from Canada.

• Find other local support center telephone numbers at http://www.synopsys.com/support/support_ctr.

xix

Page 20: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSABOUT THIS MANUAL

Contacting your local TCAD Support Team directly

Send an e-mail message to:

[email protected] from within North America and South America.

[email protected] from within Europe.

[email protected] from within Asia Pacific (China, Taiwan, Singapore, Malaysia,India, Australia).

[email protected] from Korea.

[email protected] from Japan.

AcknowledgmentsSentaurus Process is based on the 2000 and 2002 releases of FLOOPS written by Professor Mark Lawand coworkers at the University of Florida. Synopsys acknowledges the contribution of Professor Lawand his advice in the development of Sentaurus Process. For more information about TCAD at theUniversity of Florida, visit http://www.swamp.tec.ufl.edu.

UMFPACK version 4.0 is available as an option in Sentaurus Process and is used with permission fromTim Davis at the University of Florida. For details about copyright and licensing information, visithttp://www.cise.ufl.edu/research/sparse/umfpack.

Sentaurus kinetic Monte Carlo (KMC) is based on DADOS written by Professor Martin Jaraiz andcoworkers at the University of Valladolid, Spain. Synopsys acknowledges Professor Jaraiz’ contributionand advice. For more information about KMC at the University of Valladolid, visit http://www.ele.uva.es/~simulacion/KMC.htm

xx

Page 21: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 1 GETTING STARTED

Sentaurus Process

CHAPTER 1 Getting started

This chapter instructs you on how to run Sentaurus Process and guides you through a series of examplesof increasing complexity. The most widely used Sentaurus Process commands are introduced in thecontext of these examples. This chapter discusses only keywords and options that are used in the givenexamples. For a complete list of all commands, see Appendix A on page 423.

This chapter is not a comprehensive reference, but is intended to introduce some of the more widely usedfeatures of Sentaurus Process in a realistic context. For new users, the sections Syntax for creating inputfiles on page 25, Creating and loading structures and data on page 35, and Interactive mode on page 23would be useful. For more advanced users who need to adjust model parameters, Parameter database onpage 28 would be useful. For training material and examples, go to the following:

$STROOT/tcad/$STRELEASE/Sentaurus_Training/main_menu.html

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

OverviewSentaurus Process is a complete and highly flexible, multidimensional, process modeling environment.With its modern software architecture, Sentaurus Process constitutes a new tool generation and a solidbase for process simulation. Calibrated to a wide range of the latest experimental data using provencalibration methodology, Sentaurus Process offers unique predictive capabilities for modern silicon andnonsilicon technologies.

Sentaurus Process accepts as input a sequence of commands that is either entered from standard input(that is, at the command prompt) or composed in a command file. A process flow is simulated by issuinga sequence of commands that corresponds to the individual process steps. It is recommended thatparameter settings are placed in a separate file, which is sourced at the beginning of input files using thesource command.

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

1

Page 22: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 1 GETTING STARTED

Setting up the environmentThe STROOT environment variable is the Sentaurus root directory and must be set to the installationdirectory of Sentaurus. The STRELEASE environment variable can be used to specify the release of thesoftware to run (X-2005.10, Y-2006.06, and so on). If STRELEASE is not set, the default version is used (thedefault version is usually the last version installed).

To set the environment variables:

1. Set the Sentaurus root directory environment variable STROOT to the Sentaurus installation directory,for example:

* Add to .cshrc

setenv STROOT <Sentaurus directory>

* Add to .profile, .kshrc, or .bashrc

STROOT=<Sentaurus directory>; export STROOT

2. Add the <Sentaurus directory>/bin directory to the user path. If you have TCAD tools from ISEinstalled on your system, ensure the <Sentaurus directory>/bin directory precedes the ISEinstallation in your search path, for example:

* Add to .cshrc:

set path=(<Sentaurus directory>/bin $path)

* Add to .profile, .kshrc, or .bashrc:

PATH=<Sentaurus directory>/bin:$PATHexport PATH

2

Page 23: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 1 GETTING STARTED

Starting Sentaurus ProcessYou can run Sentaurus Process in either interactive mode or batch mode. In the interactive mode, a wholeprocess flow can be simulated by entering commands line-by-line as standard input. To start SentaurusProcess in the interactive mode, enter the following at the command line:

>sprocess

Sentaurus Process displays version and host information, followed by the Sentaurus Process commandprompt:

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

Compiled Fri May 5 10:59:48 CEST 2006 on redhat118

Started at: Fri May 5 14:53:44 2006 (PDT) User name: markj Host name: redhat213 Architecture: i686Operating system: Linux rel. 2.4.21-4.ELsmp ver. #1 SMP Fri Oct 3 17:52:56 EDT 2003

No inputfile given - enter command line mode sprocess: Checked Out Floops-1D: Checked OutLoading models file: /u/tcadprod/tcad/12.0/L1/lib/floops-12.0.5/TclLib/FLOOPS.models... done.sprocess>

You now can enter Sentaurus Process commands at the prompt:

sprocess>

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

To run Sentaurus Process in batch mode, load a command file when starting Sentaurus Process:

> sprocess fps.cmd

3

Page 24: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 1 GETTING STARTED

Starting different versions of Sentaurus ProcessYou can select a specific release and version number of Sentaurus Process using the -rel and -veroptions:

sprocess -rel <rel_number> -ver <version_number>

For example:

sprocess -rel 10.0

The command:

sprocess -rel 10.0 -ver 10.0.7 nmos_fps.cmd

starts the simulation of nmos_fps using the 10.0.7 version of Release 10.0 as long as this version isinstalled.

Command file inputAs an alternative to entering Sentaurus Process commands line-by-line, the required sequence ofcommands can be saved to a command file, which can be written entirely by the user or generated usingLigament. To save time and reduce syntax errors, you can copy and edit an example command file fromthe Manual Examples Library of Sentaurus Workbench or use Ligament to create a template.

If a command file has been prepared, Sentaurus Process is run by typing the command:

sprocess <command_filename>

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

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

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

A protocol file with the extension .log is automatically created whenever Sentaurus Process is run froma command line, that is, outside of the Sentaurus Workbench environment. This file contains the run-

4

Page 25: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 1 GETTING STARTED

time output, which is generated by Sentaurus Process and is sent to standard output. When SentaurusProcess is run by using a command file <root_filename>.cmd, the output file is named <root_filename>.log.

When Sentaurus Process is run in Sentaurus Workbench, no log file is created. Instead, the file<root_filename>.out is generated as a copy of the standard output.

ExamplesIn the following sections, many widely used process and control commands are introduced in the contextof a nominal 0.18 μm n-channel MOSFET process flow. The MOSFET structure is simulated in one andtwo dimensions (1D and 2D), and the processing of the isolation is excluded. First, a simple 1D exampleis presented. Second, a 2D example is presented using default models and grid strategy.

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

Defining an initial 1D grid

The initial 1D grid is defined with the line command:

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

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

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

Grid spacing is shown as a function of the x-location for the first 50 nm. It is clear that the mesh densitydecreases linearly from 1 nm at X=0 to 2 nm at X=10 nm, and then to 10 nm at 50 nm. (The last gridspacing in each interval may deviate from the linear expansion.)

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

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

5

Page 26: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 1 GETTING STARTED

Defining initial simulation domain

The initial simulation domain is defined with the region command:

region silicon xlo=SiTop xhi=SiBottom

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

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

Initializing the simulation

The simulation is initialized with the init command:

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

Here, the initial boron concentration in the silicon wafer (as defined in the previous region command) isset to 1015 cm–3.

NOTE The init command also can be used to load previous simulations.

Setting up an MGOALS meshing strategy

The initial grid is valid until the first command that changes the geometry, such as oxidation, deposition,and etching. For these steps, a remeshing strategy must be defined. Sentaurus Process uses MGOALSas the remeshing engine. (MGOALS also performs etching and deposition.)

MGOALS tries to preserve the initial mesh as much as possible and only modifies the mesh in the newlayers and in the vicinity of the new interfaces.

To define a remeshing strategy, use:

mgoals on min.normal.size=3<nm> max.lateral.size=0.2<um> \ normal.growth.ratio=1.4

where:

The keyword min.normal.size determines the grid spacing of the first layer starting from theinterface.

The keyword max.lateral.size limits not only the lateral grid spacing for 2D simulations, but alsothe maximum grid spacing anywhere.

6

Page 27: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 1 GETTING STARTED

The keyword normal.growth.ratio determines how fast the grid spacing can increase from one layerto another.

Growing screening oxide

The 1D process simulation is started by thermally growing a thin layer of sacrificial screening oxide:

gas_flow name=O2_1_N2_1 pressure=1<atm> \ flowO2=1.2<l/min> flowN2=1.0<l/min>diffuse temperature=900<C> time=40<min> gas_flow=O2_1_N2_1grid remesh

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

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

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

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

Sentaurus Process prints information about the progress of the oxidation step:

Anneal step: Time=40min, Ramp rate=0C/s, Temperature=900.0CReaction : 0s to 1s step: 1s temp: 900.0CMechanics: 0s to 1s step: 1s temp: 900.0CInitializing: Initialization is done.Diffusion: 0s to 0.1s step: 0.1s temp: 900.0CDiffusion: 0.1s to 0.2805s step: 0.1805s temp: 900.0CDiffusion: 0.2805s to 0.6402s step: 0.3598s temp: 900.0CDiffusion: 0.6402s to 1s step: 0.3598s temp: 900.0CReaction : 1s to 1.405s step: 0.4055s temp: 900.0CMechanics: 1s to 1.405s step: 0.4055s temp: 900.0CDiffusion: 1s to 1.405s step: 0.4055s temp: 900.0C...Reaction : 37.51min to 40min step: 2.487min temp: 900.0CMechanics: 37.51min to 40min step: 2.487min temp: 900.0CDiffusion: 37.51min to 40min step: 2.487min temp: 900.0C

Elapsed time for diffuse 2.98s

The statement grid remesh forces an MGOALS remeshing step. This is recommended after an oxidationstep. Etching and deposition are performed by MGOALS, and the remeshing is performedautomatically.

7

Page 28: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 1 GETTING STARTED

Measuring oxide thickness

To measure the thickness of the thermally grown oxide, use:

select z=Boronlayers

The select command chooses a quantity for postprocessing. Here, the boron concentration is selected.

The layers command prints a list of regions with their respective top and bottom coordinates. It givesalso the integral over the selected quantity in each region:

{ Top Bottom Integral Material}{-6.43e-03 4.11e-03 1.54e+09 Oxide}{ 4.11e-03 2.00e+00 1.98e+11 Silicon}

Here, 4.11 nm of silicon was consumed in the thermal oxidation process, and the final oxide thicknessis 4.11 nm + 6.43 nm = 10.54 nm.

The integral boron concentration in the silicon layer is 1.98 x 1011 cm–2 = 1015 cm–2 (2 x 10–4 cm – 4.11x 10–7 cm), which is consistent with the specified wafer doping.

Depositing screening oxide

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

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

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

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

Tcl control statements

Tcl constructs can be freely used in the command file of Sentaurus Process. (See X the Tcl tutorial foran introduction to Tcl.)

The following code segment simulates oxidation or performs a deposition depending on the value of theTcl variable SCREEN:

set SCREEN Growif { $SCREEN == "Grow" } {#--- Growing screening oxide -----------------------------------------gas_flow name=O2_1_N2_1 pressure=1<atm> \ flowO2=1.2<l/min> flowN2=1.0<l/min>diffuse temperature=900<C> time=40<min> gas_flow=O2_1_N2_1

8

Page 29: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 1 GETTING STARTED

grid remesh

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

Implantation

To implant arsenic with an energy of 50 keV, a dose of 1014 cm–2, an implant tilt of 7 degrees, and a waferrotation 0 degrees, use:

implant Arsenic energy=50<keV> dose=1e14<cm-2> tilt=7<degree> rotation=0<degree>

Sentaurus Process reports:

Species = ArsenicDataset = ArsenicEnergy = 30keVDose (WaferDose) = 1e+14/cm2BeamDose = 1.0075e+14/cm2Tilt = 7deg (look up value: 7deg)Rotation = 0deg (look up value: 0deg)Slice angle = -90degWafer orientation = <100>

Total implant time: 0.81sec- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Silicon Oxide Total Boron 1.9846e+11 1.5441e+09 2.0000e+11 Arsenic 9.9071e+13 1.8704e+12 1.0094e+14 Int 9.2985e+07 0.0000e+00 9.2985e+07 Vac 7.1298e+05 0.0000e+00 7.1298e+05 O2 0.0000e+00 2.8778e+10 2.8778e+10- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

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

Saving the as-implanted profile

To save the as-implanted profile, use:

SetPlxList { BTotal Arsenic_Implant }WritePlx 1DasImpl.plx

9

Page 30: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 1 GETTING STARTED

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

Besides the file name, here 1DasImpl.plx, the WritePlx command also accepts a material specifier, whichrestricts the plot to the given material. For 2D and 3D structures, the x, y, or z coordinates of the 1Dcutline must be given.

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

Figure 1 As-implanted arsenic profiles and background boron concentration

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

> inspect 1DasImpl.plx

Thermal annealing, drive-in, activation, and screening oxide strip

To anneal the damage during implantation, or to drive the dopants deeper into the substrate, or to activatethe implanted dopants in an inert environment, use:

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

SetPlxList { BTotal BActive AsTotal AsActive }WritePlx 1Danneal.plx

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

The annealed profiles are written to the file 1Danneal.plx. The total (chemical) concentration of boronand arsenic, as well as the respective electrically active (substitutional) concentrations are saved.

10

Page 31: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 1 GETTING STARTED

Figure 2 Comparison of as-implanted and annealed arsenic profiles

Figure 2 compares the as-implanted and the annealed arsenic profiles. It is generated by loadingboth .plx files into Inspect with:

> inspect 1DasImpl.plx 1Danneal.plx

2D simulationIn the following sections, many widely used process and control commands are introduced in the contextof a nominal 0.18 µm n-channel MOSFET process flow. The MOSFET structure is simulated in 2D, andthe processing of the isolation is excluded. A simplified treatment is presented using only defaultparameters and models.

Defining an initial 2D grid

The initial 2D grid is defined with the line command:

line x location= 0.0 spacing= 1.0<nm> tag=SiTopline x location=50.0<nm> spacing=10.0<nm>line x location= 0.5<um> spacing=50.0<nm>line x location= 2.0<um> spacing= 0.2<um>line x location= 4.0<um> spacing= 0.4<um>line x location=10.0<um> spacing= 2.0<um> tag=SiBottom

line y location=0.0 spacing=50.0<nm> tag=Midline y location=0.40<um> spacing=50.0<nm> tag=Right

Sentaurus Process uses coordinate systems such that 1D and 2D (and 3D) simulations are consistent. For1D, the natural choice for x is to point downwards (into the wafer); Sentaurus Process keeps thisdefinition for 2D. Consequently, the y-axis points to the side (parallel to the wafer).

11

Page 32: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 1 GETTING STARTED

In Figure 3, a depth-dependent initial mesh is defined, which is tight at the surface (1 nm) and relaxesup to 2 µm into the depth. For the lateral direction, a constant mesh spacing of 50 nm is used.

Figure 3 Initial 2D grid

NOTE Sentaurus Process simulates in 1D until the first mask is used.

The 2D grid initialization must be performed with more care than for 1D to obtain timelysolutions as the number of grid points in the x-direction are multiplied by every line in the y-direction.

Start with a coarse grid. Automatic meshing will add grid points during the simulation. Starting with toomany grid points will unnecessarily slow down the earlier parts of the simulation. Gridding aftersimulation has started can be controlled by modifying the meshing rules in the MGOALS command.

Defining simulation domain and initializing simulation

The initial simulation domain is defined with the region command:

region silicon xlo=SiTop xhi=SiBottom ylo=Mid yhi=Rightinit concentration=1.0e+15<cm-3> field=Phosphorus wafer.orient=100

For a 2D simulation, the substrate region is defined by referring to the tag for the x-direction and y-direction. These tags were previously defined in a line command.

Here, an n-doped substrate with a phosphorus concentration of 1015 cm–3 is used. The wafer orientationis set to 100, which is the default.

12

Page 33: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 1 GETTING STARTED

Boron implants

First, three sets of boron implants are performed:

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

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

Growing gate oxide

The gate oxide is grown at a temperature of 850°C for 10 minutes in pure oxygen using:

mgoals on min.normal.size=1<nm> max.lateral.size=2.0<um> \ normal.growth.ratio=1.4 accuracy=2e-5

diffuse temperature=850<C> time=10.0<min> O2grid remeshselect z=Boronlayers

Before the diffusion step, an MGOALS meshing strategy is defined. (For more details, see Setting up anMGOALS meshing strategy on page 6.) The keyword O2 is shorthand for a pure oxygen environment ata pressure of 1 atm. The grid remesh command enforces the creation of an MGOALS mesh in the newlycreated oxide layer.

The layers command shows that the thickness of the grown oxide is 3.2 nm:

{ Top Bottom Integral Material}{-2.46e-03 7.97e-04 2.67e+09 Oxide }{ 7.97e-04 1.00e+01 3.21e+13 Silicon}

(For more details, see Measuring oxide thickness on page 8.)

Defining polysilicon gate

The polysilicon gate is created using:

deposit poly type=anisotropic thickness=0.18<um>

mask name=gate_mask left=-1 right=90<nm>

etch poly type=anisotropic thickness=0.2<um> mask=gate_masketch oxide type=anisotropic thickness=0.1<um>

First, 0.18 µm of polysilicon is deposited over the entire structure. The keyword type=anisotropic meansthat the layer is grown in the vertical direction only.

13

Page 34: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 1 GETTING STARTED

A mask is defined to protect the gate area with the mask command. In this project, only half of thetransistor is simulated. The left edge of the gate mask is, therefore, unimportant. As a shortcut, it is setto –1. The name gate_mask is associated with this mask for later reference.

The first etch command refers to the previously defined mask and, therefore, only the exposed part ofthe polysilicon is etched. The requested etching depth (0.2 µm) is larger than the deposited layer. Thisover-etching ensures that no residual islands remain. The etching is specified to be anisotropic, that is,the applied mask is transferred straight down, without any undercut.

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

Working with masks

Masks must be defined before they are used. For example, imp_mask blocks processing from –1 to 2 µmand from 4 to 20 µm:

mask clearmask name=imp_mask left=-1.0<um> right= 2.0<um>mask name=imp_mask left= 4.0<um> right=20.0<um>

Masks can be inverted using the negative option. For example, etch_mask prevents processing from 2 to4 µm:

mask clearmask name=etch_mask left=-1.0<um> right= 2.0<um> negativemask name=etch_mask left= 4.0<um> right=20.0<um> negative

Commands that use masking include implant, etch, and deposit. A boron implant screened by a mask isimplemented by calling the predefined mask in the implant command, for example:

implant Boron mask=imp_mask dose=2e13<cm-2> energy=30<keV>

Polysilicon reoxidation

To release stresses, a thin oxide layer is grown on the polysilicon before the spacer formation:

diffuse temperature=900<C> time=10.0<min> O2 pressure=0.5<atm> \ mgoals.native

There, the 1 atm default is overwritten by explicitly specifying a pressure of 0.5 atm. In all diffusionsteps, Sentaurus Process accounts for a very thin native oxide layer, which is always present on siliconand quickly forms on newly created interfaces. The keyword mgoals.native specifies that MGOALSshould be used to deposit this layer. This is recommended for complex geometries.

MGOALS automatically recreates the mesh in the thin oxide layer and in the adjacent silicon andpolysilicon.

14

Page 35: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 1 GETTING STARTED

Figure 4 Polysilicon reoxidation

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

Saving snapshots

To save a snapshot of the current structure, use:

struct tdr=NMOS4

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

15

Page 36: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 1 GETTING STARTED

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

NOTE In this example, the DF–ISE format can be used to do the same thing. The command is structdfise=NMOS4. The grid and doping files are created and compressed by default. The DF–ISEformat uses a coordinate system for 2D in which the x-axis is parallel to the substrate surfaceand the y-axis points into the substrate, that is, the x-axis and y-axis are interchanged withrespect to Sentaurus Process. Saving a snapshot with the struct command automaticallyperforms this adjustment.

Remeshing for LDD and halo implants

Next, the LDD and halo implants are performed. However, before that, the meshing strategy is updated:

refinebox silicon min= {0.0 0.05} max= {0.1 0.12} \ xrefine= {0.01 0.01 0.01} yrefine= {0.01 0.01 0.01} addrefinebox remesh

So far, the mesh in the lateral direction was specified with the initial line command to be uniform witha spacing of 50 nm. This was appropriate for the steps performed so far, but will not be fine enough toresolve the source/drain extensions (also known as low-doped drain (LDD)) as well as the halo implants.

For this reason, a finer mesh is defined in the area where these profiles are important. This is performedwith the refinebox command. The new meshing strategy can be restricted to a material, here silicon.

The min and max keywords take an x- and y-coordinate pair as an argument that is used to define the extentof the refinement box. Note that the coordinate pair must be enclosed in braces.

The grid spacing is defined with the xrefine and yrefine keywords, which take a triplet of numbers asarguments. The first number specifies the spacing at the top or left side of the box; the second numberdefines the spacing in the center; and the last one defines the spacing at the bottom or right side of thebox.

The keyword add adds the refinement box to the current meshing strategy. The command refineboxremesh enforces a remeshing using the new meshing strategy.

16

Page 37: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 1 GETTING STARTED

Figure 6 Creation of a refinement box to define a finer mesh for LDD and halo

LDD and halo implants

The LDD and halo implants are performed using:

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

implant Boron dose=0.25e13<cm-2> energy=20<keV> \ tilt=30<degree> rotation=0 implant Boron dose=0.25e13<cm-2> energy=20<keV> \ tilt=30<degree> rotation=90<degree> implant Boron dose=0.25e13<cm-2> energy=20<keV> \ tilt=30<degree> rotation=180<degree> implant Boron dose=0.25e13<cm-2> energy=20<keV> \ tilt=30<degree> rotation=270<degree>

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

The LDD implant uses a high dose of 4 x 1014 cm–2 and a relatively low energy of 10 keV. The halo iscreated by a quad implant, that is, the implant is performed in four steps, each at a different angle. Thisis performed to ensure that the boron penetrates well into the channel at the tips of the source/drainextensions. Again, a relatively high total dose of 1 x 1014 cm–2 is used.

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

Spacer formation

The nitride spacers are formed using:

deposit nitride type=isotropic thickness=60<nm>etch nitride type=anisotropic thickness=84<nm>etch oxide type=anisotropic thickness=10<nm>

17

Page 38: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 1 GETTING STARTED

First, a uniform, 60 nm thick layer of nitride is deposited over the entire structure. The keywordtype=isotropic ensures that the growth rate of the layer is the same in all directions. Then, the nitride isetched again; however, now an anisotropic etching is used. This means that the nitride deposited on thevertical sides of the gate is not fully removed and can serve as masks for the source/drain implants.Finally, the thin oxide layer, grown during the poly reoxidation step, is removed.

Remeshing for source/drain implants

Next the source/drain implants are performed. However, before that, the meshing strategy is updated:

refinebox silicon min= {0.04 0.05} max= {0.18 0.4} \ xrefine= {0.01 0.01 0.01} yrefine= {0.05 0.05 0.05} addrefinebox remesh

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

Source/drain implants

The source and drain regions are created using:

implant Arsenic dose=5e15<cm-2> energy=40<keV> \ tilt=7<degree> rotation=-90<degree> diffuse temperature=1050<C> time=10.0<s>

To ensure a low resistivity of the source and drain regions, this implant step uses a very high dose of 5 x1015 cm–2. A tilt of 7 degrees is used to reduce channeling and a rotation of –90 degrees ensures that theplane of incident is parallel to the gate stack, such that the 7-degree tilt angle does not lead to asymmetrybetween the source and drain.

Contact pads

Finally, metal pads are defined with:

deposit Aluminum type=isotropic thickness=30<nm>

mask name=contacts_mask left=0.2<um> right=1.0<um>etch Aluminum type=anisotropic thickness=0.25<um> mask=contacts_masketch Aluminum type=isotropic thickness=0.02<um> mask=contacts_mask

Here, no real back-end simulation is performed. Metal pads are created by deposition and etching toidentify the contact areas for later use in the device simulator. The method is very similar to the one usedfor the polysilicon gate definition. For details, see Defining polysilicon gate on page 13.

18

Page 39: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 1 GETTING STARTED

Saving the full structure

To save the full structure, use:

transform reflect left struct smesh=NMOS

The structure is first reflected along the left edge with the transform command. Then, the full structureis saved with the struct command. The keyword smesh created all the files required to transfer thesimulated structure to the meshing tool Mesh or the device editor Sentaurus Structure Editor.

In addition to the *_fps.tdr files discussed in Saving snapshots on page 15, additional input files forMesh are saved: a boundary file *_bnd.tdr and a command file *_msh.cmd.

The structure can be saved in the DF–ISE format with the command:

struct ise.mdraw=NMOS

Extracting 1D profiles

You can save 1D profiles at any point of interest in the process flow using:

SetPlxList {BTotal NetActive}WritePlx NMOS_channel.plx y=0.0 silicon

For details, see Saving the as-implanted profile on page 9.

19

Page 40: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 1 GETTING STARTED

20

Page 41: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

Sentaurus Process

CHAPTER 2 The simulator Sentaurus Process

This chapter provides an overview of how the process simulator Sentaurus Process operates. The syntaxand features of the input file are described, followed by an overview of the Sentaurus Process parameterdatabase, which contains all of the model parameters and technical details regarding the running of theapplication.

For new users, the sections Syntax for creating input files on page 25, Creating and loading structuresand data on page 35, and Table 1 lists the command-line options that are available in Sentaurus Process.on page 23 would be useful. For more advanced users who need to adjust model parameters, Parameterdatabase on page 28 would be useful. Training material and examples can be found in the distributionin this location:

$STROOT/tcad/$STRELEASE/Sentaurus_Training/main_menu.html

where STROOT is an environment variable which indicates where the Synopsys TCAD distribution hasbeen installed, and STRELEASE indicates the Synopsys TCAD release number.

OverviewTo familiarize users with the different formatting used in this documentation, input commands fromeither an input file or the command line are presented this way:

sprocess -v

An example of output from Sentaurus Process is:

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

Compiled Fri Apr 28 07:42:12 CEST 2006 on redhat118

Started at: Thu May 4 09:43:53 2006 (PDT) User name: markj Host name: redhat213

21

Page 42: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

Architecture: i686Operating system: Linux rel. 2.4.21-4.ELsmp ver. #1 SMP Fri Oct 3 17:52:56 EDT 2003

Checking license features: sprocess: Ok Floops-1D: Ok sprocess2d: Ok Floops-2D: Ok sprocess3d: Ok Floops-3D: Ok sprocessmc: Ok Floops-1D-MC: Ok sprocess2dmc: Ok Floops-2D-MC: Ok sprocess3dmc: Ok Floops-3D-MC: Ok sprocess-an-imp3d: Ok AN-Impl3D: Ok sprocesskmc: Ok sprocess-parallel: Ok Floops-Parallel: Ok sprocess-parallel4: Ok Floops-Parallel4: Ok

Interactive graphicsThere are two options for interactive graphics in Sentaurus Process: an X-Windows-based graphicaldisplay (which will be phased out in future releases) and an interface to Tecplot SV (which willeventually replace the X-Windows display).

The interface of Tecplot SV is available on all platforms except Microsoft® Windows–based platformsand can be used in 1D, 2D, and 3D. The interface can be started with the simple command graphics on.The X-Windows-based viewer is launched with either the plot.1d or plot.2d command (see plot.1d onpage 480 and plot.2d on page 481). When the graphics command is used, graphical updating isperformed automatically.

The Sentaurus Process–Tecplot SV interface is designed to minimize the effects of the start-up time ofTecplot SV. The usual mode of operation is to have one Tecplot SV window, which has interprocesscommunication (ipc) enabled, and to start and stop Sentaurus Process many times. Each time SentaurusProcess is started, it first tries to connect to an existing Tecplot SV (with ipc enabled) window. If one isnot found, it will launch a new Tecplot SV with ipc enabled. However, if Sentaurus Process cannotlaunch Tecplot SV with ipc, it can be launched manually with the command tecplot_sv -s:ipc.

When a new Sentaurus Process is run, by default, it creates a new frame in the Tecplot SV window,which will cover old frames completely. The old frames are still there, but they are hidden by the newlycreated frame. The name of the Tecplot SV frame contains the process ID, the log on of the SentaurusProcess user, and the computer from which it is run. It is possible to have multiple Sentaurus Processjobs sending graphics output to a single Tecplot SV. It is also possible to have Sentaurus Process runningon remote computers, and to send graphics output to a Tecplot SV running on a local machine (seeTecplot SV, Launching or connecting to Tecplot SV from Sentaurus Process on page 13).

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

22

Page 43: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

sprocess -b), the commands fbreak and fcontinue have no effect. Therefore, these commands can beplaced in a Sentaurus Workbench project.

Command-line optionsTable 1 lists the command-line options that are available in Sentaurus Process.

Interactive modeSentaurus Process runs in an interactive mode if no input file is given. In this mode, commands can beentered (at the sprocess> command prompt) line-by-line and are executed immediately.

It is useful to run Sentaurus Process in the interactive mode for several reasons:

When debugging Tcl code, the program does not quit if a Tcl error is found. The error is displayedand the user is prompted again for input. Users can source an input file repeatedly if required.

To obtain pdb parameter names and defaults with the pdbGet command.

To obtain command parameter names and defaults for any built-in command by using the paramsflag.

To print the list of built-in functions with the help command, and to print the list of Tcl procedureswith the info procs command.

Table 1 Sentaurus Process command-line options

Option Short name Function

--batchMode -b Turn off graphics.

--FastMode -f Generate structure, no diffusion, no mcimplant, …

--GENESISeMode -u Turn off log file creation.

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

--noSyntaxCheck -n Turn off syntax check.

--pdb -p Run parameter database browser.

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

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

-v Print header with version number.

-h Print use and command line options.

-X Turn on floating point exception catching.

23

Page 44: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

Another use of the interactive mode is to pause the simulation when using interactive graphics asdescribed in Interactive graphics on page 22.

Environment variablesThe Sentaurus Process binary relies on a number of supporting files. It finds these files using theenvironment variable FLXSHOME. It is possible to change default models and parameters without modifyingthe installed Sentaurus Process files by copying the default FLXSHOME directory and setting thatenvironment variable (FLXSHOME) to the location of the modified directory.

By default, FLXSHOME is set based on the Synopsys standard environment variables STROOT and STRELEASE,and by the version number of Sentaurus Process in this way:

FLXSHOME = $STROOT/tcad/$STRELEASE/lib/floops-<version number>

Inside this directory are two major subdirectories: TclLib and Params. The directory $FLXSHOME/TclLibcontains all default model selections in a file FLOOPS.models as well as a directory of Tcl files in thedirectory $FLXSHOME/TclLib/tcl. Another directory $FLXSHOME/Params contains the Sentaurus Processparameter database (see Parameter database on page 28) and implant tables, which are located in$FLXSHOME/Params/ImplantData.

File types used in Sentaurus ProcessThe main file types used in Sentaurus Process are:

Sentaurus Process command file (*.cmd)This file is the main input file type for Sentaurus Process. It contains all process steps and can beedited. This file is referred to as the command file or input file.

Log file (*.log)This file is generated by Sentaurus Processs during a run. It contains information about eachprocessing step, and the models and values of physical parameters used in it. The amount ofinformation written to the log file can be controlled by certain parameters specified in the SentaurusProcess command file.

Structure file (has no extension)This is the Sentaurus Process internal format for saving the simulation. It contains the completeinformation about the geometry of the device and all datasets. You can save the simulation in thisformat at points of interest or at the end of the simulation. The simulation can be resumed from thepoint where the file was saved by reloading this file into Sentaurus Process.

TDR boundary file (*_bnd.tdr)This Synopsys-specific format stores the geometry of the device and is usually saved by the user atthe end of a simulation. This file is used as the input file for the meshing engines (Mesh, Noffset3D,and Sentaurus Mesh) and can be loaded into Tecplot SV for viewing. To open a TDR file, open aterminal window and launch the TDR file viewer with the command: tdx name_of_the_file.tdr.

24

Page 45: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

There is also a boundary file in the DF–ISE format (*_mdr.bnd). This file can be used as the input filefor the meshing engines (Mesh and Noffset2D/3D).

TDR grid and doping file (*_fps.tdr)This single file stores several kinds of information:

• One is information about the geometry of the device and the grid.

• Another is information about the distribution of doping and other datasets in the device.

• Finally, by default, Sentaurus Process stores in the TDR file all parameter database changesmade after the initial loading of the database and commands that create objects which are laterreferenced, such as refinement boxes and masks. This kind of file can be used to restart asimulation without having to restore all settings and command objects. A TDR file can eitherbe reloaded into Sentaurus Process to continue the simulation or be loaded into Tecplot SV forvisualization.

The parameter in the TDR file can be viewed using pdbBrowser -nopdb -tdr <tdrfile>. SeeViewing parameters stored in a TDR file on page 34 for more details.

A single TDR file can be converted into two files in the DF–ISE format using the tdx command:a grid file with the extension .grd for the device geometry and a doping file with theextension .dat for the field values. A pair of grid and data files also can be reloaded intoSentaurus Process to continue the simulation, but in this case all parameters, masks, refinementboxes, and so on must be restored in the input file. The .grd and .dat files also can and can beloaded into Tecplot SV for visualization.

DF–ISE doping and refinement file (*_msh.cmd)This file stores doping and mesh refinement information and, along with the boundary file, it is usedas input for the Synopsys meshing engines. This file is usually saved by the user at the end of asimulation.

DF–ISE file (*.plx)This DF–ISE file format is used for saving 1D distributions of the doping concentration or otherfields in a specified cross section. This file can be viewed by loading into Inspect.

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

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

25

Page 46: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

Tcl inputSentaurus Process has been designed to optimize the use of the Tcl. Some examples of this interactioninclude:

Command parameter values are evaluated with Tcl. For example, expr can appear in the value of anexpression, that is, parameter=[expr $pp/10.0] is valid Sentaurus Process syntax. This particularexpression sets the parameter parameter to the value of pp/10 if the Tcl variable pp was previously setwith the Tcl set command.

Tcl can appear in model parameter values in the parameter database. In some cases, SentaurusProcess parameters are set with Tcl commands to be a function of other parameters.

Sentaurus Process contains many callback procedures, which can be redefined by the user to provideflexibility. For example, a callback procedure is used to initialize defects from implantation.

Many modular built-in functions are available for postprocessing, which can be combined into a Tclscript to create powerful analytic tools.

Other syntax rules to consider when writing input files are:

One command is entered on one line only. There are two exceptions to this rule: (a) a backslash ‘\’is used to extend a command to multiple lines if it appears as the last character on the line and (b) ifthere is an opening brace, Tcl will assume the command has not finished until the next new line afterthe closing brace.

Command parameters have the following form:

• Boolean parameters are true if the name appears on the line. They are false if they are precededby an exclamation point (!).

• Parameters that are of type integer or floating point must appear as parameter=value pairs.

• String parameters are enclosed, in general, in double quotation marks (" "), for example,parameter="string value".

• Lists can appear enclosed in double quotation marks or braces, for example, parameter= { item1item2 ... } or parameter= " item1 item2 ...". It is necessary to have a space between the equalsign and the opening brace.

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

26

Page 47: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

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

This permits clarity and uniformity to commonly used names. Another benefit is that it is easier tomaintain backward compatibility for parameter names while not restricting future parameter names thatcould conflict with common abbreviations (that is, I could refer to either interstitial or indium).

An explicit list of allowed aliases is maintained in the Sentaurus Process TclLib directory (seeEnvironment variables on page 24 for information about how the location of the TclLib directory isdetermined). The alias command is used to view and extend the list of allowed aliases.

To print the list of aliases:

sprocess> alias -list

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

sprocess> alias IntInterstitial

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

sprocess> alias NotAParamNotAParam

To create a new alias for a parameter name, for example, the alias Inte for the parameter Interstitial:

sprocess> alias InteIntesprocess> alias Inte Interstitialsprocess> alias InteInterstitial

Default simulator settings: FLOOPS.models fileSentaurus Process will start a simulation by reading the FLOOPS.models file in the $FLXSHOME/TclLibdirectory. The main purpose of this file is to define various default parameters and directories usedduring the simulation such as:

Setting the path for Tcl library files.

Setting the path for Advanced Calibration files.

Setting the path for implant tables.

Setting default material names.

27

Page 48: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

Setting math parameters for 1D, 2D, and 3D oxidation and diffusion.

Setting default solution names.

Setting default diffusion callback procedures.

Setting default oxidation or silicidation reactions.

Setting default oxidation or silicidation callback procedures.

Setting default epitaxial growth callback procedures.

The FLOOPS.models file is read once at the beginning of the simulation. Users can override any of thedefault parameters after the file is read.

Parameter databaseThe Sentaurus Process parameter database stores all Sentaurus Process material and model parametersas well as global information needed for save and reload capabilities. There is a hierarchical directorytree inside the Params directory, which stores the default values. (To locate the Params directory, seeEnvironment variables on page 24.) Data is retrieved by using the pdbGet command and is set by usingthe pdbSet command. The pdbGet and pdbSet commands are checked for correctness of syntax and theyprint the allowed parameter names if a mistake is made. These commands are used to obtain and set alltypes of data stored in the database: Boolean, string, double, double array, and switch.

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

It is possible to set parameters in a region-specific manner. Regions can be named with the region anddeposit commands and, if region-specific parameters exist, they will override the material-specificparameters if any. The only exceptions to this rule are Alagator equations, which must still be specifiedmaterialwise.

Inside the Params directory is a set of subdirectories that define the highest level nodes in the database.Inside each subdirectory is a file Info, which contains parameters of that level. Additionally, directoriesin the database have named files that contain parameters, which are under the node defined by the filename. For example, in the Params database, there is a directory called Silicon, which contains a file Info.The parameters inside Info are located under the ‘Silicon’ node. As another example, inside the Silicondirectory is another file Interstitial that contains parameters under the ‘Interstitial’ node, which isunder the ‘Silicon’ node.

Inside the files of the parameter database are commands that set database parameters. The commandshave the form:

array set $Base { <NAME> { <TYPE> <VALUE> } }

28

Page 49: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

where <NAME> is the parameter name, <TYPE> is one of Boolean, String, Double, DoubleArray, or Switch, and<VALUE> is a Tcl expression that sets the default value. It is often necessary to enclose the <VALUE>expression in braces. Some Tcl procedures have been created to increase the usefulness of <VALUE>expressions. For example, in many places in the database, the built-in function Arrhenius is used to setthe value of a parameter. Parameters that contain a Tcl function are evaluated at each diffusion time stepso that temperature-dependent parameters will update correctly during a temperature ramp. It isimportant to remember that the Arrhenius function uses the global Tcl variable for temperature, whichdefaults to room temperature.

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

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

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

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

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

For information about the TDR format, refer to the documentation for Sentaurus Data Explorer.

Regionwise parameters and region name-handlingMany parameters in the parameter database can be specified regionwise including parameters related tomeshing, parameters for both analytic and MC implant, and mechanics parameters. Those parametersused by Alagator as part of equations and terms, however, cannot be specified regionwise: this includesall dopant diffusion parameters and all oxidation and silicidation parameters. For the rest of theparameters, internally, the program checks if there is a regionwise specification of the parameter; if not,then the materialwise specification is used.

The name of regions can be specified in the region command and deposit command; however, the nameshould not contain an underscore (_) or a period (.) because these characters have special meaning.During the course of the simulation, geometric operations such as etch and reflect can split regions intwo. If this happens, the history of the region is maintained through its name. For example, if a region

29

Page 50: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

is originally named layer1 and it is etched into two pieces, they will be named layer1.1 and layer1.2according to rules given below.

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

The numbering of split regions is performed according to the spatial location of the pieces. The lowestpoint of each piece to be renamed is found (in the coordinate system of Sentaurus Process, this wouldbe the largest x-coordinate). To avoid numeric noise, the coordinates are compared with a specifiedepsilon given by pdbGet Grid RenameDelta (hereafter, referred to as RN). If the x-coordinates of the piecesto be renamed are not within RN of each other, the regions are ordered from lowest to highest, that is, fromthe highest x-coordinate to the lowest. If any piece has its lowest coordinate within RN, its y-coordinateis compared, that is, from the lowest coordinate to the highest.

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

Figure 7 Illustration of region naming rules

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

layer1

deltax layer1.1 layer1.2

30

Page 51: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

For example, if two oxide layers are grown, one with steam (if it is the first oxide region, its name wouldbe “Oxide_1”) and one from pure O2 (which would be “Oxide_2” if it were the second oxide region),they may have different density. This can be considered in MC implant using:

pdbSetDouble Oxide_1 MassDensity <wet oxide density>pdbSetDouble Oxide_2 MassDensity <dry oxide density>

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

Viewing defaults: Parameter Database BrowserThe Parameter Database Browser (PDB) is a graphical representation of the Sentaurus Processparameter database that allows users to view, evaluate, and edit parameters. User write-permission isrequired for editing. The PDB has three distinct areas (see Figure 8):

Parameter hierarchy overview in a tree structure representation.

Parameter information in a spreadsheet table representation. The table columns are Parameter,Type, Value, Unit, Evaluation, and Comments.

Graphic window, to plot parameter dependence on the temperature.

Figure 8 Parameter Database Browser

Spreadsheet TableRepresentation

Tree StructureRepresentation

Graphic Window

Status Bar

31

Page 52: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

The status bar has three indicators that show:

The temperature used in temperature-dependent functions such as Arrhenius.

The temperature point set for the x-axis.

The x and y coordinates of the pointer in the graphic window.

Starting the Parameter Database BrowserThe PDB can be started from the command line, by typing:

sprocess --pdb

or:

sprocess -p

It searches for the database in the same location as Sentaurus Process. The environment variable FLXSHOMEcan be set to change the location of the parameter database for the Parameter Database Browser andSentaurus Process (see Environment variables on page 24 for details).

Browser functions

The following functions are available:

Save As Saves the whole parameter database into a specified file in the tab-delimitedformat. The fields of the file are Parameter Name, Type, Value Evaluation,Original Value, and Comments.

Find and Find Next Matches the pattern entered against parameter names according to the selectedoptions. Patterns can include regular Tcl expressions. The match is highlightedwhen found; an audio message indicates failure (see Figure 9).

Figure 9 Find dialog box

Goto Highlights a table row or tree node that corresponds to the number entered.

32

Page 53: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

Plot (Applies only to parameters of type double and double array.) Plots thedependence of the selected parameter on the temperature in coordinates lnversus 1/T. The default set of temperature values is {700.0 800.0 900.0 1000.01100.0}. The resulting graphs are displayed in the graphic window; otherwise,an error message is displayed.

Plot Over The same as Plot but it does not clear the graphic window of previous graphs.

NOTE Zooming in can be performed by dragging the mouse. To zoom out, use the middle mousebutton or click the Zoom Out and Zoom Off buttons.

Value Evaluation Evaluates the value of the selected parameter and displays the result in theEvaluation column of the table. Values can contain Tcl expressions.

Edit Parameters Opens the appropriate database file with an editor regardless of the user write-permissions, but the standard installation will switch off write permissions forthe database. The default editor, SEdit, can be changed. The Browser is updatedupon file saving.

Parameter InformationDouble-clicking a non-empty table row allows users to view the correspondingparameter information in a separate window. To close the window, click theClose button.

NOTE To display a shortcut menu, right-click a parameter for plotting and evaluation in the tree andtable areas.

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

Figure 10 Arrhenius Fit dialog box

33

Page 54: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

Browser preferences

The Parameter Database Browser allows users to reset the default settings for the following values byusing the Preference menu, shortcut keys, or shortcut menu of the graphic window:

Font > Family Changes the font family.

Font > Size Changes the font size.

Cursor > Style Changes the style of the pointer.

Preferences > Graph > Temperature SetThe global temperature used in the temperature-dependent functions; thedefault is 1000.0.

Preferences > Graph > Reset X PointsThe x-axis temperature point set; the default set is {700.0 800.0 900.0 1000.01100.0}.

Figure 11 Reset Temperature Points dialog box

Preferences > Graph > Data Point SymbolsNode Tip: hide / show.

Editor > Change EditorResets the default editor.

Editor > Reset Update TimeResets the update interval.

Graph X Scale Resets the scale to logarithmic or linear.

Graph Y Scale Resets the scale to logarithmic or linear.

Viewing parameters stored in a TDR fileParameters stored in TDR files can be viewed using the pdbBrowser command run from the UNIXcommand line instead of through Sentaurus Process. By default, the PDB browser reads parameters fromthe Sentaurus Process database directory (which can be changed with the FLXSHOME environmentvariable). In addition, parameters stored in a TDR file can be read in using the -tdr <filename> option ofthe PDB browser. Parameters that appear in the database are overwritten by those contained in the TDRfile, so the resultant parameter set will be the same as if Sentaurus Process had read in the file. On theother hand, it is also useful to know which parameters are only in the TDR file. To read just thoseparameters, the database reading can be turned off using the -nopdb command-line option.

34

Page 55: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

Examples:

> pdbBrowser -tdr n10_fps.tdr

Read the Sentaurus Process PDB and then read parameters from n10_fps.tdr overwriting valuescontained in the database.

> pdbBrowser -nopdb -tdr n10_fps.tdr

Read only the parameters in n10_fps.tdr.

Creating and loading structures and dataThe first step in most simulations is either to load an existing structure or create a new one. Newstructures are created through a combination of line, region, and init commands. The initial mesh is atensor-product mesh where the density of lines is specified in the line command, and the regions arespecified with tags in the line commands and referenced in the region command. The initial regions arealways rectangular in 2D and bricks in 3D.

Understanding coordinate systemsSentaurus Process and related tools employ a number of different coordinate systems. The mostcommonly encountered coordinate systems include wafer coordinates, simulation coordinates, andvisualization coordinates.

Wafer coordinate system

The wafer coordinate system is fixed with respect to the wafer flat or notch and is used to define therelationship of all other coordinate systems to the physical wafer. The wafer coordinate system is shownin Figure 12.

Figure 12 Wafer coordinate system

ZW

XW

YW

YW

ZW

XW

35

Page 56: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

The wafer x- and y-axes form a naturally oriented coordinate system when the wafer is drawn with theflat pointing down as shown in Figure 12. This coordinate system is used for layout information such asmask locations.

Simulation coordinate system

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

The simulation coordinate system has the x-axis pointing into the wafer and the y-axis rotated withrespect to the wafer y-axis. The simulation coordinate system is shown in Figure 13. Simulations in 1Duse only the x-axis. Simulations in 2D use only the x- and y-axes.)

Figure 13 Simulation coordinate system (slice.angle = 45)

The rotation of the simulation axes with respect to the wafer axes is given by the slice.angle parameterof the init command. The slice angle is measured from the wafer y-axis to the simulation y-axis withpositive angles counterclockwise about the wafer z-axis.

ZW

XW

YW

YW

XS

YS ZS

XW

slice.angle

YS

ZS

XS

slice.angle

36

Page 57: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

The default value of slice.angle is set to –90 degrees. This causes the simulation y-axis to match thewafer x-axis which is the usual cut direction through the layout for 2D simulations. The defaultsimulation coordinate system is shown in Figure 14.

Figure 14 Default simulation coordinate system (slice.angle = –90)

Visualization coordinate system

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

Figure 15 Simulation and visualization coordinate systems

ZW

YS XW

YW

XS

ZS

slice.angle

YW

XW

slice.angle

ZS

XSYS

Simulation Coordinates

x

x

x

y

yz

Visualization Coordinates

x

y

x

x

y

z

1D

2D

3D

37

Page 58: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

The only difference between simulation coordinates and visualization coordinates is that differentconventions are used to label the axes. Sentaurus Process automatically converts the axis labels whenreading and writing DF–ISE or TDR files.

The relationship between visualization coordinates and simulation coordinates shown in Figure 15 onpage 37 applies for all values of slice.angle. In other words, the visualization system is not fixed withrespect to the wafer system. It always has the same rotation with respect to the wafer coordinate systemas the simulation coordinate system.

Defining the structure: line and region commandsThe line and region commands are used together to define the structure. In the init command, thestructure is actually formed. Care must be taken when creating a structure because there are few checksfor errors.

These rules must be followed to obtain a valid structure:

Line locations must be given in increasing order.

The region boundaries are defined by tagged lines. Tagged lines are created with the line commandwhere the parameter tag has been set (as well as the location parameter).

At least one region command must be given to define the substrate.

Regions must have a material specification, except for the substrate case described below.

Regions must have the same dimensionality as the line commands used (that is, if line y is given, a2D region is expected with ylo and yhi set).

The *lo parameter refers to the lowest coordinate value, that is, the location of the line correspondingto the xlo tag must be less than the coordinate corresponding to the xhi tag.

The region command can be used to tag a region as a substrate in two ways: First, when the regionis being defined with the material name and the parameters *hi and *lo, the Boolean keywordsubstrate will tag this region as the substrate. Second, if the structure is being loaded from apreviously saved file, the command:

region name=<region_name> set.substrate

will tag the region with region_name as the name of the substrate. This is the only occasion when theregion command will be called after the init command.

Considerations when creating structures are:

For 2D simulations, it is advantageous to create a coarse mesh in the y- (that is, lateral) directionbecause lines created with the line command run all the way through the structure. Often, finerspacing in the y-direction is needed near the surface, whereas further in the bulk, a coarser spacingis required (to minimize the size of the problem).

When MGOALS is used for etch and deposition, or meshing, it creates automatically a localrefinement near interfaces that does not run the length of the structure.

38

Page 59: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

Refinement boxes can be specified with the refinebox command. Control over the meshingparameters for MGOALS is explained in Chapter 11 on page 397.

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

There are several ways to initialize fields at the time the initial structure is created from line and regioncommands. To initialize data everywhere in the structure, a field specification can be given in the initcommand. To initialize data in one particular region only, a field specification is given in the regioncommand. In both the init and region commands, the field parameter specifies the name of the datafield that will be created and either the concentration parameter or the resistivity parameter is used tospecify the value. Although initialization was intended for dopants, a field with any name can beinitialized with the concentration parameter. However, it will create a field with nodal values and,because stresses are computed on elements, it should not be used for initializing stress values (themechdata command or the select command can be used for this). The resistivity parameter only worksfor fields that have the resistivity parameters set (which by default are only As, B, P, Sb, and In insilicon).

The init command is also used to read a structure from a file. In this case, the parameter name serves asthe type specification, and the value of the parameter is the file name or root name (in the case ofDF–ISE), for example:

init dfise=file; # Read 'file.grd' and 'file.dat'.# If not available try 'file.grd.gz' and 'file.dat.gz'

init dfise=file.grd; # Only read a structure (no data) from 'file.grd' or 'file.grd.gz'init infile=file.str; # Read an sprocess native format fileinit tdr=file # Read a geometry, data, and pdb parameters from 'file.tdr'.init bnd=file # Read a bnd file and mesh it. Works only in 3D.

The init command is used to specify the principal wafer orientation, wafer.orient, and the slice.anglefor the implant command, that is:

init wafer.orient=<n> slice.angle=<n>

For more information about the wafer orientation and the slice angle, see 2D coordinate system onpage 51.

There are two ways to set the slice.angle. It can be set either directly or by using a 2D cutline, that is:

init slice.angle=[CutLine2D <x1> <y1> <x2> <y2>]

The first two values define the start point, and the third and fourth values define the end point in thewafer plane. The two points are defined in the DF–ISE coordinate system. Alternatively, the cutline canbe given in the coordinate system of Sentaurus Process (see Figure 15 on page 37) using:

init slice.angle=[CutLine2D <y1> <z1> <y2> <z2> SPROCESS]

39

Page 60: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

In addition to calculating the slice angle, the cutline defines the coordinate transformation for files savedin the DF–ISE format. The transformation (rotation) matrix and the translation vector are written to theDF–ISE .grd file using the struct dfise=<file> command.

When saving files using the TDR format, the current state of the parameter database is, by default, savedin the file. The parameter database contains all information necessary to restart a simulation including:

Model settings

Parameter settings

Refinement boxes from the refinebox command

Temperature ramps from the temp_ramp command

Gas flow specifications from the gas_flow command

Line specifications from the line command

Region specifications from the region command

Reaction specifications from the reaction command

Specifications for point, polygon, polyhedron

Machines created with the machine command

Doping specifications with the doping command

User materials created with mater command

By default, when loading a TDR file, the changes in the parameter database are read in from the TDRfile and are applied. For information about the TDR format, refer to the documentation for SentaurusData Explorer.

Defining crystal orientationThe crystal orientation of the wafer is established by specifying the Miller indices of the wafer surfaceand the wafer flat. The wafer.orient and flat.orient parameters of the init command specify the Millerindices of the wafer z- and y-axes (respectively). The wafer surface orientation (z-axis) is limited to the100, 110, and the 111 directions. The flat orientation (y-axis) may be set arbitrarily, but must beorthogonal to the wafer surface orientation. The default surface orientation is 100 and the default flatorientation is a 110 direction for all values of wafer.orient.

40

Page 61: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

Table 2 lists the crystallographic directions of the wafer axes for the most common crystallographicorientations of the wafer as shown in Figure 12 on page 35.

Automatic dimension controlBy default, Sentaurus Process delays creation of a full-dimensional structure until it is absolutelynecessary. This means that if users specify a 2D structure where all regions span the simulation domainin the y-direction, Sentaurus Process creates a 1D structure. When a mask is used in an etch or implantcommand, Sentaurus Process automatically extrudes the structure into the second dimension and copiesthe data. This feature can be switched off in the init command by using the option !DelayFullD. Thedimension can be manually increased at any time with the grid command. If a 2D structure is required(that is, both the x-lines and y-lines have been specified, but not the z-lines), grid 2D or grid FullD willcause a 2D structure to be created.

Similarly, if x-lines, y-lines, and z-lines have been specified, grid 2D can be used to increase a 1Dstructure to 2D, and a 1D or 2D structure can be increased to 3D using grid 3D or grid FullD. Thisfunctionality can also be used to increase the dimension of loaded structures. After a structure has beenloaded, line commands can be issued and the dimension of the structure will increase automaticallywhen necessary or when manually using the grid command.

When structures are saved, the current maximum dimension as specified with line commands is used bydefault. To save files in the current dimension, the !FullD parameter of the struct command can be used(see Saving and visualizing structures).

Saving and visualizing structuresSentaurus Process supports three file formats for reading and writing structures and data: an internal .strfile format, the DF–ISE file format, and TDR file format. In addition, Sentaurus Process can write .bndfiles, which is the Synopsys format for boundary files. These files contain simply connected regions inorder to operate smoothly with other Synopsys tools. One important option available for saving DF–ISEfiles is to switch off the saving of gas regions. The gas region can cause problems for other tools, but isrequired when Sentaurus Process reads a DF–ISE file. The TDR format allows for the saving andloading of geometry and data information along with pdb parameters.

Table 2 Miller indices of wafer axes for each value of wafer.orient (wafer axes are defined in Figure 12)

Wafer orientation XW YW ZW

100 110[ ] 110[ ] 001[ ]

110 001[ ] 110[ ] 110[ ]

111 112[ ] 110[ ] 111[ ]

41

Page 62: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

It is important to understand the difference between the simulation coordinates used by SentaurusProcess and the visualization coordinates used by DF–ISE, TDR, and Tecplot SV. For SentaurusProcess, the positive x-direction is always into the substrate in 1D, 2D, and 3D. DF–ISE, TDR, andTecplot SV have different axis direction into the substrate in 1D, 2D, and 3D. By default, SentaurusProcess rotates the structure into the DF–ISE coordinate system when saving the structure and rotatesthe structure back when reading it.

Figure 15 on page 37 shows the relationship between simulation and visualization coordinates. Theexposed surface of the substrate is oriented upward, that is, the ‘up’ direction is always in the negativex-direction in the Sentaurus Process coordinate system. When Sentaurus Process structures aredisplayed in Tecplot SV, the orientation is correct, but the axis labels differ from the Sentaurus Processdirections because of the rotation applied to the coordinates when saving and reading structures.

It is possible to set which fields are stored in the DF–ISE files by using the SetDFISEList command. Eachfield name appearing in the SetDFISEList command is added to the list of fields usually saved (if the fieldis present in the structure). This command also takes as arguments the macro parameters Dopants andSolutions and their negative counterparts !Solutions and !Dopants.

Solutions refers to variables of the partial differential equations (PDEs). It is necessary to have thesolution variables stored in a DF–ISE .dat file if that file is to be used to restart a simulation. Theparameter Dopants refers to the total and active dopant concentration fields. By default, DF–ISE files aresaved with both Solutions and Dopants names in SetDFISEList. However, this places many fields inthe .dat files and, sometimes, it is more convenient to have fewer fields.

To do this, set !Solutions in SetDFISEList, which resets all defaults so that nothing is stored by default,and add the field names to be stored in the .dat file (see SetDFISEList on page 500).

Saving 1D profiles for InspectIt is also possible to store .plx files using the WritePlx command. The command SetPlxList sets the fieldsto be stored in the .plx file. It is similar to the SetDFISEList command except that there are no defaultfields stored if the command is called. Only those field names passed to SetPlxList are stored in the .plx

file (see SetPlxList on page 502 and WritePlx on page 517).

The select command (more 1D saving options)The select command is a versatile command for many operations such as viewing results,postprocessing, and initializing or changing datasets. The basic command is:

select z=<EXPRESSION>

where <EXPRESSION> is an Alagator expression (see Chapter 6 on page 305). A simple example of an<EXPRESSION> is the name of a data field such as Arsenic and ITotal. The value of the expression is storedin the selected field.

42

Page 63: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

This selected field can be viewed with print.data or print.1d, for example, or the integrated values canbe obtained using the layers command. The select command can also be used to set an existing data fieldor create a new data field, for example:

select z=1.0 name=MyDataField; # create a new datafield named MyDataField# and set it to 1.0 (everywhere)

select z=Arsenic name=Interstitial store; # Set Interstitial equal to Arsenic everywhere and set a# flag so that Interstitial will be stored in the output# file.

Loading 1D profiles: profile commandThe profile command is used to load a 1D profile into 1D, 2D, or 3D structures. The file to be readshould contain one x-coordinate data pair per line. Both linear and logarithmic interpolation areavailable. Data files are created by using:

print.data outfile=file.dat

Sentaurus Process saves the currently selected variable to the file file.dat.

Setting parameters of iterative solver ILSThe ILS solver is used by default to solve the linear systems both for Flow and diffuse in 3D simulations.By default, for 1D and 2D problems, PARDISO is used. You may select the ILS solver in these casesusing the math command. Default parameters for the ILS solver have been added to the database. Tospecify modified parameters for the ILS solver, such as the type of iterative scheme, the number ofiterations, the output verbosity, or the memory resources, use the pdbSet commands.

NOTE In the pdbSet commands, parameters must be specified separately for the type of problem(Flow or diffuse) and for the correct dimension (2D or 3D).

Different ILS parameters can be specified for diffuse and Flow, both in 2D or 3D. In general, the pdbSetcommand for the ILS parameters has the form:

pdbSet [Boolean | Double | String] Math [diffuse | Flow] [2D | 3D] ILS.[command] [value]

To specify the GMRES method, for example, gmres(60), use:

pdbSetString Math diffuse 3D ILS.method gmrespdbSetDouble Math diffuse 3D ILS.gmres.restart 60

To specify the FlexibleGMRES method, for example, fgmres(40), to solve the stress equations, use:

pdbSetString Math Flow 3D ILS.method fgmrespdbSetDouble Math Flow 3D ILS.fgmres.restart 40pdbSetDouble Math Flow 3D ILS.maxit 5

43

Page 64: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 2 THE SIMULATOR SENTAURUS PROCESS

A rather small maximum number of iterations should be specified for this solver, the recommendedvalue for ILS.maxit is 4 … 8.

To select the new solvers for mechanics, STCG2 or STCG3, for 2D or 3D cases respectively, forexample, STCG3, use:

pdbSetString Math Flow 3D ILS.method stcg3pdbSetDouble Math Flow 3D ILS.tolrel 1e-10pdbSetDouble Math Flow 3D ILS.ilut.tau 5e-4pdbSetString Math Flow 3D ILS.scaling diagsympdbSetString Math Flow 3D ILS.nonsymmOrdering none

For the mechanics solvers STCG2 and STCG3, it is mandatory to specify ILS.scaling as diagsym, andILS.nonsymmOrdering as none. It is also recommended to specify the value for the parameter ILS.ilut.tauin the range of 5.e-4 … 5e-5.

By default, an .ilsrc file is no longer needed and is ignored. All parameters that were previouslyspecified in an .ilsrc file should now be specified with pdbSet ILS commands. However, it is stillpossible to use an .ilsrc file. To enable reading parameters from the .ilsrc file, use the following pdbSetcommands:

pdbSetBoolean Math Flow 3D ILS.useILSRCFile 1

and:

pdbSetBoolean Math diffuse 3D ILS.useILSRCFile 1

With the .ilsrc file, it is not possible to specify different parameters, for different dimensions or differentequations. If an .ilsrc file is provided and activated, the file content will be printed once in the log andoutput files.

Suppose the following .ilsrc file had been previously used, but the you now want to apply theseparameters only to solve diffuse equations in 3D:

set(1) {iterative ( bicgstab, tolrel=1e-8, tolunprec=1e-4, tolabs=0, maxit=200 );preconditioning ( ilut(1.e-3,-1), left );ordering ( symmetric=nd, nonsymmetric=mpsilst );options ( compact=yes, verbose=0 );

};

This can be performed with the following sequence of pdbSet commands:

pdbSetString Math diffuse 3D ILS.method bicgstabpdbSetDouble Math diffuse 3D ILS.tolrel 1e-8pdbSetDouble Math diffuse 3D ILS.tolunprec 1e-4pdbSetDouble Math diffuse 3D ILS.tolabs 0pdbSetDouble Math diffuse 3D ILS.maxit 200pdbSetDouble Math diffuse 3D ILS.ilut.tau 1e-3pdbSetBoolean Math diffuse 3D ILS.leftPreconditioner 1pdbSetString Math diffuse 3D ILS.symmOrdering ndpdbSetString Math diffuse 3D ILS.nonsymmOrdering mpsilstpdbSetBoolean Math diffuse 3D ILS.compact 1pdbSetDouble Math diffuse 3D ILS.verbose 0

44

Page 65: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Sentaurus Process

CHAPTER 3 Implantation

The chapter presents ion implantation technique used in Sentaurus Process.

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

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

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

Analytic ion implantation is performed using the implant command:

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

Sentaurus Process simulates an analytic implantation step producing output such as:

---------------------------------------------------------------- implant -----implant energy=35.00<keV> dose=1.00e.+14<cm-2> tilt=7.00<degree> rotation=-90.00<degree> Boron------------------------------------------------------------------------------Species = BoronDataset = BoronEnergy = 35keVDose (WaferDose) = 1e+14/cm2BeamDose = 1.0075e+14/cm2BeamDose2D = 1.0075e+14/cm2Tilt = 7deg (look up value: 7deg)Tilt2D = 7degRotation = -90deg (look up value: 45deg)Slice angle = 90deg

45

Page 66: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

Wafer orientation = <100>Current = 0ATemperature = 273.16K

For a description of the analytic implantation mode, see Analytic implantation on page 53. To switchfrom analytic implantation to MC implantation with Crystal-TRIM, use the logical switch crystaltrim:

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

To switch from analytic implantation to MC implantation with Taurus MC, use the logical switchtaurus.mc:

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

If the cascades switch is used in addition to crystaltrim or taurus.mc, the MC implantation is run in thefull-cascade mode. For a description of the Crystal-TRIM and Taurus MC mode, see MC implantationon page 81.

An external profile can be loaded using the load.mc switch:

implant <dopant> [energy=<n>] [dose=<n>] [tilt=<n>] [rotation=<n>] [load.mc] [file=<c>]

A set of DF–ISE grd and dat files must be specified with the file selector. For a full description of thefile-loading mode, see Loading external profiles on page 110.

The implantation energy in the implant <dopant> facility is given in keV by default. The implantationdose is the so-called wafer dose (WaferDose), which refers to the expected dose in the structure after theimplantation is finished. It is measured in ions per cm2. Alternatively, the implantation dose can bespecified as the beam dose (BeamDose) using the logical switch beam.dose:

implant <dopant> [dose=<n>] [beam.dose]

Beam dose control is the default in the Taurus/TSUPREM-4 mode. The dose does not depend on theorientation of the wafer with respect to the ion beam during the implantation. For a discussion of themeaning and implications of the tilt and rotation angles, see Coordinate system on page 49. All anglesare measured in degrees.

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

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

46

Page 67: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Selecting modelsThe implanted species must be a previously initialized species. To initialize an implantation species, usethe implant species=<dopant> facility, that is:

implant species=<dopant> <material> [imp.table=<file>] [model] [damage]

NOTE This command does not perform an implantation step. It is distinguished from the standarduse of the implant command by the keyword species (or tables).

Here, dopant can be any name, while material should be from the list of initialized materials inAppendix B on page 519. To select the implantation table file, containing moments for the primary andlateral distributions, can be selected, use the keyword imp.table. The <model> switch selects the implantmodel. The available choices are discussed in Primary distribution functions on page 54. The followingmodels are available:

Gaussian distribution: gaussian

Single Pearson distribution: pearson

Single Pearson distribution with linear exponential tail: pearson.s

Dual Pearson distribution: dualpearson

External distribution: point.response

To switch on damage calculation, use the damage flag.

The following command, for example, changes the default implantation table for boron in silicon tomy_table.tab and the implant model to pearson. It also switches off the damage calculation for boron insilicon:

implant species=Boron Silicon imp.table=my_table.tab pearson !damage

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

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

Table 3 Overview of default species initialized by Sentaurus Process

Atomic species Molecular Description

Aluminum, Antimony, Arsenic, Boron, Gallium, Germanium, Indium, Nitrogen, Phosphorus, Silicon

BF2 Used in analytic implantation and MC. Implantation tables are available.

Bromine, Carbon, Chlorine, Fluorine, Helium, Hydrogen, Iodine, Lead, Oxygen, Tin

BCl2, AsH2, PH2

No implantation tables are available. Analytic implantation will abort. Recommended for use in MC only.

47

Page 68: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

You can overwrite or extend these settings at any time during a Sentaurus Process run. There are threeprincipal ways to change the initial settings. With the previously described command, you can changethe settings for one pair of dopant species and material using:

implant [species=<dopant>] tables=<name>

The settings for one particular dopant species in all materials can be overwritten. The <name> stringselects a set of tables and model switches. Internally, Sentaurus Process executes a set of implantspecies=<dopant> <material> commands, which set the implant parameters for one pair of dopant speciesand material, respectively.

NOTE The keyword table=<name> does not refer to a particular table or table name. It sets all tablesand model switches for the species in all materials using a Tcl procedure.

The possible choices for <name> are discussed in Tables on page 64. The following settings are available:

Mixed dual-Pearson and single-Pearson tables: Default

Same as above but in the Taurus table format: AdvCal

Taurus Process table set: Taurus

University of Texas tables: Tasch

Single Pearson tables used in Dios: Dios

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

implant species=Boron tables=Dios

If the above command is given without the keyword species, that is:

implant tables=<name>

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

implant tables=Default

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

The command:

implant tables=Taurus

switches to the Taurus/TSUPREM-4 mode. This means that Sentaurus Process uses the same momenttables as the Taurus Process implant library in TSUPREM-4.

48

Page 69: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

In addition, several models are switched on that are not used by default. These models are:

Beam dose control: beam.dose (see Overview on page 45)

Proportional range scaling: range.sh (see Multilayer implants on page 71)

Effective channeling suppression: eff.channeling.supress (see Screening (cap) layer-dependentmoments on page 57)

Profile Reshaping: profile.reshaping (see Profile reshaping on page 59)

Preamorphization implants (PAI): pai (see Preamorphization implants (PAI) model on page 78)

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

The amount of information printed to the log file and displayed is controlled by the parameter info inthe implant command. The value of info is set to an integer value between 1 and 3. The higher the valueof info, the more detailed the information printed to the log file and displayed.

Coordinate system

Coordinates for implantation

Tilt and rotation angles

The direction of the ion beam is defined relative to the wafer coordinate system (see Figure 12 onpage 35) by the values of the rotation and tilt parameter of the implant command. Figure 16 shows thetilt and rotation angles in the wafer coordinate system.

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

ZW

XW

YW

YW

XW

rotation

rotation

tilt ion beam

49

Page 70: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

The tilt and rotation angles are measured from the ion beam to the wafer z-axis and wafer y-axis,respectively. The tilt angle is measured in the wafer yz-plane and is positive in the counterclockwisedirection about the wafer x-axis. Negative tilt angles are allowed, but are converted automatically topositive tilt by adding 180 degrees to the rotation angle.

The rotation angle is positive in the counterclockwise direction about the wafer z-axis. Since the tilt androtation angles are measured with respect to the wafer axes, the direction of the beam in the simulationcoordinate system depends on the slice angle. Figure 17 shows the relationship between wafercoordinates, simulation coordinates, and the beam direction.

Figure 17 Tilt and rotation angles for implantation; angles shown correspond to tilt = 20, rotation = 45, and slice.angle = 60

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

Figure 18 shows the projection into the wafer plane of the direction from which the beam strikes thewafer for tilt >0 and various rotation angles. The default simulation coordinate system (slice.angle =-90) is also shown.

Figure 18 Implant rotation directions for positive tilt

ZW

XW

YW

YW

XS

YS

ZS

XW

slice.angle

YS

ZS

XS

slice.angle

rotation

tilt

rotation

ion beam

XW

YW

ZW

0o

-90o 90o

180o

ZS

XS

YS

50

Page 71: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Figure 19 shows clearly that the orientations shown in Figure 18 on page 50 are consistent with theconventions defined in Figure 16 on page 49. A rotation of 90 degrees corresponds to rotating the wafera quarter turn counterclockwise.

Figure 19 Rotating wafer and fixed beam direction

2D coordinate systemIn a 2D simulation, the orientation of the 2D simulation plane with respect to the wafer coordinatesystem must be defined. The angle between the 2D cut plane and the y-axis is defined by the slice.angle.The default value is –90 degrees, which orients the 2D cut plane parallel to the wafer flat. Thetransformed y-axis (ys) is the y-axis in the 2D cut plane.

There are two ways to set the slice.angle in the init command: It can be set either directly or by usinga 2D cutline, that is:

init slice.angle=[CutLine2D <x1> <y1> <x2> <y2>]

The first two values define the start point, and the third and fourth values define the end point in thewafer plane. The two points are defined in the DF–ISE coordinate system. Alternatively, the cutline canbe given in the Sentaurus Process coordinate system using:

init slice.angle=[CutLine2D <y1> <z1> <y2> <z2> SPROCESS]

In general, the tilt apparent in the 2D simulation plane is different from the tilt value. It is given by thegeometric relation:

(1)

The angle tilt2D can be found in the output of Sentaurus Process. It can be negative depending on therotation angle.

90o

rotate wafer +90o

90o

ion beam ion beam

tilt2D( )cos tilt( )cos2 tilt( )cos 2 tilt( )sin 2 rotation+slice.angle( )cos⋅+

-----------------------------------------------------------------------------------------------------------------------------------------------------------=

51

Page 72: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

The tilt value defines the relation between the wafer dose (dose), which is given at the command lineby default and the beam dose (BeamDose), that is:

(2)

The BeamDose2D as it appears in the Sentaurus Process output is defined using tilt2D, that is:

(3)

Multistep implantationThe simulation of multistep implantations for both the MC and analytic methods is controlled by theinteger parameter mult.rot=<n>. If mult.rot is set to a number higher than 1, an implantation with arevolving ion beam is simulated. Starting with the user-defined rotation angle, Sentaurus Processperforms mult.rot implantations with the same energy and tilt in one implant command.

The rotation angle is incremented by (360 degrees)/mult.rot and, for each implantation step, the dose isthe 1/mult.rot-th part of the user-specified dose.

MaskThis command is used to specify and control mask statements. Implants are blocked in masked regions.A mask can be defined before an implant statement:

mask name=<s> [negative] [{add list clear}] left=<n> right=<n> front=<n> back=<n>

In 2D, there is an additional option to specify masks using 1D line segments, that is:

mask name=<s> [negative] [{add list clear}] segments= {left_1 right_1 ... left_n right_n}

A mask is given a name that can be used to reference the mask in an implant command:

implant <dopant> [mask=<name>]

The Boolean keyword negative reverses the polarity of a mask. In this case, the implantation occurswhere the mask is defined. A new mask can be defined with the keyword add. If the name already exists,the mask is added to it. To obtain a list of the currently defined masks, use the keyword list:

mask list

The coordinates of the mask in the y-direction can be specified with left and right. In the z-direction,the coordinates are specified with the keywords front and back. See mask on page 466 for moreinformation about the mask command.

BeamDose dose

tilt( )cos--------------------------=

BeamDose2D dose

tilt2D( )cos---------------------------=

52

Page 73: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

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

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

To calculate the concentration of the implanted species at a point (x, y) of the simulation domain, thesuperposition of all distribution functions of all possible points of incidence needs tobe computed:

(4)

where Nd is the total dose per implanted area and C(x, y) is the doping profile.

Figure 20 Point-response distribution for a particle incident at the point (ξ, η) at the surface; intervals are used for lateral integration at the point (x, y); shaded regions to left and right mark the lateral extension elements

The 2D distribution functions are always assumed to be given as a product of two 1D distributionfunctions orthogonal to each other: a primary distribution function and a lateral distributionfunction :

(5)

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

In 3D, Sentaurus Process uses a slightly different algorithm. The point-response function is a 3Dfunction. The lateral function is also used in the third direction:

(6)

F x y ξ η, , ,( )

ξ s( ) η s( )( , ) Γgas∈

C x,y( ) Nd F x y ξ s( ) η s( ), , ,( ) sdΓgas

∫=

(ξ,η)

x

y

(x,y)

fp x( )fl x( )

F x y ξ η, , ,( ) fp x ξ s( )–( ) fl y η s( )–( )⋅=

fl x( )

F x y z ξ η Θ, , , , ,( ) fp x ξ s( )–( ) fl y η s( )–( ) fl z Θ s( )–( )⋅ ⋅=

53

Page 74: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

assuming an axially symmetric point-response function. The lateral integration is performed in the y-zplane perpendicular to the projected ion beam. For each point in the lateral integration plane, again, alocal 1D layer structure is computed.

Primary distribution functionsPrimary distribution functions can be set for a dopant/material combination using:

implant species=<dopant> <material> [{gaussian pearson pearson.s dualpearson point.response}]

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

The first moment, the projected range , is defined as:

(7)

while the higher moments are defined as:

(8)

The standard deviation σ, the skewness γ, and the kurtosis β are defined as:

(9)

(10)

(11)

Gaussian distribution: gaussian

(12)

(13)

(14)

Rp

Rp x f x( ) xd⋅ ⋅

∞–

∫=

mi

mi x Rp–( )i f x( ) xd⋅ ⋅

∞–

∫=

σ m2=

γm3

σ3------=

βm4

σ4------=

fp x( ) 12πσ

--------------x Rp–( )2

2σ2----------------------–⎝ ⎠

⎛ ⎞exp=

γ 0=

β 3=

54

Page 75: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Pearson distribution: pearson

The Pearson distributions are the solution to the following differential equations:

(15)

(16)

Different types of Pearson distributions are distinguished by different values of γ and β:

(17)

(18)

(19)

The Pearson–IV distribution is given by:

(20)

Sentaurus Process automatically switches between the Pearson–IV, Pearson–V, and Pearson–VIdistribution functions depending on the conditions for γ and β given in Eq. 17 to Eq. 19. The factor K ischosen to fulfill the normalization condition:

(21)

ydd f y( ) y a–

b0 b1 y⋅ b2 y2⋅+ +---------------------------------------------- f y( )⋅ , y x Rp–==

a b1γ σ β 3+( )⋅ ⋅

A--------------------------------–= =

b0σ2 4β 3γ2–( )⋅

A------------------------------------–=

b22β 3γ2– 6–

A------------------------------–=

A 10β 12γ2– 18–=

0 γ 32< <

β 48 39γ2 6 γ2 4+( )3 2⁄++32 γ2–

-------------------------------------------------------------> Type IV

0 γ 32< <

β 48 39γ2 6 γ2 4+( )3 2⁄++32 γ2–

-------------------------------------------------------------= Type V

0 γ 32< <

3 1.5 γ⋅+ β 48 39γ2 6 γ2 4+( )3 2⁄++32 γ2–

-------------------------------------------------------------< < Type VI

fp y( ) K b2y2 b1y b0+ +1

2b2--------

b1b2----- 2a+

4b2b0 b12–

------------------------------–2b2y b1+

4b2b0 b12–

------------------------------⎝ ⎠⎜ ⎟⎛ ⎞

atan

⎝ ⎠⎜ ⎟⎜ ⎟⎜ ⎟⎛ ⎞

exp⋅=

fp x( ) xd∞–

∫ 1=

55

Page 76: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

Pearson distribution with linear exponential tail: pearson.s

A linear exponential tail is added to the Pearson distribution. This is performed in an attempt to describemore accurately the tails of some implants, that is:

(22)

where is the Pearson distribution, is a transition function, and is the exponential tail.

The decay length of the exponential tail is give by the parameter :

(23)

The constants A1 and B are computed from the continuity conditions:

(24)

and:

(25)

NOTE Exponential tail distributions are available with the Dios tables. However, care is requiredwhen using the exponential tail for implantation with large tilt angles. The lexp-fit in thesetables was performed for a standard 7-degree tilt in amorphous materials and does not applyto large tilt angles or strong channeling conditions.

fp x( )

Pp x( ) 0 x xmax<≤,

Pv x( ) xmax x< xa≤,

Pl x( ) xa x ∞<≤,⎩⎪⎨⎪⎧

=

Pp Pv Pi

lexp

xmax : Pmax Pp xmax( ):= maxPp x( )=

xa xmax≥ : Pa Pp xa( ):= 12---Pp xmax( )=

Pv x( ) Pp xmax( ) A1 x xmax–( )2 B x xmax–( )3+( )exp⋅=

Pl x( ) Pp x( )x xmax–

lexp-------------------- Pp xmax( )

x xmax–lexp

--------------------–⎝ ⎠⎛ ⎞exp⋅⋅+=

Pl xa( ) Pv xa( )=

xdd Pl x( ) xa xd

d Pv x( ) xaP′a=:=

A1

3Pa

Pmax------------ln

xa xmax–( )2------------------------------

P′aPa xa xmax–( )----------------------------------–=

B2

PaPmax------------ln–

xa xmax–( )3------------------------------

P′a

Pa xa xmax–( )2------------------------------------+=

56

Page 77: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Dual Pearson distribution: dualpearson

The most advanced primary distributions are available with the dual Pearson function [10], which canbe chosen with the switch dualpearson. The dual Pearson model includes a superposition of two Pearsonfunctions:

(26)

The head and tail functions are two independent Pearson functions. The head function accounts for theprofile of ions that do not channel (nonchanneling part). The tail function accounts for the channeledions that form the characteristic tail in the implantation profile.

A dualpearson function is characterized by nine parameters: the two sets of four Pearson parameters andthe ratio between the amorphous and channeling doses. These parameters are usually taken frommoment table files.

You can set the individual moments directly in the Sentaurus Process command line, for example:

implant species=<dopant> <material> [rp=<n>] [stdev=<n>] [gamma=<n>] [beta=<n>] \[rp2=<n>] [stdev2=<n>] [gamma2=<n>] [beta2=<n>] [ratio=<n>]

This overwrites the parameters found in the specified implant table. Using this facility, it is also possibleto force the Pearson distributions in the dualpearson and pearson models to behave like a Gaussiandistribution, for example:

implant species=Boron Silicon pearson gamma=0 beta=3

The first statement sets the implantation model to a Pearson distribution. The parameters are read fromthe default table. The skewness and kurtosis are set according to Eq. 13 and Eq. 14, overwriting thevalues found in the table. This results in a Gaussian distribution for the function characterizing theamorphous part of the profile.

All moments set at the command line are ignored after an implant table has been specified again usingthe implant species=<species> <material> imp.file=<name> command. The moments from this implanttable will then be used. Alternatively, you can enable or disable individual moments using the followingpdb switch:

pdbSetBoolean Boron Silicon rp.isset 0

This command would disable a user set value for rp.

Screening (cap) layer-dependent momentsCap layer–dependent implant tables are used to describe correctly the screening of the ion beam in thestructure. The implant moments in a particular region generally depend on the combined thickness of all

fp x( ) ratio fhead x( ) 1 ratio–( ) ftail x( )⋅+⋅=

57

Page 78: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

layers above this region. The moments are parameterized with respect to the thickness , which isdefined as:

(27)

that is, as the sum over the thicknesses of all layers above the current layer multiplied by an efficiencyfactor . This factor can be set for a particular material and a species using:

implant species=Boron Oxide eff.caplayer.thick 1.0

The default value is 1 for all materials other than silicon, where it is set to zero. Therefore, silicon layersare effectively not included in the total cap layer thickness.

If the implant table for a specific <material>/<species> combination does not contain an explicit cap layerdependence, the effective channeling suppression model is used. This model suppresses the channelingtail by multiplying it by a factor rsuppress calculated according to:

(28)

where and are the peak concentrations of the unscaled profile, and is defined as:

(29)

using the value of Rp for the amorphous (head) part of the profile for all layers i above the present layer.The amorphous part of the profile is multiplied by to conserve the total dose.

MinRatio is the minimum value of the ratio σ. The parameters MinRatio and Exponent can be set in theparameter database, that is:

pdbSet <material> <species> MinRatio

pdbset <material> <species> Exponent

The model is applied only for values of σ greater than MinRatio. The effective channeling suppressionmodel can be switched on using:

implant species=<species> <material> [eff.channeling.supress]

The model remains inactive for explicitly cap layer–dependent implant tables.

NOTE This model is switched off by default, and is switched on in the Taurus/TSUPREM-4 mode.

tjcap

ticap tjfj

eff

j

j i<

∑=

fjeff

rsuppress1

12---

C Rp head,( )C Rp head,( ) C Rp tail,( )+--------------------------------------------------------⋅ MinRatio

σ-------------------------⎝ ⎠

⎛ ⎞ Exponent–+

----------------------------------------------------------------------------------------------------------------------------------=

C Rp head,( ) C Rp tail,( ) σ

σti

Rpi-------

i∑=

1 rsuppress–

58

Page 79: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Profile reshapingTraditionally, it is believed that the first peak of the implanted profile in a monocrystalline silicon is dueto random scattering and is described by the first Pearson distribution in the dual Pearson analytic model.The second peak (or hump) of the implanted distribution is attributed to ion channeling along thecrystalline axes and planes and is described by the second Pearson distribution in the dual Pearsonmodel.

This approach works well for implants with tilt angles above about 4 degrees, where position and widthof the first Pearson distribution do not change as a function of the screen oxide thickness. However, forlow tilt implants (below 4 degrees), the position and width of the first Pearson distribution changesconsiderably (up to 50%) with the thickness of the screen oxide.

Typically, for a low tilt implant performed into bare silicon, the first Pearson distribution is shifteddeeper into the substrate and is much wider than for a similar high tilt implant. As the screen oxidethickness increases, the projected range and standard deviation of the first Pearson distribution relax totheir respective values at high tilt angles due to reduced channeling. Physically, this means that for a lowtilt implant, even the first peak contains a considerable number of channeled ions. To model this effect,it is necessary to reshape both Pearsons in the dual Pearson model. This profile reshaping complementsthe reduction in channeling fraction provided by the effective channeling suppression model.

For those ions with explicit screen oxide thickness dependence in the implant tables, this change in shapeis addressed automatically. Otherwise, a shift is added to the projected range, standard deviation, andlateral standard deviation of both Pearson distributions. The shift is given by:

(30)

where (delta)_i is the shift for moment i, (alpha)_i is the shift factor for moment i, t is the cap layerthickness, MH_i is the value of moment i at high tilt value (7 degrees), and ML_i is the value of moment iat a given low tilt angle.

The shift factor parameters of the profile reshaping model can be set in the parameter database, that is:

pdbSet <material> <species> RangeFactorpdbSet <material> <species> SigmaFactorpdbSet <material> <species> ChannelingRangeFactorpdbSet <material> <species> ChannelingSigmaFactor

The value of RangeFactor is used when calculating the shift of the projected range; the value ofSigmaFactor is used for both the standard deviation and the lateral standard deviation. Setting a shiftfactor to zero effectively turns this model off for the respective moments. Higher values of the shiftfactor lead to a faster transition from low tilt to high tilt profile with increasing amorphous layerthickness. By default, the shift factors are zero in all materials except silicon.

Δi 1 e

αi t–σ

----------–

⎝ ⎠⎜ ⎟⎛ ⎞

MHi MLi–( )=

59

Page 80: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

The profile reshaping model can be switched on using:

implant <species> [profile.reshaping]

The model remains inactive for explicitly cap layer–dependent implant tables.

NOTE This model is switched off by default, and is switched on in the Taurus/TSUPREM-4 mode.

Lateral straggleThe lateral straggling of the distribution of implanted ions is specified by defining a lateral distributionfunction, which is a Gaussian distribution with a lateral standard deviation :

(31)

In general, the lateral standard deviation depends on the vertical depth of the profile. The depthdependence can be switched on or off for a particular combination of dopant species and material usingthe flag depth.dependent:

implant species=<dopant> <material> [depth.dependent]

In the depth-independent case, the lateral straggling calculation uses a depth-independent . The valueof σl is taken at the peak position of the vertical distribution function, that is, at for singledistributions like pearson and gaussian, and at of the head and tail distribution for the dualpearsonmodel.

The lateral standard deviation can also be set in the command line using the keyword lat.stdev:

implant species=<dopant> <material> [lat.stdev=<n>] [lat.stdev2=<n>]

where lat.stdev2 sets the lateral standard deviation for the tail function. If either lat.stdev or lat.stdev2is set, Sentaurus Process switches to the depth-independent lateral straggling. All depth.dependentswitches are ignored in this case.

An additional scaling factor for both the depth-dependent and depth-independent lateral standarddeviation can be used to vary the lateral straggling:

implant species=<dopant> <material> [lat.scale=<n>] [lat.scale2=<n>]

σl

fl x y,( ) 12π σl x( )

------------------------ y2

2σl2 x( )

-----------------–⎝ ⎠⎜ ⎟⎛ ⎞

exp=

σlRp

Rp

60

Page 81: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Depth-dependent lateral straggle: Sentaurus Process formulation

If a SUPREM-III-compatible implantation table is used, the depth-dependent lateral standard deviationis calculated according to:

(32)

where lstdev and lv are parameters taken from the implantation table. There are two independent sets ofparameters for the two Pearson functions in the dualpearson model. This formulation is used with theTasch implantation tables.

Depth-dependent lateral straggle: Dios formulation

If a Dios-compatible implantation table is used, the depth-dependent lateral standard deviation iscalculated using a vector of five parameters p1, p2, ..., p5. The following formula is applied [11]:

(33)

There is only one set of these parameters in each table entry. In the case of the dualpearson implant model(see Eq. 33), the same set of parameters p1, p2, ... p5 together with the standard deviation of the firstPearson function described by stdev is applied to both the amorphous and the channeling part of thedistribution.

Depth-dependent lateral straggle: Taurus formulation

If a Taurus-compatible implantation table is used, the depth-dependent lateral standard deviation iscalculated using two parameters:

(34)

The depth-independent standard deviation and the depth-dependent slope are read from themoment table.

This formulation is compatible with the Dios formulation (see Depth-dependent lateral straggle: Diosformulation) for the following conditions: , . The remaining parameters can betranslated as follows:

(35)

σl x( ) lstdevx

lstdev lv⋅------------------------------–⎝ ⎠

⎛ ⎞exp⋅=

σl x( ) stdev max 0.01p1

p2 x⋅Rp

------------- p3+⎝ ⎠⎛ ⎞⋅⎝ ⎠

⎛ ⎞exp p1p4 x⋅

Rp------------- p5+⎝ ⎠

⎛ ⎞⋅⎝ ⎠⎛ ⎞exp+⎝

⎛log ⎠⎞

p1-----------------------------------------------------------------------------------------------------------------------------------------,

⎝ ⎠⎜ ⎟⎜ ⎟⎜ ⎟⎛ ⎞

⋅=

σl x( ) σ0 1 Δσ xRp------ 1–⎝ ⎠

⎛ ⎞+⎝ ⎠⎛ ⎞⋅=

σ0 Δσ

p4 0= p1 p5⋅ ∞–=

σ0 stdev p2 p3+( )⋅=

Δσ p2 p2 p3+( )⁄=

61

Page 82: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

Analytic damage: Hobler modelThe damage distribution is calculated using Eq. 33 and Eq. 5. The primary and lateral distributionfunctions are taken from the literature [11]. The primary function consists of a Gaussian function and anexponential tail, joined continuously with continuous first derivatives.

Three types of primary function are distinguished:

Type 0

A simple Gaussian distribution with the primary range Rp and the standard deviation σ. Thedistribution is normalized.

The normalization factors are c1 and c2, and Nvac is the number of Frenkel defects per ion:

(36)

Type 1

For light ion species:

(37)

where l is the decay length of the exponential function. The joining point is calculated by:

(38)

Type 2

For heavier ions, the exponential tail is directed towards the bulk:

(39)

In this model, four parameters , , , and are required. These parameters were obtained by MCsimulations between 1 keV and 300 keV. If damage calculation is switched on, that is, if:

implant species=<dopant> damage

has been set, Sentaurus Process generates these parameters using an internal lookup table, whichcontains the original data available for boron, BF2, phosphorus, arsenic, and antimony in silicon.

fp x( ) Nvacc1

x Rp–( )2

2σ2----------------------–⎝ ⎠

⎛ ⎞exp=

fp x( )

Nvacc1xl--⎝ ⎠

⎛ ⎞ , x x0≤exp

Nvacc2

x Rp–( )2

2σ2----------------------–⎝ ⎠

⎛ ⎞ , x x0>exp⎝⎜⎜⎜⎜⎛

=

x0

x0 Rpσ2

l------–=

fp x( )Nvacc2

x Rp–( )2

2σ2----------------------–

⎝ ⎠⎜ ⎟⎛ ⎞

, x x0≤exp

Nvacc1xl--⎝ ⎠

⎛ ⎞ , x x0>exp⎝⎜⎜⎜⎜⎜⎛

=

Rp σ l Nvac

62

Page 83: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

NOTE For some other species, the parameters of these original species are used that are closest withrespect to the atomic number in the periodic table of elements. Nitrogen uses the boronparameters. Silicon and aluminum use the phosphorus parameters. Germanium and galliumuse the arsenic parameters, and indium uses the antimony parameters. Damage calculation isautomatically switched off for any other species.

Type 0 is used for boron at energies E < 20 keV, phosphorus at E < 55 keV, and arsenic at E > 170 keV.Type 1 is applied to boron and phosphorus elsewhere, and Type 2 is applied to arsenic at energies below170 keV and antimony at all energies.

The lateral distribution is modeled using Eq. 33. The five lateral parameters p1, p2, ..., p5 are providedin the internal lookup table.

An alternative to the internal lookup table is to load a table file similar to the implant tables. The keywordfor this is dam.file:

implant species=<dopant> <material> [dam.table=<name>]

This overwrites the internal lookup table for the abovementioned species using the parameters from thetable instead. In addition, it enables damage calculation for species other than the original ones.

DatasetsSeveral datasets are used to store the as-implanted profile and the implantation damage. Point-defectprofiles are created at the end of the implantation step. Datasets with the ending _Implant contain profilesgenerated during subsequent implant steps. These datasets are reset at the beginning of the next diffusestep. Datasets with the ending _LastImp contain the profiles generated during the last implant step. Theyare deleted at the end of each implant step.

Table 4 Datasets used in analytic implantation step

Dataset Description

Damage Accumulative damage (damage history). At the end of an implant step, the Damage_LastImp concentration is added using DFactor. This dataset is reset by the diffuse command.

Damage_LastImp Damage created during the last implant step.

<dopant> Accumulative density of the dopant concentration. At the end of an implant step, the <dopant>_LastImp concentration is added to <dopant>.

<dopant>_Implant Accumulative density of the dopant concentration. At the end of an implant step, the <dopant>_LastImp concentration is added to <dopant>_Implant. This dataset is reset by the diffuse command.

<dopant>_LastImp As-implanted dopant concentration that contains the profile generated during the last implant step. It is reset at the beginning of each implant step.

63

Page 84: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

Tables

Implantation table library

The implantation table library is located at $FLXSHOME/ImpLib/.

Dios tables

The subdirectory Dios/ contains the tables used by default in Dios. This tables can be made the defaulttables for all species in Sentaurus Process by using:

implant tables=Dios

For arsenic, antimony, phosphorus, indium, germanium, gallium, nitrogen, and aluminum, the data inthese tables is taken from the literature [4]. The values for boron are obtained from simulations with the1D process simulator TESIM [12][13]. The values for energies MeV are taken from the literature[3]. These tables provide moments that can be used with the Gaussian and Pearson implantation models.

Default tables

The directory Default/ contains tables extracted from MC simulations with Crystal-TRIM [5]. They arethe default tables used in Sentaurus Process. The default setting can be restored at any time during aSentaurus Process run by using:

implant tables=Default

These tables provide moments that can be used with all implantation models including the dualpearsonmodel. The data is available for arsenic, antimony, BF2, boron, phosphorus, indium, and germanium insilicon, polysilicon, oxide, and nitride.

For silicon, dual Pearson moments are available that depend on energy, tilt, dose, and cap-layerthickness. For polysilicon, oxide, and nitride, single Pearson moments are available that depend onenergy and tilt only. For all other species and materials, the respective Dios tables are used.

There are tables for low, medium, and high doses for all species except germanium where only one tablefor a medium to high dose is available (see Table 5 on page 65).

The tables cover different energy ranges. The tilt angles range from 0 to 60 degrees, and the oxidethickness ranges from 0 to 100 nm. Sentaurus Process selects the correct table depending on the implant

Int_Implant Accumulative interstitial profile updated at the end of an implant step.

Vac_Implant Accumulative vacancy profile updated at the end of an implant step.

Table 4 Datasets used in analytic implantation step

Dataset Description

1≥

64

Page 85: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

dose. This selection is performed automatically in a preprocessing step, which is only active whiletables=Default is set.

Implant tables from the Release 10.0 for phosphorus are located in Default/10.0. They can be used byoverwriting the default phosphorus tables with:

pdbSet ImplantData TableVersion 10.0

All other tables remain the same.

Advanced Calibration tables

The directory AdvCal/ contains the same data as the Default/ directory. The tables, however, areconverted to the Taurus table format. The tables can be selected to be the default by using the keywordTaurus:

implant tables=Taurus

The results of the Default mode and the Advanced Calibration (AdvCal) mode are not always the samesince the Taurus table reader uses a logarithmic interpolation scale for the dose and to obtain the ratio.

Table 5 Default tables

Species Table file Energy range [keV]

Arsenic <material>As_1e12-5e13.tab<material>As_1e13-8e14.tab<material>As_2e14-6e15.tab

0.5–400

Antimony <material>Sb_1e12-5e13.tab<material>Sb_1e13-5e14.tab<material>Sb_2e14-1e16.tab

1.5–600

BF2 <material>BF2_1e12-5e13.tab<material>BF2_1e13-8e14.tab<material>BF2_2e14-6e15.tab

0.5–400

Boron <material>B_1e12-4e13.tab<material>B_1e13-6e14.tab<material>B_16e13-8e15.tab

0.2–517 (silicon)0.2–480 (other materials)

Germanium <material>Ge_5e13-5e15.tab 1 to 50

Indium <material>In_1e12-4e13.tab<material>In_1e13-6e14.tab<material>In_16e13-8e15.tab

1–400

Phosphorus <material>P_1e12-4e13.tab<material>P_1e13-6e14.tab<material>P_16e13-8e15.tab

0.3–4000.12–3000 (10.0 upgrade)

65

Page 86: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

Tasch tables

The directory Tasch/ contains the University of Texas (UT) implant tables for boron, BF2, phosphorus,and arsenic in silicon [14]. For all other materials and species, single Pearson tables are available. Thetables can be selected to be the default by using the keyword Tasch:

implant tables=Tasch

The tables cover different energy ranges. The boron table ibout1.s3 contains cap layer–dependentimplantation moments valid for thicknesses between 1.5 and 40 nm. The moments in all other tables arecap layer independent.

The valid range for the tilt is 0 to 10 degrees and, for the rotation, the range is 0 to 45 degrees. Thesetables provide data to be used with all implant models.

The single Pearson tables provide only energy-dependent data covering the range between 10 keV and1000 keV.

Taurus tables

The directory Taurus/ contains the Taurus Process implant tables for boron, BF2, phosphorus,germanium, indium, antimony, and arsenic. To select these tables as the default, use the keyword Taurus:

implant tables=Taurus

The tables contain calibrated data from sub-keV to above 10 MeV. The calibration was performed usingboth SIMS data and MC calculations [6].

File formats

Sentaurus Process can handle a variety of table formats. The table format of the implantation table isautomatically recognized by Sentaurus Process from the file extension.

Single Pearson table file format: <file>.sp

This format provides the simplest table format that can be used with Sentaurus Process. It containsenergy-dependent entries for the moments to be used with the (single) pearson or gaussian model.

Table 6 Default tables

Species Table file Energy range [keV]

Arsenic iasut0.s3 7–180

BF2 ibfut0.s3 0.5–65

Boron ibout0.s3ibout1.s3

0.5–8015–80

Phosphorus iphut0.s3 15–180

66

Page 87: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

NOTE These tables cannot be used with the dualpearson model.

The format of the table entries is:

*energy rp stdev gamma beta lat.stdev

There is no dependence of the moments on dose, tilt, rotation, or cap layer thickness. Lines with anasterisk in the first column are treated as comment lines. Missing or incomplete blocks are not properlyread when the file is parsed.

SUPREM-III table file format: <file>.s3

This format allows the handling of energy, dose, tilt, rotation, and cap-layer thickness–dependent dualPearson moments. A SUPREM-III implant table file consists of two sections: one for the primarymoments and one for lateral moments. Both sections start with a header, which contains the parameterrange covered by the table. The header is organized as follows:

*Energies: NumberOfEnergies energy1 energy2 ...*Tilts: NumberOfTilts tilt1 tilt2 ...*Rotations: NumberOfRotations rotation1 rotation2 ...*Doses: NumberOfDoses dose1 dose2 ...*Thickness: NumberOfThickness thickness1 thickness2 ...

NOTE The order of these entries must not be changed.

Lines with an asterisk in the first column are treated as comment lines. A table entry for a particularcombination of lookup parameters has the format:

*rp stdev gamma beta rp2 stdev2 gamma2 beta2 ratio1rp stdev gamma beta rp2 stdev2 gamma2 beta2 ratio2...rp stdev gamma beta rp2 stdev2 gamma2 beta2 ratio<NumberOfDoses>

Each line contains eight dualpearson moments and the ratio as defined in Eq. 26. The entries are orderedincreasingly with respect to cap layer thickness, energy, tilt, and rotation.

NOTE There is no automatic check of the ordering of the table entries.

67

Page 88: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

The tables are for one species or material combination only. The cap-layer thickness, rp, rp2, stdev, andstdev2 should be given in micrometers and the angles, in degrees. The energy values must be specifiedin keV. No units must be specified in the tables.

The lateral part is organized in the same manner. Corresponding to the header information, the entriesare ordered in the same manner as in the primary part. Each entry has the format:

*<void> lstdev lv lstdev2 lv2

The first item is void and can be used for information purposes. The parameters are used in Eq. 32 tocalculate the depth-dependent lateral standard deviation. The units for lstdev and lstdev2 aremicrometers, whereas lv and lv2 are unitless.

Dios table file format: <file>.tab

The Dios table file format for implantation data files allows for dependencies on energy, dose, tilt,rotation, and the cap-layer thickness to be described. It provides the primary moments for allimplantation models including the dualpearson model. Moments for depth-dependent lateral stragglingare available as well. The format of the table entries is:

# Look up parametersmaterial species thickness rotation tilt energy NumberOfFunctions NumberOfDoses# Primary momentsrp stdev <void> gamma beta lexp <void>rp2 stdev2 <void> gamma2 beta2 lexp2 <void># Channeling tabledose ChannelingDosedose ChannelingDose...# Lateral stragglingp1 p2 p3 p4 p5

Lines with a # character in the first column are treated as comment lines. Missing or incomplete blocksare not properly read when the file is parsed.

The first block contains entries for the material and species names, cap layer thickness, rotation angle,tilt angle, and energy. The NumberOfFunctions defines the number of components of the primarydistribution function. A maximum of two functions are allowed. NumberOfDoses defines the number ofentries in the channeling table. Each entry consists of a dose and the corresponding channeling dose. Alldoses are expected to be positive.

68

Page 89: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Figure 21 Piecewise linear nonchanneling and channeling dose for a dual Pearson profile as represented in Dios channeling table

The ratio between the amorphous part and channeling part in Eq. 26 is calculated from this channelingtable:

(40)

The value for ChannelingDose is interpolated linearly using the value of the implant Dose.

The second block contains the moments for all the components of the primary distribution function.Parameters, which by definition do not exist for the function the set describes, are ignored.

NOTE Some entries are always ignored since they are not used in the implant models of SentaurusProcess. For example, the last moment entry (<void>) is always disregarded.

The third block contains the channeling table ordered with increasing dose, and the fourth block containsthe parameters for the depth-dependent lateral straggling.

NOTE The entries must be increasingly ordered with respect to the cap-layer thickness, rotation, tilt,and energy, so that the values for various energies (but the same other three parameters)follow each other. All data entries for the same material–dopant pair should follow each otherwith no interruption by entries for another material/dopant combination. The cap-layerthickness, rp, rp2, stdev, and stdev2 should be given in micrometers and the angles, in degrees.The energy values must be specified in keV. No units must be specified in the tables.

1013 1014 1015 Total Dose

Channeling Dose

Nonchanneling Dose

Dose

1013

1014

ratio 1 ChannelingDosedose

--------------------------------------------–=

69

Page 90: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

Damage table file format: <file>.dam

The damage tables for the Hobler damage model are similar to the Dios table file format. It allows fordependencies on energy, tilt, and rotation. It provides the primary moments for the damage model.Moments for depth-dependent lateral straggling are available as well. The format of the table entries is:

# Look up parametersmaterial species rotation tilt energy# Primary momentsrp stdev decay nvac type# Lateral stragglingp1 p2 p3 p4 p5

The syntax is the same as for the Dios table format. The item decay refers to the parameter l, and the itemnvac refers to the parameter in Analytic damage: Hobler model on page 62. The item type refers tothe type of Hobler model.

Taurus table format: <file>

The Taurus table format is the most general table format used in Sentaurus Process. It handles data forall implant and damage models. Implant table files in the Taurus format have no file extension, that is,an implant table file without a file extension is considered to be in the Taurus format.

It contains a file header and a block of numeric data. The file header consists of a list of names of theimplant conditions. The names should be lowercase only. The following names are recognized:

energy tilt rotation dose screen temperature current

The sequence of these names can be arbitrary. Some names from this list can be omitted. The followingunits should be used for the implant conditions:

energy,[keV]

tilt,[degrees]

rotation,[degrees]

dose,[cm-2]

screen,[um]

temperature,[K]

current,[mA/cm2]

The numeric data consists of an arbitrary number of lines that form the lookup tables for implantconditions and implant moments. Each line should contain a list of numeric values for the implantconditions followed by the implant moments. The numeric values should be separated by white space.

The number of the numeric values should be the same on each line. There should be at least n+4 valuesper line for a gaussian profile, n+6 values per line for a pearson profile, and n+13 values per line for adualpearson profile, where n is the number of the implant conditions specified in the file header.

Nvac

70

Page 91: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

The sequence of implant conditions should correspond exactly to the sequence of implant conditionnames in the file header. The sequence of the implant moments in one line is fixed as follows:

Gaussian: rp stdev lat.stdev lat.slope

Pearson: gamma beta

Dual Pearson: rp2 stdev2 lat.stdev2 lat.slope2 gamma2 beta2 ratio

Any line that starts with a double slash // is considered a comment and is omitted. Always put the doubleslash at the first position in the line.

If the requested set of implant conditions does not have an exact match in the lookup table, amultidimensional linear interpolation is used. If a requested implant condition extends beyond the rangeof the lookup table, the closest value from the lookup table is used.

If the lookup table contains several lines with identical sets of the implant conditions, only the last set isused, and all the previous lines are discarded.

If a table contains data for the Hobler damage model, the following sequence of moments is used:

rp stdev lat.stdev lat.slope gamma beta decay nvac

Multilayer implantsPoint-response functions are valid only for a single material layer. The implanted ions are assumed toimpact at the surface of this layer and subsequently are stopped. For multiple layers of differentmaterials, the point-response functions must be combined in a way that corrects the effect of the differentstopping power in the covering layers. This must be performed for each lateral interval taking intoaccount the local layer sequence parallel to the ion beam.

Two algorithms are available in Sentaurus Process: numerical range scaling (NRS) [15] and dose-matching [14]. The two algorithms can be selected with the keyword match while executing an implantcommand:

implant <dopant> [match={no range dose}]

The NRS algorithm selected with the range option is the default. Both algorithms calculate a shift δiapplied to the primary point-response function. The option no switches off the matching. In this case, δiis set to zero in all layers.

The NRS algorithm accounts for the different stopping power in different materials using the ratio of theprojected ranges of the materials.

71

Page 92: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

Figure 22 NRS algorithm: the point-response function in the second material is shifted and rescaled (left) due to existence of a layer with different stopping power (shaded region); the new profile is combined from the point response in the first layer and shifted point response in the second layer (right)

The shift in the i-th layer is calculated according to:

(41)

where tj = dj - dj-1 represents the thickness of the j-th layer. The profiles are matched according to:

(42)

where αi is a rescaling factor that satisfies the normalization condition. The point-response function inthe first layer is always used without a shift.

The proportional range shift model is used to shift the channeling portion of the implant profile separatefrom the amorphous part. To calculate the shift of the channeling part, the shift of the amorphous part isscaled by the ratio of the channeling range and the amorphous range:

(43)

The proportional range scaling can be switched on with:

implant <species> [range.sh]

The default setting for this model is off. In the Taurus/TSUPREM-4 mode, the switch is set to on.

δ2

Rp2+δ2 Rp2

x

C(x)

x

C(x)

δi tj 1RpiRpj-------–⎝ ⎠

⎛ ⎞

j 1=

j i<

∑=

C x( ) fp1 x( ) for 0 x d1< <

αi fpi x δi–( )⋅ for di 1– x di< <⎩⎨⎧

=

δi tail, δi head,Rpi tail,Rpi head,-------------------=

72

Page 93: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

The dose-matching algorithm can be selected with the option dose. The shift δi is calculated accordingto the dose accumulated in the above layers:

(44)

where di is the position of the top of the i-th layer. The dose Dsofar is the integral over the primary point-response function.

Lateral integration

Local layer structure in 2D

Local 1D layer structures are defined for a set of lateral intervals. These lateral intervals are chosenperpendicular to the projection of the ion beam into the simulation plane as shown in Figure 23 onpage 75.

The width of the lateral intervals is controlled by several parameters set in the parameter database. Thedefault values can be changed by using:

pdbSet ImplantData LateralGridSpacing <n>pdbSet ImplantData VerticalGridSpacing <n>

Starting from an initial grid, the intervals are bisected until a certain limit is reached. This limit is set byLateralGridSpacing, which has the default value of 0.01 μm. Then, the intervals are bisected again untila certain vertical limit is reached. This limit is set by VerticalGridSpacing with the default value of 0.01μm.

The lateral integration is limited to a certain range of intervals to the left and right of a mesh node. Thisintegration range depends on the maximum lateral standard deviation applied to the structure.

Control over the lateral integration is possible by setting the number of lateral standard deviations usedto set the integration range:

(45)

The value of N can be set by using:

pdbSet ImplantData NumLateralStdev <n>

The default value is 5, which means that the total lateral integration width is 10 .

δi di deff–=

Dsofar fp x( ) xd0

deff

∫=

C x y,( ) fp x( )fl x y',( ) y'dy Nσl max,–

y Nσl max,+

∫=

σl max,

73

Page 94: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

In 3D, the integration is performed over a square grid in the y-z plane perpendicular to the projected ionbeam. The grid is centered about a mesh node. It has a fixed size and resolution. The size is controlledby the parameter:

pdbSet ImplantData NumLateralStdev3D <n>

having the same meaning as the corresponding 2D parameter. The default value is 3.5. Each interval issubdivided by a certain number of grid points. The subdivision can be set by using:

pdbSet ImplantData NumGridPoints3D <n>

so that the total number of grid points is:

(46)

The default value for NumGridPoints3D is 4. Therefore, the total number of grid points is 784. The size ofthe integration grid is the parameter that limits the time performance of analytic implantation in 3D.

The lateral intervals are expanded by a certain amount over the left and right boundaries of the 2D deviceto ensure flat profiles on the left and right sides. This extension depends on the implantation tilt and themaximum lateral standard deviation applied to the structure. The maximum extension can be controlledfrom the parameter database. The value can be changed by using:

pdbSet ImplantData MaxLateralExtension <n>

The default is set to 1.5 μm. A similar extension is applied in 3D.

Primary direction and scaling

The interpretation of the range and lateral range parameters depends on the value of the implantationparameter primary. This can be set by using:

implant <dopant> [primary={beam wafer}]

The option beam switches to the beam projection mode. In this case, the primary moments are appliedalong the projection of the ion beam onto the simulation plane, and the lateral integration is performedperpendicular to the projection of the ion beam. This is the default in Sentaurus Process.

The option wafer switches to the wafer normal mode. Here, the primary distribution function and themoments are interpreted orthogonally to the wafer surface. Tilt-dependent and rotation-dependent datavalues extracted from SIMS measurements are interpreted in this way.

2 NumLateralStdev3D NumGridPoints3D⋅ ⋅( )2

74

Page 95: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Figure 23 Beam projection mode (left) and wafer normal mode (right) for analytic implantation

For the same pair of tilt and rotation parameters, different tilt angles can be observed in the 2Dsimulation plane. This angle is called tilt2D and depends on both rotation and slice.angle. Profiles inquasi-1D parts of the structure away from mask edges depend on the choice of slice.angle. Exactly thesame 1D profiles can be observed only for symmetric primary distribution functions like the ones usedin the Gaussian model and only if the primary and lateral standard deviations have the same value.

To ensure, at least approximately, that the same depth of profiles is obtained for different rotation angles,the range parameters for the primary distribution function are scaled depending on tilt2D:

(47)

User-specified or measured range parameters are assumed to be tilt dependent. An implant table can bedeclared angle-dependent or angle-independent by using:

implant species=<dopant> [angle.dependent]

The scaling factor used to scale is selected with respect to the value of primary and AngleDependent.

Backscattering algorithm

Sentaurus Process uses an advanced integration algorithm that accounts for particles backscattered fromthe surface. The lateral integration for a mesh node is also performed over 1D intervals above thesurface. The point response is taken from the surface layer. The contributions from backscattered ionsmake a difference in the profile of vertical mask edges. The mask example in Figure 24 on page 76illustrates the difference.

Table 7 Scaling factor for the primary range

!angle.dependent angle.dependent

primary=wafer

primary=beam

fl(y)

fl(y) fp(x)fp(x)

Rp 2D, Rp sr⋅=

Rp

sr tilt( )cos= sr 1=

srtilt( )costilt2D( )cos

---------------------------= sr1tilt2D( )cos

---------------------------=

75

Page 96: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

The backscattering algorithm is switched on by default. To switched off the algorithm, use the logicalbackscattering switch:

implant <dopant> [!backscattering]

Figure 24 Boron implant at a vertical mask edge with backscattering (left) and without (right); tilt angle is 0 degrees and energy is 35 keV

Point-response interfaceThis feature allows the use of externally generated point responses in analytic implantation. As analternative to using implant tables, it replaces the moment-based point-response distributions. Only 1Dprimary distributions can be loaded with Sentaurus Process.

To use the point-response interface, the implant model must be changed to point.response, that is:

implant spec=<dopant> <material> point.response file=<name> y.position=<n>

To revert to the moment-based point-response distribution, switch to one of the analytic implantfunctions, that is, to switch to the dual Pearson model for boron in silicon:

implant spec=Boron Silicon dualpearson

The default table setting can be used again since it has not been overwritten by the point.response flag.

The external primary distribution function and the damage are read from a plx file. A separate file canbe selected for each dopant–material combination with the file selector and the above command.

The 1D Crystal-TRIM run is started to generate the data if the file is not found. This run is fullyautomated. The 1D layer structure for this run consists of an oxide layer on top and a layer of thespecified material. The thickness of the oxide layer is chosen as the total overlayer thickness at somepoint of reference at the gas surface of the structure. The position of this point at the y-axis is specifiedwith the y.position parameter.

X

Y

-0.2 0 0.2 0.4

-0.5

0

2.8e+18

1.7e+15

1.0e+12

X

Y

-0.2 0 0.2 0.4

-0.5

0

2.8e+18

1.7e+15

1.0e+12

76

Page 97: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

The integration routine treats the data as a continuous set to be used in the material as specified. In theconvolution integral computation, the zero of the x-axis is locally matched to the surface of the structure.

The initial damage for the Crystal-TRIM simulation is taken from the damage already present in thedevice along a line starting from the surface at the y.position normal to the wafer surface.

The external profiles are interpreted as taken normal to the wafer surface. Therefore, the direction of theprimary distribution should be switched from beam to wafer (see Primary direction and scaling onpage 74). In addition, the multilayer matching method should be set to dose-matching (see Multilayerimplants on page 71), that is:

implant <dopant> primary=wafer match=dose

The value for the primary range Rp is taken from the implant table if match=range is set.

Analytic damage and point defect calculationThe analytic implant facility can generate damage profiles that are stored in the dataset Damage andinterstitial and vacancy profiles that are stored in the datasets Int_Implant and Vac_Implant, respectively.

Implantation damage

The damage to the crystal is calculated on the basis of analytic damage models. Sentaurus Processcalculates the damage using the model by Hobler and Selberherr [2]. Damage calculation for a speciesin a material can be switched on using the logical switch damage:

implant species=<dopant> <material> [damage]

A damage profile is calculated if the damage switch is set and the moments are found in the internallookup table. Sentaurus Process can use the moments provided by Hobler [2] as described in Analyticdamage: Hobler model on page 62. At the end of an implantation step, the damage for this step is addedto the Damage profile (damage history) using the DFactor:

(48)

The default value for the DFactor is 1, and it can be changed in the parameter database or at the implantcommand line.

Point defect calculation

The interstitial and vacancy profiles are calculated in a postprocessing step at the end of the implantcommand. The model used to calculate point defects is selected with the defect.model selector:

implant <dopant> [defect.model={plus.one effective.plus.n frenkel.pair}]

Damage += DFactor Damage_LastImp⋅

77

Page 98: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

The plus.one switch selects the ‘+1’ model to calculate the interstitial and vacancy profiles from the as-implanted profile at a particular implantation step. This profile is stored in <dopant>_LastImp:

(49)

where IFactor and VFactor are material-dependent factors that can be set in the parameter database. Forboron in silicon, this is performed by using:

pdbSet Silicon Boron IFactor 2.0

The internal default values are 1 for IFactor and zero for VFactor. This is motivated by a simple latticesite balance argument: for each dopant atom that is assumed after implantation on a lattice site, one freeinterstitial is produced. The values for IFactor and VFactor can be globally overwritten at the implantcommand line:

implant <dopant> <material> [ifactor=<n>] [vfactor=<n>]

The effective.plus.n model dynamically calculates an NFactor using an energy-dependent and a dose-dependent fitting formula after Hobler [16]. The NFactor replaces the IFactor in Eq. 49. This ‘+n’ modelprovides an improved way to calculate the interstitial profile for heavy ions and low implant doses.Under these implant conditions, the IFactor can significantly deviate from one [16].

A third model can be chosen with the selector frenkel.pair. Here, the interstitial and damage profiles arecalculated from the damage profile resulting from the last implantation step:

(50)

If crit.dose is defined, the given value of IFactor in the plus.one and damage models for point defects istaken from:

(51)

Multiple implantation steps

Preamorphization implants (PAI) model

A structure already has implantation-related damage by the time an implantation is performed. Thisdamage contributes to the suppression of the channeling tail. This applies to a series of implantsperformed without intermediate anneals. In this case, an equivalent amorphous thickness is extracted as:

(52)

Int_Implant += IFactor <dopant>_LastImp⋅Vac_Implant += VFactor <dopant>_LastImp⋅

Int_Implant += IFactor Damage_LastImp⋅Vac_Implant += VFactor Damage_LastImp⋅

IFactor IFactor max 1 crit.dosedose

----------------------------,⎝ ⎠⎛ ⎞⋅=

ti eqv,1

PAIThreshold-------------------------------------- Damage xd

xi

∫j

j i≤

∑=

78

Page 99: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

where Damage denotes the preexisting implant damage in terms of Frenkel pairs and PAIThreshold is anormalization parameter that can be specified in the parameter database:

pdbSet <material> <species> PAIThreshold <n>

The extracted equivalent amorphous thickness is added to the total amorphous layer thickness. If theimplant table contains screen (cap) layer-dependent data, the total amorphous thickness is used as aparameter to select the implant moments as described in Screening (cap) layer-dependent moments onpage 57. Otherwise, the effective channeling suppression model is used.

The integral over the preamorphizing damage assumes periodic boundary conditions for the structure intwo dimensions. The model is not available in 3D.

The PAI model can be switched on using:

implant <species> pai

The switch is off by default. The model is switched on for the Taurus/TSUPREM-4 mode only bydefault.

Coimplantation model

The fraction of the ions described by the second Pearson function is taken from implantation tables,which have been created for single ion implantation steps. This treatment is acceptable only for low-doseimplantations, which create little crystal damage, but lead to a severe overestimation of the ionchanneling in successive implantations with medium and high doses.

Without a thermal annealing step in between several ion implantations, the crystal damage of the firstimplantations remains present and reduces the ion channeling of the subsequent implantations. Thechanneling tail is lowered. Analytic implantation takes this effect into account using the coimplantation(CI) model. It is switched on by using:

pdbSetBoolean ImplantData UseCoImplant 1

By default, it is switched off. The CI model takes into account damage produced by analytic or MCimplantation steps. The damage information is used in subsequent analytic implantation steps toestimate the channeling ratio.

Using a least-square fit, an equivalent dose is calculated. This dose is chosen as the dose that wouldgive the same amount of damage in one implant step (using the present species and implant conditions)as the preexisting damage, that is:

(53)

This is used to calculate the channeling dose from the total channeling dose and the equivalentchanneling dose, that is:

(54)

Deq

damage Deq x( ) ][ damagepreexist–( )2

xd∫ min=

Dcnew

Dcnew Dc

total Dceq–=

79

Page 100: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

The channeling dose is calculated from the total dose using the differential channeling dose technique(see Figure 25). is the channeling dose corresponding to an implantation of intoundamaged silicon.

Figure 25 Channeling dose as a function of dose

In Figure 25, due to the creation of damage during implantation, the number of channeling ions increasessublinearly with the total ion dose, and eventually saturates at very high total doses. The damage fromprevious implantations is set equivalent to a dose Deq. The dose of the additional implantation is shiftedand, consequently, the gradient / and, therefore, the dual Pearson ratio are reduced.

Both and are stored in lookup tables. The channeling dose is used to calculate the newratio for the dualpearson model (see Primary distribution functions on page 54).

This simple model is very accurate for mixed species implantations. It works best in cases of subsequentimplantations with similar energies. The model is only available for the Default implant mode.

The most simple possibility to calibrate the strength of de-channeling is given by using the effectivedamage factor that scales the calculated equivalent dose:

pdbSetDouble ImplantData <species> EffDamFac <factor>

The default value is 1. Increased values lead to more channeling; lower values reduce the channeling ofthe species specified. To calibrate the effective damage factor depending on parameters of theimplantation, the following procedure must be overwritten:

proc CI::coimp_dosesofar_calib { species energy dose tilt rotation } {switch $species {

Boron { set cuc <expression_for_Boron> }default { set cuc 1.0 }

}; # end of switchreturn $cuc

}

Sometimes, it will be necessary to reset the accumulated damage field internally used by the CI model.This can be achieved by using:

CI::Reset

Dctotal Dc

eq Dcnew+

Dcnew

Dnew

Dceq

Deq Dose

Cha

nnel

ing

Dos

e

Dcnew Dnew

Dceq Dc

total Dcnew

80

Page 101: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

To save and load the accumulated damage field, use:

CI::save <filename>

CI::load <filename>

The loaded damage is added to existing accumulated damage. The accumulated damage produced byany implantation history can be checked with:

CI::Get_Damage_pdb Accumulated_Damage

This returns a list containing the vector describing the damage in the wafer on a logarithmic depth scale.A zero vector means no damage history is seen by any follow-up table implantation.

MC implantation

Running Crystal-TRIM or Taurus MCSentaurus Process is capable of the atomistic simulation of ion implantation using either the MCsimulator Crystal-TRIM [8], which originated from the Transport of Ions in Matter (TRIM) code [3], orthe Taurus MC implant model [9]. MC implantation simulates ion implantation into single-crystallinematerials or into amorphous materials of arbitrary composition.

In Sentaurus Process, to select MC implant at the command line, use:

implant <dopant> [crystaltrim | taurus.mc]

Alternatively, to select MC implant as default implant model, use a global switch:

pdbSet Implant MC 1pdbSet MCImplant model [crystaltrim | taurus.mc]

When MC is set to 1, Sentaurus Process performs all the implantations using the selected MC model(crystaltrim or taurus.mc).

Fundamental implantation parameters, such as the implantation energy and dose, and the orientation ofthe ion beam with respect to the substrate must be specified using energy, dose, tilt, and rotation in thesame way as for analytic implantation.

To run MC implantation in a full-cascade mode, use the cascades switch:

implant <dopant> [crystaltrim | taurus.mc] [cascades]

or:

pdbSet MCImplant cascades 1

Parameters controlling the electronic and nuclear stopping as well as the damage accumulation areavailable in the parameter database (Parameter database on page 28) and can be set there.

81

Page 102: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

During the implantation, pseudoparticles representing a part of the whole dose are started from the startsurface, which is constructed above the target, parallel to the wafer surface. For 2D and 3D targetgeometries, the start surface is subdivided into segments of equal size for which the requiredimplantation dose is accumulated. The size of these segments can be controlled by setting:

pdbSet MCImplant Intervals dy <n>pdbSet MCImplant Intervals dz <n>

For 1D structures, no subdivision is performed. The number of pseudoparticles that will be started persegment can be set in the parameter database or at the command line:

pdbSet MCImplant Particles <n>

or:

implant <dopant> [crystaltrim | taurus.mc] [particles=<n>]

The default value is 1000. Increasing this number leads to better accuracy and an increase in simulationtime. Together with the sizes of the segments, this parameter determines the statistical weight of eachpseudoparticle.

The progress of an ion implantation step can be viewed using the switch ion.movie, for example:

implant <dopant> [crystaltrim | taurus.mc] [ion.movie]

Structure of target materialMC implantation simulates the motion of energetic particles in amorphous materials and single-crystalline materials.

Composition

For each material, the composition is set in the parameter database. The composition can be found in the<material> -> Composition entry. For each <n>-component of the material, the entry Component<n> gives thename and the stoichiometric weight, for example, for GaAs:

GaAs -> Composition -> Component0 -> Name = GalliumGaAs -> Composition -> Component0 -> StWeight = 1

GaAs -> Composition -> Component1 -> Name = ArsenicGaAs -> Composition -> Component1 -> StWeight = 1

or for silicon nitride:

Nitride -> Composition -> Component0 -> Name = SiliconNitride -> Composition -> Component0 -> StWeight = 3

Nitride -> Composition -> Component1 -> Name = NitrogenNitride -> Composition -> Component1 -> StWeight = 4

The composition for both single-crystalline and amorphous materials is set this way.

82

Page 103: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Single-crystalline materials

Lattice structure

In the case of a single-crystalline material, the positions of target atoms are calculated based on thelattice type. Crystal-TRIM supports zinc-blende (Zincblende) lattice only, while Taurus MC supportsseveral lattice types which include simple cubic (Sc), body-center cubic (Bcc), face-center cubic (Fcc),zinc-blende (Zincblende), and hexagonal (Hexagonal) lattices. The lattice type is set by using the followingcommand:

pdbSet <material> LatticeType [Sc | Bcc | Fcc | Zincblende | Hexagonal]

Lattice constants

To change the lattice constant defined in the parameter database, use:

pdbSet <material> LatticeConstant <n>

For all lattice types, Taurus MC allows you to define different lattice constants for three different axes.The other two lattice constants can be defined by using:

pdbSet <material> LatticeConstant_b <n>pdbSet <material> LatticeConstant_c <n>

If LatticeConstant_b and LatticeConstant_c are not defined, LatticeConstant will be used for all three axes.For hexagonal lattice, LatticeConstant_b should be equal to LatticeConstant.

Polytypes

For hexagonal system, there may exist many different crystal structures due to the different stackingsequence along the c axis which is perpendicular to the plane formed by three a-axes (a1, a2, and a3).This is called “polytypism.” Four different polytypes are supported in Taurus MC:

pdbSet <material> Polytype {2H 3C 4H 6H}

The default polytype for silicon carbide (SiC) is 4H. For more details for implant into silicon carbide,refer to MC implant into silicon carbide on page 104.

Lattice sites

In Taurus MC model, the undisturbed positions of the lattice sites are constructed automatically usingthe information of the lattice type, the polytype (if hexagonal lattice), and the lattice constants.

In Crystal-TRIM, the positions of lattice sites of the basic cell are set in the parameter database inMCImplant -> Lattice -> Zincblende -> Cell0 in the natural coordinate system of crystal. The unit is one-half of the lattice constant. The undisturbed positions of all lattice sites of an ideal zinc blende–typecrystal can be obtained from the basic cell by shifting the atomic positions in the directions of thecrystallographic axes. Therefore, for any given position of the projectile, only the immediate crystallineenvironment is generated and rebuilt every time the projectile moves out of the current crystalline cell.

83

Page 104: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

The entry MCImplant -> Lattice -> Zincblende -> Cell1 is a complementary basic cell and gives theconfiguration that is obtained by shifting Cell0 by one-half of the lattice constant.

Thermal vibrations

The thermal vibrations of the target atoms are important for the treatment of the motion of a projectilein single-crystalline material. It is sufficient to take into account only instantaneous thermaldisplacements of target atoms from their ideal lattice sites. This approximation can be made since thethermal vibrations are generally much slower than the characteristic time of a single collision.

The displacements are assumed to obey a 3D Gaussian distribution with a root-mean-square obtained bythe Debye model. The Debye temperature is set in the parameter database and can be changed with:

pdbSet <material> DebyeTemperature <n>

The default Debye temperature is 519 K for silicon.

The substrate temperature for the Debye model can be set by:

pdbSetDouble MCImplant Temperature <n>

The default substrate temperature is 300 K.

Compound materials

For compound materials (for example, SiGe and GaAs), the parameter <material> -> LatticeAtom

controls how the atoms of different components are distributed over the lattice sites. The setting:

pdbSet <material> LatticeAtom COMPOSITION

allows every lattice site to be occupied by atoms of different components with probabilities determinedby their stoichiometric weights in the total composition of the material: <material> -> Composition. Thismodel is used to describe alloys such as SiGe, where there are no specific lattice sites ascribed to atomsof each component.

Another possibility is to use:

pdbSet <material> LatticeAtom LATTICE

The probability of a lattice site to be occupied by an atom of a certain component is set for each latticesite separately in MCImplant -> Lattice -> Zincblende -> Cell0 and MCImplant -> Lattice -> Zincblende -> Cell1. For each lattice site, there is an entry StWeight, which determines the occupation probabilitiesfor all components of the material. An example material is GaAs, where the atoms of gallium and arsenichave specific sites in the lattice structure.

Amorphous materials

The structure of an amorphous material is described in a simplified manner by assuming an averageinteratomic distance in the target material.

84

Page 105: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Variable mass density

It is possible to use a dataset MassDensity as the mass density of an amorphous material:

pdbSetBoolean <material> VariableMassDensity 1

Using molar fractions (see Molar fractions) is disabled in these materials. This feature is available forCrystal-TRIM only.

Polycrystalline materials

A polycrystalline material is characterized by its crystal orientation and grain size. Crystal orientation(one of 100, 110, and 111) can be specified by using a material-specific command:

pdbSet <material> CrystalOrient <n>

There are two different ways to change the crystallinity (Amorphous, Single, and Poly) of a material. Ifparameter Crystallinity is available (which is true for polysilicon) in the PDB, use this switch to set thecrystallinity, for example:

pdbSet <material> Crystallinity Poly

This command makes MC implant models consider both crystal orientation and grain size for thespecified material.

If Crystallinity does not exist for a material, use parameters Amorphous and Granular:

pdbSet <material> Amorphous 0pdbSet PolySilicon Granular 1

The first command switches off the amorphous treatment, and the second command makes MC implantmodels consider the grain size.

For more details on ion implantation into polysilicon, refer to MC implant into polysilicon on page 102.

Molar fractions

It is possible to define a compound material with a spatially dependent molar fraction. For example, forthe target material single-crystalline silicon:

pdbSetString Silicon BinaryCompounds {SiliconGermanium GeTotal "GeTotal/[pdbGetDouble Si LatticeDensity]"}

This specifies a Si1-xGex target with the atomic number density of Ge calculated from the germaniumconcentration field (GeTotal). Due to more computational demands, a minimum Ge concentration isrequired to trigger MC implant models to treat this material in a more sophisticated way. This minimumconcentration can be specified by using pdb command:

pdbSet Silicon SiliconGermanium.MCmin 1e20

85

Page 106: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

If the concentration of Ge in any of the mesh elements exceeds 1e20 cm-3, MC models treat this materialas compound material. In this case, the average charge and mass of the material is calculated individuallyfor each mesh element. The total atomic number density and, for crystalline materials, the latticeconstant is inherited from the primary material (silicon, in this example). For more details on MCcalculations in compound material, please refer to MC implant into compound materials with molarfractions on page 103.

Crystal-TRIM physical modelsCrystal-TRIM simulation is based on the binary collision approximation (BCA), which represents themotion of ions in the target material as a set of binary collisions with the target atoms [3].

BCA is valid in a wide range of projectile energies, from approximately 100 eV to many MeV. It can,therefore, be employed over the whole range of energies of interest for ion implantation. For energiesbelow approximately 100 eV, collective interactions may play an increasingly important role and BCAmay become invalid. Nevertheless, the applications of Crystal-TRIM to ultra low-energy implants leadto results that are still sufficiently good compared with experimental data.

At each collision, the projectile loses a part of its energy due to elastic nuclear scattering at target atomsand inelastic electronic iterations. The particles are assumed to come to rest if their energy is in the orderof 15 eV.

Single-crystalline materials

Nuclear collisions and collision cascades

Nuclear scattering is treated by classical mechanics using a Coulomb-screened pair potential (ZBLpotential [17]). If the energy transfer to the target atoms exceeds the so-called displacement threshold(approximately 15 eV for silicon), the target atom can leave its site and become displaced (primaryrecoil).

By default, only the trajectories of implanted ions are simulated. The number of vacancies and displacedtarget atoms produced at each collision is calculated approximately using the modified Kinchin–Peaseformula.

A full cascade–type of simulation is performed if the keyword cascades is used. The trajectories ofenergetic recoils are calculated in the same way as for the original ions. A primary recoil withsufficiently high initial energy can generate more recoils (collision cascade). While both methods yieldcorrect range profiles, only the full-cascade simulation produces physically correct profiles of vacanciesand displaced atoms. However, a full-cascade simulation requires more computational time.

In single-crystalline silicon, vacancies and recoils are often identified with the vacancies and interstitialsresponsible for transient-enhanced diffusion (TED) of dopants. The choice of a diffusion modeldetermines whether the full-cascade mode of Crystal-TRIM must be applied.

86

Page 107: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Electronic stopping

Electronic energy loss of the projectile is treated using semiempirical models.

For crystalline target materials, the loss depends on the local electronic density in the environment ofthe projectile. Therefore, the use of a local approach is particularly important for investigations ofchanneling effects in single-crystalline substrates.

A simplified local approach, the so-called modified Oen–Robinson formula [18], is used. The parameterCEX1 describes the variation of the electron density for a projectile moving in the <110> direction of thecrystal, while CEX2 does the same for any other direction. The value for CEX1 and CEX2 are set in theparameter database and can be changed by using:

pdbSet <material> <dopant> CEX1 <n>

The value for CEX1 should be close to 1 or at least within the range of 0.5 and 3. The default value forCEX2 is 2.

The automatic calibration of these parameters can be switched off individually using AutoCEX1, AutoCEX2.

Amorphous materials

Nuclear collisions

In amorphous materials, nuclear collisions are described by assuming that consecutive binary collisionsare completely uncorrelated. The only structural parameter that influences nuclear scattering is theaverage interatomic distance in the target material, which determines the maximum free flight-pathlength to the next collision and the maximum impact parameter.

By default, the impact parameter is assumed to be distributed uniformly between zero and its maximumvalue. The free flight-path length is constant and equal to the average interatomic distance. Alternatively,an improved description of the structure of the amorphous material is possible using the switchAdvancedAmorph:

pdbSet <material> <dopant> AdvancedAmorph 1

In this case, the free flight-path length is assumed to have a half-Gaussian distribution above theinteratomic distance scaled with a value of the parameter AMAV. The standard deviation is controlled bythe parameter AMDEV.

The default values are AMAV=1 and AMDEV=0, which correspond to setting AdvancedAmorph 0. The values ofAMAV and AMDEV can be set in the parameter database:

pdbSet <material> <dopant> AMAV { <n> <n> <n> <n> }

pdbSet <material> <dopant> AMDEV { <n> <n> <n> <n> <n> <n> }

87

Page 108: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

The set of parameters is given as an array. A pair of entries always specifies the number and the valueof the parameter, that is:

pdbSet Silicon Boron AMAV {0 -1.25e-4 1 0.93}

sets the two parameters for the calculation of AMAV to –1.25 and 0.93, respectively.

AMAV and AMDEV are made dependent on the atomic number of an implanted ion and its energy. For arsenic,boron, and phosphorus in silicon, calibrated values are available in the parameter database, and theAdvancedAmorph flag is set to 1. The calibration can overwrite external settings of these parametersperformed with pdbSet. To switch off the calibration, use:

pdbSet Silicon Boron AutoAMAV 0

A similar parameter is available for AMDEV.

NOTE This model should not be applied to implantation energies below 10–20 keV. For low-energyimplants, especially of boron, the default values lead to wrong results. Users should selectAMAV and AMDEV manually, where AMAV should be close to 1 and AMDEV should be a positivenumber.

A single-crystalline material can also be treated as amorphous by setting:

pdbSet <material> Amorphous 1

Electronic stopping

A nonlocal approach based on the ZBL formula [17] is used for amorphous materials. This formula usesan average density of electrons and has only one fitting parameter, Lambda. This factor is used for thescaling of the ion-screening length in the ZBL electronic-stopping cross section. Default values of Lambdaare also set in the parameter database. Values of Lambda close to 1 (between 0.7 and 1.5) arerecommended. The automatic calibration of this parameter can be switched off by using AutoLambda.

Table 8 Values for AMAV and AMDEV used in Crystal-TRIM AdvancedAmorph mode

Energy [keV] B/BF2 P As

AMAV AMDEV AMAV AMDEV AMAV AMDEV

10 0.9287 0.0275 0.8888 0.0700 0.9490 0.0400

30 0.9262 0.0141 0.8963 0.0700 0.9490 0.0400

50 0.9237 0.0113 0.9038 0.0700 0.9490 0.0400

100 0.9175 0.0088 0.9225 0.0700 0.9490 0.0400

200 0.9050 0.0000 0.9600 0.0700 0.9490 0.0400

400 0.8800 0.0000 1.0350 0.0700 0.9490 0.0400

88

Page 109: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Damage buildup and crystalline–amorphous transition

The damage accumulation leading to de-channeling of ions and recoils, and the subsequent crystalline–amorphous transition is described by a phenomenological model [19]. It can be completely switched offby using:

pdbSet Ctrim DamageAccumulation No

This switches off both the damage accumulation and de-channeling. During the current implant step, noadditional damage will be produced and the existing predamage will have no effect. Two other modeloptions are available.

Full amorphization above a critical value

This model leads to full amorphization of mesh elements if the damage probability reaches a criticallimit and is chosen by setting:

pdbSet Ctrim DamageAccumulation Full

Below a certain threshold described by the parameter DCrit, the damage probability PD is assumed todepend linearly on the nuclear energy deposition per atom ( ). The proportionality factor is DAcc. If PDis greater than this value, the volume element is completely amorphized and PD = 1, that is:

(55)

In most cases, DCrit should be less than DAcc to allow amorphization for high implantation doses.

Figure 26 Onset of amorphization after reaching DCrit for two values of DAcc

En

PDDAcc En, DAcc En⋅ DCrit≤⋅

1 , DAcc En⋅ DCrit>⎩⎨⎧

=

Vacancy Concentration

1.0

0.5

0.0

Dam

age

Pro

babi

lity

PD

DCrit

DAcc=0.8

DAcc=0.5

89

Page 110: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

Saturation at critical valuepdbSet Ctrim DamageAccumulation Saturation

According to this model, below a threshold value DCrit, the damage probability PD has the same linearbehavior as in the ‘full’ model, but cannot grow above DCrit:

(56)

For both models, the values of the parameters DAcc and DCrit depend mainly on the atomic number of theimplanted ion.

Table 9 lists values for some species. The automatic calibration for these values can be switched offusing AutoDAcc and AutoDCrit.

Internal storage grid for implantation damage

By default, Crystal-TRIM stores the accumulated damage at the mesh. This makes the damageaccumulation dependent on the mesh and can lead to errors if the mesh is too coarse. Typically, theamorphous boundary depends nonlocally on the mesh size closer to the surface of the structure.

An internal grid can be used to accumulate and store as-implanted damage. This can be switched on byusing:

pdbSet Ctrim UseInternalGrid 1

This allows for a mesh-independent storage of the damage information. Users can control the gridspacing by using:

pdbSet Ctrim InternalGridSpacing <n>

In each grid cell, the accumulated as-implanted damage and the amorphization flag are stored. Duringpostprocessing, the accumulated as-implanted damage is transferred (interpolated) from internal grid toSentaurus Process elements and then to Sentaurus Process nodes.

If two or more Crystal-TRIM steps directly follow each other, users can choose to leave the as-implanteddamage stored on the internal grid instead of transferring it to the mesh. The switch keepdamage.igridmust be used within the implant command:

implant As crystaltrim keepdamage.igrid

The default is !keepdamage.igrid.

Table 9 Values for DAcc and DCrit for most important species

BF2 As, Ga, Ge In, Sb, Sn B, C, N Al, P, Si

DAcc 0.15 0.3 0.3 0.1 0.2

DCrit 0.02 0.05 0.05 0.99 0.1

PDDAcc En, DAcc En⋅ DCrit≤⋅

DCrit , DAcc En⋅ DCrit>⎩⎨⎧

=

90

Page 111: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

NOTE If keepdamage.igrid is used, the Sentaurus Process Damage dataset will not be incremented in thepostprocessing. If the subsequent processing step is not a Crystal-TRIM implantation, thedamage information will be lost.

To access the damage information, which was stored on the internal grid during the previous Crystal-TRIM implantation, the switch predamage.igrid (default is !predamage.igrid) must be used within theimplant command: An example is:

# first step# no damage post-processing, keep damage on internal grid for the following stepsimplant As crystaltrim keepdamage.igrid

# second step# use pre-damage on igrid from the previous step# no damage post-processing: one more step followsimplant B crystaltrim predamage.igrid keepdamage.igrid

# third step# use pre-damage on igridimplant P crystaltrim predamage.igrid

NOTE It is not possible to save the information from the internal grid to a file using the structcommand after the current Crystal-TRIM step.

Taurus MC physical modelsThe Taurus MC implant model was designed to be generally accurate and predictive with minimum usercalibrations for most implant conditions. It has been calibrated from sub-keV to above 10 MeV, and fordifferent implant conditions including random implant direction, <100>, <111>, and <110> channelingdirections, with the same set of parameters for boron, phosphorus, and arsenic implants [9]. It also isaccurate for other implant species such as BF2, F, Al, Ge, In, and Sb [9][20]. For a detailed discussionof the physical models in Taurus MC and an extensive comparison with experimental SIMS profilesfrom sub-keV to above 10 MeV and with other MC simulators, see the literature [9][20]. This sectionbriefly outlines the pertinent theory and models.

The calculation used in the Taurus MC model assumes that ions lose energy through two processes:

Nuclear scattering, where the nucleus of the ion elastically scatters off the nucleus of an atom in thetarget. This interaction is based on the binary collision theory and is described in the followingsection.

Interaction of the ion with the electrons of the target atoms. This mechanism is inelastic and doesnot alter the direction of the motion of the ion.

91

Page 112: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

Therefore, the total change in energy of the ion after the collision is the sum of the nuclear energyloss and the electronic energy loss :

(57)

Binary collision theory

Taurus MC implantation models the energy loss of nuclear collision according to the classical binaryscattering theory. The basic assumption of the mechanism for the energy loss of nuclear collision is thatthe ion interacts with only one target atom at a time. This assumption enables the use of the binaryscattering theory from classical mechanics [21].

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 aconvenient measure of how close the collision is. After collision, the first particle deviates from itsoriginal course by an angle .

Energy loss

It can be shown that the first particle loses kinetic energy:

(58)

where:

is the energy lost by particle 1.

is its energy before collision.

is the integral.

(59)

where is the inverse separation between the two particles. is the potential between thetwo particles (assumed to be repulsive), and:

(60)

is the reduced energy in the center of mass coordinates.

ith

ΔEn ΔEe

Ei Ei 1– ΔEn– ΔEe–=

M1 E0 M2b

θ

ΔEnE0

----------4M1M2

M1 M2+( )2----------------------------cos2 bI( )=

ΔEn

E0

I

I sd

1 V s( )Er

-----------– b2s2–-----------------------------------------

0

smax

∫=

s 1 r⁄= V s( )

ErE0

1 M1 M2⁄+----------------------------=

92

Page 113: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

The upper limit of the integral, , is the inverse distance of closest approach of the two particles andis given by the solution to the equation:

(61)

Scattering angle

The angle by which particle 1 is deflected is given by:

(62)

NOTE For , approaches zero.

Dimensionless form

Eq. 58 to Eq. 62 are the basic equations for classical two-body scattering. The scattering integral, Eq. 59,can be cast into a dimensionless form by assuming the potential has the form:

(63)

where:

is the charge on particle 1.

is the charge on particle 2.

is the constant.

(64)

is an arbitrary function of , to be defined later, and is a unit of length. Taurus MC uses theso-called universal screening length [17]:

(65)

and a dimensionless impact parameter:

(66)

smax

1V smax( )

Er-------------------– b2smax

2– 0=

θ

cosθ1 0.5 1

M2M1-------+ ΔEn E0⁄–

1 ΔEn E0⁄–------------------------------------------------------------=

ΔEn E0⁄ 1« θ

V s( ) Z1Z2k1sg aus( )=

Z1

Z2

k1

k1q2

4πε0------------ 14.39495 10 7–× keVμm= =

g aus( ) aus au

au 0.8854 10 4–× 0.529Z1

0.23 Z20.23+( )

----------------------------------μm=

bn b au⁄=

93

Page 114: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

and a dimensionless energy:

(67)

Using Eq. 63, Eq. 66, and Eq. 67 in the scattering integral Eq. 59 and making the substitution gives:

(68)

From Eq. 58, the quantity of interest is , which becomes:

(69)

Therefore, using Eq. 69, can be evaluated in terms of the dimensionless variables and ,without reference to the charge or mass of a particular particle.

Coulomb potential

As an example of the above procedure, consider the Coulomb potential between two particles:

(70)

or:

(71)

In this case, . Then. from Eq. 69:

(72)

with:

(73)

from a solution of Eq. 61.

εauEr

Z1Z2k1-----------------=

s′ aus=

I 1au-----= s′d

1 s′g s′( ) ε bn2s′2–⁄–

-------------------------------------------------------0

s ′max∫

cos2 bI( )

cos2 bI( ) cos2 bns′d

1 s′g s′( ) ε bn2s′2–⁄–

-------------------------------------------------------0

s ′max∫=

cos2 bl( ) bn ε

V r( )Z1Z2k1

r-----------------=

V s( ) Z1Z2k1s=

g aus( ) 1=

cos2 bI( ) cos2 bns′d

1 s′ ε bn2s′2–⁄–

------------------------------------------0

s ′max∫=

s′max

1 4bn2ε2+ 1–⎝ ⎠

⎛ ⎞

2εbn2

------------------------------------------=

94

Page 115: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Then, the integral can be evaluated exactly, giving:

(74)

For a given impact parameter and incident energy , the dimensionless and can be obtainedfrom Eq. 66 and Eq. 67, giving from Eq. 74. Then, the energy loss due to the collision is givenby Eq. 58, and the angle at which particle 1 leaves the collision is given by Eq. 62.

Universal potential

For the simple form of the Coulomb potential used in the previous example, the scattering integral canbe solved analytically. For more realistic interatomic potentials, however, the scattering integral cannotbe evaluated analytically. For example, the universal potential [17] that is used in Taurus MC is:

(75)

An analytic solution does not exist since the upper limit of the integral in Eq. 59 is given by Eq. 61,which becomes a transcendental equation with this potential. In Taurus MC, the quantity , in itsdimensionless form, Eq. 69, is numerically integrated for a wide range of its parameters and . Theseresults are stored in tables. Then, at each collision, is obtained from these tables. This schemeeliminates the need to find for each collision, minimizing the amount of arithmetic operationsperformed during the calculation of the trajectory of an ion, while retaining accuracy.

Tables for the universal potential over a wide range of energies and impact parameters are provided forimmediate use in Taurus MC. They span the normalized energy range of and thenormalized impact parameter range . For , the Coulomb form (Eq. 75) is used. Valuesof are not encountered for ion–atom combinations of interest at energies above the energy atwhich the ion is assumed to have stopped (5 eV). For values of , the ion is assumed to beundeflected.

Amorphous implant calculation

This section describes how the binary scattering theory of the previous section is used to calculate iontrajectories in an amorphous solid. 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 increasingvertically into the target. The incident energy can be set in the implant command using the Energyparameter. The incident angle can be specified in the implant command using the tilt parameter.

Given the atomic density for the target material, the mean atomic separation between atoms in thetarget is . Between scattering events, the ion is assumed to travel a distance:

(76)

cos2 bI( ) 11 4bn

2ε2+-----------------------=

b E0 bn εcos2 bI( )

V r( )Z1Z2k

r--------------- 0.18175e

3.1998r au⁄–0.50986e

0.94229r– au⁄

0.28022e0.4029r au⁄–

0.028171e0.20162r au⁄–

+

+ +

=

cos2 bI( )bn ε

cos2 bI( )smax

10 5– ε 100≤ ≤0 bn 30≤ ≤ ε 100>

ε 10 5–<bn 30>

E0 θ0y 0= y

E0θ0

Ndens1 Ndens( )⁄ 1 3⁄

L 1 Ndens( )⁄ 1 3⁄=

95

Page 116: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

As the ion enters the target material, it approaches the first target atom with impact parameter , definedin the previous section. The probability of finding a target atom between and is given by:

(77)

for .

If is a uniformly distributed random number between 0 and 1, the probability distribution gives:

(78)

Given the above definitions, the algorithm for calculating the energy loss through nuclear collisionsexperienced by the ion proceeds as follows.

A random number between 0 and 1 is chosen.

The normalized impact parameter for this collision is calculated from Eq. 66 and Eq. 78:

(79)

The ion energy, , is normalized to:

(80)

from Eq. 60 and Eq. 67.

Now, the value of can be obtained from the tables, and Eq. 58 gives the energy loss due tonuclear scattering:

(81)

This procedure is repeated for each collision event.

Crystalline implant model

The binary collision calculation for crystalline materials proceeds in the same way as in the amorphouscase except that the selection of the collision partners of the projectile with target atoms is treated witha much more sophisticated manner.

Instead of using the density of the target material and a random number, Taurus MC determines thecollision partners based on the position of the projectile relative to the sites on an idealized lattice. The

bb b δb+

w b( )δb 2πNdens2 3⁄ b δb=

b 1 πNdens2 3⁄⁄<

Rrand

bRrand

πNdens2 3⁄

-----------------=

b 1au-----

Rrand

πNdens2 3⁄

-----------------=

E0

εauE0

1 M1 M2⁄+( )Z1Z2k1---------------------------------------------------=

cos2 bI( )

ΔE0 E0 4M1M2

M1 M2+( )2----------------------------cos2 bI( )=

96

Page 117: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

algorithm for selecting the collision partners is based on MARLOWE [22]. The simultaneous collisionsare handled in the same way as for MARLOWE except for the location of the turning point.

In MARLOWE, the turning point is assumed to be the average of those of the simultaneous collisionpartners. In Taurus MC, the turning point is placed at a point that is determined by the collision with theminimum impact parameter.

Simulations have indicated that such a scheme obtains better results for ultralow energy implants, whileit has little impact on implant energies above 5 keV. This allows Taurus MC to treat the whole implantenergy range, including ultralow energy as well as very high energy, with the same model, in exactly thesame way.

Ion channeling, which is the preferential penetration of implanted ions along crystal axes or planes,occurs naturally due to the inclusion of the crystal structure of the lattice. Both axial and planarchanneling show enhanced penetrations. The effect of the tilt and rotation parameters is much morepronounced for implants into crystalline silicon than into amorphous silicon.

Electronic stopping model

A moving ion loses energy by inelastic electronic processes, which include both nonlocal and localstopping power. Taurus MC uses the same electronic stopping model for both amorphous and crystallinematerials. For each collision, the energy loss due to electronic stopping is:

(82)

(83)

(84)

where ε is the scaled dimensionless energy.

nloc.pre and nloc.exp are specified in the material parameter database and can be changed by using:

pdbSet <material> <dopant> nloc.pre <n>pdbSet <material> <dopant> nloc.exp <n>

Nonlocal electronic stopping

Nonlocal electronic stopping acts as the dragging (frictive) force on moving ions, which is proportionalto the ion velocity and is independent of the impact parameter:

(85)

(86)

ΔEe xnl ΔEnle xloc ΔEloc⋅+⋅=

xnl xloc+ 1=

xnl min nloc.pre εnloc.exp 1,⋅( )=

ΔEnle L Ndens Se⋅ ⋅=

Se LSS.pre Ses Em fes1–⋅ ⋅ ⋅=

97

Page 118: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

where L is the free flight path between collisions and is the ion energy at the stopping powermaximum.

The quantities and are given by [9][23]:

(87)

(88)

where:

is the ion atomic number.

is the composite target atomic number.

is the base of natural logarithm.

is a fitting parameter.

LSS.pre is specified in the material parameter database and can be changed by using:

pdbSet <material> <dopant> LSS.pre <n>

Local electronic stopping

Local electronic loss is a result of the electron exchange between the moving ion and the target atom,which is based on the Oen–Robinson model [18] and is dependent on the impact parameter:

(89)

(90)

(91)

where scr.par is an adjustable screening length parameter that can be changed using:

pdbSet <material> <dopant> scr.par <n>

Em

Ses fes

Ses1.212 Z1

7 6⁄ Z2

Z12 3⁄ Z2

2 3⁄+3 2⁄

M11 2⁄

-------------------------------------------------------=

fesE0 Em⁄

E0 Em⁄ Em E0⁄ e 2–+ +( )ln---------------------------------------------------------------------⎝ ⎠

⎛ ⎞δ 2⁄ Em

E0-------⎝ ⎠

⎛ ⎞δ 2⁄

+1 δ⁄

=

Z1

Z2

e

δ 1.425=

ΔEeloc

Se

2πa2------------ b

a---–⎝ ⎠

⎛ ⎞exp⋅=

a fau0.3-------⋅=

f scr.par1.45

Z12 5⁄

-------------⋅=

98

Page 119: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Damage accumulation and dynamic annealing

As the ions travel through a crystalline target, they collide with the target atoms and displace many ofthem from their lattice sites. In the BCA code, it is assumed that, if the transferred energy exceeds acertain threshold, the target atom is displaced and, at this lattice site, a vacancy is generated. When thedisplaced atom comes to rest, it is identified as an interstitial. This defect production rate can beevaluated either by the modified Kinchin–Pease formula [19] or by simulating the full cascade. TaurusMC provides both types of damage calculation.

Damage accumulation models

The default damage model calculates the deposit energy for each collision, which is thenconverted to the number of point defects (Frenkel pairs) using the modified Kinchin–Pease formula [19]:

(92)

where and disp.thr = 15 eV for silicon by default.

If the cascades switch is specified in the implant command, Taurus MC traces all of the generatedsecondary recoils. After each collision, a calculation is performed to determine the trajectories of thesilicon lattice atoms that are knocked from their sites in the lattice by collisions with implanted ions. Asilicon atom is assumed to be knocked from its site when it absorbs an energy greater than a damagethreshold casc.dis from a collision.

The silicon atoms freed from the lattice can, in turn, knock other atoms from their sites so that cascadesof damage result. Taurus MC calculates the trajectories of these knock-ions with the same detail as theimplanted ions. A vacancy is assumed to have formed whenever a lattice atom is knocked from its site.An interstitial is assumed to have formed whenever a silicon lattice atom that has been knocked from itssite comes to rest. This damage model can be used to calculate the different profiles of interstitials andvacancies, that is, I–V separations.

disp.thr and casc.dis are specified in the material parameter database and can be changed by using:

pdbSet <material> <dopant> disp.thr <n>pdbSet <material> <dopant> casc.dis <n>

Dynamic annealing

Not all of the defects as calculated above will survive; some of the generated defects will recombinewithin the cascade as well as with the preexisting defects. To achieve computational efficiency, TaurusMC uses a statistical approach to account for the I–V recombination in both intracascades andintercascades. The encounter probability of the projectile with interstitials is also accounted forstatistically. The net increase of the defects in a local region with defect concentration is:

(93)

In the cascade damage model, surv.rat is replaced with casc.sur. To conserve particle numbers,interstitials and vacancies are recombined in pairs, and the model distinguishes between recoiled

ED x( )

n x( ) κ ED 2 disp.thr⋅( )⁄( )=

κ 0.8=

C x( )

Δn x( ) surv.rat n x( ) 1 C x( )Ndens------------–⎝ ⎠

⎛ ⎞⋅ ⋅=

99

Page 120: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

interstitials and recoiled lattice atoms. When an interstitial is recoiled, the local interstitial numberdecreases by one and no vacancy is produced. On the other hand, when a lattice atom is recoiled, avacancy is created. However, defect recombination must be taken into account.

The intracascade recombination is accounted for by a factor casc.sur, while intercascade recombinationis accounted for by a probability , which describes that the vacancy is not located withinthe 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 thisrecombination has already been accounted for by vacancy intracascade recombination in the previousstep. surv.rat and casc.sur are specified in the material parameter database and can be changed by using:

pdbSet <material> <dopant> surv.rat <n>pdbSet <material> <dopant> casc.sur <n>

Damage de-channeling

The accumulated damage has a significant effect on the destination of the subsequent ions, therebyaltering the shape of the impurity profiles. This effect is known as damage de-channeling. Taurus MChandles this problem by switching from the crystalline model to the amorphous model based on thedamage that has accumulated in the substrate. If the local defect concentration C(x) is greater than theamorphization threshold, this local region is assumed to be amorphized, and the amorphous collisionmodel is used for this local region.

For the local regions with defect concentrations below the amorphization threshold, the probability ofselecting the amorphous model is proportional to the local defect concentration C(x) and a randomnumber call. The amorphous collision model is selected when:

(94)

Increasing amor.par makes the profiles more like those implants into amorphous materials. For thecascade damage model, amor.par is replaced with casc.amo. amor.par and casc.amo are specified in thematerial parameter database and can be changed by using:

pdbSet <material> <dopant> amor.par <n>pdbSet <material> <dopant> casc.amo <n>

NOTE For low energy implants, due to very shallow projected ranges, the mesh near the surfaceshould be refined to account for the damage de-channeling effect fully.

1 NI N⁄ dens( )–

1 Nv N⁄ dens( )–

Rrand amor.parC x( )Ndens-------------⋅<

100

Page 121: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

NOTE The amorphization process is not explicitly simulated by Taurus MC. However, for the MCmodel, by common practice, when a critical amount of damage is accumulated in a certainregion, a crystal/amorphous phase transition is assumed to occur in this region. For a silicontarget, this critical amorphization threshold is approximately 25% of the lattice density.Therefore, if the defect concentration reaches more than 1.15 x 1022 cm–3 for silicon, thisregion is considered to be amorphized. Using this criterion, Taurus MC predicts the onset ofamorphization and the thicknesses of the amorphous layers for high-dose implants.

Molecular implantsThe MC method allows for the implantation of molecular ions or atomic cluster species such as BF2.The assumption is that the molecule immediately breaks up into its constituents upon impact on a solidsurface.

Figure 27 Schematic of molecular implantation of BF2; one trajectory is calculated for each atomic species, w is the weight assigned to the species

This is a valid approximation if the binding energy of the molecule is considerably smaller than theimplant energy (for example, for BF2: EB ~ 9 eV). The implant energy is shared by several atomsaccording to:

(95)

where is the energy of the i-th species, is the atomic mass, and is the statistical weightaccording to the stoichiometry of the molecule.

The constituents move as separate particles. However, particles of different species are not completelyindependent because of the interaction through the implantation damage.

BF2+

F (w=2)

B (w=1)

Target Surface

Ei energyMi

wjMjj

∑-------------------⋅=

Ei Mi wj

101

Page 122: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

Sentaurus Process supports several molecular species: BF2 (BF2), BCl2 (BCl2), AsH2 (AsH2), and PH2(PH2). An implantation of AsH2, for example, can be performed with:

implant AsH2 energy=100 {crystaltrim taurus.mc}

The atomic masses, statistical weights, and the molecular composition are available in the parameterdatabase. A full molecular implantation is performed if the keyword full.molecular is explicitly set, thatis:

implant <dopant> {crystaltrim taurus.mc} full.molecular

In this case, the trajectories for all atomic species are calculated. At the end of the simulation, datasetsfor each ballistic constituent of the original molecule are generated. This is the default. Only thetrajectory of the significant species (B in the case of BF2) is calculated if !full.molecular is chosen.

MC implant into polysiliconPolysilicon has three states of crystallinity:

Amorphous

Single-crystalline

Polycrystalline

By default polysilicon is considered amorphous and can be treated as a single-crystalline orpolycrystalline material using:

pdbSet PolySilicon Crystallinity SinglepdbSet PolySilicon Crystallinity Poly

Crystal orientation (one of 100, 110, and 111) can be specified using the material-specific command:

pdbSet PolySilicon CrystalOrient 110

This command sets the crystal orientation for all polysilicon regions to <110>.

If the crystallinity is set to Poly, MC implant then checks for the existence of the GSize dataset or GrainSizeparameter. If neither is found, the grain model is disabled, and the material is assumed to be singlecrystalline. The default grain size is 5 x 10–5 [cm], and can be changed with the pdb command:

pdbSet PolySilicon GrainSize <n>

or by initializing the GSize dataset:

select z=<n> name=GSize

The units for both GrainSize and GSize are centimeters.

102

Page 123: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

The grain size also can be scaled with the GrainFactor parameter:

pdbSet PolySilicon GrainFactor <n>

The default GrainFactor is 1.

The polycrystalline model works by frequently switching between the crystal algorithm and theamorphous algorithm. The probability of switching from the crystal model to the amorphous model isdetermined by the accumulative path length in crystal (pathlength) and polycrystalline grain size(GrainSize). It switches from the crystal model to the amorphous model if:

pathlength > (GrainFactor*GrainSize)

or:

pathlength > rand*(GrainFactor*GrainSize)

where rand is a random number between 0 and 1. After an amorphous collision is processed, thepathlength is reset to zero, and the crystal model is selected. The pathlength is accumulated again. Themodel used for the next collision is again determined by the same rules. This process is repeated untilthe particle exits the polycrystalline region.

MC implant into compound materials with molar fractionsTo define a compound material with a spatially dependent molar fraction, use the pdb commands. Forexample, for the target material single-crystalline silicon:

pdbSetString Silicon BinaryCompounds {SiliconGermanium GeTotal "GeTotal/[pdbGetDouble Si LatticeDensity]"}

This specifies a Si1-xGex target with the atomic number density of Ge calculated from the germaniumconcentration field (GeTotal). This is the default setting for SiliconGermanium in the PBD. MC modelssupport implants into these compound materials (binary, ternary, and quaternary). Compound materialsare detected automatically using CompoundNumber, BinaryCompound, TernaryCompound, QuaternaryCoumpound inpdb database. Due to more computational demands, a minimum concentration is required to trigger MCimplant models to treat this material in a more sophisticated way. To specify this minimumconcentration, use the pdb command, for example:

pdbSet Silicon SiliconGermanium.MCmin 1e20

Default minimum concentration is 1e20 cm–3 for all compound materials. If the concentration ofGeTotal in any mesh node is greater or equal to 1e20 cm–3, MC implant model treats this material as abinary compound. In this case, the average charge and mass of the material are calculated individuallyfor each mesh element. The total atomic number density and the lattice constant are inherited from theprimary material (silicon, in this example). The lattice is constructed with the primary material, and eachlattice site is assigned to a type of atom with probability proportional to their mole fractions.

Taurus MC considers the fact that each specific lattice site will be occupied with certain types of atomsonly. Therefore, the substitution of the lattice atoms occur only for those with the same Group number.

103

Page 124: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

The default group number for each type of atom is the same as that in the periodic table. To change thegroup number, use the pdb command, for example:

pdbSet ImplantData Carbon Group 4

For example, in compound material Si1-x-yGexCy, Ge and C have the same group number (IV) as Si, soboth of them can substitute Si atoms in its lattice sites. Another example is InxGa1-xAs1-yPy, In and Gabelong to the same group (III) and As and P belong to the same group (V). Suppose Ga occupies site 0,and As site 1 in zinc-blende structures, then In can only occupy site 0, and P site 1 with the occupationprobabilities proportional to their mole fractions.

MC implant into silicon carbideTaurus MC supports ion implantation into crystalline silicon carbide (SiliconCarbide) with hexagonallattice. The hexagonal system has four crystallographic axes, in other words, three a axes (a1, a2, a3)forming a plane and c axis which is normal to the plane. The crystallographic planes and directionsnormally are described with four Miller indices (hkil). For the hexagonal system, since the sum of thefirst three indices is zero, the third index sometimes can be omitted.

Silicon carbide exists in many different crystal structures, called polytypes. All polytypes have ahexagonal frame with a carbon atom situated above the center of a triangle of Si atoms and underneatha Si atom belonging to the next layer. The difference among the polytypes is the stacking sequencebetween the succeeding double layers of carbon and silicon atoms. For example, 2H-SiC, 4H-SiC, and6H-SiC have the AB, ABCB, ABCACB stacking sequences, respectively. 3C-SiC has an ABC stackingsequence, and is the only form of SiC with a zinc–blende crystal lattice structure. The default polytypefor SiliconCarbide (SiC) is 4H. To change to a different polytype, use the following pdb command:

pdbSet SiliconCarbide Polytype {2H 3C 4H 6H}

NOTE The lattice constants may be different for different polytypes. For convenience, Tclprocedures (set2H-SiC, set3C-SiC, set4H-SiC, and set6H-SiC) are provided to set to different SiCpolytypes.

Two silicon carbide wafer orientations (<0001> and <11-20>) are supported. To specify these waferorientations, use the pdb command:

pdbSet SiliconCarbide CrystalOrient {0001 1120}

The default wafer orientation is <0001>. For (0001) SiC wafer; the primary flat orientation is <10-10>.For (11-20) SiC wafer, the primary flat orientation is <0001>.

104

Page 125: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

MC damage and point defect calculation

Crystal-TRIM: Damage probability

Defect accumulation in single-crystalline material and de-channeling due to the implantation damageare treated dynamically using a phenomenological model [19]. The model is based on the assumption ofthe formation of complex defects, such as amorphous pockets (APs) during ion implantation.

The damage information calculated during Crystal-TRIM simulations is stored in the damageprobability dataset PD. This information is used in the model of APs to treat the nuclear collisions in thepartially damaged crystalline region. Within a certain volume element, PD gives the probability that thecollision can be treated as if the material were amorphous. The material is locally considered to becompletely amorphized if PD = 1.

The PD dataset is not deleted after an implant step and, consequently, can be reused in subsequentCrystal-TRIM runs (damage history).

If the PD dataset has been deleted or has not yet been created, the Damage dataset is used to initialize thedamage history in all crystalline materials:

(96)

where Threshold is the amorphous threshold, which is the minimum of the lattice density and amorphousdensity. Both parameters can be set in the parameter database:

pdbSet <material> LatticeDensity <n>pdbSet <material> AmorpDensity <n>

At the end of the simulation, the Damage dataset is increased according to:

(97)

Taurus MC damage calculation

The damage in a Taurus MC implant is computed either using the Kinch–Pease formula (default) or withfull cascades if the cascades parameter is specified in the implant command. The calculation of thedamage datasets for Taurus MC is consistent with the analytic implant model. At the end of animplantation step, the damage for this step is added to the Damage profile (damage history) using theDFactor:

(98)

The default value for the DFactor is 1, and it can be changed in the parameter database or at the implantcommand line. The accumulated damage is taken into account automatically for subsequent MCimplants, unless the Damage dataset is reset by the diffuse command.

PD = Damage / Threshold, max(PD) = 1

Damage = Damage + PD_LastImp * Threshold

Damage += DFactor Damage_LastImp⋅

105

Page 126: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

Point defects

Point-defect profiles after a MC run can be generated from the ballistic dopant profile using the plus.oneor effective.plus.one model, or from the ballistic vacancy (Frenkel pair) and recoil profiles using thefrenkel.pair model. The plus.one model is the default for all Crystal-TRIM simulations. In this case, theballistic dopant profile <dopant>_LastImp is used according to Eq. 49.

Interstitial and vacancy profiles can also be calculated using the ballistic vacancy dataset Vac_LastImpgenerated during a MC run. The switch defect.model must be set to frenkel.pair:

implant <dopant> [{crystaltrim taurus.mc}] [defect.model=frenkel.pair]

Using the MC–specific factors MCIFactor and MCVFactor, the profiles are calculated according to:

(99)

The default values for both factors are 1. Both factors can be changed in the parameter database and atthe command line:

pdbSet <material> <dopant> MCIFactorpdbSet <material> <dopant> MCVFactorimplant <dopant> [{crystaltrim taurus.mc}] [mc.ifactor=<n>] [mc.vfactor=<n>]

Setting mc.ifactor and mc.vfactor overwrites the parameter database entries.

The interstitial profile is calculated using the concentration of silicon recoils generated by a MC implantif one of the recoil species is set to silicon:

pdbSet MCImplant Recoil0 Siliconimplant <dopant> [{crystaltrim taurus.mc}] [cascades] [defect.model=frenkel.pair]

The above pdbSet using the parameter database entry Recoil0 shows the default setting. The interstitialand vacancy densities are increased according to:

(100)

Statistical enhancementThe energetic pseudoparticles in a MC simulation are statistical objects representing several actualparticles or only a fraction of an actual particle. Pseudoparticles start their motion at a plane above thetarget parallel to the wafer surface. The starting surface is subdivided into segments of equal size. Thesize of these segments can be controlled by setting dy and dz in the MCImplant -> Intervals entry in theparameter database.

The number of pseudoparticles can be set by using:

pdbSet MCImplant Particles <n>

Int_Implant += MCIFactor Vac_LastImp⋅Vac_Implant += MCVFactor Vac_LastImp⋅

Int_Implant += MCIFactor Silicon_LastImp⋅Vac_Implant += MCVFactor Vac_LastImp⋅

106

Page 127: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

or:

implant <dopant> [{crystaltrim taurus.mc}] [particles=<n>]

The default value for particles is 1000. The random number generator in Crystal-TRIM can be startedwith a specified random seed. The integer value used can be set with the parameter RandomSeed:

pdbSet Ctrim RandomSeed <n>

The default is one.

Trajectory splitting

Trajectory splitting artificially increases the number of trajectories calculated in regions with lowtrajectory density. It can be switched on or off by using:

pdbSet MCImplant TrajectorySplitting 1

If a projectile reaches an element with a small trajectory density, a split point is set, that is, the particleis replaced by two daughter particles having half the statistical weight of the mother projectile. Then, thetrajectories of both daughter particles are simulated in the same manner as for the original particle.Further splitting may occur that leads to a splitting tree related to the mother projectile. At a split point,the two daughter projectiles start under identical conditions.

However, the consideration of thermal vibrations of target atoms leads to a deviation of the trajectoriesof the daughter projectiles after a few collisions. In this manner, a high number of different particletrajectories with low statistical weight is obtained, which leads to an important decrease of the statisticalnoise in the tail parts of the dopant distribution.

For a given ion species, the maximum depth of the splitting tree is defined by the parameter MaxSplit:

pdbSet <material> <dopant> MaxSplits <n>pdbSet <material> <dopant> MaxSplitsPerElement <n>

The parameter MaxSplitsPerElement defines the maximum number of split events within one element.

Trajectory replication

Trajectory replication can be switched on or off by using the switch TrajectoryReplication:

pdbSet MCImplant TrajectoryReplication 1

The trajectory replication algorithm uses the fact that in almost all 2D or 3D target structures, severalregions with 1D topology can be found. A particle trajectory going through such a part can be copiedmany times by shifting its origin. Within the 1D region, each shifted trajectory is a valid particletrajectory. Its reproduction by copying is much faster than its physical calculation.

The subdivision into 1D parts or equivalence classes is performed automatically during theimplantation. A subdivision is performed using the segments of the start surface. At the beginning, allthe start segments are in the same equivalence class.

107

Page 128: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

First, the whole trajectory tree is calculated including splits and recoils. The increments of allconcentration-type values between entering and leaving a grid element are stored for each trajectorypoint (at least one per grid element). A start segment is chosen from the same equivalence class. Thestarting point of the copy trajectory is set randomly within this start segment. The point where the copiedtrajectory enters the material is found in the same way as for the original trajectory. The vector betweenthe first material point of the master and the copied trajectory serves as a shift vector. All the incrementsof the master trajectory are transferred point by point into grid elements that correspond to the shiftedpoints.

The scaling factor is the ratio of the volume of the master and the replica grid element. If the materialsand the initial damage are not identical within tight bounds at the master and the replica points,replication fails and the start segment is taken out of the present equivalence class and placed into a newequivalence class. The generation of new equivalence classes is stopped after a certain number ofparticles has been implanted.

The total number of implanted particles is given as the number of start segments multiplied by thenumber of particles per segment, which can be set by using the parameter particles. Due to thereplication, the number of physically calculated trajectories is usually much smaller and is given ratherby the number of equivalence classes multiplied by particles.

Boundary conditions and domain extensionBoundary conditions determine how particles leaving the simulation domain at its outer boundaries willbe processed. It is assumed that the simulation domain is rectangular if viewed from the top and iscontained between:

LeftBoundary and RightBoundary (y-direction)

and:

BackBoundary and FrontBoundary (z-direction)

Transparent boundarypdbSet MCImplant LeftBoundary TransparentpdbSet MCImplant RightBoundary TransparentpdbSet MCImplant BackBoundary TransparentpdbSet MCImplant FrontBoundary Transparent

All particles crossing the boundary leave the simulation domain and are lost.

108

Page 129: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

Periodic structurepdbSet MCImplant BoundaryPeriodicY 1

This switches periodicity in the left-right direction. Correspondingly, for the back-front direction:

pdbSet MCImplant BoundaryPeriodicZ 1

All particles leaving the material will re-enter the material at the opposite side.

Reflective boundarypdbSet MCImplant LeftBoundary ReflectpdbSet MCImplant RightBoundary ReflectpdbSet MCImplant BackBoundary ReflectpdbSet MCImplant FrontBoundary Reflect

A particle hitting the boundary will have its position and direction of motion reflected with respect tothe boundary plane.

Extending the simulation domainpdbSet MCImplant LeftBoundary ExtendpdbSet MCImplant RightBoundary ExtendpdbSet MCImplant BackBoundary ExtendpdbSet MCImplant FrontBoundary Extend

The simulation domain is artificially extended in the corresponding direction. This will compensate forthe decay of the profile at the sides of the domain. Users can control the size of the extension by using:

pdbSet MCImplant ExtensionLength <n>

NOTE For given boundary conditions other than Transparent, it is important that the boundaries,which are lines in 2D and planes in 3D, are continuous, that is, they should show no holes.The crossing of a particle can only be registered if it happens within the material region. Theparticle will finally leave the structure if it crosses the side while being in a gas region.

109

Page 130: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

DatasetsThe datasets used in a MC run follow the same naming conventions as those used in analyticimplantation. Datasets unique to the MC method are the damage probability PD, which is used to storeand initialize the damage history, and the ballistic vacancy density Vac_LastImp.

Loading external profiles

Loading files using load.mcPrecomputed profiles can be loaded to a given structure using the load.mc facility in Sentaurus Process,that is:

implant <dopant> load.mc file=<name>

If the load.mc switch is set in the implant statement, Sentaurus Process takes the DF–ISE file specifiedwith the file selector and loads the datasets into the present structure. Interpolation of the datasets isperformed if the structure or grid in the DF–ISE grid file is different from the present structure.

Table 10 Datasets used in Crystal-TRIM run

Dataset Description

Damage Accumulative damage (damage history). This dataset is reset by the diffuse command. For Taurus MC, at the end of an implant step, the Damage_LastImp concentration is added using DFactor, the same as for an analytic implant. For Crystal-TRIM, damage is generated using PD after an implant step.

Damage_LastImp Damage created during the last implant step. This dataset is used by Taurus MC only.

<dopant> Accumulative density of the dopant concentration. At the end of an implant step, the <dopant>_LastImp concentration is added to <dopant>.

<dopant>_Implant Accumulative density of the dopant concentration. At the end of an implant step, the <dopant>_LastImp concentration is added to <dopant>_Implant. This dataset is reset by the diffuse command.

<dopant>_LastImp Ballistic dopant concentration generated during the last implant step. It is reset at the beginning of each implant step.

Int_Implant Accumulative interstitial profile updated at the end of an implant step.

PD Damage probability. This dataset is used by Crystal-TRIM only.

Vac_Implant Accumulative vacancy profile updated at the end of an implant step.

Vac_LastImp Ballistic vacancy density (Frenkel pair density) generated during the last implant step.

110

Page 131: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 3 IMPLANTATION

load.mc works with either Crystal-TRIM or Taurus MC, depending on the setting (default is crystaltrim):

pdbSet MCImplant load.mc {crystaltrim taurus.mc}

Sentaurus Process attempts to find the doping profiles required from the implant species setting and thedamage probability (for Crystal-TRIM) or damage dataset (for Taurus MC). For example, in thefollowing statement:

implant Boron load.mc file=my_data energy=10 dose=1e14

Sentaurus Process will open the files my_data{_fps}.grd{.gz} and my_data{_fps}.dat{.gz}, and check forthe datasets Boron_LastImp and PD_LastImp (for Crystal-TRIM) or Damage_LastImp (for Taurus MC). Ifsuccessful, these datasets are restored. If one or more of the required datasets is missing, the respectivefields remain empty. The following options are available:

shift=<n>: Shifts the dataset along the y-axis.

flip: Flips the dataset; the default is a flip to the left.

left, right: Specifies the flipping direction.

multiply=<n>: Multiplies the dopant data in the dataset by a factor; the damage remains untouched.

NOTE load.mc restores the datasets from the files without checking the implant conditions specifiedin the implant command. Thus, load.mc by itself does not require the implant parameters suchas energy and dose be specified. However, AdvancedCalibration and CoImplant models canuse these parameters (energy and dose) for their calculations. Therefore, it is recommendedthat energy and dose always be specified along with load.mc.

Automated Monte Carlo runIf no DF–ISE grd and dat file with the specified name is found or the file selector is empty, a separaterun of Crystal-TRIM or Taurus MC is started to generate these files and the required datasets, dependingon the setting of load.mc in the parameter database. Sentaurus Process will internally switch from theload.mc to crystaltrim or taurus.mc mode. All implant parameters related to MC implant (particles,cascades, full.molecular) are used in this run.

NOTE The load.mc feature is designed to reuse precomputed MC results. However, the profiles toload do not necessarily need to be generated using the MC method.

Exampleimplant BF2 dose=1e14 energy=40 tilt=20 rotation=-90 load.mc file=bf2_1e14_40 particles=500 cascades

In the first run of this command, Sentaurus Process checks for the DF–ISE files with the namebf2_1e14_4. Since there is no file with this name, a full-cascade Crystal-TRIM or Taurus MC run is started

111

Page 132: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 3 IMPLANTATION

using the process parameters specified. At the end, the grd and dat files are saved. All datasets related tothe BF2 impurity profile (Boron_LastImp, Fluorine_LastImp), the damage probability (PD_LastImp), ordamage (Damage_LastImp) and, since the command is run in the full-cascade mode, the default recoildensity (Silicon_LastImp) are stored.

In a subsequent run of the same command, Sentaurus Process loads and restores these datasets in apreprocessing step. No convolution integral is calculated. The postprocessing is the same as after a MCrun.

112

Page 133: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

Sentaurus Process

CHAPTER 4 Diffusion

This chapter provides information on the dopant and defect diffusion models and parameters.

OverviewDuring the fabrication process, dopants are introduced into the substrate with different concentrationprofiles. As processing proceeds through various thermal annealing cycles, the dopants diffuse andredistribute through the structure. The following effects contribute to dopant redistribution and can bemodeled by Sentaurus Process:

Dopant (de)activation

Dopant–defect interaction

Chemical reactions at interfaces and in bulk materials

Material flow

Moving material interfaces

Internal electric fields

Sentaurus Process is designed to address the challenges of integrated-circuit process modeling. Astechnology development continues, the need for new process models increases. As shown in Chapter 6on page 305, the Alagator language is a versatile way to add and modify diffusion models quickly. InThis chapter describes the diffusion models in Sentaurus Process. To modify or add new diffusionmodels, see Chapter 6 on page 305.

The diffuse command represents the main simulation capabilities of Sentaurus Process. The commandsimulates:

Thermal annealing of impurities

Material growth processes during annealing (for example: oxidation, silicidation, and epitaxy). SeeEpitaxy on page 155 and Chapter 8 on page 337).

Process-induced stress (see Chapter 9 on page 365).

113

Page 134: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

Basic diffusionThe diffuse command is used to model the diffusion of impurities under oxidizing and non-oxidizingconditions. The options of the diffuse command set diffusion conditions as well as time-steppingoptions. (See diffuse on page 432 for all options.) For example, a command for a simple non-oxidizingannealing at a temperature of 900oC for 10 seconds is:

diffuse temperature=900<C> time=10<s>

If the user wants to perform the same anneal with a wet (H2O) oxidizing ambient, the followingcommand should be executed:

diffuse temperature=900<C> time=10<s> H2O

A simple temperature ramp can be specified directly in the diffuse command by the keyword ramprate.This keyword sets the change in the temperature over time:

diffuse temperature=900<C> time=10<min> O2 ramprate=10<C/min>

This example describes a dry oxidation of 10 minutes, starting at 900oC and ending at 1000oC. The sameexample can be repeated using the temp_ramp command as follows:

temp_ramp name=MyTempRamp temperature=900 time=10 O2 trate=10<C/min>diffuse temp_ramp=MyTempRamp

The first line creates a temperature ramp with given conditions, and the second line specifies a diffusionreferring to this temperature ramp.

To describe more complex temperature cycles within one diffuse command, multiple instances of thetemp_ramp command can be used. A temperature ramp can consist of several segments and, for eachsegment, one temp_ramp command is required. In addition, segments can be grouped by using the samename for each segment. For example, a ramp-up, plateau, and ramp-down can be specified as:

temp_ramp name=MyCycle temperature=500<C> time=5<min> H2O trate=100<C/min>temp_ramp name=MyCycle temperature=1000<C> time=10<min> O2temp_ramp name=MyCycle temperature=1000<C> time=10<min> trate=-50<C/min> lastdiffuse temp_ramp=MyCycle

The keyword last in the third temp_ramp command declares the last segment of the temperature ramp.

Sentaurus Process allows for thermal oxidation from O2 and H2O. The gas_flow command is used tospecify a mixed gas flow by specifying directly either the partial pressures of the gas components or theflow [volume/time]. If the flows are defined, they are converted to partial pressures by taking ratios. Theuse of the gas_flow command is similar to the temp_ramp command; however, multiple gas flows using thesame name must not be specified. When a gas_flow is specified, it can be referred to from both thetemp_ramp and diffuse commands:

gas_flow name=MyGasFlow pH2O=0.5 pO2=0.5 pH2=0.1

To invoke the gas flow specification as given above, use:

temp_ramp name=MyTempRamp temperature=1000<C> time=10<min> gas_flow=MyGasFlow

114

Page 135: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

diffuse temp_ramp=MyTempRamp

or:

diffuse temperature=1000<C> time=10<min> gas_flow=MyGasFlow

Sentaurus Process also allows users to select various diffusion models for point defects and dopants (seeTransport models on page 120). Diffusion model setting and parameter setting are performed with thepdbSet command. The basic settings are:

pdbSet <material> Dopant DiffModel <model>

where <model> can be any of Constant, Fermi, Pair, React, ChargedFermi, ChargedPair, or ChargedReact.

Epitaxy can be simulated if the epi parameter is set. There are two models available for epitaxy: amoving boundary algorithm (epimodel=0, the default) and an alternating diffusion and depositionalgorithm (epimodel=1).

pdbSet Silicon Dopant DiffModel Pairdiffuse temperature=800<C> time=60<min> epi thick=0.01 epi_doping = {Germanium = 8e21}

This example sets the dopant diffusion model for all dopants in silicon to the Pair model and grows a0.01 μm thick epi layer with a germanium background concentration of 8 x 1021.

It is also possible to set the initial diffusion time-step and the minimum annealing temperature with thediffuse command.

diffuse temp_ramp=MyCycle minT=600<C> init=0.01<s>

This example uses the temp_ramp created in the earlier example. The initial time step is set to 0.01 secondsand the minimum annealing temperature is set to 600oC. The diffusion and reaction equations will beswitched off below 600oC but the mechanics will be solved. If users want to set the minimum annealingtemperature and initial time-step globally for all diffusion commands, the following commands can beused:

pdbSet Diffuse minT {<n>}pdbSet Diffuse InitialTimeStep {<n>}

See Viewing defaults: Parameter Database Browser on page 31 for other parameters related to Diffuse.

If the active concentration of dopants at a specific temperature is required, the diffuse command withzero time can be used. For example:

diffuse time=0.0 temperature=850

will calculate the active dopant concentration at 850oC for the chosen diffusion model.

See diffuse on page 432 for all options of the diffuse command. Most sections in this chapter provideinformation about the diffusion models.

115

Page 136: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

Transport modelsSentaurus Process has several basic transport models with varying levels of complexity for computingflux, . This diversity of models is needed to balance accuracy with simulation times, which vary widelydepending on the model selection:

The React (see React diffusion model on page 125) and ChargedReact (see ChargedReact diffusionmodel on page 120) diffusion models, also known as five-stream diffusion models, are the mostadvanced dopant diffusion models in Sentaurus Process. They solve up to three separate equationsper dopant – a substitutional dopant – and up to two dopant–defect pairs and two defect equations.The ChargedReact model is expected to become the most accurate model available in SentaurusProcess but, because of the large number of equations required, it will also be the mostcomputationally expensive. An uncharged version of the ChargedReact model (React model) isprovided for backward compatibility.

The Pair (see Pair diffusion model on page 129) and ChargedPair (see ChargedPair diffusion modelon page 127) diffusion models, also known as three-stream diffusion models, assume that dopant–defect pairs are in local equilibrium but still solve for separate point-defect equations. These modelssolve one equation per dopant and two defect equations. The ChargedPair diffusion model allows thepairing coefficients to vary with charge state. These models are the most commonly used foradvanced CMOS processes as they represent a balance between accuracy and computationalexpense. For extremely fast ramp rates or for customized initial conditions, the ChargedReact modelor React model would be a better choice. An uncharged version of the ChargedPair model (Pairmodel) is provided for backward compatibility.

The Fermi (see Fermi diffusion model on page 132) and ChargedFermi (see ChargedFermi diffusionmodel on page 131) diffusion models both assume that point defects as well as dopant–defect pairsare in equilibrium. The ChargedFermi diffusion model allows the diffusivity of each charge state tobe set separately. An uncharged version of the model is provided for backward compatibility. Thesemodels can be used for long-term high-temperature anneals where the transient effect of annealingimplant damage is minimal.

The Constant diffusion model (see Constant diffusion model on page 133), unlike all other transportmodels, assumes a constant diffusivity and no electric-field effect, and is used mainly for dopantdiffusion in oxide.

The selection of transport model is specified as follows:

pdbSet <material> Dopant DiffModel <model>

where <model> must have one of the valid diffusion model names – Constant, Fermi, Pair, React,ChargedFermi, ChargedPair, or ChargedReact. It is also possible to select a different diffusion model for eachdopant in the same material. In this case, use the command:

pdbSet <material> <dopant> DiffModel <model>

where <dopant> is a valid dopant name (for example, Boron).

The ChargedFermi, ChargedPair, and ChargedReact diffusion models take into account each charged pointdefect individually. Otherwise, they are very similar to the Fermi and Pair diffusion models.

J

116

Page 137: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

NOTE Even though users can select any diffusion model individually for each dopant, it is notrecommended to mix the ChargedFermi, ChargedPair, or ChargedReact models with the unchargedversions.

where <material> is a valid material name, <dopant> is a valid dopant name, and <defect> is either Int orVac.

Table 11 Summary of dopant diffusion models and parameters

Diffusion Model

Type

ChargedReact

React

ChargedPair

Pair

ChargedFermi

Fermi

Constant

pdbSet <material> <dopant> <defect> D Diffusivity X X X X

pdbSet <material> <dopant> <defect> Dstar Diffusivity X X

pdbSet <material> <dopant> Dstar Diffusivity X

pdbSet <material> <defect> D Diffusivity X X X X X

pdbSet <material> <dopant> <defect> ChargePair Pairing Coeff. X X

pdbSet <material> <dopant> <defect> Binding Pairing Coeff. X X

pdbSet <material> <dopant> <defect> kfFTM Rate X

pdbSet <material> <dopant> <defect> kfKickOut Rate X

pdbSet <material> <defect> ChargeStates Charging Coeff. X X X X X

pdbSet <material> <defect> ChargeStatesScale Charging Coeff. X X X X X

pdbSet <material> <defect> Cstar Concentration X X X X X X X

pdbSet <material> <defect> KbulkChargeStates Charging Coeff. X X X X X

117

Page 138: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

Recombination and reaction modelsMany reactions and recombination models are available in Sentaurus Process. Different diffusingspecies such as dopants, defects, and impurities will all have different recombination and reaction terms.These terms come from the following models:

Dopant clusters–solid solubility, transient, and dopant–defect cluster models (see Dopant activationand clustering on page 157).

Defect clusters–Equilibrium, {311}, Loop, LoopEvolution, 1Moment, 2Moment, Full, and FRENDTECH models(see Defect clusters on page 163).

Impurity species:

• Carbon model (see Carbon diffusion model on page 133).

• Fluorine model (see Fluorine diffusion model on page 136).

Boundary conditionsSentaurus Process can simulate various boundary conditions for dopants and defects. You can selecteight different boundary conditions:

HomNeumann can be applied to any boundary (see HomNeumann on page 187).

Natural is for point defects (see Natural on page 188).

Segregation is for dopants (see Segregation on page 190).

Dirichlet is for dopants and defects (see Dirichlet on page 192).

ThreePhaseSegregation is for dopants (see Three-phase segregation on page 192).

GrainBoundarySegregation is for dopants in polycrystalline materials (see Boundary conditions onpage 147).

GrainGrainBoundarySegregation is for dopants in polycrystalline materials (see Boundary conditionson page 147).

EpiTransfer is for dopants used only during epi growth (see EpiTransfer on page 195).

The Natural and Dirichlet boundary conditions consider interstitial injection during oxidation foroxidation-enhanced diffusion (OED) of dopants.

118

Page 139: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

Other materials and effectsIn addition to generic transport and recombination and reaction models, other effects can be simulated:

Polysilicon model (see Diffusion in polysilicon on page 142).

SiGe diffusion model (see Dopant diffusion in SiGe on page 148).

Epitaxy (see Epitaxy on page 155).

General formulationThe general expression for the particle current of a diffusing species of charge is given by:

(101)

where is the concentration, is the diffusivity, is the electron concentration, and is theintrinsic electron concentration. The continuity equation for species of charge is given by:

(102)

where the recombination/reaction term is split into two parts: is a possible contribution comingfrom the transport model selection (see Transport models on page 120) and can contain terms fromother reactions, which are most often clustering reactions but could include any type of reaction.Reactions that transform species into another species will introduce positive terms into theexpression for . Total dopant concentration of dopant will be equal to the sum of all dopants,dopant–defect pairs, and any related clusters (for example, ).

For the models that do not consider different charge states, computation of the electron concentration bydefault is given by the charge neutrality condition , where is given by the activedopant concentrations (for example, where is the active donor concentration and is the active acceptor concentration). For the charged models, the charge states of the defects or defectpairs are considered individually.

It is expected that the charge reactions are in equilibrium, so that the ratio in the various charged statesis set by the Fermi level:

(103)

where is a reference charge state, which is chosen as 0 for interstitials and vacancies, and is chosen asthe dopant charge for dopant–defect pairs. The are parameters that are set by default to an Arrheniusexpression. In addition, for the charged models, it is necessary to solve a coupled equation for theelectron concentration. The default equation is the same as for the uncharged case, that is, the charge

A c

JAc d–

Acnni----⎝ ⎠

⎛ ⎞ c–∇ Ac n

ni----⎝ ⎠

⎛ ⎞ c

⎝ ⎠⎛ ⎞=

Ac dAc n ni

A c

t∂∂Ac

∇ J•Ac– R

Actrans R

Acclus–+=

RActrans

RAcclus

Ac

RAcclus A

ATotalc Ac Apair

c Aclusc+ +=

n– p NΔ+ + 0= NΔΔN Nd Na–= Nd Na

Ac r+ kAcCAr

nni----⎝ ⎠

⎛ ⎞ r c+( )–=

rk

Ac

119

Page 140: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

neutrality equation but, in this case, is a function of because it containscontributions from charged defects or charged defect pairs as well as dopants. It is also possible for boththe charged and uncharged models to solve the Poisson equation (see Electron concentration onpage 152).

Transport modelsTransport models compute the particle flux of dopants and are the core diffusion models solved bySentaurus Process. In addition to particle flux, pairing reactions can be computed depending on thetransport model selection. Transport models are usually used with one or more clustering or activationmodels available. The reaction or clustering models will not modify the dopant flux, but will computeterms to be added to from Eq. 102. The models are described in detail here.

The selection of the transport model is made with the command:

pdbSet <material> <dopant> DiffModel <model>

where <material> is the material name; <dopant> can be either "Dopant" to apply to all dopants or a nameddopant such as boron, arsenic, phosphorus, antimony, and indium; and <model> is one of the modelsChargedReact, React, ChargedPair, Pair, ChargedFermi, Fermi, or Constant.

ChargedReact diffusion modelThe ChargedReact diffusion model is the most general transport model in Sentaurus Process. The modelhas an immobile substitutional dopant and up to two mobile charged dopant–defect pair species. Mobilecharged point defects are also included in the model.

The following reactions are considered:

(104)

(105)

(106)

(107)

(108)

The differential equations that are solved in this model are:

(109)

n– p NΔ+ + 0= NΔ n

Rclusc

Az Ii+ AI z j+( ) i j–( )e–↔

Az Vi+ AV z j+( ) i j–( )e–↔

Ii Vj+ i j+( )e–↔

AI z i+( ) Vj+ Az i j+( )e–↔

AV z i+( ) Ij+ Az i j+( )e–↔

t∂∂CA RAI– RAV– RAI V, RAV I, RA

clus–+ +=

120

Page 141: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

(110)

(111)

(112)

(113)

where is the concentration of substitutional (and assumed to be immobile) dopants, is theconcentration of ‘free’ defects of type X (either interstitials or vacancies), in other words, those defectsnot in clusters or pairs. The reaction rates of the different species ( ) are defined later in this section.

Next, the flux of the mobile defect pair is considered. Working with Eq. 101 for the charged pairs, theequation will be written in terms of the total concentration of pairs.

It is expected that the dopant defect pairing reaction is in equilibrium, therefore, a set of constants forthis pairing is defined:

(114)

where is either I or V, is the charge of the dopant , and is the pairing coefficient for the pair, and is given by:

(115)

Users can set by using:

pdbSet <material> <dopant> <defect> ChargePair <c> {<n>}

where <material> is a DATEX material name (see Appendix B on page 519), <dopant> is one of theexisting Sentaurus Process dopants, <defect> is either Interstitial or Vacancy, <c> is the charge state, and<n> is a Tcl expression that returns a number – it can be simply a number. One commonly used Tclprocedure for setting parameters is Arrhenius. This procedure takes a prefactor and an energy asarguments and returns .

t∂∂CAI ∇ J• AI– RAI RAI V,– RAI

clus–+=

t∂∂CAV ∇ J• AV– RAV RAV I,– RAV

clus–+=

t∂∂CI JI∇•– RIV RAI–– RAV I,– RI

clus–=

t∂∂CV JV∇•– RIV R– AV– RAI V,– RV

clus–=

CA CX

R

CAXz c+ k

AXcCAXznni----⎝ ⎠

⎛ ⎞ z c+( )–=

X z A kAXc

AX

kAXc k

AXc0

k–AXcE

kBT-------------

⎝ ⎠⎜ ⎟⎛ ⎞

exp=

kAXc

prefactorenergy–

kBT------------------------⎝ ⎠

⎛ ⎞exp⋅

121

Page 142: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

The flux of the pairs is computed from Eq. 101:

(116)

where is the total concentration of pairs that is the sum of the concentrations of pairs at every chargestate and is an effective diffusivity of dopant point-defect pairs at charge state and is related tothe self diffusivity by:

(117)

where is the equilibrium concentration of the neutral defects and is related to the total equilibriumintrinsic concentration of defect by:

(118)

The quantities and , which by default follow an Arrhenius law, can be changedby using the command:

pdbSet <material> <defect> Cstar {<n>}

Users can set by using:

pdbSet <material> <dopant> <defect> D <c> {<n>}

A set of equilibrium-charging constants, , for defect is defined:

(119)

where is either I or V, and is the charging coefficient for the defect and is given by:

(120)

To set , use:

pdbSet <material> <defect> ChargeStates <c> {<n>}

JAX JAXc

c∑–=

DAXc

nni----⎝ ⎠

⎛ ⎞ c– z– CAX

CX0* k

AXqkXqnni----⎝ ⎠

⎛ ⎞ q–

q∑

-------------------------------------------------- nni----⎝ ⎠

⎛ ⎞z

⎝ ⎠⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎛ ⎞

∇c∑–=

CAXD

AXc cd

AXc

DAXc C

X0* k

AXckXcdAXc

=

DAXc0

D–AXcE

kBT---------------

⎝ ⎠⎜ ⎟⎛ ⎞

exp=

CX0*

X

CX0* CX intrinsic( )

*

kXc

nni----⎝ ⎠

⎛ ⎞ c–

c∑------------------------------=

CI intrinsic( )* CV intrinsic( )

*

DAXc

kXc X

CXc k

XcCX0nni----⎝ ⎠

⎛ ⎞ c–=

X kXc X

kXc k

Xc0

k–XcE

kBT----------

⎝ ⎠⎜ ⎟⎛ ⎞

exp=

kXc

122

Page 143: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

Similar to the pairs, the defect fluxes are computed from Eq. 101:

(121)

where is the total concentration of defects that is the sum of the concentrations of defect at everycharge state and is the diffusivity of the defect of charge state c and is given by:

(122)

To set , use:

pdbSet <material> <defect> D <c> {[Arrhenius <prefactor> <energy>]}

Now, the reaction rates can be written by considering Eq. 104 to Eq. 108 and the general formula for therate of all combinations of charge states:

(123)

Therefore, summing all possible charge states gives:

(124)

(125)

(126)

where:

(127)

JX JXc

c∑–=

kXcD

Xc

nni----⎝ ⎠

⎛ ⎞ c–CX

*

c∑

kXq

nni----⎝ ⎠

⎛ ⎞ q–

q∑

----------------------------------------------CX

CX*

-------⎝ ⎠⎜ ⎟⎛ ⎞

∇–=

CX XD

Xc X

DXc d

Xc=

DXc0

D–XcE

kBT------------

⎝ ⎠⎜ ⎟⎛ ⎞

exp=

DXc

Aa Bb ABc c a– b–( )e+↔+

RAa Bb c, ,

kAa Bb c, ,f C

AaCBb kAa Bb c, ,r C

ABcnni----⎝ ⎠

⎛ ⎞ c a– b–( )–⎝ ⎠

⎛ ⎞=

RAX KAXf CACX

CAX

KAXr

----------–⎝ ⎠⎜ ⎟⎛ ⎞

–≡

RAI V, KAI V,f CAICV KAX

r CI*CV

* CA–( )≡

RAV I, KAV I,f C( AVCI KAX

r CI*CV

* CA )–≡

KAXf

KfXKOikXinni----⎝ ⎠

⎛ ⎞ i–

i∑

kXc

nni----⎝ ⎠

⎛ ⎞ c–

c∑

---------------------------------------------≡

123

Page 144: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

(128)

(129)

(130)

where is the forward reaction rate for the kickout mechanism, and is either interstitial or vacancy, and are forward reaction rates for the Frank–Turnbull mechanism and is the

equilibrium constant.

The forward ( ) kickout reaction rates can be set by using the following commands:

pdbSet <material> <dopant> <defect> kfKickOut <c> {<n>}

where c is the charge state. For example:

pdbSet Silicon Boron Interstitial kfKickOut 1 \{[expr 4.0*3.14159*([Arrhenius 0.1 0.2]+[Arrhenius 0.3 0.4])]}

sets the forward reaction rate for to

Similarly, the forward ( , ) Frank–Turnbull reaction rates can be defined using thecommands:

pdbSet <material> <dopant> <defect> kfFTM <i,j> {<n>}

NOTE The indices of the forward recombination rates have the form of . Both and are integernumbers and are separated by a comma; no space is allowed between the indices.

The I–V recombination reaction is given as:

(131)

KAXr

kAXikXi

nni----⎝ ⎠

⎛ ⎞ i–

i∑

kXc

nni----⎝ ⎠

⎛ ⎞ c–

c∑

---------------------------------------≡

KAI V,f

KfAIi Vj

,FTk

AIikVjnni----⎝ ⎠

⎛ ⎞ i j+( )–

j∑

i∑

kAIc

nni----⎝ ⎠

⎛ ⎞ c–k

Vznni----⎝ ⎠

⎛ ⎞ z–

z∑

c∑

----------------------------------------------------------------------------≡

KAV I,f

KfAVi Ij,

FTkAVikIj

nni----⎝ ⎠

⎛ ⎞ i j+( )–

j∑

i∑

kAVc

nni----⎝ ⎠

⎛ ⎞ c–k

Iznni----⎝ ⎠

⎛ ⎞ z–

z∑

c∑

----------------------------------------------------------------------------≡

KAXf X

KAI V,f KAV I,

f KAXr

KfXKOi j,

c 1= 4π 0.1 0.2–kT

----------⎝ ⎠⎛ ⎞ 0.3 0.4–

kT----------⎝ ⎠

⎛ ⎞exp+exp⎝ ⎠⎛ ⎞

KAI V,f KAV I,

f

i j, i j

RIV KIV CICV CI*CV

*–( )=

124

Page 145: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

where:

(132)

The superscript ‘*’ refers to the equilibrium concentration, and the subscripts and are for theinterstitials and vacancies, respectively. The subscripts are the charge states of the defects. is the bulk recombination rate for interstitials and vacancies at the charge stated and , respectively.The bulk recombination rate for each charged point defect can be set using the command:

pdbSet <mater> <defect> KbulkChargeStates <i,j> {<n>}

The equilibrium concentration of the unpaired point defect can be calculated by:

(133)

where is the scaled charging coefficient for the defect and can be set by using:

pdbSet <material> <defect> ChargeStatesScale <c> {<n>}

is set to as a default.

NOTE The indices for the parameter KbulkChargeStates have the form of . Both and are integernumbers and are separated by a comma; no space is allowed between the indices.

React diffusion modelThe React model is similar to the ChargedReact model, except that the reaction rates are not charge state–dependent and the electron concentration is computed directly from the net doping concentration. Inaddition, the Frank–Turnbull mechanism is not considered.

The reactions considered are:

(134)

(135)

where is the dopant, is the interstitial, and is the vacancy.

KIVCI intrinsic( )

* CV intrinsic( )*

CI*CV

* kIz k

Vz

z∑

z∑

---------------------------------------------------------- KIiVjkIikVjnni----⎝ ⎠

⎛ ⎞ i j+( )–

j∑

i∑=

I Vz i j, , K

IiVj

i jK

IiVj

CX* CX intrinsic( )

*k

Xcnni----⎝ ⎠

⎛ ⎞ c–

c∑

ksXc

c∑

------------------------------=

ksXc X

ksXc k

Xc

i j, i j

A I+ AI↔

A V+ AV↔

A I V

125

Page 146: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

The following set of differential equations represents the model:

(136)

(137)

(138)

where is the concentration of substitutional (and assumed to be immobile) dopant and is theconcentration of ‘free’ defects of type (either interstitials or vacancies), that is, those defects not inclusters or pairs.

Next, the flux of the mobile defect pair is considered. Working with Eq. 101 for the charged pairs, theequation will be written in terms of the total concentration of pairs. In addition, this model assumes thecharging constants for the pairs are the same as the charging constants for the defects. It is expected thatthe charging reaction is in equilibrium, therefore, a set of constants for this charging is defined:

(139)

However, in this model, the reaction rates are assumed to be independent of the charge state, so the paircharging constants are only needed for the flux of the pairs and are absorbed into the diffusivity of thepairs in this way:

(140)

where is the charge state of dopant , is either interstitial or vacancy, and is the effectivediffusivity of dopant point-defect pair at charge state and is related to the bare diffusivity, by:

(141)

where is a set of equilibrium charging constants for defect defined by Eq. 119 and Eq. 120, and is the equilibrium concentration of the neutral defects defined by Eq. 118.

To set , use:

pdbSet <material> <dopant> <defect> D <c> {<n>}

t∂∂CA RAI– RAV– RA

clus–=

t∂∂CAX JAX∇•– RAX RAX

clus–+=

t∂∂CX JX∇•– RIV– RAX– RX

clus–=

CA CXX

CAXz c+ k

AXcCAXznni----⎝ ⎠

⎛ ⎞ z c+( )–=

JAX

DAXc

nni----⎝ ⎠

⎛ ⎞ c– z–

⎝ ⎠⎛ ⎞

c∑–

BAX------------------------------------------------

CAX

CX*

---------- nni----⎝ ⎠

⎛ ⎞ z∇=

z A X DAXc

c dAXc

DAXc C

X0* BAXk

XcdAXc

=

DAXc0

D–AXcE

kBT---------------

⎝ ⎠⎜ ⎟⎛ ⎞

exp=

kXc X

CX0*

DAXc

126

Page 147: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

where <material> is a DATEX material name (see Appendix B on page 519), <dopant> is one of theexisting Sentaurus Process dopants, <defect> is either Interstitial or Vacancy, <c> is the charge state, and<n> is a Tcl expression that returns a number; it can be simply a number. One commonly used Tclprocedure for setting parameters is Arrhenius. This procedure takes a prefactor and an energy asarguments and returns .

It is also possible to modify the entire array with the command (for example, arsenic–vacancy pairs):

pdbSet Si Arsenic Vac D { 0 {[Arrhenius 0.0 3.45]}-1 {[Arrhenius 12.8 4.05]}

}

The defect flux is the same as the ChargedReact model and is given by Eq. 121. The reaction can bewritten as:

(142)

where is either interstitial or vacancy, is the binding coefficient of defect and dopant , is the rate constant for the chemical reaction, and is the active portion of . The binding termbetween the defect and dopant also follows the Arrhenius law:

(143)

The term can be changed with the command:

pdbSet <material> <dopant> <defect> Binding {<n>}

The chemical reaction term is expressed with:

(144)

and can be modified by using the command:

pdbSet <material> <dopant> <defect> Krate {<n>}

The defect recombination rate is the same as in the ChargedReact model and is given by Eq. 131.

ChargedPair diffusion modelThe ChargedPair diffusion model assumes that the dopant–defect pairs are in local equilibrium with thedopant and defect concentration. Point defects themselves are not assumed to be in equilibrium. Thekick-out mechanism that describes the dopant–defect pairing is given by:

(145)

prefactorenergy–

kBT------------------------⎝ ⎠

⎛ ⎞exp⋅

JX

RAX KAXr CA+CX

CAXBAX----------–⎝ ⎠

⎛ ⎞≡

X BAX X A KAXrCA

+ CA

BAX BAX0BAXE–kT

----------------⎝ ⎠⎛ ⎞exp=

Kr Kr0K– rEkT

------------⎝ ⎠⎛ ⎞exp=

RIV

Az Ic+ AI z c+( )↔

127

Page 148: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

(146)

and is assumed to be in equilibrium. In these two equations, is the dopant, is the interstitial, isthe vacancy, and is the charge state.

The differential equations solved with this model are:

(147)

(148)

where is the total interstitial concentration including dopant–defect X pairs butexcluding clusters, is the sum of AI and AV pair fluxes, is the defect flux, and is the totaldopant concentration excluding clusters.

To write an expression for the pair fluxes, it is necessary to first define the equilibrium constants, ,for the pairing reactions:

(149)

where is either interstitial or vacancy, is the charge state of the point defect, is the active portionof , and is the concentration of the neutral point defect . The ionization equilibrium constant

is given by Eq. 119 and Eq. 120.

The pairing coefficients for the dopant–defect pairs with different charge states, , can be modifiedwith the command:

pdbSet <material> <dopant> <defect> ChargePair <c> {<n>}

where <material> is a DATEX material name (see Appendix B on page 519), <dopant> is one of theexisting Sentaurus Process dopants, <defect> is either Interstitial or Vacancy, <c> is the charge state, and<n> is a Tcl expression that returns a number; it can be simply a number.

The flux for the impurity is given by:

(150)

where is the effective diffusivity of dopant point-defect pair at charge state , is the charge stateof dopant , is the active portion of , is the concentration of the neutral point defect , and

Az Vc+ AV z c+( )↔

A I Vc

t∂∂CA JA∇•– RA

clus–=

t∂∂ C

Xtotal( ) JX JA∇•–∇•– RIV– RXclus–=

CXtotal CX CAX+≡

JA JX CA

kAXc

CAX CA+C

X0 kAXckXc

nni----⎝ ⎠

⎛ ⎞ c–

c∑≡

X c CA+

CA CX0 X

kXc

kAXc

JA DAXc

nni----⎝ ⎠

⎛ ⎞ c– z–CA

+C

X0

CX0*

-------- nni----⎝ ⎠

⎛ ⎞z

⎝ ⎠⎜ ⎟⎜ ⎟⎛ ⎞

∇c X,∑–=

DAXc c z

A CA+ CA C

X0 X

128

Page 149: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

is the equilibrium concentration of the same defect and is given by Eq. 118. The effective diffusivityis related to the bare dopant–defect diffusivity, , by:

(151)

Users can set by using:

pdbSet <material> <dopant> <defect> D <c> {<n>}

NOTE Diffusion coefficients for the ChargedPair model and Dstar for the ChargedFermi modelinclude the interstitial efficiency factors so as to be compatible with Dios.

Both the flux for the defects ( ) and the defect recombination rate ( ) are the same as theChargedReact model and are given by Eq. 121 and Eq. 131, respectively.

NOTE To obtain similar simulation results to Dios, users must use the SetDiosPairModelModecommand (see SetDiosEquilibriumModelMode and SetDiosPairModelMode on page 501).This command changes some default diffusion parameters to Dios parameters.

Pair diffusion modelThe Pair diffusion model is similar to the ChargedPair model except that the reaction rates are not chargestate–dependent, and the electron concentration is computed directly from the net doping concentration.In addition, the Frank–Turnbull mechanism is not considered. The kick-out mechanism, which describesthe dopant–defect pairing, is given by:

(152)

(153)

and is assumed to be in equilibrium. In these two equations, is the dopant, is the interstitial, and is the vacancy.

As in the ChargedPair model, the following set of differential equations is solved:

(154)

(155)

CX0*

dAXc

DAXc C

X0* k

XckAXc

dAXc=

DAXc0

D–AXcE

kBT---------------

⎝ ⎠⎜ ⎟⎛ ⎞

exp=

DAXc

D

JX RIV

A I+ AI↔

A V+ AV↔

A I V

t∂∂CA JA∇•– RA

clus–=

t∂∂ C

Xtotal( ) JX JA∇•–∇•– RIV– RXclus–=

129

Page 150: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

where is the total interstitial concentration including dopant–defect X pairs butexcluding clusters, is the sum of AI and AV pair fluxes, is the defect flux, and is the totaldopant concentration excluding clusters.

An equilibrium constant for the pairing reactions is defined and given by:

(156)

where is either interstitial or vacancy, is the binding coefficient of defect and dopant , and is the active portion of .

The binding term between the defect and dopant also follows the Arrhenius law:

(157)

The term can be changed with the command:

pdbSet <material> <dopant> <defect> Binding {<n>}

The flux for the impurity is given by:

(158)

where represents the diffusivity of dopant point-defect pairs at charge state , is the charge stateof dopant , is the active portion of , and is either interstitial or vacancy. The effectivediffusivity is related to the bare dopant–defect diffusivity, , by:

(159)

where is the equilibrium concentration of the neutral point defect and the ionization equilibriumconstant, , is defined by Eq. 119 and Eq. 120.

To modify diffusivity terms, use the command:

pdbSet <material> <dopant> <defect> D <charge> {<n>}

Both the flux for the defects ( ) and the defect recombination rate ( ) are the same as theChargedReact model and are given by Eq. 121 and Eq. 131, respectively.

CXtotal CX CAX+≡

JA JX CA

CAX BAXCA+CX≡

X BAX X ACA

+ CA

BAX BAX0BAXE–kT

----------------⎝ ⎠⎛ ⎞exp=

JA DAXc

nni----⎝ ⎠

⎛ ⎞ c– z–CA

+ CX

CX*

------- nni----⎝ ⎠

⎛ ⎞z

⎝ ⎠⎜ ⎟⎛ ⎞

∇c X,∑–=

DAXc c z

A CA+ CA X

dAXc

DAXc C

X0* k

XcBAXd

AXc=

DAXc0

D–AXcE

kBT---------------

⎝ ⎠⎜ ⎟⎛ ⎞

exp=

CX0* X

kXc

JX RIV

130

Page 151: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

ChargedFermi diffusion modelThe ChargedFermi diffusion model is similar to the ChargedPair diffusion model except that charged pointdefects are considered to be in equilibrium; no point-defect equations are solved. The substitutionaldopants are immobile and the total dopant flux is due to the dopant–defect pairs. The following set ofdifferential equations is solved along with the potential equation Eq. 238:

(160)

As in the ChargedPair model, a set of pairing constants ( ) that define the pair concentration isdefined:

(161)

where is either interstitial or vacancy, is the charge state of the point defect, is the charge state ofdopant , and is the active portion of . The ionization equilibrium constant is given byEq. 119 and Eq. 120. The dopant flux is given by:

(162)

where is the effective diffusivity of dopant point-defect pairs at charge state and is related to thebare diffusivity by:

(163)

Users can set by using:

pdbSet <material> <dopant> <defect> Dstar <c> {<n>}

The pairing coefficients for the dopant–defect pairs with different charge states, , can be definedwith the command:

pdbSet <material> <dopant> <defect> ChargePair <c> {<n>}

NOTE To obtain similar simulation results to Dios, users must use the SetDiosEquilibriumModelModecommand (see SetDiosEquilibriumModelMode and SetDiosPairModelMode on page 501),which changes some default diffusion parameters to Dios parameters.

t∂∂CA JA∇•–=

kAXc

CAX CA+C

X0 kAXckXc

nni----⎝ ⎠

⎛ ⎞ c–

c∑≡

X c zA CA

+ CA kXc

JA

JA DAXc

nni----⎝ ⎠

⎛ ⎞ c– z–CA

+ nni----⎝ ⎠

⎛ ⎞ z

⎝ ⎠⎛ ⎞∇

X c,∑∇=

DAXC c

dAXc

DAXc C

X0* k

AXckXcdAXc

=

DAXc0

D–AXcE

kBT---------------

⎝ ⎠⎜ ⎟⎛ ⎞

exp=

DAXc

kAXc

131

Page 152: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

Fermi diffusion modelThe Fermi diffusion model is more complex than the Constant diffusion model. It assumes that pointdefects are in equilibrium and it includes electric-field effects. Therefore, the point-defect equations arenot solved.

As in the ChargedPair model, the following set of differential equations is solved:

(164)

where is the sum of AI and AV pair fluxes, and is the total dopant concentration includingclusters.

An equilibrium constant for the pairing reactions is defined and given by:

(165)

where is either interstitial or vacancy, is the binding coefficient of defect and dopant , and is the active portion of . The dopant flux is given by:

(166)

where is the charge state of the point defect, is the charge state of dopant , is the active portionof , is either interstitial or vacancy, and is the effective diffusivity of dopant point-defectpairs at charge state and is related to the bare diffusivity by:

(167)

The pairing ratio only appears in the formula for and cannot be modified independently in theFermi model. Users can set by using:

pdbSet <material> <dopant> <defect> Dstar <c> {<n>}

t∂∂CA JA∇•–=

JA CA

CAX BAXCA+CX≡

X BAX X ACA

+ CA

JA DAXc

nni----⎝ ⎠

⎛ ⎞ c– z–CA

+ nni----⎝ ⎠

⎛ ⎞ z

⎝ ⎠⎛ ⎞∇

X c,∑–=

c z A CA+

CA X DAXC

c dAXc

DAXc C

X0* BAXk

XcdAXc

=

DAXc0

D–AXcE

kBT---------------

⎝ ⎠⎜ ⎟⎛ ⎞

exp=

BAX DD

AXc

132

Page 153: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

Constant diffusion modelThe Constant diffusion model is the simplest diffusion model used in Sentaurus Process and is mainlyfor dopant diffusion in oxide. It assumes that there is no interaction between dopants and point defects,and that there are no electric-field effects on dopant diffusion. The point-defect equations are alsoswitched off. The impurity diffusion is given by:

(168)

where is the intrinsic diffusivity of the impurity and is the active portion of . Thediffusivity follows the Arrhenius law:

(169)

For example, the command:

pdbSet Silicon Arsenic Dstar {[Arrhenius 6.66e-2 3.44]})

sets the to cm2/s and to 3.44 eV. The general format of the command is:

pdbSet <material> <dopant> Dstar {<n>}

NOTE Unlike the ChargedFermi model, Dstar is not defined as an array for the Constant model.

Carbon diffusion modelCarbon diffusion in silicon is described by a kickout mechanism [24]. Other mechanisms such asdissociation and clustering can also be taken into account. In the integration in Sentaurus Process, eachof these mechanisms is described by one or more terms:

(170)

(171)

where is the substitutional carbon, is the mobile carbon–interstitial pair, is interstitial, and isvacancy. The first reaction is the kick-out reaction and the second one is the dissociation reaction. Thesereaction can be written as:

(172)

(173)

t∂∂CA Dstar CA

+∇( )∇•=

Dstar A CA+ CA

Dstar Dstar0DstarE–

kT-------------------⎝ ⎠

⎛ ⎞exp=

Dstar0 6.66 10 2–× DstarE

C I+ CI↔

CI V+ C↔

C CI I V

RKickOut KfI CCCI BCICCI–( )≡

RDissociation KfV CCICV CI*CV

* BCVCC–( )≡

133

Page 154: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

where is the concentration of substitutional carbon atoms, is the concentration of mobile carbonatoms, and are the forward reaction rates, and and are the binding coefficients. Theycan be set using the following commands:

pdbSet <material> Carbon Interstitial Kf {<n>}pdbSet <material> Carbon Vacancy Kf {<n>}pdbSet <material> Carbon Interstitial Bind {<n>}pdbSet <material> Carbon Vacancy Bind {<n>}

For example:

pdbSet Silicon Carbon Interstitial Kf {\[expr ([pdbGetElement Si Carbon D 0]/([pdbDelayDouble Si Carbon MigrationLength]*\[pdbDelayDouble Si Carbon MigrationLength]*[pdbDelayDouble Si Int Cstar]))]\

}

will set to .

is the migration length of carbon atoms and is the diffusivity of carbon, and these parameters canbe set using the commands:

pdbSet <material> Carbon MigrationLength {<n>}pdbSet <material> Carbon D 0 {<n>}

The differential equations that describe the model are:

(174)

(175)

where is the diffusivity of mobile carbon–interstitial pairs and can be set using the command:

pdbSet <material> Carbon Interstitial D 0 {<n>}

Carbon–interstitial clusters [24] can be switched on and off by the command:

pdbSet <material> Carbon ClusterModel <model>

where <model> is either None or Transient. If the transient cluster model is selected, the following reactionsare taken into account:

(176)

(177)

(178)

where are the number of carbon and interstitial atoms in the cluster , respectively.

CC CCIKfI KfV BCI BCV

KfI

DC0

λ2CI* intrinsic( )

----------------------------------------

λ DC0

t∂∂CC RDissociation RKickOut–=

t∂∂CCI D

CI0 CCI∇( ) RKickOut RDissociation–+∇•=

DCI0

CiIj I+ CiIj 1+↔

CiIj V+ CiIj 1–↔

CiIj CI+ Ci 1+ Ij 1+↔

i j, CiIj

134

Page 155: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

The clusters can be specified using the command:

pdbSet <material> Carbon Interstitial ClusterSizes <list>

For example:

pdbSet Silicon Carbon Interstitial ClusterSizes {{1 0} {1 1} {2 0} {2 1} {3 1}}

sets up the diffusion equations for , , , , and .

NOTE Cluster sizes given in the ClusterSizes list are increasing in size.

The reactions are written as:

(179)

(180)

(181)

where , , and are the forward reaction rates, and , , and are thebinding coefficients.

To set these parameters, the following commands can be used:

pdbSet <material> Carbon Interstitial KfCluster <cluster> {<n>}pdbSet <material> Carbon Vacancy KfCluster <cluster> {<n>}pdbSet <material> Carbon CarbonInt KfCluster <cluster> {<n>}pdbset <material> Carbon Interstitial BindCluster <cluster> {<n>}pdbset <material> Carbon Vacancy BindCluster <cluster> {<n>}pdbset <material> Carbon CarbonInt BindCluster <cluster> {<n>}

where <cluster> is a valid cluster name, for example, C2, C2I, C3I, C3I2.

For example:

pdbSet Silicon Carbon CarbonInt KfCluster C3I2 {[Arrhenius 1e-10 0.3]}

sets the forward reaction rate of the CarbonInt and C3I2 reaction to {[Arrhenius 1e-10 0.3]}.

The differential equations for the clusters are:

(182)

The reactions , , and are subtracted from , , and (carbon–interstitialclustering), respectively.

C CI C2 C2I C3I

RI KfICiIjCCiIj

CI BICiIjC

CiIj 1+–( )≡

RV KfVCiIjCCiIj

CV BVCiIjC

CiIj 1––( )≡

RCI KfCICiIjCCiIj

CCI BCICiIjCCi 1+ Ij 1+

–( )≡

KfICiIjKfVCiIj

KfCICiIjBICiIj

BVCiIjBCICiIj

t∂∂ CiIj R– I R– V RCI–=

RI RV RCI RIclus RV

clus RCIclus

135

Page 156: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

Initializing carbon transient cluster modelInitially, carbon-cluster concentrations are set to zero. If there is an existing cluster concentration field,the field is used. Users can initialize any of the cluster concentration fields using the select command inthe input command file.

Fluorine diffusion modelTo capture fluorine effects on dopant diffusion, a model based on fluorine–point defect interaction isimplemented [25]. The primary reactions used in the model are:

(183)

(184)

where is mobile fluorine, is interstitial, is vacancy, and is an immobile cluster (three fluorineatoms bound to a vacancy). The model assumes that is the dominant cluster. These reactions canbe written as:

(185)

(186)

where is the forward reaction rate. It can be defined using the command:

pdbSet <material> Fluorine F3V KfI {<n>}

is the diffusivity of neutral interstitials, is the concentration of fluorine–vacancy clusters, is the concentration of fluorine, and and are the concentration of interstitials and vacancies,respectively.

Quantities with a superscript (*) correspond to their equilibrium values. The equilibrium value of can be set by:

pdbSet <material> Fluorine F3V Cstar {<n>}

The differential equations that describe the model are:

(187)

F3V I+ 3F↔

F3V 3F V+↔

F I V F3VF3V

R1 K≡ DI0 CF3VCICF

3

CF3V*

------------–⎝ ⎠⎜ ⎟⎜ ⎟⎛ ⎞

R2 K≡ DI0 CF3VCF

3 CV

CF3V* CI

*CV*

--------------------------–⎝ ⎠⎜ ⎟⎜ ⎟⎛ ⎞

K

DI0 CF3V CFCI CV

CF3V

t∂∂CF D0 CF∇( )∇• 3R1 3R2+ +=

136

Page 157: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

(188)

The fluorine diffusion coefficient, , can be set using the command:

pdbSet <material> Fluorine Dstar {<n>}

The quantity is subtracted from and the quantity is added to .

Initializing fluorine modelIn the fluorine model, it is assumed that the complete fluorine dose is implanted as fluorine–vacancyclusters ( ). Since the ‘+1’ model is used to generate the excess interstitials, this effectivelyintroduces interstitials of a concentration equal to except in amorphous regions.

In Sentaurus Process, these fields are initialized by using the procedure InitializeFluorineField. Theprocedure adjusts the free implant interstitial field, fluorine field, and fluorine vacancy field as follows:

(189)

If needed, you can overwrite the procedure in your input files. This procedure is called within thediffPreProcess procedure (see Implant to diffusion on page 184).

NOTE BF2 analytic implants do not create fluorine fields.

Flash or laser anneal modelThe flash or laser anneal process becomes necessary for an advanced process that requires diffusion-less,but high activation. The model can simulate the nonhomogeneous thermal distribution which results inbetter accuracy for stress calculation as well as the heat transfer delay to the region in which the devicesform.

The heat transfer equation is as follows:

(190)

where κ, ρ, and CP are the conductivity, density, and specific heat capacity, respectively.

t∂

∂CF3VR1– R2–=

D0

R1 RIclus R2 RV

clus

CF3VCF3V

Fluorine Fluorine Fluorine_Implant–=Int_Implant Int_Implant 1.0 3.0 * Fluorine_Implant⁄+=

F3V F3V Fluorine_Implant 3.0⁄+=

ρCP∂T∂t------ κ T∇( )∇• G+=

137

Page 158: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

NOTE κ and CP depend on temperature.

(191)

where I, α, and d represent the intensity, absorptivity, and depth, respectively. The absorptivity is givenby the user-defined expression. The intensity I can be given by the Gaussian profile as follows:

(192)

(193)

where Pulse is the full-width half-maximum (FWHM) time interval.

The parameter Fluence is the energy dose in J/cm2.

The heat flux at the top and bottom surfaces is given by:

(194)

at top surface (in other words, Gas interface).

G I α αd–( )exp⋅=

I Fluence

2πts

-------------------------t t0–( )2

2ts2

-------------------–⎝ ⎠⎜ ⎟⎛ ⎞

exp=

tsPulse

2 2 2ln-------------------=

Time

Gaussian

PULSE

I

2 2 π⁄ln Fluence Pulse⁄⋅

2 π⁄ln Fluence Pulse⁄⋅

0 3 ts 6 ts

F 5.6703– 10 12–Emissivity T4 T0

4–( )⋅ ⋅ ⋅=

138

Page 159: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

(195)

at substrate bottom if AttachHeatSinker is set to true and no HeatTransferRate is defined.

(196)

at substrate bottom if AttachHeatSinker is set to true and HeatTransferRate is defined.

(197)

at substrate bottom if AttachHeatSinker is set to false.

l is given by:

(198)

xmax is the vertical coordinate of the substrate bottom in the simulated structure. T0 is the environmenttemperature, which is defined by temperature in diffuse command.

The solution name of the local temperature (in kelvin) is HeatTempK. The model is turned on by specifyingthe Boolean parameter laser in a diffusion statement. For example:

diffuse temperature=500 time=1<ms> laser

Control parametersTable 12 lists the control parameters:

Table 12 Control parameters

Parameter Description

Heat AbsorberMaterial <material name> Defines the material to be used for the top layer that absorbs the heat source. If DepositHeatAbsorber is set to 1 (default), the absorber is deposited automatically and planarized before starting the simulation. For the specific purpose of heat absorbing material, the new material HeatAbsorber has been added to the material list:

pdbSetString Heat AbsorberMaterial HeatAbsorber

Heat DepositHeatAbsorber <0 or 1> Specifies that the material which is defined by AbsorberMaterial is automatically deposited planarized. The thickness is defined with the AbsorberThickness parameter:

pdbSetBoolean Heat DepositHeatAbsorber 1

F κl---⎝ ⎠

⎛ ⎞– T T0–( )=

F HeatTransferRate– T T0–( )=

F 0.0=

l WaferThickness xmax–=

139

Page 160: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

Heat AbsorberThickness <thickness in um>

Defines the thickness of the absorber layer to be deposited. It is applicable only when DepositHeatAbsorber is set to 1:

pdbSetDouble Heat AbsorberThickness 1.0

Heat MaxGridSp <maximum grid space in um for Absorber>

Defines the maximum vertical grid space in micrometers for the absorber layer, which is the grid space at the center region. Only applicable when DepositHeatAbsorber is set to 1:

pdbSetDouble Heat MaxGridSp 0.1

Heat MinGridSp <minimum grid space in um for Absorber>

Defines the minimum grid space in micrometers for the absorber layer, which is the grid space near the interfaces. Only applicable when DepositHeatAbsorber is set to 1:

pdbSetDouble Heat MinGridSp 0.02

Heat AttachHeatSinker <0 or 1> Specifies that the heat sinker is to be automatically attached to the bottom of the simulation structure. It enables users to define the heat emission flux to the heat sinker by the HeatSinkerTransfer parameter of the bulk material. Without the heat sinker, the reflect boundary condition is applied at the bottom:

pdbSetBoolean Heat AttachHeatSinker 1

Heat BulkMaterial <material name> Indicates that the global temperature for solving diffusion equations is to be calculated by averaging the local temperatures at interfaces of the specified material:

pdbSetString Heat BulkMaterial Silicon

Heat ExtendBottom <0 or 1> Specifies that the bottom of the simulation structure is to be extended to the WaferThickness thickness (default):

pdbSetBoolean Heat ExtendBottom 1

Heat WaferThickness <thickness in um> Defines the wafer thickness in micrometers to which the simulation structure is to be extended if ExtendBottom is set to 1:

pdbSetDouble Heat WaferThickness 700.0

Heat Fluence <energy dose in J/cm2> Specifies the energy density of the heat source:

pdbSetDouble Heat Fluence 15.0

Heat Pulse <time in msec> Defines Full Width at Half Maximum (FWHM) time for Gaussian intensity profile with respect to time:

pdbSetDouble Heat Pulse 0.3

Table 12 Control parameters

Parameter Description

140

Page 161: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

Heat parameters for materialsTable 13 lists the heat parameters for materials:

Heat TimeSampleSize <sample size> Specifies the number of time steps during sourcing the heat energy:

pdbSetDouble Heat TimeSampleSize 2

The maximum time step dt is given by:

Heat ApplySameAbsorptivity < 0 or 1 > Specifies whether the absorptivities of all materials are assumed to be the same as that of HeatAbsorber material.

Heat MaxTimeStep <time in seconds> Defines the maximum time step for solving the heat equation:

pdbSetDouble Heat MaxTimeStep 600.0

Table 13 Heat parameters for materials

Parameter Description

MassDensity Mass density in g/cm3.

Absorptivity Absorption coefficient string in cm–1.pdbSetString Silicon Absorptivity \ "0.5*1.9e-5*(HeatTempK^1.5)+900.0"

Emissivity Emission coefficient string in unitless.

SpecificHeatCapacity Specific heat capacity string in J/(kg K).pdbSetString Silicon SpecificHeatCapacity \ "(0.5743*log(HeatTempK)-1.8019)/2.33e-3"

ThermalConductivity Thermal conductivity in W/(cm K).pdbSetString Silicon ThermalConductivity \ "5125.0*exp(-1.3953*log(HeatTempK))"

HeatSinkTransfer Heat transfer rate coefficient in W/(cm2 K).Defines the heat transfer rate to the heat sinker. Only applicable when AttachHeatSinker is set to 1. If HeatSinkTransfer is not defined, but AttachHeatSinker is set to 1, then the thermal resistance is introduced.

Table 12 Control parameters

Parameter Description

dt 3 Pulse ⋅TimeSampleSize 2 2ln⋅----------------------------------------------------------------------- (ms)=

141

Page 162: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

NotesThe heat source is given by standard Gaussian profile which characterized with Pulse and Fluenceparameters.

It takes three times the standard deviation time to reach the peak intensity, which means 3 sigma ruleis applied. After six times, the standard deviation time, the heat source is turned off.

By default, it is assumed that all heat is absorbed only in the AbsorberMaterial and heat is transferredto other materials. Setting ApplySameAbsorptivity to 1 specifies that the absorptivities of all materialsare assumed to be the same as that of the absorber material.

It is assumed that the whole surface of the simulation structure is heated.

The reflect boundary condition is applied on the left and right side.

The parameters associated with viscosity in mechanics are calculated with the local temperature,while the global temperature, which is calculated by averaging the local temperature distribution, isused for solving the diffusion equations.

The global temperature is calculated by:

(199)

for the nodes of BulkMaterial material along material interfaces.

Diffusion in polysiliconPolysilicon has a microstructure composed of small monocrystalline grains of different crystallineorientation. The grains are separated by 2D surfaces – the grain boundaries.

Sentaurus Process uses a two-stream model to simulate polycrystalline or granular materials. Granulardiffusion can be switched on with:

pdbSet PolySilicon Arsenic DiffModel Granular

The dopant concentration for species is split into a fraction of dopants in the grain and a fraction ofdopants in the grain boundary, that is:

(200)

Here, denotes the total concentration inside the grain per grain volume and denotes theconcentration inside the grain boundaries per grain boundary volume. Both quantities are defined in theentire polysilicon region representing average concentrations.

Tglobal

Ti

i 1=

n

∑⎝ ⎠⎜ ⎟⎜ ⎟⎛ ⎞

n--------------------=

A

CA fg cAg fgb cA

gb⋅+⋅=

cAg cA

gb

142

Page 163: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

The ratio of grain volume to the polysilicon volume is known as the volume share. The volume share ofthe grain regions depends on the shape and size of the grain. The volume share of the grain boundaryis defined as:

(201)

The grain volume share and grain boundary share are defined by the terms GVolShare and GbVolShare,respectively.

The concentration of the grain boundary is assumed to be electrically inactive. The grain density isidentified with the active portion of the total concentration . The active concentration is stored in thedataset <dopant>Active. The grain boundary concentration is stored in the dataset<dopant>Gbc and is initialized with the portion of the total dopant concentration in the grain boundary

. In the absence of clusters, the total dopant concentration is given as:

(202)

Grain shape and the grain growth equationThe microscopic shape and size of the grains is not described in the model. Instead the size, orientation,and type of a prototype grain is used to compute all parameters that depend on the grain size.

The growth model can be turned on by:

pdbSet PolySilicon Dopant DiffModel Granular

In Sentaurus Process, a columnar grain structure is assumed by default. The grains are assumed to becolumns that are oriented along the vertical axis, extending through the entire polycrystalline layer.

Figure 28 Columnar (left) and cubic (right) grains: L is the grain size, δ is the grain boundary thickness, and d is the layer thickness

The grain size defines the average edge length of the square cross section of the columns. The grainsize is stored in the dataset GSize. The volume share of the grain region is given as:

(203)

fg

fgb 1 fg–=

CA+

CAgb fgb cA

gb⋅=

fgb CA⋅

CA fg CA+ CA

gb+⋅=

L L

δ δ

d

L

fgL

L δ+------------⎝ ⎠

⎛ ⎞ 2=

143

Page 164: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

For cubic grains, the volume share is:

(204)

The grain shape and the initial values for the grain size (cm) and grain boundary thickness (cm) canbe set in the parameter database, that is:

pdbSet PolySilicon GrainShape <model>pdbSet PolySilicon GrainSize 5.0e-6pdbSet PolySilicon GrainBoundaryThickness 5.0e-8

where <model> is either Columnar or Cubic. It is assumed that the layer thickness is a constant value set as:

pdbSet PolySilicon LayerThickness 1.0e-6

The grains grow during thermal processes. During the grain growth, the volume share of the grainsincreases and the volume share of the grain boundary decreases. The grain growth is modeled by:

(205)

where denotes the ratio between the grain boundary volume inside the polycrystalline layer and thegrain boundary volume at the material interfaces of the polycrystalline layer bounding other materials.The grain size, , is represented with the solution name GSize and can be monitored like other solutionfields.

The grain growth parameters can be specified in the parameter database in the material entry. Thefollowing names are used: Tau, Lambda, and A0. The parameter is twice the lattice spacing ofsilicon. The Arrhenius values for the various contributions to the silicon self-diffusivity can bespecified with the parameter Dself.

For columnar grains:

(206)

(207)

For cubic grains, this is:

(208)

fgL

L δ+------------⎝ ⎠

⎛ ⎞ 3=

L δ

d

tddLL

τ2a0b02Dλ

kT-------------------------= 1

1 1ar-----+

-------------- 1cgb∑

CSi---------------–

⎝ ⎠⎜ ⎟⎛ ⎞

⋅ ⋅

ar

L

τ λ a0 b0D

ar2L δ+( )d

2 L δ+( )2------------------------=

tddLL 1 2 L δ+( )2

2L δ+( )d------------------------+⎝ ⎠

⎛ ⎞ τ2a0b02Dλ

kT------------------------- 1

cgb∑CSi

---------------–⎝ ⎠⎜ ⎟⎛ ⎞

⋅=

ar3L2 3Lδ δ2+ +( )d

2 L δ+( )3--------------------------------------------- 1

2---–=

144

Page 165: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

(209)

The grain shape switches from Columnar to Cubic when the grain size reaches the layer thickness andthe grain shape is set to Columnar, that is:

pdbSet PolySilicon GrainShape Columnar

This is the default. No switching is performed if the grain shape is set to Cubic. The grain growth equationis solved with the dopant diffusion equations.

Note that the GSize and the dopant distribution in the grain boundary <dopant>Gbc are not automaticallyreset at the beginning of a new diffusion step. The pdb switch GbcNew can be used to reset the grain sizedataset GSize to the current value of GrainSize, that is:

pdbSet PolySilicon GrainSize 1e-6

pdbSet PolySilicon GbcNew 1

will reset the grain size in polysilicon to 10 nm. It also resets the <dopant>Gbc dataset to the valuecalculated using the grain size and the grain-boundary volume share.

The GSize and the initial <dopant>Gbc distribution in a newly deposited layer can be specified in the fieldsand in the values list in the deposit command, that is:

deposit PolySilicon type=isotropic rate=1.0 time=0.1 fields= {GSize Arsenic} values= {4e-6 1e19}

This will initialize the GSize to 40 nm and the arsenic concentration to a constant value of 1019 cm–3. TheArsenicGbc solution will be created and the value of the corresponding dataset will be set automatically.

Polycrystalline diffusion equationsThe diffusion in polycrystalline materials is modeled with two separate diffusion fluxes for the diffusionof inside the grains and the diffusion of along the grain boundaries. The diffusion inside thegrain regions is modeled as for crystalline silicon with the ChargedFermi diffusion model. The diffusionfluxes are scaled with the ratio of the grain boundary volume to the polysilicon volume, that is:

(210)

(211)

For details on the ChargedFermi model parameters, see ChargedFermi diffusion model on page 131. Thediffusivity is taken from the parameter database entry for the grain material. The grain material(silicon, in the case of polysilicon) is set using:

pdbSet PolySilicon GrainMaterial Silicon

tddLLd 3L2 3Lδ δ2+ +( ) L δ+( )3+

d 3L2 3Lδ δ2+ +( ) L δ+( )3–------------------------------------------------------------------------

τ2a0b02Dλ

kT------------------------- 1

cgb∑CSi

---------------–⎝ ⎠⎜ ⎟⎛ ⎞

⋅=

L d

CA+ cA

gb

JA f– g DAXc

nni----⎝ ⎠

⎛ ⎞ c– z–CA

+ nni----⎝ ⎠

⎛ ⎞ z

⎝ ⎠⎛ ⎞∇

X c,∑=

t∂∂CA JA∇•– R–=

DAXc

145

Page 166: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

For the fluxes along the grain boundaries, the gradient of the concentration in the grain boundary ismultiplied by a constant diffusivity and the grain boundary volume share :

(212)

(213)

The grain boundary diffusivity can be set in the parameter database using:

pdbSet PolySilicon Arsenic Dgb {[Arrhenius 1100.0 3.53]}

In polycrystalline materials, a segregation reaction is assumed to occur at the surface of the grains. Thereaction describes the exchange of dopants between grain and grain boundary regions. The reaction term

is given as:

(214)

The segregation term depends on the transport coefficient , multiplied by the grain surface area perunit volume of polysilicon .

The transport coefficient can be specified in the parameter database using:

pdbSet PolySilicon Arsenic Ksgb {[Arrhenius 2.75 -0.44]}

The dopant segregation coefficient for the segregation between the grain and grain boundary can bespecified by using:

pdbSet PolySilicon Arsenic Sgb {[Arrhenius 1.630e4 3.586]}

The grain surface area per unit volume depends on the grain structure. For columnar grainstructures, this is:

(215)

and, for cubic grains, this is:

(216)

fgb

t∂∂CA

gb

JAgb∇•– R+=

JAgb f– gbDA

gb 1cA

gb

CSi--------–

⎝ ⎠⎜ ⎟⎛ ⎞

cAgb( )∇=

DAgb

R

R a L( ) K CA+ 1

cAgb

CSi--------–

⎝ ⎠⎜ ⎟⎛ ⎞

⋅cA

gb

sg------- 1

CA+

CSi--------–

⎝ ⎠⎜ ⎟⎛ ⎞

⋅–⋅ ⋅=

Ka L( )

K

sg

a L( )

a L( ) 4 L⋅

L δ+( )2--------------------=

a L( ) 6 L2⋅

L δ+( )3--------------------=

146

Page 167: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

Boundary conditions

Boundary conditions for grain growth equation

Several boundary conditions to control the grain size (GSize) in the grain growth equation are available.The reflective (HomNeumann) boundary condition assumes that the interface value grows like the bulkvalue.The minimum value (MinimumSize) boundary condition sets the interface value at the minimumvalue for GSize. The minimum value is set with:

pdbSet <material> GSize minConc {<n>}

The initial size (InitialSize) boundary condition fixes the interface value at the initial value of GSize.

The boundary conditions can be switched on using:

pdbSet Oxide_PolySilicon <dopant> BoundaryCondition [{HomNeumann MinimumSize InitialSize}]

The default setting for the grain growth boundary condition is HomNeumann.

Dopant diffusion boundary conditions

There are three additional segregation-type boundary conditions available with the polycrystallinediffusion model. The first can be selected with:

pdbSet Oxide_PolySilicon Arsenic BoundaryCondition GrainBoundarySegregation

The total dopant fluxes at the interfaces between the grain boundary and the neighboring layer arebalanced. The fluxes are given by:

(217)

where is the concentration of dopant on the other side of the interface, is the grain boundaryconcentration, is the transfer rate, and is the segregation rate of dopant in thegrain boundary. These parameters can be set with the commands:

pdbSet <material> <dopant> Transfer {<n>}pdbSet <material> <dopant> SegregationGb {<n>}

The coefficient is the grain–grain boundary segregation coefficient.

The second boundary condition can be selected with:

pdbSet Oxide_PolySilicon Arsenic BoundaryCondition GrainGrainBoundarySegregation

j n• kTransfer CAother CA

gb

fgbsgkgbSegregation

----------------------------------------------–⎝ ⎠⎜ ⎟⎜ ⎟⎛ ⎞

=

CAother CA

gb

kTransfer kgbSegregation A

sg

147

Page 168: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

The total dopant fluxes at the interfaces between the grain and the neighboring layer and the grainboundary and neighboring layer are balanced. The fluxes are given by:

(218)

(219)

and:

(220)

where is the active concentration of dopant in the grain and is the segregation rate ofdopant in the grain. This parameter can be set with the command:

pdbSet <material> <dopant> Segregation {<n>}

The third boundary condition can be selected with:

pdbSet Oxide_PolySilicon Arsenic BoundaryCondition BulkGrainBoundarySegregation

The total dopant fluxes at the interfaces between the grain and the neighboring layer and between thegrain and the grain boundary are balanced. The fluxes are given by:

(221)

(222)

Dopant diffusion in SiGeThe presence of germanium in silicon affects the dopant diffusion in various ways. First, the band gapof silicon is lowered in the presence of germanium. Second, germanium affects the point-defectequilibrium concentration. In addition, germanium can pair with boron forming an immobile butelectrically active species.

jg n• kTransfer CAother fgCA

+

kSegregation-----------------------------–

⎝ ⎠⎜ ⎟⎛ ⎞

=

jgb n• kTransfer CAother CA

gb

sgkgbSegregation

---------------------------------------–⎝ ⎠⎜ ⎟⎛ ⎞

=

j n• jg n• jgb n•+=

CA+ kSegregation

A

j n• kTransfer CAother fgCA

+

kSegregation-----------------------------–

⎝ ⎠⎜ ⎟⎛ ⎞

=

jgb n• kTransfer

fgCA+

kSegregation-----------------------------

CAgb

fgbsgkgbSegregation

----------------------------------------------–⎝ ⎠⎜ ⎟⎜ ⎟⎛ ⎞

=

148

Page 169: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

Bandgap effectThe effect of the bandgap narrowing on the dopant diffusion arises from the change in the intrinsiccarrier concentration . This has been implemented in Sentaurus Process as follows:

(223)

where is bandgap narrowing due to germanium content. It can be defined using the command:

pdbSet <material> Germanium delEg {<n>}

Currently, delEg ( ) is a function of germanium concentration and is given by:

(224)

(225)

(226)

(227)

where [26] is the bandgap narrowing in strained silicon, [27] is the bandgap narrowing inthe relaxed silicon, is a pseudomorphic factor that shows the degree of the relaxation, and is thegermanium fraction in silicon. is calculated with respect to lattice mismatch in the substrate. Forexample:

(228)

where is the lattice-spacing of the silicon–germanium region, is the lattice-spacing of silicon,and is the lattice-spacing calculated in the mechanics. If the system is fully relaxed, is zero. If itis fully strained, is one. will be used if the germanium percentage is greater than 0.1% andthe bandgap narrowing effects due to other strain sources will be ignored.(see Pressure-dependentdiffusion on page 151).

Effects on point-defect equilibrium concentrationsThe introduction of germanium acts thermodynamically on the equilibrium of the silicon matrix.Compressive strain increases the equilibrium concentration of vacancies and decreases the equilibriumconcentration of interstitials, and the tensile strain has the opposite effect on the point-defect equilibriumconcentrations [28][29].

ni Si( )

ni ni Si( )eEgΔ–

2kT--------------

=

EgΔ

EgΔ

EgΔ EgsΔ EgrΔ EgsΔ–( ) 1 Fpm–( )+≡

EgsΔ 0.835x2 1.01x–=

EgrΔ 0.33x2 0.55x–=

xCGe

5.0 22×10---------------------=

EgsΔ EgrΔFpm x

Fpm

FpmaSiGe a–( )

aSiGe aSi–---------------------------=

aSiGe aSia Fpm

Fpm EgΔ

149

Page 170: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

These effects are modeled in Sentaurus Process by modifying the equilibrium point-defectconcentrations:

(229)

(230)

where is the equilibrium concentration of point defects (interstitial or vacancy) and is theactivation volume change of equilibrium point defects due to the pressure .

The following set of commands can be used to modify :

pdbSet Silicon Interstitial Volume 8.59e-24pdbSet Silicon Vacancy Volume -5.52e-24

To switch on strain effects on point defects, set the following switches:

pdbSet Silicon Interstitial CStarMod FermiPressureDependentpdbSet Silicon Vacancy CStarMod FermiPressureDependent

is the total activation volume change of equilibrium point defects due to the presence ofgermanium and is calculated from the activation volume change , the lattice mismatchcoefficient , and the germanium fraction in the structure (see Eq. 230). These quantities can bemodified using the following commands:

pdbSet Silicon Germanium Interstitial delVol 11.8pdbSet Silicon Germanium Vacancy delVol 25.6pdbSet Silicon Germanium LatticeMismatch 0.0425

NOTE delVol is given in units of eV and Volume is given in units of cm3.

Germanium–boron pairingGermanium can pair with boron and the pairs are known to be electrically active [30] but not mobile:

(231)

In Sentaurus Process, this reaction is modeled with the following differential equation:

(232)

where is the concentration of germanium–boron pairs, is the concentration of germanium, is the concentration of boron, and and are the forward reaction rate and equilibrium constant,

respectively.

CX* CX

* Si P 0≡,( )e

VXP VGeXΔ+Δ( )–kT

--------------------------------------------=

VGeXΔ VolGeX aΔ SiGeCGe

5 22×10-----------------Δ=

CX* VXΔ

P

VXΔ

VGeXΔVolGeXΔ

aΔ SiGe

Ge B GeB↔+

t∂∂CGeB Kf CGeCB KbCGeB–( )=

CGeB CGeCB Kf Kb

150

Page 171: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

You can specify the model parameters with the commands:

pdbSet Silicon Germanium Boron Kf {<n>}pdbSet Silicon Germanium Boron Kb {<n>}

Germanium diffusion is modeled by assuming a constant diffusion model:

(233)

where is the diffusivity of germanium and can be set using the command:

pdbSet Silicon Germanium Dstar {<n>}

Of course, if boron is present in silicon, the reaction in Eq. 232 is automatically added to Eq. 233.

Initializing germanium–boron clusters

Initially, germanium–boron cluster concentrations are set to zero. If there is an existing clusterconcentration field, the field is used. Users can initialize the cluster concentration field using the selectcommand in the input command file.

Pressure-dependent diffusionEq. 133 shows that depends on the Fermi level. However, users can select one of three models(Constant, FermiLevelDependent, FermiPressureDependent) using the command:

pdbSet <material> <defect> CStarMod <model>

where defect is interstitial or vacancy, and model is one of the three available models.

The Constant model simply sets to , the FermiLevelDependent model is given in Eq. 133,and the FermiPressureDependent model includes both Fermi effects and pressure-field effects.

The pressure effects are modeled in Sentaurus Process by modifying the equilibrium point-defectconcentrations:

(234)

where is the total equilibrium concentration of point defect (interstitial or vacancy). is theactivation volume change of equilibrium point defects due to the pressure and is given by:

(235)

t∂∂CGe D CGe∇( )∇•=

D

CX*

CX* CX intrinsic( )

*

CX* CX

* Si P 0≡,( )e

VXPΔ( )kT

-------------------–=

CX* X VXΔ

P

VIΔ ε4πro3=

151

Page 172: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

(236)

where is the dilatation, is the measure of the sphericity of the interstitial, is the radius of thevacancy, is the Poisson ratio of silicon, is the surface tension of the vacancy, and is the shearmodulus of silicon. The following set of commands can be used to modify :

pdbSet Silicon Interstitial Volume 8.59e-24pdbSet Silicon Vacancy Volume -5.52e-24

The unit of Volume is cm3.

Electron concentrationTo calculate the electron concentration or, alternatively, the electron potential, Sentaurus Process solveseither the Poisson equation or charge balance equation. By default, the ChargedReact, ChargedPair, andChargedEquilibrium models all solve the charge balance equation. The uncharged models do not requirea separate equation because the electron concentration can be computed directly from the net doping.

The Poisson equation is given by:

(237)

where ε is the permittivity, ψ is the potential, and are the electron and hole concentrations, and is the net charge.

The charge balance equation is:

(238)

In Eq. 237 and Eq. 238, the needs to be calculated. The net charge is given by:

(239)

where is the charge state of the defect , interstitial, or vacancy, and is the concentration of thedefect in the charge state , is the charge state of dopant , and is the dopant and defect

pair. It is possible to exclude or include the charged dopant–defect pairs or charged defects in Eq. 239,for example:

pdbSet Si Dopant ChargeModel DopantOnlypdbSet Si Dopant ChargeModel DopantDefect

The first command, which is the default behavior for dopants, includes only the charged dopants insilicon in Eq. 239. The second command includes the charged dopants as well as the charged dopant–defect pairs in Eq. 239.

VVΔ -2πrs23 1 η–( )

1 η+-----------------Γ

μ---=

ε ro rsη Γ μ

VXΔ

ε ψ∇( )∇• q p n– NΔ+( )–=

n p ΔN

n– p NΔ+ + 0=

ΔN

NΔ zjCAj

+

j∑ cC

Xc

c∑ zj c+( )CAjX

c zj+( )

X c j, ,∑+ +=

c X CXc

X c zj Aj AjX AjX

152

Page 173: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

In a similar way:

pdbSet Si Defect ChargeModel NonepdbSet Si Defect ChargeModel Defect

The first command, which is the default behavior for defects, excludes the charged defects in silicon inEq. 239 and the second command includes them.

NOTE The diffusion models Constant, Fermi, Pair, and React always exclude the charged dopant–defect pairs.

The Poisson equation is switched on or off with the command:

pdbSet Si Potential Poisson 1 | 0

If it is switched off, the charged defects and charged dopant–defect pairs are not included in Eq. 239,and Eq. 240 is used to calculate the potential:

(240)

where is and is the intrinsic concentration of electrons and can be set using the command:

pdbSet <material> Potential ni {<n>}

Bandgap narrowingIf bandgap narrowing effects need to be taken into account, Sentaurus Process uses the effective intrinsicelectron density, , instead of . is given by:

(241)

where is the reduction in the bandgap energy of silicon and is defined as:

(242)

where is the user-defined bandgap narrowing and can be set using the command:

pdbSet <material> Potential delEg {<n>}

is the bandgap narrowing due to strain in the structure. To switch on this effect, the intrinsicelectron density model (niMod) must be set to StrainDependent. The model can be selected using thecommand:

pdbSet <material> Potential niMod <model>

ψ 1Vti------ 1

2ni------- NΔ NΔ 2 4ni

2++( )⎝ ⎠⎛ ⎞log=

Vti 1 kT⁄ ni

nie ni nie

nie nieEgΔ

2kT----------–

=

ΔEg

EgΔ EguΔ EgsΔ+=

EguΔ

EgsΔ

153

Page 174: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

niMod can have either the value Constant or StrainDependent. The Constant model will ignore . If theStrainDependent model is selected, will be calculated [31] using:

(243)

(244)

where is the strain in the respected direction, and are the dilatational deformation potentialsfor the conduction and valence band valleys, respectively. They can be set using the commands:

pdbSet Silicon Potential Ec Dilatational { 1 -8.6 2 -8.6 3 -8.6}pdbSet Silicon Potential Ev Dilatational { 1 -2.1 2 -2.1}

and are the deviatoric deformation potential of conduction and valence bandvalleys. They can be set using the commands:

pdbSet Si Potential Ec Deviatoric(1) { 1 9.5 2 0.0 3 0.0}pdbSet Si Potential Ec Deviatoric(2) { 1 0.0 2 9.5 3 0.0}pdbSet Si Potential Ec Deviatoric(3) { 1 0.0 2 0.0 3 9.5}pdbSet Si Potential Ev Deviatoric(1) { 1 0.5 2 4.0}pdbSet Si Potential Ev Deviatoric(2) { 1 0.5 2 4.0}

Sentaurus Process uses the averaged values of conduction and valence bands energies, :

(245)

EgsΔEgsΔ

EciΔ Dci εxx εyy εzz+ +( ) Dcxiεxx Dcyiεyy Dcziεzz+ + +=

EviΔ Dvi εxx εyy εzz+ +( ) 0.5Dvbi εxx εyy–( )2 εyy εzz–( )2 εzz εxx–( )2+ +( )±=

+Dvdi εxy2 εxz

2 εyz2+ +( )

ε Dci Dvi,

Dcxi Dcyi Dczi, , Dvbi Dvdi,

Eci, EviΔΔ

EcΔ kT 13--- e

EciΔkT

------------–

i 1=

3

∑⎝ ⎠⎜ ⎟⎜ ⎟⎛ ⎞

log–=

154

Page 175: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

(246)

The bandgap narrowing becomes:

(247)

NOTE is ignored where (see Dopant diffusion in SiGe on page 148).

EpitaxyThe epitaxial growth of silicon layers on the single-crystalline silicon surface can be simulated using theepi parameter of the diffuse command. The epitaxy velocity field is calculated as in the case of simpleisotropic deposition. The thickness of the epitaxial layer is defined by the thick parameter of the diffusecommand.

An unlimited number of species can be incorporated into the epitaxial layer. The corresponding namesand concentrations are defined by the epi_dopants and epi_conc parameters of the diffuse command. Ifnecessary, the system of equations is solved to find the initial variable values in the epitaxial layer. Thecorresponding equations can be defined by the command:

pdbSetString <material> <dopant> EpiEquationProc < procedure>

For example, the point-defect equilibrium concentration used as the initial value in the epitaxial layer isdependent on the potential value. For some models, the potential is dependent on point-defectconcentrations as well. Therefore, the system of three equations must be solved to find the initialpotential, and vacancy and interstitial concentration values in the epitaxial layer.

The same set of equations as for the single-crystalline silicon is solved for the epitaxial silicon duringthe diffusion step simulation. The EpiTransfer boundary condition is applied to all the mobile species atthe interface between the epitaxial layer and single-crystalline silicon to take into account the variablejump.

Two different methods can be selected to simulate the epitaxial growth. The epimodel parameter of thediffuse command is used to switch between them. If epimodel=0 (default), a moving boundary algorithmsimilar to the oxidation one is applied. If epimodel=1, alternating doped deposition and inert annealingsteps are used.

The episteps parameter of the diffuse command controls the accuracy of the simulation. For the firstmethod, it defines how many times the velocity field is recalculated. For the second method, episteps isequal to the number of deposition and annealing steps. The grid quality during the epitaxial growthsimulation can be controlled in the same way as for oxidation, deposition, and etching.

EvΔ kT 12--- e

EviΔkT

------------

i 1=

2

∑⎝ ⎠⎜ ⎟⎜ ⎟⎛ ⎞

log=

EgsΔ EcΔ EvΔ–=

EgsΔ Germanium5e22

------------------------------- 0.1%>

155

Page 176: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

Modifying dopant diffusivities

Diffusion prefactorsDopant diffusivities can be enhanced or retarded due to various new process conditions. If a new modeldoes not exist to simulate the observed behavior, users may want to multiply the existing diffusivity witha prefactor. Sentaurus Process allows diffusivities to be multiplied by user-defined factors. For example,in the case of specified boron, this is given by:

term name=BoronDiffFactor add Silicon eqn = "exp(0.042 * $Vti * 125 * Germanium / 5e22)"

The effective diffusivity of boron (DB = DBI + DBV) will be multiplied by BoronDiffFactor. (SeeChapter 6 on page 305 for the definition of terms.) Sentaurus Process also allows each dopant–defectdiffusivities to be multiplied by a different user-defined factor:

term name=BoronIntDiffFactor add Silicon eqn = "exp(0.042 * $Vti * 125 * Germanium / 5e22)"term name=BoronVacDiffFactor add Silicon eqn = "exp(0.042 * $Vti * 25 * Germanium / 5e22)”

In this example, diffusivity of boron–interstitial pairs (DBI) and the diffusivity of boron–vacancy pairs(DBV) will be multiplied by BoronIntDiffFactor and BoronVacDiffFactor, respectively.

To allow Sentaurus Process to use these terms, users must specify a term with the name<dopant>DiffFactor or <dopant><defect>DiffFactor.

High-concentration effects on dopant diffusionTo model experimentally observed sharp increases in arsenic diffusion in silicon at high dopantconcentrations, diffusivity coefficients must be modified. Dunham and Wu [32] proposed thatinteractions of vacancies with more than one dopant result in the enhancement of dopant–vacancy pairdiffusivity by a factor:

(248)

where is the active concentration of arsenic, and cm–3 and for arsenic. Thecorrection factor can be applied to all dopant–defect pairs as long as the parameters are supplied. Themodel can be switched on with the command:

pdbSet <material> <dopant> <defect> HighConcDiffEffect 1

The default of the model is off (0). The model parameters are set using the command:

pdbSet <material> <dopant> <defect> Cref {<n>}pdbSet <material> <dopant> <defect> Cpow {<n>}

F 1CAsCref----------⎝ ⎠

⎛ ⎞Cpow

+=

CAs Cref 2 20×10∼ Cpow 4∼

156

Page 177: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

For example:

pdbSet Silicon Arsenic Vacancy Cref 1.6e20pdbSet Silicon Arsenic Vacancy Cpow 4.0

Dopant activation and clusteringIt is possible to select a different clustering or activation model for each dopant in different materialswith the command:

pdbSet <material> <dopant> ActiveModel <model>

where <dopant> is a valid dopant name and <model> is one of the valid active models (None, Solid,Transient, Cluster, BIC, or Equilibrium). BIC is valid only for boron.

Dopant active model: NoneIf ActiveModel is set to None, all dopants are assumed to be active. No solid solubility or dopant clusteringeffects will be taken into account for dopant activation.

Dopant active model: SolidIf ActiveModel is set to Solid, a simple solid solubility for the dopant activation is considered:

(249)

where is the solid solubility of the dopant that can be set with:

pdbSet <material> <dopant> Solubility {<n>}

Dopant active model: TransientIf ActiveModel is set to Transient, a transient dopant-cluster model is used. The transient dopant cluster ismore complicated than the simple, solid solubility model. The following set of equations is solved alongwith the appropriate diffusion model equations:

(250)

where is the forward-clustering reaction rate, is the de-clustering rate, is the concentration ofclusters, is the number of substitutional dopants, is the number of electrons participating in the

CA+ CA

ssCA

CAss CA+( )

--------------------------=

CASS A

t∂∂CAC kf

nni----⎝ ⎠

⎛ ⎞kc 1

1 18×10-----------------⎝ ⎠

⎛ ⎞kc 1– lc+

nikc CA

+( )lc

kb nss( )zlcni

zlc–CAC

nni----⎝ ⎠

⎛ ⎞zlc–

–⎝ ⎠⎛ ⎞=

kf kb CAClc kc

157

Page 178: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

reaction, is the electron concentration, is the intrinsic electron concentration, and is the electronconcentration assuming that the dopant reached the limits of solid solubility. These quantities can beset using the commands:

pdbSet <material> <dopant> Kc {<n>}pdbSet <material> <dopant> Lc {<n>}pdbSet <material> <dopant> KcEqu {<n>}pdbSet <material> <dopant> CluRate {<n>}

where KcEqu and CluRate correspond to and . Initialization of transient dopant clusters is explainedin Implant to diffusion on page 184. The default value of KcEqu is calculated by using:

(251)

where is the solid solubility of the unpaired dopant and is the solid solubility of totalconcentration of the dopant. can be set directly using the command:

pdbSet Silicon Arsenic KcEqu 1e66

or can be set indirectly using the commands:

pdbSet Silicon Arsenic Solubility 1e20pdbSet Silicon Arsenic TotSolubility 1e21

NOTE A transient dopant cluster should be selected only with the ChargedFermi and ChargedPairmodels to be compatible with Dios.

Dopant active model: ClusterIf ActiveModel is set to Cluster, a dopant–defect cluster model is used. The model is primarilyimplemented to simulate arsenic–vacancy clusters, but if the model parameters are provided, it ispossible to simulate other dopant–defect clusters.

The model assumes that arsenic–vacancy clusters are formed in silicon during arsenic deactivation[33][34]. It is also assumed that neutral clusters ( ) are formed. Different charge states are takeninto account by:

(252)

(253)

(254)

where denotes interstitial charge, and are the electron and hole densities, and and are thedopant and defect sizes, respectively.

n ni nssA

kb kf

KcEqu lcCss

lc

Csstot Css–----------------------------

⎝ ⎠⎜ ⎟⎛ ⎞

=

Css CsstotKcEqu

AsmVk

mAs f AsmVk kI j[ ]+↔+

f m kj–( )e if kj m–( ) 0<,=

f m kj–( )h if kj m–( ) 0≥,=

j e h m k

158

Page 179: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

The following commands can be used to set the reacting defect species, and , respectively:

pdbSet <material> <dopant> ClusterDefects <c>pdbSet <material> <dopant> <defect> ClusterSizes {{<n> <n>}}

for example:

pdbSet Silicon Arsenic ClusterDefects VacpdbSet Silicon Arsenic Vacancy ClusterSizes {{4 1}}

where 4 is the number of arsenic atoms in the cluster and 1 is the number of vacancies in the cluster. Theyform the As4Vacancy clusters.

NOTE Cluster sizes are defined as {i j} where i and j are integer numbers and separated by a space.

The reaction rate for the cluster formation can be written as:

(255)

where is the active arsenic concentration, is the arsenic–vacancy cluster concentration, is the neutral interstitial concentration, is the electron concentration, is the intrinsic electronconcentration, is the forward reaction rate, and is the backward reaction rate. An additionalassumption was made for all :

(256)

Then, the total rate is the sum of over all :

(257)

The forward reaction rate can be set using the command:

pdbSet <material> <dopant> <defect> CluRateChargeStates {<n>}

for example:

pdbSet Silicon Arsenic Vacancy CluRateChargeStates {-2 {[Arrhenius 5.0e-42 7.8]}-1 {[Arrhenius 5.0e-42 7.8]}0 {[Arrhenius 5.0e-42 7.8]}1 {[Arrhenius 5.0e-42 7.8]}2 {[Arrhenius 5.0e-42 7.8]}}

m k

Rj KfjCAsm n

ni----⎝ ⎠

⎛ ⎞ m kj–KrjCAsmVk

CI0

nni----⎝ ⎠

⎛ ⎞ kj–≡

CAs CAsmVkC

I0

n niKfj Krj

j

KrjKfj------- Kequ=

R Rj j

R Kfjnni----⎝ ⎠

⎛ ⎞ kjCAs

m nni----⎝ ⎠

⎛ ⎞ KequCAsmVkC

I0–⎝ ⎠⎛ ⎞

j∑=

Kfj

159

Page 180: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

The equilibrium reaction rate is calculated by:

(258)

where is the electron concentration assuming that arsenic reached the limits of solid solubility and is the equilibrium concentration of interstitials. is given as:

(259)

where is the solid solubility of the unpaired arsenic dopants and is the solid solubility of totalarsenic concentration. Users can either set the solid solubility values or using the commands:

pdbSet Silicon Arsenic Solubility 1e20pdbSet Silicon Arsenic TotSolubility 1e21pdbSet Silicon Arsenic Vac KcEqu 1e66

NOTE See High-concentration effects on dopant diffusion on page 156 for high concentrationeffects and Implant to diffusion on page 184 for smoothing dopant profiles around amorphousto crystalline regions.

Initializing transient or cluster model

If users switch on the transient dopant cluster model or cluster model, initialization of the dopant clustersis performed in the diffPreProcess procedure (see Implant to diffusion on page 184). The initializationof the dopant-cluster concentration depends on the value of the parameters AmInit and AcInit. The initiallevel of active concentration in amorphized and crystalline regions can be specified per dopant as AmInitand AcInit, respectively. Users can specify AmInit and AcInit parameters by using:

pdbSet <material> <dopant> AcInit {<n>}pdbSet <material> <dopant> AmInit {<n>}

If the AcInit parameter is not defined, the solid solubility of the dopant is used to calculate the AcInitparameter. If the dopant concentration is lower than AcInit in crystalline regions, dopants are consideredto be active. If the dopant concentration is higher than AcInit, the number of active dopants is initiallyAcInit and the concentration of clustered dopants is given by Dopant – AcInit. The following outlines theinitilization of dopant clusters.

In crystalline regions:

(260)

Kequ

KcEqunssni-------⎝ ⎠

⎛ ⎞m

CI*( )

k-------------------------------=

nssCI

* KcEqu

KcEqu mCss

m

Csstot Css–----------------------------

⎝ ⎠⎜ ⎟⎛ ⎞

=

Css CsstotKcEqu

Dopant = Dopant + min(AcInit, Dopant_Implant)DopantCluster = DopantCluster + Dopant_Implant - min(AcInit, Dopant_Implant)

160

Page 181: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

In amorphous regions:

(261)

where Dopant is the dopant name (for example, Boron, BCluster, and Boron_Implant). Smoothing can alsobe applied to dopant profiles using the parameter AmorpGamma (see Implant to diffusion on page 184).

Dopant active model: BICActiveModel can be set to BIC for boron. The model is implemented to simulate boron–interstitial clusters(BICs).

The model makes no assumptions regarding the diffusion model to generate the diffusion equation forthe substitutional and the mobile species. However, it should be used with either the Pair or React model.The model does not take charge-state–dependent reaction rates into account.

The following types of clustering reaction are taken into account:

(262)

(263)

(264)

where i, j are the number of boron and interstitial atoms in the cluster , respectively.

The clusters can be specified using the command:

pdbSet Silicon Boron Interstitial ClusterSizes <list>

For example:

pdbSet Silicon Boron Interstitial ClusterSizes {{1 0} {1 1} {1 2} {2 1} {3 1} {3 2}}

will set up the diffusion equations for , , , and .

NOTE Cluster sizes given in the ClusterSizes list are increasing in size.

The reactions are written as:

(265)

Dopant = min(AmInit, Dopant+DopantCluster+Dopant_Implant)DopantCluster = Dopant + DopantCluster + Dopant_Implant min(AmInit, Dopant+DopantCluster+Dopant_Implant)–

BiIj I+ BiIj 1+↔

BiIj V+ BiIj 1–↔

BiIj BI+ Bi 1+ Ij 1+↔

BiIj

BI2 B2I B3I B3I2

RI KfIBiIjCBiIj

CI BIBiIjC

BiIj 1+–( )≡

161

Page 182: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

(266)

(267)

where , , and are the forward reaction rates, and , , and are thebinding coefficients.

To set these parameters, the following commands can be used:

pdbSet <material> Boron Interstitial KfCluster <cluster> {<n>}pdbSet <material> Boron Vacancy KfCluster <cluster> {<n>}pdbSet <material> Boron BoronInt KfCluster <cluster> {<n>}pdbset <material> Boron Interstitial BindCluster <cluster> {<n>}pdbset <material> Boron Vacancy BindCluster <cluster> {<n>}pdbset <material> Boron BoronInt BindCluster <cluster> {<n>}

where <cluster> is a valid cluster name, for example, BI2, B2I, B3I, B3I2.

For example:

pdbSet Silicon Boron BoronInt KfCluster B3I2 {[Arrhenius 1e-10 0.3]}

will set the forward reaction rate of the BoronInt and B3I2 reaction to {[Arrhenius 1e-10 0.3]}.

The differential equations for the clusters are:

(268)

The reactions , , and are added to the appropriate point-defect equations, and substitutionaland mobile boron diffusion equations.

Initializing BIC model

Initially, boron–interstitial cluster concentrations (for example, B3I) are set to zero. If there is an existingcluster concentration field, the field is used. Users can initialize any of the cluster concentrations fieldusing the select command in the input command file.

Dopant active model: EquilibriumIf ActiveModel is set to Equilibrium, solid solubility or dopant clustering is considered. In the clusteringmodel, the active concentration of the dopant, , is obtained by solving:

(269)

RV KfVBiIjCBiIj

CV BVBiIjC

BiIj 1––( )≡

RCI KfBIBiIjCBiIj

CBI BBIBiIjCBi 1+ Ij 1+

–( )≡

KfIBiIjKfVBiIj

KfBIBiIjBIBiIj

BVBiIjBBIBiIj

t∂∂ BiIj R– I R– V RBI–=

RI RV RBI

CA+

CAS CA+ KCTNCA

+( )+KCTN.F

=

162

Page 183: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

where and are clustering parameters and can be set by:

pdbSet <material> <dopant> Kctn {<n>}pdbSet <material> <dopant> Kctn.F {<n>}

is also given by:

(270)

where is the total unpaired dopant concentration and is the solid solubility of the dopant. Solidsolubility of the dopant can be changed using the command:

pdbSet <material> <dopant> Solubility {<n>}

If the clustering parameters and are zero, the active concentration is determined byEq. 270; otherwise, Eq. 269 is solved numerically.

Defect clustersThe available cluster models are None, Equilibrium, 311, Loop, LoopEvolution, FRENDTECH, 1Moment, and2Moment. The model is selected with the command:

pdbSet <material> <defect> ClusterModel <model>

where <defect> is interstitial or vacancy, and <model> is one of the valid model names.

These clusters play an important part in transient-enhanced diffusion (TED) of impurities following ionimplantation. The main effect of the models is to delay the onset of TED at low temperatures and todistribute the diffusion enhancement over a longer period of time. This eliminates the excessivediffusion at low temperatures that is predicted without any clustering.

Defect cluster model: NoneIf ClusterModel is set to None, no point-defect clustering effects will be taken into account.

KCTN KCTN .F

CAS

CAS

CA

CSSCA 1.1CSS–( )2

0.4CSS-------------------------------------–

CSS⎩⎪⎪⎨⎪⎪⎧

=

CA 0.9CSS<

0.9CSS CA CSS≤ ≤

CA 1.1CSS>

CA CSS

KCTN .F KCTN

163

Page 184: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

Defect cluster model: EquilibriumIf users set the model to Equilibrium, the following nonlinear algebraic equation along with the relateddiffusion equations are solved:

(271)

where is the equilibrium constant, is either interstitial or vacancy, 4 is the size of the cluster, and is the concentration of point-defect cluster. can be specified with:

pdbSet <material> <defect> KCluster {<n>}

NOTE The equilibrium cluster model is defined only for interstitials in silicon. It should be used withthe ChargedFermi and ChargedPair diffusion models to be compatible with Dios.

Defect cluster model: 311If users set the defect cluster model to 311, the {311} point-defect model developed by Law et al. [35] isactivated. It solves for the concentration of interstitials in the defects and the concentration ofdefects , as well as for the concentration of interstitials in small interstitial clusters (SMICs). SMICscome in two types. The small type SmicS is assumed to have a cluster size of 2. The larger type Smic isassumed to have a cluster size of = 4, by default. This value is, however, user accessible:

pdbSet <material> C311 NSize {<n>}

Nucleation of defects occurs during the implantation process. Initial distribution of defects comes fromthe implant code (see Implant to diffusion on page 184), in particular, all interstitials created during theimplantation process are assumed to be in immobile SmicS. Vacancies and interstitials recombine or mayform di-interstitials and di-vacancies. Some interstitials will also form small interstitial clusters (SmicS,Smic) or {311} defects. The SMICs dissolve to the surface through the release of interstitials. Thecapture and release of interstitials on the {311} defects occur only at the end of the defects and, therefore,are proportional to the number of defects .

The reactions involved in the {311} model are given by:

(272)

(273)

(274)

(275)

CX0( )4 kbCXC– 0=

kb XCXC kb

C311D311

Nsize

D311

I I I2↔+

V V+ V2↔

RI2form kf CI2 BI2

CI–( )=

RV2form kf CV2 BV2

CV–( )=

164

Page 185: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

where and are di-interstitials and di-vacancies, and is the binding coefficient between the di-defect, for example, , and the base defect, (where X refers to either I or V), and is the forwardreaction rate for the recombination of di-defects.

To change these variables, use the commands:

pdbSet <material> <di-defect> Kforward {<n>}pdbSet <material> <di-defect> Bind {<n>}

(276)

(277)

(278)

(279)

(280)

(281)

where is the equilibrium concentration of the respective defect or di-defect, and is the forwardreaction rate for the respective recombination process.

To change these variables, use the commands:

pdbSet <material> <di-defect> KRecomb {<n>}pdbSet <material> <di-defect> KBiMole {<n>}pdbSet <material> <di-defect> Cstar {<n>}

Aggregation or emission of interstitials from SmicS and Smic are given by:

(282)

(283)

This process increases the concentration of interstitials in SmicS by 1/cm3.

(284)

(285)

I2 V2 BX2I2 I kf

I2 V I↔+

V2 I V↔+

V2 I2 0↔+

RI2rec kf CI2CV CI2

* CV* CI

CI*

------–⎝ ⎠⎜ ⎟⎛ ⎞

=

RV2rec kf CV2CI CV2

* CI*CV

CV*

-------–⎝ ⎠⎜ ⎟⎛ ⎞

=

RI2V2rec kf CI2CV2

CI2

* CV2

*–( )=

CX* kf

SmicS I+ SmicS 1+( )↔

RISmicSagg kfICSmicS CI BISmicS–( )=

Smic I+ Smic 1+( )↔

RISmicagg kfICSmic CI BISmic–( )=

165

Page 186: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

This process increases the concentration of interstitials in Smic by 1/cm3. is the forward reaction ratefor SMIC–interstitial reactions, and and are the binding coefficients between interstitialsand SMICs.

To change these variables, use the commands:

pdbSet <material> SmicS KfI {<n>}pdbSet <material> SmicS Bind {<n>}pdbSet <material> Smic KfI {<n>}pdbSet <material> Smic Bind {<n>}

The recombination of SmicS or Smic with a vacancy or bi-vacancies is given by:

(286)

(287)

This process decreases the concentration of interstitials in SmicS by 1/cm3.

(288)

(289)

This process decreases the concentration of interstitials in Smic by 1/cm3.

(290)

(291)

This process decreases the concentration of interstitials in SmicS by 2/cm3.

(292)

(293)

This process decreases the concentration of interstitials in Smic by 2/cm3. and are the diffusion-limited SMIC–(di-)vacancy capture rates and are defined as:

(294)

(295)

where and are the diffusivities of neutral vacancies and di-vacancies, and is the latticespacing of silicon.

kfIBISmicS BISmic

SmicS V+ SmicS 1–( )↔

RVSmicSrec kfVCVCSmicS=

Smic V+ Smic 1–( )↔

RVSmicrec kfVCVCSmic=

SmicS V2+ SmicS 2–( )↔

RV2SmicSrec kfV2CV2

CSmicS=

Smic V2+ Smic 2–( )↔

RV2Smicrec kfV2CV2

CSmic=

kfV kfV2

kfV 4πaDV0=

kfV 4πaDV2

0=

DV0 D

V20 a

166

Page 187: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

To change these variables, use the commands:

pdbSet <material> Vacancy D 0 {<n>}pdbSet <material> V2 D0 {<n>}pdbSet <material> LatticeSpacing {<n>}

A Smic is assumed to contain interstitials, with a default value of 4. A SmicS contain twointerstitials less than a Smic. A SmicS can be converted to a Smic by combining with a di-interstitial.Formation of a Smic from a SmicS and bi-interstitials is given by:

(296)

(297)

This process increases the concentration of interstitials in Smic by /cm3 and decreases theconcentration of interstitials in SmicS by ( – 2)/cm3. is the forward reaction rate for SMIC–di-interstitial reactions.

To change these variables, use the commands:

pdbSet <material> SmicS KfI2 {<n>}pdbSet <material> C311 NSize {<n>}

When a Smic combines with an additional di-interstitial, they form a {311} defect. Formation of a new{311} defect from a Smic and bi-interstitials is given by:

(298)

(299)

This process increases the concentration of {311} defects by 1/cm3 and the concentration of interstitialsin {311} defects by ( + 2)/cm3, and deceases the number of interstitials in a Smic by /cm3.

is the reaction rate.

To change these variables, use the command:

pdbSet <material> C311 KnI2 {<n>}

The emission of interstitials from {311} defects is given by:

(300)

(301)

This process decreases the concentration of interstitials in {311} defects by 1/cm3, but does not changethe number of {311} defects. The {311} defect simply became shorter. is the concentration ofinterstitials in the {311} defects and is the decay rate.

Nsize

SmicS I2+ Smic→

RSmicform kfI2CSmicSCI2

=

NsizeNsize kfI2

I2 Smic 311→+

R311nIform knI2CSmicCI2

=

Nsize NsizeknI2

C311 C311 1–( ) I+→

RC311Iem CC311DRate=

CC311DRate

167

Page 188: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

To change these variables, use the commands:

pdbSet <material> C311 Decay {<n>}

The dissolution of a defect is given by:

(302)

(303)

This process changes the number of {311} defects, but does not affect the number of interstitials in the{311} defects. The interstitials released in this process immediately aggregate on other {311} defects.

is the concentration of {311} defects and is the defect decay rate.

A set of 14 interstitials can nucleate at the end of a {311} defect. The formation or dissolution of a {311}defect from interstitials is given by:

(304)

(305)

This process increases the concentration of interstitials in {311} defects by 14/cm3; the number ofdefects remains unchanged. is the forward reaction rate, is the capture (reaction) range, and is the binding coefficient between the {311} defect and the interstitial.

To change these variables, use the commands:

pdbSet <material> C311 KfI {<n>}pdbSet <material> C311 BindI {<n>}pdbSet <material> C311 RangeI {<n>}

A set of 14 di-interstitials can nucleate at the end of a {311} defect. The formation of two {311} defectsfrom seven bi-interstitials is given by:

(306)

(307)

This process increases the concentration of interstitials in {311} defects by 28/cm3; the number ofdefects remains unchanged. is the forward reaction rate, is the capture (reaction) range, and

is the binding coefficient between the {311} defect and the interstitial.

To change these variables, use the commands:

pdbSet <material> C311 BindI2 {<n>}pdbSet <material> C311 KfI2 {<n>}pdbSet <material> C311 RangeI2 {<n>}

A {311} defect can dissolve into interstitials or di-interstitials. The probability of this process isproportional to the inverse length of the defect, which can be expressed as the ratio of the concentration

D311 D311 1–→

RD311decay CD311DRate=

CD311DRate

14I 311↔

RC311Iform kfICD31114RI CI BD311I–( )=

kfI RI BD311I

14I2 311↔

RC311I2form CD311kfI2

14RI2CI2

BD311I2–( )=

kfI2RI2

BD311I2

168

Page 189: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

of defects and the concentration of interstitials in defects ( ). Then, the dissolution of {311}defects is given by:

(308)

(309)

This process does not change the number of free interstitials or the number of interstitials in {311}defects. It is assumed that all interstitials were released from the defect aggregate in other {311} defects.

is the spontaneous combustion rate and gives the percentage of interstitials dissolved from {311}defects by dissolution of all defects.

To change these variables, use the command:

pdbSet <material> C311 CombRate {<n>}

The following set of differential equations is solved with the {311} model. The point-defect equationsare:

(310)

(311)

The di-defect equations are:

(312)

(313)

where is the diffusivities of di-defects (where X refers to either I or V).

To change these variables, use the command:

pdbSet <material> <di-defect> D0 {<n>}

The equation for is given by:

(314)

CD311CC311

RD311Iem CD31114CRate

CD311

CC311

------------kfIRIBD311I=

RD311I2em CD31114CRate

CD311

CC311

------------kfI2RI2

BD311I2=

CRate

t∂∂CI JI RIV–∇•– 2RI2form– RI2rec RV2rec– RC311Iform–+=

+RC311Iem RISmicSagg– RISmicagg–

t∂∂CV JV RIV–∇•– 2RV2form– RV2rec RI2rec– RVSmicSrec– RVSmicrec–+=

t∂

∂CI2 DI2CI2

∇( )∇• RI2form RI2rec– RI2V2rec– RSmicform R311nIform RC311I2form–––+=

t∂

∂CV2 DV2CV2

∇( )∇• RV2form RV2rec– RI2V2rec– RV2SmicSrec RV2Smicrec––+=

DX2

SmicS

t∂∂CSmicS RVSmicSrec– 2RV2SmicSrec– RISmicSagg RSmicform–+=

169

Page 190: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

The equation for is given by:

(315)

The equation for the density of {311} defects is given by:

(316)

The equation for the concentration of interstitials in {311} defects is given by:

(317)

The initialization of {311} defect fields is given in Implant to diffusion on page 184.

NOTE Even though the {311} model and the model parameters are given in general format, they aredefined only for silicon. If these models need to be used in other materials, their parametersmust be copied.

Initializing 311 model

The defect-cluster concentrations I2, V2, C311, SmicS, Smic, and D311 are initialized in the diffPreProcessprocedure. The model assumes that all the free implant interstitials (Int_Implant) are transferred to SmicS.Initially, other transient defect-cluster concentrations are set to zero. If there is an existing clusterconcentration field, the field is used. By default, clusters are assumed to break apart in the amorphousregions. Users can specify the percentage of clusters retained in the amorphous region per clustersolution variable using the parameter AmPercent:

pdbSet <mater> <cluster> AmPercent {<n>}

For example:

(318)

(319)

The value of the AmPercent parameter must be between 0 and 1.

Smic

t∂∂CSmic RVSmicrec– 2RV2Smicrec– RISmicagg RSmicformNSize R311nIformNSize+ + +=

t∂

∂CD311 RD311decay– RD311Iem– 2RD311I2em– R311nIform+=

t∂

∂CC311 RC311Iem– RC311Iform 2RC311I2fom Nsize 2+( )R311nIform+ + +=

SmicSSmicS*AmPercentSmicS+Int_Implant ⎩

⎨⎧

=Amorphous regionsCrystalline regions

C311

C311*AmPercent

C311⎩⎨⎧

=Amorphous regionsCrystalline regions

170

Page 191: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

Defect cluster model: LoopIf users set the defect cluster model to Loop, the modified version of the dislocation loop nucleationmodel [36] is used. It solves for the concentration of interstitials in the defects and theconcentration of defects . The model assumes that the dislocation loops come from unfaulted{311} defects. Therefore, the following reaction equations as well as the {311} defect equations (seeDefect cluster model: 311 on page 164) are solved:

(320)

(321)

(322)

where is the unfaulting rate of {311} defects to dislocation loops. is the average radius ofloops, is the diffusivity of neutral interstitials, is the shear modulus (dyne/cm2), is the stackingfault energy (dyne/cm), is the atomic value of silicon ( ), is the Poisson ratio, and is themagnitude of the Burger’s vector. and are fitting parameters for the model. Theseparameters can be set using the following commands:

pdbSet <material> CLoop K311 {<n>}pdbSet <material> CLoop ShearModulus {<n>}pdbSet <material> CLoop StackingFaultEng {<n>}pdbSet <material> CLoop PoissRatio {<n>}pdbSet <material> CLoop BurgersVec {<n>}pdbSet <material> CLoop KCLoop {<n>}pdbSet <material> DLoop KDLoop {<n>}

The model is used to simulate all three phases of dislocation nucleation and evolution: nucleation,Ostwald ripening, and dissolution.

The equilibrium concentration of interstitials at the loop boundaries ( ) increases dramatically asthe loop radius becomes smaller. To avoid convergence problems, is limited by a minimum loopradius ( ) as follows:

(323)

The minimum radius is set with the command:

pdbSet <material> CLoop RLoopMin <n>

CLoopDLoop

t∂∂CLoop K311C311 2π2RLoopDLoopD

I0KCLoop CI CILoop*–( )+=

CILoop* CI

*e

γΩbkT---------⎝ ⎠

⎛ ⎞

eμbΩ

4πRLoopkT 1 υ–( )---------------------------------------------

8RLoopb

-----------------⎝ ⎠⎛ ⎞ln⎝ ⎠

⎛ ⎞

t∂∂DLoop K311D311 KDLoop

DLoop2RLoop-----------------–=

K311 RLoopD

I0 μ γΩ 2 23–×10 υ b

KCLoop KDLoop

CILoop*

CILoop*

RLoopMin

CILoop*

CILoop* RLoopMin( )CILoop

* RLoop( )

CILoop* RLoopMin( ) CILoop

* RLoop( )+----------------------------------------------------------------------------------------=

171

Page 192: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

Initializing loop model

Since the loop model relies on the {311} defect model, first, the {311} defect model is initialized (seeInitializing 311 model on page 170). Then, the loop model fields CLoop and DLoop are initialized. If thereis no preexisting data field, the fields are set to and , respectively. If there is an existingdata field, the existing fields are used. By default, the loops are assumed to break apart in the amorphousregions. The user can specify the percentage of loops retained in the amorphous region per solutionvariable using the parameter AmPercent:

pdbSet <mater> DLoop AmPercent {<n>}pdbSet <mater> CLoop AmPercent {<n>}

For example:

(324)

(325)

The value of the AmPercent parameter must be between 0 and 1.

Defect cluster model: LoopEvolutionIf you set the defect cluster model to LoopEvolution, the TS4 style loop evolution model [37] is used.Therate of absorption of interstitials by dislocation loops is given by:

(326)

(327)

where is the average loop radius, is the loop density is the diffusivity of interstitials, is the fitting parameter, is the shear modulus (dyne/cm2), is the stacking fault energy (dyne/

cm), is the atomic value of silicon ( ), is the Poisson ratio, and is the magnitude of theBurger’s vector. These parameters can be set using the following commands:

pdbSet <material> CLoop ShearModulus {<n>}pdbSet <material> CLoop StackingFaultEng {<n>}pdbSet <material> CLoop PoissRatio {<n>}pdbSet <material> Int BurgersVec {<n>}pdbSet <material> CLoop KCLoop {<n>}

1 10×10 5 7×10

DLoop

DLoop*AmPercent

DLoop⎩⎨⎧

=Amorphous regionsCrystalline regions

CLoop

CLoop*AmPercent

CLoop⎩⎨⎧

=Amorphous regionsCrystalline regions

RI 2π2RLoopKCLoopDLoopDI CI CILoop*–( )≡

CILoop* CI

*e

γΩbkT---------⎝ ⎠

⎛ ⎞

eμbΩ

4πRLoopkT 1 υ–( )---------------------------------------------

8RLoopb

-----------------⎝ ⎠⎛ ⎞ln⎝ ⎠

⎛ ⎞

RLoop DLoop DIKCLoop μ γ

Ω 2 23–×10 υ b

172

Page 193: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

The evolution of the loop radius is given by:

(328)

where is the {111} planar density of silicon ( cm-2).

The equilibrium concentration of interstitials at the loop boundaries ( ) increases dramatically asthe loop radius becomes smaller. To avoid convergence problems, is limited by a minimum loopradius ( ) as follows:

(329)

To set the minimum radius, use the command:

pdbSet <material> CLoop RLoopMin {<n>}

To set the density of loops to a fixed value, use the command:

pdbSet <mater> DLoop ConstantDensity {<n>}

Initializing LoopEvolution model

To specify the initial loop radius, use:

pdbSet <mater> RLoop InitialRadius {<n>}

To set the density of loops to a fixed value, use the command:

pdbSet <mater> DLoop ConstantDensity {<n>}

or it will be calculated using the following:

(330)

where and can be set with:

pdbSet <material> CLoop Fraction {<n>}pdbSet <material> CLoop Threshold {<n>}

NOTE If ConstantDensity is zero, Eq. 330 will be used.

t∂∂RLoop π

N0------KCLoopDI CI CILoop

*–( )=

N0 1.57 15×10

CILoop*

RIRLoopMin

Damp0RLoop

RLoopMin----------------------- Damp

Damp0 4.605( )Damp0 4.605+--------------------------------------≡;≡

RI RI RLoop( ) 1 e– Damp( )–( )≡

DLoopFraction CI Threshold–( )

πN0RLoop2

-------------------------------------------------------------------=

Fraction Threshold

173

Page 194: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

Loops are produced in that portion of the structure where the interstitial concentration (due to implantdamage, before recombination) is in the range:

(331)

and can be set:

pdbSet <material> CLoop Dmin {<n>}pdbSet <material> CLoop Dmax {<n>}

The concentration of interstitials corresponding to the edge of the amorphous region is from the work ofCerva and Hobler [38]. The concentration of interstitials is not reduced by the formation of end-of-rangeloops if DLoop is set to a constant value. Pre-existing dislocation loops in the region are presumed to bedestroyed by the implant.

NOTE In this model CLoop and DLoop are terms. Therefore, they should be converted to data fieldswith the select command or added to plx / DFISE list to save in a file.

Defect cluster model: FRENDTECHIf users set the model to FRENDTECH, this activates the extended defect model developed by FRENDTECHpartners [39][40][41]. The model assumes the following reactions:

(332)

(333)

where and are the interstitial defects consisting of and silicon atoms. The reactions canbe written as:

(334)

(335)

and the model is given by:

(336)

where is the density of defects containing atoms. The emission rate is given by:

(337)

Dmax Damage Dmin> >

Dmax Dmin

In 1– I+ In↔

In 1+ In I+↔

In In 1+ n n 1+

R1 kfn 1–CIn 1–

krnCIn

–≡

R2 kfnCIn

krn 1+CIn 1+

–( )–≡

t∂

∂CIn R1 R2+=

CInn krn

krnD

I0CI*An 1–

Reff-------------e

E– fnkT

----------⎝ ⎠⎛ ⎞

=

174

Page 195: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

where is the diffusion coefficient of neutral interstitials and is the equilibrium concentration ofinterstitials.

is the capture efficiency of the defect and is its formation energy. The capture rate is:

(338)

where is the concentration of interstitials. and can be defined using the command:

pdbSet <material> Interstitial BindCluster <cluster> {<n>}

where <cluster> is a valid cluster name (for example, I2, I3, I21) and <n> must be an Arrhenius expressionwith a prefactor of and an activation energy of .

For example:

pdbSet Silicon Interstitial BindCluster I6 {[Arrhenius 3.82578e-07 -1.29]}

will set the to 3.82578 x 10–7 eV and to –1.29 eV for .

Since cluster sizes can change easily from a few atoms to a few thousand atoms, it is not feasible to solveall cluster equations. Therefore, the number of equations to be solved is reduced by using the methodproposed by FRENDTECH partners [42]. The method allows for the logarithmic discretization ofclusters:

(339)

where is the density function and is the step of the logarithmic discretization. and arerelated to the capture and emission rate and by the relations:

(340)

(341)

The discretization is regular on a regularities scale. For example, the step in the reduced region iscalculated by:

(342)

DI0 CI

*

An 1–Reff

------------- Efn kfn

kfnD

I0CIAn

Reff---------=

CIAn

Reff--------- Efn

AnReff--------- Efn

AnReff--------- Efn n 6=

tdd ρ u( ) 1 e u–

2-------+⎝ ⎠

⎛ ⎞ e u–

2α------- kFu α+

ρu α+ kFu α–ρu α––( )–=

+ 1 e u–

2-------–⎝ ⎠

⎛ ⎞ e u–

2α------- kRu α+

ρu α+ kRu α–ρu α––( )

+e 2u–

2α2---------- kFu α+

ρu α+ 2kFuρu– kFu α–

ρu α–+( )

+e 2u–

2α2---------- kRu α+

ρu α+ 2kRuρu– kRu α–

ρu α–+( )

ρ u( ) α kFukRu

kfnkrn

kFukf

n eu==

kRukr

n eu==

αnmax 1–( )log nlastlin 1+( )log–

n stepslog-------------------------------------------------------------------------------=

175

Page 196: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

where is the biggest cluster size, is the number of small interstitial clusters in the linearregion, and is the number of steps in the reduced region.

You can specify , , and using the following commands:

pdbSet <material> Interstitial BiggestClusterSize {<n>}pdbSet <material> Interstitial NumberofSmallClusters {<n>}pdbSet <material> Interstitial logSteps {<n>}

For example:

pdbSet Silicon Interstitial BiggestClusterSize 10000pdbSet Silicon Interstitial NumberofSmallClusters 11pdbSet Silicon Interstitial logSteps 5

allows Sentaurus Process to solve the cluster equations for I2, I3, I4, I5, I6, I7, I8, I9, I10, I11, I12, I46,I177, I679, I2605, I10000.

The capture and emission rate and are stored in the parameter database for cluster sizes less than10. If the users do not specify the rates for bigger clusters, they will be calculated using the followingformulas:

(343)

(344)

(345)

where and are the length and width of the {311} defect ( cm and cm), is the lattice spacing of silicon, denotes the shear modulus of silicon ( dyne/cm), is the Poisson ratio ( ), is the length of the Burger’s vector ( cm), isthe angle between Burger’s vector and the normal vector perpendicular to the plane of the defect( ), and is the stacking fault energy per atom ( eV). The Burger’s vector and thestacking fault energy can be set using the commands:

pdbSet <material> Interstitial BurgersVec {<n>}pdbSet <material> Interstitial StackingFauldEng {<n>}

NOTE Since FRENDTECH models solve for a range of cluster sizes, simulations may be slower.

nmax nlastlinn stepslog

nmax nlastlin n stepslog

kfnkrn

AnReff---------

311{ }

4πaL 4πaW 8πa2+ +

1 1 2aW------⎝ ⎠

⎛ ⎞ 2++⎝ ⎠

⎛ ⎞log 2aW------⎝ ⎠

⎛ ⎞log– 1 1 2 L a+( )W

--------------------⎝ ⎠⎛ ⎞ 2

++⎝ ⎠⎛ ⎞log 2 L a+( )

W--------------------⎝ ⎠

⎛ ⎞log–+

1a--- 1 2a

W------⎝ ⎠

⎛ ⎞ 2+ 1

L a+------------ 1 2 L a+( )

W--------------------⎝ ⎠

⎛ ⎞ 2++

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------=

Estrainn μb2L

2π 1 v–( )----------------------- 2W

b--------⎝ ⎠

⎛ ⎞log μb2W2π

-------------- θcos( )2 θsin( )2

1 v–------------------⎝ ⎠

⎛ ⎞+⎝ ⎠⎛ ⎞ 2L

b------⎝ ⎠

⎛ ⎞log+=

Efn Estrainn 1+ γ n 1+( )⋅ Estrain

n γ n⋅+–+=

L W L n 5 10 9–×⋅= W 4 10 7–×=a μ μ 7.55 1011×=v v 0.3= b b 1.1 10 8–×= θ

θ 77.8o= γ ν 0.38=

176

Page 197: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

Initializing FRENDTECH model

By default, the interstitial clusters are assumed to break apart in the amorphous regions. You can specifythe percentage of clusters retained in the amorphous region per solution variable using the parameterAmPercent:

pdbSetDouble <mater> I200 AmPercent {<n>}pdbSetDouble <mater> I100 AmPercent {<n>}

For example:

(346)

Since there is no entry for every cluster in the pdb, the short-hand version op pdb command cannot beused. The value of the AmPercent parameter must be between 0 and 1.

Defect cluster model: 1MomentIf users set the model to 1Moment, the model for the formation and dissolution of interstitial clusters({311} or {113} defects) is included. The 1Moment model uses a single equation to calculate the totalnumber of interstitials bound in clusters. The following nonlinear algebraic equation along with therelated diffusion equations are solved:

(347)

where is the concentration of clustered interstitials, and and describe clusterinteraction with interstitials and vacancies, respectively. The interstitial interaction includes two termsdescribing the clustering of interstitials and one describing the de-clustering:

(348)

where is the concentration of unclustered interstitials and is the equilibrium concentration ofinterstitials. The first term models nucleation of the interstitial clusters at high interstitialsupersaturation. The second term models growth of the interstitial clusters by consuming freeinterstitials. The third term models dissolution of the interstitial clusters by emitting interstitials. If the1Moment model is used with the Full cluster model, Eq. 348 is modified as follows:

(349)

I200

I200*AmPercent

I299⎩⎨⎧

=Amorphous regionsCrystalline regions

t∂∂CICluster RCI RCV–=

CICluster RCI RCV

RCI IkfiCI( )

Ifi

CI*( )

Isfi----------------- Ikfc

CI( )Ifc

CI*( )

Isfc----------------- CICluster IkfciCI+( ) Ikr CICluster( )

Icr–+=

CI CI*

RCI max 1+( )RsIcl max 1+( ) IkfcCI( )

Ifc

CI*( )

Isfc----------------- CICluster IkfciCI+( ) Ikr CICluster( )

Icr–+=

177

Page 198: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

where is given in Defect cluster model: Full on page 181. The smallest large cluster formswhen the small cluster captures one free interstitial by the reaction rate . The vacancyinteraction includes one recombination and one generation term:

(350)

where is the concentration of free vacancies and is the equilibrium concentration of vacancies.The first term models dissolution of the interstitial clusters by consuming vacancies. The second termmodels emission of vacancies by the interstitial clusters. If the 1Moment model is used with the Full clustermodel, Eq. 350 is modified as follows:

(351)

where is given in Defect cluster model: Full on page 181. It is the reaction rate of smallinterstitial clusters with vacancies.The reaction constants of the model can be modified using thefollowing commands:

pdbSet <material> ICluster Ikfi {<n>}pdbSet <material> ICluster Ikfc {<n>}pdbSet <material> ICluster Ikr {<n>}pdbSet <material> ICluster Ifi {<n>}pdbSet <material> ICluster Isfi {<n>}pdbSet <material> ICluster Ifc {<n>}pdbSet <material> ICluster Isfc {<n>}pdbSet <material> ICluster Icf {<n>}pdbSet <material> ICluster Icr {<n>}pdbSet <material> ICluster Ikfci {<n>}pdbSet <material> ICluster Vkrv {<n>}pdbSet <material> ICluster Vrv {<n>}pdbSet <material> ICluster Vsrv {<n>}pdbSet <material> ICluster Vcrv {<n>}pdbSet <material> ICluster Vkfv {<n>}pdbSet <material> ICluster Vsfv {<n>}pdbSet <material> ICluster Vcfv {<n>}

The changes are accompanied by corresponding inverse changes in . Therefore, clustering reducesthe number of free interstitials, while the dissolution of clusters releases interstitials.

Initializing 1Moment model

The initial concentration of interstitial clusters after implants is set in the diffPreProcess procedure (seeImplant to diffusion) and can be changed by using the parameter InitPercent as follows:

pdbSet <material> ICluster InitPercent {<n>}

RsIcl max 1+( )RsIcl max 1+( )

RCV VkrvCV( )

Vrv

CV*( )

Vsrv-------------------- CICluster( )

Vcrv Vkf CV*( )

Vsfv CICluster( )Vcfv–=

CV CV*

RCV max 1+( )RsIcV max 1+( ) V+ krv

CV( )Vrv

CV*( )

Vsrv-------------------- CICluster( )

Vcrv Vkf CV*( )

Vsfv CICluster( )Vcfv–=

RsIcV max 1+( )

CI

178

Page 199: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

InitPercent is the percentage of free implant interstitials used to initialize the model, for example:

(352)

The value of InitPercent must be between 0 and 1. The model assumes that existing interstitial clustersin the amorphized region break apart.

Defect cluster model: 2MomentIf you set the model to 2Moment, the model for the formation and dissolution of interstitial clusters ({311}or {113} defects) and conversion of {311} clusters into dislocation loops are included [42]. The modelcalculates the first two moments of the size distribution of interstitial clusters, in other words, thenumber of clusters and the number of interstitials contained in the clusters. It can be used with theexisting model for dislocation loops (LoopEvolution), although it is designed to include modeling of atleast some dislocation loops.

The 2Moment clustering model is an implementation of Gencer’s analytical kinetic precipitation model(AKPM). The density of clusters ( ) and concentration of interstitials ( ) contained in clustersare calculated as:

(353)

(354)

where and are the concentration and diffusivity of free interstitials. If the 2Moment model is usedwith the Full cluster model, Eq. 353and Eq. 354 are modified as follows:

(355)

(356)

, which gives the dependence of the dissolution rate on the average cluster size, is given by:

(357)

IClusterInt_Implant*InitPercent0⎩

⎨⎧

=Crystalline regionsAmorphous regions

D311 C311

t∂∂D311 DIλ0 CI

2 D311CIi* Csγ0–( )=

t∂∂C311 2

t∂∂D311 D+

Iλ1D311 CI CsCIi

* γ1–( )=

CI DI

t∂∂D311 RsIcl max 1+( ) RsIcV max 1+( ) DIλ0D311CIi

* Csγ0––=

t∂∂C311 max 1+( ) RsIcl max 1+( ) RsIcV max 1+( )–( ) D+ Iλ1D311 CI CsCIi

* γ1–( )=

Csγ0

Csγ0

CssK1

s 1–-----------

CslK31

s 1–-----------⎝ ⎠

⎛ ⎞ α

⎩⎪⎪⎨⎪⎪⎧

=s ncrit<

s ncrit>

179

Page 200: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

controls the dissolution of two atom clusters; and is the average number ofinterstitials in a cluster. , which gives the dependence of the rate of interstitial release on the averagecluster size, is given by:

(358)

where and are chosen to make and continuous at . are the solidsolubility of smaller and larger clusters. To set the model parameters, use the following commands:

pdbSet <material> C311 Lambda0 {<n>}pdbSet <material> C311 Lambda1 {<n>}pdbSet <material> C311 K0 {<n>}pdbSet <material> C311 K1 {<n>}pdbSet <material> C311 K2 {<n>}pdbSet <material> C311 Alpha {<n>}pdbSet <material> C311 NCritical {<n>}pdbSet <material> Int SolubilitySmall {<n>}pdbSet <material> Vac SolubilityLarge {<n>}

Eq. 353 models the nucleation and dissolution of two-atom clusters. is the capture length for theseprocesses.

Eq. 354 models the absorption and release of interstitials by clusters. The three terms on the right sidemodel the absorption of interstitials during nucleation, the absorption of interstitials by nucleatedclusters, and the release of interstitials by nucleated clusters. is the capture length for absorption andrelease of interstitials by nucleated clusters. is the concentration of interstitials in equilibriumwith a population of large {311} clusters.

For , some of the {311} defects unfault to form dislocation loops. These dislocation loops areincluded in the 2Moment model by modifying the cluster dissolution rates. controls the dissolutionrate when loops are present, and is the concentration of interstitials in equilibrium with apopulation of large dislocation loops, CIi Csl.

Initializing 2Moment model

The initial concentration of interstitial clusters after implants is set in the diffPreProcess procedure (seeImplant to diffusion on page 184). By default, clusters are assumed to break apart in the amorphousregions. You can specify the percentage of clusters retained in the amorphous region per cluster solutionvariable using the parameter AmPercent:

pdbSet <material> C311 AmPercent {<n>}pdbSet <material> D311 AmPercent {<n>}

K1 s C311 D311⁄=Csγ1

Csγ1

Csss 2–

s K0+--------------- 1

K0 2+( )K2s K0+

---------------------------+

Csl 1 K+ 4K0 2+s K0+---------------⎝ ⎠

⎛ ⎞α

⎩⎪⎪⎨⎪⎪⎧

=s ncrit<

s ncrit>

K3 K4 Csγ0 Csγ1 s ncrit= Css,Csl

λ0

λ1CIi

* Css

s ncrit>α

CIi* Csl

180

Page 201: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

For example:

(359)

The value of the AmPercent parameter must be between 0 and 1.

Defect cluster model: FullIf you set the defect cluster model to Full, the TS4 style transient small intertitial cluster model is used.The reactions associated with the size-n small interstitial cluster is as follows:

(360)

(361)

(362)

(363)

denote the n-size interstitial small cluster; are the interstitials and vacancies. The transientequation for the n-size small interstitial cluster is:

(364)

can be set using the following command:

pdbSet Si Int CL.Size {<n>}

and and are described as follows:

(365)

(366)

(367)

(368)

D311

D311*AmPercent

D311 ⎩⎨⎧

=Amorphous regionsCrystalline regions

In 1– I+ In↔

In I+ In 1–↔

In V+ In 1–↔

In 1+ V+ In↔

In I V,

t∂∂Cn RcI n( ) RcV n( )–= 2 n nmax<≤

nmax

RcI n( ) RcV n( )

RcI n( ) RcI n 1–( ) n( )→( ) RcI n( ) n 1+( )→( )–=

RcV n( ) RcV n( ) n 1–( )→( ) RcI n 1+( ) n( )→( )–=

RcI n 1–( ) n( )→( ) kfin( )CI n 1–( )

CI

CI*

------ krin( )CI n( )–=

RcI n( ) n 1+( )→( ) kfin 1+( )CI n( )

CI

CI*

------ krin 1+( )CI n 1+( )–=

181

Page 202: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

(369)

(370)

here:

(371)

(372)

(373)

(374)

(375)

(376)

(377)

The reaction rate constants, , can be set using the followingcommands:

pdbSet Si I2 kfI {<i,j>} {<n>}pdbSet Si I2 krI {<i,j>} {<n>}pdbSet Si I2 kfV {<i>} {<n>}pdbSet Si I2 krV {<i>} {<n>}pdbSet Si I3 kfI {<i>} {<n>}pdbSet Si I3 krI {<i>} {<n>}pdbSet Si I3 kfV {<i>} {<n>}pdbSet Si I3 krV {<i>} {<n>}pdbSet Si I4 kfI {<i>} {<n>}pdbSet Si I4 krI {<i>} {<n>}pdbSet Si I4 kfV {<i>} {<n>}pdbSet Si I4 krV {<i>} {<n>}

RcV n( ) n 1–( )→( ) krvn( )CI n( )

CV

CV*

------- kfvn( )CI n 1–( )–=

RcV n 1+( ) n( )→( ) krvn 1+( )CI n 1+( )

CV

CV*

------- kfvn 1+( )CI n( )–=

kfin( ) CIi

* fnzi kIz

nni----⎝ ⎠

⎛ ⎞ z–

z∑= n 2>

kfi2( ) CIi

*2

CI*

-------- f2qzi kIzkIq

nni----⎝ ⎠

⎛ ⎞ z q+( )–

z q,∑= n 2=

krin( ) CIi

* rnzi kIz

nni----⎝ ⎠

⎛ ⎞ z–

z∑= n 2>

kri2( ) CIi

* r2qzi kIzkIq

nni----⎝ ⎠

⎛ ⎞ z q+( )–

z q,∑= n 2=

kfvn( ) CVi

* fnzv kVz

nni----⎝ ⎠

⎛ ⎞ z–

z∑= n 2>

kfv2( ) CIi

* CVi*

CI*

---------------- f2zv kVz

nni----⎝ ⎠

⎛ ⎞ z–

z∑= n 2=

krvn( ) CVi

* rnzv kVz

nni----⎝ ⎠

⎛ ⎞ z–

z∑=

fi kfI fv, kfV ri, krI rv, krV= = = =

182

Page 203: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

The indices, and , are integer numbers representing the charge state of intertitial and reactinginterstitial. The short hand pdbSet command can be used for clusters up to size 4. For all other clusters,the long hand pdbSetDouble must be used.

NOTE The indices for the parameter kfI and krI for I2 clusters have the form of . The indicesare separated by a comma; no space is allowed between the indices.

If the you want to use same reaction rate constants for all charges, the following command should beused:

pdbSet Si Int CL.All {1|0}

If CL.ALL is set to 1 the model uses the 0th indexed reaction rate constants (for example, kfI(0,0) orkfI(0), krV(0) and so on) in reaction calculation for all charged states.

The net capture rate of free interstitials by the small interstitial clusters is given by:

(378)

The net capture rate of free vacancies by the small interstitial clusters is given by:

(379)

Initializing full model

The initial concentration of interstitial clusters after implants is set in the diffPreProcess procedure (seeImplant to diffusion on page 184). By default, clusters are assumed to break apart in the amorphousregions. You can specify the percentage of clusters retained in the amorphous region per cluster solutionvariable using the parameter AmPercent:

pdbSet <material> <cluster> AmPercent {<n>}pdbSet <material> <cluster> AmPercent {<n>}

For example:

(380)

The value of the AmPercent parameter must be between 0 and 1.

i j

i j,

RsIcI Rcl 1 2→( ) Rcl n n 1+→( )

n 1=

max

∑+=

RsIcV RcV n n 1+→( )

n 1=

max

∑=

I4

I4*AmPercent

I4 ⎩⎨⎧

=Amorphous regionsCrystalline regions

183

Page 204: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

Implant to diffusionDuring the implantation, important data fields are created along with others (see Chapter 3 on page 45):Int_Implant, Vac_Implant, and Damage. Int_Implant and Vac_Implant represent the total number of interstitialand vacancy point defects coming from the ion implantation. Since it is possible that the point defectsalready exist in the structure or amorphization occurred due to ion implantation, the point-defect fieldsneed to be updated before any diffusion step.

Sentaurus Process calls a default procedure, diffPreProcess, to process these fields. The main goal of theprocedure is to process the point-defect fields and store the processed fields in Interstitial and Vacancydata fields. These data fields represent the total number of interstitials and vacancies that will be used toinitialize the total number of unpaired interstitials (Int) and vacancies (Vac) (see Initializing solutionvariables on page 185):

(381)

(382)

First, interstitials and vacancies from implants (Int_Implant, Vac_Implant) are added to existingInterstitial and Vacancy fields in the crystalline regions. If the fields do not exist, they are created andset to their equilibrium values.

The Damage field is used to determine whether the material is amorphized. The threshold value for theamorphization can be set by:

pdbSet <material> AmorpDensity {<n>}

It is assumed that if a material amorphizes due to ion implantation, the amorphized portion of thematerial will grow to a perfect crystalline material and point-defect densities in this region will be equalto their thermal equilibrium values (Eq. 382). If a material is an amorphized material (that is,polysilicon), the point-defect densities in this material are automatically set to their equilibrium values.

The abovementioned amorphization algorithm leads to very steep interstitial profiles at the amorphous–crystalline boundary. This boundary can be softened using an error function. The degree of smoothingcan be controlled using the parameter AmorpGamma, that is:

pdbSet <material> AmorpGamma {<n>}

The value of this parameter must be between 0 and 1, where 1 means a very steep transition. Smoothingwill also be applied to dopant profiles if the transient or cluster models are selected. To find out whethera material is amorphous, the following commands can be used:

pdbGet <material> AmorphouspdbSet <material> Amorphous 1 or 0

Interstitial Interstitial+Int_Implant

CIStar⎩⎨⎧

=Crystalline regionsAmorphous regions

Vacancy Vacancy+Vacancy_Implant

CVStar⎩⎨⎧

=Crystalline regionsAmorphous regions

184

Page 205: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

When the point-defect concentrations are set to their equilibrium values in the amorphous regions, theirdensities in non-amorphous regions are compared to the solid solubility values of these defects in eachmaterial. If the solid solubility values are defined, the defect profiles are cut off at the solid solubilityvalues. The solid solubility numbers for the Interstitial and Vacancy fields can be specified with thefollowing commands:

pdbSet <material> Int IntTotSolubility {<n>}pdbSet <material> Vac VacTotSolubility {<n>}

(383)

In addition to the processing of implant data fields, the diffPreProcess procedure determines whetherpoint-defect equations need to be solved. As a default behavior, Sentaurus Process does not solve thedefect equations if the dopant diffusion models are set to Fermi (see Fermi diffusion model on page 132),Constant (see Constant diffusion model on page 133), or ChargedFermi (see ChargedFermi diffusionmodel on page 131) in all materials.

However, the interstitial point-defect equation will be solved for the same dopant diffusion models if theoxidation is switched on and dopants are present in the structure. Both point-defect equations are solvedif the dopant diffusion models are set to Pair, React, ChargedPair, or ChargedReact in any material.

Although it is not recommended, users may want to switch on or off the point-defect equations for anychosen dopant diffusion model. In this case, the following commands can be used:

pdbSetBoolean Defect Int ForcedTurnOff 1pdbSetBoolean Defect Vac ForcedTurnOff 1pdbSetBoolean Defect Int ForcedTurnOn 1pdbSetBoolean Defect Vac ForcedTurnOn 1

NOTE These parameters are not in the parameter database and are provided for advanced users.

The diffPreProcess procedure also initializes the fluorine model (see Initializing fluorine model onpage 137), the active dopant models Cluster and Transient (see Initializing transient or cluster model onpage 160), the {311} defect-clustering model (see Initializing 311 model on page 170), and the 1Momentdefect-clustering model (see Initializing 1Moment model on page 178).

When the preprocessing of the data fields is completed, most implant fields are deleted. SentaurusProcess also calls the diffPostProcess procedure as soon as diffusion has finished. In this procedure,remaining implant fields are cleared and total defect concentrations are stored for use with the nextdiffusion command during initialization.

Initializing solution variablesInitialization of solution variables is typically a minor task in Sentaurus Process. Users have flexibilitywith regard to data manipulation and can easily modify any data field using the select command (seeselect on page 498). Data fields can be added, subtracted, truncated, or manipulated in many ways.

Interstitial min Interstitial, IntTotSolubility( )=Vacancy min Vacancy, VacTotSolubility( )=

185

Page 206: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

It is also possible to define special callback procedures to initialize solution variables in different ways.This section covers the callback procedures and the keywords used by Sentaurus Process to initializesolution variables.

Currently, no nonlinear or partial differential equations are solved to initialize dopant solutions. Dopantdata fields generated during implantation are simply added to existing ones. For example, if users selectthe dopant diffusion model React (see React diffusion model on page 125), there is no contribution to thedopant–defect pair fields from the implant. However, users can use the select command to distributedopants among the other fields as required.

Conversely, Sentaurus Process uses callback procedures (see Using callback procedures on page 316) toinitialize the total number of unpaired interstitials (Int) and vacancies (Vac), which are used as solutionnames. Since extra dopant–defect equations are not solved for the Pair, ChargedPair, or ChargedFermidopant diffusion models, transferring all point defects from implantation to their respective solutionnames may cause an artificial increase of dopant–defect pairs in the structure. To prevent this artificialdopant–defect pair increase, defects from implantation must be added to the total interstitials andvacancies.

There are two main callback procedure names to initialize solution variables: InitSolve andEquationInitProc. To initialize a solution variable, the keyword InitStep must be defined with thesolution variable. This is different from the typical use of callback procedures (see Using callbackprocedures on page 316):

pdbSetString <material> <solution> InitSolve <callback procedure>pdbSetString <material> <solution> EquationInitProc <callback procedure>

The procedures take three arguments: a material, a solution, and the name of the callback procedure. Forexample, the command:

pdbSetString Si Int InitSolve ResetInt

‘informs’ the code to invoke the ResetInit procedure every time that solutions are checked. This isusually performed at the very beginning of a diffusion step.

The ResetInit procedure could be defined as:

proc ResetInit { Mat Sol } {pdbUnSetString $Mat $Sol Equation

}

When a solution variable requires initialization, Sentaurus Process searches for whether theEquationInitProc callback procedure is used for the solution name. If it is used, Sentaurus Processexecutes the procedure given with the command. Otherwise, the user must provide the initializationequation. The command:

pdbSetString Si Int EquationInitProc InitializeInt

‘informs’ Sentaurus Process to call the procedure InitializeInt before parsing the initialization equationfor the solution Int.

186

Page 207: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

The InitializeInt procedure could be defined as:

proc InitializeInit { Mat Sol } {pdbSetString $Mat $Sol Equation "$Sol - 1e17"

}

In this case, the initialization equation for the solution name Int will be set to Int-1e17=0.

When the initialization is completed, Int will have the value of in the specified material. Thisis a minor example, but users can define any valid equation in this procedure.

For example, the default initialization equation for Int in Sentaurus Process can be:

Interstitial - (Int + (I0 * BActive * (( [expr [Arrhenius 5.68 0.48] * [pdbGetDouble Si Boron Int\ Binding] ] + [expr 0.0 * [pdbGetDouble Si Boron Int Binding] ] * Noni) * Noni + (\ [expr [Arrhenius 5.68 0.42] * [pdbGetDouble Si Boron Int Binding] ] + [expr 0.0 *\ [pdbGetDouble Si Boron Int Binding] ] * Poni) * Poni + ([expr 1.0 * [pdbGetDouble\ Si Boron Int Binding] ])))) = 0

where I0, BActive, Noni, and Poni are a function of the solution Int.

Boundary conditionsSix different boundary conditions can be selected in Sentaurus Process – HomNeumann, Natural, Dirichlet,Segregation, ThreePhaseSegregation, and EpiTransfer. Even though users can select any boundaryconditions, they should be used with appropriate species. It is possible to set the a general boundarycondition for all dopants or a specific boundary condition for a single species, for example:

pdbSet Oxide_Silicon Boundary BoundaryCondition HomNeumannpdbSet Oxide_Silicon Int BoundaryCondition Dirichlet

The first line switches the boundary condition for dopants at an oxide–silicon interface from its defaultSegregation boundary condition to the HomNeumann boundary condition. The second line sets the boundarycondition at the oxide–silicon interface for interstitials to the Dirichlet boundary condition.

HomNeumannIt is assumed that there are no fluxes and transfers across the interface. This is chosen by default at theleft, right, and bottom boundaries. It can be applied to any boundary.

1 1017×

187

Page 208: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

NaturalThis is the default boundary condition for point defects at gas–silicon and oxide–silicon interfaces. Thenormal flux across an outer surface is given by:

(384)

where is the surface recombination rate, and are the concentration of interstitials or vacanciesand equilibrium concentration of interstitials and vacancies, respectively. There are four surfacerecombination velocity model, PDependent, InitOx, Simple, and Normalized.

To set the models, use the command:

pdbSet <material> <defect> Surf.Recomb.Vel <model>

In each case, the surface recombination rate depends on the motion of the interface due to oxidation.

Surface recombination model: PDependent

The PDependent model is the pressure dependent surface recombination model. The flux that takes intoaccount the interstitial injection during oxidation is given by:

(385)

where is the surface recombination rate, is the generation rate, is the oxygen partial pressure,||Vox|| is the local oxidation rate (ReactionSpeed), and is the reference oxidation rate for bare,undoped silicon. , , and are model parameters. To modify these parameters, use thefollowing commands:

pdbSet <material> <defect> Ksurf {<n>}pdbSet <material> <defect> Scale {<n>}pdbSet <material> <defect> Krat {<n>}pdbSet <material> <defect> Kpow {<n>}pdbSet <material> <defect> Kppow {<n>}

The generation term, , is given by:

(386)

, and are model parameters to adjust the interstitial injection during oxidation. Thefollowing commands can be used to modify these parameters:

pdbSet <material> <defect> Gpow {<n>}pdbSet <material> <defect> Ggpow {<n>}pdbSet <material> <defect> theta {<n>}

j n• h C C*–( )=

h C C*

j n• ks 1 kRatVox

VScale---------------⎝ ⎠

⎛ ⎞kpow

Pokppow+

⎝ ⎠⎜ ⎟⎛ ⎞

CX0 C

X0*–( ) Gox–=

ks Gox PoVScale

kRat kpow kppow

Gox

Gox θ Vox LdenVox

VScale---------------⎝ ⎠

⎛ ⎞Gpow

PoGgpowGScale=

Gpow Ggpow υ

188

Page 209: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

is the lattice density of silicon and can be set by:

pdbSet <material> LatticeDensity {<n>}

is the scaling factor for the generation rate and given by:

(387)

(388)

(389)

If the dopant diffusion model is set to ChargedFermi or ChargedPair or ChargedReact and the is zero, will be set to , otherwise it will be set to . , , , , , and are model

parameters that can be modified with the commands:

pdbSet <material> <defect> PotOx {<n>}pdbSet <material> <defect> mm {<n>}pdbSet <material> <defect> m {<n>}pdbSet <material> <defect> p {<n>}pdbSet <material> <defect> pp {<n>}pdbSet <material> <defect> Glow {<n>}

Surface recombination model: InitOx

The InitOx model is almost identical to PDependent (see Surface recombination model: PDependent onpage 188) surface recombination model except that is set to “1” for nonoxidizing casesin Eq. 385.

Surface recombination model: Simple

The Simple model takes into account the interstitial injection through total free and equilibrium pointdefect concentrations during oxidation. The recombination flux is given by:

(390)

(391)

is given by Eq. 387.

Lden

GScale

GScale

G0

G1⎩⎨⎧

=Glow 0 and Charged Model=

Glow 0≠

G0CXi

*

CX---------=

G1mm m 1 p pp+ + + +

mm nni----⎝ ⎠

⎛ ⎞ 2PotOxm n

ni----⎝ ⎠

⎛ ⎞ PotOx1 p p

ni----⎝ ⎠

⎛ ⎞ PotOxpp p

ni----⎝ ⎠

⎛ ⎞ 2PotOx+ + + +

---------------------------------------------------------------------------------------------------------------------------------------------------------=

GlowGScale G0 G1 Glow PotOx mm m p pp

Vox VScale⁄

j n• ks 1 kRatVox

VScale---------------⎝ ⎠

⎛ ⎞+⎝ ⎠⎛ ⎞ CX CX

*–( ) Gox–=

Gox θ Vox LdenGScale=

GScale

189

Page 210: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

Surface recombination model: Normalized

The Normalized model is a TSUPREM-4 type surface recombination model. This model provides boththe time dependence and the dependence on the oxidation conditions by using a constant normalizingfactor:

(392)

(393)

To set the normalizing factor, use the following command:

pdbSet <material> <defect> Ksvel {<n>}

is given by Eq. 387.

SegregationThis is the default boundary condition for dopants. The total dopant fluxes at the interfaces are balanced.The fluxes are assumed to be proportional to the deviation from the segregation equilibrium. The fluxesare given by:

(394)

where is the concentration of dopant on one side of the interface, is the concentration of dopanton the other side of the interface; is the transfer rate; and is the segregation rate of dopant .

If the charge states of the dopants needs to be included or the boundary condition for dopant defect pairsneed to be set, use the following command:

pdbSet <material> <dopant> Surf.Recomb.Model <diffmodel> <model>

where <diffmodel> is Constant, Fermi, ChargedFermi, Pair, ChargedPair, React or ChargedReact dopantdiffusion model and <model> is either Default or PairSegregation.

Surface recombination model: Default

If the surface recombination model is set to Default for any dopant diffusion model, the segregationfluxes are given by:

(395)

j n• ks ksvelVox

VScale---------------⎝ ⎠

⎛ ⎞kpow

CX CX*–( ) Gox–+=

Gox θLden VoxVox

VScale---------------⎝ ⎠

⎛ ⎞Gpow

GScale=

GScale

j n• h CAa CA

b

s-------–

⎝ ⎠⎜ ⎟⎛ ⎞

=

CAa CA

b

h s A

j n• kTransfer CAa CA

b

kSegregation-----------------------------–

⎝ ⎠⎜ ⎟⎛ ⎞

=

190

Page 211: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

To set these parameters, use the following commands:

pdbSet <material> <dopant> Transfer {<n>}pdbSet <material> <dopant> Segregation {<n>}

NOTE If the dopant diffusion model is set to React or ChargedReact, will be the substitutionaldopant.

Surface recombination model: PairSegregation

If the surface recombination model is set to PairSegregation for Constant, Fermi, ChargedFermi, Pair orChargedPair diffusion models, the segregation fluxes are given by:

(396)

(397)

where is the intertitial fraction of dopant trapping in equilibrium and can be set using the followingcommand:

pdbSet <material> <dopant> Trap.Fi {<n>}

If the dopant diffusion model is not Pair or ChargedPair model on interface side a, is set to 1. If thesame is true for interface side b, is set to 1.

If the surface recombination model is set to PairSegregation for React or ChargedReact diffusion models,the segregation fluxes are given by:

(398)

(399)

CA

j n• kTransferkratea krate

b CAa n

ni----⎝ ⎠

⎛ ⎞b

zCA

a nni----⎝ ⎠

⎛ ⎞a

z

kSegregation-----------------------------–

⎝ ⎠⎜ ⎟⎜ ⎟⎜ ⎟⎛ ⎞

=

kratea b⁄ fI

CI0*

CI0*

-------

a b⁄

1 fI–( )C

V0*

CV0*

--------

a b⁄

+⎝ ⎠⎜ ⎟⎜ ⎟⎛ ⎞

=

fI

kratea

krateb

j n• kTransferkAIratea C

I0*[ ]

bC

A

a nni----⎝ ⎠

⎛ ⎞a

zCAI

b nni----⎝ ⎠

⎛ ⎞b

z

kSegregation kAIzb kIz

b nni----⎝ ⎠

⎛ ⎞b

z–

z∑

-------------------------------------------------------------------–

⎝ ⎠⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎛ ⎞

=

j n• kTransferkAVratea C

V0*[ ]

bC

A

a nni----⎝ ⎠

⎛ ⎞a

zCAV

b nni----⎝ ⎠

⎛ ⎞b

z

kSegregation kAVzb kVz

b nni----⎝ ⎠

⎛ ⎞b

z–

z∑

----------------------------------------------------------------------–

⎝ ⎠⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎛ ⎞

=

191

Page 212: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

(400)

(401)

where and are the concentration of dopant defect pairs. is the concentration of the totalunpaired dopant.

DirichletThe Dirichlet boundary condition can be used with both point defects and dopants. However, it can beset only at gas and any other material interfaces for dopants. In this way, ‘in-diffusion’ for a dopant canbe simulated using the Dirichlet boundary condition. If the Dirichlet boundary condition is selected, thedefect or dopant concentration at the boundary is set to its equilibrium value. The equilibrium value canbe specified with:

pdbSet <material> <dopant or defect> <Cstar>

If the Dirichlet boundary condition is selected and the oxidation is switched on, the modified Dirichletboundary condition is used for interstitials. The equilibrium value of interstitial point defects at theinterface is enhanced and the new equilibrium at the interface becomes:

(402)

is given by Eq. 389.

where , , and are model parameters that can be modified with the commands:

pdbSet <material> <defect> VrefRate {<n>}pdbSet <material> <defect> Fox {<n>}pdbSet <material> <defect> Pox {<n>}

Three-phase segregationDose loss during diffusion can be modeled with three-phase segregation in Sentaurus Process. Dopantscan segregate from both silicon and oxide to the silicon–oxide interface where they are consideredinactive. The model in Sentaurus Process is based on the original model by Lau et al. [43] and Oh andWard [44]. The diffusion equation at the interface is given by:

(403)

kAIratea fI

CI0*[ ]

b---------------krate

a=

kAVratea 1 f– I

CV0*[ ]

b----------------krate

a=

CAI CAV CA

CI0

ox

* CI0* 1 FoxG1

VoxVref

-------------⎝ ⎠⎛ ⎞

Pox+

⎝ ⎠⎜ ⎟⎛ ⎞

=

G1

Vref Fox Pox

t∂∂CA D0 CA∇∇ Fa Fb+ +=

192

Page 213: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

where is the diffusivity of the dopant at the interface, and and are the flux towards theinterface from material “a” and material “b”, respectively. The diffusivity at the interface can be definedby:

pdbSet <material> <dopant> D 0 {<n>}

The fluxes, and , depends on the surface recombination model used. The surface recombinationmodels are Default or PairSegregation and can be set for different diffusion models using the followingcommand:

pdbSet <material> <dopant> Surf.Recomb.Model <diffmodel> <model>

where <diffmodel> is Constant, Fermi, ChargedFermi, Pair, ChargedPair, React or ChargedReact dopantdiffusion model and <model> is either Default or PairSegregation.

Surface recombination model: Default

If the surface recombination model is set to Default for any dopant diffusion model, the segregationfluxes are given by:

(404)

where is the trapping rate; is the maximum number of sites in the adjacent bulk regions; is the concentration of trapped dopant Ai, CA

ss is the solid solubility of the dopant; CA+ is the active

concentration of dopant A, z is the charge state of the dopant, ERate is the emission rate. To se the modelparameters, use the following command:

pdbSet <material> <dopant> TrappingRate_<side> {<n>}pdbSet <material> <dopant> EmissionRate_<side> {<n>}pdbSet <material> CMax {<n>}

where <side> is one side of the interface and <material> is the interface material. For example, the sidewould be either Oxide or Silicon for an oxide–silicon interface.

You also can use the individual trap density by switching off the UseTotalInterfaceTrap flag by:

pdbSet <material> <dopant> UseTotalInterfaceTrap 0

By default, the flag is on (1). If the flag is switched off, Eq. 404 becomes:

(405)

where is the maximum number of sites in the adjacent bulk region for this solution variable. Tochange this parameter, use the command:

pdbSet <material> <dopant> CMax {<n>}

D0 Fa Fb

Fa Fb

Fa b⁄ TRatea b⁄ CA

Tmax[ ]a b⁄

CAii

∑–⎝ ⎠⎜ ⎟⎛ ⎞

CA+[ ]a b⁄ n

ni----⎝ ⎠

⎛ ⎞a b⁄

zERate

a b⁄ CA CAss[ ]

a b⁄CA

+[ ]a b⁄

–( )–=

TRate CATmax

CAi

Fa b⁄ TRatea b⁄ CA

max[ ]a b⁄

CA–( ) CA+[ ]a b⁄ n

ni----⎝ ⎠

⎛ ⎞a b⁄

zERate

a b⁄ CA CAss[ ]

a b⁄CA

+[ ]a b⁄

–( )–=

CAmax

193

Page 214: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

NOTE If the dopant diffusion model is set to React or ChargedReact, will be the substitutionaldopant.

Surface recombination model: PairSegregation

If the surface recombination model is set to Default for Pair or ChargedPair dopant diffusion models, thesegregation fluxes are given by:

(406)

If the surface recombination model is set to PairSegregation for React or ChargedReact diffusion models,the segregation fluxes are given by:

(407)

where is the intertitial fraction of dopant trapping in equilibrium and can be set using the followingcommand:

pdbSet <material> <dopant> Trap.Fi {<n>}

All other parameters have the usual meaning as explained above. If the individual trap density isswitched off, will be replaced with .

and are the concentration of dopant defect pairs. is the concentration of the total unpaireddopant. If the surface recombination model is set to PairSegregation for Constant, Fermi or ChargedFermidiffusion models, the Default model will be used.

CA+

Fa b⁄

CI0

CI0*

-------a b⁄

fITRatea b⁄

CV0

CV0*

--------a b⁄

1 f– I( )TRatea b⁄+

⎝ ⎠⎜ ⎟⎜ ⎟⎛ ⎞

×=

CATmax[ ]

a b⁄CAi

i∑–

⎝ ⎠⎜ ⎟⎛ ⎞

CA+[ ]a b⁄ n

ni----⎝ ⎠

⎛ ⎞a b⁄

zCA CA

ss[ ]–a b⁄ ERate

a b⁄

TRatea b⁄

-------------⎝ ⎠⎜ ⎟⎜ ⎟⎛ ⎞

Fa b⁄fITRate

a b⁄

CI0*[ ]

a b⁄-------------------- CA

Tmax[ ]a b⁄

CAii

∑–⎝ ⎠⎜ ⎟⎛ ⎞

CAI[ ]a b⁄ nni----⎝ ⎠

⎛ ⎞a b⁄

z

kAIza b⁄ kIz

a b⁄ nni----⎝ ⎠

⎛ ⎞b

z–

z∑-------------------------------------------- CA CA

ss[ ]a b⁄

–ERate

a b⁄

TRatea b⁄

------------- CI0[ ]a b⁄

⎝ ⎠⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎛ ⎞

×=

1 f– I( )TRatea b⁄

CV0*[ ]

a b⁄------------------------------ CA

Tmax[ ]a b⁄

CAii

∑–⎝ ⎠⎜ ⎟⎛ ⎞

CAV[ ]a b⁄ nni----⎝ ⎠

⎛ ⎞a b⁄

z

kAVza b⁄ kVz

a b⁄ nni----⎝ ⎠

⎛ ⎞b

z–

z∑-------------------------------------------- CA CA

ss[ ]a b⁄

–ERate

a b⁄

TRatea b⁄

------------- CV0[ ]a b⁄

⎝ ⎠⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎛ ⎞

fI

CATmax[ ]

a b⁄CAi

i∑–

⎝ ⎠⎜ ⎟⎛ ⎞

CAmax[ ]

a b⁄CA–( )

CAI CAV CA

194

Page 215: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

EpiTransferThe EpiTransfer boundary condition is applied to all mobile species at the interface between the epitaxiallayer and single-crystalline silicon. This boundary condition allows the variable jump at the interface tobe taken into account. The fluxes are given by:

(408)

where is the concentration of species on one side of the interface, is the concentration of specieson the other side of the interface, and is the transfer rate. This parameter can be set with thecommand:

pdbSet <material> <dopant> Transfer {<n>}

Boundary conditions at moving interfaces

Enhanced and retarded diffusionDuring the growth of materials (for example, oxide and silicide), the reaction speed is calculated at themoving interfaces. The data field is called ReactionSpeed. The reaction speed can be used to simulate theenhanced dopant diffusion (for example, oxidation-enhanced diffusion (OED)) or the retarded dopantdiffusion (for example, oxidation-retarded diffusion (ORD)) by allowing for the injection of interstitialsand vacancies. In Eq. 385, the injection rate is given as a function of the reaction speed( = ReactionSpeed) and is used to simulate OED effects.

Conserving doseThe mesh of the simulated structure is modified during the growth of materials with each diffusion step.Some elements of the mesh will become bigger and some will shrink during this process. The change inthe element size from one diffusion step to another will artificially change the dopant doses in thestructure.

This artificial effect has two components. One is due to the change of element sizes and the other is dueto the material consumption at the moving boundaries. The first effect is accounted for internally byapplying an up-wind term to the solution equations. The second effect is accounted for through the useof the Alagator scripting language. If the total dopant concentration on one side of the interface isdifferent from the other side, the total concentration of the consumed material is used.

For example, if the React diffusion model for boron is selected on the silicon side and the Constantdiffusion model is selected on the oxide side of an oxide–silicon interface, the total boron concentrationwould be ‘Boron+BoronInt+BoronVac’ on the silicon side and ‘Boron’ on the oxide side. Since the consumed

j n• Transfer CA1 CA

2–( )=

CA1 CA

2

Transfer

Vox

195

Page 216: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

material is silicon during the oxidation, the dopant consumption due to growth is passed using thecommand:

pdbSetString Ox_Si Boron Consumed_Silicon "Boron_Silicon+BoronInt_Silicon+BoronVac_Silicon"

This is performed automatically. If the total dopant concentration on the oxide side were‘Boron+BoronInt’, the following command would be used:

pdbSetString Ox_Si Boron Consumed_Silicon "Boron_Silicon+BoronVac_Silicon"

Common dopant and defect dataset namesSentaurus Process does not solve the diffusion equations for the total dopant or defect concentrations. Itsolves the equations for the total unpaired dopant and defect concentrations. Sentaurus Process monitorsthe total dopant and defect concentration through various terms. Depending on the diffusion modelsselected, Sentaurus Process will update these terms. For example, the commands:

pdbSet Si Dopant DiffModel ReactpdbSet Si B ActiveModel None

will set the dopant diffusion model in silicon to React and the active model to None for boron in silicon.Assuming that there is only boron in the structure, various terms and data fields will be created after thediffusion. The most important ones are Boron, BActive, BTotal, BoronInt, BoronVac, Int, ITotal, Interstitial,Vac, VacTotal, and Vacancy. Boron, BoronInt, BoronVac, Int, and Vac are the solution names:

Boron = Total unpaired boron concentration.BActive = Active boron concentration. (Since active model is none, it will be equal to Boron)BTotal = Boron + BoronInt + BoronVac = Total boron concentration.BoronInt = Concentration of Boron-Interstitial pairs.BoronVac = Concentration of Boron-Vacancy pairs.

Int = Total unpaired interstitial concentration.ITotal = Int + BoronInt = Total interstitial concentration.Interstitial = Total interstitial concentration used to initialize Int. (In this example it will

be Int)

Vac = Total unpaired vacancy concentration.VTotal = Vac + BoronVac = Total vacancy concentration.Vacancy = Total vacancy concentration used to initialize Vac. (In this example it will

be Vac)

If the cluster models for both interstitial and boron are switched on, as follows:

pdbSet Si Dopant DiffModel ReactpdbSet Si B ActiveModel TransientpdbSet Si I ClusterModel 1Moment

some of the previous fields will be updated. Two additional solution variables, ICluster and BCluster, willbe solved. ICluster is the clustered interstitials used with the 1Moment model (see Defect cluster model:1Moment on page 177) and BCluster is the clustered boron used with the Transient model (see Dopantactive model: Transient on page 157).

196

Page 217: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

The changed fields will be:

BTotal = Boron + 6*BCluster + BoronInt + BoronVac = Total boron concentration.ITotal = Int + BoronInt + ICluster = Total interstitial concentration.

If the diffusion and cluster models are changed as follows:

pdbSet Si Dopant DiffModel ChargedPairpdbSet Si B ActiveModel TransientpdbSet Si I ClusterModel Equilibrium

Sentaurus Process uses the ChargedPair diffusion model (see ChargedPair diffusion model on page 127)and the Transient active model (see Dopant active model: Transient on page 157) for boron, and theEquilibrium cluster model (see Defect cluster model: Equilibrium on page 164) for interstitials.

In this case, Boron, BCluster, Int, and Vac will be the solution names. BoronInt and BoronVac will not besolved, but there will be BoronInt and BoronVac terms to calculate boron–interstitial and boron–vacancyconcentrations. The important fields are:

Boron = Total unpaired boron concentration.BActive = Boron-BoronInt-BoronVac. Active boron concentration.BTotal = Boron + 6*BCluster = Total boron concentration.BoronInt = Concentration of Boron-Interstitial pairs calculated using Eq. 149.BoronVac = Concentration of Boron-Vacancy pairs calculated using Eq. 149.

Int = Total unpaired interstitial concentration.ITotal = Int + 4*ICluster + BoronInt = Total interstitial concentration.Interstitial = Int + 4*ICluster + BoronInt = Total interstitial concentration used to initialize

Int.ICluster = Equilibrium interstitial concentration calculated using Eq. 271

Vac = Total unpaired vacancy concentration.VTotal = Vac + BoronVac = Total vacancy concentration.Vacancy = Vac + BoronVac = Total vacancy concentration used to initialize Vac.

Table 14 Variable names used in diffusion and reaction solvers

Name Comment Solution (S), Term (T), Data field (F)

Antimony Total unpaired antimony concentration S, F

AntimonyGbc Antimony grain boundary concentration S, F

AntimonyInit Antimony–interstitial pair concentration T or (S, F) (depends on the model)

AntimonyVac Antimony–vacancy pair concentration T or (S, F) (depends on the model)

SbActive Antimony active concentration T

SbCluster Six-antimony cluster concentration (default size is six, user-configurable)

S, F

SbTotal Total antimony concentration T (for example, Antimony+AntimonyVac)

Arsenic Total unpaired arsenic concentration S, F

197

Page 218: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

ArsenicGbc Arsenic grain boundary concentration S, F

ArsenicInt Arsenic–interstitial pair concentration T or (S, F) (depends on the model)

ArsenicVac Arsenic–vacancy pair concentration T or (S, F) (depends on the model)

As4Vac Four-arsenic and a vacancy cluster concentration S, F

AsActive Arsenic active concentration T

AsCluster Six-arsenic cluster concentration (default size is six, user-configurable)

S, F

AsTotal Total arsenic concentration T (for example, Arsenic+4*As4Vac)

B2 Two-boron cluster concentration S, F

B2I Two-boron and interstitial cluster concentration S, F

B2I2 Two-boron and two-interstitial cluster concentration

S, F

B2I3 Two-boron and three-interstitial cluster concentration

S, F

B3 Three-boron cluster concentration S, F

B3I Three-boron and interstitial cluster concentration S, F

B3I2 Three-boron and two-interstitial cluster concentration

S, F

B3I3 Three-boron and three–interstitial cluster concentration

S, F

B3I4 Three-boron and four-interstitial cluster concentration

S, F

BActive Boron active concentration T

BCluster Six-boron cluster concentration (default size is six, user-configurable)

S, F

BI2 Boron and two-interstitial cluster concentration S, F

Boron Total unpaired boron concentration S, F

BoronGbc Boron grain boundary concentration S, F

BoronInt Boron–interstitial pair concentration T or (S, F) (depends on the model)

BoronVac Boron–vacancy pair concentration T or (S, F) (depends on the model)

BTotal Total boron concentration T (for example, Boron+2*B2I)

C2 Two-carbon cluster concentration S, F

Table 14 Variable names used in diffusion and reaction solvers

Name Comment Solution (S), Term (T), Data field (F)

198

Page 219: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

C2I Two-carbon and interstitial cluster concentration S, F

C311 Concentration of interstitials trapped in {311} defects

S, F

C3I Three-carbon and interstitial cluster concentration

S, F

C3I2 Three-carbon and two-interstitial cluster concentration

S, F

C4I2 Four-carbon and two-interstitial cluster concentration

S, F

C4I3 Four-carbon and three-interstitial cluster concentration

S, F

C5I3 Five-carbon and three-interstitial cluster concentration

S, F

C5I4 Five-carbon and four-interstitial cluster concentration

S, F

C6I5 Six-carbon and five-interstitial cluster concentration

S, F

C6I6 Six-carbon and six-interstitial cluster concentration

S, F

Carbon Total unpaired carbon concentration S, F

CarbonInt Carbon–interstitial pair concentration S, F

CLoop Concentration of interstitials trapped in dislocation loops

T or (S, F) (depends on the model)

CTotal Total carbon concentration T

D311 Density of {311} defects S, F

DLoop Density of dislocation loops T or (S, F) (depends on the model)

EqInt Equilibrium interstitial concentration T

EqVac Equilibrium vacancy concentration T

F3V Three-fluorine and vacancy cluster concentration S, F

Fluorine Total unpaired fluorine concentration S, F

FluorineTotal Total fluorine concentration T

GeB Germanium–boron pair concentration S, F

Germanium Total unpaired germanium concentration S,F

Table 14 Variable names used in diffusion and reaction solvers

Name Comment Solution (S), Term (T), Data field (F)

199

Page 220: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

GermaniumTotal Total germanium concentration T

H2O Wet oxidant concentration S, F

I2 Two-interstitial cluster concentration S,F

ICluster Interstitial cluster concentration T or (S, F) (depends on the model)

InActive Indium active concentration T

Indium Total unpaired indium concentration S, F

IndiumGbc Indium grain boundary concentration S, F

IndiumInt Indium–interstitial pair concentration T or (S, F) (depends on the model)

IndiumVac Indium–vacancy pair concentration T or (S, F) (depends on the model)

Int Total unpaired interstitial concentration S, F

Interstitial Total interstitial concentration excluding cluster solutions, used to initialize Int

F

IntNeutral Neutral interstitial concentration (I0) T

InTotal Total indium concentration T

IntTotal Total interstitial concentration T

O2 Dry oxidant concentration S, F

PActive Phosphorus active concentration T

Phosphorus Total unpaired phosphorus concentration S, F

PhosphorusGbc Phosphorus grain boundary concentration S, F

PhosphorusInt Phosphorus–interstitial pair concentration T or (S, F) (depends on the model)

PhosphorusVac Phosphorus–vacancy pair concentration T or (S, F) (depends on the model)

Potential Electrostatic potential T or (S, F) (depends on the model)

PTotal Total phosphorus concentration T

Smic Concentration of submicroscopic interstitial clusters (default size 4)

S, F

SmicS Concentration of smaller submicroscopic interstitial clusters (default size 2)

S, F

V2 Two-vacancy cluster concentration S, F

Vac Total unpaired vacancy concentration S, F

Table 14 Variable names used in diffusion and reaction solvers

Name Comment Solution (S), Term (T), Data field (F)

200

Page 221: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 4 DIFFUSION

Vacancy Total vacancy concentration excluding cluster solutions, used to initialize Vac

F

VacNeutral Neutral vacancy concentration (V0) T

VacTotal Total vacancy concentration T

Table 14 Variable names used in diffusion and reaction solvers

Name Comment Solution (S), Term (T), Data field (F)

201

Page 222: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 4 DIFFUSION

202

Page 223: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Sentaurus Process

CHAPTER 5 Atomistic kinetic Monte Carlo diffusion

All diffusion models described previously are based on the conventional (continuum) simulationapproach. This chapter describes an alternative, atomistic simulation approach of the diffusion andactivation processes in Sentaurus Process. This approach is based on the kinetic Monte Carlo (KMC)diffusion simulator DADOS [45][46][47] and is available with the optional Sentaurus Process KMClicense.

OverviewThe continuum approach to modeling dopant diffusion in process simulation tools is used to solve asystem of partial differential equations (PDEs) that describe transport of the dopants and conservationof the dose. This approach has proven to be useful in designing semiconductor devices in the past, butseveral trends in the manufacturing process of sub-100-nm devices may make it difficult to maintain ahigh predictability in future devices.

The shrinking thermal budget significantly reduces diffusion and, therefore, reduces the need toaccurately model diffusion. On the other hand, dopant activation phenomena, including the formationof a variety of dopant-defect pairs and extended defects of different configurations, often do not reachthermodynamic equilibrium and necessitate transient rather than equilibrium simulation. In thecontinuum diffusion model, this requires the use of one equation per each dopant-defect configuration,which leads to a large number of equations to be solved.

The trend of reducing device sizes results in a small number of impurity atoms (as small as tens orhundreds) that determine the threshold voltage of a transistor. It is likely that the limit soon will bereached, and then small discretized distribution can no longer be accurately modeled with a continuumdescription.

A Monte Carlo (MC)–based diffusion simulation provides a valuable alternative to the continuumapproach. Computational resources required for the MC diffusion simulation are decreasing with devicedimension because they are proportional to the number of dopants and defects in the device. On the otherhand, resources for continuum simulations increase as modeling of ever more complex nonequilibriumphenomena are required. This trend has already gone a long way towards making the KMC diffusionmethod competitive with the most detailed continuum diffusion methods today in terms of the requiredcomputational resources.

Unlike the continuum approach, the large number of different dopant-defect configurations does notpresent a problem for the MC approach, which simply needs to introduce the probabilities for theadditional reactions. These probabilities are calculated based on the binding energies that can be pluggedin directly from experiments, molecular dynamics, or ab initio calculations.

203

Page 224: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Besides, atomistic implantation and diffusion models provide a natural way of determining statisticalvariations for a specific process flow/device geometry combination.

KMC techniqueSentaurus Process KMC (hereafter, referred to as “KMC”) considers only defects and impurities, andignores the lattice. This drastically reduces memory requirements and allows you to investigatesimulation domains that are large enough to contain deep submicron devices. As KMC tracks diffusionand interaction of 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, the time step is increasedautomatically to an emission of mobile particles from the surface or from an extended defect, which hasa period of about 10–3 seconds.

Therefore, typically, KMC would begin with time steps of about 10–9 seconds. As the point defects aretrapped by the clusters and extended defects, KMC automatically switches to the larger time steps of theorder of 10–3 seconds that are large enough to model typical process steps.

Operating modesKMC can operate in two different modes:

Atomistic—This mode handles data atomistically throughout the simulation and is expected to bethe most accurate method.

Non-atomistic (Non-atomistic mode on page 207)—This mode was introduced to allow KMC to beused for just part of a simulation. The KMC module transfers data back and forth to the continuumsolver to allow the user to take advantage of the continuum solver’s efficiency for steps closer toequilibrium and allow KMC to handle one or more steps which are far from equilibrium (such asfast RTA/ flash annealing, and so on) to take advantage of KMC’s accuracy.

Atomistic modeWhen KMC is in the atomistic mode, the data fields are handled completely atomistically. To select theatomistic mode at the very beginning of the simulation, use:

SetAtomistic

The SetAtomistic command sets the parameter AtomisticData to true, allowing the Sentaurus Processcommands diffuse, deposit, etch, implant, init, region, select, and struct to work in the atomistic modewhen possible, and/or properly synchronized KMC when the structure changes. Finally, SetAtomisticalso sets the diffuse mode as KMC, and the implant mode as MC implant.

When AtomisticData is true, KMC does not populate the data fields with its own results, unless instructedto do so (using kmc deatomize).

204

Page 225: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Restrictions

The following restrictions apply when using the atomistic mode:

The command line is disabled when the simulation is started because simulation boundaries cannotchange after initializing KMC.

Depositing doped layers works, but layers will not be doped.

No oxidation is allowed. The commands O2, H2O, or gas_flow are not allowed.

The command transform is not allowed.

When the atomistic diffusion model is selected, the rest of the process flow must be performed inthe same input file because the TDR file does not contain all information required to restart anatomistic simulation session.

The other commands work as expected, although the ones listed in Table 15 have been adapted tooperate in this mode:

Table 15 Commands adapted to work in atomistic mode

Command Extension

deposit Synchronizes the KMC structure with the new material.

diffuse If the parameter kmc is specified or Diffuse KMC is set to 1 in the pdb, diffuse calls the KMC module. If AtomisticData is not set to 1, a new KMC object is created, and it will be removed at the end of the diffusion step.

etch Synchronizes the KMC structure removing the etched material, its contained particles, and setting the material to gas.

implant Works in MC mode and sends the cascades directly to the KMC module. Dynamic annealing also is simulated during the implant using the KMC module.

init If a background concentration is specified, it is atomized and passed as particles to KMC.

region When region changes the material, KMC is synchronized.

select (Only when select creates a new field or modifies an existing one). If this field is known by KMC, KMC concentration of particles is synchronized with the value of the field, removing or creating extra particles.

strip KMC is synchronized with the new material. If there are particles in the stripped materials, they are removed.

struct Automatically deatomizes some KMC data fields to make them accessible when saving to a file.

205

Page 226: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Implant

The Implant option model MC must be used together with Sentaurus Process KMC. KMC needs thedamage morphology (coordinates of each point defect) for its damage accumulation model, and thisinformation is lost in analytical implants. The implant options MC and cascades are used by default inAtomistic mode. The implantation time also is needed because while implanting, Sentaurus ProcessKMC automatically performs diffusion at the specified temperature (default is ambient). Typically thetemperature and time during the implantation affect only slightly the distribution of dopants, but theymay affect damage accumulation, amorphization, and subsequent recrystallization and impurity clusterformation. The implant time is returned by the function DoseRate defined in the file implant.tcl. This timeis computed by default using a fixed dose rate.

For each implant dose and surface size, the number of implanted ions is computed. For example,1 x 1014cm–2 boron concentration in a simulation cell with a surface of 40 x 40 nm2 and 250-nm depthimplants 40 x 40 x 1 x 1014 = 1600 boron cascades (being a cascade one ion and all its generateddamage). The information is passed to KMC for annealing. These diffusion steps occur internally andare not user-specified.

Diffuse

For the first diffuse after the implant, the use of a small temperature ramp-up is recommended. The timefor this ramp-up should be chosen as realistically as possible. At the end of an implant, the simulationcell contains the implanted ions plus a large amount of damage (point defects). During the ramp-up, thisdamage recombines and forms different types of clusters. The use of a realistic ramp-up produces moreaccurate results.

You can set up the pdb parameters automaticRampUp and automaticRampDown to true to automatically performramps whenever the requested diffuse temperature is different than the current one. These ramps areperformed with a ramp rate specified by rampUpRate and rampDownRate in C/s:

sprocess> pdbGet KMC rampUpRate 100sprocess> pdbGet KMC automaticRampUp0

KMC performs different annealings at different temperatures during the ramp-up. The objective is toperform few large annealings at low temperature, and short ones at high temperatures. This maintains ahigh accuracy without spending too much time at low temperatures (changes in the temperature have aperformance penalty).

The way these ramp-ups are performed can be configured using the following parameters of the pdb:

sprocess> pdbGet KMC dTBase2.0sprocess> pdbGet KMC nInit1sprocess> pdbGet KMC dTLimit20.0

206

Page 227: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

The temperature steps for the highest temperature (the end of the ramp-up or the beginning of the ramp-down) are computed as:

(409)

being dTBase and nInit. For example, using the above parameters, in a ramp-down from600o to 500oC, the first annealing is done at 600oC – 21+0 = 598oC, the second one at598oC 21+1 = 594oC, … When is bigger than dTLimit, the value dTLimit is taken.

Non-atomistic modeKMC also can be used only for one diffusion step, synchronizing the status of the simulation before andafter the diffuse step. This is done with the kmc parameter in diffuse command as follows:

diffuse kmc temperature=<n> time=<n>

When KMC runs with AtomisticData set to false, a new KMC simulation is launched at the beginning ofthe diffuse command.

First, it receives the information (atomized from the data fields).

Then the diffusion is completed and, at the end of this command, KMC transfers the information toSentaurus Process as data fields.

Finally, the KMC information is removed from memory.

These transformations of information back and forth from concentrations to particles are performed bythe Tcl procedure preKMC diffuse and postKMC diffuse. These transformations may degrade the accuracy ofthe obtained results. By default, the transformation to continuum data is mapped to the ChargedReact(five-stream) model. You can edit and modify the Tcl procedures with your own transformations. Formore information on how to create and manipulate continuum and atomistic data, see the commandsselect on page 498 and kmc on page 456.

Simulation domainAll KMC simulations are performed internally in a 3D domain. If the Sentaurus Process structure is 1Dor 2D, the missing lateral dimensions are created automatically to form a 3D simulation domain forKMC. For a 2D structure, the extension in the z-direction is taken from MinZum and MaxZum. For a 1Dstructure, the default extension is MinYum to MaxYum and MinZum to MaxZum. To change the defaults values, use:

pdbSet KMC MinYum <n>pdbSet KMC MaxYum <n>

By default, the KMC simulation domain is the same as the Sentaurus Process simulation domain, exceptin the gas mesh on top of the simulation. The thickness of the gas mesh on the top is specified with theparameter GasUm, and by default is only 2 nm. Since the simulation domain for KMC should be as smallas possible, the gas mesh on the top should be thick enough for an interface or for depositing subsequent

ΔTbase( )ninit n+

ΔTbase ninit

ΔTbase( )ninit n+

207

Page 228: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

materials. Consequently, the KMC dimensions fit Sentaurus Process dimensions, except on the top.When you deposit materials out of the gas allowed in KMC, the simulation continues running, but KMCdisplays the following warning:

KMC. Minimum x size for the KMC simulation is -0.0865um but there are non gas materials in -0.11141.

The size of the KMC simulation domain is reported in the output, for example:

KMC domain (-0.0865, 0, 0) to (0.5, 0.15, 0.025) um

Recommended domain sizeFor 3D simulations of deep submicron transistors with twofold symmetry, you should make thesimulation domain size one quarter of the transistor. The KMC domain is automatically the same.

For a 1D simulation (that can be compared to SIMS data), KMC uses as small lateral domain sizes aspossible to save CPU time. However, simulation domains with lateral sizes smaller than 20 nm may betoo small to represent extended defects. If you are interested in a 1D profile with less statistical noise,you should increase the lateral size.

The lateral domain area is multiplied by the implant dose to obtain the number of ions implanted. Forhigh impurity concentration levels, you might get enough particles in a relatively small simulationdomain. For example, the implant dose of 1015 cm-2 creates 4,000 ions for the 20-nm-by-20-nm lateral.This might be enough to get low statistical noise, while any further increase in the 20-nm-by-20-nmlateral domain size only slows simulation.

To obtain good statistics for lower concentrations or lower doses, you must increase the lateral size ofthe simulation domain. For example, an implant dose of 1012 cm–2 creates only 4 ions for the 20-nm-by-20-nm lateral domain.

NOTE When using KMC, try to use the smallest domain possible. If the simulation is too noisy ornot representative, increase the lateral size. CPU time typically is proportional to the surfacearea. If a simulation with a 20 x 20 nm2 surface takes 5 minutes to finish, you can expect a40 x 40 nm2 simulation to take 4 times longer.

Internal gridKMC uses an internal grid to:

Store the geometry and material assignments of the structure being simulated.

Accelerate the search for possible interaction partners for each defect in the simulation.

208

Page 229: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Compute the electronic properties.

Be the minimum volume of amorphized silicon.

The KMC grid is a uniform tensor product grid with independent spacings in each axis direction. Theminimum size for each rectangular grid box is about 1 x 1 x 1 nm3 in size. The grid is built automaticallyand can not be adjusted by the user. This grid is the base to compute the concentrations written in theTDR file (using the kmc extract tdrWrite command).

The number of boxes in each direction is always a power of 2 and is reported in the output (withinfo = 2). For example:

KMC. 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 z-axes are 128, 8, and 8, and that the box sizes alongthose directions are 0.9375 nm, 1.25 nm, and 1.25 nm, respectively. The total number of boxes is limitedby the BitsBoxes parameter which can be changed with:

pdbGet KMC BitsBoxes <n>

The default value is 19 so that up to 219 boxes can be generated for the large structures.

RandomizationYou can investigate statistical variations of a process flow by selecting a different seed for the randomnumber generator used by KMC in each run. You can specify the value of the seed changing theparameter randomSeed in the parameter database:

pdbSet KMC randomSeed <n>

The seed can be set to any value from 0 to 31328.

Boundary conditionsSimilar to the continuum simulation models, by default KMC uses reflective boundary conditions at theleft, right, front, and back sides of the simulation domain. To change these conditions, use the parametersKMC PeriodicBC_Y and KMC PeriodicBC_Z.

There also is an option to use only periodic boundary conditions for extended defects like {311}s anddislocation loops. To define this option, set DebugFlag to 4 in the PDB. This option applies periodicboundary conditions only to the extended defects and still uses reflective boundary conditions foreverything else. You can use this option to reduce the lateral simulation domain for investigating 1Dsimulations. Even when the lateral simulation domain is comparable or smaller than the typical lengthof the extended defect, the periodic boundary conditions allow you to obtain meaningful results.

209

Page 230: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

NOTE This option should not be used for 3D simulations if there are lateral variations in geometryor profiles.

When KMC detects an improper choice of the periodic boundary conditions, it aborts the simulation (forPeriodicBC_Y and PeriodicBC_Z) or changes the periodic conditions (for DebugFlag):

** Warning **KMC. The material structure is not the same in the plane y=0 and y=ymax. Periodic boundary conditions for defects have been disabled!

The boundary conditions for the x-axis are mirror. You can transform them into a sink using theparameters sinkProbFront and sinkProbBack. These parameters are defined for any material. For example,to specify that 20% of the incoming positive interstitials should be sunk when reaching the maximumcoordinate in silicon, use:

pdbSet KMC Silicon I sinkProbBack IP 0.2

Estimating CPU timeCPU time and memory required for KMC diffusion simulation are directly proportional to the numberof particles in the structure. For a typical 2-GHz machine, KMC performs up to 1 million events (jumps)per second.

In equilibrium conditions without implant damage, concentrations of mobile species are low and eventsare few. Therefore, the simulation requires few events to reach the desired diffusion time and proceedsquickly.

For transient-enhanced diffusion after an implant step, it takes some time to anneal the implant damage.Depending on the implant conditions, each implanted ion generates up to 103 interstitials and vacancies.Each interstitial and vacancy makes up to 105 jumps before recombining at the surface. This means thatit takes about 1 second of CPU time to anneal 1 implanted ion.

NOTE The above numbers are only estimations. Current CPU speed differs depending on themachine, operative system, and other factors.

210

Page 231: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Atomistic diffusion simulation with KMC The non-lattice KMC technique tracks only atoms in defects, while lattice Si atoms are not included asshown in Figure 29.

Figure 29 KMC tracks only atoms in defects; lattice Si atoms are not included

In MD, all lattice atoms and all defect atoms must be simulated, but in non-lattice KMC (hereafterreferred to as KMC) only defect atoms are considered. Lattice atoms vibrate because of thermal energywith a high frequency, and occasionally one of the point defects diffuses and moves to a neighboringposition. KMC discards the lattice information and only follows the defect atoms. This greatly affectsCPU time, from approximately 10–13 seconds for lattice vibrations to approximately 10–9 seconds forfast diffusing particles. During diffusion, moving particles can be captured by extended defects that emitisolated particles with frequencies orders of magnitude smaller than frequency of point defects jumps.

KMC takes the input parameters of migration, binding, emission energies, and so on and simulates thefrequencies at which these different events occur. KMC starts with short time steps, but when thesimulation evolves and the fast moving point defects disappear, the average time step automaticallychanges to adapt to the new situation.

Single particles can move alone or belong to an extended defect, like a {311}. For self silicon pointdefects, in other words, interstitial and vacancy models, see Point defects, impurities, dopants, andimpurity paired point defects on page 223. For diffusing dopants, see Impurities on page 224. For siliconself extended defects, see Damage accumulation model: Amorphous pockets on page 230 and Extendeddefects on page 239. For clusters involving dopants, see Impurity clusters on page 254.

KMC unitsThe units used by KMC are:

Seconds (s) for time

Electron volts for binding energies (eV)

Atoms per cm3 for concentrations

cm2s–1 for diffusivities

211

Page 232: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

NOTE The units mentioned above are standard in atomistic and continuum simulators. Nevertheless,KMC internally uses a nonconventional unit to measure frequencies. Frequencies, aremeasured in diffusivity units in the input parameter files for consistency with migrationprefactors, which are in diffusivity units as well. But even for migration prefactors, which arein diffusivity units to easily compare them with experimental numbers, KMC must transformthem to frequency units in s–1. This is done using the expression: , where is theaverage jump distance.

Space management KMC assumes an orthogonal simulation cell to manage space. The maximum x-, y-, and z-dimensionsare passed to KMC as simulation parameters. KMC assumes that the x-axis is the depth of the siliconwafer; whereas, yz is the wafer area.

When KMC has the simulation cell size, it splits the space (see Figure 30) in a maximum ofboxes. KMC tries to divide each axis proportionally to its maximum length, whenever possible.

Each axis is divided in parts, so finally . This creates an internal gridinside the rectangular simulation boundary box. This grid is used only by KMC, and is fully isolatedfrom the Sentaurus finite element mesh. These rectangular elements cannot be smaller than twice thejump distance. The internal KMC grid is not customizable by the user. You can only specify the numberof maxbits as the parameter BitsBoxes.

Figure 30 KMC divides the a) space in b) small elements. In this example (projected in 2D) each axis uses 4 bits, giving 16 slides each for a total of 256 elements

KMC shows the number of elements in its output. For a small simulation, the output (info = 2) may be:

KMC. Boxes: X=16, Y=32, Z=32, 1.375nm x 0.78125nm x 0.78125nmKMC. Allocated 4.06323Mb of memory for 16384 boxes.KMC. Allocating 0.98304Mb. for storing mobile concentrations.KMC. Boxes volume (cm3) = 8.39233e-22 per particle conc = 1.19156e+21

υ 6Dλ2-------= λ

2maxbits

2x y z, ,m mx my mz+ + maxbits≤

212

Page 233: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

And for a large simulation, the output may be:

KMC. Boxes: X=128, Y=128, Z=32, 2.3125nm x 1.875nm x 3.75nmKMC. Allocated 159.384Mb of memory for 524288 boxes.KMC. Allocating 31.4573Mb. for storing mobile concentrations.KMC. Boxes volume (cm3) = 1.62598e-20 per particle conc = 6.15015e+19

Consequently, in the above example, the x and y-axis are split into 128 (27) parts, and the z into 32 (25)parts. KMC generated 128 x 128 x 32 = 524288 internal grid elements (boxes). The dimensions for eachof these boxes are 2.3 x 1.9 x 3.75 nm3, and their volume is 1.6 x 10–20 cm3. The total dimensions of thesimulation cell are 296-nm depth by 240 x 120 nm2. BitsBoxes is, at least, 19 (7 + 7 + 5). KMC also isreporting the memory allocated for these elements.

NOTE Memory allocation depends on the number of internal elements and on the number ofparticles. Since the number of internal elements is specified with the parameter maxbits,setting BitsBoxes larger than 20 is discouraged. The suggested value is 19.

Materials and spaceThe transfer of materials from Sentaurus to KMC is straightforward: each KMC element is assigned toa material type. KMC creates interfaces whenever two elements are set to different materials.Consequently, the shape and interfaces assigned by KMC depends on how smooth the shapes and howfine the internal elements (see Figure 31).

Figure 31 Interfaces between materials have a Manhattan structure in KMC. Each element is assigned to a material, and elements are always rectangular

KMC Original shape

213

Page 234: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Supported materialsKMC supports silicon (crystalline silicon), silicon oxide, poly silicon, nitride, and gas. Amorphoussilicon is also supported, but it is created automatically inside the crystalline silicon during simulationwhen the damage reaches an amorphization level (see Amorphization and recrystallization onpage 248).

Any other material existing in Sentaurus, but not recognized by KMC is mapped as “unknown.” Pointdefects (interstitials and vacancies), extended defects, impurity clusters, damage accumulation,amorphization, recrystallization, and the Fermi level–dependent diffusivity models are disabled in allmaterials except silicon. Only simple dopant diffusion is available for such materials.

Time managementThe main component in KMC is an algorithm that sequentially selects the possible random events(migration of point defects, emission of extended defects, and so on) according to their correspondingfrequencies, similar to the Bortz–Kalos–Liebowitz (BKL) algorithm. Figure 32 illustrates the selectionprocedure for the atomistic configuration shown in Figure 29, consisting on three vacancies (V), 2interstitials (I), and one {311} defect.

Figure 32 Events are selected according to their rates, which in turn, depend on the current atomistic configuration

Assuming the vacancy and interstitial migration frequencies are 1000 s–1 and 100 s–1, respectively, andthe {311} emission rate is 10 s–1, to simulate 1 second, you have to simulate a total of 3210 events.Consequently, simulating one event corresponds to simulating 1/3210 seconds. This implies that thesimulated time step is not fixed, but depends on the particular simulation configuration. In addition, youmust choose a V with a probability of 3000/3210, and Is and {311} defects with probabilities of 200/3210 and 10/3210. A random number between 1 and 3210 (or 0 and 3209) is generated. For example, inFigure 32, the number 3147 selects an I migration event.

After several migration events, when one interstitial reaches an interacts with a vacancy, the simulatorgenerates an IV pair called “Amorphous Pocket (AP)” (see Damage accumulation model: Amorphouspockets on page 230). The simulation contains 2 Vs, 1 Is, 1 IV, and 1 {311}. You can assume the IV pairwill recombine with a frequency of 500 s–1. The new random number will be between 1 and2000 + 100 + 500 + 10 = 2610. Consequently, the time step will be 1/2610 second. If the IVrecombination event is chosen and this IV pair is annihilated, the new simulation contains only 2 Vs, 1 Iand 1 {311}, and the following time step is 1/2110 second.

214

Page 235: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

NOTE The time step is not a fixed quantity in KMC, but depends on the state of the simulation.

The current time step depends on two factors:

Number of particles in the simulator

Frequency of the events associated to the particles and/or defects

And these frequencies depend on three factors:

Type of event

Arrhenius plot associated with the event

Temperature

Simulation and CPU timesThe time needed to complete a simulation depends on two factors:

How fast the computer simulates one event

How many events need to be simulated

The number of events to be simulated is inverse to the average time step (which changes during thesimulation, as explained above). The speed at which the simulator processes events depends on the typeof simulated events. Migration events usually are simulated rapidly. Simulations involving changes inthe electronic concentration and/or temperature are much slower because updating the dependencieswith the temperature and the Fermi level takes extra time. Generally the smaller the simulation, theshorter the time.

In simulations with implants, the implant MC module also adds time to the simulation while computingthe cascades. In amorphizing conditions, the KMC amorphous model requires extra time to smooth outthe damage and create amorphous layers. Finally, simulations with strong gradients in the electronicconcentration need more charge updates, which takes extra time.

NOTE You can estimate the time needed for simulation by running a small simulation and assumingthe CPU time is proportional to the number of particles (proportional to the surface area) andto the number of internal elements (proportional to the volume of the simulation cell).

215

Page 236: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Reported timeKMC shows the status of the current simulation printing log messages each time the temperaturechanges during a temperature ramp, or whenever there is a new “snapshot” (defined below). These logmessages are as following:

Time(s) Temp(C) Events Events/s Average step(s) %Done100.001 950.00 4445703576 1977824 5.230255e-08 16.67%

215.444 950.00 6710221692 1885527 5.097900e-08 35.91% 464.159 950.00 11408194968 2073245 5.294101e-08 77.36% 600.000 950.00 14024558715 2209766 5.191978e-08 100.00%

In the above example the total simulated (annealed) time is 600 seconds. The (current) temperature is950oC. A total of 1.4 x 1010 events has been simulated so far, and the simulator processed 2.2 millionevents each CPU second. Finally, the averaged time step is 5.2 x 10–8 seconds. This information maychange from one simulation to another, and also at different times during the same simulation. Theevents per second and average step statistics are recomputed between sentences.

Snapshots

A snapshot is an interruption of the normal KMC simulation flow to print the status of the simulationand to allow the user to run a customizable Tcl command (see Movie on page 217). To control theseinterruptions, set the following pdb parameters:.

For example:

pdbSet KMC Decade 2

produces two snapshots per decade, as in:

Time(s) Temp(C) Events Events/s Average step(s) %Done0.000 26.85 0

548.138 700.00 1 5.481385e+02 0.05% 1492.073 700.00 5 2.359835e+02 0.15% 3639.863 700.00 7867 2.731862e-01 0.36% 10130.431 700.00 14553 9.707701e-01 1.01% 31902.727 700.00 35862 1.021742e+00 3.19% 100030.228 700.00 205821 169959 4.008467e-01 10.00% 317268.817 700.00 668173 4.698554e-01 31.73% 1000000.000 700.00 1754838 1086665 6.282812e-01 100.00%

Table 16 Snapshot parameters

Parameter Description

Every <n> Instructs KMC to generate a snapshot every n simulated events.

Decade <n> Sets how many snapshots will be generated per decade. 0 disables it.

InitOutputTime <n> No snapshots per decade are generated when the simulated time is smaller than n.

216

Page 237: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

and:

pdbSet KMC Every 5e5

creates a snapshot every half million simulated events:

Time(s) Temp(C) Events Events/s Average step(s) %Done0.000 26.85 0

246535.050 700.00 500000 500000 4.930701e-01 24.65% 488354.200 700.00 1000000 4.836383e-01 48.84% 844742.600 700.00 1500000 500000 7.127768e-01 84.47% 1000000.000 700.00 1754838 6.092396e-01 100.00%

Movie

KMC movie command is similar to the Sentaurus movie command and executes the contents of theparameter KMC Movie any time a new snapshot is generated. You can use this command interactively toget information on the simulation, to add data to the KMC TDR file, and so on.

For example, it can be used to add concentration information and positions of particles to the TDR fileduring the simulation:

pdbSet KMC Movie {kmc extract tdrAdd concentrations defects}

or to plot the evolution of damage while the simulation is still running:

pdbSet KMC Movie {kmc deatomize name=ITotal; sel z=log(ITotal+1); plot.1d label=I clear;kmc deatomize name=VTotal; sel z=log(VTotal+1); plot.1d label=V !clear}

Time internal representation and limitationsFor computational reasons, KMC stores the frequency of events as 128 bits integer numbers. It impliesthat there is a minimum frequency that can be simulated (integer number 1) which corresponds to3 x 10–16 Hz. It also implies the existence of a maximum limit of 1 x 1010 particles with a maximumfrequency of 1 x 1013 Hz. These limits are big enough to allow any realistic simulation.

ParticlesParticles are represented in KMC 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 when they stand alone.

217

Page 238: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Particle typesTo get a list of the particles currently defined for KMC, use the following command:

sprocess> kmc particletypesI V B As C F In P IM IP VMM VM VP VPP Asi AsiP AsV AsVP AsVM Bi BiP BiM Ci FV FI Ini IniM InV InVM Pi PiP PV PVM PVP

Dopants are used-defined in KMC, while interstitial and vacancies are fixed and cannot be customized.The list of interstitials and vacancies defined in KMC is:

The dopants are defined in the parameter database. By default, particles for As, B, P, In, C, and F aredefined. For example, the default particles for As, B, and P are:

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

Asi Interstitial arsenic–neutral

AsiP Interstitial arsenic–positive

AsV Vacancy arsenic–neutral

AsVM Vacancy arsenic–negative

AsVP Vacancy arsenic–positive

B Substitutional boron–negative

Bi Interstitial arsenic–positive

BiM Interstitial arsenic–positive

BiP Interstitial arsenic–positive

P Substitutional phosphorus–positive

Pi Interstitial phosphorus–neutral

PiP Interstitial phosphorus–positive

218

Page 239: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Particles in models

The dopants allowed in the simulation are defined in the parameter database under the label KMCImpurities. The database lists the impurity name, the charge, and a Boolean parameter indicating if theparticle is allowed in the KMC simulation or not. The particle name and the charge must be delimitedby a comma without spaces. For example, in the case of arsenic and boron:

As,1 trueB,-1 true

When the dopant type has been defined, the paired particles (particles with I or V) can be defined in KMCPairs. The definitions are a string containing the name of the pair, the name of the dopant, the type ofpair (I or V) and the charge. These fields are separated with commas. Finally, a Boolean parameterinstructs KMC to take the particle into account. For arsenic and boron:

Asi,As,I,0 trueAsiP,As,I,1 trueAsV,As,V,0 trueAsVP,As,V,1 trueAsVM,As,V,-1 trueBV,B,V,0 falseBi,B,I,0 trueBi,B,I,0 trueBiP,B,I,0 trueBiM,B,I,-1 true

In the previous example, the particle boron vacancy is not defined (set to false). A particle is not definedwhen it does not appear in the Pairs list, or when its Boolean variable is false.

The following rules must be followed when defining particles:

The dopants used in the definitions of Pairs must exist in the list of impurities

A charge n can only be defined when a charge n –1 or n + 1 is already defined, except for pairs withsame charge states than their dopants.

Charge states without possible pairing reactions can be defined.

The charge must be –1, 0, or +1.

Pairs with neutral state; and with the charge of its dopant, always must be defined.

For example, when As+ is defined as an impurity, AsV+ can be defined. The existence of AsV+ allowsyou to define AsV0, and now AsV-. AsV-- cannot be defined (no charge –2). For B- you can define Bi

-,Bi

0 and Bi+, but since Bi

+ cannot be reached, no breakup for it is possible (in other words, Bi+ –> B- +

I++, but there is no I++).

PV Vacancy phosphorus–neutral

PVM Vacancy phosphorus–negative

PVP Vacancy phosphorus–positive

219

Page 240: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Alias

Particle name aliases are defined in KMC aliases which is a list of particle names and alternative namesseparated by commas. These aliases are only used when KMC tries to map a name as particles or defects.For example, if there is an alias like:

Bi BoronInt,BI

the commands:

kmc present defectname=Bikmc present defectname=BI

are the same, and:

sel z=1e19 name=Bisel z=1e19 name=BIsel z=1e19 name=BoronInt

create fields with different names, but the atomized particle are the same (Bi).

Colors

You can change the default Sentaurus visualization color for the atomistic representation of particlesand/or defects or add new colors to existing particles and defects. The list of colors is KMC colors, and itis an array of particle names and colors in #rrggbb format (red, green, blue).

Particles and parameters

New particles need new parameters. For every impurity specified in Impurities, a new file must becreated for each material folder. The name of these files is obtained using the command alias with thename of the KMC impurity as a parameter:

sprocess> alias BBoron

The parameters required for non-silicon materials are listed in Table 17.

Table 17 Non-silicon material parameters

Parameter Description

Dm, Em Diffusion parameters.

Db, Eb Leave it blank.

sinkProbFront, sinkProbBack Boundary conditions.

h0_surf, Eh_surf, ea0_surf, Eea_surf, Nmax_surf Interface between the material and silicon.

S0seg, Eseg Segregation between the material and silicon.

220

Page 241: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

The parameters required for silicon materials are listed in Table 18.

For further explanations on these parameters, see the comments in the parameter database and the modeldescriptions.

Removing particles

Particles can be removed erasing their definition in the pdb or setting its Boolean to false. If a impurityis undefined or erased, KMC disables all its pairs.

For example, to undefine indium in a simulation:

pdbSet KMC Impurities In,-1 false

To undefined only boron interstitial with positive charge:

pdbSet KMC Pairs BiP,B,I,1 false

NOTE Undefining particles that will not be used in the simulation saves memory and CPU time. Ifa undefined dopant is used, it causes an error.

Table 18 Silicon material parameters

Parameter Description

Dm, Em Diffusivities

Db, Eb Binding energies

e0 Electronic levels

recrysDeposit, recrysMaxActive, recrysMaxSize Solid phase epitaxy regrowth model (recrystallization).

Implement_Complex?, Etotal_Complex?, EbarrierB_Complex?, EbarrierF_Complex?

Impurity clusters parameters. ? can be I or V

C0sol, E0sol Solubility needed for the interface model

sinkProbFront, sinkProbBack Boundary conditions

ReactionsPointDefect, ReactionsCluster, ReactionsClusterI, ReactionsClusterV, ReactionsClusterIV, ReactionsLoop, ReactionsVoid, Reactions311

Binary reactions.

221

Page 242: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Defect typesFor a list of the defects implemented in KMC, use the command:

sprocess> kmc defecttypesPointDefect AmorphousPocket Amorphous Void ThreeOneOne Loop ImpurityCluster Interface

Defects implemented in KMC include the following listed in Table 19.

NOTE Not all possibilities of particle and defect types are allowed. Some particle types, like thepaired ones (Asi, BiM...), are only allowed as PointD. Others, like As or B can stay alone(PointDefect), trapped in interfaces (Interface) or may belong to an impurity clusters(ImpurityCluster). Neutral interstitials, for example, can stay alone (PointDefect), in damagedclusters (AmorphousPocket), {311} defects (ThreeOneOne) or dislocation loops (Loop). Singleparticles can be mobile point defects (in other words, interstitials and vacancies), immobileimpurity atoms (like substitutional boron and arsenic), and also mobile impurity-defect pairslike Bi or AsV. All are considered PointDefect.

Table 19 Defects implemented in KMC

Defect Description

Amorphous Amorphous region inside the crystalline silicon. Only I, V, and dopants are allowed. See Amorphization and recrystallization on page 248.

AmorphousPocket Disordered agglomeration of Is and Vs (damage). Only I and V particle types are allowed. See Damage accumulation model: Amorphous pockets on page 230.

ImpurityCluster Impurity clusters. Agglomeration of dopants with Is or Impurity clusters on page 254.

Interface Dopants trapped in the interfaces (for example, Si/SiO2). See Interfaces and surfaces on page 275.

Loop Dislocation loops. Extended Is defect. Only Is. are allowed. See Dislocation loops on page 242.

PointDefect Single particles (IM, I, IP, VMM, VM, V, VP, VPP, As, B) or paired ones (Asi, AsiP, AsVM, AsV, AsVP, BiM, Bi, BiP) that do not belong to any extended defect or particle agglomeration. in other words, impurities, dopants, and impurity paired point defects.

ThreeOneOne {311} rod-like extended defects. Only Is. are allowed. See {311} Defects (ThreeOneOne) on page 239.

Void Vacancy clusters with spherical shape. Only Vs are allowed. See Voids on page 245.

222

Page 243: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Point defects, impurities, dopants, and impurity paired point defects

Interstitials and vacanciesInterstitials and vacancies in KMC perform a diffusion event at a frequency given by the followingexpression:

(410)

being the prefactor and the migration energy. These parameters are called Dm (prefactor) and Em(energy) in the parameter database, and they are defined only for silicon:

sprocess> pdbGet KMC Si I DmIM 5e-2I 5e-2 IP 5e-2 sprocess> pdbGet KMC Si I EmIM 0.8I 0.8 IP 0.8

NOTE You can calibrate these parameters if necessary to change the point defect diffusivity and DCproduct.

KMC simulates point defect migration modifying the particle coordinates in the orthogonal directions afixed distance, called , which corresponds with the second neighbors distance in the silicon lattice(0.384 nm).

After each diffusion event, the charge state of the point defect is updated according to the new localFermi level (see Fermi-level effects: Charge model on page 263 and Updating charged states onpage 268). Whenever a jumping point defect encounters another particle, defect, or interface, thejumping point defect interacts according to the specific situation. These interactions are alloweddepending on the following:

Incoming species—for example, substitutional boron plus interstitial (B + I) is allowed, and theincoming species form a boron interstitial. Boron plus vacancy is not allowed. This interactions canbe enabled or disabled in the parameter database.

Energetics—KMC allows interactions for {311} defects, dislocation loops, and pairing because thebinding energies are >0. For impurity clusters, if the reaction is unfavorable, the newly formeddefect breaks up and dissolves in the original components or is rejected before reacting.

Charge states—interactions between repulsive species are forbidden, except for the “percolation”model, see Percolation on page 256.

νm ν0 m, Em kBT( )⁄–( )exp⋅=

ν0 m, Em

λ

223

Page 244: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Mobile particles can interact with other mobile particles or with the particles belonging to extendeddefects, whenever they enter in the capture radius of the other particle or defect (see Figure 33). Thecapture radius for a mobile particle is , assumed to be the same as the jumping distance. For extendeddefects, the capture volume is the sum of the capture volumes of its constituent particles. Mobileparticles can interact with surfaces/interfaces as explained in Interfaces and surfaces on page 275.

Figure 33 Point defects diffuse by jumping a distance in any orthogonal direction and can interact with neighbor particles

ImpuritiesIsolated impurities in KMC can be in a substitutional state or may be paired with interstitials orvacancies. Substitutional impurities are electrically active and typically immobile. The acceptor anddonor impurities (Groups III and V of the periodic table, respectively) can move in silicon only viapairing with an interstitial or a vacancy, as shown in the literature [48][49][50][51][52]. Otherimpurities, like fluorine, may diffuse without the aid of an extra I or V (see Impurities diffusing withoutpairing on page 284).

Impurity atoms are modeled similarly to interstitials or vacancies. They have a 3D position and a defecttype and particle type. The defect type is PointDefect, and the particle type characterizes the species,charge state, and the presence of a paired I or V. For example, BiM indicates a negatively charged boronpaired with an interstitial.

NOTE KMC assumes interstitial particles and substitutional particles paired with an interstitial as thesame configuration; in other words, Bi is the same as IB or BI, and there is only one position(three coordinates) for it.

λ

λ

224

Page 245: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Paired impurities can perform two possible types of events (see Figure 34):

Diffusion jump

Breakup of the impurity-defect pair

Figure 34 Impurity pairs can diffuse or break up in a substitutional plus an interstitial or vacancy

NOTE Fluorine is modeled as an interstitial particle. Consequently, F diffuses without pairing. SeeImpurities diffusing without pairing on page 284.

Migration (diffusion)

The diffusion event is defined as for point defects (see Eq. 410). Nevertheless, the equation defines an“instant” diffusivity which is different from the “effective” diffusivity. Effective diffusivity measured inexperiments involves a large number of microscopic migration steps and long times. Microscopically,dopants diffuse using the “kickout” mechanism. For example, when a interstitial reacts with asubstitutional boron, a boron interstitial pair is generated: . In contrast with the boron insubstitutional position, the generated pair is mobile. Then, begins to diffuse, using the diffusivityparameters specified in Eq. 410. After some time, the interstitial boron breaks up, releasing theinterstitial. This boron will not move until a new incoming I reacts with it. Consequently, themacroscopic diffusivity is related not only with the boron interstitial diffusivity, but also with its breakupfrequency as:

(411)

depends on the Bi and I migration prefactors and on the Bi breakup prefactor. is relatedwith the Bi microscopic migration energy , the formation energy of an interstitial andthe Bi binding energy :

(412)

B I+ Bi→Bi

Deff B( ) D0eff B( )

Ediff B( )kBT

--------------------–⎝ ⎠⎛ ⎞exp=

D0eff B( ) Ediff B( )

Em Bi( )( ) Ef I( )( )Eb Bi( )( )

Ediff B( ) Em Bi( ) Ef I( ) Eb Bi( )–+=

225

Page 246: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Finally, the total boron diffusivity is given as the sum of the contribution of all mobile species. For boroninterstitial, and assuming there are three mobile species, negative, neutral, and positive:

(413)

Breakup

The breakup event for an interstitial-impurity pair can be described as:

(414)

where is an interstitial-impurity pair, is a substitutional impurity atom, and is an interstitialsilicon atom. This breakup event happens with a frequency given by:

(415)

where is the prefactor and the activation energy, defined as the binding energy plus themigration energy of the emitted species:

(416)

Figure 35 shows the energies involved in this mechanism.

Figure 35 Energies involved in the kickout mechanism for B-+ I0 = Bi-. Migration energy of the interstitials and boron

interstitial are specified in the parameter database as Em. The binding energies are Eb, and the I formation energy is specified as Eform. The formation energy for dopants is not specified because they are already in the simulation; they are not created by the system.

Parameters

The dopant diffusion parameters are stored in the parameter database for each material and dopant, underthe names Dm, Em for diffusivities, and Db, Eb for binding energies. Dm and Db are prefactors, Em and Ebenergies.

D B( ) D Bi-( )

Bi-[ ]

B-[ ]---------- D Bi

0( )Bi

0[ ]

B-[ ]----------- D Bi

+( )Bi

+[ ]

B-[ ]-----------+ +=

Ai As I+↔

Ai As I

νbk ν0 bk, Ebk kBT( )⁄–( )exp⋅=

ν0 bk, Ebk

Ebk Ai( ) Eb Ai( ) Em I( )+=

226

Page 247: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

The following parameters can be changed:

pdbSet KMC <material> <Dopant> Dm <particle type> <value>pdbSet KMC <material> <Dopant> Em <particle type> <value>pdbSet KMC <material> <Dopant> Db <particle type> <value>pdbSet KMC <material> <Dopant> Eb <particle type> <value>

For the migration energy and prefactor, the specified material must store particles (in other words, anymaterial except gas and unknown). For binding energies, only the silicon material is valid.

Immobile species (substitutional dopants) have the migration prefactor set to 0, and the migration energyhigh, to clarify that the species will not perform diffusion steps. Finally, since KMC assumessubstitutional atoms to be ionized (in other words, and ), the binding parameters (both theprefactor and the binding energy) are only defined for pairing reactions with a neutral I or V, like

or . The binding energies for the other breakup reactions are computedautomatically using these parameters.

Parameter examples

Silicon migration energies of boron particles:

sprocess> pdbGet KMC Si B EmB 5.BiM 0.5 Bi 0.25 BiP 1.1

Prefactors of the above energies:

sprocess> pdbGet KMC Si B DmB 0. BiM 1.e-3Bi 1.e-3 BiP 1.e-3

Migration energies for boron in oxide. The only allowed boron particle is B.

sprocess> pdbGet KMC Oxide B EmB 3.53

Binding energy of boron in silicon:

sprocess> pdbGet KMC Si B EbBiM 0.3

and prefactor:

sprocess> pdbGet KMC Si B DbBiM .37

Finally, the binding energy cannot be defined for any material but silicon, the result should be blank:

sprocess> pdbGet KMC PolySilicon B Eb

B- As+

B- I0+ Bi-→ As+ V0+ AsV+→

227

Page 248: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

NOTE You can change these parameters whenever it is necessary to calibrate intrinsic and extrinsicdopant diffusivity under equilibrium conditions. For nonequilibrium conditions, you also canchange the extended defects if necessary.

Enabling and disabling interactionsInteractions between particles are important in KMC. Whenever one mobile particle jumps into anotherparticle, KMC tries to make both particles interact. These interactions may or may not be possibledepending on when the interaction is allowed and when it is energetically possible.

The interactions allowed between one mobile particle and other particles are specified in the parameterdatabase as the parameter ReactionsPointDefect. The interactions between this type of defects areassumed to be always energetically favorable. Consequently, changing the parameterReactionsPointDefect is the only way to establish whether or not a moving particle will interact with other(mobile or immobile) particles. To change this parameter, use:

pdbSet KMC <material> <dopant> ReactionsPointDefect <string> <true/false>

This parameter needs a string and Boolean value. The Boolean value specifies if the interaction isallowed (true) or not (false). The string contains the name of the two interacting particles, separated bya comma. For example:

sprocess> pdbGet KMC Si C ReactionsPointDefectC,I trueC,V falseC,Ci trueCi,I trueCi,V trueCi,Ci true

So the interaction between C and V is disable in this example. To enable it, use the command:

pdbSet KMC Si C ReactionsPointDefect C,V true

When enabling an interaction, the result does not have to be specified because KMC already knows it.The possible interactions results are:

PointDefect Pairing reactions, in other words, dopants pairing with interstitials or vacanciesto generate dopant-interstitial or dopant-vacancy particles. For example, B + I,or As + IM.

AmorphousPocket Reaction of interstitials and/or vacancies between them. For example, I + IM,I + V, or V + V. They involve both damage formation (mixed I and V) and smallcluster creation (only I or V).

ImpurityCluster Reactions involving the formation of impurity clusters, in other words, when theresult has dopants and interstitials or vacancies with two or more of each. Forexample, Bi + I or AsV + AsV.

228

Page 249: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

The reactions for each single charged state must be introduced, so the charged I also interacts with Vand with other charged states of V:

sprocess> pdbGet KMC Si I ReactionsPointDefectI,V trueI,VM trueI,VMM trueI,VP trueI,VPP trueIP,V trueIM,V trueIM,IP true(...)

All interactions are listed in the parameter database. With that list of interactions, you can understandwhich reactions are considered and how they work.

Interaction rules

KMC does not accept all possible interactions within every two particles, but only interactions with aphysical meaning, or with an available model. Consequently, the following rules apply:

Reactions must include existing particles.

Reactions are only allowed in silicon.

Reactions for a pair must be defined in the file of the involved dopant (for example, a reaction withBi must be in the boron file, not in interstitial).

If the result of a reaction does not exist, the reaction is discarded. (in other words, the reaction C +V is specified, but the particle CV is not defined).

Repulsive reactions are not allowed (like Bi- + Bi-) except for “percolation” models (like As + As orB + B). See Percolation on page 256.

Reactions must satisfy microscopical reversibility; for example, if the reverse reaction is notpossible, the reaction is discarded.

Reactions creating impurity clusters must give a neutral result. For example, Bi + Bi is allowed;whereas, Bi + BiM is not.

Only reactions producing a PointDefect, ImpurityCluster, or AmorphousPocket are allowed. Forexample, Bi + C will not create any of the mentioned defects, producing a error message.

ExamplesThe interactions for boron are:

sprocess> pdbGet KMC Si B PointDefectReactionsB,I trueBi,I trueBi,V trueBiM,V trueBiP,V true

229

Page 250: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

B,BiP trueB,IP trueBi,Bi trueBi,VM trueBi,VMM trueBi,VP trueBi,VPP trueBiM,VP trueBiM,VPP trueBiP,VM trueBiP,VMM true

B and I can react, giving a mobile Bi particle. B and IP also give a Bi particle. The charge state of theresulting Bi particle is computed automatically by KMC depending on the Fermi-level, temperature, andBi levels in the bandgap. B- + IM is an electrostatically repulsive reaction, and is not allowed.

Bi possible charge states are neutral, positive, and negative. The reactions for these also states should bespecified. Bi and its different charges can react with I, V, and Bi. Bi + I produces an impurity cluster. Onlyreactions microscopically reversible are allowed. Because a BI2 cluster breaks up as Bi + I, this is theonly allowed reaction. Bi + V recombines the IV pair, depositing substitutional boron. All nonrepulsivereactions between Bi and V are allowed, and all are specified in this example. Finally, there are more waysto produce impurity clusters including BiP + B, producing a neutral B2I (B has negative charge), and Bi +Bi gives B2I2.

The reaction B + V is not specified here. Typing B,V false produces the same effect. Setting this reactionto true implies defining a BV particle (and its parameters), and specifying reactions for this BV particle,like BV + I -> B.

NOTE Only expert users should change the default interaction list because improper modificationscan produce wrong results.

Damage accumulation model: Amorphous pocketsDamage accumulation evolution, that is, the evolution of small interstitial and vacancy clusters after ionimplantations, is a crucial step that affects the subsequent formation of extended defects and impurityclusters. This accumulation generates the transient enhanced diffusion of commonly used dopants, suchas boron.

Experimentally, electron irradiation and light ions implant create isolated point defects inside the silicon.In contrast, heavy ions generate high disordered regions, called amorphous pockets, (APs), as aconsequence of the implanted cascades. Depending strongly on the temperature, ion mass, and dose rate,this disordered region can dissolve as a result of internal recombination or can grow until an amorphouslayer is created. The activation energy for annealing this damage varies in the literature, 0.9 eV [53] atroom temperature, 1.2 eV for 400o to 550oC, but it is much less than the 2.7 eV reported for trulyamorphized amorphous layers. This means the damage accumulation depends on the dynamicannealing, ripening, and dissolution history of the APs during the implant process. This annealing canhave a quasi-continuum range of activation energies.

230

Page 251: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

There is much discussion on how this damage is annealed. Some literature points to an annealing of thedisordered region [54] APs via an internal recombination of IV pairs rather than through the emission ofpoint defects. Only when the AP does not contain further IV pairs, does it begin to emit its remaining Isor Vs, behaving as a small I or V cluster.

KMC simulates the damage accumulation using APs, disordered collections of point defects (Is and Vs)stable at low temperatures. APs dissolve fast at higher temperatures, leaving only clusters with the netexcess of Is or Vs APs can contain IV pairs or only Is and Vs. In the first case, APs try to recombine thepairs; in the second, APs behave as small clusters and can emit their constituent particles. Whenever anAP containing only Is or Vs (but not IV pairs) reaches a threshold size, the AP transforms into anextended defect ({311}’s for Is, voids for Vs).

APs can grow capturing new incoming point defects. APs can dissolve by internal recombination of IVpairs or by particle emission when there are no more IV pairs (see Figure 36).

Figure 36 Growth of APs showing their internal recombination

231

Page 252: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

ShapeAPs have an irregular shape. KMC does not reshape the incoming particles in any special shape, andparticles are left in their incoming positions. Figure 37 shows some APs resulting from an implantedcascade.

Figure 37 APs formed in KMC after some implanted as cascades: interstitials are red, vacancies are green, arsenic is yellow

GrowthAPs capture any incoming point defect (I or V) within their capture radius. The capture radius of APs isthe sum of all their constituent particles. Point defects with any charge state are captured by APscontaining both Is and Vs. Only neutral Is or Vs are captured when APs contain only Is or only Vs.

RecombinationAPs containing IV pairs (in other words, APs with both interstitials and vacancies) can recombine pairsvia a recombination event, which recombines one I with one V at a time. This event is performed with afrequency given by:

(417)

where the prefactor is called D0_AmorphousPocket in the parameter database and size is the size ofthe cluster: the number of IV pairs contained. is an exponent called ExponentAmorphousPocket. depends on the size (number or IV pairs) of the AP, and is specified as a list of energies for each size(Eb_AmorphousPocket). The different sizes are specified as IxVx. For sizes higher than the last specifiedsize, the recombination energy, E_recryst, is assigned automatically.

νdiss ν0 diss, sizeβ E– diss size( )/ kBT( )( )exp⋅=

ν0 diss,β Ediss

232

Page 253: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Parameters

The parameters needed by the damage accumulation model are specified using:

pdbSet KMC Si Damage <Parameter> <value>

An example of these parameters is:

sprocess> pdbGet KMC Si Damage D0_AmorphousPocket0.0005sprocess> pdbGet KMC Si Damage ExponentAmorphousPocket0.66sprocess> pdbGet KMC Si Damage E_recryst2.7sprocess> pdbGet KMC Si Damage Eb_AmorphousPocketIV 0.68I2V2 0.7I3V3 0.72I4V4 0.74(...)

NOTE You can change these parameters to calibrate the damage accumulation model. Current valuesmay be different from the ones listed here.

EmissionWhen all IV pairs have been recombined, APs behave as small I or V clusters, allowing the emission oftheir extra constituent particles. These defects emit neutral Is or Vs particles with a frequency given by:

(418)

The prefactor is proportional to the input parameter D0_Cluster, but also includes a dependency on thesize of the cluster. The activation energy for emission of an X (in other words, either I or V) is:

(419)

the sum of the binding energy (that depends on the cluster size) and the migration energy. The clustersize is defined as the number of contained Is or Vs (see Figure 38 on page 234).

νemit ν0 emit, E– emit size( )/ kBT( )( )exp⋅=

Eemit Eb X( ) Em X( )+=

233

Page 254: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Figure 38 Energies involved in the emission of an interstitial from a n size cluster

D0_Cluster is the constant proportional to the emission prefactor, and Eb_Cluster is the cluster bindingenergy, where dependency with size is explicitly assigned. For sizes not specified, the binding energiesare computed using the Eq. 420:

(420)

(Eb_LargeCluster) is the binding energy for the largest cluster, (Eb_SmallestCluster) for thesmallest one (size 1) and a (exponent_Cluster) is the exponent, usually 2/3 or 3/4. Figure 39 shows somebinding energy values and compares them with the numbers obtained using Eq. 420.

Figure 39 Interstitial (left) and vacancy (right) binding energies; discrete values are assigned in the pdb; the continuum energies are computed using Eq. 420

Eb size( ) Eb L, Eb L, Eb S,–( )sizea size 1–( )a–2a 1–

-------------------------------------------–=

Eb L, Eb S,

234

Page 255: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Parameters

The parameters for Is and Vs emission are specified only for the silicon material. They can be found inthe interstitial and vacancy files included in the parameter database:

Prefactors:

sprocess> pdbGet KMC Si I D0_Cluster150.0sprocess> pdbGet KMC Si V D0_Cluster 10

Energies:

sprocess> pdbGet KMC Si I Eb_ClusterI2 2.45I3 2.45I4 2.62(...)sprocess> pdbGet KMC Si V Eb_ClusterV2 1.4V3 1.4V4 2.4(...)

And parameters for the Eq. 419:

sprocess> pdbGet KMC Si I Eb_SmallestCluster2.51sprocess> pdbGet KMC Si I Eb_LargeCluster3.09sprocess> pdbGet KMC Si I exponent_Cluster0.75sprocess> pdbGet KMC Si V Eb_SmallestCluster1.5sprocess> pdbGet KMC Si V Eb_LargeCluster3.7sprocess> pdbGet KMC Si V exponent_Cluster0.6667

NOTE When changing these parameters, their values not only affect the damage accumulationmodel, but also the interstitial and vacancy supersaturation and, consequently, the transientenhanced diffusion (TED). Because the damage accumulation model is the seed forsubsequent extended defects or recrystallization, these values also affect the formation ofextended defects. The emission prefactor constant is shared with the impurity clusters.

235

Page 256: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Amorphous pockets life cycleWhenever two point defects (I + I, V + V or I + V) interact with each other, an AP is generated. Whenthe AP is formed, subsequent incoming Is or Vs are captured and added to the AP. If the AP contains atleast one IV pair, the AP recombines the IV pairs. The IV pair frequency depends on the number of IVpairs present in the AP. If there is only Is or Vs in the AP, it emits Is or Vs. The evolution of APs canfollow three paths:

APs can dissolve recombining internal IV pairs, emitting point defects, or both.

AP containing only Is or Vs may be transformed into extended defects: {311} defects for Is andvoids for Vs.

If the concentration of some of the boxes (the internal KMC grid elements) containing the APreaches a concentration threshold, the element is considered amorphous and its particles areremoved from the AP. Consequently, APs only exist in crystalline silicon.

For example, assuming there is an AP with two Vs and seven Is (I7V2), since the AP contains both Is andVs, the only possible event is the recombination of IV pairs. The first IV pair recombines with therecombination energy assigned to size 2, leaving an I6V1. The second recombination energy, with arecombination energy assigned to size 1, leaves an I5 AP. This AP begins to emit Is, with a frequencyassociated to its size (5). However, if it captures a V, it becomes an I5V1 and must recombine the IV pairwith an associated recombination size of 1.

An AP must satisfy the following conditions before being transformed into a {311} or void:

Can only contain Is or only Vs, but not both.

Has to be bigger or equal than a threshold size.

The transition must be enabled.

The threshold size is specified with the parameters Min311Size and MinVoidSize for Is and Vs, respectively.The transition is enabled by a value between 0 and 1. This value is computed as:

(421)

The prefactor E0 is specified as D0_APto311 for {311}s and D0_APtoVoid for voids, and the energies asE_APto311 and E_APtoVoid. For P=0 the transition is disabled, and for P = 1 is enabled. For P >1 the valueis rounded to 1. Values between 0 and 1 establish a probability for the transition.

Parameters

Minimum sizes for the transitions:

sprocess> pdbGet KMC Si I Min311Size33sprocess> pdbGet KMC Si V MinVoidSize27

P E0 E–( ) kBT( )⁄( )exp×=

236

Page 257: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Transition probabilities

sprocess> pdbGet KMC Si Damage D0_APto311200000000.0sprocess> pdbGet KMC Si Damage E_APto3111.3sprocess> pdbGet KMC Si Damage D0_APtoVoid200000000.0sprocess> pdbGet KMC Si Damage E_APtoVoid1.3

Amorphous pockets interactionsTo change the default AP interactions, use the parameters ReactionsClusterI, ReactionsClusterV. andReactionsClusterIV. These three parameters control the reactions between APs containing onlyinterstitials, only vacancies, or both. APs can react, not only with Is and Vs, but also with dopants. Inthis latter case, the result of the reaction must be specified.

Interaction with point defects: I and V

To customize AP reactions, change the parameters defined for I, V, and IV clusters using the command:

pdbSet KMC Si Damage <ReactionsClusterType> <species> <true/false>

For example, the command:

pdbSet KMC Si Damage ReactionsClusterI I false

disables the reaction In + I -> In+1 for small clusters. Consequently, it disables the ripening of theseclusters. The line:

pdbSet KMC Si Damage ReactionsClusterV I false

disables the recombination of I with small vacancy clusters.

Parameters

Small interstitial and vacancy clusters may react with neutral interstitials and vacancies. Chargedinterstitials or vacancies are not allowed due to microscopical reversibility reasons:

sprocess> pdbGet KMC Si Damage ReactionsClusterI I true V truesprocess> pdbGet KMC Si Damage ReactionsClusterV I true V true

237

Page 258: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

APs with both Is and Vs accept interstitials or vacancies with any charge. In this case, because they donot emit particles, there are no microscopical reversibility restrictions:

sprocess> pdbGet KMC Si Damage ReactionsClusterIV I true IP true IM true V true VP true VPP true VM true VMM true

Interaction with impurities

APs do not trap impurities, but can interact with them. In this interaction, impurities can lose a pointdefect, becoming substitutional (for example, Bi + I2V3 –> B + I3V3) or can gain some of them beingtransformed into a impurity cluster (for example, Bi + I2V3 –> BI2 + IV3). Consequently, the interactionwithin impurities and APs play a crucial role deactivating dopants, typically during the implant.

To control these interactions, use:

pdbSet KMC Si <impurity> <ReactionsClusterType> <species,result> <true/false>

ReactionsClusterType can be ReactionsClusterI for small I clusters, ReactionsClusterV for small V clustersand ReactionsClusterIV for mixed clusters.

For example, the reaction Bi– + InVm -> BI2 + In–1Vm can be disabled for mixed clusters with:

pdbSet KMC Si B ReactionsClusterIV BiM,BI2 false

NOTE A comma must separate the incoming particle from the result, without any space in between.

Parameters

The reactions between boron (for example) and mixed clusters can be displayed with:

sprocess> pdbGet KMC Si B ReactionsClusterIVBiM,BI2 trueBi,BI2 trueBiP,BI2 trueB,BI2 true

There are no reactions between boron and vacancy clusters:

sprocess> pdbGet KMC Si B ReactionsClusterV

The reactions between boron and small I clusters are disabled:

sprocess> pdbGet KMC Si B ReactionsClusterIBi,BI2 falseBiM,BI2 false

238

Page 259: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Extended defectsSmall clusters are defined as immobile agglomerations of interstitials or vacancies, and are modeledusing the AP defects previously explained. When the number of Is or Vs in these clusters grow above aspecified threshold, the small clusters are converted into extended defects ({311} or void types). Finally,when the ripening of {311}s overcome some limit, they are transformed into dislocation loops.

{311} Defects (ThreeOneOne)The {311} “rod like” defects are associated with transient enhance diffusion [55]. Consequently, theyneed a realistic simulation, in both shape and energetic values. Its shape is like rectangular stripes ofinterstitials lying on a {311} plane along a <110> direction. [56] gives an atomic model for its structure,whose stability has been confirmed by theoretical studies [57] [58][59].

Shape

KMC models {311} defects as parallel stripes (rows) of I particles lying in one of the twelveorientations, randomly chosen, of a {311} plane. The {311} shape is modeled as Nr rows of Is lying ona line with a distance of between Is in the same line and Nc columns keeping a distanceof between them, being a = 0.543 nm the silicon lattice parameter. The ratio between length(L) and width (W) is given by:

(422)

being C = 0.5 nm. This ratio is maintained reshaping the {311} defect (in other words, changing thenumber of row and columns) when necessary (Figure 40).

Figure 40 {311} defects are simulated by KMC as parallel stripes (rows) of I particles lying in a {311} plane—Red: silicon interstitials in 311—Green: I and V in APs—Blue: arsenic

<011> a 2( )⁄a 22( ) 4⁄( )

W CL≈

239

Page 260: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

The {311} defects only exist above a size threshold. Smaller defects are assumed to be APs, and theyhave an irregular shape (see Amorphous pockets life cycle on page 236).

When {311} defects grow enough, they are transformed into dislocation loop defects (see Dislocationloops on page 242). The threshold size (number of interstitials) between {311} defects and dislocationloops is assumed to follow an Arrhenius plot:

(423)

The dislocation loop formation energy must be smaller than the {311} formation energy at the thresholdsize; otherwise, the threshold is taken as the size where both energies are equal. Both prefactor and E areparameters available in the database with names D0_311toLoop and E_311toLoop, respectively.

Parameters

The parameters to control the transformation between {311}s and loops are specified for interstitials insilicon:

sprocess> pdbGet KMC Si I D0_311toLoop1.6sprocess> pdbGet KMC Si I E_311toLoop0.68

NOTE These parameters can be changed to fit the {311} to dislocation loop transition size.

Capture

Each time a neutral I point defect interacts with an I belonging to a {311} defect, the {311} captures thepoint defect. Since {311} defects grow and shrink at their ends, the new particle is attached at the nearestend of the defect. When the end cannot grow because it is too close to a interface or a boundary, the otherend is used.

size prefactor E kBT( )⁄( )exp×=

240

Page 261: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

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 atthe {311} surface (see Figure 41).

Figure 41 Recombination of defects in a {311} defect

The emission frequency is computed as in APs by:

(424)

where the considerations for the AP emission apply. The binding energies are taken from the listsupplied with the Eb_Cluster parameter. These energies are shared with the APs. As explained above,for sizes less than a threshold value, defects are considered APs. Otherwise, they are rearranged as {311}defects. Consequently, only binding energies for sizes equal or bigger than APs-{311} threshold appliesfor {311} defects.

Recombination

The {311} defects recombine incoming Vs with any charge by annihilation of the Is at the nearest {311}defect end. When {311} defects dissolve, they do not become APs when the threshold AP-{311} size isreached. The emission frequency depends on the binding energy, and the binding energy only dependson the size of the defect. Since a interstitial cluster and a small {311} defect have the same bindingenergy when they have the same size, the defect shape affects only the capture volume, but not theemission frequency. Consequently, rearranging {311} as small defects and vice versa only changes thecapture volume, and these changes are negligible for small clusters. Nevertheless, the capture volumedifferences between small {311} defects and irregular clusters are negligible, and there is no informationabout the shape of dissolving {311} defects.

Finally, when a {311} reaches size 2, it releases the particles as two interstitials and the {311}disappears.

νemit ν0 emit, E– emit size( )/ kBT )( )( )exp×=

241

Page 262: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Interactions

Interactions between {311} defects and mobile particles can be modified with:

pdbSet KMC Si <I/V/Impurities> Reactions311 <species> <true/false>

Growth reactions (In + I) are controlled with I, and recombination reactions (In + V) with V. {311}defects do not trap impurities, but they can break up paired dopants capturing the interstitial orrecombining the vacancy (for example, Bi + In –> B + In+1). These reactions enable the {311} todecrease the impurity diffusion.

Only neutral Is react with {311} defects and, consequently, only paired dopants with the same charge asthe substitutional dopant react with {311}s. Any charge state is allowed for the recombination ofvacancies.

Parameters

Growth and recombination:

sprocess> pdbGet KMC Si I Reactions311I truesprocess> pdbGet KMC Si V Reactions311V true

Paired impurity breakup (boron, for example):

sprocess> pdbGet KMC Si B Reactions311BiM false

Dislocation loopsDislocation loops are planar defects lying on {111} planes [60] and can be either faulted (FDL) orperfect (PDL). FDLs are circular stacking faults surrounded by a dislocation line. PDLs are notimplemented in KMC.

{311} defects are the precursors of dislocation loops. When the implant conditions (availableconcentration of I, distance to the free surface) are appropriate, {311} defects grow until they reach thethreshold size and transform into dislocation loops. Dislocation loops are more stable than {311}defects; consequently, the supersaturated created by dislocation loops is lower.

242

Page 263: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Shape

The shape of dislocation loops is computed as a filled circle in a {111} orientation (see Figure 42). All{111} orientations are allowed, and one is randomly chosen.

Figure 42 A dislocation loops taken from a Sentaurus KMC simulation

Capture

Dislocation loops capture any incoming neutral interstitial. The original position is lost, and the particleis moved to the proper position in the disk. The capture radius is the sum of the capture radius of theconstituent particles.

Emission

Dislocation loops emit neutral interstitials with a frequency given by:

(425)

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

computes the binding energies as:

(426)

The dislocation loop formation energies are taken from [61] as:

(427)

νemiss ν0 emiss,Eb loop, size( ) Em I( )+

kBT-----------------------------------------------------–⎝ ⎠

⎛ ⎞exp×=

ν0 emiss,Eb loop, size( )

Eb loop, size( ) Ef I( ) Ef loop, size 1–( ) Ef loop, size( )–+=

Ef loop, size( ) πγR2 a2μ6 1 ν–( )-------------------- R 8R

b-------⎝ ⎠

⎛ ⎞log⋅ ⋅ nEf I( )–+=

243

Page 264: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

is the loop radius, the staking fault energy per unit area, the Shear modulus, the Poisson’s ration, the Burger’s vector modulus, the silicon lattice parameter and the atomicdensity in a {111} plane, in nm-2.

The above parameters are specified in the parameter database. is called gamma, is mu, is nu and is named burgVectMod. Finally, the emission prefactor is called D0_Loop.

Parameters

The parameters needed for the simulation of dislocation loops are defined for interstitials in silicon:

sprocess> pdbGet KMC Si I D0_311toLoop1.6sprocess> pdbGet KMC Si I E_311toLoop0.68sprocess> pdbGet KMC Si I D0_Loop 1000000.0sprocess> pdbGet KMC Si I gamma0.4375sprocess> pdbGet KMC Si I mu472sprocess> pdbGet KMC Si I nu0.3sprocess> pdbGet KMC Si I burgVectMod0.3135

NOTE This parameters can be changed to fit the dislocation loop formation and dissolution.

Figure 43 shows how a dislocation loop grows capturing interstitials, and how it shrinks recombiningincoming vacancies or emitting interstitials.

Figure 43 Emission, capture, and recombination of point defects in a dislocation loop

R size πd111( )⁄= γ μ νb a d111

γ μ ν b

244

Page 265: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Interactions

The interactions between dislocation loops and mobile particles are:

Growth reactions. Only with neutral Is:

pdbSet KMC Si I ReactionsLoop I <true/false>

Recombination reactions. Any vacancy.

pdbSet KMC Si I ReactionsLoop <V/VM/VP/VMM/VPP> <true/false>

Impurity pairs break up plus growth or recombination. Only with pairs with the same charge stateas the substitutional dopant (for example, Bi

– for B–):

pdbSet KMC Si <impurity> <species> <true/false>

Parameters

Loops trap interstitials, but the recombination of vacancies is disabled:

sprocess> pdbGet KMC Si I ReactionsLoopI truesprocess> pdbGet KMC Si V ReactionsLoopV false

Loops can break up some paired dopants, boron for example:

sprocess> pdbGet KMC Si B ReactionsLoopBiM true

VoidsSmall vacancy defects have been reported (using paramagnetic resonance and photoluminiscence) byseveral authors [62][64][66]. Theoretical studies [67] [68] indicate that some of these small clusters canbe particularly stable. KMC models these small clusters as APs and, consequently, they have irregularshapes. Nevertheless, size-dependent binding energies are considered for its V emission (see Damageaccumulation model: Amorphous pockets on page 230).

245

Page 266: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Vacancy clusters appear as spheroidal voids when they are big enough to be seen by TEM [69]. Studiesshow binding energies as a function of the cluster size by tight binding molecular dynamics [70] (seeFigure 44).

Figure 44 Voids are simulated with a spherical shape; this one contains 654 vacancies

Shape

The threshold size between irregular small vacancy clusters (APs) and voids is specified with theparameter MINVoidSIZE. Another parameter, MAXVOIDSDIAM is used to set up the maximum allowed diameter(in nanometers) for these defects.

Reshaping the small clusters into voids above the mentioned limit is necessary to maintain the rightvolume/surface ratio, as the V cluster grows. A large cluster of n vacancies is reshaped to be spheroidal,occupying the volume corresponding to the same number of silicon lattice sites. KMC manages the voidshape to assert that its density is correct.

Parameters

The parameters for voids are specified for silicon material and vacancy as species:

sprocess> pdbGet KMC Si V MinVoidSize27sprocess> pdbGet KMC Si V MaxVoidDiam5.0

246

Page 267: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Capture

Voids capture neutral vacancies, rearranging them to have a spheroidal shape. Figure 45 shows thepossible interactions between voids and point defects.

Figure 45 Voids are big cluster vacancies with a spherical shape that grow trapping neutral vacancies and shrink by recombination and vacancy emission

Emission

Voids emit neutral vacancies with a frequency:

. (428)

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 parameter

database together with the small vacancy cluster binding energies. For information on how to locate andmodify them, see Amorphous pockets life cycle on page 236. For voids, only the values for sizes biggerthan the AP-Void threshold apply.

Recombination

Voids recombine incoming interstitials with any charge.

Interactions

Interactions between void defects and other particles fall into these categories:

Trapping of neutral vacancies (growth):

pdbSet KMC Si V ReactionsVoid V <true/false>

ν ν0 Eb void, size( ) Em I( )+( ) kBT( )⁄–( )exp×=

ν0Eb void, size( )

247

Page 268: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Recombination of interstitials:

pdbSet KMC Si V ReactionsVoid <I/IM/IP> <true/false>

Impurity pair breakup. Voids do not trap impurities, but they can trap or recombine the interstitialor vacancy associated with a paired impurity. (For example, Bi + Vn –> B– + Vn-1). The pair musthave the same charge as the substitutional dopant (in other words, Bi

– for B–, AsV+ for As+).

pdbSet KMC Si <impurity> ReactionsVoid <species> <true/false>

Parameters

Voids trap vacancies and recombine interstitials:

sprocess> pdbGet KMC Si V ReactionsVoidV truesprocess> pdbGet KMC Si I ReactionsVoidI true

Voids may break up some pairs. For example B i-, is disabled:

sprocess> pdbGet KMC Si B ReactionsVoidBiM false

Amorphization and recrystallizationA predictive KMC simulator must include an amorphization model. Nevertheless, accounting for eachparticle and position during the amorphization, although possible [71] is not convenient for the sizes,times, and computer resources involved in process modelling. In spite of this, amorphization involvesthe destruction of the lattice structure and, without lattice, the KMC scheme, which discards the latticeand tracks only defects, is opened to a quasi-atomistic approach, as explained in this section.

Figure 46 shows a generic damage concentration profile after an implant.

Figure 46 Damage concentration profile after an implant

248

Page 269: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

There are four different concentrations in Figure 46 (A, B, C, and D) and two concentration thresholds,which are called MaxStorage and Amorphization. These thresholds are stored in parameter database in thedamage section as MaxIVStorage and AmorphizationThreshold, respectively:

sprocess> pdbGet KMC Si Damage MaxIVStorage1e+21sprocess> pdbGet KMC Si Damage AmorphizationThreshold1.5e+22

NOTE You can change these limits if necessary. The damage accumulation model is stronglydependent on the AmorphizationThreshold. A low MaxIVStorage can lead to incorrectsimulations, as too much information would be discarded. A high MaxIVStorage implies biggerand longer simulations. Consequently, changing the MaxIVStorage limit is possible, but drasticchanges are not recommended because the parameter is a compromise between accuracy andcomputer resources.

The behavior of the simulator while adding new point defects (damage) differs depending on the localconcentration of the internal elements (KMC grid). Consequently, the amorphization (and subsequentrecrystallization) model is based on counting the damage into the KMC internal elements rather than onthe atomistic position of particles. That is why it is called a quasi-atomistic model.

A new point defect is inserted into a box depending on the concentration of that box. If the concentrationis smaller than the MaxStorage threshold (A and B), the point defect is inserted as it is; in other words, aparticle is created into the simulator with its three coordinates, the defect, and particle type. When thedamage concentration (I + V) of a box is above the MaxStorage limit, the new incoming Is and Vs are notcreated with 3D coordinates, but a counter in the internal element counts how many Is and Vs have beenadded. For boxes above the MaxStorage concentration, the number of particles contained in the box isthe number of particles created with 3D coordinates, plus the internal I and V counters. Discarding newincoming particles and only storing its number (concentration) saves memory resources, and also makesthe simulation faster. At this point, the atomistic information is a mixture between the particlesintroduced when the concentration reached MaxIVThreshold, which are stored only as a number, and theparticles with 3D atomistic information (the ones below MaxStorage) to maintain the correct shape andcapture volume, and, consequently, the right morphology, of APs.

NOTE As explained above, the atomistic information of some Is and Vs is discarded when their localconcentration is above a limit. Consequently, for those regions, the atomistic 3D informationdoes not contain all the existing particles, but only a sample of some of them. When askingKMC for the atomistic information (the 3D coordinates for each particle), you should notexpect to get all Is and Vs in high disordered regions, but only some of them. You can get allof them using some special options (see the kmc extract command). If concentrations and notthe 3D coordinates are asked, the right concentrations are obtained because KMC computesthe concentrations and profiles using both the “real” particles and the counted ones.

249

Page 270: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

In the Figure 46 on page 248, C shows a damage concentration which is stored as some “real” particlesplus a concentration.

Finally, the damage concentration can be higher than the amorphization threshold (D in Figure 46). Inthis case, the entire internal box is assumed to be amorphous. All atomistic 3D coordinates are discardedfor amorphous boxes because the definition of point defect is now meaningless in an amorphous region.The 3D coordinates of dopants in amorphous boxes are discarded as well, and only their concentrationis stored.

NOTE The atomistic 3D representation for amorphous boxes is a single I or V in the element. Itsdefect type is assigned to amorphous.

Amorphous defectsAn amorphous defect is a special defect assigned to each internal KMC grid element with a damage levelabove the amorphization threshold.

Shape

The shape of an amorphous defect coincides with the element containing it. Amorphous layers arecreated as a set of several amorphous defects. Consequently, amorphous layers can follow anycomplicated amorphous geometry, but always as a set of KMC elements.

Growth

Amorphous defects do not grow because they are limited to the size of the element. Amorphous layersgrow when new elements are amorphized and become amorphous. These amorphous elements captureany incoming particles.

Recombination

These defects can recombine their damage and become crystalline silicon. Amorphous defects do notemit particles; recrystallization is the only event they can perform.

250

Page 271: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

RecrystallizationRecrystallization is implemented as a special event performed by the amorphous defects. At a giventemperature, the amorphous-crystalline (a-c) interface (computed as the set of all the amorphous defectsin the neighborhood of crystalline boxes) advances into the amorphous region (recrystallizing it) at aspeed v (Figure 47).

Figure 47 Source and gate of a transistor during SPER, as simulated by KMC. The total concentration of interstitials is represented.The time evolution is shown while the recrystallization front is moving. At the end, there is only damage near the a-c interface. This damage forms end of range (EOR) defects.

Therefore, if w is the average length of an amorphous defect, it takes w/v seconds to recrystallize it andmove the a-c interface to the next set of amorphous boxes. This recrystallization velocity is computedas an Arrhenius plot:

. (429)

The and parameters are specified in damage as V0_recryst and E_recryst, respectively.

Parameters

The parameters for the recrystallization model are:

sprocess> pdbGet KMC Si Damage V0_recryst170000000.0sprocess> pdbGet KMC Si Damage E_recryst2.7

V V0 Erecrys kBT( )⁄( )exp×=

V0 Erecrys

251

Page 272: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Dumping damage

The recrystallization event forces all IV pairs inside an amorphous defect to recombine. The I or V excessis dumped to the neighboring amorphous boxes, if any. Otherwise, the excess is dumped onto the surfaceor if there is no free surface/interface neighboring amorphous boxes, it is left as point defects. If therecrystallization front has crossed several elements, the amount of excess point defects can be high.When the defects are deposited in the crystalline silicon, they grow and ripen into extended defectsdepending on the annealing conditions.

Crystalline islands

Whenever there is a crystalline island inside an amorphous layer, the small crystalline region acts as aseed for the recrystallization. Sometimes when an amorphous layer has more than one recrystallizationfront, high concentrations of point defects can be deposited when the two fronts converge. Consequently,if some crystalline regions are created inside an amorphous layer due to some random fluctuations, thesimulation results can change drastically. To prevent the formation of artificial crystalline regions insidean amorphous layer, KMC includes averaging mechanisms which makes crystalline areas surroundedby amorphous silicon easier to become amorphous.

KMC computes the average concentration of boxes in a neighborhood. If this average concentrationincluding several cell elements is higher than the amorphous threshold and the percentage of cellelements remaining crystalline (because their local concentration is smaller than the threshold) is smalleror equal to the parameter PercentCollapseBoxes, all crystalline boxes also are amorphized.

Parameters

The parameter PercentCollapseBoxes can be modified to avoid the presence of crystalline islands (with abigger value) or to follow the damage distribution more precisely (smaller value):

sprocess> pdbGet KMC Si Damage PercentCollapseBoxes0.1

Impurity sweep/deposit

The recrystallization process may affect the impurity concentration. The recrystallization front movesindium and other dopants away, changing the concentration profiles. [72] [73]. To model this effect, theamorphous defects also store (as previously explained) the dopant concentration. This concentration ismodified when the amorphous defects recrystallize:

Dopants have a probability to remain in the box or move away with the recrystallization front (seeFigure 48 on page 253).

If the dopant is moved with the recrystallization front, it has a probability of being slightly smoothedbetween cell elements to give a more homogenous distribution.

252

Page 273: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

When the box is recrystallized, if the remaining dopant concentration is bigger than the solubilitylimit, the extra dopants are deposited as impurity clusters. These clusters have a limited size.

Figure 48 Impurity sweep example.Arsenic has been pushed through the surface during the recrystallization or SPER

The parameters for the recrystallization model are defined only for impurities in silicon. recrysDepositis the probability for a dopant to remain in the same box after the recrystallization front passes. Settingthis value to 1 disables the swept of impurities. recrysMaxActive is the maximum allowed concentrationof an active dopant in the recrystallized areas and recrysMaxSize limits the maximum size of the depositedimpurity clusters. Finally, the parameter PercentSmoothFront, defined in the damage section, indicateswhich percentage of boxes will smooth out the distribution of dopants during the recyrstallization frontevolution.

Parameters

The recrystallization parameters for dopants (for example, arsenic) can be obtained as:

sprocess> pdbGet KMC Si As recrysDeposit 0.3sprocess> pdbGet KMC Si As recrysMaxActive1e+21sprocess> pdbGet KMC Si As recrysMaxSize4

The probability to smooth the dopant concentration during the SPER evolution is the same for eachdopant, and it is defined as:

sprocess> pdbGet KMC Si Damage PercentSmoothFront0.2

253

Page 274: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Impurity clustersUnder certain concentrations, dopants are electrically inactive [51]. At the same time, high Iconcentration can make a fraction of boron electrically inactive even when its concentration is below itssolubility [74]. This phenomena can be explained by an BmIn clustering mechanism [57][75] or/anddopant precipitation [51]. KMC considers these mechanisms, implementing the impurity clusters.

ShapeAn impurity cluster is an irregular agglomeration of impurities (A) with or without interstitials andvacancies (X) that can be written as AnXm, with n impurity atoms and m I’s or V’s. If m = 0, then it is apure impurity cluster. For KMC, the notation AnXm means any possible configurations with n impuritiesand m interstitial (vacancy) atoms. The interstitial (vacancy) atoms can be both silicon self interstitialsor dopant atoms in an interstitial position. Since KMC assumes all the AnXm configurations to be thesame with only one effective formation energy, A is represented always as a substitutional but inactivedopant or impurity, and X as a silicon interstitial or vacancy.

Figure 49 AsV impurity clusters simulated with Sentaurus KMC—Blue: arsenic. Green: vacancy

254

Page 275: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

GrowthImpurity clusters grow trapping neutral mobile particles (see Figure 50).

Figure 50 Impurity clusters are disordered agglomerations of dopants and silicon point defects that trap and emit particles. FT mechanisms and IV recombinations also are possible.

For an AnIm cluster, both I and Ai particles can be trapped:

(430)

The trapping is not automatic as it was for extended defects. In extended defects, the binding energy isalways positive, so the trapping is always allowed. For impurity clusters, the cluster can grow in both Is(Vs) or dopants. The energy between the initial and final states is not always favorable. KMC computesthe probability for an impurity cluster AnIm to trap an I or Ai as:

(431)

where:

(432)

and is an optional energy barrier.

AnIm I+ AnIm 1+↔

AnIm Ai+ An 1+ Im 1+↔

PcaptureEcapture

kBT--------------------–⎝ ⎠

⎛ ⎞exp=

EAnImcapture Ebarrier AnIm( ) max 0 EAnIm

b–,( )+=

Ebarrier AnIm( )

255

Page 276: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

The binding energies are computed using the potential impurity cluster energies:

(433)

(434)

These potentials energies are specified in the parameter database for each impurity in silicon. Thepotential energies are called Etotal_ComplexI and Etotal_ComplexV for impurity clusters involving I and Vrespectively. The energy barriers are called EbarrierB_ComplexI, EbarrierB_ComplexV, EbarrierF_ComplexIand EbarrierF_ComplexV. The EbarrierB are defined for emission and capture of interstitials and vacancies,and EbarrierF for dopants or paired dopants. For example, to set the potential energy of a BIC, like BI2to some value:

pdbGet KMC Si B Etotal_ComplexI BI2 <n>

and, for As4V

pdbGet KMC Si As Etotal_ComplexV As4V <n>

Percolation

Some dopants deactivate without visible diffusion when they are in high concentrations [76]. They alsocan form impurity clusters [77]. KMC Sentaurus models this deactivation allowing the substitutionaldopants to interact with impurity clusters or with other dopants right after its inclusion in the simulation(for example, after being implanted or selected).

As can react with As giving As2. Substitutional As does not migrate, so this reaction is only possiblewhen two arsenic are close enough to each other. The higher the arsenic concentration, the higher thispossibility. An As + As2 reaction and As3 + As reaction also are possible. These species also areimmobile. They react only when they are close enough. Consequently, the probability of forming an As4cluster using this mechanism is low because it needs four As atoms close enough to each other. Thisprobability increases with the concentration. With high concentration, the probability is not negligible,and the substitutional As react with each other forming As clusters and becoming inactive.

The reaction between two substitutional dopants to give an impurity cluster is the only exception to therule that two particles with the same charge will not interact.

Parameters

The potential and binding energies for impurity clusters are defined only in silicon. They are defined inarrays whose index is the cluster name. For example, for FV clusters:

sprocess> pdbGet KMC Si F Etotal_ComplexV FV2 -4.20F2 -0.5 F2V -4.63 F2V2 -7.07F3 -1 F3V -7.08 F3V2 -9.04F4 -1.5 F4V -7.12 F4V2 -11.47

EAnImb

EAnImb I( ) Epot AnIm 1+( ) Epot AnIm( )–=

EAnImb Ai( ) Epot An 1+ Im 1+( ) Epot AnIm( )– Epot Ai( )+=

256

Page 277: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

F5 -3 F5V -8.5 F5V2 -13.29F6 -4.5 F6V -9.7 F6V2 -16.09 F7V 3

And for FI clusters:

sprocess> pdbGet KMC Si F Etotal_ComplexI FI2 -4.20F2 -0.5 F2I -4.63 F2I2 -7.07F3 -1 F3I -7.08 F3I2 -9.04F4 -1.5 F4I -7.12 F4I2 -11.47F5 -3 F5I -8.5 F5I2 -13.29F6 -4.5 F6I -9.7 F6I2 -16.09 F7I 3

A particular value for only one element also can be obtained. The current potential energy for As4V is:

sprocess> pdbGet KMC Si As Etotal_ComplexV As4V-5.4

The barriers are, by default, not defined:

sprocess> pdbGet KMC Si F EbarrierB_ComplexI sprocess> pdbGet KMC Si F EbarrierB_ComplexV sprocess> pdbGet KMC Si F EbarrierF_ComplexI sprocess> pdbGet KMC Si F EbarrierF_ComplexV

NOTE The impurity cluster model and the activation/deactivation of clusters can be furthercalibrated fitting the potential energies.

When a particular energy for a particular configuration is not specify (in other words, when it does notexist an input in the parameter file for an AnIm or AnVm impurity cluster), KMC assumes thisconfiguration to be very unstable. When a barrier energy is not specified, a value of 0eV (no barrier) isassigned.

All the impurities are allowed to form impurity clusters with I, V, or both. If an impurity is not formingimpurity clusters, the default can be changed modifying the parameters and the interactions (seeInteractions on page 261).

EmissionImpurity clusters can emit both neutral interstitials (vacancies) or mobile dopants:

(435)

(436)

AnIm AnIm 1– I+↔

AnIm An 1– Im 1– Ai+↔

257

Page 278: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

KMC computes the emission frequencies as:

(437)

The emission energies are:

(438)

(439)

is the migration energy of the emitted species and both and have been shownabove.

When a particle is emitted, the impurity cluster tests if the number of remaining particles is enough tomaintain the cluster. If there is only an interstitial (vacancy) or an interstitial and a dopant, the clusterdissolves leaving a interstitial or a mobile, paired dopant, respectively.

Parameters

The parameters needed for emission are the same as in the previous section.

RecombinationImpurity clusters can trap incoming neutral Vs (Is) and recombine them with internal Is (Vs):

(440)

The capture probability is:

(441)

The associated energies are:

(442)

and:

(443)

After the IV pair recombination, the cluster size is tested and, if necessary, dissolved, as previouslyexplained.

νemission ν0 emission,Eemission

kBT----------------------–⎝ ⎠

⎛ ⎞exp×=

Eemission I( ) Em I( ) Ebarrier AnIm( ) max 0 EAnImb I( ),( )+ +=

Eemission Ai( ) Em Ai( ) Ebarrier AnIm( ) max 0 EAnImb Ai( ),( )+ +=

Em EAnImb I( ) EAnIm

b Ai( )

AnIm V+ AnIm 1–↔

PcaptureEcapture

kBT--------------------–⎝ ⎠

⎛ ⎞exp=

EAnImcapture EAnIm

b Epot V( )– Epot I( )–=

EAnImb E AnIm 1–( ) E AnIm( )–=

258

Page 279: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Parameters

The parameters used for recombination of point defects are the same as in Growth on page 255.

Frank–Turnbull mechanismA generalized Frank–Turnbull (FT) mechanism is the emission of a neutral V (I) from an AnIm (AnVm)impurity cluster via the formation of a Frenkel pair (IV):

(444)

or:

(445)

KMC includes the FT mechanism to maintain microscopic reversibility. Since impurity clustersrecombine incoming Is or Vs, the opposite mechanism (FT) also is needed. Usually this mechanism isunfavorable, but for some particular configurations, the energetic differences between them can enablethe formation of IV pairs, and thus, the emission of particles via the FT mechanism (see Figure 51).

Figure 51 An example of the FT mechanism: An As4 cluster can emit an interstitial to become an As4V impurity cluster—Blue: arsenic—White: silicon

The vacancy (interstitial) emission frequency is computed as:

(446)

being:

(447)

and:

(448)

AnIm I V AnIm+ + AnIm 1+ V+→ →

AnVm I V AnVm+ + AnVm 1+ I+→ →

νemission ν0 emission,Eemission

kBT----------------------–⎝ ⎠

⎛ ⎞exp×=

Eemission V( ) Em V( ) max 0 EAnImb V( ),( )+=

EAnImb V( ) Epot I( ) Epot V( ) Epot AnIm 1+( ) Epot AnIm( )–+ +=

259

Page 280: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

The prefactor is proportional to the cluster size. The proportionality constant is shared with the APemission prefactor constant for I (AnIm) or V (AnVm).

Parameters

The parameters used are the same as in Growth on page 255. The potential energies for interstitial andvacancies are specified for the material oxide as Eform:

sprocess> pdbGet KMC Oxide I Eform4.0sprocess> pdbGet KMC Oxide V Eform3.8

Complementary recombinationSome impurities diffuse via both the interstitially and vacancy mechanisms. For these cases, theimpurity clusters can react with both of them. For example, an AnVm impurity cluster can grow trappingAsV, as previously explained, but also can interact with an incoming Asi, trapping the As and recombiningthe I with one internal vacancy. This implies to take into account the reaction:

(449)

These complementary recombinations of neutral particles are allowed with a probability of:

(450)

The capture energies are computed as:

(451)

where is an internal parameter that cannot be changed.

Parameters

The parameters used are the same as in Frank–Turnbull mechanism on page 259. The potential energyfor the paired dopant is the binding energy of the pair corrected with the Fermi -level dependency.

AsnVm Asi+ Asn 1+ Vm 1–↔

PcaptureEcapture kBT( )⁄–( )exp Ecapture 0>

1 Ecapture 0≤⎩⎪⎨⎪⎧

=

Ecapture

Epot An 1+ Vm 1–( ) Epot AnVm( )– Ef V( )– Ef I( )– Epot Ai( )– m 0>

Epot An 1+ Vm( ) Epot AnVm( )– Epot Ai( )– Em I( ) Em Ai( )–+ m 0 n 1>,≡

E Ai A→( ) m 0 n 1≡,≡⎩⎪⎪⎨⎪⎪⎧

=

E Ai A→( )

260

Page 281: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Complementary emissionTo maintain the microscopic reversibility, the reaction reverse to the complementary recombination hasto be defined (see Figure 52).

Figure 52 An example of complementary emission: The cluster emits an interstitial which takes an impurity and generates a vacancy. Blue: arsenic. White: silicon

The equation for this process is:

(452)

Its emission frequency is computed using the emission frequency equation:

(453)

where:

(454)

Parameters

The parameters used are the same as in Recombination on page 258.

InteractionsYou can modify all the interactions involved in the impurity cluster model. The impurity clusters can beenabled or disabled with the Boolean parameters Implement_ComplexI and Implement_ComplexV. Forexample, to disable the FnVm impurity clusters, use:

pdbSet KMC Si F Implement_ComplexV 0

When the impurity clusters are enabled, you can set and unset the particular reactions using theReactionsCluster parameter:

pdbSet KMC Si <dopant> ReactionsCluster <reaction> <true/false>

AnIm AnIm I V+ + AV An 1– Im 1++→ →

Eemission Em AV( ) max 0 EAnImb AV( ),( )+=

EAnImb AV( ) Ef I( ) Ef V( ) Epot An 1– Vm 1+( ) Epot AnIm( )–+ +=

261

Page 282: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Reaction is a string with two fields, separated by comma. The first field is the name of the impuritycluster, the second is the name of the reacting particle. Spaces are not allowed between these fields. Theset or unset of these reactions enables or disables the specified reactions and its reverse ones. This isdone to maintain the microscopical reversibility. For example, to disable the capture of a vacancy by As2to growth to As2V:

pdbSet KMC Si As ReactionsCluster As2,V false

This also disables the inverse reaction, in other words, the emission of V by As2V. To enable therecombination of I by an As4V cluster:

pdbSet KMC Si As ReactionsCluster As4V,I true

This reaction also enables the FT emission of I by As4, in other words As4 –> As4V + I

Enabling a reaction does not mean that the reaction will happen; it depends on the energetics. If thereaction is unfavorable, it will not occur (but the inverse will). Disabling a reaction will forbid thereaction to occur, even if it is described by the parameters as favorable. Any reaction not listed inReactionsClusters is disabled.

Parameters

To show the parameters involved in the impurity cluster reactions, arsenic is used as an example. AsVclusters are allowed, while AsI are not:

sprocess> pdbGet KMC Si As Implement_ComplexV1sprocess> pdbGet KMC Si As Implement_ComplexI0

Since AsV clusters are allowed in the KMC simulation, they need some enabled reactions. The reactionsare explained in Percolation on page 256. They allow deactivation without arsenic diffusion:

sprocess> pdbGet KMC Si As ReactionsClusterAs2,As trueAs3,As true

Reactions to grow capturing V, and to shrink emitting them:

As2,V trueAs3,V trueAs4,V true

Capture/emission of AsV:

As2,AsV trueAs3,AsV true

Recombination of interstitials, FT emission of interstitials:

As2V,I trueAs3V,I trueAs4V,I true

262

Page 283: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Recombination of interstitials and capture of arsenic, emission of Asi.

As2V,Asi trueAs3V,Asi true

The following rules must be satisfied to allow a reaction between a particle and an impurity cluster:

The first field must be a correct impurity cluster, and the second must be a defined particle.

The particle must be an interstitial, vacancy of paired dopant, with the same dopant as the impuritycluster.

Only interactions with neutral particles are allowed, except for percolation.

Impurity clusters require an initial impurity cluster or “seed” to begin the ripening. This initial cluster isformed with the reactions of two particles. These reactions are explained in Enabling and disablinginteractions on page 228.

Fermi-level effects: Charge modelPoint defects (I, V) and impurity atoms (B, As, and so on) can appear in different charge states in silicon,while extended defects and impurity clusters are always neutral in KMC. Impurity atoms are neutral inmaterials rather than silicon.

For example, interstitials can be neutral, positive, or negative while vacancies can have a doublenegative and positive charged state as well. Some KMC species and charged states are listed in thefollowing table. You can customize these definitions.

Table 20 KMC species and charged states

I I+, I0, I-

IP, I, IM

V V++, V+, V0, V-, V--

VPP, VP, V, VM, VMM

As As+, Asi+, Asi

0, AsV+, AsV0, AsV-

As, AsiP, Asi, AsVP, AsV, AsVM

B B-, Bi+, Bi

0, Bi-

B, BiP, Bi, BiM

C C0,Ci0

C, Ci

F F0, FI0, FV0

F, FI, FV

263

Page 284: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Charge states can be modeled using different approaches. The most intuitive approach is adding a charge“label” to each particle. Nevertheless, because the migration energy (and maybe some other parameters)change with the charged state, each of these states requires a full set of parameters.

KMC approach No charge label is defined for the particles. The charge is implicitly assumed in each particular particle,and there are different particles for each charged state. This implies the necessity of defining theinteractions one by one, according not only with the particle type, but also with its charge state.

The charge is represented in a quasi-atomistic approach to account for the fact that the electron transportis several orders of magnitude faster than the atomic transport. The charge magnitudes (in other words,the Fermi level, bandgap width, and so on) are associated with each internal KMC box in the simulation.Consequently, there can be local changes between different boxes, but the charge magnitudes areconsidered to be homogenous in each KMC internal element.

AssumptionsKMC takes the energy reference in the valence band. The following assumptions also are taken:

Charge reactions are faster than structural reactions [78]. Consequently, the charges are updatedinstantaneously.

Formation energy for neutral species (for example, Ef(I0)) are not dependent on the Fermi level.KMC takes the formation energies for neutral species as parameters using them to compute theenergies for the nonneutral species.

The electronic level dependency with temperature is proportional to the bandgap temperaturedependency. The same applies for the bandgap narrowing. This assumption allows KMC toestablish proportionality relations to compute the electronic levels and bandgap narrowing atdifferent temperatures using a known value for one particular temperature.

Substitutional dopants are always ionized; in other words, substitutional boron is always B– andsubstitutional arsenic As+.

The properties inside each KMC element are constant. Properties can change between boxes.

For further references on the KMC charge model, see [45][79] [82].

In In-, Ini0, Ini

-, InV0, InV-

In, Ini, IniM, InV, InVM

P P+, Pi0, Pi

+, PV0, PV-, PV+

P, Pi, PiP, PV, PVM, PVP

Table 20 KMC species and charged states

264

Page 285: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Formation energies for charged speciesTaking I+ as an example, in the reaction:

(455)

the energy needed to take an electron from an I0 and get I++ e– is denoted as e(+,0), and is measuredfrom the valence band. The formation energy for a positive interstitial is:

(456)

where eF is the Fermi level. Consequently, the concentration between different interstitial charge speciesusing as a reference the neutral concentration is:

(457)

(458)

The electronic levels (for T = 0K) are specified in the parameter database as e0. They are defined onlyfor silicon. They can be changed with:

pdbSet KMC Si <I/V/impurity> e0 <species> <n>

for example:

pdbSet KMC Si I e0 IP 0.35

Parameters

The band gap levels for interstitials and vacancies can be retrieved with:

sprocess> pdbGet KMC Si I e0 IM 1.0 IP 0.35sprocess> pdbGet KMC Si V e0VMM 1.06VM 0.6 VP 0.03 VPP 0.13

They also are specified for dopants, like As:

sprocess> pdbGet KMC Si As e0AsVM 0.77AsVP 0.3AsiP 0.1

I0 I+ e-+→

Ef I+( ) Ef I0( ) eF e +,0( )–+=

I0[ ]

I+[ ]---------

eF e +,0( )–kBT

---------------------------⎝ ⎠⎛ ⎞exp=

I-[ ]

I0[ ]---------

eF e 0 -,( )–kBT

---------------------------⎝ ⎠⎛ ⎞exp=

265

Page 286: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

NOTE The modification of these parameters affect both extrinsic and intrinsic diffusion.

Binding energiesThe binding energy needed for pairing and breakup reactions is only specified for the reaction with theneutral interstitial or vacancy. For example, for boron, the binding energy is specified for the reaction B–

+ I0 = Bi–. The other binding energies (for example, B– + I+ = Bi

0) are computed using the binding energyfor the above reaction and the energy levels associated to the charge transitions [82]:

(459)

The activation energy for the Bi0 breakup is Eb(Bi

0) + Em(I+). Because electronic levels scale with Eg (asshown below), a slight dependency with T is introduced in these calculated binding energies.

Temperature dependencyThe bandgap width used in KMC is given by the expression [81]:

(460)

And using the assumption of proportionality with the bandgap, KMC assumes that the electronic levelsat different temperatures can be computed as:

(461)

Effective state density of conduction and valence bands follow similar expressions:

(462)

(463)

Finally, KMC uses the values to compute the intrinsic levels and intrinsic carrier densities:

(464)

(465)

Eb Bi0( ) Eb Bi

-( ) e Bi( ) 0 -,( ) e I( ) + 0,( )–+=

Eg T( ) Eg T=0( ) AT2

B T+-------------–=

e j 1 j,+( ) T( ) e j 1 j,+( ) 0( )Eg T( )Eg 0( )--------------×=

Nc T( ) Nc 300( ) T300---------⎝ ⎠

⎛ ⎞×expNc

=

Nv T( ) Nv 300( ) T300---------⎝ ⎠

⎛ ⎞×expNv

=

ei T( )Eg T( )

2--------------

kBT2

---------⎝ ⎠⎛ ⎞ Nv

Nc------⎝ ⎠

⎛ ⎞ln+=

ni T( ) NcNvEg T( )2kBT--------------–⎝ ⎠

⎛ ⎞exp×=

266

Page 287: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Parameters

The needed parameters are specified in the parameter database under the folder BandGap.

They can be changed using pdbSet. For example, to set the bandgap width at 0 K, use:

pdbSet KMC Si BandGap Eg0 1.17

The parameters for the bandgap temperature dependency are defined for silicon in the BandGap folder:

sprocess> pdbGet KMC Si BandGap Eg01.17sprocess> pdbGet KMC Si BandGap Agap0.000473sprocess> pdbGet KMC Si BandGap Bgap636.0sprocess> pdbGet KMC Si BandGap Nc3003.2e+19sprocess> pdbGet KMC Si BandGap Nv3001.8e+19sprocess> pdbGet KMC Si BandGap expNc1.5sprocess> pdbGet KMC Si BandGap expNv1.5

Charge attractions and repulsionsThe short range repulsions between charged particles have been implemented forbidding the interactionsbetween particles in the same charge state. Long range forces are automatically considered due to thebias induced in the particle migration by the local Fermi level.

Eg0 Bandgap width at 0 K Eg(0).

Agap Bandgap width temperature dependency parameter (A).

Bgap Bandgap width temperature dependency parameter (B).

Nc300 Effective state density for the conduction band, at 300 K. Nc(300).

Nv300 Effective state density for the valence band, at 300 K. Nv(300).

expNc Effective state density temperature dependency parameter (conduction).

expNv Effective state density temperature dependency parameter (valence).

267

Page 288: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Fermi-level computationKMC computes the Fermi-level assuming charge neutrality and Fermi-Dirac statistics. KMC simplymakes the number of charges in each cell element equal to the concentration of substitutional dopants inthe box. The presence of mobile charged particles is neglected.

The concentration of substitutional dopants for each element is an average of the dopant concentrationin the neighborhood. The averaging radius is taken as the Debye radius for each temperature:

(466)

It depends on the dopant concentration N. This average is important because of the atomistic nature ofthe simulation. Without this averaging, a medium dose doped sample, with some elements filled up withparticles, and some empty ones, could be seen as set of intrinsic (empty) boxes and few boxes with avery high concentration. For example, a dopant concentration of 1 x 1020 cm–3 corresponds to 1 particlein 10 nm3. The volume of an internal element may be as small as 1 nm3. This means 1 particle per 10boxes. Without any charge averaging, a moving interstitial would diffuse intrinsically in nine emptyboxes and extrinsically in one box. With the average, the interstitial “sees” the right concentration of1 x 1020 cm3 and diffuses according to this concentration (Figure 53).

Figure 53 Simulated vacancy profiles for a p-sample (from 30 to 60 nm) for different vacancy charged states. Left: Smoothing out the charge concentration. Right: Incorrect results without smoothing

This averaging is a default KMC feature based on physical constants, and has no related parameters inthe database.

Updating charged statesKMC charge model assumes that the electronic transport and reactions are faster than the atomictransport and reactions. Therefore, it is necessary to implement mechanisms to update the chargedistribution (and the local Fermi level) that follows the structural changes. Since the equilibrium ratios

rDT

4πeN--------------=

268

Page 289: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

depend only on the Fermi level, it is necessary to update them each time the Fermi level varies. Thereare two reasons for local changes in the Fermi level:

Mobile particles diffusing between elements with different Fermi level

Change of the electronic concentration in one element

Besides, each time a new particle appears or disappears because of pairing or breakup reactions, it isnecessary to ensure that the charge state of the new particle is consistent with its local Fermi level.

Three different mechanisms are implemented in KMC to maintain the right charge ratios. All areperformed at the same time, but they apply to different scenarios.

Electronic concentrations and charge state ratios

An update algorithm periodically reviews all the particles and updates the Fermi level and theproportions of charged particles in each element; it:

Smooths the charge distribution

Computes the Fermi level for each box using the charge neutrality assumption

Establishes the appropriate charge ratios

NOTE This update method slows down the simulation. It is crucial to follow the changes in the Fermilevel, but without spending too much CPU time.

Mobile particles

Mobile particles see different Fermi levels when they move from one element to another. Therefore, itis needed to update its charge each time it crosses the boundaries between boxes. At the same time,particles change their charge state to maintain the proper charge distribution; consequently, they needextra updates. This is implemented with an algorithm that updates the charge of mobile particles eachtime they perform a migration jump. This algorithm also considers the migration frequency of eachparticle, as explained in [82], to avoid artificial concentration increases in the slow diffusing speciesconcentration.

269

Page 290: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Figure 54 A mobile particle (I-) sees different electronic properties when jumping from one element to a different one. Its charge state must be updated to reproduce the expected macroscopic concentration.

Pairing and breakup reactions

After pairing or breakup reactions, some species appear and disappear in the KMC elements. To ensurethat the concentration of these species maintain the right proportions, a breakup, pairing charge updatemechanism is implemented. It computes the probability of the new particles to be in a particular chargestate.

Parameters

The charge update algorithm only uses one external parameter in the database. It is calledChargeVarPercent, and accounts for the maximum relative error allowed for the Fermi-level updates. Thisparameter is a compromise between accuracy and efficiency. Decreasing its value leads to moreaccurate, but slower simulations; and the charge model can overload your computer resources.Increasing its value speeds up the simulation at the cost of accuracy:

sprocess> pdbGet KMC ChargeVarPercent0.25

NOTE Only small modifications to this parameter are recommended.

270

Page 291: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Electric driftThe KMC charge model considers the following:

Introduction of an electric field, related with the local charge variations.

Existence of forces acting over the charged species; these forces generate a bias in the diffusion—the electric drift.

KMC models electric bias modifying the jump probabilities to account for the space anisotropyproduced when an electric field is present.

A particle inside the electric field can jump in both directions, but the probability of jumping followingthe electric field is higher. Consequently, a “migration barrier” is implemented. The barriers are relatedto the relative concentration of each species. For example, for an I+ jumping from a position x2 in a boxto a position x1 in a different box, if P(x2) > P(x1), being P the probability for an interstitial to havepositive charge, the jump is always possible. Otherwise, there is a probability of 1 – [P(x2)] / [P(x1)]of being rejected. For an I+ particle, the jump is accepted with a probability of:

(467)

where typically, if there is no bandgap narrowing effects, e(+,0)2 = e(+,0)1 and:

(468)

The subscripts 1 and 2 refer to magnitudes in different elements. Figure 55 shows a energy diagram ofthis process.

Figure 55 Energy diagram showing the jump process

P x2( )P x1( )--------------

eF e +,0( )–[ ]2 eF e +,0( )–[ ]1–kBT

---------------------------------------------------------------------------⎝ ⎠⎜ ⎟⎛ ⎞

exp=

P x2( )P x1( )--------------

eF2 eF1–kBT

----------------------⎝ ⎠⎜ ⎟⎛ ⎞

exp=

271

Page 292: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Bandgap narrowingKMC includes doping-induced energy shifts of the conductions band minimum and the valence bandmaximum. The narrowing of the fundamental bandgap is presented as the function [91]:

(469)

(470)

for n-type semiconductors and:

(471)

(472)

for p-type. and are the increments (or decrements) of the normalized valence and conductionenergy bands:

(473)

N is the dopant concentration, in cm–3.

KMC assumes that all the electronic levels vary proportionally to the bandgap. Consequently, in a regionwhere and are corrected a quantity and , a generic quantity is corrected by:

(474)

Figure 56 Bandgap narrowing. KMC assumes that the valence band has zero energy

Δηc Acn1/4N+

1018----------⎝ ⎠

⎛ ⎞1/4

Acn1/3N+

1018----------⎝ ⎠

⎛ ⎞1/3

Acn1/2N+

1018----------⎝ ⎠

⎛ ⎞1/2

+ +=

Δηv Avn1/4N+

1018----------⎝ ⎠

⎛ ⎞1/4

Avn1/3N+

1018----------⎝ ⎠

⎛ ⎞1/3

Avn1/2N+

1018----------⎝ ⎠

⎛ ⎞1/2

+ +=

Δηc Acp1/4N-

1018----------⎝ ⎠

⎛ ⎞1/4

Acp1/3N-

1018----------⎝ ⎠

⎛ ⎞1/3

Acp1/2N-

1018----------⎝ ⎠

⎛ ⎞1/2

+ +=

Δηv Avp1/4N-

1018----------⎝ ⎠

⎛ ⎞1/4

Avp1/3N-

1018----------⎝ ⎠

⎛ ⎞1/3

Avp1/2N-

1018----------⎝ ⎠

⎛ ⎞1/2

+ +=

Δηv Δηc

ηXeX ei–

kBT---------------=

ηc ηv Δηc Δηv ηX

ΔηXηc ηX–ηc ηv–------------------Δηv

ηX ηv–ηc ηv–------------------Δηc+=

272

Page 293: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Parameters

The parameters ,... are extracted from the [83] and are listed in the parameter database for BandGapin silicon. For the conduction band:

pdbGet KMC Si BandGap Acn1_40sprocess> pdbGet KMC Si BandGap Acn1_3-0.01484sprocess> pdbGet KMC Si BandGap Acn1_20.00078sprocess> pdbGet KMC Si BandGap Acp1_4-0.01627sprocess> pdbGet KMC Si BandGap Acp1_30sprocess> pdbGet KMC Si BandGap Acp1_2-0.00018

And for the valence band:

sprocess> pdbGet KMC Si BandGap Avn1_40.01508sprocess> pdbGet KMC Si BandGap Avn1_30sprocess> pdbGet KMC Si BandGap Avn1_20.00074sprocess> pdbGet KMC Si BandGap Avp1_40sprocess> pdbGet KMC Si BandGap Avp1_30.01846sprocess> pdbGet KMC Si BandGap Avp1_2-0.00263

Charge model and boron diffusion exampleThe known charged states of Bi are Bi

–, Bi0 and Bi

+[63]. The three states are included in KMC, althoughthe inclusion of Bi

+ is only important for systems far from equilibrium. The pairing, breakup, and chargereactions related to Bi are represented in the current KMC model by the reactions:

(475)

(476)

(477)

(478)

Acn1/4

I0 B-+ Bi-↔

I+ B-+ Bi0↔

Bi- Bi

0 Bi+↔ ↔

I0 I+↔

273

Page 294: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Direct breakup of Bi+ is not included because I++ is not implemented. boron effective diffusivity D(B)

is given by the sum of the contribution of all mobile species:

(479)

Using the Maxwell–Boltzmann approximation, the previous equation is usually written as:

(480)

Si being the interstitial supersaturation, and p and ni the hole concentration and the intrinsicconcentration, respectively. The relations between the above diffusivity components and themicroscopic parameters are [82].

(481)

(482)

(483)

ei being the intrinsic level.

These expressions can be used as a bridge between the parameters of continuum simulators and thoseused by KMC. The above continuum expression assumes Maxwell–Boltzmann and quasi-equilibriumconditions, which are not needed in KMC.

Charge model and arsenic diffusion exampleA similar analysis can be done for arsenic, which has both vacancy and interstitial contributions, relatedto AsV and Asi defects. Arsenic reactions are:

(484)

(485)

(486)

D B( ) D Bi-( )

Bi-[ ]

B-[ ]---------- D Bi

0( )Bi

0[ ]

B-[ ]----------- D Bi

+( )Bi

+[ ]

B-[ ]-----------+ +=

D B( ) SI DX B( ) DP B( ) pni---- DPP B( ) p

ni----⎝ ⎠

⎛ ⎞ 2+ +=

DX B( ) vcaptD I0( ) I0[ ]* νm Bi

-( )

νbreak Bi-( )

--------------------------=

DP B( ) vcaptD I0( ) I0[ ]* νm Bi

0( )

νbreak Bi0( )

--------------------------e Bi( ) 0 -,( ) ei–

kBT------------------------------------⎝ ⎠

⎛ ⎞exp=

DPP B( ) vcaptD I0( ) I0[ ]* νm Bi

-( )

νbreak Bi-( )

--------------------------e Bi( ) 0 -,( ) e Bi( ) +,0( ) 2ei–+

kBT------------------------------------------------------------------------⎝ ⎠

⎛ ⎞exp=

I0 As++ Asi+↔

I- As++ Asi0↔

I0 I-↔

274

Page 295: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

(487)

and:

(488)

(489)

(490)

(491)

(492)

All the previously mentioned contributions are included in KMC. Consequently:

(493)

which in continuum models is usually reduced to:

(494)

fI being the fraction of interstitial-assisted diffusion. Notice, however, that this last continuumdescription conveys several simplifying assumptions compared with the model included in KMC. Thecommon assumption that DX and DM fit an Arrhenius plot is only true if the contributions of AsV+ andAsi

+ have the same activation energy. The same applies for the AsV0 and Asi0 contributions. The

continuum equation also assumes that the interstitial fraction, fI, is independent of the Fermi level (thesame for the three charged states), and is independent of the temperature.

Interfaces and surfacesAn interface is the extension between two regions with different materials. The most common KMCinterface is the silicon/oxide one. KMC only models interfaces between silicon and other materials (likeoxide or nitride). Interfaces between two materials, where both of them are not silicon, (for example,oxide/nitride interface) are just modeled as mirrors.

Asi+ Asi

0↔

V0 As+ AsV+↔+

V- As+ AsV0↔+

V-- As+ AsV-↔+

V0 V- V--↔ ↔

AsV+ AsV0 AsV-↔ ↔

D As( ) D AsV+( ) AsV+[ ]

As+[ ]------------------ D Asi

+( )Asi

+[ ]

As+[ ]-------------- D AsV0( ) AsV0[ ]

As+[ ]----------------- D Asi

0( )Asi

0[ ]

As+[ ]-------------- D AsV-( ) AsV-

As+[ ]--------------+ + + +=

D As( ) fISI 1 fI–( )SV–[ ] DX As( ) DM As( ) nni---- DMM As( ) n

ni----⎝ ⎠

⎛ ⎞ 2+ +×=

275

Page 296: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Since, as previously explained in Materials and space on page 213, KMC divides the space in smallrectangular elements and assigns to each of them a material. The interfaces are the set of element facesbetween different materials.

Figure 57 KMC interfaces are the set of element faces between different materials

Interfaces set the equilibrium concentration for self-silicon point defects and the solubility concentrationfor impurities. KMC models the interfaces differently for silicon point defects than for impurities.

Interfaces for self silicon point defectsIt is common to define a recombination length Lr as the distance from the surface needed to get theequilibrium concentration (see Figure 58).

Figure 58 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

276

Page 297: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

The microscopical meaning of Lr can be associated with the probability of a point defect of being trappedat the surface:

(495)

Being the point defect jumping distance. The smaller Lr, the better sink is the surface. For interstitialsin the silicon/oxide interface, it is close to a perfect sink with Lr < 5 nm [84][85].

Capture

Interfaces capture neutral interstitials and vacancies with the probability set in Eq. 495. When Lr is setto zero, the probability is set to 1, a perfect sink.

Emission

In [45] the point defect (for example, interstitials) equilibrium concentration is related with the surfacefrequency emission prefactor as:

(496)

where the surface frequency emission in KMC is:

(497)

Sites is the number of capture sites in the interface (proportional to its surface), is the surfaceemission prefactor, and , are 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 areemitted to maintain microscopic reversibility with the capture process.

Parameters

The parameters that control the point defect interface model between silicon and any other material arelisted for the other material; in other words, the silicon/oxide parameters are listed for oxide. Theinterfaces between oxide and any other material, except silicon, are modeled as simple mirrors, and theydo not require parameters.

D0FS Surface emission prefactor ( )

Eform Formation energy Ef(I)

PtrapλLr-----=

λ

I[ ]* 2λ--- ν0 I( )

Ef I( )kBT------------–⎝ ⎠

⎛ ⎞exp××=

ν sites Ptrap× ν0 I( )×Em I( ) Ef I( )+

kBT---------------------------------–⎝ ⎠

⎛ ⎞exp×=

ν0 I( )Em I( ) Ef I( )

ν0 I( )

277

Page 298: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

The migration energies are displayed in the point defect section of the file (see Point defects, impurities,dopants, and impurity paired point defects on page 223). The surface values can be easily obtained usingthe command line. For example, for interstitials and vacancies in the silicon/oxide interface:

sprocess> pdbGet KMC Oxide I D0FS5000.0sprocess> pdbGet KMC Oxide I Eform4.0sprocess> pdbGet KMC Oxide I RecLnm0sprocess> pdbGet KMC Oxide V D0FS800.0sprocess> pdbGet KMC Oxide V Eform3.8sprocess> pdbGet KMC Oxide V RecLnm0

and for vacancies in the silicon/gas interface:

sprocess> pdbGet KMC Gas V D0FS800.0sprocess> pdbGet KMC Gas V RecLnm0sprocess> pdbGet KMC Gas V Eform3.8

NOTE You can modify these values. Changes in the formation energy or surface emission prefactorwill modify the DC equilibrium product of point defects and the diffusivity of all the species.A change, both in the formation and migration parameters, that maintains the DC productconstant will no produce this undesirable effect, but may change the extended defectsdissolution times.

Interfaces for impuritiesInterfaces must trap and re-emit some of the arriving dopants to maintain the solubility in a trapping/emission equilibrium. The trapping and re-emission of impurities model in KMC has been inspired inthe model of [44]. In this model the flux of dopant into the interface is given by:

(498)

where and ; is the total trap density, and a and e denotes theabsorption and emission probabilities. Cs describes the current concentration of dopant in the material.

RecLnm Recombination length Lr

F Csh 1 ea---

σFσmax------------×

σFσmax------------

species∑–+

⎝ ⎠⎜ ⎟⎛ ⎞

hκσF–=

h aσmax= κ e a⁄( ) Cmax σmax⁄( )= σmax

278

Page 299: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

The solubility, h and e/a follow an Arrhenius plot:

(499)

(500)

(501)

X is the particular species (B, As, and so on) and the prefactors and energies are KMC parametersspecified in the parameter database.

Parameters

The parameters needed for the impurity surface model for silicon/material interfaces are specified underMaterial/impurity. Interfaces between two non-silicon materials are just mirrors, and do not requireparameters.

The name of the parameters are:

These parameters can be displayed using the command line. For example, for boron and a silicon/oxideinterface:

sprocess> pdbGet KMC Oxide B h0_surf0.0166sprocess> pdbGet KMC Oxide B Eh_surf0.486sprocess> pdbGet KMC Oxide B ea0_surf0.178sprocess> pdbGet KMC Oxide B Eea_surf-0.086sprocess> pdbGet KMC Oxide B Nmax_surf2e+14

Csol is the solubility in silicon. These solubilities are specified for each dopant in silicon:

h0_surf Prefactor for the absorption probability times the total trap density. h0

Eh_surf Minus energy for the absorption probability times the total trap density. –Eh

ea0_surf Emission probability divided by the absorption probability (prefactor). (e/a)0

Eea_surf Minus energy for the emission probability divided by the absorption probability. –E(e/a)

Nmax_surf Maximum surface concentration of trapped particles.

C0sol Solubility prefactor. C0,sol

Esol Solubility energy. Esol

Csol X( ) C0 sol, X( ) Esol kBT( )⁄–( )exp×=

h X( ) h0 X( ) Eh kBT( )⁄–( )exp×=

e a⁄( ) X( ) e a⁄( )0 X( ) E e a⁄( ) X( ) kBT( )⁄–( )exp×=

σmax

279

Page 300: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

For example:

sprocess> pdbGet KMC Silicon B C0sol1e+24sprocess> pdbGet KMC Silicon B Esol1.0

Emission

Following Eq. 498, KMC assumes the emission flux to be equal to or, introducing thenumber or trapped atoms:

(502)

The emitted particles are the paired dopants with neutral charge. For example:

For species diffusing by both interstitial and vacancy mechanisms, the emitted particles are a interstitialor vacancy pair proportionally to their effective diffusivities.

KMC allows the segregation of B and As into non-silicon materials, and the subsequent diffusion ofthese dopants into these materials. The segregation coefficient for each dopant is established as anArrhenius plot:

. (503)

KMC emits dopants from the interface to the silicon according to Eq. 502. The emission to the other sideis multiplied by the segregation.

Parameters

The parameters for segregation are specified for each material (except silicon) and dopant. Segregationoccurs between silicon and other materials. There is no segregation between non-silicon materials. Theparameters names are:

sprocess> pdbGet KMC Oxide B S0seg3.3sprocess> pdbGet KMC Oxide B Eseg0.0

AsV and Asi For arsenic

Bi For boron

S0seg Segregation prefactor. Seg0

Eseg Segregation energy. Eseg

Femiss hκσF=

Femiss h ea---× Csol× N

Nmax------------×=

Seg Seg0 Eseg kBT( )⁄–( )exp×=

280

Page 301: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Capture

KMC computes the probability of capturing an incoming dopant as:

(504)

D is the effective diffusivity of the dopant (computed by KMC using the diffusivity parameters). Onlyneutral pairs are captured and emitted. When a pair is captured, the impurity remains in the position itwas captured until it is re-emitted.

Steady state

Using the previous equations and assuming that only one dopant (for example, boron) is present with itssteady-state concentration, the relation between the current number of trapped dopant atoms and thedopant concentration is:

(505)

This ratio is shown in Figure 59.

Figure 59 Trapped atoms in the interface/surface for steady state

PcapλD----h 1 N

Nmax------------ e

a--- N

Nmax------------+

As B ..., ,∑–

⎝ ⎠⎜ ⎟⎛ ⎞

×=

NNmax------------ 1

1 ea---

Bsol[ ]B[ ]

-------------- 1–⎝ ⎠⎛ ⎞+

------------------------------------------=

281

Page 302: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Other materialsBesides silicon, KMC also supports, with limitations, other materials:

Oxide Silicon/oxide material. Simple diffusion of dopants is allowed. All other modelsare disabled. This disabled models are pairing and kick-out, extended defects,impurity clusters, amorphization, recrystallization, damage accumulation(amorphous pockets) and the charge model. Point defects (I and V) also aredisabled. Consequently, the only enabled models are the diffusion of dopants(without pairing), and the interaction of these dopants with the interface.

Nitride Silicon nitride material. Only simple diffusion (see Oxide above).

PolySilicon Polysilicon material. Only simple diffusion of dopants (see Oxide above).

Gas KMC discards all the particles in gas. There are no models for this material inKMC. Since the KMC grid elements are the same size and geometry in everymaterial, big gas regions consume valuable computer resources. KMC tries tominimize the gas regions in simulations using the parameter GasUm.

Unknown KMC assigns this material whenever the Sentaurus material is not in this list.There are no models for this material. All particles in this material are discarded.

The diffusion of dopants into non-silicon materials obeys Eq. 410.

ParametersThe parameters used for diffusing impurities in non-silicon materials are the same as in silicon (prefactorDm and energy Em), but listed under the material name. For example, for boron in oxide:

sprocess> pdbGet KMC Oxide B DmB 3.16e-4 sprocess> pdbGet KMC Oxide B EmB 3.53

NOTE If the distribution of dopants in some material is not important, setting its energy to a highvalue or removing it reduces simulation time, especially when the original diffusion energywas low (fast diffusion).

282

Page 303: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Including new impuritiesYou can customize KMC to include other impurities not supported by default. The modifications affectthe parameter database and the file KMC.tcl. These modifications include the following:

1. Include the new impurity X in Params/KMC/Info under the array named Impurities.

2. Include the impurity related particle pairs (Xi and or XV) in Params/KMC/Info Pairs. See Particlesin models on page 219.

3. Be careful about which charge states you include because not all are allowed; you must specifyparameters for all those included.

4. Include possible aliases for the particle in Params/KMC/Info Aliases. If the particle already existsfor non-KMC Sentaurus, be sure to include this name as an alias. See Alias on page 220.

5. You can customize the colors for this particle in TecPlot in Params/KMC/Info Colors. See Colors onpage 220.

6. To create parameters for the new particle, create a file with the name of the impurity for eachmaterial. Parameters are explained in Particles and parameters on page 220. Be sure to include allof them with a blank value. Later, fill the blank with values. You can leave the impurity clustermodel blank if you are not using it. All the others need values since they specify how the surfaceand amorphous regions interact with the new dopant X.

7. Specify the reactions for Params/KMC/silicon/X in ReactionsPointDefect. Typical reactions hereinclude the pair formation (like X,I true) and impurity cluster formation (like Xi,X true).

8. Specify also the reactions with damage and extended defects, if there are any. You may leave thesefields blank. See Interaction with impurities on page 238, Interactions on page 242, Interactions onpage 245 and Interactions on page 247.

If you are including impurity clusters, be sure to:

1. Define reactions that create impurity clusters from two isolated particles.

2. Enable the right impurity clusters for your simulation with Implement_ComplexI or Implement_ComplexV.See Impurity clusters on page 254.

3. Fill the parameters for the impurity clusters. You can leave the barriers blank, but you must specifyEtotal_Complex energies.

4. Write the reactions for your impurity clusters. If you have specified an energy for a particularimpurity cluster, then that impurity cluster should be reachable through some reactions. Include thereactions with dopants and point defects in ReactionsCluster. See Interactions on page 261.

5. If you need dopant deactivation without diffusion for high concentrations, see Percolation onpage 256.

283

Page 304: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Finally, you must modify the KMC.tcl file placed in TclLib:

1. Add the names of your new impurities and pairs to the nameOf array.

2. Complete the map of MC implant to KMC with MCnameOf.

If you need to transfer information back and forth from continuum to KMC, you also must:

1. Add the new particles to the lists in preKMC. For preKMC diffuse, the first field is the field name, thesecond is the KMC name, and the third is the conversion factor. For preKMC struct, the first name isthe KMC name, the second is the field name, and the third is the conversion factor.

2. Add the new particles in postKMC. The first name is the KMC name, the second is the field, and thethird is the factor.

Impurities diffusing without pairingKMC allows impurities to diffuse using two different mechanisms:

Normal diffusion

Diffusion without pairing

Normal diffusion For impurities with +1 or –1 charge, in other words, dopants, the substitutional dopant is active, but itdoes not diffuse. The substitutional dopant reacts with interstitials or vacancies, forming a pair thatdiffuses. These pairs break up with a given frequency, releasing the dopants back into the substitutionalpositions.

Diffusion without pairingFor neutral impurities, the normal diffusion is still available. An alternative diffusion mechanism is themigration without pairing. In these cases the impurity diffuses as it is, in other words, the substitutionalimpurity has a nonzero diffusivity and continues forming pairs with point defects.

Diffusion without pairing (by default implemented for fluorine) has the following characteristics:

The impurity has nonzero diffusivity. The pairs can exist, but they do not have to diffuse:

sprocess> pdbGet KMC Silicon F Dm F 5e-3 FV 0 FI 0

284

Page 305: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

sprocess> pdbGet KMC Silicon F Em F .8 FV 5 FI 5

When a pair (for example, FI) breaks up, Eq. 415 and Eq. 416 still apply. The migration energy ofthe impurity is not accounted.

The impurities cannot interact with extended defects, but their pairs can, as explained in Extendeddefects on page 239.

Impurities interact with interfaces. Interfaces re-emit impurities.

Impurity clusters are possible with some variations.

• Reactions within the impurities (like F + F) apply for the moving particles, and not only for thepercolation model.

• Impurity clusters emit point defects and impurities, as explained in Emission on page 233, butthe capture and emission reaction for impurities are:

(506)

• Consequently, the binding energies involved in the capture and emission of impurities will be:

(507)

• Recombination, FT and complementary FT mechanism also are implemented. The bindingenergies for them are not changed since the emission recombination of Ai (for AnIm clusters) orAV (for AnVm clusters) is not involved.

KMC models reportKMC reports the used models before and after any annealing. Before the annealing, a small summary isprinted for each impurity, dopant, and point defect:

+----------------+-------------------------------------------------+| KMC models | Silicon |+----------------+-------------------------------------------------+|Interstitial | || DiffModel |Direct(I) || ChargeModel |I( -1 0 1 ) || ClusterModel |I+I AmorphousPocket Void ThreeOneOne Loop || SPERModel |Clean ||Vacancy | || DiffModel |Direct(V) || ChargeModel |V( -2 -1 0 1 2 ) || ClusterModel |V+V AmorphousPocket Void ThreeOneOne || SPERModel |Clean ||Arsenic | || DiffModel |Kick-out(Asi) Kick-out(AsV) || ChargeModel |Asi( 0 1 ) AsV( -1 0 1 ) || ClusterModel |As+As AsnVm |

AnIm A An 1+ Im↔+

EAnImb A( ) Epot An 1+ Im( ) Epot AnIm( )–=

285

Page 306: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

| SPERModel |As4Vm 30% deposited 70% moved ||Boron | || DiffModel |Kick-out(Bi) || ChargeModel |Bi( -1 0 1 ) || ClusterModel |BnIm AmorphousPocket Loop || SPERModel |B3Im 100% deposited 0% moved ||Fluorine | || DiffModel |Direct(F) || ChargeModel |FI( 0 ) FV( 0 ) || ClusterModel |F+F FnIm FnVm || SPERModel |F2Im F2Vm 30% deposited 70% moved |+----------------+-------------------------------------------------+

This summary is printed for any particle allowed in the simulation, even if this particle is not going tobe used.

When the anneal step has finished, KMC displays the point defects, impurities, dopants, extendeddefects, clusters, amorphous areas, recrystallizations, and surfaces emission accounted during thesimulation:

-- KMC defect activity report --First: Time Events Temp | Last: Time Events Temp Label 0.000 0.00e+00 27 | 1.992352e-03 1.67e+10 880 PointDefect (I) 0.000 0.00e+00 27 | 1.696930e-03 1.67e+10 1000 PointDefect (V)3.809524e-03 1.43e+10 27 | 192382 here PointDefect (As)1.936682e-03 5.07e+05 27 | 4385 here PointDefect (B) 0.000 4.47e+07 950 | 1.942568e-03 1.67e+10 900 PointDefect (IM) 1.357 2.12e+07 27 | 1.868239e-03 1.67e+10 940 PointDefect (IP)5.992471e-11 4.47e+07 950 | 1.962293e-03 1.67e+10 900 PointDefect (VMM)1.277666e-07 3.50e+01 27 | 1.900924e-03 1.67e+10 920 PointDefect (VM) 4.829 3.15e+07 27 | 1.397627e-03 1.67e+10 1140 PointDefect (VP)2.102807e-09 4.61e+07 950 | 1.087283e-03 1.66e+10 1260 PointDefect (VPP) 0.000 1.43e+10 27 | 1.942568e-03 1.67e+10 900 PointDefect (Asi)2.285714e-01 1.43e+10 27 | 1.868976e-03 1.67e+10 940 PointDefect (AsiP) 85.722 1.43e+10 27 | 1.893440e-03 1.67e+10 920 PointDefect (AsV)3.813927e-03 1.43e+10 27 | 1.706065e-03 1.67e+10 1000 PointDefect (AsVP) 500.000 1.43e+10 27 | 1.964381e-03 1.67e+10 900 PointDefect (AsVM) 0.000 0.00e+00 27 | 1.868239e-03 1.67e+10 940 PointDefect (Bi)6.702099e-02 1.45e+06 27 | 1.478355e-03 1.67e+10 1100 PointDefect (BiP)6.880884e-01 8.85e+06 27 | 1.868239e-03 1.67e+10 940 PointDefect (BiM) 0.000 0.00e+00 27 | 1.863846e-03 1.67e+10 940 AmorphousPocket (I)

Table 21 KMC used models

DiffModel The diffusion model can be direct or kickout. Kickout means that the particle does not diffuse unless paired with an interstitial or vacancy.

ChargeModel The particles and their allowed charged states are displayed.

ClusterModel The interactions between the impurity or point defect and extended defects and clusters are displayed.

SPERModel Recrystallization model shows the percentage of dopant being deposited, and the bigger deposited cluster, if any. Point defects are just cleaned during the recrystallization.

286

Page 307: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

0.000 0.00e+00 27 | 6.434092e-04 1.45e+10 1000 AmorphousPocket (V) 0.000 0.00e+00 27 | 283 here AmorphousPocket (IV) 69.084 1.43e+10 27 | 7.834198e-04 1.47e+10 1120 Amorphous2.175622e-03 5.69e+08 950 | 16 here ThreeOneOne 11.162 1.43e+10 27 | 36638 here ImpurityCluster (AsV)1.510303e-02 1.02e+06 27 | 34 here ImpurityCluster (BI)9.742993e-04 4.84e+08 950 | 1.603681e-03 1.67e+10 1040 Interface (I)2.519791e-03 5.77e+08 950 | 1.566930e-03 1.67e+10 1060 Interface (V)9.131179e-04 1.52e+10 1220 | 1.367324e-03 1.67e+10 1140 Interface (As)9.371943e-02 1.62e+09 950 | 1.085973e-03 1.66e+10 1260 Interface (B) 76.690 1.43e+10 27 | 7.834198e-04 1.47e+10 1120 Recrystallization

The report contains two columns with three subcolumns each. The first report shows when the modelwas first used; the last report shows when the model was last used. If the model is still being used, thenumber of particles or defects using it is displayed followed by “here”. The three subcolumns report thetime, number of simulated events, and temperature.

For example, the previous report shows the first {311} defect (ThreeOneOne) was formed at 2.2e-3seconds, being the temperature 950oC, and there are still 16 {311}s in the simulation. There was anamorphous layer, from 69 seconds, 27oC to 7.8e-4 seconds at 1120oC. Since any anneal resets the timeto zero, the first time applies to a previous anneal or implant (since there is damage accumulation, inother words, room temperature annealing, during implants).

This information shows how the different models were used during the simulation and when the damagewas annealed.

Extracting KMC-related informationKMC information can be requested:

Using the Sentaurus regular interface:

• struct command

• With the select, print, and plot commands

Calling directly the KMC kernel:

• Writing KMC TDR files

• Extracting KMC information with the kmc extract command

Calling KMC directly has the following advantages:

More information can be obtained than using the regular interface.

The atomistic-continuum conversions needed to compute the concentrations is more accurate.

The atomistic information (in other words, 3D coordinates and shape of defects) can be displayed.

287

Page 308: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Creating fields in synchronization with KMC information: deatomizeThe KMC engine is independent of Sentaurus mesh and Sentaurus fields. Consequently, after a diffusionin atomistic mode (see Atomistic mode on page 204), there are no Sentaurus fields to visualize. You caninstruct KMC to create fields with KMC information. For example, to deatomize the simulation andconvert the 3D positions into concentrations, use:

kmc deatomize name=<field>

When the field is created, KMC will not modify it unless there is a new deatomize command. This meansthat the field is in synchronization with the KMC simulation when it is created. However, after that, ifthe KMC simulation changes (for example, doing another diffusion), the field will conserve the initialvalues.

The fields created by kmc deatomize are:

Concentration of particles (number of particles per volume unit). Could be substitutional (B, As,...),paired (AsV, Bi), and the charge state is included (AsV is neutral, AsVM is negative). If these particles aremapped as “mobile” in the KMC.tcl file (see Including new impurities on page 283), the field will becomputed doing a time average. Otherwise, the field will contain the instantaneous concentration.

Total concentration of impurities (number of particles in any defect per volume unit): Itotal,BTotal,...

Concentration in the interface (number of particles in the interface per volume unit): BInterface,AsInterface...

Concentration in amorphous material (number of particles in amorphous layers per volume unit):AsAmorphous, BAmorphous...

Concentration of a particular extended defect (number of defects, where one defect contains morethan one particle, per volume unit): I54, V23, I1026...

Concentration of a particular AP (number of APs, where an AP contains more than one particle): IV,I3V4...

Concentration of a particular impurity cluster (number of impurity clusters, where an impuritycluster contains more than one particle): B2I3, As4V...

Active concentrations (active number of dopants per volume unit, net, p-type, n-type and total):NetActive, pNetActive, nNetActive and tNetAtive.

Some fields compute the defect concentration (concentration of APs, impurity clusters, and extendeddefects). You can transform them into particle concentrations multiplying by the size of the defect. Forexample, you can get the concentration of boron particles in B2, B3, BI2, and B2I2 in the field BICs with thefollowing set of commands:

kmc deatomize name=B2; kmc deatomize name=B3kmc deatomize name=BI2; kmc deatomize name=B2I2select z=”2*B2 + 3*B3 + BI2 + 2*B2I2” name=BICs

288

Page 309: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Using the Sentaurus interface

Select, print, and plot

The commands select, print, and plot work as expected. If you need a field for them, create it using kmcdeatomize, as explained in the previous section. In particular, select creates particles inside KMCwhenever the name of the field is recognized as a KMC name of a particle or defect.

These names are:

struct

The struct command works as expected, except that by default it creates some extra fields to be saved.struct generates these extra fields by calling the function preKMC with argument struct. You can modifyor customize this function in the KMC.tcl file. By default, preKMC tries to generate and store fields similarto a five-stream model from the KMC information.

Non-atomistic mode

When KMC is operating in the non-atomistic mode (Non-atomistic mode on page 207), KMCtransforms five-stream model fields into atomistic information before every annealing, and converts theatomistic information to five-stream model information after any annealing. The KMC simulator isdisabled between annealings; consequently, all information should be accessed using the normalSentaurus interface. The only way to access atomistic information is using the KMC Movie option duringthe KMC annealings.

The transformation from five-stream to KMC is done in the function preKMC with argument diffuse in theKMC.tcl file. preKMC is called automatically before a KMC diffusion in non-atomistic mode. After the

Point defects I,V

Impurities C,F, …

Dopants As, B, …

Paired particles Bi, AsV, Ci, …

Any of the above particles with a different charge IM, VPP, BiM, AsVP, …

Amorphous pockets IV, I4V5, …

Extended defects I43, V21, …

Impurity clusters AsV4, BI2, …

Amorphous BAmorphous, AsAmorphous, …

Dopants or impurities in an interface BInterface, AsInterface, …

289

Page 310: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

diffusion, the function postKMC, with argument diffuse, is invoked to convert the KMC information intofive-stream fields. You can modify and customize both functions.

Atomistic mode

When KMC operates in atomistic mode (Atomistic mode on page 204), KMC will not automaticallyperform any transformation from KMC to continuum or vice versa except if the command struct iscalled.

Calling directly the KMC kernelThe best way to access the KMC information is calling directly the KMC kernel using the kmc command.The option extract of this command accesses the KMC raw information directly and returns it indifferent formats, or creates a TDR file to be opened with Sentaurus Workbench Visualization.

Writing and displaying TDR files with KMC information

The command:

kmc extract tdrWrite filename=<filename>

creates files to be displayed by Sentaurus Workbench Visualization. This file contains a collection of“states” or snapshots. Each snapshots is taken at a particular time during the simulation, the collectionof snapshots gives information about the time evolution during the simulation. Each snapshot cancontain concentrations and histograms, atomistic information, or both. These snapshots are created withthe command:

kmc extract tdrAdd [concentrations] [defects] [list={<fields>}]

The parameter concentrations includes a list of standard fields. These fields are the total concentrationfor each particle, the time averaged concentrations of mobile particles, NetActive, the electronicconcentration, the concentration of impurities in the surface, amorphous and impurity clusters, and theconcentration of point defects in AP, amorphous layers, impurity clusters, and extended defects. Theseconcentrations are displayed with the same dimension as the simulation. Since KMC always works in3D, for 1D simulation the displayed concentrations are averaged for yz-planes, and for 2D simulationsare averaged in z-lines. The concentrations option includes a 2D graph to represent the AP and impurityclusters histograms. These histograms give the number of defects existing in the simulation for eachdifferent size (I and V for APs, impurities, and point defects for impurity clusters). Finally, 1Dhistograms, giving the number of extended defects versus its size, also are included.

290

Page 311: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Figure 60 shows one snapshot saved with the concentrations option for a 2D simulation.

Figure 60 Example of a KMC TDR file displayed with Sentaurus Workbench Visualization. The concentrations option has been used. 1D histograms for clusters and 2D histograms for APs and impurity clusters are included. The concentration (in this case for a 2D simulation) for several fields is included with this option.

291

Page 312: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

The parameter defects include a graph of the defects in the simulation. This graph is always in 3D,independently on the simulation dimensions. It offers the most realistic representation of the simulation.Figure 61 shows an example of the information saved with this option.

Figure 61 Example of a KMC TDR file including atomistic information. The defects option has been used.

Using the KMC Movie option, you can include a command kmc extract tdrAdd to view the evolution of thesimulation with time.

Inquiring KMC profiles, histograms, and defectsBesides the select command and the KMC TDR files, you can access KMC information using the kmcextract command:

kmc extract histogram—extracts histograms for extended defects, impurity defects, and APs.

kmc extract profile—extracts concentrations in 1D, 2D and 3D.

kmc extract dose—extracts doses, in other words concentrations in cm–2.

kmc extract supersaturation—extracts the concentration relative to the equilibrium concentration forpoint defects.

292

Page 313: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

kmc extract defects—gets the atomistic information of the defects.

kmc extract materials—gets information about the different materials in the simulation.

Histogram

extract histogram name= [meansize [minsize=<n>]]

KMC includes several models where the defects are not isolated, but agglomerated in extended defectswhich can contain many particles. This option allows you to extract information about the sizes (numberof particles) of these extended defects.

Histogram needs a valid name to compute the following available histograms:

The optional parameter meansize displays the average size of clusters instead of displaying the whole listof clusters when using this parameter. Without specifying minsize, the average size begins with size 0.

Interstitial histograms

These histograms extract the number of defects in the simulation for each size. It contains informationabout the small, irregular clusters (see Amorphous pockets life cycle on page 236), {311} defects (forsize bigger than the established limit), and dislocation loops. For example:

LogFile [kmc extract histogram name=I]

gives a list of extended defects with I. In this example:

sprocess> LogFile [kmc extract histogram name=I]I2 302I3 104I4 42I5 12I6 4I72 1I677 1

Interstitial extended defects Set name=I to extract information about the small I clusters, {311} defects, and dislocation loops.

Vacancy extended defects Set name=V to extract information about the small V clusters and voids.

B interstitial clusters or other clusters with I

Set name=XI to extract information about the dopant named ‘X’. For example, for boron impurity clusters (BICs) is name=BI.

As vacancy clusters or other clusters with V

Set name=XV. For example, name=AsV to extract information about the arsenic vacancy clusters.

Amorphous pockets Set name=IV.

IVBI

I…⎩

⎪⎪⎨⎪⎪⎧

293

Page 314: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

sprocess> LogFile [kmc extract histogram name=I meansize]4.11373sprocess> LogFile [kmc extract histogram name=I meansize minsize=10]374.5

Vacancy extended defects histogram

These histograms are similar to the interstitial extended defects histogram, except that the extractednumber of particles versus size is for vacancies:

sprocess> LogFile [kmc extract histogram name=V]V5 1V7 2V8 5V9 2V10 5(...)sprocess> LogFile [kmc extract histogram name=V meansize]12.9143sprocess> LogFile [kmc extract histogram name=V meansize minsize=10]15

Amorphous pockets histogram

The AP histograms contain the number of cluster versus I and V size. APs with null Is or Vs can beconsidered as APs or small I or V clusters.

sprocess> LogFile [kmc extract histogram name=IV]I2 367I3 69I4 22I5 1IV 823I2V 249I3V 61I4V 23I5V 2V2 408IV2 251I2V2 111(...)

The average size can be requested for these clusters. It will return values for both the I and the V:

sprocess> LogFile [kmc extract histogram name=IV meansize]I2.3501V0.796781

The parameter minsize applies here, and specifies the minimum size to begin the average for bothspecies.

Boron interstitial clusters

The boron interstitial cluster histogram offers information about the number of BICs for each BICconfiguration (BnIm).

294

Page 315: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

sprocess> LogFile [kmc extract histogram name=BI]B2I 16B3I 347sprocess> LogFile [kmc extract histogram name=BI meansize]B2.95592I1

Arsenic vacancy clusters

The vacancy arsenic cluster histogram offers information about the number of arsenic and vacancies inimpurity clusters for each configuration (AsnIm):

sprocess> LogFile [kmc extract histogram name=AsV]As2 277As3 109As4 3As2V 752As3V 281As4V 178sprocess> LogFile [kmc extract histogram name=AsV meansize] As2.47V0.756875

Profiles

KMC computes the profiles concentration versus size as a convenient way to directly obtain useful data.

kmc extract profile [timeaveraged] name=

[coordx=] [coordy=] [coordz=]

For example, 1D profiles can be compared with SIMS experiments. The profiles are an average of theconcentration of particles. For 3D, KMC takes a volume to be averaged equal to the internal KMCelement. For 2D and 1D, this volume includes all the elements in y and z, respectively. This default canbe changed with the pdb parameters SubCellX, SubCellY, and SubCellZ. Setting SubCellX to a value of 2, forexample, will sample the x-axis with 2 points per internal element. The volume averaged for each pointwill be half. Setting a value of 0.5 generates half of the points with double averaged value. Theseparameters are set to 1 by default. Changing SubCellY or SubCellZ for 1D, or SubCellZ for 2D, does notaffect the final result since the YZ plane is averaged in 1D and the z-lines are averaged in 2D.

The parameter name chooses the profiles to be obtained. holes and electrons returns the concentration ofholes and electrons, respectively. A particle name (like Bi, IM, or AsVP) returns the concentration of all theparticles in the simulation matching the given one. A cluster name (for example, As4V) will return theconcentration of that cluster in the simulation. For particles, the concentration of particles is returned forcluster the concentration of clusters. For example, an As4 cluster is considered as 4 As particles when yourequest the concentration of As, but as only 1 defect when you request concentration of As4 clusters.

holeselectrons

particles B Ai …, ,( )

clusters InVm BnIm …, ,( )⎩⎪⎪⎨⎪⎪⎧

defectname=

ThreeOneOneInterface

Loop…⎩

⎪⎪⎨⎪⎪⎧

295

Page 316: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

When a particle profile is specified, the optional parameter defectname can be used to further specifiedwhich kind of particles. For example, the command:

kmc extract profile name=I

computes the concentration of interstitials in any kind of defect, in other words, the total interstitialconcentration.

kmc extract profile name=I defectname=ImpurityCluster

computes the concentration of interstitials in impurity clusters.

The parameter defectname should not be specified with cluster concentration, electrons or holes.

The returned concentration has the same dimensionality as the performed simulation. Use the optionalparameters coordx, coordy, and coordz to change this default. These parameters specify cut lines. Forexample, in a 3D simulation the command:

kmc extract profiles name=I

returns the concentration for all the volume elements in the simulation. The command:

kmc extract profiles name=I coordx=20<nm> coordz=10<nm>

returns a 1D profile with concentrations in the plane x = 20 <nm> and z = 10 <nm>. Finally:

kmc extract profiles name=I coordx=20<nm> coordy=15<nm> coordz=10<nm>

returns only one value, the concentration at the specified point. Only coordx can be specified for 1Dsimulations, and coordx and coordy for 2D.

KMC returns the instantaneous concentration by default. For mobile particles the instantaneousconcentration does not usually contain any information rather than noise. The parameter timeaveragedinstructs KMC to return the average concentration of mobile particles between the current time and thelast time KMC created a snapshot (see Snapshots on page 216).

For example, Figure 62 on page 297 has been produced with the input script:

pdbSet KMC MaxYum 40e-3pdbSet KMC MaxZum 40e-3SetAtomisticpdbSetString KMC Movie ""pdbSetBoolean IncrementalHops 0line x loc=0.0 tag=xleft spacing = 0.002 line x loc=1.5e-3 tag=xmed spacing = 0.002line x loc=5e-3 tag=xright spacing = 0.002region oxide xlo=xleft xhi=xmed region silicon xlo=xmed xhi=xright

initdiffuse time=1e7<s> temp=700 info=1kmc extract tdrClearkmc extract tdrAdd concentrations kmc extract tdrWrite filename=equil

296

Page 317: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Figure 62 Equilibrium concentrations of neutral (green), positive (red), and negative (blue) interstitials at 700°C

The concentrations of neutral, positive, and negative interstitials also can be obtained with:

sprocess> kmc extract profile timeaveraged name=IP coordx=2.5<nm> 162487sprocess> kmc extract profile timeaveraged name=I coordx=2.5<nm>1.0276e+06sprocess> kmc extract profile timeaveraged name=IM coordx=2.5<nm> 18170.5

Supersaturationkmc extract supersaturation name=

Supersaturation is the current concentration relative to the equilibrium concentration:

(508)

KMC computes the supersaturation for Is and Vs. The current global concentration is calculatedinvolving a time average between the current time and the last snapshot:

sprocess> LogFile [kmc extract supersaturation name=I]1.00555

IV⎩

⎨⎧

supersaturation X( ) X[ ]

X[ ]*-----------=

297

Page 318: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

To obtain the supersaturation evolution with time, use the KMC Movie parameter as shown in the followingexample:

SetAtomisticset kmcSupersat ""pdbSet KMC MaxYum 30e-3pdbSet KMC MaxZum 30e-3pdbSet KMC Movie {lappend kmcSupersat $time [kmc extract supersaturation name=I]}pdbSet KMC automaticRampUp 1line x loc=0.0 tag=xleft spacing = 0.002line x loc=1.5e-3 tag=xmed spacing = 0.002line x loc=350e-3 tag=xright spacing = 0.002region oxide xlo=xleft xhi=xmed region silicon xlo=xmed xhi=xright

initimplant Silicon energy=40 dose=2e13 tilt=7diffuse time=100000<s> temp=600LogFile $kmcSupersat

produces the results:

10.0007 4.29101e+07 21.5462 2.51728e+07 46.4218 1.58636e+07 100.004 1.41889e+07 215.493 7.67109e+06 464.238 3.44625e+06 1000.26 1.86513e+06 2156.46 477255 4645.69 322049 10002.8 113849 21551.6 132116 46419.1 110329 100006 81506.4

298

Page 319: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

Figure 63 shows a comparison with experimental results.

Figure 63 Supersaturation evolution with time, after a silicon implant (2e13 dose, 40 keV energy) annealed 1e5s at 600oC. (Experimental points modified from the [85] to use the same B diffusivity). Points, experiments, lines, KMC.

Defects

The defects option allows access to the raw atomistic information of any simulation. The obtainedinformation must match the parameters name and defectname when they are specified.

kmc extract defects

[countparticles] [countdefects] [detailed]

When there are no restrictions, all defects are accessed. For example, for the following added defects:

kmc add queue name=BI2 coordx=2<nm> coordy=2<nm> coordz=3<nm>kmc add queue name=I2 coordx=3<nm> coordy=2e-3 coordz=4e-3kmc add queue name=I3 coordx=4<nm> coordy=3<nm> coordz=1<nm>kmc add

name

holeselectrons

particles B Ai …, ,( )

clusters InVm BnIm …, ,( )⎩⎪⎪⎨⎪⎪⎧

=

defectname=

ThreeOneOneInterface

Loop…⎩

⎪⎪⎨⎪⎪⎧

299

Page 320: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

The obtained defects are:

sprocess> kmc extract defects0.00201273 0.00238963 0.00298179 I ImpurityCluster 00.00196125 0.00204962 0.00249501 I ImpurityCluster 00.00177392 0.00225923 0.00247647 B ImpurityCluster 00.00320253 0.00162722 0.00466375 I AmorphousPocket 10.00222551 0.00139856 0.004411 I AmorphousPocket 10.0044946 0.00317389 0.00130069 I AmorphousPocket 20.00441116 0.00353071 0.000842549 I AmorphousPocket 20.00403856 0.00351353 0.00084327 I AmorphousPocket 2sprocess> kmc extract defects name=I0.00201273 0.00238963 0.00298179 I ImpurityCluster 00.00196125 0.00204962 0.00249501 I ImpurityCluster 00.00320253 0.00162722 0.00466375 I AmorphousPocket 10.00222551 0.00139856 0.004411 I AmorphousPocket 10.0044946 0.00317389 0.00130069 I AmorphousPocket 20.00441116 0.00353071 0.000842549 I AmorphousPocket 20.00403856 0.00351353 0.00084327 I AmorphousPocket 2sprocess> kmc extract defects name=I defectname=ImpurityCluster0.00201273 0.00238963 0.00298179 I ImpurityCluster 00.00196125 0.00204962 0.00249501 I ImpurityCluster 0sprocess> kmc extract defects name=BI20.00201273 0.00238963 0.00298179 I ImpurityCluster 00.00196125 0.00204962 0.00249501 I ImpurityCluster 00.00177392 0.00225923 0.00247647 B ImpurityCluster 0

The six columns present in the output are:

X-coordinate of the defect.

Y-coordinate.

Z-coordinate.

Particle name.

Defect name.

Number of defect. Particles with the same number belong to the same defect.

NOTE kmc extract defects can produce large outputs.

When there are APs or amorphous defects in the simulation, the result may not be the expected. APsonly report the “real” particles (see the Amorphous pockets life cycle on page 236 and Amorphousdefects on page 250). The option detailed forces the APs and defects to report all the particles. With thisoption, KMC generates coordinates for any particle including the hidden ones.

The options countparticles and countdefects do not display the atomistic information, but they count thenumber of particles and defects, respectively, for the given conditions. For example, this example showshow to count the particles and defects listed in the last example:

sprocess> kmc extract defects countparticles8sprocess> kmc extract defects countdefects

300

Page 321: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

3sprocess> kmc extract defects name=I countparticles7sprocess> kmc extract defects name=I defectname=AmorphousPocket countdefects2

Doses

The dose option extracts the concentration per surface unit (in other words, cm–2) for the wholesimulation cell. dose can be used to look at the evolution of the species with the time.

kmc extract dose

[countdefects]

The parameters name and defectname restrict the species to compute the dose. name can be any particle ordefect. defectname may be specified when name is a particle, and it restricts the particles to be of thespecified type. A list of defect types is obtained with kmc defecttypes. This command counts the numberof particles (like kmc extract defects with the same restrictions and the countparticles option) and itdivides this number by the surface area.

As an example, the following input file implants silicon into silicon and extracts the dissolution of {311}during annealing:

set silicon_depth 350e-3set size 50e-3set SiO2gate 1.5e-3SetAtomisticset sol ""pdbSet KMC Movie {lappend sol $time [kmc extract dose name=I defectname=ThreeOneOne]}pdbSet KMC MaxZum $sizepdbSet KMC MaxYum $sizepdbSet KMC GasUm $SiO2gatepdbSet KMC automaticRampUp trueline x loc=0.0 tag=xtop spacing = 0.002line x loc=$silicon_depth tag=xbottom spacing = 0.002region silicon xlo=xtop xhi=xbottom

initdeposit oxide fill coord=[expr -$SiO2gate]implant silicon energy=40 dose=5e13 tilt=7diffuse time=3100 temp=670LogFile $sol

This example produces the results:

46.4176 2.88e+12 100.01 9.56e+12

name Particles I AsV Bi- …, , ,( )

Defects In Vn InVm BnIm …, , , ,( )⎩⎪⎨⎪⎧

=

defectnameImpurityClusterThreeOneOne

…⎩⎪⎨⎪⎧

=

301

Page 322: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

215.464 1.104e+13 464.175 1.596e+13 1000 2.172e+13 2154.45 3.144e+13 4641.63 3.736e+13 10000 3.044e+13 21544.5 1.388e+13 46417.4 9.6e+11 100233 0

Figure 64 shows the comparison with experimental data [52]

Figure 64 Dissolution of {311} extended defects at 670oC after a silicon into silicon implant of 40 keV, 5e13 cm–2

Materialskmc extract materials [detailed]

The command kmc extract materials produces the list of materials currently in the simulation.

sprocess> kmc extract materialsSilicon Oxide Gas

The option detailed produces a list of coordinates and materials. This list contains the same number ofdimensions as the simulation. For example, in a 1D simulation:

sprocess> kmc extract materials detailed -0.002 Gas -0.000625 Oxide 0.00075 Oxide 0.002125 Oxide 0.0035 Oxide

302

Page 323: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

0.004875 Oxide 0.00625 Oxide 0.007625 Oxide 0.009 Oxide 0.010375 Silicon 0.01175 Silicon 0.013125 Silicon 0.0145 Silicon 0.015875 Silicon 0.01725 Silicon

303

Page 324: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 5 ATOMISTIC KINETIC MONTE CARLO DIFFUSION

304

Page 325: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

Sentaurus Process

CHAPTER 6 Alagator scripting language

This chapter discusses the Alagator language, which is used to specify partial differential equations andboundary conditions for use with diffusion simulations. The equations are expressed in a Newtoniteration–ready form. They are specified as text strings that are assumed to be equal to zero. Mostmathematical operators are supported to specify equations, and various operators for differential termsare available. For terms that include the gradient (grad) operator, Sentaurus Process will automaticallycalculate the divergence. It is not necessary to specify the divergence in the equations.

Binary operators, functions, constants, and parameters are supported. Care must be exercised with Tclexpansion of variables and strings, as usually users want variables to be evaluated at run-time, not whenthey are read.

OperatorsThe Alagator language operators and variables consist of binary operators, simple functions, differentialfunctions, string names, solution names and subexpressions, and constants and parameters.

Binary and unary operatorsMost common binary algebraic operators are supported. Addition (+), subtraction (–), multiplication (*),and division (/) are included. Unary negation is also supported with the usual mathematical rulesapplying. Typical precedence rules apply (see Table 22 on page 306). Parentheses are also supported forgrouping operations. In addition to the basic four mathematical operators, power (^) is also supported,for example, a^b raises a to the b power.

NOTE The Tcl command expr pow(a,b) is not supported in the Alagator language.

Many comparison operators are also implemented. These do not support derivative operations, so theycannot be used in the gradient expression. However, they can be used in the select command (see selecton page 498) and the ComputeNode callback (see Using callback procedures on page 316). The operators>, <, >=, <=, ==, and != are all implemented with their usual meanings. Care must be used with equalsand not equals, since a comparison of floating point values in this way can be problematic.

305

Page 326: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

Logical operators and (&&) and or (||) are also provided for use with callbacks and initialization. Whenthese operators are used as part of a differential equation, care must be taken as the Newton method doesnot ensure convergence for problems that are not first-order continuous.

In addition to these, a conditional operator (?:) is provided, which takes three operands. The first operandis a condition, the second operand is the value of the entire conditional expression if the condition is true,and the third operand is the value of the entire conditional expression if the expression is false. Forexample, the command:

sel z = "Int > 1e15 ? 1e15 : Int" name = Int

sets the value of Int to on mesh points where Int is greater than and does not changeInt on mesh points where Int is smaller than . Since the select command works on mesh nodes,the conditional operator is very useful for truncating profiles.

Simple functionsAll simple functions take one argument that must be enclosed in parentheses. The argument can be anyexpression. Most common functions are available, including ‘exp’ natural exponentiation, ‘log’ naturallog, ‘log10’ log base 10, and ‘sqrt’ square root. Additionally, the complementary error function ‘erfc’and error function ‘erf’ are provided to help build initial doping profiles. All of these functions havesupported derivatives and can be used in the specification of partial differential equations.

‘abs’ and ‘sign’ provide an absolute value and sign operation. The sign operation is positive if theargument is greater than zero and minus one for less than zero. These functions do not providederivatives and cannot be used as part of a differential equation.

Differential functionsThe differential functions are used in partial differential equations only and are not evaluated with theselect command. There are two differential operators. Time derivatives are supported with the ddtoperator. It takes a single argument and computes the time derivative of the argument for use in a partialdifferential equation. Time-step integration is provided automatically using the Bank–Rose TRBDFmethod.

Table 22 Operator precedence

Operator Description Operator Description

^ Power && Logical and

- Unary minus || Logical or

*, / Multiplication, division ?: Conditional operator

+, – Addition, subtraction , Comma operator for lists

<, <=, >=, >, ==, != Equality, inequality

1 1015× 1 1015×1 1015×

306

Page 327: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

Spatial derivatives are supported in two ways. A simple gradient is supported with grad. Implied is theevaluation in a discrete sense and the integral around a control volume. For this reason, div is notrequired. For example, A*B*grad(C) is treated as div(A*B*grad(C)).

String namesStrings that are not recognized as real numbers, operators, or functions are handed to the resolution phaseof the parser. These strings are compared to four sets of possible matches. The first set is valid solutionnames created with the solution command (see solution on page 505). The second set is the data fieldname. The third set is named subexpressions created with the term command (see term on page 514).Finally, any remaining strings are passed to the Tcl expression function to see if they can be parsed to areal number constant. This allows parameters from the parameter database to be used in differentialequations.

Solution names and subexpressions: TermsSolution names (for example, Boron, 311) must match the string exactly as specified in the solutioncommand (see solution on page 505). These are the most important resolution since they allow linkingof the equations to the variables to be solved. Derivatives are automatically taken of all equations withrespect to each solution name found in the equation. Terms are useful for common subexpressions asthey can save significant computation time. Derivatives and values in terms are precomputed for eachevaluation. The string must match exactly the name given in the term command (see term on page 514).

Constants and parametersAnything that does not match a term or solution is handed to the Tcl expression parser to see if itevaluates as a valid expression. The result is treated as a constant. The evaluation of the expression isredone in the code if the temperature or time changes, so that parameters can have explicit dependencieson these values.

Alagator for diffusionIn this section, an example is used to illustrate how to specify equations using the Alagator scriptinglanguage. The general expression for diffusion of species is given by:

(509)

and will be translated to Alagator language as:

ddt(CA)-D*grad(CA)

CA

t∂∂CA D∇CA∇•=

307

Page 328: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

where CA is the solution variable and D is the diffusivity term (see Solution names and subexpressions:Terms on page 307).

NOTE Do not specify div operator in front of D*grad(CA). div is implied.

NOTE grad operator must work on function of solution variable.

BasicsThe simplest diffusion equation uses a constant diffusivity and can be described by Fick’s first law andsecond law. Two main steps are required to initialize and solve this equation. First, a solution (seesolution on page 505) must be defined. Second, the equation must be entered into the parameterdatabase.

A minimum of two commands can be used to accomplish this, for example:

solution name=CX add !negative !damp solvepdbSetString Silicon CX Equation "ddt(CX) - 1e-15*grad(CX)"

The first line creates a new solution named CX and adds it to the solution list. The solution cannot takenegative values and numeric damping is not applied to the updates of the Newton iteration. The solutionis always to be solved.

NOTE Aliases are defined only for pdb commands. In the above example, the solution name used inthe definition of partial differential equations must match the one defined with the solutioncommand.

The second line makes an entry into the parameter database (pdb). This is created for the material Siliconand the solution variable CX. An entry is made for an Equation, which is the predefined entry that Alagatorlooks for to find a differential equation. The string value set is the differential equation that will be solvedfor this variable in this material. The equation uses a time operator (ddt) and gradient operator (grad) toimplement a simple diffusion equation. The divergence operator is implied and computed as part of thediscretization of the equations. Whenever a gradient operator grad is in an Alagator script, it is assumedthat the divergence will be taken of that term during assembly.

In this example, the equation to be solved is d(CX)/dt - div(1.0e-15 * grad(CX)) = 0. The solution namein the equation (CX) must also be identical to the name in the solution command. The diffusivity in thisexample is hard wired to be 10-15 cm2/s .

308

Page 329: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

In this first example, the diffusivity does not depend on the temperature. To use a temperature-dependentdiffusivity, the following command lines can be used:

set diff {[Arrhenius 0.138 1.37]}pdbSetString Silicon CX Equation "ddt(CX) - $diff * grad(CX)"

In the first line, a local Tcl variable is created to hold a string representing the diffusivity. The braces arenecessary to prevent immediate evaluation of the Arrhenius function (see Arrhenius on page 424). TheArrhenius function is a predefined helper function that allows for the simple creation of Arrheniusexpressions. It uses the temperature set by the diffusion command or the SetTemp command (see SetTempon page 502). The presence of braces means that the Arrhenius function is inserted directly into theparameter database equation and is evaluated during the diffusion. For each diffusion time-step, theArrhenius function will then be evaluated at the current temperature.

A further enhancement can be made by adding the diffusivity to the parameter database. This allowsother users to change the value in the equation by accessing the properties directly. The followingchanges make the equation dependent on the stored value in the database:

pdbSetDouble Silicon CX D {[Arrhenius 0.1 3.62]}set diff [pdbDelayDouble Silicon CX D]pdbSetString Silicon CX Equation "ddt(CX) - $diff * grad(CX)"

The first line sets the diffusivity in the database. This can be made permanent by directly editing thehierarchy files. The second line uses pdbDelayDouble to return the expression stored in the database. Thisis necessary so that the evaluation of the expression does not occur until the diffuse command isexecuted. Now, the equation depends on the database entry. (Users can change this entry to observe theeffect of different diffusivities on the final profile.)

In addition, it is possible to solve for CX only after it is implanted or otherwise present in the material.This is performed by modifying the solution command:

solution name=CX !negative !damp ifpresent=CX add

The ifpresent option enables the solution as a variable for the diffusion equation only if a real data fieldexists with that name. This means that only structures already having CX defined (with the selectcommand, for example) will solve the differential equation. This is useful for controlling CPU time andmatrix size by not requiring solutions of systems that do not have that species present.

Setting boundary conditions

Dirichlet boundary condition

The previous example can be enhanced by adding a boundary condition to allow in-diffusion of thisspecies from a gas source. For simplicity, it is assumed that the gas source fixes the surface concentrationof species CX at /cm3. The following two commands will create this boundary condition:

pdbSetBoolean Gas_Silicon CX Fixed_Silicon 1pdbSetString Gas_Silicon CX Equation_Silicon "CX_Silicon - 5.0e19"

5 1019×

309

Page 330: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

Both commands work on the gas–silicon interface for the CX variable. The first command states that thevalue is to be fixed on the silicon side, that is, a Dirichlet boundary condition is to be applied. Thekeyword Fixed is used only with the Dirichlet boundary condition (see Setting boundary conditions onpage 309 and Using terms on page 311). Fluxes will be ignored at this node and the boundary conditionwill control the concentration. The _Silicon option on Fixed indicates the value is to be set on the siliconside. This is critical because there can be three components on any interface, one for each material andone for the interface. The second command sets the boundary condition equation on the silicon side tobe the concentration of cm–3.

NOTE Equations are set to zero by definition. The CX variable also has _Silicon appended to indicatethat the concentration is set on the silicon side.

NOTE The interface names are lexically ordered. Most interface names are set to the right orderusing the alias command (for example, Silicon_Gas will be interpreted as Gas_Silicon). If anew interface name is introduced, the order must be followed.

Segregation boundary condition

If a segregation-type boundary condition is needed, for example, at the oxide–silicon interface, thefollowing two commands will create this boundary condition:

pdbSetString Oxide_Silicon CX Equation_Oxide "(1.6e-7*(CX_Oxide - CX_Silicon/0.28))"pdbSetString Oxide_Silicon CX Equation_Silicon "-(1.6e-7*(CX_Oxide - CX_Silicon/0.28))"

Of course, this boundary condition assumes that the diffusion equation for CX is solved in the oxideregion as well. Otherwise, the diffusion equations would be unbalanced at this interface. Both of thecommands work on the oxide–silicon interface. The _Silicon and _Oxide options on Equation indicate theside of the interface to which the given flux will be applied. The same options on the solution variableCX indicate whether the solution variable value at this interface is taken from the oxide side or siliconside. It should also be noted that the fluxes have opposite signs. The first number ( ) in the fluxequation is the transfer coefficient and the second number (0.28) is the segregation coefficient.

Natural boundary condition

If a natural boundary condition is needed, the following three commands will create this boundarycondition:

set Ksurf {[Arrhenius 1.17e6 1.37]}set CXStar {[Arrhenius 3.6e27 3.7]}pdbSetString Gas_Silicon CX Equation_Silicon "- $Ksurf * (CX_Silicon - $CXStar)"

The first two lines set the surface recombination rate and the equilibrium concentration, and the thirdline sets the equation. In this case, a flux is added to the equation on the silicon side, so there is no needfor the Fixed flag. Recombination at an interface obtains a negative sign and generation obtains a positive

5 1019×

1.6 10 7–×

310

Page 331: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

sign. The variable again needs to have _Silicon appended to indicate the value on the silicon side of theinterface.

Interface traps

Interfaces can act like a trap for diffusing species. It is also possible that the trapped species may diffusealong the interface and segregate into neighboring materials.

The following commands will create this boundary condition:

set diff {[Arrhenius 5.e-14 1.2]}set Ktrap {[Arrhenius 1.17e-2 1.37]}set CXStar {[Arrhenius 3.6e27 3.7]}

pdbSetString Gas_Silicon CX Equation "ddt(CX) -$diff * grad(CX) - $Ktrap * (CX_Silicon - $CXStar)"pdbSetString Gas_Silicon CX Equation_Silicon "-$Ktrap * (CX_Silicon - $CXStar)”

The first three lines set the diffusivity, trapping rate, and equilibrium concentration of CX at the gas–silicon interface, respectively. The fourth line sets the trapping equation at the gas–silicon interface. Thesolution variable name (CX) without the suffix _Silicon indicates the value at this interface. The variablewith _Silicon appended indicates the value on the silicon side of the interface. The grad() operator hasthe usual meaning as previously explained (see Basics on page 308). The last term in the equation is theflux, which depends on the trapping rate. The last line adds the corresponding flux to the equation on thesilicon side.

Using termsIt is possible to extend the previous example by introducing a new solution variable, CY, and the followingrecombination reaction between CX and CY:

(510)

(511)

The reaction states that two species (CX and CY) annihilate each other when they react. is the forwardreaction rate, and and are the equilibrium values of the solution variables. The new solutionvariable is assumed to diffuse according to Fick’s law of diffusion. Building on the previous example,the above equation can be implemented by the following command lines:

solution add name=CX !damp !negative solvesolution add name=CY !damp !negative solve

set Kf {[Arrhenius 4.2e-11 0.1]}set CXStar {[Arrhenius 3.6e27 3.7]}set CYStar {[Arrhenius 4.0e26 3.97]}

set RCXCY "$Kf * (CX * CY- $CXStar * $CYStar)"

set diff {[Arrhenius 0.138 1.37]}

CX CY+ 0↔

RCXCY Kf CXCY CX*CY*–( )≡

KfCX∗ CY∗

311

Page 332: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

pdbSetString Silicon CX Equation "ddt(CX) - $diff * grad(CX) + $RCXCY"set diff {[Arrhenius 0.02 0.3]}pdbSetString Silicon CY Equation "ddt(CY) - $diff * grad(CY) + $RCXCY"

The first two lines create solutions for CX and CY. The third line is the forward reaction rate. The next twolines set the equilibrium concentrations of CX and CY. The sixth line sets the RCXCY variable to be asubexpression for the recombination reaction. Any excess of CX and CY is annihilated until theconcentrations are at the equilibrium product. Finally, the diffusivity is obtained and the equation is set,similar to the previous example. The recombination reaction is added to both solution variableequations.

A common error is not to add reaction terms to all affected equations. When the recombination ispositive, it forces the time derivative to become negative to make the equation equal zero.

This implementation is difficult to read, since the RCXCY variable is used twice. It can also become morecomplicated with complex systems. This is exactly the type of situation that terms (see term onpage 514) were created to handle.

A term is a common subexpression that can be used in multiple instances. When the term appears inmultiple equations, the values are easily retrieved from memory and accumulated, for example:

solution add name=CX !damp !negative solvesolution add name=CY !damp !negative solve

set Kf {[Arrhenius 4.2e-11 0.1]}set CXStar {[Arrhenius 3.6e27 3.7]}set CYStar {[Arrhenius 4.0e26 3.97]}

term name=RCXCY Silicon eqn = "$Kf * (CX * CY- $CXStar * $CYStar)"

set diff {[Arrhenius 0.138 1.37]}pdbSetString Silicon CX Equation "ddt(CX) - $diff * grad(CX) + RCXCY"set diff {[Arrhenius 0.02 0.3]}pdbSetString Silicon CY Equation "ddt(CY) - $diff * grad(CY) + RCXCY"

This is almost identical to the previous example, except that a term was created, not a local variable. Dueto this change, the dollar sign (indicative of a Tcl variable) is no longer needed in the equation. It hasbecome a simple text string, which will be resolved to the term. The terms are kept until the user exitsthe simulator, so it can be used in other equations or in a select command (if users want to monitor therecombination rates).

A further enhancement can be made by adding the diffusivity, equilibrium concentrations, and reactionrate to the parameter database as previously. The following changes make the equation dependent on thestored values in the database:

pdbSetDouble Silicon CX D {[Arrhenius 0.138 1.37]}pdbSetDouble Silicon CY D {[Arrhenius 0.02 0.3]}pdbSetDouble Silicon CX Kf {[Arrhenius 4.2e-11 0.1]}pdbSetDouble Silicon CX Cstar {[Arrhenius 3.6e27 3.7]}pdbSetDouble Silicon CY Cstar {[Arrhenius 4.0e26 3.97]}

solution add name=CX !damp !negative solvesolution add name=CY !damp !negative solve

312

Page 333: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

set Kf [pdbDelayDouble Silicon CX Kf]set CXStar [pdbDelayDouble Silicon CX Cstar]set CYStar [pdbDelayDouble Silicon CY Cstar]

term name = RCXCY Silicon eqn = "$Kf * (CX * CY- $CXStar * $CYStar)"

set diff [pdbDelayDouble Silicon CX D]pdbSetString Silicon CX Equation "ddt(CX) - $diff * grad(CX) + RCXCY"set diff [pdbDelayDouble Silicon CY D]pdbSetString Silicon CY Equation "ddt(CY) - $diff * grad(CY) + RCXCY"

As stated in the previous section, the first five lines use pdbDelayDouble to return the expression stored inthe database. This is necessary so that the evaluation of the expression does not occur until the diffusecommand is executed.

Callback proceduresCallbacks allow additional ‘intelligence’ to be built into the equations by allowing procedures to becalled at run-time. These procedures build the equation strings according to user-specified options. Byselecting model switches, the user can choose between different physical models to be represented in theequation strings. By having callback procedures that use a material name, a dopant name, or a defectname as arguments, the same type of equation can be build for several materials, dopants, and defectspecies. In Sentaurus Process, all frequently used equations are built-in callback procedures.

There are seven callback procedure–related keywords in Alagator: InitProc, InitSolve, EquationInitProc,EquationProc, InitGrowth, EquationGrowthProc, and EpiEquationProc. InitGrowth and EquationGrowthProc areused to define generic growth equations (see Alagator for generic growth on page 324) andEpiEquationProc is used with the epi model (see Epitaxy on page 155).

This section focuses on the remaining keywords. All of these keywords provide a Tcl callback procedurename to Sentaurus Process:

InitSolve Provides the Tcl callback procedure name that is used to reset or delete existingparameter database equations or terms.

EquationInitProc Provides the Tcl callback procedure name that sets up the initializationequations.

InitProc Provides the Tcl callback procedure name that is usually used to reset or deleteexisting parameter database equations or terms at the beginning of a diffusionsimulation.

EquationProc Provides the Tcl callback procedure name that sets up diffusion equations.

Callbacks during execution of diffuse command

The Tcl callback procedures are called at various stages during the execution of a diffuse command. Inaddition to the callback procedures, Sentaurus Process calls the diffPreProcess Tcl procedure before

313

Page 334: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

executing the diffuse command and the diffPostProcess Tcl procedure after executing the diffusecommand. The default behavior is described in Implant to diffusion on page 184.

Figure 65 shows the flowchart of this process. Sections relating to generic growth are omitted. They areexplained in Alagator for generic growth on page 324.

Figure 65 Flowchart with calls to the callback procedures during the execution of a diffuse command by Sentaurus Process; callbacks related to material growths are omitted

diffuse

diffPreProcess

For each: solution and material

InitSolve callback procedure:

Next

For each: marked solution and material

EquationInitProc callback procedure

Solve initialization

InitPostProcess

For each: solution and material

EquationProc callback procedure

Solve diffusion

diffPostProcess

InitProc callback procedure

For each: solution and material

Next

equations

Next

Next

equations

314

Page 335: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

DiffPreProcess

The execution of every diffuse command starts with a call to the diffPreProcess Tcl procedure. ThediffPreProcess Tcl procedure is used to initialize various data fields or to preprocess the existing datafields. For example, the truncation of interstitial and vacancy profiles in the amorphous regions isperformed in this procedure. In diffPreProcess, the point-defect equations are switched on or offaccording to the diffusion models selected.

Initialization

After the execution of diffPreProcess, Sentaurus Process checks for all materials and solution names, andwhether a procedure name is specified for the keyword InitSolve for the material and solution names. Ifa procedure name is defined, the procedure will be called, using the material name and solution name asarguments.

Subsequently, Sentaurus Process checks for all marked materials and solutions to see if a procedurename is specified with the keyword EquationInitProc for the solution variable that needs to be initialized.If this is the case, the procedure will be executed with the material name and solution name as arguments.Typically, in this procedure, the equation string is built, which is to be solved at time=0 in the diffusionsolver. Alternatively, if no callback procedure name is defined for the keyword EquationInitProc for amaterial and solution, the equation string to be used for the initialization can be specified directly on thecommand line.

After that, Sentaurus Process will solve the initialization equations for all materials and solutions thatare need to be initialized. The initialization equations are solved for the initial temperature of thetemperature ramp specified in the diffuse statement. Such an initialization is usually not required for allsolutions. It is typically necessary for solutions for which the initial value depends in a complex way onthe data fields (see Complex initialization procedures: InitSolve and EquationInitSolve on page 321).

If initialization is not required at all, it can be omitted using the !isolve option with the diffuse command.

A Tcl procedure called InitPostProcess is provided for convenience. It is called after the initialization iscompleted. It can be used to plot or save the solution variable profiles after the initialization. By default,InitPostProcess is an empty procedure.

Building and solving diffusion equations

After the initialization, Sentaurus Process checks for all materials and solution names to see whether aprocedure name is specified for the keyword InitProc. If the procedure is defined, it will be called forthe specified material name and solution name. These procedures are usually used to set the equationstrings to empty strings and to remove terms defined in previous diffusion steps. By having emptyequation strings, the equations and terms can be built up piecewise, by adding expressions for eachselected model that contributes to an equation or a term. This is necessary because different diffusionmodels may be used for different diffusion steps, and because additional species may be added betweendiffusion steps, which may require terms to be added to the equations for existing species.

In the next step, Sentaurus Process checks for all materials and solution names to see whether aprocedure name is specified for the keyword EquationProc. If the procedure is defined, it will be called

315

Page 336: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

with the material name and the solution name as parameters. These procedures are used to set thediffusion equations for the solution variable. Alternatively, if no callback procedure is defined for amaterial and a solution, the equation string can be set in a command line without specifying any callbackprocedures.

NOTE If the callback procedure EquationProc is provided for a material name and solution name, itwill typically overwrite any equation specified on the command line for this material andsolution.

After the diffusion equations are set, Sentaurus Process solves the equations for the whole temperaturecycle specified in the diffuse statement.

DiffPostProcess

Finally, the procedure diffPostProcess will be called. The main purpose of the procedure is to delete thedata fields that are no longer needed and to store the total concentration of point defects. The proceduresdiffPreProcess, diffPostProcess, and InitPostProcess can be found in the Tcl library (see Implant todiffusion on page 184) in the file DiffProcess.tcl.

Using callback proceduresIn this section, the previous examples will be implemented using callback procedures. First, the callbackprocedure keywords InitProc and EquationProc will be explained since they are the most widely used.Then, the examples will be expanded to include the use of other keywords and procedures.

Setup procedure: InitProc

The keyword InitProc is used to clean up equation strings. It specifies the name of the callback procedureto be called by Sentaurus Process. For example, the first command below:

defines the ResetEquations procedure as the callback procedure of the solution variable CX in silicon. Thecallback procedure itself takes two arguments: a material name and a solution name. In this example,Sentaurus Process will call the ResetEquations procedure with two arguments. The first argument Mat willbe Silicon and the second argument Sol will be CX. The argument names Sol and Mat are arbitrary, andthey can be any valid Tcl variable but the first argument is always the material name and the secondargument is always the solution name.

pdbSetString Silicon CX InitProc ResetEquations

proc ResetEquations { Mat Sol } {

LogFile "This callback procedure unsets $Sol equation in $Mat."pdbUnSetString $Mat $Sol Equation

}

316

Page 337: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

The procedure is called every time the solutions are checked during the diffusion. The procedure willprint the message ‘This callback procedure unsets CX equation in Silicon.’ and will remove the pdbequation if it was defined. Note that neither the solution name CX nor the material name Silicon is usedin the implementation of the ResetEquations callback procedure. Therefore, the callback procedure is ageneric procedure and can be used for several materials and solutions. This example can be extendedwith the following commands:

pdbSetString Silicon CX InitProc ResetEquationspdbSetString Silicon CY InitProc ResetEquationspdbSetString Oxide CX InitProc ResetEquationspdbSetString Oxide CY InitProc ResetEquations

In this case, the same callback procedure, ResetEquations, is used for the solution variables CX and CY inthe materials oxide and silicon. Sentaurus Process will print the following messages:

This callback procedure unsets CX equation in Oxide.This callback procedure unsets CX equation in Silicon.This callback procedure unsets CY equation in Oxide.This callback procedure unsets CY equation in Silicon.

The advantage of using callback procedures is clear. With four new command lines, the equations for CXand CY in both oxide and silicon can be unset. At the same time, there is only one callback procedure tomaintain. If users change the callback procedure, the changes will apply to all four settings.

Equation procedure: EquationProc

The primary responsibility of the equation procedure is to construct the equation string. It uses thekeyword EquationProc in the parameter database. The keyword determines which callback procedurename will be called by Sentaurus Process. For example, the first command below:

defines the SetEquations procedure as the callback procedure of the solution variable CX in silicon. Thecallback procedure itself takes two arguments: a material name and a solution name. In this example,Sentaurus Process will call the SetEquations procedure with two arguments. The first argument Mat willbe Silicon and the second argument Sol will be CX. The argument names Sol and Mat are arbitrary, andthey can be any valid Tcl variable, but the first argument is always the material name and the secondargument is always the solution name.

The SetEquations procedure is called every time the solutions are checked during the diffusion. In theabove example, the procedure above will print the message ‘This callback procedure sets CX equationin Silicon.’ and will set the pdb equation for CX in silicon. Note that neither the solution name CX nor thematerial name Silicon is used in the implementation of the SetEquations callback procedure. Therefore,the callback procedure is a generic procedure. The equation setting is similar to the one explained in

pdbSetString Silicon CX EquationProc SetEquations

proc SetEquations { Mat Sol } {

LogFile "This callback procedure sets $Sol equation in $Mat."pdbSetString $Mat $Sol Equation "ddt($Sol) -\[Arrhenius 0.138 1.37\]*grad($Sol)"

}

317

Page 338: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

Basics on page 308. The only difference is that instead of using a solution name and material name, onlyTcl variables are used.

This example can be extended with the following commands:

pdbSetString Silicon CX EquationProc SetEquationspdbSetString Silicon CY EquationProc SetEquations

In this case, the same callback procedure, SetEquations, is used for the solution variables CX and CY insilicon. Sentaurus Process will print the following messages:

This callback procedure sets CX equation in Silicon.This callback procedure sets CY equation in Silicon.

The advantage of using callback procedures is clear. With two new command lines, users can set thediffusion equations for CX and CY in silicon. At the same time, there is only one callback procedure tomaintain. If users change the callback procedure, the changes will apply to both settings.

The above implementation uses the same diffusivity for both CX and CY. In order to use differentdiffusivities for each solution variable, the callback procedure SetEquations needs to be modified anddiffusivities for each solution variable should be set as follows:

pdbSetString Silicon CX EquationProc SetEquationspdbSetString Silicon CY EquationProc SetEquations

pdbSetDouble Silicon CX D {[Arrhenius 0.138 1.37]}pdbSetDouble Silicon CY D {[Arrhenius 0.02 0.3]}

proc SetEquations { Mat Sol } {LogFile "This callback procedure sets $Sol equation in $Mat."set diff [pdbDelayDouble $Mat $Sol D]pdbSetString $Mat $Sol Equation "ddt($Sol) - $diff * grad($Sol)"

}

The first change above is the setting of CX and CY diffusivities in the database. The second change is inthe SetEquations callback procedure. Instead of having a hard-wired diffusivity number, pdbDelayDoubleis used to obtain the expression stored in the database. Now, the diffusivities depend on the databaseentry. Users can change these entries to observe the effect of different diffusivities on the final profile.

The example given in Using terms on page 311 can be enhanced further by using both terms and callbackprocedures as follows:

pdbSetDouble Silicon CX D {[Arrhenius 0.138 1.37]}pdbSetDouble Silicon CY D {[Arrhenius 0.02 0.3]}pdbSetDouble Silicon CX Kf {[Arrhenius 4.2e-11 0.1]}pdbSetDouble Silicon CY Kf {[Arrhenius 4.2e-11 0.1]}pdbSetDouble Silicon CX Cstar {[Arrhenius 3.6e27 3.7]}pdbSetDouble Silicon CY Cstar {[Arrhenius 4.0e26 3.97]}pdbSetString Silicon CX Recomb “CY”pdbSetString Silicon CY Recomb “CX”

solution add name=CX !damp !negative solvesolution add name=CY !damp !negative solve

pdbSetString Silicon CX EquationProc SetEquations

318

Page 339: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

pdbSetString Silicon CY EquationProc SetEquations

proc SetEquations { Mat Sol } {LogFile "This callback procedure sets $Sol equation in $Mat."

set diff [pdbDelayDouble $Mat $Sol D]set Kf [pdbDelayDouble $Mat $Sol Kf]set Recomb [pdbGetString $Mat $Sol Recomb]

set CXStar [pdbDelayDouble $Mat $Sol Cstar]set CYStar [pdbDelayDouble $Mat $Recomb Cstar]

term name = RCXCY $Mat eqn = "$Kf * ($Sol * $Recomb- $CXStar * $CYStar)"

pdbSetString $Mat $Sol Equation "ddt($Sol) - $diff * grad($Sol) + RCXCY”}

First, the diffusivity, equilibrium concentration, and forward reaction rate for the recombination of CXand CY are stored in the pdb database. Since CX and CY recombine with each other, this information (Recomb)is also stored in the database. Then, the callback procedure is modified to read these database entries.The Tcl variable Recomb in the callback procedure will have the value of CY for CX and CX for CY. Theforward recombination rate RCXCY is the same for both solution variables. The callback procedure will becalled once for CX and once for CY. During each call, the term RCXCY will be created. Since the term namedoes not depend on the solution name, the first term created during the CX equation setup will be deletedduring the CY equation setup. This is performed intentionally for this example since both equations useexactly the same term. If users want to create a unique term for each call, the callback procedure mustbe modified as follows:

proc SetEquations { Mat Sol } {LogFile "This callback procedure sets $Sol equation in $Mat."

set diff [pdbDelayDouble $Mat $Sol D]set Kf [pdbDelayDouble $Mat $Sol Kf]set Recomb [pdbGetString $Mat $Sol Recomb]

set CXStar [pdbDelayDouble $Mat $Sol Cstar]set CYStar [pdbDelayDouble $Mat $Recomb Cstar]

term name = R${Sol}${Recomb} $Mat eqn = "$Kf * ($Sol * $Recomb- $CXStar * $CYStar)"

pdbSetString $Mat $Sol Equation "ddt($Sol) - $diff * grad($Sol) + R${Sol}${Recomb}"}

In this case, two terms will be created: RCXCY and RCYCX.

Preprocessing and postprocessing data: diffPreProcess, UserDiffPreProcess, diffPostProcess, UserDiffPostProcess

Sentaurus Process can initialize solution variable fields on the command line using various commands,such as select (see select on page 498) and profile (see profile on page 492). If the initialization can bestandardized, it is better to use the diffPreProcess callback procedure. By default, diffPreProcess is usedto initialize the data fields for interstitials, vacancies, dopants, dopant clusters, dopant-defect clusters,

319

Page 340: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

and defect clusters (see Implant to diffusion on page 184). The procedure also switches on and off point-defect solutions and various cluster solutions.

Users can overwrite the procedure diffPreProcess. For example:

proc diffPreProcess { } {LogFile "This procedure is used to initialize data fields CX and CY"

sel z = "CX + 2.0e18 * exp( -(x-0.5)*(x-0.5) / (0.01 * 0.01) ) + 1.0" name=CX storesel z = "CY + CX * 0.1" name=CY store

}

This procedure will create a Gaussian profile for the solution variable CX with a peak at the depth x = 0.5and a maximum concentration of cm–3. Ten percent of the CX profile will be added to the existingdata field CY.

More complex examples can be created by combining pdb commands and the Tcl callback procedures,for example:

pdbSetDouble Silicon CY minDose 1e10

proc diffPreProcess { } {LogFile "This procedure is used to initialize data fields CX and CY"

sel z = "CX + 2.0e18 * exp( -(x-0.5)*(x-0.5) / (0.01 * 0.01) ) + 1.0" name=CX store

sel z = CYset dose [FindDose]if { $dose > [pdbGetDouble Silicon CY minDose] } {

solution add name=CY !damp !negative solve} else {

solution add name=CY !damp !negative nosolve}

}

In this example, a parameter called minDose is created for CY in the database to set the minimum alloweddose for diffusion to occur. In the callback procedure diffPreProcess, the CX profile is set as previouslyexplained. The second and fourth lines calculate the dose of CY in silicon. The ‘if-else’ statementretrieves the minimum dose value from the database. If the existing dose of CY is below the minimumdose, the solution for CY is switched off; otherwise, it is switched on.

To enforce additional actions to be performed upon diffusion preprocessing, it is not necessary tooverwrite the default implementation of the procedure diffPreProcess. Instead, to preserve the defaultinitialization of data fields, it is recommended to redefine the procedure UserDiffPreProcess. By default,UserDiffPreProcess is an empty procedure and is called from the procedure diffPreProcess as one of thelast commands.

The callback procedure diffPostProcess is called at the end of diffusion. By default, it is used to store thetotal concentrations of point defects and to delete some temporary data fields such as Int_Implant andVac_Implant. In the last command line of diffPostProcess, the procedure UserDiffPostProcess is called,which is empty by default. If users want to add commands to be executed after diffusion, it isrecommended to redefine the procedure UserDiffPostProcess.

2 18×10

320

Page 341: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

Complex initialization procedures: InitSolve and EquationInitSolve

In some cases, initialization of solution variables can be very complex and cannot be accomplished byusing the select command (see select on page 498). In these cases, Sentaurus Process can define theinitialization equations using the Alagator language and callback procedures.

Assume that the CX solution variable is initialized by solving the following equation:

(512)

where is the total concentration of CX, and and are user-defined initialization parameters.Depending on the value of and , we need to solve Eq. 512.

In order to initiate the initialization setup procedure, the solution name must be defined as:

solution add name=CX !damp !negative solve InitStep

The keyword InitStep allows this solution variable to be initialized.

The keyword InitSolve determines which callback procedure name will be called by Sentaurus Process.For example, the first command below:

defines the ResetInitEquations procedure as the callback procedure of the solution variable CX in silicon.The callback procedure itself takes two arguments: a material name and a solution name. In thisexample, Sentaurus Process will call the ResetInitEquations procedure with two arguments. The firstargument Mat will be Silicon and the second argument Sol will be CX. In this example, the solutionvariable CX is marked to be initialized in silicon. If there is no such setting for the solution variable CY, CYwill not be initialized.

After calling the callback procedures defined by InitSolve, Sentaurus Process will look for an equationstring for the solution variable. This is performed by defining a callback procedure using the keywordEquationInitProc.

CXTotal CX αCX( )β+=

CXTotal α βα β

pdbSetString Silicon CX InitSolve ResetInitEquations

proc ResetInitEquations { Mat Sol } {

LogFile "This callback procedure unsets $Sol equation in $Mat during initialization."pdbUnSetString $Mat $Sol Equation

}

321

Page 342: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

In this procedure, the equation string for initialization is constructed. For example, the first commandbelow:

defines the SetInitEquations procedure as the callback procedure of the solution variable CX in silicon.The callback procedure itself takes two arguments: a material name and a solution name. In thisexample, Sentaurus Process will call the SetInitEquations procedure with two arguments. The firstargument Mat will be Silicon and the second argument Sol will be CX. The argument names Sol and Matare arbitrary, and they can be any valid Tcl variable, but the first argument is always the material nameand the second argument is always the solution name.

The EquationInitProc and EquationProc keywords work in the same way. The callback procedure definedwith the keyword EquationInitProc is called only during initialization. The callback procedure definedwith the keyword EquationProc is called only during diffusion. It is assumed that Alpha and Beta arealready entered into the database and CXTotal is defined.

Diffusion summary: pdb, TclLib, FLOOPS.modelsSo far, it has been shown how to set up diffusion equations and boundary equations, and how to initializesolution variables. The complete example can be divided into three major parts. The first part is the pdbentries as follows:

pdbSetDouble Silicon CX D {[Arrhenius 0.138 1.37]}pdbSetDouble Silicon CY D {[Arrhenius 0.02 0.3]}pdbSetDouble Silicon CX Kf {[Arrhenius 4.2e-11 0.1]}pdbSetDouble Silicon CY Kf {[Arrhenius 4.2e-11 0.1]}pdbSetDouble Silicon CX Cstar {[Arrhenius 3.6e27 3.7]}pdbSetDouble Silicon CY Cstar {[Arrhenius 4.0e26 3.97]}pdbSetString Silicon CX Recomb "CY"pdbSetString Silicon CY Recomb "CX"pdbSetDouble Silicon CX Alpha {[Arrhenius 1.03103e-17 -0.4]}pdbSetDouble Silicon CX Beta {4.0}

This part corresponds to the pdb database (see Parameter database on page 28). All default SentaurusProcess model parameters are stored in the pdb database. The second part is the definition of the namesof the solution variables and the names of the callback procedures:

solution add name=CX !damp !negative solvesolution add name=CY !damp !negative solve

pdbSetString Silicon CX EquationInitProc SetInitEquations

proc SetInitEquations { Mat Sol } {

LogFile "This callback procedure sets $Sol equation in $Mat during initialization."

}

pdbSetString $Mat $Sol Equation "${Sol}Total - $Sol - ($alpha * $Sol)^$beta"

set alpha [pdbDelayDouble $Mat $Sol Alpha]set beta [pdbDelayDouble $Mat $Sol Beta]

322

Page 343: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

pdbSetString Silicon CX EquationProc SetEquationspdbSetString Silicon CY EquationProc SetEquations

pdbSetString Silicon CX InitProc ResetEquationspdbSetString Silicon CY InitProc ResetEquations

pdbSetString Gas_Silicon CY InitProc ResetEquationspdbSetString Gas_Oxide CX InitProc ResetEquations

pdbSetString Silicon CX InitSolve ResetInitEquationspdbSetString Silicon CX EquationInitProc SetInitEquations

The information for the default Sentaurus Process models are stored in the TclLib directory (seeEnvironment variables on page 24) in the file FLOOPS.models, which is read by Sentaurus Process as soonas the simulation starts. The file also contains information with regard to solver types, implantdirectories, and material names.

The third part is the definition of diffusion and initialization models. The models are stored in the TclLibdirectory (see Environment variables on page 24):

proc UserDiffPreProcess { } {LogFile "This procedure is used to initialize data fields CX and CY"

sel z = "CX + 2.0e18 * exp( -(x-0.5)*(x-0.5) / (0.01 * 0.01) ) + 1.0" name=CXTotal storesel z = "CY + CXTotal * 0.1" name = CY store

}

proc ResetEquations { Mat Sol } {LogFile "This callback procedure resets $Sol equation in $Mat."pdbUnSetString $Mat $Sol Equation

}

proc SetEquations { Mat Sol } {LogFile "This callback procedure sets $Sol equation in $Mat."set diff [pdbDelayDouble $Mat $Sol D]set Kf [pdbDelayDouble $Mat $Sol Kf]set Recomb [pdbGetString $Mat $Sol Recomb]

set CXStar [pdbDelayDouble $Mat $Sol Cstar]set CYStar [pdbDelayDouble $Mat $Recomb Cstar]

term name = RCXCY $Mat eqn = "$Kf * ($Sol * $Recomb- $CXStar * $CYStar)"pdbSetString $Mat $Sol Equation "ddt($Sol) - $diff * grad($Sol) + RCXCY"

}

proc ResetInitEquations { Mat Sol } {LogFile "This callback procedure unsets $Sol equation in $Mat during initialization."pdbUnSetString $Mat $Sol Equation

}

proc SetInitEquations { Mat Sol } {LogFile "This callback procedure sets $Sol equation in $Mat during initialization."set alpha [pdbDelayDouble $Mat $Sol Alpha]set beta [pdbDelayDouble $Mat $Sol Beta]pdbSetString $Mat $Sol Equation "${Sol}Total - $Sol- (($alpha*$Sol)^$beta)"

}

323

Page 344: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

Alagator for generic growthThe generic growth scheme uses most of the standard definitions used in diffusion. Read Alagator fordiffusion on page 307 before continuing with this section.

BasicsIn this section, examples of varying complexity are used to illustrate how to specify growth equationsusing the Alagator scripting language. Most of the definitions are identical to diffusion equationdefinitions. However, the keywords used to define the callback procedures and the definition of solutionvariables differ. In addition, the reaction equations interact with the reaction command.

Figure 66 Flux, ambient concentration, and motion of the growth front during the growth process

Consider a reaction where the ambient GX reacts with silicon and forms a new material called TEOS. Theschematic in Figure 66 shows the ambient concentration at each interface and the motion of the growthduring the process. J represents the fluxes towards the Gas_TEOS and Silicon_TEOS interfaces, and the fluxof GX inside TEOS.

Since TEOS is a new material, first, it needs to be entered into the existing material list using the command:

mater add name=TEOS

Then, the reacting materials must be defined using the reaction command (see reaction on page 493):

reaction name=TEOSreaction mat.l=Silicon mat.r=Gas mat.new=TEOS new.like=oxide \ ambient diffusing.species=GX

Silicon (mat.l) is the material to the left of the reacting interface and Gas (mat.r) is the material to theright of the reacting interface. The newly formed material (mat.new) at the reacting interface is TEOS. Thenew material and its interfaces with other materials are also defined to be like Oxide and Oxide interfaces(for example, TEOS = Oxide, PolySilicon_TEOS = Oxide_PolySilicon). The reaction requires an ambient andthe ambient name is GX. The reaction will not occur unless a gas flow is defined with the ambient (GX)partial pressure. Reactions that require an ambient cannot have more than one diffusing species name.If the reaction does not require an ambient, it can have multiple names of diffusing species. In this case,the reaction will occur if the reacting interfaces exist in the structure. The reaction command willautomatically add the name GX to the general solution list.

n

nTEOS

SiliconGas

JGas_TEOS JTEOS JSilicon_TEOS

GXGas_TEOS

GXSilicon_TEOS

324

Page 345: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

This is performed internally by using the command:

solution name=GX add !negative GrowthStep solve

where GrowthStep identifies this solution name as a reaction solution name. When the solution name andthe new material is defined, the reaction and diffusion equations are written as follows:

pdbSetString TEOS GX Equation "ddt(GX)- \[Arrhenius 0.2 1.86\]*grad(GX)"pdbSetString Gas_TEOS GX Equation_TEOS "-(GX_TEOS - 1e17)"pdbSetString Silicon_TEOS GX Equation_TEOS "-5e-2*(GX_TEOS)"pdbSetString Silicon_TEOS GX GrowthReaction " 5e-2*(GX_TEOS)"

The first line sets the diffusion equation of GX in TEOS. The next two lines set the boundary fluxes at theGas_TEOS and Silicon_TEOS interfaces. One of the commands works on the Gas_TEOS interface and the otherone works on the Silicon_TEOS interface. The _TEOS option on Equation indicates the side of the interfaceto which the given flux will be applied. The same option on the solution variable GX indicates that thesolution variable value at this interface is taken from the TEOS side. These settings are identical to theones described in Setting boundary conditions on page 309.

The last line is unique to the generic growth equations. The keyword GrowthReaction is used to define thegrowth reaction flux at the reacting interface. In this example, the growth reaction flux is identical to thediffusion flux at the reacting interface. In addition, the sign of the growth reaction flux is the oppositeof the sign of the diffusion flux.

Finally, it is necessary to define a gas flow (see gas_flow on page 440) and use it with the diffusioncommand in order for the reaction to occur. For example:

gas_flow name=gxflw partial_pressure = { GX = 1 }

diffuse time=100 temp=1000 gas_flow = gxflw

will define a gas flow called gxflw and the partial pressure of GX will be 1.

The model can be enhanced by adding the model parameters to the parameter database. This allows otherusers to change the values in the equations by accessing the properties directly. The following changesmake the equations dependent on the stored value in the database:

pdbSetDouble TEOS GX Dstar "\[Arrhenius 0.2 1.86\]"pdbSetDouble Gas_TEOS GX Cstar "1e17"pdbSetDouble Silicon_TEOS GX Kfd "5e-2"pdbSetDouble Silicon_TEOS GX Kfg "5e-2"

set diff [pdbDelayDouble TEOS GX Dstar]pdbSetString TEOS GX Equation "ddt(GX)- $diff * grad(GX)"

set GXStar [pdbDelayDouble Gas_TEOS GX Cstar]pdbSetString Gas_TEOS GX Equation_TEOS "-(GX_TEOS - $GXStar)"

set GKfd [pdbDelayDouble Silicon_TEOS GX Kfd]pdbSetString Silicon_TEOS GX Equation_TEOS "-$GKfd*(GX_TEOS)"

set GKfg [pdbDelayDouble Silicon_TEOS GX Kfg]pdbSetString Silicon_TEOS GX GrowthReaction " $GKfg*(GX_TEOS)"

325

Page 346: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

The first lines set the diffusivity, equilibrium value of GX, and forward reaction rates for the diffusion andgrowth fluxes in the database. This can be made permanent by directly editing the hierarchy files. ThepdbDelayDouble command is used to return the expression stored in the database. This is necessary so thatthe evaluation of the expression does not occur until the diffuse command is executed. Now, theequation depends on the database entry.

It is possible to use terms with the generic growth equations. For example:

pdbSetDouble TEOS GX Dstar "\[Arrhenius 0.2 1.86\]"pdbSetDouble Gas_TEOS GX Cstar "1e17"pdbSetDouble Silicon_TEOS GX Kfd "5e-2"pdbSetDouble Silicon_TEOS GX Kfg "5e-2"

set diff [pdbDelayDouble TEOS GX Dstar]pdbSetString TEOS GX Equation "ddt(GX)- $diff * grad(GX)"

set GXStar [pdbDelayDouble Gas_TEOS GX Cstar]pdbSetString Gas_TEOS GX Equation_TEOS "-(GX_TEOS - $GXStar)"

term name = Reaction TEOS eqn = "GX"

set GKfd [pdbDelayDouble Silicon_TEOS GX Kfd]pdbSetString Silicon_TEOS GX Equation_TEOS "-$GKfd*(Reaction_TEOS)"

set GKfg [pdbDelayDouble Silicon_TEOS GX Kfg]pdbSetString Silicon_TEOS GX GrowthReaction "$GKfg*(Reaction_TEOS)"

a term called Reaction is created in TEOS. Note that the term also takes the _TEOS option to indicate that thevalue of Reaction will be taken from the TEOS side.

The velocities regarding the growth reaction flux are calculated internally as follows:

(513)

where is the growth reaction flux defined using the pdbSetString command and GrowthReactionkeyword as previously explained. Beta is the stoichiometry of the growing material, Expansion.Ratio isthe conversion ratio from consumed material to the growing material, and Density.Grow is the density ofthe growing material. The default values for Beta, Expansion.Ratio, and Density.Grow are 1, 2.2, and

, respectively. They can be changed by using the following commands:

pdbSetDouble <material> <ambient> Beta <n>pdbSetDouble <material> <ambient> Expansion.Ratio <n>pdbSetDouble <material> <ambient> Density.Grow <n>

For example, for the above example, users can change these values with the following commands.

pdbSetDouble Silicon_TEOS GX Beta 1.1pdbSetDouble Silicon_TEOS GX Expansion.Ratio 2.0pdbSetDouble Silicon_TEOS GX Density.Grow 3e22

If Expansion.Ratio is set to 0, the material will dissolve but the new material will not form. (For example,silicon will dissolve but no TEOS will form. This is useful for silicidation.)

υGrowthBeta

Expansion.Ratio * Density.Grow ---------------------------------------------------------------------------------FGrowth=

FGrowth

2.2 22×10

326

Page 347: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

Callback proceduresCallbacks allow additional ‘intelligence’ to be built into the equations by allowing procedures to becalled at run-time. These procedures build the equation strings according to user-specified options. Byselecting model switches, the user can choose between different physical models to be represented in theequation strings. Having callback procedures that use a material name and a solution name as arguments,the same type of equation can be built for several materials, dopants, and defect species. In SentaurusProcess, all frequently used equations are built-in callback procedures.

There are seven callback procedure–related keywords in Alagator: InitProc, InitSolve, EquationInitProc,EquationProc, InitGrowth, EquationGrowthProc, and EpiEquationProc. InitProc, EquationInitProc, InitSolveand EquationProc are used to define generic diffusion equations (see Alagator for diffusion on page 307)and EpiEquationProc is used with the epi model (see Epitaxy on page 155). In this section, the proceduresspecified by the keywords InitGrowth and EquationGrowthProc are explained:

InitGrowth provides the Tcl callback procedure name that is usually used to reset or delete existingpdb equations or terms at the beginning of a diffusion simulation.

EquationGrowthProc provides the Tcl callback procedure name that sets up equations for materialgrowth.

The Tcl callback procedures are called at various stages during the execution of the diffuse command.In addition to the callback procedures, Sentaurus Process calls the diffPreProcess Tcl procedure beforeexecuting the diffuse command, and the diffPostProcess Tcl procedure after executing the diffusecommand (see Implant to diffusion on page 184).

Figure 67 on page 328 shows the flowchart of the execution of a diffuse statement by Sentaurus Process,including generic material growth. The sections regarding diffusion are represented on a smaller scaleand are shown in Figure 65 on page 314.

327

Page 348: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

Figure 67 Flowchart with calls to the callback procedures during execution of diffuse command

diffuse

diffPreProcess

For each: reactant solution and material

InitGrowth callback procedure

Next

For each: reactant solution and material

EquationGrowthProc callback procedure

Solve generic

diffPostProcess

Next

growth equations

For each: solution and material

InitSolve callback procedure:

Next

For each: marked solution and material

EquationInitProc callback procedure

Solve initialization

InitPostProcess

For each: solution and material

EquationProc callback procedure

Solve diffusion

InitProc callback procedure

For each: solution and material

Next

equations

Next

Next

equations

Diffusion process

328

Page 349: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

Setup procedure: InitGrowth

The procedures specified by the keyword InitGrowth are used to clean up the equation strings and terms.The keyword determines the callback procedure name to be called by Sentaurus Process. For example,the first command below:

defines the ResetEquations procedure as the callback procedure of the solution variable GX in silicon. Thecallback procedure itself takes two arguments: a material name and a solution name. In this example,Sentaurus Process will call the ResetEquations procedure with two arguments. The first argument Mat willbe TEOS and the second argument Sol will be GX. The argument names Sol and Mat are arbitrary, and theycan be any valid Tcl variable, but the first argument is always the material name and the second argumentis always the solution name.

The above procedure ResetEquations will print the message ‘This callback procedure unsets GX equationin TEOS.’ and will remove the pdb equation for GX in TEOS if it was defined. Note that neither the solutionname GX nor the material name TEOS is used in the ResetEquations callback procedure. Therefore, thecallback procedure is a generic procedure. The example can be extended with the following commands:

pdbSetString TEOS GX InitGrowth ResetEquationspdbSetString Gas_TEOS GX InitGrowth ResetEquationspdbSetString Silicon_TEOS GX InitGrowth ResetEquations

In this case, the same callback procedure, ResetEquations, is used for the solution variables GX inside TEOS,and at the Gas_TEOS and Silicon_TEOS interfaces. Sentaurus Process will print the following messages:

This callback procedure resets GX equation in TEOS.This callback procedure resets GX equation in Gas_TEOS.This callback procedure resets GX equation in Silicon_TEOS.

Since the interface equations can be written for the interface material itself or the neighboring materials,all of them must be unset including the growth reaction equation. In this case, users can write a specialTcl procedure for the interfaces as follows:

proc ResetInterfaceEquations {Mat Sol} {set mater1 [FirstMat $Mat]set mater2 [SecondMat $Mat]

pdbUnSetString $Mat $Sol EquationLogFile "This callback procedure resets $Sol equation in $Mat."

pdbUnSetString $Mat $Sol Equation_$mater1LogFile "This callback procedure resets $Sol equation in $Mat on $mater1 side."

pdbSetString TEOS GX InitGrowth ResetEquations

proc ResetEquations { Mat Sol } {

LogFile "This callback procedure unsets $Sol equation in $Mat."

}

pdbUnSetString $Mat $Sol Equation

329

Page 350: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

pdbUnSetString $Mat $Sol Equation_$mater2LogFile "This callback procedure resets $Sol equation in $Mat on $mater2 side."

pdbUnSetString $Mat $Sol GrowthReactionLogFile "This callback procedure resets $Sol growth reaction equation in $Mat."

}

pdbSetString Gas_TEOS GX InitGrowth ResetInterfaceEquationspdbSetString Silicon_TEOS GX InitGrowth ResetInterfaceEquations

The callback procedure, ResetInterfaceEquations, is similar to the ResetEquations procedure. Thecommands FirstMat and SecondMat used in the procedure return the names of the neighboring materials(for example, Gas and TEOS for Gas_TEOS). Then, the equations set for either side of the interface or theinterface are unset including the generic growth reaction equation. This special procedure is called forGX at the Gas_TEOS and Silicon_TEOS interfaces. Sentaurus Process will print the following messages:

This callback procedure resets GX equation in TEOS.This callback procedure resets GX equation in Gas_TEOS.This callback procedure resets GX equation in Gas_TEOS on Gas side.This callback procedure resets GX equation in Gas_TEOS on TEOS side.This callback procedure resets GX growth reaction equation in Gas_TEOS.This callback procedure resets GX equation in Silicon_TEOS.This callback procedure resets GX equation in Silicon_TEOS on Silicon side.This callback procedure resets GX equation in Silicon_TEOS on TEOS side.This callback procedure resets GX growth reaction equation in Silicon_TEOS.

Equation procedure: EquationGrowthProc

The primary responsibility of the equation procedure is to construct the equation string for materialgrowth reaction. It uses the keyword EquationGrowthProc in the parameter database. The keywordspecifies the name of the callback procedure to be called by Sentaurus Process. For example, the firstcommand below:

will have the effect that, according to the flowchart presented in Figure 67 on page 328, SentaurusProcess will call the procedure SetEquations with the arguments TEOS and GX.

The SetEquations procedure is called every time the solutions are checked during the reaction. Theprocedure above will print the message ‘This callback procedure sets GX equation in TEOS.’ and will setthe pdb equation for GX in TEOS. Note that neither the solution name GX nor the material name TEOS is usedin the SetEquations callback procedure. Therefore, the callback procedure is a generic procedure. Theequation setting is similar to the one explained in Basics on page 308. The only difference is that instead

pdbSetString TEOS GX EquationGrowthProc SetEquations

proc SetEquations { Mat Sol } {

LogFile "This callback procedure sets $Sol equation in $Mat."

}

pdbUnSetString $Mat $Sol Equation "ddt($Sol) -$diff * grad($Sol)"set diff [pdbDelayDouble $Mat $Sol Dstar]

330

Page 351: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

of using a solution name and a material name, only Tcl variables are used. Since the interface equationssettings are different, this example can be extended with the following commands:

pdbSetString Gas_TEOS GX EquationProc SetInterfaceEquationspdbSetString Silicon_TEOS GX EquationProc SetInterfaceEquations

proc SetInterfaceEquations { Mat Sol } {

set mater1 [FirstMat $Mat]set mater2 [SecondMat $Mat]

if { [pdbIsAvailable $Mat $Sol Cstar] } {set GXStar [pdbDelayDouble $Mat $Sol Cstar]pdbSetString $Mat $Sol Equation_$mater2 "-(${Sol}_$mater2 - $GXStar)"LogFile "This callback procedure sets $Sol equation in $Mat on $mater2 side."

} else {set GKfd [pdbDelayDouble $Mat $Sol Kfd]pdbSetString $Mat $Sol Equation_$mater2 "-$GKfd*(${Sol}_$mater2)"LogFile "This callback procedure sets $Sol equation in $Mat on $mater2 side."

set GKfg [pdbDelayDouble $Mat $Sol Kfg]pdbSetString $Mat $Sol GrowthReaction " $GKfg*(${Sol}_$mater2)"LogFile "This callback procedure sets $Sol growth reaction equation in $Mat."

}}

Here, the same callback procedure, SetInterfaceEquations, is used to set up the interface equations onboth the Gas_TEOS and Silicon_TEOS interfaces. The commands FirstMat and SecondMat used in theprocedure return the names of the neighboring materials (for example, Gas and TEOS for Gas_TEOS). Thecommand pdbIsAvailable returns true (1) if the Cstar value is entered to the pdb for the given solutionname and material. In this example, it will return true for the Gas_TEOS interface and false for theSilicon_TEOS interface. Using this information and the ‘if-else’ statement, the equations can be set for theGas_TEOS and Silicon_TEOS interfaces. Now, the diffusivities, reaction rates, and equilibrium valuesdepend on the database entries.

Generic growth summary: pdb, TclLib, FLOOPS.modelsSo far, it has been shown how to set up reaction equations and fluxes. The complete example can bedivided into three major parts. The first part consists of pdb entries as follows:

pdbSetDouble TEOS GX Dstar "\[Arrhenius 0.2 1.86\]"pdbSetDouble Gas_TEOS GX Cstar "1e17"pdbSetDouble Silicon_TEOS GX Kfd "5e-2"pdbSetDouble Silicon_TEOS GX Kfg "5e-2"

This part corresponds to the pdb database (see Parameter database on page 28). All default SentaurusProcess model parameters are stored in the pdb database. The second part is the definition of reactionvariable names, material names, and callback procedure names:

mater add name=TEOSreaction name=TEOSreaction mat.l=Silicon mat.r=Gas mat.new=TEOS new.like=oxide \

diffusing.species=GX ambientpdbSetString TEOS GX InitGrowth ResetEquations

331

Page 352: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

pdbSetString Gas_TEOS GX InitGrowth ResetInterfaceEquationspdbSetString Silicon_TEOS GX InitGrowth ResetInterfaceEquationspdbSetString Gas_TEOS GX EquationGrowthProc SetInterfaceEquationspdbSetString Silicon_TEOS GX EquationGrowthProc SetInterfaceEquationspdbSetString TEOS GX EquationGrowthProc SetEquations

The information for the default Sentaurus Process models is stored in the TclLib directory (seeEnvironment variables on page 24) in the FLOOPS.models file, which is read by Sentaurus Process as soonas the simulation starts. The file also contains information regarding solver types, implant directories,and material names.

The third part is the definition of diffusion/reaction models. The models are stored in the TclLib directory(see Environment variables):

proc ResetEquations {Mat Sol} {LogFile "This callback procedure resets $Sol equation in $Mat."pdbUnSetString $Mat $Sol Equation

}

proc ResetInterfaceEquations { Mat Sol } {set mater1 [FirstMat $Mat]set mater2 [SecondMat $Mat]

pdbUnSetString $Mat $Sol EquationLogFile "This callback procedure resets $Sol equation in $Mat."

pdbUnSetString $Mat $Sol Equation_$mater1LogFile "This callback procedure resets $Sol equation in $Mat on $mater1 side."

pdbUnSetString $Mat $Sol Equation_$mater2LogFile "This callback procedure resets $Sol equation in $Mat on $mater2 side."

pdbUnSetString $Mat $Sol GrowthReactionLogFile "This callback procedure resets $Sol growth reaction equation in $Mat."

}

proc SetEquations { Mat Sol } {LogFile "This callback procedure sets $Sol equation in $Mat."set diff [pdbDelayDouble $Mat $Sol Dstar]

pdbSetString $Mat $Sol Equation "ddt($Sol) - $diff * grad($Sol)"}

proc SetInterfaceEquations { Mat Sol } { set mater1 [FirstMat $Mat] set mater2 [SecondMat $Mat]

if { [pdbIsAvailable $Mat $Sol Cstar] } {set GXStar [pdbDelayDouble $Mat GX Cstar]pdbSetString $Mat $Sol Equation_$mater2 "-(${Sol}_$mater2 - $GXStar)"LogFile "This callback procedure sets $Sol equation in $Mat on $mater2 side."

} else {set GKfd [pdbDelayDouble $Mat $Sol Kfd]pdbSetString $Mat $Sol Equation_$mater2 "-$GKfd*(${Sol}_$mater2)"LogFile "This callback procedure sets $Sol equation in $Mat on $mater2 side."

set GKfg [pdbDelayDouble $Mat $Sol Kfg]

332

Page 353: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

pdbSetString $Mat $Sol GrowthReaction " $GKfg*(${Sol}_$mater2)"LogFile "This callback procedure sets $Sol growth reaction equation in $Mat."

}}

Modifying diffusion modelsIn Sentaurus Process, all equations of dopant diffusion models are constructed using callback proceduresas previously explained. If the users want to add a new expression to an existing equation or term orsubtract a new expression from an existing equation or term, one of the following can be used:

UserAddEqnTerm

UserSubEqnTerm

UserAddToTerm

UserSubFromTerm

UserAddEqnTerm, UserSubEqnTerm

UserAddEqnTerm/UserSubEqnTerm allows the users to add a new expression to an existing solution variableequation or subtract the new expression from an existing solution variable equation. The commandshave the following format:

UserAddEqnTerm <material> <solution> <expression> <side>UserSubEqnTerm <material> <solution> <expression> <side>

where <material> is any valid material name, <solution> is any valid solution variable name, <expression>is the new expression to be added to or subtracted from the solution variable and <side> is the side of theinterface material where the new expression will be added/subtracted.

For example the command:

UserAddEqnTerm Silicon Int “{2e-15*(Int*Int-1e-16*CX)}”

will add the expression “{2e-15*(Int*Int-1e-16*CX)}” to Int equation in silicon during diffusion solve.The same way, the command:

UserSubEqnTerm Silicon Int “{2e-15*(Int*Int-1e-16*CX)}”

will subtract the expression “{2e-15*(Int*Int-1e-16*CX)}” from Int equation in silicon during diffusionsolve.

Since the equations can be set in three different ways for interfaces, the users have the option to specifythe side the expression will be added/subtracted. For example, the commands:

UserAddEqnTerm Oxide_Silicon CX "(CX_Oxide - CX_Silicon)”UserAddEqnTerm Oxide_Silicon CX "(CX_Oxide - CX_Silicon)” SiliconUserAddEqnTerm Oxide_Silicon CX "(CX_Oxide - CX_Silicon)” Oxide

333

Page 354: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 6 ALAGATOR SCRIPTING LANGUAGE

will add the expression “(CX_Oxide - CX_Silicon)” to Oxide_Silicon interface equation for CX, toOxide_Silicon interface equation for CX on Silicon side and to Oxide_Silicon interface equation for CX onOxide side, respectively.

UserAddToTerm, UserSubFromTerm

UserAddToTerm/UserSubFromTerm allows the users to add a new expression to an existing term or subtractthe new expression from an existing term. The commands have the following format:

UserAddToTerm <material> <term> <expression> UserSubFromTerm <material> <term> <expression>

where <material> is any valid material name, <term> is an existing term name and, <expression> is the newexpression to be added to or subtracted from the existing term.

For example the command:

UserAddToTerm Silicon ITotal "2*CX"

will add the expression "2*CX" to the term ITotal in Silicon.

The same way, the command:

UserSubFromTerm Oxide ITotal "2*CX"

will subtract the expression "2*CX" from the term ITotal in Silicon.

334

Page 355: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 7 ADVANCED CALIBRATION

Sentaurus Process

CHAPTER 7 Advanced Calibration

This chapter provides details about the use of Advanced Calibration in Sentaurus Process.

OverviewThe Synopsys Consulting and Engineering group is working continually on improving the simulationmodels and optimizing the model parameters for the latest technology. This effort is based on long-standing experience of model calibration for customers and a comprehensive, growing database of state-of-the-art secondary ion mass spectrometry (SIMS) profiles.

With Advanced Calibration in Sentaurus Process, users have a set of models and parameters that havebeen calibrated to deep submicron CMOS technology. With these parameters, users can obtain accurateresults for many processes in device fabrication such as ion implantation, ultrashallow junctionformation, surface dose loss, and channel and halo dopant diffusion.

The Advanced Calibration set of models and parameters is located in a single file. For the currentSentaurus Process, it has the file name AdvCal_2006.06.fps and is located in the directory $STROOT/tcad/$STRELEASE/lib/floops/TclLib/AdvCal.

The models and parameters of AdvCal_2006.06.fps are recommended for deep submicron CMOS and SOItechnology. Other technologies, such as power devices or SiGe devices, may require simpler oradditional diffusion models, which are not yet included in the Advanced Calibration. The models havebeen tested extensively in 1D simulations and have proven to be accurate and robust.

Using Advanced CalibrationTo use Advanced Calibration in Sentaurus Process, at the beginning of the input file, insert the line:

AdvancedCalibration

or:

AdvancedCalibration 2006.06

This will source the file $STROOT/tcad/$STRELEASE/lib/floops/TclLib/AdvCal/AdvCal_2006.06.fps.

335

Page 356: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 7 ADVANCED CALIBRATION

Users have the option to use Advanced Calibration parameters and models from previous releases, forexample:

AdvancedCalibration 2005.10

This will source the file $STROOT/tcad/$STRELEASE/lib/floops/TclLib/AdvCal/AdvCal_2005.10.fps.

Additional calibration by usersAdvanced Calibration is based on the assumption that all parameters that are not changed in theparameter files are the Sentaurus Process default parameters. To use the Advanced Calibration fileAdvCal_2006.06.fps, it must be sourced before the real process description.

For deep submicron process simulation, Advanced Calibration is usually a very good starting point.Users can further increase the accuracy of a certain technology by additional fine-tuning of a fewphysical parameters. This should only be performed by experienced users with a good understanding ofthe diffusion models and callback procedures of Sentaurus Process.

The best way to perform this is to put all additional calibration in a user calibration file, for example,user_calibration.fps. This file includes all project-specific changes of physical parameters or callbackprocedures with respect to Advanced Calibration.

In the process simulation file, at the beginning of the process simulation, users insert the lines:

AdvancedCalibration 2006.06source ./user_calibration.fps

This method has two distinct advantages:

There is a clear separation between the process flow, which is contained in the Sentaurus Processinput file, and the selection of physical models and parameters. During calibration of SentaurusProcess for a specific technology, users can first set up the process flow in the input file of SentaurusProcess and then improve the accuracy of the process simulation by making changes only in theirparameter file. Conversely, if users want to apply the same models and parameters to a differentprocess, it is only necessary to change the file containing the process flow.

The Advanced Calibration file is used as a starting point. The user calibration file (for example,user_calibration.fps) is usually very short and clear, in particular, for CMOS technology. The usercan see all parameter changes with respect to the original Advanced Calibration at a glance.

NOTE For detailed documentation of the contents and physical models included in AdvancedCalibration as well as a discussion of its accuracy and limitations, refer to the AdvancedCalibration User Guide.

336

Page 357: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 8 OXIDATION AND SILICIDATION

Sentaurus Process

CHAPTER 8 Oxidation and silicidation

This chapter describes the oxidation models available in Sentaurus Process.

OxidationSentaurus Process can simulate the thermal oxidation of silicon. Due to the conversion ratio from Si toSiO2 being greater than one, new ‘volume’ is generated, which, in turn, leads to the motion of materialsand mechanical stress in the structure. The oxidation process has three steps:

Diffusion of oxidants (H2O, O2) from the gas–oxide interface through the existing oxide to thesilicon–oxide interface.

Reaction of the oxidant with silicon to form new oxide1.

Motion of materials due to the volume expansion, which is caused by the reaction between siliconand oxide.

The oxidant diffusion equation is solved using the generic partial differential equation (PDE) solver ofSentaurus Process. For the simulation of thermal oxidation, there are two requirements:

The silicon or polysilicon region is in contact with gas or an oxide region, which, in turn, is incontact with gas.

The diffuse command specifies a reactive atmosphere.

If silicon or polysilicon is in contact with gas at the beginning of a thermal oxidation, an initial oxidelayer is created automatically. The default thickness of this layer is 1.5 nm. The value of the initial oxidethickness is specified in the parameter database by:

pdbSet Grid NativeLayerThickness 1.5e-7

which controls the native layer thickness for silicidation. There are several ways to specify a reactiveatmosphere. Furthermore, temperature can vary during oxidation, and the ambient temperature cancontain contributions from different oxidants. The following sections describe how to handle these casesusing Sentaurus Process.

It is important to note that oxidation occurs in conjunction with mechanics. The details of the mechanicalequations, boundary conditions, and material models is given in this chapter.

1. In this chapter, oxide refers to SiO2.

337

Page 358: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 8 OXIDATION AND SILICIDATION

Basic oxidationThe diffuse command is used to specify two reactive ambients for oxidation, either H2O or O2. Theoxidation temperature and time must be given. For example, a command for a simple oxidation usingwet ambient temperature at 1000oC for 10 minutes is:

diffuse temperature=1000<C> time=10<min> H2O

A simple temperature ramp can be specified directly in the diffuse command by the keyword ramprate.This keyword sets the change in the temperature over time:

diffuse temperature=1000<C> time=10<min> O2 ramprate=10<C/min>

This example describes a dry oxidation of 10 minutes, starting at 1000oC and ending at 1100oC.

NOTE The value of ramprate can be negative if the temperature is required to decrease.

Temperature cyclesThe second example given in Basic oxidation also can be specified by using the temp_ramp command, forexample:

temp_ramp name=MyTempRamp temperature=1000 time=10 O2 trate=10<C/min>diffuse temp_ramp=MyTempRamp

The first line creates a temperature ramp with given conditions, and the second line specifies a diffusionreferring to this temperature ramp.

To describe more complex temperature cycles within one diffuse command, multiple instances of thetemp_ramp command can be used. A temperature ramp can consist of several segments and, for eachsegment, one temp_ramp command is required. In addition, segments can be grouped by using the samename for each segment. For example, a ramp-up, plateau, and ramp-down can be specified as:

temp_ramp name=MyCycle temperature=1000<C> time=5<min> H2O trate=20<C/min>temp_ramp name=MyCycle temperature=1100<C> time=10<min> O2temp_ramp name=MyCycle temperature=1100<C> time=10<min> trate=-10<C/min> lastdiffuse temp_ramp=MyCycle

The keyword last in the third temp_ramp command declares the last segment of the temperature ramp.

If users want to set the minimum and maximum reaction/oxidation time-steps in minutes globally, forall diffusion commands, the following commands can be used:

pdbSet Diffuse MinGrowthStep <n>pdbSet Diffuse MaxGrowthStep <n>

See Parameter database on page 28 for other diffusion-related parameters.

338

Page 359: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 8 OXIDATION AND SILICIDATION

Mixed flow oxidationSentaurus Process allows for thermal oxidation with the contribution of O2 and H2O, at a time. Thegas_flow command is used to specify a mixed gas flow by specifying directly either the partial pressuresof the gas components or the flow [volume/time]. The use of the gas_flow command is similar to thetemp_ramp command; however, multiple gas flows using the same name must not be specified. When agas_flow is specified, it can be referred to from the temp_ramp and diffuse commands:

gas_flow name=MyGasFlow pH2O=0.5 pO2=0.5

or:

gas_flow name=MyGasFlow partial_pressure = {H2O=0.5 O2=0.5}

If partial pressures are given, no chemical reaction between the gas component is assumed. If the gascomponents are given in terms of flows:

gas_flow name=MyGasFlow flowH2O=0.5 flowO2=0.5 flowH2=0.2 flowN2=1.0

or:

gas_flow name=MyGasFlow flows = {H2O=0.5 O2=0.5 H2=0.2 N2=1.0}

the partial pressures of the components are computed assuming a complete stoichiometric conversion.

To invoke the gas flow specification as given above, use:

temp_ramp name=MyTempRamp temperature=1000<C> time=10<min> gas_flow=MyGasFlowdiffuse temp_ramp=MyTempRamp

or:

diffuse temperature=1000<C> time=10<min> gas_flow=MyGasFlow

Possible flows or partial pressure in the gas_flow command are pH2O, pO2, pH2, pHCl, pN2, flowH2O, flowO2,flowH2, flowHCl, and flowN2. Both the temp_ramp and gas_flow commands have the keywords list and clearto list and delete the defined gas flows and temperature ramps, respectively.

Computing partial pressures

Given a flow of O2 in addition to a flow of H2 or HCl, a chemical reaction between the components istaken into account: O2 is reduced and H2O increases. A complete stoichiometric conversion is assumed.The final flows1 after the reaction are computed in the AmbientReactions procedure as follows.

1. The index init refers to the initial flows specified by the user in the gas_flow command, and final describes the flowafter the chemical reaction.

339

Page 360: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 8 OXIDATION AND SILICIDATION

If :

(514)

else:

(515)

In the case where not all of the H2 is consumed by the reaction, a warning is displayed. If a contributionof HCl is given, the equations read as follows.

If :

(516)

else:

(517)

The final flows are used internally to compute the partial pressure of each component. Partial pressuresare the relevant quantity for the subsequent simulation. These are computed as:

(518)

where holds for a certain component of the gas mixture and pressure is the total pressure.

Oxidant diffusion and reactionFor the rigorous simulation of the oxidation process, the dissolution of the oxidant species at the gas–oxide interface, the transport through the existing or already grown oxide, and the consumption at theoxide–silicon interface have to be simulated. The dissolution and consumption are modeled by boundaryconditions; for the oxidant transport, a diffusion equation is solved in the oxide layer.

flowO2init 0.5 flowH2init⋅>

flowO2final flowO2init 0.5 flowH2init⋅–=

flowH2Ofinal flowH2Oinit flowH2init+=

flowH2final 0=

flowH2final 0=

flowH2Ofinal flowH2Oinit 2 flowO2⋅ init+=

flowH2final flowH2init 2 flowO2init⋅–=

flowO2init flowHClinit>

flowO2final flowO2init flowHClinit–=

flowH2Ofinal flowH2Oinit flowHClinit+=

flowH2final 0=

flowO2final 0=

flowH2Ofinal flowH2Oinit 2 flowO2⋅ init+=

flowHClfinal flowHClinit flowO2init–=

pComp pressureflowCompfinal

flowCompfinalComp∑

---------------------------------------------------⋅=

Comp

340

Page 361: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 8 OXIDATION AND SILICIDATION

Two oxidant species, H2O and O2, are defined in the FLOOPS.models file (see Default simulator settings:FLOOPS.models file on page 27) using the reaction command (see reaction on page 493):

reaction name=dryoxSi mat.l=Silicon mat.r=Gas mat.new=oxide diffusing.species=O2 ambient

reaction name=wetoxSi mat.l=Silicon mat.r=Gas mat.new=oxide diffusing.species=H2O ambient

For mixed oxidant flows, for each species, one diffusion–reaction system is solved. For each oxidant,one dataset is allocated: H2O and O2 [1/cm3].

Growth reaction fluxes at the reacting interfaces are defined using the Alagator scripting language (seeAlagator for generic growth on page 324). These fluxes are divided internally by the particle density ofoxide in order to obtain the growth velocities. Manipulation of these fluxes is essential for theimplementation of empirical growth models, such as the Massoud model, which is not yet covered by adiffusion equation.

In the case of a mixed gas flow, the contributions of both fluxes are summed. At the reaction front, thefollowing reactions are assumed:

(519)

The conversion from Si to SiO2 leads to a volume increase of 125%, which leads to motion andmechanical stresses in the compound.

The oxidant diffusion described by Fick’s law leads to the diffusion equation:

(520)

where is the diffusivity of the oxidant and is the particle flux. The flux of oxidants in the normaldirection to the surface, going from the gas region to the oxide, is given by:

(521)

where is the mass transfer coefficient and is the solid solubility of the oxidant. If is large enough,the concentration of oxidants is approximately equal to the solid solubility at the gas–oxide interface.

The coefficient is defined in the parameter database as MassTransfer and can be set using thecommands:

pdbSet Oxide_Gas O2 MassTransfer <n>pdbSet Oxide_Gas H2O MassTransfer <n>

The solid solubility is a function of the pressure:

(522)

where is the reference solid solubility.

Si O2+ SiO2→

Si 2H2O+ SiO2 2H2+→

t∂∂c j∇+ 0 where j D c∇–=,=

D j

j h c* c–( )⋅=

h c* h

h

c*

c* pComp cref*⋅=

cref* cL0e

cLwkT--------⎝ ⎠

⎛ ⎞–=

341

Page 362: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 8 OXIDATION AND SILICIDATION

Its value can be set using the following commands:

pdbSet Oxide O2|H2O CL0 <n>pdbSet Oxide O2|H2O CLW <n>

where the symbol ‘|’ stands for logical or. The flux caused by the chemical reaction at the oxidation frontis described by:

(523)

The stoichiometry coefficient β is 1 for O2 and 2 for H2O, is the chemical reaction rate, and is theparticle density at the oxide–silicon interface. The reaction rate and diffusivity are computed from thelinear and parabolic rate constants used in the Deal–Grove model.

Transition to linear and parabolic rate constants

Assuming the stationary state in Eq. 520, the growth rate in the 1D case can be described by the Deal–Grove model:

(524)

where describes the thickness of the 1D oxide layer. This equation can be solved analytically. Theparabolic rate constant is given by and the linear rate constant is given by . A deeper analysisreveals relations between the parabolic rate and diffusivity, and the linear rate and reaction rate.Assuming :

(525)

Both the parabolic rate and linear rate are functions of pressure and temperature. For the temperaturedependence, two Arrhenius functions, for a low-temperature and high-temperature regime, areavailable:

(526)

Taking pressure dependence into account, reads:

(527)

j β kcsi=

k csi

dxoxdt

----------- B2xox A+---------------------=

xoxB B A⁄

h k»

DβBcox

2c*---------------=

kcox

c*------- B

A---⎝ ⎠

⎛ ⎞≈

B T( )

B0.hBW.h

kBT------------–⎝ ⎠

⎛ ⎞ , if T BT.break>exp⋅

B0.lBW.l

kBT------------–⎝ ⎠

⎛ ⎞ , elseexp⋅⎩⎪⎪⎨⎪⎪⎧

=

B

B B p T,( ) B T( )p Bp.dep bar[ ]⁄Comp= =

342

Page 363: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 8 OXIDATION AND SILICIDATION

The parameters B0.h, BW.h, B0.l, BW.l, Bp.dep, and BT.break can be found in the parameter database inOxide H2O | O2.

An equivalent set of equations is solved for the linear rate :

(528)

with the corresponding set of parameters, BA0.h, BAW.h, BA0.l, BAW.l, BAp.dep, and BAT.break. These can befound in the parameter database:

Oxide_Silicon H2O | O2 100 | 110 | 100Oxide_PolySilicon H2O | O2 100 | 110 | 100

and can be set using the pdbSet command (for example, pdbSet O2 110 BA0.h <n> or pdbSet H2O 100BAT.break <n>).

Parameters defining the diffusivity and parabolic rate constant are bulk properties and, therefore, aredefined in oxide. Parameters defining the reaction rate and linear rate constants are interface propertiesand, therefore, are defined on interfaces. This data can also depend on the crystal orientation whencrystalline materials are involved.

Massoud model

The Massoud model is an empirical model that describes an enhanced growth rate in the initial regimeof the oxidation. The model can be seen as an extension of the Deal–Grove model and is in goodagreement with measurement. Sentaurus Process uses a slightly different form of the originallysuggested model:

(529)

Solving the oxidant diffusion equation (see Eq. 520) results in the oxidant concentration at the reactionfront. From the 1D analytic solution (see Eq. 524), the corresponding 1D oxide thickness can bederived. To account for the enhanced growth in the initial regime, the second term of Eq. 529 contributesto the flux.

B A⁄

BA--- T( )

BA0.hBAW.h

kBT----------------–⎝ ⎠

⎛ ⎞ , if T BAT.break>exp⋅

BA0.lBAW.l

kBT----------------–⎝ ⎠

⎛ ⎞ , elseexp⋅⎩⎪⎪⎨⎪⎪⎧

=

dxoxdt

----------- B2xox A+--------------------- C

xoxL

-------–⎝ ⎠⎛ ⎞exp+=

xox

343

Page 364: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 8 OXIDATION AND SILICIDATION

Both the parameters L and C depend on the crystal orientation and temperature:

(530)

(531)

The parameters L0.h, LW.h, L0.l, LW.l, C0.h, CW.h, C0.l, CW.1, and MBAT.break can be found in the parameterdatabase:

Oxide_Silicon O2 | H2O 100 | 110 | 111Oxide_PolySilicon O2 | H2O 100 | 110 | 111

Orientation-dependent oxidation

For different crystal orientations, different reaction rates can be applied. Internally, Sentaurus Processcomputes the data fields Ori100, Ori110, and Ori111. If the normal vector on an interface coincides with acertain crystal orientation, the value for this orientation is one; if it is orthogonal, the value equals zero.Interpolation is used to compute the rates on orientations not coinciding with the crystallographicdirections.

When saving results in DF–ISE or TDR format, these data fields are not stored; however, they can beaccessed by using the Alagator scripting language. The Tcl procedure proc OxidantReaction creates theterms ReactionRateO2 and ReactionRateH2O:

(532)

The reaction rates , , and are computed from the linear rates given for differentorientations. The parameters L0 and C used in the Massoud model depend on the crystal orientation aswell.

For information about the TDR format, refer to the documentation for Sentaurus Data Explorer UserGuide.

Stress-dependent oxidation

Stress-dependent oxidation (SDO) usually refers to the coupling of the oxidant diffusivity and reactionrate to the local stress field. To handle the stress-dependent oxidant diffusion and stress-dependentreaction rate, two data fields are created internally. These data fields are not stored by default; however,they can be accessed by using the Alagator scripting language.

C T( )

C0.hCW.h

kBT------------–⎝ ⎠

⎛ ⎞ , if T MBAT.break>exp⋅

C0.lCW.l

kBT------------–⎝ ⎠

⎛ ⎞ , elseexp⋅⎩⎪⎪⎨⎪⎪⎧

=

L T( )

L0.hLW.h

kBT-------------–⎝ ⎠

⎛ ⎞ , if T MBAT.break>exp⋅

L0.lLW.l

kBT-------------–⎝ ⎠

⎛ ⎞ , elseexp⋅⎩⎪⎪⎨⎪⎪⎧

=

k k<100>Ori100 k<110>Ori110 k<111>Ori111+ +=

k<100> k<110> k<111> B A⁄

344

Page 365: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 8 OXIDATION AND SILICIDATION

The data fields PPressure and NStress are defined as:

(533)

and:

(534)

The components of the stress tensor are given by and the normal vector at the reaction front is givenby . The definition of NStress is only meaningful at an interface. If:

pdbSetBoolean Oxide Oxidant SDO 1

or:

pdbSet Oxide_PolySilicon H2O | O2 SDO 1pdbSet Oxide_Silicon H2O | O2 SDO 1

is selected, the reaction rate and diffusivity are modified in the following way:

(535)

and:

(536)

The activation volume VD, being a bulk property, is defined in Oxide O2 | H2O. The activation volume Vkcontrols the impact of the normal stress at the reaction front and, therefore, is defined on interfaces:

Oxide_Silicon | Oxide_PolySilicon O2 | H2O

(for example, pdbSet Oxide_Silicon O2 Vk <n>).

Dopant-dependent oxidation

Dopant concentration dependent oxidation implemented in Sentaurus Process is described in thefollowing section. First the theory is explained, and then the way to control it is given. Dopantdependence of oxidation rate is incorporated through the electron concentration dependence lc given by:

(537)

PPressure13---– σxx σyy σzz+ +( ) , if PPressure 0>

0 , else⎩⎪⎨⎪⎧

=

Stressσjknjnk

k∑

j∑ , if NStress 0>

0 , else⎩⎪⎨⎪⎧

=

σjknj

k NStress T,( ) k T( ) NStress Vk⋅kBT

---------------------------------⎝ ⎠⎛ ⎞exp⋅=

D PPressure T,( ) D T( ) PPressure VD⋅kBT

---------------------------------------–⎝ ⎠⎛ ⎞exp⋅=

lc 1 γV

CV 1–( )+=

345

Page 366: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 8 OXIDATION AND SILICIDATION

where:

(538)

and:

(539)

The quantities in Eq. 539 are given by the following formulas:

(540)

(541)

(542)

(543)

(544)

(545)

(546)

(547)

The dependence on carrier concentration is a function of the location along the oxidizing interface.

Dopant dependent oxidation is turned on with the flag:

pdbSetBoolean Oxide_Silicon O2 DopantDependentReaction 1

In Eq. 538, the quantities GAMMA0 and GAMMAW are set as follows:

pdbSetDouble Oxide_Silicon O2 Gamma0 2360pdbSetDouble Oxide_Silicon O2 GammaW 1.1

γV GAMMA0GAMMAW–

kT-------------------------------⎝ ⎠

⎛ ⎞exp×=

CV

1 C+ nin-----⎝ ⎠

⎛ ⎞ C_ nni-----⎝ ⎠

⎛ ⎞ C= nni-----⎝ ⎠

⎛ ⎞ 2+ + +

1 C+ C_ C=+ + +------------------------------------------------------------------------------=

C+ E+ Ei–kT

-----------------⎝ ⎠⎜ ⎟⎛ ⎞

exp=

C_ Ei E_–kT

-----------------⎝ ⎠⎜ ⎟⎛ ⎞

exp=

C= 2Ei E_– E=–kT

---------------------------------⎝ ⎠⎜ ⎟⎛ ⎞

exp=

E+ 0.35eV=

E_ Eg 0.57eV–=

E= Eg 0.12eV–=

EiEg2

------ 0.75 0.719( )kTln+=

Eg 1.17 4.73 4–×10( )T2

T 636+------------------------------------eV–=

346

Page 367: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 8 OXIDATION AND SILICIDATION

The quantities Eg and Ei are defined as procedures called DFactorEg and DFactorEi each taking a singleargument which is temperature. If the you want to overwrite them, use:

proc DFactorEg { temp } {# enter the function here.}

Finally, Eq. 539 is implemented by implementing the formulas for C+, C0, C– and C= as a double array.C0 is identically equal to 1. The double array is overwritten as follows:

pdbSetDoubleArray Oxide_Silicon O2 DopantReactFactor {1 <expr 1> 0 <expr 2> -1 <expr 3> -2 <expr4>}

Diffusion prefactors

The reactant diffusivities can be enhanced or retarded due to various new process conditions. If a newmodel does not exist to simulate the observed behavior, you may want to multiply the existing diffusivitywith a prefactor. Sentaurus Process allows diffusivities to be multiplied by user-defined factors. Forexample, in the case of specified O2 and H2O, these are given by:

term name=O2DiffFactor add Oxide eqn=1.0e18/(1.0*N2ox+1.0e18)term name=H2ODiffFactor add Oxide eqn=1.0e18/(1.0*N2ox+1.0e18)

The effective diffusivity of O2 and H2O will be multiplied by O2DiffFactor and H2ODiffFactor,respectively. In this example, the diffusivity of both reactants will be a function of the data files N2ox.See Chapter 6 on page 305 for the definition of terms.

SilicidationSentaurus Process can simulate the thermal silicidation of titanium.

Figure 68 Velocities in 1D silicidation process

Titanium silicide is assumed to form when silicon atoms react in the silicide with titanium at the titaniumsilicide–titanium (TiSi2–Ti) interface. The consumption of silicon and titanium lead to the deformationof the material layers in the structure.

n

n

υTiSi υ

Gas Ti TiSi2 Si

CSi

υgrow

Sidissolve2

347

Page 368: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 8 OXIDATION AND SILICIDATION

NOTE While the discussion that follows describes the growth of TiSi2 on silicon, it also applies togrowth of TiSi2 on polycrystalline silicon.

The silicidation process has three main steps:

Diffusion of silicon from the TiSi2–silicon interface through the existing TiSi2 to the Ti–TiSi2interface.

Reaction of silicon with titanium to form new TiSi2.

Motion of materials due to the volume expansion, which is caused by the reaction between diffusedsilicon and titanium and also by dissolving silicon at the TiSi2–silicon interface.

If silicon or polysilicon is in contact with titanium at the beginning of a thermal silicidation, an initialTiSi2 layer is created automatically as in the case of oxidation. The thickness of this layer is, by default,1.5 nm. The value of the initial TiSi2 thickness is specified in the parameter database by:

pdbSet Grid NativeLayerThickness 1.5e-7

which also controls the native layer thickness for oxidation.

Sentaurus Process automatically recognizes the silicidizing interfaces and switches on the reactionequations.

Silicidation reactionsAt the TiSi2–silicon interface, there is the reaction:

(548)

where is the silicon as a diffusing species on the silicon material side and is the silicon as adiffusing species. Therefore, silicon (on the Si side of the interface) reacts to form silicon atoms (on theTiSi2 side of the interface). The reaction is reversible, allowing for the reformation of silicon (if siliconis released by nitridation of TiSi2, for example):

(549)

and are the diffusion flux and growth reaction flux, respectively, at the TiSi2–silicon interface.The forward rate, , of this reaction depends only on temperature, while the reverse rate is alsoproportional to the concentration of diffusing silicon atoms in TiSi2. is the concentration of siliconin TiSi2 and is the equilibrium concentration of silicon at the TiSi2–silicon interface. Beta is thestoichiometry of the growing material whose default is 1.0. They can be changed using the followingcommands:

pdbSet Silicon_TiSilicide Silicon Kf <n>pdbSet Silicon_TiSilicide Silicon Cstar <n>

SiSi SiTiSi2↔

SiSi SiTiSi2

Rf Kf CSi Cstar–( )≡

Rg Beta Rf≡

Rf RgKf

CSiCStar

348

Page 369: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 8 OXIDATION AND SILICIDATION

pdbSet Silicon_TiSilicide Silicon Beta <n>

For each silicon atom removed from the silicon side of the interface, the volume of silicon is reduced by:

(550)

where Density.Grow is the density of the growing material whose default value is . It can bechanged by using the command:

pdbSet Silicon_TiSilicide Silicon Density.Grow <n>

There is no new material formation at the TiSi2–silicon interface. Silicon dissolves at this interface andis transported across the TiSi2 layer by simple diffusion:

(551)

where is the concentration of silicon in TiSi2 and is the diffusivity of silicon in TiSi2. Thefollowing command changes the diffusivity:

pdbSet TiSilicide Silicon Dstar <n>

At the TiSi2–titanium interface, there is the reaction:

(552)

This reaction is assumed to be irreversible:

(553)

and are the diffusion flux and growth reaction flux, respectively, at the TiSi2–titanium interface.The forward reaction rate, , is proportional to the concentration of diffusing silicon at the TiSi2 sideof the interface. is the concentration of silicon in TiSi2 and is the equilibrium concentrationof silicon at the titanium–TiSi2 interface. Beta is the stoichiometry of the growing material whose defaultis 0.5. They can be changed using the commands:

pdbSet TiSilicide_Titanium Silicon Kf <n>pdbSet TiSilicide_Titanium Silicon Cstar <n>pdbSet TiSilicide_Titanium Silicon Beta <n>

The volumes of titanium and TiSi2 change according to:

(554)

where Expansion.Ratio is the conversion ratio from consumed material to the growing material, andDensity.Grow is the density of the growing material. The default values for Expansion.Ratio andDensity.Grow are 2.42 and , respectively. They can be changed by using the commands:

ΔV BetaDensity.Grow -----------------------------------=

5 22×10

t∂∂CSi Dstar CSi∇∇•=

CSi Dstar

SiTiSi20.5Ti+ 0.5TiSi2TiSi2

Rf Kf CSi Cstar–( )≡

Rg Beta Rf≡

Rf RgKf

CSi CStar

VΔ BetaExpansion.Ratio * Density.Grow ---------------------------------------------------------------------------------=

2.34 22×10

349

Page 370: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 8 OXIDATION AND SILICIDATION

pdbSet TiSilicide_Titanium Silicon Expansion.Ratio <n>pdbSet TiSilicide_Titanium Silicon Density.Grow <n>

NOTE No silicidation models are implemented to simulate CoSi2 or NiSi. See Alagator for genericgrowth on page 324 for information about how to implement these models.

NumericsDuring oxidation or silicidation, one material grows at the expense of another material. To handle thegrowth of materials, Sentaurus Process uses two different time loops–inner and outer–as shown inFigure 69.

Figure 69 Flowchart for simulation of material growth

Outer time loopThe diffusion equation for the oxidants is solved using the general PDE solver in Sentaurus Process. Inaddition, a predictor for the next time step (oxidation time step) is computed. When the concentrationsof oxidants at the oxide–silicon interface are known, the corresponding growth velocities can becomputed. These velocities serve as a boundary condition for the mechanics problem. After solving themechanics problem, the velocity field in the entire structure is known. At this point, the program entersthe inner time loop.

Inner time loopGiven a mesh and the velocity field, a time step (grid time step) can be computed so that elements donot collapse when applying the velocities to the nodes of the mesh (moving mesh). In the next time step,the dopant diffusion is solved using the general PDE solver and a predictor for the next time step(diffusion time step) is computed. Then, mesh points are moved according to the velocity field and,subsequently, small mesh elements are removed.

Out

er T

ime

Loop

Inner Time Loop

Solve OxidantDiffusion

Solve Mechanics

Solve DopantDiffusion

Velocity at theReaction Front

Velocity Field

Remove SmallElements

Move MeshPoints

Compute Maximum Δt on Given Mesh

350

Page 371: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 8 OXIDATION AND SILICIDATION

After removing small elements, the next grid time step is computed. The smaller of the two time steps(grid time step and diffusion time step) is applied in the next time cycle. The inner time loop runs as longas the time step of the outer loop (oxidation time step) is fulfilled. Then, the code goes into its secondtime step of the outer loop. An example of typical output during oxidation is:

...Reaction Solve from 14.86min to 15.11min. Time step: 15.32s.Mechanics Solve from 14.86min to 15.11min. Time step: 15.32s.Diffusion Solve from 14.86min to 14.99min. Time step: 8.144s.Diffusion Solve from 14.99min to 15.11min. Time step: 7.176s.Reaction Solve from 15.11min to 15.37min. Time step: 15.4s.Mechanics Solve from 15.11min to 15.37min. Time step: 15.4s.Diffusion Solve from 15.11min to 15.25min. Time step: 8.361s.Diffusion Solve from 15.25min to 15.29min. Time step: 2.077s.Diffusion Solve from 15.29min to 15.37min. Time step: 4.967s....

This output reproduces the time-stepping scheme: Reaction Solve and Mechanics Solve occur in the outertime loop, whereas Diffusion Solve occurs in the inner time loop.

As previously mentioned, after solving the mechanics problem, velocities are given on all mesh points.Mesh points are moved according to these velocities. This leads to a change in the geometry and, in somecases, also to a change in the topology of the structure at each time step. At a reactive interface, forexample the oxidation front, two velocities apply: one describes the growth of a material and onedescribes the consumption of another material.

The velocity describing the growth of the material is used to solve the mechanics problem, and thevelocities describing the consumption of a material are used to update the structure or mesh. Therefore,mesh elements on the growing side of the oxidation front are stretched, and elements on the shrinkingside are compressed. Edges on the growing side, which become too long with time, are split. Edges andelements on the shrinking side of the interface, which become too small, are removed. This isdemonstrated in Figure 70.

Figure 70 Meshing strategy during thermal oxidation

By default, the 2D mesh library performs the 2D mesh update. The following statement switches off the2D mesh library and specifies the use of the old mesher:

pdbSetBoolean Grid 2D.MeshLib 0

In addition, the 2D mesh library deposits the native oxide layer before oxidation by default. Since itremoves all grids inside a gas region, the simulation performance is improved without any loss ofaccuracy. This feature can be switched off by:

pdbSetBoolean Grid 2D.MeshLib.Native 0

Silicon Oxidef8

351

Page 372: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 8 OXIDATION AND SILICIDATION

Controlling mesh during oxidationOxidation creates new regions and dramatically alters the shape of existing ones. Being able to controlmesh is important. This section covers some mesh control methods.

Mechanics displacements

The displacements computed by mechanics solution during oxidation is applied to the nodes afterchecking against the MinimumVelocity criterion defined for each region. Velocity is the computed solutionvariable and is multiplied by the time step to compute displacements. The nodes are moved by thisamount. The computed velocities are compared against MinimumVelocity, and if the computed velocity isgreater than MinimumVelocity, then the displacements are computed and applied. The MinumumVelocity isset with the following command:

pdbGetDouble Silicon Grid MinimumVelocity

Grid spacing

Grid spacing in the growing region is controlled by perp.add.dist. The value is in cm units, and the edgesin growing regions are checked to see if they are nearly perpendicular to the interface. If they areperpendicular, then they are split if their length exceeds the perp.add.dist number. This value is set withthe following command:

pdbSet Oxide Grid perp.add.dist 2e-7

Grid cleanup

During oxidation or silicidation, the growing region increases at the expense of a shrinking region. Theshrinking regions then have a problem of small edges. Below a certain value, these edges have to beremoved entirely, and the mesh around them has to be adjusted. The short edge criterion is specified bythe Remove.Dist parameter. This parameter is specified in cm units and is set as follows:

pdbSet Silicon Grid Remove.Dist 3e-8

Due to mesh quality constraints, this number should be kept above a value of 2e-8 cm.

Maximum allowed thickness increase

For minimum simulation time, it would best if the entire thickness growth were simulated in one step.However, this is not possible. There are several reasons not do one step including:

Nonconvergence of diffusion equations.

Inability to track material interfaces if they grow more than one edge length of a triangle or atetrahedron and so on.

352

Page 373: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 8 OXIDATION AND SILICIDATION

The dThickness parameter is specified in micrometers and is set as follows:

pdbSet Diffuse dThickness 0.001

Maximum allowed rate of growth

In the growing region, the new region needs data to be interpolated onto it. Since the region is new, thereis no way to determine what the new data should be. Therefore, the method adopted in Sentaurus Processworks, so there are no new nodes that need to be added in one step. After the step is completed in themesh quality checking phase, the new nodes are introduced and data is interpolated from the nearbynodes. There is no need to grow excessively quickly since the nearby nodes are not close, and theinterpolated value is far from the actual value. Therefore, the rate of growth is controlled byIncreaseRatio. This is the factor by which the time steps are allowed to grow. The new time step is nevergreater than current time step times IncreaseRatio. This parameter is unitless and is set as follows:

pdbSet Diffuse IncreaseRatio

Miscellaneous tricks

Since Sentaurus Process oxidation does not allow the interface to traverse more than one elementthickness at a time, speed can be achieved by having elements with longer edge lengths near theinterface. This may be controlled by refinement boxes or the MGOALS parameter min.normal.size.Large structures, like those used in power devices, may need min.normal.size of 0.01 um. Whilesubmicron CMOS devices need 8 angstroms.

Mesh away from the interface is unrefined based on the MGOALS parameter normal.growth.ratio. If themesh is not unrefining fast enough, this number may be increased.

In large structures, the interface fidelity might not need to be as tight at that of a 35-nm gate transistor.The MGOALS accuracy parameter may be increased to say 1 ångström and that will cause MGOALS toclean up interfaces of small (sub-1-ångström) features and ensure smooth long edges that speed upoxidation.

These are options available to the process engineer; however, care must be exercised in varying theseparameters since they may affect the final structure significantly.

3D oxidationMaintaining a conformal high-quality mesh during the simulation of 3D oxidation is very difficultbecause of the following requirements: moving boundaries, accurate dopant profiles, dose conservation,minimization of the number of mesh points, and maintaining high-quality mesh elements. In particular,handling the frequent collision of the oxidation front with points inside the silicon, polysilicon, or gasregions can cause intractable problems for the local mesh operations needed for maintaining doseconservation. These problems have not been completely solved in Sentaurus Process, so various globalremeshing strategies have been implemented to try to recover when the local operations fail.Improvements in both the local and global meshing operations are in progress.

353

Page 374: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 8 OXIDATION AND SILICIDATION

Before each diffusion time-step, the mesh is checked for the maximum possible time step until the firsttetrahedron element collapses (becomes flat). If necessary, the time step is reduced. In the diffusionsimulation, all mesh points are moved using the velocity and the time step. The mesh topology is notchanged during the diffusion time step since. At the end of the diffusion time step, a face swappingalgorithm is used to improve the mesh quality and to remove flat elements. After face swapping, themesh is checked for any remaining flat elements and any elements that have short edges, poor shapes,or small volumes. An attempt is made to remove these elements, followed by a face-flipping to improvethe element quality allowing for the next time step to be sufficiently large.

This removal of local elements is a difficult task, which does not always succeed and frequently leadsto bad elements surviving and enforcing small time steps. If this grid limited time step becomes toosmall, a 3D Delaunay meshing algorithm is used in an attempt to construct a mesh for the givengeometry and the set of bulk points that do not belong to any “flat” elements.

NOTE If the delaunizer fails to construct a new mesh, a limited set of small time steps is allowed inan attempt to recover a reasonable size time step. If this does not succeed, the simulation isstopped with an error message.

Recommendations and examplesSeveral methods and algorithms are available to reduce the risk of such failure and several parameterscontrol these algorithms. However, these parameter settings are not yet established in the pdb database.Since their names and default values most likely will change in the future, it is recommended to executethe 3DOxSetup command before the first diffuse command when simulating 3D oxidation, silicidegrowth, or epitaxy:

3DOxSetupdiffuse temp=900 wet time=0.5 info=2 movie = { struct dfise = last }

The 3DOxSetup command accepts the release number as a parameter, for example:

3DOxSetup 2005.10

The setup file for the current release is used by default.

NOTE The 3DOxSetup command should be executed after loading a TDR file since some of theparameter settings may be overwritten without notification by settings that were present at thetime, the TDR file was created.

The 3DOxSetup command searches for and executes the appropriate setup file. The setup file contains acomplete list of pdbSet commands, related to the control of the mesh cleanup together with a descriptionof the parameters, possible values, and alternative settings. If necessary, some of the parameters in thesetup file can be respecified after sourcing the setup file to modify the values. Even if several of theparameter names indicate the use of levelset methods, except for the creation of native layers, levelsetmethods for 3D oxidation currently are unavailable.

354

Page 375: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 8 OXIDATION AND SILICIDATION

Example: 3D LOCOS simulation3DOxSetuppdbSetDouble Nitride Grid perp.add.dist 0.1e-4pdbSetDouble Gas Grid perp.add.dist 0.1e-4

line x loc=-0.3 tag=nitop spac=0.05line x loc=-0.01 tag=oxtop spac=0.01line x loc=0.0 tag=substopline x loc=1.0 tag=subsbottom

line y loc=0.0 tag=yleft spac=0.1line y loc=0.5 tag=ymid spac=0.1line y loc=1.0 tag=yright spac=0.1

line z loc=0.0 tag=zleft spac=0.1line z loc=0.5 tag=zmid spac=0.1line z loc=1.0 tag=zright spac=0.1

region silicon xlo=substop xhi=subsbottom ylo=yleft yhi=yright zlo=zleft zhi=zrightregion oxide xlo=oxtop xhi=substop ylo=yleft yhi=yright zlo=zleft zhi=zrightregion nitride xlo=nitop xhi=oxtop ylo=yleft yhi=ymid zlo=zleft zhi=zmidregion gas xlo=nitop xhi=oxtop ylo=ymid yhi=yright zlo=zleft zhi=zrightregion gas xlo=nitop xhi=oxtop ylo=yleft yhi=ymid zlo=zmid zhi=zright

initstruct dfise=inital1 bnd

diffuse time=20 temperature=1000 wet info=1struct dfise=locos3d1 bnd

Figure 71 3D LOCOS simulation

355

Page 376: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 8 OXIDATION AND SILICIDATION

The following list describes the most important settings in the current setup file. The complete setup fileis contained in the TclLib directory that comes with the Sentaurus Process installation. It is includedbelow for your reference:

In the current release, computing and using a meshing velocity is not recommended. This approachdoes not increase the rate of successful simulations, but the computation of the meshing velocityrequires a considerable amount of CPU time.

Allowing neighboring regions of the same material to merge and allowing face-swapping in allregions increase the likelihood of a successful simulation:

pdbSetBoolean Grid No3DMerge 0pdbSetBoolean Grid No3DSwap 0

NOTE If you are using a 3D structure, constructed with Sentaurus Structure Editor; and if youmodify the material properties of different regions, you must turn off merging of regions.After executing the 3DOxSetup command, you must specify: pdbSetBoolean Grid No3DMerge 1.

The mesh spacing normal to the moving front in the growing layers is controlled by parameters thatmust be specified per material. It is recommended to enable selecting and refining only the edge thatis aligned best with the direction of the velocity.

NOTE The edge length at which the edge is split in the midpoint must be specified without units; thevalue specified is interpreted as centimeters:

pdbSetBoolean Oxide Grid GridAddPerp 1pdbSetDouble Oxide Grid perp.add.dist 0.01e-4

A series of parameters can be used to fine-tune the quality and behavior of the 3D delaunizer. If thepdbSetDouble Grid Delaunize one command is specified, the global delaunizer will be called at everytime step. By default, as has been described previously, the 3D delaunizer is not called at every timestep and is called only as a last resort, if the local mesh cleanup failed and the simulation is about tobe stopped.

################################################################################ Sentaurus Process 3D oxidation setup ## Copyright (C) 2006-2006 Synopsys, Inc. ## This software and the associated documentation are confidential and ## proprietary to Synopsys, Inc. Your use or disclosure of this software is ## subject to the terms and conditions of a written license agreement between ## you, or your company, and Synopsys, Inc. ################################################################################# These are the recommended (and tested) parameter settings for a 3D oxidation# with the 2006.06 release version.# NOTE!# If the paint by numbers scheme is used (renaming of materials of regions# during the process, you MUST turn off region merging by specifying # pdbSetBoolean Grid No3DMerge 1# (without the comment character "#" AFTER you execute the 3DOxSetup command

set 3DOxSetup_version "2006.06"# last change 01/13/06

356

Page 377: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 8 OXIDATION AND SILICIDATION

LogFile "------------------------------------------------------------------------------"LogFile "Loading 3D oxidation setup: $3DOxSetup_version"LogFile !PrintCommands

# enable debug mode (saving temporary meshes as files) # pdbSetDouble Grid DebugLevel 0

# enable saving a file at the end of each complete cycle# react mechanics diffuse diffuse ...pdbSetBoolean Diffuse SaveForRestart 0

# turn on the dessis boxmethodpdbSetBoolean Math 3D UseBoxMethod 1# pick one of: Average Truncated Mixed (default)# pdbSet Math 3D BoxMethodAlgorithm Truncated

# allow points to move with arbitrary (small) velocity pdbSetDouble Grid MinimumVelocity 0.0

# remove.dist parameter for detection of short edges and small# elements. Also used to restrict the geometry change of the give method# and if the replace method connects different interfaces:# max. of 3*Remove.Dist and 0.9 * nativeLayerThickness# Remove.dist can be specified per region, material or globally (in cm) # default value 2e-8 ==> 2A# pdbSetDouble oxide Grid Remove.Dist 2.e-8 # pdbSetDouble Grid Remove.Dist 2.e-8

# by default: merge regions of same materials if they are adjacentpdbSetBoolean Grid No3DMerge 0

# allow swapping of facespdbSetBoolean Grid No3DSwap 0

# (safe, frequent, CPU consuming) Grid checkingpdbSetBoolean Grid Check 0

# restrict give method # -2 default, avoid giving elements with large height over old interface# -1 same as 2, for elements with all 4 corners touching a mesh check# that all points are on an interface to the mesh (avoid self-touching# interfaces)# -3 neither give nor remove of nodes on different interfaces R1 is allowed# other values: no give method, R1 is allowedpdbSetDouble Grid AllowGive -1

# critical angle: if the dihedral angle at a triple line segment of a # growing region is less than the critical angle the volume element will# be removed (in degree)pdbSetDouble Grid CritAngle 2

# set the minimum time step we want to perform using the local regridding# and mesh cleanup# if the grid limited time step will be smaller we will need to switch# to a level set method in moving grids

357

Page 378: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 8 OXIDATION AND SILICIDATION

# A large positive value (>1e10) will result in "plan B only"# A zero or negative value will result in trying arbitrary small steps # and not using the level set method for any time step.

# When testPlanB is set to 0, and the grid limited time step is below # the specified value, a delaunay regridding step is performed, one# time step below useLevelSet is allowed, otherwise the simulation is stopped.# default: 1e-15pdbSetDouble Grid useLevelSet 1.e-15

# allow/disallow using level set method in oxidation# specifying 1 will always "test" plan B, create the new brep and write the# brep into a file# specifying 0 will NOT allow using plan B. # Not specifying the parameter will use plan B if the estimated # grid limited step is less than "useLevelSet"# The level set method is used for native layer construction only if# TestPlanB is set to 1pdbSetBoolean Grid TestPlanB 0

# accuracy used during the cleanup of the mgoals boundary representation# (native layer construction, plan B, global delaunizer call)# in cm, default 0.5nm, 0.001e-4 == 1nm# defining a non-positive number will use the default for native layer and# planB# In case of static delaunay reconnection, one end of any short edge will# be unlocked, allowing the other end to be removed. "short" is defined by# the usual parameter: Grid Remove.Dist pdbSetDouble Grid BrepAccuracy 0.001e-4

# By specifying a positive number for BrepAccuracy,# in case of native layer depo using levelset method # and/or planB for oxidation perform a # protection of all points on the original surface and a selective protection# of points on the new surface in order to maintain a certain discretization # similar to the initial discretization of the surface before handing the# brep and the internal points to the delaunizer

# If a static regrid is done, and a positive number is specified, # decimation is constrained: decimation is allowed only for points that# are connected through short edges in the surface.# If there are no such points, no decimation is done.

# If a zero or negative value is specified, and no short edges are detected # in the surface, and if a positive value is specified for BrepAccuracy,# an unconstrained global decimation is done without protecting any points. ## Setting 1 does not work for the native layer examples.# Setting 0 generates a very coarse meshpdbSetDouble Grid ProtectedDecimation 1

# do use the floops mesh to assign regions, not the brep# This will only work, if the delaunizer is called on a static structure,# e.g. in a delaunization after a mesh cleanup (pdbSetDouble Grid Delaunize 1)# or in a grid delaunize command

358

Page 379: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 8 OXIDATION AND SILICIDATION

# note, that in these cases BrepAccuracy and ProtectedDecimation are not# used. All skeletal faces in the floops mesh and the "good" points# in the bulk are used to construct the new mesh.pdbSetBoolean Grid AssignFromMesh 1

# cleanup small edges/elements only if they are at an interface# (and do the rest in the delaunizer call)pdbSetBoolean Grid CleanSurfaceOnly 0

# call the (global) delaunizer, handing the brep and the displaced internal# points that are not connected to "bad" edges or elements# not specified: call the delaunizer if planA would fail otherwise# 0: don’t call the delaunizer# 0.3: call the delaunizer only if edges have been split# 0.6: call the delaunizer if elements have been removed or edges have been# split # 1: call delaunizer every time step# 2: call Cdt3d interface, instead of the delaunizer# pdbSetDouble Grid Delaunize 0

# call the local cavity remeshing for small edges/volumes that cannot# be removed otherwise and would cause small grid limited time steps# 0: do not call # 1: call delaunizer# 2: call Cdt3d interface with all points edges and faces (segfault in giftwrapping...)# 3: call Cdt3D interface just with brep (does not protect enough edges)pdbSetDouble Grid CavityRegrid 0

# number of extra loops, checking the cavity and adding "good" volumes to the# cavity 0: use cavities as_is # default: 0pdbSetDouble Grid CavityLoops 2

# angle at a cavity where more elements should be added to the cavity# default: 10pdbSetDouble CavityAngle 10

# label axis aligned faces to be protected # number represents "zero" of unit normal to face# negative number means: remove all face protection# Note! this is used only with the "global" delaunizerpdbSetDouble Grid ProtectAxisAligned -1.e-6

# 0: collect the face protection flags after the delaunizer call# keep them with the face as long as it exists# 1: do not keep face protection flags. if needed (protectAxisAligned>=0)# compute new protected faces before entering the delaunizerpdbSetBoolean Grid ClearProtection 0

# safety factor: the edges, the delaunizer is allowed to generate# may be smaller by this factor compared to the shortest edge in the # protected edges/faces/boundary faces pdbSetDouble Grid DelaunaySafetyFactor 1.e-3

359

Page 380: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 8 OXIDATION AND SILICIDATION

# minimum edge length the delaunizer may generate (minimizes the # distance given by DelaunaySafetyFactor)pdbSetDouble Grid DelaunayMinDistance 1.e-8

# relative distance along an edge where the delaunizer is not allowed to# insert pointspdbSetDouble Grid DelaunayRelative 0.05

# relax delaunay condition at material interfaces # (voronoi boxes may extend across material boundaries)# one of constrained conforming boxmethodpdbSetString Grid DelaunayRelaxedBoundaries constrained

# coplanarityDistance for delaunizer (in cm)pdbSetDouble Grid CoplanarityDistance 1.e-9

# coplanarityAngle (in degree)pdbSetDouble Grid CoplanarityAngle 179.

# control the number of loops to clean up small edges/elements# emergency stop for do/undo local operationspdbSetDouble Grid LoopControl 20

# compute mesh velocitiespdbSetBoolean Grid ComputeMeshVelocity 0pdbSetBoolean Grid UseMeshVelocity 0

# select long mesh edges most perpendicular to interfaces # for refinement (and rely on the flipping/delaunizer to clean-up)pdbSetBoolean Grid GridAddPerp 1pdbSetBoolean Oxide Grid GridAddPerp 1pdbSetBoolean TiSilicide Grid GridAddPerp 1pdbSetBoolean Titanium Grid GridAddPerp 1pdbSetBoolean Silicon Grid GridAddPerp 1pdbSetBoolean Nitride Grid GridAddPerp 1pdbSetBoolean PolySilicon Grid GridAddPerp 1pdbSetBoolean Gas Grid GridAddPerp 1

# max length of an edge "along" the interface (1.e-4 = 1um ==> turned off)# if non-positive values are specified, the maximum edge length in the initial# mesh for each material is used# this also applies to non-growing regions (e.g. when bending a region)# 5e-4 --> 5um == turned off pdbSetDouble Grid bound.add.dist 5e-4pdbSetDouble Oxide Grid bound.add.dist 5e-4pdbSetDouble TiSilicide Grid bound.add.dist 5e-4pdbSetDouble Titanium Grid bound.add.dist 5e-4pdbSetDouble Silicon Grid bound.add.dist 5e-4pdbSetDouble Nitride Grid bound.add.dist 5e-4pdbSetDouble Polysilicon Grid bound.add.dist 5e-4pdbSetDouble Gas Grid bound.add.dist 5e-4

360

Page 381: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 8 OXIDATION AND SILICIDATION

# max length of a growing edge of a growing material normal to the interface# (0.02e-4 == 20nm)# oxide and silicide during growth, other mat’s during deposit# gas during etching# refine growing edges to ease removal of bad volumes in neighboring rgnspdbSetDouble Grid perp.add.dist 0.02e-4pdbSetDouble Oxide Grid perp.add.dist 0.02e-4pdbSetDouble TiSilicide Grid perp.add.dist 0.02e-4pdbSetDouble Titanium Grid perp.add.dist 0.02e-4pdbSetDouble Silicon Grid perp.add.dist 0.02e-4pdbSetDouble Nitride Grid perp.add.dist 0.02e-4pdbSetDouble Polysilicon Grid perp.add.dist 0.02e-4pdbSetDouble Gas Grid perp.add.dist 0.02e-4

# Corner.Add: (2D and 3D) length of a growing edge of a growing material # at a corner or ridge # (5e-4 = 5um ==> turned off)pdbSetDouble Grid Corner.Add 5e-4pdbSetDouble Oxide Grid Corner.Add 5e-4pdbSetDouble TiSilicide Grid Corner.Add 5e-4pdbSetDouble Titanium Grid Corner.Add 5e-4pdbSetDouble Silicon Grid Corner.Add 5e-4pdbSetDouble Nitride Grid Corner.Add 5e-4pdbSetDouble Polysilicon Grid Corner.Add 5e-4pdbSetDouble Gas Grid Corner.Add 5e-4

# in 3D angle between normals to faces# used in the detection of ridges and corners in classifying surface# set one value for all materials or specific values pdbSetDouble Grid Corner.Angle 45# pdbSetDouble Silicon Grid Corner.Angle 45# pdbSetDouble Oxide_1 Grid Corner.Angle 45

# some Math parameters to not use ILS # math flow dim=3 col ilu bcgs tolerance=1e-28 max.iter=200 scale

math flow dim=2 pardisomath flow dim=3 ilsmath diffuse dim=3 ils scale# pdbSetDouble Math Flow ILS.tolrel 1e-6# pdbSetDouble Math Flow Matrix.Print 1pdbSetString Math ILS.method gmrespdbSetDouble Math ILS.gmres.restart 60pdbSetDouble Math ILS.ilut.tau 0.001pdbSetDouble Math ILS.verbose 1pdbSetBoolean Math ILS.leftPreconditioner 0

# new settings, recommended by ABK for the stress solver:pdbSetString Math Flow ILS.nonsymmOrdering nonepdbSetString Math Flow ILS.scaling diagright# new settings for the 3D stress solverpdbSetString Math Flow 3D ILS.method stcg3pdbSetString Math Flow 3D ILS.scaling diagsympdbSetString Math Flow 3D ILS.nonsymmOrdering none

361

Page 382: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 8 OXIDATION AND SILICIDATION

# The following parameters are used in 2D only!!!

# Max.Radius: (2D only) (1.5um == turned off)# pdbSetDouble Oxide Grid Max.Radius 1.5e-4

# allow flipping of all edges/faces (floops face swapping)# default for some materials is 0 (e.g. nitride)# 0-no edge flipping# 1-allow to flip edges with 1 node on interface# 2-allow to flip edges of elements with one node on interface # 3-allow to flip all edges# pdbSetDouble Oxide Grid SwapDepth 3

# This parameter is used in 2D only!!# flip if the sum of angles is >180degree # (one may choose 180.1 to avoid flip-flops)# pdbSetDouble Oxide Grid SwapAngle 180

# print statistics of Newton iterations# math newtonStats = 1

LogFile PrintCommandsLogFile "------------------------------------------------------------------------------"

Example: LOCOS# set TS4 mechanics parametersSetTS4MechanicsMode# turn on stress dependent oxidationpdbSetBoolean Oxide Oxidant SDO 1

# create initial structureline y loc=0 spa=2.8 tag=leftline y loc=14.0 spa=2.8 tag=rightline x loc=0 spa=0.5 tag=topline x loc=10 tag=bottomregion Silicon xlo=top xhi=bottom ylo=left yhi=rightinit concentration=1.49e14 field=Boron wafer.orient=100 slice.angle=[CutLine2D 0 0 14.0 0.0]

#set mgoals parameters relevant to a large devicemgoals on min.normal.size=0.01 normal.growth.ratio=2 accuracy=0.0001

#set up refinement boxesrefinebox min= {-1.0 -100.0} max= {-0.01 100.0} xrefine= {0.1} yrefine= {100.0} all addrefinebox min= {-0.01 -100.0} max= {0.05 100.0} xrefine= {0.02} yrefine= {100.0} silicon addrefinebox min= {0.05 -100.0} max= {0.15 100.0} xrefine= {0.05} yrefine= {100.0} silicon addrefinebox min= {0.15 -100.0} max= {1.2 100.0} xrefine= {0.1} yrefine= {100.0} silicon addrefinebox min= {1.2 -100.0} max= {2.0 100.0} xrefine= {0.2} yrefine= {100.0} silicon addrefinebox min= {2.0 -100.0} max= {10.0 100.0} xrefine= {1.0} yrefine= {100.0} silicon add

# create oxide and nitride layersdeposit material = {Oxide} type = anisotropic rate = {1.0} time=0.021deposit material = {Nitride} type = anisotropic rate = {1.0} time=0.165mask name=mask_2_2 segments = {5.2 11.5} negativephoto mask=mask_2_2 thickness=0.975

362

Page 383: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 8 OXIDATION AND SILICIDATION

refinebox min= {-1.0 4.2} max= {1.0 6.2} xrefine= {0.1} yrefine= {0.1} all addrefinebox min= {-1.0 10.5} max= {1.0 12.5} xrefine= {0.1} yrefine= {0.1} all add

etch material = {Nitride} type=anisotropic rate = {0.2} time=1 etch material = {Oxide} type=anisotropic rate = {0.03} time=1 strip Photoresist etch material = {Oxide} type=isotropic rate = {0.0035} time=1 struct tdr=n3_mask# nitride mask is completed

# set up oxide growth params for reasonably fast oxidationpdbSet Diffuse dThickness 0.10pdbSet Diffuse MaxGrowthStep 100.0pdbSet Diffuse IncreaseRatio 10.0pdbSet Oxide Grid perp.add.dist 0.03e-4

#oxidation step 1gas_flow name=gasflow_2_2 pressure=1 flowO2=15temp_ramp name=tempramp_2_2 time=9 temp=1000diffuse temp_ramp=tempramp_2_2 gas_flow=gasflow_2_2struct tdr=n3_loc1

#oxidation step 2gas_flow name=gasflow_2_3 pressure=0.805 flowH2=12 flowO2=7temp_ramp name=tempramp_2_3 time=68 temp=1000 diffuse temp_ramp=tempramp_2_3 gas_flow=gasflow_2_3struct tdr=n3_loc2

#oxidation step 3gas_flow name=gasflow_2_4 pressure=1 flowO2=14.5temp_ramp name=tempramp_2_4 time=55.5 temp=1000 diffuse temp_ramp=tempramp_2_4 gas_flow=gasflow_2_4struct tdr=n3_loc3

#inert annealtemp_ramp name=tempramp_2_5 time=125 temp=1000 ramprate=-0.0333diffuse temp_ramp=tempramp_2_5 struct tdr=n3exit

363

Page 384: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 8 OXIDATION AND SILICIDATION

364

Page 385: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 9 COMPUTING MECHANICAL STRESS

Sentaurus Process

CHAPTER 9 Computing mechanical stress

This chapter discusses the computation of mechanical stress in Sentaurus Process.

OverviewMechanical stress plays an important role in process modeling. It controls the structural integrity of thedevice, the yield from the process depends on stresses, the mobility of charged carriers is changed bystresses, and leakage currents are also a function of the stress in the system.

On a finer scale, stresses can affect dopant diffusion rates by modifying the band gap. They can affectoxidation rates and, therefore, can alter the shapes of thermally grown oxide layers.

In modern process flows, accurate computation of stress is important. However, there is a continuoustrend toward designing process flows that produce the right kinds of stress in the device. Withappropriate stresses, device performance can be enhanced significantly.

Stress computation simulations are performed in four distinct steps:

First, the equations for mechanics are defined. The equations used in Sentaurus Process areequations that define force equilibrium in the quasistatic regime.

Second, the boundary conditions for these equations are defined. For the elliptic equations that arisefrom the equations of force equilibrium, boundary conditions are needed on all boundaries.Sentaurus Process allows Dirichlet or Neumann boundary conditions provided that certainminimum criteria are met. The minimum criterion is to constrain the structure sufficiently so that ithas no rigid body modes.

Third, material properties are defined. This is the part where the relationship between stresses andstrains is defined. Some materials may hold stresses for a given strain without relaxing; these areelastic materials. Others may relax the stresses away; these are viscous or viscoelastic materials.Sentaurus Process provides a viscoelastic constitutive equation for the computation of mechanicalstresses. By setting parameters appropriately, the border cases of a purely viscous and a purelyelastic material can be simulated as well. The viscoelastic model used in Sentaurus Process uses aso-called Maxwell model for the deviatoric part and a purely elastic model for the dilatational part.The viscosity can depend on the local shear stresses, which make the viscosity a locally varyingquantity and can lead to a nonlinear mechanical behavior.

Fourth, the mechanisms that drive the stresses are defined. In Sentaurus Process, this is performedthrough intrinsic stresses, thermal mismatch, oxidation-related lattice mismatch (silicongermanium), and densification. All these processes are additive in the linear elastic regime. In thenonlinear regime, they must be updated from the available stress history.

365

Page 386: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 9 COMPUTING MECHANICAL STRESS

Stress is solved in all materials. However, during an inert diffusion, the stress computation can beswitched off. Parameters describing material behavior, which will be introduced in this chapter, can befound in the parameter database:

<Material> Mechanics

Some examples are Viscosity0, ViscosityW, YoungsMod, and PoissRatio.

In the following sections, the constitutive equations are discussed in detail. These tensor equations canbe split into two parts: deviatoric and dilatational.

The dilatational part, which corresponds to the trace of the tensor, describes the material behaviorin the case of a pure volume change.

The deviatoric part describes an arbitrary deformation but without changing the volume. Forexample, the strain tensor can be decomposed as follows:

(555)

This decomposition will be used in subsequent equations to discuss the constitutive equation for thedilatational and deviatoric parts independently.

Material modelsSentaurus Process implements the viscous, viscoelastic, and elastic models in a general manner. Theviscous and viscoelastic models use shear stress–dependent viscosity. The elastic model also has theanisotropic elasticity where the elastic coefficients are dependent on the crystal orientation.

Purely viscous materialsOxide and nitride, by default, are treated as viscoelastic materials. However, the viscosity is a functionof the temperature (see Eq. 564). With increasing temperature, the viscosity decreases, that is, thematerial becomes increasingly more liquid. When the viscosity reaches a very low value, the first termin Eq. 562 can be neglected:

(556)

Eq. 556 describes the deviatoric part of a purely viscous material. The relaxation time typically gives a good estimate of the behavior of a viscoelastic material. If τ is much greater than theprocess time, the material is in the elastic regime. The material behaves viscoelastically if τ is in therange of the process time. If τ is very small, the material is in the viscous regime.

εjk ε'jk

deviatoric

13--- εll

l∑

dilatational

+=

⎧ ⎨ ⎩

⎧ ⎨ ⎩

σ'jkη T σ, s( )-------------------- 2ε'·jk= σ'jk 2ηε'· jk=⇔

τ η G⁄=

366

Page 387: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 9 COMPUTING MECHANICAL STRESS

Shear stress–dependent viscosity

For viscous and viscoelastic materials, the viscosity may depend on the temperature and the shearstress . The temperature dependence is described by Eq. 564. The dependency on the shear stress isgiven by:

(557)

The shear stress is computed from the local stress distribution based on the second invariant of thestress tensor. The viscosity breakdown value can be determined by:

(558)

where:

(559)

By default, oxide and nitride are treated as viscoelastic materials with shear stress–dependent viscosity.The values for Vcrit0 and VcritW are also set in the parameter database:

<Material> Mechanics

Viscoelastic materialsThe viscoelastic model uses a purely elastic equation for the dilatational part of the stress tensor1:

(560)

where the strain tensor is described by . In addition, the relation to the hydrostatic pressure isshown. The bulk modulus can be computed from the Poisson ratio PoissRatio and Young’s modulusYoungsMod as:

(561)

The deviatoric part of the stress tensor is described by the so-called Maxwell model:

(562)

1. The subscripts of vectors and tensors hold for the Cartesian coordinates x, y, and z.

σs

η σs T,( ) η T( )σs σcrit⁄

σs σcrit⁄( )sinh-----------------------------------⋅=

σsσcrit

σcrit2kBTvcrit

------------=

vcrit T( ) Vcrit0VcritW

kBT-------------------–⎝ ⎠

⎛ ⎞exp⋅=

σkkk∑ 3K εkk

k∑ 3p–= =

εjk pK

K YoungsMod

3 1 2 PoissRatio⋅–( )--------------------------------------------------------=

σ'·jkG

--------σ'jk

η T σ, s( )--------------------+ 2ε'·jk=

367

Page 388: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 9 COMPUTING MECHANICAL STRESS

The shear modulus can be computed from the Poisson ratio and Young’s modulus to give:

(563)

The viscosity η is a function of the shear stress and the temperature T, where:

(564)

The dependency on the shear stress is discussed in Shear stress–dependent viscosity on page 367.Usually, the value of ViscosityW is greater than zero and, therefore, the viscosity η decreases withincreasing temperature.

Purely elastic materialsIf the viscosity in Eq. 562 is chosen high enough, the second term on the left can be neglected and theequation reads:

(565)

This equation describes the deviatoric part of a purely elastic material. By default, silicon andpolycrystalline silicon are treated as purely elastic materials. To achieve this, the viscosity of thesematerials is set to poise.

Anisotropic elastic materialsThe mechanical responses of a crystalline solid vary along various crystal orientations. The stress andstrain relations can be described using anisotropic elasticity:

(566)

where and are the components of the engineering stress and strain, respectively, and is thecomponent of the stiffness matrix. The engineering stress (i=1, …, 6) corresponds to the stress-tensorcomponents σxx, σyy, σzz, σxy, σyz, σxz, and the engineering strain (j=1, …, 6) corresponds to thestrain-tensor components εxx, εyy, εzz, 2εxy, 2εyz, 2εxz.

NOTE The engineering shear strain components differ from the shear strain tensor components by afactor of 2.

For a cubic crystal, the axes of reference are chosen to be parallel to the crystal axes. In a coordinatesystem with axes aligned along the crystal axes, the symmetric stiffness matrix C has the followingnonzero components: C11 = C22=C33, C12 = C23 = C13, and C44 = C55 = C66. All other components are zeros.

G

G YoungsMod

2 1 PoissRatio+( )-------------------------------------------------=

σs

η T( ) Viscosity0ViscosityW

kBT--------------------------------–⎝ ⎠

⎛ ⎞exp⋅=

σ'·jkG

-------- 2ε'·jk= σ'jk 2Gε'jk=⇔

1 1040×

σi Cijεj=

σi εi Cijσi

εj

368

Page 389: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 9 COMPUTING MECHANICAL STRESS

The anisotropic stress and strain relation is completely defined when three independent modulusparameters C11, C12, and C44 are specified. The degree of anisotropy for a given material can be measuredby the departure from unity of the ratio, A = 2 C44 / (C11 – C22), and this anisotropic model reduces tothe isotropic model if the ratio A is unity. When the simulation coordinate axes do not coincide with thecrystal axes, the stiffness matrix C must be multiplied by the appropriate rotation matrix.

By default, the anisotropic elasticity model is switched off. The following pdb command is required toswitch on the model:

pdbSetBoolean Silicon Mechanics Anisotropic 1

The values of these three modulus parameters can be defined using the following pdb commands, whichalso show the default values for the crystalline silicon:

pdbSetDouble Silicon Mechanics C11 16.57E11pdbSetDouble Silicon Mechanics C12 6.39E11pdbSetDouble Silicon Mechanics C44 7.96E11

The unit for these default values is dyne/cm2.

NOTE This model depends on the wafer.orient and slice.angle parameters specified in the initcommand.

TSUPREM-4 modelsThe models implemented in Sentaurus Process are not exactly the same as those in TSUPREM-4.However, many of them are very close, and the behavior of Sentaurus Process mechanics can be madeto resemble TSUPREM-4 closely by resetting the parameter values. This can be performed convenientlyby using:

SetTS4MechanicsMode

Equations: Global equilibrium conditionThe equations for mechanics in Sentaurus Process are the quasistatic equations of force equilibrium. Topose the equations, the following steps are followed.

The strain tensor is related to the symmetric part of the velocity gradient and is given by:

(567)εjk12---

vj∂xk∂

-------vk∂xj∂

-------+⎝ ⎠⎛ ⎞=

369

Page 390: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 9 COMPUTING MECHANICAL STRESS

Strain is then related to stresses through any of the material models defined in Material models onpage 366. For all models, the global equilibrium condition is given by:

(568)

The above equations are solved using the finite element method. The solution is a vector representingthe velocity components at each node. These velocities are used to compute the strain and stresses. Thestresses and the boundary conditions determine the mechanical state of the system.

NOTE The stress and strain are derivatives of the velocity. They are, therefore, computed at oneorder of accuracy lower that the solution variable. This also means that they are discontinuousacross the elements. When visualized, the stress values appear badly converged even if thelinear solver has converged.

In addition, the quasistatic mechanics equations are elliptic in nature and, therefore, are prone to highlevels of shape dependence. This is most frequently seen at gate corners during polysilicon reoxidationsteps or at the corners of the STI trench during liner oxidation. These equations also exhibit a highsensitivity to the mesh modification algorithms at these corners.

NOTE At sharp corners the mechanics equations have a singularity. Therefore, it is impossible todiscretize at a corner correctly.

Boundary conditionsEquations for stress equilibration require boundary conditions to define the system completely. Thedefault boundary conditions are zero velocities in the direction perpendicular to the boundary planes.

Figure 72 Default mechanics boundary conditions in Sentaurus Process axis orientation

Since velocities are set to fixed values along the boundaries, these boundary conditions are referred toas Dirichlet boundary conditions in directions perpendicular to boundary planes.

∂σjk v( )xk∂

-------------------k∑ 0=

Vx=0

Vy=0 Vy=0

370

Page 391: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 9 COMPUTING MECHANICAL STRESS

In Sentaurus Process, you can set other boundary conditions. These boundary conditions are set usingthe pdb commands. If you want to set the ‘right’ plane to be free, use the following commands:

pdbSetBoolean Mechanics BC Right NeumannOn 1pdbSetBoolean Mechanics BC Right Neumann Homogeneous 1

The first line sets the flag for the ‘right’ mechanics boundary to be Neumann, and the second one sets itto be homogeneous, implying zero normal stress. This is shown in Figure 73.

Figure 73 Neumann boundary condition on the ‘right’ boundary plane

In general, the first command line means the following:

pdbSetBoolean Mechanics BC <Right | Left | Front | Back> NeumannOn <0 | 1>

The fourth argument specifies the boundary plane and the sixth argument specifies the type of boundarycondition.

The second command line can be used in four modes, one for Neumann boundaries and three forDirichlet boundaries:

pdbSetBoolean Mechanics BC <Right | Left | Front | Back> Neumann Homogeneous <0 | 1>pdbSetDouble Mechanics BC <Right | Left | Front | Back> Dirichlet Translation <value>pdbSetDouble Mechanics BC <Right | Left | Front | Back> Dirichlet Rotation <value>pdbSetDouble Mechanics BC <Right | Left | Front | Back> Dirichlet AxisLocation <value>

The Neumann boundary condition works only in the homogeneous mode. The Dirichlet boundarycondition setting can be used to apply Translation, Rotation, and AxisLocation values to apply preciseDirichlet values to the boundary condition. Dirichlet boundary conditions are displacements specifiedon boundaries. Displacement is a combination of translation and rotation. In Sentaurus Process, whilespecifying Dirichlet boundary condition, the displacement is computed by adding the Translation valuewith the product of Rotation and distance from AxisLocation. Therefore, AxisLocation is the X-coordinateabout which the boundary face rotates. The Rotation value is in radians. The AxisLocation and Translationshould be specified in centimeters.

Vx=0

Vy=0 sy=0

371

Page 392: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 9 COMPUTING MECHANICAL STRESS

NOTE To ensure the structure is bounded by a perfect rectangle, the displacements computed bythese general boundary conditions are not applied to the structure. However, they evaluate thestresses correctly. This assumption is consistent with the small deformation assumptionwithin each mechanics time step.

Exampleline x loc=-0.02 tag=e spacing=0.005line x loc=0 tag=a spacing=0.005line x loc=0.2 tag=b spacing=0.05

line y loc=0 tag=c spacing=0.05line y loc=2 tag=d spacing=0.05

region silicon xlo=a xhi=b ylo=c yhi=dregion oxide xlo=e xhi=a ylo=c yhi=d

init !DelayFullD

pdbSetDouble Silicon Mechanics WaferAlphaOverride 0pdbSetBoolean Mechanics BC Right NeumannOn 1pdbSetBoolean Mechanics BC Right Neumann Homogeneous 1

pdbSet Oxide Mechanics Viscosity0 1e40pdbSet Oxide Mechanics ViscosityW 0

temp_ramp name=tr1 temperature=600 ramprate=30<K/min> time=10<min>diffuse temp=900 temp_ramp=tr1

struct dfise=rampup

diffuse time=10 temp=900 wet

struct dfise=postox

Stress-causing mechanismsEvery mechanical system needs a set of stress-driving mechanisms to reach a stressed state. The stress-inducing mechanisms in Sentaurus Process are listed.

Stress induced by growth of materialDuring the oxidation process, volume is produced. Consuming a volume element of silicon of the size1 during thermal oxidation produces oxide of the volume 2.25. This process introduces velocities at agrowing interface: a velocity vector pointing into the silicon describes the proceeding of the oxidationfront, and a velocity vector pointing into the oxide accounts for the volume expansion as describedabove. The latter is responsible for the generation of mechanical stresses and, therefore, is used as aboundary condition for the mechanical problem.

372

Page 393: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 9 COMPUTING MECHANICAL STRESS

Stress induced by densificationA typical densification process uses thermal heating to increase the density of a porous material. As thematerial density increases, its volume shrinks and the volume shrinkage generates stresses. Thedensification-induced stress computation can be switched on by using the density.increase parameter inthe diffuse command or the temp_ramp command, such as:

diffuse temperature=1000<C> time=30<min> density.increase = {[<regionName> = value] [<material> = value]}

temp_ramp name=dens time=1 temp=1000 density.increase = { oxide = 0.02 }diffuse temp_ramp = dens

The total amount of density increase can be specified per material or per region for a given diffuse (ortemp_ramp) step as shown above. A proportional amount of density increase is applied during each timestep of the densification process.

The densification operation can be performed for all existing materials, as well as for new materialsdefined using the mater command:

mater add name=TEOS new.like=oxidediffuse time=1 temp=1000 density.increase = { TEOS = 0.03 }

For densification processes involving large amounts of volume shrinkage, the material boundaries andmeshes can be updated using following pdb settings:

pdbSet Grid DoNotMove 0pdbSetDouble TEOS Grid MinimumVelocity 0...

For a complete densification process that has distinguished density changes, multiple diffuse steps canbe used with different density increases for each segment of the process.

Stress caused by thermal mismatchTemperature changes during the process described by the temp_ramp command or the keyword rampratein the diffuse command lead to stress in the structure caused by the different thermal expansioncoefficients of the relevant materials. During inert annealing, the stress computation can be switched offby using the stress.relax flag:

diffuse temperature=1000<C> time=30<min> !stress.relax

NOTE If viscous or viscoelastic materials are present in the structure, the stress distribution maychange even without a change in the temperature due to viscoelastic relaxation.

373

Page 394: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 9 COMPUTING MECHANICAL STRESS

By default, stresses are computed during inert annealing. The thermal expansion coefficient for a certainmaterial can be found in the parameter database as follows:

<material> Mechanics ThExpCoeff

Thermal expansion only affects the dilatational part of the constitutive equation:

(569)

The change in the temperature is described by and is the relative thermalexpansion coefficient of a certain material with respect to the thermal expansion coefficient of thesubstrate.

All the thermal expansion coefficients are computed with respect to the substrate. This reference valueis changed by setting a certain region as substrate and resetting the thermal expansion coefficient. Aregion can be tagged as the substrate in several ways:

Use the substrate keyword when defining regions with the region command before the initcommand.

If a saved structure is being loaded into Sentaurus Process, a region is tagged as the substrate withthe command: region name=<region_name> substrate.

Materials expand differently in different temperature ranges. The linear dependence of the thermalexpansion coefficient on temperature can be specified by:

pdbSetDouble Silicon Mechanics ThExpCoeffRate 4e-9

So the total thermal expansion coefficient at the elevated temperature can be expressed as:

(570)

where the room temperature is set as 300 K.

σkkk∑ 3K εkk

k∑ 3αrelΔT–

⎝ ⎠⎜ ⎟⎛ ⎞

=

ΔT αrel αsubs αmat–=

T

a ThExpCoeff ThExpCoeffRate T RoomTemperature–( )×+=

374

Page 395: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 9 COMPUTING MECHANICAL STRESS

Lattice mismatchThe presence of dopants such as germanium and carbon can change the lattice parameters of crystallinesilicon. Wafers containing silicon germanium (SiGe) or silicon germanium carbon (SiGeC) aremanufactured using heteroepitaxy. The theory and implementation of Sentaurus Process are explainedhere with an example. Figure 74 shows a simple SiGe wafer.

Figure 74 Simple SiGe wafer

The wafer is manufactured in four main regions. The silicon region has the graded buffer layer wherethe Ge concentration increases linearly from zero to the required concentration. The manufacturingprocess of this layer is designed such that all the dislocations are energetically forced to nucleate hereand the wafer is completely relaxed. The relaxed layer that is grown on top of the graded layer has nodislocations and no strains. The lattice-spacing of this layer has changed according to the Ge molefraction. The lattice-spacing of this layer controls the strains obtained in the top strained layer.

The top strained layer is grown depending on the kind of strain required. If this layer is to be in a tensilestate, the Ge concentration here must be less than that of the relaxed layer. In the case of a compressivestate, the Ge concentration must be greater than that of the relaxed layer. This layer has a thermodynamiclimit on its thickness since the strain energy it contains should be less than the dislocation nucleationenergy. The strain energy is directly proportional to the volume that is under the strain. The strain profileof germanium in silicon is given by:

(571)

where x is the Ge mole fraction.

Ge Concentration

Relaxed Layer

Graded Layer

Pure Silicon

Strained Layer

0.01

0.5

0.7

X μm

ε 0.0425x=

375

Page 396: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 9 COMPUTING MECHANICAL STRESS

In the relaxed region, Sentaurus Process modifies the lattice-spacing. This results in no stresses due tothe presence of germanium. In the strained region, the lattice-spacing is fixed by the lattice-spacing inthe relaxed region. Now, using the Ge mole fraction in the strained region, the effective unstrainedlattice-spacing is computed, and the stresses are based on the difference is the effective lattice-spacingand the lattice-spacing of the relaxed region.

For example, assume the strained layer has no Ge. Therefore, the effective lattice-spacing is that ofsilicon given by . The lattice-spacing of the relaxed SiGe part is, for example, . Now, the strainin the strained region is:

(572)

The strain computed using Eq. 572 is applied as a biaxial strain in the and directions.

Using the lattice mismatch model

Users must identify the substrate region in the wafer. This is performed in the region command byincluding the keyword substrate in the appropriate region. If the structure is being loaded, any regionthat has the name ‘substrate’ will be tagged as the substrate. If there is no region named ‘substrate’ inthe loaded structure, use the following command to tag a region as substrate:

region name=<region_name> substrate

Sentaurus Process must know the strain profile of the dopant in silicon. The strain_profile command isused to specify this. The strain is specified as a piecewise linear function of the dopant mole fraction.For Ge in silicon, it is:

strain_profile Silicon species=Germanium strain= {0 0.0425} ratio= {0 1}

Next, the substrate must be given a dopant profile. The substrate_profile command specifies the dopantconcentration as a piecewise linear function of the x-coordinate:

substrate_profile Silicon species=Germaninum concentration={1e10 1e10 2e22 2e22 1e10 1e10}xcoord= {0 0.01 0.011 0.5 0.7 10}

Finally, for these concentrations to take effect and all mechanics computations to occur, theupdate_substrate command is called:

update_substrate top.relaxed.coord=0.4

The top.relaxed.coord specification is necessary in Sentaurus Process since the physical computation ofthe mechanical relaxation process is not performed. In this way, Sentaurus Process is informed as to thelocation of the top of the relaxed region. Generally, this should not be at the top the relaxed layer (seeFigure 74 on page 375) because Ge diffusion during any anneal steps can cause unrealistic stress valuesto appear in this area. The best location for top.relaxed.coord is approximately at the two-thirds pointfrom the top of the relaxed layer. In this case, it is approximately 0.35 μm.

Following this, Sentaurus Process performs the diffusion of the dopant and updates lattice-spacing andstresses based on the diffused Ge profiles. For this to occur, switch on the pdb command:

pdbSetBoolean Silicon Mechanics UpdateStrain 1

Lsi Lsige

ε Lsige Lsi–( ) Lsi( )⁄=

y z

376

Page 397: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 9 COMPUTING MECHANICAL STRESS

Intrinsic stressCertain process steps require deposition of materials with intrinsic stresses. Sentaurus Process can beused to model these process steps. The intrinsic stresses (StressXX, StressYY, StressZZ, StressXY, StressYZ,StressZX) can be prescribed in the deposit command (see Doping in deposited layers on page 408).

Currently, Sentaurus Process cannot be used to perform deposition in 3D. Users can still specify stressesin specific layers in 3D using the mechdata command. The syntax for this command is given in mechdataon page 473.

Stress rebalancing after etching and depositionWhen materials are removed from or added to a given structure, physical stress distributions aregenerally changed with the corresponding geometry and boundary changes. In simulation, a stress-rebalancing step is required to re-establish the stress equilibrium in the structure and to conform thestress distributions to the new boundaries. The stress-rebalancing operation after etching and depositionis performed when the pdb parameter EtchDepoRelax is set as follows:

pdbSetBoolean Mechanics EtchDepoRelax 1

Automated trace of stress history

Thermal residual stress in a given device structure is a function of its fabrication history that consists ofprocess steps at various temperatures and temperature ramps in between. To model stress evolutionaccurately, all temperature ramps should be traced. When the pdb parameter StressHistory is switchedon, for example:

pdbSetBoolean Mechanics StressHistory 1

the temperature gaps between process steps such as diffusion, deposition, and etching is detected andfilled with instant stress, solving for thermal mismatch strains and stresses.

Saving stress and strain componentsBy default, stress-tensor components are saved on both elements and nodes. The elastic portions of thestrain-tensor components are also saved on both elements and nodes by default. The elastic strains arecomputed from stresses using isotropic elasticity by default. The anisotropic elasticity also can be usedfor a given crystalline material when the corresponding pdb parameter Anisotropic is set. The elasticstrain-field computing and saving operation can be omitted by using the following pdb command:

pdbSetBoolean Mechanics saveElasticStrain 0

377

Page 398: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 9 COMPUTING MECHANICAL STRESS

The stress tensor can be decomposed and the resulting dilatational and deviatoric stress components canbe saved on nodes when the following pdb parameter is switched on:

pdbSetBoolean Mechanics decomposeStress 1

Description of output variablesThe mechanics module in Sentaurus Process assumes that stresses and strains are defined on elements.However, not all tools can read or visualize element values. For this reason, Sentaurus Process performsan element-to-node interpolation of stresses as a postprocessing step and writes both forms of stressesto the output.

The element stresses are prefixed by StressEL and the nodal stresses are prefixed by Stress. The tensorcomponents are given by the post-fix (XX, YY, ZZ, XY, YZ, ZX).

In history-dependent materials, it is not possible to create a simple, closed-form relation betweenstresses and strains. It is useful, however, to be able to compute the elastic part. The elastic componentof the strain is an indicator of the stored strain energy in the system. In addition, the elastic componentof the strain is the total strain in elastic materials such as silicon and polysilicon.

Pressure is the negative of the trace of the stress tensor:

(573)

The field LatticeSpacing represents the lattice spacing of the crystal at the location of the node. This iscontrolled by the presence of lattice-altering species such as germanium or carbon in the structure. Inaddition, the strain_profile command must be specified.

In Sentaurus Process, the select command is used to perform Tcl-level and Alagator-level operations.To access the stress components, the select command should be used as follows:

To access the XX, YY, and ZZ components of nodal stress values, the variable reference for the selectcommand are StressKK_x, StressKK_y, and StressKK_z, respectively. To access the XY, YZ, and ZXcomponents, use StressIJ_x, StressIJ_y, and StressIJ_z, respectively.

For element values, the Boolean keyword element must be set to be true. To access the XX, YY, and ZZcomponents of element stress values, the variable reference for the select command are StressELKK_x,StressELKK_y, and StressELKK_z, respectively. To access the XY, YZ, and ZX components, useStressELIJ_x, StressELIJ_y, and StressELIJ_z, respectively.

P 13--- εii

i∑–=

378

Page 399: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 9 COMPUTING MECHANICAL STRESS

Table 23 presents descriptions of the mechanics-related output data.

Table 23 Variable names in Sentaurus Process output files

Variable name Element/Node Description Units

ElasticStrainXX Element XX component of elastic strain Unitless

ElasticStrainXY Element XY component of elastic strain Unitless

ElasticStrainYY Element YY component of elastic strain Unitless

ElasticStrainYZ Element YZ component of elastic strain Unitless

ElasticStrainZX Element ZX component of elastic strain Unitless

ElasticStrainZZ Element ZZ component of elastic strain Unitless

LatticeSpacing Node Lattice spacing cm

Pressure Node Pressure Pa

StressELXX Element XX component of element stress Pa

StressELXY Element XY component of element stress Pa

StressELYY Element YY component of element stress Pa

StressELYZ Element YZ component of element stress Pa

StressELZX Element ZX component of element stress Pa

StressELZZ Element ZZ component of element stress Pa

StressXX Node XX component of node stress Pa

StressXY Node XY component of node stress Pa

StressYY Node YY component of node stress Pa

StressYZ Node YZ component of node stress Pa

StressZX Node ZX component of node stress Pa

StressZZ Node ZZ component of node stress Pa

379

Page 400: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 9 COMPUTING MECHANICAL STRESS

NOTE The stresses and strains in the output file are according to the DF–ISE coordinate system. TheDF–ISE coordinate system is the same as the TDR coordinates. Therefore, it is important tonote the directions of the axes in 2D and 3D.

Figure 75 Axis orientation in 2D (left) and axis orientation in 3D (right)

The axis directions in DF–ISE/TDR coordinates are different in 2D and 3D. Figure 75 shows the axisorientation in 2D and the axes in 3D. Consequently, the values of stress and strain components change.For information about the TDR format, refer to the documentation for Sentaurus Data Explorer.

Table 24 maps the fields from the select command to the fields in the output files of Sentaurus Process.It should be noted that axis directions in Sentaurus Process are the same in 2D and 3D.

The directionality is the same for other tensor fields such as StressEL and ElasticStrain.

Table 24 Variable names in output files

Field name 2D 3D

StressKK_x StressYY StressZZ

StressKK_y StressXX StressYY

StressKK_z StressZZ StressXX

StressIJ_x StressXY StressYZ

StressIJ_y Not applicable StressXY

StressIJ_z Not applicable StressZX

X

X

Y

Y

Sentaurus Process DF–ISE/TDR

Sentaurus Process DF–ISE/TDR

Z

Z

X

X

Y

Y

380

Page 401: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 9 COMPUTING MECHANICAL STRESS

Tracking maximum stressesDuring a typical process flow, the maximum stresses may be reached in a process step, and subsequentlythe stresses may fall. If the material is prone to failure through delamination or nucleation ofdislocations, the failure may occur when the maximum stress is reached. To always track the maximumstresses, set the following parameter:

pdbSetBoolean Mechanics SaveMaxStress 1

The StressMaxEL field is updated when the current stress is greater than the stored stress. This way themaximum is maintained through out the process flow. The maximum element and von Mises stressesare computed and stored.

381

Page 402: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 9 COMPUTING MECHANICAL STRESS

382

Page 403: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 10 MESH GENERATION

Sentaurus Process

CHAPTER 10 Mesh generation

This chapter describes mesh algorithms and meshing parameters available in Sentaurus Process.

OverviewSentaurus Process uses the Mesh and Geometry Operations using the LevelSet method (MGOALS).This geometry and meshing library performs all static meshing operations including remeshing afteretch, deposition, transform, user-requested remeshing, and boundary meshing (currently available in 3Donly). Meshing in MGOALS is performed using a variant of the bisection algorithm. MGOALS takesrefinement criteria from many sources when deciding where to add mesh refinement including:

Fixed refinement boxes

Adaptive refinement boxes

Interface refined refinement boxes

Lines from a previous mesh which are identified (a set of axis aligned points of a minimum number)and replaced as much as possible

All these refinements are user controllable. In addition, MGOALS enforces mesh smoothing to limit thechanges in element size from one element to the next. This smoothing is important for mechanicsaccuracy and convergence behavior.

The MGOALS library creates an interface refined anisotropic mesh. The direction of anisotropy is basedon the topology of the simulation structure. Thus, in the presence of thin axis aligned layers, theMGOALS library works with the more intuitive normal and lateral directions to the interface. Thisallows for maximum accuracy (and nearly isotropic elements) at curved edges or corners. Thedimensions in the normal and lateral directions are set with the parameters:

min.normal.sizenormal.growth.ratiomax.lateral.size

In this version, besides the standard edge-length type refinement boxes, MGOALS also can set interfacerefinement parameters box-wise and can refine on fields. Sentaurus Process uses the field basedrefinement in 1D and 2D to provide adaptive meshing during inert diffusion and to maintain meshdensity during other MGOALS remeshing operations such as etch, deposit, and user-requestedremeshing. In addition to field-based refinement, there is an adaptive meshing capability built intoimplantation in 1D and 2D using MGOALS.

383

Page 404: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 10 MESH GENERATION

MGOALS mesh

Algorithms: Remeshing

After the insertion of a new layer, MGOALS remeshes the layer (and the mesh in materials adjoiningthe new layer). This is the default behavior. MGOALS remeshing is a variant of the bisection meshingalgorithm. The final MGOALS mesh tries to retain a Cartesian appearance. This works perfectly withSentaurus Process since the original mesh created by Sentaurus Process is Cartesian.

There are several advantages. The most important is the ability to handle the entire range of aspect ratiosfor triangular elements. The ratio of the height of the triangle to the base length can be small, while stillmaintaining a high mesh quality (in terms of accurate solution of partial differential equations).

MGOALS uses a variant of the bisection meshing algorithm to create the mesh. It retains the existingmesh in silicon, except for the region very close to the interface. The size of this region can be controlledby the nlayers parameter in the mgoals command. In the remaining silicon region, MGOALS is onlyallowed to refine.

The MGOALS mesh resolves the interfaces with the greatest possible accuracy. This is controlled by theparameters min.normal.size and normal.growth.ratio in the mgoals command. The elements with thesmallest normal dimension (normal with regard to the interface) are created immediately next to theinterface. These elements cannot be greater than min.normal.size. The element normal size is allowed togrow at a rate not greater than the normal.growth.ratio as the distance from the interface increases. Themaximum element size anywhere in the mesh is max.lateral.size.

The regions adjoining any interface containing silicon or polysilicon are refined as previously described.For other interfaces, the min.normal.size criterion is not applied. However, MGOALS applies the sameaccuracy requirements in identifying the interface. The interfaces that need this high refinement arespecified with the command:

refinebox interface.materials= {silicon poly}

Grid refinement control with refineboxes is described in Adaptive parameters of refinebox on page 391.

The MGOALS mesh retains a Cartesian character. Curved and inclined interfaces are resolved with alocally isotropic mesh. Everywhere else, the mesh will be Cartesian.

If MGOALS is required to split edges in silicon, it propagates the bisection of edges along the x-direction or y-direction until it can stop splitting and not violate the maxangle criterion. However, if edge-splitting occurs in a region where the old mesh is exactly Cartesian (and there has been no previous pointperturbation), a stricter refinement criterion can be specified. This is controlled by the parametermax.box.angle in the mgoals command.

NOTE Varying the maxangle criterion is not advisable. If it is reduced, there is no guarantee that themesh will converge.

384

Page 405: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 10 MESH GENERATION

Use the nlayers parameter to set the number of layers in which the mesh may be modified. Within theselayers, MGOALS tries to create the optimal mesh within the constraints of the maximum allowableangle, which is set with the maxangle parameter.

The accuracy parameter in MGOALS is crucial in maintaining the material interfaces. The number is thetolerance allowed by the user for a boundary point to be moved. It is important to know that boundaryerrors can accumulate after several tens of MGOALS steps.

Use the nlayers parameter to set the number of layers in which the mesh may be modified. Within theselayers, MGOALS tries to create the optimal mesh within the constraints of the maximum allowableangle, which is set with the maxangle parameter.

Algorithms: Data interpolation

MGOALS stores a copy of the mesh with all its data before it performs any process step on the mesh.This is the reference mesh used to interpolate data onto the new mesh. Two data interpolation methodsare available in MGOALS:

The linear interpolation scheme (the default)

The conservative interpolation scheme

Conservative interpolation is where the total dose in a control volume is computed. The overlap of thiscontrol volume on the final mesh is computed, and the concentrations are assigned so that the dose islocally conserved. Interpolation of this nature is good for the total dose, but not suitable for peaks in theprofiles. Conservative interpolation smooths peaks and troughs.

Linear interpolation is the default scheme and uses a linear interpolation between the nearest nodes inboth 2D and 3D. It is much faster than conservative interpolation, and preserves the maxima and minimain the dopant and stress profiles.

Interpolation is the final step in the MGOALS etching and deposition module. Following this, the DF–ISE objects corresponding to the new structure are read back into Sentaurus Process for the next processstep.

Nonadaptive refinement with refinement boxesNonadaptive refinement using refinement boxes is a two step process.

First, users define the box and then the boxes are refined when the next remesh happens either with anexplicit refinebox remesh call or during standard geometry modifications such as etch, deposit, clip, ornative layer formation. The refinement boxes remain valid unless the list of refinement boxes is clearedwith the refinebox clear command.

385

Page 406: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 10 MESH GENERATION

Standard boxesThe standard refine box allows you to specify smoothly varying mesh density inside the refinement boxat three locations in both x and y using the xrefine and yrefine parameter lists, respectively. If all threexrefine or yrefine values are specified, then the mesh density varies quadratically in that particulardirection. If two are specified, the variation is linear from top to bottom, and if only one value isspecified, then a constant mesh density is assumed. Figure 76 shows the coordinate system for creatingrefinement boxes in Sentaurus Process.

Figure 76 ABCD is the simulation domain, R and S define the refinement box, refined element dimensions in the x-and y-directions at R will be x0, y0; at S, x1, y1; and at T, the center of the refinement box, xm, ym.

Refinement boxes also can be limited to refine only in one particular material or region using the regionsor materials parameter.

Examples

This is an example of specifying two refinement boxes and calling remesh:

refinebox min= {-0.25 0.4} max= {0.4 0.6} xrefine= {0.1 0.06 0.1} yrefine= {0.1 0.01 0.1} oxiderefinebox add min= {0.6 0.6} max= {0.8 0.8} xrefine= {0.1 0.03 0.1} yrefine= {0.1 0.03 0.1} siliconrefinebox remesh

Refinement near interfacesRefinement near interfaces is handled through the refinebox command and as of release 2006.06interface refinement parameters can be specified in the refinebox command. So it is possible to have alarge global default minimum interface mesh spacing for example and a much smaller localized valueinside a box. The parameters affecting interface refinement in both the mgoals command and in therefinebox command are:

min.normal.size Minimum mesh spacing near the interface.

X

YA B

CD

R

T

S

386

Page 407: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 10 MESH GENERATION

normal.growth.ratio Relative increase in mesh spacing from one element to the next away from theinterface.

max.lateral.size Maximum lateral mesh spacing at the interface.

In addition to these parameters, materials, interface.materials, and interface.mat.pairs are used to turnon refinement at various interfaces. The list of interfaces which are refined on is the union ofinterface.materials (all interfaces touching materials in the list) and interface.mat.pairs (only refine onmaterial pairs found in the list 1st & 2nd, 3rd & 4th, and so on. By default, all interfaces with silicon,polysilicon and oxide are refined on in 2D and in 3D only interfaces with silicon are refined on. To addmore interfaces, just give another refinebox command, to take away interfaces, first do refinebox clearand then start over.

Examples

The interfaces to be refined are defined as follows:

refinebox clear.interface.matsrefinebox interface.materials= {silicon poly}

Using keep.linesBy default, MGOALS retains the nodes in the silicon mesh since it considers this to be the mostimportant region in the entire simulation. MGOALS analyzes the existing mesh determining whichpoints are exactly axis aligned. If there are enough points in a row, they are considered an important lineto be kept. By retaining as many nodes as possible, interpolation errors are minimized and the simulationaccuracy is maximized. This is not available in 3D. This option works well with nonadaptive meshing.

NOTE However, with adaptive meshing, this option can be risky because the adaptation asks forpoints in new areas, but very few points are ever removed. Therefore, you should turn offkeep.lines when using adaptive meshing.

The keep.lines feature is turned on by default in silicon.

Examples

To turn off keep.lines, use:

refinebox !keep.lines

To add materials in which the lines should be kept, use:

refinebox keep.lines name.list = { material1 material2 ... }

387

Page 408: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 10 MESH GENERATION

To keep mesh lines in a box:

refinebox min= {0 0} max= {1 1} material.name name.list= {GaAs} keep.lines

3D Mesh generationIn three spatial dimensions, structures can be meshed from the boundary representation using the initcommand. A boundary can be created using Sentaurus Structure Editor and saved in DF–ISE format (a*.bnd file). Sentaurus Process currently only reads boundary files in DF–ISE format (boundary filescreated in TDR format can be converted to DF–ISE format using the tdx program). All meshingspecifications must be given before the init command.

NOTE Take care to transform the coordinates when creating refinement boxes in 3D. (The propertransform which is different from the 2D transform is DFISE->SProcess::z-> -x, y->y and x->z).

TIP: To aid in the transformation of coordinates from DF–ISE to Sentaurus Process, create a structurein the Sentaurus Process coordinate system with the following command:

math coord.floops

Then save the structure in either DF–ISE or TDR format. Do not use this file for transfer to otherapplications because the coordinate system difference causes problems. When viewing a structure in theSentaurus Process coordinate system, the point coordinates using the probe tool can be used directly, andthe axis orientation key also will reflect the Sentaurus Process axis orientation.

Example:

refinebox min = {0 0 0} max = {0.215 0.05 0.33} xrefine = 0.01 yrefine = 0.005 zrefine = 0.01refinebox min = {0 0 0.28} max = {0.02 0.05 0.33} zrefine = 0.005

init bnd=start_mdr.bnd

struct dfise=out

388

Page 409: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 10 MESH GENERATION

Figure 77 3D MGOALS mesh example out_fps.tdr, created from the above input

Adaptive meshingTailoring mesh to a specific problem with static refinement boxes can be a tedious and time consumingtask. In addition, for some applications, dopant profiles evolve so much during the process that the areaswhere a finer mesh was needed at the beginning are very different from the areas where a finer mesh isneeded at the end. To accurately capture the entire evolution with a static mesh, it is necessary to put afine mesh over large areas of the structure leading to long simulation times and large memory usage.Adaptive meshing was developed in Sentaurus Process to address these issues.

The adaptive meshing feature has two major components:

Adaptive refinement during analytic implant

Field based refinement.

The description of adaptive meshing in implant is covered in more detail Adaptive meshing duringimplant on page 394. The refinement parameters for implant use the same mechanism as for field basedrefinement, so some description of parameter setting for implant is in this section.

The field-based refinement part of adaptive meshing computes a desired edge length based on fieldspresent in the structure and some refinement parameters. When adaptive meshing is turned on, thisdesired edge length field is sent to MGOALS during every remesh step. This happens for all etch,deposit, MGOALS native layer, regrid, and transform operations. In addition, during inert diffusion, ata specified step interval a check of the current mesh is made to determine whether a remesh is requiredand then performed if necessary. Finally, when adaptive meshing is used during implant, field-basedadaptive refinement is applied simultaneously to preserve mesh based on existing fields present beforethe implant (including the implanted species).

389

Page 410: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 10 MESH GENERATION

There are a number of parameters you can set to control adaptive meshing. The following sectionsdescribe how these parameters work and make suggestions for their use.

Adaptive meshing is turned off by default. To turn it on, use:

pdbSet Grid Adaptive 1refinebox !keep.lines ;# Recommended with adaptive meshing

There are several types of adaptive meshing parameters, and they are set in different ways depending ontheir scope. There are parameters that:

Can be set box-wise

Are field specific

Are both box-specific and field-specific

Are global

Both the field-specific and global parameters are set with pdb commands, and the box-specificparameters are set inside the refinebox for the box being created.

NOTE keep.lines should be turned off when using adaptive meshing to avoid creating too manymesh points. This is accomplished with refinebox !keep.lines

Field-specific parametersThe following field-specific parameters as those most often adjusted. The default expression used tocomputed the desired edge length, in direction i is:

(574)

where:

(575)

and F is a field in the structure and and are set with:

pdbSet Grid <Field> Refine.Rel.Error <n>

pdbSet Grid <Field> Refine.Abs.Error <n>

respectively, The quantity <Field> is the name of the field, and <n> is a unitless number forRefine.Rel.Error and for Refine.Abs.Error, the units are the same as the units of F. The default values for

and are set from <Field> = AdaptiveField, except for the standard dopants and point defects whichhave entries in the pdb.

li

lFi1Gi--------=

G F∇rF F αF+( )---------------------------=

rF αF

rF αF

390

Page 411: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 10 MESH GENERATION

The density of mesh is very sensitive to Refine.Rel.Error as it represents the target relative change of thefield F across an edge. For many standard situations, a number on the order of 1.25 give a relativelycoarse mesh and a number of around 0.5 often give a fine mesh. The parameter sets a smooth cutofffor G such that values of F much below result in no refinement.

Adaptive parameters of refinebox Adaptive meshing has been implemented through generalized refinement boxes within MGOALS. Assuch, adaptive refinement and the refinement parameters themselves can be set in a box-wise manor. Thedefault adaptive refinement “box” covers the entire structure and relies on global mgoals parameters andfield based parameters for its default values. If the you specify an adaptive refinement box, then thedefault box is not created.

NOTE For field based refinement, any adaptive refinebox which is manually created overrides thedefault adaptive refinebox. The default adaptive refinebox (which covers the entire structure)can be explicitly created with the command refinebox adaptive.

You can create one or more adaptive refinement boxes with different parameters. The most commonlyused parameters control the size of the box (min, and max), and the minimum and maximum edge lengths(refine.min.edge and refine.max.edge).

The list of fields to refine on defaults to all solution variables which normally includes all dopants andpoints defects in the structure. This list can be modified in two ways:

refinebox refine.fields = { Field1 Field2 ... }

overrides the default. It is instead possible to add fields to the default list using:

refinebox refine.add.fields = { Field1 Field2 ... }

The refinebox command also provides a way to set and inside a box. The field independent defaultvalues can be set with the parameters def.rel.error, and def.abs.error, and field specific values (whichoverride the defaults are specified as:

rel.error = { Field1 = <n> Field2 = <n> ... }abs.error = { Field1 = <n> Field2 = <n> ... }

Examples:

To turn on adaptive meshing, use:

pdbSet Grid Adaptive 1

To apply adaptive meshing only inside a box and set anisotropic edge minimum in the same box, use:

refinebox min = { 0.0 0.0 } max = { 0.01 0.5 } refine.min.edge = { 0.001 0.25 } adaptive

αFαF

αF rF

391

Page 412: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 10 MESH GENERATION

To refine only considering Arsenic and Boron, use:

refinebox refine.fields = {Arsenic Boron} adaptive

To create a default box, and in addition create a refinement box where is modified locally for allspecies and is modified for only Boron, use:

refinebox adaptiverefinebox min= {0.0 0.0} max= {0.01 0.5} def.rel.error= 0.9 abs.error= {Boron = 1.0e14} adaptive

Interval refinement

NOTE In Version Y-2006.06 of Sentaurus Process, interval refinement can only be used with Damage.It cannot be used with any other field.

Interval refinement provides a way to refine the mesh such that field values with a certain interval arewell resolved. Interval refinement produces mesh edges of a specified length wherever the field valuesare within a specified interval. Four parameters are required to define an interval refinement: a minimumand maximum value, and , a target length, , and a target length scaling, .

To preserve the anisotropy of the mesh, interval refinement examines each edge of a refinement cell andcalculates an effective edge length defined by:

(576)

where and are the endpoints of the edge, and is the average gradient of the field in therefinement cell. Edges that are nearly parallel to the contours of the field have effective edge lengths nearzero. Edges that are nearly perpendicular to the contours have effective edge lengths near their actualedge length. Since edges are split only when they are longer than a given target length, edges that areparallel to the field contours are allowed to be longer than those that are perpendicular.

Interval refinement will split any edge whose effective edge length exceeds the effective target length.The effective target length is calculated differently depending on whether or not the field values on theedge overlap the interval specified by and . Let and be the values of field on the endpoints of the edge. If the relation is satisfied for any value of between and thenthe edge overlaps the interval.

For edges that overlap the interval, the effective target length is exactly the target length specified by theuser. That is:

(577)

For edges that do not overlap:

(578)

rFαF

fmin fmax lt s

leff

leff abs r1 r2–( ) f∇⋅( )=

r1 r2 f∇

fmin fmax f1 f2fmax f fmin> > f f1 f2

lteff lt=

lteff lt falog fblog–( )s=

392

Page 413: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 10 MESH GENERATION

where is either or , is either or , and the values of and are chosen tominimize the difference. The formula for outside the interval produces a graded mesh with an edgelength that falls off parabolically with distance from the interval. The default parameter values forinterval refinement are set by the PDB variables shown in Table 26 on page 394.

You also can create interval refinement boxes by specifying refine.type=interval in the refineboxcommand. Use the refinebox command parameters min.value, max.value, target.length, andtarget.length.scaling to set the interval refinement parameters.

Adaptive meshing during diffusionAdaptive meshing during diffusion is turned on by default when adaptive meshing is turned on (in otherwords pdbGet Grid Adaptive returns a 1). At a fixed interval of diffusion steps given by the pdb parameterDiffuse Diffuse.Regrid.Steps, the mesh is checked to see if the refinement criteria are satisfied (withinsome tolerance) and a remesh is performed if necessary.

The refinement criteria check is performed as follows:

1. The desired edge length is computed everywhere in the structure including all refinement boxes bothinterface and standard types.

2. Axis-aligned edges are checked to see if they satisfy these relations:

actual < Refine.Factor * desired (579)

actual > Unrefine.Factor * desired (580)

where Unrefine.Factor and Refine.Factor are direction (axis) dependent parameters of the pdb underGrid, and actual is the “actual” edge length and “desired” is the desired edge length computed accordingto Eq. 574. There are cut off percentage pdb parameters Grid Refine.Percent and Grid Unrefine.Percentwhich limit the percent of edges failing Eq. 579 or Eq. 580, respectively before a remesh is called. Thisentire check procedure is performed every Diffuse Diffuse.Regrid.Steps whether a remesh is called ornot. It is possible to skip the refinement criteria check (which can be time consuming for large meshes)and force a remesh by setting:

pdbSet Grid Refine.Check 0

The refinement criteria checking scheme works well for computing the percent of edges which requirerefinement. However, checking if unrefinement is needed is not as straightforward. There are many

Table 25 PDB variable interval refinement

Parameter PDB variable

minimum value Grid <Field> Refine.Min.Value

maximum value Grid <Field> Refine.Max.Value

target length Grid <Field> Target.Length (um)

target length scaling Grid <Field> Target.Length.Scaling

fa fmin fmin fb f1 f2 fa fblteff

393

Page 414: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 10 MESH GENERATION

reasons that MGOALS splits an edge independent of refinement criteria to satisfy element and meshquality criteria. So, the number of edges which fail Eq. 580 is much larger than the number of edgeswhich would actually be unrefined (in other words, not replaced) if a remesh were to be called. Becauseof this limitation, the default for Unrefine.Percent is 100, which means Sentaurus Process never remeshesbecause there are too many long edges. For some applications reducing this number may be beneficial.

Table 26 is summary of the parameters available for adaptive meshing for diffusion:

Adaptive meshing during implant Adaptive meshing during implant is active whenever adaptive meshing is turned on (in other words,pdbGet Grid Adaptive returns a 1). It also may be enabled or disable for each implant step using theadaptive parameter of the implant command.

Adaptive meshing during implant differs from adaptive meshing for other process steps in one keyrespect: When performing an implant step the implanted concentrations are defined by analyticexpressions instead of by discretized field values. Hence, the final values for the implanted fields are notknown before the remeshing step begins. This makes it impractical to compute a desired edge length atall points in advance. Instead the as-implanted concentrations at each point are computed as the mesh isrefined.

The refinement criteria for implanted dopant fields is evaluated for each mesh edge as follows:

(581)

where and are the concentrations at each end of the mesh edge, and and are the absoluteand relative error parameters for the field under consideration. The absolute and relative errorparameters are same values used in other process steps and are set using the same pdbSet and refineboxcommands described in Field-specific parameters on page 390 and Adaptive parameters of refinebox onpage 391.

By default, refinement on damage is handled differently from refinement on dopants. For the analysisof damage, the gradient is usually uninteresting, but the location of the crystal-amorphous interface is

Table 26 Adaptive meshing parameters

Parameter Comment

Diffuse Diffuse.Regrid.Steps Number of steps between checks/and or remeshes.

Grid Refine.Factor Tolerance factor for marking an edge too long.

Grid Unrefine.Factor Tolerance factor for marking edges too short.

Grid Refine.Percent Allowed percentage of edges too long.

Grid Unrefine.Percent Allowed percentage of edges too short.

Diffuse Diffuse.Regrid.Steps Number of steps between checks/and or remeshes.

c1 c2–aF c1 c2+( ) 2⁄+( )

----------------------------------------------- rF<

c1 c2 aF rF

394

Page 415: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 10 MESH GENERATION

often critical. Hence, refinement should be added to the mesh, not according to the damage gradient, butrather according to whether or not the damage is near the crystal-amorphous threshold. This isaccomplished using an interval refinement (see Interval refinement on page 392). By default theminimum and maximum values of the interval are set to the value of the crystal-amorphous threshold;the target length is 0.002 um, and the target length scaling is 1.0.

As the mesh is constructed, each cell of the refinement tree is evaluated to determine whether or not therefinement criteria are satisfied. The criteria for as-implanted fields is computed for each edge of the cellas just described, the criteria for all other fields are computed in the usual manner described in the othersections of this chapter. If any criteria is not satisfied, the cell is split and the as-implanted concentrationsare computed at the newly introduced points. This process continues until all refinement criteria aresatisfied (or the minimum edge length is reached) for all cells on the refinement tree. The mesh thusconstructed satisfies the refinement criteria for all fields present in the structure, not just the implantedfields.

Tips for adaptive meshingThe following list gives useful suggestions when doing adaptive meshing:

1. When setting box-wise meshing criteria, remember that any global criteria you have specified stillapply inside the box. This means you cannot use box-wise to establish less stringent meshing criteria(such as a larger relative error) inside a box because the more stringent global criteria still apply. Ifyou wish to use different criteria for different parts of the structure, set the global criteria to the leaststringent criteria and use boxes for more stringent criteria.

2. It is normally a good idea to use refinebox !keep.lines when using adaptive meshing. If points andlines from the mesh are preserved and new lines are added, then the number of mesh points couldbecome large.

3. To turn on adaptive meshing and use all the defaults, all that is needed is pdbSet Grid Adaptive 1.The main parameter for adjusting the amount of refinement is pdbSet Grid AdaptiveField

Refine.Rel.Error which defaults to 1.5 which in many cases does not refine enough. Decreasingcauses more refinement. The number of mesh points is sensitive to this value, and it is not generallyrecommended to use a value less than 0.25). Refine.Rel.Error is a unitless parameter that can bethought of as the desired maximum relative change of the field value across an edge. This “global”parameter also can be set box-wise in the refinebox command and field (in other words, dopant) wiseby specifying the field (or dopant) name; for example, pdbSet Grid Boron Refine.Rel.Error 0.75.There also is a lower cutoff parameter Refine.Abs.Error, which is in the sample place in the hierarchyas Refine.Rel.Error and has the same units as the field to which it applies, below which therefinement is not sensitive to changes in the field value.

4. To override the default refinement box used for field based refinement (which covers the wholestructure and applies to all solution variables), you need only create an adaptive refinebox. To addcriteria in addition to the default criteria, for example to add finer criteria under the gate whilepreserving standard parameters elsewhere, you can create your own default refinebox. For example:

refinebox adaptiverefinebox min = {-0.01 -0.01} max = {0.15 0.05} adaptive def.rel.error=0.75

395

Page 416: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 10 MESH GENERATION

5. The default refinement expression computes the desired edge length as a function of the gradient ofthe profile. Therefore, flatter regions of the profile, such as around the peaks are not refined. Theymay be refined via regular (nonadaptive) refinement boxes. Alternatively, the adaptive meshingcriteria may be altered to also apply some refinement at flatter, high concentration parts of a profile.This is achieved, for example with the following parameter settings:

pdbSet Grid Adaptive 1pdbSet Grid Arsenic Refine.Abs.Error 5e14pdbSet Grid Arsenic Refine.Rel.Error 0.15

refinebox name=LimitMinEdge adaptive all add \ refine.min.edge = {0.005 0.01} \ refine.max.edge = {2.0 2.0}

Here adaptive refinement for the dopant arsenic is suppressed for concentrations below 5 x 1014/cm–3 (Refine.Abs.Error) to avoid over-meshing the tails of the profile. The Refine.Rel.Error is set tothe rather low value of 15%, which means that any edge along which the arsenic concentrationvaries more than 15% will be split (if the arsenic concentration is higher than the specified cut-off).This low value ensures that refinement is still adequate around the peak; however, this value alsowould results in unnecessarily small edges around the steep parts of the profile. This over-meshingis prevented by defining an adaptive refinement box that limits the allowed minimum edge lengthusing the refine.min.edge keyword.

6. When using the refinebox command to create a refinement for Damage, you must specifyrefine.type=interval to get an interval refinement. Otherwise, you will create a box that refines onDamage according to the gradient.

396

Page 417: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

Sentaurus Process

CHAPTER 11 Etch, deposit, and transform

This chapter describes the etching, deposition, and other geometry manipulations available in SentaurusProcess through the MGOALS meshing library.

OverviewThe MGOALS library performs geometric etching, deposition, and meshing. Though many geometricalshapes can be conveniently generated using the many etch and deposition types available, no physicalprocesses are simulated.

The types of etching supported are isotropic, anisotropic, directional, polygonal, Fourier,crystallographic, and chemical-mechanical planarization (CMP). Multimaterial and shadowing effectscan be handled using the isotropic or Fourier etching types.

The types of material deposition supported are isotropic, polygonal, and fill. In addition, fields such asstresses, pressure, and dopants can be specified in the deposited layers. With isotropic deposition, apiecewise linear field value can be specified as a function of deposited depth.

In addition, a number of geometrical transformations are available including symmetrical reflections,cutting or clipping, and stretching. The cut and clip operations are only available in 2D, and bothperform mesh cutting: clip requires a box to be specified, and cut assumes a symmetric structure andcuts from the midpoint to the left or right.

Another feature of the etch and deposition capabilities in Sentaurus Process is automated handling stresshistory. For best mechanics results, it is necessary to control the temperature history. This includesthermal ramp up to annealing temperature, back to room temperature, and similarly ramp up and downfor etch, and deposition as well. However, at least the elastic part of mechanics can be handledcompletely automatically by turning on stress history. For more details, see Computing mechanicalstress on page 365 and Automated trace of stress history on page 377.

The etching and deposition operations are performed in MGOALS as follows:

The starting structure is analyzed for the interfaces that will be changed during the operation.

The geometry-changing operations are performed.

The entire structure is remeshed. During remeshing, nodes in the silicon region are retained as muchas possible in their original locations. In most cases, a high percentage of the nodes are retained afterremeshing. This minimizes interpolation errors.

MGOALS has been fully implemented in 1D and 2D only. For 3D simulations, a new approach calledthe “Sentaurus Process–Sentaurus Structure Editor mode” has been developed to provide a stable 3Detch, deposit, and geometry transformations capability. Sentaurus Structure Editor is a 2D and 3D

397

Page 418: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

structure (boundary) editor, which uses the ACIS solid geometry modeling kernel. Structures can becreated with CAD operations and process emulation operations, giving you great flexibility and control.In addition, there is an interactive graphical user interface (GUI) and command journal capabilities forease of use.

With the Sentaurus Process–Sentaurus Structure Editor mode, you run Sentaurus Structure Editor tobuild snapshots of the boundary during a process flow. Afterwards, a composite structure is created thatcontains all intermediate boundaries and a Sentaurus Process input file is created, which specifies thematerial of each region for each snapshot. You can load the composite structure into Sentaurus Process,source the material specification file, and reproduce the proper structure for each snapshot with a simplecommand (see 3D structure creation on page 410).

In this chapter, the section MGOALS etching types and options on page 398 describes etching in 1D and2D in more detail. Similarly, deposition capabilities in 1D and 2D are described in the section MGOALSdeposition types and options on page 406. Geometrical transformations are described in MGOALSgeometry transformations on page 409. For masking, the mask command is used. This command caneither be used directly inside an etch command or used in the photo command–a convenient singlecommand to create a patterned photoresist layer. For more details, see Masks on page 405.

MGOALS etching types and optionsThree main specifications are required for all etch steps:

Etch type

Material to be etched

Amount of material to be removed

In addition, a mask specification can be given for all etch types, except CMP and polygon to limit theareas where material is removed.

The types of etching available are:

type=isotropic Etch rate is uniform in all directions.

type=anisotropic Etch in the vertical direction only.

type=directional Etch in one specific direction only.

type=cmp Perform CMP.

type=polygon Etch according to a user-supplied polygon.

type=fourier Angle dependent etching where etch rate is a cosine expansion of the etchingangle.

type=crystal Angle dependent etching where etch rate is dependent on the crystallographicdirection.

398

Page 419: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

These etch types have been implemented in Sentaurus Process with three algorithms (analytic, fastlevelset, and general time stepping levelset) which are described in more detail in MGOALS boundarymovement algorithms on page 412. These different algorithms require different inputs to perform thestep and are able to take different effects into account. The choice of algorithm is made from parametersspecified in the etch command and from the structure to be etched.

If simple isotropic, anisotropic, directional, CMP etching of one material is requested or for polygonetching, an analytic algorithm is tried first. The analytic algorithm is the fastest, most accurate algorithmwhich is why it is the first choice. However, in some cases the etching front might intersect itself, asituation that the analytic algorithm cannot handle. If this situation is detected, the fast levelset methodis invoked automatically.

NOTE Although these two algorithms are fast and can handle most simple etching tasks, they do nottake into account shadowing/visibility, and they cannot etch more than one material at a time.

The more general time stepping levelset method is chosen if you specify any rate versus angle typeetching (Fourier or crystallographic), or if you choose to etch different materials at different rates. Inaddition, the general time stepping levelset method can handle multiple etching beams and optionally,shadowing. The general time stepping levelset scheme used in Sentaurus Process has the samelimitations as all levelset methods:

Sharp corners in the evolving front are rounded.

Small front movement requires a fine levelset mesh causing large memory usage and longsimulation times.

In general, the accuracy is limited by the size of the levelset mesh.

Besides the etching type, the materials to be etched and the amount of material to etch also must bespecified. The amount of material to be etched can be specified in three ways:

Thickness

Rate and time

With an etch stop

When specifying a thickness, it is assumed a simple operation is expected, so only one material may bespecified. If more than one material is to be etched, then material dependent rates can be specified, andthis automatically invokes the general time stepping levelset method.

The etch rate also can be set by the use of etch beams. Beams are created in the beam command, and usedin the etch command. Beams can be used only with Fourier etch type. Finally, if an etch stop is specified,then upon exposure of the specified material to gas, the etching stops.

399

Page 420: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

TipsSome tips to keep in mind when specifying etching commands:

If the total etch thickness is exactly the same thickness as the layer to be etched, numeric round-offerrors can cause thin pieces of the material to be retained. It is advisable to etch a little more (forexample, 0.1%) than the thickness of the layer.

Etching small thicknesses using a small isotropic.overetch, or etching very large structures cancause MGOALS to allocate a large amount of memory and increase simulation time to solve thelevelset equation. The MGOALS parameter resolution can be increased for simplified boundarymovement mode and dx and dy can be increased in general boundary movement mode to reducememory consumption (and boundary accuracy).

Etching and deposition commands have a number of modes. Not all parameters apply to all modes.See detailed sections below for parameters to be used with each mode.

IsotropicIsotropic etching removes material at the same rate in all directions. It is possible to specify more thanone material to be etched isotropically, in which case the generalized levelset boundary movementmodule is invoked.

When isotropic etching uses the levelset method (either the fast or general method), the final surface isthe solution of a differential equation. Solutions of equations can have noise and other errors such asrounding corners.

NOTE To control errors in fast levelset method, use the resolution parameter in the mgoals command.For the general etch method, use either resolution or dx and dy of the mgoals command.

Single material isotropic etch example follows (Figure 78):

etch silicon thickness = 0.05 type=isotropic

Figure 78 Single material isotropic etch example

400

Page 421: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

Multiple material isotropic etch example follows (Figure 79):

mgoals resolution=0.04 reinitfrequency=5etch material = {Silicon Oxide Poly} rate = {1.0 1.5 1.0} time = 0.05 type=isotropic info=2

Figure 79 Multiple material isotropic etch example

Anisotropic: DirectionalAnisotropic etching is designed primarily to work with masks or masking layers. Anisotropic etchingetches material away in a direction that is purely vertically downwards. It works well with structuressuch as those shown in Figure 80.

Figure 80 Anisotropic etching is stable

If anisotropic etching is performed to etch the shaded region in the structure shown in Figure 81,instabilities may arise. The resulting structure can be very different depending on the numeric round-offerrors.

Figure 81 For this structure, anisotropic etching would not be stable

Anisotropic operations are sensitive to numeric noise in vertical or nearly vertical walls. In structureswith rounded surfaces, such as nitride overlayers, anisotropic etching is used effectively to create nitridespacers.

401

Page 422: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

If the etch command removes the entire layer, care must be taken to over-etch by a small amount toprevent thin regions remaining behind due to numeric round-off.

The directional etching method is similar to the isotropic and anisotropic methods. In this case, thevelocity is assigned to be in the direction of the etching beam. Because the analytic method is used fordirectional etching, visibility is not considered. The etching window is determined from user-definedmasks and from the exposed areas of the etch material (Figure 82).

Figure 82 Anisotropic etching example

Directional etching example (angled wall) follows (Figure 83):

etch material=silicon rate = 0.05 time=1.0 type=directional direction = {1 1}

Figure 83 Directional etching (angled wall)

Directional etch undercutting example (Figure 84) follows:

etch material=silicon rate = 0.05 time=1.0 type=directional direction = {1 -1}

Figure 84 Directional etch undercutting example

402

Page 423: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

Polygon: CMPPolygon etching is a way of constructing a polygon-shaped region without having to identify the etchingrates or the direction of the etch. In MGOALS, the polygon is identified, the elements across theinterface are cut, and the material in the interior of the polygon is renamed. The material specified isreplaced by gas.

CMP is a special case of the polygon etching scheme. The boundary is created by using the coordinatespecified and a large polygon is created internally such that all the material to be removed is within thepolygon.

CMP example (Figure 85) follows:

etch type=cmp coord = 0.05 material=all

Figure 85 CMP example

Polygon etch example (Figure 86) follows:

etch type=polygon material=silicon polygon = {-0.1 0.1 0.1 0.1 0.1 0.6 -0.1 0.6}

Figure 86 Polygon etch example

403

Page 424: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

Fourier etchingIn Fourier etching, the etching rate is a function of the angle between the incident etching beam and thenormal vector of the surface being etched. This allows for fairly directional etching with control of theslope of sidewalls. The coefficients are defined using coeffs (for a single-material etch) or mat_coeffs(for a multimaterial etch), and the etching rate is computed according to:

(582)

where is the angle between the incident beam and the normal to the surface being etched, and is the factor given in the beam command for beam . Any number of coefficients can be given

for each material.

Etching beams

The beam command is used to define the direction and relative strength of etchant beams to be used withFourier etching. The syntax is:

beam name=<beam_name> incidence=<angle> | direction= {<x> <y>} factor=<relative_strength>

The beam (or beams) name is referenced in the etch command with the parameter sources. The angle ofincidence of the beam can be given using the incidence keyword, where an angle of 0 is vertical, or by adirection vector, which is normalized automatically to unit length. The relative strength factor is usedto mix the strength of different beams.

Etchant beams are assumed to be collimated; that is, a slight angular spread of beam direction is notconsidered.

Fourier etching example (Figure 87) follows:

mgoals resolution=0.02 reinitfrequency=25beam name=src1 direction = {1 0 0} factor=1etch material=silicon type=fourier sources = src1 coeffs = {0 0 1.0} time=0.05

Figure 87 Fourier etching example

An

etch rate factori Aj θicosj

j 0=

n

∑i 0=

m

∑=

θi ifactori i Aj

404

Page 425: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

Crystallographic etchingEtching based on rates dependent on crystallographic direction is performed by defining type=crystal,and defining crystal_rate. Details on wafer orientation are available in Defining crystal orientation onpage 40. Crystallographic etching rates given by crystal_rate are given as a list of miller indices and thecorresponding rate. The currently accepted indices are <100>, <110>, and <111>, as in the followingexample:

crystal_rate= {“<100>”=0.8 “<110>”=0.85 “<111>”=0.78}

Interpolation is performed by assuming that a sloped facet is composed of small parallelograms in thethree directions <100>, <110>, and <111> closest to the facet; thus, each of the three directions has acertain share in the facet area. These shares are used as barycentric coordinates for a linear interpolation.

NOTE Be sure to have a space between the double quote (“) and the = sign.

Crystallographic etching example follows (Figure 88):

mgoals resolution=0.02 reinitfrequency=25etch material=silicon type=crystal crystal_rate= {"<100>" =1.0 "<110>" =2.0 "<111>" =0.1} \

time=0.05

Figure 88 Crystallographic etching example

MasksAbstract masking in MGOALS can be created with the mask command and used in the etch command bysetting the etch parameter mask. Alternatively, true masking layers can be introduced using the photocommand described later in this section. Multiple masks can be defined in the same statement. Abstractmasks limit the etch window, and have no thickness. Masks are available as positive (default) where theoperation does not occur inside the specified segments or negative in which the operation does occurwithin the specified segments

NOTE Masks should be specified in a manner that mask segments do not end on the structureboundaries but extend outside the boundaries.

405

Page 426: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

Photoresist mask

MGOALS allows you to set a mask that imitates photolithography. First, set up a named mask, and callthe photo command with the thickness and mask name. With this information, MGOALS sets up aphotoresist layer with the specified thickness with regard to the top of the structure and in accordancewith the specified mask. For default (“positive”) masks, the mask specifies where the photoresist willnot be deposited.

MGOALS deposition types and optionsFor deposition, the only methods available are the analytic mode and the fast levelset mode. As withetch, analytic is the preferred method for performing the deposition, and the levelset method is usedwhen analytic is not possible (because a front collision is detected). With isotropic deposition, it ispossible to define a constant or piecewise linear doping field.

For deposition, the following types are available:

type=isotropic Performs isotropic etching and deposition. It must be used with the rate and timearguments.

type=fill Performs a fill of a specified material with the material command up to thecoordinate specified with the coord argument. This is performed only in thedeposit command.

type=polygon Performs a polygonal deposition or etching. It is used with the polygonargument.

Besides the deposition type, the material to be deposited also must be specified (only one material ispossible). In addition, the thickness (type=isotropic) or top coordinate (type=fill) of the deposited layermust be specified.

IsotropicFor simple conforming deposition, the boundary is offset equal distances in all directions. Only onematerial may be deposited at a time.

406

Page 427: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

Isotropic deposition example (Figure 89) follows:

deposit nitride thickness = 0.05 type=isotropic

Figure 89 Isotropic deposition example

Fill: polygonFill is a special case of the polygon deposition scheme. The region to be filled is identified using thespecified coordinates. A large polygon is created that encloses all the regions where the fill must occur.The gas is then renamed to the specified material.

Fill example follows (Figure 90):

deposit material=nitride type=fill coord= -0.31

Figure 90 Fill example

Polygon deposition is similar to polygon etching. You specify a polygon, and inside the polygon, gas isreplaced by the deposition material.

407

Page 428: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

Polygon deposition example follows (Figure 91):

deposit type=polygon material=nitride polygon = {0.1 0.1 0.1 0.6 -0.31 0.6 -0.31 0.1}

Figure 91 Polygon deposition example

Doping in deposited layersDoping can be specified for fields in the deposited layer in a piecewise linear fashion (only for isotropicdeposition). This feature requires two commands, like the mask specification:

First, the doping profile in the deposited layer is specified.

Then the deposit command is called with the names of the doping profile as a string array:

doping name=dope_boron field=Boron depths= {0 0.1} values= {1e10 1e20}doping name=strainGe field=Germanium depths= {0 0.1} values= {2e22 2e22}deposit material= oxide doping= {dope_boron strainGe} type= isotropic thickness=0.1

This creates boron and germanium datasets in the newly deposited layers and applies piecewise linearprofiles in the newly deposited layer. Depth 0 implies the bottom of the new layer.

A short version of the command can be used for constant doping as follows:

deposit material= oxide type= isotropic thickness=0.1 fields= {Boron Germanium}values= {1e10 2e22}

NOTE The values array, in the form of the command, can be used to specify mixed fields such asconcentrations and stresses; therefore, no units are allowed. All values are assumed to be indefault units.

A special shorthand case for doping within the deposit command is available for known dopants only(previously defined, either in the file FLOOPS.models or the input file of the user) is:

deposit material= {oxide} type= isotropic thickness= 0.1 boron concentration=1e10

408

Page 429: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

MGOALS geometry transformationsStructure transformation in Sentaurus Process is provided by the MGOALS library. The fourtransformation steps that can be performed are reflect, stretch, clip, and cut:

Reflect is performed with respect to the left-reflecting or right-reflecting boundaries. Reflectionresults in the creation of a laterally inverted structure around the plane of reflection and merges themto create a unified mesh with the correct interface, boundary, and bulk data.

Stretch is performed at a user-specified vertical cross section. The mesh is stretched to a user-specified length and the data at the cross section is applied uniformly along the stretched length.

Clip allows you to define a rectangular box and cut away the structure outside of the box.

Cut is meant to be used with reflected structures and allows you to specify a vertical cross sectionand to cut the region to the right or left of the cross section. The cutting plane becomes the newreflecting boundary.

NOTE All commands are options or modes of the transform command.

Transform reflectThe reflect command is used to reflect the structure about the left or right boundary. Reflection createsthe exact reflection of every node and connectivity. The data is carried over the reflected side as well. Ifany meshing or mesh modification operation is performed, the symmetry is lost.

NOTE remesh is disabled in reflect as it may disrupt the symmetry of the reflected structure.

Transform stretchThe stretch command stretches the structure in the right or left direction at a given coordinate location.There may not be a vertical line of element edges at the requested coordinate location. In this case,MGOALS creates such a line and then stretches it. The data at the two ends of the stretched region isexactly the same as that of the unstretched mesh.

Transform cutThe cut command performs a cutting operation at the requested coordinate location. The location definesa vertical line that divides the structure into a left region and a right region. The left or right region canbe selected to be removed. If a vertical line of element edges can be identified by MGOALS, the

409

Page 430: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

operation eliminates the elements in the removed region. This works particularly well if a structure isreflected and needs to be cut to obtain the original (unreflected) structure. If a vertical line of elementedges cannot be identified, then a mesh-cutting operation is performed. By default, MGOALS tries tofind a mesh line near the specified coordinate and removes the whole mesh elements instead of cuttingthe mesh (which could lead to arbitrarily small edges and poor element quality). To disable the searchingfeature and perform the operation exactly where specified, use !mesh.align option of the transformcommand which will invoke a remesh unless !remesh also is specified.

Transform clipThe clip command performs a clipping operation on the mesh. The region to be clipped must be arectangle defined by the upper-left and lower-right corners. The clip operation retains the regionenclosed by the rectangle. By default, MGOALS tries to find a mesh line near the specified coordinateand removes the whole mesh elements instead of cutting the mesh (which could lead to arbitrarily smalledges and poor element quality). To disable the searching feature and perform the operation exactlywhere specified, use !mesh.align option of the transform command which will invoke a remeshunless !remesh also is specified.

3D structure creation

Sentaurus Process–Sentaurus Structure Editor mode

NOTE MGOALS cannot perform etching and deposition in 3D.

Combining the use of Sentaurus Structure Editor and Sentaurus Process creates realistic process flowsimulations in 3D where Sentaurus Structure Editor is used to emulate 3D etching and deposition, andSentaurus Process is used to simulate doping implantation and diffusion. This concept is illustrated inFigure 92 on page 411.

410

Page 431: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

Figure 92 Example of process flow for schematic MOS structure integrating Sentaurus Process and Sentaurus Structure Editor

StrategyThe strategy is to use Sentaurus Structure Editor first to emulate all deposit and etch steps. The devicestructure is saved at all steps where doping implantation and diffusion will be simulated.

Then, Sentaurus Structure Editor is used to create the composite structure. Saved steps are merged,preserving geometry details in each step and creating a ‘paint-by-numbers’ table for Sentaurus Process.Then, this composite structure is meshed using Mesh or Noffset3D. Then Sentaurus Process is used tosimulate implantations and diffusions. Device structures corresponding to the process-step snapshotssaved in the first step are recreated using ‘paint-by-numbers’ material substitutions without having toremesh. This ‘paint-by-numbers’ strategy is illustrated in Figure 93.

Figure 93 Depiction of a ‘paint-by-numbers’ etching strategy

Structure A represents a step in the process simulation with a silicon substrate. After etching, the resultis Structure B. The resulting composite structure is shown with two regions labeled 1 and 2. The ‘paint-by-numbers’ table is shown on the right. To reproduce Structure A, both regions (1 and 2) are set to Si.To reproduce Structure B, region 1 is set to Gas and region 2 is set to Si.

Create entire structureand mesh once

Spacer and gate'invisible'

Spacer 'invisible' No 'invisible' regions

Sentaurus Structure Editor & Mesh

Sentaurus Process

+Gas

Si

Si

1

2

Structure A

Structure B

1 2

Si Si

Gas Si

Structure A Structure B CompositeStructure

411

Page 432: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

The strategy to mesh once and reproduce different device structures by changing materials in differentregions has the following advantages:

Fewer challenges in successfully creating meshes for complex structures

Avoids interpolation of data from step to step

Faster overall simulation times due to only one mesh creation step

Sentaurus Process—Sentaurus Structure Editor flowThe practical steps for using Sentaurus Process with Sentaurus Structure Editor are:

Sentaurus Structure Editor: Follows process flow for deposition and etching, and saves intermediatestructures for implantation and diffusion simulation using (part:save filename.sat).

Sentaurus Structure Editor: Creates composite structure using sdesp scheme extensions, then savesthe ‘paint-by-numbers’ table as a Tcl file to be read by Sentaurus Process:

(sdesp:begin)(sdesp:define-step "step-name1" "filename1.sat")(sdesp:define-step "step-name2" "filename2.sat")(sdesp:define-step "step-name3" "filename3.sat")(sdesp:define-step "step-name4" "filename4.sat")(sdesp:finalize "filename.tcl")

Sentaurus Structure Editor: Saves boundary and meshing command files for Noffset3D or Mesh.

Sentaurus Process: Loads ‘paint-by-numbers’ table with the Tcl command source filename.tcl thatdefines the procedure recreate_step.

Sentaurus Process: Recreates intermediate structures with recreate_step step-name and simulatesdoping implantation and diffusion.

MGOALS boundary movement algorithmsMGOALS uses either an analytic or levelset scheme to perform boundary modification operations. Ingeneral, the analytic scheme is faster, less memory intensive, and more accurate. However, it cannothandle deposition in concave regions or etching convex areas (in other words, when there are boundarycollisions). MGOALS always tries to perform an analytic operation first. If this fails, the fast levelsetscheme is used. The choice of analytic versus fast levelset scheme is not explicitly selectable by the user.There also is a general time stepping levelset algorithm which is used to handle more complex etch typessuch as fourier, crystallographic, and multi-material etching. In addition, the general time steppinglevelset algorithm optionally can handle shadowing effects.

412

Page 433: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

The analytic algorithm is highly accurate, fast, and is a simplified string algorithm. If the boundarymovement results in self-collision of the boundary, MGOALS changes from the analytic algorithm tothe levelset method. This method is similar to that described in [22]:

First, the levelset method identifies the interface or the part of an interface to be moved. Thiscomputation is based on the overlayers, masks, and visibility due to directional constraints specifiedby the user.

Second, evolution of the moving interface is performed using either the fast-marching scheme,which solves the time-independent boundary-value formulation of the Hamilton–Jacobi equation(or Eikonal equation), or the initial-value formulation of the same equation. The fast-marchingscheme gives the solution to the boundary location, at all times, in one step. The nature of theequation is such that it captures and handles collisions. However, the equation cannot identify whenthe collision actually occurred. The initial-value formulation is used for multimaterial, Fourier,crystallographic etching, and/or for handling shadowing effects. Its time-stepping algorithm allowsfor recalculating the front velocity at every time step.

In MGOALS, the fast-marching and levelset equations are solved on a separate Cartesian mesh, whichis independent of the simulation grid. The refinement of the mesh to control the accuracy of the newboundary is controlled by the resolution and accuracy parameters. To represent each new layeraccurately, the Cartesian mesh size is set as:

grid_size = thickness*resolution

This scheme gives a good approximation of the levelset refinement required and makes itcomputationally efficient. For very thick layers, this may need to be reduced to improve the accuracy ofthe levelset method. Reducing resolution for thin layer deposition can make the computation time-consuming and memory intensive.

The newly created boundary is extracted from the Cartesian mesh and inserted into the simulation mesh.The exact replication of the boundary can be expensive and may be erroneous due to the noise in thelevelset simulation. To overcome this, MGOALS allows a certain smoothing to be performed on theedge. This smoothing is controlled by the accuracy parameter.

The insertion of the new boundary into the simulation grid is followed by a simplified meshing step. Thisstep meshes the new region and connects it to existing regions with a very simplified mesh. This meshis unsuitable for process simulation, but if multiple etching and deposition steps are to be performed, thesimulation speed can be improved by omitting the remesh step in all the intermediate stages andperforming it after the sequence of etching and deposition steps is completed.

NOTE Omitting intermediate remeshing steps results in a loss of accuracy in data. The defaultbehavior is to remesh after each etching and deposition step.

413

Page 434: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

MGOALS boundary movement parametersParameters set with the mgoals command are used to specify mesh size and the interface/boundaryfidelity. These parameters are global and are applied throughout the mesh. The interface quality andresolution are controlled by accuracy and resolution.

The accuracy parameter

The accuracy parameter is used to control the noise and features at an interface. A small value of accuracyallows few errors in approximating a curve with piecewise linear segments. As a result, the curve mayneed to be represented by a large number of small segments. On the other hand, a small value of accuracymay interpret numeric noise as surface features and MGOALS may try to reproduce them. You mustselect an appropriate accuracy value.

Figure 94 If the curved surface is to be approximated by piecewise linear segments, the accuracy parameter ensures that

The resolution parameter

The value of the resolution parameter controls the number of elements in the levelset mesh used toperform levelset–based etching and deposition. Since the thickness of the layer to be deposited or etchedis unknown, the value of the levelset parameter is considered to be a fraction of the thickness of the layer.The size of each grid element of the levelset mesh is given by the product of the value of the resolutionparameter and the thickness of the deposited layer. Mesh refinement in MGOALS is controlled by threeparameters in the mgoals command and the user-specified refinebox commands.

NOTE resolution should be used carefully. For example, if an isotropic deposit of thickness 1 nm isperformed with a resolution of 0.1, a levelset grid of size 1 Å will result. On a large structure,this can result in slow performance and huge memory usage.

NOTE For a thick etching or deposition, it may be necessary to reduce resolution. For example, a1 μm deposition with resolution=0.1 means that the levelset grid is 100 nm in size whichcould lead to too large an error in boundary location.

u

u accuracy≤

414

Page 435: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

General time stepping levelset parameters

The general time stepping levelset method has a few additional parameters to control and balanceaccuracy, simulation time, and memory usage. The resolution parameter can be used for the timestepping levelset algorithm in the same way it is used for the fast levelset algorithm. However, it ispossible, instead, to specify the actual mesh spacing to be used with the dx (x mesh spacing) and dy(y mesh spacing) parameters. Reducing the mesh size causes the time stepping method to allocate morememory, take smaller time steps, and increase the solve time for each time step, thereby increasingsimulation time.

NOTE When the general time stepping levelset method takes many time steps, numerical error canaccumulate. This error can be reduced by reinitialization the levelset function. However,reinitialization too often can introduce geometric errors which is why no reinitialization isperformed by default. If reinitfrequency is set to a positive number, then the levelset functionis reinitialized for every reinitfrequency time step. There is a parameter for determining thereinititerations which can be increased to improve the reinitialization accuracy (at a furthercost in simulation time).

415

Page 436: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 11 ETCH, DEPOSIT, AND TRANSFORM

416

Page 437: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 12 EXTRACTING RESULTS

Sentaurus Process

CHAPTER 12 Extracting results

This chapter presents strategies for analyzing simulation results.

OverviewThis chapter covers basic tasks such as obtaining a list of materials currently in the structure, andobtaining 1D dopant profiles from 2D or 3D structures to more complex ones, such as looping throughall materials and extracting Pearson parameters for each material. The following commands performthese tasks: select, slice, layers, interface, interpolate, print.1d, FitPearson, mater, FitPearsonFloor,FitArrhenius, and FitLine.

All these Sentaurus Process commands are built-in procedures designed to work with the tool commandlanguage (Tcl). They allow users to take full advantage of the programmability of the Sentaurus Processinput language and provide a powerful framework for performing complex customized tasks.

These commands return or accept a Tcl list to perform their respective functions. The Tcl list can beviewed and processed by the user, passed to another function, written to a file, or read from a file. Forexample, the slice command returns a Tcl list of x y pairs where the x value gives the depth [μm] andthe y value gives the value chosen with the select command. This list can be viewed with the Tcl putscommand, written to a file with the Tcl open and puts commands, or processed with another commandsuch as fitting a Pearson function to the profile with the FitPearson command.

An understanding of basic Tcl commands and Tcl lists is helpful to utilize fully the flexibility of thesecommands. For convenience, some basic aspects of Tcl are described to enable users to work efficientlywith these commands, and examples of basic results analysis are provided.

Selecting fields for viewing or analysisMost analytic tasks begin with the select command, which is used to select a data field to be viewed oroperated on (see select on page 498). A data field in Sentaurus Process is a quantity that varies over thesimulation domain, such as dopant concentration or electrostatic potential distribution. The value of thedata field is defined with an Alagator expression (see Chapter 7 on page 335) and is set with z parameterof the select command.

The expression can be simply the name of a solution variable (such as Boron, H2O, or Stress_x) or it canbe a complex expression depending on what is required. If the expression is the simple name of anexisting data field, the select command selects this data field.

417

Page 438: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 12 EXTRACTING RESULTS

If it is more complex expression, the select command creates a corresponding data field and then selectsit, for example:

select z= BTotal; # Select the total boron concentration termselect z= "Arsenic+Phosphorus-Boron"; # Create and select a data field using solution variablesselect z= log10(BActive); # Create and select a data field from the active boron concentration

The list of available data fields can be retrieved by using the select list. The name that can appear inthe expression of the z parameter can be either a data field or a term.

A term is defined with the term command and is also an expression containing solution variables, datafields, constants, and so on (see term on page 514). Numerous terms are created automatically in thediffuse command (see diffuse on page 432) and any of these terms can be selected.

When a data field is selected (or created and selected) with the select command, the data field can beviewed or operated on. The following commands can operate on the selected field: slice, layers,interpolate, print.data, print.1d, and plot.1d.

Obtaining 1D data cutsAfter a select command has been issued, it is possible to obtain 1D cuts through the data along one ofthe principal axes using the slice or print.1d command. The slice command returns a list of coordinatedata pairs. To make a cut perpendicular to x, specify the x parameter, similarly for y and z.

The print.1d command returns a list of data-point lists. Each data-point list contains the coordinate, datavalue, and the material name at that coordinate. Again, a cut perpendicular to x is made by specifyingthe x parameter and, similarly, for the y and z cuts.

The plot.1d command can be used to view profiles with a temporary X11 graphics tool.

ExamplesSentaurus Process can run in interactive mode if there is no input file given on the command line. In thiscase, the user is prompted with the sprocess> prompt for commands. If an input file is given, commandsare read from the input file. In interactive mode, the return value of the commands is always displayed.It is possible to set variables to the return value of a command by using the syntax:

set var [command]

In this case, command is executed and a Tcl variable var is created if it does not already exist, and the valueof var is set to the return value of command. In addition, the return value of command is displayed. It is alsopossible to write the return value to a user-defined file. The following examples demonstrate thedifferences and functionality of the slice and print.1d commands:

sprocess> select z= Arsenicsprocess> slice y=0.6{-1.000000e-02 4.804720e+16

418

Page 439: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 12 EXTRACTING RESULTS

-9.340278e-03 5.869015e+16...0.000000e+00 5.969905e+170.000000e+00 7.075867e+177.421875e-04 7.618894e+17...sprocess> print.1d y=0.6{ Distance Value Material }{ -1.00000e-02 4.80472e+16 Oxide }{ -9.34028e-03 5.86902e+16 Oxide }...{ 0.00000e+00 5.96991e+17 Oxide }{ 0.00000e+00 7.07587e+17 Silicon }{ 7.42188e-04 7.61889e+17 Silicon }...

Here, the slice command returns raw coordinate data pairs, whereas print.1d returns a header andcoordinate data–material triplets. In both cases, the coordinates are given in micrometers and theconcentration is in cm–3.

To illustrate how data from these functions can be manipulated with Tcl, suppose a user requires a 1Dprofile of arsenic, which starts with 0.0 as the first coordinate, and requires the arsenic concentration tobe in μm–3.

First, create a Tcl list from the data returned by the slice, and convert data in that list to a new list, such as:

set asList [lindex [slice y=0.6] 0]; # Create a new list from slice command called asListset offset [lindex asList 0] # Grab the offset, i.e. the first coordinatelist modList # Create new Tcl list where modified data will resideforeach { coord data } $asList {

lappend modList [expr $coord-$offset] # Convert coordinate by subtracting the offset# and append to modlist

lappend modList [expr $data*1.0e-12] # Convert data to um^-3 units and append to modlist}

The above example uses the following Tcl commands: lindex retrieves a given element of a list, listcreates a list, lappend appends an element to the end of a list, expr evaluates a math expression, andforeach is used for looping. For example, to write modList to a file called xy.dat:

set fileID [open xy.dat w]; # Use the Tcl open command to open a file for writingforeach { x y } $modList { puts $fileID "$x $y" } # Write modList line by lineclose $fileID

Determining the dose: LayersThe layers command computes the dose of the selected data field along one of the principal axes. Thesyntax to specify the cut is the same as the slice command. As with the other commands, the informationis returned as a list of lists:

sprocess> sel z=Arsenicsprocess> set layerInfo [layers y=0.5]; # For a 2d structure, either x or y must be specified,{ Top Bottom Integral Material}{-2.06000e-01 -6.00000e-03 9.98843e+14 PolySilicon}

419

Page 440: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 12 EXTRACTING RESULTS

{-6.00000e-03 0.00000e+00 3.97970e+09 Oxide}{ 0.00000e+00 1.00000e+00 2.81858e+11 Silicon}

The top and bottom coordinates are in micrometers. To obtain the total integrated dose along y=0.5, use:

sprocess> set total 00# Loop over layerInfo list of lists skipping header list,# and retrieve the 3rd element of each list (first element has 0 index)# which corresponds to the Integral for that layer.sprocess> for { set i 1 } { $i < [llength $layerInfo] } { incr i } {> set total [expr $total + [lindex [lindex $layerInfo $i] 2]]> }sprocess> puts $total9.991288377e+14sprocess>

In addition to the Tcl commands used in the previous section, this example uses llength, which returnsthe size of a given list, and incr, which increases an integer by 1. For more information about the layerscommand, see layers on page 463.

Extracting values and level crossings: InterpolateThe interpolate command has two purposes: to obtain the position at which a profile crosses a particularvalue and to retrieve a value at a particular location in space. Interpolation is used to accomplish bothtasks.

The four main parameters of this command are x, y, z, and val. The command operates on a selected datafield. In 1D, the user must supply either x or val. If x is supplied, Sentaurus Process returns the value atx. If val is supplied, Sentaurus Process returns the location(s) at which the selected profile crosses val.

In 2D, two of four parameters must be given (not z) and, in 3D, three of the four parameters must begiven. For example, in 2D, if x and val are given, the locations along x where val is crossed are returned.If x and y are given, the value at this location is returned. For more information about the interpolatecommand, see interpolate on page 454.

Fitting routines: FitLine, FitArrhenius, FitPearson, and FitPearsonFloor

The following commands provide fitting capabilities in Sentaurus Process:

The FitLine command is used to find the best offset and slope for a given set of data. An example is:

sprocess> foreach temp { 700 800 900 1000 } {> lappend dat $temp> lappend dat [expr 110 + 10*$temp]> }

420

Page 441: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS CHAPTER 12 EXTRACTING RESULTS

sprocess> FitLine $dat; # Get the slope, offset, and correlation factor10.0 110.0 1.0

The FitArrhenius command is used to find the best prefactor and energy for an Arrhenius fit of agiven profile. An example is:

sprocess> list dat; # This is the list to be passed to FitArrheniussprocess> foreach temp { 700 800 900 1000 } {> SetTemp $temp> lappend dat $temp # dat will contain "temp" - "Arrhenius val" pairs> lappend dat [Arrhenius 0.1 1.0]; # Arrhenius takes prefactor and activation energy> }sprocess> FitArrhenius $dat; # Send the list to FitArrhenius0.0999999308634 1.00030363776 -0.999999999866 # Return prefactor, energy and corr factorsprocess>

The FitArrhenius command takes a list of temperature–function pairs. The unit of temperature isdegree Celsius. The return value is a list where the first member is the prefactor, the second memberis the activation energy [eV], and the third member is the correlation factor. Absolute values of thecorrelation factor close to one are desirable.

The FitPearson command is used to extract the best Pearson parameters of a profile.

The FitPearsonFloor command is a modification of FitPearson and is used to set a floor for the datavalue so that only data points with values greater than the given floor are used for the Pearson fit.

An example of using this command is one that contains the command PearsonProfile, which can becalled to create a Pearson–IV, Pearson–V, or Pearson–VI profile depending on the parameters sent.It takes as its arguments the name of the data field to be created and a list of parameters in this order:dose [cm–2], projected range, standard deviation, skewness, and kurtosis. FitPearsonFloor takes theminimum value and a list of x y values, which are to be fit to a Pearson. It returns parameters in thesame order as the list of parameters for PearsonProfile:

sprocess> PearsonProfile Arsenic {1e14 0.0650 0.0228 0.577 3.4390}; # Corresponds to 100keV As implant

sprocess> select z= Arsenicsprocess> FitPearsonFloor 1.0e10 [lindex [slice silicon] 0]9.99999659675e+13 0.0649998507454 0.0227994405041 0.576718866676 3.4368839917sprocess>

ResistivityThe background concentration of the wafer can be defined using the resistivity of the wafer. Users candefine the resistivity of the wafer with the init command, which requires a field name to calculate thebackground concentration. For example:

line x location = 0 tag=topline x location = 10 tag=botregion silicon xlo = top xhi = botinit field=boron silicon resistivity=1.4

will set the boron concentration of the wafer to cm–3 in silicon. 1.08 16×10

421

Page 442: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSCHAPTER 12 EXTRACTING RESULTS

The resistivity is given in cm and the resistivity is calculated by:

(583)

(584)

where is the electron density, is the background concentration, and , and arefitting parameters for the empirical formula.

The fitting parameters can be set using the following commands:

pdbSet <material> <dopant> uMin {<n>}pdbSet <material> <dopant> uMax {<n>}pdbSet <material> <dopant> uNr {<n>}pdbSet <material> <dopant> uAlpha {<n>}

Sheet resistanceThe sheet resistance and p-n junction depth of a semiconductor layer in the vertical direction arecalculated using the command:

SheetResistance <args>

<args> must be the y cross section in 2D, and the y and the z cross sections in 3D. For example, in 3D:

SheetResistance y=0.4 z=-0.1

Sheet resistance can be calculated only after a diffusion statement. The sheet resistance formula is givenby:

(585)

where is mobility of the holes (p) or electrons (n) given in Eq. 583. The active concentration ofdopants is calculated at the last diffusion temperature. The electron, , and hole, , concentrations arecalculated assuming charge neutrality at a temperature of 300 K.

Ω

μ μminμmax μmin–

1 NNr------⎝ ⎠

⎛ ⎞ α+

-----------------------------+=

RHO qNμ( ) 1–=

q N Nr, μmin, μmax α

Rs1

q μnn μpp+( ) xdpni

pni 1+

---------------------------------------------------=

μXn p

422

Page 443: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

Sentaurus Process

APPENDIX A Sentaurus Process commands

This appendix defines the commands used in Sentaurus Process.

The command file statements are presented in the layout that follows. An example is included here tofamiliarize users with the placement of information.

Function: The uses of this command are stated briefly.Syntax: The syntax of the command is presented here, for example:

param1 = <n>[(<unit1>|<unit2>)](param2 = <n>[(<unit3>|<unit4>)] | param3 = <c>)<material>[<field>][param4 = <n>] [param5 = <n>] [param6 = <i>][param7 = <list>] [(param8 | param9)][param10][param11 = <c> & (param12 = <n> | param13 = <n>)]

Description: This section describes the syntax. In the syntax definition, brackets denote optionalparameters, angle brackets denote a specific type of input, and parentheses denotegrouping. The way in which to read this syntax is that param1 is a required parameterthat takes a number (that is, <n>) as its value. The unit <unit1> or <unit2> can bespecified. Do not use a space between the unit and its number. The angle bracketsare included in the specification.In addition to param1, either param2 or param3 are required; param3 takes a string for itsvalue. On the command line, a material must be specified; the names are the same asthe DATEX names. A field can be specified, but is not required. A field is typically asolution but can be a data field such as a calculated quantity or a term. Theparameters param4 and param5 are optional, and param6 takes an integer for its value.Parameter param7 takes a Tcl list as its argument and must be enclosed in braces, andelements are separated with a space. The parameters param8 and param9 are Boolean;either can be specified but not both. The parameter param10 is also a Boolean (if aBoolean is on the command line it denotes ‘true’, if it is preceded by ‘!’, its value is‘false’). The parameters param11, param12, and param13 are optional but, if param11 isspecified, either param12 or param13 must also be specified. Conversely, if eitherparam12 or param13 is specified, param11 must also be specified. The order ofparameters is unimportant.

Options: The options of the command are listed. Examples: This section illustrates the use of the command. The backslash (\) is a line

continuation character in Sentaurus Process, for example:command param1=1.0<unit1> param2=1.0 !param10 param9 \param3= "string for param3" \ param7= { element1 element2 element3 }

See: This section lists cross-references to other relevant commands or documentation.

423

Page 444: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

alias

Arrhenius

beam

Function: Sets and prints aliases.Syntax: alias <c> [<c>]

Description: This interactive mode command is used to view or set aliases. In the case of twoarguments, a new alias is set. If the number of arguments is equal to one, aliases areprinted. If the first argument is -list, a list of allowed aliases is printed. Otherwise,only one alias corresponding to the first argument is printed.

Examples: sprocess alias I InterstitialSets a new alias of Interstitial.

sprocess alias -listPrints the list of allowed aliases.

sprocess alias IntPrints an alias of Int.

Function: Creates an Arrhenius expression.Syntax: Arrhenius <n> <n>

Description: This command allows a simple creation of Arrhenius expressions. The firstargument is the prefactor and the second one is the activation energy [eV].

Examples: Arrhenius 5.0 0.5This creates an Arrhenius expression 5.0*exp(–0.5/kT).

Function: Creates a beam for multiple-beam etching.Syntax: beam name=<c> incidence=<n> | direction= {<x> <y>} factor=<n>

Description: The beam command is used to define the direction and relative strength of etchantbeams. The beam name is referenced in the etch command. The angle of incidence ofthe beam can be given using the incidence keyword, where an angle of 0 is vertical,or by a direction vector, which is automatically normalized to unit length. Therelative strength factor is used to mix the strength of different beams. Etchant beamsare assumed to be collimated, that is, a slight angular spread of beam direction is nottaken into account.

424

Page 445: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

bound

Options:

direction Another way to define the beam incidence angle is by a direction vector defined withdirection. The direction vector given by the user is normalized to unit lengthinternally.

factor If multiple beams are defined, the relative strength of each beam can be definedthrough factor, which is a relative strength factor.

incidence Defines the angle of incidence of the beam. An angle of 0 is vertical. The angle ismeasured in the clockwise direction, meaning a positive angle implies a beam rayentering from the upper left towards the lower right. A negative beam angle impliesa beam ray entering from the upper right towards the lower left.

name Defines the beam name to be referenced using the sources option in the etchcommand.

Examples: beam name=source1 incidence=0 factor=1beam name=source2 incidence=10 factor=0.5beam name=source3 direction= {1 -0.1} factor=0.1This defines a vertical beam called source1 and a beam called source2 at half thestrength of source1 at an angle of 10o (positive angle implies that the beam travelsfrom the upper left to the lower right). A third beam called source3 at one-tenth thestrength of source1 enters from the upper right slightly towards the lower left.

Function: Extracts the boundary of a material and returns a list of coordinates.Syntax: bound <material>

[x=<n>][(<m>|<cm>|<um>|<nm>)][y=<n>][(<m>|<cm>|<um>|<nm>)][z=<n>][(<m>|<cm>|<um>|<nm>)]

Description: This command extracts the boundary of a material and returns the outline as a list ofcoordinates. This can be used to plot the limits of the material or for otherprocessing. The return is a list of lists of coordinates of the boundary. The outer listsare distinct pieces of the material. Each outer list makes up a complete circle aroundthe piece. Each inner list contains coordinate pairs in order around the materialpiece. The coordinate pairs are written in xy-order around the material.

Options:

<material> A material must be specified for this command. See Appendix B on page 519 forinformation about specifying materials.

x, y, z These parameters specify a cutline for the 3D solid, so that a 2D return is provided.They are ignored in one dimension and two dimensions.The default unit is μm.

Examples: bound oxideThis command returns the boundary of the oxide material.

425

Page 446: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

color

contact

Function: Performs color fill of materials or contour values.Syntax: color [<material>] [color=<c>]

[x=<n>][(<m>|<cm>|<um>|<nm>)][y=<n>][(<m>|<cm>|<um>|<nm>)][z=<n>][(<m>|<cm>|<um>|<nm>)]

Description: This routine colors a material layer.Options:

color Specifies the color. It can be any color supported by the X11 hardware and named inthe color database.

<material> If a material is specified, it is completely filled with the selected color. SeeAppendix B on page 519 for information about specifying materials.

x, y, z These parameters specify a cutline for the 3D solid. The default unit is μm.Examples: color oxide col=forestgreen

This command colors the oxide forest green.See: bound on page 425, contour on page 428, plot.2d on page 481

Function: Sets the contact information for device simulation.Syntax: contact [list] [clear] [name=<c>]

[depth=<n>][(<m>|<cm>|<um>|<nm>)] [width=<n>][(<m>|<cm>|<um>|<nm>)] [sidewall]( {box <material> xlo=<n>[(<m>|<cm>|<um>|<nm>)] xhi=<n>[(<m>|<cm>|<um>|<nm>)] [ylo=<n>][(<m>|<cm>|<um>|<nm>)] [yhi=<n>][(<m>|<cm>|<um>|<nm>)] [zlo=<n>][(<m>|<cm>|<um>|<nm>)] [zhi=<n>][(<m>|<cm>|<um>|<nm>)]} |{point

x=<n>[(<m>|<cm>|<um>|<nm>)] [y=<n>][(<m>|<cm>|<um>|<nm>)] [z=<n>][(<m>|<cm>|<um>|<nm>)] [replace]})

Description: This command sets the contact information, which is used to write contacts intoboundary DF–ISE files in the struct command.

426

Page 447: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

Options:

box, point This defines a contact definition type. For box type, a contact consists of boundaryelements of the defined material mesh if those elements are inside the box definedby the user. For point type, a contact contains all the boundary elements of the regioncontaining the point defined by the user.

clear Clears the list of all contacts.list Prints a list of currently defined contacts.<material> This parameter specifies the material for the box type definition. See Appendix B on

page 519 for information about specifying materials.name Name of a contact. If specifying a contact position, name must be given.replace The region material is replaced by gas for the point type definition.sidewall This parameter works with box-type contacts only and specifies whether the contact

will be created on the outer sidewall. If true, vertical walls inside the contact boxwill be considered part of the contact. If false, only outer walls are included in thecontact. The default is false.

x, y, z Defines the point position for the point type definition. The default unit is μm.xlo, xhi, ylo, yhi, zlo, zhi

Defines the box position for the box type definition. By default, minimum andmaximum corresponding coordinates are used. The default unit is μm.

Examples: contact listThis lists all available contacts.

contact name=gate x=-0.05 y=0.0 replace pointThis defines a contact named gate. It will consist of boundary elements of the regioncontaining the point (-0.05,0.0). The region material will be replaced by gas.

contact box xlo=-0.01 ylo=-0.46 xhi=0.1 yhi=-0.16 name=source AluminumThis defines a box-type contact where boundaries of an aluminum region inside thespecified coordinates (but not on the sidewall) will be included.

See: struct on page 508

427

Page 448: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

contourFunction: Plots contours in the selected variable on a 2D plot.Syntax: contour [name=<c>] [value=<n>]

[x=<n>][(<m>|<cm>|<um>|<nm>)] [y=<n>][(<m>|<cm>|<um>|<nm>)] [z=<n>][(<m>|<cm>|<um>|<nm>)] [color=<c>] [print]

Description: Draws a contour in the selected variable or a named data field at the value specified.The value must be specified in the range of the computed variable. For example, ifplotting log boron, the value should be in the range 10 to 20 and not 1e10 to 1e20.This statement assumes a plot.2d has been specified, and the screen is configured forplotting a 2D graphic. If this has not been set, it is likely that the routine will produceuseless results.

Options:

color Line color for the contour. It can be any color supported by X11 hardware andnamed in the color database.

name Name of data field. This allows plots without using the select command. The defaultis Z_Plot_Var.

print This option indicates that the contour values should be printed, not plotted. Theoutput is compatible with xgraph.

value This floating parameter expresses the value at which the contour line should beplotted. If boron has been selected, a value of 1.0e16 would produce a line ofconstant boron concentration at that concentration.

x, y, z These parameters specify the plane on which contouring is performed. In twodimensions, they need not be specified. In three dimensions, two parameters must bespecified to indicate the plane of calculation of the contour. The default unit is μm.

Examples: contour val=1e10This command draws a line at an isoconcentration of .

See: color on page 426, plot.2d on page 481, slice on page 5041010

428

Page 449: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

depositFunction: Deposits new layers.Syntax: deposit

[time=<n>][(<hr>|<min>|<s>)] [<dopant>][region.name=<c>]

[species=<c>] [concentration=<n>][(<m-3>|<cm-3>|<um-3>|<nm-3>)][temperature = <n>][(<C>|<K>)] | {[<material>][isotropic | anisotropic | fill]

[thickness=<n>][(<m>|<cm>|<um>|<nm>)] [coord=<n>][(<m>|<cm>|<um>|<nm>)][remesh] [sde.string=<c>] [steps=<n>]} | {[material=<c>]

[type=isotropic | anisotropic | fill | polygon] [rate=<n>] [coord=<n>][(<m>|<cm>|<um>|<nm>)] [polygon=<numeric list>][remesh]} |{[doping= {name_list}][fields= {string_list} values= {numeric_list}]})

Description: Simulates deposition steps. Sentaurus Process uses the MGOALS library which usesan analytic method for simple operations or the levelset method when the analyticmethod cannot be used. Quick and long-style commands are available in theMGOALS mode.

Options:

coord The x-coordinate to work with the fill type. The default unit is μm.doping Name of the doping profile as previously defined (see doping on page 434).<dopant>, species, concentration

These parameters allow a doped layer to be deposited. See Appendix B on page 519for information about specifying materials. The species parameter is used to specifythe name of the data field to be incorporated. The default unit for concentration iscm–3. The default value for concentration is cm–3.

fields A list of fields to be introduced in the deposited layer. The data values for thesefields are specified with the values command.

material Defines the material to be deposited. Overrides any material (boolean parameter)specification.

1010

429

Page 450: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

polygon This is a Sentaurus Process style list of x- and y-coordinates of the polygon. This isused with type=polygon. The list of coordinates must be in a counterclockwisedirection and they should be non-intersecting. MGOALS connects the first and lastpoints to close the polygon and then deposits the material inside the polygon. Thedefault unit is μm.

rate Deposition rate. The default unit is μm/minute.region.name Name of the region created by the deposit command. The name should not contain

an underscore (‘_’) or a period (‘.’) because these characters have special meaning.remesh This causes the new mesh to be created following the action.species, concentration

These parameters allow a shortcut for doping in which only one dopant of a constantconcentration is wanted (see Appendix B on page 519). The species parameter takesa string and is used to specify the name of the data field to be incorporated (a newuser species can be added this way). In MGOALS mode, instead of specifyingspecies, users can specify a dopant by name (that is, boron, arsenic, phosphorus,indium). The default unit for concentration is cm–3. The default value forconcentration is cm–3.

time Deposition time. It must be specified if the rate parameter is used in the long-stylecommand of the MGOALS mode. The default unit is minute.

temperature Deposition temperature. The default value is that of the system. The default unit isdegree Celsius.

type Specifies the type of deposition action to be performed: type=isotropic is used toperform isotropic deposition, which must be used with the rate and time arguments;type=anisotropic is used to perform deposition in the vertical direction only, whichmust be used with the rate and time arguments; type=fill is used to perform a fill ofa specified material up to the coordinate specified with the coord argument; andtype=polygon is used to perform a polygonal deposition, which is used with thepolygon argument.

values The data values of the fields introduced in the deposited layer by the fieldscommand.

Short command mode options

coord The x-coordinate to work with fill type. The default unit is μm.<dopant>, species, concentration

These parameters allow a doped layer to be deposited. See Appendix B on page 519for information about specifying materials. The species parameter is used to specifythe name of the data field to be incorporated. The default unit for concentration iscm–3. The default for concentration is cm–3.

doping A string array of the doping profile names that have been previously defined withthe doping command.

fields A list of fields to be introduced in the deposited layer. The data values for thesefields are specified with the values command.

1010

1010

430

Page 451: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

isotropic, anisotropic, fill

This parameter specifies the type of deposition: isotropic implies the same rate in alldirections, anisotropic defaults to vertically downward deposition (directionaldeposition cannot be performed with quick commands), and fill is used to fillcompletely all gas regions with the specified material up to the prescribedcoordinate.

<material> This allows the user to specify the material on which the action is to be performed.See Appendix B on page 519 for information about specifying materials.

remesh This causes the new mesh to be created following the action.thickness The thickness of the deposited layers. The default unit is μm.values The data values of the fields introduced in the deposited layer by the fields

command.3D Sentaurus Structure Editor mode options

sde.string A string that overwrites the model settings in the Sentaurus Structure Editor etch anddepo commands. The default setting is:isotropic: sde.string= "\"algorithm\" \"pt\" \"max-chamfer-angle\" 30"

anisotropic: sde.string= "\"algorithm\" \"sweep\""

steps This is used to subdivide an etching or a deposition step into more than one step. Thedefault is 1.

Examples: deposit thickness=0.2 oxide isotropicThis is a quick MGOALS style deposition command; 0.2 μm oxide layer will bedeposited.

deposit rate= {0.2} material= {oxide} type=isotropic time=1This detailed MGOALS style deposition command performs the same action as thepreviously described command.

See: etch on page 435, mask on page 466, mgoals on page 473

431

Page 452: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

diffuseFunction: Simulates thermal annealing, densification, and any material growth process during

annealing – oxidation, silicidation, and epitaxy.Syntax: diffuse

( {temp_ramp = <c>} | {time = <n>[(<hr>|<min>|<s>)] temperature = <n>[(<C>|<K>)] | [ramprate = <n>][(<C/s>|<K/s>|<C/min>|<K/min>)]

[pressure = <n>][(<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>)] [(O2 | H2O | epi | gas_flow=<c>)] [thick=<n>][(<m>|<cm>|<um>|<nm>)] [episteps=<i>] [epi_layers=<i>] [epi_doping = <parameter list>][epi_dopants=<string list>] [epi_conc=<numeric list>]

[epimodel=<i>][density.increase = [<regionName>=<n> | <material> = <n>]])[isolve]

[init = <n>][(<hr>|<min>|<s>)] [maxstep = <n>][(<hr>|<min>|<s>)] [delT=<n>][(<C>|<K>)] [delTox=<n>][(<C>|<K>)] [minT=<n>][(<C>|<K>)] [movie = <c>][stress.relax]

[mgoals.native][kmc]

Description: The diffuse command options set diffusion conditions as well as time-steppingoptions. Diffusion model and parameter setting is performed with the pdbSet

command. kmc mode can also be specified. The basic settings are pdbSet <material>DiffModel <model>, where <model> can be any of Constant, Fermi, Pair, React,ChargedFermi, ChargedPair, or ChargedReact. Temperature ramps are specified by firstcreating a list of ramping steps using the temp_ramp command. Then, the ramp isapplied with the parameter temp_ramp. To specify an oxidizing ambient, there are twomethods: use the shorthand O2, H2O flags, or use the gas_flow command and set theparameter gas_flow to the name set in the gas_flow command. To specify mixed O2and H2O, the gas_flow method must be used. Epitaxy can be simulated if the epiparameter is set. There are two models available for epitaxy: a moving boundaryalgorithm (epimodel=0, the default) and an alternating diffusion and depositionalgorithm (epimodel=1).

Options:

delT Defines the maximum temperature step during a temperature ramp if specified. Thedefault unit is degree Celsius.

432

Page 453: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

delTox Defines the maximum temperature step during a temperature ramp for oxidation/growth if specified. The default unit is degree Celsius.

density.increase

The density increase in percentage. The increase value can be specified per region<regionName=value> or per material <material = value>.

episteps This parameter allows users to set a minimum number of deposition steps. Moresteps may be necessary depending on the mesh. If epimodel=1, the number of meshlayers inside the epitaxial silicon will not be less than episteps. The default valueis 1.

epi_doping This parameter takes a list of parameters where the parameter name is the name ofthe species to be initialized and the value is the initial value. A list of fields of anyname can be initialized with this parameter and, for solution variables, units areaccepted. For example, epi_doping = { boron=1e18<cm-3> GSize=1<nm> myfield=1 }.

epi_dopants This parameter is deprecated in favor of epi_doping. This is a list of the data fields tobe incorporated into the epitaxial layer.

epi_conc This parameter is deprecated in favor of epi_doping. This list gives the correspondingconcentrations for the dopants set in epi_dopants. The default unit is cm–3.

epimodel Two methods described above can be chosen using this parameter. Setting epimodel=0(the default) applies a moving boundary algorithm similar to oxidation, andepimodel=1 uses alternating doped deposition and inert annealing steps.

epi_layers The number of layers of mesh lines required during epitaxial growth. The default is40. It is also possible to set globally a distance between mesh lines using pdbSetSilicon Grid epi.perp.add.dist <n>. If epi.perp.add.dist is set to a positive number,epi_layers is ignored.

isolve Switches off initial solve. The initial solve is needed for models that need to have anequation solved to set the initial conditions. In these cases, it is possible for users toset an initial condition and switch off the default initialization.

init The first time step. The default is 0.1 s, which is sometimes inappropriate for defectsimulations, particularly in cases of damage. The default unit is second.

kmc Instructs the diffuse command to use the kinetic Monte Carlo (KMC) simulationengine.

maxstep The maximum time step. The default unit is minute.minT Minimum annealing temperature. If the diffusion temperature falls below this value,

the diffusion solver is switched off. If it occurs during a ramp, the time-stepping isaltered such that diffusion switches on or off exactly at this temperature. The defaultis 0.0oC.

mgoals.native This allows users to use the MGOALS library to deposit a native oxide layer, whichcan help in the case of complex structures with several triple points. The default istrue.

movie This parameter allows users to specify actions that occur during the anneal step. Forevery time step of the diffusion, the character string value of the movie parameter isexecuted.

433

Page 454: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

doping

O2, H2O,epi, gas_flow

O2 and H2O (and the aliases dryO2 and wet, respectively) are shorthands to set the typeof ambient gas. It should not be specified if gas_flow is set. O2 and H2O specify the twomain types of oxidizing gas. epi specifies epitaxial growth and gas_flow specifies thename of a gas flow created with the gas_flow command. The default ambient is aninert gas. These options are not valid in kmc mode.

pressure The pressure of the ambient gas. The default unit is atmosphere. The default value is1.0 atm.

ramprate The temperature change during anneal. The default unit is oC/s. The default value is0.0 oC/s.

stress.relax This Boolean parameter is used to switch off relaxation of stresses during diffusionwith an inert ambient. The default is true.

temperature Annealing temperature. The default unit is degree Celsius.temp_ramp Name of a temperature ramp created with the temp_ramp command.thick Sets the epitaxial layer thickness to be deposited. The default unit is μm.time Annealing time. The default unit is minute.Examples: diffuse time=30<s> temp=900

A simple low temperature 900oC anneal for 30 s.

diffuse time=90 temperature=1000 H2OAn oxidation step for a thick isolation oxide.

diffuse temp_ramp = spikePerforms a diffusion step using the temperature ramp named spike.

See: gas_flow on page 440, temp_ramp on page 512

Function: Defines a named piecewise linear doping profile that can be used with the depositcommand for MGOALS.

Syntax: doping name=<c> field=<c> values=<numeric list> depth=<numeric list>[function=<c>] [location=vertex | element] [dimension=<number>]

Description: MGOALS applies this profile to the newly deposited layer by either adding to theexisting field or creating a new field at the specified location (vertex or element).

Options:

depth A Sentaurus Process style list of the depths at which the values are applied.dimension Dimension of the field; the default is 1.field Name of the field; it can be the name of the dopant.function The DF–ISE function name for the field.

434

Page 455: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

equation

etch

location Location where the field is to be applied. The options are vertex or element. Thedefault is vertex.

name Name of the profile to be used in the deposit command.values A Sentaurus Process style list of the values of the field.Examples: doping name=init_boron field=Boron values= {1e10 1e20} depth= {0 0.1}

Creates a doping profile definition with the name init_boron and consists of a boronprofile linearly increasing from at the starting surface to at 0.1 μmand beyond in the deposited layer. This doping profile definition can be used with anMGOALS deposit to create the specified profile.

Function: Allows test parsing and resolution of a sample expression.Syntax: equation [eqn=<c>]

Description: This command allows testing of an equation string. It is parsed, broken into pieces,and derivatives are taken and printed. It is useful for debugging problems with theresolver and parsing, as equation strings can be tried before being run.

Options:

eqn The string to be checked.Examples: equation eqn = "exp(Potential*$Vti)"

Parses and resolves the string "exp(Potential*$Vti)".See: solution on page 505

Function: Removes part or all of the covering layers.Syntax: etch

[time = <n>][(<hr>|<min>|<s>) | etchstop= {<mat1> <mat2> ...} [etchstop.overetch= <n>]] [mask = <c>]{[temperature = <n>][(<C>|<K>)]{[<material>]

[isotropic | anisotropic | cmp] [thickness = <n>][(<m>|<cm>|<um>|<nm>)] [coord = <n>][(<m>|<cm>|<um>|<nm>)] [remesh] [isotropic.overetch = <n>]}

1 1010× 1 1020×

435

Page 456: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

Syntax: {[material = <string list>] [type = isotropic | anisotropic | cmp | directional | polygon | fourier | crystal>] [rate = <numeric list>]crystal_rate= {“<100>”=<etch_rate> “<110>”=<etch_rate> “<111>”=<etch_rate>} [direction = <numeric list>][coord = <n>][(<m>|<cm>|<um>|<nm>)]

[etchstop= {<material1> <material2> ...}[polygon = <numeric list>] [remesh] [isotropic.overetch = <n>][sde.string=<c>][steps=<n>]}[coeffs= {<A0> <A1> <A2> ... <An>}][mat_coeffs= {<material1>= {<A0> <A1> <A2> ... <An>}

<material2>= {<A0> <A1> <A2> ... <An>}...<material_n>= {<A0> <A1> <A2> ... <An>} }]

[sources= {<beam1> <beam2> ... <beam_n>}][shadowing]

Description: This command is used to etch the covering materials. The etch can attack any or allmaterials. Sentaurus Process has two main modes to perform etching: (1) MGOALSmode uses either an analytic or a levelset method performed by the MGOALSlibrary (both quick and detailed style commands are available in the MGOALSmode); (2) a general time-stepping levelset mode is available for handling moresophisticated etching capabilities such as multimaterial etching, Fourier etching,multiple beam, and shadowing;

Options:

coord The x-coordinate to work with cmp type. The default unit is μm.direction This is a Sentaurus Process style list of x-, y-, and z-values specifying etching

direction. NOTE All three values must be specified and, in 2D, the z-value is always zero.This must be used with type=directional.

etchstop Materials, instead of time, can be given as etch-stopping criteria. In this case,etching continues until any of the given etchstop materials are exposed. Anadditional overetch is performed, with a time equal to etchstop.overetch (default10%) multiplied by the accumulated time required to expose the first etchstopmaterial.

etchstop.overetch

When materials are given as etch-stopping criteria with the etchstop keyword, anadditional overetch is performed once the first etchstop material is exposed to gas.The time length of this overetch step, controlled by the etchstop.overetch parameter,is the already-performed etching time multiplied by etchstop.overetch. The defaultvalue of etchstop.overetch is 0.1 (10%).

isotropic.overetch

Specifies a required amount of isotropic etch following an anisotropic etch. Thethickness is specified as a fraction of the anisotropic component.

436

Page 457: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

mask The name of the mask to be used for the action.material Defines a Sentaurus Process style list of materials for multimaterial etchings.polygon This is a Sentaurus Process style list of x- and y-coordinates of the polygon. This is

used with type=polygon. The list of coordinates must be in a counterclockwisedirection and they should be non-intersecting. MGOALS connects the first and lastpoints to close the polygon and then etches the material inside the polygon. Thedefault unit is μm.

rate This is a Sentaurus Process style list of etching rates. The default unit is μm/minute.remesh This causes the new mesh to be created following the action.temperature Etching temperature. The default value is the room temperature. The default unit is

degree Celsius.time The etching time. It must be specified if the rate parameter is used in the long-style

command in the MGOALS mode. The default unit is minute. The default value is1.0 minute.

type Specifies the type of etching action to be performed: type=isotropic is used toperform isotropic etching, which must be used with the rate and time arguments;type=anisotropic is used to perform etching in the vertical direction only and must beused with the rate and time arguments; type=directional is used to performanisotropic etching in all other directions and must be used with the direction, rate,and time arguments; type=cmp is used to perform chemical-mechanical planarizationand is used along with the argument coord; type=polygon is used to perform apolygonal etching and is used with the polygon argument; type=fourier is used toperform angle-dependent etching where the rate versus angle functions are definedby a cosine series using the coeffs or mat_coeffs parameters and type=crystalperforms an etching using etching rates dependent on crystallographic directiondefined by the crystal_rate argument.

Short command mode options

coord The x-coordinate to work with cmp type. The default unit is μm.<material> Specifies the material on which the action is to be performed. See Appendix B on

page 519 for information about specifying materials.isotropic, anisotropic, cmp

Specifies the type of etching: isotropic implies the same rate in all directions,anisotropic defaults to vertically downward etching (directional etching cannot beperformed with quick commands), and cmp performs chemical-mechanicalplanarization (CMP) up to the prescribed coordinate.

isotropic.overetch

Specifies a required amount of isotropic etch following an anisotropic etch. Thethickness is specified as a fraction of the anisotropic component.

remesh This causes the new mesh to be created following the action.thickness The thickness of the etched layers. The default unit is μm.General MGOALS etch mode options

coeffs A list of single-material coefficients A0, A1, …, An used in the Fourier etching type.

437

Page 458: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

exit

crystal_rate A list of etching rates defined per crystallographic direction in this format{“<100>”=<etch_rate> “<110>”=<etch_rate> “<111>”=<etch_rate>}.

mat_coeffs A list of multimaterial coefficients A0, A1, …, An used in the Fourier etching typewith a different set of coefficients defined for each material.

shadowing Switches on the inclusion of shadowing effects in the case of Fourier etching. Thevisibility of each surface area to each beam is calculated at every levelset time step.

sources Defines the etching source beams for Fourier etching.Examples: etch time=2.0 rate= {0.1} material= {silicon} type=directional \

direction= {1.0 1.0 0.0} mask=m1This is a detailed MGOALS-style command; a 0.2 μm silicon layer will be etchedanisotropically in the direction indicated by the parameter direction; and a maskcalled m1 is used during etching.

beam name=source1 factor=1.0 incidence=-30etch material= {silicon} shadowing sources= {source1} type=fouriercoeffs= {0.1 0 0 1} time=0.1This etch command etches silicon for 0.1 minutes at a rate of 1 μm per minute, usingsource1 as the etching beam, including shadowing effects, and with a Fourierresponse to the etchant defined by A0 = 0.1 and A3 = 1.

beam name=source_beam factor=1.0 incidence=-30etch material= {Silicon Nitride Oxide PolySi} sources= {source_beam} mat_coeffs= { Silicon= {0 0.5} Nitride= {0 1} Oxide= {0 0.75} PolySilicon= {0.5} } type=fourier time=0.2This etch command is a multimaterial Fourier etching for 0.2 minutes. The Fourier Acoefficients for each material are given separately within the mat_coeffs option.

See: deposit on page 429, mask on page 466, mgoals on page 473

Function: Terminates the execution of the program.Syntax: exit

Description: The exit statement terminates the execution of the program. It can be used in theinteractive mode and in input files.

Examples: exitThis interactive mode command terminates Sentaurus Process.

See: fbreak, fcontinue

438

Page 459: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

fbreak

fcontinue

fexec

Function: Enters an interactive mode.Syntax: fbreak

Description: This command interrupts the execution of an input file and starts an interactivemode.

Examples: fbreakThis command inside the input file starts an interactive mode.

See: exit, fcontinue

Function: Resumes execution of input files.Syntax: fcontinue

Description: This interactive mode command is used to resume the program execution in thebatch input mode.

Examples: fcontinueThis command resumes the execution of an input file.

See: exit on page 438, fbreak on page 439

Function: Executes system commands.Syntax: fexec

Description: This command is used to execute system calls through the Tcl command exec (withexactly the same syntax). Using fexec, the system calls are not executed duringsyntax-checking as they would be if the plain exec command were used.

Options:

fexec ls This command lists the contents of the current directory.See: Tcl documentation for description of exec syntax.

439

Page 460: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

gas_flowFunction: Specifies a gas mixture for use with the diffuse or temp_ramp command.Syntax: gas_flow

(list|clear|name = <c>) [pressure = <n>][(<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>)] [pH2O = <n>][(<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>)] [pO2 = <n>][(<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>)] [pH2 = <n>][(<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>)] [pHCl = <n>][(<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>)] [pN2 = <n>][(<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>)] [flowH2O = <n>][<l/min>] [flowO2 = <n>][<l/min>] [flowH2 = <n>][<l/min>] [flowHCl = <n>][<l/min>] [flowN2 = <n>][<l/min>][flows = {[<ambient1> = <n>][<l/min>] [<ambient2> = <n>][<l/min>] ...}][partial_pressure = { [<ambient1> = <n>] [(<atm>|<GPa>|<MPa>|<KPa>|<Pa> |<dyn/cm2>)] [<ambient2> = <n>] [(<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>)] ...}][(O2 | H2O | N2)]

Description: This command is used to specify a gas mixture for thermal oxidation or user-definedgas material reactions and can be set in the diffuse command or temp_ramp command.Specification in a multiple temp_ramp command allows changing the gas flow duringa temperature ramp. If gas flows are specified by flow<X> (see below) astoichiometric conversion between the contributing gas types is assumed. Zero is thedefault value for all the parameters excluding pressure.

Options:

clear This clears the global list of gas mixtures.flows List of gas flows in the reaction chamber. A stoichiometric conversion between the

gas types is assumed, for example, O2 + 2H2 -> 2H2O. The default unit is l/minute.flows can only be specified for ambient-type reactions defined using the reactioncommand (see reaction on page 493).

flowH2O, flowO2, flowH2, flowHCl, flowN2

Gas flows in the reaction chamber. A stoichiometric conversion between the gastypes is assumed, for example, O2+2H2->2H2O. The default unit is l/minute.

list This Boolean parameter generates a list of gas mixtures. It returns a Tcl list and canbe operated on as such. The default action for commands is to print the return, so ifno handling is required, this will print a list of names of defined gas mixtures. If aname is specified, then that gas mixture only is listed with details.

name The parameter name is used to identify the gas mixture description and to specify itin a diffuse or temp_ramp command.

O2, H2O, N2 The type of ambient gas for this segment of the profile. O2 and H2O specify the twomain types of oxidizing gas. N2 can be added to reduce the partial pressure of O2 orH2O. The default ambient is an inert gas.

440

Page 461: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

graphics

partial_pressure

List of the partial pressure of a gas species. These partial pressures are assumed tocontribute to the oxidation or user-defined reaction processes. No reaction betweenthe species is assumed. The default unit is atmosphere. partial_pressure can only bespecified for ambient-type reactions defined using the reaction command (seereaction on page 493).

pressure The pressure of the ambient gas. The default unit is atmosphere. The default value is1.0 atm.

pH2O, pO2, pH2, pHCl, pN2

Specifies the partial pressure of a gas species. These partial pressures are assumed tocontribute to the oxidation process. No reaction between the species is assumed. Thedefault unit is atmosphere.

Examples: gas_flow name=myflow pressure=0.8 flowO2=3.1 flowH2O=1.2 flowH2=0.8This defines the gas mixture named myflow.

See: diffuse on page 432, temp_ramp on page 512

Function: Updates or initiates Sentaurus Process graphics specified by the command option.Syntax: graphics

[on|off][cmd = <command>][update][connect][host = <c>][display = <c>][configure = <command>]

Description: This statement allows users to control automatic graphics updating and to specifythe Sentaurus Process command that will be called automatically after certainprocess steps. The default display uses an interface to Tecplot SV. Certain networkconfigurations can prevent this interface from operating correctly. (If you experienceproblems, contact the Synopsys Technical Support Center.) This command alsoallows use of the old X-windows-based graphics display. When using this display, aset of X-resources can be used by issuing the X command:xrdb -merge ${STROOT}/tcad/${STRELEASE}/lib/floops/XFloops

Options:

cmd Specifies the update command; the default value is plot.tec grd data.configure Runs a plot.tec configuration command. Any valid plot.tec option can be specified.connect Enables or disables connection to an already running Tecplot SV process. This

option must be set prior to the graphics on command.display Specifies the display for tecplot_sv; the default is the value of the DISPLAY

environment variable.

441

Page 462: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

grid

host Specifies the host on which tecplot_sv is to run; the default behavior is explained inTecplot SV, Launching or connecting to Tecplot SV from Sentaurus Process onpage 13.

on Enables automatic updating of graphics using the command given by the cmd option.off Disables automatic updating of graphics.update Runs the update command.Examples: graphics configure= "xyshow=Boron* Stress*" ;

# Specify datasets to displaygraphics on ; # Turn graphics on and use the tecplot_sv interfacegraphics on cmd=plot.2d ; # use the old 2d graphics display

Function: Performs grid operations and computes the quality.Syntax: grid

[err][delete] [remesh] [delaunize][cleanup][smooth][rename]

[mingrid = <n>][(<m>|<cm>|<um>|<nm>)][<material>][(2D|3D|FullD)][quality][set.volumes][(obtuse | min.angle | max.angle | reb | joint | nodes | dimension)]

Description: This command allows several different algorithms that either modify the existingmesh or measure and report the quality of the existing mesh: perform a regrid on thecurrent mesh, request grid smoothing, call the 3D delaunizer to construct a Delaunaymesh from the cloud of internal points and the boundary of the existing mesh, callthe local mesh cleanup operations that are used during 3D oxidation to remove ‘bad’elements, or they can compute and report various measures of the grid quality.

Options:

Regridding and smoothing options

2D, 3D, FullD Extrudes grid to higher dimension. It is necessary that line commands be issuedbefore extruding to a higher dimension (see the line command for details). For 2D,at least two y-lines must have been specified. For 3D, two y-lines, and two z-linesmust have been specified. FullD extrudes to highest possible dimension.

cleanup The local mesh cleanup operations are performed on the static mesh structure thatare usually applied during 3D oxidation simulation. An attempt is made to locallyremove poor quality mesh elements (short edges, small volumes, and poor shape).This can be used, for example, after an init command loading a file.

442

Page 463: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

delaunize If this option is selected, the 3D delaunizer is called. ‘Bad’ points inside of theregions are detected. All ‘good’ points, together with the interface faces, are handedto the delaunizer that constructs a new mesh.

<material> This indicates the material type of regions to be regridded or smoothed. SeeAppendix B on page 519 for information about specifying materials.

mingrid The minimum allowed grid spacing. The default unit is μm.remesh If this option is selected, Sentaurus Process regrids regions using the MGOALS

library.rename Renames all the regions of the structure according to the material they contain and

the smallest y-coordinate point of the region, that is, from the bottom of the structureupward. Multiple regions of the same material with the smallest y-coordinate withinthe given coordinate interval will increase the associated index towards the positivex-axis, from left to right.

smooth If this option is selected, the grid is smoothed (that is, the density of points isequalized). For anisotropic meshes, this can have adverse effects but can bebeneficial for isotropic unstructured meshes. If a material is specified, only thosemeshes that match the material are smoothed. No interpolation is performed, so caremust be exercised or existing data will be distorted.

Reporting options

obtuse, min.angle, max.angle, reb, joint, nodes, dimension

This indicates that the code should return one of six indicated quality measures as aTcl variable. In order, these refer to the percent of obtuse elements, the minimuminternal element angle, the maximum internal angle, the average element quality,one over the average of one over the element quality, and the number of nodes. Thesimulation dimensionality can be returned as well. The unit of the angles reported isdegree. If none of these are chosen, the code reports all the values.

quality This parameter selects the grid quality reporting option. This will compute thepercentage of obtuse elements, the minimum internal element angle, the maximuminternal element angle, and a report of the average, worst, and best element qualitymeasures using the quality measure proposed by R. Bank of UCSD (4.0 * sqrt(3.0) *area/square of (sum of side lengths)). The unit of the angles reported is degree.

set.volumes Sets element volumes as element values over the mesh. This field is notautomatically updated.

Examples: grid quality obtuseThis command computes the current grid quality and reports the percentage ofobtuse elements.

grid silicon regrid err=BoronThis command regrids the silicon mesh. The standard error estimator is applied tothe boron field.

See: line on page 463

443

Page 464: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

help

implant

Function: Prints a list of all the commands available in Sentaurus Process.Syntax: help

Description: This command is used to print a list of all Sentaurus Process commands. It can beused in the interactive mode and in input files.

Function: Specifies implant model parameters and implants an ion species into a wafer.Syntax: implant

{[tables = Default | Dios | Tasch | AdvCal | Taurus]} |

{[species = <c>[tables = Default | Dios | Tasch | AdvCal | Taurus]} |

{[<material>] [species = <c>] [dataset = <c>] [imp.table = <c>] [dam.table = <c>] [(gaussian | pearson | pearson.s | dualpearson | point.response)] [damage][file = <c>] [y.position = <n>] [z.position = <n>]

[rp = <n>][(<m>|<cm>|<um>|<nm>)] [rp2 = <n>][(<m>|<cm>|<um>|<nm>)] [stdev = <n>][(<m>|<cm>|<um>|<nm>)] [stdev2 = <n>][(<m>|<cm>|<um>|<nm>)] [gamma = <n>] [gamma2 = <n>] [beta = <n>] [beta2 = <n>][lexp = <n>] [lexp2 = <n>][lat.stdev = <n>][(<m>|<cm>|<um>|<nm>)]

[lat.stdev2 = <n>][(<m>|<cm>|<um>|<nm>)][lat.scale = <n>][(<m>|<cm>|<um>|<nm>)][lat.scale2 = <n>][(<m>|<cm>|<um>|<nm>)]

[ratio = <n>] [eff.caplayer.thick = <n>][angle.dependent] [depth.dependent]

[min.conc = <n>] [(<m-3>|<cm-3>|<um-3>|<nm-3>)]}[eff.channeling.suppress]

444

Page 465: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

Syntax: {[<species>] [energy = <n>] [(<eV>|<keV>|<MeV>)] [dose = <n>][<cm-2>] [tilt = <n>] [<degree>] [rotation = <n>][<degree>][mult.rot = <i>] [adaptive][primary = (beam | wafer)] [match = (no | range | dose)][backscattering] [mask = <c>]

[defect.model = (plus.one | effective.plus.n | frenkel.pair)] [ifactor = <n>] [vfactor = <n>] [dfactor = <n>][pai] [range.sh] [profile.reshaping][crit.dose = <n>][<cm-2>]

[crystaltrim | taurus.mc][cascades] [particles = <n>] [KMC] [full.molecular] [secondary.ions][predamage.igrid] [keepdamage.igrid]

[mc.ifactor = <n>] [mc.vfactor = <n>][load.mc] [shift = <n>] [flip] [left] [right] [multiply = <n>][preprocess][ion.movie][info = <n>]}

Description: There are two main branches to this command. The first allows users to specifyparameters for the analytic model. It can be performed by specifying tables orspecies parameters. The second performs an implant into the current structure.Either analytic functions or Monte Carlo simulations (Crystal-TRIM or Taurus MC)can be used.

Options:

Specifying parameters

angle.dependent

This declares the tilt- and rotation-dependent range parameters in the implant tableused. By default, the Dios tables are all set to angle independent. For all other tables,angle-dependent moments are assumed by default.

beta Overwrites the kurtosis found in the specified implant table.beta2 Overwrites the second kurtosis found in the specified implant table for the dual

Pearson model.damage Damage calculation based on the Hobler model can be switched on or off using this

parameter.dam.table This parameter defines the implantation table containing moments for the primary

and lateral damage distributions.dataset This parameter is used for the data name that is created when an implant is

performed.depth.dependent

Switches on or off the lateral standard deviation depth dependence.

445

Page 466: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

eff.caplayer.thick

Efficiency factor for the summation of layer thicknesses to calculate the totalscreening (cap) layer thickness. The default is 1.

eff.channeling.suppress

Logical switch for the effective channeling suppression model. Default is 1 for theTaurus/TSUPREM-4 mode, and 0 otherwise.

file Name of the file used in the point.response implant model and the load.mc mode.gamma Overwrites the skewness found in the specified implant table.gamma2 Overwrites the second skewness found in the specified implant table for the dual

Pearson model.gaussian, pearson, pearson.s, dualpearson, point.response

These parameters specify which type of distribution is to be used.imp.table This parameter defines the implantation table containing moments for the primary

and lateral dopant distributions.lat.scale Scaling factor for the lateral standard deviation. The default is 1.lat.scale2 Scaling factor for the second lateral standard deviation. The default is 1.lat.stdev Overwrites the lateral standard deviation found in the specified implant table. The

default unit is μm.lat.stdev2 Overwrites the second lateral standard deviation found in the specified implant table

for the dual Pearson model. The default unit is μm.lexp Overwrites the linear exponential tail length found in the specified implant table.lexp2 Overwrites the second linear exponential tail length found in the specified implant

table.<material> This parameter specifies a material for which specification of model parameters is

performed. See Appendix B on page 519 for information about specifying materials.min.conc The minimum concentration of the implanted species. The default unit is cm–3.ratio The ratio between the amorphous part of the dose and the total dose for the dual

Pearson model.rp Overwrites the projected range found in the specified implant table. The default unit

is μm.rp2 Overwrites the second projected range found in the specified implant table for the

dual Pearson model. The default unit is μm.<species> Any of the previously defined species names can be specified for this parameter.stdev Overwrites the standard deviation found in the specified implant table. The default

unit is μm.stdev2 Overwrites the second standard deviation found in the specified implant table for the

dual Pearson model. The default unit is μm.

446

Page 467: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

tables This changes the implant tables and model switches in all materials. The settingswill be overwritten for one particular species if there is the species keyword.Otherwise, the implant tables and model switches will be overwritten for all speciesin all materials. There are several choices that correspond to different availabletables: Default (tables extracted from Monte Carlo simulations with Crystal-TRIM),Dios (tables used by default in Dios), Tasch (University of Texas implant tables), andTaurus (the Taurus Process table set). An additional option, AdvCal, makes the Defaulttable data available in the Taurus Process table format.

y.position Point of reference in y for the automated 1D Monte Carlo run.z.position Point of reference in z for the automated 1D Monte Carlo run.Performing an implantation

adaptive Enables adaptive meshing for analytic implants. Parameters for adaptive meshingare described in (see Adaptive meshing on page 389). Default is the return value ofpdbGet Grid Adaptive (usually 0).

backscattering

Switches on or off the integration algorithm that accounts for particles backscatteredfrom the surface.

beam.dose Switches to beam dose control. The default is 1 for the Taurus/TSUPREM-4 mode,and 0 otherwise.

cascades This runs Monte Carlo simulations in a full-cascade mode.crit.dose Defines a parameter used for the point defect profile calculation in the plus.one and

frenkel.pair models in the case of analytic implantation. The default unit is cm–2.crystaltrim Selects simulation of ion implantation using the Monte Carlo simulator Crystal-

TRIM.current The beam line current. The default unit is A. The default value is 0 A.defect.model Selects the model used to calculate point defects. Possible choices are plus.one,

effective.plus.n, and frenkel.pair. The plus.one switch selects the +1 model. Theeffective.plus.n model dynamically calculates an NFactor using an energy- and adose-dependent fitting formula. For the option frenkel.pair, interstitial and vacancyprofiles are calculated from the damage profile resulting from the last implantation.

dfactor The scaling factor for the damage profile calculation.dose The dose of the implant. The default unit is cm–2. The default value is cm–2.energy The implant energy. The default unit is keV. The default value is 250 keV.flip Flips the profile loaded with load.mc to the left.full.molecular

Follows all particles in a Crystal-TRIM or Taurus MC run for a molecular species.This is the default.

ifactor The scaling factor for the interstitial profile calculation in the plus.one andfrenkel.pair models. It is used for the frenkel.pair model in the case of analyticimplantation only.

info Specifies the information level for the implant command. Recommended values are1…3.

1 1014×

447

Page 468: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

ion.movie Plots the positions of implanted ions during a Monte Carlo run.keepdamage.igrid

Keeps the damage information stored at the internal grid between two runs ofCrystal-TRIM. This is not used in Taurus MC.

KMC Switch on the KMC mode for MC implant (both Crystal-TRIM and Taurus MC). Inthis mode, dynamic annealing will be performed with KMC.

left, right Direction specifier for the flip command.load.mc Loads an external profile specified with the file selector. Users can select either

Crystal-TRIM or Taurus MC for an automated Monte Carlo run by setting theload.mc parameter in the pdb database, for example, pdbSet MCImplant load.mc

taurus.mc. The default is crystaltrim.mask This allows an implant mask to be specified. The implanted dopant will not

penetrate the specified mask. Masks can be specified and defined with the maskcommand.

match Two algorithms of simulation in multilayer structures can be selected using thisparameter. The option range selects the numeric range scaling algorithm. It is theused by default. The option dose selects the dose-matching algorithm. The option noswitches off both algorithms.

mc.ifactor The scaling factor for the interstitial profile calculation in the frenkel.pair models. Itis used for Monte Carlo simulation only.

mc.vfactor The scaling factor for the vacancy profile calculation in the frenkel.pair models. It isused for Monte Carlo simulation only.

multiply The profile loaded with load.mc is multiplied by a factor.mult.rot Specifies multiple stages of implants at different rotation angles. For example,

mult.rot=4 means one quarter of the dose is implanted at the first rotation angle, thenext quarter at the original rotation angle plus 90 degrees, the next quarter at theoriginal rotation angle plus 180 degrees, and the last quarter at the original rotationplus 270 degrees. The default is 1.

pai Logical switch for the preamorphization implant (PAI) mode. The PAI model takespreamorphization into account by converting the damage into effective screeninglayer thicknesses used for the moment lookup in screening (cap) layer-dependenttables. The default is 1 for the Taurus/TSUPREM-4 mode, and 0 otherwise.

particles The number of pseudoparticles that will be started per surface segment duringMonte Carlo simulation.

predamage.igrid

Uses the damage from the internal grid for a Crystal-TRIM run. This is not used inTaurus MC.

preprocess Switches on preprocessing. This is the default.

448

Page 469: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

primary Defines the interpretation of the range and lateral range parameters. Possible choicesare beam and wafer. The option beam switches to the beam projection mode. In thiscase, the primary moments are applied along the projection of the ion beam onto thesimulation plane and the lateral integration is performed perpendicular to theprojection of the ion beam. This is the default in Sentaurus Process. The option waferswitches to the wafer normal mode. Here, the primary distribution function and themoments are interpreted orthogonally to the wafer surface.

profile.reshaping

Logical switch for the profile reshaping model. Default is 1 for the Taurus/TSUPREM-4 mode, and 0 otherwise.

range.sh Logical switch for the proportional range shift mode. The channeling part of theprofile is shifted proportionally to the ratio of the amorphous and the channelingrange. The shift is the same for both contributions if the model is switched off. Thedefault is 1 for the Taurus/TSUPREM-4 mode, and 0 otherwise.

rotation The rotation angle of the wafer in the implanter. The default unit is degree. Thedefault value is –90 degrees.

secondary.ions

When this parameter is switched off, secondary ion fields (for example, fluorine in aBF2 implant) are not created for Monte Carlo implant. The default is on.

shift Shifts the profile loaded with load.mc by a certain amount along the y-axis.species Any of the previously defined species names can be specified for this parameter.taurus.mc Selects simulation of ion implantation using the Monte Carlo simulator Taurus MC.temperature The implant temperature. The default unit is degree Celsius. The default value is

0oC.tilt The angle normal to the substrate at which the impurity was implanted. The default

unit is degree. The default value is 7 degrees.vfactor The scaling factor for the vacancy profile calculation in the plus.one and

frenkel.pair models. It is used for the frenkel.pair model in the case of analyticimplantation only.

449

Page 470: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

init

Examples: implant species=Boron tables=DiosThis command changes all implant specifications for the species boron from thedefault to the Dios implantation tables and models.

implant species=Boron Silicon imp.table=my_table.tab pearson !damageThis command changes the default implantation table for boron in silicon tomy_table.tab and the implant model to pearson. It also switches off the damagecalculation for boron in silicon.

implant Phosphorus dose=1e14 energy=100This statement specifies that a 100 keV implant of phosphorus is performed with adose of cm–2. The previously assigned data files and models are used toobtain range statistics.

implant Arsenic dose=1e15 energy=60 crystaltrim defect.model=frenkel.pairThis statement specifies an implant of arsenic with a dose of cm–2 andenergy of 60 keV. Crystal-TRIM simulation will be used. Point-defect profiles willbe calculated from the damage profile.

Function: Sets up the mesh and background doping levels.Syntax: init

[dfise=<c>] [tdr=<c>] [bnd=<c>][pdb] [pdb.only]

[infile=<c>][field=<c>]

[concentration=<n>][(<m-3>|<cm-3>|<um-3>|<nm-3>)][resistivity = <n>] [<ohm/cm>][DelayFullD][flat.orient = <numeric list>] [wafer.orient = <numeric list>] [slice.angle=<n>] [<degree>][nogas][top][scale=<n>]

Description: Sets up the mesh from either a rectangular specification or a previous structure file.The statement also allows initialization of the background doping concentration andtype.

Options:

bnd This parameter selects the .bnd format file for reading. This works only in 3D. Thiscommand reads the boundary file and meshes it with MGOALS using theparameters and refinement boxes previously defined.

concentration The concentration of the incorporated data field. The only available unit is cm–3 butany nodal quantity (with any internal unit) can be initialized with this parameter ifno unit is specified. The default value is zero.

1 1014×

1 1014×

450

Page 471: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

DelayFullD By default, Sentaurus Process generates a minimum-dimensional structure, whichwill be extruded to higher dimensions when Sentaurus Process encounters a ‘mask.’To generate a full-dimensional structure, !DelayFullD should be specified.

dfise This parameter selects a pair of DF–ISE format files for reading. The .grd, .dator .grd.gz, .dat.gz extensions are automatically searched. So, if dfise=filename isgiven, Sentaurus Process looks for filename.grd, filename.dat or filename.grd.gz,filename.dat.gz. DF–ISE format has a different default orientation from the internalformat of Sentaurus Process. A rotation is applied to the structure.

field The name of data field to be initialized everywhere in the structure.flat.orient Crystal orientation of the wafer flat or notch. The default is flat.orient = {1 1 0}.infile This parameter selects the name of internal format of Sentaurus Process for reading.

The file must contain a previously saved structure (see the structure command).nogas Sentaurus Process generally generates a gas mesh across the top surface of the mesh.

To switch off automatic gas mesh generation after rectangular specification, specifynogas.

<material> This parameter specifies a material for which the resistivity applies. See Appendix Bon page 519 for information about specifying materials. The default value is Silicon.

pdb Loads pdb parameters along with geometry and data in the TDR format file. Thedefault is true.

pdb.only Loads only pdb parameters without geometry and data in the TDR format file. Thedefault is false.

resistivity Sets the value of the field by requesting a resistivity. This parameter only works forfields that have the resistivity pdb parameters set (which, by default, is only As, B, P,Sb and In in silicon).

scale If specified, the size of the input structure is scaled by the amount given. The defaultis 1.0e4, which converts from DF–ISE standard (micrometer) structures to SentaurusProcess internal standard (centimeter).

slice.angle The angle of the 2D simulation domain with respect to the wafer coordinate system.The default unit is degree. The default is –90 degrees.

tdr This parameter selects the TDR format file for reading. The .tdr extension isautomatically searched. Besides geometry and data, if the file contains pdb

parameters, they are read in and applied by default. For information about the TDRformat, refer to the documentation for Sentaurus Data Explorer.

top Specifies that the gas is found at the smallest x-value. The default is true. If false, thegas is added at the highest x value (usually, the back).

wafer.orient The wafer orientation. The default is wafer.orient = {0 0 1}.Examples: init dfise=tmp

This reads in a structure previously saved in tmp.grd.gz and tmp.dat.gz files.

init field=Boron concentration=1e15This command finishes a rectangular mesh and sets up with boron doping of

.See: line on page 463, region on page 497, struct on page 508

1 1015×

451

Page 472: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

integrateFunction: Returns volume integration of named quantity.Syntax: integrate

[name = <c>][<material>][region = <c>][element]

Description: The integrate command will integrate the field specified with the name parameter (bydefault, the last unnamed select command field) over the entire structure by default.If material is specified, the integration is limited to regions of the given material. If aregion is specified, the integration is limited to only the named region. Thecommand by default expects the quantity to be nodal and the integration isperformed node-wise, but if the element parameter is given, an elemental quantity isexpected and the integration proceeds elementwise. A Tcl list is returned where thefirst value is the integrated value, the second value is the volume of the computedregions (in <value unit>*cm for 1D, in <value unit>*cm2 for 2D, and in <valueunit>*cm3 in 3D where <value unit> is the unit of the named quantity), and the thirdvalue is the dose (the integrated value divided by the simulated area in cm–2 in alldimensions).

Options:

element Specifies that integration is performed elementwise. In this case, it is expected thatthe quantity specified by name is an elemental quantity.

<material> This parameter is used to limit integration to regions of the specified material. SeeAppendix B on page 519 for information about specifying materials.

name The quantity to be integrated. The default is Z_Plot_Var.region This parameter limits integration to only the region specified.Examples: integrate silicon name=Boron

This returns the integral boron in all silicon regions in the structure, the volume ofall silicon regions, and the combined boron dose in all silicon regions.

select z= "1.0/3*(StressELXX+StressELYY+StressELZZ)"integrate elementThis returns the integrated pressure elementwise in the whole structure (notincluding gas), the volume of the structure (not including gas), and the dose ofpressure not including gas, which in this case is not necessarily a useful number.

452

Page 473: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

interfaceFunction: Returns the location of a material interface.Syntax: interface

[<material>] [x=<n>][(<m>|<cm>|<um>|<nm>)] [y=<n>][(<m>|<cm>|<um>|<nm>)] [z=<n>][(<m>|<cm>|<um>|<nm>)]

Description: This command is used to return the position of an interface. Therefore, it can be usedto prepare plots of material thickness, silicon consumption, or material growth. It isalso used to provide an argument to the interpolate command, which returns a list ifthere is more than one interface. The list processing commands of Tcl, particularlylindex, are very helpful.

Options:

<material> This command usually works with an interface description, and returns the location.If an interface is not specified, an error occurs. If the specified interface does notexist in the current structure, an error is reported. See Appendix B on page 519 forinformation about specifying materials.

x, y, z This provides the description of a line to look for the interface. It is unnecessary in1D simulation. In two dimensions, one of x and y must be specified. In threedimensions, two of these must be specified. The default unit is μm. The defaultvalues are zero.

Examples: interface y=1.0 silicon /oxideThis returns the silicon–oxide interface at a lateral position of 1.0 μm.

interface oxide /gasThis returns the top position of the oxide.

See: interpolate on page 454, plot.xy on page 486, point.xy on page 488

453

Page 474: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

interpolateFunction: Returns the request position or value at a specified location. Syntax: interpolate

<material> [name=<c>] [x=<n>][(<m>|<cm>|<um>|<nm>)] [y=<n>][(<m>|<cm>|<um>|<nm>)] [z=<n>][(<m>|<cm>|<um>|<nm>)] [val=<n>]

Description: This command is one of the most powerful commands in Sentaurus Process foranalyzing simulation results. It returns the interpolated value of one coordinategiven the other two coordinates in the 3D defined by x and y variables, and the datafield. It also works for 1D simulation by returning values as a function of onecoordinate.

This function may return a Tcl list of values, in the event that there are more thanone found. For example, there may be several junctions found along a given line. Allof these are returned and can be processed by normal Tcl list operations. For mostcases, this command will return a single value. This command has multiple uses. Itcan return the data value at a specified position in the structure or return the positionat which a specified data value occurs.

Options:

<material> Limits the search to a single material. This option is required. See Appendix B onpage 519 for information about specifying materials.

name Specifies name of a data field. This allows printing without using the select ortclsel commands. The default is Z_Plot_Var.

x, y, z, val The combination of these parameters determines how the command will operate. In1D, users must supply either x or val. If x is supplied, Sentaurus Process returns thevalue at x. If val is supplied, Sentaurus Process returns the location(s) at which theselected profile crosses val. In 2D, two of four parameters must be given (not z) and,in 3D, three of the four parameters must be given. For example, in 2D, if x and valare given, the locations along x where val is crossed are returned. If x and y aregiven, the value at the location (x, y) is returned.

454

Page 475: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

Examples: interpolate oxide x=1.0 y=1.0This command returns the value of the data field at the position (1.0 μm, 1.0 μm) inthe oxide.

interpolate y=0.0 silicon val=0.0This command returns a list of zero crossings in the silicon of the data field along thevertical line y = 0.0 μm.

interpolate silicon x=2.0 val=0.0This provides a list of zero crossings in silicon along a horizontal line at a depth of2.0 μm.

interpolate x=1.0 siliconThis returns the value of the data field at 1.0 μm.

interpolate silicon val=0.0This returns a list of zero crossings in the silicon material.

See: interface on page 453, plot.xy on page 486, point.xy on page 488

455

Page 476: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

kmcFunction: Specify options for the diffuse kinetic Monte Carlo (KMC) mode.Syntax: kmc

(add |(add queue name = <c>

{coordx = <n>[(<m>|<cm>|<um>|<nm>)]}{coordy = <n>[(<m>|<cm>|<um>|<nm>)]}{coordz = <n>[(<m>|<cm>|<um>|<nm>)]}

)){clustertype name = <c>} |{deatomize name = <c>} |defecttypes |(extract(defects [name=<c>] [defectname=<c>][countparticles][countdefects]

[detailed]) |(dose [name = <c>] [defectname = <c>] [countdefects]) |(histogram name = <c> [meansize [minsize = <u>]]) |(materials [detailed]) |(profile name=<c> [timeaveraged] [defectname=<c>]

[coordx = <n>[(<m>|<cm>|<um>|<nm>)]][coordy = <n>[(<m>|<cm>|<um>|<nm>)]][coordz = <n>[(<m>|<cm>|<um>|<nm>)]]) |

(supersaturation {name = <c>}) |(tdrAdd [concentrations] [defects] [list=<l>]) |(tdrClear) |(tdrWrite {filename = <c>}) |

) |materialtypes | off |particletypes |present {name = <c>} |report)

Description: The kmc command is an interface to send direct instructions to the kinetic MonteCarlo (KMC) module used for diffusion. The main options are add, to create defectsin the simulation, deatomize, to create fields according to the atomisticconcentrations, and extract, to get physical information (mainly concentrations) onthe simulation. extract has many different options, being the more important defects,dose, histogram, profile and tdrAdd, tdrClear and tdrWrite.

Options:

add This parameter tells KMC to add a new defect into the simulation cell. The defect tobe included has to be first sent to the queue, using kmc add queue. Here the defect isspecified with name, and the coordinates with coordx, coordy, and coordz. When alldefects are in the queue, the command kmc add, without any other parameter, passesthe defects from the queue to KMC, erasing the queue.

456

Page 477: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

clustertype This parameter defines the type of defect specified in name. For instance, kmcclustertype name=I56 returns if this cluster is considered an amorphous pocket (AP),a {311}, or a loop.

concentrations This option, instructs KMC to generate concentration information to be included inthe TDR file. It is used together with kmc extract tdrAdd

coordx, coordy, coordz

These parameters provide the x, y, and z coordinates needed for the command kmcadd queue.They also are used to specify cut lines in the command kmc extract profile.

countdefects Used with kmc extract defects, instructs KMC to count the number of defects insteadof listing the particles in the defects.Used with kmc extract dose; computes the dose of defects, not particles. For instancethe dose of loops is different than the dose of particles in loops.

countparticles Used with kmc extract defects; instructs KMC to count and return the number ofparticles, instead of listing them.

deatomize Instructs KMC to build a new data field and fill it with the concentrations taken fromthe KMC simulation. name is the field to create. For deatomize, the parameter name alsocan be XTotal or NetActive. X means any dopant.

defectname Specifies an optional name of a defect (ThreeOneOne, ImpurityCluster, ...) for kmcextract profile, kmc extract defects and kmc extract dose. This option is used tofurther refine the option name. For instance, if name is I, using this option refines theseinterstitials to interstitials as point defects, or in impurity clusters, and so on.

defects kmc extract defects returns the defects currently present in the simulation.kmc extract tdrAdd defects appends to the TDR file an atomistic 3D view of thedefects currently contained in the simulation

defecttypes kmc defecttypes returns the name of the defects that can be used by the optiondefectname.

detailed Produces different results depending on the context.kmc extract defects detailed works as extract defects, but it also recreates theparticles discarded by KMC in some models (mainly AP and amorphous). kmc materials detailed returns the current list of materials for each internal KMCelement, including the element coordinates.

dose kmc extract dose returns doses (concentration in cm–2). The option countdefectsreturns the dose of defects, instead of the dose of particles (which is the default). Thedefects and particles included in this dose are refined with the parameters name anddefectname.

457

Page 478: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

extract kmc extract retrieves information about the current status of the KMC simulation.This information is mainly concentrations, histograms, and atomistic positions andtypes of the defects. kmc extract is also used to control the information written in theTDR file.It is compulsory to use another option together with the kmc extract command.Available options are:defects, to get the current list of particles in the simulation.histogram to retrieve the number of defects depending on their size.dose to compute and return the dose of given particles and/or defects. materials to retrieve the materials currently in the simulation. profile to return the concentration of particles, defects, electrons, and holes in thesimulation or any cut line of the simulation. supersaturation to return the concentration relative to equilibrium for interstitials andvacancies.tdrAdd, tdrClear and tdrWrite to control the information to be written in the TDR file.

filename Specifies the name of the TDR file to be written by the kmc extract tdrWrite

command.histogram kmc extract histogram returns the number of defects for each defect size. The

parameter name determines the returned histogram. If name is XI or XV, X being adopant or impurity, it returns the histogram of impurity clusters for that dopant withIs or Vs. If the name is I or V it produces the histogram of I or V extended defects.Finally name set to IV returns the AP histograms.If the option meansize is included, the returned value is not a list of defects and sizes,but the average size for these defects. The minimum size for computing this averageis zero by default, but it can be changed using the option minsize.

list Adds a list of fields to be included in the TDR file. This parameter is used in the kmcextract tdrAdd command. Any specific defect name is allowed, and generic defectnames (as obtained by kmc defecttypes) also are allowed. For instance, I8 adds thiscluster to the tdr, but AmorphousPockets adds any AP existing in the simulation.

materials kmc extract materials returns the list of materials currently present in the simulation.kmc extract materials detailed returns the coordinates and materials of the KMCelements.

materialtypes Returns the subset of materials allowed in the KMC simulation. Any material notlisted here is assigned as ‘unknown’

meansize This option can only be used together with kmc extract histogram. It instructs KMCto compute the average size for the specified defect type. The minimum size neededto take the defect into account is 0, unless minsize is specified.

minsize This option can only be used together with kmc extract histogram meansize. Itinstructs Sentaurus KMC to use the specified value as the minimum size to take anycluster into consideration when computing the average cluster size.

458

Page 479: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

name Specifies the name of the field, particle or defect for the following options. In thefollowing, X is the name of a valid dopant (like B or As). Any defect means verydetailed defects like B2I3, I8, I4V5, AsV4, and so on. Any particle means pointdefects, dopants, impurities, impurities or dopant paired point defects in any chargestate, in other words, any name obtained with the command kmc particletypes (likeI, VMM, BiP, or F).add is name of the defect or particle to be added. XAmorphous and XInterface arealso acceptable.histogram. XI, XV, I, V, and IV are the only valid names.profile. Any defect or particle. holes, electrons, XAmorphous and XInterface arealso valid.defects. Any defect or particle.dose. Any defect or particlesupersaturation. Only I or V are allowed.deatomize. Any defect or particle. XAmorphous, XInterface, XTotal, NetActive,pNetActive, nNetAtive, and tNetActive are also valid.present. Any defect or particle. XAmorphous, XInterface, and XTotal also areacceptable.clustertype. Any defect.

off kmc off deletes the KMC information and removes the current KMC object frommemory. To be used with caution.

particletypes Returns a list of valid particle names. This list may change between simulations,depending on the dopants specified in the pdb.

present Returns true (1) when the species specified in name is in the KMC simulation. profile kmc extract profile returns concentrations. These concentrations contain 1D, 2D, or

3D information depending on the simulation dimension. Cut lines can be specifiedwith coordx, coordy, and coordz. Each of these parameters reduces the dimensions ofthe output by 1. The concentrations in 1D simulations can be directly compared withSIMS profiles.The parameter name specifies the particle of defect to obtain the concentration from.If name is a valid particle name (see particletypes), the parameter defectname can beused with a valid defect name (see defecttypes) to further refine name. When aparticle is specified in name, profile returns the concentration of particles; otherwise,it returns the concentration of defects.Electronic concentrations are obtained using holes or electrons as name.

queue Adds the new defect, specified with name, into the simulation at the coordinatescoordx, coordy, and coordz. Adding defects to the queue will not put them in the KMCsimulation. To transfer the defects from the queue to the simulation, use thecommand kmc add, without any other parameter.

report Instructs Sentaurus KMC to generate a list of defects created during the simulation.This list includes the first and last time and temperature the defect was seen. If thedefect is still in the simulation, the report also gives the number of defects. Also areport is automatically printed at the end of the diffuse and implant command.

supersaturation kmc extract supersaturation returns the value of the global supersaturation(concentration over equilibrium concentration). The parameter name has to bespecified. This parameter can only be I or V.

459

Page 480: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

tdrAdd kmc extract tdrAdd instructs KMC to add a new ‘snapshot’ of information ready to bewritten into a TDR file. This information is stored in memory and is written usingthe command kmc extract tdrWrite. tdrAdd without options will add an emptysnapshot. tdrAdd options are concentrations, defects and list. concentrations computes and adds 1D, 2D, or 3D concentrations for each particleand defect. defects adds atomistic 3D information. It allows to see the defects shape andposition. list adds user-specified defects. For instance, concentrations only adds ‘I inThreeOneOne’, but list can be used to add I45, I65, and so on. Specifying the nameof a defect (as obtained in kmc defecttypes) adds all the clusters in this particulardefect for each existing size in the simulation.

tdrClear kmc extract tdrClear removes all the ‘snapshot’ previously added with kmc extracttdrAdd from memory.

tdrWrite kmc extract tdrWrite instructs KMC to write all the ‘snapshots’ (previously addedwith tdrAdd) to a file. The name of the file is specified using the option filename.

timeaveraged This parameter must be used with kmc extract profile. It generates time-averagedconcentrations of particles, instead of instantaneous ones. The averaged isperformed between two snapshots. Since this option only makes sense for mobileparticles, the parameter name has to be a valid particle, not a defect.

Examples: kmc add queue coordx=10<nm> coordy=15<nm> coordz=6<nm> name=I8kmc add queue coordx=3<nm> coordy=8<nm> coordz=7<nm> name=B2I2kmc add queue coordx=5<nm> coordy=5<nm> coordz=5<nm> name=Bikmc addCreates an I8 clusters, a mobile B in interstitial position and the BIC B2I2 in thequeue, and it adds the queue to the KMC simulation.

kmc clustertype name=I543Returns whether an I543 is a ThreeOneOne or a Loop in this simulation.

kmc deatomize name=BTotalCreates a BTotal data field. This field will be computed by KMC including all theboron in any defect in the simulation.

kmc deatomize name=As4VCreates an As4V data field, filled with the As4V information taken from the KMCsimulation.

kmc defecttypesReturns a list of the different defect types modeled by KMC.

kmc extract defectsReturns a list containing the particles currently into the KMC simulation., includingits defect type, defect number and coordinates. Particles with the same defectnumber belong to the same defect.

460

Page 481: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

Examples: kmc extract defects name=IReturns a list of each I particle currently into the KMC simulation.

kmc extract defects name=B defectname=ImpurityClusterReturns the B particles in impurity clusters currently in the simulation.

kmc extract defects name=B2I3 countparticlesReturns the number of particles in B2I3 defects.

kmc extract defects name=B2I3 countdefectsReturns the number of B2I3 defects in the simulation.

kmc extract defects detailedReturns a list of each particle currently into the KMC simulation. It also returns the“hidden” particles (see the damage accumulation KMC model.) The hidden particlesare regenerated by KMC using internal information.

kmc extract defects name=As4VReturns the As4V defects present in the simulation.

kmc extract profile name=electronsReturns the electron concentration computed by KMC.

kmc extract histogram name=BIReturns the BIC histograms.

kmc extract histogram name=I minsize=40Returns the average size of I in extended defects. The minimum size to be includedin this average is set to 40.

kmc extract profile name=I2V3Returns the concentration of I2V3 defects.

kmc extract profile name=holesReturns the concentration of holes in the KMC simulation.

kmc extract profile name=BReturns the concentration of boron in any defect.

kmc extract profile name=B defectname=PointDefectReturns the concentration of substitutional boron.

kmc extract dose name=I defectname=ThreeOneOneReturns the dose (concentration in cm-2) of interstitials in {311}’s

kmc extract materialsReturns the list of materials currently present in the simulation.

461

Page 482: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

Examples: kmc extract materials detailedReturns the coordinates of each KMC element and its material.

kmc extract profile timeaveraged name=IReturns the concentration of mobile interstitials in the simulation.

kmc extract supersaturation name=IReturns the interstitial supersaturation.

kmc extract tdrClearkmc extract tdrAdd concentrations defectskmc extract tdrWrite filename=example.tdrClears all the previous stored information, adds a new snapshot with theconcentration of particles and the atomistic information for any defect, and writesthe information in a TDR file called example.tdr

kmc materialtypesReturns the list of materials supported by KMC.

kmc particletypesReturns the list of particles supported by KMC. This list can be changed using pdb.

kmc present name=BI2Returns true (1) or false (0) depending on the presence of BI2 into the simulation.

kmc offRemoves the KMC module and all its associated information from the memory.

kmc reportPrints a list of the simulated defects with the first and last time and temperature theywere seen in the simulation.kmc extract profile name=B2I2 coordx=10<nm>In 1D returns the concentration of BI2 at x=10nm.In 2D returns the concentration of BI2 in the line x=10nm.In 3D returns the concentration of BI2 in the plane x=10nm.

kmc extract profile name=B2I2 coordx=10<nm> coordz=15<nm>Returns the concentration in the line y with x=10nm and z=15nm

kmc extract tdrAdd list={ThreeOneOne BI2 B2I2}Creates a tdr snapshot with any {311} defect and the BI2 and B2I2 defects.

See: See also diffuse on page 432, select on page 498, deposit on page 429, etch onpage 435, region on page 497, implant on page 444, strip on page 507, profile onpage 492, struct on page 508, and init on page 450. These commands work with theKMC mode. For detailed KMC information, see Chapter 5 on page 203.

462

Page 483: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

layers

line

Function: Prints material interfaces and integrated data field values. Syntax: layers

[name] [x=<n>][(<m>|<cm>|<um>|<nm>)] [y=<n>][(<m>|<cm>|<um>|<nm>)] [z=<n>][(<m>|<cm>|<um>|<nm>)]

Description: This command prints the material interfaces, integrates the selected data field ineach region, and reports zero crossings. It is most useful for examining doping, sinceit gives the integrated doping in each layer. This command can be simulated with theinterpolate and interface commands. The command returns a Tcl list of eachmaterial.

Options:

name This is used to specify a data field name. This allows printing without using theselect or tclsel commands. The default is Z_Plot_Var.

x, y, z These parameters specify the constant values of a line along which sectioning willbe performed. In 1D, these parameters are not necessary. In 2D, only one of x or ycan be specified for a given device. Specifying x produces a horizontal slice throughthe device and y specifies a vertical slice. An easy way to remember this is that thecross section is taken at the constant value specified. For a 3D simulation, two ofthese three must be specified. The default unit is μm.

Examples: layersIn a 1D simulation, this lists all material interfaces and zero crossings.

layers y=0.0 name=BoronIn a 2D simulation, this lists all material interfaces and zero crossings at a lateralposition of 0.0 μm and integrates the data field named Boron.

See: interface on page 453, interpolate on page 454, print.1d on page 490, select on page 498, tclsel on page 511

Function: Specifies the position and spacing of mesh lines.Syntax: line

(x | y | z) location = <n>[(<m>|<cm>|<um>|<nm>)] [spacing = <n>][(<m>|<cm>|<um>|<nm>)] [tag = <c>]

463

Page 484: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

Description: This statement is used to specify the position and spacing of mesh lines. All linestatements should come before region statements, which should, in turn, be followedby the init command. It is critical that the line locations be in increasing order (foreach direction x, y, or z). Currently, very little checking is performed for input to theinitial structure. Be careful when using line and region commands.

Only flat structures can be specified with line and region statements. SentaurusProcess has the following coordinate system: x is the direction normal to the waferwith positive-x oriented into the bulk of wafer, y is perpendicular to the x-directionand lies along the wafer surface. Y is in the lateral direction. For all dimensions, x isvertical and positive into the wafer. In 2D and 3D, y is horizontal and, in 3D, z isdepth. By default, Sentaurus Process delays promoting a structure until it isnecessary (by use of a higher dimensional mask). The lines specifying the higherdimensions are stored until they are needed. After an init command, if new lines arespecified, the lines which have not been used will be discarded so that users cancreate an entirely new structure with line, region, and init commands.

Options:

location The location along the chosen axis. The default unit is μm.spacing The local grid spacing. Each mesh line has a characteristic desired spacing. Lines are

graded from one spacing to the next over the interval. The default is a spacing equalto the largest interval between the neighboring lines. The default unit is μm.

tag Lines can be labeled for later reference by region statements. The label can be anyword.

x | y | z This allows specification of the orientation of the mesh line. Specifying x places amesh line at a constant x value. A series of line x commands would specify thehorizontal grid locations during the simulation.

Examples: line x loc=0 spa=0.02 tag=surfline x loc=3 spa=0.5 tag=backline y loc=0 spa=1 tag=leftline y loc=1 spa=0.1line y loc=2 spa=1 tag=rightThere are three user-specified y-lines and two user-specified x-lines. Taking the y-lines for an example, there is finer spacing in the center than at the edges. Afterprocessing, Sentaurus Process produces a mesh with x-lines at 0.0, 0.42, 0.69, 0.88,1.0, 1.12, 1.31, 1.58, and 2.0. Around the center, the spacing is 0.12, approximatelywhat was requested. At the edge, the spacing is 0.42 because that was as coarse as itcould become without having an interval ratio greater than 1.5 (a fixed quantity). Ifthe interval ratio was allowed to be 9, for example, there would have been oneinterval of 0.9 and one interval of 0.1 on each side. In this example, specifying aspacing of 1 at the edges is redundant because that is what the spacing of the user-specified lines was already.

See: region on page 497

464

Page 485: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

loadFunction: Loads data from a file and interpolates it onto the current mesh.Syntax: (dfise=<c>| grdfile=<c> datfile=<c>)

(sum|replace|rename|merge)[species=<list>][actions=<list>]

Description: This command interpolates data from DF–ISE grid and data files onto the currentmesh. The file to be loaded must have the same dimension as the existing structure.There are several options for handling the new and old datasets. First, the actions canbe applied individually to selected datasets using the species and actions lists. If thespecies list appears, the actions list must be specified and must have the samenumber of members as the species list. If this is the case, only the species in thespecies list are taken from the external datasets. If the species list does not appear,one of the global actions is used. The default behavior is a global sum where newdatasets are added and if there is an existing dataset with the same name, the externaldata is added (summed) with the existing dataset.

The other actions that can be performed are:replace – Replaces current datasets with new datasets of the same name.rename – Renames new datasets by appending _LOAD to the name, which can bemanipulated with the select command as required.merge – Takes only the new datasets that do not currently exist in the structure.

Options:

dfise Specifies the input file name. Sentaurus Process checks for all standard suffixes forboth the grid (.grd, _fps.grd, .grd.gz, and _fps.grd.gz) and data (.dat,_fps.dat, .dat.gz, and _fps.dat.gz) files.

grdfile, datfile

Specifies the exact names for the DF–ISE files (should not be used with the dfiseparameter).

merge Adds only new datasets that do not already exist in the structure.replace Adds new datasets and replaces existing datasets with new datasets of the same

name.rename Adds new datasets and renames them by adding the suffix _LOAD.species, actions

These lists specify species by species actions. The species name should be one ofthose appearing in the loaded .dat file. Each action in the actions list should be oneof sum, replace, rename, or merge.

sum Adds new datasets and sums matching datasets.

465

Page 486: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

LogFile

mask

Examples: load dfise=in replace;# replace all existing datasets with those in the file in_fps.dat.gz.

# The next example loads the dfise files in.grd and new.dat and sums# Arsenic_Implant with existing Arsenic_Implant (if available), and# replaces the existing Damage_Implant datafield by the one in new.dat

load grdfile=in.grd datfile=new.dat \species = {Arsenic_Implant Damage_Implant} \actions = {sum replace}

Function: Prints a comment to the screen and to the log file.Syntax: [IL0|IL1|IL2|IL3]

(message)

Description: This command allows comments to be written to the terminal window it is runningin and to the log file. If one of IL0, IL1, IL2, or IL3 is given and this command iscalled from within a Sentaurus Process command, this comment is only printed ifthe information level is at or greater than the one specified.

Examples: LogFile "Halo Implant" ;# Write the string "Halo Implant" to the logfile and to the screen.

LogFile IL2 "$DebugInfo" ;# Print the contents of the Tcl variable DebugInfo, only if# info=2 or higher has been specified in the calling command

Function: Manages and creates masks for use with etching or implantation.Syntax: mask

[list][clear] [name=<c>] [negative] ( {[left=<n>][(<m>|<cm>|<um>|<nm>)] [right=<n>][(<m>|<cm>|<um>|<nm>)] [front=<n>][(<m>|<cm>|<um>|<nm>)] [back=<n>][(<m>|<cm>|<um>|<nm>)]} | {[segments = <numeric list>]})

Description: This command allows the management and creation of masks for use with etching orimplantation. This command can be used to avoid the depositing and etching of amask material.

466

Page 487: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

mater

Options:

clear Clears the list of all masks if no name is specified. If a name is given, it clears onlythat mask information.

left, right, front, back

This allows for the specification of the corners of the rectangle. Multiple corners canbe used to allow complex shapes to be built. Each rectangle is added to the currentlist for the mask. The default unit is μm. The default value for left and front is–1.0 μm, and for right and back, 1 μm.

list Prints a list of currently defined masks. If a mask name is specified, it prints theinformation about that mask only.

negative Inverts the type of mask. Usually, a position inside the specified mask region isconsidered masked.

name Name of a mask. If used with list or clear, the resulting information will be only forthe given mask. If specifying a mask position, name must be given.

polygons Specifies a mask using a polygon. This can only be used in the Sentaurus StructureEditor mode in 3D.

segments Specifies the position of the MGOALS mask-style segments. The default unit is μm.Examples: mask list

Lists all available masks.

mask name=field left=0.0 right=10.0This defines a mask named field. Implants using this mask do not receive ionsbetween 0.0 μm and 10.0 μm.

mask name=mgoals segments = {0.0 10.0}The position of this MGOALS style mask is the same as in the previous example.

See: etch on page 435, implant on page 444, point on page 487, polygon on page 489

Function: Returns a list of all materials in the current structure. Adds new materials to a globallist.

Syntax: mater [add] [name=<material>] [new.like=<material>][list.all] [Interface]

Description: This command returns a list of all materials in the current structure. They arereturned as a list in a format that is compatible with the material specification for theprogram. Bulk material names are returned if no options are given. Interfacematerials can be obtained with the Interface parameter. A new material is added tothe global material list if the add parameter is given.

Options:

add Adds a material specified with the name option.

467

Page 488: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

math

Interface Returns a list of interface materials in the current structure.name Name of a material.new.like Name of the existing material from which all default values are inherited. For newly

created materials, pdb parameters for this material are checked first and, if not found,the ‘like’ material parameters are used.

list.all Lists all the materials defined.Examples: mater add name=Germanium new.like=Silicon

Function: Sets the numeric and matrix parameters.Syntax: math

[(linear | quadratic)] [velocity | thickness] [taulim = <n>] [vel.acc = <n>] [NodalInterpolation][(reflecting | periodic)][stress.dep] [limit.precision]

[(diffuse | flow)] [dimension = (1 | 2 | 3)] [(pardiso | lu | umf | ils | ilu)] [(none | bcgs | gmres)] [scale] [tolerance = <n>] [max.iter = <i>]

[(fullNewton | modNewton)] [newtonSteps1 = <i>] [newtonRate1 = <n>] [newtonRate2 = <n>] [newtonTries1 = <i>] [newtonStats = <i>] [newtonDeriv]

[(tr_bdf | euler)] [(milne | difference)]

[maxNumThreads = <i>] [maxNumThreadsPardiso = <i>] [maxNumThreadsILS = <i>]

[systemcoord.transform]

Description: This command is used to: specify default options on the matrix packages to be usedwith different analysis options, select different mechanical models and definevarious numeric parameters used to solve oxidation and silicidation modelequations, specify parameters to handle the Newton method, select different timediscretization schemes, and select different coordinate system types.

468

Page 489: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

Options:

Matrix options

diffuse, flow, smooth

The analysis type to which the rest of the matrix specification applies.dimension The dimensionality of the analysis to which the rest of the matrix specification

applies.bcgs, gmres The type of iterative method to be used if the ilu solver is specified in the math

command: bcgs and gmres implement the biconjugate gradient-squared andgeneralized minimum residual algorithms, respectively. Typically, the ILS solver ismore efficient and flexible than ilu/bcgs or ilu/gmres.

pardiso, lu, umf, ils, ilu

Specifies the type of linear solver to apply to the system: pardiso, lu, and umf aredirect solvers, and perform a full LU factorization of the matrix. pardiso uses theparallel direct solver package PARDISO to decompose the matrix and umf uses theunsymmetric multifrontal package UMFPACK. ils specifies the iterative linearsolver package ILS, which has its own preconditioners, iterative methods, scaling,and convergence criteria (users can change the default settings of ILS parameters byspecifying pdbSet Math commands or providing a special .ilsrc file). To set ILSparameters with pdb, see Setting parameters of iterative solver ILS on page 43. Thesolver ilu uses a relatively simple incomplete LU factorization combined with bcgs

or gmres iterative methods.scale Applies row/column scaling to the matrix in an attempt to make it better

conditioned, a recommended option. Scaling is switched off if the modified Newtonsolver is switched on.

tolerance, max.iter

These parameters control the iterative methods ilu/bcgs and ilu/gmres. tolerance isthe relative accuracy of the solution and max.iter is the maximum number ofiterations allowed. The default value for tolerance is and for max.iter, itis 30.

Flow options

limit.precision

For Intel x86 architecture, this option limits floating-point operations to 64 bitsinstead of the default 80 bits. This setting is applied by default to improvereproducibility among different platforms and may be necessary for reproducibility.

linear, quadratic

This controls whether a linear or quadratic element is used in discretizing the flowequations.

NodalInterpolation

This parameter controls whether element values are interpolated directly orinterpolated to nodal values and after (locally) remeshing back to element values ateach time step. The default is false.

1 10 4–×

469

Page 490: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

periodic Sets the normal component of the displacement vector to be zero on the left side ofthe structure and a constant value on the right. It mimics a periodic array ofstructures frequently found in VLSI devices.

reflecting Sets the normal component of the displacement vector (used in stress calculations)to be zero on the boundaries of the defined structure. This is the default boundarycondition.

stress.dep Specifies the model with the stress-dependent viscosity for the new simulationscheme.

taulim This parameter controls the accuracy of the percentage of tau that the next time stepcan be. For example, a taulim of 2 means that the next time step can only be 1/2 ofthe current relaxation time for the viscoelastic material. This can help stabilizeconvergence by decreasing the time step taken.

vel.acc This parameter controls the accuracy of the growth and flow solutions. Theestimated velocity or growing material thickness (see flag below) is allowed tochange no more than this percentage during the next time step.

velocity, thickness

This parameter controls whether the error control above uses thickness or velocity.Newton method options

fullNewton, modNewton

The type of nonlinear equation solver to be used. Full Newton does a matrixfactorization at each step. Modified Newton reuses a matrix factorization overseveral solve-only steps. Full Newton may be more robust, but may use moresolution time than modified Newton, which is the default for use with direct solvers(pardiso, lu, umf, slu). Full Newton is the only option available for iterative solvers(ilu, diag, jacobi).

newtonDeriv Allows the Jacobian computation to be switched on during the modified Newtonstep. The default is false.

newtonRate1 For the modified Newton method, if the solution for any of Newton steps 1 throughnewtonSteps1 is newtonRate1 or more times better than the previous step, the next stepcan be a solve-only step. Otherwise, the next step will perform a matrixfactorization. The default value is 4.0.

newtonRate2 For the modified Newton method, if the solution for any of Newton stepsnewtonSteps1+1 onward is newtonRate2 or more times better than the previous step, thenext step can be a solve-only step. Otherwise, the next step will perform a matrixfactorization. The default value is 32.0.

newtonStats Prints information on Newton iterations.newtonSteps1 For the modified Newton method, any of the Newton steps 1 through newtonSteps1

must improve the solution by the factor newtonRate1 over the previous step.Otherwise, the next step will be a full Newton step. For Newton steps newtonSteps1+1onwards, the solution at each step must improve by the factor newtonRate2.Otherwise, the next step will be a full Newton step. The default is 12.

newtonTries1 The number of first modified Newton step breakdown allowed before switching tofull Newton. The default is 2.

470

Page 491: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

Time discretization options

milne, difference

This parameter controls whether the next time step is estimated using the Milne’sdevice or divided difference method. Milne’s device is the default method.

tr_bdf, euler The type of time discretization scheme to be used. TR-BDF(2) or backward Eulermethod can be chosen. TR-BDF(2) is used by default.

Parallel processing options

Two of the Sentaurus Process linear solvers, the direct solver PARDISO and the iterative ILS, useparallelism through generating multiple threads to accelerate simulations on shared memorycomputers. By default, both solvers use only one processor (thread).

NOTE Observe the following recommendations to obtain best results from a parallelrun: Speedup is only obtained for sufficiently large problems. As a generalrule, the mesh should have at least 10,000 nodes. Three-dimensionalproblems are good candidates for parallelization.

NOTE It is recommended to run a parallel job on an empty computer. As soon asmultiple jobs compete for processors, performance decreases significantly (aparallel job could run even longer than a serial one).

NOTE The parallel execution of PARDISO and ILS produces different roundingerrors. Therefore, the number of Newton iterations may change.

To use more than one thread, set the OpenMP environment variable OMP_NUM_THREADS (see Settingparameters of iterative solver ILS on page 43) and specify the following parameters on the mathcommand in the input file:maxNumThreads Specifies the default maximum number of parallel threads for Sentaurus Process.

For example, if the OpenMP environment variable OMP_NUM_THREADS is 4 andmaxNumThreads is 2, Sentaurus Process uses the smaller of the two values (2) as thedefault for the maximum number of parallel threads. If maxNumThreads is 1 or less,Sentaurus Process defaults to running with only one thread.

471

Page 492: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

maxNumThreadsILS

Works with maxNumThreads and the OpenMP environment variable OMP_NUM_THREADS tocontrol the maximum number of parallel threads for ILS. If maxNumThreadsILS is 2 orhigher, ILS uses the larger of (1, OMP_NUM_THREADS) as the level of parallelism. IfmaxNumThreadsILS is 0 or less and maxNumThreads is 2 or higher, ILS uses the larger of(1, OMP_NUM_THREADS) as the level of parallelism. If maxNumThreadsILS is 1, ormaxNumThreadsILS and maxNumThreads are both 1 or less, ILS runs with only one thread.

maxNumThreadsPardiso

Works with maxNumThreads and the OpenMP environment variable OMP_NUM_THREADS tocontrol the maximum number of parallel threads for the PARDISO solver. IfmaxNumThreadsPardiso is 1 or higher, PARDISO uses the smaller of(maxNumThreadsPardiso, OMP_NUM_THREADS) as the level of parallelism. IfmaxNumThreadsPardiso is 0 or less and maxNumThreads is 1 or higher, PARDISO uses thesmaller of (maxNumThreads, OMP_NUM_THREADS) as the level of parallelism. IfmaxNumThreadsPardiso and maxNumThreads are both 1 or less, PARDISO runs with onlyone thread.

Coordinate system options

systemcoord.transform

Upon saving a DF–ISE file a rotation is applied. The rotation matrix is set using thisoption. The default behavior is to rotate the structure such that the orientation whenviewed with Tecplot SV is the same as when viewed with the plot.2d command.

math systemcoord.transform = { a11 a12 a13 a21 a22 a23 a31 a32 a33 } where aij(i=row, j=column) are the members of the rotation matrix. In addition to the generalmatrix specification, a shortcut syntax is available: math systemcoord.tecplot is thedefault, math systemcoord.floops is no rotation, and math systemcoord.df-ise is likeTecplot SV, except z-> -z in 3D. Other shortcut names are based on the names of thenew coordinate system axes in the world coordinate system for simple cases, that is:math systemcoord.x-yz (it is the equivalent of Tecplot SV system coordinate for 2D)math systemcoord.y-xz (it is the equivalent of the Sentaurus Process systemcoordinate for 2D)math systemcoord.xyz (it is equivalent to the DF–ISE system coordinate)math systemcoord.yx-z (it is equivalent to the Tecplot SV system coordinate for 3D)math systemcoord.zy-x (it is equivalent to the Sentaurus Process system coordinate for3D)

These names have the following mnemonic: for example y-xz x = y (DF–ISE)y = -x (Sentaurus Process for 2D case) z = z. The input file may contain multiplesystem coordinate changes.

Examples: math viscoelasticThe viscoelastic model is used for all materials.

math diffuse dim=2 pardiso none !scaleThe PARDISO solver is used for the diffusion equation system in the 2D case.

472

Page 493: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

mechdata

mgoals

Function: Defines intrinsic stress materials for use in stress calculations.Syntax: mechdata <material> region=<c>

[sxxi = <n>][(<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>)] [syyi = <n>][(<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>)] [szzi = <n>][(<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>)] [sxyi = <n>][(<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>)] [syzi = <n>][(<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>)] [szxi = <n>][(<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>)]

Description: Stress parameters for a material are set. Zero is the default value for all of theparameters. Where possible, users should use deposit with specified stresses.

Options:

<material> The material in which the stress parameters are to be set.region The region where the stresses are to be applied.sxxi, syyi, szzi, sxyi, syzi, szxi

The intrinsic stresses. The default unit is dyne/cm2.Examples: mechdata nitride syyi=1.4e10

Sets the yy-component of the intrinsic stress in the nitride to dyne/cm2.

Function: Initializes the MGOALS mode and sets parameters for meshing using the MGOALSlibrary.

Syntax: mgoals [(on | off)] [resolution = <n>][dx = <n> dy = <n>][reinitfrequency=<n>][reinititerations=<n>] [accuracy = <n>][(<m>|<cm>|<um>|<nm>)] [maxangle = <n>][<degree>] [nlayers = <i>] [minedge = <n>][(<m>|<cm>|<um>|<nm>)] [min.normal.size = <n>][(<m>|<cm>|<um>|<nm>)] [normal.growth.ratio = <n>] [max.lateral.size = <n>][(<m>|<cm>|<um>|<nm>)] [max.box.angle = <n>][<degree>] [remesh.loop = <i>] [conservative] [min.gas.thickness = <n>][(<m>|<cm>|<um>|<nm>)][sliver.swap] [sliver.split] [sliver.smooth]]

[defer.refinement.from.field] [force.analytic]

1.4 1010×

473

Page 494: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

Description: This command initializes the MGOALS mode. All etching and deposition stepsfollowing the mgoals command are performed by the MGOALS library using thelevelset method. The mgoals command allows users to define parameters forMGOALS meshing.

Options:

accuracy Specifies the error that can be tolerated in transferring the new interface definitionfrom the levelset grid to the simulation grid. There is a compromise betweensmoothness and grid points. Smoother grids need more points on curved regions.The default unit is μm. The default value is 0.5 nm.

conservative Specifies a conservative interpolation scheme. The default is a linear interpolationscheme.

defer.refinement.from.field

Change the binary tree splitting order, so that user refinements are handled afterkeep.lines refinement. This can sometimes reduce the propagation of mesh linesaway from areas of desired refinement.

dx, dy Explicitly sets the distance between vertical and horizontal rectangular grids used inlevelset operations. Automatically overrides calculation of dx and dy usingresolution.

force.analytic

When performing isotropic etch or deposit, force the use of an analytic algorithminstead of levelset even when a boundary collision will occur. For very largestructures and/or very small etch/deposit thicknesses, the levelset may consume toomuch memory and time.

maxangle The maximum allowable angle in the MGOALS-created grid. MGOALS tries tostay within this limit, but may exceed it if meshing becomes very tough. The defaultunit is degree. The default value is 165o.

max.box.angle The maximum angle in the interior of any region where MGOALS is able to putlocally exact Cartesian grid. The default unit is degree. The default value is 120degrees.

max.lateral.size

The maximum lateral (parallel to the interface) spacing between elements. This is,however, also used to define an upper bound on the normal size. The default unit isμm. The default value is 1 μm.

minedge The minimum edge length allowed in MGOALS. The default unit is μm. The defaultvalue is 0.02 nm.

min.gas.thickness

The minimum thickness of the gas layer at the top of the simulation structure. If thestructure grows due to deposit or oxidation, the top layer is moved up toaccommodate the growth without allowing the thickness of the gas layer to fallbelow this number.

min.normal.size

The smallest normal (to the interface) mesh element size on either side of aninterface. The default unit is μm. The default value is 1 nm.

474

Page 495: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

nlayers Defines the number of layers of the original grid next to the interface that could bemodified during an etching or a deposition action. The default value is 2.

normal.growth.ratio

This is used to increase the normal (to the interface) size of the element, movingaway from the interface. For example, if normal.growth.ratio=1.3, this means that onelayer away from the interface, the maximum normal size of an element can be1.3*min.normal.size. The default value is 2.0.

on, off Switches on or off the MGOALS mode. In the absence of on/off, MGOALS isswitched on.

reinitfrequency

Levelset reinitialization is performed every reinitfrequency time step in levelsetoperations. A reinitialization algorithm is run to condition the levelset distancefunction to reduce the effect of ‘contour bunching,’ which can cause etchingdistances to be less than expected. The default value is 0, which means that noreinitialization is performed.

reinititerations

The internal reinitialization algorithm reinitializes first the 0 levelset and worksoutward from the front with higher numbers of iterations. The default value is 1.This option only comes into operation if reinitfrequency is nonzero.

remesh.loop The number of remeshing loops. The default value is 5.resolution This parameter specifies the minimum number of levelset cells across the thickness

of a deposited or etched layer. For example, resolution=0.2 implies five cells. Thedefault value is 0.1.

sliver.smooth Switches on element-smoothing in 3D to eliminate slivers. This operation may movethe nodes on the boundary.

sliver.split Switches on element-splitting in 3D to eliminate slivers. This operation will increasethe number of non-Delaunay elements in the structure. This may adversely affectdiffusion simulation.

sliver.swap Switches on element-swapping in 3D to eliminate slivers.Examples: mgoals on max.lateral.size=1.0 min.normal.size=2e-3

This switches on the MGOALS mode and sets parameters for meshing. The smallestnormal mesh element size is 2 nm, and the maximum lateral spacing betweenelements is 1.0 μm.

mgoals dx=0.01 dy=0.02 reinitfrequency=5 reinititerations=4Explicitly sets the vertical levelset mesh spacing to 0.01 μm and the horizontallevelset mesh spacing to 0.02 μm. Reinitialization of the levelset distance function isperformed very five time-steps and every reinitialization is performed to an internaliteration accuracy of four iterations.

475

Page 496: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

pdbDelayDouble

pdbDopantLike

Function: Retrieves an expression for a double parameter, which will be evaluated at each timestep during diffusion.

Syntax: pdbDelayDouble <c> <c> ...

Description: This function is typically called from Alagator to retrieve a parameter expression.Since among other things, the temperature can change during a diffusion step, theevaluation of Arrhenius expressions must be delayed until the temperature is known.This command provides that functionality.

Examples: pdbDelayDouble Si B D0 ; # Get an expression for D0 (not a value).

Function: Helps to create new dopants.Syntax: pdbDopantLike <c> <c>

Description: This command is used to create new dopants in materials. It takes two arguments.The first one must be the name of the material and the second must be the name ofthe new dopant. If dopants are not present in a material, an error message isdisplayed.

Examples: pdbDopantLike Silicon MyDopantThis command creates a new dopant called MyDopant in silicon. Users can selectdopant-related diffusion switches (such as DiffModel and ActiveModel) for MyDopant.

pdbDopantLike Gas MyDopantThis command returns the error message "No Such Entry "Dopant" in Hierarchy Below"Gas" since no dopant-related entry can be found under the Gas directory in theparameter database.

476

Page 497: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

pdbGet and related functions

pdbNewMaterial

Function: All these functions (pdbGet, pdbGetDouble, pdbGetDoubleArray, pdbGetSwitch,pdbGetSwitchString, pdbGetString, pdbGetBoolean) retrieve database parameters. OnlypdbGet has syntax checking.

Syntax: pdbGet <c> <c> ...

Description: These functions are used to set parameters that reside in the property database. Thedatabase is hierarchical and is indicated by passing a series of strings to thecommand. In the input file, the command pdbGet should be used to replace all theother pdbGet* commands, because the type of the parameter is automatically checkedand syntax is also checked. If a parameter does not exist in the directory, theprogram exits and prints a list of parameters that can be found. The normal aliasingis applied to each string before the parameter is retrieved from the database.

The commands pdbGetDouble, pdbGetDoubleArray, pdbGetSwitch, pdbGetString,pdbGetFunction, and pdbGetBoolean all return a 0 if the parameter is not found. Thecommand pdbGetSwitchString returns nothing if the parameter is not found. Thesecommands have slight performance advantage and will not exit if a parameter hasnot been defined, so they are preferred for Alagator scripting.

The command pdbGetSwitch returns an integer value of a switch, and the commandpdbGetSwitchString returns the string value. For example, if a switch has the choicesa, b, or c, and a is chosen, then pdbGetSwitch will return 0, and pdbGetSwitchString willreturn a.

Examples: pdbGet Si Int Cstar;# Retrieve the current value of Cstar at the current temperature# for Interstitial in Silicon--quit with list if not found.

pdbGetDouble Si I Cstar;# Retrieve Cstar without syntax checking return 0 if not found,# quit if there is a type mismatch between Cstar and Double # (which is not the case in this example)

Function: Helps to create new materials.Syntax: pdbNewMaterial <c> <c>

Description: This command is used to create new materials. It takes two arguments. The first onemust be the name of the new material and the second must be the reference material.If the reference material is not available, it returns an error message. When the newmaterial is created, its pdb values are the same as those of the reference material.

Examples: pdbNewMaterial MyMaterial SiliconThis command creates a new material called MyMaterial and sets its pdb values tothose of silicon material.

477

Page 498: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

pdbSet and related functionsFunction: All these functions (pdbSet, pdbSetDouble, pdbSetDoubleArray, pdbSetSwitch,

pdbSetBoolean, pdbSetString, pdbSetFunction) set database parameters. Only pdbSet hassyntax-checking.

Syntax: pdbSet <c> <c> ...<value>

Description: These functions are used to obtain parameters that reside in the property database.The database is hierarchical and is indicated by passing a series of strings to thecommand. In the input file, the command pdbSet should replace all the other pdbSet*commands, because the type of the parameter is automatically checked and syntax isalso checked. If a parameter does not exist in the directory, the program exits andprints a list of parameters that can be found. The normal aliasing is applied to eachstring before the parameter is retrieved from the database for all these commands.

The commands pdbSetDouble, pdbSetDoubleArray, pdbSetString, pdbSetFunction andpdbSetBoolean all create a new parameter if one does not already exist. Thesecommands have slight performance advantage and will not exit if a parameter hasnot been defined, so they are preferred for Alagator scripting. The units of theproperty database are cgs [s, cm, g, dyn/cm2, poise, cm2/s] except for activationenergies [eV].

The command pdbSet checks the type of variable trying to be set and checks that typeagainst the <value> passed. The command pdbSetDouble takes a double for a valueand, similarly, pdbSetString takes a string, and pdbSetBoolean takes a Boolean (either1 or 0). The command pdbSetSwitch will only set a value for existing switches. If aswitch is not found, an error is issued.

The data type DoubleArray has a special format and can be modified in severaldifferent ways depending on the changes required. This type is usually used forcharge state–dependent parameters, in which case, the array index refers to thecharge state. For example, the database entry for Silicon Interstitial ChargeStates isa list of length 10; the first entry is -2, the second entry is 0 (which means thatChargeStates[-2]=0), the third entry is –1, and the fourth is {[Arrhenius 5.68 0.48]},which means ChargeStates[-1]=[Arrhenius 5.68 0.48] and so on. There are also arraysthat are intended for double sums. In this case, the array index entries have acomma-separated field. For example, with Silicon Boron Interstitial KfKickOut, thefirst entry (which corresponds to an array index) is {-2,-2}. The following examplesshow how to set and change these types.

478

Page 499: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

pdbUnSetString and pdbUnSetDouble

photo

Examples:

pdbSet Si B Dstar 1e-7;# Set the Dstar parameter for Boron in Silicon--quit with list if not found.#Next line sets index 0 of ChargeStates to 0.1

pdbSet Si Int ChargeStates 0 0.1#Next line sets all members of ChargeStates: index 0 = 0.1, etc.

pdbSet Si Int ChargeStates {0 0.1 1 0.2 3 0.3}; # Next sets one index of a double array meant for double charge state indexing

pdbSet Si B Int KfKickOut -2,1 {[expr 4.0*3.14159*([Arrhenius 0.1 0.2]+[Arrhenius 0.3 0.4])]}

# Now for the non-syntax-checked versions:pdbSetDouble Si B Dstar 1e-7# Set Dstar , create Dstar if it does not already exist# (in this example, Dstar would already exist)

pdbSetSwitch Si Dopant DiffModel Pair;# Set the DiffModel in Silicon to 'Pair'

pdbSetDoubleArray Si MyVar MyArray {0 0.1 1 0.2 3 0.3};# create a new DoubleArray,index 0 = 0.1, etc.

Function: Removes parameters created by the pdbSetDouble and pdbSetString commands.Syntax: pdbUnSetString <c> <c> ... or pdbUnSetDouble <c> <c> ...

Description: These functions are used to temporarily remove parameters from the parameterdatabase during the simulation.

Examples: pdbUnSetString Silicon Int EquationProc

pdbUnSetDouble Silicon Vac Cstar

Function: Creates photoresist masks of prescribed thickness using the prescribed mask.Syntax: photo thickness=<number> mask=<c>

Description: A photoresist masking layer corresponding to a previously defined mask is created.Examples: photo thickness=2<um> mask=mask1

479

Page 500: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

plot.1dFunction: Plots a 1D cross section.Syntax: plot.1d

[name = <c>] [x = <n>][(<m>|<cm>|<um>|<nm>)] [y = <n>][(<m>|<cm>|<um>|<nm>)] [z = <n>][(<m>|<cm>|<um>|<nm>)] [boundary] [clear] [max = <numeric list>] [min = <numeric list>] [color = <c>] [symb = <c>] [label = <c>]

Description: This statement allows users to plot cross sections vertically or horizontally throughthe device. The statement has options to provide for initialization of the graphicsdevice and plotting of axes. The statement can optionally draw vertical lineswhenever a material boundary is crossed.

Options:

boundary This parameter specifies that any material boundaries that are crossed should bedrawn in as vertical lines on the plot. The default is false.

clear This parameter specifies whether the graphics screen should be cleared before thegraph is drawn. If true, the screen is cleared. The default is true.

color Specifies the line color for the plot. It can be any color supported by the X11hardware and named in the color database.

label This parameter allows users to specify the name of the line in the legend box of theplot window. The default is the name of the current dataset.

max This command takes a list of numeric values that will be the ends of the x- and y-axis, respectively. The first argument is x and the second is the y value. A singlevalue is always interpreted as the x value. The default is the maximum extent of thecurrent structure.

min This command takes a list of numeric values that will be the ends of the x- and y-axis, respectively. The first argument is x and the second is the y value. A singlevalue is always interpreted as the x value. The default is the minimum extent of thecurrent structure.

name Specifies the name of a data field. This allows plots without using the selectcommand. The default is Z_Plot_Var.

symb This parameter allows users to specify a symbol type to be drawn on the cross-sectional line. Each point is drawn with the specified symbol. It defaults to nosymbol. Whatever character is entered is placed at each data point on the plot.

480

Page 501: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

plot.2d

x, y, z These parameters specifies the constant values of a line along which sectioning isperformed. In one dimension, these parameters are not necessary. In twodimensions, only one of x or y can be specified for a given device. Specifying xproduces a horizontal slice through the device and y specifies a vertical slice. Aneasy way to remember is that the cross section is taken at the constant valuespecified. For a 3D simulation, two of these three must be specified. The default unitis μm.

Examples: plot.1d x=1.0 symb=1 clearThis command clears the screen, draws a set of axes, and draws the data along ahorizontal cross section at x=1.0 μm. Each point is drawn with symbol 1.

plot.1d x=2.0 clear=f lab=LateralThis command draws a horizontal cross section at x = 2.0 μm on the previous set ofaxis. The line is labeled Lateral in the legend.

See: select on page 498, slice on page 504

Function: Plots a 2D xy picture.Syntax: plot.2d

[(x = <n>) | (y = <n>) | (z = <n>)][(<m>|<cm>|<um>|<nm>)] [!fix.ratio] [max=<numeric list>] [min=<numeric list>] [clear] [fill] [gas] [boundary] [label.bound] [col.bound=<c>] [grid] [col.grid = <c>] [vector = <c>] [vlength = <n>][(<m>|<cm>|<um>|<nm>)] [vmax = <n>][(<m>|<cm>|<um>|<nm>)]

Description: This statement allows users to prepare a 2D xy plot. This command is usually usedto look at material boundaries and grids, however, it can also be used to plot a flowfield. Generally, this command is performed immediately before a contour commandso that the isoconcentration lines are plotted in context with the structure. Thiscommand returns an error for a 1D simulation.

Options:

boundary This parameter specifies that the device outline and material interfaces should bedrawn. The default is false.

clear This parameter specifies whether the graphics screen should be cleared before thegraph is drawn. If true, the screen is cleared. It defaults to true.

col.bound The color with which to draw the boundary. Any valid X11 color can be specified.col.grid The color with which to draw the grid. Any valid X11 color can be specified.

481

Page 502: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

fill This parameter specifies that the device should be drawn with the proper aspectratio. If fill is false, the device is drawn with the proper aspect ratio. When true, thedevice is expanded to fill the screen. The default is false.

fix.ratio By default, the x to y ratio is now fixed. This can be switched off with the !fix.ratioparameter.

gas This parameter specifies that the grid in the gas should also be plotted. The default isfalse, so no gas grid is shown.

grid This parameter specifies that the numeric grid on which the problem was solvedshould be drawn. The default is false.

label.bound Name of the material in the lower-left corner of the material region.max This command takes a list of numeric values that will be the ends of the x- and y-

axis, respectively. The first argument is x and the second is the y value. A singlevalue is always interpreted as the x value. The default is the maximum extent of thecurrent structure. The default unit is μm.

min This command takes a list of numeric values that will be the ends of the x- and y-axis, respectively. The first argument is x and the second is the y value. A singlevalue is always interpreted as the x value. The default is the minimum extent of thecurrent structure. The default unit is μm.

x, y, z For a 2D simulation, these parameters are unnecessary. In three dimensions, one ofthese three must be specified to indicate the cutline through the structure. Thedefault unit is μm.

vector This parameter takes a vector field name as an argument. This indicates arrowsproportional to the size of the vector and in the direction of the vector at each node.Currently, this option does not work for 3D simulations.

vlength The length of the vectors is scaled so that the maximum vector has length vlength.The default unit is μm. The default value is 0.1 μm.

vmax Use this as the maximum velocity instead of searching for it. The default unit is μm.Examples: plot.2d grid

This command draws the triangular grid and axis. Each material is plotted in adifferent color.

plot.2d bound min ={2 5}This command draws the material interfaces with the minimum x and y values of 2.0and 5.0 μm.

plot.2d bound diamondsThis command draws the material interfaces and places symbols at each coordinatein the mesh.

plot.2d vector=Velocity vlength=0.1 !clearThis command plots the Velocity vector field. The maximum arrow drawn will havea length of 0.1 μm. The plot surface will not be cleared.

See: bound on page 425, color on page 426, contour on page 428, select on page 498,slice on page 504

482

Page 503: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

plot.tecFunction: Updates or initiates Sentaurus Process–Tecplot SV 1D, 2D, and 3D graphics.Syntax: plot.tec

[autofit][autorange][command=<c>][connect][contourvar=<c>][create.abs][data.bool] [data.int] [data.real] [data.vector][data.element] [data.face] [data.node][data][delete.frames][double_prec][grd][host=<c>][interfaces][launch.timeout=<n>][legend][loadfile=<c>][macro=<c>][port=<n>][reset.display][reset.xyaxes][scale=lin|log|ash][set.variables=<c>][start][suppressmat=<c>][suppressvar=<c>][terms][unsuppressmat=<c>][unsuppressvar=<c>][view.fit][x1auto] [x2auto] [x3auto] [x4auto] [x5auto] [xauto][y1auto] [y2auto] [y3auto] [y4auto] [y5auto] [yauto][x1log] [x2log] [x3log] [x4log] [x5log] [xlog][y1log] [y2log] [y3log] [y4log] [y5log] [ylog][x1max=<n>] [x1min=<n>] [x2max=<n>] [x2min=<n>] [x3max=<n>] [x3min=<n>] [x4max=<n>] [x4min=<n>] [x5max=<n>] [x5min=<n>] [xmax=<n>] [xmin=<n>][y1max=<n>] [y1min=<n>] [y2max=<n>] [y2min=<n>] [y3max=<n>] [y3min=<n>] [y4max=<n>] [y4min=<n>] [y5max=<n>] [y5min=<n>] [ymax=<n>] [ymin=<n>][xyautofit][xyshow]

483

Page 504: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

Description: This command starts Tecplot SV, connects to a running Tecplot SV process, orsends commands or data to a running Tecplot SV process. After an instance ofTecplot SV with interprocess communication enabled (that is, the command-lineoption tecplot_sv -s:ipc) is running, subsequent Sentaurus Process runs will sendgraphics information to the same (already running) Tecplot SV to avoid a delay inTecplot SV startup. The plot.tec command is called automatically by the graphicscommand.

Options:

autofit Automatically fits the view for 2D and 3D modes after each update.autorange Automatically resets the minimum and maximum data range for contour plots after

each update.command Specifies the command string used for launching the Tecplot SV process. The

default is "tecplot_sv -s:ipc".connect Permits connection to a running Tecplot SV process; the default is true.contourvar Selects the specified variable as the contour variable. By default, the first variable is

selected as the contour variable.create.abs Automatically creates an abs() dataset for each vector variable.data Sends new values of all variables to Tecplot SV.data.bool, data.int, data.real, data.vector

Enables data of the corresponding value type; the default is true for data.real anddata.vector.

data.element, data.face, data.node

Enables data of the corresponding location type; the default is true for all types.delete.frames Causes the old frame to be deleted when a new frame is created in Tecplot SV, due

to switching from 1D to 2D, or from 2D to 3D mode. The default is true.double_prec Uses double precision for all data transfers to Tecplot SV. This causes slower data

transfer and higher memory consumption in Tecplot SV. This option must bespecified before or together with the start option. The default is to use singleprecision.

grd Updates the grid (vertices and elements) in Tecplot SV.host Specifies the name of the host where Tecplot SV should be started or connected to.interfaces Enables interface regions to be displayed; the default is false.launch.timeout

Specifies how many seconds that Sentaurus Process must wait for a Tecplot SVresponse after trying to start it. The default is 10 s.

legend Displays the contour legend.loadfile Loads the specified file in Tecplot SV.macro Sends a macro command to Tecplot SV (see examples). The macro language is

documented in the Tecplot Reference Manual.port Specifies the port number for the Tecplot SV socket connection. The default is 2203.

484

Page 505: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

reset.display Resets to the default display mode.reset.xyaxes Resets the axis scale and axis range for all axes.scale Sets the contouring scale to either lin, log, or ash for the variables specified with the

option set.variables. The set.variables option must be specified with this option.set.variables Specifies a list of variables to be used with a second option such as scale. The

variable names can contain wildcards, for example, Stress*.start Tries to connect to a running Tecplot SV process or launch a new process. See

Tecplot SV, Chapter 5 on page 13 for detailed information on the behavior of thestart procedure.

suppressmat, unsuppressmat

Specifies the name of a material to be excluded or not excluded from the display.suppressvar, unsuppressvar

Specifies the name of a variable to be excluded or not excluded from the display. Apattern can be specified to exclude a set of variables, for example, *Interstitial*.Patterns are matched using the function Tcl_StringMatch().

terms Enables term fields.view.fit Fits the view.xyautofit Resets all x-y axes ranges to preset values after each update.x1auto, x2auto, x3auto, x4auto, x5auto, xautoy1auto, y2auto, y3auto, y4auto, y5auto, yauto

Enables the automatic range reset for the specified axis; the default is true.x1log, x2log, x3log, x4log, x5log, xlogy1log, y2log, y3log, y4log, y5log, ylog

Sets or unsets logarithmic mode for the specified axis; the default is true for y-axes.x1max, x1min, x2max, x2min, x3max, x3min, x4max, x4min, x5max, x5min, xmax, xminy1max, y1min, y2max, y2min, y3max, y3min, y4max, y4min, y5max, y5min, ymax, ymin

Sets the lower and upper range limits for the specified axis. This disables automaticrange reset for the corresponding axis.

xyshow Specifies variables that should be displayed as xy-mappings. Wildcards can be usedin the variable names.

485

Page 506: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

plot.xy

Examples: # if a structure has already been createdplot.tec start; # start graphics# Perform a process step here...# (implant, diffuse, etch/depo, etc...)plot.tec grd data; # update graphics

Allows independent scaling of axes and fits the view:plot.tec macro="TWODAXIS AXISMODE = INDEPENDENT"plot.tec view.fit

Saves a Tecplot SV package file:plot.tec macro="SAVELAYOUT 'example.lpk' INCLUDEDATA = YES"

Prepares for displaying boron and stress data on separate y-axes, with the legendenabled, with linear scaling for the stress variables, and with boron as the contouringvariable for 2D mode:plot.tec xyshow=”Boron* Stress*” y1axisvar=Boron* y2axisvar=Stress* !y2log

y2min=-1e-6 y2max=1e-5 contourvar=Boron legendplot.tec set.variables=Boron* scale=logplot.tec set.variables=Stress* scale=lin

See: Tecplot SV, Launching or connecting to Tecplot SV from Sentaurus Process onpage 13

Function: Prepares an xy plot to draw on.Syntax: plot.xy

[clear] [min=<numeric list>][max=<numeric list>] [x.log][y.log] [x.axis=<c>][y.axis=<c>]

Description: This command configures a 2D plot surface for use with the point.xy command. Thisprepares axis scaling, labels, and controls log axes. (Using this command and thepoint.xy command could simulate all other commands in this section.)

Options:

clear This parameter clears the existing plot surface. The default is true.max This command takes a list of numeric values that will be the ends of the x- and y-

axis, respectively. The first argument is x and the second is the y value. A singlevalue is always interpreted as the x value. The default is the maximum extent of thecurrent structure.

min This command takes a list of numeric values that will be the ends of the x- and y-axis, respectively. The first argument is x and the second is the y value. A singlevalue is always interpreted as the x value. The default is the minimum extent of thecurrent structure.

486

Page 507: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

point

x.axis, y.axis

These two parameters provide the labels for the x-axis and y-axis.x.log, y.log These parameters control whether there is a linear or log axis. If log is selected, the

logarithm of the values on the point.xy command are taken. The axis will also havelog scale form.

Examples: plot.xy min = {1 0.0} max = {3600 0.75} x.axis=Time y.axis=ThicknessThis prepares a plot area.

See: point.xy on page 488, select on page 498

Function: Creates a point.Syntax: point

[coord= {<n>[(<m>|<cm>|<um>|<nm>)]<n>[(<m>|<cm>|<um>|<nm>)] <n>[(<m>|<cm>|<um>|<nm>)]}]

[name=<c>][list clear]

Description: Defines a point in the 3D coordinate system or a 2D point in the yz-plane. It can beused to construct polyhedrons to define masks.

Options:

clear Clears the list of all points. If a name is specified, it clears only that pointinformation.

coord Defines the coordinates of the point. For a 3D point, all three must be specified. Ifonly two are defined, a 2D layout point in the yz-plane is assumed. The default unitis μm.

list Prints a list of currently defined points. If a name is given, it prints the informationfor this point only.

name Specifies the name of the point.Examples: point name=p1 coord= {0 -1.5}

This defines a 2D point with the coordinates y = 0 and z = –1.5.See: mask on page 466, polygon on page 489

487

Page 508: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

point.xyFunction: Adds a line segment to an existing plot.Syntax: point.xy

x=<n> y=<n> [name=<c>] [color=<c>] [symb=<c>] [move]

Description: This command adds segments to a specified line on an existing plot surface using theX-windows-based plotting (plot.1d or plot.2d). It can be used to plot calculatedvalues, data, or direct outputs from the simulation. The values can be added to anynamed line.

Options:

color The color for the line. It can be any color supported by the X11 hardware and namedin the color database.

move Instead of drawing from the last point, the graphics pen is placed at this pointwithout moving. This, combined with symb, can be used to draw scatter plots.

name This is used to name a line, so that points can be added to the line at a later time. Thename can be any valid character string, and is used in the plot legend. If the namedline does not exist, it is created.

symb The first character of this string is used to mark the line. The default is x. If nosymbol is specified, none will be used. If a symbol is specified once for a line, it isused for all lines.

x, y The values to be added to the plot. They must be specified.Examples: point.xy x=60.0 y=0.1 name=Thickness

x and y values are added to the line named Thickness.See: interface on page 453, interpolate on page 454, plot.xy on page 486,

select on page 498

488

Page 509: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

polygonFunction: Creates a polygon.Syntax: polygon

[points= {point_1 point_2 ... point_n}][segments= {

y_1[(<m>|<cm>|<um>|<nm>)]z_1[(<m>|<cm>|<um>|<nm>)]y_2[(<m>|<cm>|<um>|<nm>)]z_2[(<m>|<cm>|<um>|<nm>)] ... y_n[(<m>|<cm>|<um>|<nm>)]z_n[(<m>|<cm>|<um>|<nm>)]}]

[min= {y[(<m>|<cm>|<um>|<nm>)]z[(<m>|<cm>|<um>|<nm>)]}]

[max= {y[(<m>|<cm>|<um>|<nm>)]z[(<m>|<cm>|<um>|<nm>)]}]

[rectangle][name=<c>] [list clear]

Description: Defines a polygon. This can be used to define a mask.Options:

clear Clears the list of all polygons. If a name is specified, it clears only that polygoninformation.

list Prints a list of currently defined polygons. If a name is given, it prints theinformation for this polygon only.

min This is the minimum point for a rectangular box.max This is the maximum point for a rectangular box.name Specifies the name of the polygon.points A list of points is used to specify the polygon in 3D.rectangle Defines a rectangle from the first two points in the points list. All other points are

ignored. It is used with min and max to define a rectangular box.segments A list of 1D segments in the yz-plane is used to specify a polygon in 3D.Examples: point name=p1 coord= {0.0 0.0}

point name=p2 coord= {0.0 -0.5}point name=p3 coord= {0.5 -0.5}point name=p4 coord= {0.5 0.0}

polygon name=Box1 points= {p1 p2 p3 p4}polygon name=Box2 points= {p2 p4} rectanglepolygon name=Box3 min= {0.0 -0.5} max= {0.5 0.0} rectangleCreates three identical rectangles using points and coordinates.

489

Page 510: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

print.1d

Examples: polygon name=LShape segments= {0.0 -1.5 0.0 -0.5 0.5 -0.5 0.5 1.5 1.5 1.5 1.5 -1.5}This defines an L-shaped polygon using 1D line segments.

See: mask on page 466, point on page 487

Function: Prints values along a 1D cross section.Syntax: print.1d

[x=<n>][(<m>|<cm>|<um>|<nm>)][y=<n>][(<m>|<cm>|<um>|<nm>)][z=<n>][(<m>|<cm>|<um>|<nm>)][name=<c>] [gas][interfaces]

Description: The command is used to print the values along cross sections through the device.This is particularly useful for dumping to another plot program. A Tcl list is returnedfor all values. This allows subsequent processing (for example, integration) of theresulting profile.

Options:

gas By default, gas values are not reported. This option allows the gas mesh to beincluded in the extracted data.

interfaces This parameter is used to print interface data from the field specified with the nameparameter. Values from all interfaces are displayed on the screen and are organizedby interface. For each point on the interface, a set of numbers is displayed asfollows: {x value} in 1D, {x y value} in 2D, and {x y z value} in 3D, where x, y, andz are the coordinates of the interface point and value is the value of the specifiedfield.

name This is used to specify the name of a data field. This allows printing without usingthe select command. The default is to use the field specified in the most recentselect command.

x, y, z These parameters specify the constant values of a line along which sectioning isperformed. In one dimension, these parameters are not necessary. In twodimensions, only one of x or y can be specified for a given device. Specifying xproduces a horizontal slice through the device and y specifies a vertical slice. Aneasy way to remember this is that the cross section is taken at the constant valuespecified. For a 3D simulation, two of these three parameters must be specified. Thedefault unit is μm.

490

Page 511: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

print.data

Examples: print.1d x=1.0This command prints the selected value at x equal to 1 mm.

print.1d y=1.0 name=ArsenicThis command prints the data field named Arsenic along a vertical line at a lateralposition of 1.0 μm.

See: plot.1d on page 480, select on page 498, tclsel on page 511

Function: Writes data in x, y, and z format.Syntax: print.data

[name=<c>] [outfile=<c>] [xlo=<n>][(<m>|<cm>|<um>|<nm>)] [xhi=<n>][(<m>|<cm>|<um>|<nm>)] [ylo=<n>][(<m>|<cm>|<um>|<nm>)] [yhi=<n>][(<m>|<cm>|<um>|<nm>)] [zlo=<n>][(<m>|<cm>|<um>|<nm>)] [zhi=<n>][(<m>|<cm>|<um>|<nm>)] [NODE][EDGE]

Description: This command displays the selected data field. The file format is the x position, yposition, and z position. This command is primarily used to write a data field for usewith a more sophisticated 3D plotting program.

Options:

name Specifies the name of a data field. This allows printing without using the selectcommand. The default is Z_Plot_Var.

NODE, EDGE These Booleans are used to specify a node or edge-based field, respectively. Thedefault is node based.

outfile Name of file. The file is opened for writing, and any previous contents is destroyed.xlo, ylo, zlo, xhi, yhi, zhi

These parameters provide a 3D bounding box. Only data within these limits isprinted. The default unit is μm. The default value is zero.

Examples: print.data outfile=foo name=BoronThis command prints the data field named Boron.

See: print.1d on page 490, select on page 498

491

Page 512: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

profileFunction: Reads a data file and constructs a data field.Syntax: profile

infile = <c> name = <c> [offset = <n>][(<m>|<cm>|<um>|<nm>)] [xscale = <n>] [ymin = <n>] [(logarithmic | linear)]

Description: This command is used to read data files and add them to the structure. This allowsreading a doping profile from a SIMS measurement, for example. In 2D structures,the data field is created uniformly in the lateral direction.

Options:

infile Name of the data file. The file should be in two-column format with depth in columnone and the variable in column two. The depth is in micrometers. It will also read theoutput of the print.1d command, which includes Tcl braces for list processing andthe material name.

logarithmic, linear

Interpolate data using logarithmic or linear interpolation. logarithmic is usually moreaccurate for concentration profiles and is the default value.

name A data field name must be specified. The name parameter allows creation of arbitraryfields, for example, a field called Measured.

offset This value is subtracted from the x-coordinate in the data file when creating the datafield. This allows a profile to be shifted. The default unit is μm. The default value iszero.

xscale The profile command assumes the x-dimension is in micrometers. This commandallows users to scale the depth dimension if necessary. For example, if the depth is inångströms, should be specified. The default value is 1.0.

ymin The minimum acceptable value of the data field. This value is added to every read indata field. This is useful for data which may approach zero when using logarithmicinterpolation.

Examples: profile name=Boron infile=utmar.bor xscale=1.0e-4 ymin=1.0e14Reads a boron profile into the program. This could be from a Monte Carlo implantcode – UT MARLOWE. Scale the depth by to convert the ångström ofMARLOWE to micrometer. Since the output of MARLOWE is sometimes zero, aminimum value of is specified.

profile name=Data inf=SIMSReads a filed named SIMS into a data field called Data. This can be performed toinitialize a device doping profile or to read in a measured profile that is the target ofa diffusion extraction.

1 10 4–×

1 10 4–×

1 1014×

492

Page 513: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

reactionFunction: Defines the reacting materials.Syntax: reaction

(list | (name = <c> mat.r = <c> mat.l = <c> mat.new = <c>))[new.like = <c>] [diffusing.species = <string list>][ambient]

Description: This command is used to define reacting materials and the new material that formsas the product of the reaction. The convention for interface materials is mat1_mat2where the materials are ordered alphabetically. For the purpose of this command, leftrefers to mat1 and right refers to mat2. Both materials must be specified when usingthis command. Silicidation and oxidation rely on this information.

Options:

ambient Specifies whether the reaction requires an ambient.diffusing.species

A list of reactants. If this is an ambient-type reaction, the list cannot have more thanone reactant name (for example, O2 for dry oxidation). The list can have more thanone reactant name if the reaction does not require ambients. Reactants areautomatically added to the global solution list in the SetReactantSolutions procedure.

list Lists the names of the already defined reactions.mat.l A valid material name for the material on the right-hand side of the interface.mat.new A valid material name as the product of the reaction.mat.r A valid material name for the material on the left-hand side of the interface.new.like Name of the existing material that the new material is behaving like. This includes

the existing material and other material interfaces. It is performed in the ReactantLikeprocedure.

name A reaction name must be specified. The parameter name is used to identify thereactions during growth process.

Examples: reaction name=MyDryOx mat.l=Silicon mat.r=Gas mat.new=oxidediffusing.species = O2 ambientDefines a reaction named MyDryOx. The reaction will occur at the gas–siliconinterface and the new material will be oxide. For the reaction to occur, O2 must bepresent in the structure. It is expected that the user will provide the actual reactionequation for the interface using the Alagator language (see Alagator for genericgrowth on page 324).

493

Page 514: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

refinebox

Examples: reaction name=silicidation mat.l=Silicon mat.r=Titaniummat.new=TiSilicide diffusing.species = {Silicon Titanium} new.like=oxideIn this example, silicon and titanium are the reacting materials. The product of thereaction is titanium silicide. Two species, silicon and titanium, are needed for thereaction. It is expected that the user will provide the actual reaction equations for theinterface using Alagator language.

See: Alagator for generic growth on page 324

Function: Sets local grid parameters and performs a grid refinement using the MGOALSlibrary.

Syntax: refinebox [clear] [add] [<material> | all)] [min = <numeric list>] [max = <numeric list>] [xrefine = <numeric list>] [yrefine = <numeric list>][remesh][interface.materials= {string list}] [list.interface.mats] [clear.interface.mats]keep.lines default [material.name]

[min.normal.size = <number><um>][normal.growth.ratio = <number>[max.lateral.size = <number><um>][def.rel.error = <number>][def.abs.error = <number>][rel.error = {field1 = <number> field2 = <number> ...}][abs.error= {field1 = <number> field2 = <number> ...}][refine.add.fields = {string list}][refine.fields = {string list}][refine.expr = string][refine.field.expr = {field1 = string field2 = string ...}[refine.type = <string>] [min.value = <number>] [max.value = <number>][target.length = <number>] [target.length = <scaling>] [name.list= {string list}] [node.number] [value=<number>][max.dev.angle=<number>]

Description: This command is used to specify refinement boxes (rectangles) and perform gridrefinement according to defined local grid parameters using the MGOALS library.Refinements are controlled in the x and y directions.

Options:

add Used to add refinement boxes to the existing ones.clear Used to delete all previously defined refinement boxes.max This is a Sentaurus Process list of two numbers defining the x- and y-coordinates of

the lower-right corner of the rectangle box in the Sentaurus Process coordinatesystem. The default unit is μm.

494

Page 515: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

<material>, all

Any material (which need not be fully contained in the rectangle) can be specified orall the materials can be specified with the all keyword. See Appendix B on page 519for information about specifying materials.

min This is a Sentaurus Process list of two numbers defining the x- and y-coordinates ofthe upper-left corner of the rectangle box in the Sentaurus Process coordinatesystem. The default unit is μm.

remesh The command with this parameter is called separately to make the refinement boxestake effect.

xrefine This is a Sentaurus Process list of three numbers defining the element sizes in the x-direction at the top, center, and bottom (in Sentaurus Process coordinates) of thebox. The default unit is μm.

yrefine This is a Sentaurus Process list of three numbers defining the element sizes in the y-direction at the top, middle and bottom (in Sentaurus Process coordinates) of thebox. The default unit is μm.

Interface refinement control

clear.interface.mats

Clears the list of materials specified by interface.materials.interface.materials

All interfaces that contain any of the materials listed here are refined using themin.normal.size criterion. By default, interface.materials consists of Silicon andPolySilicon. Specifying interface.materials replaces the default list with the new listof materials.

interface.mat.pairs

A set of pairs of materials where interface meshing will be turned on (1st and 2nd,3rd and 4th and so on).

list.interface.mats

Prints a list of materials that make up the list of interface materials that will berefined.

max.lateral.size

Specifies maximum lateral spacing at the interface.min.normal.size

Specifies minimum edge spacing at interfaces for this box.normal.growth.ratio

Specifies edge to edge growth ratio moving away from an interface.Adaptive meshing parameters

abs.error Sets a field dependent value of minimum significant field value.def.abs.error Sets the field independent default value of minimum significant field value.def.rel.error Sets the field independent default value of the desired relative change of a field

across an edge.

495

Page 516: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

max.value The maximum interval value for interval refinement.min.value The minimum interval value for interval refinement.rel.error Sets a field dependent value of the desired relative change of the refined field across

an edge.refine.add.fields

Adds fields to the default list of fields considered for adaptive refinement.refine.expr Sets a refinement expression.refine.fields Replaces the default list of fields considered for adaptive refinement.refine.field.expr

Sets a field dependent refinement expression.refine.max.edge

Sets the direction dependent maximum edge length.refine.min.edge

Sets the direction dependent minimum edge length.refine.rm.fields

Removes specified fields from the default list of fields considered for adaptivemeshing.

refine.type The type of criteria to apply for adaptive refinement. Allowed values are "interval"and "error." The default is "error."

target.length The target length (in micrometers) for interval refinement.target.length.scaling

The scaling factor used in the calculation of the effective target length for intervalrefinement.

General parameters

default Defaults to keeping lines in the lowest silicon region.keep.lines Keeps lines in the regions or materials that follow.material.name If this is true, the name.list should contain material names. If this is false, name.list

should contain region names.max A Sentaurus Process list defining the x- and y-coordinates of the lower-right corner

of the box.max.dev.angle Defines allowed deviation within which lines are still considered to be straight.min A Sentaurus Process list of two numbers defining the x- and y-coordinates of the

upper-left corner of the rectangle box in the Sentaurus Process coordinate system.name.list String list of region names or material names as specified by material.name Boolean.node.number A Boolean that takes the number of nodes from the value keyword if true and takes

the line length percentage from the value keyword if false.value Number of nodes that define a line to keep or a percentage of the length of line that

is straight depending on the node.number Boolean.

496

Page 517: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

region

Examples: refinebox min= {-0.25 0.4} max= {0.4 0.6} xrefine= {0.1 0.06 0.1}yrefine= {0.1 0.01 0.1} oxide refinebox min= {0.6 0.6} max= {0.8 0.8}xrefine= {0.1 0.03 0.1} yrefine= {0.1 0.03 0.1} silicon refinebox remeshDefines two refinement examples and calls remesh.

refinebox !material.name name.list= {Silicon_1} keep.linesKeeps mesh in the Silicon_1 region only.

refinebox min= {0 0} max= {1 1} material.name name.list= {GaAs} keep.linesKeeps mesh lines in a box.

Changing the values of node.number, value, and max.dev.angle may produceunpredictable results.

See: mgoals on page 473

Function: Specifies the material of rectangles in a rectangular mesh.Syntax: region <material>

xlo = <c> [ylo = <c>] [zlo= <c>] xhi = <c> [yhi = <c>] [zhi = <c>][substrate] [name=<c>] [substrate][alt.matername][change.material][field = <c> & (resistivity = <n>[(<ohm/cm>)] | concentration = <n>)]

Description: This statement is used to specify the material of rectangles in a rectangular mesh.region statements should follow line statements. Every element must be given somematerial, so at least one region statement is required for each rectangular mesh. TheBoolean substrate keyword is used to set a named region to be tagged as thesubstrate.

Options:

alt.matername This parameter is used to specify an alternative material name to be saved whentransferring a structure to Sentaurus Device (must be used with the name parameter).The main use for this parameter is converting compound material names based onfields present in the structure. For example, by default Sentaurus Process willconvert any Silicon regions to SiGe if the field Germanium is present and above anominal concentration.

change.material

This parameter allows users to change the material of an existing region (must beused with the name parameter) The Sentaurus Process–Sentaurus Structure Editormethod uses this capability in 3D to change from one structure to the next withoutchanging the mesh.

concentration Specifies the value of the field directly.field Gives the name of a field to be initialized within this region.

497

Page 518: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

select

<material> The material of the region. See Appendix B on page 519 for information aboutspecifying materials.

name Allows users to specify a name for the region. The name should not contain anunderscore (‘_’) or a period (‘.’) because these characters have special meaning.

resistivity Sets the value of the field by requesting a resistivity. This parameter only works forfields that have the pdb resistivity parameters set (which by default is only As, B, P,Sb and In in silicon).

substrate This Boolean flag allows the update_substrate command (see update_substrate onpage 517) to apply the strain mismatch due to dopants and allows users to tag anamed region as the substrate for subsequent analysis.

xlo, ylo, zlo, xhi, yhi, zhi

The bounds of the region being specified. The <c> value should be one of the tagscreated in a preceding line statement.

Examples: region silicon ylo=left yhi=right xlo=surf xhi=back field=Boron \resistivity=10

This example creates a 2D silicon region using the statements from the example forthe line command (see line on page 463). In addition, boron would be initialized inthis region to a value such that the resistivity would be 10 /cm.

See: init on page 450, line on page 463

Function: Selects the plot variable for the postprocessing routines.Syntax: sel, select

[<material>] [z=<c>] [name=<c>] [list] [store][present][permanent][delete][element][min|max]

Description: The select statement is used to specify the variable for display in all postprocessingcommands. Data can be selected directly in most commands, but it is usually moreeffective to specify it with this command, which allows for manipulation of datafields and also will list all currently defined data fields. The quantity can becomputed on nodes (default) or on elements using the element parameter. In eithercase, if necessary, interpolation will be performed to obtain the proper value type (toobtain element values from nodal ones or visa versa).

Options:

delete This deletes the data field with the name defined by the name parameter.element Computes the field on elements interpolating fields in the z expression if necessary.

If false and element fields appear in the z expression, those values are interpolated tothe nodes first.

Ω

498

Page 519: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

list This parameter returns a list of currently defined and named real data fields. Thisreturns a full Tcl list, for use with those commands that require list variables.

<material> This parameter is used to specify the material to which the command applies.Different expressions for the data field initialization in different materials can beused. See Appendix B on page 519 for information about specifying materials.

min|max These parameters must be used with the name parameter. When specified, the selectcommand returns the minimum or maximum of the field name. It is possible to limitthe query to a specific material using the material parameter or a specific regionusing the region parameter.

name Name of the new data field. The default is the name is Z_Plot_Var. This is used by allof the commands when a plot name is not specified. This is a powerful feature, assolution fields can also be created.

permanent This sets the data field with the name defined by the name parameter to be writteninto permanent storage when a structure file is output.

present This parameter allows users to know if the data field with the name defined by thename parameter exists.

store This parameter controls whether the data field is written into permanent storagewhen a structure file is output. The default is false.

z This parameter accepts an expression of data fields that are used to build a new datafield. The operators *, /, +, –, and ^ all work in the expected way. The vectorvariables are listed below. The data fields available can be listed with the listparameter. In addition to the listed data fields, the x- and y-coordinates can bespecified. Several functions are also available to operate on data fields:abs Absolute value.erf Error function.erfc Complementary error function.exp Exponential. log Logarithm.log10 Logarithm base 10.sqrt Square root.

Examples: select z=log10(Arsenic)Selects as the plot variable the base 10 logarithm of the arsenic concentration.

select z=(Phosphorus - 5.0e14)Selects as the plot variable the P concentration minus a constant value of .

select z=(phos - 1.0e18 * exp ( y * y / 1.0e-8 )) name=Doping storeSelects as the plot variable the difference between the phosphorus and an analyticprofile. This data field will be named Doping. The store flag indicates that the dopingfield should be written into any saved structure files.

select name=Boron deleteDelete the Boron data field.

select listList all available real data fields.

5 1014×

499

Page 520: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

SetDFISEList

See: All postprocessing commands

Function: Sets a list of solution or term names to be included when saving DF–ISE formatfiles.

Syntax: SetDFISEList[solution/term names][Solution][Dopants]

Description: A solution or term name list created using this command will be passed to the structcommand. Depending on the flags provided by the user, solution names or dopantnames can be included or excluded from the fields that need to be written to theDF–ISE files. If called with no calling arguments, the default saving is used, whichincludes all solutions, total and active dopant fields, and NetActive

(DopingConcentration). This command does not affect fields saved in files for Mdrawor Mesh (that is, using struct ise.mdraw).

Options:

Dopants Dopants (default to true) include total and active dopant concentrations. !Dopantsdoes not save total and active dopant concentrations, but still saves NetActive(DopingConcentration).

Solutions Solutions (default to true). Stores all solution variables (necessary for restarting asimulation. Using !Solutions switches off all default saving (only fields specified byname will be saved to DF–ISE files).

solution/term names

Any known fields listed on the command line are added to files saved with structdfise=<filename>.

Examples: SetDFISEList BActive !SolutionsThis command allows only the BActive field to be written to the DF–ISE file.

SetDFISEList Int0 Intm Vac0 VacppThis command adds the Int0, Intm, Vac0, and Vacpp fields to those normally saved inDF–ISE files.

SetDFISEList !Solutions DopantsSaves only NetActive, and total and active dopants.

500

Page 521: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

SetDiosEquilibriumModelMode and SetDiosPairModelMode

SetFastMode

Function: Switches default diffusion settings to Dios equilibrium model and Dios pair modelsettings.

Syntax: SetDiosEquilibriumModelMode

SetDiosPairModelMode

Description: The commands SetDiosEquilibriumModelMode and SetDiosPairModelMode set SentaurusProcess parameters to the same as the Dios default parameters, and then set theSentaurus Process model selection switches to be the same as the Dios equilibriummodel or pair model, respectively.

However, Sentaurus Process and Dios default settings for diffusion do not matchexactly. SetDiosPairModelMode will change point-defect parameters, ChargeStates,ChargeStateScale, Cstar, Kbulk and point-defect diffusion coefficients in silicon andpolysilicon. In addition, the point-defect parameters, Ksurf, Krat, theta, and Scale willbe changed for the silicon–oxide interface and gas–silicon interface. The point-defect boundary condition for point defects at the gas–silicon interface will be set toDirichlet. The command also switches on the equilibrium interstitial cluster modeland sets its parameter KCluster. To include charged point-defect effects in thepotential equation, the charge model for point defects is set to Defect. For dopants,arsenic, boron, phosphorus, antimony, and indium, the command changes theirdopant–defect diffusion coefficients and dopant–defect pairing coefficients(ChargePair) in silicon and polysilicon. It also modifies their segregation and transfercoefficients for silicon–oxide, gas–oxide, and polysilicon–oxide interfaces. Thecommand sets ActiveModel to None for all dopants except for boron. The ActiveModelfor boron will be set to Transient. To include charged dopant–defect pairs in thepotential equation, the charge model for dopants must be set to DopantDefect. Finally,the dopant diffusion model will be set to the ChargedPair model.

Function: Omits diffusion and Monte Carlo implant to simulate the device geometry quickly.Syntax: SetFastMode

Description: This command can be used to run the simulation quickly without simulating dopantsand defects. This can be useful when setting up an input file to confirm quickly thatthe geometry is satisfactory before simulating more computationally expensivesteps. It is possible to switch off implantation using "pdbSet ImplantData NoImplant 1"

and to switch off oxidation/reaction using "pdbSet Diffuse NoDiffusionReaction 1",which may be useful for 3D geometry simulation.

Examples: SetFastMode

501

Page 522: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

SetPlxList

SetTDRList

SetTemp

Function: Sets a list of solution and term names to be passed to WritePlx command.Syntax: SetPlxList [solution/term names]

Description: A solution or term name list created using that command is passed to the WritePlxcommand. The SetPlxList command can be used repeatedly to append necessarynames to the list.

Options:

solution/term names

This defines the name list to be passed to the WritePlx command.Examples: SetPlxList { Boron IntTotal }

WritePlx B_and_I.plxWrite a .plx file with the data fields Boron and IntTotal.

See: WritePlx on page 517

Function: This command has the same syntax as SetDFISEList. Currently, there is only one listof fields to be stored when using either TDR or DF–ISE format files (that is,SetTDRList and SetDFISEList perform exactly the same function).

Function: Sets the temperature value.Syntax: SetTemp <n>

Description: This command sets the temperature value in degrees Celsius.Examples: SetTemp 1000.0

The temperature is set to 1000oC.

502

Page 523: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

SetTS4MechanicsMode

SheetResistance

simDelayDouble

Function: Sets mechanics and oxidation parameters to match those of TSUPREM-4.Syntax: SetTS4MechanicsMode

Description: This command sets all the mechanics and oxidation parameters in Sentaurus Processto match TSUPREM-4 settings. This includes all the mechanics-related materialparameters including the bulk and shear moduli, viscosities, breakdown values,activation volumes, coefficients of thermal expansion, linear and parabolic reactionrates, oxidant diffusivities, stress dependence coefficients, and parameters of theMassoud model.

Function: Calculates the sheet resistance and p-n junction depth.Syntax: SheetResistance [x=<n>][y=<n>][z=<n>]

Description: This command calculates the sheet resistance and p-n junction depth of asemiconductor layer in the vertical direction.

Options:

x, y, z Specify the cut position. For 1D simulations, no cut specification is necessary. In2D, either x or y should be specified and, for 3D simulations, two axes must bespecified. The unit for x, y, and z is μm.

Examples: SheetResistance y=0.4 z=-0.1Calculates the sheet resistance and p-n junction depth of a 3D structure using the cutplane y = 0.5 μm and z = –0.1 μm.

See: Chapter 12 on page 417

Function: Delays collection of a simulator set global double-precision variable.Syntax: simDelayDouble <c> [<c>]

Description: This command is very similar to the simGetDouble command except that theevaluation of the return expression is delayed.

Examples: simDelayDouble Diffuse tempCThis command returns [simGetDouble Diffuse tempC], which is the unevaluatedexpression itself.

503

Page 524: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

simGetDouble

simGetSwitch

slice

Function: Collects a simulator set global double-precision variable.Syntax: simGetDouble <c>[<c>]

Description: This command collects a simulator set global variable. Simulator set globalvariables are temp, tempK, tempC, Vti, pO2, and PH2O. If the variable is not defined, itreturns zero.

Examples: simGetDouble Diffuse tempKThis command returns the last diffusion temperature [K].

simGetDouble Diffuse pO2This command returns the oxygen partial pressure used during simulation.

Function: Collects a simulator set global switch variable.Syntax: simGetSwitch <c>[<c>]

Description: This command collects a simulator set global switch variable. Simulator set globalswitch variable is ambient. If the variable is not defined, it returns zero.

Examples: simGetSwitch Diffuse ambientThis command returns the ambient type used during the last diffusion step (forexample, dry=0, wet=1).

Function: Extracts a 1D data slice through the 2D to 3D simulation object.Syntax: slice [<material>]

[name = <c>] [x = <n>][(<m>|<cm>|<um>|<nm>)] [y = <n>][(<m>|<cm>|<um>|<nm>)] [z = <n>][(<m>|<cm>|<um>|<nm>)] [value=<n>] [mx][my][mz][mdist]

504

Page 525: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

solution

Description: This is an extremely powerful data analysis tool. It allows the extraction of x-y dataalong a slice through a specified material. The return is a Tcl list of lists ofcoordinates. Each list of coordinates represents a profile of the selected quantity(refer to the select command for details on selecting a quantity from the solid).

This command can be used to extract the selected variables as a function of positionalong a constant line. In one dimension, the command is used to return theconcentration versus depth, for example. It can also be used to extract a constantcontour of the data selected and returns the coordinates of the isoconcentration line.

Options:

<material> See Appendix B on page 519 for information about specifying materials.mx, my, mz, mdist

These Booleans change the reporting information when interface materials areselected. The interface distance can be reported as projected along one of the threeprimary axes (mx, my, mz). Alternately, it can be reported as the distance along theextracted line (mdist).

name Specifies the name of the data field. The default is Z_Plot_Var.x, y, z, value

These parameters specify a cutline for up to a four-dimensional solid, so that a 2Dreturn is provided. For 1D simulations, none of these parameters are required. For2D simulations, one is required. For 3D simulations, two are required. Theserequirements are reduced by one if an interface material has been specified. Thedefault unit for x, y, and z is μm.

Examples: slice silicon y=0.0This command returns the selected variable as a function of depth at a constantlateral position of 0.0 μm.

slice silicon val=16.0This command returns the x and y positions of a contour of the selected variable at16.0.

slice silicon /oxide mdistThis command returns the distance from the start of the interface.

See: select on page 498, tclsel on page 511

Function: Obtains and sets solution parameters for generic solutions using Alagator.Syntax: solution

[add] [list] [present] [needsolution] [nosolve] [ifpresent=<c>] [solve] [damp] [negative] [OxStep] [DiffStep] [DiffOxStep] [InitStep] [name = <c>]

505

Page 526: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

Description: This command is used to create and modify solution names, and set conditions fortheir inclusion in the assembly. Solutions can also be listed and checked.

Options:

add Creates a new solution.damp Damps the Newton iteration updates for this solution.list Lists all of the currently defined solutions.name The character string used for the solution. Capitalization is not ignored, for example,

Boron and boron are different. Abbreviations of the name are not accepted.needsolution Returns true if the solution needs to be solved.negative Allows the solution specified to have negative values.nosolve, solve, ifpresent

Only one of these options can be used at a time. They control the solution status forthe next command: nosolve means do not solve, solve switches on the solution statusfor the next command, and ifpresent sets up a conditional solve. If all the solutionsin the specified list are also being solved, this solution is solved.

OxStep, DiffStep, DiffOxStep, InitStep

This determines in which solver the solution variable will be solved. OxStep variablesare solved in the reaction step and are usually oxidants. DiffStep variables are solvedwith the diffusion solver such as dopants and defects, DiffOxStep can be used to solvea variable in both places, and InitStep variables are solved during initialization step.

present Returns true if the solution is defined and a data field matches the name.Examples: solution name=Potential damp negative solve add

Creates a solution named Potential and always solves for it. Allows the solution tohave negative values and uses damping on the Newton iteration updates.

solution name=Int !damp !negative solve addCreates a solution name Int and always solves for it. Does not use damping and doesnot allow values to become negative.

solution name=I2 !damp !negative ifpresent = {Int Vac} addCreates a solution named I2 and solves for it if Int and Vac are also present and beingsolved.

solution listReturns a list of all solutions.

solution name=Int presentReturns a Boolean true if Int has been defined and there is a data field with the nameInt.

See: term on page 514

506

Page 527: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

strain_profile

stress

strip

Function: Defines the strain introduced by a dopant as a piecewise linear function of the molefraction in a given substrate.

Syntax: strain_profile <material> species=<c> ratio= <numeric list> strain= <numeric list>

Description: The presence of certain materials such as germanium in silicon can modify thelattice-spacing. This command allows Sentaurus Process to compute strains usingthe dopant mole fraction.

Options:

<material> Substrate material where the strains are defined.ratio The mole fraction of the species; ranges from 0 to 1.species Species in the substrate that cause the strain.strain The strain caused by the specified mole fraction; ranges from 0 to 1.Examples: strain_profile silicon species=Germanium ratio= {0 1} strain= {0 0.0425}

See: update_substrate on page 517

See: mechdata on page 473

Function: Completely removes surface layers.Syntax: strip <material>

Description: This command removes an exposed layer and the procedure is very fast since itsimply marks elements as gas. It is recursive so that it removes all connected layers.The algorithm finds any exposed mesh that matches the material and deletes themesh. This continues until all meshes fitting the description are removed.

Options:

<material> The specified material, if exposed, is completely removed. See Appendix B onpage 519 for information about specifying materials.

Examples: strip oxideRemoves all exposed oxide regions.

507

Page 528: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

structFunction: Reads and writes the mesh and solution information.Syntax: struct

[(dfise = <c> | tdr=<c> | infile=<c> | outfile=<c> | ise.mdraw=<c>)][pdb] [pdb.only]

[bnd] [contacts] [interfaces] [grdfile = <c>] [datfile = <c>] [bndfile = <c>] [compress] [alt.maternames] [Gas] [cylindrical][mgoals.contacts]scale=<n> [binary]

Description: This statement allows users to read and write the entire mesh and solution set. Thedata saved is from the current set of solution values.

Options:

alt.maternames

This parameter is used to save alternative material names to DF–ISE or TDR formatfiles. If the user chooses an alternative name for a material usingmater alt.matername, the alternative material name will be used when this parameteris specified. Usually, this is only used for transferring to device simulation becausethe original material name is no longer available in the DF–ISE file. However, withTDR, the Sentaurus Process material name is also stored in the file so both theproper and alternative names are available.

binary Use binary (not the default compressed ASCII) format when writing DF–ISE files.bnd This parameter allows users to save a DF–ISE format boundary file containing a set

of singly connected polygons, which constitutes the definition of the boundaries of astructure. The default is false.

compress This is used to write compressed or uncompressed DF–ISE format files.Compressed files are written by default.

contacts This parameter is used to write contacts defined in the contact command into theboundary file.

cylindrical This specifies that cylindrical symmetry should be assumed along an axis of y = 0.0.

508

Page 529: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

dfise This parameter is used to save a pair of DF–ISE format files. The extensions_fps.grd and _fps.dat are automatically added. Therefore, if dfise=filename isspecified, Sentaurus Process saves the files filename_fps.grd and filename_fps.dat.Currently, the coordinate system for Sentaurus Process differs from DF–ISE. InSentaurus Process, the x-direction is always perpendicular to the substrate surfaceand the positive direction increases with depth into the substrate (the negativedirection is up). The y- and z-directions are parallel to the initial substrate surface in2D and 3D, respectively. In DF–ISE, there are different coordinate systems for 2Dand 3D. In 2D, x is parallel to the initial substrate surface and negative y is up. In3D, in the DF–ISE coordinate system, positive z is up, and x and y are parallel to theinitial substrate surface. There is a default coordinate transformation that rotates thestructure upon saving so that the orientation of the structure appears the same withthe plot command as it does with Tecplot SV. Only the axis labels (and in 3D, thepositive direction) change. To change the coordinate rotation, use the math command.

Gas By default, Sentaurus Process writes a gas region into DF–ISE files. To switch itoff, !Gas can be specified.

grdfile, datfile, bndfile

This can be used to specify the corresponding file names separately and without anymodification.

infile Loads a Sentaurus Process native format structure file.ise.mdraw Saves a set of files to be transferred to device simulation using Mdraw or Mesh. The

files created (if this parameter is set to <filename>) are a boundary file<filename>_mdr.bnd, Mdraw or Mesh command file <filename>_mdr.cmd, and DF–ISEfiles <filename>_fps.grd and <filename>_fps.dat. The fields stored in the grid and datafiles are only total and active dopants and NetActive (DopingConcentration). If contactshave been previously specified (using the contact command), they are included inthe <filename>_mdr.bnd file.

interfaces This can be used to save interface data in DF–ISE format files. The default is true.mgoals.contacts

Use mgoals instead of mdraw to create contacts which are written directly into theGRD and DAT file (not into the BND file). Only box type contacts can be written bymgoals. In 3D, mgoals.contacts is the only option.

pdb Saves pdb parameters along with the geometry and data in TDR format file.pdb.only Saves pdb parameters without geometry and data in a TDR format file.outfile Name of the internal Sentaurus Process format file to be written.scale If specified, the size of the output structure is scaled by the amount given. The

default is 1.0e4, which converts from Sentaurus Process internal standard(centimeter) to DF–ISE standard structures (micrometer).

smesh This parameter has the same effect as ise.mdraw except that the boundary file isconverted to TDR format and will have the extension _bnd.tdr, and the grid and datafiles are converted to TDR as well with the extension _fps.tdr.

509

Page 530: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

substrate_profile

tdr Saves a file in TDR format. The extension .tdr is automatically added. By default,when TDR files are written, any modifications to the parameter database are writtento the TDR file as well for save and reload capability. The coordinate system forTDR files is the same as DF–ISE format files. For information about the TDRformat, refer to the documentation for Sentaurus Data Explorer.

Examples:

structure dfise=output ; # save the DFISE files output_fps.grd and output_fps.datstruct ise.mdraw=outputThis command writes four DF–ISE format files: output_fps.grd, output_fps.dat, output_mdr.bnd, andoutput_mdr.cmd, plus contacts, if previously specified, will be written into the output_mdr.bnd file.See: contact on page 426, init on page 450

Function: Provides a convenient way to define the profile of a dopant in the substrate. Theprofile can be piecewise linear.

Syntax: substrate_profile <material> species=<c> xcoord=<numeric list>concentration <numeric list>

Description: This statement allows users to define the profile of a species in a substrate in apiecewise linear manner. The piecewise linear function is given by the concentrationcorresponding to xcoord.

Options:

concentration The concentration of the dopant at the specified xcoord.<material> Substrate material where the dopants are to be defined.species Name of dopant.xcoord Coordinate in x-direction where the concentration will be defined.Examples: substrate_profile Silicon species=Germanium

xcoord= {0 0.01 0.011 0.5 0.7 10}concentration= {1e10 1e10 2e22 2e22 1e10 1e10}

See: update_substrate on page 517

510

Page 531: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

tclselFunction: Selects the plot variable for the postprocessing routines.Syntax: tclsel

[<material>] [z=<c>] [name=<c>] [store] [list][vec]

Description: This statement is a companion to the select statement. It is used to specify the plotvariable for almost all other plot commands. This command differs from the selectcommand, in that it accepts any general Tcl expression. Data fields are made into Tclvariables and can be accessed with standard Tcl variable methods.

Options:

list This parameter returns a list of currently defined and named data fields. The realdata fields are listed by default. Vector data fields can be listed using the vecparameter. This returns a Tcl list for use with those commands that require listvariables.

<material> This parameter is used to specify the material to which the command applies.Different expressions for the data field initialization in different materials can beused. See Appendix B on page 519 for information about specifying materials.

name Name of the new data field. The default is the name is Z_Plot_Var. This is used by allof the commands when a plot name is not specified. This is a powerful feature, assolution fields can also be created.

store This parameter controls whether the data field is written into permanent storagewhen a structure file is output. The default is false.

vec This is used to list vector data fields. The default is false.z This parameter accepts a Tcl expression that are used to build a new data field. All

valid Tcl expressions can be used in the string. Existing data fields are defined as Tclvariables, and the expression is evaluated node-by-node with the updated value ofthe variable. In general, this command needs to be enclosed in braces, so thatvariable substitution is performed when the string is parsed.

511

Page 532: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

temp_ramp

Examples: tclsel z = {log10($Arsenic)}Choose as the plot variable the base 10 logarithm of the arsenic concentration.

tclsel z= {($Phosphorus - 5.0e14)}Selects as the plot variable the phosphorus concentration minus a constant value of

.

tclsel z= {($Phosphorus - 1.0e18 * exp ( $y * $y / 1.0e-8 ))}name=Doping storeSelects as the plot variable the difference between the phosphorus and an analyticprofile. This data field will be named Doping. The store flag indicates that the dopingfield should be written into any saved structure files.

tclsel list vecLists all available real and vector data fields.

See: All postprocessing commands

Function: Defines a temperature profile for use with the diffuse command.Syntax: temp_ramp

(list|clear|name = <c>) [time = <n>][(<hr>|<min>|<s>)] [temperature = <n>][(<C>|<K>)] | [ramprate = <n>][(<C/s>|<K/s>|<C/min>|<K/min>)] [pressure = <n>][(<atm>|<GPa>|<MPa>|<KPa>|<Pa>|<dyn/cm2>)] [(O2 | H2O | epi | gas_flow=<c>)] [thick=<n>][(<m>|<cm>|<um>|<nm>)] [episteps=<i>] [epi_dopants=<string list>] [epi_conc=<numeric list>][density.increase = [<regionName>=<n> | <material> = <n>]][epimodel=<i>]

[last] [hold] [minT=<n>] [(<C>|<K>)]

Description: This command is used to specify multiple-step temperature ramps and holds. Thiscan be used to construct a complex temperature sequence to be simulated with thediffuse command (by specifying the temp_ramp parameter of the diffuse command).

Options:

clear This clears the global list of temperature ramps. When defining profiles, the action isto union the new definition with any prior profiles of the same name.

density.increase

Applies densification model where the density increases in percentage. The increasevalue can be specified per region regionName=value (where regionName is the name ofan existing region in the current structure) or per material material = value (wherematerial is the name of a material in the current structure).

5 1014×

512

Page 533: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

epi_conc This list gives the corresponding concentrations for the dopants set in epi_dopants.The default unit is cm–3.

epi_dopants List of the data fields to be incorporated into the epitaxial layer.epimodel Two methods described above can be chosen using this parameter. Setting epimodel=0

(the default) applies a moving boundary algorithm similar to oxidation andepimodel=1 uses alternating doped deposition and inert annealing steps.

episteps This parameter is used to set a minimum number of deposition steps. More stepsmay be necessary depending on the mesh. If epimodel=1, the number of mesh layersinside the epitaxial silicon will not be less than episteps. The default value is 1.

hold During this segment, allows the diffuse command time to specify the time of thesegment.

last This defines the final component of the temperature profile.list This Boolean parameter generates a list of temperature profiles. It returns a Tcl list

and can be operated on as such. The default action for commands is to print thereturn, so if no handling is required, this prints a list of names of defined temperatureprofiles. If a name is specified, that temp_ramp only is listed alone with detail aboutthe ramps.

minT Minimum annealing temperature. The default unit is degree Celsius.name Name of the parameter used to identify the temperature ramp and specify it in a

diffuse command.O2, H2O, epi, gas_flow

O2, H2O are shorthand to set the type of ambient gas. It should not be specified ifgas_flow has been set. O2 and H2O specify the two main types of oxidizing gas. epispecifies epitaxial growth and gas_flow specifies the name of a gas flow created withthe gas_flow command. The default ambient is an inert gas.

pressure The pressure of the ambient gas. The default unit is atmosphere. The default value is1.0 atm.

ramprate The temperature change during anneal. The default unit is degree Celsius persecond. The default value is 0.0oC/s.

temperature Annealing temperature. The default unit is degree Celsius.thick Sets the epitaxial layer thickness to be deposited. The default unit is μm.time Annealing time. The default unit is minute.Examples: temp_ramp name=tr temprate=70.0

This defines the temperature profile named tr. Temperature rate is 70 K/s.See: diffuse on page 432, gas_flow on page 440

513

Page 534: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

termFunction: Defines a new subexpression for use in the equation specification of the Alagator

language.Syntax: term

[<material>] [add] [list] [delete] [clear] [warning] [name = <c>] [eqn=<c>] [print]

Description: This command is used to create subexpressions for use with the Alagator scriptinglanguage. Terms are never required, but can offer substantial computation benefit.Each term is evaluated only once during assembly, and the results are cached. Ifmultiple equations refer to a term, the first equation to use it evaluates the expressionand the remainder use the cached values. Terms are usually employed forexpressions that need to appear in several partial differential equations. For example,a recombination term between vacancies and interstitials needs to appear in both thevacancy and interstitial equation. A term can be employed for the recombination andcan be placed in both partial differential equations. The recombination is thenevaluated only once during the assembly process.

Terms can be created, searched, and printed. That allows inquiries about terms to bemade in the various callback procedures. This allows intelligent decisions to bemade. For example, the charge term in the Poisson equation can be accumulated byobtaining the current charge and adding new pieces to the term.

Options:

add Creates a new term. A term with that name will be overwritten.clear Removes a term from the current set and clears the content of all terms.delete Removes a term from the current set.eqn The string defining the equation part of the term. The equation must conform to all

the standard constraints of the Alagator language. Terms can be nested; the equationspecified here can refer to other terms. Parsing of the equation is performed duringdiffusion, so there is no need for everything to be predefined.

list List of all of the names of the current terms. This is returned as a Tcl list, so it can beused in conjunction with all of the list functionality.

<material> If a material is specified, the term becomes specific for this material only. Thisallows the same name to have different equations in different materials. SeeAppendix B on page 519 for information about specifying materials.

name The reference name for the term. This name is defined and is compared to stringsfound in the equation parsing. Capitalization is important, and only exact matchesare allowed.

print Prints the equation for the term matching the name specified. If no term matches, anempty string is returned and a Tcl error occurs.

warning Warns users if there is already a data field with the same name. (The data field willbe deleted.)

514

Page 535: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

transform

Examples: term name=Charge add silicon eqn="Arsenic-Boron"This command creates a term named Charge in silicon only. The keyword Charge willbe replaced with the subexpression Arsenic-Boron.

term name=Noni add silicon eqn = exp(Potential*$Vti)This command creates a term named Noni in silicon only. The equation will be theexponential of Potential multiplied by $Vti. The normal rules for Tcl string variableand execution apply, so that Vti must be a currently defined variable. The value willbe replaced when the term command is executed.

term name=Noni add silicon eqn = {exp(Potential*$Vti)}This is the same as the previous command. The difference is the braces around theequation, which delay variable expansion. The variable will not be expanded untilthe diffuse command is executed. This is the more normal form. We would the Vtivariable to be replaced with the value of the current temperature of the diffusecommand, not the temperature at the time of the term command execution.

term listReturns a list of all the current term names defined.

term name=Charge printReturns the currently defined equation corresponding to the name Charge.

See: solution on page 505

Function: Performs a transformation step using the MGOALS library.Syntax: transform (

{[reflect] [(left | right)]} | {[stretch] [(left | right)] [remesh] [location = <n>][(<m>|<cm>|<um>|<nm>)] [length = <n>][(<m>|<cm>|<um>|<nm>)] } | {[cut] [(left | right)] [remesh] [location = <n>][(<m>|<cm>|<um>|<nm>)]} | {[clip][min = { <n>[(<m>|<cm>|<um>|<nm>)] <n>[(<m>|<cm>|<um>|<nm>)][mesh.align][min = { <n>[(<m>|<cm>|<um>|<nm>)] <n>[(<m>|<cm>|<um>|<nm>)] } }

)

Description: This command is used to reflect, stretch, or cut the structure by using the MGOALSlibrary.

515

Page 536: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

Options:

Clip options

clip This option clips the structure to a new rectangle specified by the min and maxparameters. The minimum x- and y-coordinates are specified like this min= {minxminy} and maximum are specified max= {maxx maxy}.

mesh.align By default, mgoals cuts the mesh at the nearest mesh line and does not perform aremesh. If !mesh.align is specified, mgoals cuts precisely the coordinates specifiedand remeshes the structure, unless !remesh is specified.

Cut options

cut This parameter indicates that a cutting action will be performed.left, right This indicates the side of the cutting plane to be removed.location The y-coordinate (in Sentaurus Process coordinate system) where the cut is

performed. The default unit is μm.mesh.align By default, mgoals cuts the mesh at the nearest mesh line and does not perform a

remesh. If !mesh.align is specified, mgoals cuts precisely the coordinates specifiedand remeshes the structure, unless !remesh is specified.

remesh This is an optional Boolean that indicates if a remesh is to be performed. The defaultis on.

Reflect options

left, right This parameter allows users to perform reflection around the left or right boundary,respectively.

reflect This parameter indicates that a reflection will be performed.Stretch options

left, right This indicates whether left or right boundary will be moved.length The length of stretching. The default unit is μm. The default value is zero.location The y-coordinate (in Sentaurus Process coordinate system) to be stretched. The

default unit is μm. The default value is zero.remesh This is an optional Boolean that indicates if a remesh is to be performed. The default

is on.stretch This parameter indicates that a stretching action will be performed.Examples: transform reflect right;

# reflect the structure about the right boundary.transform stretch location=0.7 length=0.02 right remesh; # stretch the structure to the right side.

transform cut location=0.7 left !remesh# cut the structure at y=0.7.# The left part will be removed without remeshing.

transform clip min = {0um 0um} max = {1um 3um};

This clips the structure at x between 0 and 1 μm, and y between 0 and 3 μm.See: mgoals on page 473

516

Page 537: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX A SENTAURUS PROCESS COMMANDS

update_substrate

WritePlx

Function: Sets up the substrate with dopants, strains, and modified lattice constants foranalyses that involve strained silicon layers.

Syntax: update_substrate top.relaxed.coord=<number>

Description: This command takes into account the strains that certain dopants introduce to thewafer (as defined by the strain_profile command, see strain_profile on page 507)and sets up the lattice constants and strains in the substrate as defined in the regioncommand (see region on page 497). This command is necessary to apply the dopantprofile to the substrate as defined by the substrate_profile command(substrate_profile on page 510). The top.relaxed.coord is the lowest x-coordinatebelow which the wafer is totally relaxed from the dopant-related strains.

Options:

top.relaxed.coord

This is the top of the region that is totally relaxed from the lattice strains. It can bethought of as the top point above which no dislocations can be found.

Examples: update_substrate top.relaxed.coord=0.3

See: strain_profile on page 507, substrate_profile on page 510

Function: Writes a 1D plx file.Syntax: WritePlx [<filename>]

[x=<n>][y=<n>][z=<n>] [<material>]

Description: This command makes a 1D profile along a given cutline and writes a plx file of thesolutions and terms given in the plx list provided by the SetPlxList command. If theplx list is not provided, only present solution names are written. If a material isspecified, only data from the given material is used to create the plot.

Options:

<filename> The output file name.<material> If a material is specified, only the plot from the given material is created. See

Appendix B on page 519 for information about specifying materials.x, y, z Specify the cut position. For 1D simulations, no cut specification is necessary. In

2D, either x or y should be specified and, for 3D simulations, two axes must bespecified. It is also possible to shift plx output files by specifying PlxShift variables.The unit for x, y, and z is μm.

517

Page 538: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX A SENTAURUS PROCESS COMMANDS

Examples: WritePlx 1.5.plx y=1.5Writes a 1D plx file at the y = 1.5 μm cutline.

set PlxShift 0.2WritePlx test.plxShifts the axis by 0.2 μm and writes a 1D plx file.

See: SetPlxList on page 502

518

Page 539: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS APPENDIX B MATERIAL SPECIFICATION

Sentaurus Process

APPENDIX B Material specification

This appendix lists the available materials and describes how to specify materials in Sentaurus Process.

OverviewMaterials are specified the same way for all commands that require a material parameter. For bulkmaterial, specify only one material. For interface material, specify two materials – one with ‘/’ and onewithout ‘/’.

The specification of the material parameter has the form:

The first line is used to specify a material. If one of the second-line parameters is also selected, aninterface between those two materials becomes the specified material. Gas, oxide, nitride, silicon, andpoly are the built-in material types.

Some examples are:

oxide; # Specifies that this command applies to oxidesilicon /oxide ; # Specifies that this command applies to the Si - SiO2 interface material.

AlAs InAlAs Platinum

AlGaAs InAs PolySilicon

Aluminum InAsP Refractory

CdTe InGaAs Semiconductor

Cobalt InGaAsP Silicide

Copper InP Silicon

GaAs Insulator SiliconCarbide

GaAsP Interface SiliconGermanium

GaInP Invisible Silver

GaP Metal Tantalum

Gas Molybdenum TiNitride

Germanium Nitride TiSilicide

Gold Oxide Titanium

HgCdTe Oxynitride Tungsten

HgTe Photoresist

519

Page 540: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSAPPENDIX B MATERIAL SPECIFICATION

Interface specification in Alagator and parameter database

When using the parameter database commands and the Alagator language, interfaces are specified as apair of materials separated by an underscore (_), for example, Gas_Oxide and Oxide_Silicon. There is aspecific order, capitalization, and spelling for the interface names. However, aliases are provided thatallow their order to be reversed, some shorter names are allowed, and all lowercase is generallyavailable. However, to ensure that the material interface setting is understood by Sentaurus Process, itis recommended that the official name be used. The official spelling, capitalization, and order is:

Gas

Oxide

Nitride

Silicon

PolySilicon

Photoresist

Aluminum

Titanium

Cobalt

For an interface composed of two materials of different types, the first in the list should appear first inthe name (for example, Gas precedes Oxide, so the gas–oxide interface is specified as Gas_Oxide). If theyare both of the generic type, alphabetic order is assumed.

520

Page 541: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS BIBLIOGRAPHY

Sentaurus Process

Bibliography

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

[2] G. Hobler and S. Selberherr, “Two-Dimensional Modeling of Ion Implantation Induced PointDefects,” IEEE Transactions on Computer-Aided Design, vol. 7, no. 2, pp. 174–180, 1988.

[3] J. P. Biersack, “Basic Physical Aspects of High Energy Implantation,” Nuclear Instruments andMethods in Physics Research, vol. B35, no. 2, pp. 205–214, 1988.

[4] J. F. Gibbons, W. S. Johnson, and S. W. Mylroie, Projected Range Statistics: Semiconductors andRelated Materials, Pennsylvania: Dowden, Hutchinson & Ross, 2nd ed., 1975.

[5] C. Zechner et al., “New Implantation Tables for B, BF2, P, As, In and Sb,” in 14th InternationalConference on Ion Implantation Technology (IIT), Taos, NM, USA, pp. 567–570, September 2002.

[6] S. Tian, V. Moroz, and N. Strecker, “Accurate Monte Carlo Simulation of Ion Implantation intoArbitrary 1D/2D/3D Structures for Silicon Technology,” MRS Symposium Proceedings, SiliconFront-End Junction Formation—Physics and Technology, vol. 810, San Francisco, CA, USA,pp. 287–292, April 2004.

[7] S. J. Morris et al., “An Accurate and Efficient Model for Boron Implants Through Thin Oxide Layersinto Single-Crystal Silicon,” IEEE Transactions on Semiconductor Manufacturing, vol. 8, no. 4,pp. 408–413, 1995.

[8] M. Posselt, “Crystal-TRIM and Its Application to Investigations on Channeling Effects During IonImplantation,” Radiation Effects and Defects in Solids, vol. 130–131, pp. 87–119, 1994.

[9] S. Tian, “Predictive Monte Carlo ion implantation simulator from sub-keV to above 10 MeV,”Journal of Applied Physics, vol. 93, no. 10, pp. 5893–5904, 2003.

[10] A. F. Tasch et al., “An Improved Approach to Accurately Model Shallow B and BF2 Implants inSilicon,” Journal of the Electrochemical Society, vol. 136, no. 3, pp. 810–814, 1989.

[11] G. Hobler, E. Langer, and S. Selberherr, “Two-Dimensional Modeling of Ion Implantation withSpatial Moments,” Solid-State Electronics, vol. 30, no. 4, pp. 445–455, 1987.

[12] Dios User Guide, Version X-2005.10, Mountain View, California: Synopsys, Inc., 2005.

[13] A. Stolmeijer et al., “General Expressions for the Impurity Distributions of B and P Implanted inSiO2,” Journal of the Electrochemical Society, vol. 135, no. 9, pp. 2309–2311, 1988.

[14] FLOOPS process and device simulator: http:///www.tec.ufl.edu/~flooxs, 2006.

[15] H. Ryssel, W. Krüger, and J. Lorenz, “Comparison of Monte Carlo Simulations and AnalyticalModels for the Calculation of Implantation Profiles in Multilayer Targets,” Nuclear Instruments andMethods in Physics Research, vol. B19/20, no. 20, pp. 40–44, 1987.

[16] G. Hobler and V. Moroz, “Initial Conditions for Transient Enhanced Diffusion: Beyond the Plus-Factor Approach,” in International Conference on Simulation of Semiconductor Processes andDevices (SISPAD), Athens, Greece, pp. 34–37, September 2001.

[17] J. F. Ziegler, J. P. Biersack, and U. Littmark, “The Stopping and Range of Ions in Solids,” TheStopping and Ranges of Ions in Matter, vol. 1, New York: Pergamon Press, 1985.

521

Page 542: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSBIBLIOGRAPHY

[18] O. S. Oen and M. T. Robinson, “Computer Studies of the Reflection of Light Ions from Solids,”Nuclear Instruments and Methods, vol. 132, pp. 647–653, 1976.

[19] M. Posselt et al., “Modeling of Damage Accumulation during Ion Implantation into Single-Crystalline Silicon,” Journal of the Electrochemical Society, vol. 144, no. 4, pp. 1495–1504, 1997.

[20] S. Tian, “Accurate Monte Carlo simulation of fluorine and BF2 ion implantation into crystallinesilicon,” Nuclear Instruments and Methods in Physics Research B, vol. 215, no. 3-4, pp. 403–412,2004.

[21] H. Goldstein, Classical Mechanics, Cambridge, Massachusetts: Addison-Wesley Press, 1950.

[22] M. T. Robinson and I. M. Torrens, “Computer simulation of atomic-displacement cascades in solidsin the binary-collision approximation,” Physical Review B, vol. 9, no. 12, pp. 5008–5024, 1974.

[23] J. Lindhard and M. Scharff, “Energy Dissipation by Ions in the kev Region,” Physical Review,vol. 124, no. 1, pp. 128–130, 1961.

[24] B. Colombeau and N. E. B. Cowern, “Modelling of the chemical-pump effect and C clustering,”Semiconductor Science and Technology, vol. 19, no. 12, pp. 1339–1342, 2004.

[25] M. Diebel et al., “Investigation and Modeling of Fluorine Co-Implantation Effects on DopantRedistribution,” in MRS 2003 Spring Meeting Proceedings, Symposium D, San Francisco, CA, USA,p. D6.15, April 2003.

[26] D. Dutartre et al., “Excitonic photoluminescence from Si-capped strained Si1-xGex layers,” PhysicalReview B, vol. 44, no. 20, pp. 11525–11527, 1991.

[27] R. Braunstein, A. R. Moore, and F. Herman, “Intrinsic Optical Absorption in Germanium-SiliconAlloys,” Physical Review, vol. 109, no. 3, pp. 695–710, 1958.

[28] A. Pakfar, “Dopant diffusion in SiGe: modeling stress and Ge chemical effects,” Materials Scienceand Engineering, vol. B89, pp. 225–228, February 2002.

[29] M. J. Aziz, “Thermodynamics of diffusion under pressure and stress: Relation to point defectmechanisms,” Applied Physics Letters, vol. 70, no. 21, pp. 2810–2812, 1997.

[30] R. F. Lever, J. M. Bonar, and A. F. W. Willoughby, “Boron diffusion across silicon–silicongermanium boundaries,” Journal of Applied Physics, vol. 83, no. 4, pp. 1988–1994, 1998.

[31] G. E. Pikus and G. L. Bir, “Effect of Deformation on the Hole Energy Spectrum of Germanium andSilicon,” Fizika Tverdogo Tela, vol. 1, no. 11, pp. 1642–1658, 1959.

[32] S. T. Dunham and C. D. Wu, “Atomistic models of vacancy-mediated diffusion in silicon,” Journalof Applied Physics, vol. 78, no. 4, pp. 2362–2366, 1995.

[33] P. Fastenko, Modeling and Simulation of Arsenic Activation and Diffusion in Silicon, Ph.D. thesis,University of Washington, Seattle, WA, USA, 2002.

[34] S. Chakravarthi et al., “Modeling of Diffusion and Activation of Low Energy Arsenic Implants inSilicon,” in MRS Spring Meeting Proceedings, Symposium C, San Francisco, CA, USA, vol. 717,pp. C3.7.1–C3.7.6, April 2002.

[35] M. E. Law and K. S. Jones, “A New Model for {311} Defects Based on In-Situ Measurements,” inIEDM Technical Digest, San Francisco, CA, USA, pp. 511–514, December 2000.

[36] I. Avci et al., “Modeling extended defect ({311} and dislocation) nucleation and evolution insilicon,” Journal of Applied Physics, vol. 95, no. 5, pp. 2452–2460, 2004.

522

Page 543: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS BIBLIOGRAPHY

[37] R. Y. S. Huang and R. W. Dutton, “Experimental investigation and modeling of the role of extendeddefects during thermal oxidation,” Journal of Applied Physics, vol. 74, no. 9, pp. 5821–5827, 1993.

[38] R. B. Fair and P. N. Pappas, “Diffusion of Ion-Implanted B in High Concentration P- and As-DopedSilicon,” Journal of the Electrochemical Society, vol. 122, no. 9, pp. 1241–1244, 1975.

[39] C. J. Ortiz et al., “Modeling of extrinsic extended defect evolution in ion-implanted silicon uponthermal annealing,” Materials Science and Engineering B, vol. 114–115, pp. 184–192, December2004.

[40] C. J. Ortiz et al., “A physically based model for the spatial and temporal evolution of self-interstitialagglomerates in ion-implanted silicon,” Journal of Applied Physics, vol. 96, no. 9, pp. 4866–4877,2004.

[41] E. Lampin et al., “Prediction of boron transient enhanced diffusion through the atom-by-atommodeling of extended defects,” Journal of Applied Physics, vol. 94, no. 12, pp. 7520–7525, 2003.

[42] E. Lampin et al., “Combined master and Fokker–Planck equations for the modeling of the kineticsof extended defects in Si,” Solid-State Electronics, vol. 49, no. 7, pp. 1168–1171, 2005.

[43] F. Lau et al., “A Model for Phosphorus Segregation at the Silicon–Silicon Dioxide Interface,”Applied Physics A, vol. 49, pp. 671–675, 1989.

[44] Y.-S. Oh and D. E. Ward “A Calibrated Model for Trapping of Implanted Dopants at MaterialInterface During Thermal Annealing,” in IEDM Technical Digest, San Francisco, CA, USA,pp. 509–512, December 1998.

[45] I. Martin-Bragado, Simulación atomística de procesos para Microelectrónica, Ph.D. thesis,Universidad de Valladolid, Valladolid, Spain, 2004.

[46] M. Jaraiz et al., “Atomistic Front-End Process Modelling: A Powerful Tool for Deep-SubmicronDevice Fabrication,” in International Conference on Simulation of Semiconductor Processes andDevices (SISPAD), Athens, Greece, pp. 10–17, September 2001.

[47] N. Strecker, V. Moroz, and M. Jaraiz, “Introducing Monte Carlo Diffusion Simulation into TCADtools,” in Technical Proceedings of the International Conference on Modeling and Simulation ofMicrosystems (Nanotech 2002), vol. 1, San Juan, Puerto Rico, USA, pp. 462–465, April 2002.

[48] R. A. Casali, H. Rücker, and M. Methfessel, “Interaction of vacancies with interstitial oxygen insilicon,” Applied Physics Letters, vol. 78, no. 7, pp. 913–915, 2001.

[49] N. Cowern and C. Rafferty, “Enhanced Diffusion in Silicon Processing,” MRS Bulletin, vol. 25,no. 6, pp. 39–44, 2000.

[50] N. E. B. Cowern et al., “Impurity Diffusion via an Intermediate Species: The B-Si System,” PhysicalReview Letters, vol. 65, no. 19, pp. 2434–2437, 1990.

[51] P. M. Fahey, P. B. Griffin, and J. D. Plummer, “Point defects and dopant diffusion in silicon,”Reviews of Modern Physics, vol. 61, no. 2, pp. 289–388, 1989.

[52] P. A. Stolk et al., “Physical mechanisms of transient enhanced dopant diffusion in ion-implantedsilicon,” Journal of Applied Physics, vol. 81, no. 9, pp. 6031–6050, 1997.

[53] P. J. Schultz et al., “Crystalline-to-amorphous transition for Si-ion irradiation of Si(100),” PhysicalReview B, vol. 44, no. 16, pp. 9118–9121, 1991.

523

Page 544: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSBIBLIOGRAPHY

[54] T. Diaz de la Rubia and G. H. Gilmer, “Structural Transformations and Defect Production in IonImplanted Silicon: A Molecular Dynamics Simulation Study,” Physical Review Letters, vol. 74,no. 13, pp. 2507–2512, 1995.

[55] D. J. Eaglesham et al., “Implantation and transient B diffusion in Si: The source of the interstitials,”Applied Physics Letters, vol. 65, no. l8, pp. 2305–2307, 1994.

[56] S. Takeda, “An Atomic Model of Electron-Irradiation-Induced Defects on {113} in Si,” JapaneseJournal of Applied Physics, vol. 30, no. 4A, pp. L639–L642, 1991.

[57] S. M. Hu, “Diffusion in Silicon and Germanium,” Atomic Diffusion in Semiconductors, chapter 5,D. Shaw (ed.), London: Plenum Press, pp. 217–350, 1973.

[58] J. Kim et al., “Extended Si {311} defects,” Physical Review B, vol. 55, no. 24, pp. 16186–16197,1997.

[59] M. Kohyama and S. Takeda, “Atomic structure and energy of the {113} planar interstitial defects inSi,” Physical Review B, vol. 46, no. 19, pp. 12305–12315, 1992.

[60] B. de Mauduit et al., “Identification of EOR defects due to the regrowth of amorphous layers createdby ion bombardment,” Nuclear Instruments and Methods in Physics Research B, vol. 84, no. 2,pp. 190–194, 1994.

[61] F. Cristiano et al., “Formation energies and relative stability of perfect and faulted dislocation loopsin silicon,” Journal of Applied Physics, vol. 87, no. 12, pp. 8420–8428, 2000.

[62] G. D. Watkins and J. W. Corbett, “Defects in Irradiated Silicon: Electron Paramagnetic Resonanceof the Divacancy,” Physical Review, vol. 138, no. 2A, pp. A543–A555, 1965.

[63] G. D. Watkins, “Defects in irradiated silicon: EPR and electron-nuclear double resonance ofinterstitial boron,” Physical Review B, vol. 12, no. 12, pp. 5824–5839, 1975.

[64] G. D. Watkins, “Erratum: Defects in irradiated silicon: EPR and electron-nuclear double resonanceof interstitial boron,” Physical Review B, vol. 13, no. 10, p. 4644, 1976.

[65] Y.-H. Lee and J. W. Corbett, “EPR study of defects in neutron-irradiated silicon: Quenched-inalignment under <110>-uniaxial stress,” Physical Review B, vol. 9, no. 10, pp. 4351–4361, 1974.

[66] B. Hourahine et al., “Identification of the hexavacancy in silicon with the optical center,”Physical Review B, vol. 61, no. 19, pp. 12594–12597, 2000.

[67] D. J. Chadi and K. J. Chang, “Magic numbers for vacancy aggregation in crystalline Si,” PhysicalReview B, vol. 38, no. 2, pp. 1523–1525, 1988.

[68] S. K. Estreicher, J. L. Hastings, and P. A. Fedders, “The ring-hexavacancy in silicon: A stable andinactive defect,” Applied Physics Letters, vol. 70, no. 4, pp. 432–434, 1997.

[69] O. W. Holland and C. W. White, “Ion-induced damage and amorphization in Si,” NuclearInstruments and Methods in Physics Research B, vol. 59/60, pp. 353–362, July 1991.

[70] A. Bongiorno and L. Colombo, “Interaction between a monovacancy and a vacancy cluster insilicon,” Physical Review B, vol. 57, no. 15, pp. 8767–8769, 1998.

[71] L. Pelaz et al., “Atomistic modeling of amorphization and recrystallization in silicon,” AppliedPhysics Letters, vol. 82, no. 13, pp. 2038–2040, 2003.

[72] V. C. Venezia et al., “Dopant redistribution effects in preamorphized silicon during low temperatureannealing,” in IEDM Technical Digest, Washington, DC, USA, pp. 489–492, December 2003.

B804

524

Page 545: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESS BIBLIOGRAPHY

[73] O. Dokumaci et al., “Transient Enhanced Diffusion and Dose Loss of Indium in Silicon,” in MRSSymposium Proceedings, Silicon Front-end Processing—Physics and Technology of Dopant-DefectInteractions, vol. 568, pp. 205–210, April 1999.

[74] P. A. Stolk et al., “Trap-limited interstitial diffusion and enhanced boron clustering in silicon,”Applied Physics Letters, vol. 66, no. 5, pp. 568–570, 1995.

[75] L. Pelaz et al., “B diffusion and clustering in ion implanted Si: The role of B cluster precursors,”Applied Physics Letters, vol. 70, no. 17, pp. 2285–2287, 1997.

[76] D. C. Müller, Deactivation and Activation of Donors in Silicon, Series in Microelectronics, vol. 151,Konstanz, Germany: Hartung-Gorre, 2004.

[77] P. M. Rousseau et al., “Arsenic deactivation enhanced diffusion: A time, temperature, andconcentration study,” Journal of Applied Physics, vol. 84, no. 7, pp. 3593–3601, 1998.

[78] C. Rafferty, “Progress in Predicting Transient Diffusion,” in International Conference on Simulationof Semiconductor Processes and Devices (SISPAD), Cambridge, MA, USA, pp. 1–4, September1997.

[79] I. Martin-Bragado et al., “Physical modeling of Fermi-level effects for decanano device processsimulations,” Materials Science and Engineering B, vol. 114–115, pp. 284–289, December 2004.

[80] I. Martin-Bragado et al., “Physical atomistic kinetic Monte Carlo modeling of Fermi-level effects ofspecies diffusing in silicon,” Physical Review B, vol. 72, p. 035202, July 2005.

[81] S. M. Sze, Physics of Semiconductor Devices, New York: John Wiley & Sons, 2nd ed., 1981.

[82] I. Martin-Bragado et al., “Fermi-level effects in semiconductor processing: A modeling scheme foratomistic kinetic Monte Carlo simulators,” Journal of Applied Physics, vol. 98, p. 053709, 2005.

[83] C. Persson, U. Lindefelt, and B. E. Sernelius, “Band gap narrowing in n-type and p-type 3C-, 2H-,4H-, 6H-SiC, and Si,” Journal of Applied Physics, vol. 86, no. 8, pp. 4419–4427, 1999.

[84] D. R. Lim, C. S. Rafferty, and F. P. Klemens, “The role of the surface in transient enhanceddiffusion,” Applied Physics Letters, vol. 67, no. 16, pp. 2302–2304, 1995.

[85] N. E. B. Cowern et al., “Transient enhanced diffusion in preamorphized silicon: the role of thesurface,” Nuclear Instruments and Methods in Physics Research B, vol. 148, no. 1–4, pp. 257–261,1999.

[86] M. E. Law, Two Dimensional Numerical Simulation of Impurity Diffusion in Silicon, Ph.D. thesis,Stanford University, Stanford, CA, USA, 1988.

[87] G. H. Kinchin and R. S. Pease, “The Displacement of Atoms in Solids by Radiation,” Reports onProgress in Physics, vol. 18, pp. 1–51, 1955.

[88] J. A. Sethian, Level Set Methods and Fast Marching Methods: Evolving interfaces in computationalgeometry, fluid mechanics, computer vision, and materials science, Cambridge: CambridgeUniversity Press, 1999.

[89] S. M. Hu, “Interstitial and vacancy concentrations in the presence of interstitial injection,” Journalof Applied Physics, vol. 57, no. 4, pp. 1069–1075, 1985.

[90] G. D. Watkins, “The Lattice Vacancy in Silicon,” Deep Centers in Semiconductors, chapter 3,S. T. Pantelides (ed.), Switzerland: Gordon and Breach Science Publishers, pp. 177–213, 2nd ed.,1992.

525

Page 546: Sentaurus Process -  · SENTAURUS PROCESS CONTENTS iii Sentaurus Process About this manual.....xvii

SENTAURUS PROCESSBIBLIOGRAPHY

[91] S. C. Jain and D. J. Roulston, “A Simple Expression for Band Gap Narrowing (BGN) in HeavilyDoped Si, Ge, GaAs and GexSi1–x Strained Layers,” Solid-State Electronics, vol. 34, no. 5,pp. 453–465, 1991.

[92] S. K. Theiss et al., “Atomic scale models of ion implantation and dopant diffusion in silicon,” ThinSolid Films, vol. 365, no. 2, pp. 219–230, 2000.

[93] P. Shewmon, Diffusion in Solids, Warrendale, Pennsylvania: The Minerals, Metals & MaterialsSociety, 2nd ed., 1989.

[94] W. M. Young and E. W. Elcock, “Monte Carlo studies of vacancy migration in binary ordered alloys:I,” Proceedings of the Physical Society, vol. 89, no. 3, pp. 735–746, 1966.

[95] T. R. Waite, “Theoretical Treatment of the Kinetics of Diffusion-Limited Reactions,” PhysicalReview, vol. 107, no. 2, pp. 463–470, 1957.

[96] T. J. Lenosky et al., “Ab initio energetics of boron-interstitial clusters in crystalline Si,” AppliedPhysics Letters, vol. 77, no. 12, pp. 1834–1836, 2000.

[97] D. C. Mueller, E. Alonso, and W. Fichtner, “Arsenic deactivation in Si: Electronic structure andcharge states of vacancy-impurity clusters,” Physical Review B, vol. 68, no. 4, pp. 045208–1 –045208–8, 2003.

[98] O. Pankratov et al., “As-vacancy interaction and ring mechanism of diffusion in Si,” PhysicalReview B, vol. 56, no. 20, pp. 13172–13176, 1997.

526