Process Tutorial: Difference between revisions
(→Etch) |
|||
Line 46: | Line 46: | ||
===Etch=== | ===Etch=== | ||
To perform an etch we need to define a mask before we etch. A mask needs a name, to know if it is positive or negative, and an exposed region defined by left and right. A negative mask will remove what is between the markers while a positive mask will remove everything but what is in between. The following commands set the mask, etch, and plot. | To perform an etch we need to define a mask before we etch. A mask needs a name, to know if it is positive or negative, and an exposed region defined by left and right. A negative mask will remove what is between the markers while a positive mask will remove everything but what is in between. By default the mask command creates a positive mask. To make a negative mask specify the word negative. The following commands set the mask, etch, and plot. | ||
mask name= mask1 negative left=-1.500 right= -0.500 | mask name= mask1 negative left=-1.500 right= -0.500 | ||
etch oxide aniso mask= mask1 time=6.5 spacing= 3e-2 | etch oxide aniso mask= mask1 time=6.5 spacing= 3e-2 |
Revision as of 00:40, 18 June 2019
FLOOPS is the subset of FLOOXS that deals with process modeling of electronic devices. This page serves as an introduction to the commands and concepts used by FLOODS to model electronic device fabrication. The goal of process modeling is to use physics informed models to predict how different process parameters change the structure of electronic devices .
Process Steps
Each step in the device fabrication process is modeled by a FLOOPS command that uses the LevelSet method to compute the structure. Once the structure is computed a new mesh is generated and another process step can be applied to the mesh. Each command will be explained and an example will be given.
Base Layer and Gas
In order to preform any device fabrication we need to start with a base layer. This base layer can be a silicon wafer, oxide, or some other material that thin films can be processed on. To begin modeling another material called Gas is needed. Gas is a region of the mesh that allows FLOOPS to keep track of some region outside the base layer. To create these two materials run the following commands:
line x loc=-1.5 spac=0.1 tag=GasTop line x loc=0.0 spac=0.1 tag=Top line x loc=1.0 spac=0.1 tag=Bottom line y loc=-2.0 spac=0.1 tag=Left line y loc=2.0 spac=0.1 tag=Right region Gas xlo=GasTop xhi=Top ylo=Left yhi=Right region Silicon xlo=Top xhi=Bottom ylo=Left yhi=Right init window row=1 col=2 width=800 height=800 plot2d grid gas
The line commands define spatial locations that need to be in increasing order in each xyz dimension. The region command creates a box region of the specified material in the line tags. Init generates the mesh based on the specified regions. To plot the grid we use the window command to open up a window with 2 plot columns of with 800 pixels and height 800 pixels. The two columns will be useful later. To actually plot the grid the 'plot2d grid gas' command plots the grid and the gas. You should get the following result:
Deposit
The next step we are going to deposit an oxide isotopically. Using the -help command that works on all commands, we see the deposit command has the following options:
deposit -help
Result of above command:
Deposit Length Scale Default is microns which can be changed with the option command Name Type Default Information mater Switch material specification rate Float 1.000000e-01 isotropic deposition rate default length scale/min time Float 1.000000e+00 isotropic deposition time min spacing Float 1.000000e-02 spacing in the level set mesh grid Int 1 grid steps in the deposition tolerance Float 1.000000e-02 grid accruacy tolerance in default length scale plot.surface Boolean 0 plot the surface step by step
From the list of these options we see that to deposit a material we only need to specify the material name. However, we probably want to specify the rate and time to match our exact process. For this example we will run the following command after our Base Layer and Gas example.
deposit oxide time= 5.0 spacing= 2.0e-2 plot2d grid gas
This deposits an oxide that is about 500nm thick. The spacing command is something you can play around with. It is a command that defines the spacing of the LevelSet grid and has the following tradeoff, making it larger decreases computation time but makes the computation less accurate. The results of this deposition:
Etch
To perform an etch we need to define a mask before we etch. A mask needs a name, to know if it is positive or negative, and an exposed region defined by left and right. A negative mask will remove what is between the markers while a positive mask will remove everything but what is in between. By default the mask command creates a positive mask. To make a negative mask specify the word negative. The following commands set the mask, etch, and plot.
mask name= mask1 negative left=-1.500 right= -0.500 etch oxide aniso mask= mask1 time=6.5 spacing= 3e-2 plot2d grid gas
The results of the tutorial so far plus the three commands are as follows:
After over etching for a bit, we were able to etch a hole through the oxide to the silicon base layer. Now in a typical fabrication process, we would probably dope the wafer at this point. To illustrate this, we will use the implant command.
Implant
The implant command has many capabilities so it is best if we start by looking at the options given by the -help command.
implant -help
Results of above command:
mater Switch material specification species String species name file String data file location min.conc Float 1.000000e+10 minimum concentration to use name String Data Field name mod Switch what model this file is used for pearson Boolean gaussian Boolean tasch Boolean dualpearson Boolean adapt Boolean 1 adapt the mesh to fit the implant energy Float 0.000000e+00 energy in keV dose Float 0.000000e+00 dose in cm-2 angle Float 0.000000e+00 wafer tilt to beam tilt Float 8.000000e+00 wafer tilt to beam rotation Float 3.000000e+01 wafer rotation sliceang Float 0.000000e+00 2d slice angle mult_rot Int 1 rotate the wafer dop Switch species boron Boolean arsenic Boolean phosphorus Boolean bf2 Boolean antimony Boolean mask String mask for the implant
By default FLOOPS detects what materials are present and has values preloaded for the dopants displayed above. The mask becomes unnecessary in our case. Only the dopant, dose, and energy need to be given for most calculations. Let's now run the implant with typical values and see what the results are.
implant boron dose=1.0e15 energy=20 sel z= Boron plot2d levels=100 graph= Boron
The reulsts of the implant can be seen with the sel z= command. This command creates a string buffer that is plotted using the plot2d command. The tag levels=100 specifies the number of color levels used in the tow dimensional plot. The results are as follows: