4.1 Introducing the Parameter Database Browser
4.2 Changing Parameters in the Command File
4.3 Example: Changing Dopant Diffusivity
4.4 Assignment
The files discussed in this section are part of the Sentaurus Workbench project Models. The complete project can be investigated from within Sentaurus Workbench in the directory Applications_Library/GettingStarted/sprocess/Models.
If the physical models and parameter values are not specified explicitly, Sentaurus Process uses the default models and parameters. These defaults are stored in the parameter database of Sentaurus Process, which consists of a hierarchical directory that is part of the TCAD release. The standard location is:
$STROOT/tcad/$STRELEASE/lib/score/Params/
The Parameter Database (PDB) Browser is a graphical representation of the parameter database that is used to view, evaluate, and edit parameters.
To start the PDB Browser, type:
> sprocess -p
In Figure 1, for example, the default expression of the segregation coefficient Segregation for arsenic at Oxide_Silicon interfaces is shown. The value is given as:
[Arr 0.75 -0.336]
Arr is a Tcl procedure, which constructs an Arrhenius law expression. The first argument is the pre-exponential factor, and the second one is the activation energy (see the Tool Command Language module for an introduction).
In Figure 1, the lower-right pane plots the temperature dependency of the segregation coefficient.
In principle, the entries in the parameter database can be edited directly in the PDB Browser. However, the parameter database distributed with the TCAD release is typically write protected.
To edit the parameter database directly, copy the entire directory structure $STROOT/tcad/$STRELEASE/lib/score to a user-writable location and set up the environment variable SCHOME, which points to the new location.
For example, for the tcsh shell, enter:
tcsh> cp -R $STROOT/tcad/$STRELEASE/lib/score /remote/users1/<your_profile>/score tcsh> setenv SCHOME /remote/users1/<your_profile>/score
Choose Tools > Edit to open the corresponding
file from the PDB Browser, here,
/remote/users1/<your_profile>/score/Params/Oxide_Silicon/Arsenic
in the text editor SEdit. The line corresponding to the segregation coefficient is:
array set $Base {Segregation {Double {[Arr 0.75 -0.336]}}}
All entries must start with the string array set $Base. Then follows the parameter name, here Segregation, and the parameter type. For example, numeric parameters have the type Double; logical flags have the type Boolean. The last part is the value (or expression) of the parameter. Note that each entry and subentry is enclosed in braces.
Changing parameter values directly in the PDB Browser can be a good way to ensure the use of a consistent set of parameters for all projects. However, different projects require different settings, and such global changes might cause problems. In this case, other methods such as those discussed in the next sections are more appropriate.
To change parameters for a specific simulation run, use the command:
pdbSet Oxide_Silicon Vacancy Ksurf {[Arrhenius 1e3 0.1]}
Here, the surface recombination rate Ksurf for vacancies at Oxide_Silicon interfaces is set to an Arrhenius law:
Ksurf = A exp(–E/kT)
where A is the pre-exponential factor (1000 cm/s), and E is the activation energy (0.1 eV).
Two sets of delimiters are used. The brackets [] identify a Tcl expression, and the braces {} suppress the evaluation of the expression, such that Ksurf is set to the string [Arrhenius 1e3 0.1] instead of the value to which the string evaluates. The evaluation can also be suppressed by masking the brackets with backslashes. This notation must be used if the expression contains variables that should be expanded.
For example:
set E0 0.1 ;# Activation energy (eV) set A0 1e3 ;# Surface recombination rate (cm/s) pdbSet Oxide_Silicon Vacancy Ksurf "\[Arrhenius $A0 $E0\]"
The difference between an immediate and a suppressed evaluation of the expression can be seen when the value of Ksurf is retrieved.
To retrieve the value of a parameter, use:
pdbDelayDouble Oxide_Silicon Vacancy Ksurf ---> [expr [Arrhenius 1e3 0.1]] pdbGet Oxide_Silicon Vacancy Ksurf ---> 20.8986
where the pdbDelayDouble command retrieves the value without evaluating it (if it is an expression), and pdbGet evaluates it for the current conditions (that is, at the current processing temperature).
The following example shows how the evaluation depends on the current conditions:
pdbSet Oxide_Silicon Vacancy Ksurf {[ Arrhenius 1e3 0.1]} line x location=0.0 spacing=0.2<um> tag=SiTop line x location=2.0<um> spacing=0.2<um> tag=SiBottom region Silicon xlo=SiTop xhi=SiBottom init concentration=1.0e15<cm-3> field=Boron wafer.orient=100 puts [pdbGet Oxide_Silicon Vacancy Ksurf] ---> 20.8986 diffuse temperature=900<C> time=40<min> puts [pdbGet Oxide_Silicon Vacancy Ksurf] ---> 371.887
The first call of pdbGet evaluates the Arrhenius expression at 300 K and the second call of pdbGet, at 900°C.
The following example shows how to select a dopant diffusivity model and how to change the model parameter from a default value:
pdbSet Silicon Dopant DiffModel Constant line x location= 0.0<um> tag= SubTop spacing= 20.0<nm> line x location= 2.0<um> tag= SubBottom spacing= 20.0<nm> region Silicon xlo= SubTop xhi= SubBottom init concentration= 1e+10<cm-3> field= Boron implant species= Boron Silicon gaussian
These commands set up a 1D structure and select a diffusivity model. The implantation model was changed from the default model to a simple Gaussian for aesthetic purposes.
The dopant is now implanted and driven using the default diffusion parameters. The structure is saved to start the next simulation using the same conditions immediately after implantation.
implant Boron dose= 1e14<cm-2> energy= 400.0<keV> SetPlxList {Boron_Implant} WritePlx n@node@_AsImplant.plx struct tdr= n@node@_AsImplant
diffuse temperature= 1000<C> time= 1<hr> SetPlxList {BTotal} WritePlx n@node@_D1.plx
The simulation is restarted at time zero. Before applying the identical anneal, the diffusivity parameter is quadrupled from its default value obtained by the pdbGet command:
init tdr= n@node@_AsImplant pdbSet Silicon Boron Dstar "\[expr 4.0*[pdbDelayDouble Silicon Boron Dstar]\]" diffuse temperature= 1000<C> time= 1<hr> WritePlx n@node@_D2.plx
Click to view the command file sprocess_fps.cmd.
The objective of this exercise is to compare profile shapes produced using different dopant-clustering models. The diffusivity of the mobile dopant will be identical in all comparisons.
Step 1. Define Substrate
Step 2. Set Up Identical Anneals to Be Used With Different Models
Step 3. Run the First of the Four Simulations With Default Settings
Step 4. Change Boundary Condition to a Boron Sink for the Second of the Four Simulations
Step 5. Change Boundary Condition to a Boron Source for the Third of the Four Simulations
Step 6. Change Boundary Condition to Defaults But Decrease Solid Solubility for Last Simulation
Step 7. View the Output
Note that:
Click to view a solution of the command file sprocess1_fps.cmd.
Copyright © 2017 Synopsys, Inc. All rights reserved.