Você está na página 1de 47

IntelliEtchC user guide: Simulating wet and dry etching with atoms

2010 IntelliSense Software Corp. All Rights Reserved

IntelliEtchC user guide


IntelliEtchC is the CPU-based engine of the IntelliEtch module. This guide explains how to use IntelliEtchC for the simulation of wet and dry etching in the fabrication of MEMS structures. This guide explains how to use IntelliEtchC for the simulation of wet and dry etching in the fabrication of MEMS structures. IntelliEtchC is a self-contained, user-friendly, multiscale atomistic simulator of anisotropic etching with multi-mask patterning capabilities. Based on an octree representation of the silicon sample, it uses both Kinetic Monte Carlo (KMC) and Cellular Automata (CA) algorithms for propagating the surface forwards in time. In addition to offering assistance for MEMS engineering design, IntelliEtchC enables a deeper insight of key features such as the atomistic structure of any surface orientation, the step flow nature of wet etching or the development of characteristic morphologies in the evolving multifaceted etch front. The IntelliEtch module consists of four applications: IntelliEtchC (IEC) CPU-based engine of the wet etching simulator. Supported methods: Kinetic Monte Carlo (KMC) and Cellular Automata (CA) in different flavors: Basic CA (BCA), Simple CA (SCA) and Continuous CA (CCA). IntelliEtchG (IEG) GPU-accelerated version of the wet etching simulator. Supported method: Continuous CA (CCA). Wagon Wheel Analyzer (WWA) A tool to extract experimental etch rates from optical images of <110>- and <100>-oriented DRIE micromachined silicon wagon wheels that are subsequently wet etched in anisotropic etchants. Etch Rate Visualizer / CCA calibrator (ERV) A tool to visualize the complete orientation dependence of the etch rate for all possible crystallographic orientations in the unit sphere based on one of two possible inputs: (i) the experimental etch rates obtained using the Wagon Wheel Analyzer, or (ii) the initial and final positions of the silicon surface for simulation/experimental wet etched silicon hemispheres. Based on the visualized etch rates for a given etchant, the tool can be used to calibrate the CCA method and thus perform wet etching simulations for that etchant using both IntelliEtchC and IntelliEtchG.

2/47

Contents: 1. Why IntelliEtchC? 2. Getting started 2.1 Software and hardware requirements 2.2 Starting IntelliEtch 2.3 User interface 3. Defining the silicon substrate 3.1 Sample orientation 3.2 Sample size 3.3 Buried insulator layer: SOI wafers 3.4 Creating a project: Generating the silicon crystal 3.5 Crystallographic axes 3.6 Selecting a wafer flat 3.7 Setting the resolution 3.8 Boundary conditions 3.9 Non-flat substrates 3.10 Spherical silicon samples 4. Masking a surface 4.1 Importing a mask layout 4.2 Mask file formats: BMP and IntelliMask 4.3 Silicon nitride and silicon oxide 4.4 Masking the top side 4.5 Masking the bottom side 4.6 Mask layout aspect ratio 4.7 Remove Nitride/Oxide Layer vs Remove Pattern 4.8 Aligning the mask and the crystal 5. Running a wet etching simulation 5.1 Stop control (CA and KMC) 5.2 Defining checkpoints (CA and KMC) 5.3 Cellular Automata 5.4 Running a CA simulation 5.4.1 Anisotropic Etching 5.4.2 Isotropic Etching 5.5 Choosing the wet etching conditions for CA simulations 5.5.1 Anisotropic etching: Basic CA and Continuous CA 5.5.2. Anisotropic etching: Simple CA 5.5.3. Isotropic etching: Continuous CA 5.6 Other conditions: additional calibrations for CA simulations 5.7 List of atomistic etch rates for CA simulations 5.8 Removal Probability Function for Continuous CA simulations 5.9 Effect of different atomistic rates on the Basic CA simulations 5.10 Kinetic Monte Carlo 5.11 List of atomistic etch rates for KMC simulations

3/47

5.12 Removal Probability Function for KMC simulations 5.13 Isotropic etching using the KMC method 6. Running a dry etching simulation 7. Visualizing the results 7.1 Mouse operations 7.2 Surface atoms as points 7.3 Balls and sticks 7.4 Rendered surface (Triangulation) 7.5 Octant rendering (Surface unit cells) 7.6 Volume rendering with mask 7.7 Resolution and visualization 7.8 Isometric and perspective projections 7.9 Octree grid 7.10 Refreshing the view 7.11 Displaying the axes 7.12 Cross sections 7.12.1 Step 1: Select the direction of the plane/s (as seen from the top) 7.12.2 Step 2: Decide the number of cutting planes 7.12.3 Step 3: Input the coordinates of the required points 7.12.4 Step 4: Cut the model 7.13 Measurement of distances, angles and (hkl) indices for facets 7.13.1 Measuring the distance between two points 7.13.2 Measuring the angle between two segments 7.13.3 Measuring the angle between one facet and a reference plane 7.13.4 Determining the Miller indices of one facet 7.13.5 Measuring the angle between two facets 7.13.6 Combining cross-sections and measurements 7.14 Insulator layer planes 7.15 Entity Color Appearance 8. Saving and exporting the results 9. Major surface families: choosing vicinal surfaces 10. Highlighting, freezing and removing atoms References

4/47

1. Why IntelliEtchC? IntelliEtchC enables working with many projects simultaneously, making possible the comparison of different processes and/or their branching combinations. Within each project, IntelliEtchC allows the simulation of complex MEMS structures by enabling: (i) the simultaneous use of multiple silicon nitride and oxide masks, applied to either the top or bottom wafer sides, or both; (ii) the definition and etching of buried insulator layers - as in SOI wafers - allowing accurate control of the etch depth in applications; and (iii) the definition and etching of sacrificial layers - such as polysilicon - allowing the simulation of more complex structures. And the simulator conveniently records all performed processes and modifications to each project separately for easy reproduction and documentation freeing the user from tedious bookkeeping tasks. With IntelliEtchC one can pattern and etch any surface orientation {hkl} not only the traditional {100}, {110} and {111} wafers, expanding the possibilities of MEMS design and enabling the testing of vicinal surface effects. Furthermore, IntelliEtchC makes possible the patterning and etching of non-flat substrates with multivalued and/or multifaceted profiles, including flat, round, partially vertical and/or diagonal features. Even spherical Silicon samples can be patterned and etched. And the user can choose to simulate etching by setting the etch time or the etch depth, just like in the experiments. Alternatively, it is also possible to explore and fine-tune a particular process by etching atom-by-atom or by larger amounts of atoms or frame-by-frame, where the number of visited atoms equals the surface atoms. In addition, isotropic etching can be performed, including the buried layer in SOI wafers. When it comes to using masks, IntelliEtchC can work with simple black-and-white BMP image files or with more flexible vector graphics representations using the IntelliMask format. IntelliEtchC offers a fast prototyping simulation mode by using the Basic (or Discrete) CA and the KMC methods. Alternatively, at the expense of longer simulation times, more accurate simulations can be performed by using the Continuous CA method. And the user can benefit from batch-oriented features such as the automatic saving of the simulation state at user-defined checkpoints, enabling the user to perform other tasks while running a simulation. Moreover, IntelliEtchC offers easy integration with Finite Element Analysis software such as ABAQUS for thermal and mechanical analysis of the resulting structure, transferring the atomistic point cloud into the C3D8R element file format. IntelliEtchC offers four visualization modes: (i) the display of points, showing the surface and the masks, or only the surface; (ii) the display of an illuminated triangulated surface, showing the surface; (iii) octant rendering, which displays a cube for each surface unit cell, showing the surface and the masks, or only the surface; and (iv) the display of atoms and bonds, showing the surface and the bulk, or the surface only. In addition, IntelliEtchC can display user-defined cross sections using the octant

5/47

rendering method. The program offers full user control over the display colors for the silicon substrate, the oxide and nitride masks, the buried layer for SOI wafers and other entities. IntelliEtchC has been calibrated to simulate anisotropic etching in various conditions, as shown in Table 1. Work is in progress to add more conditions. Table 1. Experimental conditions for which IntelliEtchC has been calibrated. KOH+IPA wt % 60 C 70 C 80 C 24 (55C) (65C) (75C) 24 30 KOH 35 40 50 10 TMAH 20 25 TMAH+Triton 25

IntelliEtchC has a rich pedagogical value, enabling unfamiliar engineers and students to easily reproduce MEMS structures obtained in the same or other research groups, improving their insight and boosting their capacity to find solutions to their applications. From the visualization and manipulation of the atomic structure of non-principal surfaces to the simulation of complex structures where patterning and etching are applied multiple times in alternation, IntelliEtchC enables a wide range of possibilities.

6/47

2. Getting started 2.1 Software and hardware requirements IntelliEtchC requires the following hardware and software specifications:

Processor: Intel Pentium 4/AMD Athlon or newer processor. Minimum CPU memory (main memory): 1GB (2 GB recommended). Operating System: Microsoft Windows XP / Vista / 7, 32 or 64 bit.

2.2 Starting IntelliEtch To get started, double click on the file launcher.exe. This will open the main IntelliEtch window, as shown in Fig. 1. This window provides access to the four applications bundled in IntelliEtch: IntelliEtchC (or IEC), IntelliEtchG (or IEG), Wagon Wheel Analyzer (or WWA), and Etch Rate Visualizer / Calibrator (or ERV), as described at the beginning of this document. To start IntelliEtchC simply click on the button that reads CPU-based simulator.

Fig. 1: The main IntelliEtch window.

7/47

2.3 User interface The user interface has three main regions: the Settings Panel, the Visualization Window and the Messages Window (see Fig. 2). A Menu Bar and a Tool Bar situated at the top-left corner provide access to the different simulation and visualization functions. A Status Bar at the lower end of the tool informs about the functionality of the different buttons and readiness of the program. A floating Monitor Window appears when running a process to inform about the progress of the simulation and use of memory. The Settings Panel holds the basic information of the silicon substrate, such as the orientation and size of the sample (see Fig. 2). On closer inspection, this panel has two tabs accessible at the lower end, as shown in Fig. 2. The Settings tab accepts input data. The Operations tab records performed processes for easy reproduction and documentation. The Messages Window prompts output messages from the simulator. The Visualization Window can show many Display Windows at the same time, each window corresponding to a different project. In this region the user can visualize the simulation results for each project and also choose, highlight with color, freeze and/or remove one or many atoms in each Display window.

Fig. 2: IntelliEtchC user interface. 3. Defining the silicon substrate To create a sample with a desired orientation and size, follow the guidelines given here to input values in the Settings Panel (Fig. 3). IntelliEtchC provides reasonable default values for most parameters and generates by default a 100x100 um2 {001} silicon crystal. IntelliEtchC will prompt an error if the values are of the wrong type or out of the corresponding range.

8/47

3.1 Sample orientation The first step is to input the surface orientation of the silicon substrate using the Miller indices {h k l}. One can specify any integer values for h, k and l, not limited to the principal surfaces {100}, {110} and {111}. This allows the analysis of the structure and the etching behavior of vicinal surfaces such as {221}, {311}, {331}, {553}, etc. Section 9 (Major surface families: choosing vicinal surfaces) gives a short guide on what values to choose for common vicinal surfaces. 3.2 Sample size After the orientation, input the X and Y dimensions of the crystal in microns. Alternatively, input the size as the number of unit cells along the X and Y directions. By default, the crystal dimension in the Z direction (depth) is automatically controlled by the program itself. If you really need a block of silicon with a specific initial height, input the value of Z to cut the crystal. This is understood as microns or unit cells, depending on the choice of units. Keep in mind that the length of the unit cell along X, Y and Z, and its atom content (or crystallographic basis) are different for different orientations. For a given orientation {hkl}, the specific physical size and atom content of the unit cell can be seen by clicking on Show Unit Cell before creating a new project (see Section 3.4, Creating a project). This is meant only for inspection of the unit cell and no etching can be simulated in this mode. Alternatively, a crystal with 1x1x1 cells can be created for the same purpose, allowing all typical operations. In this case, select View -> Atoms and Bonds(surface and bulk) in the Menu Bar to show the atoms and bonds in the corresponding Display Window. For higher display quality, choose View -> Smooth Spheres. Note that a 1x1x1 cell system contains the pure crystallographic basis while Show Unit Cell will additionally display boundary atoms from neighbor cells in X, Y and Z due to periodic boundary conditions.

9/47

Fig. 3: Settings tab and Operations log in the Settings Panel. 3.3 Buried insulator layer: SOI wafers The clickable box beside "Stop at insulator layer" at the lower end of the Settings Panel serves as a means to simulate an etch stop. This is useful to mimic an SOI (Silicon On Insulator) wafer with a buried insulator layer. You can set the SOI layer starting depth value (measured from the top side of the wafer) and its thickness in the corresponding edit boxes in microns. If the user turns on the checkbox "Dimensions measured in unit cells", the starting depth and thickness of the buried layer will be understood as unit cells.

3.4 Creating a project: Generating the silicon crystal After supplying the desired values in the Settings Panel, click on the left-most button of the Tool Bar (white page icon named New) to generate a new project with the chosen characteristics. Once created in the computer memory, a new Display Window will be shown in the Visualization Window, identified by the name assigned to the project in the field located just above the {h k l} orientation values in the Settings Panel. The name of the project can be changed at any time. To properly visualize the sample, the Hide/Show Active Project button must be on (default value).

10/47

If it is off, click on the binoculars icon in the Tool Bar or do View -> Hide/Show Active Project from the Menu Bar. You may need to additionally click on the Refresh Active Project button appearing in the Tool Bar or, alternatively, do View -> Refresh Active Project. 3.5 Crystallographic axes By default, the Display Window for the generated silicon crystal shows the three crystallographic directions aligned with the X, Y and Z axes, making use of the standard RGB coding for XYZ: Red axis for X, Green axis for Y and Blue axis for Z. Frequently, the colored axes are rather small and zooming in is required (see Section 7.1) to distinguish which crystallographic direction [hkl] corresponds to X, Y and Z. The display of the axes can be switched on/off by doing View -> Hide/Show Axes in the Menu Bar.

Fig. 4: Selecting the silicon wafer orientation and flat. 3.6 Selecting a wafer flat Every time the user creates a new project (see Section 3.4) a popup window appears (see Fig. 4) where the user may graphically select the desired flat for the primary wafer orientations, as described in Table 2. Table 2: Primary wafers and wafer flats available in IntelliEtchC (cf. Fig 2-B) Wafer selection 1 Wafer selection 2 Wafer selection 3 (100) wafer with (100) flat {100} (100) wafer with (110) flat (110) wafer with (110) flat (110) wafer with (111) flat {110} (110) wafer with (100) flat (111) wafer with (211) flat {111} (111) wafer with (110) flat In general, to create a sample with a specific wafer flat along X, one may try cycling and/or negating the h, k, l Miller indices, and check for the resulting crystallographic directions aligned with X, Y and Z in the Display Window (as explained in section 3.5) until the desired flat is obtained. As an example, using h = 1, k = 0, l = 0 gives OX =

11/47

[0,1,-1], OY = [0,1,1] and OZ = [-1,0,0]. However, using h = 0, k = 1, l = 0 gives OX = [0,0,1], OY = [-1,0,0] and OZ = [0,1,0]. Although both cases provide a {100} wafer, the former has a <110> flat and the latter a <100> flat. Effectively, the crystal has rotated 45 deg between one case and the other. Similarly, using h = 1, k = 1, l = 0 gives a different axis-set than h = 0, k = 1, l = 1. The latter gives OX = [1,2,-1], OY = [-1,1,1] and OZ = [-1,0,-1]. This means that Y is aligned with the <111> direction and that the {111} planes perpendicular to the wafer surface are aligned with the X axis. Although IntelliEtchC displays the crystallographic directions aligned with X, Y and Z, picturing the corresponding planes requires minimal thinking by the user, recalling that for a cubic system the (hkl) plane is perpendicular to the [hkl] direction. In crystallography, (hkl) designates a particular plane and {hkl} designates the family of equivalent planes (e.g. {100} refers to (100), (010), (001), (-100), (0-10),...). In the same manner, [hkl] designates a particular direction and <hkl> the family of equivalent directions. 3.7 Setting the resolution When a project of size LxL microns is created, the program will internally generate an atomistic system of size NxN cells and properly scale it for its engineering use. The number of cells N can be increased or decreased by changing the value of parameter FACTOR under the [SCALING] group in the ASCII file Rate.ini, as shown in Fig. 5. This file is located in the same folder where the IntelliEtchC executable resides. Representative values of FACTOR are 0.125, 0.25, 0.5 and 1.0, corresponding to N = 128, 256, 512 and 1024 cells, respectively. Typical values are 0.25 and 0.5 for 256 and 512 cells.

Fig. 5: Setting the resolution factor in the Rate.ini file. Large values of FACTOR allow higher resolution representations of the substrate containing more cells. They are suitable for mask patterns with many features. After changing the value of FACTOR in a text editor and saving the file as Rate.ini, there is no need to restart IntelliEtchC. Simply create a new project. Large FACTOR values lead to longer simulation times and larger memory use, also slowing down the visualization of the project. For a project of size L1xL2 microns, the value of FACTOR controls the number of cells in the longer dimension. When a project of size L1xL2

12/47

microns is created, the actual numbers of cells N1xN2 along X and Y are displayed in gray in the Settings Panel. Etching by depth (specifying microns) or by time (specifying minutes) leads to equivalent results independently of the resolution value. For smaller resolution (e.g. FACTOR = 0.25), less detail is obtained than for larger resolution (e.g. FACTOR = 0.5). 3.8 Boundary conditions Three types of boundary conditions are relevant for an etching simulator: (i) the crystal has a finite size in the three dimensions (representing a silicon chip), (ii) the crystal is finite in the Z-direction and infinite in X and Y (a planar slab), and (iii) the crystal is semi-infinite in the Z-direction and infinite in X and Y (a semi-infinite crystal). IntelliEtchC enables cases (ii) and (iii), using periodic boundary conditions in the planar directions X and Y. In this manner, the same silicon chip repeats itself indefinitely on the XY plane. Most experimental results can be simulated using case (ii) or case (iii). Case (i) can be easily implemented on demand if really needed. 3.9 Non-flat substrates IntelliEtchC enables creating, patterning and etching of non-flat initial states for the substrate. This can be done in two ways, depending on whether the initial state is axi-symmetric or not. If not symmetric, the user provides as input the XYZ coordinates of a point cloud representing the non-flat surface. If axi-symmetric, the user provides the non-flat profile in the form of a mask file where the black region is meant to remain while the white region is meant to be cut. For this purpose, first create a flat substrate following the procedure indicated in Section 3.4. Open then the Browse and apply masks dialog by following the procedure indicated in Section 4.1. Choose the mask file corresponding to the cut profile and cut the crystal by selecting Simulation -> Cut Curved Substrate from the Menu Bar. After a brief calculation period the project window will show the resulting non-flat substrate. This substrate can be patterned and etched like any other flat silicon sample. 3.10 Spherical silicon samples After creating a silicon substrate with a specific {hkl} orientation, it is possible to cut a spherical sample from it. For this purpose, select Simulation -> Cut Silicon Sphere from the Menu Bar. This operation can be performed for any substrate orientation (e.g. {100}, {110}, {331}, etc), resulting in different orientations for the North Pole. The resulting spherical specimen can be patterned and etched just like any other silicon sample. 4. Masking a surface IntelliEtchC enables four different masking scenarios: (i) no mask, (ii) mask on the top surface, (iii) mask on the bottom surface and, (iv) masks on the top and bottom surfaces. If the crystal has not been cut in the Z direction initially, a bottom surface can be created at any time and masked with the desired pattern. Similarly, the mask

13/47

scheme can be changed at any time during a simulation. For instance, an initial top-only mask can be removed after some initial etching and a new mask can be applied to the bottom surface (cutting the crystal at this stage if necessary), leaving the top surface completely exposed to the etchant or applying a new mask on it.

Fig. 6: Browse and apply masks dialog for mask file selection and related operations. 4.1 Importing a mask layout The mask patterns are imported into IntelliEtchC via the Browse and apply masks dialog (Fig. 6). This is open by clicking on the Apply masks on top and/or bottom surfaces button in the Tool Bar or by choosing Simulation -> Apply Mask in the Menu Bar. The mask files are typically stored in a folder whose location can be specified by pressing the Locate Mask File Folder button in the Browse and apply masks dialog. By default, a folder named mask is expected inside the same folder as the IntelliEtchC executable. If this folder exists or the name and location of another folder is provided by the user, all mask files inside the folder are listed, and can be previewed and selected. 4.2 Mask file formats: BMP and IntelliMask

14/47

Mask files are either (i) standard BMP image files that can be created and edited in many image-processing tools such as MS Paint, PhotoShop or GIMP, or (ii) IntelliMask vector graphics files, which are more flexible for performing variations in the pattern design. The BMP files need to be saved as black and white using 256 colors. The black features are the masked regions inert to the etchant and the white areas are exposed to the chemical attack. For BMP files, flipping the colors is not possible inside IntelliEtchC and should be done externally in a graphics editor. For IntelliMask patterns, flipping the etched and inert regions can be done inside IntelliEtchC. 4.3 Silicon nitride and silicon oxide IntelliEtchC enables the use of two types of masks: silicon nitride (Si3N4) and silicon oxide (SiO2). Masks of different type can be specified simultaneously, for instance one type on the top surface and the other on the bottom surface. They can also be present on the same surface (top side). The two mask types can be removed and added many times at different stages of the simulation with the same and/or different mask layouts. This feature enables the simulation of complex fabrication processes. As implemented in the present version, both nitride and oxide masks are one layer deep and completely inert to etching (etch rate = 0 m/h). The thickness of the layer is one unit cell, which depends on the wafer orientation (see Section 3.2). 4.4 Masking the top side Once the desired mask pattern has been selected and previewed, proceed by pressing the Apply Mask button in the Mask as Silicon Nitride Layer group of the Browse and apply masks dialog to pattern the top surface with silicon nitride. Alternatively, press the Apply Oxide Layer button in the Mask as Silicon Oxide Layer group to pattern the top surface with silicon oxide. After a brief calculation, the project window will be automatically updated and show the masked silicon sample. The mask is visible if Atoms as Points(Si surface and masks) visualization is on (default). To turn it on/off do View -> Atoms as Points(Si surface and masks) in the Menu Bar or click on the colored points icon named Atoms as Points(Si surface and masks) in the Tool Bar. The mask layer can alternatively be displayed by using the octant visualization method (see Section 7). 4.5 Masking the bottom side If the Z dimension of the crystal was not previously cut, it is possible to do it at any time in the Browse and apply masks dialog by pressing the Apply Mask (1st time) button of the BOTTOM group inside the Mask as Silicon Nitride Layer option group. This will cut the crystal and apply the desired mask pattern of silicon nitride on the backside of the silicon sample. Press the Apply Mask (1st time) button also if you are applying the mask to the bottom for the first time even if you already previously cut the crystal. If the project was created using microns as the unit of length, one can force the use of cells at this stage if needed by activating the "Dimensions in Unit Cells" checkbox. For subsequent mask transfers on the bottom side, use Apply

15/47

Mask in the BOTTOM group. In the current implementation of IntelliEtchC the bottom side can be masked by silicon nitride only. 4.6 Mask layout aspect ratio When applying a mask pattern of size M1xM2 mm, inches or pixels, IntelliEtchC will stretch the mask layout to fit the planar size N1xN2 of the silicon substrate, thus deforming the mask features if the two aspect ratios M1/M2 and N1/N2 are different. Best results are obtained by choosing the planar size of the substrate to have the same or very similar aspect ratio to the mask layout. There are no restrictions to the size and/or aspect ratio of the mask layout. 4.7 Remove Nitride/Oxide Layer vs Remove Pattern In the Browse and apply masks dialog, the section for Mask as Silicon Nitride Layer contains the buttons Remove Nitride Layer and Remove Pattern. The difference is that Remove Nitride Layer completely removes the nitride layer atoms from the system while Remove pattern removes only the nitride layer atoms located in the white regions of the currently selected mask file. Similarly, the section for Mask as Silicon Oxide Layer contains the buttons Remove Oxide Layer and Remove Pattern. Their behavior is equivalent to the buttons for the nitride layer, affecting in this case the oxide layer. 4.8 Aligning the mask and the crystal In order to align the mask features with a particular crystallographic direction there are two possibilities: (i) to rotate the mask pattern in a graphics editor or in IntelliMask, depending on the mask file type, saving it as a new mask file for use in IntelliEtchC. This option is recommended; (ii) to try different permutations of the {hkl} indices including negative values to select a suitable wafer flat, as explained in Section 3.6. This option is not really meant for generating misalignment between the mask and the flat. It is meant for inducing misalignment similar to that of a joystick (picture the normal to the surface as the joystick handle). Thus, option (i) is recommended. 5. Running a wet etching simulation All the simulation options and commands for wet etching can be found in the Wet Etching dialog window that appears when choosing Simulation -> Wet Etching from the Menu Bar. Alternatively, one can open this dialog by clicking on the gear icon named Wet etching in the Tool Bar. The dialog is shown in Fig. 7. The upper half region of the dialog is used to display the options from three alternative tabs named as Cellular Automata, Kinetic Monte Carlo and Rate Settings for CA. A fourth missing tab Rate Settings for KMC can be accessed when the Kinetic Monte Carlo tab has been selected (see Section 5.11). The lower half of the Wet Etching dialog remains the same when changing between the previous tabs. It contains two option groups, namely, Stop Control and Define Checkpoints, which are shared by the CA and KMC methods. We first explain how to use these two option groups and

16/47

then describe how to use the tabs on the upper half of the dialog. 5.1 Stop control (CA and KMC) The Stop Control option group allows selecting when to finish a simulation. One can specify four alternative requests: (i) the etching time, in minutes and fractions of this unit; (ii) the etched depth, restricted to integer values since it will be understood as microns or unit cells, depending on the choice of units in the project; (iii) the number of removed atoms for the current etch, using integers; and (iv) the number of complete surface visits for the current etch as an integer, where a surface visit corresponds to all current surface atoms being visited once, which typically leads to the simultaneous removal of all or part of them.

Fig. 7: Wet Etching dialog window. The contents of the Cellular Automata tab are shown. The state of the dialog is an example for running a wet etching simulation using the Continuous Cellular Automaton method with Standard Time Compensation, requesting stop control by depth and automatic saving of model files at checkpoints. 5.2 Defining checkpoints (CA and KMC)

17/47

The user can set automatic checkpoints in the Define Checkpoints option group in order to visualize and, if desired, save different types of intermediary files during a simulation. The integer value specified by the user for the interval between checkpoints is understood as minutes, depth, removals or complete surface visits according to the choice of Stop Control method. To visualize the simulation progress the Refresh View at Checkpoints (may be slow) checkbox must be active. If the refresh interval is very short, the simulation can be significantly slowed down due to competing visualization and surface propagation tasks. Refresh View After Run can be activated as an alternative or in addition. As an extra feature, one may specify a file type in the Output File Options: block in order to save the state of the simulation at each checkpoint. This is useful for producing animations of the simulated process or re-starting a simulation at a specific checkpoint in time or depth. The generated files are stored in the AutoPicSaving folder beside the IntelliEtchC executable. The XYZ file type is simply a listing of the coordinates of each surface atom, one atom per row. This format can be read by many programs, such as VMD (http://www.ks.uiuc.edu/Research/vmd/) for further visualization and/or analysis of the system. The VRML file contains the same atom coordinates in a standard VRML format. This format is useful for visualization in external programs such as ParaView (http://www.paraview.org/HTML/Index.html). The Model file has a non-standard format understood only by IntelliEtchC. It can be used to recover the state of a simulation for later visualization in IntelliEtchC or to continue the simulation from the corresponding checkpoint possibly introducing some variations. The XYZ and VRML files are of ASCII type while the Model file is BINARY. One can also use the Image File option, which takes a screenshot of the Project Window in JPG format. In this case, make sure that no other window is placed totally or partially over the Project Window to avoid capturing it. 5.3 Cellular Automata After opening the Wet Etching dialog (Fig. 7), click on the Cellular Automata tab. The Methods option group allows specifying what flavor of cellular automaton to use for simulating etching. Detailed information about the meaning of the listed methods, their implementation and differences can be found in Ref. [1]. Most often, the Basic CA (fast prototyping) and the Standard Time Compensation / Backward Time Compensation methods will be used. Some of the methods in this option group have been disabled (grayed out) due to being impractical, inaccurate and/or inconsistent. Basic CA or BCA is a fast method and should typically finish a given task within a few tens of seconds up to several minutes, depending on the computer speed, the size of the system held in the computer memory and the duration of the simulated etch process. At low/middle concentrations of KOH solutions, BCA can output good simulation results. Simple CA is designed to use only three input etch rates for the primary orientations

18/47

(100), (110) and (111). Simple CA can help to simulate an unknown etching condition for which the amount of available experimental data is limited and falls outside the IntelliEtch database. Using the Continuous CA method will be slower, taking typically from a few minutes to a few hours. If in a hurry, the Basic CA and Simple CA methods can be used for fast prototyping. For more realistic simulations, switch to the Continuous CA method by clicking on the Standard Time Compensation or the Backward Time Compensation checkboxes. In the Continuous CA family, use the Exact evolution engine only for small systems without masks. For large systems with masks it becomes prohibitively expensive in terms of computational time. It is however, an exact evolution method and the etched shapes obtained by using it (after long waiting times) can be used to assess the error committed by the three Approximate Time Stepping engines, namely, Constant time step, Backward Time Compensation and Standard Time Compensation. In the presence of masking patterns, the three methods will give somewhat different results, departing from the exact method evolution. Constant Time Step is in principle the least accurate of the three and Backward Time Compensation is the best. As the name tells, Standard Time Compensation corresponds to a standard method used in Continuous CA simulations of etching. 5.4 Running a CA simulation 5.4.1 Anisotropic Etching After setting the stop control options and checkpoints (Section 5.2), and making a choice of CA method (Section 5.3), the simulation is started by clicking on the Anisotropic Etching button located in the Cellular Automata tab of the Wet Etching dialog (Fig. 7). The etching conditions for the simulation correspond to those selected under the Rate settings for CA tab of the Wet Etching dialog window shown in Fig. 7 (see Section 5.5 for details). If the Show/Hide monitor button in the Simulation pullout dialog of the Menu Bar is switched on, a window will pop up to show the progress of the simulation and some system information, including the CPU and memory use. 5.4.2 Isotropic Etching In order to simulate isotropic etching, simply click on the Isotropic Etching button located in the Cellular Automata tab of the Wet Etching dialog (Fig. 7). The etching conditions for the simulation correspond to those selected under the Rate settings for CA tab of the Wet Etching dialog window shown in Fig. 7 (see Section 5.7 for details). Inside the program, isotropic etching is based on the use of the Continuous CA method. Thus, the choice of Cellular Automata method will be automatically switched to Continuous CA after pressing the Isotropic Etching button.

19/47

5.5 Choosing wet etching conditions for CA simulations Click on the Rate Settings for CA tab of the Wet etching dialog (Fig. 8) to choose between several etching conditions applicable to the Cellular Automata methods. 5.5.1 Anisotropic etching: Basic CA and Continuous CA The upper list highlighted in Fig. 8 includes the etchants for which IntelliEtchC has been calibrated (Table 1), which are valid for the Basic CA and Continuous CA methods (Section 5.3). After selecting the desired etching condition in the list, the user needs to click on the Apply Experiment Data button. This loads the calibrated values for the atomistic rates to the computer memory, taking 0.5 - 2 seconds. When finished, a popup window is displayed to inform the user about the operation success. After closing the popup window, the text to the right of Current Rate Set: in Fig. 8 reflects the currently applied etchant. By default, IntelliEtchC uses the first row (KOH 24 wt% 60C) as the etching condition. After loading an etching condition you may proceed to run the simulation (Section 5.4). Note: In order to select experimental data corresponding to Table 1 (Section 1), the option User defined initial file (Rate.ini) must be unchecked, as shown in Fig. 8.

Fig. 8: Wet Etching dialog window showing the contents of the Rate Settings for CA tab. Selecting a wet etching condition for the Basic CA and Continuous CA methods.

20/47

5.5.2. Anisotropic etching: Simple CA Click on the Rate Settings for CA tab of the Wet etching dialog (Fig. 9) in order to input values for the three rates of (100), (110) and (111) for the Simple CA method, as highlighted in Fig. 9. After inputting the values, click on the Apply Experiment Data button to make your choice active. Go back to the Cellular Automata tab to run a simulation using anisotropic wet etching with the Simple CA method. Selecting an etchant from the upper list (as indicated in Section 5.5.1) will not affect the input values nor the applied values for the Simple CA method.

Fig. 9: Wet Etching dialog window showing the contents of the Rate Settings for CA tab. Inputting three etch rates for the Simple CA method. 5.5.3. Isotropic etching: Continuous CA Click on the Rate Settings for CA tab of the Wet etching dialog (Fig. 10) in order to be able to select the isotropic etchant from the highlighted Isotropic Etching list on the left of Fig. 10. Press the Apply Experiment Data button to make your choice active. The currently selected rate is shown under the list. Go back to the Cellular Automata tab to run a simulation using isotropic wet etching (Section 5.4). The user can add new isotropic etchants to the list by editing the Rate-isotropic.ini file, as shown in Fig. 11, where the etch rate values are given in um/min. This file is located in the directory where the IntelliEtchC executable resides. Selecting an etchant for the Basic CA and Continuous CA methods from the upper list highlighted in Fig. 8 or

21/47

giving values to the three principal etch rates of the Simple CA, as highlighted in Fig. 9, will not affect the etch rate for isotropic etching.

Fig. 10: Wet Etching dialog window showing the contents of the Rate Settings for CA tab. Selecting an isotropic etchant.

Fig. 11: Adding isotropic etchants in the Rate-isotropic.ini file. 5.6 Other conditions: additional calibrations for CA simulations In addition to the calibrations for the etchants shown in Table 1, IntelliEtchC can read user-defined calibrations according to an old format used by a set of files located in the directory where the IntelliEtchC executable resides, such as Rate.ini, Rate_SIMODE_KOH_30WT80C.ini, Rate_Wind_KOH_37WT70C.ini, etc... In these files, the removal rates of the different atoms are listed under the keyword

22/47

[RATE_CA] according to a four index classification of the surface atoms (n1S, n1B, n2S, n2B) that takes into account the number of first neighbors on the surface and in the bulk as well as the number of second neighbors on the surface and in the bulk (see Fig. 12).

Fig. 12: Example of atomistic removal rates defined in the Rate.ini file. To load the atomistic rates from these files, first we need to activate the User defined initial file (Rate.ini) option located next to the Advanced button in Figs 8-10, and then click on the Apply Experiment Data button. By default, IntelliEtchC will read the atomistic rates contained under the [RATE_CA] key in the file Rate.ini. In order to specify other files, click on the Advanced button (Fig. 8-10), which will open the Etching Rate Definition for CA dialog (Fig. 13). Then click on the Load from button in order to open a navigation window for browsing to the desired file, e.g. Rate_SIMODE_KOH_30WT80C.ini. To select the file, click Open in the navigation window. This will bring you back to the Etching Rate Definition for CA dialog, where the List of Rates will reflect the new loaded values. Click on the Exit button of this dialog to return to the Rate Settings for CA option group. Do not press the Apply Experiment Data button as this will replace the recently loaded values with the values for one of the options in Section 5.5. After loading the etching conditions using the Advanced options, you may directly proceed to run the simulation (Section 5.4).

23/47

Fig. 13: Etching Rate Definition for CA dialog showing the list of atomistic rates for the CA methods and related options. 5.7 List of atomistic etch rates for CA simulations In the Rate Settings for CA tab of the Wet etching dialog (Figs 8-10) clicking on the Advanced button will open the Etching Rate Definition for CA dialog (Fig. 13). Here the user can review and modify the list of values for the atomistic etch rates used by the CA methods. It is possible to edit, modify, add and/or delete each row, enabling the latest up-to-date values for these parameters. The names of the different surface atoms obey the classification scheme presented in Ref. [2]. Each atom is characterized by four indices (n1S, n1B, n2S, n2B) denoting the numbers of first and second neighbors in the surface and in the bulk. Most users should not be concerned with these atomistic rate values and use the simulator for experimental conditions for which IntelliEtchC has been calibrated, corresponding to the entries of Table 1, as described in Sections 5.5 and 5.6. 5.8 Removal Probability Function for Continuous CA simulations During a Continuous CA (CCA) simulation, non-tabulated atoms absent from the previous list are assigned removal rates depending on the total number of first and second neighbors according to the Removal Probability Function (RPF) described in Ref. [3]. Although the RPF model was originally conceived for KMC simulations, it can

24/47

also be used with the CCA method by choosing different values for the four parameters 1, 2, n10 and n20. Accordingly, we differentiate between CCA and KMC parameter values for the RPF model. For CCA, the values can be edited and modified by the user in the CCA parameters for RPF model option group of the Etching Rate Definition for CA dialog (Fig. 13). The default values are 1 = 1.5 eV, 2 = 0.1 eV, n10 = 3.5 and n20 = 8, with = 33.3476 eV-1 for T = 348 K (= 75 C). 5.9 Effect of different atomistic rates on the Basic CA simulations In the Basic CA (BCA) method, the relative etch rate of any two crystallographic planes is fixed (see Ref. [2]). For instance, R110/R100 = 2, R311/R100 = 4/11, R211/R110 = 1/3, etc. As a result, it is only possible to match the experimental etch rate for one plane typically {100}, based on the larger number of applications using {100} wafers. In particular, this is the choice in IntelliEtchC. This means that only the atomistic rate of the (0,2,4,4) atom affects the BCA simulations, as this is the only atom that appears on the {100} planes. All other atomistic rates do not have any effect on the BCA simulations. Similarly, the values of the Continuous CA parameters for the RPF model (Section 5.8) do not have any effect on the BCA simulations. For BCA simulations on {110} wafers, matching the etch rate of the {110} plane will be a better choice. By adjusting the atomistic rate of the (0,2,4,4) atom to match the experimental etch rate of the {110} plane divided by 2, the simulated etch rate for {110} will match the experimental value. 5.10 Kinetic Monte Carlo The Kinetic Monte Carlo tab of the Wet etching dialog (see Fig. 7) provides access to the Kinetic Monte Carlo methods. The Metropolis Monte Carlo and Octree Search Kinetic Monte Carlo methods are described in Ref. [1]. The use of Metropolis MC has been disabled (grayed out) since it is very slow for typical step flow etching conditions where the atomistic rates typically differ by orders of magnitude. To run the Octree Search KMC method, input the desired etch depth, etch time or the number of removals and then press the Run button to start the simulation. The KMC method is stochastic by construction, leading to random features in the etch front. For this reason, it is recommended to use it in combination with larger resolution systems by specifying FACTOR = 0.5 or larger in the [SCALING] group of the Rate.ini file (see Section 3.7). The Octree Search KMC method is the fastest method offered in IntelliEtchC. Used with FACTOR = 0.5, typical CPU times to etch a predefined depth using KMC are similar to BCA with FACTOR = 0.25.

25/47

Fig. 14: Wet Etching dialog window showing the contents of the Kinetic Monte Carlo tab. Ready for running a wet etching simulation using the Octree Kinetic Monte Carlo method. 5.11 List of atomistic etch rates for KMC simulations In the Kinetic Monte Carlo tab of the Wet etching dialog (Fig. 14), clicking on the Setup Removal Rates button will open the Etching Rate Definition for Monte Carlo dialog (Fig. 15). Here the user can review and modify the list of values for the atomistic etch rates used by the KMC methods, in a similar manner as in Section 5.7 for the CA simulations. 5.12 Removal Probability Function for KMC simulations Non-tabulated atoms absent from the previous list are assigned removal rates depending on the total number of first and second neighbors according to the Removal Probability Function (RPF) described in Ref. [3]. The values of the RPF parameters can be edited and modified by the user in the KMC parameters for RPF model option group of the Etching Rate Definition for Monte Carlo dialog (Fig. 15). The default values are 1 = 0.35 eV, 2 = 0.16 eV, n10 = 3 and n20 = 7, with = 33.3476 eV-1 for T = 348 K (= 75 C). If the list of removal rates is empty so that a simulation will use only the RPF model for assigning atomistic rates, the previous default values are known to describe reasonably well etching in 30-40 wt% KOH at 70-80C.

26/47

5.14 Isotropic etching using the KMC method Isotropic etching can be simulated with the KMC method by using an empty list of removal rates and 1 = 0.35 eV, 2 = 0.70 eV, n10 = 6 and n20 = 9 in the RPF model, with = 33.3476 eV-1 for T = 348 K (= 75 C). As currently implemented, stop control is possible by depth and number of removals.

Fig. 15: Etching Rate Definition for Monte Carlo dialog showing the list of atomistic rates for the KMC methods and related options. 6. Running a dry etching simulation IntelliEtchC offers the possibility to simulate Deep Reactive Ion Etching (DRIE), also known as dry etching. From the Menu Bar choose Simulation -> DRIE Etching to open the DRIE Etching dialog (Fig. 16). Input the desired etch depth, which will be understood as microns or unit cells, depending on the units used during the project creation. If the project was created using microns, it is possible to force the use of unit cells for the current etch step by activating the Dimensions in Unit Cells checkbox. Additionally, it is possible to etch from the bottom side by activating the Etch from Bottom to Top checkbox. Simply press the Run button to start the simulation. It is only possible to dry etch by depth. The options on the right-hand-side of the dialog have been disabled (grayed out) until they are properly tested.

27/47

Fig. 16: DRIE Etching dialog. 7. Visualizing the simulation results IntelliEtchC can visualize the simulation results in four different modes easily accessible from the Tool Bar: (i) Display the surface atoms as points, showing the surface and the masks, or only the surface (see Section 7.2 for details):

(ii) Display balls and sticks representing the surface atoms, showing the surface and the bulk, or only the surface (see Section 7.3 for details):

(iii) Display a triangulation of the point cloud of surface atoms (surface rendering), showing only the surface (the mask is not displayed) (see Section 7.4 for details):

28/47

(iv) Display a colored box for each unit cell located at the leave-level of the octree structure (octant rendering), showing the surface and the masks, or only the surface (see Sections 7.5 and 7.6 for details):

The four visualization modes can be accessed also from the Menu Bar by clicking on View, as shown in Fig. 17.

Fig. 17: Visualization options accessible form View in the Menu Bar.

29/47

By default IntellietchC displays the scene using points for the etched surface and the masked regions (item (i)). Although this surface+mask point mode reflects the etched surface with utmost detail, the regions that are located behind features that lie close to the observer remain visible, while they would be hidden in reality. Thus, the scene may become confusing, especially when the advancing front presents many features. This is solved by switching to the surface+mask volume mode (item (iv)). In this mode one can visualize both convex and concave etched structures realistically. However, the visualization is computationally slower. In terms of computational effort, the triangulation mode (item (iii)) lies between the points and the volume modes. However, it is only valid for etched concave structures and cannot be used for double-side etching. Thus, we recommend to mostly use the point and volume modes. Alternatively, the simulation results can be exported to file formats such as VRML or XYZ for the purpose of displaying them with different 3D graphic tools. For instance, the VRML format is easily handled by ParaView (http://www.paraview.org/HTML/Index.html) and the XYZ format by VMD (http://www.ks.uiuc.edu/Research/vmd/).

7.1 Mouse operations Table 3 provides a list of typical mouse operations and a few keystrokes for manipulating the current view of the silicon sample. Rotations and translations as well as zooming are all fast operations in the visualization mode (i) (points). In mode (ii) (balls and sticks) these operations are too slow for systems containing more than a few thousand atoms. Similarly, the operations are increasingly slower when going from the display of points to a rendered surface to octant rendering. If the operations become too slow, switch to mode (i) (points) to find the view and zoom state that are suitable, switching then back to one of the other modes. Table 3. Mouse operations and keystrokes to rotate, translate and scale the view. Left-click + drag Rotation of the sample Right-click + drag up/down Zoom in/out (scale up/down the scene) Center-click + drag Pan motion (spatial translation) Ctrl key + Left-click + drag Rolling (rotation about axis perpendicular to the screen) Right-click (on atom) Select atom (opens Information of selected Atom window) R key Return default view Preserves rotation state but removes scaling and translation. Useful to reset the view when feeling lost. F key Focus Zoom into region where pointer is currently placed. Useful to place center of rotation at current location of pointer.

30/47

If zooming into a region using the mouse Right-click + drag gesture fails which happens in certain occasions it is still possible to do it by placing the pointer on the region of interest and pressing "F" (focus). This way of zooming can be done many times, one after another. Note that this places the center of rotation at the location of the pointer. In addition, pressing R is useful to reset the view when one feels lost. 7.2 Surface atoms as points By default the silicon specimen is visualized as a point cloud corresponding to the surface atoms. In this mode, the sample can be rotated, zoomed and translated smoothly and quickly. This is also possible in the other visualization modes, although slower. There are two sub-modes possible: (a) display only surface atoms and (b) display surface and mask atoms. These can be easily accessed from the Tool Bar, as indicated in Section 7, item (i). Alternatively, do View -> Atoms as Points (Silicon surface) and View -> Atoms as Points (Silicon surface and Masks), respectively. 7.3 Balls and sticks By doing View -> Atoms and Bonds (surface and bulk) in the Menu Bar all atoms and bonds will be represented as balls and sticks. Alternatively, simply click on the corresponding icon of the Tool Bar, as shown in Section 7, item (ii). Rendering in this mode may become a heavy computational task. In order to manipulate the model more smoothly (e.g. rotate, translate, etc), select the Tetrahedral option to reduce the number of facets used in each ball and stick. For this, do View -> Atoms Resolution(Tetrahedral) in the Menu Bar or click on the corresponding icon in the Tool Bar. When the number of atoms exceeds a certain value IntelliEtchC will use low tetrahedral resolution automatically. By doing View -> Atoms and Bonds (surface only) in the Menu Bar, balls and sticks will be shown only for the surface atoms. This visualization is computationally lighter. 7.4 Rendered surface (Triangulation) By doing View -> Render by Triangulation(Top surface) in the Menu Bar IntelliEtchC will triangulate the surface points and render them as an illuminated surface. Alternatively, simply click on the corresponding icon of the Tool Bar, as shown in Section 7, item (iii). A two-dimensional Delaunay triangulation algorithm is applied to a projection of the top surface point cloud. Due to the internal projection process, the rendered surface may look inaccurate when the top surface is multi-valued. 7.5 Octant rendering (Surface unit cells) An alternative visualization method is to display the surface unit cells instead of the atoms. Each cell appears as a colored cube or, more generally, as a colored orthorhombic block. Since the cells are located at the leave-level of the underlying octal tree structure, the method is reminiscent of octant rendering, where each octant of the tree is represented as a colored box. In addition to displaying the surface unit

31/47

cells, it is possible to display the mask layer cells using different colors. This visualization option can be activated from the Menu Bar by doing View -> Render by Octants (Surfaces) with Masks [or View -> Render by Octants (Surfaces) without Masks]. Alternatively, simply click on the corresponding icon of the Tool Bar, as shown in Section 7, item (iv). Note: The option Render by Octants (Surfaces) with Masks has been substituted by Render by Volume with Masks (see Section 7.6), which looks more realistic in practice due to the use of soft wall corners are lighting. 7.6 Volume rendering with mask By doing View -> Render by Volume with Masks in the Menu Bar IntelliEtchC will display the substrate as an illuminated block. Alternatively, simply click on the corresponding icon of the Tool Bar, as shown in Section 7, item (iv). The microstructures can be represented correctly no matter how complex the surface has become during etching.

Points mode

Triangulation mode

volume mode

Fig. 18. Comparison of different resolutions: the left image is visualized by volume mode with a resolution of 512x512 (FACTOR = 0.5); the right image is visualized using a resolution of 256x256 (FACTOR = 0.25); For most cases 256x256 (FACTOR = 0.25) is satisfactory enough. 7.7 Resolution and visualization By default IntellietchC displays the scene using points for the etched surface and the masked regions (Section 7, item (i) and Section 7.2). Although this surface+mask point mode reflects the etched surface with best detail, the regions that are located behind nearer features remain visible, while they would be hidden in reality. Thus, the scene may become confusing, especially when the advancing front presents many features. This is solved by switching to the surface+mask volume mode (Section 7, item (iv) and Section 7.6). In this mode one can visualize both convex and concave

32/47

etched structures realistically. However, the visualization is computationally slower. In terms of computational effort, the triangulation mode (item (iii)) lies between the points and volume modes. However, the triangulation mode will not show the front correctly if convex features are present and/or etching is performed from both the top and bottom sides simultaneously. Thus, we recommend to use the point and volume modes mostly. The resolution of the visualized model is set in the Rate.ini file, as described in Section 3.7. Typical values for FACTOR can be 0.125, 0.25, 0.5 or 1.0. and the final resolution of the system is FACTOR*1024 unit cells. For example, FACTOR = 0.25 generates 256x256 unit cells to represent the initial system while FACTOR = 0.50 will use 512x512 cells. The latter has larger resolution and simulations using it will result in more details than for the former. An example of these two resolutions is shown in Fig. 18. 7.8 Isometric and perspective projections InteliEtchC supports two types of projection: isometric (or parallel) and perspective. These can be changed directly from the corresponding Tool Bar buttons or from the Menu Bar by clicking on Projection, as shown in Fig. 19.

Fig. 19: Available projection types for visualization. 7.9 Octree grid IntelliEtchC can show the underlying octree structure by displaying the octree grid. For this, do View -> Hide/Show Octree Grid in the Menu Bar. Manipulating the view is very slow in the presence of this grid. For complex geometries inspecting the grid allows appreciating the extra value of this memory management approach as rather large systems can be maintained using relatively low memory. 7.10 Refreshing the view After modifying the visualization mode or completing a simulation task it may be

33/47

necessary to manually update the projects Display Window by doing View -> Refresh Active Project at the Menu Bar. Alternatively, one can press the Refresh View of Active Project button in the Tool Bar. 7.11 Displaying the axes It is possible to show or hide the X, Y and Z axes as well as the crystallographic directions aligned with them (see Section 3.5). For this, do View -> Hide/Show Axes in the Menu Bar (see Fig. 17).

Fig. 20: Cross Section Definition dialog. 7.12 Cross sections Vertical cross sections can be displayed in all visualization modes, except balls and sticks. The Cross Section Definition dialog window shown in Fig. 20 is opened from the Menu Bar by doing View -> Measurement and Cross Section. This dialog allows the definition and display of vertical cross sections of the current project. Since any vertical cross section looks as a line when seen from the top, the XY coordinates of at most two points on such line are sufficient to define one cross section plane. Non-vertical cross sections are not supported currently. In IntelliEtchC it is possible to define up to two simultaneous cross sections at a time, as shown in Fig. 21. In order to select points to define a cross section (as seen from the top), the coordinates (x0,y0) of each point can be directly typed in the corresponding fields

34/47

located at the upper-right region of Fig. 20. Alternatively, the user may press the button Pick points to define a plane and right-click on the desired point in the visualization region. Zooming, panning and rotation of the model (Section 7.1) are all valid before right-clicking on the desired point. Note that the tool always requires selecting three points after pressing the Pick points to define a plane button, even when a single point or a pair of points would be sufficient for certain operations. For operations where only one point is needed, the first point from the trio is used. If a pair is needed, the first two points are used.

Fig. 21: Example of cross sections. Left: etched model occupying the volume between (0,0,0) and (100,100, -30) um; Center-left: Parallel to XOZ plane cross section by inputting one point (50,50); Center-right: Parallel to YOZ plane cross section by inputting one point (50,50); Right: two Free Choice cross sections by inputting three points (100, 0), (50,50) and (0,50). There are four steps to define one or two cross section planes: 7.12.1 Step 1: Select the direction of the plane/s (as seen from the top) The option Parallel to XOZ Plane produces one single plane where Y = constant. The coordinates (x1,y1) of one point are sufficient to define such plane (constant = y1). If this option is chosen, the option Two Cutting Planes of step 2 cannot be used. Similarly, if this option is chosen, only the Y-coordinate of the first point in step 3 is used. The option Parallel to YOZ Plane produces one single plane where X = constant. The coordinates (x1,y1) of one point are sufficient to define such plane (constant = x1). If this option is chosen, the option Two Cutting Planes of step 2 cannot be used. Similarly, if this option is chosen, only the X-coordinate of the first point in step 3 is used. The option Free Choice is used to define one cutting plane based on two input points or two cutting planes based on three input points, in which case the second point is shared by the two cutting planes. If Free Choice is chosen, both options One Cutting Plane and Two Cutting Planes of step 2 can be used. If One Cutting Plane is selected, only the first two points in step 3 are used. 7.12.2 Step 2: Decide the number of cutting planes The option Two Cutting Planes can be used only if Free Choice is chosen in step 1.

35/47

7.12.3 Step 3: Input the coordinates of the required points The Parallel to XOZ Plane and Parallel to YOZ Plane cross sections are defined by one point. A single Free Choice cross section requires two points. Two Free Choice cross sections require three points (the second point is used as the vertex of the angle between the planes). After typing the coordinates of the points press the Set button. Alternatively, the user may press the button Pick points to define a plane and right-click on three points in the visualization region. After picking up the positions of the points do not press the Set button as this will replace the pick-up values with the typed-in values. 7.12.4 Step 4: Cut the model To see the cross section/s simply press the Cut Model button. This will automatically activate the Show Cutting Planes and Cut Current Model checkboxes. Use the Flip Direction option followed by Apply Settings to change which part of the cut sample is shown. In general, if you check or uncheck one or several options press Apply Settings in order to visualize the result of such changes. Visualization may be slow when using octant and volume rendering. In this case, switch to visualization using points to define the cutting plane/s until a satisfactory scene is found. Switch then to octant / volume rendering to see the facetted structure of the cross section/s. The Step 1: Direction option group affects how picking up the points is understood when using the mouse, not affecting the typed-in values. If Free Choice is active, the mouse-picked XY coordinates are taken as they are shown. If Parallel to XOZ Plane is active, the Y coordinate of Point2 is made equal to the Y coordinate of Point1. This ensures that the cross section is parallel to the Y = Y1 plane. Similarly, if Parallel to YOZ Plane is active, the X coordinate of Point2 is made equal to the X coordinate of Point1, ensuring that the cross section is parallel to the X = X1 plane. After changing the active option in the Step 1: Direction group press Apply settings before picking up the points with the mouse. 7.13 Measurement of distances, angles and (hkl) indices for facets IntelliEtchC enables the measurement of distances, angles and (hkl) indices for facets. The tool deviates from the standard behavior where two points are picked up by the user in order to measure a distance or three points are selected in order to measure an angle. In IntelliEtchC one always selects three points P1, P2 and P3 and the relevant geometric information is displayed in the Messages window (see Fig 2): (i) distance between P1 and P2 (total distance and distance by X-, Y-, Z-components), (ii) distance between P2 and P3 (total distance and distance by X-, Y-, Z-components), (iii) angle between segment P1P2 and segment P2P3, (iv) Miller indices of the plane that contains P1, P2 and P3, (v) angle of with respect to reference plane chosen by the user.

36/47

(vi) angle of with respect to a second choice of three-point-based plane . In order to select three points of interest, open the Cross Section Definition dialog window shown in Fig. 22 from the Menu Bar by doing View -> Measurement and Cross Section. As indicated in Figs 22-23, the lower part of this dialog can be used to select the three points from the visualized model by pressing the Pick 3 Points button. Zooming, panning and rotation of the model (Section 7.1) are all valid before right-clicking on each of the three desired points. After selection of P1, P2 and P3, press the Show measurement plane 1 button in order to visualize the three points and an outline of the plane that contains the points, as shown in Fig. 24.

Fig. 22: Cross Section Definition dialog. The lower part of this dialog can be used to measure distances, angles and Miller indices of facets. 7.13.1 Measuring the distance between two points Select the two points of interest (P1 and P2) and one extra dummy point (P3) by using the procedure outlined in Section 7.13 and press the Show measurement plane 1. Then simply read the distance between P1 and P2 in the Messages window. 7.13.2 Measuring the angle between two segments Select the three points of interest (P1, P2 and P3) by using the procedure outlined in Section 7.13 and press the Show measurement plane 1. Then simply read the angle between segment P1P2 and segment P2P3 in the Messages window.

37/47

7.13.3 Measuring the angle between one facet and a reference plane Input the h, k, l values of the reference plane in the corresponding fields in the First Measurement Plane region of Fig. 22. This reference plane will not be visualized. By using the procedure outlined in Section 7.13, select three points (P1, P2 and P3) so that the outlined plane in the visualization window lies parallel to the facet of interest. Press the Show measurement plane 1 if the outlined plane is not visualized after selecting the three points. Then simply read the angle between the outlined plane and the reference plane in the dedicated output field of Fig. 22 or in the Messages window.

Fig. 23: Procedure to select three points in order to measure distances, angles and Miller indices. Cf. Fig. 22. 7.13.4 Determining the Miller indices of one facet By using the procedure outlined in Section 7.13, select three points (P1, P2 and P3) so that the outlined plane in the visualization window lies parallel to the facet of interest. Press the Show measurement plane 1 if the outlined plane is not visualized after selecting the three points. Then simply read the assigned Miller indices in the Messages window.

38/47

7.13.5 Measuring the angle between two facets By using the procedure outlined in Section 7.13, select three points (P1, P2 and P3) so that the outlined plane in the visualization window lies parallel to the first facet of interest. Press the Show measurement plane 1 if the outlined plane is not visualized after selecting the three points. By pressing the Pick 3 Points button in the Second Measurement Plane region of Fig. 22, one can select three points (P4, P5 and P6) so that the corresponding outlined plane in the visualization window lies parallel to the second facet of interest. Press the Show measurement plane 2 if the outlined plane is not visualized after selecting the three points. Then simply read in the Messages window the angle between the two outlined planes.

Fig. 24: Three selected points in order to measure distances, angles and Miller indices. Cf. Figs 22-23. 7.13.6 Combining cross-sections and measurements All the measurement procedures described in Sections 7.13.1-5 can be performed while cross sections are displayed using the procedure described in Section 7.12. As an example, Fig. 25 shows a measurement plane defined on a cross sectioned model. This procedure can be used to determine the etched depth by simply looking at the Z-coordinate of the distance between P1 and P2 in the Messages window. 7.14 Insulator layer planes If a buried insulator layer has been defined to represent an SOI wafer (see Section 3.3), the layer will be displayed by default showing the top and bottom interfaces between the insulator and silicon. To control the display of the insulator layer, do View -> Hide/Show Insulator Layer Planes in the Menu Bar. Alternatively, switch on/off the corresponding button in the Tool Bar.

39/47

Fig. 25: Simultaneous use of a cross section and a measurement plane. 7.15 Entity Color Appearance In the Menu Bar, View -> Entity Color Appearance (see Fig. 17) will bring up the Color Appearance and Size of Entities dialog (Fig. 26). This dialog allows setting the values for the atom and bond radii that control the size of the balls and sticks in the corresponding visualization mode (Section 7.3). The dialog also allows changing the colors of the different entities, such as the silicon substrate, the nitride and oxide masks, the insulator layer, the cross section planes, the atoms and bonds, etc. By selecting each entity in the list, the corresponding color can be edited and changed. For convenience, the colors can be picked up from an RGB color palette as in typical graphics editors by clicking on the Pick Color button. Alternatively, directly type in the RGB values in the corresponding fill-in boxes. Press Apply to see how the new color looks in the project. The Resume default button will restore the default set of colors. At any time the current set can be saved as the default set by pressing Save as default. It is also possible to save different sets of colors to different files by using the Save As button, allowing favorite color sets for different purposes. These files can be loaded making use of the Load from button.

40/47

Fig. 26: The Color Appearance and Size of Entities dialog. 8. Saving and exporting the results The save and export options are shown in Fig. 27. These are all accessed from the File tab of the Menu Bar. In addition to exporting the state of a simulation in the XYZ, VRML and JPG formats (see Section 5.2) and saving to an internal non-standard format for later re-use (Model file in Section 5.2), IntelliEtchC can export the etched 3D model to the C3D8R mesh format for Finite Element Method (FEM) analysis, thus enabling thermal and mechanical analysis of the resulting structure.

41/47

Fig. 27: Save and export options accessible from File in the Menu Bar. 9. Major surface families: choosing vicinal surfaces In order to simulate the etching process for surface orientations that depart from the main crystallographic planes (111), (110) and (100), the user is required to input the corresponding (hkl) Miller indices. Figs 28-30 provide guidance in order to choose the Miller indices of surfaces that are vicinal to (111). Fig. 28 shows examples of dihydride terminated stepped (111) surfaces, containing orientations ranging from (111) to (001). In the figure, these surfaces have been grouped into two sets: the (h h h+2) and (1 1 h) sub-families, where h is an integer.

42/47

Fig. 28: Examples of main vicinal surfaces for (111) and (001). Similarly, Fig. 29 shows the two major families of monohydride terminated stepped (111) surfaces: (h h h-2) and (h h 1). These surfaces span from (111) to (110). Similar surfaces to the ones displayed in Fig.s 28-29 are obtained by permuting the three Miller indices with respect to the cases that are shown. Fig. 30 displays a few examples of ideal vicinal surfaces between (111) and (100). Similar results are obtained by permuting the three Miller indices. Figs 28-30 show only the main vicinal surfaces of (111), (110) and (100). More complicated surface structures corresponding to more general misalignments can be visualized and etched in IntelliEtchC. By gaining experience with the previous basic families, the user will be able to choose the Miller indices of more general surfaces in order to meet the requirements of his/her application and/or to understand whether a particular problem is related to the misalignment of the wafer.

43/47

Fig. 29: Examples of main vicinal surfaces for (111) and (110).

Fig. 30: Examples of main vicinal surfaces between (110) and (100).

44/47

10. Highlighting, freezing and removing atoms IntelliEtchC has the ability to cut the silicon crystal to almost any conceivable orientation. It also allows selecting one or many atoms from the surface and/or bulk in order to access information about their location and local neighborhood, or to realize certain operations on them. The basic operations are highlighting the atom/s on the surface, creating groups of selected atoms, removing from the system all the atoms in the group, finding the first and second neighbors of a selected atom and locating a particular atom according to its coordinates in the silicon structure. An example of how to perform these actions is given in this Section. In the Settings Panel, input the size of the silicon substrate as 4x4 unit cells and the surface orientation as (311). In order to define the system size in unit cells, check on the box beside Dimensions measured in Unit Cells. Then, in the Menu Bar choose File -> New to create the model. In the Menu Bar select View -> Atoms and Bonds(surface and bulk) to show the atoms and bonds in the projects Display Window. For higher display quality, choose View -> Smooth Spheres. The model will be displayed as in Fig. 31.

Fig. 31: (311) atom structure with a selected group By right-clicking the mouse button the user can select one atom on the screen. Try to right-click close to the center of the atom so that IntelliEtchC can recognize the region of interest. The Information of selected Atom dialog will pop up as in Fig. 32. After pressing the Add to Set button and refreshing the view (click on the Refresh button in the Tool Bar or do View -> Refresh Active Project), the chosen atom will be highlighted in red color. The user can keep selecting additional atoms with the mouse and adding them to the set. Any atom which has been added can be selected again and deleted from the group. Remember to refresh the view in order to see the latest highlighted set. There are additional operations for single atoms, including the Show 1 Neib and Show 2 Neib which highlight the first and second neighbors of the selected atom. The first neighbors are colored in yellow and the second neighbors are colored in

45/47

green. You can also freeze and unfreeze atoms. Freezing effectively changes the type of the atom to be mask so that these atoms cannot be removed. Frozen atoms are displayed in black by default. An atom that has been selected and is not frozen can be removed by clicking on Remove current Atom button. The freeze, remove and unfreeze operations can be useful to study certain morphologic features of the etching process as well as to understand atom type changes as etching proceeds.

Fig. 32: Information of selected atom dialog window. Similarly, one can make use of the Atom Set Operations. One can Remove the Atoms in the set and Deselect, Freeze or Unfreeze them. One can obtain information about the selected set, which is displayed in the Messages Window. Finally, one can unfreeze all the atoms which are frozen, even if they are not part of the current selection set. References [1] Atomistic simulation methods in IntelliEtchC 2008 IntelliSense Software Corp., Mar 12, 2008; M. A. Goslvez, Y. Xing, K. Sato, and R. M. Nieminen, Atomistic methods for the simulation of evolving surfaces, J. Micromech. Microeng. 18 (2008) 055029. [2] M. A. Goslvez, Y. Xing, and K. Sato, Analytical solution of the Continuous Cellular Automaton for anisotropic etching, J. Microelectromech. Syst. 17 (2008)
46/47

410-431. [3] Goslvez M. A., Nieminen R. M., Kilpinen P., Haimi E. and Lindroos V., Anisotropic wet chemical etching of crystalline silicon: atomistic Monte-Carlo simulations and experiments, Appl. Surf. Sci. 178 (2001) 7-26.

47/47

Você também pode gostar