Skip to content

The simulation workflow

SinuoZhang edited this page Jul 15, 2024 · 9 revisions

The simulation project in this repository consists of 3 steps: the process simulation, the device simulation, and the data extraction. The process simulation is done by the tool "sprocess", the device simulation by "sdevice", and the data extraction by "svisual". All of the steps are performed using simulation scripts. In this section, the main workflow of the simulation and the brief description of the scripts will be summarised.

The Workflow

Generally, the simulation follows the sequence: sprocess(generate device) --> sdevice(simulation of electrical properties) --> svisual(extract data from simulation results), as shown in the figure below. In the example of this repository, the svisual only extracts the data from the device simulation, however, it can also be used for extracting the data from process simulation by importing the corresponding output file.

toolsflow

Therefore, in the GUI of the sentaurus workbench (swb), the tools are arranged in the same manner as:

swboverview

Variables and their values can be defined for each tool (but not restricted to the certain tool, which means they are generally global variables). All combinations of the variable values will be automatically generated once the variables (and the values) are added, and each combination is named as an "experiment" (see AddVariablesValues.pdf ).

The way of arranging the simulation experiments according to the parameter sets can be illustrated via a tree diagram, as the beneath figure showing an example of the variables for sprocess. treediagram

Simulation Scripts

A command file as the simulation script is required for each tool mentioned above. The default file name upon creation is: " + " with the extension ".cmd" (see the /Scripts). The command files are the master files for running the simulation, and the tool-specified commands are listed there for controlling the simulation procedure. For instance, in the process simulation script, the definition of the simulation domain, the meshing grids, the etching, the ion implantation, and the annealing are stated in the appropriate sequence. In addition, the parameters for numerical simulation or the in-/exclusion of certain physical aspect can be defined there. In the device simulation part, the device, electrodes, the physical models, the physical quantities needs to be computed, and the simulation procedure of bias ramping or charge collection are specified.

The syntax of these command files for the tools included in this repository are based on the tcl/tk language. However, there are cases where the synopsys TCAD uses its own syntax convention. Some tools in the synopsys TCAD uses a completely different programming language/syntax for the command files. For example, the "structure editor" uses "Scheme", which is a dialect of the "Lisp" language family.

The simulation actions stated in the command script can also be imported from different files, by loading them in the command scripts. For the workflow presented in this repository, 3 additional files with the extension ".fps" are used to support the process simulation. The "GeneralSetting.fps" file gathers all the parameter settings, so that they are easier to be managed. In "ProcLib.fps", a number of useful functions are defined there, from the basic list manipulation functions to the mesh generation and ion implantation process. The "DemoProcData.fps" gathers all the processing data in the manner of functions (also using the functions in the "ProcLib.fps"), so that they can be directly called by the function's name in the command file. In this way, the structure of the command file is more clear to be seen and it offers more flexibility for switching the processing data. For instance, the data from each foundry can be summarised in such a "ProcData" file, and changing between foundries can be simply realised by loading the corresponding data file.

The overall file relations is as:

filesrelation

Clone this wiki locally