Method and system for primitive-based mask prediction

By using a set of primitive components and a machine learning model to generate mask patterns, the problems of flexibility and computational efficiency in generating mask patterns in existing technologies are solved, and more stable and efficient mask pattern prediction is achieved.

CN122374704APending Publication Date: 2026-07-10ASML NETHERLANDS BV
View PDF 10 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ASML NETHERLANDS BV
Filing Date
2024-11-18
Publication Date
2026-07-10

AI Technical Summary

Technical Problem

Existing technologies lack flexibility in generating mask patterns, the generation of benchmark real-world datasets is time-consuming and computationally intensive, machine learning models make inconsistent predictions, and they struggle to handle unknown patterns, leading to process instability.

Method used

The design layout is represented by a set of primitive components. The encoded aggregate is generated through a target representation model, and the mask pattern is predicted using a mask prediction model. The model is trained by combining machine learning techniques to reduce the complexity of high-dimensional input and achieve rapid computation of synthetic benchmarks.

Benefits of technology

It improves the flexibility and consistency of mask pattern generation, reduces the computational burden, enables rapid processing of new designs, quantifies pattern coverage, and generates more stable mask patterns.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122374704A_ABST
    Figure CN122374704A_ABST
Patent Text Reader

Abstract

Methods and systems for generating a mask pattern are described herein. A set of primitive elements of a target pattern is identified. The set of primitive elements is encoded in a feature vector space to generate an encoded set of primitive elements, and aggregated to generate an encoded aggregate representing the target pattern. The encoded aggregate is input to a mask prediction model that generates a mask image representing a mask pattern for the target pattern.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This application claims priority to U.S. Application 63 / 610,798, filed December 15, 2023, which is incorporated herein by reference in its entirety. Technical Field

[0003] The embodiments provided herein relate to semiconductor manufacturing, and more specifically to the design of mask patterns by computational lithography. Background Technology

[0004] Photolithography equipment is a machine that applies a desired pattern to a target portion of a substrate. For example, photolithography equipment can be used in the manufacture of integrated circuits (ICs). For instance, the IC chip in a smartphone can be as small as a human thumb and can contain over 2 billion transistors. Manufacturing ICs is a complex and time-consuming process, where circuit components reside in different layers and involve hundreds of individual steps. Even an error in one step can cause problems with the final IC and potentially lead to device failure. High process yields and high wafer production volumes can be affected by the presence of defects. Summary of the Invention

[0005] In some embodiments, the techniques described herein relate to a method for generating a mask pattern, the method comprising: obtaining a set of primitive elements of a target pattern; encoding the set of primitive elements in a feature vector space to generate an encoded set of primitive elements; aggregating the encoded set of primitive elements in the feature vector space to generate an encoded aggregate representing the target pattern; and generating a mask image based on the encoded aggregate, wherein the mask image represents a mask pattern for the target pattern.

[0006] In some embodiments, a non-transitory computer-readable medium is provided having instructions that, when executed by a computer, cause the computer to perform a method according to any of the embodiments described above.

[0007] In some embodiments, an apparatus is provided, the apparatus including a memory and a processor, the memory storing an instruction set, the processor being configured to run the instruction set to cause the apparatus to perform a method according to any of the embodiments described above. Attached Figure Description

[0008] Embodiments will now be described by way of example only with reference to the accompanying drawings, in which:

[0009] Figure 1 The illustration shows a block diagram of various subsystems of a photolithography projection apparatus according to an embodiment.

[0010] Figure 2 This is a schematic diagram of a photolithography projection apparatus according to an embodiment.

[0011] Figure 3 An exemplary flowchart for simulating lithography in a lithography projection apparatus according to an embodiment is illustrated.

[0012] Figure 4A and Figure 4B It is a block diagram of basic elements for generating a target pattern, consistent with several embodiments.

[0013] Figure 5 The illustration shows the use of a prediction model to predict a mask pattern from a primitive-based representation of a target pattern, consistent with several embodiments.

[0014] Figure 6 The illustration shows a coded aggregate of a target representation model that is consistent with several embodiments to generate target patterns.

[0015] Figure 7 The illustration shows the generation of training data for training an objective representation model, consistent with several embodiments.

[0016] Figure 8 The illustration shows the use of an encoded aggregate of target patterns to train a mask prediction model to generate mask patterns, consistent with several embodiments.

[0017] Figure 9 The illustration shows the generation of training data for training a mask prediction model, consistent with several embodiments.

[0018] Figure 10 This is a flowchart consistent with several embodiments of a method for generating a mask pattern using a set of primitive elements representing a target pattern.

[0019] Figure 11 This is a block diagram of an exemplary computer system according to an embodiment.

[0020] Embodiments will now be described in detail with reference to the accompanying drawings, which are provided as illustrative examples to enable those skilled in the art to practice the embodiments. Note that the following figures and examples are not intended to limit the scope to a single embodiment, but rather other embodiments are possible through some or all of the interchange of the described or illustrated elements. Where it is convenient, the same reference numerals will be used throughout the drawings to refer to the same or similar parts. Where certain elements of these embodiments can be implemented partially or completely using known components, only those portions of these known components necessary for understanding the embodiments will be described, and detailed descriptions of other portions of these known components will be omitted so as not to obscure the description of the embodiments. In this specification, embodiments illustrating a single component should not be considered limiting unless expressly stated otherwise herein; rather, the scope is intended to cover other embodiments including multiple identical components, and vice versa. Furthermore, unless so expressly stated, the applicant does not intend for any terminology in this specification or claims to be relegated to an uncommon or particular meaning. Moreover, the scope covers current and future known equivalents of the components mentioned herein by way of illustration. Detailed Implementation

[0021] A lithography apparatus is a machine that applies a pattern of a design onto a target portion of a substrate. This process of transferring a pattern of a design to a substrate is called a patterning process. A patterning process can include patterning steps for transferring a pattern from a patterning apparatus (e.g., a mask) to a substrate. Various methods are used to generate mask patterns (e.g., continuous mask transfer (CTM)). CTM technology is a reverse lithography solution that generates a grayscale guided map for a mask pattern (e.g., a CTM image) for a given input design layout or target pattern, under certain process condition values ​​(e.g., CD, focus, dose value, etc.), source information (e.g., pupil), etc. As another example, predictive models (such as machine learning (ML) models) are used to generate a mask pattern for a given target pattern. Typically, the ML model is trained using a training dataset of the target pattern and a corresponding “benchmark reality” mask pattern. In some embodiments, the design layout corresponds to a full-chip design layout, and the target pattern is a region or portion of the design layout. The entire mask pattern can be mapped to the target pattern as a unit. This conventional approach has drawbacks or limitations. For example, there is little flexibility in creating benchmark reality datasets, where the primary task of pattern selection (e.g., choosing different target patterns) remains challenging, and generating benchmark realities for a large number of mask patterns or an entire design layout is time-consuming and computationally intensive. Furthermore, the task of building a model to cover the entire design space of the target patterns (including patterns unknown during training) and quantifying pattern coverage is extremely challenging. Typically, benchmark reality datasets consist of disjoint regions from various locations within the design layout, and machine learning model solutions provided via the reverse solution of a CTM can exhibit instability, resulting in inconsistent predicted mask patterns for the same target pattern (e.g., because benchmark reality datasets provided by CTMs may be inconsistent). These and other drawbacks exist.

[0022] Embodiments for predicting mask patterns for target patterns using a set of primitives associated with a target pattern are disclosed. In some embodiments, a set of primitives can be used to represent a full-chip design layout, wherein each primitive can be considered a building block or basic component representing a portion of the design layout. In some embodiments, each target pattern in the design layout may consist of a selected subset of the set of primitives in a particular arrangement. Primitives may be features, portions of features, arrangements of multiple features, or combinations of features appearing in a plurality of target patterns.

[0023] According to embodiments of this disclosure, given an input set of primitive elements for a target pattern, a target representation model is trained to generate an encoded aggregate representing the target pattern by: encoding each primitive element and its position in the target pattern in an encoding space (e.g., a feature vector space) to generate an encoded set of primitive elements; aggregating the encoded set of primitive elements in the encoding space to generate an encoded aggregate representing the target pattern; and decoding the encoded aggregate to generate the recovered target pattern. In this way, the target representation model can thus map the set of primitive elements and their positions (e.g., the encoded aggregate) one-to-one to the target pattern. In some embodiments, a mask prediction model is trained to predict a mask pattern based on the encoded aggregate generated by the target representation model. Mask patterns generated using one or more methods such as CTM can be used to train the mask prediction model. As described above, the target representation model and the mask prediction model are used collaboratively to generate a mask pattern design from the arrangement of the set of primitive elements representing the target pattern. In some embodiments, machine learning techniques can be used to train the target representation model and the mask prediction model.

[0024] In some embodiments, primitive elements associated with a design layout can be generated based on design rules and process information to be followed in generating the design layout, or by decomposing the design layout. For example, a target representation model can be trained using primitive elements of a full-chip design, or a target pattern, or a portion or region of the design layout (e.g., corresponding to the field of view of a lithography device).

[0025] In some embodiments, for new designs, primitives not in the training dataset can be identified and used to quantize the pattern coverage of the target representation model, as described in more detail below.

[0026] This primitive-element-based prediction of mask patterns offers various benefits. For example, mask prediction models can be significantly less complex than conventional prediction models that use high-dimensional inputs, such as images of the target pattern, as input in a low-dimensional encoding domain (e.g., an encoding aggregate). At least a portion of the training of this prediction model framework (e.g., training of the target representation model) can be performed without generating a mask pattern baseline reality, which is typically accomplished through time-consuming and computationally intensive methods. Embodiments of this disclosure allow for the generation of rapidly computed synthetic baseline realities (e.g., a synthetic target pattern and its corresponding mask pattern) by performing local perturbations in the target pattern and updating the mask pattern at the corresponding locations of the perturbations, resulting in more consistent baseline mask patterns. Furthermore, embodiments of this disclosure provide another method for quantifying pattern coverage / selection. For example, for new or unseen designs, the pattern coverage of the prediction model can be quantified by identifying primitives in the new design that are not in the training set of primitives.

[0027] While specific references may be made to the manufacture of ICs in this disclosure, it should be clearly understood that the description herein has many other possible applications. For example, the description herein can be used to manufacture integrated optical systems, guide and detection patterns for magnetic domain memory, liquid crystal display panels, thin-film magnetic heads, etc. Those skilled in the art will understand that, in the context of such alternative applications, any use of the terms “mask,” “wafer,” or “die” herein should be considered interchangeable with the more general terms “mask,” “substrate,” and “target portion,” respectively.

[0028] In this document, the terms "radiation" and "beam" are used to encompass all types of electromagnetic radiation, including ultraviolet radiation (e.g., with wavelengths of 365 nm, 248 nm, 193 nm, 157 nm, or 126 nm) and EUV (extreme ultraviolet radiation, e.g., with wavelengths in the range of approximately 5 nm to 100 nm). In this document, the terms "radiation source" or "source" are used to encompass all types of radiation sources, including laser sources, incandescent sources, etc., and all types of radiation sources may include processing of the radiation between the radiation source and the target or other parts of the optical device, including filtering, collimation, focusing, etc.

[0029] Patterning apparatuses can include or form one or more design layouts. Design layouts can be generated using CAD (Computer-Aided Design) programs. This process is often referred to as EDA (Electronic Design Automation). Most CAD programs follow a predetermined set of design rules to create functional design layouts / patterning apparatuses. These rules are set based on processing and design constraints. For example, design rules define the spatial tolerances or interconnects between devices (such as gates, capacitors, etc.) to ensure that devices or lines do not interact with each other in undesirable ways. One or more of these design rule constraints can be called “critical dimensions” (CDs). A critical dimension of a device can be defined as the minimum width of a line or via, or the minimum spacing between two lines or vias. Therefore, CDs adjust 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 apparatus).

[0030] As used herein, the terms "mask" or "patterning apparatus" can be broadly interpreted to refer to a general patterning apparatus that can be used to impart a patterned cross-section to an incident radiation beam, the patterned cross-section corresponding to a pattern to be generated in a target portion of a substrate. The term "optical valve" can also be used in this context. Examples of other such patterning apparatuses besides classical masks (transmissive or reflective masks; binary masks, phase-shifting masks, hybrid masks, etc.) include programmable mirror arrays. An example of such a device is a matrix-addressable surface with a viscoelastic control layer and a reflective surface. The basic principle behind such a device is that, for example, addressed regions of the reflective surface reflect incident radiation as diffracted radiation, while unaddressed regions reflect incident radiation as undiffracted radiation. Using a suitable filter, the undiffracted radiation can be filtered out from the reflected beam, retaining only the diffracted radiation; in this way, the beam is patterned according to the addressing pattern of the matrix-addressable surface. The required matrix addressing can be performed using suitable electronic means. Other examples of such patterning apparatuses include programmable LCD arrays. An example of such a construction is given in U.S. Patent No. 5,229,872, which is incorporated herein by reference.

[0031] The term "projection optics" as used herein should be interpreted broadly to encompass various types of optical systems, including, for example, refractive optics, reflective optics, aperture optics, and refractive-reflective optics. The term "projection optics" may also include components for any of these design types used to guide, shape, or control a projected radiation beam, either jointly or individually. The term "projection optics" can include any optical component in a lithography projection apparatus, regardless of its location in the optical path of the apparatus. Projection optics can include optical components for shaping, adjusting, and / or projecting radiation from a source before it passes through a patterning apparatus, and / or for shaping, adjusting, and / or projecting radiation after it has passed through the patterning apparatus. Projection optics typically do not include a source or a patterning apparatus.

[0032] Figure 1 The illustration shows a block diagram of several subsystems of a photolithography projection apparatus 10A according to an embodiment. The main components are: a radiation source 12A, which may be a deep ultraviolet excimer laser source or other types of sources including extreme ultraviolet (EUV) sources (the photolithography projection apparatus itself does not need to have a radiation source); irradiation optics, which, for example, define partial coherence (denoted as sigma) and may include optics 14A, 16Aa, and 16Ab for shaping the radiation from source 12A; a pattern forming apparatus (or mask) 18A; and a transmissive optics 16Ac that projects an image of a pattern from the pattern forming apparatus onto a substrate plane 22A.

[0033] A pupil 20A may be included within the transmissive optics 16Ac. In some embodiments, one or more pupils may be present before and / or after the mask 18A. As described further in detail herein, the pupil 20A can provide patterning of the light ultimately reaching the substrate plane 22A. An adjustable filter or aperture at the pupil plane of the projection optics can limit the angular range of the beam incident on the substrate plane 22A, wherein the maximum possible angle defines the numerical aperture NA of the projection optics as NA = n sin(Θmax), where n is the refractive index of the medium between the substrate and the last element of the projection optics, and Θmax is the maximum angle of the beam exiting the projection optics that can still be incident on the substrate plane 22A.

[0034] In a photolithography projection apparatus, a source provides illumination (i.e., radiation) to a patterning apparatus, and projection optics shape and direct the illumination onto a substrate via the patterning apparatus. This does not imply that the source itself does not provide patterning, directing, or shaping of 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 components 14A, 16Aa, 16Ab, and 16Ac. The spatial image (AI) is the distribution of radiation intensity at the substrate level. A resist image can be calculated from the spatial image using a resist model, an example of calculating a resist image from a spatial image using a resist model can be found in U.S. Patent Application Publication No. US2009-0157360, the disclosure of which is incorporated herein by reference in its entirety. The resist model relates to the properties of the resist layer, such as the effects of chemical processes occurring during exposure, post-exposure baking (PEB), and development. The optical properties of a photolithography projection apparatus (e.g., the properties of the illumination, patterning apparatus, and projection optics) determine the spatial image and can be defined in an optical model. Since the patterning apparatus used in a photolithography projection apparatus can be modified, it is desirable to separate the optical properties of the patterning apparatus from those of the rest of the photolithography projection apparatus, which includes at least the source and projection optics. Details of techniques and models for converting design layouts into various photolithographic images (e.g., spatial images, resist images, etc.), applying optical proximity correction (OPC) using these techniques and models, and evaluating performance (e.g., in terms of process windows) are described in U.S. Patent Application Publications Nos. US2008-0301620, US2007-0050749, US2007-0031745, US2008-0309897, US2010-0162197, and US2010-0180251, the disclosures of each of which are incorporated herein by reference in their entirety.

[0035] One aspect of understanding the photolithography process is understanding the interaction between radiation and the patterning apparatus. The electromagnetic field of the radiation after it has passed through the patterning apparatus can be determined based on the electromagnetic field of the radiation before it reaches the apparatus and a function characterizing the interaction. This function can be referred to as the mask transmission function (which can be used to describe the interaction with transmissive and / or reflective patterning apparatuses).

[0036] Mask transmission functions can take various forms. One form is binary. A binary mask transmission function has either one of two values ​​(e.g., zero and a positive constant) at any given location on the patterning apparatus. A mask transmission function in binary form can be called a binary mask. Another form is continuous. That is, the modulus of the transmittance (or reflectance) of the patterning apparatus is a continuous function of the location on the patterning apparatus. The phase of the transmittance (or reflectance) can also be a continuous function of the location on the patterning apparatus. A mask transmission function in continuous form can be called a continuously tuned mask or a continuous transmission mask (CTM). For example, a CTM can be represented as a pixelated image in which each pixel can be assigned a value between 0 and 1 (e.g., 0.1, 0.2, 0.3, etc.), rather than a binary value of 0 or 1. In one embodiment, the CTM may be a pixelated grayscale image in which each pixel has a value (e.g., a value in the range [-255, 255], a normalized value in the range [0, 1] or [-1, 1] or other suitable range).

[0037] The thin mask approximation, also known as the Kirchhoff boundary condition, is widely used to simplify the determination of the interaction between radiation and patterning apparatus. The thin mask approximation assumes that the thickness of the structure on the patterning apparatus is very small compared to the wavelength, and the width of the structure on the mask is very large compared to the wavelength. Therefore, the thin mask approximation assumes that the electromagnetic field behind the patterning apparatus is the product of the incident electromagnetic field and the mask transmission function. However, as lithography processes use radiation with increasingly shorter wavelengths and the structures on the patterning apparatus become smaller, the assumptions of the thin mask approximation may be broken. For example, due to the finite thickness of the structure (“mask 3D effect” or “M3D”), the interaction between radiation and the structure (e.g., the edge between the top surface and sidewalls) may become significant. Including this scattering in the mask transmission function allows the mask transmission function to better capture the interaction between radiation and the patterning apparatus. The mask transmission function under the thin mask approximation can be called the thin mask transmission function. The mask transmission function including M3D can be called the M3D mask transmission function.

[0038] Figure 2An exemplary photolithography projection apparatus is schematically depicted, whose illumination source can be optimized using the methods described herein. The apparatus includes:

[0039] - An irradiation system IL, which is used to modulate the radiation beam B. In this particular case, the irradiation system also includes a radiation source SO;

[0040] - A first stage (e.g., a mask stage, a pattern forming apparatus stage, or a mask plate stage) MT, the first stage being provided with a pattern forming apparatus holder to hold the pattern forming apparatus MA (e.g., a mask plate), and connected to a first locator to accurately position the pattern forming apparatus relative to an object PS.

[0041] - A second stage (e.g., a substrate stage or a wafer stage) WT, which is provided with a substrate holder to hold a substrate W (e.g., a silicon wafer coated with resist) and is connected to a second positioner to accurately position the substrate relative to an object PS.

[0042] - A projection system (“lens”) PS (e.g., a refractive optical system, a reflective optical system, or a catadioptric optical system) for imaging an illuminated portion of the pattern forming apparatus MA onto a target portion C (e.g., comprising one or more dies) of the substrate W.

[0043] As described herein, the device is transmissive (i.e., has a transmissive mask). However, typically, the device can also be reflective, for example (with a reflective mask). Alternatively, the device can employ another class of patterning apparatus as an alternative to the use of a typical mask; examples include programmable mirror arrays or LCD matrices.

[0044] A source SO (e.g., a mercury lamp or excimer laser) generates a radiation beam. This beam is supplied to the irradiation system (irradiator) IL, either directly or after passing through an adjustment device (such as a beam expander Ex). The irradiator IL may include an adjustment device AD ​​for setting the outer radial range or inner radial range (typically referred to as σ-outer and σ-inner, respectively) of the intensity distribution in the beam. Additionally, the adjustment device typically includes various other components, such as an integrator IN and a concentrator CO. In this way, the beam B irradiated onto the pattern forming device MA has the desired uniformity and intensity distribution in its cross-section.

[0045] about Figure 2It should be noted that the source SO can be inside the housing of the photolithography projection device (e.g., this is usually the case when the source SO is a mercury lamp), but the source SO can also be located away from the photolithography projection device (e.g., with the aid of a suitable guiding mirror) to guide the radiation beam generated by the source into the device; the latter case is usually the case when the source SO is an excimer laser (e.g., based on KrF, ArF, or F2 lasers).

[0046] Beam B then intercepts the pattern forming apparatus MA held on the pattern forming apparatus stage MT. Having traversed the pattern forming apparatus MA, beam B passes through lens PS, which focuses beam B onto the target portion C of the substrate W. With the aid of a second positioning device (and an interferometric measuring device IF), the substrate stage WT can be accurately moved, for example, to position the different target portions C within the path of beam B. Similarly, for example, after the pattern forming apparatus MA has been mechanically retrieved from the pattern forming apparatus library, or during scanning, the pattern forming apparatus MA can be accurately positioned relative to the path of beam B using a first positioning device. Typically, the movement of the stages MT and WT can be achieved by means of a long-stroke module (coarse positioning) and a short-stroke module (fine positioning), which... Figure 2 It is not explicitly described in the text. However, in the case of a wafer stepper (as opposed to a stepping scan tool), the patterning stage MT may be connected only to a short-stroke actuator, or it may be fixed.

[0047] The tools described can be used in two different modes:

[0048] - In step mode, the pattern forming apparatus stage MT remains essentially stationary, and the entire pattern forming apparatus image is projected onto the target portion C in one (i.e., a single "flash"). The substrate stage WT then moves in either the x or y direction, allowing the beam B to irradiate different target portions C.

[0049] In scanning mode, essentially the same scenario applies, except that the given target portion C is not exposed in a single "flash." Instead, the patterning stage MT can move at a speed v along a given direction (the so-called "scanning direction," such as the y-direction), thereby scanning the projection beam B across the entire patterning apparatus image; simultaneously, the substrate stage WT moves at a speed V = Mv along the same or opposite direction, where M is the magnification of the lens PS (typically M = 1 / 4 or 1 / 5). In this way, a relatively large target portion C can be exposed without sacrificing resolution.

[0050] Figure 3An exemplary flowchart for simulating lithography in a lithographic projection apparatus according to an embodiment is illustrated. As will be understood, the model may represent different patterning processes and need not include all the models described below. Source model 300 represents the optical characteristics of the illumination of the pattern forming apparatus (including radiation intensity distribution, bandwidth, and / or phase distribution). Source model 300 may represent the optical characteristics of the illumination, including but not limited to numerical aperture settings, illumination sigma (σ) settings, and any particular illumination shape (e.g., off-axis radiation shapes such as toroidal, quadrupole, dipole, etc.), where σ (or sigma) is the outer radial extent of the illuminator.

[0051] The projection optics model 310 represents the optical characteristics of the projection optics (including variations in the radiation intensity distribution and / or phase distribution caused by the projection optics). The projection optics model 310 can represent the optical characteristics of the projection optics, including aberrations, distortion, one or more refractive indices, one or more physical dimensions, one or more physical dimensions, etc.

[0052] The patterning apparatus / design layout model module 320 captures how design features are laid out in a pattern within the patterning apparatus and may include a representation of the detailed physical properties of the patterning apparatus, such as those described in U.S. Patent No. 7,587,704, which is incorporated herein by reference in its entirety. In an embodiment, the patterning apparatus / design layout model module 320 represents the optical properties (including variations in radiation intensity distribution and / or phase distribution caused by a given design layout) of a design layout (e.g., a device design layout corresponding to features of an integrated circuit, memory, electronic device, etc.), which is a representation of the arrangement of features on or formed by the patterning apparatus. Since the patterning apparatus used in a photolithography projection apparatus can be varied, it is desirable to separate the optical properties of the patterning apparatus from the optical properties of the rest of the photolithography projection apparatus, which includes at least an illuminator and projection optics. The purpose of simulation is typically to accurately predict, for example, edge placement and CD, which can then be compared to the device design. The device design is typically defined as a pre-OPC patterning apparatus layout and is provided in a standardized digital file format such as GDSII or OASIS.

[0053] A spatial image 330 can be simulated based on the source model 300, the projection optics model 310, and the pattern forming apparatus / design layout model module 320. The spatial image (AI) is the radiation intensity distribution at the substrate level. The optical properties of the photolithography projection equipment (e.g., the properties of the illumination, the pattern forming apparatus, and the projection optics) determine the spatial image.

[0054] A resist layer on a substrate is exposed to a spatial image, and this spatial image is transferred onto the resist layer as a potential "resist image" (RI). The resist image (RI) can be defined as the spatial distribution of the solubility of the resist in the resist layer. A resist image 350 can be simulated from the spatial image 330 using a resist model 340. The resist model can be used to calculate the resist image from the spatial image; examples of calculating the resist image from the spatial image can be found in U.S. Patent Application No. 8,200,468, the disclosure of which is incorporated herein by reference in its entirety. The resist model 340 generally describes the effects of chemical processes occurring during resist exposure, post-exposure baking (PEB), and development in order to predict, for example, the profile of resist features formed on the substrate, and therefore the resist model generally relates only to the properties of this resist layer (e.g., the effects of chemical processes occurring during exposure, PEB, and development). In the embodiments, the optical properties of the resist layer (e.g., refractive index, film thickness, propagation, and polarization effects) can be captured as part of the projection optics model 310.

[0055] Therefore, the connection between the optical model and the resist model is typically the simulated spatial image intensity within the resist layer, which is derived from the projection of radiation onto the substrate, refraction at the resist interface, and multiple reflections within the resist film stack. The radiation intensity distribution (spatial image intensity) is transformed into a potential "resist image" by absorbing incident energy, which is further modified by the diffusion process and various loading effects. For full-chip applications, a sufficiently fast and efficient simulation method approximates the true three-dimensional intensity distribution within the resist stack through a three-dimensional spatial (and resist) image.

[0056] In this embodiment, the resist image 350 can be used as input to the post-pattern transfer process model module 360. The post-pattern transfer process model module 360 ​​defines the performance of one or more post-resist development processes (e.g., etching, development, etc.).

[0057] For example, simulation of the patterning process can predict contours, CD (color depth), edge placement (e.g., edge placement error), etc., in the resist and / or etched image. Therefore, the aim of the simulation is to accurately predict, for example, the edge placement of the printed pattern, and / or the spatial image intensity slope, and / or CD, etc. These values ​​can be compared with the expected design to, for example, correct the patterning process, identify the location of predicted defects, etc. The expected design is typically 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 formats).

[0058] Therefore, the model formulas describe most (if not all) of the known physical and chemical processes involved in the entire process, and each model parameter ideally corresponds to a different physical or chemical effect. Thus, the model formulas set an upper limit on the effectiveness of the model in simulating the entire manufacturing process.

[0059] The following paragraphs describe systems and methods for predicting mask patterns using a set of primitives associated with a target pattern. Primitives can be features appearing in a number of target patterns, portions of features, arrangements of multiple features, or combinations of features. In some embodiments, a set of primitives can be used to represent an entire full-chip design layout, and a subset of that set of primitives can be used to represent the target pattern of the design layout. A prediction model framework (e.g., one or more prediction models, such as ML models) can be used to predict the mask pattern for a given target pattern. For example, a prediction model framework can include two prediction models—a target representation model that generates an encoded aggregate from the set of primitives representing the target pattern, and a mask prediction model that generates the mask pattern from the encoded aggregate. In some embodiments, the prediction framework may not be implemented as two separate models; in this case, the two prediction models may be implemented as sub-components of the prediction framework.

[0060] During the training phase, given an input primitive set of a target pattern, the encoder of the target representation model is trained to encode each primitive element and its position in the target pattern in the encoding space to generate an encoded primitive set. An aggregator is trained to aggregate the encoded primitive sets into an encoded aggregate representing the target pattern, and a decoder decodes this encoded aggregate to generate the recovered target pattern. The target representation model is trained until the difference between the recovered target pattern and the target pattern decreases (e.g., is minimized). Thus, by training the target representation model to generate the encoded aggregate, the target representation model is trained to map the primitive set to the target pattern one-to-one. A mask prediction model can be trained to predict a mask pattern from the encoded aggregate. During the training phase, the encoded aggregate of the target pattern (e.g., generated using the target representation model) and a baseline real-world mask pattern of the target pattern (e.g., generated using one or more known methods such as CTM) are input into the mask prediction model to generate a predicted mask pattern. For example, the mask prediction model is trained until the difference between the predicted mask pattern and the baseline real mask pattern decreases (e.g., is minimized).

[0061] Figure 4A and Figure 4BThis is a block diagram of primitive elements for generating target patterns, consistent with several embodiments. The design layout includes multiple features to be printed on a substrate. In some embodiments, the design layout may be represented as a collection of primitive elements, where each primitive element can be considered a building block or basic component representing a portion of the design layout. In some embodiments, each target pattern in the design layout may consist of a selected subset of the collection of primitive elements in a particular arrangement. A primitive element may be a feature, a portion of a feature, or a combination of features appearing in many target patterns. For example, in target pattern 404, there are many features appearing in multiple target patterns of the design layout to which target pattern 404 is a part. As an example, a rectangular feature 405a having a first size set may appear in multiple target patterns of the design layout. Therefore, a rectangular feature 405a having a first size set may be selected as a first primitive element 405a, which can be used to represent each of the three occurrences (first occurrence 411a, second occurrence 411b, and third occurrence 411c) of the feature in target pattern 404 (e.g., and other target patterns of the design layout). Similarly, other features appearing in multiple target patterns in the design layout can be selected as primitive elements, such as primitive elements 405b, 405c, 405d, and 405e, which can be used to represent any occurrence of those features in target pattern 404.

[0062] In some embodiments, combinations of features appearing in multiple target patterns of a design layout can be selected as primitive elements. For example, a second primitive element 405f represents a combination of two rectangular features, a third primitive element 405g represents a combination of two circular features, and a fourth primitive element 405h represents a combination of two circular and rectangular features, each of which appears in multiple target patterns. Primitive elements can be used to represent an entire full-chip design layout or target patterns of a design layout.

[0063] In some embodiments, if a feature is unique in the design layout, that is, it appears no more than once in the design layout, then the feature is considered a primitive, or a portion of the appearance of the feature in multiple target patterns can be selected as a primitive element. In this case, two or more primitive elements can be used to represent the appearance of such a feature in the target pattern.

[0064] In some embodiments, the set 405 of primitive elements includes primitive elements that can be used to represent the entire full-chip design layout in which the target pattern 404 is part. The target pattern 404 can be represented using a selected subset of the set 405 of primitive elements and their positions within the target pattern 404. An exemplary representation of the target pattern using primitive elements could be—((first primitive element 405a, position of first appearance 411a), (first primitive element 405a, position of second appearance 411b)…(second primitive element 405b, position of first appearance), (second primitive element 405b, position of second appearance)…(nth primitive element, position of appearance), and so on). In some embodiments, the position of a feature can be a position within a region of the target pattern 404, where the region corresponds to the field of view of a lithography apparatus. In some embodiments, the position can be represented using coordinates (e.g., (x, y) coordinates). In some embodiments, the position can correspond to the position of a primitive element in an image of that primitive element or in the target pattern 404, which can be derived from the corresponding image. Reference hereinafter at least to Figure 5 Describe additional details about the location.

[0065] The primitive elements of a given design layout can be generated by decomposing it (e.g., a design layout in which target pattern 404 is a part) or based on design rules (e.g., design rule 402). For example, Figure 4A As shown, a set of primitive elements 405 can be generated by decomposing a design layout into its primitive elements. In some embodiments, decomposing the design layout includes analyzing or processing the design layout (e.g., using pattern matching, heuristic matching, image segmentation, or other known feature extraction methods) to identify those features, portions of features, or combinations of features that repeatedly appear in multiple target patterns of the design layout as primitive elements. After obtaining the set of primitive elements 405, a set of primitive elements associated with a target pattern 404 can be identified. For example, the target pattern 404 can be compared with the set of primitive elements 405 (e.g., using pattern matching, heuristic matching, image segmentation, or other known feature extraction methods) to identify those primitive elements in the primitive elements 405 that match features, portions of features, or combinations of features in the target pattern 501 as the set of primitive elements associated with the target pattern 404. The identified primitive elements and their positions in the target pattern 404 can be used to represent the target pattern 404 (e.g., as described above).

[0066] like Figure 4BAs shown, design rule 402 can be used to generate primitive elements. In some embodiments, design rule 402 may include information about the design rule or process information to be followed when generating the design layout. For example, the design rule may indicate the spacing of features (e.g., the distance between two features in the x or y direction), the critical dimension (CD) of the feature, the minimum CD, maximum CD, or other such attributes of the feature, information about the lithography apparatus, or information about the lithography process to be followed in generating or printing the design layout on the substrate. In a first example 490 of the design rule for a first design layout, the design rule indicates a spacing 451 in the x direction and a spacing 452 in the y direction, as well as the CD 453 of the feature (e.g., width and height), and a first target pattern 450 of the first design layout can be generated based on the spacing 451 in the x direction and the spacing 452 in the y direction, as well as the CD 453 of the feature (e.g., width and height). The first target pattern 450 can be decomposed to identify primitive elements. For example, square features of the same size can be considered to appear in multiple target patterns of the first design layout, and therefore, the square features can be identified as primitive element 455, which can be used to represent the first target pattern 450. That is, the entire target pattern 450 can be represented using primitive element 455 and the position of each occurrence of primitive element 455 in the target pattern 450. In another example, a pair of horizontal square features (e.g., one after the other in the x-direction) can be considered to appear across multiple target patterns, and therefore, the combination of two horizontal square features can be identified as a single primitive element 456. In yet another example, a pair of vertical square features (e.g., one below / above the other in the y-direction) can be considered to appear across multiple target patterns, and therefore, the combination of two vertical square features can be identified as a single primitive element 457.

[0067] In a second example 492 of the design rule for the second design layout, the design rule indicates a spacing 461 in the x-direction and a feature CD 462 (e.g., width). Based on the spacing 461 in the x-direction and the feature CD 462 (e.g., width), a second target pattern 470 of the second design layout can be generated. The second target pattern 470 can be decomposed to identify primitive elements. For example, a square feature of the same size, a first rectangular feature of a first size set, and a second rectangular feature of a second size set can be considered as multiple target pattern occurrences across the second design layout, and each of the square feature, the first rectangular feature, and the second rectangular feature can be identified as primitive element 465a, primitive element 465b, and primitive element 465c, respectively. That is, the entire second target pattern 470 can be represented using only three primitive elements 465a-465c. In another example, the primitive element can be a parameterized primitive element. In some embodiments, the parameterized primitive element is associated with a parameter describing the properties of the feature, and the parameter has different values ​​for different occurrences of the feature. For example, a single parameterized primitive element 475 having a height as a feature of parameter 476 can be used to represent the second target pattern 470. A square feature can be represented by a parameterized primitive element 475 having a first value of parameter 476 (e.g., the height of a square), a first rectangular feature with a first height can be represented by a parameterized primitive element 475 having a second value of parameter 476, and a second rectangular feature with a second height can be represented by a parameterized primitive element 475 having a third value of parameter 476.

[0068] While the examples above illustrate polygonal features, these features are not limited to polygonal features and can also include curved features. According to embodiments of this disclosure, primitive elements can also be used to represent curved features.

[0069] Primitive elements can be represented in various formats. In some embodiments, primitive elements can be represented as images. In some embodiments, primitive elements can be represented using a set of coordinates or a set of attributes that define the corresponding primitive element. For example, a rectangular primitive element can be represented using the starting coordinates of a feature (e.g., the coordinates (x, y) of a vertex of the feature) and the width and height of the feature. In another example, a rectangular primitive element can be represented using the coordinates of the opposite vertices of a feature (e.g., the (x1, y1) and (x2, y2) coordinates of the opposite vertices of the feature), in which case the coordinates of the remaining vertices can be derived from the provided coordinates. In another example, a rectangular or other polygonal primitive element can be represented using the coordinates of all vertices of a feature. In another example, a circular primitive element can be represented using the coordinates of the center of a circle and the radius of the circle. In another example, a curved primitive element can be represented using (a) the coordinates of the set of points forming a curved feature and (b) information about the tangent or directional derivative of each point in the set of points. In another example, a primitive element can be represented as a set of elements (e.g., at least one of vertices, edges, faces, or polygons) that defines the corresponding primitive element.

[0070] A primitive-based representation of a target pattern can be used to predict or generate a mask pattern corresponding to the target pattern. The following paragraphs describe the prediction of a mask pattern from a primitive-based representation of a target pattern using a prediction framework.

[0071] Figure 5 The illustration illustrates the use of a prediction model to predict a mask pattern from a primitive-based representation of a design layout, consistent with several embodiments. A set 502 of primitive elements representing a target pattern 501 (e.g., a region of the entire full-chip design layout) and their positions within the target pattern 501 are provided as input to a prediction model (e.g., a target representation model 525), which is trained to generate an encoded aggregate 522 representing the target pattern 501. The encoded aggregate 522 is provided as input to a second prediction model (e.g., a mask prediction model 550), which is trained to generate a mask pattern 532 (e.g., as a mask image) of the target pattern 501.

[0072] Identify a set 502 of primitive elements representing the target pattern 501. This set 502 can be identified in various ways. For example, the target pattern 501 can be compared with a set of primitive elements representing one or more design layouts (e.g., a design layout in which the target pattern 501 is a part) (e.g., using pattern matching, heuristic matching, image segmentation, or other known feature extraction methods) to identify those primitive elements that match features, portions of features, or combinations of features in the target pattern 501 as the set 502. One or more methods can be used (e.g., by decomposing one or more design layouts (e.g., a design layout in which the target pattern 501 is a part), or based on design rules, as at least referred to above. Figure 4A and Figure 4B The set of primitive elements is generated by (as described). In addition, in some embodiments, the set of primitive elements may be those primitive elements used in the training of the target representation model 525 (which will be described in further detail below).

[0073] The set of primitive elements 502 is provided as input set 504 to the target representation model 525. Each input includes information about the primitive element and its position in the target pattern 501. For example, a first input 504a may include (a) a first primitive element representing a first feature in the target pattern 501 and (b) the position of the first occurrence of the first primitive element in the target pattern 501 (e.g., in a specific region of the target pattern 501 corresponding to the field of view); a second input 504b may include (a) the first primitive element and (b) the position of the second occurrence of the first primitive element; and a third input 504c may include (a) a second primitive element representing a second feature and (b) the position of the first occurrence of the second primitive element. The set of primitive elements 502 can be used to provide such input for all occurrences of all features in the target pattern 501.

[0074] The positions of primitive elements can be specified in different ways. For example, if the primitive elements are represented as images (e.g., as illustrated in images 503a-503n), the positions of the primitive elements can be inherent in the image and can be derived from it. For instance, in the first input 504a, the primitive element is located in a first position in image 503a, and this first position can be derived from image 503a. Similarly, in the second input 504b, the primitive element is located in a second position in image 503b, and this second position can be derived from image 503b. In another example, if the primitive elements are represented as a set of coordinates, a set of points, a polygon, etc., the position information can be included in the representation as position coordinates. Therefore, the input set 504a-504n, including the primitive element set 502 and its positions, together represent the target pattern 501.

[0075] The encoder 505 of the target representation model 525 receives the set of primitive elements 502 and their positions as input sets 504a-504n. The encoder 505 encodes the primitive elements and their positions to generate encoded primitive elements in an encoding space (e.g., a feature vector space). For example, the encoder 505 encodes a first input 504a having a first primitive element and its position in the target pattern 501 to generate an encoded first primitive element 512a. Similarly, the encoder 505 encodes each input in the input set 504 (e.g., 504a-504n) to generate an encoded set of primitive elements 512 (e.g., 512a-512n). In some embodiments, the encoder 505 reduces the input dimension and compresses the input data into an encoded representation (e.g., from a high dimension to a low dimension). The encoding function can be represented as:

[0076] ...Equation (1)

[0077] Where f(.) represents encoder 505, P i Let represent the i-th input (e.g., a basic element and its position), and e i This represents the i-th encoded primitive element.

[0078] Aggregator 515 of the target representation model 525 is trained to aggregate the encoded primitive set 512a-512n to generate an encoded aggregate 522. The encoded aggregate represents the target pattern 501. Aggregation can be performed in various ways. For example, aggregation can be the aggregation of the encoded primitive set in an encoding space (e.g., a feature vector space). In some embodiments, aggregation can be represented as:

[0079] ...Equation (2)

[0080] Where g(.) represents the aggregation operation of aggregator 515, and a represents the encoded aggregator.

[0081] The encoded aggregate 522 is provided as input to the mask prediction model 550, which is trained to predict the mask pattern for any given target pattern. The mask prediction model 550 generates the mask pattern 532 based on the encoded aggregate 522.

[0082] At least refer to Figure 5 The described prediction models are trained to generate their corresponding outputs. For example, a training dataset is used to train a target representation model to generate an encoded aggregate, the training dataset having several target patterns as baseline realities of one or more design layouts and primitive elements for each of the several baseline reality target patterns. Similarly, a training dataset is used to train a mask prediction model to generate mask patterns, the training dataset having encoded aggregates for several target patterns and baseline reality mask patterns corresponding to the target patterns. The following paragraphs describe the training of the target representation model and the mask prediction model.

[0083] Figure 6 The illustration shows an encoded aggregate of training target representation models consistent with several embodiments to generate target patterns. The training dataset used to train target representation model 525 may include: (a) a plurality of training target patterns (also referred to as “training target patterns”) serving as baseline realities for one or more design layouts, and (b) a plurality of primitive element sets, wherein each primitive element set (also referred to as a “primitive element training set”) represents a corresponding target pattern. For example, the training dataset may include target pattern 602 and primitive element set 603 representing target pattern 602. In some embodiments, target pattern 602 corresponds to a portion or region of an entire full-chip design layout.

[0084] The set of basic elements 603 can be identified from the set of basic elements representing the design layout in which the target pattern 602 is part (e.g., as at least referred to above). Figure 4A and Figure 5 (As described). The set of primitive elements 603 can be provided as an input set 604 to the target representation model 525. As mentioned above, at least refer to Figure 5Each input includes information about a primitive element corresponding to a feature of the target pattern 602 and the position of that primitive element in the target pattern 602. For example, a first input 604a may include (a) a first primitive element representing a first feature in the target pattern 602 and (b) the position of the first occurrence of that first primitive element in the target pattern 602; a second input 604b may include (a) a first primitive element representing a first feature and (b) the position of the second occurrence of that first primitive element, and so on for all occurrences of all features in the target pattern 602. Therefore, the input sets 604a to 604n, including the set of primitive elements 603 and their positions, together represent the training target pattern 602.

[0085] The encoder 505 of the target representation model 525 receives a set of primitive elements and their positions as an input set 604, and encodes the primitive elements and their positions to generate an encoded set of primitive elements (also referred to as a "training set of encoded primitive elements") in an encoding space (e.g., a feature vector space). For example, the encoder 505 encodes a first input 604a having a first primitive element and its position to generate an encoded first primitive element 614a. Similarly, the encoder 505 encodes the remaining inputs to generate encoded sets of primitive elements 614a to 614n.

[0086] The aggregator 515 of the target representation model 525 aggregates the encoded primitive sets 614a to 614n to generate an encoded aggregate 624 (also referred to as the "trained encoded aggregate"). The encoded aggregate 624 represents the target pattern 602.

[0087] The training encoded aggregate 624 is input to the decoder 605 of the target representation model 525, which decodes the training encoded aggregate 624 into a reconstructed target pattern 652. This reconstructed target pattern 652 can be compared with the target pattern 602 to calculate a cost function indicating the difference between the two target patterns. For example, the cost function can be expressed as:

[0088] ...Equation (3)

[0089] Where h(⋅) is a data fidelity measure across all training samples s, for example, mean squared error (MSE); T is the target pattern; and d(⋅) is the decoding function.

[0090] The parameters of the target representation model 525 (e.g., weights or biases of any of the components (encoder 505, aggregator 515, or decoder 605) are adjusted to reduce the cost function, and the target representation model 525 is run / trained again using a training dataset (e.g., the same target pattern and the same set of primitives, or other target patterns and their corresponding sets of primitives). The training process can be an iterative process, wherein each iteration includes: (i) running the target representation model 525 with inputs (a) a set of primitives representing the target pattern and (b) the target pattern as a baseline reality; (ii) generating an encoded aggregator representing the target pattern; (iii) decoding the encoded aggregator to recover the reconstructed target pattern; (iv) calculating the cost function; and (v) adjusting the parameters of the target representation model 525 to reduce the cost function. Iteration can continue until specified training conditions are met. For example, the training process can continue for a specified number of iterations. In another example, the training process can continue until the cost function is reduced (e.g., minimized), i.e., the difference between the reconstructed target pattern (e.g., reconstructed target pattern 652) and the baseline real target pattern (e.g., target pattern 602). Once the training conditions are met, the target representation model 525 is considered trained, and this target representation model 525 can be deployed to generate encoded aggregates for any new target pattern (e.g., a target pattern that has not been seen, or a target pattern for which neither the target representation model 525 has been trained nor run to generate encoded aggregates), as described above. Figure 5 As shown.

[0091] The encoder 505 and decoder 605 used in the target representation model 525 can be implemented using any deep learning technique. Typically, an encoder is a neural network architecture used for tasks such as dimensionality reduction, feature extraction, and data compression. The primary function of an encoder is to map input data (e.g., a high-dimensional input such as an image of primitive elements) to a low-dimensional representation called the encoding space (e.g., a set of encoded primitive elements). A decoder is a neural network architecture typically used in conjunction with an encoder to map the encoding space (e.g., aggregated encoded primitive elements) back to the original data space (e.g., a reconstructed image of primitive elements). In some embodiments, the reasoning problem can be significantly simplified by first compressing the input data compared to performing regression directly on the high-dimensional input. This encoder-decoder model can be implemented using any of a variety of deep learning techniques (e.g., autoencoders).

[0092] Figure 7The illustration shows training data generation for training a target representation model, consistent with several embodiments. To aid in the training of the target representation model 525, several benchmark real-world target patterns can be synthetically generated in a fast and efficient manner. In some embodiments, a set of primitive elements representing a given target pattern (e.g., as at least referenced) can be identified. Figure 5 (As described). Given a set of primitive elements, this set can be used to generate several random target patterns. For example, given the set of primitive elements 405, several additional target patterns, such as a first target pattern 706 and a second target pattern 708, can be generated in a random manner (e.g., by randomly placing different primitive elements at different locations). Although target patterns can be generated in a random manner, target pattern generation may still have to adhere to or follow photolithography process design rules specified for generating the design layout to be printed on the substrate. This random generation of target patterns helps to quickly and efficiently generate training data for training the target representation model 525.

[0093] Figure 8 The illustration illustrates training a mask prediction model to generate a mask pattern using encoded aggregates of a target pattern, consistent with several embodiments. The training dataset used to train the mask prediction model 550 may include: (a) a plurality of encoded aggregates, each representing a target pattern and trained using a target representation model 525 (e.g., as at least referenced). Figure 5 (a) as described above; and (b) a plurality of mask patterns corresponding to the target pattern as a baseline reality. For example, the training dataset may include (a) an encoded aggregate 824 representing the target pattern 804, and (b) a mask pattern 806 corresponding to the target pattern 804 as a baseline reality. A trained target representation model 525 may be used (e.g., using a set of primitive elements corresponding to the target pattern 804, such as at least referencing...). Figure 5 The described method generates the encoded aggregate 824. The baseline real-world mask pattern 806 can be generated using any of a variety of known methods (e.g., the CTM process).

[0094] The encoded aggregate 824 is input into a mask prediction model 550, which generates a predicted mask pattern 826. The predicted mask pattern 826 is compared with a baseline real mask pattern 806 to calculate a cost function that indicates the difference between the predicted mask pattern 826 and the baseline real mask pattern 806. For example, the cost function can be expressed as:

[0095] ...Equation (3)

[0096] Where h(⋅) is a data fidelity measure across all training samples s, such as MSE; M is the mask pattern; and p(⋅) is the mask prediction model.

[0097] The parameters of the mask prediction model 550 (e.g., weights or biases) can be adjusted to reduce the cost function, and the mask prediction model 550 can be run / trained again using the training dataset (e.g., the same encoded aggregate 824 and the same baseline real mask pattern 806, or other encoded aggregates corresponding to other target patterns and mask patterns corresponding to other target patterns). The training process can be an iterative process, wherein each iteration includes: (i) running the mask prediction model 550 with inputs (a) an encoded aggregate representing the target pattern and (b) a mask pattern corresponding to the target pattern as a baseline real; (ii) generating the predicted mask pattern; (iii) calculating the cost function; and (iv) adjusting the parameters of the target representation model 525 to reduce the cost function. Iteration can continue until specified training conditions are met. For example, the training process can continue for a specified number of iterations. In another example, the training process can continue until the cost function is reduced (e.g., minimized), i.e., the difference between the predicted mask pattern (e.g., predicted mask pattern 826) and the baseline real mask pattern (e.g., baseline real mask pattern 806). Once the training conditions are met, the mask prediction model 550 is considered trained, and this mask prediction model 550 can be deployed to generate or predict mask patterns for any new target pattern (e.g., a target pattern that has not been seen, or a target pattern of an encoded aggregate that has neither been trained nor run on the mask prediction model 550), as described above. Figure 5 As shown.

[0098] In some embodiments, a representative target pattern can be used to train the mask prediction model 550, and this representative target pattern can be selected based on the corresponding encoding aggregate generated by the target representation model 525. For example, a target pattern can be selected as the representative pattern from a plurality of target patterns based on a distance metric (e.g., the distance between aggregated encoding sets of the target pattern in the encoding space). For example, a first target pattern corresponding to a first encoding aggregate whose distance from other encoding aggregates is higher than a specified threshold can be selected as the representative pattern, and the first encoding aggregate, together with the first mask pattern corresponding to the first target pattern, can be used to train the mask prediction model 550.

[0099] Figure 9The illustration shows the generation of training data for training a mask prediction model, consistent with several embodiments. To aid in training the mask prediction model 550, several baseline real-world mask patterns can be generated in a fast and efficient manner. New target pattern-mask pattern baseline real-world pairs can be generated by performing local modifications on a given target pattern-mask pattern pair. In some embodiments, new target pattern-mask pattern baseline real-world pairs can be generated by perturbing one or more primitive elements of a given target pattern (e.g., changing the position of the primitive elements) and updating the corresponding mask pattern at the position corresponding to one or more primitive elements (e.g., instead of generating entirely new mask patterns, which is a computationally intensive process), thereby reducing the amount of time and computational resources required to generate mask patterns. For example, given a target pattern 804-mask pattern 806 pair, a new target pattern 914 can be generated by perturbing the primitive elements from target pattern 804 (e.g., changing the position of the primitive elements from a first position 908 to a second position 918). The mask pattern 806 can be locally updated in a region 912 corresponding to the location 918 of the perturbed primitive element (e.g., using known methods) to obtain an updated mask pattern 916 corresponding to the new target pattern 914. In some embodiments, since the location of the perturbation is known, the mask pattern update method can be restricted or configured to locally update the mask pattern (e.g., in the region corresponding to the location of the perturbed primitive element). Therefore, generating a new mask pattern by performing a local update on an existing mask pattern significantly reduces the amount of time and computational resources that would otherwise be required to generate entirely new mask patterns (e.g., using a CTM process). In some embodiments, after generating a new target pattern-mask pattern pair, it is possible (e.g., using at least a reference) to update the mask pattern 916. Figure 5 The described trained target representation model 525 generates an encoded aggregate for the new target pattern, which can then be used together with the new mask pattern as training data for training the mask prediction model 550. Several new target pattern-mask pattern pairs can be generated by perturbing one or more of the primitives of the target pattern, and the encoded aggregate generated for the new target pattern (e.g., using the trained target representation model 525) can then be used together with the new mask pattern as training data for training the mask prediction model 550.

[0100] In some embodiments, the aforementioned element-based prediction of the mask pattern provides various flexibility in the training of the target representation model 525 and the mask prediction model 550. The target representation model 525 and the mask prediction model 550 can be trained in a variety of ways. For example, both models can be trained using regions selected from a given design layout. In another example, regions from a given design layout and a synthetically generated target pattern (e.g., at least referenced) can be used. Figure 7 The target representation model 525 can be trained using only the region selected from the given design layout and the associated baseline reality mask pattern, while the mask prediction model 550 can be trained using only the region selected from the given design layout and the associated baseline reality mask pattern. In yet another example, both models can be trained using the region from the given design layout and the synthesized target pattern. Another benefit of the above-described primitive-based prediction of the mask pattern is that the target representation model and the mask prediction model can be trained simultaneously (or sequentially), which provides the benefit of generating the baseline reality mask pattern in parallel with the training of the target representation model, thereby saving the time consumed in training the models. Furthermore, a portion of the training of the prediction model (e.g., the training of the target representation model 525) does not even require the mask pattern; that is, training of the target representation model 525 can be performed without the need for the mask pattern.

[0101] Figure 10 This is a flowchart consistent with several embodiments for a method of generating a mask pattern using a set of primitive elements representing a target pattern. (Refer to at least the above...) Figure 5 describe Figure 10 The method.

[0102] At process P1002, a set of primitive elements for the target pattern is obtained. For example, a set of primitive elements 502 for the target pattern 501 is obtained. In some embodiments, a design layout may be represented as a set of primitive elements, wherein each primitive element may be considered as a building block or basic component representing a part of the design layout. In some embodiments, each target pattern in the design layout may consist of a selected subset of the set of primitive elements in a certain arrangement. Primitive elements may be features, parts of features, or combinations of features appearing in many target patterns. The set of primitive elements 502 can be identified from the set of primitive elements of the design layout to which the target pattern 501 is a part (e.g., as at least referred to above). Figure 5 (as described).

[0103] At process P1004, a set of primitive elements representing the target pattern is encoded in the feature vector space to generate an encoded set of primitive elements. In some embodiments, the encoding process may encode the set of primitive elements along with their positions in the target pattern. For example, a set of primitive elements 502 along with their positions in the target pattern 501 is provided to the encoding process as input sets 504a to 504n, which encodes the input sets 504a to 504n to generate corresponding encoded sets of primitive elements 512a to 512n. In some embodiments, the encoding process reduces the input dimension and compresses the input data into an encoded representation (e.g., from a high dimension to a low dimension). In some embodiments, the encoding process may be performed using a predictive model (such as encoder 505 of target representation model 525), as at least referring to Figure 5 As described.

[0104] At process P1006, the encoded primitive element sets are aggregated to generate an encoded aggregate. For example, the encoded primitive element sets 512a to 512n are aggregated in the feature vector space to generate an encoded aggregate 522. The encoded aggregate 522, as an aggregate of the encoded primitive element sets 512a to 512n, represents the target pattern 501. The aggregation process can be performed in various ways (e.g., using known methods). In some embodiments, the aggregation process is performed by an aggregator 515 of the target representation model 525, as at least with reference to Figure 5 As described. In some embodiments, the target representation model 525 is trained to generate an encoded aggregate of primitive elements representing a target pattern, as at least referring to Figure 6 As described.

[0105] At process P1008, a mask image having a mask pattern corresponding to a target pattern is generated based on the encoded aggregate. For example, the encoded aggregate 522 is input to a mask prediction model 550, which generates a mask pattern 532. In some embodiments, the mask prediction model 550 is trained to generate a mask pattern for a given target pattern from the encoded aggregate of the given target pattern, as at least referred to above. Figure 8 As described.

[0106] In some embodiments, this primitive-element-based prediction of mask patterns offers various benefits. For example, a mask prediction model 550 may be significantly less complex than a conventional prediction model because the input (e.g., an encoded aggregate) is in a low-dimensional encoding domain. As another example, at least a portion of the training of the prediction model (e.g., training of the target representation model) can be performed without requiring a mask pattern baseline reality. As yet another example, the method allows for the generation of a fast-computing synthetic baseline reality (e.g., at least referencing) by performing a local perturbation in the target pattern and updating the mask pattern at the corresponding location of the perturbation. Figure 7 and Figure 9 The described target pattern and corresponding mask pattern are used to generate a more consistent baseline real-world mask pattern.

[0107] As another example of the benefit, the above methods can be used to determine or quantify pattern coverage or the selection of a prediction model. In some embodiments, the prediction accuracy of the mask prediction model 550 can be determined based on pattern coverage. Pattern coverage can be determined in a variety of ways. For example, pattern coverage indicates whether the set of primitives used in training the target representation model 525 can be used to represent the input target pattern that must be predicted using the mask prediction model 550. If the input target pattern can be represented using the set of primitives used in training the target representation model 525, the prediction accuracy can be considered to be higher than a specified accuracy threshold. That is, if the primitives used to represent the input target pattern are part of the set of primitives used to train the target representation model 525, the prediction accuracy can be considered to be higher than a specified accuracy threshold. As another example, pattern coverage can indicate the difference between the input target pattern and the reconstructed input target pattern generated by the decoder 605 of the target representation model 525. The prediction accuracy can be considered to be higher than a specified accuracy threshold based on the difference between the two target patterns being lower than a specified threshold. As another example, pattern coverage can indicate the probability that the encoded aggregate generated by the target representation model 525 for an input target pattern belongs to a distribution of several encoded aggregates (e.g., in the feature vector space) used in the training mask prediction model 550. In some embodiments, the probability that the encoded aggregate belongs to a distribution of several encoded aggregates used in the training mask prediction model 550 can be determined in a variety of ways. For example, a similarity metric can be used to determine the probability, based on the distance between the encoded aggregate and one or more encoded aggregates (e.g., in the feature vector space) used in the training mask prediction model 550. A prediction accuracy higher than a specified accuracy threshold can be considered to be higher than a specified accuracy threshold based on a similarity metric. Therefore, prediction accuracy helps quantify the pattern coverage of the prediction model.

[0108] Figure 11 This is a block diagram illustrating a computer system 100 that can assist in implementing the various methods and systems disclosed herein. Computer system 100 can be used to implement any entity, component, module, or service depicted in the examples in the accompanying drawings (and any other entity, component, module, or service described in this specification). Computer system 100 can be programmed to execute computer program instructions to perform the functions, methods, processes, or services described herein (e.g., any of the entities, components, or modules). Computer system 100 can be programmed to execute computer program instructions via at least one of software, hardware, or firmware.

[0109] Computer system 100 includes a bus 102 or other communication mechanism for transmitting information, and a processor 104 (or multiple processors 104 and 105) coupled to the bus 102 for processing information. Computer system 100 also includes main memory 106, such as random access memory (RAM) or other dynamic storage device, coupled to the bus 102 for storing information and instructions to be executed by the processor 104. Main memory 106 may also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by the processor 104. Computer system 100 also includes read-only memory (ROM) 108 or other static storage device coupled to the bus 102 for storing static information and instructions for the processor 104. Storage device 110 (such as a magnetic disk or optical disk) is provided and coupled to the bus 102 for storing information and instructions.

[0110] Computer system 100 can be coupled via bus 102 to a display 112, such as a cathode ray tube (CRT), flat panel display, or touch panel display, for displaying information to a computer user. Input device 114, including alphanumeric keys and other keys, is coupled to bus 102 for transmitting information and command selections to processor 104. Another type of user input device is a cursor controller 116, such as a mouse, trackball, or cursor direction keys, for transmitting directional information and command selections to processor 104 and for controlling cursor movement on display 112. Such input devices typically have two degrees of freedom on two axes (a first axis, e.g., x, and a second axis, e.g., y), which allow the device to specify a position in a plane. Touch panel (screen) displays can also be used as input devices.

[0111] According to one embodiment, portions of one or more methods described herein can be executed by computer system 100 in response to processor 104 executing one or more sequences of one or more instructions included in main memory 106. Such instructions can be read into main memory 106 from another computer-readable medium, such as storage device 110. Execution of the instruction sequence included in main memory 106 causes processor 104 to perform the process steps described herein. One or more processors in a multiprocessor arrangement can also be employed to execute the instruction sequence included in main memory 106. In alternative embodiments, hardwired circuitry can be used instead of or in combination with software instructions. Therefore, the description herein is not limited to any particular combination of hardware circuitry and software.

[0112] As used herein, the term "computer-readable medium" refers to any medium that participates in providing instructions to processor 104 for execution. Such media can take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical discs or magnetic disks, such as storage device 110. Volatile media include dynamic memory, such as main memory 106. Transmission media include coaxial cables, copper wires, and optical fibers, including lines containing bus 102. Transmission media can also take the form of sound waves 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, floppy disks, flexible disks, hard disks, magnetic tape, any other magnetic media, CD-ROMs, DVDs, any other optical media, punched cards, paper tape, any other physical media with a perforated pattern, RAM, PROMs and EPROMs, FLASH-EPROMs, any other memory chips or cartridges, carrier waves as described below, or any other media that can be read by a computer.

[0113] Various forms of computer-readable media may be involved in carrying one or more sequences of instructions to processor 104 for execution. For example, initially, the instructions may be carried on the disk of a remote computer. The remote computer may load the instructions into its dynamic memory and transmit the instructions via a telephone line using a modem. A modem local to computer system 100 may receive data over the telephone line and use an infrared transmitter to convert the data into an infrared signal. An infrared detector coupled to bus 102 may 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 instructions. Instructions received by main memory 106 may optionally be stored on storage device 110 before or after execution by processor 104.

[0114] Computer system 100 also preferably includes a communication interface 118 coupled to bus 102. Communication interface 118 provides bidirectional data communication coupling to network link 120, which is connected to local area network 122. For example, communication interface 118 may be an Integrated Services Digital Network (ISDN) card or modem to provide data communication connectivity with a corresponding type of telephone line. As another example, communication interface 118 may be a local area network (LAN) card to provide data communication connectivity with a compatible LAN. A wireless link may also be implemented. In any such implementation, communication interface 118 transmits and receives electrical, electromagnetic, or optical signals carrying digital data streams representing various types of information.

[0115] Network link 120 typically provides data communication with other data devices via one or more networks. For example, network link 120 may provide connectivity to host computer 124 or data equipment operated by Internet Service Provider (ISP) 126 via local area network 122. ISP 126 then provides data communication services via a global packet data communication network (now commonly referred to as the "Internet" 128). Both local area network 122 and Internet 128 use electrical, electromagnetic, or optical signals that carry digital data streams. Signals through various networks and signals on network link 120 and through communication interface 118 are exemplary forms of carrier waves for transmitting information, carrying digital data to and from computer system 100.

[0116] Computer system 100 can send messages and receive data including program code via networks(s), network link 120, and communication interface 118. In an Internet example, server 130 can transmit requested code for an application via Internet 128, ISP 126, local area network 122, and communication interface 118. For example, such a downloaded application can provide illumination optimizations for an embodiment. The received code can be executed by processor 104 upon receipt and / or stored in storage device 110 or other non-volatile memory for later execution. In this way, computer system 100 can obtain application code in carrier form.

[0117] While the concepts disclosed herein can be used for imaging on substrates such as silicon wafers, it should be understood that the disclosed concepts can be used with any type of lithography imaging system, such as a lithography imaging system for imaging on substrates other than silicon wafers.

[0118] As used herein, the terms “optimized” and “optimization” refer to or indicate adjustments to patterning apparatus (e.g., photolithography equipment), patterning processes, etc., such that the results and / or processes have more desired characteristics, such as higher accuracy of the projection of the designed pattern onto the substrate, a larger process window, etc. Therefore, as used herein, the terms “optimized” and “optimization” refer to or indicate a process for identifying one or more values ​​of one or more parameters that provide an improvement (e.g., local optimum) on at least one relevant metric compared to an initial setting of one or more parameters. “Optimal” and other related terms should be interpreted accordingly. In embodiments, optimization steps may be applied iteratively to provide further improvements on one or more metrics.

[0119] Embodiments of this disclosure can be further described in the following ways.

[0120] 1. A method for generating a mask pattern, the method comprising:

[0121] Obtain the set of basic elements for the target pattern;

[0122] The set of primitive elements is encoded in the encoding space to generate an encoded set of primitive elements;

[0123] Aggregating the encoded set of primitive elements in the encoded space to generate an encoded aggregate representing the target pattern; and

[0124] A mask image is generated based on the encoded aggregate, wherein the mask image represents a mask pattern for the target pattern.

[0125] 2. The method according to aspect 1, wherein generating the mask image comprises:

[0126] Run a mask prediction model configured to generate the mask image based on the encoded aggregate.

[0127] 3. The method according to aspect 1, wherein aggregating the set of basic elements comprises:

[0128] The process is configured to generate a target representation model of the encoded aggregate based on the set of primitive elements, wherein the process includes:

[0129] The encoder of the target representation model generates the encoded primitive element set based on the primitive element set, and

[0130] The aggregator of the target representation model generates the encoded aggregate based on the encoded set of primitive elements.

[0131] 4. The method according to aspect 1 further includes:

[0132] A target representation model comprising an encoder and a decoder is trained using a training set of primitive elements representing a training target pattern, wherein the encoder is configured to encode the training set of primitive elements to generate an encoded training set of primitive elements, and the decoder is configured to decode the encoded training set of primitive elements to generate a decoded target pattern, wherein the target representation model is trained by comparing the decoded target pattern with the training target pattern.

[0133] 5. The method according to aspect 4, wherein training the target representation model includes:

[0134] The training set of the encoded primitive elements is aggregated to generate a training-encoded aggregate, and

[0135] Decode the training encoded aggregate to generate the decoded target pattern.

[0136] 6. The method according to aspect 4, wherein training the target representation model comprises:

[0137] Multiple training target patterns are generated using the training set of the aforementioned primitive elements.

[0138] 7. The method according to aspect 6, wherein generating the plurality of training target patterns includes:

[0139] A training set of primitive elements is derived from a training design layout generated based on a specified set of design rules, wherein the set of design rules indicates geometric properties associated with features of the training design layout.

[0140] 8. The method according to aspect 4, wherein the target representation model and the mask prediction model configured to generate the mask image are trained simultaneously.

[0141] 9. The method according to aspect 1, wherein obtaining the set of basic elements comprises:

[0142] Decomposing a design layout to obtain a set of basic elements, wherein the decomposition includes: identifying features, portions of features, or combinations of features appearing in a plurality of target patterns of the design layout as basic elements in the set of basic elements, and wherein each target pattern in the target patterns consists of one or more selected basic elements in the set of basic elements arranged in a specified configuration.

[0143] Identify the set of primitive elements from the set of primitive elements that represents the target pattern.

[0144] 10. The method according to aspect 9, wherein the set of primitive elements includes parameterized primitive elements, wherein the parameterized primitive elements are associated with parameters describing attributes of the feature, and the parameters have different values ​​for different occurrence instances of the feature.

[0145] 11. The method according to aspect 1, wherein the encoded set of primitive elements indicates the position of the set of primitive elements in the target pattern.

[0146] 12. The method according to aspect 1, wherein each element in the set of element elements is represented as an image.

[0147] 13. The method according to aspect 12, wherein encoding the set of basic elements comprises:

[0148] Derive the position of the primitive element in the target pattern from the image, and

[0149] The basic element is encoded together with the location.

[0150] 14. The method according to aspect 1, wherein each element in the set of element elements is represented as a coordinate set defining the corresponding element element.

[0151] 15. The method according to aspect 14, wherein encoding the set of basic elements comprises:

[0152] Derive the position of the primitive element in the target pattern from the coordinate set, and

[0153] The basic element is encoded together with the location.

[0154] 16. The method according to aspect 1, wherein the primitive elements in the primitive element set are represented as a set of attributes defining the primitive element.

[0155] 17. The method according to aspect 16, wherein the primitive element is a circle, and wherein the attribute set includes the radius of the circle and the coordinates of the center of the circle.

[0156] 18. The method according to aspect 16, wherein the primitive element is a curve feature, and wherein the attribute set includes (a) coordinates of the set of points forming the curve feature, and (b) information about the tangent or directional derivative of each point in the set of points.

[0157] 19. The method according to aspect 1, wherein each primitive element in the primitive element set is represented as a set of elements defining the corresponding primitive element, wherein the set of elements includes at least one of vertices, edges, faces, or polygons.

[0158] 20. The method according to aspect 1 further includes:

[0159] A mask prediction model is trained to generate a predicted mask pattern using (a) a training encoding aggregate corresponding to the training target pattern and (b) a training mask pattern corresponding to the training target pattern, wherein the training encoding aggregate is generated by a target representation model, wherein the target representation model is trained to generate the training encoding aggregate using a set of primitive elements corresponding to the training target pattern.

[0160] 21. The method according to aspect 20, wherein training the mask prediction model comprises:

[0161] A first target pattern and a first mask pattern corresponding to the first target pattern are generated, wherein the first target pattern is generated by perturbing a set of primitive elements from the training target pattern, and wherein the first mask pattern is generated based on the perturbed set of primitive elements by updating the training mask pattern in a portion corresponding to the set of primitive elements.

[0162] The mask prediction model is trained using the first mask pattern and a first encoded aggregate generated for the first target pattern.

[0163] 22. The method according to aspect 21, wherein training the mask prediction model comprises:

[0164] Generate multiple target patterns;

[0165] Generate an aggregated encoding set for the target pattern;

[0166] Based on the distance metric between the aggregated encoding sets, a first target pattern is selected from the plurality of target patterns; and

[0167] The mask prediction model is trained using (a) a first encoded aggregate corresponding to the first target pattern and (b) a first mask pattern corresponding to the first target pattern.

[0168] 23. The method according to aspect 1 further includes:

[0169] The pattern coverage of a mask prediction model for predicting a first mask pattern for the first target pattern is determined based on whether the primitives from the training set of primitives used in the training target representation model can represent the first target pattern. The target representation model is trained using the training set of the primitives from the training set of the target pattern to predict a training encoding aggregate for training the target pattern. The mask prediction model is trained to predict a training mask pattern based on the training encoding aggregate.

[0170] 24. The method according to aspect 1 further includes:

[0171] The prediction accuracy of the mask prediction model in predicting a first mask pattern for a first target pattern is determined based on the pattern coverage of the mask prediction model, wherein the mask prediction model is trained using a training set of an encoded aggregate and a training set of a mask pattern to predict the mask pattern of the encoded aggregate for the target pattern, wherein the training set of the encoded aggregate is generated by a target representation model, and the target representation model is trained using a training set of primitive elements of the training set of the target pattern to predict the encoded aggregate for the target pattern.

[0172] 25. The method according to aspect 24, wherein the pattern coverage indicates whether a training set using the primitive elements is able to represent the first target pattern.

[0173] 26. The method according to aspect 25, wherein the pattern coverage indicates that a training set using the primitive elements can represent the first target pattern, and the prediction accuracy is higher than a specified accuracy threshold.

[0174] 27. The method according to aspect 24, wherein the pattern coverage is characterized by using the difference between the first target pattern and a reconstructed first target pattern generated by the decoder of the target representation model using a first encoding aggregate of the first target pattern, wherein the first encoding aggregate is generated by the target representation model based on a first set of primitive elements of the first target pattern.

[0175] 28. The method according to aspect 27, wherein the difference is indicated based on the pattern coverage as being below a specified threshold, and the prediction accuracy is above a specified accuracy threshold.

[0176] 29. The method according to aspect 24, wherein the pattern coverage is characterized by the probability that the first encoded aggregate generated by the target representation model for the first target pattern belongs to the distribution of the training set of the encoded aggregate in the feature vector space.

[0177] 30. The method according to aspect 29, wherein the pattern coverage is characterized by a similarity metric of the first encoding aggregate, and the similarity metric is determined based on the distance in the feature vector space between the first encoding aggregate and one or more encoding aggregates in the training set of the encoding aggregate.

[0178] 31. The method according to aspect 30, wherein the similarity metric is indicated based on the pattern coverage rate as being higher than a specified threshold, and the prediction accuracy is higher than a specified accuracy threshold.

[0179] 32. An apparatus, the apparatus comprising:

[0180] Memory for storing instruction sets; and

[0181] A processor configured to run the instruction set to cause the device to perform the method according to any of the foregoing aspects.

[0182] 33. A non-transitory computer-readable medium having instructions recorded thereon, which, when executed by a computer, perform the method according to any one of the foregoing aspects.

[0183] Various aspects of the present invention can be implemented in any convenient form. For example, embodiments can be implemented by one or more suitable computer programs that can be carried on a suitable carrier medium, which can be a tangible carrier medium (e.g., a disk) or an intangible carrier medium (e.g., a communication signal). Embodiments of the present invention can be implemented using suitable devices, which can specifically take the form of a programmable computer running a computer program arranged to implement the methods described herein. Therefore, embodiments of this disclosure can be implemented in hardware, firmware, software, or any combination of hardware, firmware, and software. Embodiments of this disclosure can also be implemented as instructions stored on a machine-readable medium that can be read and executed by one or more processors. A machine-readable medium can include any mechanism for storing or transmitting information in a machine-readable (e.g., computing device) form. For example, a machine-readable medium can include read-only memory (ROM); random access memory (RAM); disk storage media; optical storage media; flash memory devices; electrical, optical, acoustic, or other forms of propagation signals (e.g., carrier waves, infrared signals, digital signals, etc.). Furthermore, firmware, software, routines, and instructions can be described herein as performing certain actions. However, it should be understood that such descriptions are merely for convenience, and such actions are actually produced by computing devices, processors, controllers, or other devices that execute firmware, software, routines, instructions, etc.

[0184] In the block diagram, the components are depicted as discrete functional blocks, but the embodiments are not limited to systems in which the functions described herein are organized as illustrated. The functionality provided by each component may be provided by software or hardware modules that are organized differently from those currently described; for example, such software or hardware may be mixed, combined, replicated, decomposed, distributed (e.g., within a data center or geographically), or otherwise organized differently. The functions described herein may be provided by one or more processors of one or more computers that execute code stored on a tangible, non-transitory machine-readable medium. In some cases, a third-party content delivery network may host some or all of the information transmitted over the network, in which case, where the information (e.g., content) is referred to as being provided or otherwise provided, the information may be provided by sending an instruction to retrieve the information from the content delivery network.

[0185] Unless otherwise specified, as is obvious from the discussion, it should be understood that throughout this specification, the use of terms such as “processing,” “computational processing,” “computation,” “determining,” etc., refers to the actions or processes of a particular device (such as a dedicated computer or similar dedicated electronic processing / computing device).

[0186] Readers should understand that this application describes several inventions. These inventions are not divided into multiple separate patent applications, but rather have been classified as a single document because their related subject matter contributes to the economy of the application process. However, the individual advantages and aspects of these inventions should not be combined. In some cases, embodiments resolve all the deficiencies pointed out herein; however, it should be understood that the invention is independently useful, and some embodiments solve only a subset of these problems or provide other unmentioned benefits that would be obvious to someone skilled in the art reading this disclosure. Due to cost limitations, some inventions disclosed herein may not currently be claimed and may be claimed in a later application, such as a continuation application, or by amending the present claims. Similarly, due to space limitations, neither the abstract nor the summary portion of this document should be considered a comprehensive list including all such inventions or all aspects of such inventions.

[0187] It should be understood that the specification and drawings are not intended to limit this disclosure to the specific forms disclosed, but rather are intended to cover all modifications, equivalents and alternatives that fall within the spirit and scope of the invention as defined by the appended claims.

[0188] Modifications and alternative embodiments of various aspects of the invention will be apparent to those skilled in the art from this specification. Therefore, this specification and drawings are to be interpreted only as illustrative and intended to teach those skilled in the art the general manner of practicing the invention. It should be understood that the forms of the invention shown and described herein are to be exemplified by embodiments. Elements and materials may be substituted for those shown and described herein, parts and processes may be reversed or omitted, certain features may be used independently, and features of embodiments or embodiments may be combined, all of which will be apparent to those skilled in the art upon benefiting from this description. Changes may be made to the elements described herein without departing from the spirit and scope of the invention as set forth in the following claims. Titles used herein are for organizational purposes only and are not intended to limit the scope of this description.

[0189] As used herein, unless otherwise specified, the term "or" covers all possible combinations except where impractical. For example, if a component is stated to include A or B, then unless otherwise specified or impractical, the component may include A, or B, or A and B. As a second example, if a component is stated to include A, B, or C, then unless otherwise specified or impractical, 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 the entire list below, nor do they necessarily modify each member of the list, such that "at least one of A, B, and C" should be understood to include: only one A; only one B; only one C; or any combination of A, B, and C. The phrase "one of A and B" or "any one of A and B" should be interpreted in the broadest sense as including one A or one B.

[0190] The description herein is intended to be illustrative, not restrictive. Therefore, it will be apparent to those skilled in the art that modifications can be made as described without departing from the scope of the claims set forth below.

Claims

1. A method for generating a mask pattern, the method comprising: Obtain the set of basic elements for the target pattern; The set of primitive elements is encoded in the encoding space to generate an encoded set of primitive elements; The encoded set of primitive elements is aggregated in the encoding space to generate an encoded aggregate representing the target pattern; as well as A mask image is generated based on the encoded aggregate, wherein the mask image represents a mask pattern for the target pattern.

2. The method according to claim 1, wherein, Generating the mask image includes: Run a mask prediction model configured to generate the mask image based on the encoded aggregate.

3. The method according to claim 1, wherein, The aggregated set of basic components includes: The process is configured to generate a target representation model of the encoded aggregate based on the set of primitive elements, wherein the process includes: The encoder of the target representation model generates the encoded primitive element set based on the primitive element set, and The aggregator of the target representation model generates the encoded aggregate based on the encoded set of primitive elements.

4. The method according to claim 1, further comprising: A target representation model, comprising an encoder and a decoder, is trained using a training set of primitive elements representing a training target pattern. The encoder is configured to encode the training set of primitive elements to generate an encoded training set of primitive elements, and the decoder is configured to decode the encoded training set of primitive elements to generate a decoded target pattern. The target representation model is trained by comparing the decoded target pattern with the training target pattern. Training the target representation model includes: The training set of the encoded primitive elements is aggregated to generate a training-encoded aggregate, and Decode the training encoded aggregate to generate the decoded target pattern.

5. The method according to claim 3, wherein, Training the target representation model includes: Multiple training target patterns are generated using the training set of the aforementioned primitive elements. Generating the plurality of training target patterns includes: A training set of primitive elements is derived from a training design layout generated based on a specified set of design rules, wherein the set of design rules indicates geometric properties associated with features of the training design layout.

6. The method according to claim 1, wherein, Obtaining the set of basic components includes: Decomposing a design layout to obtain a set of basic elements, wherein the decomposition includes: identifying features, portions of features, or combinations of features appearing in a plurality of target patterns of the design layout as basic elements in the set of basic elements, and wherein each target pattern in the target patterns consists of one or more selected basic elements in the set of basic elements arranged in a specified configuration. Identify the set of primitive elements used to represent the target pattern from the set of primitive elements.

7. The method according to claim 6, wherein, The set of primitive elements includes parameterized primitive elements, wherein the parameterized primitive elements are associated with parameters describing the attributes of the feature, and the parameters have different values ​​for different occurrence instances of the feature.

8. The method according to claim 1, wherein, The encoded set of primitive elements indicates the position of the set of primitive elements in the target pattern.

9. The method according to claim 1, wherein, Each primitive element in the set of primitive elements is represented as an image. The encoding of the basic element set includes: Derive the position of the primitive element in the target pattern from the image, and The basic element is encoded together with the location.

10. The method according to claim 1, wherein, Each element in the set of elemental elements is represented as a coordinate set that defines the corresponding element. The encoding of the basic element set includes: Derive the position of the primitive element in the target pattern from the coordinate set, and The basic element is encoded together with the location.

11. The method according to claim 1, wherein, The primitive elements in the primitive element set are represented as a set of attributes that define the primitive element. Wherein, the primitive element is a curve feature, and wherein the attribute set includes (a) the coordinates of the set of points forming the curve feature, and (b) information about the tangent or directional derivative of each point in the set of points.

12. The method according to claim 1, wherein, Each primitive element in the primitive element set is represented as a set of elements that defines the corresponding primitive element, wherein the set of elements includes at least one of vertices, edges, faces, or polygons.

13. The method according to claim 1, further comprising: A mask prediction model is trained to generate a predicted mask pattern using (a) a training encoding aggregate corresponding to the training target pattern and (b) a training mask pattern corresponding to the training target pattern, wherein the training encoding aggregate is generated by a target representation model, wherein the target representation model is trained to generate the training encoding aggregate using a set of primitive elements corresponding to the training target pattern.

14. The method according to claim 13, wherein, Training the mask prediction model includes: A first target pattern and a first mask pattern corresponding to the first target pattern are generated, wherein the first target pattern is generated by perturbing a set of primitive elements from the training target pattern, and wherein the first mask pattern is generated based on the perturbed set of primitive elements by updating the training mask pattern in a portion corresponding to the set of primitive elements. The mask prediction model is trained using the first mask pattern and a first encoded aggregate generated for the first target pattern.

15. The method according to claim 13, wherein, Training the mask prediction model includes: Generate multiple target patterns; Generate an aggregated encoding set for the target pattern; Based on the distance metric between the aggregated encoding sets, a first target pattern is selected from the plurality of target patterns; and The mask prediction model is trained using (a) a first encoded aggregate corresponding to the first target pattern and (b) a first mask pattern corresponding to the first target pattern.

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