Process Tutorial: Difference between revisions

From Flooxs
Jump to navigation Jump to search
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:

Diffusion

Sputter