10.1 Overview
10.2 Initialization
10.3 Remeshing Options
The files discussed in this section are part of the Sentaurus Workbench project Remeshing_for_Device. The complete project can be investigated from within Sentaurus Workbench in the directory Applications_Library/GettingStarted/sprocess/Remeshing_for_Device.
After performing a process simulation, the structure usually needs to be remeshed for device simulation because the requirements of the device simulator differ from those of the process simulator.
This remeshing step is typically performed using Sentaurus Structure Editor and Sentaurus Mesh, but it can also be done with Sentaurus Mesh integrated in Sentaurus Process. Performing this step in Sentaurus Process has advantages such as:
For these reasons, it is often desirable to perform device meshing in Sentaurus Process as an add-on to the process simulation flow. You can do this by using an additional Sentaurus Process tool instance in the Sentaurus Workbench flow or a split in the Sentaurus Process tool instance.
Before any remeshing operations are performed, it is recommended that the previously defined mesh settings are cleared to avoid any surprises when defining the device mesh:
refinebox clear refinebox clear.interface.mats refinebox !keep.lines line clear
In addition, the mesh delaunization type must be changed to boxmethod. The default conformal-type delaunization is not suitable for device simulation:
pdbSet Grid SnMesh DelaunayType boxmethod
After the mesh definitions are specified using the syntax shown in the next subsection, the mesh must be regenerated:
grid remesh
In Sentaurus Process, contact definitions must be performed as the last step, after remeshing for device simulation.
This section describes how different meshing criteria can be implemented in Sentaurus Process. Even though the results of one criterion are shown at a time, a typical device would require multiple criteria to be used for a proper device mesh.
refinebox min= {0 0.1} max= {0.2 0.4} xrefine= 0.010 yrefine= 0.020
This example shows how to generate a uniform refinement inside a rectangular box (cuboid in three dimensions).
refinebox PolySilicon xrefine= 0.010 yrefine= 0.020
This example shows how to generate a uniform refinement inside a particular material, PolySilicon in this case.
refinebox regions= {Oxide_1.1} xrefine= 0.010 yrefine= 0.020
This example shows how to generate a uniform refinement inside a particular region, Oxide_1.1 in this case.
refinebox interface.mat.pairs= {Silicon Oxide} \ min.normal.size= 0.002 normal.growth.ratio= 1.5
This example shows how to generate a refinement at the interface between two materials. Refinement is performed on both sides of the interface.
refinebox offsetting interface.materials= {Silicon} offsetting.maxlevel= 10 refinebox offsetting interface.mat.pairs= {Silicon Oxide} \ min.normal.size= 0.005 normal.growth.ratio= 1.5
At interfaces that are not axis-aligned or curved, interface refinement causes many mesh nodes to be consumed. In such cases, it might be better to use interface offsetting, which creates mesh lines that run parallel to the interface. The number of mesh lines generated at each side of the interface can be controlled with the offsetting.maxlevel argument.
grid set.min.normal.size= 0 refinebox offsetting interface.regions= {Silicon_1} offsetting.maxlevel= 10 refinebox offsetting interface.region.pairs= {Silicon_1 Oxide_1.1} \ min.normal.size= 0.003 normal.growth.ratio= 1.3
This is similar to the previous case, except that offsetting is performed between two specific regions.
refinebox Silicon refine.fields= {NetActive} max.asinhdiff= {NetActive=1.0} \ refine.min.edge= {0.004 0.004} refine.max.edge= {0.25 0.15}
To refine on doping, adaptive meshing must be switched on. Meshing is performed adaptively on asinh(NetActive) with an asinh difference of 1.0 and a minimum mesh spacing of 4 nm.
refinebox interface.mat.pairs= {Silicon Oxide} \ min= {0.4 0.3} max= {0.5 0.5} \ min.normal.size= 0.002 normal.growth.ratio= 1.5
Sometimes, you want to restrict interface refinement to only a part of the interface. In such cases, simply add a refinement window to the interface refinement command.
pdbSet Grid MGoals UseLines 1 line x location= 0.1 line x location= 0.2 line x location= 0.4 line y location= 0.1 line y location= 0.2 line y location= 0.3 line y location= 0.4
In certain cases, you might want to add mesh lines at specific locations. You can do this using the Sentaurus Process line command. Manual mesh lines also partition the structure such that refinements defined on one side of a mesh line do not propagate to the other side.
Copyright © 2017 Synopsys, Inc. All rights reserved.