0% found this document useful (0 votes)
896 views155 pages

Filmetrics F50 User Manual

The document is an operations manual for the F50 Thin-Film Mapper. It provides an overview of the FILMapper software interface and functions, instructions for editing film recipes, making measurements, understanding results, and advanced features. Measurement techniques are described for thickness and optical constants with tips for accuracy and troubleshooting.

Uploaded by

Benny
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
896 views155 pages

Filmetrics F50 User Manual

The document is an operations manual for the F50 Thin-Film Mapper. It provides an overview of the FILMapper software interface and functions, instructions for editing film recipes, making measurements, understanding results, and advanced features. Measurement techniques are described for thickness and optical constants with tips for accuracy and troubleshooting.

Uploaded by

Benny
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 155

Operations Manual

for the

F50
Thin-Film Mapper

R e v is io n 8 .7 .7 .0
C o p y r ig h t © 2 0 1 8 b y F ilm e tr ic s , In c .
A ll R ig h ts R e s e r v e d
2

Welcome

What is the FILMapper software used for?


The FILMapper software is used to run a variety of instruments, including the F50, F54, F57, F60, and F64
as well as our SS-XY10-Auto-100mm stage. These systems can be used to measure the thickness of
dielectrics, semiconductors, and thin metal films. Measured films must be optically smooth and between
40 Å and 3 mm thick (depending upon system configuration). Optical constants (n and k) can also be
measured on a variety of dielectric films. Commonly measured films include semiconductor process films
such as oxides, nitrides, resists, and polysilicon, flat panel display films such as polyimides, resist, and cell
gaps, and the various coatings used in CD and DVD manufacture. Films that can not be measured include
very rough films and opaque dielectric films.

Warning:Accurate measurements require suitable recipe settings and a valid baseline. Improper system setup or
an aged lamp may also lead to errors. It is the user’s responsibility to ensure that this instrument is being used
properly for its intended purpose. Please contact Filmetrics support for assistance with any questions.
3

Safety, Maintenance, and Care

This symbol indicates information or instructions that must be read and carefully followed to prevent
hazards, injury to the operator, or damage to the instrument.

This symbol indicates a potential shock hazard. Areas marked with this symbol should be serviced by a
trained service technician.

This symbol indicates that the product conforms to the WEEE (Waste in Electrical and Electronic
Equipment) Directive 2002/96/EC.

This symbol indicates that the product meets the applicable EU safety, health and environmental
protection directive requirements.

This label indicates the Model Number and Serial Number of the instrument. This information may be
necessary when contacting Filmetrics for assistance.
4

Disclaimer: Use of this instrument in a manner inconsistent with the information and directions included
in this manual may impair the protections designed into the product resulting in danger to the operator
or damage to the instrument

Installation Location: When deciding on a location for the instrument, ensure that the instrument is
installed in a well-ventilated location. Enclosing the unit, or blocking the vent holes, may impair the
performance of the instrument or damage the internal components.

Cleaning: The need for periodic cleaning of the system is based on the cleanliness of the environment in
which the system is installed. Only the external surfaces are to be cleaned. Cleaning and maintenance of
all internal components is to be performed by a trained service technician. Do not use aerosol, or spray,
cleaners as they may contaminate the sensitive optical surfaces on the instrument.

Before performing any service on the instrument ensure that the main power is disconnected.

Cleanroom, or low lint, wipes should be used to wipe down the system. A mixture of Isopropyl Alcohol
(IPA) and De-ionized Water (DI H2O) at 70% DI H2O: 30% IPA is to be used for cleaning. Undiluted IPA may
be used, if the 70:30 DI and IPA mixture is not available, but extra care must be taken. Avoid using
stronger solvents, such as acetone, as these may compromise the surface finish.

Avoid excessive pressure on any surface when cleaning. Excessive force may bend a component, which
would damage the system, or cause the system to be out of alignment.

Start with the top of the system and work down. Use slow motions, in a straight line, from the back to
the front of the surface being cleaned. Change the cleaning wipe periodically to avoid re-depositing
material back onto the surface being cleaned. Allow all cleaned surfaces to dry completely before
restoring power to the system.
5

CE Mandated Warnings

Please read the following instructions carefully to prevent potential shock or fire hazards. This manual
should be retained for future use

Bitte lesen Sie die nachstehende Anleitung sorgfältig durch, um Stromschlag und Feuergefahr zu
vermeiden. Diese Betriebsanleitung soll für späteren Gebrauch sorgfältig aufbewahrt werden.

Preghiamo di leggere accuratamente, le sequenti Instruzioni, per evitare Prossiomi Incendi e Correnti.

Shock Hazard - Do Not Enter


Achtung Hochspannung - Nicht Berühren
Attenzione Corrent-Forte - Prego non toccare

The front panel’s switch is not the power disconnect device. The power cord should be removed after
use.
Der Kippschalter an der Vorderseite unterbricht nicht die Stromzuführung. Das Stromkabel soll nach
Gebrauch aus dem Gerät herausgezogen werden.
L’interutore nella parete frontale non blocca le Corrente. La Corrente viene.

Never expose the unit to water or liquids. Avoid direct sun.


Bringe das Gerät nicht mit Wasser oder anderen Flüssigkeiten in Berührung. Vermeide direkte
Sonneneinstrahlung.
Evitare contatto con acqua oppure liquidi Infiammabili al Macchineggio. Auche entrate di Sole.

Do not insert any objects into the unit.


Keinen Gegenstand in das Gerät einbringen. Do non inseriamo any obietta into gli unità.
Non mettere ogetti dentro la Macchina.
6

Do not use near open flame or heat.


Das Gerät nicht in der Nähe einer offenen Flamme oder Hitze benutzen.
Non mettere la Macchina vicino a fuochi oppure Riscaldamenti.

The unit should never be enclosed or blocked.


Das Gerät darf nicht eingeschlossen oder blockiert werden.
La Macchina non chinderla per nessun motivo.

Connect unit only to a properly measured supply. Use only the three wire cord which is provided with
the unit.
Schließen Sie das Gerät nur an eine ordnungsgemäss vermessene Stromsversorgung an. Verwenden Sie
nur ein dreiadriges Kabel, wie es auch mit dem Gerät ausgeliefert wird.
Montare solo con misura normata. Adoperando solo 3 cavi elettrici cosi come e fornita la
Macchina.
7

Table of Contents

1. Software Overview 8
1.1 The Wafer Map Tab 9
1.2 The Measure Tab 11
1.3 Go To 14
1.4 The History Tab 15
1.5 The Edit Recipe Window 17
1.6 Menu Controls 19
1.7 Taking a Baseline 37
2. Editing Film Recipes 40
2.1 Adding, Changing, or Deleting a Structure 40
2.2 Film Stack 40
2.3 Analysis Options 45
2.4 Map 50
2.5 Alarms 52
2.6 Acquisition Settings 53
3. Making Measurements 57
3.1 Focusing the Fiber 57
3.2 Example A - Mapping Thickness Only 60
3.3 Example B - Mapping Thickness and Optical Constants 64
3.4 Measurement Assumptions 67
3.5 Hints for Improved Accuracy 68
3.6 Troubleshooting 70
4. Understanding and Evaluating Measurement Results 86
4.1 Display of Measured Data 86
4.2 Goodness of Fit 86
4.3 Fast Fourier Transform Mode (FFT mode) 87
5. Advanced Features 90
5.1 Creating New Map Patterns 90
5.2 Editing Map Files Using Excel 92
5.3 Creating and Editing n and k Files 96
6. Theory of Operation 98
6.1 Measurement Theory 98
6.2 Thickness Measurement Details 99
6.3 F50 Hardware Operation 99
6.4 The Baseline Measurement 100
7. Appendices 102
7.1 Performance Specifications 102
7.2 Application Note - Si3N4 104
7.3 Software Automation 108
End User Software License 151
8

1. Software Overview
The way that light reflects off a thin film is determined by the characteristics of the film, such as its
thickness, optical constants, and roughness. The F50 is able to determine thin-film characteristics by first
carefully measuring the amount of light reflected from the thin film over a range of wavelengths (i.e., by
measuring the reflectance spectrum). It then analyzes this data by comparing it to a series of calculated
reflectance spectra. Most of the features of the FILMapper software that runs the F50 can be divided into
reflectance acquisition and reflectance analysis functions. The following pages outline the main features
of the FILMapper software.

The Wafer Map Tab is used to initiate mapping and to display measurement results. The map
configuration and the film properties to be mapped are specified in the Edit Recipe > Wafer Map dialog
box.
9

1.1 The Wafer Map Tab

1. Standard Windows menus; File, Edit, Setup, Acquire, and Help.

2. Select between the Wafer Map, Measure, and History windows.

3. Information about the Operator can be entered here for tracking purposes. Sample information is
automatically determined when the wafer map is saved based upon the settings under the Measure tab.

4. This section is used to determine how the map is displayed. The Replot button must be clicked to
enact any changes selected.
i. Parameters to Display: Allows the user to select which parameter (thickness, index, roughness,
etc.) to display on the map. Only parameters currently being solved for will be listed.
ii. 2D/3D: Allows the user to select between two dimensional and three dimensional maps.
iii. Show Color: Enables or disables the color bar on the left hand side of the map.
iv. Show Points: Enables or disables displaying the measured points on the map.
v. Show Values: Enables or disables displaying the measured values at each point.
vi. Manual Color: Allows the user to input a manually selected color scale.

5. Statistical analysis for the set of measurements taken.


i. Minimum parameter value recorded for selected wafer, xmin.
ii. Maximum parameter value recorded for selected wafer, xmax.
iii. Mean (average) parameter value of all measurement locations, .
10

iv. Std.Dev. (Standard Deviation), or 1σ, is calculated using the following equation:
where is the mean and n is the number of measurements.
v. Uniformity as a percentage. The equation used in the uniformity calculation is determined under
Setup > Options > Map.
vi. CTE is the center to edge thickness variation calculated using a least squares linear fit of the
average thickness of 10 radial regions. If the CTE is positive (> 0), then the thickness is greater
around the wafer edge. If the CTE is negative (< 0), then the thickness is greater near the center of
the wafer.
vii. The Wedge value is the product of the slope at the angle specified by the Wedge Angle and the
sample diameter (for rectangular samples the length of the longest edge is used in place of
diameter).
viii. The direction of maximum positive slope (increasing measured values) is given by the Wedge
Angle where x=1, y=0 is 0° (3 o’clock) and x=0, y=1 is 90° (12 o’clock).
ix. Valid indicates how many locations have valid results out of the total number of measurement
locations based on the minimum valid GOF set under Alarms in the recipe.

6. Spectrum for the currently selected measurement point. This window can be expanded or collapsed
using the arrows on the left hand side of the graph window.

7. These options control the wafer map process.


i. Start or Restart the mapping cycle. Not available if there is no valid baseline or a map in progress.
ii. Stop the mapping cycle.
iii. New clears the measurement results and displays the points to be measured as determined by
the settings in Edit Recipe > Wafer Map tab.
iv. Go To a specified location on the wafer.
v. Initiate a Baseline .
vi. Reanalyze the current map if the recipe has been changed or a new recipe has been selected.
vii. Used to select saved recipes.
viii. Opens the Edit Recipe window.

8. Graphical display of the wafer with points of measurement as well as a color scale for thickness
summary.

Based upon the options selected, left clicking on a point will either move the stage to that exact location
or the nearest point on the map. Right clicking opens the following menu, which allows you to either
mark a currently measured point as invalid, remeasure an individual invalid point using the current
recipe, or interpolate the value of an invalid point using adjacent values.

The top of the image is the edge closest to the stage mirrors.
11

1.2 The Measure Tab

1. Standard Windows menus: File, Edit, Setup, Acquire, and Help.

2. Click on these tabs to select between the Wafer Map, Measure, and History windows.

3. Information about the Operator and Sample can be entered here for tracking purposes.

4. Displays the thickness of the film being solved for, as well as whether a sample is good or bad based on
the settings selected in the Alarms tab.

5.Measure a sample, Go To a point on the wafer,Baseline the system, or Analyze an already opened
spectrum. If the Measure button is grayed out, the system will require a baseline before further
measurements may be taken.

6. Select saved recipes from the drop-down list, or open the Edit Recipe dialog box.

7. Details about the calculated thickness, as well as any additional parameters that were solved for,
including Roughness, n and k, and Nonuniformity, and the Goodness of Fit (GOF) are displayed here.

8. Graphical display for spectra. A click of the right mouse button while the cursor is within the graphical
display opens the menu below for easy reading of cursor values in the Measure Tab. Use the keyboard
up/down and right/left arrows to move the marker to a desired location.
12

The graph limits can be changed by double-clicking on the graph display. The text boxes along the
bottom of the graph control the wavelength range, in nanometers, displayed on the screen. For systems
with multiple spectrometers, the software will automatically resize to match anytime the selected
spectrometer is changed.

The two boxes on the left represent the Reflectance (%) range, with the max being set in the upper box
and the min being set in the lower. The boxes on the right are for Transmittance (%). Check the Auto
checkbox to activate y-axis autoscaling. The lower value is always 0 for autoscaling; the maximum y-axis
upper limit is 5000. The axes can be set to display in percent or as a decimal value (100% = 1).

Graph Options can be accessed and edited by double-clicking on the main graph window.

8. Controls and settings for the camera are available here. By clicking Show Window, the video image will
launch in separate non-modal window. This allows the user to maximize the graph space available by
either minimizing the camera window, or moving it to a seperate monitor if available.
13
14

1.3 Go To
The Go To function allows the user to manually locate the system in the x, y, and, with capable systems,
the z direction. Measurements may be entered as discrete coordinates or by clicking on the arrow keys
to move the stage accordingly. When using the arrow controls, the single arrows allow a slower
movement speed while the double arrows are for faster motion.
15

1.4 The History Tab

1. Standard Windows menus, including; File, Edit, Setup, Acquire, and Help.

2. Click on these tabs to select between the Wafer Map, Measure, and History windows.

3. Used to alternate between the Single Measurement and Measurement Trend tab. Selecting the
Measurement Trend tab will allow the user to see a plot of the measurement results versus
measurement number. A drop-down list allows the user to select between which parameter is displayed.
16

When the Measurement Trend tab is selected in the History window, the right side of the screens graphs the
results.

4. Shows the measurement results for the selected spectrum (must be in Single Measurement mode).

5. Displays the selected spectrum in Single Measurement mode or the measurement trend plot in
Measurement Trend mode.

6. Displays statistics for all measurements included in the history file. This data can be selected for
copying and pasting outside of the software.

7. This list contains all spectra currently included in the history file. Left clicking on a column header will
re-sort the data in ascending or descending order based on the selected column. Right clicking anywhere
is this box will allow the user to open the Edit Columns control panel.
17

1.5 The Edit Recipe Window


The Edit Recipe window is used to define the film stack and to set analysis and acquisition parameters.

1. These buttons allow you to, in order from left to right:


i. Open a saved recipe.
ii. Start a new recipe.
iii. Save the current settings.
iv. Save the current settings as a new recipe
v. Delete the current recipe.

2. Opens a drop-down list for quick access to saved recipes.

3. Author, as defined by user login name and recipe modification date is indicated here.

4. Allows the user to select between the Film Stack, Analysis Options, Alarms, Wafer Map, and
Acquisition Settings tabs.
18

5. The desired thickness units are chosen here. The choices include angstroms (Å, 10^-10 m), nanometers
(nm, 10^-9 m), kilo-angstroms (kÅ, 10^-7 m), microns (µm, 10^-6 m), microinches, mils, millimeters (mm,
10^-3 m), and Custom Units.

6. This is where the materials and parameters to be solved are defined.


19

1.6 Menu Controls


This section describes the various functions available through the standard Windows File Menus.

File Menu

Edit Menu

Setup Menu

Acquire Menu

Help Menu

1.6.1 File Menu

Open Spectrum… (Measure Tab only)


This command is used to open stored reflectance spectra, which are then displayed and can be analyzed
for film properties.

Open History…
Previously saved History data containing measurements and statistics can be loaded with this
command.

Open Wafer Map… (Wafer Map Tab only)


This command is used to open stored wafer maps, which are then displayed and can be analyzed for film
thickness.
20

Open Difference Map… (Wafer Map Tab only)


This command allows users to display thickness differences between 2 maps (Map2-Map1). Film
structure and map pattern must be the same for both map recipes. Press the Select Map button to
browse for the map files.

Import: Recipe…
Import recipes that were previously exported or created with an older version of FILMapper.

Import: Material…
Import materials not currently in the software either created by the user or provided by Filmetrics.

Import: License…
When the user purchases an upgrade for the system, Filmetrics will send a license file to the user. The
license must be imported into the software before upgrades are effective.

Save Measured Spectrum… (Measure Tab only)


This command is used to save spectra for export or later analysis. Files can be saved in four different
formats:

*.fmspe: This file can only be opened in FILMapper 6.0 or greater and is the preferred way to save
spectra. Additional information from data acquisition is stored in this file.

*.spe: This file can be opened in all versions of FILMapper.

*.csv: This is a comma-delimited file that can be opened directly in Excel.

*.txt: This is a tab-delimited file and can be opened with a text editor.

Save Screen to File… (Measure Tab only)


This command takes a screenshot of the FILMapper window.

Save Wafer Map… (Wafer Map Tab only)


This command is used to save measured wafer maps for export or later analysis. Files can be saved in two
different formats:

*.ficwm: This file can only be opened in FILMapper 7.10 or later, and is the preferred way to save maps.
This file will contain all of the data captured in measurement process including individual spectra, results,
images and more.

*.fimap: This file can be opened in all versions of FILMapper.

Save n and k to files… (Measure Tab only)


Export: Recipe…
Recipes can be exported for use on other computers running FILMapper. The exported file will also
automatically include any material files required by the recipe. To duplicate an analysis, all that is needed
is the exported recipe and the spectrum being analyzed.
21

Export: Recipe for FILMapper 4…


This command will convert a recipe for use with FILMapper 4. This will not include material files or recipe
features only available in later versions of FILMapper.

Export: SystemInfo File…


For certain software upgrades , the user will be required to send the SystemInfo file to Filmetrics which
can be exported using this command.

1.6.2 Edit Menu

This menu allows access to the Material Library, as well as the Map Pattern editor.

Material Library
The material library is used to display information about existing materials as well as create new ones.
Material files shipped with FILMapper have the file extension “.fibnk” and will only display limited
information. User created material files, ".fitnk", can be plotted on a graph or viewed in table form.

A new material may be entered into the material library manually if refractive index (n) and extinction
coefficient (k) are known as a function of wavelength for the new material.
22

To create a new material file:

1. Select Edit > Material Library… menu item. The Edit Material dialog box will appear.

2. Click New… to create a new material.

3. Select the type of material you are ready to create (Dielectric, Photoresist, Semiconductor, Metal,
or Other).

4. Optimize the functionality of the file by entering index values over the entire wavelength range of
the system. The wavelength unit is nanometers. Enter index information every 20 to 50 nm,
depending on the complexity of the data. In areas where n or k is quickly changing, more densely
spaced points should be entered.

5. Alternatively, select the Model > Custom radio button and click the Details button. A Custom
Model Information dialog box will appear. Select the appropriate model. Enter in the known
coefficients and click OK. Cauchy coefficients are displayed in microns. If they are entered in Å,
FILMapper will automatically detect this and convert them to microns.

6. Click the save button to save the material. You will be asked for a filename, and you may select
one of two file types:
*.fitnk: Creates a unified file with both n and k information. Compatible with FILMapper 6 and
beyond.
*.nnn: Creates a *.nnn file and, if there is k in the material, a *.kkk file to contain material data. For
files with both n and k, the two files must have the same filename, for example xmaterial.nnn and
xmaterial.kkk , in order for FILMapper to properly indentify them. Compatible with all versions of
FILMapper.
23

Map Pattern…(Wafer Map tab only)

The Edit Map Pattern dialog allows the user to specify the measurement pattern on the wafer. Patterns
can be generated automatically through the dialog, or pre-existing patterns can be opened or imported
for review.

When generating patterns automatically, the user must first determine if the wafer shape is round or
rectangular under the Wafer Type option. The pattern type specifies the pattern geometry within the
wafer shape. With Round selected, the user can enter the expected wafer diameter into the Round Info
text box at the bottom of the dialog window. If rectangular is selected, the Rectangle Info will allow the
input of both height and width data of the sample. All measurements are assumed to be in millimeters.
FILMapper is able to automatically scale the wafer map to match other wafer sizes if a different wafer size
is input during recipe creation in the Edit Recipe > Wafer Map dialog.
24

The pattern density and central exclusion features specify the exact distribution of the measurement
points on the wafer. A greater density leads to an increased number of measurement spots, and can only
be increased in whole numbers. Central Exclusion can be used when the user doesn't want a point in the
exact center of the wafer. The exclusion must be <1 in order to function properly. The Radial
Pattern Details options are only enabled when the type is set to Radial. Enabling the Manual Spots per
Quadrant option will allow the user to modify the number of measurement spots even further by
increasing the number of spots per each concentric ring.

Rectangular patterns allow the user to modify spot density, or with the addition Fixed option allows the
user to manually enter the number of spots per each row and column.

Linear patterns by default are set to measure from Center to Edge, but can be set to Edge to Edge using
the Linear Pattern Details options.

An updated version of the map pattern can be displayed by clicking Redraw after changing any of the
above values. Save as will save the new map pattern in the FILMapper\Patterns\Custom folder under a
user determined name.

If the x-y coordinates for a specific pattern are known, the FILMapper software can recognize a text file of
these coordinates. See Editing Map Files Using Excel for more details on creating custom maps.

All custom patterns must be saved in FILMapper\Patterns\Custom folder. To select the new pattern in the
Edit Recipe > Wafer Map tab, select the Custom Coordinate System and the name of the pattern from
the drop-down box.

1.6.3 Setup Menu

This menu contains the settings for manually obtaining the Standard/Background information, Display
options, and the Raw Signal dialog. This is also where user access can be set through the Access Control
option, as well as modifying some system Options.

Standard/Background
This control is used when manually taking and enabling/disabling the Reflectance Standard and
Background compensation.
25

Take Standard
This button allows the reflectance standard portion of the baseline measurement to be taken without
having to re-take the background measurement.

Take Background
This button allows the background portion of the baseline measurement to be taken without having to
re-take the reference measurement.

Use Standard
This checkbox allows the reflectance standard portion of the baseline correction to be enabled or
disabled. This box is only available if a baseline has already been completed.

Subtract Background
This checkbox allows the background subtraction portion of the baseline correction to be enabled or
disabled. This box is only available if a baseline has already been completed.
26

Display

Color Measurement Settings: Color Space


The color of a spectrum can be displayed and quantified on the main screen if a color space coordinate
system is selected.

When a Color Space is selected, the color of the spectrum and the coordinates appear on the Measure Tab.

Color Measurement Settings: Observer


When a specific color space is chosen for display, this option allows the user to choose between the CIE
1931 2 degree observer and the CIE 1964 10 degree observer. Note that this variable is associated with
the CIE eye-response convention (see, for example, http://en.wikipedia.org/wiki/CIE_1931_color_
space) and is unrelated to the illumination or collection angle of the measurement.
Color Measurement Settings: Illuminant
This setting refers to the standard illuminant being used by the software to help determine the results of
the color analysis.
27

Color Measurement Settings: Fixed Luminance


The user can fix the luminance of the displayed color. Since antireflective coatings, for example, are
inherently transmitting, the spectra have very little luminance and the coating color may appear black on
the screen. Adjusting the luminance does not affect the color space coordinate results.

Spectrum colors of the same spectrum with fixed luminance of 10%, 40%, and 70%, respectively.

Number of Spectra
This sets the maximum number of spectra (up to 10) displayed simultaneously on the main FILMapper
screen. If the maximum number of spectra is reduced to fewer than the number already on the screen,
the most recently selected spectra will remain.

You may also use the Show Dual Spectrum Graphs option to display two measurement graphs
concurrently. The data will remain the same across both graphs (spectra and modeled fit), but you can
set the graph options for both windows independently. This can be used to focus on a specific area of
interest on a spectra while still seeing the effects on the dataset as a whole.

Spectra Transformation
For spectra with both reflectance and transmittance information present, you can have the software
display them as separate spectra (none), added together (sum), or the absorptance (1-R-T).

Graph Options
The background of the graph can be set to white or black using this option, as well as allowing the
software to auto-position the legend box to avoid or minimize overlap with the displayed spectra.

Measurement Results: Significant Digits


The user can select the number of significant figures, from 1 to 7, that the results are displayed in. For
example, with the units set to Angstroms and 4 significant digits, The software would report a thickness
of 7213 Å. If significant digits is switched to 3, it will instead display the thickness as 7210 Å.
28

Displayed Controls
These checkboxes are used to determine which controls are shown on the right hand side of the
FILMapper window. Some options may not be available based on current system configuration.

Access Control
FILMapper incorporates password protection to limit access to the measurement software and settings.
When the software is initially installed access control is turned off. The software will automatically boot
up with Engineer level access that enables access to all features of the program except turning on and off
access control and adding and deleting users.

Turning on access control requires Supervisor level access. The software is delivered with one user, a
supervisor, in the list of authorized users as shown below:

UserID: filmsuper

Password: filmetricsfff

To turn on access control log in as filmsuper using the password shown above. The Activate Access
Control checkbox should selected enabling access control functions. User ID and Password are case-
sensitive.

To add an operator level user, select operator from the Access Level list box then type a user name and
an initial password for that user. Then click the Add User button. To add an engineer or a supervisor user
follow the same procedure, but first pick the appropriate access level from the list box before pressing
the Add User button.

To delete a user, enter the UserID and press the Delete User button.
29

Operator and Engineer level users can change their passwords when they are logged in by entering their
password into the password box and pressing the change button. Supervisor-level users can change
their password or the password of any other user by selecting the appropriate access level, entering the
appropriate UserID and the new password and pressing Add User. If the program finds that a user
already exists, it will delete the old entry for that user and create a new entry.

We recommend that you create a new supervisor level user and delete the filmsuper user for maximum
security. If all supervisor level users forget their passwords, it will be necessary to re-install the software
and add all the users again.

Raw Signal
Raw Signal
The Raw Signal dialog box allows the user to plot the raw (no baseline corrections applied) spectrometer
signal on the main graph. This is useful when adjusting the focus or when setting integration times
manually.
Active Spectrometer
For systems with multiple spectrometers (EXR and UVX) these radio
buttons allow you to select between collecting data from the short
wavelength, long wavelength, or both spectrometers. Note that the
software will automatically adjust the x-axis of the graph to match
maximum wavelength range the selected spectrometer configuration.
Integration
The user can set the integration time and the number of integration
cycles for the spectrometer. Increasing cycles can be used to help
smooth the data being returned to FILMapper. Clicking Apply will show
the changes in the main graph window. Clicking Update Recipe transfers
the listed integration time and cycles to the current recipe.
Signal Corrections.
Spectrum Preprocessing allows the user to apply a smoothing function
to the displayed spectra. See Editing Film Recipes > Data Selection for
more details.

Subtract Background can be used to remove the inherent background


signal from the displayed raw signal spectrum.
Start/Stop
This button starts/stops the acquisition of the spectrometer signal.
Graph Limits
This allows the user to either manually set or autoscale the graph limits. Click Apply after any changes to
display them on the main FILMapper window.
30

Options
The Options menu allows the user to enable, disable, or modify several different settings within
FILMapper.

General Settings

Wafer Map

Data Recording

General Settings

The General Settings tab is used to enable, disable, and modify various options in the software.
Hide or show the menu bar when using Save Screen
to File.
Enable or disable whether the software displays a
warning before clearing all spectra on the screen
when the Clear Graph button is pressed.
Enable or disable automatically increasing the
number of spectra displayed on the graph when
opening multiple saved spectra.

You can also set whether to show a confirmation


message before increasing the number of spectra.
Toggle whether the software prints out all currently
loaded spectra, or only the active curve when using
the Print feature.
Enable or disable whether the warning dialog before
you delete entries in the history file.
Open a dialog that allows you to control which
columns are visible in the History tab.

Enable or disable the baseline reminder feature, and


if enabled to set the reminder interval.

Enable any connected SampleCams by selecting


their serial number from the dropdown list. Disable
the camera by selecting None.
31

Enable or disable whether the software warns you if


an error causes the camera to stop.
Click to enable automatic camera reinitialization
should an error occur. If you have a SampleCam it is
generally suggested that you keep this feature
enabled.
Set your Reflectance Standard Signal Threshold val-
ues. These determine at what percentage of the ini-
tial signal intensity the software will display a
warning during the Baseline process. This feature is
used to track lamp health, proper baseline pro-
cedure, and other parameters.
Enable or disable the Uniform Spectra Data Point
Spacing function. When enabled, saved spectra will
have their values set to a multiple of 1, 2 or 5. Stand-
ard Spacing sets the spacing equal or greater than
the smallest interval in the data, while Fine Spacing
sets the spacing to shorter than the smallest inter-
val.
For systems with multiple user accounts, enable or
disable sharing settings across all users. A folder to
store the settings file may be selected.
For systems with multiple user accounts, enable or
disable sharing settings across any users who have
slected this option. A folder to store the settings file
may be selected. This option is only available if Share
Settings with all users isn't enabled.
This feature allows the user to select a different
location for their Recipes folder, for example to a
shared network drive. This can be useful for syncing
recipes across multiple instruments in varying
locations.

Selecting Reset will instruct the software to look in


the default location for the Recipe folder.
This feature is similar to the one above, only it allows
you to choose a different location for your Materials
folder.
Enable or disable whether the software prompts you
when it is ok to disconnect the instrument at soft-
ware shutdown.

Click to restore all settings to their default values.


32

Map

The Map tab allows the user to select the various options related to mapping process. Wafer Map
Rendering allows the user to choose between either a full Color map, or a Luminance map which varies
from white to dark blue. Users can also set whether or not to display invalid points, whether to use a
linear interpolation between points, and what size font the results display as on the map.

Stage Motion allows the user to enable high speed motion controls, for faster mapping when the
vacuum is in use. You can also set the speed of the stage when the motion buttons are used.

Reference Location allows the user to choose where the system should look for the built-in reflectance
reference. The default setting is automatic (mechanical 0,0), though a custom location can be defined.
Note that this value is unaffected by the Offset Map Origin feature in the recipe.

Focus Height Calibration can be used to manually re-home the z-motion of the system, and also to set
an offset for focus height.
33

Stage Center Calibration is used to ensure that the sample is fully centered on the stage, and is most
important when working with patterned samples. Instructions on how to use the function are included
in the software.

When Automatic Data Saving is enabled under the Edit Recipe > Wafer Map tab, the options here are
used to determine in what format the spectra are saved, and where on the computer they are saved.

Uniformity Calculation allows the user to determine the equation used to calculate the uniformity result
in the wafer map.

The final four options allow the user to automatically clear the history whenever a new map is started,
and if the option is enabled in the recipe to save map files as the .fiwmc file type. The user may also tell
the system to automatically clear any spectra from the Measure tab when maps are completed. Finally,
the user may select whether to be prompted before reanalyzing data under the Map tab.

Data Recording
The Data Recording tab contains controls for the various methods by which FILMapper may
automatically save collected data.

Enabling Automatically append results to file will


instruct the software to create an excel file at a spe-
cified location in which a running tally of measured
results are kept.
This feature is different from the History tab in that it only records results, not the spectra files as well. It
does not however have an upper limit on the number of spectra that can be recorded.

Enabling Save once per spectrum will only append results when the Measure button is pressed or a
saved spectra is opened in the software. Any changes in the recipe applied to existing spectra will not be
recorded. When this feature is disabled, any time a spectra is analyzed the result is entered into the file.

When Confirm before saving is turned on, the software will


provide a prompt before appending data to the excel file.

Continuous Measure: Measurement History Inclu-


sion controls which spectra are included in the His-
tory tab when the Acquire > Measure Continuously
feature is used.
34

If the software is set to Prompt user to select History inclusion mode, a dialog will pop up prior to
beginning the continuous measure asking the user whether to save all measurements while measuring
continuously, or only the last measurement. The only last measurement feature can be useful on less
ideal surfaces (rough, non-uniform, etc.) where the user may have to search around the sample surface
for a spectrum capable of being analyzed.

Clicking Don't ask me this again will disable the prompt, and the user will have to navigate back to this
menu to re-enable the feature.

The user can also select between having the software provide a prompt for which data to include in the
history file when using Acquire > Continuous Measure or to record all measurements to the History tab.

The Automatically archive History feature can be


used to have the software save a copy of the history
file whenever it hits 1000 measurements.

The history files are saved in the following format (YYYY-MM-DD-X) where YYYY is the year, MM is the
month, DD is the day, and X is a serialized number based on how many history files have been saved on
a given day.

A value can be entered in megabytes for the maximum disk space to be allocated for the saved archives.
This will keep the software from using up all available hard disk space if the feature is enabled and then
forgotten. Should the software hit the allocated max, it will delete the oldest files in the selected folder
until enough space is available for the new history file.

Clicking Clear History after archive is written will instruct the software to automatically clear the history
results after 1000 measurements have been reached, and then begin counting towards the next group.
When it is disabled the history feature will work in the normal mode upon reaching 1000 measurements
(newest measurement is added as Meas #1000, Meas #1 is deleted). It will write the next history file upon
reaching 1000 measurements again, not each time the Meas# counter shows 1000.

1.6.4 Acquire Menu


35

Acquire > Acquire One Spectrum


This function collects a single spectrum and displays it on the screen. No analysis is performed until the
recipe is changed or the Analyze button is clicked.

Acquire > Acquire Continuously


This feature collects real-time data from the spectrometer. It is useful when searching for a specific
location to measure (for example, locating a more uniform area of the sample or one that exhibits
interference fringes). Stop continuous data acquisition by selecting Acquire Continously again.

Acquire > Measure Once


This feature collects a spectrum, analyzes it and displays it on the screen. This is the same as pressing the
Measure Button.

Acquire > Measure Continuously


This feature collects real-time spectrum data and analyzes it – similar to repeatedly pressing the Measure
button. A measurement interval time can be set in the recipe using the Advanced options underneath
the Acquisition Settings tab. Stop continuous data acquisition by selecting Measure Continously again,
or by pressing Ctrl+M.

Batch Acquire
The Batch functions allow you to act on groups of spectra, rather than each individual spectrum

Acquire > Batch > Acquire


This option allows you to acquire a pre-selected number of spectra. You can also choose to save the
batched spectra as they are acquired.
36

Acquire > Batch > Measure


This option allows you to acquire and analyze a pre-selected number of spectra. You can also choose to
save the batched spectra as they are acquired.
Acquire > Batch > Analyze Spectra
This option allows the user to select multiple spectra for analysis by the current recipe. If there are more
spectra to be analyzed than the software is set to Display, the analyzed spectra can easily be retrieved
from the History tab.
Acquire > Batch > Analyze All Spectra in Folder
This option will analyze every spectrum in a folder with the currently selected recipe. If there are more
spectra to be analyzed than the software is set to Display, the analyzed spectra can easily be retrieved
from the History tab.

1.6.5 Help Menu

Diagnostics
The diagnostics window gives information regarding the data taken during the baseline. Reference and
background counts are shown (this is useful to see how much signal the system is getting; good
reference signals typically are between 2500-3500 counts).
37

Help > Diagnostics shows the user information regarding the data taken during the baseline routine.

Help > About FILMapper


Information about the hardware and software versions and the system serial number can be found here.
Please have this information available when calling Filmetrics for technical assistance.

Help>About FILMapper... window

1.7 Taking a Baseline


The baseline measurement allows the FILMapper software to take into account the response inherent to
the reflectance measurement hardware. It does this by first measuring a supplied sample, then a
reflectance standard, and finally taking a “dark” reading. The light source should be allowed to stabilize at
least ten minutes before the baseline is taken. When measuring films less than 1000 Å thick, the baseline
should be periodically re-taken every 20-30 minutes. For thicker films, a new baseline can be taken less
often.
38

Baseline measurements may be started two ways:

1. Select the Baseline button in the Wafer Map or Measure Tab, which will guide the user through the
baseline procedure, or

2. Select Setup>Standard/Background... from the menu bar in the Measure Tab for manual access to the
baseline functions.

The first step of the baseline measurement is to take a spectrum from your sample. This done by placing
the sample on the stage, and if necessary moving the stage over the sample using the Go To function.
With the sample in place under the light path, you can then press the Take Sample Reflectance button.
For systems with no z-motion, the software will automatically move to the next step of the baseline.
Systems with manual z-motion will instead prompt the user with the Measurement Spot Focus dialog
pictured below. This dialog allows the user to move the stage and automatically adjust the gain to best
analyze the raw signal data.Once the system has been focused you can continue by pressing the OK
button. Systems with automated z-motion will focus automatically.
39

The second step is to measure a reflectance standard. For systems with no z-motion, use a reflectance
standard that is closest in height to your sample. This is to account for the fixed focus point, which you
can read more about here. Click on Take Reflectance Standard to continue the baseline. For systems
with manual z-motion, the software will prompt you to refocus the system similar to the last step.
Replace your sample with the reflectance standard that most closely matches the overall reflectance of
your sample, and then refocus the system. Also as before, automated z-motion systems will
automatically refocus to the reflectance standard height. The reflectance standard that is used should be
selected from the Reference Material: list. For reference materials not in the list, reflectance versus
wavelength values may be entered into a comma-delimited text file with the extension “.rrr” (stored in
the Material subfolder).

The background scan will be taken automatically. Most stages have a built-in tilted mirror or other
reflector that is used to re-direct the incident light away from the collection optics.

When thin films (< 2000 Å, approximately) or n and k are being measured, a full wafer reference map will
be required, and automatically measured. To determine if full wafer reference data is required,
FILMapper checks the active Recipe settings. The pattern defined in that recipe will be used for the full
wafer reference. If the map pattern, edge exclusion, or wafer diameter is changed, a new full wafer
reference will be initiated. The full wafer reference map can be enabled or disabled underneath the Edit
Recipe>Wafer Map tab.

After acquiring a baseline, the instrument is ready to begin making measurements. To verify that the
system is working properly, you may select Acquire>Single Acquire from the Measure Tab menu bar,
with the reflectance standard in place. You should see the reflectance spectrum of the reflectance
standard.
40

2. Editing Film Recipes


The description of the nominal film structure, as well as the measurement parameters, is specified in the
Edit Recipe dialog box. Hundreds of different film structures and their measurement specifications may
be saved.

The Edit Recipe dialog box is accessed with the Edit Recipe... button on the Measure Tab, or the Edit…
button on the Wafer Map Tab. The Edit Recipe dialog box lists an initial guess at the specifications of the
film structure to be measured. These specifications include the number of films in the structure, the layer
order of the films in the structure, the specifications of individual films (thickness and index), and the film
parameters to be measured.

2.1 Adding, Changing, or Deleting a Structure


When the Edit Recipe dialog box is opened, it shows the stored specifications of the structure selected
from the Recipe Name: list, along with any changes made since the recipe was loaded. Changes to the
structure selected can be permanently stored by making the desired changes and then clicking on Save.
Changes can also be stored as a new recipe by clicking on Save As. A structure may be deleted (removed
from the Recipe Name: list) by clicking on the Delete button.

2.2 Film Stack

The Film Stack tab is used to define the film structure and desired measurement units, as well as the
starting guesses and constraints for thickness, n, and k. This is also where you determine your analysis
method; Grid, FFT, or None, as well as any Nonuniformity that may be present in the sample. The [+]
and [-] below Composition, Thickness and Nonuniformity can be used to expand or hide solving
options.
41

2.2.1 Setting Up a Film Stack


When measuring a layer, the parameters (thickness, n, and k) of the known films (including the incident
medium and substrate) must be entered into the proper fields in the Edit Recipe dialog box, as well as
initial guesses for the values to be measured. The refractive index (n) and extinction coefficient (k) values
for common materials can be selected from the drop-down menus on the right-hand side of the listed
materials, or by left-clicking on the material and using the Search function. Note that if a generic index is
selected, the software will instead prompt for a new index value.

If a material is being measured is not present in the material library there are three possible approaches
to complete the recipe:

a) Choose a material in the library that is similar.


b) If the material is transparent (an insulator), select “Enter Refractive Index Value” from the
material list and enter a value for the refractive index (n will automatically be varied by FILMapper to
account for dispersion effects, with the entered value being n at 632.8 nm).
c) Create a new material file using the Edit > Material Library… dialog box. Enter the refractive index
values for n and k as a function of wavelength and save the files so that they may be selected as in
the recipe. See Creating and Editing n and k Files for more information.

2.2.2 Choosing the Films to be Measured


To measure a film's thickness, mark the check box on the right-hand side of the Thickness field under the
Film Stack tab in the Edit Recipe dialog box. When no boxes are checked, the theoretical spectrum for
the specified layer stack and thicknesses entered in the recipe will be displayed.

As with most measurements, the uncertainty of the measured data increases as the number of
simultaneously measured values increases. Thus it is best to provide as much information about the film
structure as possible.

2.2.3 Constraints
By setting constraints, the user can limit the possible values of the measured film properties. The
constraints are set in conjunction with the values entered in the Range dialog box for Thickness. For
example, if the initial guess of the measured thickness of a film is 100 nm and the thickness constraint is
set at 50%, FILMapper will only consider possible thicknesses in the range 50 nm to 150 nm.

Measurement results that are equal or nearly equal to the min or max thickness limit will be marked as
invalid, unless the minimum GOF limit is 0 (using the above example, a result of 50 nm would show as
invalid). This feature is intended to make sure that the user is alerted to results that may not be accurate
as the correct solution is not available in the currently provided range. To clear the invalid result, simply
use a larger constraint or change the nominal thickness value.

The constraints for n and k are set using the n and k dialog boxes under Composition. These boxes are
only visible when the Thickness or Composition options are expanded.
42

You can select between constraining by a percent of the thickness guess, or by absolute thickness units
by clicking on the % or measurement unit above the constraints dialog box. Constraining the
measurement range can speed up analysis and can also help exclude non-physical solutions.

2.2.4 Units
The Units drop down menu allows the user to easily switch between their desired measurement unit,
ranging from angstroms up to inches. The software will automatically convert between units when a
different unit is selected (e.g. 1 micron will be converted to 1000 nm).

The Custom Unit function allows you to create your own custom unit for measurements if the metric
you'd like isn't already available in the drop-down list.

The Edit Custom Units dialog box.

To determine the correct coefficient to use, you must first know the relationship between your unit and
nanometers. For example, if your units are mg/ft2 and it's been determined that 1 mg/ft2 works out to a
film thickness of 150 nm, then you would calculate your coefficient as follows, where X is the coefficient.

Custom units can be saved as part of the Recipe file, and only one custom unit can be saved per recipe.
43

2.2.5 Composition
When measuring the n and k of a film, the general dependence of these values upon wavelength must be
specified. This dependence is determined by the type of material to be measured. For example,
insulators, semiconductors, and metals all have a unique type of n and k wavelength dependence.

Dozens of models for these different dependencies have been proposed and used over the years.
FILMapper uses a few of the most versatile and accepted models. For insulators the Cauchy model is
used, for semiconductors either the Amorphous or Bridge-Lorentzian model, and for metals the Drude
model.

There are also a number of special-purpose models for specific applications. These models and starting
coefficients values are selected automatically when a material is chosen from the Material lists in the Edit
Recipe dialog box. Other models may also be specified by selecting them from the nk Model drop-down
menu under the Composition tab which is accessed by right clicking on the Meas checkbox when solving
for optical constants is enabled.

2.2.6 Grid Search for Thickness


There are a number of methods that FILMapper can use to determine thickness. Each is a different trade-
off between speed, accuracy, and robustness (i.e., the ability to find the best solution among many that
are nearly as good). Because thickness can vary over many orders of magnitude and many near-
solutions may exist, it is often best to use a very robust method to get close to the best solution, and
then let a more accurate method take over.

One very robust method is the Grid method, which can be activated by selecting the Grid option in the
Refine via drop-down menu. The Grid method searches the entire allowed thickness range (as defined
by the initial guess and the constraints) to find the best initial thickness. However, on some very complex
multilayer spectra, it is possible for the Grid method to give the wrong answer. In such cases it is best to
use the Fourier Transform(FFT) method to determine initial thicknesses, or to provide them manually.

2.2.7 Fourier Search for Thickness


The FFT option in the Refine via drop-down list is an alternative option to let FILMapper choose an initial
thickness for analysis. The Fourier Transform method analyzes the oscillations present in the spectrum
and determines the film thicknesses based on the periodicity of those oscillations. It is generally
somewhat less robust than the Grid method, but is better at finding the correct thickness in cases where
the shape of the initial theoretical spectrum is different than the measured data (i.e., the reflectance
spectrum is non-ideal in some way) or occasionally in cases where there is more than one film thickness is
being measured.
44

2.2.8 Nonuniformity

The Edit Recipe > Film Stack tab with the Nonuniformity option expanded.

Selecting this option enables modeling of thickness nonuniformity within the measurement spot. An
initial guess for Nonuniformity must first be made, and then solving can be enabled or disabled by
toggling the Vary box. If solving is not enabled, the software will assume the value provided for
nonuniformity.

Note: Solving for nonuniformity can greatly increase solving time.


45

2.2.9 Search

The Search Materials dialog box is accessible by left-clicking on a material name in the Edit Recipe > Film
Stack tab, or by selecting Search... from the material selection drop-down list.

Note: When clicking on a generic index file, the software will instead provide you with a dialog to enter a
new index value.

This feature allows the user to search for materials by using either the material name, or a keyword for a
certain class of materials. The search function will also show a brief Description of the material selected,
as well as any Synonyms or Keywords related to the material file. When files have a Synonym, that
means they are referencing the same material file under different names. For example, if Silicon is
selected the file that will be shown in the Film Stack is Si, not Silicon, as that is the file both names are
referencing. The Similar Materials box will list any materials that may have similar optical properties.

2.3 Analysis Options


Correct setting of the following options will help ensure accurate measurements. Many of the options
are set automatically when film information is supplied in the Edit Recipe dialog box, and all of them can
be saved so that subsequent measurements can be made as quickly and easily as possible. If Robust
(Adaptive; Thickness Only) or FFT (Thickness Only) is checked, only the Data Selection settings will be
accessible.
46

2.3.1 Data Selection


Wavelength Range
This sets the wavelength range that is to be analyzed. It may be set as either the entire range displayed
on the graph or a fixed range as defined by the user. Wavelength range may also be changed by clicking
and dragging the ends of the gray bar near the bottom of the graph area in the main FILMapper window.
Moving the bar will cause the software to reanalyze the data in the newly selected wavelength range.
Smoothing
This function performs wavelength-dependent boxcar averaging on the measured spectra. This can
improve signal-to-noise levels and can filter out oscillations that correspond to optical thicknesses
(defined as thickness * refractive index) equal or greater than the specified value. This value should be
lowered to increase smoothing, and raised to decrease smoothing. To eliminate smoothing, enter a very
high value (1000 μm, for example).
Source Data
If more than one data set is present, this option tells the software whether to analyze the 0 degree
reflectance data, 0 degree transmittance data, 70 degree reflectance data, or some combination of the
three.

Note: While every Filmetrics system is capable of opening and analyzing spectra with 70 degree
reflectance data, only the F10-RTA is capable of collecting this data.

2.3.2 Enable FFT (Thickness Only)


The FFT (thickness only) solver is one of three analysis methods available in the FILMapper software.
47

This solver is best suited for films greater than 250 nm thick, as well as multi-layered films. It is also an
effective option when the index of refraction of the film isn't well known. While this feature is selected
there will be fewer options under the Analysis Options tab. You cannot solve for index, roughness, or
nonuniformity with the FFT (thickness only) solver enabled. More information on the solver can be
found here.

2.3.3 Enable Robust (Adaptive; Thickness Only)


The Robust (adaptive; thickness only) solver is the second of three analysis methods available within
FILMapper. It is best suited for measuring the thickness of single-layer films greater than 150 nm thick.

This method can oftentimes successfully measure films when the data is affected by non-ideal properties,
such as thickness nonuniformity, grading, and birefringence. Much like the FFT (thickness only) solver,
enabling Robust (adaptive; thickness only) will limit the options available in the Analysis Options tab.
You also cannot solve for roughness, nonuniformity or index with the Robust (adaptive; thickness only)
solver enabled.

2.3.4 Exact Spectrum Matching


The Exact Spectrum Matching is the third of three analysis methods available in FILMapper. This solver
can be used to measure thickness, thickness nonuniformity, and roughness of single and multilayer
films, and can additionally solve for index.
Unmodeled Backside Reflections
When measuring films on transparent substrates, reflectance off of the backside of the substrate may
occur. Selecting Compensate for: Unmodeled backside reflections allows the software to shift the
intensity of the calculated reflectance curve to account for the additional light. This feature should not be
used when measuring very thin films (< 100 nm).

Tilted Sample/Lost Light


Samples with non-coplanar surfaces scatter some of the light away from the collection optics. This option
automatically compensates for the light lost due to nonplanarity.

Lock Identical Layers


Samples comprised of repeating layers can be more accurately measured by activating this option. By
activating these options, all properties of any layers that initially have the same material or thickness are
locked together.

2.3.5 Analysis Options: Advanced


48

Advanced Analysis Options for Spectrum Matching.

Convergence Criteria
This sets the minimum GOF between the measured and calculated spectra that is attained before the
measurement routines consider the solution final. In most cases a value of 0.999 is sufficient. For cases
where the desired GOF is not attainable, the value in the Maximum Iterations field limits the number of
iterations performed by the analysis routine.
Solver Cycles
This option will enable multiple solver cycles, with the number of cycles being defined by the number
entered in the text box. When using this option, the software will run through the model for a solution
once, and then try again starting from the solution previously found. This can help find the best solution
amongst a number of near-best solutions, which can be the case when solving for a large number of
parameters (several thicknesses and/or refractive index). A greater number of cycles will lead to a longer
solving time.
Display Details
This feature controls the wavelength at which n and k are displayed in the Measurement Details portion
of the main screen. These values are only displayed if solving for n or k is selected in the Film Stack tab.
49

Advanced Analysis Options for FFT Analysis.

FFT Analysis Window


When the FFT solver is selected, the advanced options give you access to various settings to help
optimize analysis performance. When Optimize Position is selected, the solver will check for the best
possible GOF value in different areas across the spectrum in a wavelength range defined by the entered
window size. For example, if a window size of 200 nm is selected, the solver will look at six different 200
nm sections of the spectrum, and then select the range the provides the best GOF.

If Optimize Size is selected, the solver will instead begin with a minimum window size as defined by the
user. It will then start at the center of the analysis range, and then extend equally in both directions six
times to find the best GOF. When Optimize Position and Size is selected, the software does both
functions, resulting in measuring thirty-one different combinations of location and analysis range.

The FFT Total Thickness is used when only the total thickness of a multi-layer stack is of interest. In these
cases the user would define a single layer recipe, and enable the total thickness option. The solver will
then perform a special analysis and look for the peak that corresponds with the thickest measured value
within the current parametrs of the recipe, checked against a minimum peak height. This value is used to
insure that only a true thickness peak, and not a side lobe of another peak is identified as the correct
result.

The FFT Window Function allows you to select between four different window functions to apply to the
FFT analysis. By default this feature will be disabled (None). Descriptions of different mathematical
functions can be found here
50

The FFT Scaling Factor is used for non-ideal samples, where there maybe an alignment in the x-axis of the
FFT plot, but not the y-axis. This may occur for many reasons such as a very rough, non-uniform, or in
some other way non-ideal film. By adjusting the scaling factor, you can increase or decrease the
amplitude of the modelled fit to improve your GOF values.

2.4 Map

This wafer map tab allows the user to specify various settings in relation to how the map is generated.
This includes the size and type of wafer to be analyzed, the configuration of the measurement spots,
which parameters should be mapped, where AutoFocus functionality should be used if available, as well
as data saving protocols. It also allows the user to define settings for pattern avoidance and accounting
for invalid measurement spots. This is also where the preferences for the full wafer reference are set.

2.4.1 Measurement Configuration


Wafer Diameter: Diameter of wafer to be measured – choose from list. When using rectangular patterns,
this option will switch to Width and Height, with text boxes to enter the appropriate values.

Coordinate System: Polar, Rectangular, Linear, or Custom.

Number of Points or Custom Name: Choose from the list the number of points to be measured or
select the name of the custom pattern file.

Edge Exclusion: Distance from outermost points to the edge of the wafer.
51

Indexing: Changes plot on screen to show appropriate index mark. The wafer should be oriented on the
stage with the index mark on the edge opposite the mirrors (i.e the top of the wafer in the map results is
near the mirror).

Advanced Settings: When using a rectangular map, the advanced rectangular map settings option is
enabled for use. This menu allows the user to define the sample origin point in one of five locations; top-
left, top-right, center, bottom-left, or bottom-right. Automatic Alignment can be used to help find the
edges of the sample.

2.4.2 Offset Map Origin


This feature is intended to allow the end user to determine the origin point the system will use for the
measurement map. If no option is selected, the software will default to centering all maps around the
(0,0) measurement location. Once selected there are two options available:

1. Relative to Start Location - Whenever the Start button is clicked, the software uses the current
(x,y) position as the origin for the map. This position is not saved as part of the recipe.
2. Absolute - set a specific (x,y) location as the origin of the map.

2.4.3 Automatic Data Saving


If a filename is entered in the upper right corner of the Wafer Map View>Map Information field, then a
new folder with that name will appear in the FILMapper\Map Results folder. If no name is specified, all
saved data will appear in the Map Results folder.

Save Results to Disk: Automatically saves the map after completion of measurement. Depending on the
settings undeneat Setup>Options>Wafer Map, the software will either save the maps as a .fimap or a
.fiwmc file.

Save Spectra: Saves the spectrum acquired at each point as a separate file. Each file is saved in
measurement order, "0" being the first measurement. File extension is .fmspe by default, but can be set
underneath the tab Setup > Options > Wafer Map. Each spectrum may be opened in the Measure Tab.

2.4.4 Pattern Avoidance


The pattern avoidance feature enables the system to target areas on a patterned wafer that do not
scatter light (i.e. avoid trench areas). If a measurement shows low reflectance, the stage will move to a
nearby location where a pad is expected (as defined by the settings described below). This feature should
not be selected when measuring blanket wafers.

Spot Size: The size of the measured spot.

Pattern Size: The size of the features to be avoided.

Rectangular, Radial: The pattern layout geometry.

Spacing: The center-to-center separation of elements making up the pattern.

2.4.5 Invalid Measurement Retry


52

Activating this feature allows the software to try up to four additional measurement locations, within the
Spot Size specified if the first measurement turns up as invalid. Invalid measurements are defined by the
minimum valid GOF in the Alarms tab. If a valid measurement is found, the result will be shown on the
resulting map. If no valid measurement is found in any location, the spot will be marked invalid. This
function is especially helpful when measuring non-uniform samples.

2.4.6 Additional Parameters To Be Mapped


Average Reflectance Ratio: This maps the average reflectance ratio, which is defined as the average
reflectance between the Starting Wavelength and the Ending Wavelength, divided by the reflectance at
the specified Reference Wavelength. The Goodness Of Fit can also be included as a parameter to be
mapped. For systems with automated z-motion, the focus height can be tracked as well.

2.4.7 GOF (Solve for Goodness of Fit)


Enabling this feature saves GOF results with the map. To see the GOF map, use the drop down above the
Manual Color Range box under the Wafer Map Tab.

2.4.8 Full Wafer Reference Mode


This option allows you to choose whether or not to enable Full Wafer Reference Mode, or to let the
software decide based on the parameters set to be solved for. A full wafer reference is suggested when
mapping for optical constants, or very thin films (< 50nm).

2.5 Alarms
53

Minimum Valid GOF


Constraining the Minimum Valid GOF will exclude measurements where the calculated GOF does not
reach the specified limit. A warning or “Invalid” result will appear if the GOF constraint is not met. Specify
0 to have all solutions reported.

Activate Alarms
When Activate Alarms is selected, an alarm will trigger if the measured thickness of the sample is outside
the specified Thickness Limits. Measurements that fall within the thickness limits will be indicated by a
green box surrounding the measurement result in the Measurement Status window under the Measure
Tab. A measurement that falls outside of the selected limits will instead show a red box surrounding the
measurement result.
Thickness Limits
Setting the minimum and maximum allowable thickness limits will trigger an alarm if the measured
thickness is outside the limits when Activate Alarms is selected.

2.6 Acquisition Settings

This menu lets the user control Measurement Timing, Spectrometer Type (on EXR and UVX
systems),AutoFocus settings, and Advanced Acquisition Settings.

2.6.1 Measurement Timing


54

Use Recommended Sampling Time


Selecting this option uses the sampling time that has been automatically calculated by the software
during the baseline procedure. The displayed value is the total sampling time and not necessarily the
integration time. To see the integration time and number of integration cycles go to the Help >
Diagnostics menu.

Use Maximum Sampling Time


Users can set a maximum sampling time by selecting this option. By increasing sampling time the user
may see a decrease in signal noise, but at the trade-off of a longer acquisition time. Integration time and
cycles will still be determined by the FILMapper software.
Use Manually Set Parameters
Users can set both the integration time per acquisition cycle and the number of integration cycles over
which to average. When using this option, the total sampling time is equal to the integration time
multiplied by the number of integration cycles.

To set the integration time manually, set the sample on the stage and select Setup>Raw Signal… If the
proper integration time is unknown, an initial value of 40ms is a good starting guess. The vertical scale of
the spectrum extends from zero to 4000. Thus, a good working level is when the peak height of the
sample being measured, or the reflectance standard, whichever is greater, is 3000-3500 counts. If the
maximum signal is too low, increase the integration time. Too large an integration time will result in
excessive dark current, so it is sometimes necessary to accept a smaller signal level to limit the dark
current.

Notes:
1. If the reference measurement saturates, the software will display a detector saturation error.
Analyzing a saturated spectrum will result in spurious final measurements. Take a new baseline
with a lowered integration time.
2. If the integration time is changed, it will be necessary to perform the baseline procedure, or re-
acquire the reflectance standard and background scans.

2.6.2 Spectrometer Type


EXR and UVX systems have two spectrometers(VIS-NIR and UV/VIS-NIR respectively). Here the user can
choose to use only one or both spectrometers.

2.6.3 Optics Configuration


55

The Optics Configuration dialog box is accessible through the Acquisition Settings tab under the Edit
Recipe window. It is important to make sure that you remember to select the proper configuration for
your measurements in order to obtain the best possible results. Not all options are available with all
systems.

2.6.4 AutoFocus
For systems with automated z-motion, FILMapper is capable of autofocusing on the sample and
reflectance standard when making measurements. There are three different options available to users:

GOF: This autofocus function is intended to optimize focus based on the best goodness of fit measured
off the sample. It is important to make sure that the recipe selected accurately matches the intended
application to minimize measurement time.

Max Signal: This autofocus technique works by maximizing the raw signal returned from the
spectrometer to determine best focus. It is the fastest of the three options.

Image Focus: Only for systems with the integrated camera, this technique focuses based on the image
from the SampleCam.

Regardless of technique used, it is suggested to first use the manual focus controls to bring the system to
a rough focus the first time you run a sample to minimize search time for the autofocus function.

2.6.5 Advanced Acquisition Settings


56

Store Baseline settings in Recipe


This option allows the user to save the selected Optics Configuration, Baseline Name, and Reflectance
Standard used with each individual recipe.
Continuous Measure Settings
This option allows the user to set an interval, in seconds, between measurements when using the
Measure > Continuous Measure command from the Acquire Menu. By default this is set to 0.
57

3. Making Measurements
Accurate measurements with the F50 rely on using the proper measurement setup. The basic steps for
any F50 measurement are:

1) Selecting and/or editing the Film Stack to be measured.


2) Taking a Baseline measurement.
3) Clicking on the Measure button to acquire and analyze the measured spectrum.

Each example below will take you through this sequence of steps. In each example it is assumed that the
hardware has been set up as described in the Quick Start Guide, and that you have first read through
the Software Overview section to familiarize yourself with the basic controls.

TheFocusing the Fiber, Measurement Assumptions, Hints for Improved Accuracy, and
Troubleshooting sections describe techniques that should be followed for the most accurate
measurements.

3.1 Focusing the Fiber


In order for the system to properly make measurements, the light must first be properly focused to the
height of the reflectance reference to be used.When the fiber-optic is fully inserted into the lens tube, the
Lens Assembly in the F50 is designed to provide optimal focus for samples the same thickness as the
silicon reflectance standard. If the top surface of the object to be measured is a different height than the
reflectance standard to be used, please follow the procedure below to focus the fiber-optic.

A. Turn on the light source

B. Start FILMapper.

C. Go to the Setup>Raw Signal… dialog box, set the integration time for 20 milliseconds, and click
Apply.

D. Place a reflective sample, such as a silicon or BK7 reflectance standard, on the sample stage. You
will now see the raw signal from the spectrometer. If the signal exceeds 4000 counts, reduce the
integration time (step C).

* * Note * * Focus position is dependent on sample thickness. Make sure the surface you
intend to measure is at the same height as the reference surface of the reflectance standard. It
may be necessary to place a flat object, a washer for example, under the sample or reflectance
standard in order to match surface heights.

E. Move the fiber-optic cable slightly up the lens tube until maximum signal is obtained. Integration
time may also need to be reduced as the signal increases.
58

The recessed set screw on the back of the lens tube is actually a spring-loaded ball plunger and does
not require tightening. Users should be aware that the fiber may slip out of focus if the stage or
cable is moved. If one focus height is often used, the set screw can be tightened to reduce the
chance of inadvertent slipping once an optimal focus position is found.

F. Adjust the tilt of the lens by rotating the screws on the KM-F50 to maximize the raw signal, as in
the previous step.

G. Close the Setup > Raw Signal… dialog box. Focusing is now complete.

There is also a video demonstration of this procedure on YouTube, which can be found here. An active
internet connection will be needed to view the video.

Focusing for Systems With Automated Z-Motion


Focusing on systems with the automated z-motion controller is very similar to that of the fiber with lens
assembly or microscope based systems, only with the controls for height adjustment included in the
software.

1. Turn on the light source for the system.

2. Start FILMapper.

3. Go to the Setup>Raw Signal… dialog box, set the integration time for 20 milliseconds, and click
Apply.

4. Place a reflective sample, such as a silicon or BK7 reflectance standard on the sample stage. You
will now see the raw signal from the image sensor. If the signal exceeds 4000 counts, reduce the
integration time .
59

5. Adjust the focus to maximize the measured signal using the focus controls in the software.

6. If micropositioners are present on the optical assembly, F3-XXT systems for example, they may
be adjusted at this time . Alternate making adjustments between the two knobs until signal is
maximized. As the system is very sensitive to the tip/tilt adjustments being made with the
micropositioners, it is important that adjustments are made slowly and in small increments.

7. Close the Setup>Raw Signal… dialog box. Focusing is now complete.

You will be prompted to focus the system during the Baseline during both the sample and reference
steps. For the most accurate results, it is important to refocus to your sample after the Baseline.
60

3.2 Example A - Mapping Thickness Only


Measuring the Thickness of SiO2 on Silicon
For this example we will demonstrate only the measurement of SiO2 on silicon, but this type of
measurement has an extremely broad range of applications, including photoresists, hardcoats and
polysilicon, to name just a few.

Continue to Step 1...

Example A - Preparing the Film Stack


Step 1: Select the film stack
Select the film stack to be measured, in this case “SiO2 on Si”, from the Recipe: list box on the main
screen. If the stack to be measured does not exist, a new stack must be defined (see “Editing Film
Recipes”).

Step 2: Edit the film stack


To edit the stack, click the Edit Recipe button to open the dialog box. Check to see that the film sequence
matches that of the actual sample. If not, different films can be selected. Also enter your best guess for
the thickness of the film to be measured, and check that only the SiO2 layer thickness is being measured.

Example Edit Recipe>Film Stack window for measuring SiO2 on Si

Continue to Step 3
61

Example A - Preparing the Map and Baseline


Step 3: Edit the mapping routine
Edit the Edit Recipe>Wafer Map tab for the desired set of measurement spots on the wafer.

Example Edit Recipe>Wafer Map Tab for specifying mapping parameters.

Step 4: Take a Baseline Measurement


Take a baseline measurement by clicking on the Baseline button. A dialog box will appear to step you
through the process. In the Acquire Reference dialog box, make certain to select the reference material
that will be used (“Si” in this case). Then put the reference sample on the measurement stage and click
OK. The dark measurement will automatically be made after this reference measurement.

Continue to Step 5

Example A - Making the Measurements and Map


Step 5: Make the Measurement at a Single Spot ( only necessary on the first of a set of wafers)
62

Place your sample on the stage. After choosing an appropriate spot on the wafer using the Go To...
button, return to the Measure Tab and make the thickness measurement by clicking on the Measure
button. For this example you can simulate this measurement by moving to the included thickness
standard using the Go To command.

FILMapper will then acquire the reflectance spectrum and calculate the corresponding thickness. If the
measurement was successful, the minima and the maxima of the calculated reflectance (the red line on
the graph) will coincide in wavelength with the minima and the maxima of the measured reflectance (the
blue line on the graph.) In most cases they will not overlap, but will be separated in amplitude.

Measured and calculated reflectance spectra when measuring the thickness of SiO2 on silicon.

If the calculated (red) and measured (blue) minima and maxima do not coincide, then the measurement
was not successful. There are several possible causes of an unsuccessful measurement. The most
common for this type of measurement are described in the Troubleshootingsection.

Step 6: Map the Wafer


Having received an encouraging answer for the thickness at the specified spot, run the wafer mapping
routine by clicking on the Map tab, and pressing Start. The program will begin to display the thicknesses
on the wafer as the measurements are being made. After the mapping is complete, a thickness color map
will be generated and statistical analysis for the current set of measurements will be presented.
63

Color wafer map of SiO2 on silicon.

To switch the color map display between multicolor and a single-color shading, go to the
Setup>Options>Wafer Map Rendering… menu item.
64

3.3 Example B - Mapping Thickness and Optical Constants


Measuring the Thickness of Si3N4 on Silicon

For this example we will demonstrate mapping thickness and optical constants (n and k) of Si3N4 on
silicon.

Continue to Step 1...

Example B - Preparing the Film Stack


Step 1: Select the film structure
Select the film stack to be measured, in this case “Si3N4 on Si”, from the Recipe: list box on the main
screen. If the structure to be measured does not exist, a new structure must be defined (see Editing Film
Recipes).

Step 2: Edit the film structure


To edit the stack, click the Edit Recipe button to open the dialog box. Check to see that the film sequence
matches that of the actual sample. If not, different films can be selected. Also enter your best guess for
the thickness of the film to be measured, and check that the Si3N4 layer thickness, n, and k are being
measured. Right-click on the Meas. button under composition and confirm that the Si3N4 index model is
selected.

Example Edit Recipe > Film Stack window for measuring thickness, n, and k of Si3N4 on Si.

Continue to Step 3...


65

Example B - Preparing the Map and Baseline


Step 3: Edit the mapping routine
Edit the Edit Recipe > Wafer Map tab for the desired set of measurement spots on the wafer.

Example Edit Recipe > Wafer Map Tab for specifying mapping parameters.

Step 4: Take a Baseline Measurement


Take a baseline measurement by first clicking on the Baseline button. A dialog box will appear to step
you through the process. In the Acquire Reference dialog box, make certain to select the reference
material that will be used (“Si” in this case). Then put the reflectance standard on the measurement stage
and click OK. The dark measurement will automatically be made after this reference measurement. A full
wafer reference measurement will be made (i.e. each point of the pattern specified in the active recipe will
be measured).

Continue to Step 5...


66

Example B - Making the Measurement and Map


Step 5: Make the Measurement at a Single Spot ( only necessary on the first of a set of wafers )
Place your sample on the stage. After choosing an appropriate spot on the wafer using the Go To…
button, return to the Measure Tab and make the thickness measurement by clicking on the Measure
button. FILMapper will then acquire the reflectance spectrum and calculate the corresponding thickness
and optical constants. If the measurement was successful, the minima and the maxima of the calculated
reflectance (the red line on the graph) will coincide in wavelength with the minima and the maxima of the
measured reflectance (the blue line on the graph.)

Measured and calculated reflectance spectra when measuring the thickness, n, and k of Si3N4 on silicon.

If the calculated (red) and measured (blue) spectra do not fall on top of each other, the resulting
thickness, n, and k values are incorrect. If the mismatch between measured data and calculation is only
slight, the results reported will only be off by a small amount. If the measured and calculated spectra
match, but the results are implausible, there may be a problem with the sample positioning and light
collection. Causes and corrective actions to improve the measurement are listed in Case #5 and Case #6
in the Troubleshooting section.
67

Step 6: Map the Wafer


Having received an encouraging answer at the specified spot, run the wafer mapping routine by clicking
on the Map button. The program will revert to the Wafer Map Tab and will begin to display the
thicknesses on the wafer as the measurements are being made. After the mapping is complete, a
thickness color map will be generated and statistical analysis for the current set of measurements will be
presented. To view other parameters on the color map, select the parameters (i.e. refractive index) from
the Display: drop-down box.

Map of the refractive index of Si3N4 on silicon.

3.4 Measurement Assumptions


The following assumptions must be valid if accurate measurements are to be made with the F50

1. Every film present in the structure is specified in the Edit Recipe dialog box. This includes every film
present in the sample including so-called adhesion films, oxide films (unless they are less than 20 Å thick),
and films on the bottom surface of the substrate if the substrate is transparent.

2. If the film is Nonuniform, it has been accounted for in the recipe.

3. The light source has been allowed to warm up for at least 5 minutes if measuring thickness of films
greater than 250nm, or 15 minutes if measuring thickness of films less than 250nm, refractive index, or
reflectance.
68

In addition, the following assumptions are made if optical constants and/or very thin films (<500 Å) are to
be measured:

4. If any grading is present (i.e. the refractive index and extinction coefficient are constant as a function of
depth and constant over the entire spot being measured), it has been accounted for in the recipe.

5. The sample is flat. (The vacuum chuck may help in this case when samples are warped.)

6. No changes to the measurement system (such as fibers being moved) or light source have occurred
since the acquisition of the most recent baseline.

7. No significant changes in room temperature (> 5 degrees F) have occurred since acquisition of the most
recent baseline.

If any of the above assumptions are not true, it may still be possible to make a measurement, but
accuracy may be degraded.

3.5 Hints for Improved Accuracy


This section contains various tips to help improve accuracy in your measurements.

Roughness.

Restricting the wavelength range of the analyzed reflection spectra.

Measuring thickness when the approximate thickness is not well known.

Measuring photosensitive films.

3.5.1 Roughness
Slight amounts of surface or interface roughness that may be present can decrease the GOF value of a
measurement. Entering a value or solving for roughness can partially account for this roughness so that
a better GOF may be achieved. Generally, roughness is only present when the sample surface looks hazy
at the measurement spot. The fact that haze can be seen means that there is scattered light. (A perfectly
smooth surface will scatter no light, and thus the measured spot will not be visible.) Usually roughness
less than 2.5 nm will not be visible, while roughness greater than about 25 nm will be extremely hazy.

FILMapper assumes a Gaussian distribution of the surface height irregularities about the mean and it
assumes that the roughness is small compared to the wavelength. FILMapper reports the rms roughness
value.

3.5.2 Restricting the wavelength range of the analyzed reflectance spectrum


69

Occasionally spectra from measured films are adversely affected by factors such as absorbing dyes,
birefringence, or nonuniformity – all of which are difficult to model properly. It is often still possible to
make accurate thickness measurements of these films by analyzing only unaffected portions of the
spectra. The portion of the spectrum that is used to calculate film properties is determined in the recipe
underneath the Analysis Options tab.

You can also adjust the wavelength analysis range in the main FILMapper window using the gray bar at
the bottom of the graph. Click and drag either end of the bar to a new position on the x-axis to adjust the
analysis range.

Example of a non-ideal film (spectrum with no oscillations at lower wavelengths) that requires reduced wavelength
range for accurate measurement.
70

Example of a reduced wavelength range for measuring thickness of non-ideal films.

3.5.3 Measuring thickness when the approximate thickness is not well known
Unless otherwise specified, FILMapper will determine a film’s thickness by finding the best answer within
about 1000 Å of the initial (user supplied) value. If the approximate thickness of the film is not known to
better than about 1000 Å, then the Grid method or the Fourier Transform method of determining
approximate thickness may be applied. See Editing Film Structures for more details.

Measuring photosensitive films


For layers such as unexposed photoresist that cannot be exposed to short-wavelength light, a filter may
be inserted in the slot on the light source.

3.6 Troubleshooting
For error messages or hardware problems encountered with your Filmetrics instrument, please use the
chart below to best diagnose your problem. For help with modeling, see Troubleshooting - Thickness
Modeling.
Question 1: Are you able to start FILMapper without an error message?
No: Continue to Question 2.
Yes: Continue to Question 1-1.
Question 1-1: What sort of problem are you seeing?
1: The lamp doesn't turn on or the fan isn't working properly. See the Non-Operating Box, Lamp, or Fan
Troubleshooting Guide.
71

2: I get an error message when I click on something. Continue to Question 1-1-2.


3: Measurement results are wrong or unstable, after they had been good. See the Measurement Results
are Incorrect or Unstable Troubleshooting Guide.
4: Measurement and/or baseline takes longer than it used to. See the Slow Operation Troubleshooting
Guide.
Question 1-1-2: If you're still seeing an error after you've power cycled and installed new software,
then select the description which most closely describes your error.
1: The error occurs during the baseline. See the Error Message During Baseline Troubleshooting Guide.
2: Some other error. See the Error Messages -Miscellaneous Troubleshooting Guide.
Question 2: Are you able to launch FILMapper but it shows an error?
Yes: Continue to Question 2-1.
No: Then you need to install the software that come with your new system, or you can request new
software. See the Software Reinstallation Guide.
Question 2-1: Does the error message start with "No Filmetrics instruments detected...."?
Yes: See the Non-Operating Box, Lamp, or Fan Guide.
No: Continue to Question 2-1-2.
Question 2-1-2: Does the instrument have a motorized stage?
Yes: See the Stage Motion Troubleshooting Guide.
No: See the Error Messages - Miscellaneous Troubleshooting Guide.

3.6.1 Power Cycling


Over the years we've found that about a third of support issues can be resolved by simply power cycling
the Filmetrics system and computer. Follow the simple steps below to power cycle your instrument.
Further assistance may be received by contacting us using the methods described in the Contact
Information section.

Step 1: Shut down FILMapper (it's OK in the rare case that you can't).

Step 2: Unplug all electrical connectors from the back of your Filmetrics box.

Step 3: Restart your computer, giving it time to load all drivers.

Step 4: Reconnect the electrical connections to your Filmetrics box. (Make sure that the power cord is
getting power, and that any switch near the power connector is turned on.)

Step 5: Restart FILMapper

3.6.2 Software Reinstallation Guide


72

Follow the steps below to reinstall FILMapper. Further assistance may be received by contacting us using
the methods described in the Contact Information section. Warning: Upgrading software versions may
result in slightly different (<1%) measurement results due to continual improvement of our solving
algorithms and material files.

Step 1: Shut down FILMapper (it's OK in the rare case that you can't).

Step 2: Unplug all electrical connectors from the back of your Filmetrics system.

Step 3: Are you installing this software on a computer which already has FILMapper installed?
Yes: Go to Step 4.
Yes: Jump to Step 6.

Step 4: Make a backup copy of your recipe and material files:


FILMapper versions 1 thru 4: Backup the directory C:\Program Files\FILMapper
FILMapper versions 5 and up:
On Windows XP: Backup the directory C:\Documents and Settings\All
Users\Application Data\Filmetrics
Note: The application Data folder may be hidden by default.
On Windows 7/8/Vista/10: Backup the directory C:\Program Data\Filmetrics\
Note: The Program Data folder may be hidden by default.

Step 5: Uninstall the current version of software:


On windows XP: Click Start > Control Panel > Add or Remove Programs > FILMapper > Uninstall
On Windows 7/Vista: Click the Start orb > Control Panel > Programs and Features > FILMapper >
Uninstall
On Windows 8: Control Panel > More settings > Programs and Features > FILMapper > Uninstall

Step 6: Run the software installer and follow installer instructions.


Note: you will need administrative privileges to install the software.

Step 7: Reconnect your Filmetrics system.


Note for Windows XP: The "New Hardware Found" wizard may appear if your instrument has a
USB connection. You must click "Next and complete the driver installation process. This dialog box
may appear multiple times depending on the system configuration.
Note for Windows 7/8/Vista: An Information balloon may appear over the taskbar while drivers
are being installed. Please wait until the balloon indicates the drivers have been installed before
starting FILMapper.

Step 8: Run the software to verify the installation was successful.


3.6.3 Non-Operating Box, Lamp, Or Fan
Follow the steps below to troubleshoot symptoms of a non-operating spectrometer, light source, or fan.
These are usually caused by having too much or not enough light. Further assistance may be received by
contacting us using the methods described in the Contact Information section.
73

Step 1: Does the green LED on the right side of the front panel illuminate?
Yes: Jump to Step 3.
No: Go to Step 2.

Step 2: Is the power cord fully inserted into the back of the unit and a powered wall outlet? If your unit
has a rear power switch, is it on?
Yes: Go to Step 3
No: Plug into a powered outlet or switch on the unit

Step 3: Does the LED light on the light source switch illuminate when switched on?
Yes: go to Step 4
No: Possible faulty switch or faulty indicator lamp, contact Filmetrics.

Step 4: Is the cooling fan spinning? Determine this by listening to the cooling fan which is located
directly below the light source. (You'll need to get close to hear the fans on systems built after 2010.) For
F50 systems the chassis cooling fan is louder than the light source cooling fan. You'll need to get close to
the light source to hear the light source cooling fan.
Yes: Go to Step 5.
No: The cooling fan needs replacement, contact Filmetrics. Note: a bad cooling fan can draw
enough power to prevent the light source and box from operating properly.

Step 5: Does the light source illuminate?


Yes: Go to Step 6
No: The lamp has burned out. Please replace the lamp following the instructions here. A spare lamp
is included with most systems and additional lamps may be purchased on our website
www.filmetrics.comNote: users can confirm a bad halogen lamp by removing it and checking it
for electrical continuity.

Step 6: The following steps are to troubleshoot a box that is not being detected by the FILMetrics
software. This could be a software driver or (rarely) a hardware problem. To see what hardware your
computer is detecting, look in the windows device manager. (instructions on how to access the Device
Manager are included at the end of this document.)

In the Device Manager, which device do you see?

"Filmetrics Measurement Instrument" or similar: In this case the system should be operation
correctly. If not, please contact Filmetrics.
"Unknown Device" or similar: The hardware appears to be operating properly, but the drivers for
the hardware are not installed. If you have already power cycled and installed the most current
Filmetrics software, please contact Filmetrics for further assistance.
Neither of the above: The hardware is not working properly. Go to Step 7

Step 7: Try a new USB cable and plug it into a different USB port. Does this fix the problem?
Yes: Either the USB cable or port was bad.
74

No: The USB controller inside the FILMetrics box may be bad. Please contact Filmetrics.

Accessing Device Manager in Windows 7:


1. Click on the Start Orb.
2. In the Star Search box type: device manager. Press enter.
3. Select Device manager from the list.
4. You should see a Filmetrics Measurement Instrument tab. Expand the tab and the appropriate
driver should be listed for the Filmetrics instrument.

Accessing Device Manager in Windows XP:


1. Click Start.
2. Click on Control Panel
3. In the Control Panel double-click the Systems icon.
4. In the Systems Properties window click on the Hardware tab.
5. In the Hardware tab click the Device Manager button.
6. You should see a Filmetrics Measurement Instrument tab. Expand the tab and the appropriate
driver should be listed for the Filmetrics instrument.

3.6.4 Error Message during Baseline


Follow the steps below to troubleshoot error messages encountered while taking a baseline. These are
usually caused by having too much or not enough light. Further assistance may be received by
contacting us using the methods described in the Contact Information section.

Step 1: Which error message are you seeing while taking a baseline?
Received light signal is too bright: If you are manually setting the integration time (see
Measurement Timing) then you need to reduce the integration time. Otherwise you can reduce the
light source intensity by using a flattening or neutral density filter. Optical filters can be purchased
on our website, www.filmetrics.com.
Baseline Failure. Reference and background spectra are almost the same: This error is often
caused by using the reference sample during the background step or vice versa, and is easily
corrected by taking retaking the baseline while providing the proper material for the proper step. If
this is not the case, go to Step 2.
Spectrometer peak intensity is x% of previous reference intensity: This error is often caused by
using the incorrect reference sample and is easily corrected. Jump to Step 5.

Step 2: Does the light source illuminate?


Yes: Go to Step 3.
No: Check the Non-Operating Box, Lamp, Or Fan Troubleshooting Guide.
75

Step 3: Check to see if there is a broken or misconnected fiber. With the light source on, confirm that
the illumination fiber is screwed into the light source securely, and that plenty of light is exiting the fiber
at the far end near where the sample is placed. The light can be seen by placing paper (e.g., business
card) near the sample location (do not look directly into the fiber if you are using a UV source). If plenty of
light is seen, next check the return fiber by removing it from the spectrometer input and connecting it to
the light source (removing the other fiber first). You should see light at the far end as before, but it may
be 3-4 times smaller and dimmer. Did you see light at the sample end using both fibers in the light
source?
Yes: The fiber appears to be good. Replace the fibers securely in their original positions (there will be
a white band on the light source fiber if the two ends are different) and go to Step 4.
No: The fiber optic may be broken. Replacements can be purchased on our website,
www.filmetrics.com

Step 4: Does your system have multiple spectrometers (i.e. EXR or UVX)
Yes: Check the Acquisition Settings tab under Edit Recipe to make sure that your fiber optic
configuration matches the enabled spectrometers. Do this by making sure that each enabled
spectrometer has a fiber attached to it (or disable a spectrometer that is not being used).
No: If you are still experience problems, please contact us using the Contact Information section.

Step 5: Was the correct reference selected from the drop-down list?
Yes: Go to Step 6.
No: Re-baseline using the correct reference.

Step 6: Has the light source lamp recently been changed?


Yes: This error is an expected response, no further action required
No: Go to Step 7.

Step 7: Has the optical configuration been altered (i.e. switching from standard spot size to small spot
optics or a contact probe)?
Yes: This error is an expected response, no further action required
No: If you are still experiencing problems, please contact us using the Contact Information section.

3.6.5 Measurement Results are Incorrect or Unstable.


Follow the steps below to troubleshoot when measurement results are incorrect or unstable after the
results had been good for some time. Additional help troubleshooting general measurement issues may
be found in the Troubleshooting: Thickness Modeling section. Further assistance may be received by
contacting us using the methods described in the Contact Information section.

Step 1: First confirm that you have selected the correct recipe for the sample that you are measuring
(i.e., the same recipe that previously was giving good measurements). Note that this troubleshooting
guide does not cover instances where recipe parameters have been changed.
76

Step 2: Confirm that the light source is turned on and that the fibers are securely tightened into the
light source and the spectrometer input Place a piece of paper at the sample measurement location and
confirm that you can see a light beam. Can the light beam be seen?
Yes: Jump to Step 4
No: Go to Step 3

Step 3: Is there light coming out of the light source? (If you are checking a UV light source, put on the
goggles that were supplied with the light source before checking.)
Yes: It appears the fiber may be broken. Replacements can be purchased on our website
www.filmetrics.com
No: Replace the lamp following the instructions here. A spare lamp is included with most systems
and additional lamps may be purchased on our website www.filmetrics.comNote: users can
confirm a halogen bad lamp by removing it and checking it for electrical continuity.

Step 4: Perform a new baseline, paying particular attention to make sure that you are using the proper
reference and that it is clean with the correct side up.

Step 5: Put a sample that is known to be good on the stage and perform a measurement. If the
measurement is still not correct, go to Step 6.

Step 6: Your lamp may be weak and needs to be replaced. The best way to tell is to replace it with the
instructions found here. A spare lamp is included with most systems and additional lamps may be
purchased on our website www.filmetrics.com.

Step 7: It may be that the stage optics have become unfocused. Please refer to the Focusing The Fiber
section.

If you are still experiencing problems with an unstable or incorrect measurment after the preceding
steps, please contact us using the methods described in the Contact Information section.

3.6.6 Slow Operation Troubleshooting Guide


Follow the simple steps below to troubleshoot slow system operation. Further assistance may be
received by contacting us using the methods described in the Contact Information section.

Step 1: When did you experience the slow operation?


During a baseline: Go to Step 2.
When I click Measure: Jump to Step 7.

Step 2: Slow baselines are generally caused by a low light level, which can have several causes. Does the
light source illuminate (be sure it is switched on, and that the shutter is open on UV systems)
Yes: Go to Step 3.
No: Check the Non-Operating Box, Light, or Fan Troubleshooting Guide.
77

Step 3: Check to see if there is a broken or misconnected fiber. With the light source on, confirm that
the illumination fiber is screwed into the light source securely, and that plenty of light is exiting the fiber
at the far end near where the sample is placed. The light can be seen by placing paper (e.g., business
card) near the sample location (do not look directly into the fiber if you are using a UV source). If plenty of
light is seen, next check the return fiber by removing it from the spectrometer input and connecting it to
the light source (removing the other fiber first). You should see light at the far end as before, but it may
be 3-4 times smaller and dimmer. Did you see light at the sample end using both fibers in the light
source?
Yes: The fiber appears to be good. Replace the fibers securely into their original positions on the
spectrometer box and light source (there will be a white band on the light source fiber if the two
ends are different) and go to Step 4.
No: The fiber optic may be broken. Replacements can be purchased on our website,
www.filmetrics.com

Step 4: Does your system have multiple spectrometers (i.e. EXR or UVX)
Yes: Check the Acquisition Settings tab under Edit Recipe to make sure that your fiber optic
configuration matches the enabled spectrometers. Do this by making sure that each enabled
spectrometer has a fiber attached to it (or disable a spectrometer that is not being used).
No: Go to Step 5.

Step 5: It may be that your lamp is old and needs to be replaced. The best way to tell is to replace it
with the instructions found here. A spare lamp is included with most systems and additional lamps may
be purchased on our website www.filmetrics.com.

Step 6: It may be that the stage optics have become unfocused. Please refer to the Focusing The Fiber
section. Otherwise, go to Step 7.

Step 7: Unless the slow operation during measurement is a new problem, please confirm that your
computer meets the minimum system requirements as listed in the system specifications. If it doesn't,
please upgrade your computer. Otherwise, go to Step 8.

Step 8: A measurement that takes a long time generally means that there is a large amount of
processing required to find a solution, which is usually caused by a non-optimal recipe setting. Please
first confirm that you have selected the correct recipe for the film stack you are measuring. Otherwise, go
to Step 9.

Step 9: Open the recipe and make sure that you are not solving for too many parameters. Solving for
one or two thicknesses or a thickness and index should only take a second or two, but in some
circumstances the solving time can be increased 5-10x for each additional parameter. Solving for
nonuniformity (or adding it to increase accuracy of other parameters) can be especially time consuming.
78

Step 10: If you are solving for more than one thick layer (i.e., >10 um), you can speed up the solving
process by reducing the thickness constraint range (which can be safely reduced even more by using an
accurate nominal thickness guess)or by switching from using the Grid solver to the FFT solver in the
recipe.

If you are still experiencing problems with a slow measurement after the preceding steps, please contact
us using the methods described in the Contact Information section.

Stage Motion Troubleshooting Guide


Follow the steps below to troubleshoot stage motion problems. This guide only applies to Filmetrics
systems that communicate via USB. Further assistance may be received by contacting us using the
methods described in the Contact Information section.

Step 1: Does the stage move at all when the software starts?
Yes: Jump to Step 7.
No: Go to Step 2.

Step 2: Disconnect the power from the system. Remove the top cover by removing the small screws on
the sides and lifting the cover up slightly and pulling forward. Are the connectors fully seated ino the
headers on the board? (See Figures 1, 2, and 3.)
Yes: Go to Step 3.
No: Insert the connector into the header.

Step 3: Are the motor controller and driver boards fully seated in the respective connector sockets?
(See Figures 1, 2, and 3.)
Yes: Go to Step 4.
No: Insert the board into the socket.
79

Figure 1

Figure 2
80

Figure 3

Step 4: Are there any signs of damage inside the enclosure(e.g. burn marks, physical damage, etc...)?
Yes: Report the damage to Filmetrics.
No: Go to Step 5.

Step 5: Turn off power to the system and note the amount of force required to rotate the rotary stage
(very little) and the linear stage. Now turn on power. Are both stages now more difficult to move?
Yes: Go to Step 6.

No: The motor driver board and/or the motor controller board probably failed, contact Filmetrics.
Step 6: Start the software. Are the linear motor and rotary motor moving?
Yes: Go to Step 7.

No: There could be a communication problem with the motor controller. This is most commonly
caused by wiring, connector, or grounding problems inside the unit. Contact Filmetrics.

Step 7: Is the light source switched on?


Yes: Go to Step 8
No: Switch the light source on.

Step 8: Does the lamp illuminate?


Yes: Go to Step 9.
No: Switch the light source on.

Step 9: Does the light come out of the end of the fiber (test using a piece of paper under the lens)?
Yes: Go to Step 10.
No: The fiber needs replacement, contact Filmetrics.
81

Step 10: Follow the instructions under the Focusing the Fiber section, then continue to Step 11.

Step 11: Perform a baseline and move the measurement spot to (0, 0). Does the light spot land on the
center of the chuck?
Yes: Jump to Step 13.
No: Go to Step 12.

Step 12:Is there an offset in X-Axis (side-to-side direction) between the light spot and center of the
chuck?
Yes: Adjust by loosing the screw on the KM-F50 and gently moving the arm right or left. (See Figure
4-2).
No: Go to Step 13.

Step 13: Are there any objects in the base of the actuator that would interfere with the motion?
Yes: Remove the object(s) from the actuator.
No: Go to Step 14.

Step 14: Check if the stage motion follows the sequences below:
1. Small rotation first CCW direction and then CW direction.
2. Small linear move toward the back (to check the limit switch in the back). You should see the optical
spot pass the chuck center.
3. Large linear move toward the front of the tool (to check the limit switch in the front).
4. Large linear move toward the back again so that the optical spot moves to the chuck center.
5. Small rotation first CCW then CW to check rotational limit switch.
82

Is there something wrong with the sequence of stage motion?


Yes: Contact Filmetrics. Please explain the motion sequence. A short video is preferable.
No: This guide relates to issues of stage motion and apparently does not apply to the user's
situation. Please contact Filmetrics for additional support.

3.6.7 Error Messages - Miscellaneous Troubleshooting Guide


This guide provides extended information on error messages a user may encounter on rare occasion
while using our software. Further assistance may be received by contacting us using the methods
described in the Contact Information section.
Error during spectrum analysis/ unable to analyze spectrum.
This error is generally caused by a problem with the recipe constraints. Try adjusting the solver
wavelength range, thickness constraint range, or starting thickness value. Also make certain that the
starting thickness values have been entered using the correct units of measure specified for the recipe.
Spectrum saturated.
This error indicates that the sample measured is more reflective than the spectrometer was expecting.
Reflectance data may not be accurate as a result. Take a new baseline to fix this problem.
83

3.6.8 Troubleshooting: Measurement Results


In all cases it has been assumed that the user has read the Measurement Assumptions section, and that
each criterion has been met.

Case #1: No oscillations, or portions of oscillations, are present in the measured reflectance
spectrum.

Case #2: The measured reflectance spectrum has periodic oscillations across the entire screen, but its
minima and maxima do not match up with the calculated reflectance.

Case #3: Two or more different, but nearly the same, thickness readings are obtainable from the
same measurement location.

Case #4: Poor matches between the measured and calculated reflectance spectra when measuring
thickness and optical constants.

Case #5: Several different answers, or one unreasonable answer, are found when measuring
thickness and optical constants, even though a good match is found between the measured and
calculated reflectance spectra.

Case 1: No oscillations, or portions of oscillations, are present in the measured


reflectance spectrum.
There can be several possible causes in this case;

1. The film may just be very thin (<200 Å), thus presenting no discernible oscillations or only one
identifiable minima or maxima. The FFT solver will not be able to accurately analyze films without at least
one discernible full oscillation, in general meaning a film less than 0.2 microns thick. Use one of the
Spectrum Matching solver methods (Robust, Exact) to analyze very thin films.

2. If the film is very rough, non-uniform in thickness over the measurement area, or has a graded
interface it may not support coherent optical interference and thus it may not be able to be measured.
Try moving to a different measurement spot for a better signal.

3. An improper baseline measurement was taken, for example a thickness standard is presented as a
reflectance standard. Re-baseline the system while taking care to select the proper reflectance standard
and reference file.
84

Case 2: The measured reflectance spectrum has periodic oscillations across the
entire screen, but its minima and maxima do not match up with the calculated
reflectance.
The most common cause is that the initial thickness guess was considerably different than the actual film
thickness, and due to the constraints on possible thicknesses, FILMapper was unable to find the correct
answer.

To better understand this, it helps to know that the number of oscillations on the screen is proportional
to the film thickness. For example, if the measured spectrum has roughly twice the number of the
oscillations that the calculated spectrum has, then the measured film is roughly twice the thickness of
the calculated thickness. Using this information, the initial thickness guess and the thickness constraints
can be set more appropriately in the Edit Recipe dialog box. Another possible cause is found in Case #3
(incorrect dispersion).

Case 3: Two or more different, but nearly the same, thickness readings are
obtainable from the same measurement location.
When this occurs usually the measured and calculated spectra match somewhat, but not very well
across the entire spectra (i.e., the measured and calculated spectra match exactly only over a small
wavelength range and then gradually walk off one another outside this wavelength range). When
thickness is the only value being measured, this is normally caused by the refractive index of the
measured layer not matching that used by FILMapper, especially when the film is greater than one
micron thick. Unless more accurate index values can be obtained, the best way to solve this problem is to
restrict the wavelength range used in the analysis.

Case 4: Poor matches between the measured and calculated reflectance spectra
when measuring thickness and optical constants.
There can be many causes of this problem, including those listed in Case #1 and Case #2 above. Most
commonly when a poor fit between the spectra occurs, it is because:

1) The components of the film structure are not all included in the Edit Recipe > Film Stack dialog
box. Adjust the recipe accordingly and reanalyze the spectrum.

2) Very inaccurate initial guesses for the film thickness(es) have been listed. Try a new nominal
starting guess, or expand the thickness constraint range.

3) The optical constants listed in the Edit Recipe > Film Stack dialog box are far from the actual
optical constants in the material. Try selecting a different but similar material file if one is present,
for example switching from Acrylic to Acrylic - 2.
85

4) The film being measured has properties that are not taken into account by FILMapper. Examples
of these properties are graded interfaces and non-uniform films. You can enable solving for these
conditions in the recipe.
Note: Enabling Nonuniformity solving will increase solving time.

Case 5: Several different answers, or one unreasonable answer, are found when
measuring thickness and optical constants, even though a good match is found
between the measured and calculated reflectance spectra.
This normally occurs when a large number of properties are being measured on a very thin film. In
general, the thinner a film is the less unique information that can be obtained from it. To understand
this, see Theory of Operation. To solve the problem, you can either:

A. Decrease the number of variables solved for.


B. Increase the amount of data provided to the solver (analyzing reflectance and transmittance at the
same time, or using the multi-spectral solver).
C. Enable multiple Solver Cycles under the Edit Recipe > Analysis Options > Advanced dialog.
86

4. Understanding and Evaluating


Measurement Results
This section covers information on the Display of Measured Spectra and a more in depth look at the
Goodness Of Fit value.

4.1 Display of Measured Data


Once film stack and measurement information have been entered and a baseline has been taken,
measurements may be made by clicking on the Measure button. After measurement, the measured and
calculated reflectance spectra are displayed on the graph, and the thicknesses of the films are listed in
the results box. If any of the thickness values were measured, they are displayed in bold numbers.

The quality and accuracy of the result is determined by how well the measured spectrum matches with
the calculated spectrum. In general, thickness information is determined by the number of oscillations,
and index information is determined by the amplitude of the oscillations. In the case of the Robust
(adaptive; thickness only) solver and Exact Spectrum Matching solver, a good result is one where the
minima and maxima of the measured and calculated spectrum align. For the FFT (thickness only) solver,
this is when the measured intensity peaks overlap. See the Goodness of Fit and Troubleshooting -
Thickness Modeling sections for more information.

4.2 Goodness of Fit


The accuracy of a calculation fit, and thus the reliability of the measurement, can be judged by the match
between the measured and calculated spectra, which is quantified by the GOF value. GOF is a number
between 0 and 1.

A perfect match between measured and theoretical spectra will result in a GOF of 1. To ensure accurate
results the user may set a minimum acceptable GOF value by entering a number between 0 and 1 into
GOF Error on the Alarms Tab in the Edit Recipe dialog box. A warning message will be displayed after
each measurement where the GOF falls below the user-specified GOF Error. If the GOF is less than 1 there
are several possible causes:

a) Nonuniformity – Any variation of layer thickness, or presence of roughness, within the


measurement spot will result in a reduction in reflectance. In severe cases the interference peaks
may disappear entirely.

b) Incorrect Structure Definition – If the refractive index of one or more layers in the structure is
different from what is described in the recipe, then there will be some mismatch between the blue
curve and the red curve.
87

c) Graded Interfaces – The amplitude of the peaks in the spectrum depends on both the size of the
change in refractive index at each interface in the layer structure and the sharpness of the interface.
For example, in many hardcoat samples there is some degree of layer intermixing at the interface,
leading to a weaker than expected reflectance at that interface. In severe cases the peaks may
disappear entirely.

4.3 Fast Fourier Transform Mode (FFT mode)


The FFT mode tends to be more robust when measuring very thick films or thick multi-layer stacks,
where the total thickness is greater than 5 microns.

To activate FFT mode, select the select FFT (thickness only) button located on the Analysis Options >
Analysis Method tab in the Edit Recipe box.

The Measure Tab shows a split screen with the measured spectrum on the top graph and the FFT spectrum on the
bottom graph.

In FFT mode, instead of matching the measured reflectance spectrum with a calculated reflectance
spectrum, FILMapper identifies the peaks in the FFT Spectrum and uses them to compute the layer
thicknesses. The number of possible FFT peaks is n*(n+1)/2 where n is the number of layers. Thus, for a
two layer structure, we expect to see three peaks in the FFT spectrum.
88

The image above shows the screen just after measurement of a two layer stack using FFT mode. The
upper graph shows a blue curve representing the reflectance spectrum of the sample. The lower graph
shows a blue and red FFT spectrum. The blue FFT spectrum is computed from the measured reflectance.
The red FFT spectrum is computed from the theoretical reflectance spectrum of a layer stack with the
measured layer thicknesses. The small side lobes visible on either side of the two tall peaks are artifacts of
the FFT process and can generally be ignored. The only time the side lobes will cause a problem is if a
weak peak from a multi-layer sample is very close to a much stronger peak. If this case occurs FILMapper
may lock onto one of the side lobes by mistake and it may not be possible to measure the layer thickness
associated with the weak peak. Reducing the Constraint and/or increasing the guess for the thickness for
the layer with the weak peak may be helpful in getting FILMapper to lock onto the weak peak. If the peak
is too weak to reliably measure it is best to change the layer structure definition so that the layer
corresponding to the weak peak is eliminated.

Along with the measured layer thicknesses, the Results text box displays important information about
the measurement. This important information includes the Goodness Of Fit (GOF) and a description of
which peaks were used to determine the measured layer thicknesses. In the figure above layer 1
thickness is determined based on the position of the peak located at 4.780 microns and layer 2 thickness
is determined using the peak corresponding to layers 1+2 (7.011 microns). Notice that the thickness of
layer 2 is not exactly equal to 7.011-4.780 = 2.231 microns. FILMapper computes a thickness for layer 2 of
2.113 microns because it precisely accounts for the fact that layer 2 has a different refractive index than
layer 1.

Discussion of GOF:
A perfect match between measured and theoretical FFT spectra will result in a GOF of 1. To ensure
accurate results the user may set a minimum acceptable GOF value by entering a number between 0 and
1 into GOF Error on the Alarms settings in Edit Recipe. A warning message will be displayed after each
measurement where the GOF falls below the user-specified GOF Error. If the GOF is less than 1 there are
several possible causes as follows:

a) Nonuniformity – Any variation of layer thickness within the measurement spot will result in a
reduction in the FFT peak heights. In order to permit easy visual interpretation of the FFT results
FILMapper always scales the amplitude of the red curve so that it matches the blue curve. However,
if the scaling factor is not 1.0, FILMapper reports a reduced GOF even if the red curve appears to
exactly match the blue curve on the screen.

b) Incorrect Structure Definition – If the refractive index of one or more layers in the structure is
different from what is described in the layer structure, then the FFT peak amplitudes in the blue
curve will not match the peak heights in the red curve. The software will attempt to scale the red
curve, but if there is more than one FFT peak present, the scaling will only result in one correct peak
height. If you wish to view the impact of changing the refractive index of one or more layers, simply
change the refractive index in the Edit Recipe dialog box and click Analyze. If there is only a single
layer you will notice that the GOF will change, but the red curve should not change much. If there
are multiple layers in the structure you will notice that the relative peak heights in the red curve will
change when you click Analyze.
89

c) Graded Interfaces – The amplitude of the peaks in the FFT spectrum depends on both the
difference in refractive index at each interface in the layer structure and the sharpness of the
interface. In many common samples you will find that there is some degree of layer intermixing at
the interface, leading to a weaker than expected reflectance at that interface. The FFT peak(s)
associated with the intermixed interface will suffer a reduced amplitude and in severe cases the
peaks may disappear entirely.
90

5. Advanced Features
This section describes several advanced features available within FILMapper. This includes the creation of
new map files, editing those files within Windows Excel, and how to create and edit n and k files.

Editing Map Files Using Excel

Creating and Editing n and k Files

5.1 Creating New Map Patterns


The Edit Map Pattern tool is best used for simpler maps on blanket wafers. For more complex maps, see
the Recipe Tab.To create a new wafer map pattern, go to the Wafer Map Tab and select Edit > Map
Pattern… Once selected, a new window appears which allows parameters to be adjusted to create a
custom wafer map.
91

1. Select the shape of the wafer to be either Round or Square.

2. Select how the measurement points are distributed on the sample. The alignment can be Radial
(Polar), Rectangular, or Linear.

3. Control the measurement point density. The # of Spots from Center to Outer Edge specifies how
many points are placed in a line between center and edge. The Central Exclusion specifies how much of
the center (if any) should be excluded from measurement.

4. Select how many spots are in each quarter section of the ring (when the Radial pattern type is
selected). When Manual Spots per Quadrant is not selected, Ring 1 is automatically set to 1, and Each
additional ring is automatically set to 2.
92

5. Select whether the measurement points should span the Center to Edge, or the Edge to Edge (only
available when the Linear pattern type is selected).

6. Use Redraw to refresh the wafer map based on the current settings to make sure the map is correct.

7. Save the wafer map to a file, for subsequent use in a Recipe.

The user can also open an Existing Pattern for editing, or Import one that has been created using Excel.

5.2 Editing Map Files Using Excel


Map files can be edited further using Microsoft Excel in order to create more complex patterns. The *.pat
file created by FILMapper can be imported into Excel for editing and saved as a comma-delimited file. The
newly edited file can then be opened using FILMapper to create more intricate map patterns. The
example below shows how to create an “X” pattern starting with the default pattern.

Example: Creating an “X” map pattern starting with the default map pattern
Step 1: Create a new map file
In the map window, go to Edit > Map Pattern… Using a Round wafer type and a Radial pattern
type, select 3 for # Spots from center to Outer Edge. Select Manual Spots per Quadrant and use 2
for Ring 1 and Each additional ring.

Save this default map pattern as Custom.


Step 2: Import the map pattern into Excel
Using Excel, open the file Custom.pat. This file can be found in C:\Program
Files\FILMapper\Patterns\Custom\. (Note: If the file does not appear, in the Open dialog box,
choose All Files (*.*) under File Type.)

You will be prompted to import this file; when prompted select Delimited and click Next. When
prompted, only select Comma for the Delimiters.
Step 3: Edit map pattern in Excel
Starting in the fourth row, the values are stored as x-y coordinate values, as a fraction of the radius
of the wafer. When generating new maps, values can be entered as either a fraction of the radius of
the wafer or a discrete number as long as all values are to the same scale. To create the “X” pattern,
delete the highlighted rows shown in Figure 4.1, so that there are no empty rows between values.
Also delete the first two rows by selecting rows 1 and 2 and selecting Delete from the Edit menu.
93

Delete the highlighted cells to leave the desired coordinates.

Step 4: Save map pattern


After the modifications have been made, select File>Save. Check to make sure that the File Name
box is “CustomEdit.pat” (note that quotation marks must be used to enclose the filename in Excel
to force the extension to .pat) and that the File Type is CSV (Comma delimited) (*.csv). Then click
Save.
Step 5: Import the Map Pattern
In FILMapper, click on the Edit menu and select Map Pattern.... Enable the radio button for File-
Imported Pattern, and then switch to the Imported Pattern tab and click Open.... The following
dialog will open.
94

Increase the Options > Line to skip value until the first value visible in the list is the first coordinate
in the series. The Wafer Diameter/Width and Height must also be set here according to the values
you used for the coordinate scale you used. If you used fractional values, set the Wafer
Diameter/Width, and Height for rectangular samples, to 2 (-1 to 1). If you used whole values, simply
enter the dimensions of your sample. Click OK when finished.
Step 6: Save the Pattern File
The new pattern file should now be displayed in the Edit Map Pattern Window. Confirm it matches
the expected pattern, and then save the new pattern using the Save As button.

Note: If the wafer map does not show up as described, open the file C:\Program
Files\FILMapper\Patterns\custom\Custom.pat using a text editor, such as Microsoft Notepad.
Check to see that the first row does not contain a comma. If it does, delete the comma and save the
file.
95

Figure: “X” pattern created using Excel.

Step 7: Load map pattern in FILMapper


In FILMapper, click the Edit... button next to the Recipe pull-down menu if you are in the Wafer
Map Tab, or Edit Recipe if you are in the Measure Tab. Click the Wafer Map tab and select Custom
for the Coordinate System. Under Custom Name, all the names of custom map files will be listed.
Here, select Custom Edit, and then click OK. In the Wafer Map Tab, you should now see the “X”
pattern you created. FILMapper is capable of automatically resizing the map pattern after it has
originally been created, so there is no need to create multiple versions of the same file. Simply
adjust the wafer size underneath the Wafer Map tab.
96

5.3 Creating and Editing n and k Files


Creating new n and k files
New n and k files can be created by going to Edit > Material Library… Clicking the New button will allow
the user to define a new material file. Once clicked, while the Default Model is selected, the user can
manually enter wavelength versus n or wavelength versus k values. It is also possible to copy and paste
values into the columns if the data is available.

The user can also select Custom Model. While this is selected, clicking on the Model… button allows the
user to create n and k files using predefined mathematical models.

Once completed, clicking Save As… will save the new file as a custom material for later use.

Creating n and k files from a calculated spectrum


Files for n and k can be created directly from a calculated spectrum, where n and k are measured. Once a
spectrum is analyzed, go to File>Save Measured n and k… This will save your n and k files as a custom
material which can be loaded into the user recipe.

Editing n and k files


Existing material files can be edited by going to Edit > Material Library… There, the user can load a
material file by clicking Open. Values can then be changed manually. Clicking Save will save over the
original file for later use. Use Save As to save the edited file under a new name.

Converting Microsoft Excel files into FILMapper n and k files


For wavelength versus n or wavelength versus k data saved in Excel (*.xls) format, the data can be
directly saved as material files that can be read by FILMapper.

For .nnn and .kkk files.


For both n and k files, the data should follow the format shown below, where the wavelength values, in
units of nanometers, are in the first column, and the n or k values are in the second. Note that the
version number (cell B1) refers to version of the file. For this cell, you can use 1. The material number (cell
B2) refers to what material category the file corresponds to. The material categories (and their
corresponding numbers) are: Metal (1), Semiconductor (2), Dielectric (3), Other (4), and Photoresist (6).
By putting the correct value for the material number, the file will automatically be sorted into the correct
category when selecting the material in the Edit Recipe window.

To save the file created by Microsoft Excel, go to File>Save As… For Save as Type: choose CSV (Comma
delimited) (*.csv). For n files, save the file as “FILENAME.nnn”, and for k files, save the file as
“FILENAME.kkk” (FILENAME represents the name you wish to call the file; note that quotation marks
must be used to enclose the filename in Excel to force the extension to .nnn or .kkk). The file can then be
saved to the desktop, and Imported using the File > Import > Material File option
97

For .fitnk files.


The data should follow the format of shown below, where the wavelength values, in units of
nanometers, are in the first column, index of refraction (n) in the second, and extinction coefficient (k) if
present, in the third.

The first few columns of the file should be identical to the figure below the only exception being cell B3
which should contain a number describing the material category. The material categories (and their
corresponding numbers) are: Metal (1), Semiconductor (2), Dielectric (3), Other (4), and Photoresist (6).

To save the file created by Microsoft Excel, go to File > Save As… For Save as Type: choose CSV (Comma
delimited) (*.csv). Save the file as “FILENAME.fitnk” (FILENAME represents the name you wish to call the
file; note that quotation marks must be used to enclose the filename in Excel to force the extension to
.fitnk). The file can then be saved to the desktop, and Imported using the File > Import > Material File
option
98

6. Theory of Operation
This section describes how the instruments work and includes the theory the measurements are based
on, specifics about the hardware, and more detail about the baseline measurement.

Measurement Theory

Thickness Measurement Details

Hardware Operation

The Baseline Measurement

6.1 Measurement Theory


Our instruments measure thin-film characteristics by either reflecting light from, or transmitting light
through the sample, and then analyzing this light over a range of wavelengths. Because of its wave-like
properties, light reflected from the top and bottom interfaces of a thin film can be in-phase so that
reflections add, or out-of-phase so that reflections subtract. Whether the reflections are in- or out-of-
phase (or somewhere in between) depends on the wavelength of the light, as well as the thickness and
properties of the film (e.g., reflections are in-phase when λ = (2*n*d)/i, where λ is the wavelength, n is the
refractive index, d is the film thickness, and i is an integer). The result is characteristic intensity oscillations
in the reflectance spectrum (see Figure below). In general, the thicker the film, the more oscillations there
are in a given wavelength range.

Example of reflectance spectrum with oscillations.


99

The amplitude of the oscillations is determined by the refractive index and extinction coefficient of the
films and substrate. Therefore, by analyzing the period and amplitude of these oscillations, our
instruments can determine thickness of multiple thin films.

6.2 Thickness Measurement Details


Optical thin-film thickness measurements require the successful completion of two tasks: acquisition and
then analysis of an accurate reflectance spectrum. To determine film thickness, FILMapper calculates a
reflectance spectrum that matches as closely as possible the measured spectrum. FILMapper begins with
an initial guess for what the reflectance spectrum should look like theoretically, based on the user’s input
of a film structure for the sample. Then FILMapper varies the parameters it is solving for until the
calculated reflectance spectrum matches the measured data. Mathematically, this procedure is
complicated by the fact that as the thickness of the films in the calculation is varied there can be many
near matches. Therefore, an approach that simply homes in on a solution by finding successively better
approximations will not work unless the starting guess for optical thickness is within approximately 1000
Å if the actual thickness.

FILMapper avoids homing in on a false solution by searching the entire acceptable thickness range to
determine the thickness that gives the best possible match between the measured and calculated
spectra. The thickness range searched is determined by the initial guess for thickness together with the
thickness constraint. Since the time to find a solution is proportional to the range of thicknesses being
searched it is beneficial to provide an initial guess close to the thickness of the films to be measured.

6.3 F50 Hardware Operation


The F50 performs two distinct functions: data acquisition and data analysis. Data analysis specifics are
discussed in the Software Overview section. In this section we describe how the F50 acquires accurate
spectral reflectance data.

Light is supplied by a tungsten-halogen bulb that generates light from approximately 375 nm to 3000 nm.
This light is delivered to and collected from the sample through a fiber-optic cable bundle and a lens. The
intensity of the reflected light is measured at 512 different wavelengths with a spectrometer. The F50
spectrometer uses a diffraction grating to disperse the light and a linear photodiode array to measure
the light at the different wavelengths. The photodiode array operates by integrating the current
generated by light falling on each of the 512 pixels. After a user-selectable integration time, the
accumulated charge in each photodiode is read by the computer. Because a longer integration time
results in a larger charge, it is the integration time that determines the sensitivity of the spectrometer.
Adjustment of the integration time is used to obtain the proper signal level. Too short an integration
time results in a weak, noisy signal, while too long of an integration time results in a saturated signal.
100

6.4 The Baseline Measurement


The baseline measurement allows the FILMapper software to take into account the response inherent to
the reflectance measurement hardware. It does this by measuring a reflectance standard and by taking a
“dark” reading. In any optical system there are many components whose characteristics vary with
wavelength (e.g., the output of the light source and the sensitivity of the spectrometer). However, when
reflectance measurements are made, only variations in reflectance vs. wavelength due to the sample
under test are of interest. Therefore, FILMapper must perform a calibration to determine the spectral
response of the system. This is done by making a measurement of a reflectance standard that has known
reflectance characteristics. Note that it is not necessary for the reflectance standard to be the same as
the substrate upon which films to be measured reside. The only purpose served by the reflectance
standard is to permit calibration of the optical system. For example, it is possible to use a Si wafer as the
reflectance standard and then measure films on GaAs, InP, glass, plastic, etc.

After the reference measurement is made a dark reading is taken. A non-zero dark level is due to current
leakage inherent to photodiodes, which causes each photodiode in the array to slowly charge up even
when no light enters the spectrometer. Thus, in order to make an accurate measurement of the light
entering the spectrometer, it is necessary to subtract this “dark” current contribution. This is the
purpose of the background reading, which measures the magnitude of the dark current for a given
integration time. When a “dark” measurement is made, a spectrum is measured that represents the
signal generated by the spectrometer when a sample of zero reflectance is measured. To simulate a
sample with zero reflectance during a “dark” measurement, a specularly reflecting sample can be held at
an angle with the light source turned on, or in the case of the UV light source, the shutter may simply be
closed.

Due to drift in the light source and temperature of the spectrometer electronics, it is a good idea to take
a baseline periodically.
101

How to Contact Us
We welcome suggestions from our users on ways to improve our software and hardware. Please send us
any suggestions you may have for improvements in the help file or new features you would like to see in
the software.

We may be reached by phone at +1-858-573-9300, by fax at +1-858-573-9400, by the Contact Us Now form
on our website, or by e-mail at support@filmetrics.com.
102

7. Appendices
This section contains information on various topics as listed below:

Performance Specifications

How to Replace the Light Bulb

Application Note: Silicon Nitride

Automation and Data

Software License Agreement

7.1 Performance Specifications


F50-UV F50-UVX F50 F50-EXR F50-NIR F50-XT F50-s1310
190-1100 190-1700 380-1050 380-1700 950-1700 1440- 1280-1340
Wavelength Range:
nm nm nm nm nm 1690 nm nm
Thickness Measurement 5 nm-40 5 nm-250 20 nm-70 20 nm- 100 nm- 0.2 µm- 7 µm-2
Range*: µm µm µm 250 µm 250 µm 450 µm mm
Minimum Thickness to Meas-
50 nm 100 nm 500 nm - -
ure n and k*:
0.4% or 0.4% or0.4% or
Accuracy*: The greater of 0.2% or 1 nm 0.2% or 2 nm
3 nm 4 nm 50 nm
Precision: 0.02 nm 1 0.1 nm 1 1 nm 1 5 nm 2
Stability: 0.05 nm 3 0.12 nm 3 1 nm 3 5 nm 4
Spot Size: Standard 1.5mm, Optional down to 20 µm 600 µm 10 µm
D2: 2000 Hour, SLED: >10
Light Source MTBF: Halogen: 1200 Hour
Halogen: 1200 Hour year

Power Requirements:
100-240 VAC, 50-60 Hz, 100 Watts
Dimensions:
14W x 19D x 11H (in).
35.5W x 48.3D x 28H (cm).
Weight:
35 lbs. (16 kg).
103

Speed (typical, with vacuum chuck):


200 mm Chuck 300 mm Chuck
Sample Size: ≤ 200 mm diameter ≤ 300 mm diameter
5 points - 5 sec. 5 points - 8 sec.
Speed: 25 points - 14 sec. 25 points - 21 sec.
56 points - 29 sec. 56 points - 43 sec.

* Material dependent.
1 1σ of 100 measurements of 500 nm SiO -on-Si. Average of 1σ over 20 successive days.
2
2 1σ of 100 measurements of 100 µm SiO2-on-Si. Average of 1σ over 20 successive days.
3 2σ of daily average of 100 measurements of 500 nm SiO2-on-Si over 20 successive days.
4 2σ of daily average of 100 measurements of 100 µm SiO2-on-Si over 20 successive days.
Specifications subject to change without notice.
104

7.2 Application Note - Si3N4


Theoretical Underpinnings
The refractive index of a single layer film is related primarily to the depth of the minima found in the
measured reflectance. The reflectance at the interference fringe minima of a film deposited onto Si is zero
when the refractive index is near 1.97. The reflectance at the fringe minima for a film with a refractive
index of 2.00 is the same as that for a film with a refractive index of 1.94. Therefore, it can be difficult to
unambiguously determine the refractive index from a reflectance measurement. However, for most films
the user knows that the refractive index is either always greater than or always less than 1.97 so there is
no uncertainty. Silicon nitride is one of the few rare films whose refractive index spans this critical range.
Fortunately, there is a solution for silicon nitride that allows us to determine which of the two possible
refractive index values is correct. This is done by measuring both n and k for silicon nitride and by
realizing that silicon nitride with a refractive index larger than 1.97 has measurable absorption (non-zero
k) at wavelengths less than 420 nm. Thus, to get good results for n the widest possible wavelength range
should be used (especially going down to short wavelengths) and the user should simultaneously
measure both n and k.

Continue to Discussion of n and k Measurement.

Discussion of Si3N4 n and k Measurement


Silicon nitride is a dielectric material commonly used in semiconductor fabrication processes. The
refractive index of stoichiometric Silicon Nitride is 2.05 at 633 nm. However, in practice the refractive
index of deposited films can vary from 1.7 or less (films containing excess hydrogen or oxygen) to as high
as 2.5 or more (Si rich films). The measurement of n and k is complicated by the fact that this refractive
index range (1.7 to 2.5) spans a critical range for films deposited on Si substrates. In order to get an
unambiguous result for measurement of n, the structure description should be set by choosing “Si3N4
(Si Rich)” as the material for the silicon nitride layer. To confirm that the proper model is chosen, go to
the options tab and note that the model displayed is “Si3N4”. If the Si3N4 model is not displayed in the
nk Model list and Si3N4 is not in the list of models, then newer software is required. It is important that
both n and k be measured simultaneously (put a check mark for n and for k in the Edit Recipe>Film
Stack dialog box). When using the Si3N4 model the constraints for n and k should be set to large values
(at least 5). If the film is very thin (less than 50 nm), it may be necessary to set the material to “Si3N4” or
“Si3N4-thin”, instead of “Si3N4 (Si Rich)”, to get reproducible results, but this should only be used as a
last resort.

Continue to Step by Step Instructions for measuring Si3N4.

Step-by-step instructions for measuring silicon nitride on Si


1. Start FILMapper and click the Edit Recipe button.

2. Set the material for the Medium to “Air”.


105

3. Set the material for Layer 1 to “Si3N4 (Si Rich)”.

4. Enter a guess for the layer thickness of the silicon nitride into the thickness box for Layer 1.

5. Put check marks in the d, n, and k check boxes for Layer 1.

6. Set the constraint for d to 75%.

7. Set the constraint for n to 5 and the constraint for k to 5.

8. Set the material for the Substrate to “Si”.

9. Select Grid from thickness solver options pull down menu under Thickness.

10. Go to the Analysis Options tab.

11. Make sure there is no check mark for Compensate for: > Unmodelled Back-side reflections.

12. Under Advanced Analysis Options, set the number of Iterations to “600” and set GOF greater than
to “0.999”.

13. Under Data Selection select Fixed Range and enter “From: 200” and “To: 1100”.

14. Click Save As and give the recipe a name.

15. Follow the instructions in Example B for measuring thickness and optical constants.
106

Light Bulb Replacement


NOTE: These instructions apply to VIS, NIR, and EXR systems only. For UV and UVX systems, please
see the seperate users manual for the external light source.

* * Warning: * * Hazardous voltages are present within the unit. Never attempt
any maintenance without disconnecting the power cord.

Step by step:
1. Exit FILMapper program and turn off your computer.

2. Disconnect power cable from the F50 from the back of the unit.

3. The U-shaped cover is held down with eight #6-32 button-head cap screws (four on either side of the
lid). Unscrew them with a 5/64 hex wrench.

4. Gently lift and separate the cover and slide it out from below the stage.

* * Warning: * * Caution, avoid touching any interior components, other than


the lamp, lamp base, and housing.

5. Loosen lamp set screw (counter clockwise).

6. Insert new lamp fully into lamp housing. Do not touch the lamp glass.

7. Secure lamp with setscrew (clockwise). Do not over tighten.

8. Plug new lamp into the lamp power connector. Do not test lamp with lid removed.

9. Replace the lamp housing and screws. This is imperative, as the cover should NOT be left off during
use. Insert cord into wall supply and restore power to the unit.
107

10. The lamp should illuminate and the fan should turn when power is restored. The light switch on the
front of the F50 box must be turned on.
108

7.3 Software Automation


Measurements can be automated and additional data analysis can be performed by user-supplied
software. The mechanism by which this occurs is either by using the FIRemote class, which is part of
FILMapper.exe or by using the FIRemoteMapCOM dll (standard 32-bit version of FILMapper). Accessing
the FIRemote class directly using a .NET programming language such as C# offers the most flexibility and
is the recommended approach. Alternatively, the FIRemoteMapCOM dll can be referenced from
Microsoft Office programs and simple software procedures can be implemented there instead. The
FIRemoteMapCOM dll includes fewer methods than FIRemote. Documentation for FIRemoteMapCOM
dll is located at the end of this section.

FIRemote Class
FIRemote is exposed as a public assembly and is accessible using the Microsoft .NET programming
environment. The best way to learn how to use the FIRemote class is to look at the example program
and source code which are automatically installed as part of the FILMapper software. Assuming that the
FILMapper program is installed in the default location, the example software can be found in C:\Program
Files\Filmetrics\FILMapper\SourceCode\FIRemoteTest\ (look in c:\Program Files (x86) if 64-bit operating
system and using the 32-bit version of FILMapper). Additionally an executable, FIRemoteTest.exe, is
located in the FILMapper folder. All the available commands can be tested using FIRemoteTest.exe.

In order to set up a development environment for running and debugging code, the file system must be
set up so that the FILMapper.exe is located in the same folder as the client program that is being
developed. Since FILMapper expects to find its dependent files in the same directory as the executable,
this means that the entire contents of the FILMapper folder must be copied to the build output folder.
For example, if the software development environment output folder is located in
C:\SourceCode\TestSln\TestPrj\bin\Debug\, then all the files and subfolders from C:\Program
Files\Filmetrics\FILMapper\ must be copied to C:\SourceCode\TestSln\TestPrj\bin\Debug\.

Some of the methods listed in the following reference a SystemGuid. In the terminology used in this
document, a Measurement System is an object comprising one or more measurement channels, but
with operations that can be performed simultaneously on all the channels in the system. The
SystemGuid is used to distinguish between multiple, simultaneously-connected measurement systems.
Examples of measurement systems with multiple measurement channels include the F32.
Documentation for methods applying only to such measurement systems can be found in the Less
Commonly Used Methods section. In addition, some methods will accept either a SystemGuid or a
ChannelGuid. Such methods thus will execute an operation either on a single channel, or simultaneously
on all channels of a system.

Note that the FIMeasResults object which is returned by the Measure and AnalyzeSpectrum methods
has a large number of member functions and properties. Since the names are all self-explanatory, we
have not attempted to list all of the members here. The reader should use the Object Browser which is
built into Microsoft Visual Studio in order to discover the available properties and methods.
109

FILMapper 7 and 8 are based on the Microsoft .NET 4.0 Client Profile Framework. FILMapper 6 was based
on the .NET 2.0 Framework. Executable client programs and source code projects that were built for
FILMapper 6 will need to be recompiled, targeting the .NET 4 Client Profile Framework. The Visual Studio
development environment will display a warning message if you reference an assembly that is targeting a
framework different from that targeted by your development project. You must use Visual Studio 2010
or newer, because the .NET 4 Framework was released with Visual Studio 2010. Do not attempt to use
Visual Studio 2008 or older because it will not work. The FIRemoteTest source code is compatible with
Visual Studio 2010. The FIRemoteTest solution file can be opened with newer versions of Visual Studio,
which will automatically upgrade the solution and project.

32-bit vs 64-bit Client Software


To maintain backward compatibility, the 32-bit version of FILMapper is shipped by default. If your client
software must interact with software modules which are only available in 64-bit versions, then you must
use a 64-bit version of FILMapper instead. Contact Filmetrics for access to an installer for the 64-bit
version of FILMapper.
110

Reference for FIRemote Class


Methods, Property and Events:

New
AcquireSpectrum
ActivateChannelDisplayTab
AnalyzeSpectrum
AuthenticateRefBac
BaselineAcquireBackgroundAfterRef
BaselineAcquireReference
BaselineAcquireReferenceT
BaselineAcquireReferenceUsingOldSampleReflectance
BaselineAcquireSpectrumFromSample
BaselineCommit
BaselineSetRefMat
BaselineShowDialog
GUIVisible
HistoryDeleteAllResults
IntegrationCycles
IntegrationTime_ms
MaximumSamplingTime
MeasurementTimingMode
MeasChannelGuid
MeasChannelGuids
MeasChannelHWName
MeasChannelHWSerialNumber
MeasChannelName
Measure
NumberOfChannels
NumberOfSpectrometers
NumberOfSubSystems
OpticsConfiguration
OpenSpectrum
OpenSpectrumFromBuffer
OperatorID
RecipeInfo
SampleID
SaveSpectrum
SaveSpectrumToBuffer
SetAnalysisWavelengthRange
SetMaterial
SetN
SetRecipe
SetRoughness
SetThickness
SetThicknessRange
111

SpectrometerDiagnostics
SpectrometerType

Less-Commonly-Used Methods
The following methods are only rarely used. Methods which refer to a System are used with the F32 and
F37 thin film monitoring systems. Many methods accept either a measSystem or a measChannel guid.
However, some methods are relevant only to a single channel. If you supply a measSystem guid as the
argument for one of these methods, an exception will be thrown.

ActivateMonitorDisplayTab
BaselineHardwareAdjustInhibit
BaselineExistsAndIsAuthenticated
GeneralPurposeIOIsSupported
GeneralPurposeIOReadValue
GeneralPurposeIOSetValue
GetBaselineHardwareAdjustStatus
MaterialPath
MaterialPathCustom
MeasSystemGuid
MeasSystemGuids
MeasSystemHWName
MeasSystemName
NumberOfSystems
RecipePath
RecipePathCustom
SaveImage
SetAutoFocus
SetRecipeModeToSpectrumAnalysis
SetRecipeSpectrumAnalysis
ShutdownRequestedHandler
ShuttingDown
SystemAutoSave
SystemAutoSaveBaseFileNameAndPath
SystemMeasure
SystemStartMonitoring
SystemStopMonitoring
SystemMeasurementCompletedEventHandler

FILMapper-Related Methods
GetStageMotionParams
ModuleHasMotorizedZStage
SetStageMotionParams
WaferMapAllFinished
WaferMapClearHistoryWhenMapStarts
WaferMapCreateMapFile
WaferMapCreatePattern
112

WaferMapCurrentFileName
WaferMapCurrentWaferID
WaferMapDisableMapButtons
WaferMapGetCurrentStageLocation
WaferMapGetVacuumIsOn
WaferMapGetUsableHeightAndWidth
WaferMapInitXMotion
WaferMapInitYMotion
WaferMapInitZMotion
WaferMapMeasurementControlsPanelLocation
WaferMapMoveStage
WaferMapMoveToLoadPosition
WaferMapMoveToRestPosition
WaferMapNew
WaferMapNextFileName
WaferMapNextWaferID
WaferMapOpen
WaferMapRecipeAutoFocusInCenterOnly
WaferMapRecipeAutomaticAlignmentSampleOrigin
WaferMapRecipeAutomaticAlignmentSampleRotation
WaferMapRecipeGetPattern
WaferMapRecipeSampleCoordinateSystemOrigin
WaferMapRecipeSaveResultsToDisk
WaferMapRecipeSetEdgeExclusion
WaferMapRecipeSetPattern
WaferMapRecipeSetSampleSize
WaferMapSetVacuum
WaferMapResultsFolder
WaferMapSetCurrentLocationAsSampleOrigin
WaferMapStart
WaferMapStateChangedHandler
WaferMapStop
ZGetLimitsSampleCoordMm

New

Public Sub New(ByVal showFILMeasureGUI As Boolean) (deprecated)


Public Sub New(ByVal showFILMeasureGUI As Boolean, ByRef
theConstructorWarning As ConstructorWarning, ByRef warningMessage As
String)(deprecated)

Public Sub New(ByVal guiType AsGraphicalUserInterfaceType, ByVal


guiStartupState AsGraphicalUserInterfaceStartupState, ByVal
guiWindowStartupState AsFormWindowState, ByRef theConstructorWarning
AsConstructorWarning, ByRef warningMessage As String)
113

guiType – Determines if the FIRemote user interface and associated objects will be constructed at
startup. If guiType is set to None, then the startup process is accelerated and memory usage is
minimized. However, the user interface cannot be displayed at a later time if it is not constructed during
the startup process. If guiType is set to Standard, then the normal graphical user interface is
constructed during the startup process.

guiStartupState – Determines whether or not the FIRemote user interface is displayed at startup. Note
that this argument has no effect if guiType = None. If guiStartupState is set to Hidden, then
the user interface will not be visible on screen at the completion of the startup process. If the user
interface was constructed at startup, it can be displayed at a later time by setting GUIVisible =
True.

guiWindowStartupState – If guiStartupState is set to Shown then the FIRemote User interface


window will appear on the screen at the completion of the startup process. Note that this argument has
no effect if guiType = None. The state of the window is controlled by
guiWindowStartupState. You can set the state to Maximized, Normal, or Minimized.

theConstructorWarning – Returned value of type ConstructorWarning (None or


StartupRecipeLoadFailure).

warningMessage – Returned warning message string. Empty if None.

Remarks: You can suppress the display of the FIRemote user interface by setting guiType
appropriately. Typically, you would show the user interface during software development in order to aid
in the testing and debugging process. However, there are some applications where it is useful to be able
to show and hide the user interface while the software is running. This is accomplished with the
GUIVisible Property. The constructor warns if the startup recipe has problems loading and a default
recipe is loaded instead.

Return to Index...

AcquireSpectrum
Public Sub AcquireSpectrum(ByRef spectrumWavelengths() As Single,
ByRef spectrumData() As Single)
Public Sub AcquireSpectrum(ByRef spectrumWavelengths() As Single,
ByRef spectrumData() As Single, ByVal flushPipeline As Boolean)
Public Sub AcquireSpectrum(ByRef spectrumWavelengths() As Single,
ByRef spectrumData() As Single, ByRef secondarySpecWavelengths() As
Single, ByRef secondarySpecData() As Single, ByRef
primarySpecIsReflectance As Boolean)
Public Sub AcquireSpectrum(ByRef spectrumWavelengths() As Single,
ByRef spectrumData() As Single, ByVal secondarySpecWavelengths() As
Single, ByRef secondarySpecData() As Single, ByVal flushPipeline As
Boolean, ByRef primarySpecIsReflectance As Boolean)
114

Public Sub AcquireSpectrum(ByVal measChannelGuid As Guid, ByRef


spectrumWavelengths() As Single, ByRef spectrumData() As Single)
Public Sub AcquireSpectrum(ByVal measChannelGuid As Guid, ByRef
spectrumWavelengths() As Single, ByRef spectrumData() As Single,
ByVal flushPipeline As Boolean)
Public Sub AcquireSpectrum(ByVal measChannelGuid As Guid, ByRef
primarySpecIsReflectance As BooleanByRef spectrumWavelengths() As
Single, ByRef spectrumData() As Single)
Public Sub AcquireSpectrum(ByVal measChannelGuid As Guid, ByRef
spectrumWavelengths() As Single, ByRef spectrumData() As Single,
ByVal flushPipeline As Boolean, ByRef primarySpecIsReflectance As
Boolean)

measChannelGuid – The GUID of the measurement channel for which a spectrum should be acquired. If
multiple measurement channels exist, the measChannelGuid must be specified.

spectrumWavelengths – Array to contain wavelengths of measured spectum data points.

spectrumData – Measured reflectance or transmittance data points.

secondarySpecWavelengths – For systems that can simultaneously acquire reflectance and


transmittance such as the F10-RT, array to contain wavelengths of measured secondary spectum data
points. For all other systems, the returned argument is Nothing.

secondarySpecData – For systems that can simultaneously acquire reflectance and transmittance such
as the F10-RT, array to contain the measured secondary spectum data points. For all other systems, the
returned argument is Nothing.

flushPipeline – If set to True (default), any data currently being acquired is ignored and new data is
acquired. If set to False, data currently being acquired is returned when acquisition is finished.

primarySpecIsReflectance – Indicates whether the primary spectrum data is Reflectance or


Transmittance.

Remarks: It is important that you catch exceptions which may occur as a result of calling this method.
See the example program for details.

Return to Index...

ActivateChannelDisplayTab
Public Sub ActivateChannelDisplayTab(ByVal measChannelGuid As Guid)

measChannelGuid – The GUID of the measurement channel of the corresponding Measurement Tab to
be selected.
115

Remarks: After execution, the active tab in the FILMapper GUI will be the specified Measurement Tab.
This method should only be executed if multiple measurement channels exist.

Return to Index...

AnalyzeSpectrum
Public Function AnalyzeSpectrum(ByVal formatSummaryAsRtf As Boolean)
As FIMeasResults
Public Function AnalyzeSpectrum(ByVal formatSummaryAsRtf As Boolean,
ByVal addToHistory As Boolean) As FIMeasResults
Public Function AnalyzeSpectrum(ByVal measChannelGuid As Guid, ByVal
formatSummaryAsRtf As Boolean) As FIMeasResults
Public Function AnalyzeSpectrum(ByVal measChannelGuid As Guid, ByVal
formatSummaryAsRtf As Boolean, ByVal addToHistory As Boolean) As
FIMeasResults

measChannelGuid – The GUID of the measurement channel for which a spectrum should be analyzed
and optionally added to history. If multiple measurement channels exist, the measChannelGuid must be
specified.

formatSummaryAsRtf – The measurement summary returned by the .ResultsSummary property of the


FIMeasResults object can be formatted as either plain text or as rtf. Formatting the summary as rtf is
advantageous if it will be displayed to the user because then the full set of information including bold
font and colors will be included.

addToHistory – Normally, each analysis result is added to the collection of results displayed in the History
area of FILMapper. In some cases, it may be advantageous to suppress the addition of a result to the
History area. One example where this may be needed is the case where you wish to analyze a spectrum
with two different measurement recipes and then add only the best result to the History.

Remarks: The most-recently acquired spectrum can be analyzed by calling this function.

Return to Index...

AuthenticateRefBac
Public Sub AuthenticateRefBac()
Public Sub AuthenticateRefBac(ByVal measChannelOrSystemGuid As Guid)

measChannelOrSystemGuid – The GUID of the measurement channel for which a baseline should be
recovered. If multiple measurement channels exist, the measChannelGuid must be specified.

Remarks: Calling this method is equivalent to clicking Baseline… to display the Baseline dialog and then
clicking Recover Last Baseline… to recover an old baseline spectrum. Note that there are many situations
where an exception may be generated by calling this method. See the example program for details.
116

Return to Index...

BaselineAcquireBackgroundAfterRef
Public Sub BaselineAcquireBackgroundAfterRef()
Public Sub BaselineAcquireBackgroundAfterRef(ByVal
measChannelOrSystemGuid As Guid)

measChannelOrSystemGuid – The GUID of the measurement channel for which a background should be
acquired. If multiple measurement channels exist, the measChannelGuid must be specified.

Remarks: This method provides a means to automate what is most commonly called step #3 of the
Baseline procedure (step #4 for F10-RT, “Reflection Only” or “Reflection and Transmittance”. step #2 for
F10RT“Transmittance Only”). As the name of this method implies, you must have previously acquired a
reference spectrum.

Return to Index...

BaselineAcquireReference
Public Sub BaselineAcquireReference()
Public Sub BaselineAcquireReference(ByVal measChannelOrSystemGuid As
Guid)

measChannelOrSystemGuid – The GUID of the measurement channel for which a reference should be
acquired. If multiple measurement channels exist, the measChannelGuid must be specified.

Remarks: This method provides a means to automate what is most commonly called step #2 of the
Baseline procedure. Calling BaselineAcquireReference may generate an exception. There are a number of
rules required for successful execution of this method. Unless the acquisition timing mode in the recipe is
set to Manual, you must first call BaselineAcquireSpectrumFromSample. Alternatively, you could call the
variant of this method which accepts a user-supplied reflectance value if you know the sample
reflectance and wish to skip step #1.

Return to Index...

BaselineAcquireReferenceT
Public Sub BaselineAcquireReferenceT()
Public Sub BaselineAcquireReferenceT(ByVal measChannelOrSystemGuid As
Guid)
117

measChannelOrSystemGuid – The GUID of the measurement channel for which a Transmittance


reference should be acquired. If multiple measurement channels exist, the measChannelGuid must be
specified.

Remarks: This method should only be called for the F10-RT. It provides a means to automate step #3 of
the Baseline procedure for “Reflectance Only” or “Reflectance and Transmittance” modes, or step #1 of
the Baseline procedure for “Transmittance Only” mode. No sample should be positioned on stage when
called.

Return to Index...

BaselineAcquireReferenceUsingOldSampleReflectance
Public Sub BaselineAcquireReferenceUsingOldSampleReflectance()
Public Sub BaselineAcquireReferenceUsingOldSampleReflectance(ByVal
measChannelOrSystemGuid As Guid)

measChannelOrSystemGuid – The GUID of the measurement channel for which a reference should be
acquired. If multiple measurement channels exist, the measChannelGuid must be specified.

Remarks: This method provides a means to automate steps 1 and 2 of the Baseline procedure by
assuming that the sample reflectance is unchanged from what it was the last time a baseline procedure
was performed. Note that an exception may be thrown in some situations including the case where no
prior baseline spectrum exists.

Return to Index...

BaselineAcquireSpectrumFromSample
Public Sub BaselineAcquireSpectrumFromSample()
Public Sub BaselineAcquireSpectrumFromSample(ByVal
measChannelOrSystemGuid As Guid)

measChannelOrSystemGuid – The GUID of the measurement channel for which a sample spectrum
should be acquired. If multiple measurement channels exist, the measChannelGuid must be specified.

Remarks: This method provides a means to automate what is most commonly called step #1 of the
Baseline procedure.

Return to Index...

BaselineCommit
Public Sub BaselineCommit()
Public Sub BaselineCommit(ByVal measChannelOrSystemGuid As Guid)
118

measChannelOrSystemGuid – The GUID of the measurement channel for which a new baseline should be
commited. If multiple measurement channels exist, the measChannelGuid must be specified.

Remarks: Call this method to finalize the baseline procedure and commit the acquired spectra for use as
a new baseline measurement.

Return to Index...

BaselineSetRefMat
Public Sub BaselineSetRefMat(ByVal theRefMat As String)
Public Sub BaselineSetRefMat(ByVal measChannelOrSystemGuid As Guid,
ByVal theRefMat As String)

measChannelOrSystemGuid – The GUID of the measurement channel for which the reference material
should be assigned. If multiple measurement channels exist, the measChannelGuid must be specified.

theRefMat – The reference material as it would normally appear in the list of reference materials shown
in the Baseline dialog.

Remarks: This method should be called prior to acquiring a reference spectrum

Return to Index...

BaselineShowDialog
Public Sub BaselineShowDialog(ByRef dialogCanceled As Boolean)

dialogCanceled – True if user has canceled the dialog.

Remarks: Calling this method will cause the baseline dialog box to be displayed on the screen

Return to Index...

GUIVisible
Public Property GUIVisible As Boolean

Remarks: Setting this property to True will cause the FIRemote user interface to be displayed on the
screen. Note that this will normally cause the user interface window to appear on top of any other
windows. If you wish to keep another window on top of the FIRemote user interface window, it may be
necessary to call .BringToFront on that other window. If the FIRemote object is constructed with
guiType set to None then an exception will be thrown if GUIVisible is set to True.
119

Return to Index...

HistoryDeleteAllResults
Public Sub HistoryDeleteAllResults()

Remarks: All measurement results in the History tab are deleted. If the FIRemote object has no user
interface (guiType = None in New()), then there is no measurement history and this function has
no effect.

Return to Index...

IntegrationCycles
Public Property IntegrationCycles() As Integer
Public Property IntegrationCycles(ByVal measChannelGuid As Guid) As
Integer
Public Property IntegrationCycles(ByVal specIndex As
SpectrometerIndex) As Integer
Public Property IntegrationCycles(ByVal measType As
SubsystemMeasType) As Integer
Public Property IntegrationCycles(ByVal measChannelGuid As Guid,
ByVal specIndex As SpectrometerIndex) As Integer
Public Property IntegrationCycles(ByVal measChannelGuid As Guid,
Byval measType As SubsystemMeasType, specIndex As SpectrometerIndex)
As Integer

measChannelGuid – The GUID of the measurement channel for which to set or get IntegrationCycles.

measType – Specifies which measurement subsystem (Reflectance, Transmittance, etc.).

specIndex – Specifies which spectrometer (Short or Long Wavelengths).

Remarks: The IntegrationCycles parameter is visible in the dialog Edit Recipe->Acquisition Settings tab in
the Measurement Timing group under the Use manually set parameters Radio Button. Calling the
variants of this property without a measChannelGuid is acceptable unless this does not unambiguously
measurement channel. If there is only a single measurement channel, then it is unnecessary to call the
variants of this property that include the measChannelGuid. If a measurement channel includes multiple
measTypes, but the measType is not supplied, then the Reflectance measType will be addressed. If a
MeasurementType includes multiple spectrometers, but the specIndex is not supplied, then the
ShortWavelength spectrometer will be addressed.

Return to Index...
120

IntegrationTime_ms
Public Property IntegrationTime_ms() As Double
Public Property IntegrationTime_ms(ByVal measChannelGuid As Guid) As
Double
Public Property IntegrationTime_ms(ByVal specIndex As
SpectrometerIndex) As Double
Public Property IntegrationTime_ms(ByVal measType As
SubsystemMeasType) As Double
Public Property IntegrationTime_ms(ByVal measChannelGuid As Guid,
ByVal specIndex As SpectrometerIndex) As Double
Public Property IntegrationTime_ms(ByVal measChannelGuid As Guid,
Byval measType As SubsystemMeasType, specIndex As SpectrometerIndex)
As Double

measChannelGuid – The GUID of the measurement channel for which to set or get IntegrationTime_ms.

measType – Specifies which measurement subsystem (Reflectance, Transmittance, etc.).

specIndex – Specifies which spectrometer (Short or Long Wavelengths).

Remarks: The IntegrationTime_ms parameter is visible in the dialog Edit Recipe->Acquisition Settings tab
in the Measurement Timing group under the Use manually set parameters Radio Button. See discussion
in IntegrationCycles remarks regarding unsupplied arguments.

Return to Index...

MaximumSamplingTime
Public Property MaximumSamplingTime() As Double
Public Property MaximumSamplingTime(ByVal measChannelOrSystemGuid As
Guid) As Double

measChannelOrSystemGuid – The GUID of the measurement channel or measurement system for which
to set or get MaximumSamplingTime.

Remarks: The MaximumSamplingTime parameter is visible in the dialog Edit Recipe->Acquisition Settings
tab in the Measurement Timing group under the Use maximum sampling time Radio Button. See
discussion in IntegrationCycles Remarks regarding unsupplied arguments.

Return to Index...

MeasurementTimingMode
Public Property MeasurementTimingMode() As MeasurementTimingModes
121

Public Property MeasurementTimingMode(ByVal measChannelOrSystemGuid


As Guid) As MeasurementTimingModes

measChannelOrSystemGuid – The GUID of the measurement channel or measurement system for which
to set or get MeasurementTimingMode.

Remarks: The MeasurementTimingMode parameter is visible in the dialog Edit Recipe->Acquisition


Settings tab in the Measurement Timing group. Available choices are Recommended, Maximum, and
Manual. See discussion in IntegrationCycles Remarks regarding unsupplied arguments.

Return to Index...

MeasChannelGuid
Public ReadOnly Property MeasChannelGuid(ByVal measChannelIndex As
Integer) As Guid
Public ReadOnly Property MeasChannelGuid(ByVal measSystemGuid As
Guid, ByVal measChannelIndex As Integer) As Guid

measSystemGuid – The GUID of a measurement system.

measChannelIndex – The zero-based index of the measurement channel.

Remarks: Returns the GUID of the specified channel. Note this can be used to obtain the GUID used by all
methods requiring a measChannelGUID. Also note that the relationship between measChannelIndex and
MeasChannelGuid is not static. Future versions of FILMapper will dynamically reorder this list in
response to an equipment connect/disconnect event. You should not rely on the order of the channels
in the list when attempting to perform a command on a certain channel.

Return to Index...

MeasChannelGuids
Public ReadOnly Property MeasChannelGuids() As Collection(Of Guid)

Remarks: Returns a collection of GUID for each measurement channel that exists.

Return to Index...

MeasChannelHWName
Public ReadOnly Property MeasChannelHWName(ByVal measChannelGuid As
Guid) As String

measChannelGuid – The GUID of the measurement channel for which the channel hardware name
should be returned.
122

Remarks: The hardware name is composed of a system name string and a serial number string separated
by a colon. Example: F20:09A006.

Return to Index...

MeasChannelHWSerialNumber
Public ReadOnly Property MeasChannelHWSerialNumber(ByVal
measChannelGuid As Guid) As String
Public ReadOnly Property MeasChannelHWSerialNumber(ByVal
measChannelGuid As Guid, ByVal spectrometerIndex As Integer) As
String
Public ReadOnly Property MeasChannelHWSerialNumber(ByVal
measChannelGuid As Guid, ByVal subsystemIndex As Integer, ByVal
spectrometerIndex As Integer) As String

measChannelGuid – The GUID of the measurement channel.

spectrometerIndex – The spectrometer index (to specify which of multiple spectrometers in the channel).

subsystemIndex – The subsystem index (to select among multiple subsystems in the channel).

Remarks: Returns the controller hardware serial number of the specified spectrometer. If the
spectrometer or subsystem are not specified, the default index = 0 will be used. If there are multiple
subsystems, a hyphen followed by the subsystem ID is appended to the hardware serial number.
Example for single subsystem: 09A006. Example for multiple subsystem: 09A007-1

Return to Index...

MeasChannelName
Public ReadOnly Property MeasChannelName(ByVal measChannelGuid As
Guid) As String

measChannelGuid – The GUID of the measurement channel for which the channel name should be
returned.

Remarks: By default the channel name is the empty string.

Return to Index...

Measure
Public Function Measure(ByVal formatSummaryAsRtf As Boolean) As
FIMeasResults
123

Public Function Measure(ByVal formatSummaryAsRtf As Boolean, ByVal


addToHistory As Boolean) As FIMeasResults
Public Function Measure(ByVal measChannelGuid As Guid, ByVal
formatSummaryAsRtf As Boolean) As FIMeasResults
Public Function Measure(ByVal measChannelGuid As Guid, ByVal
formatSummaryAsRtf As Boolean, ByVal addToHistory As Boolean) As
FIMeasResults

measChannelGuid – The GUID of the measurement channel for which a spectrum should be acquired
and analyzed. If multiple measurement channels exist, the measChannelGuid must be specified.

formatSummaryAsRtf – The measurement summary returned by the .ResultsSummary property of the


FIMeasResults object can be formatted as either plain text or as rtf. Formatting the summary as rtf is
advantageous if it will be displayed to the user because then the full set of information including bold
font and colors will be included.

addToHistory – Normally, each analysis result is added to the collection of results displayed in the History
area of FILMapper. In some cases, it may be advantageous to suppress the addition of a result to the
History area. One example where this may be needed is the case where you wish to analyze a spectrum
with two different measurement recipes and then add only the best result to the History.

Remarks: Calling this function is equivalent to clicking the Measure button in FILMapper. Note that if the
Measure button is disabled when you call this function, an exception will be thrown.

Return to Index...

NumberOfChannels
Public ReadOnly Property NumberOfChannels() As Integer

Remarks: Number of measurement channels that exist.

Return to Index...

NumberOfSpectrometers
Public ReadOnly Property NumberOfSpectrometers(ByVal measChannelGuid
As Guid) As Integer
Public ReadOnly Property NumberOfSpectrometers(ByVal measChannelGuid
As Guid, ByVal subsystemIndex As Integer) As Integer

measChannelGuid – The GUID of the measurement channel.

subsystemIndex – Thesubsystem index (to specify which of multiple subsystems in the channel).
124

Remarks: The number of spectrometers in the specified subsystem. If subsystemIndex is not provided,
the default index = 0 will be used.

Return to Index...

NumberOfSubSystems
Public ReadOnly Property NumberOfSubSystems(ByVal measChannelGuid As
Guid) As Integer

measChannelGuid – The GUID of the measurement channel.

Remarks: The number of subsystems that compose the specified measurement channel.

Return to Index...

OpticsConfiguration
Public Property OpticsConfiguration() As OpticsConfigSystemTypes
[Get/Set]
Public Property OpticsConfiguration(ByVal measChannelGuid As Guid) As
OpticsConfigSystemTypes [Get/Set]

measChannelGuid – The GUID of the measurement channel for which the OpticsConfiguration is to be
get/set. If multiple measurement channels exist, the measChannelGuid must be specified.

Remarks: If the OpticsConfigSystemTypes is not be compatible with the hardware an exception will be
thrown.

Return to Index...

OpenSpectrum
Public Sub OpenSpectrum(ByVal filenameAndPath As String)
Public Sub OpenSpectrum(ByVal filenameAndPath As String, ByVal
measChannelGuid As Guid)

filenameAndPath – The full path and filename (including extension) of the spectrum. If the file cannot be
opened, an exception will be thrown.

measChannelGuid – The GUID of the measurement channel for a spectrum is to be opened. If multiple
measurement channels exist, the measChannelGuid must be specified.

Remarks: Unlike the behavior when a spectrum is opened in FILMapper, the software will not
automatically analyze the spectrum after opening it. If analysis of the spectrum is desired, then the
Analyze function must be called.
125

Return to Index...

OpenSpectrumFromBuffer
Public Sub OpenSpectrumFromBuffer(ByVal theBuffer As Byte())
Public Sub OpenSpectrumFromBuffer(ByVal theBuffer As Byte(), ByVal
measChannelGuid As Guid)

theBuffer – Byte array containing spectrum. Data in this array must have been created by
SaveSpectrumToBuffer method.

measChannelGuid – The GUID of the measurement channel for a spectrum which is to be opened. If
multiple measurement channels exist, the measChannelGuid must be specified.

Remarks: See remarks after SaveSpectrumToBuffer

Return to Index...

OperatorID
Public Property OperatorID() As String

Remarks: Get or Set the Operator ID that is visible in the user interface.

Return to Index...

RecipeInfo
Public ReadOnly Property RecipeInfo() As FIRecipeInfo
Public ReadOnly Property RecipeInfo(measChannelOrSystemGuid) As Guid)
As FIRecipeInfo

measChannelGuid - The GUID of the measurement channel associated with a measurement recipe. If
multiple measurement channels exist the measChannelOrSystemGuid must be specified.

Remarks: The FIRecipeInfo object contains an assortment of information about the recipe including
information about the film stack, if appropriate..

Return to Index...

SampleID
Public Property SampleID() As String
126

Remarks: Get or Set the Sample ID that is visible in the user interface.

Return to Index...

SaveSpectrum
Public Sub SaveSpectrum(ByVal filenameAndPath As String)
Public Sub SaveSpectrum(ByVal filenameAndPath As String, ByVal
ifTextFormatWriteYDataAsPercent As Boolean)

filenameAndPath – The full path and filename (including extension) of the spectrum. The file format is
determined by the extension. Valid file extensions are the same as the extensions listed in the Save
Spectrum dialog windows accessed via the File->Save Measured Spectrum menu item in FILMapper.

ifTextFormatWriteYDataAsPercent – If this version of SaveSpectrum without this parameter is called, the


result is the same as calling the version with this parameter and setting its value to True. Thus, the only
reason to call the second variant of the function is if the spectrum is being saved as a text format (either
.txt or .csv) and the value of this parameter is set to False

Return to Index...

SaveSpectrumToBuffer
Public Sub SaveSpectrumToBuffer( As Byte()

Remarks: This function allows the caller to rapidly retrieve the complete set of data contained in a
spectrum, thereby avoiding the time that would be consumed if the spectrum were saved to a file. This
may be useful in cases where the caller wishes to rapidly acquire a number of spectra and store them up
for later saving to file or analysis. The contents of the buffer should be considered opaque. Any changes
to the data in the buffer may render the data unusable and/or may not be compatible with future
versions of FILMapper.

Return to Index...

SetAnalysisWavelengthRange
Public Sub SetRecipeSetAnalysisWavelengthRange(ByVal
measChannelGuidmeasChannelOrSystemGuid As Guid, ByVal
startWavelength_nm As Single, ByVal endWavelength_nm As Single)
Public Sub SetAnalysisWavelengthRange(ByVal startWavelength_nm As
Single, ByVal endWavelength_nm As Single)

measChannelOrSystemGuid – The GUID of the measurement channel or system. If multiple


measurement channels exist, the measChannelOrSystemGuid must be specified (since each
measurement channel has its own active recipe).
127

startWavelength_nm – Starting wavelength for spectrum analysis.

endWavelength_nm – Ending wavelength for spectrum analysis.

Remarks: Setting the wavelength range will also switch the recipe into using a specified wavelength range
instead of using the entire wavelength range visible on the spectrum graph.

Return to Index...

SetMaterial
Public Sub SetMaterial(ByVal measChannelOrSystemGuid As Guid, ByVal
layerNumber As Integer, ByVal materialName As String)
Public Sub SetMaterial(ByVal layerNumber As Integer, ByVal
materialName As String)

measChannelOrSystemGuid – The GUID of the measurement channel or system. If multiple


measurement channels exist, the measChannelOrSystemGuid must be specified (since each
measurement channel has its own active recipe).

layerNumber – The layer number for which to modify the material.

materialName – String containing name of the material.

Remarks: You can alter the material of a layer in the current recipe using the method. An exception will be
thrown if the layer number is out-of-bounds or the material does not exist.

Return to Index...

SetN
Public Sub SetN(ByVal measChannelOrSystemGuid As Guid, ByVal
layerNumber As Integer, ByVal refractiveIndex As Single)
Public Sub SetN(ByVal layerNumber As Integer, ByVal refractiveIndex
As Single)

measChannelOrSystemGuid – The GUID of the measurement channel or system. If multiple


measurement channels exist, the measChannelOrSystemGuid must be specified (since each
measurement channel has its own active recipe).

layerNumber – The layer number for which to set the refractive index.
128

refractiveIndex – New refractive index value for layer.

Remarks: You can alter the material of a layer in the current recipe using the method. An exception will be
thrown if the layer number or refractive index are out-of-bounds.

Return to Index...

SetRecipe
Public Sub SetRecipe(ByVal measChannelOrSystemGuid As Guid, ByVal
recipeName As String)
Public Sub SetRecipe(ByVal recipeName As String)

measChannelOrSystemGuid – The GUID of the measurement channel or system. If multiple


measurement channels exist, the measChannelOrSystemGuid must be specified (since each
measurement channel has its own active recipe).

recipeName – The recipe name to be selected must exist in the list of recipes. Note that you can select
recipes contained in subfolders by specifying the relative path, using the backslash character ‘\’ to
separate folder names as is conventional in path naming.

Remarks: The current spectrum will not be automatically reanalyzed when a new recipe is selected. To
reanalyze the spectrum you must call AnalyzeSpectrum.

Return to Index...

SetRoughness
Public Sub SetRoughness(ByVal measChannelOrSystemGuid As Guid, ByVal
layerNumber As Integer, ByVal roughness_nm As Single)
Public Sub SetRoughness(ByVal layerNumber As Integer, ByVal
roughness_nm As Single)

measChannelOrSystemGuid – The GUID of the measurement channel or system. If multiple


measurement channels exist, the measChannelOrSystemGuid must be specified (since each
measurement channel has its own active recipe).

layerNumber – The layer number for which to modify the roughness.

roughness_nm – Roughness value which will appear in the Layers tab of the recipe for the specified layer.
Units are nanometers.
129

Remarks: You can alter the roughness of a layer in the current recipe using the method. An exception will
be thrown if the layer number or roughness are out-of-bounds.

Return to Index...

SetThickness
Public Sub SetThickness(ByVal measChannelOrSystemGuid As Guid, ByVal
layerNumber As Integer , ByVal thickness_nm As Single)
Public Sub SetThickness(ByVal layerNumber As Integer, ByVal
thickness_nm As Single)

measChannelOrSystemGuid – The GUID of the measurement channel or system. If multiple


measurement channels exist, the measChannelOrSystemGuid must be specified (since each
measurement channel has its own active recipe).

layerNumber – The layer number for which to modify the thickness.

thickness_nm – Thickness value which will appear in the Layers tab of the recipe for the specified layer.
Units are nanometers.

Remarks: You can alter the thickness of a layer in the current recipe using the method. An exception will
be thrown if the layer number or thickness is out-of-bounds.

Return to Index...

SetThicknessRange
Public Sub SetThicknessRange(ByVal layerNumber As Integer, ByVal
layerNumber As Integer , ByVal thicknessRange As Double)
Public Sub SetThicknessRange(ByVal measChannelOrSystemGuid AsGuid,
ByVal layerNumber As Integer, ByVal thicknessRangePercent As Double)

measChannelOrSystemGuid – The GUID of the measurement channel or system. If multiple


measurement channels exist, the measChannelOrSystemGuid must be specified (since each
measurement channel has its own active recipe).

layerNumber – The layer number for which to modify the thickness.

thicknessRangePercent – Thickness range which will appear in the Layers tab of the recipe for the
specified layer. Note that the value accepted by this function is always a percentage, regardless of the
setting in the recipe editor which shows the range as either a percentage or a thickness. Minimum value
is zero. There is no maximum value.
130

Remarks: You can alter the thickness range setting for a layer in the current recipe using the method. An
exception will be thrown if the layer number or thickness range are out-of-bounds.

Return to Index...

SpectrometerDiagnostics
Public ReadOnly Property SpectrometerDiagnostics()
AsFISpecDiagnosticsInfo()
Public ReadOnly Property SpectrometerDiagnostics(ByVal
measChannelGuid AsGuid)As FISpecDiagnosticsInfo()
Public ReadOnly Property SpectrometerDiagnostics(ByVal
measChannelGuid As Guid, ByVal subsystemIndex As Integer) As
FISpecDiagnosticsInfo()

measChannelGuid – The GUID of the measurement channel.

subsystemIndex – The subsystem index (to select among multiple subsystems in the channel).

Remarks: Returns an array of objects containing information about the spectrometers. Information
includes integration time, peak raw signal intensities of reference and background spectra, etc.

Return to Index.

SpectrometerType
Public Property SpectrometerType() As SpectrometerTypes
Public Property SpectrometerType(ByVal measChannelOrSystemGuid
AsGuid) As SpectrometerTypes
Public Property SpectrometerType(ByVal measType AsSubsystemMeasType)
As SpectrometerTypes
Public Property SpectrometerType(ByVal measChannelOrSystemGuid As
Guid, ByVal measType As SubsystemMeasType) As SpectrometerTypes

measChannelOrSystemGuid – The GUID of the measurement channel or measurement system for which
to set or get SpectrometerType.

measType – Specifies which measurement subsystem (Reflectance, Transmittance, etc.).

Remarks: The SpectrometerType parameter is visible in the dialog Edit Recipe->Acquisition Settings tab in
the Measurement Timing group. Available choices are All, ShortwavelengthsOnly,
LongWavelengthsOnly, and ExtendedWavelengths. The All and ExtendedWavelengths values select the
corresponding options in the Acquisition Settings in the Recipe, but these two options result in the same
behavior. See discussion in IntegrationCycles Remarks regarding unsupplied arguments.

Return to Index.
131

ActivateMonitorDisplayTab
Public Sub ActivateMonitorDisplayTab()
Public Sub ActivateMonitorDisplayTab(ByVal measSystemGuid As Guid)

measSystemGuid – The GUID of the measurement System. If multiple measurement channels exist, the
measChannelGuid must be specified (since each measurement channel has its own active recipe).

Remarks: This function is provided to permit synchronization of the FILMapper user interface with the
user interface of a client program.

Return to Index...

BaselineExistsAndIsAuthenticated
Public Function BaselineExistsAndIsAuthenticated(ByRef
authenticationIsPossible As Boolean) As Boolean
Public Function BaselineExistsAndIsAuthenticated
(measChannelOrSystemGuid As Guid, ByRef authenticationIsPossible As
Boolean) As Boolean

authenticationIsPossible – If baseline is not authenticated, it is possible to authenticate it when


authenticationIsPossible = True.

Remarks: In some cases, it is desirable to check whether the baseline is already authenticated and if not
whether it is possible to authenticate it. The client software has the option of automatically
authenticating the baseline if that is desirable.

Return to Index...

BaselineHardwareAdjustInhibit
Public Property BaselineHardwareAdjustInhibit() As Boolean
Public Function BaselineHardwareAdjustInhibit(measChannelOrSystemGuid
As Guid) As Boolean

measChannelOrSystemGuid – The GUID of the measurement channel or system. If multiple


measurement channels exist, the measChannelOrSystemGuid must be specified.
132

Remarks: Some measurement systems include hardware that must be periodically adjusted. The
adjustment procedure happens automatically during the baseline process unless it is inhibited. The
adjustment process may take several minutes to complete. This property allows the client software to
control when the adjustment process is accomplished so that it can be performed at a convenient time.
See GetBaselineHardwareAdjustStatus() for additional information.

Return to Index...

GeneralPurposeIOIsSupported
Public ReadOnly Property GeneralPurposeIOIsSupport() As Boolean

Remarks: Primary purpose of this property is to permit the example program to hide or show the
General Purpose IO controls. This property will be True for equipment that has the General Purpose IO
hardware.

Return to Index...

GeneralPurposeIOReadValue
Public Function GeneralPurposeIOReadValue() As Byte

Remarks: Returns a single byte containing the current values of the general purpose IO logic input
signals. Bit value of 1 means that the input voltage is in the logic high state. These input signals are only
available on certain types of equipment.

Return to Index...

GeneralPurposeIOSetValue
Public Sub GeneralPurposeIOSetValue(newValue As Byte)

newValue - New values for the output bits.

Remarks: Sets the output state of the general purpose IO logic output signals. Setting a bit to 1 will set
the corresponding output to the logic high state. These output signals are only available on certain types
of equipment.

Return to Index...

GetBaselineHardwareAdjustStatus
Public Function GetBaselineHardwareAdjustStatus() As
BaselineHardwareAdjustStatus
133

Public Function GetBaselineHardwareAdjustStatus


(measChannelOrSystemGuid As Guid) As BaselineHardwareAdjustStatus

measChannelOrSystemGuid – The GUID of the measurement channel or system. If multiple


measurement channels exist, the measChannelOrSystemGuid must be specified.

Remarks: See BaselineHardwareAdjustInhibit() for additional information. Members of the


GetBaselineHardwareAdjustStatus Class include:

NeedsPeriodicAdjustment (Boolean) – True if the hardware is of a type that will need to be adjusted
periodically.

AdjustmentRequiredNow (Boolean) – True if adjustment is required before Baseline can be completed; if


adjustment is required, but inhibited, then Baseline methods will throw an exception when called.

AdjustmentRecommendedNow (Boolean) – True if adjustment is recommended.

AdjustmentPeriodHours (Single) – time period in hours between recommended adjustments.

TimeToNextRecommendedAdjustmentHours (Single) – time until the next recommended adjustment; a


negative number represents the amount of time that has passed since an adjustment has become
recommended.

Return to Index...

MaterialPath
Public ReadOnly Property MaterialPath() As String

Remarks: Reports the currently effective path for Material Files.

Return to Index...

MaterialPathCustom
Public Property MaterialPathCustom() As String

Remarks: This property allows a client to set/get a custom path for Material Files. If this property is set to
an empty value or an invalid path, then the effective path will be the default path.

Return to Index...

MeasSystemGuid
Public ReadOnly Property MeasSystemGuid(ByVal measSystemIndex As
Integer) As Guid
134

measSystemIndex – The zero-based index of the system.

Remarks: Returns the GUID of the specified system. Note this can be used to obtain the GUID used by all
methods requiring a measSystem GUID. Also note that the relationship between measSystemIndex and
MeasSystemGuid is not static. Future versions of FILMapper will dynamically reorder this list in response
to an equipment connect/disconnect event. You should not rely on the order of the systems in the list
when attempting to perform a command on a certain system.

Return to Index...

MeasSystemGuids
Public ReadOnly Property MeasSystemGuids() As Collection(Of Guid)

Remarks: Returns a collection of GUIDs containing one item for each measurement system that exists.

Return to Index...

MeasSystemHWName
Public ReadOnly Property MeasSystemHWName(ByVal systemGuid As Guid)
As String

systemGuid – The GUID of a measurement system.

Remarks: The hardware name is composed of a system name string and a serial number string separated
by a colon. Example: F37:09A006

Return to Index...

MeasSystemName
Public ReadOnly Property MeasSystemName(ByVal systemGuid As Guid) As
String

systemGuid – The GUID of a measurement system.

Remarks: The default system name is the empty string.

Return to Index...

NumberOfSystems
Public ReadOnly Property NumberOfSystems() As Integer
135

Remarks: Number of measurement systems that exist.

Return to Index...

RecipePath
Public ReadOnly Property RecipePath() As String

Remarks: Reports the currently effective path for Measurement Recipes.

Return to Index...

RecipePathCustom
Public Property RecipePathCustom() As String

Remarks: This property allows a client to set/get a custom path for Measurement Recipes. If this
property is set to an empty value or an invalid path, then the effective path will be the default path.

Return to Index...

SaveImage
Public Sub SaveImage(ByVal filenameAndPath As String)

Remarks: Save image from most-recently acquired spectrum as a separate file.

Return to Index...

SetAutoFocus
Public Property SetAutoFocus As Boolean

Remarks: Get or set the state of the Use AutoFocus checkbox in the Acquisition Settings tab of the
current recipe.

Return to Index...

SetRecipeModeToSpectrumAnalysis
Public Sub SetRecipeModeToSpectrumAnalysis()
Public Sub SetRecipeModeToSpectrumAnalysis(ByVal
measChannelOrSystemGuid As Guid)
Public Sub SetRecipeModeToThickness()
136

Public Sub SetRecipeModeToThickness(ByVal measChannelOrSystemGuid As


Guid)

measChannelOrSystemGuid – The GUID of one of the measurement channels in a muliple channel


system or the GUID of the system. If multiple measurement channels exist, the measChannelGuid must
be specified.

Remarks: If Spectrum Analysis recipes are supported by the hardware or add-on licenses, then the
Measure tab in the user interface will display a tab control that allows the user to switch modes. The tab
associated with the Spectrum Analysis recipe mode is labeled “AR” or “Spectrum”. The other tab is
labeled “HC” or “Thickness” or “Thickness, n, k, r”. Calling SetRecipeModeToSpectrumAnalysis or
SetRecipeModeToThickness is the same as clicking on the Spectrum or Thickness tab in the user
interface.

Return to Index...

ShutdownRequestedHandler
Public Delegate SubShutdownRequestedHandler(ByVal e As
Windows.Forms.FormClosingEventArgs)
Public Event ShutdownRequested As ShutdownRequestedHandler

e – The standard argument type for a form about to close.

Remarks: The client software can prohibit closing of the software by setting e.Cancel to True.
Alternatively, the client software may wish to perform certain actions prior to allowing the FIRemote class
to shut down.

Return to Index...

SetRecipeSpectrumAnalysis
Public Sub SetRecipeSpectrumAnalysis(ByVal recipeName As String)
Public Sub SetRecipeSpectrumAnalysis(ByVal measChannelOrSystemGuid As
Guid, ByVal recipeName As String)
Public Sub SetRecipeThickness()
Public Sub SetRecipeThickness(ByVal measChannelOrSystemGuid As Guid,
ByVal recipeName As String)

measChannelOrSystemGuid – The GUID of one of the measurement channels in a multiple channel


system or the GUID of the system. If multiple measurement channels exist, the measChannelGuid must
be specified.
137

recipeName – The recipe name to be selected must exist in the list of recipes. Note that you can select
recipes contained in subfolders by specifying the relative path, using the backslash character ‘\’ to
separate folder names as is conventional in path naming.

Remarks: Same as SetRecipeModeToSpectrumAnalysis or SetRecipeModeToThickness, but caller


specifies name of recipe to load during recipe mode switch.

Return to Index...

ShuttingDown
Public Event ShuttingDown()

Remarks: Client software can add an event handler for this event in order to facilitate performing any
necessary shut-down actions. This event is primarily used in order to permit client software to react to
closing of the FIRemote user interface.

Return to Index...

SystemAutoSave
Public Property SystemAutoSave() As Boolean
Public Property SystemAutoSave(ByVal systemGuid As Guid) As Boolean

systemGuid – The GUID of a measurement system.

Remarks: You can set or get the state of the AutoSave setting using this property. Note that setting a
new state for SystemAutoSave will not affect an on-going monitor process, but will take effect the next
time a new set of data starts being collected.

Return to Index...

SystemAutoSaveBaseFileNameAndPath
Public Property SystemAutoSaveBaseFileNameAndPath() As String
Public Property SystemAutoSaveBaseFileNameAndPath(ByVal systemGuid As
Guid) As String

systemGuid – The GUID of a measurement system.

Remarks: You can set or get the base filename and path for the AutoSave file using this property. The full
filename is generated by appending a date and time stamp to the base filename. Note that setting a new
filename will not affect an on-going monitor process, but will take effect the next time a new set of data
starts being collected.
138

Return to Index...

SystemMeasure
Public Function SystemMeasure() As FIMeasResultValuesOnly
Public Function SystemMeasure(ByVal
deleteAccumulatedDataBeforeMeasure As Boolean) As
FIMeasResultValuesOnly
Public Function SystemMeasure(ByVal systemGuid As Guid) As
FIMeasResultValuesOnly
Public Function SystemMeasure(ByVal systemGuid As Guid, ByVal
deleteAccumulatedDataBeforeMeasure As Boolean) As
FIMeasResultValuesOnly

deleteAccumulatedDataBeforeMeasure – There is no analog for this parameter in the user interface.


Setting this parameter to True causes any existing accumulated data points to be deleted before the
measurement is performed.

systemGuid – The GUID of a measurement system.

Remarks: Acquire and measure on all channels in a system. Measurement is performed simultaneously
on all channels. Measured results are contained in an FIMeasResultValuesOnly object.

Return to Index...

SystemMeasurementCompletedEventHandler
Public Delegate Sub SystemMeasurementCompletedEventHandler(ByVal
systemGuid As Guid, ByVal theResults As FIMeasResultValuesOnly)
Public Event SystemMeasurementCompleted As
SystemMeasurementCompletedEventHandler

systemGuid – The GUID of a measurement system.

Remarks: This event is raised upon completion of a SystemMeasure task and after each measurement
during a SystemMonitor process. You should avoid performing lengthy operations (such as writing data
to a file) in the handler for this event because the monitor process will be halted until the handler
function exits. If execution of a lengthy operation is needed, you should invoke a different thread to
perform the operation. If the event is raised as a result of completing a SystemMeasure task, then you
will need to exercise care to avoid creating a threading deadlock. A deadlock will occur if you invoke the
thread which called SystemMeasure in the handler for this event because that thread will not return
from SystemMeasure until all the event handlers have finished executing. See the FIRemoteTest example
program to see one way to avoid the deadlock problem.

Return to Index...
139

SystemStartMonitoring
Public Sub SystemStartMonitoring()
Public Sub SystemStartMonitoring(ByVal systemGuid As Guid)

systemGuid – The GUID of a measurement system.

Remarks: This function starts a monitoring process

Return to Index...

SystemStopMonitoring
Public Sub SystemStopMonitoring()
Public Sub SystemStopMonitoring(ByVal systemGuid As Guid)

Remarks: This function stops a monitoring process.

Return to Index...

GetStageMotionParams
Public Sub GetStageMotionParams(ByRef rotaryMotorLowSpeedPercent As
Short, ByRef linearOrXOrYMotorLowSpeedPercent As Short, ByRef
zMotorLowSpeedPercent As Short, ByRef zUnloadHeightSampleCoordMm As
Double)

<name>MotorLowSpeedPercent - Low speed motion movement velocity is proportional to this setting.


At 100% the speed will be the same as the fast motion speed. at 0% the speed will be the minimum
speed.

zUnloadHeightSampleCoordMm – Height currently set for the Unload location.

Remarks: This method works in conjunction with SetStageMotionParams.

Return to Index...

ModuleHasMotorizedZStage
Public Property ModuleHasMotorizedZStage() As Boolean

Remarks: Determine if the measurement system has a motorized focus mechanism.

Return to Index...
140

SetStageMotionParams
Public Sub SetStageMotionParams(ByVal rotaryMotorLowSpeedPercent As
Short, ByVal linearOrXOrYMotorLowSpeedPercent As Short, ByVal
zMotorLowSpeedPercent As Short, ByVal zUnloadHeightSampleCoordMm As
Double)

<name>MotorLowSpeedPercent - Low speed motion movement velocity is proportional to this setting.


At 100% the speed will be the same as the fast motion speed. at 0% the speed will be the minimum
speed.

zUnloadHeightSampleCoordMm – Height currently set for the Unload location.

Remarks: This method works in conjunction with GetStageMotionParams.

Return to Index...

WaferMapAllFinished
Public Event WaferMapAllFinished(ByVal theData As FIWaferMapData,
errorCode As FIWaferMapResultsErrCode, errorMessage As String)

theData – The results of the finished wafer map


errorCode - Indicates if the wafermap ended normally or there is an error.
errorMessage - A string describing any error which may have happened while measuring the wafermap

Remarks: This event is raised when a wafer map is completed, paused, or aborted. The handler of this
event must check theData to determine if the map is actually completed. If a wafer map is paused or
aborted, then theData will be Nothing. In addition, errorCode and errorMessage will contain
any error information about the wafer map such as whether any of the spectra were saturated.

Return to Index...

WaferMapClearHistoryWhenMapStarts
Public Property WaferMapClearHistoryWhenMapStarts() As Boolean

Remarks: Get or set the state of the Clear History when map starts checkbox in the Wafer Map tab of the
Setup >Options dialog.

Return to Index...
141

WaferMapCreateMapFile
Public Sub WaferMapCreateMapFile(ByVal theData As FIWaferMapData,
mapID As String, theFileNameAndPath As String)

theData – Data to be saved into the map file.


mapID - Id for the map to be saved.
theFileNameAndPath - Name of the file, including path and filename extension.

Remarks: This method creates a wafer map file (.fimap) in the specified location. Calling this method may
cause the software to overwrite an existing file if the name is the same as an existing file.

Return to Index...

WaferMapCreatePattern
Public Sub WaferMapCreatePattern(ByVal theWaferType As FIWaferType,
width As Single, height As Single, x() As Single, y() As Single,
numPoints As Integer, patternFileName As String)

theWaferType – Specify if the shape of the wafer is round or rectangular.


width - The width of a rectangular wafer or the diameter of a round wafer.
height - The height of a rectangular wafer or the diameter of a round wafer.
x - x values of all the locations in the pattern.
y - y values of all the locations in the pattern. Should have the same number of elements as the x array.
numPoints - Total number of locations in the pattern. Should be equal to the length of x and y.
patternFileName - Name of the pattern file to be created. Not including path or filename extension.

Remarks: This method creates a pattern file (.pat) in the folder for custom pattern files. Calling this
method may cause the software to overwrite an existing pattern file if the name is the same as an existing
pattern filename.

Return to Index...

WaferMapCurrentFileName
Public ReadOnly Property WaferMapCurrentFileName() As String

Remarks: Get the filename of the current wafer map.

Return to Index...
142

WaferMapCurrentWaferID
Public ReadOnly Property WaferMapCurrentWaferID() As String

Remarks: Get the file ID of the current wafer map.

Return to Index...

WaferMapDisableMapButtons
Public Property WaferMapDisableMapButtons() As Boolean

Remarks: Get or set the disable state of the map buttons (Start, Stop and New) on the WaferMap tab.

Return to Index...

WaferMapGetCurrentStageLocation
Public Sub WaferMapGetCurrentStageLocation(ByRef currentX As Single,
ByRef currentY As Single)

Remarks: Get the (x,y) location of the stage where x and y are reported in mm.

Return to Index...

WaferMapGetUsableHeightAndWidth
Public Sub WaferMapGetUsableHeightAndWidth(ByRef usableHeight As
Single, ByRef usableWidth As Single)

Remarks: Get the maximum acceptable height and width as limited by the range of motion possible with
the stage.

Return to Index...

WaferMapGetVacuumIsOn
Public Function WaferMapGetVacuumIsOn() As Boolean

Remarks: Report the current state of the stage vacuum valve.


143

Return to Index...

WaferMapInitXMotion
Public Sub WaferMapInitXMotion(btnLeftFast As Button, btnLeftSlow As
Button,btnRightSlow As Button,btnRightFast As Button,
useGoToSpeedsForFastMotion As Boolean)

BtnLeftFast, BtnLeftSlow, BtnRightSlow, BtnRightFast – Buttons in user interface of client which can be
pressed and held down by user to move x-axis of stage.

Remarks: Add event handlers if FIRemote for buttons in client program which react to button press to
move the stage.

Return to Index...

WaferMapInitYMotion
Public Sub WaferMapInitYMotion(btnInFast As Button, btnInSlow As
Button,btnOutSlow As Button,btnOutFast As Button,
useGoToSpeedsForFastMotion As Boolean)

BtnInFast, BtnInSlow, BtnOutSlow, BtnOutFast – Buttons in user interface of client which can be pressed
and held down by user to move y-axis of stage.

Remarks: Add event handlers if FIRemote for buttons in client program which react to button press to
move the stage.

Return to Index...

WaferMapInitZMotion
Public Sub WaferMapInitZMotion(btnInFast As Button, btnInSlow As
Button,btnOutSlow As Button,btnOutFast As Button,
useGoToSpeedsForFastMotion As Boolean)

BtnInFast, BtnInSlow, BtnOutSlow, BtnOutFast – Buttons in user interface of client which can be pressed
and held down by user to move y-axis of stage.

Remarks: Add event handlers if FIRemote for buttons in client program which react to button press to
move the stage.

Return to Index...
144

WaferMapMeasurementControlsPanelLocation
Public ReadOnly Property WaferMapMeasurementControlsPanelLocation()
As Point

Remarks: Return the location of the center location of the rectangular area containing Start, Stop and
New buttons. An exception will be thrown if the graphical user interface was not created at startup.

Return to Index...

WaferMapMoveStage
Public Sub WaferMapGetUsableHeightAndWidth(newX As Single, newY As
Single)

Remarks: Move stage to specified (x,y) location where x and y are given in mm.

Return to Index...

WaferMapMoveToLoadPosition
Public Sub WaferMapMoveToLoadPosition()

Remarks: Move stage into the load position to facilitate loading and unloading of samples.

Return to Index...

WaferMapMoveToRestPosition
Public Sub WaferMapMoveToRestPosition()

Remarks: Move stage into the rest position. The location of the rest position varies with different
measurement stages. Typically the rest position is defined as the location where the measurement spot
is centered over the stage.

Return to Index...

WaferMapNew
Public Sub WaferMapNew()
145

Remarks: This method deletes the current wafer map and creates an empty wafer map.

Return to Index...

WaferMapNextFileName
Public Property WaferMapNextFileName() As String

Remarks: Get or set the wafer map name for the next measurement. Changing this value while a
measurement is running will not affect WaferMapCurrentFileName until WaferMapNew method is called.
However, after WaferMapNew is called, but before WaferMapStart is called, changing
WaferMapNextFileName will update WaferMapCurrentFileName.

Return to Index...

WaferMapNextWaferID
Public Property WaferMapNextWaferID() As String

Remarks: Get or set the wafer map ID for the next measurement. Changing this value while a
measurement is running will not affect WaferMapCurrentWaferID until WaferMapNew method is called.
However, after WaferMapNew is called but before WaferMapStart is called, changing
WaferMapNextWaferID will update WaferMapCurrentWaferID.

Return to Index...

WaferMapOpen
Public Sub WaferMapOpen(By Val fileNameAndPath As String)

fileNameAndPath - Name of the file, including path and filename extension.

Remarks: This method opens an existing wafer map file (.fimap).

Return to Index...

WaferMapRecipeAutoFocusInCenterOnly
Public Property WaferMapRecipeAutoFocusInCenterOnly As Boolean

Remarks: Get or set the state of the AutoFocus in center only checkbox in the Wafer Map tab of the
current recipe.
146

Return to Index...

WaferMapRecipeAutomaticAlignmentSampleOrigin
Public Property WaferMapRecipeAutomaticAlignmentSampleOrigin As
Boolean

Remarks: Get or set the state of the Automatic Alignment Sample Origin checkbox in the Advanced Rect.
Map Settings dialog of the current recipe.

Return to Index...

WaferMapRecipeAutomaticAlignmentSampleRotation
Public Property WaferMapRecipeAutomaticAlignmentSampleRotation As
Boolean

Remarks: Get or set the state of the Automatic Alignment Sample Rotation checkbox in the Advanced
Rect. Map Settings dialog of the current recipe.

Return to Index...

WaferMapRecipeGetPattern
Public Sub WaferMapRecipeGetPattern(By Ref patternFileType
AsFIWaferMapPatternType, ByRef patternName As String)

patternFileType - Variable to receive the coordinate type of current pattern.

patternName - Variable to receive current pattern name. If PatternFileType is Custom, then the received
value is the current pattern filename in the folder for custom pattern files without path or filename
extension; Otherwise, it will be the selected number of measurement locations in that coordinate
system.
.

Remarks: This method gets pattern type and filename of the pattern file (either pre-defined or customer-
created) used in current recipe. patternFileType and patternName in this method follow the same format
as those in method WaferMapRecipeSetPattern and hence could be supplied to that method in order to
go back to a previously used pattern.

Return to Index...
147

WaferMapRecipeSampleCoordinateSystemOrigin
Public Sub WaferMapRecipeSampleCoordinateSystemOrigin
AsWaferCoordOriginType

Remarks: Get or set the Sample Coordinate System Origin setting in the Advanced Rect. Map Settings
dialog of the current recipe.

Return to Index...

WaferMapRecipeSaveResultsToDisk
Public Property WaferMapRecipeSaveResultsToDisk() As Boolean

fileNameAndPath - Name of the file, including path and filename extension.

Remarks: Get or set the state of the “Save results to disk” checkbox in the WaferMap tab of the current
recipe.

Return to Index...

WaferMapRecipeSetEdgeExclusion
Public Sub WaferMapRecipeSetEdgeExclusion(By Val edgeExclusion As
Single)

edgeExclusion - Edge exclusion value in mm.

Remarks: This method sets the Edge Exclusion in the current recipe.

Return to Index...

WaferMapRecipeSetPattern
Public Sub WaferMapRecipeSetPattern(ByVal patternFileType
AsFIWaferMapPatternType, ByVal patternName As String)

patternFileType - Specify the coordinate type of the pattern.

patternName - If PatternFileType is Custom, then patternName is the pattern filename in the folder for
custom pattern files without path or filename extension; Otherwise, patternName is the number of
measurement locations available for that coordinate system.
148

Remarks: This method sets the pattern in the current recipe from an existing pattern file. The pattern file
is specified by the combined information from patternFileType and patternName. If they mismatch
(which means the pattern file cannot be found in the folder for its category) then an exception will be
thrown.

Return to Index...

WaferMapRecipeSetSampleSize
Public Sub WaferMapRecipeSetSampleSize(By Val width As Single, By Val
height As Single)

Width - Width of the sample. Must be >0.


Height - Heightof the sample. Must be >0.

Remarks: This method sets the size of a rectangular sample in the current recipe.

Return to Index...

WaferMapSetVacuum
Public Sub WaferMapSetVacuum(vacuumOn As Boolean)

Remarks: Open or close the vacuum valve.

Return to Index...

WaferMapResultsFolder
Public Property WaferMapResultsFolder() As String

Remarks: Get or set the name of the folder (including path) where wafer map files are automatically
saved at the completion of a wafer map if WaferMapRecipeSaveResultsToDisk is set to True.

Return to Index...

WaferMapSetCurrentLocationAsSampleOrigin
Public Sub WaferMapSetCurrentLocationAsSampleOrigin()

Remarks: Set the current stage position as the sample origin. This method is typically used when the user
desires to interactively locate the sample origin, often by viewing an image from a camera. This method is
only useful if Automatic Alignment is turned off.
149

Return to Index...

WaferMapStateChangedHandler
Public Delegate SubWaferMapStateChangedHandler(theCommandStates As
Filmetrics.FIRemote.FIWaferMapCommandStates)
Public Event WaferMapStateChanged(theCommandStates As
FIWaferMapCommandStates)

theCommandStates - Lists the current states of the buttons on WaferMap panel.

Remarks: This event is raised when the state of the buttons in the wafer map operation control area
(Start, Stop, New, etc.) has changed.

Return to Index...

WaferMapStart
Public Sub WaferMapStart()

Remarks: This method starts a new measurement of wafer map. If the wafer map has been paused, then
calling this method will resume the wafer map.

Return to Index...

WaferMapStop
Public Sub WaferMapStop()

Remarks: This method pauses the current measurement. The paused measurement can be resumed by
calling WaferMapStart().

Return to Index...

ZGetLimitsSampleCoordMm
Public Sub ZGetLimitsSampleCoordMm(ByRef lowLimit As Double, By Ref
highLimit As Double)

lowLimit, highLimit – Motion limits in mm for z (focus) motion.

Remarks: The focus mechanism is restricted so that it can only move in the range described by the
lowLimit and highLimit. Increasing z values represent locations further from the sample stage surface.
150

Return to Index...

FIRemoteMapCOM dll
The dll is automatically included whenever FILMapperis installed. Since the dll references the
corresponding .exe file it is located inside the FILMapper folder in the Program Files (or Program Files
(x86) on 64-bit systems) path. The best way to learn how to use the dll is to examine the example Excel
workbook that is included with the software. The workbook has the same name as the dll, but has the
extension .xlsm and is located in the same folder as the dll. When you open the . xlsm file for the first
time, you will see a warning banner as shown below.

You must click the Enable Content button in order to allow the code associated with the buttons on the
worksheets to run. If you do not see the security warning when you open the spreadsheet, then you
may need to modify settings in Excel using the Trust Center. The exact procedure varies, depending on
which version of Excel you are using.

To see the example source code, click the Developer tab on the ribbon. Then click Visual Basic and
double-click the ThisWorkbook object.

Reference for FIRemote Class in FIRemoteMapCOM dll:

Methods, Properties, and Events:


Public Sub AcquireSpectrum(ByRef spectrumWavelengths() As Single,
ByRef spectrumData() As Single)
arguments – Same as FIRemote Class

Remarks: See remarks for AcquireSpectrum() in FIRemote Class.

Public Sub AuthenticateRefBac()


arguments – Same as FIRemote Class

Remarks: See remarks for AuthenticateRefBac() in FIRemote Class.

Public Sub BaselineAcquireBackgroundAfterRef()


arguments – Same as FIRemote Class

Remarks: See remarks for BaselineAcquireBackgroundAfterRef() in FIRemote Class.

Public Sub BaselineAcquireReference()


arguments – Same as FIRemote Class

Remarks: See remarks for BaselineAcquireReference() in FIRemote Class.


151

Public Sub BaselineAcquireSpectrumFromSample()


arguments – Same as FIRemote Class

Remarks: See remarks for BaselineAcquireSpectrumFromSample() in FIRemote Class.

Public Sub BaselineCommit()


arguments – Same as FIRemote Class

Remarks: See remarks for BaselineCommit() in FIRemote Class.

Public Sub BaselineSetRefMat()


arguments – Same as FIRemote Class

Remarks: See remarks for BaselineSetRefMat() in FIRemote Class.

Public Sub Measure(ByVal formatSummaryAsRtf As Boolean, ByRef


measLayerThickness() As Single, ByRef measGOF As Single, ByRef
summary As String)

formatSummaryAsRtf – The measurement summary can be formatted as either plain text or as rtf.
Formatting the summary as rtf is advantageous if it will be displayed to the user because then the full set
of information including bold font and colors will be included.

measLayerThickness – Array containing thickness of all layers. Thickness of Layer 1 is in index 1 in the
array.

measGOF – Measured Goodness Of Fit parameter.

Summary – Same as text which appears in Results area in Measure tab.


Remarks: See remarks for Measure() in FIRemote Class.

Public Sub SetRecipe(recipeName As String)

Arguments and Remarks – See documentation for SetRecipe in FIRemote Class.

End User Software License


Important – Read carefully: This Agreement (“Agreement”) is a legal agreement between you (both you,
individually and your company entity) and Filmetrics, Inc. (“Licensor” or “Filmetrics”) The FILMapper
software (the “Software”) subject to this Agreement and any accompanying documentation is for your
use solely and exclusively with a device manufactured by or for Filmetrics (“Filmetrics Device”).
152

By downloading, installing, copying or otherwise using the Software you


expressly agree to be bound by all of the terms of this Agreement. This Agreement is
displayed for you to read prior to using the Software. If you choose not to accept, or do not agree with all
of the provisions of this Agreement, do not download, install or use the Software but, instead delete it
and, if applicable, request from the authorized Filmetrics distributor from whom you purchased the
Software, a full refund of any fees you paid for the Software.
LICENSE
This license agreement (“license”) permits you to use one copy of the Software on any single computer.
The Software is owned by Filmetrics and is protected by United States copyright law and international
treaty provisions. Therefore, this software should be treated as any other copyrighted material except
that you may either: (1) make one copy of the Software for archival backup purposes, or (2) copy the
Software to a single hard disk in all cases, solely for use with a Filmetrics Device. If the Software is used on
a networked computer system where more than one computer can access the Software provisions must
be made to insure that the number of concurrently executing copies of the Software cannot exceed the
number of licenses.

You may transfer the Software and all rights under this Agreement to another party together with a copy
of this Agreement if the other party agrees to accept the terms and conditions of this Agreement. If you
transfer the Software, you must at the same time either transfer all copies (including any prior versions)
in any form to the same party or destroy any copies not transferred.
RESTRICTIONS
You may not use, disclose, distribute, copy, modify, rent, lease, loan, resell, network or transfer the
Software, or any copy, modification or merged portion thereof, in whole or in part, to any third party
except as expressly specified in this Agreement. You agree to provide reasonable security precautions to
prevent unauthorized access to or use of the Software as proscribed herein. You agree not to decompile,
reverse engineer, disassemble or otherwise reduce the Software to a human perceivable form and you
agree not to permit any person or entity to do so. You shall not remove, alter, cover, or obscure any
confidentiality, trade secret, proprietary, or copyright notices, trademarks, proprietary, patent, or other
identifying marks or designs from any component of the Software, and you shall reproduce and include
in all copies of the Software the copyright notice(s) and proprietary legend(s) of Filmetrics and its
licensors as they appear in the Software.
153

SOURCE CODE
If source code to the Software was supplied to you, then you may modify and use that source code in
place of the executable version of the Software, but no further rights to distribution or use are granted.
You acknowledge that you have no obligation to create modifications of the Software source code
(“Licensed Revisions”) nor to disclose such Licensed Revisions to Licensor. You acknowledge that by
making Licensed Revisions, the underlying Software may not be compatible with any future versions of
the Software that Licensor might offer (in Licensor’s sole discretion), and you agree to assume such risk.
Continuing for the term of this Agreement, you hereby grant to Licensor and its affiliates a limited non-
transferable, non-exclusive, worldwide, fully paid-up, royalty-free license (with the right to sublicense) to
make, use, sell, offer to sell, import, export and otherwise distribute such Licensed Revisions under any
of your patents that, if not authorized, would be directly or indirectly infringed by the manufacture, use,
sale, offer to sell or other distribution of the Licensed Revisions. You may not combine or distribute the
Software or Licensed Revisions with Open Source Software (as defined below) or with software developed
using Open Source Software (e.g., tools) in a manner that subjects the Software and Licensed Revisions
or any portion thereof to any license obligations of such Open Source Software. "Open Source Software"
means any software licensed under terms requiring that other software combined or distributed with
such software: (i) be disclosed or distributed in source code form; (ii) be licensed on terms inconsistent
with the terms of this Agreement.
TERM
This Agreement is effective until terminated. You may terminate it at any time by destroying the Software
together with all copies, modifications and merged portions in any form. This Agreement will
immediately and automatically terminate without notice if you fail to comply with any term or condition
of this Agreement. You agree upon termination to cease using and promptly destroy the Software and
Licensed Revisions together with all copies in any form.
GOVERNMENT LICENSEE
If you are acquiring the Software on behalf of any unit or agency of the United States Government, the
following provisions apply:
The Government acknowledges the licensor’s representation that the Software and its documentation
were developed at private expense and no part of them is in the public domain. The Software is a
"commercial item," as that term is defined at 48 C.F.R. 2.101 (OCT 1995), consisting of "commercial
computer software" and "commercial computer software documentation," as such terms are used in 48
C.F.R. 12.212 (SEPT 1995). All U.S. Government licensees and end users acquire the Software with only
those rights set forth herein.
EXPORT LAW ASSURANCES
You acknowledge and agree that the Software is subject to restrictions and controls imposed by the
United States Export Administration Act (the “Act”) and the regulations thereunder. You agree and certify
that neither the Software nor any direct product thereof is being or will be acquired, shipped, transferred
or re-exported, directly or indirectly, into any country prohibited by the Act and the regulations
thereunder or will be used for any purpose prohibited by the same.
154

DISCLAIMER OF WARRANTIES. EXCEPT TO THE EXTENT OF ANY LIMITED WARRANTY PROVIDED BY THE
SELLER, THE SOFTWARE IS FURNISHED "AS-IS", AND TO THE MAXIMUM EXTENT PERMITTED BY
APPLICABLE LAW, LICENSOR MAKES NO WARRANTY, EXPRESS, IMPLIED OR STATUTORY, INCLUDING ANY
IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, TITLE OR NON-
INFRINGEMENT OF ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADE SECRETS OR OTHER INTELLECTUAL
PROPERTY RIGHTS. LICENSOR DOES NOT WARRANT THAT THE SOFTWARE IS FREE FROM BUGS, VIRUSES,
ERRORS OR OTHER PROGRAM LIMITATIONS. YOU AGREE TO USE YOUR INDEPENDENT JUDGMENT IN
DEVELOPING YOUR PRODUCTS. YOU ACKNOWLEDGE AND AGREE THAT LICENSOR IS UNDER NO
OBLIGATION TO INSTALL, MAINTAIN OR SUPPORT THE SOFTWARE, OR PROVIDE UPGRADES OR NEW
RELEASES THEREOF, SHOULD LICENSOR PROVIDE ANY ASSISTANCE LICENSOR MAKES NO WARRANTIES
WITH RESPECT TO ANY SUCH ASSISTANCE. YOU ASSUME THE ENTIRE RISK ARISING OUT OF THE USE OR
PERFORMANCE OF THE SOFTWARE AND ANY SYSTEMS OR PRODUCTS YOU DESIGN USING THE
SOFTWARE.
EXCLUSION OF DAMAGES. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL
LICENSOR, OR ITS EMPLOYEES, OFFICERS, DIRECTORS, AGENTS, AFFILIATES OR ANY APPLICABLE
LICENSOR (TOGETHER THE “REPRESENTATIVES”), BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
PUNITIVE OR CONSEQUENTIAL DAMAGES, INCLUDING BUT NOT LIMITED TO, DAMAGES FOR ANY LOSS OF
USE, LOSS OF TIME, INCONVENIENCE, COMMERCIAL LOSS OR LOST PROFITS, SAVINGS OR REVENUES,
HOWEVER CAUSED, ON ANY THEORY OF LIABILITY, IN CONNECTION WITH OR ARISING OUT OF THIS
AGREEMENT, THE SOFTWARE, THE LICENSED REVISIONS EVEN IF LICENSOR REPRESENTATIVES HAVE BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND EVEN IF A REMEDY SET FORTH HEREIN IS FOUND
TO HAVE FAILED OF ITS ESSENTIAL PURPOSE. IN NO EVENT SHALL LICENSOR’S AGGREGATE LIABILITY
UNDER THIS AGREEMENT EXCEED USD $500.00 OR THE FEES PAID BY YOU FOR THE SOFTWARE UNDER
THIS AGREEMENT. THE LIMITATIONS OF DAMAGES SET FORTH ABOVE ARE FUNDAMENTAL ELEMENTS OF
THE BASIS OF THE BARGAIN BETWEEN LICENSOR AND YOU.
155

GENERAL
This Agreement will be governed by the laws of the State of California, U.S.A. without regard to its conflict
of law provisions. If a court of competent jurisdiction finds any provision of the Agreement to be
unenforceable, that provision will be enforced to the maximum extent possible to effectuate the intent of
the parties, and the remainder of the Agreement will continue in full force and effect. Failure of Licensor
to enforce any terms of this Agreement shall not be deemed or considered a waiver of future
enforcement of that or any other term in this Agreement and no consent, waiver, or excuse by Licensor,
express or implied, constitutes a subsequent consent, waiver or excuse. You acknowledge that you have
read this Agreement, understand it and agree to be bound by its terms and conditions. You further agree
that it is the complete and exclusive statement of the agreement between us which supersedes any
proposal or prior agreement, oral or written, and any other communications between us in relation to
the subject matter of this Agreement. This Agreement shall be modified only by a written instrument
signed by a duly authorized representative of Licensor, or from time to time, Licensor may modify or
change the terms and conditions of this Agreement and supersede the terms of any prior version of this
Agreement, in connection with any supplemental, different or new terms that might apply to an update
or upgrade of the Software made available by Licensor, in Licensor’s sole discretion. Your continued use
of the Software after you download and accept the new, additional or changed terms applicable to such
update or upgrade will indicate your agreement to the change to this Agreement. You may not sell,
assign, transfer, delegate, convey, pledge, encumber or otherwise dispose of, by operation of law or
otherwise, the Software, Licensed Revisions or this Agreement, or any rights or obligations hereunder.
Licensor may assign this Agreement, and any or all of its rights and duties under this Agreement, without
prior notice to you or your consent. You hereby warrant and represent that you have obtained all
authorization and other applicable consents required empowering you to enter into this Agreement.
Rights and obligations under this Agreement which by their nature should survive, will remain in effect
after termination or expiration of this Agreement.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy