U.S. patent application number 11/757805 was filed with the patent office on 2008-12-04 for system and method for model-based sub-resolution assist feature generation.
This patent application is currently assigned to BRION TECHNOLOGIES, INC.. Invention is credited to Yu Cao, Hanying Feng, Jun Ye.
Application Number | 20080301620 11/757805 |
Document ID | / |
Family ID | 40089722 |
Filed Date | 2008-12-04 |
United States Patent
Application |
20080301620 |
Kind Code |
A1 |
Ye; Jun ; et al. |
December 4, 2008 |
SYSTEM AND METHOD FOR MODEL-BASED SUB-RESOLUTION ASSIST FEATURE
GENERATION
Abstract
Methods are disclosed to create efficient model-based
Sub-Resolution Assist Features (MB-SRAF). An SRAF guidance map is
created, where each design target edge location votes for a given
field point on whether a single-pixel SRAF placed on this field
point would improve or degrade the aerial image over the process
window. In one embodiment, the SRAF guidance map is used to
determine SRAF placement rules and/or to fine tune already-placed
SRAFs. In another embodiment the SRAF guidance map is used directly
to place SRAFs in a mask layout.
Inventors: |
Ye; Jun; (Palo Alto, CA)
; Cao; Yu; (Cupertino, CA) ; Feng; Hanying;
(Fremont, CA) |
Correspondence
Address: |
PILLSBURY WINTHROP SHAW PITTMAN LLP
P.O. BOX 10500
MCLEAN
VA
22102
US
|
Assignee: |
BRION TECHNOLOGIES, INC.
Santa Clara
CA
|
Family ID: |
40089722 |
Appl. No.: |
11/757805 |
Filed: |
June 4, 2007 |
Current U.S.
Class: |
716/50 ;
430/5 |
Current CPC
Class: |
G03F 1/36 20130101 |
Class at
Publication: |
716/19 ;
430/5 |
International
Class: |
G06F 17/50 20060101
G06F017/50; G03F 1/00 20060101 G03F001/00 |
Claims
1. A method for placing sub-resolution assist features in a mask
layout, comprising: generating an SRAF guidance map for the mask
layout, wherein the SRAF guidance map is an image in which each
pixel value indicates whether the pixel would contribute positively
to edge behavior of features in the mask layout if the pixel is
included as part of a sub-resolution assist feature; and placing
sub-resolution assist features in the mask layout according to the
SRAF guidance map.
2. The method of claim 1, wherein generating an SRAF guidance map
comprises: computing an image gradient map of the mask layout; for
each field point in the mask layout, computing a total vote sum for
a unit source at the field point using the image gradient map; and
assigning values in the SRAF guidance map, wherein the value at a
pixel in the SRAF guidance map is the total vote sum at a
corresponding field point in the mask layout.
3. The method of claim 2, wherein computing a total vote sum for a
unit source at the field point is performed in the frequency domain
and includes: computing the inverse Fourier Transform of a most
significant eigenvector of transmission cross coefficients that
represent the optical path of an exposure tool; computing the
Fourier Transform of the mask layout; multiplying the inverse
Fourier Transform by the sum square of frequency and the Fourier
Transform of the mask layout to produce a product; and computing
the inverse Fourier Transform of the product to produce the SRAF
guidance map.
4. The method of claim 1, wherein generating an SRAF guidance map
comprises: computing a bilinear SRAF guidance map kernel using the
transmission cross-coefficients that represent the optical path of
an exposure tool; computing a linear SRAF guidance map kernel using
the transmission cross-coefficients; computing a partial SRAF
guidance map using the bilinear SRAF guidance map kernel and the
mask layout; computing a second partial SRAF guidance map using the
linear SRAF guidance map kernel and the mask layout; and combining
the partial SRAF guidance map and the second partial SRAF guidance
map.
5. The method of claim 1, further comprising generating SRAF
placement rules using the SRAF guidance map.
6. The method of claim 1, wherein the mask layout includes optical
proximity corrections.
7. A computer-readable medium including instructions for
performing: generating an SRAF guidance map for the mask layout,
wherein the SRAF guidance map is an image in which each pixel value
indicates whether the pixel would contribute positively to edge
behavior of features in the mask layout if the pixel is included as
part of a sub-resolution assist feature; and placing sub-resolution
assist features in the mask layout according to the SRAF guidance
map.
8. The computer-readable medium of claim 7, wherein generating an
SRAF guidance map comprises: computing an image gradient map of the
mask layout; for each field point in the mask layout, computing a
total vote sum for a unit source at the field point using the image
gradient map; and assigning values in the SRAF guidance map,
wherein the value at a pixel in the SRAF guidance map is the total
vote sum at a corresponding field point in the mask layout.
9. The computer-readable medium of claim 8, wherein computing a
total vote sum for a unit source at the field point is performed in
the frequency domain and includes: computing the inverse Fourier
Transform of a most significant eigenvector of transmission cross
coefficients that represent the optical path of an exposure tool;
computing the Fourier Transform of the mask layout; multiplying the
inverse Fourier Transform by the sum square of frequency and the
Fourier Transform of the mask layout to produce a product; and
computing the inverse Fourier Transform of the product to produce
the SRAF guidance map.
10. The computer-readable medium of claim 7, wherein generating an
SRAF guidance map comprises: computing a bilinear SRAF guidance map
kernel using the transmission cross-coefficients that represent the
optical path of an exposure tool; computing a linear SRAF guidance
map kernel using the transmission cross-coefficients; computing a
partial SRAF guidance map using the bilinear SRAF guidance map
kernel and the mask layout; computing a second partial SRAF
guidance map using the linear SRAF guidance map kernel and the mask
layout; and combining the partial SRAF guidance map and the second
partial SRAF guidance map.
11. The computer-readable medium of claim 7, further comprising
generating SRAF placement rules using the SRAF guidance map.
12. The computer-readable medium of claim 7, wherein the mask
layout includes optical proximity corrections.
13. Mask layout data including sub-resolution assist features,
wherein the sub-resolution assist features were placed according to
an SRAF guidance map, wherein the SRAF guidance map is an image in
which each pixel value indicates whether the pixel would contribute
positively to edge behavior of features in the mask layout if the
pixel is included as part of a sub-resolution assist feature.
14. The mask layout data of claim 13, wherein the SRAF guidance map
was generated by: computing the inverse Fourier Transform of a most
significant eigenvector of transmission cross coefficients that
represent the optical path of an exposure tool; computing the
Fourier Transform of the mask layout; multiplying the inverse
Fourier Transform by the sum square of frequency and the Fourier
Transform of the mask layout to produce a product; and computing
the inverse Fourier Transform of the product to produce the SRAF
guidance map.
15. The mask layout data of claim 14, wherein the initial mask
layout includes optical proximity corrections.
16. The mask layout data of claim 13, wherein the SRAF guidance map
was generated by: computing a bilinear SRAF guidance map kernel
using the transmission cross-coefficients that represent the
optical path of an exposure tool; computing a linear SRAF guidance
map kernel using the transmission cross-coefficients; computing a
partial SRAF guidance map using the bilinear SRAF guidance map
kernel and the mask layout; computing a second partial SRAF
guidance map using the linear SRAF guidance map kernel and the mask
layout; and combining the partial SRAF guidance map and the second
partial SRAF guidance map.
17. The mask layout data of claim 16, wherein the initial mask
layout includes optical proximity corrections.
18. A mask having a mask layout that includes sub-resolution assist
features, wherein the sub-resolution assist features were placed
according to an SRAF guidance map, wherein the SRAF guidance map is
an image in which each pixel value indicates whether the pixel
would contribute positively to through-focus and through-dose edge
behavior of features in the mask layout if the pixel is included as
part of a sub-resolution assist feature.
19. The mask of claim 18, wherein the SRAF guidance map was
generated by: computing the inverse Fourier Transform of a most
significant eigenvector of transmission cross coefficients that
represent the optical path of an exposure tool; computing the
Fourier Transform of the mask layout; multiplying the inverse
Fourier Transform by the sum square of frequency and the Fourier
Transform of the mask layout to produce a product; and computing
the inverse Fourier Transform of the product to produce the SRAF
guidance map.
20. The mask of claim 19, wherein the initial mask layout includes
optical proximity corrections.
21. The mask of claim 18, wherein the SRAF guidance map was
generated by: computing a bilinear SRAF guidance map kernel using
the transmission cross-coefficients that represent the optical path
of an exposure tool; computing a linear SRAF guidance map kernel
using the transmission cross-coefficients; computing a partial SRAF
guidance map using the bilinear SRAF guidance map kernel and the
mask layout; computing a second partial SRAF guidance map using the
linear SRAF guidance map kernel and the mask layout; and combining
the partial SRAF guidance map and the second partial SRAF guidance
map.
22. The mask of claim 21, wherein the initial mask layout includes
optical proximity corrections.
Description
FIELD OF THE INVENTION
[0001] This invention relates generally to resolution enhancement
techniques for photolithography and relates more particularly to a
system and method for model-based sub-resolution assist feature
generation.
BACKGROUND
[0002] The integrated circuit industry has, since its inception,
maintained a remarkable growth rate by driving increased device
functionality at lower cost. One of the primary enabling factors of
this growth has been the ability of optical lithography to steadily
decrease the smallest feature size that can be formed as part of
the integrated circuit pattern. The steady decline in feature size
and cost and the corresponding increase in the density of features
printed per circuit are commonly referred to as "Moore's Law" or
the lithography "roadmap."
[0003] The lithography process involves creating a master image on
a mask or reticle (mask and reticle are used interchangeably
herein), then projecting an image from the mask onto a
resist-covered semiconductor wafer in order to create a pattern
that matches the design intent of defining functional elements,
such as transistor gates, contacts etc., on the wafer. The more
times a master pattern is successfully replicated on a wafer within
the design specifications, the lower the cost per finished device
or "chip" will be. Until recently, the mask pattern has been an
almost exact duplicate of the desired pattern at the wafer level,
with the exception that the mask level pattern may be several times
larger than the wafer level pattern, due to an imaging reduction
ratio of the exposure tool. The mask is typically formed by
depositing and patterning a light absorbing material on quartz or
another transparent substrate. The mask is then placed in an
exposure tool known as a "stepper" or "scanner" where light of a
specific exposure wavelength is directed through the mask onto the
wafers. The light is transmitted through clear areas of the mask,
but is attenuated by a desired amount, typically between 90 and
100%, in the areas covered by the absorbing layer. The light that
passes through some regions of the mask may also be phase shifted
by a desired phase angle, typically an integer multiple of 180
degrees. After being collected by the projection optics of the
exposure tool, the resulting aerial image pattern is then focused
onto the wafers. A light-sensitive material (photoresist or resist)
deposited on the wafer surface interacts with the light to form the
desired pattern on the wafer, and the pattern is then transferred
into the underlying layers on the wafer to form functional
electrical circuits according to well-known processes.
[0004] In recent years, the feature sizes being patterned have
become significantly smaller than the wavelength of light used to
transfer the mask pattern onto the wafer. This trend towards
"sub-wavelength lithography" has resulted in increasing difficulty
in maintaining adequate process margins in the lithography process.
The aerial images created by the mask and exposure tool lose
contrast and sharpness as the ratio of feature size to wavelength
decreases. This ratio is quantified by the k.sub.1 factor, defined
as the numerical aperture (NA) of the exposure tool times the
minimum feature size W.sub.f divided by the wavelength .lamda.,
i.e., k.sub.1=NAW.sub.f/.lamda.. There is limited practical
flexibility in choosing the exposure wavelength, while the
numerical aperture of exposure tools is approaching physical
limits. Consequently, the continuous reduction in device feature
sizes requires more and more aggressive reduction of the k.sub.1
factor in lithographic processes, i.e. imaging at or below the
classical resolution limits of an optical imaging system.
[0005] New methods to enable low-k.sub.1 lithography have used
master patterns on the mask that are no longer exact copies of the
final wafer level pattern. The mask pattern is often adjusted in
terms of the size and placement of pattern features as a function
of pattern density or pitch. Other techniques involve the addition
or subtraction of extra corners on the mask pattern ("serifs,"
"hammerheads," and other patterns) known as Optical Proximity
Correction, or OPC; and the addition of other geometries that are
not intended to be replicated on the wafer at all. The sole purpose
of these non-printing "assist features," also known as
Sub-Resolution Assisting Features (SRAFs) or scattering bars, is to
enhance the printability of the "main features." The SRAFs are
typically small bars placed close to the main features so that the
printability of the main features is more robust against focus
and/or dose change. All of these methods are often referred to
collectively as Resolution Enhancement Technology (RET). With
decreasing k.sub.1, the magnitude of proximity effects increases
dramatically. In current high-end designs, more and more device
layers require RET, and almost every feature edge requires some
amount of adjustment to ensure that the printed pattern will
reasonably resemble the design intent. The implementation and
verification of such extensive RET application is only made
possible by detailed full-chip computational lithography process
modeling, and the process is generally referred to as model-based
RET. (See "Full-Chip Lithography Simulation and Design
Analysis--How OPC Is Changing IC Design," C. Spence, Proc. SPIE,
Vol. 5751, pp. 1-14 (2005) and "Exploring New High Speed, Mask
Aware RET Verification Flows," P. Martin et al., Proc. SPIE 5853,
pp. 114-123, (2005)).
[0006] The cost of manufacturing advanced mask sets is steadily
increasing. Currently, the cost has already exceeded one million
dollars per mask set for an advanced device. In addition, the
turn-around time is always a critical concern. As a result,
lithography-driven RET design, which assists in reducing both the
cost and turn-around time, has become an integral part of
semiconductor manufacturing.
[0007] FIG. 1 is a flowchart of a prior art method for applying
resolution enhancement techniques to a design layout. In step 110,
a design layout that describes the shapes and sizes of patterns
that correspond to functional elements of a semiconductor device,
such as diffusion layers, metal traces, contacts, and gates of
field-effect transistors, is obtained. These patterns represent the
"design intent" of physical shapes and sizes that need to be
reproduced on a wafer by the lithography process in order to
achieve certain electrical functionality and specifications of the
final device. The design layout is also referred to as the
"pre-RET" layout.
[0008] As described above, numerous modifications to this design
layout are required to create the patterns on the mask or reticle
used to print the desired structures. In step 112, a variety of RET
methods are applied to the design layout in order to approximate
the design intent in the actually printed patterns. The resulting
"post-RET" mask layout differs significantly from the "pre-RET"
design layout. Both the Pre- and Post-RET layouts may be provided
to the lithography simulation system in a polygon-based
hierarchical data file in, e.g., the GDS or the OASIS format.
[0009] In step 114, resist contours on the wafer are simulated
using the post-RET layout and a model of the lithography process.
This model includes an optical model component that describes the
transformation from the post-RET layout to an aerial image (AI) and
a resist model component that describes the transformation from the
AI to the final resist image (RI). In step 116, the simulated
resist contours are extracted from the RI and compared to the
design layout, and in step 118 its is determined whether the
simulated resist contours are acceptable. If they are not
acceptable, then the method returns to step 112 where another
iteration of RET methods are applied to the pre-RET layout. If the
simulated resist contours are acceptable, then the post-RET layout
is output and used to manufacture a mask.
[0010] A central part of lithography simulation is the optical
model component of the model of the lithography process, which
simulates the projection and image forming process in the exposure
tool. The optical model needs to incorporate critical parameters of
the illumination and projection system: numerical aperture and
partial coherence settings, illumination wavelength, illuminator
source shape, and possibly imperfections of the system such as
aberrations or flare. The projection system and various optical
effects, e.g., high-NA diffraction, scalar or vector, polarization,
and thin-film multiple reflection, may be modeled by transmission
cross coefficients (TCCs). The TCCs may be decomposed into
convolution kernels, using an eigen-series expansion. For
computation speed, the series is usually truncated based on the
ranking of eigen-values, resulting in a finite set of kernels. The
more kernels that are kept, the less error is introduced by the
truncation. The lithography simulation system described in U.S.
Pat. No. 7,003,758 allows for optical simulations using a very
large number of convolution kernels without negative impact on
computation time and therefore enables highly accurate optical
modeling. (See "Optimized Hardware and Software for Fast, Full Chip
Simulation," Y. Cao et al., Proc. SPIE Vol. 5754, 407 (2005)).
[0011] As the lithography process entered below the 65 nm node,
leading-edge chip designs have minimum feature sizes smaller than
the wavelength of light used in advanced exposure tools. SRAFs
become indispensable even if OPC techniques provide good results.
Typically, OPC will modify the design layout so that a resist image
(RI) contour is close enough to the design target at nominal
condition. However, the Process Window (PW) is rather small without
any extra features. SRAFs are needed to enhance the printability of
the main features across a wider range of defocus and delta dose
scenarios in order to maintain adequate process margins in the
lithography process.
[0012] One method for implementing SRAFs that is widely in use is
rule-based SRAF placement using an empirical (manual)
rule-generator. In this method, a combination of benchmark test
patterns with different SRAF configurations are printed (or
simulated) on a wafer. Critical Dimension (CD) is then measured on
the wafer, a set of rules for SRAF placement is drawn from the CD
comparison, and finally the set of rules is used in SRAF placement
for each main feature segment in a design. It should be noted that
empirical rule-based SRAF placement requires an efficient mechanism
to solve many conflicts between SRAFs derived from different main
feature segments.
[0013] Another proposed method to generate SRAFs is based on
inverse lithography techniques. In this method, the goal is to
identify a mask image that minimizes an objective function. The
objective function includes the difference between the resulting
aerial image and the ideal design target image and also the
difference between the aerial image intensity at the design target
edge locations and the threshold for contours. To solve this
non-linear programming problem, two iterative approaches are
proposed to identify a local minimum solution. In the first
approach, referred to as "local variations algorithm," each pixel
in the mask layout is added with a hypothetical disturbance, and
the resulting objective function value is compared against the one
without the disturbance to decide whether this disturbance should
be added or not. After all the pixels are processed in such a way,
the whole process is iterated with smaller and smaller disturbances
until the disturbance is small enough (thus the mask image will not
change much after more iterations). In the second approach,
referred to as "gradient descent algorithm," the gradient of the
objective function is computed and the non-linear problem is
replaced by its linear approximation. Then the linear approximation
is solved iteratively until certain convergence criteria are met.
(see "Dense OPC for 65 nm and below," N. B. Cobb and Y. Granik,
Proc. of SPIE, Vol. 5992, pp. 1521-1532, (2005)).
[0014] While these method have demonstrated some successes, their
disadvantages have slowed the development cycle and limited their
usage. For example, the empirical (manual) rule-generator has the
following drawbacks: unable to take into account all possible
patterns/spaces/line widths in a limited number of test patterns;
high cost and low speed to manufacture the mask, print the wafer,
and measure CD; difficulty in measuring the SRAFs' performance
across the PW; and difficulty in resolving SRAF conflicts. The
inverse lithography based method is also complicated and slow,
since it may require quite a few slow iterations to converge. It
may also converge to a local optimum, and it is not feasible to use
it directly as it generates continuous values for each pixel while
only rectangular shaped patterns with mask constraints are
manufacturable. In addition, the objective function includes the
difference between the whole aerial image and the design target,
while in practice, the fidelity of the aerial image contours is of
more interest. The focus on pixels deep inside or outside main
features may be counterproductive. As a result, there exists a
strong need for methods to create a very fast and very efficient
SRAF placement algorithm that will take 2D pattern shapes into
consideration and optimize for the PW rather than a few test
patterns.
SUMMARY
[0015] Methods are disclosed to create efficient model-based
Sub-Resolution Assist Features (MB-SRAF). An SRAF guidance map is
created, where each design target edge location votes for a given
field point on whether a single-pixel SRAF placed on this field
point would improve or degrade the aerial image over the process
window. In one embodiment, the SRAF guidance map is used to
determine SRAF placement rules and/or to fine tune already-placed
SRAFs. In another embodiment the SRAF guidance map is used directly
to place SRAFs in a mask layout.
[0016] In one embodiment, generating an SRAF guidance map includes
computing an image gradient map of the mask layout, then for each
field point in the mask layout, computing a total vote sum for a
unit source at the field point using the image gradient map, and
assigning values in the SRAF guidance map, wherein the value at a
pixel in the SRAF guidance map is the total vote sum at a
corresponding field point in the mask layout. Computing the total
vote sum for a unit source in the frequency domain includes
computing the inverse Fourier Transform of the most significant
eigenvector of transmission cross coefficient that represent the
optical path of an exposure tool, computing the Fourier Transform
of the mask layout, multiplying the inverse Fourier Transform of
the eigenvector by the sum square of frequency and the Fourier
Transform of the mask layout to produce a product; and computing
the inverse Fourier Transform of the product to produce the SRAF
guidance map.
[0017] In another embodiment, generating an SRAF guidance map
includes computing a bilinear SRAF guidance map kernel using
transmission cross-coefficients that represent the optical path of
an exposure tool, computing a linear SRAF guidance map kernel using
the transmission cross-coefficients, computing a partial SRAF
guidance map using the bilinear SRAF guidance map kernel and the
mask layout, computing a second partial SRAF guidance map using the
linear SRAF guidance map kernel and the mask layout, and combining
the two partial SRAF guidance maps.
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] FIG. 1 is a flowchart of a prior art method for applying
resolution enhancement techniques to a design layout;
[0019] FIG. 2 is a flowchart of method steps for generating
model-based sub-resolution assist features, according to one
embodiment of the invention;
[0020] FIG. 3 is one embodiment of an SRAF guidance map (SGM) for a
design layout of a contact layer, according to the invention;
[0021] FIG. 4 is a flowchart of method steps for generating an SRAF
guidance map (SGM) according to one embodiment of the
invention;
[0022] FIG. 5 is a flowchart of method steps for generating an SRAF
guidance map (SGM) according to another embodiment of the
invention;
[0023] FIG. 6A is a diagram of one embodiment of test features and
a coordinate system for generating SRAF placement rules using an
SGM, according to the invention;
[0024] FIG. 6B is a diagram of one embodiment of test contact
features and a coordinate system for generating SRAF placement
rules using an SGM, according to the invention;
[0025] FIG. 6C is a diagram of one embodiment of test features and
a coordinate system for generating SRAF placement rules using an
SGM, according to the invention;
[0026] FIG. 7 is a flowchart of method steps for rule-free
placement of SRAFs using an SGM, according to one embodiment of the
invention;
[0027] FIG. 8 is a flowchart of method steps for integrating
model-based SRAF generation with applying OPC corrections,
according to one embodiment of the invention;
[0028] FIG. 9 is a diagram showing critical dimensions of features
in a layout after application of a prior art SRAF placement rule;
and
[0029] FIG. 10 is a diagram showing critical dimensions of features
in a layout after application of SRAF placement rules created using
an SGM, according to one embodiment of the invention.
DETAILED DESCRIPTION OF THE DRAWINGS
[0030] FIG. 2 is a flowchart of method steps for generating
model-based sub-resolution assist features, according to one
embodiment of the invention. In step 210, a mask layout is
obtained. The mask layout is the pre-OPC (design) layout. In step
212, an SRAF guidance map (SGM) is created for the mask layout. The
SGM is an image in which each pixel value is an indication of
whether the pixel would contribute positively to through-focus and
through-dose edge behavior of features in the mask layout if the
pixel is included as part of an SRAF. If the SGM value for a pixel
is positive, then a unit source (i.e., a single pixel SRAF) at that
pixel location would improve the overall through-focus and
through-dose edge behavior, and the larger the SGM value, the
greater the improvement. Creating the SGM is further described
below in conjunction with FIGS. 4 and 5. In step 214, SRAF
placement rules for the mask layout are created using the SGM.
Creation of SRAF placement rules based on the SGM is further
described below in conjunction with FIGS. 6A, 6B, and 6C. In step
216, SRAFs are placed in the post-OPC layout using the SRAF
placement rules. In optional step 218, the placed SRAFs are fine
tuned using the SGM. For example, the SGM may indicate that a
placed SRAF should be slightly wider than the width dictated by the
rule.
[0031] FIG. 3 is one embodiment of a SRAF guidance map (SGM) for a
design layout of a contact layer, according to the invention.
Bright regions indicate pixels with a positive SGM value. Pixels
within and immediately adjacent to the design features, such as
contact 310, appear the brightest. If mask rule check and SRAF
printability issues are not considered, pixels in bright regions
not within or immediately adjacent to the features, such as region
312, are suitable for inclusion in an SRAF. Pixels in dark regions,
which are pixels with a negative SGM value, are not suitable for
inclusion in an SRAF. An SGM can be generated for a mask layout of
any mask layer. Dark-field masks are assumed throughout; however
the techniques of the invention may be applied to any type of mask
used in any type of exposure tool.
[0032] Through-focus and through-dose edge behavior can be
described using the edge slope of the aerial image at the design
target edge locations. A higher edge slope improves the process
window robustness of the feature, both for changes in dose and for
defocus. Dose change is essentially a threshold change and defocus
can be well approximated by a low-pass blurring effect. High edge
slope improves the robustness against variations in both dose and
defocus, which improves the overall process window. So the goal of
improving process window robustness is transformed into the goal of
increasing the edge slope at the design target edge locations.
[0033] FIG. 4 is a flowchart of method steps for generating an SRAF
guidance map (SGM) according to one embodiment of the invention.
The method of FIG. 4 is a single-kernel approach in which it is
assumed that the optical path of the exposure tool is "near"
coherent and only the first term of the TCC for the exposure tool
is considered.
[0034] The partial coherent aerial image intensity can be
formulated as the following:
I=L.sub.0*(MF.sub.0).sup.2+L.sub.1*(MF.sub.1).sup.2+ . . .
+L.sub.n*(MF.sub.n).sup.2
Where: M is the mask image; n is the number of eigenvalues of the
Transmission Cross Coefficients (TCCs); F.sub.0 to F.sub.n are the
real-space filters corresponding to each TCC term; L.sub.0 to
L.sub.n are the corresponding eigenvalues of each TCC term; ""
means convolution, and "*" is the regular multiplication.
[0035] In the single kernel approach of FIG. 4, the emphasis is on
the aerial image amplitude from the kernel corresponding to the
eigenvalues with the largest absolute value, then:
A= {square root over (I)}.apprxeq.MF
where F=F(x,y) is a scalar field. This field's gradient vector is
denoted as {right arrow over (D)}: {right arrow over (D)}(x,
y)=(D.sub.x, D.sub.y) where (D.sub.x, D.sub.y) is a vector field
with two components:
D x = .differential. F .differential. x D y = .differential. F
.differential. y ##EQU00001##
For an edge, its edge vector {right arrow over (E)} is defined as
the following: its direction is perpendicular to the edge, and
points to the direction with positive edge slope in aerial image A.
Now, from one edge location, the edge's environment is considered
as a field. Assuming that the unit source is at the field location
(x,y), then the aerial image amplitude for an arbitrary point
(x.sub.1, y.sub.1) is F(x.sub.1-x, y.sub.1-y). This unit source's
contribution to the slope of the edge point, which is located at
(x',y'), is proportional to:
S(x,y,x',y')={right arrow over (D)}(x'-x,y'-y)*{right arrow over
(E)}(x',y')
where "*" denotes an inner vector multiplication, so the result is
a scalar S(x,y,x',y'). So, for each edge point, every field
location's contribution to its slope can be calculated. Unit
sources at some field locations will give positive contribution,
some negative. This contribution can then be regarded as the "vote"
by this edge point on whether that field point in the mask layout
should be placed with a unit source.
[0036] Now, for each field point, the "votes" from all edge points
are integrated to produce an integrated final vote for this field
point. This final vote is on whether this field point should be
placed with a unit source. Hence, a threshold is applied to this
vote field to decide where to place the SRAF.
[0037] One problem arises if such a filtering operation is used is
that it is applied per edge point. Since the edge point could be
very irregular, this operation may be quite computationally
expensive. Other disadvantages of this brute-force vote count
scheme are: (1) edges are sampled, so the effects from a continuous
edge are not considered; (2) corners' edge location is from the
pre-OPC layout's sharp corners, which is actually not the desired
contour target location. The true target contour of a corner is
actually a round corner, and the slope on that round contour should
be enhanced.
[0038] To address this problem, the above-described vote-counting
operation is transformed into a classical image processing
algorithm, enabling the vote count using three Fast Fourier
Transform (FFT) operations. By formulating the vote counting
process using FFT operations, the computation speed is vastly
improved, with or without hardware accelerations, such as use of
the full-chip lithography simulation system disclosed in U.S. Pat.
No. 7,003,758. Furthermore, using FFT computations automatically
overcomes the two disadvantages mentioned above. All edges are
continuously considered, and corners are rounded (the rounding
amount depends on the pixel size).
[0039] In step 418, a pre-OPC mask layout M(x,y) is obtained. The
gradient map {right arrow over (G)}(x, y)=(G.sub.x, G.sub.y) of the
pre-OPC mask layout is a vector map composed of:
G x = .differential. M ( x , y ) .differential. x G y =
.differential. M ( x , y ) .differential. y ##EQU00002##
Now, the exact edge points are all the points that have gradients.
The vote on a particular field point comes from every point in the
mask image with a non-zero gradient, based on whether a unit source
on that field point will enhance the gradient. For a unit source at
field point (x,y), its contribution to a gradient value at (x',y')
is:
v ( x , y , x ' , y ' ) = D ( x ' - x , y ' - y ) * G ( x ' , y ' )
= G x ( x ' , y ' ) D x ( x ' - x , y ' - y ) - G y ( x ' , y ' ) D
y ( x ' - x , y ' - y ) ##EQU00003##
Again, "*" represents an inner vector multiplication. The "v" value
can be treated as the vote from the gradient at (x,y) to the field
point (x',y'), so the total vote sum from the unit source at field
point (x,y) is
V ( x , y ) = ( x ' , y ' ) v ( x , y , x ' , y ' ) = ( x ' , y ' )
[ G x ( x ' , y ' ) D x ( x ' - x , y ' - y ) + G y ( x ' , y ' ) D
y ( x ' - x , y ' - y ) ] ##EQU00004##
G.sub.x and G.sub.y are the two gradient component images of
M(x,y), and D.sub.x and D.sub.y are prior known filters. The SUM
operation is now a standard convolution filtering on a regular
image grid. So V can be computed by two filtering operations. These
two filtering operations are quite expensive if performed in
real-space, since D.sub.x and D.sub.y are non-separable large
filters. So, to make these two filtering operations manageable,
they are performed in the frequency domain. In the frequency
domain, there is no need to compute G.sub.x and G.sub.y explicitly.
Instead, G.sub.x and G.sub.y can be computed directly from
M(x,y).
[0040] If Z(x) is an arbitrary function, FFT(Z(x)) is its Fourier
Transform, and F(x)=dZ/dx is its derivative, then the Fourier
Transform of Z'(x) is
FFT(Z'(x))=ifFFT(Z(x))
Where i is the imaginary unit, f is the frequency. As a result,
FFT(G.sub.x)=if.sub.xFFT(M), FFT(G.sub.y)=if.sub.yFFT(M)
FFT(D.sub.x)=if.sub.xFFT(F), FFT(D.sub.y)=if.sub.yFFT(F)
So the total vote sum, the SGM value, at field point (x,y), is
V ( x , y ) = ( x ' , y ' ) [ G x ( x ' , y ' ) D x ( x ' - x , y '
- y ) + G y ( x ' , y ' ) D y ( x ' - x ' , y ' - y ) ] = G x ( x ,
y ) D x ( - x , - y ) - G y ( x , y ) D y ( - x , - y ) = - IFFT (
FFT ( G x ) * IFFT ( D x ) + FFT ( G y ) * IFFT ( D y ) ) = IFFT (
( f x 2 + f y 2 ) FFT ( M ) * IFFT ( F ) ) ##EQU00005##
Where IFFT(.cndot.) represents the inverse Fast Fourier Transform,
"" means convolution, and "*" is the regular multiplication. Since
.sub.3(f.sub.x,f.sub.y)=(f.sub.x.sup.2+f.sub.y.sup.2)IFFT(F) can be
pre-computed because the optical model is the same for any mask,
the real-time computation of the SGM value at each field point only
involves two FFT computations: FFT(M) and one IFFT. In step 420, an
FFT is applied to the pre-OPC mask layout to produce FFT(M). A TCC
is typically decomposed into convolution kernels, using an
eigen-series expansion for computation speed and storage.
Therefore, in step 410, a decomposed version of TCC is loaded, and
then in steps 412 and 414, FFT(F) is converted to IFFT(f). In step
416, .sub.3(f.sub.x,f.sub.y)=(f.sub.x.sup.2+f.sub.y.sup.2)IFFT(F)
is computed. Then, in step 420, .sub.3(f.sub.x,f.sub.y) is
multiplied by FFT(M) and in step 422, the IFFT is taken of the
product to produce the SGM for the entire pre-OPC design
layout.
[0041] FIG. 5 is a flowchart of method steps for generating an SRAF
guidance map (SGM) according to another embodiment of the
invention. The FIG. 5 embodiment is a multi-kernel approach in
which the optical path of the exposure tool is not assumed to be
near coherent. For ease of discussion, the following equations are
written as if there is only one spatial dimension.
[0042] Mask transmittance M(x) is separated into a pre-OPC
component (T), an SRAF component (A) and an OPC corrections
component (C):
M(x)=M.sup.T(x)+M.sup.A(x)+M.sup.C(x)
If
M.sup.K(x)=M.sup.T(x)+M.sup.C(x)
represents the post-OPC layout transmittance, then the aerial image
(AI) intensity is
I ( x ) = .intg. [ M K ( x 1 ) + M A ( x 1 ) ] [ M K * ( x 2 ) + M
A * ( x 2 ) ] W ( x - x 1 , x - x 2 ) x 1 x 2 = .intg. [ M K ( x 1
) M K * ( x 2 ) + M A ( x 1 ) M K * ( x 2 ) + M K ( x 1 ) M A * ( x
2 ) + M A ( x 1 ) M A * ( x 2 ) ] W ( x - x 1 , x - x 2 ) x 1 x 2 =
I T ( x ) + .intg. [ M A ( x 1 ) M K * ( x 2 ) + M K ( x 1 ) M A *
( x 2 ) + M A ( x 1 ) M A * ( x 2 ) ] W ( x - x 1 , x - x 2 ) x 1 x
2 ##EQU00006##
where W(x,y) is the space domain representation of TCC and
I.sup.T(x) is the AI intensity without SRAF.
[0043] To derive the SGM expression, a unit source at x' in the
SRAF portion of the mask layout is assumed, i.e.,
M.sup.A(x)=.delta.(x-x'). This unit source at x' contributes the
following amount to the image slope at x:
I ( x ) x - I T ( x ) x = x .intg. [ M A ( x 1 ) M K * ( x 2 ) + M
K ( x 1 ) M A * ( x 2 ) + M A ( x 1 ) M A * ( x 2 ) ] W ( x - x 1 ,
x - x 2 ) x 1 x 2 = x .intg. [ .delta. ( x 1 - x ' ) M K * ( x 2 )
+ M K ( x 1 ) .delta. ( x - x 2 ) + .delta. ( x - x 1 ) .delta. ( x
- x 2 ) ] W ( x - x 1 , x - x 2 ) x 1 x 2 = x .intg. [ W ( x - x '
, x - x 1 ) M K * ( x 1 ) + M K ( x 1 ) W ( x - x 1 , x - x ' ) ] x
1 x 2 + x W ( x - x ' , x - x ' ) ##EQU00007##
The weighting of the vote from field point x to source point x' is
equal to the gradient of the pre-OPC image,
M R ( x ) x = 1 2 x [ M T ( x ) + M T * ( x ) ] ##EQU00008##
So the SGM value at x' is equal to
V ( x ' ) = .intg. M R ( x ) x ( I ( x ) - I T ( x ) ) x x = .intg.
M R ( x ) x x { .intg. [ W ( x - x ' , x - x 1 ) M K * ( x 1 ) + M
K ( x 1 ) W ( x - x 1 , x - x ' ) ] x 1 } x + .intg. M R ( x ) x x
W ( x - x ' , x - x ' ) x = - .intg. M R ( x ) 2 x 2 { .intg. [ W (
x - x ' , x - x 1 ) M K * ( x 1 ) + M K ( x 1 ) W ( x - x 1 , x - x
' ) ] x 1 } x - .intg. M R ( x ) 2 x 2 W ( x - x ' , x - x ' ) x
##EQU00009##
The last step in the above makes use of integration by parts. This
expression does not reduce to the single-kernel SGM expression
above even in the limit of coherent illumination because the
single-kernel SGM essentially looks at the contribution to the
gradient of the amplitude instead of the intensity.
[0044] Finally, with a change in variable names:
V ( x ) = - .intg. [ M R ( x 1 ) M K ( x 2 ) 2 x 1 2 W ( x 1 - x 2
, x 1 - x ) + M R ( x 1 ) M K * ( x 2 ) 2 x 1 2 W ( x 1 - x , x 1 -
x 2 ) ] x 1 x 2 - .intg. M R ( x 1 ) 2 x 1 2 W ( x 1 - x , x 1 - x
) x 1 = - .intg. [ M R ( x - x 1 ) M K ( x - x 2 ) 2 x 1 2 W ( x 2
- x 1 , - x 1 ) + M R ( x - x 1 ) M K * ( x - x 2 ) 2 x 1 2 W ( - x
1 , x 2 - x 1 ) ] x 1 x 2 - .intg. M R ( x - x 1 ) 2 x 1 2 W ( - x
1 , - x 1 ) x 1 ##EQU00010##
The Hermiticity of the SGM bilinear kernel is observed if x.sub.1
is replaced by X.sub.2 in the second term.
[0045] When M.sup.T is real and the OPC correction component
(M.sup.C) is ignored, then
M.sup.R=M.sup.K=M.sup.K*=M.sup.T=M.sup.T* and the above formula
resembles the Hopkins equation, which means the SGM may be computed
using the standard kernel decomposition technique.
[0046] If M.sup.K is real and the OPC correction component
(M.sup.C) is not ignored, this is a bilinear integration involving
two different input images (pre-OPC mask layout M.sup.R=M.sup.T and
post-OPC mask layout without SRAF
M.sup.K=M.sup.K*=M.sup.T+M.sup.C).
[0047] The SGM bilinear kernel (SGK) can be related to the TCC in
the frequency domain. When M.sup.T is real and the OPC correction
component (M.sup.C) is ignored,
SGK ( k 1 , k 2 ) = - F [ 2 .xi. 1 2 W ( .xi. 2 - .xi. 1 , - .xi. 1
) + 2 .xi. 2 2 W ( - .xi. 2 , .xi. 2 - .xi. 1 ) ] = - .intg. [ 2
.xi. 1 2 W ( .xi. 2 - .xi. 1 , - .xi. 1 ) + 2 .xi. 2 2 W ( - .xi. 2
, .xi. 2 - .xi. 1 ) ] exp ( - k 1 .xi. 1 + k 2 .xi. 2 ) .xi. 1 .xi.
2 = k 1 2 .intg. W ( .xi. 2 - .xi. 1 , - .xi. 1 ) exp ( - k 1 .xi.
1 + k 2 .xi. 2 ) .xi. 1 .xi. 2 + k 2 2 .intg. W ( - .xi. 2 , .xi. 2
- .xi. 1 ) exp ( - k 1 .xi. 1 + k 2 .xi. 2 ) .xi. 1 .xi. 2 = k 1 2
.intg. W ( .xi. 1 ' , .xi. 2 ' ) exp ( k 1 .xi. 2 ' + k 2 ( .xi. 1
' - .xi. 2 ' ) ) .xi. 1 ' .xi. 2 ' + k 2 2 .intg. W ( .xi. 1 ' ,
.xi. 2 ' ) exp ( - k 1 ( .xi. 2 ' - .xi. 1 ' ) - k 2 .xi. 1 ' )
.xi. 1 ' .xi. 2 ' = k 1 2 TCC ( - k 2 , k 1 - k 2 ) + k 2 2 TCC ( -
k 1 + k 2 , - k 1 ) ##EQU00011##
The Hermiticity of the above is readily confirmed.
[0048] A practical difficulty is that if this formula is used
directly, two raw TCCs appear simultaneously, which may be not
feasible if the TCC is large (e.g., if each dimension of the TCC is
107 with float data type, then the total memory requirement exceeds
2G bytes). Therefore, it is desirable to make the computation
"in-place." To do so, the SGM bilinear kernel can be decomposed
as
TCC.sub.1(k.sub.1,k.sub.2)=TCC(-k.sub.2,k.sub.1)
TCC.sub.2(k.sub.1,k.sub.2)=k.sub.1.sup.2TCC.sub.1(k.sub.1-k.sub.2,k.sub.-
2)=k.sub.1.sup.2TCC(-k.sub.2,k.sub.1-k.sub.2)
SGK(k.sub.1,k.sub.2)=TCC.sub.2(k.sub.1,k.sub.2)+TCC.sub.2*(k.sub.2,k.sub-
.1)
where each step is in-place.
[0049] Another practical consideration is that TCC is typically
decomposed into convolution kernels, using an eigen-series
expansion for computation speed and storage. Therefore, in step
510, a decomposed version of TCC is loaded, and then in step 512
the decomposed version of TCC is re-composed into a raw format. In
steps 514-518, the SGM bilinear kernel (SGK(k.sub.1, k.sub.2)) is
computed in-place, and then in step 520 the SGM bilinear kernel is
decomposed into eigenvalues and eigenvectors. In step 522, a
partial SGM is computed using the mask layout, the decomposed SGM
bilinear kernel, and existing fast bilinear operations. In the
method of FIG. 5 it is assumed that
M.sup.R=M.sup.K=M.sup.K*=M.sup.T=M.sup.T*.
[0050] In steps 524 and 526, the SGM linear kernel is calculated.
The spectrum of the SGM linear term kernel is expressed as:
SGK Linear ( k ) = - F [ 2 .xi. 2 W ( - .xi. , - .xi. ) ] = -
.intg. [ 2 .xi. 2 W ( - .xi. , - .xi. ) ] exp ( - k .xi. ) .xi. = k
2 .intg. W ( - .xi. , - .xi. ) exp ( - k .xi. ) .xi. = k 2 W ( - k
) ##EQU00012##
where (k) is the Fourier transform of W(.xi.,.xi.).
[0051] W(.xi..sub.1,.xi..sub.2) is also the inverse Fourier
transform of TCC(k.sub.1, k.sub.2). Thus,
W ( k ) = 1 2 .pi. .intg. TCC ( k 1 , k - k 1 ) k 1
##EQU00013##
This expression is for the continuous function analysis. However,
when a DFT (Discrete Fourier Transform) is used in practice, the
constant 2.pi. should be replaced by the sequence length of the
DFT. In step 528, another partial SGM is calculated by convolving
the mask layout with the SGM linear kernel. In step 530, the
partial SGMs are combined to produce the SGM. Note that steps
410-416 in FIG. 4 and steps 510-520 in FIG. 5 can be pre-executed
for each optical model to improve run-time speed.
[0052] For an SRAF to optimize the process window, its placement
should be optimized when the edge slope is the weakest. In general,
edge slopes are lower at defocus, so the TCC at defocus and/or
delta dose should be used to compute the SGM, so that the edge
slope is maximized at those weakest PW points.
[0053] Different weights can be assigned to different target edge
locations in the SGM computation, since different edge points may
have different importance. For example, a higher weight can be
assigned to the votes by poly-gate edge points, and a lower weight
assigned to votes from large patterns and line ends. This weighting
approach enables differential treatment for patterns of different
importance for process window behavior. An additional consideration
in assigning a weight to edge points is the edge's existing slope,
such that a higher weight is given to those edge locations that
have low edge slope since they are hot spots (i.e., weak points in
the layout over process window variation). For this, OPC
corrections without SRAFs can be applied to a mask layout, the
aerial image computed, and then the aerial image's edge slope at
each edge location computed. The inverse of ILS (image log slope)
for an edge location can be used as that edge location's weight.
These two weighting approaches, i.e., a feature importance-based
weight and an ILS-based weight, can also be combined to give a
combined weight. Other possible weighting schemes are within the
scope of the invention.
[0054] To apply weighting in the SGM computation, the relative
importance of each edge evaluation point is identified based on,
e.g., gate vs. non-gate, line vs. corner, line width, etc. A
non-negative weight is then assigned to each edge evaluation point.
For example, a weight of 1 is nominal, any value above 1 is
additional weight (so, weight 2.0 means the edge point's vote is
twice important as nominal-weighted points), any value below 1 is
lower weight (i.e., weight 0 means the edge point's vote should not
be counted at all and weight 0.5 means the edge point's vote is
counted as 50% of nominal-weighted points), and a weight never goes
below 0.0. Next, a weight image Wm(xy) is rendered at the same
pixel grid of the pre-OPC layout M(x,y), assuming each weight is a
delta function at the edge point location (x,y), and a low-pass
filter is applied to the weight image to match the pass-band of the
pre-OPC layout's sampling frequency. The final weight map image is
multiplied with the gradient of the pre-OPC layout M(x,y) and the
result is used as the weighted target image in computing the
SGM.
[0055] For the single-kernel SGM, the vote map is changed to
V ( x , y ) = ( x ' , y ' ) [ Wm ( x ' , y ' ) G x ( x ' , y ' ) D
x ( x ' - x , y ' - y ) + Wm ( x ' , y ' ) G y ( x ' , y ' ) D y (
x ' - x ' , y ' - y ) ] = [ Wm ( x , y ) G x ( x , y ) ] D x ( - x
, - y ) - [ Wm ( x , y ) G y ( x , y ) ] D y ( x ' - x ' ) = - IFFT
( FFT ( WmG x ) * IFFT ( D x ) + FFT ( WmG y ) * IFFT ( D y ) ) = -
i IFFT ( ( f x FFT ( WmG x ) + f y FFT ( WmG y ) * IFFT ( F ) )
##EQU00014##
[0056] For the multi-kernel SGM, the vote map is changed to
V ( x ' ) = .intg. Wm ( x ) M R ( x ) x ( I ( x ) - I T ( x ) ) x x
= .intg. Wm ( x ) M R ( x ) x x { .intg. [ W ( x - x ' , x - x 1 )
M K * ( x 1 ) + M K ( x 1 ) W ( x - x 1 , x - x ' ) ] x 1 } x +
.intg. Wm ( x ) M R ( x ) x x W ( x - x ' , x - x ' ) x = - .intg.
Wm ( x ) M R ( x ) 2 x 2 { .intg. [ W ( x - x ' , x - x 1 ) M K * (
x 1 ) ) W ( x - x 1 , x - x ' ) ] x 1 } x - .intg. Wm ( x ) M R ( x
) 2 x 2 W ( x - x ' , x - x ' ) x - .intg. Wm ' ( x ) M R ( x ) x {
.intg. [ W ( x - x ' , x - x 1 ) M K * ( x 1 ) + M K ( x 1 ) W ( x
- x 1 , x - x ' ) ] x 1 } x - .intg. Wm ' ( x ) M R ( x ) x W ( x -
x ' , x - x ' ) x ##EQU00015##
Again, with a change in variables,
V ( x ) = - .intg. [ Wm ( x 1 ) M R ( x 1 ) M K ( x 2 ) 2 x 1 2 W (
x 1 - x 2 , x 1 - x ) + Wm ( x 1 ) M R ( x 1 ) M K * ( x 2 ) 2 x 1
2 W ( x 1 - x , x 1 - x 2 ) ] x 1 x 2 - .intg. Wm ' ( x 1 ) M R ( x
1 ) 2 x 1 2 W ( x 1 - x , x 1 - x ) x 1 - .intg. [ Wm ' ( x 1 ) M R
( x 1 ) M K ( x 2 ) x 1 W ( x 1 - x 2 , x 1 - x ) + Wm ' ( x 1 ) M
R ( x 1 ) M K * ( x 2 ) x 1 W ( x 1 - x , x 1 - x 2 ) ] x 1 x 2 -
.intg. Wm ' ( x 1 ) M R ( x 1 ) x 1 W ( x 1 - x , x 1 - x ) x 1 = -
.intg. [ Wm ( x - x 1 ) M R ( x - x 1 ) M K ( x - x 2 ) 2 x 1 2 W (
x 2 - x 1 , - x 1 ) + Wm ( x - x 1 ) M R ( x - x 1 ) M K * ( x - x
2 ) 2 x 1 2 W ( - x 1 , x 2 - x 1 ) ] x 1 x 2 - .intg. Wm ( x - x 1
) M R ( x - x 1 ) 2 x 1 2 W ( - x 1 , - x 1 ) x 1 + .intg. [ Wm ' (
x - x 1 ) M R ( x - x 1 ) M K ( x - x 2 ) x 1 W ( x 2 - x 1 , - x 1
) + Wm ' ( x - x 1 ) M R ( x - x 1 ) M K * ( x - x 2 ) x 1 W ( - x
1 , x 2 - x 1 ) ] x 1 x 2 + .intg. Wm ' ( x - x 1 ) M R ( x - x 1 )
x 1 W ( - x 1 , - x 1 ) x 1 ##EQU00016##
The first three integrations resemble the unweighted SGM with the
same kernels. The only difference is that the mask image M.sup.R is
replaced by WmM.sup.R. When M.sup.T is real and the OPC correction
(M.sup.C) is ignored, the kernel for the fourth and fifth
integrations is
SGK W ( k 1 , k 2 ) = F [ .xi. 1 W ( .xi. 2 - .xi. 1 , - .xi. 1 ) +
2 .xi. 2 W ( - .xi. 2 , .xi. 1 - .xi. 2 ) ] = .intg. [ .xi. 1 W (
.xi. 2 - .xi. 1 , - .xi. 1 ) + .xi. 2 W ( - .xi. 2 , .xi. 1 - .xi.
2 ) ] exp ( - k 1 .xi. 1 + k 2 .xi. 2 ) .xi. 1 .xi. 2 = k 1 .intg.
W ( .xi. 2 - .xi. 1 , - .xi. 1 ) exp ( - k 1 .xi. 1 + k 2 .xi. 2 )
.xi. 1 .xi. 2 - k 2 .intg. W ( - .xi. 2 , .xi. 1 - .xi. 2 ) exp ( -
k 1 .xi. 1 + k 2 .xi. 2 ) .xi. 1 .xi. 2 = k 1 .intg. W ( .xi. 1 ' ,
.xi. 2 ' ) exp ( k 1 .xi. 2 ' + k 2 ( .xi. 1 ' - .xi. 2 ' ) ) .xi.
1 ' .xi. 2 ' - k 2 .intg. W ( .xi. 1 ' , .xi. 2 ' ) exp ( - k 1 (
.xi. 2 ' - .xi. 1 ' ) - k 2 .xi. 1 ' ) .xi. 1 ' .xi. 2 ' = k 1 TCC
( - k 2 , k 1 - k 2 ) - k 2 TCC ( - k 1 + k 2 , - k 1 )
##EQU00017##
The kernel for the last integration becomes
SGK Linear W ( k ) = F [ 2 .xi. 2 W ( - .xi. , - .xi. ) ] = .intg.
[ 2 .xi. 2 W ( - .xi. , - .xi. ) ] exp ( - k .xi. ) .xi. = - k
.intg. W ( - .xi. , - .xi. ) exp ( - k .xi. ) .xi. = - k W ( - k )
##EQU00018##
where (k) is defined previously.
[0057] In one embodiment, the SGM is used to create a set of SRAF
placement rules. An example of a set of SRAF placement rules is
shown below in Table 1. Column 1 identifies the type of pattern,
where type 1 is an SRAF-favored pattern like a gate, and type 2 is
an SRAF-non-favored pattern like a metal line. Column 2 identifies
the space between the main features in the layout. There are three
kinds of SRAF placement rules shown in Table 1. The first kind of
rule (columns 3-6) is for placing SRAFs (i.e., scattering bars or
SB) between the same type of patterns. The second kind of rule
(columns 7-10) is for placing SRAFs between an SRAF-favored pattern
and an SRAF-non-favored pattern. The third kind of rule (columns
11-14) is for placing SRAFs between an SRAF-favored or
SRAF-non-favored pattern and a no-SRAF pattern (e.g., very large
patterns). For contact layers, all three of kinds of rules are the
same.
[0058] Each row of Table 1 specifies the number of SRAFs to be
placed, the width of each SRAF, the space between the SRAF and the
main feature, and the space between the SRAFs according to the
space between the main features. For poly (metal) layer, the SRAF
placement rules are created using the SGM and a series of
one-dimensional test features.
TABLE-US-00001 TABLE 1 SB cpSB cp2AF Type Space # width SP1 SP2 Cp
# width cpSP1 cpSP2 Cp2 # width cp2SP1 cp2SP2 1 330 1 40 0 0 0 0 0
0 0 0 0 0 1 500 2 40 145 0 0 0 0 0 2 40 145 120 1 650 3 40 145 0 0
0 0 0 2 40 145 120 1 820 4 40 145 120 0 0 0 0 0 0 0 0 2 330 1 40 0
0 0 0 0 0 0 0 0 0 2 500 2 40 145 0 0 0 0 0 2 40 145 120 2 650 3 40
145 0 0 0 0 0 2 40 145 120 2 820 4 40 145 120 0 0 0 0 0 0 0 0
[0059] FIG. 6A is a diagram of one embodiment of test features and
a coordinate system for generating SRAF placement rules for poly
(metal) layer using an SGM, according to the invention. For a
specified space between main features, a test pattern composed of
repetitive line test features is created, in which both the line
test features and SRAFs are assumed to have infinite length as
compared to their width. FIG. 6A shows two line test features 610a
and 610b that are of the same type, e.g., both features are gates.
Thus the following discussion describes generating the first kind
of SRAF placement rules. The width of the line test features equals
the most important line width of the layout and the space between
any two neighboring line test features is the specified space value
between main features. An SGM is then generated for this test
pattern.
[0060] As shown in FIG. 6A, a coordinate system is imposed on the
test patterns, where the y-axis coincides with the boundary of an
arbitrary line test feature and the x-axis is perpendicular to the
line test features. In FIG. 6A, x=0 (612) and x=space (614)
correspond to the boundaries of neighboring line test features 610a
and 610b. For the one-dimensional rule, the SGM value between any
two neighboring line patterns S(x) is equal to SGM (x,0) and x=[0,
1, . . . space]. The SRAF placement rule generation problem for
these line test features is then transformed into the problem of
partitioning the interval [0, space] into n smaller intervals
[x.sub.1s, x.sub.1e], [x.sub.2s, x.sub.2e], . . . [x.sub.ns,
x.sub.ne], where 0.ltoreq.x.sub.1s<x.sub.1e<x.sub.2e< . .
. <x.sub.ns<x.sub.ne.ltoreq.space. Each interval represents
an SRAF, i.e., the i-th SRAF (1.ltoreq.i.ltoreq.n) can be described
as x.sub.is.ltoreq.x.ltoreq.x.sub.ie.
[0061] Determining the optimal SRAF placement rule is equivalent to
maximizing the total SGM value covered by SRAFs subject to MRC
rules and SRAF printability constraints. Let S.sub.i be the SGM
value covered by the i-th SRAF (1.ltoreq.i.ltoreq.n), then the
total SGM value covered by SRAFs is
i = 1 n S i = i = 1 n x = x is x ie S ( x ) ##EQU00019##
There are five constraints on placing SRAFs in a layout: [0062] 1.
minimum SRAF width (W.sub.min), i.e., for any i.epsilon.{1, 2, . .
. , n}, x.sub.ie-x.sub.is.gtoreq.W.sub.min [0063] 2. maximum SRAF
width (W.sub.max), i.e., for any i.epsilon.{1, 2, . . . , n},
x.sub.ie-x.sub.is.ltoreq.W.sub.max [0064] 3. minimum spacing
between SRAF and main feature (S.sub.main), i.e.,
x.sub.1s.gtoreq.S.sub.main and x.sub.ne.ltoreq.space-S.sub.main
[0065] 4. minimum spacing between any two neighboring SRAFs
(S.sub.SRAF), i.e., for any i.epsilon.{2, . . . , n},
x.sub.is-x.sub.(i-1)e.gtoreq.S.sub.SRAF [0066] 5. For any
i.epsilon.{1, 2, . . . , n}, S.sub.i.gtoreq.0 (There is no need to
place SRAFs with negative SGM value, even if its value is the
largest possible). Assuming the global optimal solution (partition)
for [0,space] with constraints (W.sub.min, W.sub.max, S.sub.main,
S.sub.SRAF) is Rule.sub.opt={[x.sub.1s,x.sub.1e],
[x.sub.2s,x.sub.2e], . . . , [x.sub.ns,x.sub.ne]}, then the i-th
SRAF (1.ltoreq.i.ltoreq.n) covers [x.sub.is,x.sub.ie]. What is
more, for any i.epsilon.{2, . . . , n}, {[x.sub.1s,x.sub.1e],
[x.sub.2s,x.sub.2e], . . . [x.sub.(i-1)s,x.sub.(i-1)e]} is also the
optimal partition for [0,x.sub.is-S.sub.SRAF] with the same
constraints (otherwise, if there exists a better partition for
[0,x.sub.is-S.sub.SRAF], then it can be combined with the i, i+1, .
. . , n-th SRAF placement in Rule.sub.opt and land at a rule that
is better than Rule.sub.opt and still satisfies the constraints,
which contradicts the optimality of Rule.sub.opt).
[0067] Thus, the interval [0,space] is divided into smaller
intervals and an algorithm is constructed based on dynamic
programming. The summary of this algorithm follows, assuming
space.gtoreq.2S.sub.main+W.sub.min:
INPUT: space, S(x) for x=[0, 1, . . . , space], and constraints
(W.sub.min, W.sub.max, S.sub.main, S.sub.SRAF)
[0068] Intermediate Results:
NumSRAFArray[x] (x=[0, 1, . . . , space-S.sub.main]): an array
which has a size of space-S.sub.main+1 and NumSRAFArray[x] stores
the number of SRAFs of the optimal partition for [0,x]
SRAFSGMArray[x] (x[0, 1, . . . , space-S.sub.main]): an array which
has a size of space-S.sub.main+1 and SRAFSGMArray[x] stores the
total SGM covered by SRAFs of the optimal partition for [0,x]
SRAFLeftEndArray[x] (x=[0, 1, . . . , space-S.sub.main]): an array
which has a size of space-S.sub.main+1 and SRAFLeftEndArray[x]
stores the coordinate of the right most SRAF's left end of the
optimal partition for [0,x] (corresponds to the largest x.sub.is
such that x.sub.ie.ltoreq.x) SRAFRightEndArray[x] (x=[0, 1, . . . ,
space-S.sub.main]): an array which has a size of space-S.sub.main-1
and SRAFLeftEndArray[x] stores the coordinate of the right most
SRAF's right end of the optimal partition for [0,x] (corresponds to
the largest x.sub.ie such that x.sub.ie.ltoreq.x)
Initialization:
[0069] Set NumSRAFArray[x] and SRAFSGMArray[x] to zero for all
x=[0, 1, . . . , space-S.sub.main]
SRAF Computation:
TABLE-US-00002 [0070] For i=S.sub.main+W.sub.min to
space-S.sub.main, STEP=1 //For Constraint 3
tempSGMValue.rarw.SRAFSGMArray[i-1]
tempNumSRAF.rarw.NumSRAFArray[i-1]
tempSRAFLeftEnd.rarw.SRAFLeftEndArray[i-1]
tempSRAFRightEnd.rarw.SRAFRightEndArray[i-1] tempNewSRAFSGM .rarw.
k = i - W min i S ( k ) ##EQU00020## //Candidate SRAF's SGM value
for j=i-W.sub.min to max {i-W.sub.max, S.sub.main}: STEP=-1 //j:
Candidate SRAF's left end. //The width of each SRAF is guaranteed
to fall in [W.sub.min, W.sub.max] if(tempNewSRAFSGM.gtoreq.0) //For
Constraint 5 h.rarw.j-S.sub.SRAF if(h.gtoreq.S.sub.main+W.sub.min)
PreviousSGMValue.rarw.SRAFSGMArray[h]
PreviousNumSRAF.rarw.NumSRAFArray[h] //Optimal partition for
[0,j-S.sub.SRAF] else PreviousSGMValue.rarw.0
PreviousNumSRAF.rarw.0 End
if(tempNewSRAFSGM+PreviousSGMValue>tempSGMValue)
tempSGMValue.rarw. tempNewSRAFSGM+PreviousSGMValue
tempNumSRAF.rarw.PreviousNumSRAF+1 tempSRAFLeftEnd.rarw.j
tempSRAFRightEnd.rarw.i End End
tempNewSRAFSGM.rarw.tempNewSRAFSGM+S(j-1) End
SRAFSGMArray[i].rarw.tempSGMValue NumSRAFArray[i].rarw.tempNumSRAF
SRAFLeftEndArray[i].rarw.tempSRAFLeftEnd
SRAFRightEndArray[i].rarw.tempSRAFRightEnd //Update all
intermediate results End
OUTPUT: NumSRAFArray[space-S.sub.SRAF], SRAFLeftEndArray[x] (x=[0,
1, . . . , space-S.sub.SRAF]), and SRAFRightEndArray[x] (x=[0, 1, .
. . , space-S.sub.SRAF])
[0071] FIG. 6B is a diagram of one embodiment of contact test
features and a coordinate system for generating SRAF placement
rules using an SGM, according to the invention. The contact test
features 620a and 620b are repetitive square features. Since the
significance of each contact test feature 620a, 620b is identical,
the following discussion describes generating the first kind of
SRAF placement rules. The space between any two neighboring
contacts is the specified space between main features. An SGM is
generated for this test pattern. A coordinate system is imposed on
the contact test features, where the y-axis coincides with the
boundary of an arbitrary contact test feature, the origin is
located at the middle of that edge of the contact test feature. In
FIG. 6B, x=0 (622) and x=space (624) correspond to the boundaries
of neighboring contact test features 620a and 620b.
[0072] For a contact layer, the length of a main feature is
typically the same as the width, thus two-dimensional effects
caused by the finite length of the feature are considered. For
SRAFs placed in a contact layer, the SRAF length is specified by a
parameter "sbEndExtension" 626. If the length of contact test
features 620a, 620b is L, then the length of an SRAF 628 is
L+2*sbEndExtension. Since only the SGM value covered by SRAFs is of
interest, the SGM value function S(x) is redefined as:
S ( x ) = y = - L / 2 - sbEndExtenion L / 2 + sbEndExtenion SGM ( x
, y ) for x = [ 0 , 1 , , space ] ##EQU00021##
Determining the first type of SRAF placement rules for contacts is
the same as described above for line features, except for the
different definition of S(x).
[0073] Determining the second kind of SRAF placement rules (i.e.,
rules for placing SRAFs between SRAF-favored patterns and
SRAF-non-favored patterns) is similar to determining the first kind
of SRAF placement rules except that different weights are assigned
to neighboring patterns. For example, an edge of an SRAF-favored
pattern will be assigned a higher weight than an edge of an
SRAF-non-favored pattern.
[0074] FIG. 6C is a diagram of one embodiment of test features and
a coordinate system for generating SRAF placement rules using an
SGM, according to the invention. The test features of FIG. 6C are
used to determine the third kind of SRAF placement rules (i.e.,
rules for placing SRAFs between an SRAF-favored feature or
SRAF-non-favored feature and a no-SRAF feature). A central line
test feature 632 has width of the most important line width in the
design layout and line test features 630a and 630b (no-SRAF
features) are assumed to be infinitely wide. The SRAF placement
rules are determined as described above in conjunction with FIG.
6A, except that line test feature 632 is assigned a large weight,
and line test features 630a, 630b are assigned a very small
weight.
[0075] After SRAFs are placed according to the placement rules, the
placement, width, and length of each SRAF can be fine-tuned using
the SGM to account for the 2D effects of the mask layout. For poly
(metal) layer, the SRAF placement rule is generated with the
assumption that the main features' length is much larger than their
width. However, this assumption is not always valid. For example,
for areas near line-ends, the SGM may indicate that a placed SRAF
should be slightly wider than the width dictated by the rule. This
SRAF may then be thickened. The SGM value covered by each SRAF can
also be used as the SRAF's priority to resolve potential conflicts.
For example, if SRAFs from different main feature segments overlap,
the SRAF with lower priority is modified first to remove the
overlap.
[0076] FIG. 7 is a flowchart of method steps for rule-free
placement of SRAFs using an SGM, according to one embodiment of the
invention. In the FIG. 7 embodiment, SRAFs are derived directly
from the SGM, instead of first generating SRAF placement rules. In
this embodiment, regions of the SGM are converted into SRAF
polygons. Each SRAF polygon is required to be a thin bar shape, to
be oriented either horizontally or vertically, and to have a width
within the range [W.sub.min, W.sub.max].
[0077] In step 710, the SGM is thresholded to identify the positive
regions, i.e., the regions where SRAFs are desired. The
thresholding produces a binary image, SGMB. In step 712, standard
image processing methods are used to identify connected positive
regions within the SGMB. In step 714, the SBM is multiplied by the
SGMB to produce SGMC, such that each positive pixel of the SGMB is
assigned its corresponding value in the SGM. In step 716,
one-dimensional x- and y-projections of the SGMC are computed for
each connected region. In step 718, all of the SRAF coordinates
(i.e., locations where all SRAFs should be placed) are extracted by
applying the above-described dynamic programming approach for rule
generation to the one-dimensional projections. In step 720, any
conflicts between placing SRAFs are resolved using the total SGM
value covered by each SRAF as its priority. Possible conflicts
between placing SRAFs include the minimum allowed end-to-end
distance between SRAFs and the minimum allowed corner-to-corner
distance between SRAFs. In step 722, the SRAFs are placed in the
layout.
[0078] FIG. 8 is a flowchart of method steps for integrating
model-based SRAF generation with applying OPC corrections,
according to one embodiment of the invention. Typically, OPC
correction image data (M.sup.C) is quite small compared to the
pre-OPC mask image data (M.sup.T), so the post-OPC mask image
M.sup.K(x)=M.sup.T(x)+M.sup.C(x).apprxeq.M.sup.T(x) and the SGM
only depends on the pre-OPC layout. Thus the SGM can be generated
and SRAFs placed in the layout before OPC corrections are applied.
However, if the OPC corrections cannot be ignored, the SGM
generation and SRAF placement can be integrated with the
application of OPC corrections.
[0079] In step 810, the SGM is first generated using the design
(pre-OPC) layout and SRAFs are placed in the design layout using
either placement rules generated using the SGM or directly from the
SGM, as described above. In step 812, OPC, mask rule check (MRC),
and SRAF printability corrections are applied to the design layout
with the SRAFs. In step 814, a new SGM is generated using the
post-OPC layout and/or the SRAFs are re-placed in the post-OPC
layout. Regenerating the SGM in step 814 is optional. In step 816,
if the termination condition is satisfied, the method ends, but if
the termination condition is not satisfied, the method returns to
step 812 where another iteration of the OPC, MRC, and SRAF
printability corrections is applied. The termination condition can
be a maximum iteration number or a determination of whether a
simulated resist image contour is sufficiently close to the design
target.
[0080] Adjusting the placement of SRAFs after each iteration of OPC
and other corrections can be quite efficient. For example, after
one iteration of OPC corrections, certain SRAFs may not be placed
in accordance with the SGM because of MRC constraints such not
being as wide as desired or not being able to be placed at all.
However, after another iteration of OPC corrections, there may be
room for these SRAFs to be placed.
[0081] FIG. 9 is a diagram showing a design target layout with
SRAFs that were placed according to prior art SRAF placement rules.
FIG. 9 also shows simulated resist contours for the post-OPC
layout. The critical dimension (i.e., linewidth) measured at hot
spot 910 is 49.6 nm, at hot spot 912 the critical dimension is 40
nm, at hot spot 914 the critical dimension is 44 nm, at hot spot
916 the critical dimension is 29.3 nm, and at hot spot 918 the
critical dimension is 35.5 nm. Hot spot 916 especially shows what
is known as "necking," where the simulated resist contour is much
narrower than the designed-for linewidth.
[0082] FIG. 10 is a diagram showing the same design target layout
with SRAFs that were placed according to SRAF placement rules
created using an SGM. FIG. 10 also shows simulated resist contours
for this post-OPC layout. The critical dimension measured at hot
spot 1010 is 49.77 nm, at hot spot 1012 the critical dimension is
47.44 nm, at hot spot 1014 the critical dimension is 44.75 nm, at
hot spot 1016 the critical dimension is 41.24 nm, and at hot spot
1018 the critical dimension is 40.72 nm. As seen in comparing the
measured critical dimensions in FIG. 9 and FIG. 10, the post-OPC
layout having SRAFs placed using the SGM results in simulated
resist contours that better match the layout and improved critical
dimensions at hot spots.
[0083] The SGM may be used in other applications other than placing
SRAFs. The SGM may be used to identify hot spots in the pre-OPC
(design target) layout. If a main feature resides in an area that
has a very low SGM value computed without this feature, the feature
will adversely affect the process window of the edges of
neighboring patterns and the overall process window robustness of
the design. The SGM may also be used to repair hot spots by
shifting the hot spots to an area with a higher SGM value. The SGM
may be used in a double exposure design, where the full chip design
is separated into two groups of patterns that are exposed in
sequence. In separating all the patterns into two groups, some
patterns are ambiguous, i.e., the pattern does not violate any rule
if it is placed in either group. For such patterns, the SGM may be
used to decide in which group the pattern should be placed by
selecting the layout with the higher SGM value. The SGM may also be
used to determine overall bias rules for a layout, i.e., how much a
pattern should enlarge or shrink.
[0084] The invention has been described above with reference to
specific embodiments. It will, however, be evident that various
modifications and changes may be made thereto without departing
from the broader spirit and scope of the invention as set forth in
the appended claims. The foregoing description and drawings are,
accordingly, to be regarded in an illustrative rather than a
restrictive sense.
* * * * *