The present invention is generally related to uniformity correction in lithography systems.
Conventional lithography systems include, among other things, an illumination system to produce a uniform intensity distribution of a received laser beam. It is desirable that the resulting illumination be as uniform as possible and that any uniformity errors be kept as small as possible. Illumination uniformity influences the ability of an illumination system to produce uniform line widths across an entire exposure field. Illumination uniforrmity errors can significantly impact the quality of devices produced by the lithography system.
Techniques for correcting uniformity include correction systems that have multiple correction elements in the form of rectangular plates inserted from opposite sides of an illumination slot. The shape of these correction elements limits their ability to correct uniformity errors across a wide range of illumination systems and/or illumination modes. In addition, because of the finite nature of these correction elements, ripples are induced in the uniformity profile.
Therefore, what is needed is a uniformity correction system that compensates for uniformity errors across a wide range of illumination systems and illumination modes.
Furthermore, when correcting uniformity it is important to control the uniformity of the illumination pupil because it also has significant impact on lithography. To minimize illumination pupil non-uniformity induced by uniformity correction, the correction should be performed close to a reticle conjugate plane. However, uniformity correction techniques which use discrete segments produce increased uniformity ripple the closer they are to a reticle conjugate plane. Therefore, what is further needed is a uniformity correction system that can correct for uniformity ripple near a reticle conjugate plane.
The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate the present invention and, together with the description, further serve to explain the principles of the invention and to enable a person skilled in the pertinent art to make and use the invention.
The present invention will now be described with reference to the accompanying drawings. In the drawings, like reference numbers can indicate identical or functionally similar elements. Additionally, the left-most digit(s) of a reference number may identify the drawing in which the reference number first appears.
1. Overview
The present invention is directed to a system and method for advanced uniformity correction. In accordance with an aspect of the present invention, the uniformity correction system includes a first plurality of winged correction elements inserted into the illumination field from a first longitudinal edge of the correction slit and a second plurality of winged correction elements inserted into the illumination field from a second longitudinal edge of the correction slit. The first and second plurality of winged correction elements are staggered. In accordance with another aspect of the invention, the first and second plurality of winged correction elements are directly opposed.
Each winged correction element has a first protrusion on a first longitudinal edge of the correction element and a second protrusion on the second longitudinal edge. In accordance with an aspect of the invention, the first protrusion has a first shape and the second protrusion has a second shape. The first protrusion has an outer edge parallel to the direction of insertion of the correction element and a sloped edge between the outer edge and a flat tip of the correction element. The second protrusion has an outer edge parallel to the direction of the insertion of the correction element and a sloped edge between the outer edge of the second trapezoid and a flat tip of the correction element. The slope of the sloped edge of the first protrusion and the slope of the sloped edge of the second protrusion are related to the slope of the maximum gradient of the scan-integrated intensity of the illumination field. In accordance with another aspect of the invention, the angles defined by the flat tip of the correction element and the sloped edge of the first and second protrusions are related to the angle of the maximum gradient of the scan-integrated intensity profile.
In accordance with an aspect of the invention, a method for correcting uniformity includes identifying a parameter of an illumination field being used in the lithography system such as gradient in the non-uniformity profile of the illumination field. The configuration for the plurality of winged correction elements is then determined. The winged correction elements are then inserted into the illumination field according to the determined configuration.
2. Uniformity Correction System
2.1 Overview
Lithography system 100 includes an illumination system 110, a uniformity correction system 120, a contrast device 130, projection optics 150, and a substrate stage 160.
Illumination system 110 illuminates contrast device 130. In an embodiment, illumination system 110 defines a field or slit which is scanned across contrast device 130. Illumination system 110 may use any type of illumination (e.g., quadrupole, annular, etc.) as required by the lithography system. In addition, illumination system 110 may support the modification of various illumination properties such as partial coherence or fill geometry. The details of illumination systems are well known to those skilled in the art and thus are not explained further herein.
Contrast device 130 is used to image a pattern onto a portion of a substrate 165 (e.g., wafer or glass plate) held by substrate stage 160. In a first embodiment, contrast device 130 is a static mask such as a reticle and substrate 165 is a wafer. In a second maskless embodiment, contrast device 130 is a programmable array. The programmable array may include a spatial light modulator (SLM) or some other suitable micro-mirror array. Alternatively, the SLM can comprise a reflective or transmissive liquid crystal display (LCD) or a grading light value (GLV). In the second embodiment, substrate 165 may be a piece of glass, flat panel display, or similar.
Projection optics 150 is configured to project an image of the pattern (defined by the contrast device) on the substrate. The details of projection optics 150 are dependent upon the type of lithography system used. Specific functional details of projection optics are well known to those skilled in the art and therefore are not explained further herein.
Substrate stage 160 is located at the image plane 180. Substrate stage 160 supports a substrate 165. In an embodiment, the substrate is a resist coated wafer. In an alternate embodiment, the substrate is a piece of glass, flat panel display, printhead, plastic target, or similar.
Uniformity correction system 120 is a device that controls illumination levels within specific sections of illumination field associated with system 100. The uniformity correction system 120 is positioned between illumination system 110 and contrast device stage 130 at the correction plane. In an embodiment, the correction plane is located proximate to the contrast device stage (e.g., reticle stage). In alternative embodiments, the correction plane can be located at any position between illumination system 110 and contrast device stage 130 (i.e., moving in the z-direction between illumination system and contrast device).
A primary purpose of a uniformity correction system 120 is to improve the uniformity of the illumination produced by illumination system 110. When illumination from illumination system 110 is uncorrected, illumination energy in the slit used for printing may vary.
If lithography system 100 was used without any correction device, non-uniformities such as non-uniformity 260 or other aberrations in the illumination field would cause critical dimension (CD) printing errors or other types of errors. To minimize these errors, the illumination intensity provided to the substrate 165 should be substantially uniform. Modifying performance parameters of illumination system 110 can help improve the uniformity of the illumination field. However, because of the physics of illumination systems, the illumination field cannot be made substantially flat by modifying the performance parameters of the illumination system alone. Therefore, a uniformity correction module 120 is needed between the illumination system and the contrast device to produce scan-integrated illumination that is constant (“uniform”) in the cross-scan direction.
Correction module 170 is configured to determine adjustments to the variables of correction system 120 such that the desired uniformity specification is met. Correction module 170 determines one or more correction parameters 175 based on the determined adjustments and communicates these parameters to correction system 120. The correction parameters control adjustable variables within correction system 120. Correction module 170 may also receive illumination field data 185 collected from one or more uniformity measurement devices 190 positioned at the image plane 180 or plane of the contrast device.
Through manipulation of the adjustable variables of correction system 120 in accordance with the correction parameters, characteristics of the illumination beam are changed. More specifically, the correction parameters provide details on how to adjust the variables of correction system 120 to achieve the desired uniformity profile (e.g., flattest uniformity or shape beneficial for the lithography process).
Correction module 170 includes one or more processors 172 and memory 174. One or more processors 172 execute software implementing the operations described in Section 3, below. Memory 174 includes a main memory (e.g., a random access memory (RAM)). In an embodiment, memory 174 also includes a secondary memory. Secondary memory can include, for example, a hard disk drive and/or a removable storage drive.
Computer programs are stored in memory 174. Such computer programs, when executed, enable processor 172 in correction module 170 to perform the features of the present invention, as discussed herein.
In an embodiment, where the method for adjusting elements of uniformity correction system 120 is implemented using software, the software can be stored in a computer program product and loaded into correction module 170 using a removable storage device, a hard drive, or a communications interface. Alternatively, the computer program product can be downloaded to correction module 170 via a communications path.
In addition, in an embodiment, the correction module 170 is coupled to one or more remote processors. The correction module 170 can then receive instructions and/or operating parameters remotely.
2.2 Correction System
Prior uniformity correction systems used one or more filter plates to perform correction. However, the filter plates did not have sufficient degrees of freedom to correct the variety of illumination profiles existing and expected in the next generation of lithography tools. For example, illumination systems are moving away from techniques using rod homgenizers toward systems using field defining element (FDE). FDE illumination systems typically introduce higher ordered errors than those with rod-based designs. In addition, the spatial frequency content of the uniformity profile in FDE systems is more sensitive to illumination type, requiring greater flexibility in correction. Therefore, uniformity correction systems having greater flexibility to correct higher odd order aberrations were developed. In addition, in some prior uniformity correction systems, adjacent correction elements were interlocked. These interlocking configurations caused significant wear on the components under a large number of cycles.
The correction system 315 depicted in
As discussed above, the goal of the configuration in
In order to correct for the intensity gradient, correction waveform 364 must closely approximate gradient 362. If uniformity correction system 315 had a very large number of correction elements, the correction element could be inserted in a pattern to generate a waveform 364 matching each one of the data points on gradient 362. This configuration would be able to fully correct for the gradient. However, in practicality, only a finite number of correction elements, having a finite width, are available to perform the correction. While some level of correction is provided, the size and shape of the correction elements and also in the scan-integrated pupils induce residual errors (e.g., ripple) in the scan-integrated pupil uniformity.
Steps are created in correction waveform 364 for each transition from one correction element set to the next correction element set. Therefore, waveform 364 represents the best correction that can be achieved with the configuration of uniformity correction system 320 for gradient 362. Because of finite nature of the correction elements, a uniformity ripple is induced. The uniformity ripple is the difference between waveform 364 and gradient 362. For example, at slit position 0, the ripple is positive, at 2 mm the ripple goes to 0 and at 4 mm the ripple goes negative. This ripple pattern continues across the illumination slit. The worst case magnitude of the ripple, referred to herein as the maximum ripple, is the maximum difference between gradient 362 and the worst point on correction waveform 364. Furthermore, the location of the uniformity correction system contributes to the ripple. The worst case, as illustrated in
Gradient is defined as the rise in the scan-integrated intensity that occurs over the width of one or more correction element. The slope or shape of the gradient can change on a correction element by element basis or span multiple correction elements. The gradient can be a straight line or curved. Because the gradient is defined by the width of one or more correction elements, it is dimensionless. Because maximum ripple can be expressed as a function of the gradient, the maximum ripple is known regardless of the size of the correction element. In the example of
In an embodiment of the present invention, a non-rectangular shape is used for the portion of the correction element inserted in to the illumination field.
The flat tip 870 of the correction element has a width 846, which is substantially the same as the width of the lower section 865 of the correction element. The width 848 of the correction element is the width from the outer edge of first wing portion 842a to the outer edge of second wing portion 842b. The width 848 can be set to any value within the limitations of a particular application. The slope 852a and angle 853a of the upper edge of first wing portion 842a and the slope 852b and angle 853b of the upper edge of second wing portion 842b are determined such that improvements in uniformity of the illumination field are optimized. For example, the slopes 852a, 852b and/or angles 853a, 853b can be related to the slope and/or angle of the maximum gradient of the scan-integrated intensity of the illumination field to be corrected. Alternatively, the slope can be related to any gradient, as required by a particular application.
The length of the outer edge 844 of each wing portion 842a, 842b is determined based on the maximum depth that the correction element can be inserted into the illumination field. This length is sometimes referred to as the maximum stroke of the correction element. The lower edges 854a, 854b of the first and second wing portion do not contribute to correction and thus can have any shape or slope.
In an embodiment, first wing portion 842a and second wing portion 842b have a trapezoidal shape. In alternate embodiments, first wing portion 842a and second wing portion 842b can have any shape. In an embodiment, first wing portion 842a and second wing portion 842b are mirror images of each other. In alternate embodiments, first wing portion 842a can have a different shape than second wing portion 842b.
The staggered configuration of the winged correction elements creates multiple zones 730a-h. Comer 725a of correction element 720a and the first non-overlapped point 727b of correction element 720b define zone 730a; the first non-overlapped point 727b of correction element 720b and corner 729a of correction element 722a define zone 730b; corner 729a of correction element 722a and the first non-overlapped point 731b of correction element 722b define zone 730c; the first non-overlapped point 731b of correction element 722b and corner 725b of correction element 720b define zone 730d; corner 725b or correction element 720b and the first non-overlapped point 727c of correction element 720c define zone 730e; and so on. In this configuration, zones 730a, 730c, 730e, and 730g have trapezoidal shapes and zones 730b, 730d, 730f, and 730h have rectangular shapes.
The overlapping configuration of adjacent correction elements has a number of additional benefits. The overlap prohibits light leakage between correction elements inherent in non-overlapping systems such as described above. The overlap also reduces pupil variation in the scan-integrated pupil in the cross-scan direction. In addition, the individually moving correction elements as opposed to interlocking correction elements, allows for a large number of cycles without wear.
Although
Because the optimal correction is achieved by overlapping correction elements, adjacent correction elements must be inserted at varying levels into the illumination slit.
As would be appreciated by persons of skill in the art, other configurations to allow for overlap of adjacent winged correction elements can be used with the present invention.
Prior uniformity correction systems such as those depicted in
As the gradient being corrected increases, the uniformity ripple also begins to increase. The ripple increases until the maximum ripple case is reached. In an embodiment, the worst case of uniformity ripple occurs for the gradient midway between zero gradient and the maximum gradient.
As the gradient being corrected continues to increase past the midway gradient, the uniformity ripple decreases until it reaches zero. A zero ripple is again achieved when the maximum gradient is being corrected.
3. Method for Uniformity Correction
Flowchart 1100 is typically performed during set-up of the lithography system for use. In an embodiment, flowchart 1100 is repeated for one or more illumination types supported by the system (e.g., annular, quadrupole, conventional, or dipole).
Flowchart 1100 begins in step 1101 when the uniformity correction per setting procedure is initiated. In an embodiment, the procedure is called during calibration of the lithography tool. In a separate embodiment, the procedure is called during a recipe download.
In step 1102, a determination is made whether existing parameters are to be used during the present calibration. If existing parameters are to be used, operation proceeds to step 1110. If existing parameters are not to be used, operation proceeds to step 1104.
In an embodiment, parameters include correction element positions, and the Msens and X-pupil parameters. Msens is a parameter which indicates the sensitivity of the uniformity profile to insertion of a correction element. Msens represents the response of the uniformity profile to the insertion of a correction element deeper and deeper into the illumination field. In an embodiment, Msens is a matrix. In another embodiment, Msens is represented by a curve.
X-pupil represents the influence of the interaction of correction element geometry and geometry of the illumination on the intensity.
In step 1110, the parameters are retrieved.
In step 1112, a determination is made whether the parameters have been successfully retrieved. If the parameters were successfully retrieved, operation proceeds to step 1160. If the parameters were not successfully retrieved, operation proceeds to step 1104.
In step 1104, a computation of the initial positions for the correction elements is performed and the correction elements are moved to the computed initial positions. In an embodiment, the initial positions represent the maximum retraction of the correction elements. Step 1104 is optional. Step 1104 is present when the lithography system does not include a mechanical field stop. If the lithography system includes a mechanical stop, step 1104 is not included in method 1100.
In step 1106, the uniformity profile is measured. In an embodiment, the correction elements are pulled out (retracted) as far as possible for the uniformity correction system being used. If step 1104 is performed, the correction elements are pulled out to the point determined in step 1104. The profile measured without the correction elements inserted into the field is referred to herein as the “open slot” profile.
In an embodiment, the profile is measured using a spot sensor at the wafer or reticle plane. Alternatively, a charge coupled device (CCD) sensor is used. As would be appreciated by persons of ordinary skill in the art, other measurement techniques could be used with the present invention.
In step 1108, the Msens transformation coefficients are computed. Step 1108 is optional. The transformation coefficients represent additional adjustments to Msens. In an embodiment, adjustments to Msens are desirable to account for certain variations or illumination conditions. For example, because there are likely to be misalignments of the illumination beam and variations within the beam, in an embodiment, the slopes of the Y profile are measured in step 1106. This information is used to determine adjustments to Msens as a function of X position in the illumination field. In another example, adjustments may be made to account for field shift and/or field rotation.
In step 1120, a determination is made whether the measured profile is within the open-slot specification for the lithography tool. Step 1120 is optional. If the measured profile is not within the open-slot specification, operation proceeds to step 1122. If the measured profile is within the open-slot specification, operation proceeds to step 1130.
In step 1122, an indication is provided to the user of the lithography tool that the open-slot uniformity is out of specification. Operation then proceeds to step 1130.
In step 1130, a determination is made whether Msens and X-pupil are to be measured. If Msens and X-pupil are not to be measured, operation proceeds to step 1132. If Msens and X-pupil are to be measured, operation proceeds to step 1140.
In step 1132, a determination is made whether Msens and X-pupil are stored for the current settings. If Msens and X-pupil are not stored for the current settings, operation proceeds to step 1140. In an embodiment, the user of the lithography tool is provided with a message indicating that Msens and X-pupil were not stored for the current settings. If Msens and X-pupil are stored for the current settings, operation proceeds to step 1134.
In step 1134, Msens and X-pupil are retrieved.
Steps 1130-1134 are optional. When present, they provide mechanism for avoiding real-time measurement of Msens and X-pupil, thus, saving time during the calibration procedure
In step 1140, Msens is measured. In step 1140, the uniformity response to the insertion of correction elements is characterized. In an embodiment, Msens determination includes two steps. In one step, the transmission change as a function of insertion of a specific correction element is characterized. In an additional step, a correction factor is determined during open slot profile measurement (e.g., using coefficients determined in step 1108). Step 1140 is described in further detail in Section 3.1 below. In an alternate embodiment, Msens is determined by measuring the y-profile of the illumination with the correction elements fully retracted and with the correction elements inserted to a known insertion depth. The measurements are then used to calculate Msens for other insertion depths. In this embodiment, the measurements and calculation are repeated for one or more additional correction elements.
In step 1144, X-pupil is measured for each specified correction element. X-pupil is used to reflect the optical coupling between correction elements in the x-direction. In general, X-pupil is determined by measuring the shadow cast in X at location Y where the pupil is fully obscured by one and only one finger. This location is nominally the midpoint of a fully-inserted correction element. The X-pupil is deconvolved from the shadow measurements using a mask that represents the binary correction element transmission of the pupil's x-profile as a function of field x-position. In an embodiment where the pupil is smaller than the width of the correction element, two edges are available from which to deconvolve a pupil profile. These two profiles are generated and averaged to reduce deconvolution noise. Step 1144 is described in further detail in Section 3.2 below. In an alternate embodiment, X-pupil is determined by measuring a two dimensional image of the pupil and integrating the measurement to produce the X-pupil profile.
In step 1150, correction element positions are calculated. Step 1150 is described in further detail in Section 3.3 below.
In step 1160, the correction elements are moved to the positions determined in step 1150.
In step 1162, the residual profile is measured and residual uniformity is determined. Step 1162 includes steps 1164 through 1168.
In step 1164, the residual profile is measured. The residual profile is the difference between the target profile and the actual measured profile.
In an alternate embodiment, the residual profile and the correction element positions are inputted into a learning algorithm. The learning algorithm determines adjustments to Msens per correction element.
In step 1166, the residual profile is fit to a certain order polynomial. In an embodiment, the residual profile is fit with a Legendre polynomial.
In step 1168, the residual uniformity is determined.
In step 1170, a determination is made whether the residual uniformity is within the convergence limit. If the residual uniformity is within the convergence limits, operation proceeds to step 1180. If the residual uniformity is not within the convergence limit, operation proceeds to step 1172.
In step 1172, a determination is made whether the maximum number of iterations of the correction element position process (steps 1150-1174) has been reached. If the maximum number of iterations has been reached, operation proceeds to step 1180. In an embodiment, a message is generated to inform the user of the lithography tool that the calibration was completed but the uniformity was not within specified limits. If the maximum number of iterations has not been reached, operation proceeds to step 1174.
In step 1174, the residual profile (from step 1166) is added to the modified open slot profile. In the first iteration, the modified open slot profile is the open slot profile measured in step 1106. In subsequent iterations, the modified open slot profile is the modified open slot profile determined in the previous iteration. The result of the addition of step 1174 is the modified open slot profile. Operation then returns to step 1150.
In step 1180, the best correction element positions, modified open slot profile, residual profile, Msens, X-pupil, and Msens transformation coefficients (when generated) are stored.
In step 1190, processing ends.
In normal operation, the method of
There are cases where a user may wish to induce a non-flat profile to compensate for systematic wafer process variation. In this case, the wafer recipe includes a set of non-flat target profiles that the uniformity correction system must achieve, each assigned to one or more specific fields (die) on the wafer. Flowchart 2500 illustrates an exemplary method for uniformity correction to induce a non-flat profile.
Flowchart 2500 begins in step 2510 when Msens, X-pupil, the Msens transformation coefficients, and the open slot profile data are retrieved. In an embodiment, this information is determined when the method of
In step 2520, the correction element positions are calculated. Step 1150 is described in further detail in Section 3.3 below.
In step 2530, the correction elements are moved to the calculated position.
In step 2540, the field is exposed.
3.1 Method for Measuring Msens
In step 1204, a first bank (side) of correction elements is identified as the measurement bank. For example, bank A of the double-sided uniformity correction system shown in
In step 1206, a first measurement layer is identified. The identified layer is referred to as the active layer. For example, level A of bank A of the double-sided uniformity correction system shown in
In step 1208, a correction element from the active bank/active layer is selected as the active correction element for Msens measurement. In an embodiment, during Msens measurement, one correction element from each bank/layer combination is identified as an active correction element. Therefore, for a two layer double-sided uniformity correction system, four active correction elements will be used during Msens measurements.
In addition, in this step, the nominal x-position of the correction element is calculated, according to the following equation. In an embodiment, the nominal x-position is calculated in wafer scale coordinates for consistency.
In step 1210, the correction elements are set to the maximum position and range extension. The measurement of Msens begins with a scan where all correction elements are retracted from the illumination beam. This scan is the reference point against which all subsequent measurements for the active correction element are compared. In an embodiment, the range extension pulls the correction elements out of the illumination beam by an additional amount over what will be permitted during operation of the lithography tool. This extension of correction element travel allows for profile compensation of the Msens function, without having to extrapolate the measured data. For example, if a rotation of the field is detected, the correction element position algorithm will shift the Msens curve by a corresponding amount in order to compensate for the difference in correction element-to-beam geometry as a function of X-location. Without the range extension during calibration, the shifted curves may be evaluated outside the range of measurement, and so, would have to rely on extrapolation.
In an embodiment, the initial position (F0) of all correction elements in both banks is the distance from field y=0 when the correction element is fully retracted (φmax) added to a fraction (e.g., ½) of the allowed extension range beyond (φmax (½φext) This can be represented by the following equation:
Before the first measurement for the active correction element is taken, all correction elements in the uniformity correction system are set to position F0. In order to correctly measure Msens, the range of correction element insertions used to measure it are determined. This range varies from fully inserted position (Fmin) to the fully retracted position (Fmax). In an embodiment, the range is given by the following equations.
In step 1220, the scan-integrated intensity at the nominal x-position corresponding to the active correction element is measured. The scan-integrated intensity is measured for the active correction element by determining the x-coordinate of the center of the correction element, then performing a line scan in Y across the specified region of the field. Step 1220 is described in further detail below in
In step 1230, the Msens value for insertion step, i, is computed. In the first iteration of step 1230, the value of insertion step, i, is zero. The value of Msens at each insertion step is the apparent attenuation of the profile for that insertion. The attenuation is calculated, using the scan-integrated intensity (I), determined in step 1220, relative to the situation where the correction element is fully withdrawn from the beam. The attenuation is modeled to reflect what is occurring optically. As a consequence, the value of insertion step i=0 is always zero.
In step 1240, a determination is made whether Fmin was measured. Fmin represents the difference between the minimum actuation point and the range extension of the system. If Fmin was measured, operation proceeds to 1250. If Fmin was not measured proceeds to step 1245.
In step 1245, the measurement layer/measurement bank correction elements are extended by a constant insertion step. In addition, the correction element insertion step variable, i, is incremented in this step. In an embodiment, the insertion step is determined by the following equation:
Nmsens=total insertion measurements for each correction element The correction element insertion position (Fi) for the insertion step is the position of the correction element for all correction elements in the same bank and layer as the active calibration correction element. In an embodiment, the correction element insertion position is defined by the following equation:
Fi=Fmax+i·ds
where insertion i∈{0,1, . . . , Nmens −1}
Operation then returns to step 1220.
Steps 1220-1240 are repeated until Fmin is measured for the measurement correction element.
In step 1250, a determination is made whether Msens calibration needs to be completed for additional layers of the uniformity correction system within the identified measurement bank. If additional layers remain to be processed, operation proceeds to step 1255. If no additional layers remain, operation proceeds to step 1260.
In step 1255, the next layer is identified as the measurement layer. For example, in the two layer double-sided configuration of
Steps 1210-1255 are repeated for each layer in the measurement bank being processed. For example, if the measurement bank includes two layers of correction elements, the loop comprising steps 1210-1255 is performed twice.
In step 1260, a determination is made whether measurements for the second bank/side of correction elements in the uniformity correction system have been completed. If the second bank/side measurements have been completed, operation proceeds to step 1265. If the second bank/side measurements have not been completed, operation proceeds to step 1290.
In step 1265, bank/side B is identified as the measurement bank. Operation then returns to step 1206.
Steps 1206-1265 are repeated for each bank/side of correction elements in the uniformity correction system. For example, if the uniformity correction system includes 2 banks/sides, the loop comprising steps 1206-1265 is performed twice.
In step 1290, Msens calibration processing ends.
In step 1322, a determination is made whether a partial scan is to be performed and whether the current scan is not the initial scan. If both conditions are true, operation proceeds to step 1324. If one or more conditions are not true, operation proceeds to step 1323. Step 1322 is optional. In an embodiment, the same type of line scan is performed for each active correction element.
In step 1323, a full scan is prepared. For the full scan, the scan is over the full depth of the field and is centered at the center of the field, offset by Xnom.
In step 1324, a partial scan is prepared. For the partial scan, the scan spans the edge of the field to a point in the field (e.g., to the center). In an embodiment, the scan center is dependent upon which bank of correction elements is currently the active bank.
In step 1326, the line scan is performed.
In step 1328, the scan-integrated intensity is computed. The scan integrated intensity is nominally the sum of the intensity measurements in Y. For full scans, the scan-integrated intensity (I) is the sum of the ratio measurements (ρ) from the scan performed in step 1326. In an embodiment, the scan-integrated intensity (I) is computed according to the following equation:
The steps in flowchart 1400 are repeated for each active correction element. For example, in the two layer double-sided uniformity correction system depicted in
In general, for each active correction element, two line scans at a fixed Y location in the field are taken. The line scans are perpendicular to the correction element. One of the line scans is to normalize out the field intensity signature. The second of the line scans is to measure the shadow cast by a correction element. In this scan, the active correction element is fully inserted and the remaining correction elements are retracted. The Y location is chosen to ensure that the pupil will be completely blocked by the correction element when it is fully inserted. In simplest terms, the pupil is the shape of the illumination at the uniformity correction plane. For example, in
In step 1410, the correction elements are set to the maximum position (Φmax). The maximum position is the position at which all the correction elements are fully retracted. In an embodiment, all correction elements are set to position, Φmax. Note that unlike Fmax used in Msens measurement, no range extension is included in Φmax.
In step 1420, a first reference x line scan measurement is performed. As discussed above, this line scan is used to normalize the field intensity signature. This step is optional.
In step 1430, an active correction element is inserted to the minimum position (Φmin). The minimum position is the position at which the active correction element is fully into the beam. During this step, all correction elements in the uniformity correction system are set to position Φmax except the active correction element which is set to position Φmin.
In step 1440, a second x line scan measurement is performed. The second line scan measurement measures the shadow cast by the correction element.
In step 1450, X-shadow is computed. X-shadow is the transmission function of the correction element. In an embodiment, X-shadow is a vector calculated from the line scan data from the reference scan (ρR) performed in step 1420 and the shadow scan (ρs) performed in step 1440. The following equation can be used to compute X-shadow.
Nshadow=number of samples in the 1-D shadow measurement.
In step 1460, the 1-D pupil is computed by deconvolution. The 1-D pupil is the x-profile of the pupil. In other words, it is the relative distribution of energy in the pupil as a function of x position at the correction element plane. Step 1460 is described in further detail below in
In step 1490, X-pupil measurement processing ends.
In step 1504, the quantized pupil width is computed. Based on knowledge of the pupil setting and geometric position of the uniformity correction system, the maximum half-width the pupil profile can have at the correction element plane is determined. The half-width is adjusted to fit the sample grid used in step 1440 for the x-shadow measurement. In an embodiment, the pupil width is assumed to be related tangentially to the epsilon outer (εouter) of the illumination system setting (i.e., the product of the Numerical Aperture (NA) and sigma outer). In an alternate embodiment, the pupil profile may be smaller, for example, if the illumination system setting is Y-dipole.
The width of the determined using the following equation:
In step 1506, the transmission mask at x-shadow position is determined. In order to deconvolve the pupil from the shadow measurements, a matrix must be constructed that represents the transmission function of the correction element relative to the pupil at each of the sample points. For each row in the mask matrix, a determination is made which columns correspond to an intersection of the x-pupil profile and the correction element. These columns are set to zero, since the correction element is completely opaque. This process is repeated until the entire mask is defined. Conceptually, each row represents a shift of the pupil profile from −x to +x by one step increments. Therefore, the zero entries in the matrix will shift from right to left from the top row to the bottom row.
In step 1510, a determination is made whether any rows contain only zeros. If any rows contain only zeros, operation proceeds to step 1512. If no rows contain only zeros, operation proceeds to step 1520.
In step 1512, submasks are created. If the pupil is smaller than a correction element width, rows will contain only zeros. These rows will correspond to sample points where the pupil is completely blocked by the correction element, producing a complete blockage of light at the image plane. Since these rows contain no information for deconvolution, submasks are created that correspond with the sample points at the transition points, commonly called a knife edge. The knife edge k1 and k2 are the indices of the first and last rows in the mask that are completely zero. The submasks M1 and M2 are then defined as follows. In order to perform the deconvolutions, subarrays T1 and T2 for the x-shadow are required.
In step 1514, the pupil profile is deconvolved from submasks. Ideally, each submask would be a well-conditioned square matrix. The relationship between the pupil profile and x-shadow is given by the linear algebraic relationship is the following equation:
Mi·{right arrow over (P)}i={right arrow over (T)}i, i∈{1,2}
Under these ideal conditions, the x-pupil profile results from multiplication of the submask inverse and the shadow subarray.
{right arrow over (P)}i={right arrow over (M)}i−1·{right arrow over (T)}i, i∈{1,2}
More often than not, the submask is not square, so the system of above equation must be solved for Pi in the least squares sense. In an embodiment, Singular Value Decomposition is used to provide numerical stability. As would be appreciated by persons of skill in the art, other methods for solving these systems of linear equations exist and may be equally applicable.
In step 1516, the pupil profiles are combined. Because the pupils are deconvolved from two submasks, two pupil profiles are created. To get a more accurate pupil distribution, the profiles are combined. The method of combining the profiles depends on whether the number of measurement points is odd or even. If even, the profiles are shifted with respect to one another by one pixel. Before combining the profiles, any negative entries are zeroed. In an embodiment, the even/odd combinations are represented by the following equations:
The size of the pupil profile array for the case of submasks depends on whether the number of samples during shadow measurement is odd or even.
In step 1520, the pupil profile is deconvolved from the mask. The deconvolution performed in step 1520 is similar to the deconvolution performed in step 1514 with the exception that the mask is not broken into submasks. In an embodiment, Singular Value Decomposition is used to provide a numerically robust solution of the system of linear equations represented by the mask and the shadow measurements.
M·{right arrow over (P)}={right arrow over (τ)}
The size of the pupil in this case is simply the mask column size.
Npupil=Nmask
In step 1530, the profile is normalized. Because the pupil profile will be used as a filter function, the profile is normalized so that the distribution sums to unity, according to the following equation.
In step 1610, sample position Xn is determined. For purposes of determining the mask entry for the current row, zero is defined to be the coordinate of the first sample.
In step 1620, correction element edge positions relative to sample Xn are determined. Ultimately, the range of column indices into the current row of the mask matrix whose entries must be set to zero is determined. To start, the location of the correction element edges with respect to the current sample point (i.e., row in the mask) are determined. The negative edge (xf−) is determined from the negative-most x-coordinate in the correction element in the correction element shape list (Vx,y). Likewise, the positive edge (xf+) is determined from the positive-most x-coordinate in that list. In an embodiment, the x-coordinates in the correction element shape list, Vx,y, are relative to the centerline of the correction element and the y-coordinates are relative to the tip of the correction element.
In an embodiment, the positive and negative edges are determined using the following equations:
In step 1630, the indices of the correction element edges are determined using the pupil resolution. Note that this calculation may result in one or both of the indices lying out of the matrix. The situation indicates either that the pupil and correction element do not intersect, or that the correction element blocks only part of the pupil.
idxnf−=ceiling(Rpupil·xnf−)
idxnf+=floor(Rpupil·xnf+)
∀n∈{0,1, . . . , NshadoW−1}
In step 1640, valid columns in row n are zeroed. For each row, if one or both of the correction element indices lies within the valid range of columns in the mask, then for the set of indices that intersects the mask index set, a value of zero is stored in the appropriate element of the mask. The other columns of the row contain a value of 1.
If idxnf−≦Nmask−1 and idx nf+≧0
In step 1650, a determination is made whether all x positions have been processed. If all x positions have been processed, operation proceeds to step 1690. If not all x positions have been processed, operation returns to step 1610.
In step 1690, processing returns to flowchart 1500.
3.3 Method for Determining Correction Element Position
The method for determining correction element position uses, among other items, the open slot profile, a list of one or more target profiles and the calibration data collected by the methods described above. With this input information, the method determines the position each correction element in the uniformity correction system must have to produce a target profile while simultaneously satisfying performance requirements with respect to uniformity, ellipticity, transmission, etc.
In step 1710, preparatory computations are made. This step is optional. In an embodiment, one or more preparatory computations are made in order to minimize calibration time and correction element position computation time. For example, to reduce measurement time, the uniformity profile is measured on a less dense grid. The measured profile is then interpolated onto a denser grid for the correction element position processing.
In a further example, certain aspects related to the geometry of the correction elements with respect to the profile remain unchanged during correction element position processing. These characteristics are calculated during this step. Step 1710 is described in further detail in Section 3.3.1 below.
In step 1720, the target profile to be processed is evaluated on the same grid as the interpolated open-slot profile. In an embodiment, the target profile is described in Legendre polynomial coefficients. As would be appreciated by persons of skill in the art, any type of orthogonal polynomial description can be used to describe the target profile. The profile difference vector is determined using the following equation:
{right arrow over (D)}profile=1+{right arrow over (P)}norm−{right arrow over (Q)}norm
{right arrow over (P)}norm=normalized open slot profile
{right arrow over (Q)}nomr=normalized target profile
In addition, in step 1720, the theoretical loss due to profile correction is determined. The loss due to profile correction is the average intensity of the profile relative to the minimum value in the profile. This additional loss tolerance is added to ensure the correction is not over constrained. In an embodiment, the profile correction is given by the following equation.
αcorrection=100·({right arrow over (D)}prof−min{{right arrow over (D)}prof})+aspec
In step 1730, the correction element positions for the current target profile are determined. In this step, for the current target profile, an iterative constrained minimization is performed to search for the set of correction element insertions that will produced the desired results and satisfy the constraints. If a particular iteration fails to produce a profile to the required accuracy, the constraint weights are relaxed and a new search is initiated. Step 1730 is described in further detail in Section 3.3.2 below.
In step 1740, post-processing is performed. Post-processing includes saving the correction element positions for the current target profile and saving the final values for the constraints. In an embodiment, additional information is computed during processing which can be used for other components of the lithography system.
In step 1750, a determination is made whether any additional target profiles remain to be processed. If additional target profiles remain to be processed, operation returns to step 1720. If no additional target profiles remain to be processed, operation proceeds to step 1790.
In step 1790, processing ends.
3.3.1 Method for Preparing for Computation
In step 1810, the algorithm grid size is determined. In an embodiment, the measurements taken to measure the uniformity profile are on the coarsest possible grid in order to minimize the productivity impact. To ensure proper accuracy of the correction element solution, the uniformity profile and other profiles are interpolated onto a grid having sufficient density. Step 1810 determines the size of the grid. The grid resolution (Rgrid) is the number of pixels per a predetermined measurement (e.g., per millimeter) at the reticle plane of the profile. The number of pixels in the grid (Ngrid) are also determined in this step. In an embodiment, the grid resolution (Rgrid) and number of pixels (Ngrid) are determined by the following equations.
Ngrid=└Wx·Rgrid┘+1
In step 1815, the open slot profile is interpolated onto the algorithm grid. In this step, a set of X coordinates spanning the nearest sample end points are defined. The measured profile is then linearly interpolated at those coordinates. First, a vector of the sample coordinates for the profile is determined. To construct the vector, the profile measurement resolution (Rprofile) and a start coordinate are required. The grid coordinates are based on the field shift and field width (Wx) defined for the target profiles.
Next, the defining functions for the profile and grid x-coordinates are specified according to the following equations.
After the grids are defined, interpolation is performed to determine the grid profile. Details of interpolation are well-known in the art and are not discussed further herein.
{right arrow over (P)}grid=int erp({right arrow over (X)}profile, {right arrow over (P)}openslot, Nx, {right arrow over (X)}grid, Ngrid)
The profile is then normalized to its mean value. In an embodiment, the normalized profile is given by the following equation.
In step 1820, the correction element tip and pupil profiles are interpolated onto an algorithm grid. For Msens evaluation during correction element optimization, an array of correction element tip offsets is required to account for the effects due to the shape of the correction element tip.
Ntip=└(∇x
With the number of points known, an x-coordinate grid is created as the set of interpolation points, as follows:
With the grid defined, an interpolated profile for the tip is generated.
{right arrow over (P)}tip=int erp({right arrow over (V)}x, {right arrow over (V)}y,Nvertices,{right arrow over (X)}tip,Ntip)
If the pupil resolution differs from the algorithm grid resolution (Rpupil≠Rgrid), the x-pupil profile must be interpolated as well. The following equations must be calculated for each of the x-pupil profiles associated with the correction elements in the 1-D Msens calibration correction element list.
After the X-pupil is interpolated, if necessary, the two profiles in each bank are added together to form a combined pupil profile for the bank. These two combined profiles are then renormalized to sum to unity.
Other embodiments are possible where distinct pupil profiles per correction element type are preserved, rather than combined, and are individually used in filtering Msens during profile computation.
In step 1825, the correction element centerline position is determined. In order to know how a correction element affects the profile, a correction element's position with respect to the profile must be determined. Because this relationship does not change for a given target profile, the correction element centerline position can be established once before correction element position determination begins.
In step 1830, the extended field indices are calculated per correction element. Each correction element that affects the field influences a subset of points in the profile. Step 1830 determines the range of profile pixels that each correction element influences. The field is extended a half pupil width on either side to ease the filter operation performed during profile determination.
In step 1835, the active correction element tip profile indices are calculated. For all correction elements that are completely in the field, the entire correction element tip profile is used to determine the correction elements influence on the profile. For edge correction elements, only a subset of the pixels in the correction element profile is active. The remaining pixels are truncated at the edge of the field.
In step 1840, the Msens offsets are calculated per correction element. This step is optional. In an alternate embodiment, the performance of this step is configurable by the user. For example, for rod-based illumination systems where the quality of the profile is good, step 1840 may be enabled. However, for certain FDE-based systems, the variation in the slope of the y-profile may dominate the Msens error. Therefore, there would be little correlation between profile shift compensation and uniformity performance. In these types of systems, step 1840 may be disabled by a user.
Because Msens is measured for only a subset of the correction elements, the accuracy of the correction element positioning is sensitive to variation in the field. If the y-profile of the illumination varies in center position or width as a fiction of x location, Msens measured at one portion of the field will not reflect the profile response of the other correction elements in the field. During profile measurement, the y-profile shift and width variation is calculated and stored as Msens Transformation Coefficients (step 1108). For each correction element, the difference between the offsets measured for the correction elements and the other correction elements in the same bank and layer is computed and stored for use during Msens evaluation. In an embodiment where Msens is measured per correction element, no offset correction is needed and this offset computation step is skipped.
To associate the field-based transformation coefficients with a correction element, the index into the profile that is nearest to the correction element center coordinate is selected for each correction element. For each correction element, the differences in its Y center and full width half maximum (FWHM) measurements and those of the appropriate correction element from the correction element list form the basis of the Msens shift for that correction element.
In the above equations, nA,even/odd and nB,even/odd represent the correction element numbers for the bank A and B Msens correction elements, respectively.
In step 1845, the correction elements which affect the profile are determined. Due to the size and position of the profile, not all correction elements may be involved in producing a particular profile. To reduce unnecessary computation, only the active correction elements, those which actively influence the profile, are considered. A list of indices for each bank of correction elements is produced to indicate which correction elements in that bank are active.
If {right arrow over (F)}A,jx≧−NHalfTip and {right arrow over (F)}A,j x≦NExtGrid+NHalfTip
Then ActiveA={ActiveA}∪{j}, ∀j={1, 2, . . . , NA}
If {right arrow over (F)}B,jx≧−NHalftip and {right arrow over (F)}A,j x≦N ExtGrid+N Halftip
Then ActiveB={ActiveB}∪{j}, ∀j={1,2, . . . , NB}
As would be appreciated by persons of skill in the art, other methods of identifying active correction elements are possible.
For each correction element that satisfies the above conditions, the number of the correction element is added to the list of active correction elements for that bank. At the end of this step, a list for each bank will include the numbers for all active correction elements in the field.
In step 1850, field index lists are created. Optimization of correction element insertion evaluates the correction element configuration to ensure certain transmission symmetry constraint errors are minimized. Evaluating these constraint errors requires two sets of profile indices. One set of indices is the profile index corresponding to a correction element center in each bank. The second set is the unique set of indices from both banks.
If {right arrow over (F)}A,jX−NHalfTip≧0 and {right arrow over (F)}A,jX−NHalfTip≦N grid−1
Then IdxAconstra int={IdxAconstra int}∪{{right arrow over (F)}A,jx−N HalfPupil}, ∀j={1,2, . . . , NA}
If {right arrow over (F)}B,jX−NHalfTip≧0 and {right arrow over (F)}B,jx −NHalTip−Ngrid−1
Then IdxBconstra int={IdxBconstra int}∪{{right arrow over (F)}B,jX−NHalfPupil}, ∀j={1,2, . . . , NB}
Idxuniqueconstra int={IdxAconstra int}∪{IdxBconstra int}
In step 1855, a determination is made whether constraints were supplied. If constraints were not supplied, operation proceeds to step 1860. If constraints were supplied, the supplied constraints are retrieved and operation proceeds to step 1870.
In step 1860, the initial constraint parameters are set. In an embodiment, three constraints are used in the correction element position method. The X-balance constraint ensures that the difference in attenuation between neighboring correction elements (excluding the attenuation needed to set uniformity) does not vary excessively. The Y-balance constraint ensures that the difference in attenuation between opposing correction elements does not vary excessively. The transmission constraint ensures that the solution maximizes transmission. In addition, a fourth constraint, ellipticity constraint, may be used. The ellipticity constraint ensures that the solution favors the region of the field that minimizes the ellipticity that results from correction element insertion.
In an embodiment, weights are set for the constraints. For example, the constraints are weighted based both on test input and a default scaling to ensure a proper balance among constraints and between constraints and uniformity.
In step 1870, the ellipticity constraint exponent is calculated. In an embodiment, the intrinsic ellipticity constraint function is modeled as an exponentially decreasing function as the correction element is inserted more fully into the field.
In step 1875, Msens correction element insertions are calculated. This is required because to evaluate Msens, a grid of insertion values corresponding to the Msens values is needed.
In step 1880, transmission at nominal Y setting is calculated. To ensure that no light is transmitted outside the field boundary, the correction elements have a minimum insertion that must be maintained for a given setting. Any light lost due to the requirement to define the field does not count against the light-loss requirements constraining the uniformity correction solution. Consequently, the prediction of the starting light-loss at the nominal correction element position is required.
Pnom=Compute Profile(φmax−{right arrow over (Y)}nom,Pnorm, . . . ,) Enom=Σ{right arrow over (P)}nom
3.3.2 Method for Finding Correction Element Positions for the Current Target Profile
For the current target profile, an iterative constrained minimization is performed to search for the set of correction element insertions that will produce the desired profile, yet also best satisfy the surrounding constraints. If a particular iteration in the search fails to produce a profile to the required accuracy, the constraint weights are relaxed and a new search is initiated.
In step 1910, the correction element positions are optimized. In an embodiment, correction element positions are found using a non-linear, constrained vector valued function optimization that minimizes both the difference between the induced profile and the target profile and the value of the various constraint functions related to ellipticity, telecentricity, and transmission performance. In an embodiment, the objective function is evaluated by a Levenberg-Marquardt algorithm. The optimization objective function is described in further detail in Section 3.3.2.1 below.
In the first iteration of loop 1910-1970, the correction element positions are set to the midpoint between the correction element nominal position and its position at full insertion. In subsequent iterations, the correction element positions are the positions determined in the previous iteration, if the process is converging. If the process is not converging, the correction element positions are a perturbed version of the positions determined in the previous iteration.
The initial correction element position array is given by the following equation:
In an embodiment, the solution array is given by the following:
{right arrow over (U)}solution=Levenberg Marquardt(ObjFen, {right arrow over (U)}correction elements, {right arrow over (U)}lb, {right arrow over (U)}ub, . . . )
In step 1920, the profile is computed. In an embodiment, the solution returned as a result of step 1910 is used to compute the profile.
In step 1925, the profile uniformity is calculated. The correction element positioning process stops searching for a solution when the residual uniformity of the solution profile meets a given specification. Because a profile shape is being produced, the solution profile is first normalized to it mean. The difference profile is determined according to the following equation:
{right arrow over (P)}difference=({right arrow over (P)}solution)−1·{right arrow over (P)}solution−{right arrow over (Q)}norm+1
The difference profile is then fit to a polynomial as a means of filtering it. For example, the difference profile is fit to a Legendre polynomial according to the following:
{right arrow over (P)}residual=LegendreFilter({right arrow over (P)}difference, Ngrid, Nfit)
In step 1930, a determination is made whether the uniformity meets the specification. If the uniformity meets the specification, operation proceeds to step 1990. If the uniformity does not meet the specification, operation proceeds to step 1940.
To determine whether the uniformity meets the specification, the uniformity of the residual profile must be determined. In an embodiment, the uniformity of the residual profile is calculated using the following equation:
The residual uniformity is compared with the target residual uniformity. If residual uniformity is less than or equal to the target residual uniformity then the Uniformity meets specification and the correction element positions are returned.
In step 1940, a determination is made whether the solution provided the best residual profile so far. If the solution provided the best residual profile, operation proceeds to step 1945. If the solution did not provide the best residual profile so far, operation proceeds to step 1950.
In step 1945, the correction element positions and associated data are stored.
In step 1950, a determination is made whether the iteration limit has been reached. If the iteration limit has been reached (e.g., last loop), operation proceeds to step 1990. If the iteration limit has not been reached, operation proceeds to step 1960.
In step 1960, one or more constraint weights are reduced. If the uniformity requirement was not met in step 1930, one or more constraint weights are reduced and a new search is performed at the last solution, if the solution is converging. If the solution fails to converge (e.g., because it is trapped at a local minimum) or convergence is too slow, a systematic perturbation is made to the correction element solution and a new search is performed. Step 1960 includes steps 1962-1968.
In step 1962, the weight reduction factor is computed. The weight reduction factor is constructed in such a way that the magnitude of the reduction is related to the error in uniformity for the solution, as well as the number of iterations that have been performed. In an embodiment, under certain conditions, the reduction factor is crushed down to accelerate the search for a solution. This crush factor is applied after the first iteration in the search, as well as the first iteration after a correction element perturbation event. In addition, the ratio is raised to the power of the iteration, i. This further accelerates the de-weighting. In an embodiment, the weight reduction factor is given by the following equation:
finished first or perturbation iteration , otherwise
In step 1964, the constraint weights are reduced. In an embodiment, the new values for the constraint weights are the product of the reduction factor and the previous value of the constraint weight. This embodiment can be represented by the equation:
ωα,i+1=kreduction·ωα,i, ∀α∈{xbal, ybal, trans, ellip}
As would be appreciated by persons of skill in the art, other methods for reducing the constraint weights can be used with the present invention.
In step 1966, a determination is made whether the convergence rate is acceptable. The rate of convergence of the solutions to the target is important, since it is possible for the process to get trapped in a local minimum. Step 1966 determines when the process is trapped in a local minimum. If the rate of convergence is not acceptable (i.e., trapped in local minimum), operation proceeds to step 1968. If the rate of convergence is acceptable, operation proceeds to step 1970. In an embodiment, the determination is made using the following equation:
the convergence rate is acceptable
In step 1968, the correction element positions are perturbed. When the process is trapped in a local minimum, the correction element positions are perturbed in a controlled fashion to escape the local minimum in the next search. Correction element perturbation is based on the difference in correction element position between neighboring correction elements. The first step in correction element perturbation is to determine the difference in position of neighboring correction elements.
{right arrow over (U)}idifference={right arrow over (U)}i+1solution−{right arrow over (U)}isolution, ∀i∈{0,1, . . . , size of {right arrow over (U)}solution−2}
Note that the difference vector, {right arrow over (U)}idifference, is one element smaller than the correction element position vector. After the difference in insertion between the correction elements is determined, position offsets for two groups of correction elements are generated: correction element pairs with position differences greater than a predetermined value (e.g., 20 microns) and those that are different by the predetermined value (e.g., 20 microns) or less. The position offsets for each correction element pair are proportional to the position differences.
Where, for example, factors c1 and c2 are 0.25 and 0.5, respectively. After the displacements are computed, each correction element position is then adjusted by the sum of the displacements for each correction element pair to which it belongs. Note that end correction elements are adjusted by only one displacement.
In step 1970, a determination is made whether the constraint weights are too weak. If constraints are deweighted too much, there is little value in continuing to search for solutions since the constraints will no longer effectively guide the solution. Constraints are considered to be too weak when they fall below a predetermined factor (e.g., 0.001) of their initial value. If the constraint weights are too weak, operation proceeds to step 1980. If the constraint weights are not too weak, operation returns to step 1910.
In step 1980, the last loop conditions are set. If the constraints are too weak, all the constraints are disabled for the next iteration.
In step 1990, processing ends.
3.3.2.1 Method for Determining Optimization Objective Function
In an embodiment, the optimization of step 1910 is performed using a non-linear least squares technique. In an alternate embodiment, the optimization is performed using a genetic algorithm. In a further embodiment, the optimization is performed using a neural network.
The optimization objective function is given a set of correction element positions which it evaluates to determine their effect on the illumination profile. The difference between the calculated profile and the target profile is computed and a difference vector is returned to the optimize correction element positions method (
The objective function evaluated during optimization determines the profile resulting from a given vector of correction element position insertions give the following steps. Essentially, a virtual grey filter profile is computed by evaluating Msens at the y-coordinate associated with each correction element tip then blurring the result by filtering with the x-pupil profile.
In an embodiment, the illumination beam exhibits known telecentricity. This telecentricity can be compensated during the filtering operation described above. During compensation, filtering the grey filter by the X-pupil profile requires an extra step of calculating an off-set and using the offset during the filtering operation. In this embodiment, a function is retrieved that describes telecentricity as a function of field position. The function is then evaluated to provide an angular off-set for X-pupil. The X-pupil offset is computed using the angular offset and the known defocus of the correction element. The X-pupil offset is applied to the X-pupil profile during the filtering operation.
In step 2010, the adjusted profile is computed. For a given set of correction element positions, step 2010 evaluates Msens and creates a transmission function for each bank of fingers. The transmission function is applied to the open slot profile ({right arrow over (P)}norm) and the adjusted profile ({right arrow over (P)}adjusted) and attenuation mask ({right arrow over (A)}) vectors are generated. Step 2010 is described in further detail in Section 3.3.2.2 below.
In step 2020, the profile difference vector is computed. With the adjusted profile for the given correction element configuration, the current profile is compared with the desired profile. In step 2020, the adjusted profile is first normalized to its mean.
{right arrow over (P)}adjusted=({right arrow over (P)}adjusted)−1·{right arrow over (P)}adjusted
{right arrow over (D)}prof={right arrow over (P)}adjusted−{right arrow over (Q)}norm
{right arrow over (Q)}norm=normalized target profile
In step 2030, a determination is made whether the x-balance weight is greater than zero. If the x-balance weight is greater than zero, operation proceeds to step 2035. If the x-balance weight is not greater than zero, operation proceeds to step 2040.
In step 2035, the x-balance vector is computed. The x-balance constraint causes the optimization process to favor solutions that minimize the difference in attenuation between neighboring correction elements. Generally, one correction element is inserted only slightly more than a neighboring correction element. In the double-sided configuration of a uniformity correction system, two vectors are created from the skylines of the correction element. The attenuation profile is then multiplied by the open slot profile for each bank. The pixels at the centers of neighboring correction elements are subtracted to form the constraint error function residual. A weight is then applied. The x-balance vector ({right arrow over (f)}k,jxbal) is determined by the following equations:
{right arrow over (I)}k,i={right arrow over (A)}k,i·{right arrow over (P)}inorm, ∀k∈{A,B}
∀i∈{0,1, . . . , Ngrid−1}
{right arrow over (f)}k,jxbal=ωxbal·({right arrow over (I)}k,Idx
∀j∈{0,1,, . . . ,length of Idxkconstra int−2}
In step 2040, a determination is made whether the y-balance weight is greater than zero. If the y-balance weight is greater than zero, operation proceeds to step 2045. If the y-balance weight is not greater than zero, operation proceeds to step 2050.
In step 2045, the y-balance vector is computed. The y-balance constraint causes the optimization routine to favor solutions that minimize the difference in attenuation between the positive and negative Y edges of the field. The pixels at the centers of opposing fingers are subtracted to form the constraint error function residual. The error vector is scaled in such a way that if too much attenuation occurs on one side of the field, the error magnitude grows. This additional balancing effect forces solutions that minimize y-telecentricity. The y-balance vector ({right arrow over (f)}k,jybal) is determined by the following equations:
In step 2050, a determination is made whether the transmission weight is greater than zero. If the transmission weight is greater than zero, operation proceeds to step 2055. If the transmission weight is not greater than zero, operation proceeds to step 2060.
In step 2055, the transmission vector is computed. The transmission constraint leads the optimization routine to favor solutions that minimize the overall attenuation of the beam. To be more precise, the constraint error function is zero if the attenuation of the given correction element solution falls below the attenuation specification. Once the solution produces more loss than is specified, the attenuation as a function of field position is weighted by the error to favor solutions that minimize intensity attenuation. The transmission vector ({right arrow over (f)}jtrans) is determined using the following equation:
In step 2060, a determination is made whether the ellipticity weight is greater than zero. This step is optional. If the ellipticity weight is greater than zero, operation proceeds to step 2065. If the ellipticity weight is not greater than zero, operation proceeds to step 2070.
In step 2065, the ellipticity vector is computed. This step is optional. For rod-based illuminators, there is a region near the edge of the field where correction element insertion produces a large ellipticity. Operating in the flat region of the field produces a significantly lower effect on ellipticity. This constraint imposes a heavy penalty on correction element solutions that are operating in this high-ellipticity region. The ellipticity vector ({right arrow over (f)}k,jellip) is determined using the following equations:
{right arrow over (f)}k,jellip=ωellip·eβ
∀j∈{0,1, . . . , number of active fingers−1}
In step 2070, the edge correction element vector is computed. The leftmost and rightmost correction elements affecting the active region of the field have a reduced, but still significant, influence on the field. Their influence is weak enough that they are not properly controlled by the performance constraints, but it is strong enough that poor positioning will negatively impact uniformity. For that reason, the four active correction elements that are at the extremes of the field are constrained to match their insertion to that of their nearest neighbor.
In step 2080, the vectors are combined. The objective function generates a vector that contains the profile difference vector ({right arrow over (D)}prof)and the weighted constraint error vectors for any active constraints (i.e., those constraints with a positive weighting factor.) If a particular constraint was disabled, no entry exists for that constraint in the vector.
3.3.2.2 Method for Computing the Adjusted Profile
In step 2110, the correction element attenuation matrix is initialized. The correction element attenuation matrix contains two rows of multipliers (one per bank) that scale a profile by the amount of attenuation produced by the correction elements of the corresponding bank. The matrix has the same number of columns as the extended profile.
In step 2120, the attenuation profile for the current correction element is determined. For each active correction element, the attenuation at each point in the extended profile corresponding to a point on the correction element tip is determined. The attenuation value is determined by the amount each point on the correction element tip is inserted into the field. The amount of insertion is used, along with the profile offset value for the correction element, to evaluate Msens for the correction element tip at each point in its profile.
{right arrow over (α)}k,ij=max{0.0,int erp({right arrow over (U)}Msens, Msens Nmsens, {right arrow over (P)}itip+{right arrow over (U)}xj−Δ{right arrow over (Y)}k,j,1}
∀i∈{{right arrow over (T)}k,jMin, . . . , {right arrow over (T)}k,jMax},∀k∈{A,B}, for all fingers j
In step 2130, the correction element attenuation profiles are combined. After the attenuation profile for the correction element is determined, the profile must be combined with the profiles of the preceding fingers to form its portion of the attenuation matrix. In an embodiment where the correction elements are all opaque and there is substantial overlap with neighboring fingers, only the maximum attenuation for a given profile point will be saved in the matrix. The attenuation profile is given by the following equations.
{right arrow over (A)}k,i=max {{right arrow over (A)}k,i, αk,hj}
∀h∈{{right arrow over (T)}k,jMin, . . . ,{right arrow over (T)}k,jMax}, ∀i ∈{{right arrow over (F)}k,jmin, . . . , {right arrow over (F)}k,jMax}, ∀k ∈{A, B}, for all fingers j
In step 2140, a determination is made whether all active correction elements have been processed. If not all active correction elements have been processed, operation returns to step 2120. If all active correction elements have been processed, operation proceeds to step 2150.
In step 2150, the attenuation profiles are filtered with the pupil. The attenuation profile computed to this point represents the attenuation that would result in an infinitesimally thin pupil were illuminating the profile. In step 2150, the x-pupil profile is applied as if it were a finite-impulse response filter on the attenuation data.
{right arrow over (A)}k,i′={right arrow over (A)}k,i+j●{circumflex over (P)}k′pupil,j
∀i ∈{0,1,, . . . , Ngrid−1}, ∀j∈{0,1, . . . , Npupil′−1}, ∀k∈{A,B}
{circumflex over (P)}′pupil=x-pupil profile (calculated in step 1820)
In step 2160, a determination is made whether all banks have been processed. If not all banks have been processed, operation returns to step 2150. If all banks have been processed, operation proceeds to step 2170.
Steps 2110-2160 are referred to as a skyline approach.
In step 2170, an attenuation mask is applied to the profile. The attenuation mask is applied to a given profile to determine the profile that results from the given correction element configuration. To apply the mask, the attenuation of each bank is summed for each point and the resulting total attenuation vector is applied point by point to the profile vector. The resulting adjusted profile is given by the following equations:
4. Conclusion
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
This application is a continuation-in-part of U.S. application Ser. No. 11/022,888, entitled “De-Focus Uniformity Correction,” filed Dec. 28, 2004, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 11022888 | Dec 2004 | US |
Child | 11295517 | Dec 2005 | US |