Method and system for clustering patterns for optical proximity correction verification process
By clustering OPC patterns based on simulated wafer-level patterns and C2C similarity, the method addresses inefficiencies in EUV lithography OPC verification, reducing computational costs and ensuring accurate results.
Patent Information
- Application Number
- PCT/EP2024/079430
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-14
- Filing Date
- 2024-10-18
- Publication Date
- 2025-05-22
AI Technical Summary
Existing methods for optical proximity correction (OPC) verification in EUV lithography are inefficient due to a flat hierarchy of OPC patterns, leading to high computational costs and reduced compression ratios, and lack a mechanism to ensure similar wafer prediction results within groups.
A method that clusters OPC patterns based on similarity among simulated wafer-level patterns, using feature vectors that represent OPC pattern shapes and environmental parameters, and applies a contour-to-contour (C2C) similarity criterion to group OPC patterns into subgroups with similar prediction results.
This approach significantly reduces computational resources by selecting representative patterns from each group for OPC verification, achieving a high compression ratio and ensuring accurate verification results by maintaining similar wafer prediction results within groups.
Smart Images

Figure EP2024079430_22052025_PF_FP_ABST
Abstract
Description
METHOD AND SYSTEM FOR CLUSTERING PATTERNS FOR OPTICAL PROXIMITY CORRECTION VERIFICATION PROCESSCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority of US application 63 / 598,649 which was filed on November 14, 2023 and which is incorporated herein in its entirety by reference.TECHNICAL FIELD
[0002] The embodiments provided herein relate to semiconductor manufacturing, and more particularly to grouping and selecting patterns for performing optimal proximity correction (OPC) verification.BACKGROUND
[0003] A lithographic apparatus is a machine that applies a desired pattern onto a target portion of a substrate. The lithographic apparatus can be used, for example, in the manufacture of integrated circuits (ICs). For example, an IC chip in a smart phone, can be as small as a person’s thumbnail, and may include over 2 billion transistors. Making an IC is a complex and time-consuming process, with circuit components in different layers and including hundreds of individual steps. Errors in even one step have the potential to result in problems with the final IC and can cause device failure. High process yield and high wafer throughput can be impacted by the presence of defects.BRIEF SUMMARY
[0004] In some embodiments, the techniques described herein relate to a method of grouping patterns for optical proximity correction (OPC) verification, the method including: obtaining a first set of OPC patterns generated for a design layout; representing the first set of OPC patterns as feature vectors, wherein each feature vector indicates an OPC pattern shape and an environmental parameter for the corresponding OPC pattern, wherein the environmental parameter is associated with a lithographic process; and clustering the first set of OPC patterns into a first set of groups in a feature vector domain based on similarity among simulated wafer-level patterns of the first set of OPC patterns, wherein the simulated wafer-level patterns are generated by applying a lithographic process model.
[0005] In some embodiments, there is provided a non-transitory computer readable medium having instructions that, when executed by a computer, cause the computer to execute a method of any of the above embodiments.
[0006] In some embodiments, there is provided an apparatus includes a memory storing a set of instructions and a processor configured to execute the set of instructions to cause the apparatus to perform a method of any of the above embodiments.BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Embodiments will now be described, by way of example only, with reference to the accompanying drawings in which:
[0008] Figure 1 illustrates a block diagram of various subsystems of a lithographic projection apparatus, according to an embodiment.
[0009] Figure 2 is a schematic diagram of a lithographic projection apparatus, according to an embodiment.
[0010] Figure 3 illustrates an exemplary flow chart for simulating lithography in a lithographic projection apparatus, according to an embodiment.
[0011] Figure 4 is a block diagram of grouping of optical proximity correction (OPC) patterns, consistent with various embodiments.
[0012] Figure 5 is a block diagram for grouping of the OPC patterns based on contour to contour (C2C) similarity criterion-based neighborhood information, consistent with various embodiments.
[0013] Figure 6 is a block diagram for performing OPC verification on a pattern, consistent with various embodiments.
[0014] Figure 7 is a block diagram for sampling feature vectors based on a farthest-first traversal method to determine neighborhood information, consistent with various embodiments.
[0015] Figure 8 is a flow diagram of a method for sampling feature vectors based on the farthest- first traversal method to determine neighborhood information, consistent with various embodiments.
[0016] Figure 9 is a block diagram for sampling feature vectors based on a clustering and uncertainty method to determine neighborhood information, consistent with various embodiments.
[0017] Figure 10 is a flow diagram of a method for grouping of OPC patterns based on the C2C similarity criterion-based neighborhood information, consistent with various embodiments.
[0018] Figure 11 is a block diagram of an example computer system, according to an embodiment.
[0019] Embodiments will now be described in detail with reference to the drawings, which are provided as illustrative examples so as to enable those skilled in the art to practice the embodiments. Notably, the figures and examples below are not meant to limit the scope to a single embodiment, but other embodiments are possible by way of interchange of some or all of the described or illustrated elements. Wherever convenient, the same reference numbers will be used throughout the drawings to refer to same or like parts. Where certain elements of these embodiments can be partially or fully implemented using known components, only those portions of such known components that are necessary for an understanding of the embodiments will be described, and detailed descriptions of other portions of such known components will be omitted so as not to obscure the description of the embodiments. In the present specification, an embodiment showing a singular component should not be considered limiting; rather, the scope is intended to encompass other embodiments including aplurality of the same component, and vice-versa, unless explicitly stated otherwise herein. Moreover, applicants do not intend for any term in the specification or claims to be ascribed an uncommon or special meaning unless explicitly set forth as such. Further, the scope encompasses present and future known equivalents to the components referred to herein by way of illustration.DETAILED DESCRIPTION
[0020] A lithographic apparatus is a machine that applies a designed pattern onto a target portion of a substrate. This process of transferring the designed pattern to the substrate is called a patterning process. The patterning process can include a patterning step to transfer a pattern from a patterning device (such as a mask) to the substrate. Various variations (e.g., variations in the patterning process or the lithographic apparatus) can potentially limit lithography implementation for semiconductor high volume manufacturing (HVM). Pattern selection is a process of selecting patterns (e.g., diverse or different patterns) from a number of patterns. One of the applications for pattern selection includes using the diverse set of patterns for performing optical proximity correction (OPC) verification to verify OPC patterns (e.g., mask patterns). The OPC verification process compares the simulated image of a wafer pattern corresponding to the mask pattern (e.g., contours of the wafer pattern such as aerial, resist or etch contours) with a target pattern in a design layout to identify any possible defects in the mask pattern. The OPC verification may be performed on selected patterns (e.g., different or diverse patterns) instead of all patterns (e.g., mask patterns that are alike or similar) to reduce the time and computing resources consumed in the OPC verification process.
[0021] Conventional techniques arrange OPC patterns of a design layout in a hierarchy. For example, for the same target pattern, its corresponding OPC patterns are progressively sub-grouped by a set of environmental values (that have impact on OPC model results and so OPC verification), e.g., OPC pattern shape, flare value, or through-slit position. In DUV lithography, the OPC verification process is typically performed only on a representative pattern of each bottom subgroup. Such a method can obtain a good compression ratio (e.g., a ratio of total number of OPC patterns to groups). In some embodiments, the compression ratio of “2” may be achieved. That is, if the number of OPC patterns is “1000”, the grouping method may compress them to “500” groups and so OPC verification may be performed for “500” OPC patterns instead of “1000” patterns. However, the above grouping method has a drawback for EUV lithography. In EUV lithography, an OPC pattern typically has many instances with different flare or through-slit position values. The above hierarchy becomes almost flat with a significantly less compression ratio. Accordingly, the OPC verification may be performed for a significantly greater number of representative patterns. This leads to an unacceptable turnaround time. Further, in the above method of grouping, there may be no mechanism to control that OPC patterns in the same group have similar wafer prediction results (e.g., in terms of contour to contour (C2C) similarity). This can lead to a pattern that is distinct from other OPC patterns in the same group not being selected for the OPC verification and jeopardize the verification accuracy.
[0022] Disclosed are embodiments for grouping OPC patterns by incorporating similarity among simulated wafer-level patterns (“wafer patterns”) of the OPC patterns in the grouping mechanism, e.g., clustering in a feature vector domain. For example, the OPC patterns corresponding to a target pattern in a design layout can be grouped based on multiple selected factors (e.g., flare, slit-position, target shape, OPC shape) pertinent to wafer prediction result. According to embodiments of the present disclosure, the predicted results (e.g., C2C similarity between simulated contours of wafer patterns corresponding to the OPC patterns) are considered in conjunction with the selected factors for the grouping. Advantageously as a result, each group has OPC patterns that are associated with a distinctive set of factors and also would have the similar wafer prediction results. Representative pattern can then be selected from each of the groups for performing the OPC verification.
[0023] Determining the C2C similarity may require the simulation of contours, which is a computing resource intensive process. In some embodiments, accordingly, to reduce the consumption of computing resources, a subset of the OPC patterns that are distinctive (e.g., diverse) are identified and this subset of OPC patterns are used to guide the grouping of the OPC patterns into the set of groups.
[0024] In some embodiments, each OPC pattern is represented as a feature vector which is representative of the OPC pattern shape, and an environment variable of a lithographic process, such as a value of flare and through-slit position. The environmental variables may have varying values across the exposure field or mask. For example, a first instance of the OPC pattern may be associated with a first flare value and a second OPC pattern may be associated with a second flare value. In some embodiments, flare is indicative of stray light or unwanted light that is scattered from an optical system and mask across a substrate. The flare may be caused by anything that causes the light to travel in a “non-ray trace” direction, for example, by particles or surface roughness, by glass inhomogeneity of the optical system or the mask. The flare may also be pattern density dependent. The flare may be generally defined as the fraction of the total light energy reaching the wafer that comes from unwanted reflections and scatterings within the lens system. In some embodiments, the through-slit position may be representative of a location along the x-axis of a mask at which an illumination slit is positioned.
[0025] The feature vectors are sampled to identify the distinctive feature vectors based on their distribution in feature vector space (and therefore, distinctive OPC patterns), and “neighborhoods” are created from the sampled feature vectors based on a constraint indicative of difference or similarity of wafer prediction results among the patterns associated with the feature vectors. The wafer prediction results can be C2C similarity of contours of predicted wafer patterns of the OPC patterns associated with the sampled feature vectors. For example, a pair of sampled feature vectors are assigned to the same neighborhood if the C2C similarity between contours of the wafer patterns of the corresponding OPC patterns satisfy a similarity criterion, else they are assigned to different neighborhoods. The feature vectors may be sampled using any of a number of known methods (e.g., farthest-first traversalmethod, clustering and uncertainty method, etc.) without departing form the scope of this disclosure. After the neighborhoods are created, the neighborhood information is used as constraints in the particular grouping process such that the OPC patterns assigned to the same group are also in the same neighborhood. For example, when groups are created in the feature vector domain using any of the known clustering methods, it is additionally determined if two sampled feature vectors (a) that are grouped in the same group are assigned to different neighborhoods, or (b) that are assigned to the same neighborhood are grouped in different groups, and if so, the cost function used in the clustering algorithm penalizes (e.g., increases a penalty of) such grouping. The process may be continued to reduce cost function, and as a result, each resulting group may have OPC patterns that are alike within that group (e.g., contours of corresponding wafer patterns having a C2C similarity that satisfies a similarity criterion). By using the neighborhood information (e.g., C2C similarity constraint associated with the OPC patterns corresponding to the sampled feature vectors) not only is the grouping of similar OPC patterns is more accurate, but also the amount of time and computing resources consumed in generating the groups is reduced significantly (e.g., as C2C similarity is determined for a subset of the OPC patterns and not all). Furthermore, a significantly high compression ratio of the OPC patterns is achieved (e.g., the number of groups generated for the number of OPC patterns per target pattern is reduced significantly compared to the conventional methods).
[0026] In the present disclosure, although specific reference may be made to the manufacture of ICs, it should be explicitly understood that the description herein has many other possible applications. For example, it may be employed in the manufacture of integrated optical systems, guidance and detection patterns for magnetic domain memories, liquid crystal display panels, thin film magnetic heads, etc. The skilled artisan will appreciate that, in the context of such alternative applications, any use of the terms “reticle”, “wafer” or “die” in this text should be considered as interchangeable with the more general terms “mask”, “substrate” and “target portion”, respectively.
[0027] In the present document, the terms “radiation” and “beam” are used to encompass all types of electromagnetic radiation, including ultraviolet radiation (e.g., with a wavelength of 365, 248, 193, 157 or 126 nm) and EUV (extreme ultra-violet radiation, e.g., having a wavelength in the range of about 5-100 nm). In the present document, the term “radiation source” or “source” is used to encompass all types of sources of radiation, including laser sources, incandescent sources, etc. which may include treatment of the radiation between the radiation source and the target or other parts of the optics, including filtering, collimating, focusing, etc.
[0028] A patterning device can comprise, or can form, one or more design layouts. The design layout can be generated utilizing CAD (computer-aided design) programs. This process is often referred to as EDA (electronic design automation). Most CAD programs follow a set of predetermined design rules in order to create functional design layouts / patterning devices. These rules are set based processing and design limitations. For example, design rules define the spacetolerance between devices (such as gates, capacitors, etc.) or interconnect lines, to ensure that the devices or lines do not interact with one another in an undesirable way. One or more of the design rule limitations may be referred to as a “critical dimension” (CD). A critical dimension of a device can be defined as the smallest width of a line or hole, or the smallest space between two lines or two holes. Thus, the CD regulates the overall size and density of the designed device. One of the goals in device fabrication is to faithfully reproduce the original design intent on the substrate (via the patterning device).
[0029] The term “mask” or “patterning device” as employed in this text may be broadly interpreted as referring to a generic patterning device that can be used to endow an incoming radiation beam with a patterned cross-section, corresponding to a pattern that is to be created in a target portion of the substrate. The term “light valve” can also be used in this context. Besides the classic mask (transmissive or reflective; binary, phase-shifting, hybrid, etc.), examples of other such patterning devices include a programmable mirror array. An example of such a device is a matrix-addressable surface having a viscoelastic control layer and a reflective surface. The basic principle behind such an apparatus is that (for example) addressed areas of the reflective surface reflect incident radiation as diffracted radiation, whereas unaddressed areas reflect incident radiation as undiffracted radiation. Using an appropriate filter, the said undiffracted radiation can be filtered out of the reflected beam, leaving only the diffracted radiation behind; in this manner, the beam becomes patterned according to the addressing pattern of the matrix-addressable surface. The required matrix addressing can be performed using suitable electronic means. Examples of other such patterning devices also include a programmable LCD array. An example of such a construction is given in U.S. Patent No. 5,229,872, which is incorporated herein by reference.
[0030] The term “projection optics” as used herein should be broadly interpreted as encompassing various types of optical systems, including refractive optics, reflective optics, apertures and catadioptric optics, for example. The term “projection optics” may also include components operating according to any of these design types for directing, shaping or controlling the projection beam of radiation, collectively or singularly. The term “projection optics” may include any optical component in the lithographic projection apparatus, no matter where the optical component is located on an optical path of the lithographic projection apparatus. Projection optics may include optical components for shaping, adjusting and / or projecting radiation from the source before the radiation passes the patterning device, and / or optical components for shaping, adjusting and / or projecting the radiation after the radiation passes the patterning device. The projection optics generally exclude the source and the patterning device.
[0031] Figure 1 illustrates a block diagram of various subsystems of a lithographic projection apparatus 10A, according to an embodiment. Major components are a radiation source 12A, which may be a deep-ultraviolet excimer laser source or other type of source including an extreme ultra violet (EUV) source (the lithographic projection apparatus itself need not have the radiation source),illumination optics which, e.g., define the partial coherence (denoted as sigma) and which may include optics 14 A, 16Aa and 16 Ab that shape radiation from the source 12 A; a patterning device (or mask) 18A; and transmission optics 16Ac that project an image of the patterning device pattern onto a substrate plane 22A.
[0032] A pupil 20A can be included with transmission optics 16 Ac. In some embodiments, there can be one or more pupils before and / or after mask 18 A. As described in further detail herein, pupil 20A can provide patterning of the light that ultimately reaches substrate plane 22A. An adjustable filter or aperture at the pupil plane of the projection optics may restrict the range of beam angles that impinge on the substrate plane 22A, where the largest possible angle defines the numerical aperture of the projection optics NA= n sin(0max), wherein n is the refractive index of the media between the substrate and the last element of the projection optics, and ©max is the largest angle of the beam exiting from the projection optics that can still impinge on the substrate plane 22 A.
[0033] In a lithographic projection apparatus, a source provides illumination (i.e., radiation) to a patterning device and projection optics direct and shape the illumination, via the patterning device, onto a substrate. This is not to disclaim that the source does not itself provide patterning, directing, or shaping to the radiation or that patterning, directing, or shaping does not occur between the source and the projection optics. The projection optics may include at least some of the components 14A, 16Aa, 16Ab and 16Ac. An aerial image (Al) is the radiation intensity distribution at substrate level. A resist model can be used to calculate the resist image from the aerial image, an example of which can be found in U.S. Patent Application Publication No. US 2009-0157360, the disclosure of which is hereby incorporated by reference in its entirety. The resist model is related to properties of the resist layer (e.g., effects of chemical processes which occur during exposure, post-exposure bake (PEB) and development). Optical properties of the lithographic projection apparatus (e.g., properties of the illumination, the patterning device and the projection optics) dictate the aerial image and can be defined in an optical model. Since the patterning device used in the lithographic projection apparatus can be changed, it is desirable to separate the optical properties of the patterning device from the optical properties of the rest of the lithographic projection apparatus including at least the source and the projection optics. Details of techniques and models used to transform a design layout into various lithographic images (e.g., an aerial image, a resist image, etc.), apply OPC using those techniques and models and evaluate performance (e.g., in terms of process window) are described in U.S. Patent Application Publication Nos. US 2008-0301620, 2007-0050749, 2007-0031745, 2008-0309897, 2010-0162197, and 2010-0180251, the disclosure of each which is hereby incorporated by reference in its entirety.
[0034] One aspect of understanding a lithographic process is understanding the interaction of the radiation and the patterning device. The electromagnetic field of the radiation after the radiation passes the patterning device may be determined from the electromagnetic field of the radiation before the radiation reaches the patterning device and a function that characterizes the interaction. Thisfunction may be referred to as the mask transmission function (which can be used to describe the interaction by a transmissive patterning device and / or a reflective patterning device).
[0035] The mask transmission function may have a variety of different forms. One form is binary. A binary mask transmission function has either of two values (e.g., zero and a positive constant) at any given location on the patterning device. A mask transmission function in the binary form may be referred to as a binary mask. Another form is continuous. Namely, the modulus of the transmittance (or reflectance) of the patterning device is a continuous function of the location on the patterning device. The phase of the transmittance (or reflectance) may also be a continuous function of the location on the patterning device. A mask transmission function in the continuous form may be referred to as a continuous tone mask or a continuous transmission mask (CTM). For example, the CTM may be represented as a pixelated image, where each pixel may be assigned a value between 0 and 1 (e.g., 0.1, 0.2, 0.3, etc.) instead of binary value of either 0 or 1. In an embodiment, CTM may be a pixelated gray scale image, where each pixel has values (e.g., within a range [-255, 255], normalized values within a range [0, 1] or [-1, 1] or other appropriate ranges).
[0036] The thin-mask approximation, also called the Kirchhoff boundary condition, is widely used to simplify the determination of the interaction of the radiation and the patterning device. The thin-mask approximation assumes that the thickness of the structures on the patterning device is very small compared with the wavelength and that the widths of the structures on the mask are very large compared with the wavelength. Therefore, the thin-mask approximation assumes the electromagnetic field after the patterning device is the multiplication of the incident electromagnetic field with the mask transmission function. However, as lithographic processes use radiation of shorter and shorter wavelengths, and the structures on the patterning device become smaller and smaller, the assumption of the thin-mask approximation can break down. For example, interaction of the radiation with the structures (e.g., edges between the top surface and a sidewall) because of their finite thicknesses (“mask 3D effect” or “M3D”) may become significant. Encompassing this scattering in the mask transmission function may enable the mask transmission function to better capture the interaction of the radiation with the patterning device. A mask transmission function under the thin-mask approximation may be referred to as a thin-mask transmission function. A mask transmission function encompassing M3D may be referred to as a M3D mask transmission function.
[0037] Figure 2 schematically depicts an exemplary lithographic projection apparatus whose illumination source could be optimized utilizing the methods described herein. The apparatus comprises:- an illumination system IL, to condition a beam B of radiation. In this particular case, the illumination system also comprises a radiation source SO;- a first object table (e.g., mask table, patterning device table or reticle stage) MT provided with a patterning device holder to hold a patterning device MA (e.g., a reticle), and connected to a first positioner to accurately position the patterning device with respect to item PS;- a second object table (substrate table or wafer stage) WT provided with a substrate holder to hold a substrate W (e.g., a resist-coated silicon wafer), and connected to a second positioner to accurately position the substrate with respect to item PS;- a projection system (“lens”) PS (e.g., a refractive, catoptric or catadioptric optical system) to image an irradiated portion of the patterning device MA onto a target portion C (e.g., comprising one or more dies) of the substrate W.
[0038] As depicted herein, the apparatus is of a transmissive type (i.e., has a transmissive mask). However, in general, it may also be of a reflective type, for example (with a reflective mask). Alternatively, the apparatus may employ another kind of patterning device as an alternative to the use of a classic mask; examples include a programmable mirror array or LCD matrix.
[0039] The source SO (e.g., a mercury lamp or excimer laser) produces a beam of radiation. This beam is fed into an illumination system (illuminator) IL, either directly or after having traversed conditioning means, such as a beam expander Ex, for example. The illuminator IL may comprise adjusting means AD for setting the outer or inner radial extent (commonly referred to as o-outer and G-inncr, respectively) of the intensity distribution in the beam. In addition, it will generally comprise various other components, such as an integrator IN and a condenser CO. In this way, the beam B impinging on the patterning device MA has a desired uniformity and intensity distribution in its cross-section.
[0040] It should be noted with regard to Figure 2 that the source SO may be within the housing of the lithographic projection apparatus (as is often the case when the source SO is a mercury lamp, for example), but that it may also be remote from the lithographic projection apparatus, the radiation beam that it produces being led into the apparatus (e.g., with the aid of suitable directing mirrors); this latter scenario is often the case when the source SO is an excimer laser (e.g., based on KrF, ArF or Fz lasing).
[0041] The beam B subsequently intercepts the patterning device MA, which is held on a patterning device table MT. Having traversed the patterning device MA, the beam B passes through the lens PS, which focuses the beam B onto a target portion C of the substrate W. With the aid of the second positioning means (and interferometric measuring means IF), the substrate table WT can be moved accurately, e.g., so as to position different target portions C in the path of the beam B. Similarly, the first positioning means can be used to accurately position the patterning device MA with respect to the path of the beam B, e.g., after mechanical retrieval of the patterning device MA from a patterning device library, or during a scan. In general, movement of the object tables MT, WT will be realized with the aid of a long-stroke module (coarse positioning) and a short-stroke module (fine positioning), which are not explicitly depicted in Figure 2. However, in the case of a wafer stepper (as opposed to a step-and-scan tool) the patterning device table MT may just be connected to a short stroke actuator, or may be fixed.
[0042] The depicted tool can be used in two different modes:- In step mode, the patterning device table MT is kept essentially stationary, and an entire patterning device image is projected in one go (i.e., a single “flash”) onto a target portion C. The substrate table WT is then shifted in the x or y directions so that a different target portion C can be irradiated by the beam B;- In scan mode, essentially the same scenario applies, except that a given target portion C is not exposed in a single “flash”. Instead, the patterning device table MT is movable in a given direction (the so-called “scan direction”, e.g., the y direction) with a speed v, so that the projection beam B is caused to scan over a patterning device image; concurrently, the substrate table WT is simultaneously moved in the same or opposite direction at a speed V = Mv, in which M is the magnification of the lens PS (typically, M = 1 / 4 or 1 / 5). In this manner, a relatively large target portion C can be exposed, without having to compromise on resolution.
[0043] Figure 3 illustrates an exemplary flow chart for simulating lithography in a lithographic projection apparatus, according to an embodiment. As will be appreciated, the models may represent a different patterning process and need not comprise all the models described below. A source model 300 represents optical characteristics (including radiation intensity distribution, bandwidth and / or phase distribution) of the illumination of a patterning device. The source model 300 can represent the optical characteristics of the illumination that include, but not limited to, numerical aperture settings, illumination sigma (o) settings as well as any particular illumination shape (e.g., off-axis radiation shape such as annular, quadrupole, dipole, etc.), where o (or sigma) is outer radial extent of the illuminator.
[0044] A projection optics model 310 represents optical characteristics (including changes to the radiation intensity distribution and / or the phase distribution caused by the projection optics) of the projection optics. The projection optics model 310 can represent the optical characteristics of the projection optics, including aberration, distortion, one or more refractive indexes, one or more physical sizes, one or more physical dimensions, etc.
[0045] The patterning device / design layout model module 320 captures how the design features are laid out in the pattern of the patterning device and may include a representation of detailed physical properties of the patterning device, as described, for example, in U.S. Patent No. 7,587,704, which is incorporated by reference in its entirety. In an embodiment, the patterning device / design layout model module 320 represents optical characteristics (including changes to the radiation intensity distribution and / or the phase distribution caused by a given design layout) of a design layout (e.g., a device design layout corresponding to a feature of an integrated circuit, a memory, an electronic device, etc.), which is the representation of an arrangement of features on or formed by the patterning device. Since the patterning device used in the lithographic projection apparatus can be changed, it is desirable to separate the optical properties of the patterning device from the optical properties of the rest of the lithographic projection apparatus including at least the illumination andthe projection optics. The objective of the simulation is often to accurately predict, for example, edge placements and CDs, which can then be compared against the device design. The device design is generally defined as the pre-OPC patterning device layout, and will be provided in a standardized digital file format such as GDSII or OASIS.
[0046] An aerial image 330 can be simulated from the source model 300, the projection optics model 310 and the patterning device / design layout model module 320. An aerial image (Al) is the radiation intensity distribution at substrate level. Optical properties of the lithographic projection apparatus (e.g., properties of the illumination, the patterning device, and the projection optics) dictate the aerial image.
[0047] A resist layer on a substrate is exposed by the aerial image and the aerial image is transferred to the resist layer as a latent “resist image” (RI) therein. The resist image (RI) can be defined as a spatial distribution of solubility of the resist in the resist layer. A resist image 350 can be simulated from the aerial image 330 using a resist model 340. The resist model can be used to calculate the resist image from the aerial image, an example of which can be found in U.S. Patent Application No. 8,200,468, the disclosure of which is hereby incorporated by reference in its entirety. The resist model 340 typically describes the effects of chemical processes which occur during resist exposure, post exposure bake (PEB) and development, in order to predict, for example, contours of resist features formed on the substrate and so it typically related only to such properties of the resist layer (e.g., effects of chemical processes which occur during exposure, post-exposure bake and development). In an embodiment, the optical properties of the resist layer, e.g., refractive index, film thickness, propagation, and polarization effects — may be captured as part of the projection optics model 310.
[0048] So, in general, the connection between the optical and the resist model is a simulated aerial image intensity within the resist layer, which arises from the projection of radiation onto the substrate, refraction at the resist interface and multiple reflections in the resist film stack. The radiation intensity distribution (aerial image intensity) is turned into a latent “resist image” by absorption of incident energy, which is further modified by diffusion processes and various loading effects. Efficient simulation methods that are fast enough for full-chip applications approximate the realistic 3-dimensional intensity distribution in the resist stack by a 3-dimensional aerial (and resist) image.
[0049] In an embodiment, the resist image 350 can be used as an input to a post-pattern transfer process model module 360. The post-pattern transfer process model module 360 defines performance of one or more post-resist development processes (e.g., etch, development, etc.).
[0050] Simulation of the patterning process can, for example, predict contours, CDs, edge placement (e.g., edge placement error), etc. in the resist and / or etched image. Thus, the objective of the simulation is to accurately predict, for example, edge placement, and / or aerial image intensity slope, and / or CD, etc. of the printed pattern. These values can be compared against an intended designto, e.g., correct the patterning process, identify where a defect is predicted to occur, etc. The intended design is generally defined as a pre-OPC design layout which can be provided in a standardized digital file format such as GDSII or OASIS or other file format.
[0051] Thus, the model formulation describes most, if not all, of the known physics and chemistry of the overall process, and each of the model parameters desirably corresponds to a distinct physical or chemical effect. The model formulation thus sets an upper bound on how well the model can be used to simulate the overall manufacturing process.
[0052] The following paragraphs describe a system and a method for grouping OPC patterns based on a similarity between simulated wafer patterns corresponding to the OPC patterns. Any type of simulation results or metrics indicative of wafer pattern predictions can be used without departing from the scope of the present disclosure. In some embodiments, the phrase “C2C similarity between OPC patterns” or the like is used to refer to a similarity between simulated wafer patterns, or simulated contours of the wafer patterns, corresponding to the OPC patterns. For example, the C2C similarity between a pair of OPC patterns may be determined by simulating contours (e.g., aerial, resist, or etch contours; using lithographic process models described at least with reference to Figure 3 above) of the corresponding pair of wafer patterns, and comparing the contours of the pair of wafer patterns to determine whether the pair of wafer patterns are similar. If a difference between the contours is less than a specified threshold, then the C2C similarity satisfies a similarity criterion and the pair of OPC patterns are considered to be similar or alike.
[0053] The OPC patterns generated for a design layout are grouped into a set of groups in which each group has OPC patterns corresponding to a target pattern from the design layout. A group of the OPC patterns corresponding to a target pattern is clustered / grouped into a set of subgroups by incorporating similarity among simulated wafer patterns of the OPC patterns (e.g., the C2C similarity between the OPC patterns in the group) in the grouping process. The grouping of the OPC patterns into subgroups is performed using C2C similarity-based neighborhood assignments of feature vectors corresponding to the OPC patterns in the group. A feature vector of an OPC pattern is representative of the OPC pattern shape, and an environment variable of a lithographic process, such as a value of flare and through-slit position. The feature vectors are sampled (e.g., using farthest-first traversal, clustering and uncertainty method, etc.) to identify the distinctive feature vectors (and therefore, distinctive OPC patterns), and neighborhoods are created from the sampled feature vectors based on the C2C similarity between the OPC patterns corresponding to the sampled feature vectors. For example, a pair of sampled feature vectors are assigned to the same neighborhood if the C2C similarity between the OPC patterns corresponding to the sampled feature vectors satisfy the specified criterion, else they are assigned to different neighborhoods. After the neighborhoods are created, the neighborhood information is used as constraints in the grouping process of the feature vectors such that OPC patterns corresponding to the feature vectors that are in the same neighborhood are also in the same subgroup. For example, when subgroups are created in the feature vector domain using anyof the known clustering methods, it is additionally determined if two sampled feature vectors (a) that are grouped in the same subgroup are assigned to different neighborhoods, or (b) that are assigned to the same neighborhood are grouped in different subgroups, and if so, the cost function used in the clustering algorithm penalizes (e.g., increases a penalty of) such grouping. The grouping process may be continued to reduce cost function, and as a result, each resulting subgroup may have OPC patterns that are alike within that subgroup (e.g., contours of corresponding wafer patterns having a C2C similarity that satisfies a similarity criterion). By using the neighborhood information (e.g., C2C similarity constraint between the OPC patterns corresponding to the sampled feature vectors) not only is the grouping of similar OPC patterns into subgroups is more accurate, but also the amount of time and computing resources consumed in generating the subgroups is reduced significantly.
[0054] Figure 4 is a block diagram of grouping of OPC patterns using C2C similarity-based neighborhood assignments, consistent with various embodiments. A design layout having a number of target patterns, such as a first target pattern 401, a second target pattern 402 and a nthtarget pattern 403, is obtained. Each target pattern may have many instances in the design layout, and this information can be obtained by target layer hierarchy analysis, or geometry pattern match. For example, the second target pattern 402 may have multiple instances 402a-402n and each of the OPC patterns 421-446 may correspond to one of the instances of the second target pattern 402. The OPC patterns 450 generated for the design layout are also obtained. The OPC patterns 450 are grouped into a set of groups 451-453 based on the target patterns. That is, each group from the set of groups has OPC patterns for a corresponding target pattern. For example, a first group 451 has OPC patterns for the first target pattern 401, a second group 452 has OPC patterns for the second target pattern 402 and a nthgroup 453 has OPC patterns for the nthtarget pattern 403.
[0055] The OPC patterns from each group is then further grouped or clustered into a set of subgroups based on multiple grouping factors (e.g., OPC pattern shape, flare value, through-slit position), in conjunction with C2C similarity-based neighborhood information of the OPC patterns, as described in detail below at least with reference to Figure 5 below. For example, the OPC patterns 421-446 in the second group 452 corresponding to the second target pattern 402 is clustered into a set of subgroups 482 (e.g., a first subgroup 420a, a second subgroup 420b, and a third subgroup 420c) based on the grouping factors and the C2C similarity criterion-based neighborhood information of the OPC patterns 421-446 in the second group 452 (which is described in detail with reference to Figure 5 below). Each subgroup in the second group 452 has OPC patterns having a distinct set of values for the grouping factors from the other subgroup, but within a subgroup, the OPC patterns are similar (e.g., based on C2C similarity between the OPC patterns) and have similar set of values for the grouping factors. For example, a first subgroup 420a has OPC patterns 421, 422 and 423 that are associated with a first set of similar values for the grouping factors, and that are also similar (e.g., C2C difference between any two OPC patterns in the subgroup is less than O.lnm). Further, feature vectors of no two OPC patterns in the first subgroup 420a are assigned to different neighborhoods.Similarly, a second subgroup 420b has OPC patterns 431, 432 and 433 that are associated with a second set of similar values for the grouping factors, and that are also similar (e.g., C2C similarity between the OPC patterns in the subgroup satisfies a similarity criterion), and a third subgroup 420c has OPC patterns 441-446 that are associated with a third set of similar values for the grouping factors, and that are also similar (e.g., C2C similarity between the OPC patterns in the subgroup satisfies a similarity criterion).
[0056] The grouping of the OPC patterns into subgroups is constrained by C2C similarity -based neighborhood assignments of feature vectors corresponding to the OPC patterns. Figure 5 is a block diagram for grouping of the OPC patterns based on the C2C similarity criterion-based neighborhood information, consistent with various embodiments. In some embodiments, Figure 5 illustrates the grouping of the OPC patterns 421-446 of the second target pattern 402 into the subgroups 420a-420c using neighborhood information 520. The OPC patterns 421-446 are represented as feature vectors 500 based on multiple factors, as shown in a first graph 505. For example, each feature vector represents an OPC pattern shape, and an environment variable of a lithographic process, such as a flare value and through-slit position. The feature vectors 500 are sampled to obtain the distinctive feature vectors (and therefore, distinctive OPC patterns), such as feature vectors 511-515, as illustrated in a second graph 510. The feature vectors 500 may be sampled using any of a number of known methods (e.g., farthest-first traversal method, clustering and uncertainty method, etc.). The farthest-first traversal method may sample the feature vectors 500 based on a distance between the feature vectors, whereas the clustering and uncertainty method may sample the feature vectors based on the probability of a feature vector belonging to a particular neighborhood to obtain the distinctive feature vectors. Additional details with respect to sampling the feature vectors 500 using the above two methods are described at least with reference to Figures 7-9 below.
[0057] The neighborhoods are created for the sampled feature vectors by: simulating contours of wafer patterns of the OPC patterns corresponding to the sampled feature vectors 511-515 (e.g., using the method described at least with reference to Figure 3 above), obtaining the C2C similarity between the simulated contours, and applying a prescribed constraint such as the C2C similarity satisfying a similarity criterion. As described above, if a difference between the contours is less than a specified threshold, then the C2C similarity satisfies a similarity criterion. For example, a pair of sampled feature vectors 511 and 514 are assigned to the same neighborhood based on the C2C similarity between the contours of wafer patterns of the OPC patterns corresponding to the sampled feature vectors 511 and 514 satisfying the similarity criterion. Similarly, a pair of sampled feature vectors 511 and 512 are assigned to different neighborhoods based on the C2C similarity not satisfying the similarity criterion. In Figure 5, a continuous line that links the sampled feature vectors 511 and 514 indicate that the sampled feature vectors 511 and 514 are assigned to the same neighborhood, and a dashed line that links the sampled feature vectors 511 and 512, as shown in a second graph 510, indicate that the sampled feature vectors 511 and 512 are assigned to different neighborhoods. Theneighborhood relationship is determined for all the sampled vectors 511-515 to obtain C2C similarity-based neighborhood information 520, which represents a neighborhood relationship of the sampled feature vectors.
[0058] It will be appreciated that the derived neighborhood information may be used as constraints in any suitable manner in the grouping process without departing from the scope of the present disclosure. In some embodiments, the neighborhood information 520 may be used in a cost function as a constraint for the clustering of the OPC patterns 421-446 into the subgroups. For example, initially, the feature vectors 500 may be clustered into subgroups (or groups) 531 and 532 using any of the known clustering methods (e.g., k-means), as shown in a third graph 525. The clustering method may perform an additional check (e.g., using neighborhood information 520) to determine whether (a) two sampled feature vectors that are grouped in the same subgroup are assigned to different neighborhoods, (b) two sampled feature vectors that are assigned to the same neighborhood are grouped in different subgroups, (c) two sampled feature vectors that are assigned to the same neighborhood are grouped in the same subgroup, or (d) two sampled feature vectors that are assigned to different neighborhoods are in different subgroups. In case of the determination being (a) or (b), the cost function may penalize the grouping (e.g., increase a penalty associated with the cost function), whereas in case of the determination being (c) or (d) the cost function may not penalize the grouping. For example, as shown in a fourth graph 530, the clustering may determine that the pair of sampled feature vectors 511 and 512, which are assigned to different neighborhoods (e.g., determined based on neighborhood information 520) are grouped into the same subgroup 531. Accordingly, the cost function may penalize such grouping causing the clustering to group the feature vectors 511 and512 into different subgroups. For example, the feature vector 512 is grouped in another subgroup 533 different from the subgroup 531 it was initially grouped in, as shown in a fifth graph 535. The clustering may also confirm that the pair of feature vectors 511 and 514 that are in the same neighborhood are grouped in the same subgroup (e.g., subgroup 531), and the pair of feature vectors513 and 515 that are in the same neighborhood are also grouped in the same subgroup (e.g., subgroup 532). The clustering process may continue until the cost function is reduced, and as a result, each subgroup has OPC patterns that are alike within that subgroup (e.g., having a C2C similarity that satisfies the similarity criterion), and that are associated with a set of similar values for the grouping factors (e.g., an OPC pattern shape, a flare value and through-slit position). In some embodiments, the subgroups 531-533 are similar to the subgroups 420a-420c of Figure 4, respectively. Although embodiments of the present disclosure are described in greater details by using C2C similarity, any other indicator of difference or similarity among wafer level predictions, which can be in the form of contour, parametric expressions, or images that represent the wafer level prediction, can be used without departing from the scope of the present disclosure.
[0059] Figure 6 is a block diagram for performing OPC verification on a pattern, consistent with various embodiments. As described at least with reference to Figures 4 and 5, the OPC patternscorresponding to a target pattern may be clustered into multiple subgroups in which each subgroup has OPC patterns that are alike within that subgroup (e.g., having a C2C similarity that satisfies a similarity criterion). The OPC verification process may be performed on a representative pattern from each of the subgroups. For example, an OPC pattern 422 may be selected as the representative OPC pattern for the first subgroup 420a and may be input to an OPC verification component 602 for performing the OPC verification. As described above, the OPC verification process may compare the simulated wafer patterns corresponding to the mask pattern (e.g., contours of the wafer pattern such as resist or etch contours) with the corresponding target pattern to identify any possible defects in the mask pattern. The first OPC verification result 622 may include verification information such as any defects (e.g., bridging, necking, line end shortening, line end push out, extra printing, edge placement error (EPE), missed pattern, extra pattern, corner rounding, sub resolution assist feature (SRAF) printability), location of the defects, or other such information for the OPC pattern 422. After the first OPC verification result 622 is obtained for the OPC pattern 422, the OPC verification component 602 may store the OPC verification result 622 as the OPC verification result for the other OPC patterns of the first subgroup 420a to which the OPC pattern 422 belongs, as the OPC patterns within a subgroup as considered to be alike or similar. Similarly, the OPC verification component 602 may perform the OPC verification for OPC pattern 431 from the second subgroup 420b to obtain the second OPC verification result 631, which may be further stored as the OPC verification result for the other OPC patterns of the second subgroup 420b. Similarly, the OPC verification component 602 may perform the OPC verification for OPC pattern 444 from the third subgroup 420c to obtain the third OPC verification result 644, which may be further stored as the OPC verification result for the other OPC patterns of the third subgroup 420c.
[0060] Regarding the selection of a representative pattern from a subgroup, the OPC pattern may be selected based on any of a number of criteria. For example, an OPC pattern may be selected as the representative pattern of the subgroup randomly. In another example, an OPC pattern for which wafer pattern contours are already simulated (e.g., during neighborhood determination process as described at least with reference to Figure 5 above or Figures 7 and 8 below) may be selected as the representative pattern of the subgroup as the contours need not be simulated again in the OPC verification process, thereby reducing the amount of time and computing resources consumed in performing the OPC verification.
[0061] Figures 7-9 illustrate the creation of neighborhoods by sampling of feature vectors. The methods of Figures 7-9 may be implemented in the sampling of feature vectors described at least with reference to Figure 5 above.
[0062] Figure 7 is a block diagram for sampling feature vectors based on a farthest-first traversal method to determine neighborhood information, consistent with various embodiments. As described above at least with reference to Figure 5, the OPC patterns 421-446 may be represented as feature vectors 500, as shown in first graph 705. In some embodiments, the farthest-first traversal methodmay sample the feature vectors 500 based on a distance between the feature vectors. As illustrated in the first graph 705, a first feature vector from the feature vectors 500 is selected (e.g., randomly) as the first sampled feature vector 511, and is assigned to first neighborhood 711.
[0063] A feature vector that is farthest (e.g., most distant) from the previously sampled set of feature vectors in a feature vector domain is obtained as the next sampled feature vector. For example, a feature vector that is most distant from the first sampled feature vector 511 is obtained as a second sampled feature vector 512, as shown in second graph 710.
[0064] A C2C similarity between the first and second sampled feature vectors 511 and 512 is determined. In some embodiments, the C2C similarity between a pair of feature vectors is indicative of the C2C similarity between the OPC patterns corresponding to the pair of feature vectors, which, as described above, may be determined by: simulating wafer patterns, or contours of wafer patterns, of the OPC patterns corresponding to the pair of feature vectors (e.g., using lithographic process models described at least with reference to Figure 3), and determining the similarity between the two contours. If a difference between the two contours is less than or equal to a specified threshold, then the C2C similarity satisfies the similarity criterion, else the C2C similarity does not satisfy the similarity criterion. Continuing with the example shown in the second graph 710, the C2C similarity between the pair of sampled feature vectors 511 and 512 may be determined by (a) simulating contours of wafer patterns of the OPC patterns corresponding to the first sampled feature vector 511 and the second sampled feature vector 512, as a first contour and second contour, respectively, and (b) determining the C2C similarity between the first and second contour. In some embodiments, the C2C similarity between the first and second contour does not satisfy the similarity criterion, and therefore the sampled feature vectors 511 and 512 are assigned to different neighborhoods. For example, the second sampled feature vector 512 is assigned to a second neighborhood 712, which is different from the first neighborhood 711. For illustration purposes, the first and second sampled feature vectors 511 and 512 are linked by a dashed line indicating that the feature vectors 511 and 512 belong to different neighborhoods.
[0065] In a next sampling step, as illustrated in third graph 715, a feature vector that is farthest from (e.g., most distant to) the previously selected feature vectors (e.g., the first and second sampled feature vectors 511 and 512) is selected as a next sampled feature vector (e.g., a third sampled feature vector 513). The C2C similarity between the third sampled feature vector 513 and a feature vector of any of the existing neighborhoods 711 and 712 is determined. In some embodiments, the neighborhoods are sorted in a particular order (e.g., an increasing order of the distance from the most recently sampled feature vector to the corresponding neighborhood) prior to determining the C2C similarity. For example, the first neighborhood 711 and the second neighborhood 712 are sorted based on the distance from the third sampled feature vector 512 to any feature vector in (a) the first neighborhood 711, and (b) in the second neighborhood 712. Considering the distance from the third sampled feature vector 513 to the first neighborhood 711 (e.g., to any feature vector in the firstneighborhood 711) is lesser than the distance from the third sampled feature vector 513 to the second neighborhood 712, the neighborhoods may be sorted in the order of the first neighborhood 711 and the second neighborhood 712. The C2C similarity between the third sampled feature vector 513 and a feature vector from the sorted neighborhoods is determined in an order, starting from a first neighborhood in the sorted set, which is the first neighborhood 711, until the similarity criterion for the C2C similarity is satisfied with any of the neighborhoods. If the similarity criterion is not satisfied with a feature vector of any of the sorted neighborhoods, the third sampled feature vector 513 is assigned to a new neighborhood, for example, a third neighborhood 713, which is different from the first and second neighborhoods 711 and 712, as illustrated in the third graph 715. For example, in the third graph 715, the C2C similarity between the third sampled feature vector 513 and the first sampled feature vector 511 in a first neighborhood 711 of the sorted set of neighborhoods is determined first. Based upon the determination that the similarity criterion of the C2C similarity is not satisfied, the C2C similarity between the third sampled feature vector 513 and the second sampled feature vector 512 in the second neighborhood 712, which is the next neighborhood in the sorted set, is determined next. Based upon the determination that (a) the similarity criterion of the C2C similarity between them is not satisfied and (b) there are no more neighborhoods in the sorted set, the third sampled feature vector 513 is assigned to a new neighborhood - the third neighborhood 713.
[0066] As illustrated in fourth graph 720, a next feature vector that is farthest from (e.g., most distant to) the previously selected feature vectors (e.g., the first, second and third sampled feature vectors 511, 512 and 513) is selected as a next sampled feature vector (e.g., a fourth sampled feature vector 514). As described above, the C2C similarity between the most recently sampled feature vector (e.g., fourth sampled feature vector 514) and a feature vector of any of the existing neighborhoods (e.g., first, second and third neighborhoods, 711, 712 and 713, respectively) is determined after sorting the neighborhoods 711, 712 and 713. The C2C similarity between the fourth sampled feature vector 514 and the first sampled feature vector 511 may satisfy the similarity criterion, and accordingly, the fourth sampled feature vector 514 may be assigned to the same neighborhood of the first sampled feature vector 511, which is the first neighborhood 711.
[0067] The above process of obtaining the next sampled feature vector, determining the C2C similarity between the most recent sampled feature vector and the existing neighborhoods to determine whether to assign the most recent sampled feature vector to a new neighborhood or an existing neighborhood may continue until a specified sampling criterion is met (e.g., for a specified number of iterations, until a specified number of most recent sampled feature vectors are consecutively added to existing neighborhoods, etc.). In the example of Figure 7, the neighborhood assignment is stopped after adding two consecutively sampled feature vectors to existing neighborhoods (e.g., the fourth sampled feature vector 514 is added to an existing neighborhood - the first neighborhood 711, and a fifth sampled feature vector 515 is added to an existing neighborhood - the third neighborhood 713 consecutively, as illustrated in fifth graph 725. The neighborhoodinformation 520, which represents a neighborhood relationship of the sampled feature vectors 511- 515, may be derived from the fifth graph 725. The neighborhood information 520 may be used in clustering or grouping the OPC patterns of a target pattern into subgroups, as described at least with reference to Figure 5 above.
[0068] Figure 8 is a flow diagram of a method for sampling feature vectors based on the farthest- first traversal method to determine neighborhood information, consistent with various embodiments. The method of Figure 8 is described at least with reference to Figure 7 above.
[0069] At process P802, a first feature vector is selected (e.g., randomly) from a set of feature vectors representing OPC patterns of a target pattern as a first sampled feature vector. For example, the first sampled feature vector 511 is selected from the set of feature vectors 500 representing OPC patterns corresponding to the second target pattern 402.
[0070] At process P804, a feature vector that is farthest (e.g., most distant) from the previously sampled set of feature vectors in a feature vector domain is obtained as the next sampled feature vector. For example, a feature vector that is most distant from the first sampled feature vector 511 is obtained as a second sampled feature vector 512, as shown in the second graph 710.
[0071] At process P806, any existing neighborhoods are sorted based on the distance between the most recently sampled feature vector and each of the neighborhoods. For example, in a first iteration, as illustrated in the second graph 710, since there are no neighborhoods created yet, the sorting step may not be performed. However, if there are two or more neighborhoods created, the neighborhoods may be sorted, as described at least with reference to third graph 715 and fourth graph 720.
[0072] At process P808, a C2C similarity between the most recently sampled feature vector and a feature vector of each neighborhood from the sorted set of neighborhoods is determined. For example, if there is only one neighborhood, as described at least with reference to the second graph 710, a C2C similarity between the second sampled feature vector 512 and the first sampled feature vector 511 is determined. However, if there are two or more neighborhoods, as depicted in the third graph 715, then the C2C similarity between the third sampled feature vector 513 and a feature vector of the first and second neighborhoods may be determined in an order specified by the sorted set of neighborhoods. The C2C similarity of the most recently sampled feature vector with a feature vector from each neighborhood of the sorted set of neighborhoods is determined in an order starting from the first neighborhood in the sorted set of neighborhoods. If the C2C similarity between the most recently sampled feature vector and a feature vector from a particular neighborhood of the sorted set of neighborhoods satisfies the similarity criterion, at process P810, the most recent sampled feature vector is assigned to the particular neighborhood and processing of the remaining neighborhoods in the sorted set of neighborhoods is stopped. Hover, if the C2C similarity does not satisfy the similarity criterion for any of the neighborhoods of the sorted set of neighborhoods, at process P812, the most recent sampled feature vector is assigned to a new neighborhood.
[0073] At process P814, a determination is made if the sampling criterion is met. If the sampling criterion is not met, the method iterates to process P804 to select a feature vector from the set of feature vectors as the next sampled feature vector. If the sampling criterion is met, the method of Figure 8 concludes. In some embodiments, the sampling criterion may be that a specified number of iterations is performed, a specified number of consecutively sampled feature vectors are added to existing neighborhoods, etc.
[0074] Figure 9 is a block diagram for sampling feature vectors based on a clustering and uncertainty method to determine neighborhood information, consistent with various embodiments. In some embodiments, assigning sampled feature vectors to neighborhoods using the clustering and uncertainty method is similar to the farthest-first traversal method (e.g., described above with reference to Figure 7) except that the selection of sampled feature vectors is uncertainty-based instead of distance -based selection in the farthest-first traversal method. As illustrated in the first graph 905, a first feature vector from the feature vectors 500 is selected (e.g., randomly) as the first sampled feature vector 911, and is assigned to the first neighborhood 811.
[0075] The feature vectors are clustered based on neighborhood assignments. That is, the feature vectors that are assigned to the same neighborhood are clustered into the same group and those that are assigned to different neighborhoods are clustered into different groups. In some embodiments, the clustering can be based on classification models, such as random forest or support vector machine, with the neighborhood assignments being used as an additional constraint for clustering. In the second graph 910, the feature vectors 500 are clustered into two groups - a first cluster 951 and a second cluster 952 based on classification models. Uncertainty values of each of the feature vectors may be calculated and a feature vector that is most uncertain may be obtained as the next sampled feature vector. For example, a feature vector that is most uncertain with respect to clusters 951 and 952 is obtained as a second sampled feature vector 912, as shown in second graph 910. In some embodiments, an uncertainty value is determined based on a probability of a feature vector belonging to a particular cluster. The probability of a feature vector belonging to a particular cluster may be determined based on a similarity of the feature vector (e.g., in a feature vector domain) with each of the feature vectors of the particular cluster. For example, the probability of the feature vector belonging to a particular cluster may be represented as:... Eq. (1) where, p(x) is probability of a feature vector, x; Nj is a cluster / neighborhood, S(x, xi) is the similarity of two feature vectors (x, xi) in feature vector domain.
[0076] The uncertainty value, H, of the feature vector may be determined based on an entropy as:i)log(x G Ni)... Eq. (2)
[0077] After obtaining the second sampled feature vector 912, a C2C similarity between the first and second sampled feature vectors 911 and 912 is determined. The C2C similarity between the pair of sampled feature vectors 911 and 912 may be determined by (a) simulating contours of wafer patterns of the OPC patterns corresponding to the first sampled feature vector 911 and the second sampled feature vector 912, as a first contour and second contour, respectively, and (b) determining the C2C similarity between the first and second contour. A determination is made if the C2C similarity between the first contour and the second contour satisfies a similarity criterion. For example, if a difference between the two contours is less than or equal to a specified threshold, then the C2C similarity satisfies the similarity criterion, else the C2C similarity does not satisfy the similarity criterion. In some embodiments, the C2C similarity between the sampled feature vectors 911 and 912 does not satisfy the similarity criterion, and therefore they are assigned to different neighborhoods. For example, the second sampled feature vector 912 is assigned to a second neighborhood 812, which is different from the first neighborhood 811, as shown in the third graph 917.
[0078] In a next sampling step, as illustrated in fourth graph 920, clustering is performed based on the neighborhood assignments to generate two clusters - a third cluster 953 and a fourth cluster 954. Note that the clustering ensures that the neighborhood assignment constraints is satisfied by the clusters 953 and 954, for example, the two sampled feature vectors 911 and 912, which are assigned to different neighborhoods, are clustered into two different clusters 953 and 954. A feature vector that is most uncertain with respect to the third and fourth clusters 953 and 954 is selected as a next sampled feature vector (e.g., a third sampled feature vector 913). The C2C similarity between the third sampled feature vector 913 and a feature vector of any of the existing neighborhoods 811 and 812 is determined. In some embodiments, the neighborhoods are sorted in a particular order (e.g., an increasing order of the probability of the neighborhood containing the most recent sampled feature vector) prior to determining the C2C similarity. For example, the first neighborhood 811 and the second neighborhood 812 are sorted based on the probability of them containing the third sampled feature vector 913. The C2C similarity between the third sampled feature vector 913 and a feature vector from the sorted set of neighborhoods is determined in an order, starting from a first neighborhood in the sorted set, which is the first neighborhood 811, until the similarity criterion for the C2C similarity is satisfied. If the similarity criterion is not satisfied with a feature vector from a first neighborhood, then it is determined whether the similarity criterion is satisfied with a secondneighborhood in the sorted set of neighborhoods and so on. If the C2C similarity satisfies the similarity criterion with any of the sorted set of neighborhoods, the third sampled feature vector 513 is assigned to the corresponding neighborhood, else the third sampled feature vector 513 is assigned to a new neighborhood. For example, in the fifth graph 925, the C2C similarity between the third sampled feature vector 913 and the first sampled feature vector 911 in a first neighborhood 811 of the sorted set of neighborhoods is determined first. Based upon the determination that the similarity criterion of the C2C similarity between the third sampled feature vector 913 and the first sampled feature vector 911 is not satisfied, the C2C similarity between the third sampled feature vector 513 and the second sampled feature vector 512 in the second neighborhood 712, which is the next neighborhood in the sorted set, is determined. Based upon the determination that (a) the similarity criterion of the C2C similarity between them is not satisfied and (b) there are no more neighborhoods in the sorted set, the third sampled feature vector 513 is assigned to a new neighborhood - the third neighborhood 813.
[0079] In the next sampling step, as illustrated in sixth graph 930, clustering is performed based on the neighborhood assignments to generate three different clusters (e.g., fifth cluster 955, sixth cluster 956 and seventh cluster 957) as all three sampled feature vectors are assigned to different neighborhoods. The feature vector that is most uncertain with respect to the three clusters is selected as a next sampled feature vector (e.g., a fourth sampled feature vector 914). As described above, the C2C similarity between the most recently sampled feature vector (e.g., fourth sampled feature vector 914) and a feature vector of any of the existing neighborhoods (e.g., first, second and third neighborhoods, 811, 812 and 813, respectively) is determined after sorting the three neighborhoods 811, 812 and 813. The C2C similarity between the fourth sampled feature vector 914 and the first sampled feature vector 911 may be determined as satisfying the similarity criterion, and accordingly, the fourth sampled feature vector 914 may be assigned to the neighborhood of the first sampled feature vector 911, which is the first neighborhood 811, as shown in seventh graph 935.
[0080] The above process of obtaining the next sampled feature vector, determining the C2C similarity between the most recent sampled feature vector and the existing neighborhoods to determine whether to assign the most recent sampled feature vector to a new neighborhood or an existing neighborhood may continue until a specified sampling criterion is met (e.g., for a specified number of iterations, until a specified number of most recent sampled feature vectors are consecutively added to existing neighborhoods, etc.). In the example of Figure 9, the neighborhood assignment is stopped after adding two consecutive sampled feature vectors to existing neighborhoods (e.g., the fourth sampled feature vector 914 is added to an existing neighborhood - the first neighborhood 711, and a fifth sampled feature vector 915 is added to an existing neighborhood - the third neighborhood 813 consecutively, as shown in seventh graph 940. The neighborhood information (e.g., similar to neighborhood information 520), which represents a neighborhood relationship of the sampled feature vectors 911-915 may be extracted from the seventh graph 940.The neighborhood information 520 may be used in clustering or grouping the OPC patterns of a target pattern into subgroups, as described at least with reference to Figure 5 above.
[0081] Figure 10 is a flow diagram of a method for grouping of OPC patterns based on the C2C similarity criterion-based neighborhood information, consistent with various embodiments. At process P1002, a set of OPC patterns generated for a design layout are obtained. For example, the OPC patterns 450 of Figure 4 are obtained.
[0082] At process P1004, the OPC patterns are grouped into a set of groups 451-453 based on the target patterns. For example, the OPC patterns 450 are grouped into a set of groups 451-453 based on the target patterns. That is, each group from the set of groups has OPC patterns for a corresponding target pattern. For example, a first group 451 has OPC patterns for the first target pattern 401, a second group 452 has OPC patterns for the second target pattern 402 and so on.
[0083] At process Pl 006, a group of the OPC patterns corresponding to a target pattern is represented as feature vectors. Each feature vector represents an OPC pattern shape, and an environment variable of a lithographic process, such as a flare value and through-slit position. For example, the OPC patterns 421-446 corresponding to the second target pattern 402 are represented as feature vectors 500 of Figure 5.
[0084] At process P1008, the group of OPC patterns are clustered or grouped into subgroups based on C2C similarity-based neighborhood assignments of the feature vectors. Each subgroup may have OPC patterns that are alike within that subgroup (e.g., having a C2C similarity that satisfies the similarity criterion). For example, the OPC patterns 421-446 corresponding to the second target pattern 402 in the second group 452 is clustered into a set of subgroups - a first subgroup 420a, a second subgroup 420b, and a third subgroup 420c. The first subgroup 420a may have OPC patterns 421-423 that are similar (e.g., C2C difference between any two OPC patterns in the subgroup is less than O.lnm), and similarly a second subgroup 420b may have OPC patterns 431-433 that are similar (e.g., C2C similarity between the OPC patterns in the subgroup satisfies a similarity criterion).
[0085] In clustering the group of OPC patterns into subgroups, neighborhood assignments are generated by: sampling the feature vectors to obtain distinctive or diverse feature vectors (e.g., therefore, diverse or distinctive OPC patterns) as sampled feature vectors, assigning the sampled feature vectors to neighborhoods, and using the neighborhood assignments in clustering the OPC patterns to subgroups. For example, the feature vectors 500 corresponding to the OPC patterns 421- 446 are sampled to obtain the distinctive feature vectors, such as feature vectors 511-515, as described at least with reference to Figures 7 and 9 above. The neighborhoods are created for the sampled feature vectors by: simulating contours of wafer patterns of the OPC patterns corresponding to the sampled feature vectors 511-515 (e.g., using method described at least with reference to Figure 3 above), obtaining the C2C similarity between the simulated contours, and applying a prescribed constraint such as the C2C similarity satisfying a similarity criterion. For example, a pair of sampled feature vectors 511 and 514 are assigned to the same neighborhood based on the C2C similaritybetween the contours of wafer patterns of the OPC patterns corresponding to the sampled feature vectors 511 and 514 satisfying the similarity criterion. Similarly, a pair of sampled feature vectors 511 and 512 are considered to belong to different neighborhoods based on their C2C similarity not satisfying the similarity criterion. The neighborhood relationship is determined for all the sampled vectors 511-515 to obtain C2C similarity-based neighborhood information 520 (e.g., as described at least with reference to Figures 7 and 9 above).
[0086] The neighborhood information 520 may be used in a cost function to guide the clustering of the OPC patterns 421-446 into the subgroups. For example, initially, the feature vectors 500 may be clustered into subgroups 531 and 532 using any of the known clustering methods (e.g., k-means), as shown in a third graph 520. The clustering method may perform an additional check to determine whether two sampled feature vectors (a) that are grouped in the same subgroup are assigned to different neighborhoods, (b) that are assigned to the same neighborhood are grouped in different subgroups, (c) that are assigned to the same neighborhood are grouped in the same subgroup, or (d) that are assigned to different neighborhoods are in different subgroups. In case of the determination being (a) or (b), the cost function may penalize the grouping, whereas in case of the determination being (c) or (d) the cost function may not penalize the grouping. The clustering process may be continued until the cost function is reduced, and as a result, each subgroup has OPC patterns that are alike (e.g., having a C2C similarity that satisfies the similarity criterion) within that subgroup.
[0087] At process P1010, the OPC verification process may be performed on a representative pattern from each of the subgroups. For example, an OPC pattern 422 may be selected as the representative OPC pattern for the first subgroup 420a the OPC verification may be performed on the OPC pattern 422 to obtain the OPC verification result 622. The OPC verification result 622 may be stored as the OPC verification result for the other OPC patterns of the first subgroup 420a as well, as the OPC patterns within a subgroup as considered alike or similar. In some embodiments, the representative pattern may be selected based on any of a number of criteria. For example, an OPC pattern for which wafer pattern contours are already simulated (e.g., during neighborhood determination process as described at least with reference to Figures 5-7) may be selected as the representative pattern of the subgroup as the contours may be reused for performing the OPC verification process, thereby reducing the amount of time and computing resources consumed in simulating the contours for performing the OPC verification. The above OPC verification process may be repeated for a representative pattern from each of the subgroups.
[0088] The above method (e.g., processes P1006-P1010) may be repeated for each group of the set of groups 451-453 of OPC patterns to obtain the OPC verification results for OPC patterns of each of the target patterns in the design layout.
[0089] Figure 11 is a block diagram that illustrates a computer system 100 which can assist in implementing various methods and systems disclosed herein. The computer system 100 may be used to implement any of the entities, components, modules, or services depicted in the examples of thefigures (and any other entities, components, modules, or services described in this specification). The computer system 100 may be programmed to execute computer program instructions to perform functions, methods, flows, or services (e.g., of any of the entities, components, or modules) described herein. The computer system 100 may be programmed to execute computer program instructions by at least one of software, hardware, or firmware.
[0090] Computer system 100 includes a bus 102 or other communication mechanism for communicating information, and a processor 104 (or multiple processors 104 and 105) coupled with bus 102 for processing information. Computer system 100 also includes a main memory 106, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 102 for storing information and instructions to be executed by processor 104. Main memory 106 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 104. Computer system 100 further includes a read only memory (ROM) 108 or other static storage device coupled to bus 102 for storing static information and instructions for processor 104. A storage device 110, such as a magnetic disk or optical disk, is provided and coupled to bus 102 for storing information and instructions.
[0091] Computer system 100 may be coupled via bus 102 to a display 112, such as a cathode ray tube (CRT) or flat panel or touch panel display for displaying information to a computer user. An input device 114, including alphanumeric and other keys, is coupled to bus 102 for communicating information and command selections to processor 104. Another type of user input device is cursor control 116, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 104 and for controlling cursor movement on display 112. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane. A touch panel (screen) display may also be used as an input device.
[0092] According to one embodiment, portions of one or more methods described herein may be performed by computer system 100 in response to processor 104 executing one or more sequences of one or more instructions contained in main memory 106. Such instructions may be read into main memory 106 from another computer-readable medium, such as storage device 110. Execution of the sequences of instructions contained in main memory 106 causes processor 104 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory 106. In an alternative embodiment, hard-wired circuitry may be used in place of or in combination with software instructions. Thus, the description herein is not limited to any specific combination of hardware circuitry and software.
[0093] The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to processor 104 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as storage device 110. Volatile media include dynamic memory, such as main memory 106. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise bus 102. Transmission media can also take the form of acoustic or light waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD- ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
[0094] Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor 104 for execution. For example, the instructions may initially be borne on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 100 can receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled to bus 102 can receive the data carried in the infrared signal and place the data on bus 102. Bus 102 carries the data to main memory 106, from which processor 104 retrieves and executes the instructions. The instructions received by main memory 106 may optionally be stored on storage device 110 either before or after execution by processor 104.
[0095] Computer system 100 also preferably includes a communication interface 118 coupled to bus 102. Communication interface 118 provides a two-way data communication coupling to a network link 120 that is connected to a local network 122. For example, communication interface 118 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 118 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 118 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information.
[0096] Network link 120 typically provides data communication through one or more networks to other data devices. For example, network link 120 may provide a connection through local network 122 to a host computer 124 or to data equipment operated by an Internet Service Provider (ISP) 126. ISP 126 in turn provides data communication services through the worldwide packet data communication network, now commonly referred to as the “Internet” 128. Local network 122 and Internet 128 both use electrical, electromagnetic, or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 120 and through communicationinterface 118, which carry the digital data to and from computer system 100, are exemplary forms of carrier waves transporting the information.
[0097] Computer system 100 can send messages and receive data, including program code, through the network(s), network link 120, and communication interface 118. In the Internet example, a server 130 might transmit a requested code for an application program through Internet 128, ISP 126, local network 122 and communication interface 118. One such downloaded application may provide for the illumination optimization of the embodiment, for example. The received code may be executed by processor 104 as it is received, or stored in storage device 110, or other non-volatile storage for later execution. In this manner, computer system 100 may obtain application code in the form of a carrier wave.
[0098] While the concepts disclosed herein may be used for imaging on a substrate such as a silicon wafer, it shall be understood that the disclosed concepts may be used with any type of lithographic imaging systems, e.g., those used for imaging on substrates other than silicon wafers.
[0099] The terms “optimizing” and “optimization” as used herein refers to or means adjusting a patterning apparatus (e.g., a lithography apparatus), a patterning process, etc. such that results and / or processes have more desirable characteristics, such as higher accuracy of projection of a design pattern on a substrate, a larger process window, etc. Thus, the term “optimizing” and “optimization” as used herein refers to or means a process that identifies one or more values for one or more parameters that provide an improvement, e.g., a local optimum, in at least one relevant metric, compared to an initial set of one or more values for those one or more parameters. "Optimum" and other related terms should be construed accordingly. In an embodiment, optimization steps can be applied iteratively to provide further improvements in one or more metrics.
[0100] Aspects of the invention can be implemented in any convenient form. For example, an embodiment may be implemented by one or more appropriate computer programs which may be carried on an appropriate carrier medium which may be a tangible carrier medium (e.g., a disk) or an intangible carrier medium (e.g., a communications signal). Embodiments of the invention may be implemented using suitable apparatus which may specifically take the form of a programmable computer running a computer program arranged to implement a method as described herein. Thus, embodiments of the disclosure may be implemented in hardware, firmware, software, or any combination thereof. Embodiments of the disclosure may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by one or more processors. A machine -readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device). For example, a machine -readable medium may include read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical, or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.), and others. Further, firmware, software, routines, instructions may be described herein as performing certain actions.However, it should be appreciated that such descriptions are merely for convenience and that such actions in fact result from computing devices, processors, controllers, or other devices executing the firmware, software, routines, instructions, etc.
[0101] Embodiments of the present disclosure can be further described by the following clauses.1. A method of grouping patterns for optical proximity correction (OPC) verification, the method comprising: obtaining a first set of OPC patterns generated for a design layout; representing the first set of OPC patterns as feature vectors, wherein each feature vector indicates an OPC pattern shape and an environmental parameter for the corresponding OPC pattern, wherein the environmental parameter is associated with a lithographic process; and clustering the first set of OPC patterns into a first set of groups in a feature vector domain based on similarity among simulated wafer-level patterns of the first set of OPC patterns, wherein the simulated wafer-level patterns are generated by applying a lithographic process model.2. The method of Clause 1, wherein the simulated wafer-level patterns are simulated contours of the simulated wafer-level patterns.3. The method of Clause 2, wherein the simulated contours include one of an aerial image contour, a resist image contour, or an etch image contour.4. The method of Clause 1, wherein the clustering is based on neighborhood assignment, which is indicative of a set of neighborhoods to which the first set of OPC patterns are assigned based on the similarity among the simulated wafer-level patterns.5. The method of Clause 4, wherein the neighborhood assignment comprises applying a constraint prescribing similarity of contours of the OPC patterns in each group of the first set of groups meet a specified criterion.6. The method of Clause 1, wherein clustering the first set of OPC patterns includes: sampling the feature vectors to obtain sampled feature vectors, wherein the sampled feature vectors are representative of OPC patterns that are distinctive from each other; and assigning the sampled feature vectors into a set of neighborhoods based on a contour to contour (C2C) similarity of OPC patterns corresponding to the sampled feature vectors.7. The method of Clause 6, wherein assigning the sampled feature vectors into the set of neighborhoods includes: simulating a first contour associated with a first OPC pattern corresponding to a first sampled feature vector of the sampled feature vectors and a second contour associated with a second OPC pattern corresponding to a second sampled feature vector of the sampled feature vectors by applying the lithographic process model on the first OPC pattern and the second OPC pattern; determining the C2C similarity based on a difference between the first contour and the second contour; andassigning the first OPC pattern and the second OPC pattern to the same neighborhood based on the difference satisfying a specified criterion.8. The method of Clause 7, wherein the assigning includes: assigning the first OPC pattern and the second OPC pattern to different neighborhoods based on the difference not satisfying the specified criterion.9. The method of Clause 7, wherein the first contour and the second contour simulation includes: simulating a first wafer-level pattern of the first OPC pattern and a second wafer-level pattern of the second OPC pattern, and simulating the first contour of the first wafer-level pattern and the second contour of the second wafer-level pattern.10. The method of Clause 6, wherein the feature vectors are sampled based on farthest-first traversal method.11. The method of Clause 6, wherein the feature vectors are sampled based on uncertainty clustering method.12. The method of Clause 6, wherein clustering the first set of OPC patterns includes: clustering the feature vectors using the C2C similarity of the OPC patterns corresponding to the sampled feature vectors as a cost function to generate the first set of groups, wherein the cost function includes a penalty that is indicative of neighborhood assignments of the sampled feature vectors.13. The method of Clause 12, wherein clustering the feature vectors using the cost function includes: increasing the penalty based on a determination that (a) two sampled feature vectors assigned to the same neighborhood are clustered into two different groups, or (b) two sampled feature vectors assigned to different neighborhoods are clustered in the same group.14. The method of Clause 12, wherein each group in the first set of groups includes OPC patterns (a) having the C2C similarity satisfying a specified criterion, and (b) whose corresponding sampled vectors are assigned to the same neighborhood.15. The method of Clause 1 further comprising: selecting a first representative pattern from a first group of the first set of groups for performing an OPC verification, wherein the first representative pattern is an OPC pattern for which a simulated contour is generated during sampling of the feature vectors.16. The method of Clause 15 further comprising: performing the OPC verification on the first representative pattern to determine OPC verification result; and associating the OPC verification result with remaining patterns of the first group.17. The method of Clause 16, wherein the OPC verification on the first representative pattern is performed using the simulated contour of the first representative pattern generated during sampling of the feature vectors.18. The method of Clause 16, wherein performing the OPC verification includes: obtaining, from the design layout, a target pattern associated with the first representative pattern; obtaining a simulated contour of the first representative pattern; comparing the target pattern with a contour of the first representative pattern to obtain a plurality of parameters for verifying the first representative pattern; and identifying defects on a substrate under a given set of process window conditions using the lithographic process model.19. The method of Clause 15, wherein the OPC verification includes predicting defects on a substrate based on the lithographic process model.20. The method of Clause 1, wherein the first set of OPC patterns correspond to a first target pattern from the design layout.21. The method of Clause 1, wherein the environmental parameter includes at least one of (a) a flare value associated with optics of a lithographic apparatus, or (b) a through-slit position with respect to a mask, wherein the flare is indicative of stray light that is scattered from an optical system and mask across a substrate, wherein the through-slit position is indicative of a location along an x- axis of a mask at which an illumination slit is positioned during a lithographic process.22. The method of Clause 1, wherein the lithographic process model includes at least one of a source model, an optical model, a mask model, a resist model, or an etch model.23. An apparatus, the apparatus comprising: a memory storing a set of instructions; and a processor configured to execute the set of instructions to cause the apparatus to perform a method of any of the above Clauses.24. A non-transitory computer-readable medium having instructions recorded thereon, the instructions when executed by a computer implementing the method of any of the above Clauses.
[0102] In block diagrams, illustrated components are depicted as discrete functional blocks, but embodiments are not limited to systems in which the functionality described herein is organized as illustrated. The functionality provided by each of the components may be provided by software or hardware modules that are differently organized than is presently depicted, for example such software or hardware may be intermingled, conjoined, replicated, broken up, distributed (e.g., within a data center or geographically), or otherwise differently organized. The functionality described herein may be provided by one or more processors of one or more computers executing code stored on a tangible, non-transitory, machine -readable medium. In some cases, third party content delivery networks may host some or all of the information conveyed over networks, in which case, to the extent information(e.g., content) is said to be supplied or otherwise provided, the information may be provided by sending instructions to retrieve that information from a content delivery network.
[0103] Unless specifically stated otherwise, as apparent from the discussion, it is appreciated that throughout this specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining” or the like refer to actions or processes of a specific apparatus, such as a special purpose computer or a similar special purpose electronic processing / computing device.
[0104] The reader should appreciate that the present application describes several inventions. Rather than separating those inventions into multiple isolated patent applications, these inventions have been grouped into a single document because their related subject matter lends itself to economies in the application process. But the distinct advantages and aspects of such inventions should not be conflated. In some cases, embodiments address all of the deficiencies noted herein, but it should be understood that the inventions are independently useful, and some embodiments address only a subset of such problems or offer other, unmentioned benefits that will be apparent to those of skill in the art reviewing the present disclosure. Due to cost constraints, some inventions disclosed herein may not be presently claimed and may be claimed in later filings, such as continuation applications or by amending the present claims. Similarly, due to space constraints, neither the Abstract nor the Summary sections of the present document should be taken as containing a comprehensive listing of all such inventions or all aspects of such inventions.
[0105] It should be understood that the description and the drawings are not intended to limit the present disclosure to the particular form disclosed, but to the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the inventions as defined by the appended claims.
[0106] Modifications and alternative embodiments of various aspects of the inventions will be apparent to those skilled in the art in view of this description. Accordingly, this description and the drawings are to be construed as illustrative only and are for the purpose of teaching those skilled in the art the general manner of carrying out the inventions. It is to be understood that the forms of the inventions shown and described herein are to be taken as examples of embodiments. Elements and materials may be substituted for those illustrated and described herein, parts and processes may be reversed or omitted, certain features may be utilized independently, and embodiments or features of embodiments may be combined, all as would be apparent to one skilled in the art after having the benefit of this description. Changes may be made in the elements described herein without departing from the spirit and scope of the invention as described in the following claims. Headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description.
[0107] As used herein, unless specifically stated otherwise, the term “or” encompasses all possible combinations, except where infeasible. For example, if it is stated that a component includes A or B, then, unless specifically stated otherwise or infeasible, the component may include A, or B, or A and B. As a second example, if it is stated that a component includes A, B, or C, then, unlessspecifically stated otherwise or infeasible, the component may include A, or B, or C, or A and B, or A and C, or B and C, or A and B and C. Expressions such as “at least one of’ do not necessarily modify an entirety of a following list and do not necessarily modify each member of the list, such that “at least one of A, B, and C” should be understood as including only one of A, only one of B, only one of C, or any combination of A, B, and C. The phrase “one of A and B” or “any one of A and B” shall be interpreted in the broadest sense to include one of A, or one of B.
[0108] The descriptions herein are intended to be illustrative, not limiting. Thus, it will be apparent to one skilled in the art that modifications may be made as described without departing from the scope of the claims set out below.
Claims
CLAIMS1. A method of grouping patterns for optical proximity correction (OPC) verification, the method comprising: obtaining a first set of OPC patterns generated for a design layout; representing the first set of OPC patterns as feature vectors, wherein each feature vector indicates an OPC pattern shape and an environmental parameter for the corresponding OPC pattern, wherein the environmental parameter is associated with a lithographic process; and clustering the first set of OPC patterns into a first set of groups in a feature vector domain based on similarity among simulated wafer-level patterns of the first set of OPC patterns, wherein the simulated wafer-level patterns are generated by applying a lithographic process model.
2. The method of claim 1, wherein the simulated wafer- level patterns are simulated contours of the simulated wafer-level patterns, and wherein the simulated contours include one of an aerial image contour, a resist image contour, or an etch image contour.
3. The method of claim 1, wherein the clustering is based on neighborhood assignment, which is indicative of a set of neighborhoods to which the first set of OPC patterns are assigned based on the similarity among the simulated wafer-level patterns.
4. The method of claim 3, wherein the neighborhood assignment comprises applying a constraint prescribing similarity of contours of the OPC patterns in each group of the first set of groups meet a specified criterion.
5. The method of claim 1, wherein clustering the first set of OPC patterns includes: sampling the feature vectors to obtain sampled feature vectors, wherein the sampled feature vectors are representative of OPC patterns that are distinctive from each other; and assigning the sampled feature vectors into a set of neighborhoods based on a contour to contour (C2C) similarity of OPC patterns corresponding to the sampled feature vectors.
6. The method of claim 5, wherein assigning the sampled feature vectors into the set of neighborhoods includes: simulating a first contour associated with a first OPC pattern corresponding to a first sampled feature vector of the sampled feature vectors and a second contour associated with a second OPC pattern corresponding to a second sampled feature vector of the sampled feature vectors by applying the lithographic process model on the first OPC pattern and the second OPC pattern;determining the C2C similarity based on a difference between the first contour and the second contour; and assigning the first OPC pattern and the second OPC pattern to the same neighborhood based on the difference satisfying a specified criterion, and assigning the first OPC pattern and the second OPC pattern to different neighborhoods based on the difference not satisfying the specified criterion.
7. The method of claim 6, wherein simulating the first contour and the second contour simulation includes: simulating a first wafer-level pattern of the first OPC pattern and a second wafer-level pattern of the second OPC pattern, and simulating the first contour of the first wafer-level pattern and the second contour of the second wafer-level pattern.
8. The method of claim 4, wherein the feature vectors are sampled based on farthest-first traversal method, or based on uncertainty clustering method.
9. The method of claim 5, wherein clustering the first set of OPC patterns includes: clustering the feature vectors using the C2C similarity of the OPC patterns corresponding to the sampled feature vectors as a cost function to generate the first set of groups, wherein the cost function includes a penalty that is indicative of neighborhood assignments of the sampled feature vectors.
10. The method of claim 9, wherein clustering the feature vectors using the cost function includes: increasing the penalty based on a determination that (a) two sampled feature vectors assigned to the same neighborhood are clustered into two different groups, or (b) two sampled feature vectors assigned to different neighborhoods are clustered in the same group.
11. The method of claim 9, wherein each group in the first set of groups includes OPC patterns (a) having the C2C similarity satisfying a specified criterion, and (b) whose corresponding sampled vectors are assigned to the same neighborhood.
12. The method of claim 1 further comprising: selecting a first representative pattern from a first group of the first set of groups for performing an OPC verification, wherein the first representative pattern is an OPC pattern for which a simulated contour is generated during sampling of the feature vectors,performing the OPC verification on the first representative pattern to determine OPC verification result; and associating the OPC verification result with remaining patterns of the first group.
13. The method of claim 12, wherein the OPC verification on the first representative pattern is performed using the simulated contour of the first representative pattern generated during sampling of the feature vectors.
14. The method of claim 12, wherein the OPC verification includes predicting defects on a substrate based on the lithographic process model, wherein the first set of OPC patterns correspond to a first target pattern from the design layout, and wherein the lithographic process model includes at least one of a source model, an optical model, a mask model, a resist model, or an etch model.
15. The method of claim 1, wherein the environmental parameter includes at least one of (a) a flare value associated with optics of a lithographic apparatus, or (b) a through-slit position with respect to a mask, wherein the flare is indicative of stray light that is scattered from an optical system and mask across a substrate, wherein the through-slit position is indicative of a location along an x- axis of a mask at which an illumination slit is positioned during a lithographic process.
Citation Information
Patent Citations
System and method for creating a focus-exposure model of a lithography process
US20070031745A1
Method for identifying and using process window signature patterns for lithography process control
US20070050749A1
System and method for model-based sub-resolution assist feature generation
US20080301620A1
Multivariable solver for optical proximity correction
US20080309897A1
Methods and system for lithography process window simulation
US20090157360A1