XView

3D process cross sections the easy way

64 bit windows only

What's it all about?

Process cross sections for semiconductor or MEMS fabrication are difficult to draw by hand.


This software is to help their visualization.


All you need is a GDS file for the mask layout and a process file to specify the process steps.

How to run XView?

Edit your process file and place it in a working folder on your PC. How to make the process file is described below.

Run XView and load the GDS file through menu "Load GDS". The GDS file can be located anywhere on your PC.

Open the process file through menu "Run Process". This will start the process simulation.


The render window will render the process cross sections after each process step.


The console window will display relevant information including possible errors found in the process file.

When the process simulation is done you can navigate with the arrow keys through the cross sections after each process step.


You can save the renderings high resolution images inside your working folder by selecting the "Save images" menu. The images have a better resolution than the preview images in the render window.

The GDS File

A GDS file, or also called GDS database, determines the mask layout. It consists of cells each with one or more mask layers that in turn each consist of  polygons that determine where the mask is dark or clear.


With layout software like KLayout a you can create a GDS file with a mask layout yourself.


The picture on the right is an example of a simple layout with two mask layers for a toy FINFET. The gate mask is in blue (only 1 polygon) and the red layer the source drain (only 7 polygons).

The Process File

A process file is a simple text file you can easily create with most editors or IDEs. It consists of a list of commands that give some general settings, the location of the cross section in the GDS file, and the processing steps you want to simulate.


Lines in the process file consist of a command followed by a list of arguments with values. All arguments start with a dash, for example -thickness. There is no specific order in which the arguments need to be given. The commands with their arguments are listed in the table below. Arguments between square brackets [...] are optional. Empty lines and lines starting with a # are ignored and can be used for comments or commenting out lines. 

The following are all the commands in XView process file specifications version 3.

Command

Argument


settings

-version

Followed by an integer specifying the version. Needs to be 3.


[-N]

Followed by an integer specifying the number columns used for the process simulation. The default is 1000 columns. It is followed by a whole number from 200 (fast execution low resolution) to 2000 (slow execution high resolution).


[-angle]

Followed by and integer 0 to 89 specifying the camera angle with respect to the horizontal in degrees.  The default is 30.


[-use_nm]

If present, specifies that nm units are used for location (location command) and resolution dimensions (photo command). If not present, these dimensions are in micron units. Vertical dimensions are always in nm so having this parameter or not has no effect.


-height

If present, a height map is shown. The heights are iwith respect to the substrate surface in angstrom units.


-legend

If present, a layer legend with material names is included to the left of the cross section.

gds

-cell

Followed by a string without spaces specifying the GDS cell name the cross section is taken from.

location

-x

Followed by a decimal number specifying the x coordinate of the cross section cut in the cell specified by the gds command above. Either in um or nm (see the -use_nm argument of setting).


-y

Followed by a decimal number specifying the y coordinate of the cross section cut. Either in um or nm (see the -use_nm argument of setting).


-dx

Followed by decimal number specifying the width of the cross section cut. Either in um or nm (see the -use_nm argument in the settings command above).


-dy

Followed by decimal number specifying the horizonal height of the cross section cut. Either in um or nm (see the -use_nm argument in the settings command above).

deposition

-name

Followed by a string without spaces specifying the name of the material deposited. The name can not be used in previous deposition or coating steps: each material deposited or coated needs to have a unique name.


-type

Followed by a string specifying the type of material being deposited in this layer. It can be same type name as of a material deposited or coated earlier.


-thickness

Followed by a decimal number with the thickness of the material to be deposited in nm.


[-sc]

Followed by a decimal number from 0.0 (default) to 1.0 specifying the step coverage of the deposition as fraction of the film thickness.


[-color]

Followed by 4 integers specifies the layer color in the RGBL format. The first three specify the R, G, and B values from 0 to 255. The fourth integer specifies a luminance percentage from 0 to 100. If this argument is not given the -scolor argument (below) is mandatory.


[-scolor]

Followed by a string without spaces specifying the layer color following the X11 color standard. It is followed by a string (no spaces allowed) specifying a X11 standard color. If this argument is not given, the -color argument (above) is mandatory.


[-alpha]

Followed by a decimal number from 0.0 to 1.0 specifying the transparency of the layer color. Here 0.0 is completely transparent and 1.0 is completely opaque.

coating

-name

See the -name argument of the deposition command.


-type

See the -type argument of the deposition command.


-thickness

See the -thickness argument of the deposition command.


[-dop]

Followed by a decimal number from 0.0 to 1.0 (default) specifying the degree of planarization of the coating step. A degree of planarization of 1.0 will result in a flat film regardless of the underlying topography while 0.0 will result in a conformal film.


[-rr]

Followed by a decimal number from 0.0 (default) to 1.0 specifying a material reflow as fraction of the thickness of the layer.


[-color]

As the -scolor argument of the deposition command.


[-scolor]

As the -scolor argument of the deposition command.


[-alpha]

As the -alpha argument of the deposition command.

photo

-name

Followed by a string without spaces specifying the name of this photo step.


-mask_id

Followed by an integer 0 to 65535 that specifies the GDS mask layer number for the mask in this photo step.


-type

Followed by an integer 0 (clear type) to 1 (dark type) specifying the mask type to be used.


-res

Followed by a decimal number larger or equal to 0.0 specifying the resolution of the photo tool for this mask step in um or nm (see the -use_nm argument in the settings command above). For example, for an I line stepper used to make TFTs in the display industry or old semiconductor processes this could be 1.5 um. For a modern EUV process this could be down to around 14 nm. A value of 0.0 means that the photo patterning follows exactly the mask. This is not realistic, but still can be used for illustration purposes.


[-taper]

Followed by an integer 0 to 90 (default) specifying the taper angle of the photo resist generated by the photo step.  A shallow taper angle on a high aspect ratio photo resist pattern can give undesired results and the taper angle will be automatically corrected.


[-thickness]

Followed by a decimal number that specifies the photo resist thickness.


[-dop]

As the -dop argument in the coating process.


[-rr]

As the -rr argument in the coating process.

etch

-name

Followed by a string without spaces specifying the name of this etch step.


-depth

A decimal number that specifies the etch depth in nm.


-targets

Followed by a one or more strings without spaces that specify the material types to be etched. The material types need to have been defined as the -type argument of deposition of coating in previous process steps.


[-iso]

Followed by a decimal number from 0.0 (default) to 1.0 that specifies the directionality of the etch with 0.0 anisotropic and 1.0 isotropic.

strip

-name

Followed by a string without spaces specifying the name of this photo resist strip step.

release

-name

Followed by a string without spaces specifying the name of this material release step.


-targets

Followed by a one or more strings without spaces that specify the material types to be released. The material types need to have been defined as the -type argument of deposition of coating in previous process steps.

Process File Example

Here an example process file. In combination with this GDS file, it will render the FINFET process cross section example above. Try this first!

### XVIEW PROCESS FILE EXAMPLE VERSION 3 ###


# SPECIFY GENERAL SETTINGS
# Process file version: 3
# Camera angle: 40 degrees
# Show the layer legend
# Use nm units
# 1000 columns
settings -version 3 -angle 40 -legend -use_nm -N 1000


# GDS CELL NAME IS "TOP"
gds -cell TOP


# CROSS SECTION LOCATION
# This is in nm units in this case as "-use_nm" was specified above)
location -x -7.0 -y -15.0 -dx 115.0 -dy 80.0


#
# PROCESS STEPS
#


# INSULATOR DEPOSITION
# Thickness is 1.1 nm and a step coverage of 50%
# The X11 color is yellow
deposition -name OX -type SIO2 -thickness 1.1 -sc 0.5 -scolor yellow


# SOURCE/DRAIN DEPOSITION
deposition -name SD -type MO -thickness 5.5 -sc 1.0 -scolor lightskyblue


# SOURCE/DRAIN PATTERNING
# The photo resolution is 2.0 nm
# The only etch target is the SD material deposited above. More than one target can be specified.
photo -name SD -mask_id 0 -type 1 -taper 90 -res 2.0 -thickness 20
etch -name SD -targets MO -depth 6.0
strip -name SD


# GATE INSULATOR DEPOSITION
# Here the -color argument is used to specify the color
deposition -name GI -type SIO2 -thickness 1.1 -sc 1.0 -color 255 255 0 50


# GATE METAL DEPOSITION AND PATTERNING
# The etch steps needs to be partially isotropic (-iso 0.5) in order to remove the GM sidewalls
deposition -name GM -type MO -thickness 1.1 -sc 0.6 -scolor darkgreen
photo -name GM -mask_id 3 -type 1 -taper 45 -res 2.0 -thickness 20
etch -name GM -targets MO -iso 0.5 -depth 2.0
strip -name GM

What changed in Version 3.0.0?

  • Patterning commands are split into an photo, etch and photo resist steps.
  • A warning is issued if GDS files contain path types 1 (round ended edges) or 4 (variable length ends) which currently are not supported (not commonly used). Contact us if path types 1 or 4 are on your wish list.
  • The trial text is now displayed below the cross section to be less interuptive.

Frequently Asked Questions

What is XView used for?

XView is software to simulate and visualize semiconductor cross sections.

Is XView compatible with all operating systems?

No, XView at the moment only runs on 64-bit Windows.

Is XView free?

The trial version is free. It is fully functional but displays a trial text below the cross section. Please contact us for registration information.

Who made XView?

XView is written by Jan Willem Bos a semiconductor / MEMS industry profesional.

Connect with Us Online Today!

Or email me at: janwillembos@yahoo.com