4.1 Defining Doping Profiles
4.2 Constant Profiles
4.3 Analytic Profiles
4.4 External Profiles
4.5 Three-Dimensional Doping Profile Construction
4.6 General Function Evaluator
4.7 Profile Overlap Controls
4.8 Doping Naming Conventions
4.9 Discrete-to-Continuous Dopant Profile Transition
Examples of the features discussed in this section are all contained in the Sentaurus Workbench project Applications_Library/GettingStarted/snmesh/Profiles. To work with the project, copy it to a local directory within your Sentaurus Workbench working directory.
Sentaurus Mesh integrates the following profile generation–related capabilities:
A constant profile can be confined within a material, a region, or an arbitrary geometric element.
The first example demonstrates the concept of the constant profile definition on a simple 2D device structure, where the constant boron profile is confined within a rectangular window in the middle of the 2 μm x 2 μm silicon domain.
Figure 1 shows the profile variations performed with different lateral profile decays. Click to view the command files for the following Sentaurus Mesh tool instances in the Sentaurus Workbench project Profiles:
By default, the parameter DecayLength uses an error function, and GaussDecayLength uses a Gaussian function.
Figure 2 compares the profile cross-sections across the middle of the structure. Red-dashed lines indicate the locations of the constant profile primary domain.
You can control the overlap behavior of the error function profiles from the left and right sides by using the lateralDiffusion option in the Interpolate section. For details about the constant profile definition, refer to the Sentaurus™ Mesh User Guide.
Analytic profiles are specified using a definition, a reference window, and a placement.
The reference window is a directional line in two dimensions, and a rectangle or a polygon in three dimensions. The primary direction is the normal vector to the reference window, and the lateral direction is parallel to the reference window.
Figure 3 shows the schematics of the local coordinate system and the valid domain. The valid domain for both the primary and lateral functions is defined by sweeping the primary direction vector along the lateral direction. For a 3D analytic profile definition, instead of a baseline, a primary plane (or polygon) is used to define the reference window.
The syntax for an analytic profile definition in the Definitions section is:
AnalyticalProfile "reference name" { Species = "Dataset Name" Function = Gauss(parameters) | Erf(parameters) | subMesh1D(parameters) | Eval(parameters) | General(parameters) LateralFunction = Gauss(parameters) | Erf(parameters) | Eval(parameters) }
where:
For details about the analytic profile specification, refer to the Sentaurus™ Mesh User Guide.
Figure 4 demonstrates analytic profile definitions for a simple 2D device. The 2D profile baseline is specified in the middle of the device, as indicated by the white arrow. The Gaussian profile distribution has been chosen for the profile primary direction. In these examples, the profile primary domain and the lateral function distributions vary. By default, Sentaurus Mesh applies the profile on both sides of the baseline. Therefore, there is no need for a direction specification in the Placements section.
For Figure 4 (left), the analytic profile definition with a one-sided primary domain and disabled lateral profile distribution is:
Definitions { ... AnalyticalProfile "abc" { Species = "BoronActiveConcentration" Function = Gauss(PeakPos=0, PeakVal=1e+18, ValueAtDepth=1e15, Depth=0.5) LateralFunction = Erf(Factor=0) } }
Placements { ... AnalyticalProfile "abc" { Reference = "abc" ReferenceElement { Element = Line [(1 0.75) (1 1.25)] Direction = positive } } }
For Figure 4 (middle), the analytic profile definition with a double-sided primary domain and deactivated lateral profile distribution is:
Definitions { ... AnalyticalProfile "abc" { Species = "BoronActiveConcentration" Function = Gauss(PeakPos=0, PeakVal=1e+18, ValueAtDepth=1e15, Depth=0.5) LateralFunction = Erf(Factor=0) } }
Placements { ... AnalyticalProfile "abc" { Reference = "abc" ReferenceElement { Element = Line [(1 0.75) (1 1.25)] } } }
For Figure 4 (right), the analytic profile definition with a double-sided primary domain and activated lateral profile distribution is:
Definitions { ... AnalyticalProfile "abc" { Species = "BoronActiveConcentration" Function = Gauss(PeakPos=0, PeakVal=1e+18, ValueAtDepth=1e15, Depth=0.5) LateralFunction = Erf(Factor=0.8) } }
Placements { ... AnalyticalProfile "abc" { Reference = "abc" ReferenceElement { Element = Line [(1 0.75) (1 1.25)] } } }
Click to view the command files for the corresponding Sentaurus Mesh tool instances for these examples:
All of these command files are available in the Sentaurus Workbench project Applications_Library/GettingStarted/snmesh/Profiles.
The next example illustrates the analytic profile definition for a 3D device with the polygonal region used as the primary plane.
Click to view the command file for the Sentaurus Mesh tool instance Polygon Polygon_msh.cmd.
Together with the above examples, this command file is contained in the Sentaurus Workbench project Applications_Library/GettingStarted/snmesh/Profiles.
External doping profiles from either process or device simulation results can be used to refine a mesh to make it suitable for a subsequent device simulation.
There are distinctive external profile definitions in Sentaurus Mesh:
The following example demonstrates how to incorporate an external 1D profile into a 2D device using the analytic profile description. The external 1D arsenic profile shown in Figure 6 (left) is incorporated into the 2D device structure using the subMesh1D option:
Definitions { ... AnalyticalProfile "AnalyticalProfileDefinition_1" { Function = subMesh1D(datafile = "@pwd@/1d_As.plx", scale = 1) LateralFunction = Gauss(Factor = 0.2) } }
This example is contained in the Sentaurus Workbench project Applications_Library/GettingStarted/snmesh/SubMeshes.
Click to view the command file of the Sentaurus Mesh tool instance SubMesh1d SubMesh1d_msh.cmd.
The red arrow in Figure 6 (right) indicates the position of the 1D profile baseline. Outside the primary domain, the Gaussian profile distribution is used with a 0.2 factor with respect to the profile standard deviation along the primary direction.
The next example demonstrates how to incorporate a 2D external profile as a submesh to construct the mesh or doping profile suitable for device simulation. The Sentaurus Workbench project SubMeshes from the Applications_Library directory will be used here.
The goal of this example is to generate a mesh suitable for a device electrical simulation and to interpolate the doping and stress distributions from the original process grid onto the newly generated mesh. Due to the device symmetry, only half of the structure was simulated by Sentaurus Process (see the Sentaurus Process module). The structure remeshing was performed using the SubMesh option:
Definitions { ... SubMesh "SubMesh" { Geofile = "@pwd@/submesh_input2.tdr" } }
Each individual dopant as well as stress components are interpolated from the original to the newly generated mesh. The original arsenic doping inside the poly gate is replaced by the constant doping using the Replace option:
Constant "PlaceCD.Gate" { Reference = "Const.Gate" Replace EvaluateWindow { Element = material ["PolySi"] DecayLength = 0 } }
The original grid and the resulting doping distribution after Sentaurus Process are shown in Figure 7 (left). The resulting mesh and the doping distribution, ready for Sentaurus Device, are shown in Figure 7 (right).
This example is contained in the Sentaurus Workbench project Applications_Library/GettingStarted/snmesh/SubMeshes.
Click to view the command file of the Sentaurus Mesh tool instance SubMesh2d SubMesh2d_msh.cmd.
To simulate the MOSFET device electrical behavior, the structure and mesh are mirrored at the x=0 axis location by Sentaurus Data Explorer, using the command:
tdx -mtt -x -ren drain=source test2d_half_subm_msh test2d_subm_msh
Alternatively, you can use the reflection capabilities of Sentaurus Mesh (see Section 8.6 Reflection).
This guarantees perfect mesh symmetry for the resulting device structure (see Figure 8).
An important feature of the SubMesh option is how the profile extrapolation is handled when the SubMesh domain and the target device geometries do not match (see Figure 9 (left)). In this case, Sentaurus Mesh extrudes all profiles outside the SubMesh domain, having them uniformly distributed, as shown in Figure 9 (right).
The next example demonstrates the use of the Ignoremat option of SubMesh.
The standard behavior of submesh interpolation is that the interpolation occurs only if the mesh vertex in a target device belongs to the same material as in a submesh device. If materials in a submesh device and a target device at the same vertex location are different, the profile interpolation for this vertex is suppressed. To overcome this limitation, you can specify Ignoremat in a submesh Placements section, which instructs Sentaurus Mesh to allow a profile interpolation, regardless of whether the materials match or do not match:
Placements {... SubMesh "SubMesh" { Reference = "SubMesh" Ignoremat } }
Figure 10 demonstrates this behavior. The remeshing is performed for the target device, which differs from the submesh device by having a polysilicon region in the middle of the structure instead of silicon.
Figure 11 shows the results of interpolation. The submesh device is uniformly doped with boron (left image). By default, Sentaurus Mesh suppresses the doping interpolation inside the polysilicon material for the target device (middle image). Switching on the Ignoremat option activates the interpolation inside nonmatching materials and produces exactly the same profile as in the submesh (right image).
Besides the submesh interpolation schemes previously described, you can specify the option MatchMaterialType:
Placements {... SubMesh "SubMesh" { Reference = "SubMesh" MatchMaterialType } }
When MatchMaterialType is specified, the submesh attempts to match equivalent material types (for example, semiconductor-semiconductor, insulator-insulator, conductor-conductor) instead of trying to match material names when looking up values from which to interpolate.
The last example illustrates the Sentaurus Mesh capability to remesh the device, using the previously obtained device simulation result taken as a submesh.
It often happens that a device needs remeshing after device simulation, based on a solution of a certain carrier transport task. In this example, the remeshing is based on the profile of the carrier impact ionization rate, obtained on a coarse mesh (see Figure 12 (left)). The peak ionization rate appears to be in a region with the coarse mesh that needs to be remeshed. This solution is taken as a submesh, then the mesh refinement based on the impact ionization values within a given range is used as a refinement criterion together with the mesh refinement on doping:
Definitions { Refinement "Default Region" { MaxElementSize = (1 1 ) MinElementSize = (0.05 0.05 ) RefineFunction = MaxInterval( Variable = "ImpactIonization", cmin=1e20, cmax=1e30, targetLength=0.05, scaling=1, rolloff ) RefineFunction = MaxTransDiff(Variable="DopingConcentration", Value=1) } ... }
The option is activated with the MaxInterval keyword, where Variable defines the dataset field name, on which the mesh refinement is produced. cmin and cmax define the interval values to be considered by the refinement procedure. The algorithm analyzes each edge in a refinement tree cell and refines the edge if the data values at the endpoints overlap a given interval and the edge is longer than the maximum edge length, defined by the targetLength value, which sets the constant mesh resolution within the given range of field values. The coarser value between MinElementSize and targetLength is used in this case.
With rolloff switched on, the scaling parameter value determines how the mesh step transition towards the outside of the refinement domain is applied, according to the following formula:
targetLengthOutside = targetLength*(1 + log(Ca) - log(Cb))^2 * scaling
where Ca and Cb are the variable values at the endpoints of the edge.
The resulting mesh, shown in Figure 12 (right), demonstrates the finer mesh refinement within the area with large values of the impact ionization rate and large doping profile gradients.
This example is contained in the Sentaurus Workbench project Applications_Library/GettingStarted/snmesh/SubMeshes.
Click to view the command file of the Sentaurus Mesh tool instance SubMesh2dII SubMesh2dII_msh.cmd.
Sentaurus Mesh allows different 2D profile transformations such as rotation, extrusion, and sweeping. It is also possible to sweep a 2D geometry and a 2D profile along the same path simultaneously and to apply a similar sweep to the mesh refinement window for a more accurate mesh spatial discretization of a device.
The following example demonstrates the different techniques of 1D or 2D profile incorporation into a 3D device structure by applying several profile transformations, including 1D to 2D profile transfer, 2D profile rotation, extrusion, and sweeping.
The Sentaurus Mesh command files featured in this section are in the Sentaurus Workbench project Applications_Library/GettingStarted/snmesh/ProfileConstruction3D. To work with the project, start Sentaurus Workbench and copy the project ProfileConstruction3D to a local directory within the Sentaurus Workbench working directory.
As the first step, the 2D profile is created from the SubMesh1d profile using the analytic profile specification:
Definitions { AnalyticalProfile "AnalyticalProfileDefinition_1" { Function = subMesh1D(datafile = "@pwd@/1d_As.plx", scale = 1) LateralFunction = Gauss(Factor = 0.0) } ... }
Placements { AnalyticalProfile "AnalyticalProfilePlacement_1" { Reference = "AnalyticalProfileDefinition_1" ReferenceElement {Element = Line [(0 -0.5) (0 1.5)]} } ... }
The same 1D doping profile as described in Section 4.4.2 Submeshes is used here.
In the second step, the 2D profile is incorporated into the 3D domain using a combination of different submesh placements, involving a profile shift as well as rotation, sweeping, and replacement techniques (see Figure 14).
Click to view the command file rotsweep3D_msh.cmd. This command file produces the final 3D doping profile, shown in the lower-right image of Figure 14.
With the third step, the above 3D profile is cut using the Slice operation in the Tools section of the command file (see Section 8. Tools Section):
Tools { Slice { normal = (0 0 1) location = (0. 0. 0.) } }
Click to view the command file slice3Dto2D_msh.cmd. This command file produces the 2D doping profile shown in Figure 15 (bottom).
In the last step, the 2D profile is incorporated into the 3D device structure applying the profile rotation around the z-axis. The corresponding 3D device boundary is generated using Sentaurus Structure Editor.
Click to view the command file make_torus_msh.cmd. This command file produces the 3D doping profile in Figure 17.
Apart from the predefined Gaussian and error functions, you can define an arbitrary general analytic function that can be used to define primary and lateral profile distributions for analytic profile definitions. The general function evaluator (GFE) uses the following syntax:
AnalyticalProfile "reference name" { Function = General(init="variable assignments", function="evaluated expression", value=<default_return_value>) LateralFunction = General(init = "variable assignments", function = "evaluated expression") }
where:
The first example demonstrates the application of the GFE to construct a linearly graded doping profile. For the structure in Figure 18, the linearly graded phosphorus doping profile is defined inside the SiGe region, which is sandwiched between two uniformly doped silicon regions.
This example is contained in the Sentaurus Workbench project Applications_Library/GettingStarted/snmesh/EvaluateFunction.
Click to view the command file of the Sentaurus Mesh tool instance called linear linear_msh.cmd.
The following syntax specifies a linearly graded profile inside the SiGe region:
Definitions { AnalyticalProfile "linear" { Species = "PhosphorusActiveConcentration" Function = General( init = "fmax=10^18;fmin=10^16" function = "10.*(fmin-fmax)*x+2.*fmax-fmin" value = 0) } ... }
The function expression ensures that the profile values at the outer boundaries of the SiGe layer meet the specified boundary conditions: 1e18 cm-3 at x = 0.1 μm and 1e16 cm-3 at x = 0.2 μm.
Click to view the command file layers1_dvs.cmd. Sentaurus Structure Editor uses this command file to produce such boundary and meshing command files and build the mesh.
The next example illustrates the use of the GFE to produce an automatic mesh refinement on an arbitrary function. In this example, the test profile is specified using the GFE:
AnalyticProfile "gfe_profile" { Species = "P2" Function = General(init="c0=10^5;lx=0.1;ly=0.1;lz=0.1", function="c0/exp((x/lx)^2)/exp((y/ly)^2)/exp((z/lz)^2)") }
The example uses the species called "P2", which is declared in the $STROOT/tcad/$STRELEASE/lib/datexcodes.txt file. The mesh refinement is based on the "P2" test profile distribution. The test 3D profile distribution and the final 3D mesh are shown in Figure 20.
This example is contained in the Sentaurus Workbench project Applications_Library/GettingStarted/snmesh/EvaluateFunction.
Click to view the command file for the Sentaurus Mesh tool instance GFEmesh GFEmesh_msh.cmd.
By default, the specified profiles are superimposed when they overlap. Switching on the Replace option allows you to change this behavior. In this case, the order in which profiles are placed is important. The next example demonstrates the use of the profile overlap controls. Three constant profiles are introduced that overlap (see Figure 21).
Figure 22 shows the resulting doping profile distributions (Nr = Ndonor – Nacceptor), illustrating the Sentaurus Mesh behavior when different overlap control scenarios are used:
The Sentaurus Mesh command files featured in this section are all contained in the Sentaurus Workbench project Applications_Library/GettingStarted/snmesh/ProfileOverlap. To work with the project, start Sentaurus Workbench and copy the project ProfileOverlap to a local directory within the Sentaurus Workbench working directory.
Click to view the command files for the different scenarios for this example:
Transferring doping profiles from Sentaurus Process to Sentaurus Device using the Sentaurus Mesh SubMesh option is relatively straightforward. However, the doping profile compilation with constant or analytic profiles requires a certain naming convention to guarantee that profiles are handled properly by the device simulator.
Sentaurus Mesh uses active donor and acceptor dopants to calculate the resulting (net) doping profile (Nr):
Nr = Sum(Nd) - Sum(Na)
where:
For silicon material as well as for other semiconductors from group IV of the periodic table of elements, special names are reserved for donor and acceptor dopants, which are defined in the $STROOT/tcad/$STRELEASE/lib/datexcodes.txt file.
For donor dopants, the most important names are:
For acceptor dopants, the most important names are:
While constructing doping profiles, Sentaurus Mesh calculates the resulting (net) doping profile applying the previous formula and saves individual dopants and the resulting doping profile in a TDR file. For each individual dopant, its profile is interpolated to a final mesh. However, for a resulting doping profile, the following rules apply:
The latter rule allows you to specify the doping distribution for III–V or II–VI semiconductor materials, such as GaAs and HgTe, and their compounds.
The following examples illustrate these naming conventions. The same structure and profile definitions as in the example in Section 4.7 Profile Overlap Controls are used here.
Four cases with different profile names were defined (see Figure 23):
The Sentaurus Mesh command files featured in this section are in the Sentaurus Workbench project Applications_Library/GettingStarted/snmesh/DopingNameConventions. To work with the project, start Sentaurus Workbench and copy the project DopingNameConventions to a local directory within the Sentaurus Workbench working directory.
Click to view the command files for the different examples:
Sentaurus Mesh can create continuous doping profiles from discrete dopant distributions obtained using Sentaurus Process Kinetic Monte Carlo (Sentaurus Process KMC), which then can be used in device simulations.
Such a procedure is called deatomization, which is accomplished by associating a doping function with each discrete dopant. The union of all such doping functions defines the final doping profile.
The next example demonstrates the doping deatomization procedure. A 3D MOS transistor structure and atomized KMC species are shown in Figure 24. Note the Manhattan-type geometry of the originally rounded shapes, which is the result of using a tensor grid in the Sentaurus Process KMC simulation.
The discrete KMC results are loaded into Sentaurus Mesh where they are deatomized using a normalized charge density approach. The charge density functions for all dopants are then summed to form the final doping distribution to be used in a subsequent device simulation.
To deatomize the KMC dopants, the Particle section must be declared inside the Definitions section of the Sentaurus Mesh command file for each individual dopant. The following syntax illustrates the parameters of the Particle section to deatomize boron particles:
Particle "BoronParticles" { ParticleFile = "@pwd@/kmc_final.tdr" Species = "BoronActiveConcentration" ScreeningFactor = 3.5e6 AutoScreeningFactor Normalization }
where:
Refer to the Sentaurus™ Mesh User Guide for details.
Figure 25 shows the results of the boron and arsenic profile deatomizations.
The complete project can be investigated from within Sentaurus Workbench in the directory Applications_Library/GettingStarted/snmesh/Deatomize.
Click to view the command file KMC_msh.cmd.
Right-click to save the TDR submesh file kmc_final.tdr from Sentaurus Process KMC (17 MB) used in this example.
Copyright © 2022 Synopsys, Inc. All rights reserved.