The invention generally relates to the simulation of scanning beam images by combination of primitive features, such as primitive features that are extracted from a surface model, for example.
A scanning beam imaging tool, such as a scanning electron microscope (SEM), focused ion beam (FIB) tool, or optical scanner, typically is used for purposes of generating an image of a micro-scale or nano-scale surface. As examples, the surface may be the surface of a silicon semiconductor structure or the surface of a lithography mask that is used to form a layer of the semiconductor structure.
The scanning beam imaging tool may provide a two-dimensional (2-D) image of the surface. Although the 2-D image from the tool contains intensities that identify surface features, it is difficult for a human to infer the three-dimensional (3-D) structure of the surface from an image. To aid interpreting the 2-D image, the surface may be physically cut and the tool may be used to generate additional 2-D images showing cross sections of this surface.
Simulated images may also be used to interpret the 2-D image from the scanning beam imaging tool. The image acquired by a scanning beam image tool can be simulated by a computer-aided simulation that models the physical interaction between the scanning beam of the tool and a hypothetical surface. One such simulation is called a Monte Carlo simulation, which is a standard approach for simulating the physics behind the image that is generated by the tool. The Monte Carlo model is based on a physical simulation of electron or ion scattering. Because the scattering simulation is randomized and many particles must be simulated in order to produce the simulated image with relatively low noise, the Monte Carlo simulation may take a significant amount of time to be performed. Also, the Monte Carlo simulation does not express the simulation output in terms of an analytic function that can be used for subsequent processing steps. Another approach to simulation uses what is called a shading model, in which the intensity in scanning beam image is modeled as a function of the local surface orientation. This method is not accurate at the nanometer scale but does express the simulation in terms of an analytic function.
Thus, there is a continuing need for faster and more accurate ways to simulate an image from a scanning beam image tool. Also, there is a need to be able to express the relationship between surface shape at the nanometer scale and scanning beam image intensity using an analytic function.
Referring to
The system 30 receives an input image 36 (further described below) that indicates characteristics of the surface, and based on the input image 36, the system 30 generates an output image 46, a simulated scanning beam image of the surface. The output image 36 may be used for numerous purposes, such as interpreting an actual 2-D image of the surface obtained from a scanning beam imaging tool, for example.
In some embodiments of the invention, the input image 36 is a height field image, which means the intensity of each pixel of the image 36 indicates the height of an associated microscopic feature of the surface. Thus, for example, a z-axis may be defined as extending along the general surface normal of the surface, and the intensity of each pixel identifies the z coordinate (i.e., the height) of the surface at a particular position of the surface. Even if the specimen under measurement has undercuts or voids, some undercutting may be handled by this approach if the structure of the undercut is predictable from the first surface height. For example, if the shape of an undercut is a function of the height of a step edge, then the approach described herein may be used to model the intensity resulting from the beam interaction with the undercut surface.
The height image may be generated from manufacturing design specifications used to form the various semiconductor layers and thus, form the observed surface. Other variations are possible, in other embodiments of the invention.
The system 30 includes a filter bank 38 that receives the input image 36. The filter bank 38 contains N filters, each of which produces a corresponding intermediate image 40. The filters of the filter bank 38 are designed to identify particular local features that might appear on the observed surface. A combining function 44 combines the intermediate images 40 to produce the final output image 46.
As described further below, in some embodiments of the invention, each filter of the filter bank 38 may be derived from a local polynomial approximation to the input image. The polynomial approximation, in turn, provides an approximation to one of three local features at the pixel (in some embodiments of the invention): the minimum and maximum principal curvatures for the surface at the pixel and surface slope at the pixel.
Each filter defines a particular area around the pixel, accounting for different feature sizes on the surface. For example, a particular filter may form the associated intermediate image 40 by fitting a polynomial function to the pixel intensities over an appropriate 3 pixel-by-3 pixel area around the pixel and computing an output value from the coefficients of the polynomial. Other filters may be associated with different scales such as 10 pixel-by-10-pixel areas, 30 pixel-by-30 pixel areas, etc. Thus, each of the three basic features (slope, minimum curvature and maximum curvature) described above may be associated with different scales. For example, ten filters may approximate the local slopes surrounding each pixel for ten different pixel scales; ten more filters may approximate the minimum principal curvature surrounding each pixel for ten different pixel scales; and ten additional filters may approximate the maximum principal curvature surrounding each pixel for ten different pixel scales. The numbers stated herein are by way of example only, as the number of filters of the filter bank 38 varies according to the particular embodiment of the invention.
In some embodiments of the invention, the technique described herein includes an algorithm to fit an image formation model to example pairs of actual surfaces and the corresponding scanning tool images. Furthermore, as described below, the technique includes computing the derivative of a simulated image with respect to a parameter controlling the surface shape. A primary feature of the technique is to represent simulated images as functions of a set of local geometric image features in the input surfaces.
The technique described herein uses a training algorithm that learns the relationship between the geometric properties of the surface and the image intensity. The local features are computed on multiple scales that are motivated by different scales of the physical interaction of the scanning beam and the specimen. The learning algorithm also determines the appropriate set of local features and spatial scales to reduce the dimensionality without loss of accuracy. After the system is trained, any input surface may be simulated by decomposing it into the learned set of local geometric features and combining these into the learned image generation function.
As a more specific example,
Turning now to the more specific details, in some embodiments of the invention, the combining function may be described as follows:
where “H” represents the height field image; “x” represents a particular pixel location; “i” is an index for the filter, ranging from 1 to N; “Fi” represents the ith filter of the filter bank; “ai” represents the multiplication factor coefficient for the ith filter; and “d” represents a constant offset. This is only one possibility. Non-linear combining functions are possible. Also, the training procedure we describe is applicable to any combining function that is a polynomial function of the filter bank outputs.
The ai coefficients are derived using a training procedure to determine which filters are important for computing the final output image 46. For example, for simplicity, assume an input image 36 called “Htrain” and a resulting output image 46 called “Itrain.” During training, the Htrain image is filtered by each of the filters of the filter bank 38 to generate a set of intermediate training images. Next, a principal component analysis of the output images is performed to eliminate redundant dimensions in the filter basis.
In some embodiments of the invention, the principal components are computed as the eigenvectors of an N×N correlation matrix of the intermediate training images. The eigenvalues of the correlation matrix measure the amount of variation in the intermediate training images. In some embodiments of the invention, principal components whose eigenvalues are less than 1.0 may be ignored. In other embodiments of the invention, the principal components are not ignored unless the eigenvalues are less than 0.1. Other thresholds may be used, in other embodiments of the invention.
After determining the principal components, the following linear least squares problem, described below, is solved:
where “PCi[j]” represents the jth element of the ith principal component (i indexes the principal components in order from largest to smallest eigenvalue); “M” represents the number of principal components with eigenvalues greater than 0.1 (M≦N); d represents a constant offset; and the “bi” represents coefficients of the principal component filter output images that are computed by the inner summation.
Finally, the a s components are derived as follows:
If one of the intermediate training images has a relatively small contribution to the total output, then the corresponding filter may be removed from the filter bank 38, and the fitting process is repeated to make a more efficient model, in some embodiments of the invention. Once the parameters have been determined from the above-described training technique, the filter bank 38 may be used to synthesize images from novel input images 36 provided by sampling the height from any hypothetical 3-D model of the surface.
Referring to
In some embodiments of the invention, the filter bank that is used is based on computing the height gradient magnitude and principal curvatures from local cubic approximations to the input surface. However, the proposed algorithm is not limited to these filters. Any other set of filters can be used to compute local geometric features if they are appropriate to represent the relationship between local surface structure and image intensity. Using nonlinear features enables representation of a highly nonlinear phenomenological relationship. The output of the individual filters in the filter bank corresponds to the gradient magnitude and curvature values at each pixel of the input height image. In some embodiments of the invention, filter kernels that compute the local cubic approximations with a Gaussian weighted fit are used. Using a Gaussian weighted fit helps to reduce undesirable ringing effects near sharp edges.
In some embodiments of the invention, a facet model is used to estimate slope and curvature. A facet model represents an image as a polynomial fit to the intensities in the local neighborhood of each pixel. The image is thus represented as a piecewise polynomial function with a different polynomial for each pixel (one facet per pixel). For the cubic facet model a local neighborhood of an image, f(r, c), is approximated by a two-dimensional cubic polynomial, as described below:
f(r,c)≈K1+K2r+K3c+K4r2+K5rc+K6c2+K7r3+K8r2c+K9rc2+K10c3, Equation 4
Given a cubic facet model, the slope (gradient magnitude) and curvature (two principal curvatures) for each pixel are computed as described below:
where “G” is the gradient magnitude and K+ and K are the principal curvatures. These three operators for a variety of neighborhood sizes are then used as the filter basis. The circular symmetry of these filters is appropriate because the Monte Carlo model assumes circular symmetry in the detector geometry. As can be seen from these formulae, only K2, K3, K4, K5 and K6 are needed. Fortunately, the polynomial coefficients can each be efficiently computed using a convolution operation, described below.
Alternatively, the coefficients for higher order polynomial fits may be used. Also, Gabor filters may be useful for capturing the effects of periodic structures on intensity. In SEM images, repeated structures in close proximity typically have different contrast from the same structures in isolation. In the case of an SEM where the detector geometry is not circularly symmetric, the coefficients of the cubic polynomial may be used separately as the filters instead of combining them into gradient magnitude and principal curvatures.
In some embodiments of the invention, a Gaussian weighting function is used. The support neighborhood size is still an odd integer but an additional width parameter for the Gaussian function provides continuous control over the effective neighborhood size. The Gaussian weighting function has the advantage of preserving separability and is defined as follows:
w(r, c)=wr(|r|)·wc(|c|)=k·e−(r
where wr(x)=wc(x)=√{square root over (k)} exp(−x2/(2σ2)) and k is a normalizing factor such that ΣcΣcw(r, c)=1.
To fit a polynomial using a weighting function the weighted squared error is minimized as described below
The convolution kernels for the coefficients of the Gaussian-weighted facet model are described in the appendix.
In some embodiments of the invention, the convolution kernels are computed which when convolved with an image give the facet model representation of that image minimizing the following equation, a general solution for the K coefficients may be described as follows:
In terms of these definitions, the solution is as follows:
Each of the K coefficients corresponds to a 2-D image where each pixel represents the fit to a neighborhood centered on the corresponding pixel in an input image. The image for a K coefficient can be efficiently computed by a convolution with a convolution kernel the size of the neighborhood.
For computing the K coefficients using the Gaussian-weighted facet model, the variables G, A, B, Q, T, U, V, W, and Z from Equations 12-20 are computed by the same formulae except using variables Rn and Cn defined as follows:
Then the coefficients are computed as follows:
Referring to
Among the other features of the computer system 200, the computer system 200 may include a memory bus 208 that couples the memory 210 to a memory hub 206. The memory hub 206 is coupled to a local bus 204, along with a processor 202. The memory hub 206 may be coupled to a network interface card (NIC) 270 and a display driver 262 (that drives a display 264) for example. Furthermore, the memory hub 206 may be linked (via a hub link 220) to an input/output (I/O) hub 222, for example. The I/O hub 222, in turn, may provide interfaces for a CD ROM drive 260 and/or a hard disk drive 250, depending on the particular embodiment of the invention. Furthermore, an I/O controller 230 may be coupled to the I/O hub 222 for purposes of providing the interfaces for a keyboard 246, mouse 242 and floppy disk drive 240.
Although
While the invention has been disclosed with respect to a limited number of embodiments, those skilled in the art, having the benefit of this disclosure, will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of the invention.