The program is intended to allow simulation of resist exposure
in electron-beam lithography and to apply correction into beam
control instructions. These corrections should result in more accurate
reproduction of desired structures on resist. Program allows to use
different mask data and varying electron-beam system parameters in
simulations, and allows to store simulation results for subsequent
processing and analysis.
Program can be run on any machine with Windows XP/Vista OS and .NET
framework (version 3.5) installed.
Program’s input data
Program allows to load as input data the test layouts (as raster
images, vector XML-based or vector CSV-based data) and data on
electron beams used for exposure of these layouts.
Interpreting the input data
The test mask data include the mask element descriptions and the
exposure area size. After loading these data from input files the
simulation program generates raster image of test mask.
In case of using bitmap file as mask data source, the program takes
bitmap size in pixels (width and height) as dimensions for simulated
area, and pixel values as mask data (white pixels will need to be
exposed, and non-white must remain unexposed). Here is an example of
bitmap-formatted mask file:
Bitmap mask file
Img 1. Mask structure read from BMP test file
XML- and CSV-based layout files describe sets of axis-aligned
rectangles forming the masks, for example, XML file
XML mask file
gives mask configuration shown below:
Img 2. Mask structure read from XML test file
Parameter grid_step is used only in layout visualization,
simulation algorithm doesn’t use it. Each element node in XML
file contains coordinates of opposite vertices of rectangle.
CSV-based layout file doesn’t contain simulation area size,
therefore, this size is determined as 110% of width and height of
the largest coordinates found in file, for example, file
CSV mask file
will cause the simulation area to be set to width 440 and height 231
and gives mask configuration shown below:
Img. 3. Mask structure read from CSV test file
Neither XML nor CSV files currently support negative coordinate
values, and upon encountering such values the mask data processing
Electron-beam system data
Electron-beam system parameters that are loaded from input file
- Beam radius
- Raster line step (the program uses a raster with fixed-step
horizontal lines that the beam draws one at a time)
- Initial displacement (the vertical displacement of first line
of raster from beginning of coordinates)
- Distribution parameters which define the electron stream
density on the surface of resist (the program uses a beam model
which defines the density as a weighed sum of several Gaussian
distributions with different sigma parameters and scale
Example of beam data file follows:
XML beam data file
determine, respectively, vertical step between raster lines
(in pixels) and displacement of first raster line from upper
boundary of simulation area.
Img.4 below shows an electron density distribution from this file
(it uses 2 Gaussian distributions, first one with k
=1 and the second one with k
Img.4. Electron stream density distribution in beam
The corresponding crossection of a beam shows it’s effect on layout
during exposure (see img.5). The brighter the tile is on img.5, the
greater is the density of electron stream in the corresponding area.
Img.5. Crossection of electron beam (brightness of a tile is
proportional to electron stream density in a corresponding area).
After loading beam data from input file the program generates a
two-dimensional numerical array of electron stream densities which
is used in simulations for calculating exposure doses.
The program uses XML processing capabilities of .NET framework for
interpreting data from input files and translating the data into
format appropriate for processing.
Example of simulation results for mask data shown from img. 3 and
beam data from img. 4 is shown in img. 6 below. The brighter the
pixel is in img. 6, the higher is exposure level for corresponding
area of mask.
Img. 6. Exposure simulation results – beam paths generated using
simple incidency check.
Img 6 shows exposure simulation results obtained for beam path which
is generated using simple incidency check. It means that beam path is
generated by simple rule – if beam center is on a mask pixel which
should get exposure, the beam is turned on for this position. As can
be seen on img. 6, such algorithm causes thin lines to degrade in
quality (for example, thin space between two large blocks in the left
of the image). However, this algorithm ensures that small elements
which should get exposure will get it – for example, thin exposed
lines and small squares on the right of img. 6.
As an alternative, beam path can be generated by algorithm which turns
on the beam at some distance from mask element’s edge. Two examples
of such algorithm results are shown on img. 7 and img. 8.
Img. 7. Exposure simulation results – algorithm with beam radius check.
Img. 8. Exposure simulation results – algorithm with beam radius check.
Img. 7 shows results for algorithm which turns beam on at a distance of
0.15*radius from element’s edge. It can be seen on image that thin spaces
between elements are better formed, but thin or small elements are less
Img. 8 shows results for the same algorithm, but with 0,35*radius threshold.
It can be seen that small elements have completely vanished due to
excessive filtering in beam path generation.