This example demonstrates the direct simulation approach for optical defect metrology without obtaining S-matrix. The scanning-spot images with different structural properties can be efficiently calculated using this approach.
Understand the simulation workflow and key results
With the direct simulation approach, the intensity at each pixel of the scanning-spot image can be obtained from a single FDTD simulation using far-field integration, making it favorable when only a small number of pixels is desired. In addition, broadband results can also be obtained without running additional FDTD simulations. On the other hand, the S-matrix approach requires a large set of FDTD simulations regardless of the number of pixels needed, and frequency sweep is needed for broadband results. In this example, the direct simulation approach is used to produce 1D scanning-spot images in the presence of defects of varying sizes and types.
Run and results
Instructions for running the model and discussion of key results
- Open sram_direct_simulation.fsp and place optical_metrology_function.lsf in the same working directory
- Run direct_simulation.lsf ("safe-mode" need to be turned off)
In this example, we simulate both “protrusion” and “break” type defects with defect size varying from 10nm to 30nm. We construct the scan-spot image by simulating the intensity of each pixel scanned. If we want to obtain the contrast of scan-spot image which can often be translated to the signal for defect detection, an 1D image is usually sufficient. Here we perform 1D rather than a 2D scan to reduce the computational cost since the number of FDTD simulations required is proportional to the number of pixels of the scan-spot image. The results show that the "protrusion” type exhibits a higher image contrast than the “break” type for the same defect size. This implies that the "protrusion” type can be more easily detected for the structure using current optical system configurations.
Important model settings
Description of important objects and settings used in this model
Defect type and size
In the script file direct_simulation.lsf , under STRUCTURAL SETTINGS, the type of defect can be selected as either “protrusion” or “break”. A “protrusion” defect is represented by an Si block protruded from the representative Si SRAM pattern. A “break” defect is represented by an etch which cuts the Si SRAM pattern. The “size” element of the “defect” struct data is used to define the y-span of the defect and can be a single number or an array of numbers.
In this example, we use a scanning-spot microscope system. The illumination spot given by x0_illumination and y0_illumination is swept by shifting the whole structure including defect and SRAM. At each illumination spot position, one FDTD simulation is performed and the intensity at the corresponding pixel of the scanning-spot image is obtained by integrating the farfield intensity over the collection filter.
Source and boundary conditions
Unlike the S-matrix approach which uses Bloch boundaries to consider a supercell with a plane wave source, here we use PML boundaries to directly consider the structures of interest with a Gaussian beam source.
Spans of simulation region, source and monitor
To prevent simulation artifacts, the spans of the simulation region, source, and monitor need to be large enough to avoid clipping of the fields at the source and the reflection monitor.
Updating the model with your parameters
Instructions for updating the model based on your device parameters
Under STRUCTURAL SETTINGS, “get_background” can be enabled to calculate the background image without the presence of the defect and subtract the background from the defect image.
Illumination and collection filter
Under ILLUMICATION SETTNGS and COLLECTION SETTINGS, Illumination filter (NA_in) and collection filter (NA_out_min and NA_out_max) can be updated with desired values.
Under ILLUMICATION SETTNGS, "illumination_params.z0" can be used to define the focus plane of the illumination spot. "illumination_params.x0" and "illumination_params.y0" can be used to sweep the x and y position of illumination spot to obtain a 1D or 2D image.
The illumination polarization can be defined by the polarization angle of the source. For unpolarized illumination, two FDTD simulations with orthogonal source polarizations need to be performed. The image from each simulation can then be averaged to represent the unpolarized result.
It is also possible to calculate the 2D image by scanning both x and y position of the illumination spot. However, this requires a larger set of FDTD simulations than a 1D image since the number of FDTD simulations required is proportional to the number of pixels of the scan-spot image. When the desired number of pixels of the image exceeds the number of FDTD simulations required for S-matrix extraction, it may be more efficient to use the S-matrix approach instead.
It is possible to separately enable or disable generating, running, loading FDTD simulations, and saving image data using CONFIGURATION FLAGS when needed. For example, when the background simulations have previously been completed, we only need to load the image data of the background and do not need to generate, run, load FDTD simulations and save image data again.
Taking the model further
Information and tips for users that want to further customize the model
Custom illumination filter
A customized pupil can be created by enabling "illumination_params.pupil" under ILLUMINATION SETTINGS, in the generate_pupil_function.lsf , and by defining the pupil function .
Since FDTD is a broadband simulation, by modifying the script files, broadband results can be obtained without running additional FDTD simulations.
Tips for ensuring that your model is giving accurate results
Mesh may need to be refined further when the defect or underlying structure becomes smaller. However, if you are mostly interested in the presence/absence of the defects, you might not need to use very fine meshes to better resolve the defects.
Additional documentation, examples and training material