Semi-supervised model, self-supervised model and reinforcement learning machine learning model for mask prediction
By combining a semi-supervised training machine learning model with a process model, mask pattern generation is optimized, solving the problem of pattern reproduction difficulties in low-k1 lithography, improving the accuracy and efficiency of lithography technology, and enabling efficient manufacturing of smaller features.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- ASML NETHERLANDS BV
- Filing Date
- 2024-08-07
- Publication Date
- 2026-04-17
AI Technical Summary
Existing photolithography techniques struggle to effectively address the difficulties in pattern reproduction during low-k1 photolithography, especially when manufacturing micro-functional components, where it is difficult to reproduce features on the substrate that are smaller than the resolution limit of photolithography projection equipment.
A semi-supervised approach is used to train the machine learning model. By combining unsupervised training data and a process model, the mask pattern generation is optimized by adjusting the loss function. The forward model is used to predict the wafer pattern, and the model is iteratively adjusted to improve the accuracy of the mask pattern.
It improves the ability to reproduce features on substrates smaller than the resolution limit of photolithography projection equipment, enhances the accuracy and efficiency of the photolithography process, and improves the manufacturing quality of micro-functional components.
Smart Images

Figure CN121889723A_ABST
Abstract
Description
Cross-reference to related applications
[0001] This application claims priority to U.S. Application No. 63 / 536,696, filed September 5, 2023, and U.S. Application No. 63 / 625,134, filed January 25, 2024, which are incorporated herein by reference in their entirety. Technical Field
[0002] This disclosure generally relates to lithography process modeling, and to a method for generating mask predictions based on process models using machine learning (ML) models. Background Technology
[0003] Photolithography projection equipment can be used, for example, in the manufacture of integrated circuits (ICs). A patterning apparatus (e.g., a mask) can include or provide a pattern corresponding to a single layer (“design layout”) of the IC, and can transfer the pattern onto a target portion (e.g., a silicon wafer) already coated with a layer of radiation-sensitive material (“resist”) by methods such as irradiating the target portion through the pattern on the patterning apparatus. Typically, a single substrate comprises multiple adjacent target portions, and the photolithography projection equipment continuously transfers the pattern onto the target portions one at a time.
[0004] Before a pattern is transferred from a patterning apparatus to a substrate, the substrate can undergo various processes, such as primer coating, resist coating, and soft baking. After exposure, the substrate can undergo other processes (“post-exposure processes”), such as post-exposure baking (PEB), development, hard baking, and measurement / inspection of the transferred pattern. This series of processes serves as the basis for fabricating individual layers of a device, such as an IC. The substrate can then undergo various processes, such as etching, ion implantation (doping), metallization, oxidation, chemical mechanical polishing, etc., all of which are designed to complete the individual layers of the device. If several layers are required in the device, the entire process or its variations are repeated for each layer. Ultimately, the device will exist in each target portion of the substrate. These devices are then separated from each other using techniques such as dicing or sawing so that individual devices can be mounted on a carrier, connected to pins, etc.
[0005] Therefore, manufacturing devices (such as semiconductor devices) typically involves processing a substrate (e.g., a semiconductor wafer) using multiple manufacturing processes to form various features and multiple layers of the device. These layers and features are typically fabricated and processed using techniques such as deposition, photolithography, etching, chemical mechanical polishing, and ion implantation. Multiple devices can be fabricated on multiple chips on a substrate and then separated into individual devices. This device fabrication process can be viewed as a patterning process. A patterning process involves patterning steps such as optical and / or nanoimprint lithography using a patterning apparatus in a photolithography device to transfer a pattern from the patterning apparatus to the substrate, and typically, but optionally, involves one or more associated patterning processing steps, such as developing with a resist in a developing apparatus, baking the substrate using a baking tool, etching the pattern using an etching apparatus, etc.
[0006] It should be noted that photolithography is a central step in the fabrication of devices such as integrated circuits (ICs), in which patterns formed on a substrate define the functional elements of the device, such as microprocessors and memory chips. Similar photolithography techniques are also used to form flat panel displays, microelectromechanical systems (MEMS), and other devices.
[0007] As semiconductor manufacturing processes continue to advance, the size of functional components continues to shrink, while the number of functional components (such as transistors) in each device has steadily increased for decades, following a trend commonly known as "Moore's Law." In the current state of technology, photolithography projection devices are used to fabricate the layers of devices. These devices project a design layout onto a substrate using irradiation from a deep ultraviolet light source, resulting in individual functional components with dimensions well below 100 nm (i.e., less than half the wavelength of radiation from the irradiation source, such as a 193 nm source).
[0008] The process of printing features with dimensions smaller than the classical resolution limit of photolithography projection equipment is often referred to as low-k1 lithography, according to the resolution formula CD = k1 × λ / NA, where λ is the wavelength of the radiation used (currently, in most cases 248 nm or 193 nm), NA is the numerical aperture of the projection optics in the photolithography projection equipment, CD is the "critical size" (typically the smallest feature size to be printed), and k1 is an empirical resolution factor. Generally, the smaller k1 is, the more difficult it becomes to reproduce patterns on a substrate that resemble the shape and size planned by the circuit designer to achieve specific electrical functions and performance. To overcome these difficulties, complex fine-tuning steps can be applied to the photolithography projection equipment, design layout, or patterning apparatus. These steps include, but are not limited to: optimization of NA and optical coherence settings, self-limiting illumination schemes, use of phase-shifting patterning apparatus, optical proximity correction (OPC, sometimes also called "optical and process correction") in the design layout, or other methods generally defined as "resolution enhancement techniques" (RET). Summary of the Invention
[0009] Embodiments of this disclosure provide a method for semi-supervised training of a machine learning model to output predicted mask patterns based on input patterns. Embodiments provide a method for training that utilizes a process model consistent with unsupervised training data to determine a loss function or cost function model adjustment. Embodiments provide an iterative training method. Embodiments provide an asynchronous training method. Embodiments provide a training method based on process model optimization, including generating supervised training data through process model optimization.
[0010] According to an embodiment, a method for training a machine learning (ML) model for mask pattern generation is provided. The computer-implemented method includes: obtaining the ML model, the ML model being configured to generate an output mask pattern based on an input pattern; and training the ML model by: applying the ML model to a training input pattern to generate a predicted mask pattern; applying a forward model to the predicted mask pattern to generate a predicted wafer pattern, the forward model being configured to predict an output pattern based on the input mask pattern; determining a difference between the training input pattern and the predicted wafer pattern; and adjusting the ML model based on the difference between the training input pattern and the predicted wafer pattern.
[0011] In an embodiment, applying an ML model to a training input pattern to generate a predicted mask pattern includes: applying an ML model to multiple training input patterns to generate multiple predicted mask patterns; applying a forward model to the predicted mask patterns to generate a predicted wafer pattern includes: applying a forward model to multiple predicted mask patterns to generate multiple predicted wafer patterns; determining the difference between the training input pattern and the predicted wafer pattern includes determining the difference between the multiple training input patterns and the multiple predicted wafer patterns; and adjusting the ML model based on the difference includes: adjusting the ML model based on the difference between the multiple training input patterns and the multiple predicted wafer patterns.
[0012] According to an embodiment, a method for training an ML model is provided, the ML model being configured to generate mask patterns based on input target patterns. The method includes: acquiring an ML model; and training the ML model based on a first training dataset and a second training dataset, the first training dataset including a first set of target patterns and corresponding determined mask patterns, and the second training dataset including a second set of target patterns, wherein the training includes: applying the ML model to the first set of target patterns to generate a first set of predicted mask patterns; determining a relationship between the first set of predicted mask patterns and the corresponding determined mask patterns; applying the ML model to one or more of the second set of target patterns to generate one or more predicted mask patterns; applying a forward model to the one or more predicted mask patterns to generate one or more predicted target patterns; determining a relationship between one or more of the second set of target patterns and the one or more predicted target patterns; and determining parameters of the ML model based on (i) the relationship between the first set of predicted mask patterns and the corresponding determined mask patterns, and (ii) the relationship between one or more of the second set of target patterns and the one or more predicted target patterns.
[0013] According to an embodiment, a method for training a machine learning (ML) model for mask pattern prediction is provided, the method comprising: obtaining an ML model configured to generate an output pattern based on an input pattern; and training the ML by: applying the ML model to one or more target patterns to generate one or more output patterns, wherein the one or more output patterns include a mask pattern; applying a physical model to the one or more output mask patterns to generate one or more intermediate target patterns, the physical model being configured to generate the output target patterns based on the input mask patterns; determining differences between the one or more intermediate target patterns and the one or more target patterns; and adjusting the ML model based on the differences between the one or more intermediate target patterns and the one or more target patterns.
[0014] According to an embodiment, a method for training a machine learning (ML) model for mask pattern prediction is provided, the method comprising: obtaining an initially trained ML model, the initially trained ML model being trained to generate one or more mask patterns as outputs based on inputs of one or more target patterns; generating a subsequent training dataset for the ML model, including: selecting a set of subsequent training target patterns; generating subsequent mask patterns for the subsequent training target patterns using the ML model; refining the subsequent mask patterns based on a physical model and the subsequent training target patterns; and training the ML model based on the subsequent training dataset, wherein the subsequent training dataset includes the set of subsequent training target patterns and the refined subsequent mask patterns.
[0015] According to another embodiment, one or more non-transitory machine-readable media are provided, the non-transitory machine-readable media having instructions thereon that, when executed by a processor, are configured to perform a method according to any other embodiment.
[0016] According to another embodiment, one or more systems are provided, the systems including a processor and one or more non-transitory machine-readable media having instructions thereon, the instructions being configured, when executed by the processor, to perform a method according to any other embodiment.
[0017] According to another embodiment, one or more non-transitory machine-readable media are provided, the non-transitory machine-readable media having instructions thereon, the instructions being configured, when executed by a processor, to perform operations on a machine learning model trained by a method according to any other embodiment.
[0018] According to another embodiment, one or more systems are provided, the systems including a processor and one or more non-transitory machine-readable media having instructions thereon, the instructions being configured, when executed by the processor, to operate a machine learning model trained by a method according to any other embodiment. Attached Figure Description
[0019] The accompanying drawings, which are included in and form part of this specification, illustrate one or more embodiments and explain these embodiments together with the specification. Embodiments of the invention will now be described by way of example only with reference to the accompanying drawings, wherein corresponding reference numerals denote corresponding parts, and wherein:
[0020] Figure 1 A block diagram of various subsystems of a photolithography projection apparatus according to an embodiment is shown.
[0021] Figure 2An exemplary flowchart for simulating lithography in a lithography projection apparatus according to an embodiment is shown.
[0022] Figure 3 A schematic representation of a mask pattern prediction model trained using semi-supervised training according to an embodiment is depicted.
[0023] Figure 4 A schematic representation of the relationship between a target wafer pattern and corresponding mask patterns selected for supervised and unsupervised training of a mask pattern prediction model, according to an embodiment, is provided.
[0024] Figures 5A-5D A graph depicting example relationships between the cost function and hyperparameters for semi-supervised training of a mask pattern prediction model, according to an embodiment.
[0025] Figure 6 A schematic representation of a semi-supervised training of a mask pattern prediction model using a process model over multiple iterations, according to an embodiment, is depicted.
[0026] Figure 7 This is a flowchart illustrating a method for training a machine learning model to output a mask pattern based on an input target wafer, according to an embodiment.
[0027] Figure 8 This is a block diagram of an example computer system according to embodiments of the present disclosure.
[0028] Figure 9 A schematic representation of the training of a generative model for mask pattern prediction according to an embodiment is depicted.
[0029] Figure 10 This is a schematic representation of a mask pattern prediction model trained using reinforcement learning, according to an embodiment. Detailed Implementation
[0030] Embodiments of this disclosure are described in detail with reference to the accompanying drawings, which are provided as illustrative examples to enable those skilled in the art to practice this disclosure. It is important to note that the following drawings and examples are not intended to limit the scope of this disclosure to a single embodiment, but rather other embodiments are possible by interchangeing some or all of the elements described or illustrated. Furthermore, where certain elements of this disclosure may be implemented partially or entirely using known components, only portions of these known components necessary for understanding this disclosure will be described, and detailed descriptions of other portions of these known components will be omitted so as not to obscure the disclosure. Embodiments described as being implemented in software are not intended to be limited thereto, but may include embodiments implemented in hardware, or embodiments implemented in a combination of software and hardware, and vice versa, as will be apparent to those skilled in the art, unless otherwise specified herein. Embodiments shown as single components in this specification should not be considered limiting; rather, this disclosure is intended to cover other embodiments including a plurality of identical components, and vice versa, unless expressly stated herein. Furthermore, the applicant does not intend to assign any terminology in the specification or claims an unusual or particular meaning unless expressly stated so. Furthermore, this disclosure covers current and future known equivalents of known components referenced herein by way of illustration.
[0031] While references to the manufacture of ICs may be made herein, it should be clearly understood that the description herein has many other possible applications. For example, other possible applications include the manufacture of integrated optical systems, guide and detection patterns for magnetic domain memories, liquid crystal displays, 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 "wafer" or "die" herein should be considered interchangeable with the more general terms "substrate" and "target portion," respectively.
[0032] 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 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 referred to as “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 two vias. Therefore, CDs regulate 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).
[0033] As used herein, the terms “mask,” “mask pattern,” or “pattern forming apparatus” can be broadly interpreted to refer to a general pattern forming apparatus or a pattern used with or for a general pattern forming apparatus 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. Examples of such pattern forming apparatuses, in addition to classical masks (transmissive or reflective masks; binary masks, phase-shifting masks, hybrid masks, etc.), include programmable mirror arrays. An example of such an apparatus is a matrix-addressable surface with a viscoelastic control layer and a reflective surface. The basic principle behind this device is that, for example, addressed regions of the reflective surface reflect incident radiation as diffracted radiation, while unaddressed regions reflect incident radiation as non-diffracted radiation. By using a suitable filter, the non-diffracted 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 pattern forming 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.
[0034] Figure 1 The illustration shows block diagrams of various subsystems of a photolithography projection apparatus 10A according to embodiments of the present disclosure. 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 or σ) 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.
[0035] The pupil 20A may include a transmissive optics 16Ac. In some embodiments, one or more pupils may be present before and / or after the mask 18A. As described in further 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 n sin(Θ). max ), where n is the refractive index of the medium between the substrate and the final element of the projection optics, and Θ maxIt is the maximum angle at which the beam emitted from the projection optics can still be incident on the substrate plane 22A.
[0036] In a photolithography projection apparatus, a source provides illumination (i.e., radiation) to a patterning apparatus, and projection optics shape and direct the illumination light onto a substrate via the patterning apparatus. This is not to deny 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, examples of which can be found in U.S. Patent Application Publication No. 2009-0157630, the disclosure of which is incorporated herein by reference in its entirety. The resist model relates to the properties of the resist layer (e.g., the effects of chemical processes occurring during exposure, post-exposure baking (PEB), and development). The optical properties of the photolithography projection apparatus (e.g., the properties of the illumination, the patterning apparatus, and the projection optics) determine the spatial image and can be defined in the optical model. Because 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 the optical properties of the rest of the photolithography projection apparatus, which includes at least source and projection optics. Details of techniques and models for converting design layouts into various photolithographic images (e.g., spatial images, resist images, etc.), the application of OPC using these techniques and models, and the evaluation of 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.
[0037] 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).
[0038] 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 where 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, a CTM can be a pixelated grayscale image where 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 ranges).
[0039] 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 increasingly shorter wavelengths of radiation 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.
[0040] Figure 2An exemplary flowchart for simulating photolithography in a photolithography projection apparatus according to embodiments of the present disclosure is illustrated. Source model 31 represents the optical characteristics of a source (including radiation intensity distribution and / or phase distribution). Projection optics model 32 represents the optical characteristics of a projection optics (including variations in radiation intensity distribution and / or phase distribution caused by the projection optics). Design layout model 35 represents the optical characteristics of a design layout (including variations in radiation intensity distribution and / or phase distribution caused by the design layout 33), which represents the arrangement of features on or formed by a pattern forming apparatus. A spatial image 36 can be simulated based on design layout model 35, projection optics model 32, and design layout model 35. A resist image 38 can be simulated based on the spatial image 36 using resist model 37. For example, the simulation of photolithography can predict the contours and / or CDs in the resist image.
[0041] More specifically, source model 31 may represent the optical characteristics of a source, including but not limited to numerical aperture settings, illumination sigma (σ) settings, and any specific illumination shape (e.g., off-axis radiation sources such as ring, quadrupole, dipole, etc.). Projection optics model 32 may represent the optical characteristics of a projection optics, including aberrations, distortion, one or more refractive indices, one or more physical dimensions, etc. Design layout model 35 may represent one or more physical properties of a solid pattern forming apparatus, such as those described in U.S. Patent No. 7,587,704, which is incorporated herein by reference in its entirety. The purpose of the simulation is to accurately predict, for example, edge placement, spatial image intensity slope, and / or CD, which can then be compared with the intended design. The intended design is typically defined as a pre-OPC design layout, which may be provided in a standardized digital file format such as GDSII or OASIS, or in other file formats.
[0042] Based on this design layout, one or more portions, referred to as "segments," can be identified. In embodiments, a set of segments is extracted, which represents a complex pattern in the design layout (typically around 50 to 1000 segments, but any number of segments can be used). These patterns or segments represent small parts of the design (e.g., circuits, cells, or patterns), and in particular, segments typically represent small parts that require specific attention and / or verification. In other words, a segment can be a part of the design layout, or can resemble a part of the design layout or exhibit similar behavior to a part of the design layout, where one or more key features are identified through experience (including segments provided by the customer), trial and error, or running full-chip simulations. Segments may include one or more test patterns or gauge patterns.
[0043] Customers can a priori propose an initial, larger set of segments based on one or more known key feature regions in the design layout that require specific image optimization. Alternatively, in another embodiment, the initial, larger set of segments can be extracted from the entire design layout using some automated algorithm (such as machine vision) or manual algorithm that identifies one or more key feature regions.
[0044] In a photolithography projection device, as an example, the cost function can be expressed as Equation 1, as follows: (1) Where (z1, z2, …, z N ) is either N design variables or the values of the N design variables. p (z1, z2,…,z N ) can be design variables (z1, z2, ..., z N Functions of design variables (z1, z2, ..., z) N The difference between the actual and expected values of the set of values of ). p Is with f p (z1, z2,…, z N The associated weighting constants. For example, a characteristic could be the location of the edge of a pattern measured at a given point on the edge. Different f p (z1, z2,…, z N They can have different weights w p For example, if a particular edge has a narrow range of allowed locations, then f represents the difference between the actual and expected locations of the edge. p (z1, z2,…, z N The weight w p It can be given a higher value. f p (z1, z2,…, z N () can also be a function of interlayer characteristics, which are design variables (z1, z2, ..., z) N The function is CF(z1,z2,…, z). N This is not limited to the form of Equation 1. CF(z1, z2,…, z) N () can be any other suitable form.
[0045] The cost function can represent any one or more suitable characteristics of the lithography projection equipment, lithography process, or substrate, such as focus, CD, image offset, pattern placement error, image distortion, image rotation, random variation, yield, local CD variation, process window, interlayer characteristics, or combinations thereof. In one embodiment, the design variables (z1, z2, ..., z...)N This includes one or more selected from dosage, global bias of the patterning apparatus, and / or irradiation shape. Since this embodiment is a resist image that typically indicates a pattern on a substrate, the cost function can include functions representing one or more characteristics of the resist image. For example, f p (z1, z2,…,z N It can be simply the distance between a point in the resist image and the expected location of that point (i.e., edge placement error EPE). P (z1, z2,…, z N Design variables can include any adjustable parameters, such as those related to the source, patterning apparatus, projection optics, dosage, and focus.
[0046] A lithography apparatus may include components collectively referred to as a "wavefront manipulator," which can be used to adjust the shape of the wavefront and the intensity distribution and / or phase shift of the radiation beam. In embodiments, the lithography apparatus can adjust the wavefront and intensity distribution at any location along the optical path of the lithography projection apparatus (e.g., in front of the patterning apparatus, near the pupil plane, near the image plane, and / or near the focal plane). The wavefront manipulator can be used to correct or compensate for specific distortions in the wavefront and intensity distribution and / or phase shift caused by, for example, temperature variations in the source, the patterning apparatus, the lithography projection apparatus, thermal expansion of components of the lithography projection apparatus, etc. Adjusting the wavefront and intensity distribution and / or phase shift can change the value of a characteristic represented by a cost function. This change can be simulated based on a model or can be measured practically. Design variables may include parameters of the wavefront manipulator.
[0047] Design variables can have constraints, which can be represented as (z1, z2, …, z N Let Z be the set of possible values for the design variables. A possible constraint on the design variables can be imposed by the expected output of the lithography projection apparatus. Without such a constraint imposed by the expected output, optimization may produce an unrealistic set of values for the design variables. For example, if dose is the design variable, without such a constraint, the optimization may produce dose values that make the output economically unattainable. However, the validity of a constraint should not be interpreted as a necessary condition. For example, the output may be affected by the pupil fill ratio. For some irradiation designs, a low pupil fill ratio may discard radiation, resulting in a lower output. The output may also be affected by the chemistry of the resist. A slower resist (e.g., a resist that requires a higher dose of radiation to be properly exposed) will result in a lower output.
[0048] As used herein, the term “process model” refers to a model that includes one or more models simulating the patterning process. For example, a process model may include any combination of the following: an optical model (e.g., a model that models a lens system / projection system used to transmit light during the photolithography process and may include a model that models the final optical image of the light entering the photoresist), a resist model (e.g., a model that models the physical effects of the resist (e.g., chemical effects caused by light), an optical proximity correction (OPC) model (e.g., a model that can be used to fabricate a mask or stencil and may include sub-resolution auxiliary features (SRAF), etc.).
[0049] As used herein, the term "simultaneously" refers to two or more things that occur approximately at the same time, but not necessarily exactly at the same time. For example, changing the pupil design simultaneously with the mask pattern could mean making a small modification to the pupil design, then a small adjustment to the mask pattern, then another modification to the pupil design, and so on. However, this disclosure takes into consideration that in some parallel processing applications, "simultaneously" can refer to operations that occur simultaneously or operations that have some overlap in time.
[0050] This disclosure provides apparatus, methods, and computer program products, wherein the apparatus, methods, and computer program products relate to modifying or optimizing features of a lithography apparatus to improve performance and manufacturing efficiency. Modifiable features may include: the spectrum of light used in the lithography process, the mask, the pupil, etc. Any combination of these features (and possibly other features) can be implemented to improve, for example, the focus depth, process window, contrast, etc., of the lithography apparatus. In some embodiments, modification of one feature affects other features. In this way, multiple features can be modified / changed simultaneously to achieve the desired improvement, as described below.
[0051] Figure 3A schematic representation of a mask prediction model 130 trained using semi-supervised training according to an embodiment is depicted. According to embodiments of this disclosure, a mask pattern prediction model can be trained based on supervised and unsupervised training schemes to output a predicted mask pattern for an input target wafer pattern, wherein the unsupervised training scheme includes the operation of a procedural model. Hereinafter, "semi-supervised" is used to describe training that includes supervised training (e.g., based on labeled training data) and unsupervised training (e.g., based on unlabeled training data). Hereinafter, "semi-supervised" makes no requirement regarding the corresponding amount of the type of training data or the order in which the training types are applied. In some embodiments, the amount of unlabeled training data can be on the order of the amount of labeled training data, greater than the amount of labeled training data, much greater than the amount of labeled training data, etc. Unsupervised training (e.g., based on unlabeled training data) may also include applying one or more procedural models to the output of the model, such as "labeling" the output of the model (e.g., classifying, determining a wafer pattern corresponding to the output of the model, etc.). Unsupervised training can occur based on unlabeled training data that can be labeled later, or on training data that is known to be labeled but not used, uncertain training data (e.g., generated by approximation, a model, or otherwise rather than benchmark real data), unknown training data, or training data that is not predetermined. “Semi-supervised” training can also be referred to as “partially supervised” training. In this document, “partially supervised” can also refer to training in which the training dataset includes both labeled and unlabeled training data, with labeled training data as described above for supervised training data and unlabeled training data as described above for unsupervised training data. Alternatively or additionally, embodiments described as “semi-supervised” can be performed in a “partially supervised” manner, and vice versa. In this document, for training purposes, “benchmark real” refers to the best estimate (reasonable in terms of time, cost, etc.) obtained for training the model to reproduce the stated quantity.
[0052] The mask prediction model 130 operates based on the input of target 110. Target 110 can be any suitable pattern for patterning on a wafer (e.g., design layout, chip design, layer design, multilayer design, etch pattern, implantation pattern, resist pattern (e.g., post-exposure, post-etch, etc.), metal layer design, including one or more vias or through-silicon vias, etc.). Target 110 can be or includes a two-dimensional pattern, which can be or includes an image, a two-dimensional projection, an approximation of an image (e.g., a spatial image, an etched image, an etch contour, a resist image, the contour of a target pattern, a SEM image, an optical image, etc.), and may or may not have pixel weights or color values associated with different regions of the pattern. Target 110 can alternatively or additionally be a three-dimensional pattern or object, such as a fabricated device or a design of a device having trench depths, etch platform heights, etc., which may have corresponding height and depth values for various portions of the pattern. As input to the mask prediction model 130, the target 110 may include options for manufacturing the target 110 (e.g., etching time, resist type, dosage, aperture information, etc.). Options for the target 110 can be determined after mask prediction, including during an iterative process through which the options can be optimized or optimized in conjunction with the source, mask pattern, etc.
[0053] Mask prediction model 130 operates to output mask 100. Mask 100 can be or includes any suitable pattern (e.g., GDSII pattern, mask design layout, mask design, continuous transmission mask (CTM) pattern, freeform pattern, Manhattan pattern, sphere representation pattern, mask image, thin mask image, near-field approximation, transmission function, measurement mask profile set, measurement mask pattern determined based on fabricated mask, etc.). Mask 100 can be a two-dimensional pattern and may have or may not have pixel weights (or other values) for the various portions of the pattern (i.e., mask 100 can be two shades, grayscale, pixelation, continuity, etc.). Alternatively or additionally, mask 100 can be a patterning apparatus (such as a photolithographic mask, a stencil, etc.) that includes or applies a pattern to a wafer during the patterning process. Mask 100 can be a three-dimensional pattern or object and may have corresponding height and depth values for the various portions of the pattern. Mask 100 (such as the mask 100 output by mask prediction model 130) can be a design parameter used to generate a three-dimensional mask based on a mask pattern, such as a manufacturing option.
[0054] Mask 100 and target 110 can be associated through process model 120. Process model 120 can be a lithography model, such as a resist model, etching model, optical model, or any suitable model involving patterning of an IC or its subprocesses. Process model 120 can be a physical model, such as a physical model based on physical processes such as optics, chemistry, phase transitions, etc. Physical models can include models trained based on physics or physics-based equations or relationships, such as ray energy, transmission, absorption, reflection, etc. In some embodiments, process model 120 can be or includes a machine learning model, such as a process prediction model or module. Process model 120 can be a fixed model whose parameters remain substantially unchanged during the training of mask prediction model 130. Process model 120 can be well characterized (e.g., relatively accurate) but may be slow (e.g., operating over long timeframes and requiring significant computational power). Process model 120 may be referred to herein as the “forward model,” while mask prediction model 130 may be the “inverse model.”
[0055] Process model 120 can output target 110 based on mask 100. Process model 120 can be configured to output target for any input mask. In addition to target 110, process model 120 can also operate based on an alternative scheme, wherein the alternative scheme can describe aspects of the process (e.g., a patterning process) other than mask 100. Process model 120 can operate on any input mask, or it can operate (or operate correctly) only on masks that satisfy a set of input criteria. For example, process model 120 can be a resist model and may not operate correctly on masks corresponding to an etching process. Process model 120 can be one or more models (such as a set of models) that can operate together, such as in parallel, in series, iteratively, etc. For example, process model 120 can include an optical model and a chemical resist development model.
[0056] Mask prediction model 130 is a model that approximately inverses process model 120 by outputting mask 100 based on target 110. In some embodiments, mask prediction model 130 can be trained to generate mask 100 based on target 110 using process model 120. Mask prediction model 130 can be trained in a supervised manner, based on a training mask dataset and corresponding training target data. The generation of supervised training data (which may be benchmark real data) can be time- and cost-intensive. Patterns (mask patterns or target patterns) can be selected to be included in the supervised training data based on a pattern selection algorithm, which may be informed by previously used mask patterns, historical masks, etc., and can select patterns unequally across a multidimensional pattern space. Including unsupervised training can increase the number of patterns available for training, increase the types of patterns on which the model can operate well, reduce the risk of training mask prediction model 130 to a local rather than a global minimum, reduce the risk of overtraining, etc.
[0057] According to embodiments of this disclosure, a mask prediction model 130 is trained via semi-supervised training 140. Herein, “training” refers to any training of the model, including initial training (e.g., training of a base model), additional training (e.g., model-based tuning), retraining (e.g., applying the model to different types of data or problems), further training (e.g., refinement), testing of training (e.g., performance evaluation, validation, etc.), and so on. Training can refer to tuning model parameters. In some embodiments, training can refer to tuning the model architecture, including using dropout, residuals, etc. The mask prediction model 130 can be a machine learning (ML) model. The mask prediction model 130 can be a neural network (NN). The mask prediction model 130 can be an ensemble model. For example, the mask prediction model 130 can be a classification model and an ensemble of NNs, each NN corresponding to a specific type of target, where target 110 can be classified into one or more types corresponding to a set of target types, and then input into the NN used for classification, which can output a mask 100. Training can refer to training any model in an ensemble, either together or separately.
[0058] Semi-supervised training 140 includes supervised training 150 and unsupervised training 160. Supervised training 150 and unsupervised training 160 can be performed in parallel, sequentially, synchronously, asynchronously, etc. In some embodiments, supervised training 150 can occur first, while unsupervised training 160 can further train or refine the mask prediction model 130. In some embodiments, supervised training 150 can occur when generating supervised training data (or providing supervised training data to the model), and unsupervised training 160 can occur when selecting, generating, processing, or providing unsupervised training data to the model, etc., which can occur synchronously or asynchronously.
[0059] Supervised training 150 can be used to train the mask prediction model 130 based on a supervised training dataset (e.g., training data 152A-152C). While three instances of training data are described, the supervised training dataset can have any suitable size, including tens, hundreds, thousands, etc. Supervised training data can include a training mask pattern set (e.g., training mask pattern 100A) and corresponding target patterns (e.g., training target pattern 110A). The corresponding target pattern of the training mask pattern set can be benchmark real data. The corresponding target pattern can be generated by the process model 120 or any other suitable model. The corresponding target pattern can be a measurement target pattern manufactured using the training mask pattern set. The corresponding target pattern can be, or may not be, a sub-pattern (e.g., a "fragment") of a larger pattern (e.g., a wafer pattern, chip pattern, etc.). The corresponding target can be a target pattern previously determined for the training mask pattern, such as a target pattern determined for a previous process. Supervised training 150 can occur in any suitable manner, such as by using a loss function, using a cost function, gradient descent, backpropagation, etc. Supervised training data can be input 154 into the mask prediction model 130 (including sequential, iterative, etc.) to produce an output 172 including an output mask pattern 170. The output mask pattern 170 can be compared with a training mask pattern 100A (or another in the training mask pattern set corresponding to the input training target pattern 110A) by a difference determiner 180. The difference between the output mask pattern 170 and the input mask pattern (e.g., training mask pattern 100A) can be used to determine a loss function 210 (or cost function), which can be applied 212 to the mask prediction model 130 to further train the model. In this document, "loss function" is used to represent the measurement error of the model for a single data instance, while "cost function" is used to represent the measurement error of the model for a set of data. It should be understood that any use of a loss function may alternatively or additionally cover the use of a cost function for multiple objects, and any use of a cost function may alternatively or additionally cover the use of a loss function for a single instance of a set of objects.
[0060] Unsupervised training 160 can train the mask prediction model 130 based on an unsupervised training dataset (e.g., training data 162X-162Z). Although three instances of training data are described, the unsupervised training dataset can have any suitable size, including tens, hundreds, thousands, etc. of instances. The unsupervised training data can include a set of unknown target patterns (e.g., target pattern 110X). The unknown target patterns can be sub-patterns (e.g., "segments") of larger patterns (e.g., wafer patterns, chip patterns, etc.). The unknown target patterns can substantially not overlap with the corresponding target patterns in the supervised training dataset of supervised training 150. The unknown target patterns can be selected from a multidimensional target pattern space, such as by a pattern selection algorithm. The unsupervised training data can be input 164 into the mask prediction model 130 (including sequentially, iteratively, etc.) to produce an output 172 including an output mask pattern 170. The output mask pattern 170 can be input into a process model 120. The process model 120 can produce an output prediction result 192 including an output predicted target pattern 190. The output predicted target pattern 190 can be compared with the target pattern 110X (or another in the set of unknown target patterns) by the difference determiner 200. The difference between the output predicted target pattern 190 and the input target pattern (e.g., target pattern 110X) can be used to determine a loss function 210 (or cost function), which can be applied 212 to the mask prediction model 130 to further train the model. Unsupervised training 160 can occur in any suitable manner, including those described previously with reference to supervised training 150.
[0061] Figure 4 A schematic representation of the relationship between a target wafer pattern according to an embodiment and corresponding mask patterns selected for supervised and unsupervised training of a mask pattern prediction model is provided. According to embodiments of this disclosure, by using a pattern selection process to select supervised and unsupervised training data, a portion of the supervised training method can be applied to the mask pattern prediction model.
[0062] A full-chip or wafer design may include many “segments” or smaller portions of a target pattern. The target pattern of the design may be represented by individual points in a multidimensional target domain space 430. The target domain space 430 may include target patterns found in the wafer design (e.g., desired “segments”) and target patterns not found in the wafer design (e.g., undesired “segments,” or segments other than the desired segments, which may be target patterns corresponding to mask patterns that do not generate the desired segments). Target patterns found in the wafer design (e.g., desired segments) may constitute a portion of the target domain space 430. A portion of the target domain space 430 that includes the target pattern corresponding to the target design may be a defined pattern or include a defined pattern. Target patterns not found in the wafer design (e.g., undesired segments) may constitute another portion of the target domain space 430. Target patterns not found in the wafer design may be used or not used as mask prediction models (e.g., regarding…). Figure 3 The training data for the mask prediction model 130 described herein. In some embodiments, unwanted segments may be used as training data, such as for training a robust model. In some embodiments, desired segments may be used substantially uniquely as training data, for example, to focus the model on a particular chip design.
[0063] The target domain space 430 can be divided into a supervised target domain space 432 and an unsupervised target domain space 436. This division can be performed by any suitable method, such as through a pattern selection algorithm 450 (e.g., a module, program, method, etc.). The pattern selection algorithm 450 can select multiple supervised targets T from the target domain space 430. Si 452 (e.g., as the selected supervised target) is used to generate supervised training data. The supervised target T can be selected by dividing the target wafer pattern into segments (e.g., desired segments). Si 452, where each segment can become a supervised target T. Si One of 452. The target wafer pattern can be processed through a "hotspot" or other pattern problem detection process to determine the supervised target T. Si 452, wherein the portion of the target wafer pattern identified as a problem area (e.g., due to CD, due to random errors, etc.) can be selected as the supervision target T. Si 452. The pattern selection algorithm 450 can select a supervised target T based on a library of previously evaluated target patterns (e.g., for other masks, other patterning processes, other iterations of mask prediction model training, etc.). Si 452. Pattern selection algorithm 450 can select multiple unsupervised targets T Ui434 (e.g., as the selected unsupervised target) is included as unsupervised training data. In some embodiments, the pattern selection algorithm 450 may select only the supervised target T. Si 452, and all the unselected targets in the target domain space 430 can constitute the unsupervised target T. Ui 434, all or some of the unsupervised targets may be included in the unsupervised training. In some embodiments, the pattern selection algorithm 450 may specifically select unsupervised target T from all targets in the unsupervised target domain space 436. Ui 434 can be included in unsupervised training data, such as a target pattern set based on chip design, and selected by sorting until a termination criterion is met.
[0064] The target domain space 430 can correspond to the mask domain space 440. The target domain space 430 and the mask domain space 440 can be derived through a process model (e.g., regarding...). Figure 3The process model 120 and mask prediction model 130 are described in association. Process model 120 generates an output target pattern based on an input mask pattern, while mask prediction model 130 generates an output mask pattern based on an input target pattern. Each target pattern in target domain space 430 may correspond to one or more mask patterns in mask domain space 440. For example, both mask patterns 400A and 400B may correspond to target pattern 410A. Each mask pattern in mask domain space 440 may correspond to one pattern in target domain space 430. In some embodiments, mask patterns in mask domain space 440 may correspond to multiple patterns in target domain space 430, for example, if mask prediction model 130 has changed between multiple applications of mask patterns (e.g., if mask prediction model 130 has been further trained), if process matching schemes have changed between multiple applications of mask prediction model 130, and so on. The relationship between the target domain space 430 and the mask domain space 440 can be a given function, where the relationship between the mask domain space 440 and the target domain space 430 can be approximated as the inverse function of the given function. The function between the target domain space 430 and the mask domain space 440 may not be a one-to-one correspondence (e.g., a single target can map to multiple masks), while the relationship between the mask domain space 440 and the target domain space 430 can have a roughly one-to-one correspondence (e.g., for a given iteration of the mask prediction model, the mask can map to essentially one target). During the translation into a mask pattern in the mask domain space 440, the relationship between the target patterns in the target domain space 430 may not be preserved, and vice versa. For example, target pattern 410C and target pattern 410D can be relatively similar in the target domain space 430. However, mask pattern 400C (corresponding to target pattern 410C) and mask pattern 400D (corresponding to target pattern 410D) can be relatively different. Similarly, mask patterns 400D and 400E can be relatively similar in the mask domain space 440, but target patterns 410D and 410E are generated in the target domain space 430 respectively, and the target patterns 410D and 410E can be relatively different.
[0065] A mask domain space 440 can be generated based on the target domain space 430. The mask domain space 440 may have boundaries corresponding to process constraints (such as feature size, feature area, corner angle, etc.). The mask domain space 440 can be divided into a supervised mask domain space 442 and an unsupervised mask domain space 446. The division of the supervised target domain space 432 and the unsupervised target domain space 436 can be determined based on the division of the supervised target domain space 432 and the unsupervised target domain space 436, for example, by associating the mask domain space 440 and the target domain space 430 through process model 120 or mask prediction model 130. The supervised mask domain space 442 includes multiple supervised masks M. Si454 (e.g., with monitoring target T) Si 452 corresponds to the selected mask). Supervision mask M Si 454 can be based on the supervised target T Si 452 generation, for example, for supervised training. Supervision mask M Si 454 can be generated through a rigorous inversion process, including by applying one or more physical models, and by using a supervised target T. Si Brute-force solutions or trial and error for 452. Supervised mask M. Si 454 can be obtained from the relationship between the previously determined mask pattern and the target pattern. Supervised target T Si 452 and Supervision Mask M Si 454 together can constitute supervised training data 420. The unsupervised mask domain space 446 can include multiple unsupervised masks M Ui 444. Unsupervised Mask M Ui 444 can be related to the unsupervised target T Ui 434 corresponds to the mask, and can be the selected mask (e.g., using the mask to predict model 130, based on unsupervised target T). Ui The unsupervised mask M can be either a mask generated by the selected unsupervised target (as shown in 434) or a non-selected or unknown mask (e.g., a mask corresponding to a given unsupervised target may remain ungenerated, unpredicted, etc., during one or more training iterations). Ui 444 can be an unknown mask, which can be generated as needed by the mask prediction model 130 during training. Unsupervised mask M Ui 444 can be an unsupervised target T based on the unsupervised target domain space 436. Ui The masks generated by 434. The masks in the unsupervised mask domain space 446 can be shifted as the mask prediction model 130 changes (e.g., through training changes).
[0066] One or more targets in the target domain space 430 can be used to train the mask prediction model 130. One or more targets in the supervised target domain space 432, together with their corresponding masks in the supervised mask domain space 442, can be used for supervised training. One or more targets in the unsupervised target domain space 436 can be used for unsupervised training. Partially supervised training can occur by using one or more targets in the supervised target domain space 432 with their corresponding masks in the supervised mask domain space 442 and one or more targets in the unsupervised target domain space 436. The amount of training data selected from the supervised target domain space 432 and from the unsupervised target domain space 436 can vary during training. The contribution of the training data selected from the supervised target domain space 432 and from the unsupervised target domain space 436 to the cost function can also vary during training or alternatively vary during training. For example, the cost function can be given by the following Equation 2: in It is a measure of data fidelity (such as, Norm or another difference determination operation). It is a function of the mask prediction model 130 (which may be a neural network), such as a function of the current iteration of the mask prediction model 130. This is a function of the forward model (e.g., process model 120), where S is the number of supervised training data pairs selected for inclusion, and S is the number of unsupervised training data instances selected for inclusion. and T is a partially relevant hyperparameter of the cost function corresponding to supervised and unsupervised training data. Si M Si and T Ui These are the supervised objective, the supervised mask, and the unsupervised objective, as described above. The cost function may have additional terms (e.g., regularization terms, cost function contribution terms related to the configuration options, etc.), which are not depicted in Equation 2 for ease of description.
[0067] The cost function part of supervised training data 420 (e.g., It can be directly determined based on supervised training data 420, which includes the supervised target T. Si 452 and Supervision Mask M Si 454. Process model 120 can be used to generate the cost function portion for unsupervised training data (e.g., For unsupervised training data, the unsupervised target set T Ui434 can be input into mask prediction model 130, and the output of mask prediction model 130 can be fed into process model 120. For each unsupervised target T Ui 434, the loss function 210 can be determined. Alternatively or additionally, it can be based on the unsupervised target set T. Ui 434. Determine the cost function. The cost function (or, alternatively, one or more loss functions) can be used to train the mask prediction model 130.
[0068] During training, the relationship between the number of target patterns included in supervised training data (e.g., S) and the number of target patterns included in unsupervised training data (e.g., U) can vary, such as based on time, number of iterations, etc. In some embodiments, the number of patterns included in one group can vary, while the number included in another group can remain substantially constant. In some embodiments, the total number of included patterns can remain substantially constant, but the division between groups can vary.
[0069] The relationship between the portion of the cost function corresponding to supervised training data and the portion of the cost function corresponding to unsupervised data can be determined by hyperparameters (e.g., and The hyperparameters can be controlled and can vary during training. These hyperparameters can vary over time, through iterations, or based on evolution criteria (e.g., based on the value of the total cost function, a subset of the cost function, etc.).
[0070] In some embodiments, the monitoring target T Si 452 can also be used, or alternatively, for unsupervised training. This allows the mask prediction model 130 to mitigate inconsistencies in the supervised training data 420 and can result in better convergence in the mask prediction model 130. This also reduces the reliance on the pattern selection algorithm 450, where the supervised target T is for supervised training. Si The choice of 452 can become less critical to the health of the overall mask prediction model 130. One or more targets in the supervised target domain space 432 can be selected and used for unsupervised training. In this case, if the supervised target T Si Some of the points in 452 are also used for supervised training, so model training can be partially supervised, or if there is essentially no supervised objective T. Si If 452 is used for supervised training, then model training can be completely unsupervised. Even if the supervised target T Si 452 was not used for supervised training in the current iteration, and the entire training can still be considered partially supervised, especially if the supervised target T SiSome of the data in 452, such as those used during early iterations, are used for supervised training. The amount of training data selected from the supervised target domain space 432 and used for supervised training, the amount of training data selected from the supervised target domain space 432 and used for unsupervised training, and the amount of training data selected from the unsupervised target domain space 436 can vary during the training process. The contributions of the training data selected from the supervised target domain space 432 and the unsupervised target domain space 436 for supervised training and for unsupervised training to the cost function can also vary or alternatively vary during the training process. For example, the cost function can be given by the following Equation 3: in It is a measure of data fidelity. It is a function of mask prediction model 130. This is a function of process model 120, where S is the number of supervised training data pairs selected for inclusion, U1 is the number of unsupervised training data instances selected from the unsupervised target domain space 436, U2 is the number of unsupervised training data instances selected from the supervised target domain space 432, and... , and T is a hyperparameter that associates the portion of the cost function corresponding to supervised training data and unsupervised training data with the unsupervised training data of the target used to supervise the target domain space 432. Si M Si and T Ui These are the supervised target, the supervised mask, and the unsupervised target. As described earlier regarding Equation 2, the cost function can have additional terms, such as regularization terms and cost function contribution terms related to the selection scheme. For ease of description, these terms are not depicted in Equation 3.
[0071] Figures 5A-5D A graph depicting example relationships between the cost function and hyperparameters for semi-supervised training of a mask pattern prediction model according to embodiments is provided. According to embodiments of this disclosure, variable hyperparameters can be used to associate various portions of the cost function with different types of training (e.g., supervised and unsupervised training). The hyperparameters can vary based on evolution criteria (e.g., based on the value of the total cost function, based on the value of a portion of the cost function, etc.).
[0072] Figure 5A Depicting through According to Equation 2, the first cost function part 506 used for supervising training data is related to... The relationship between the second cost function components 508 for unsupervised training data, as given by Equation 2, is displayed on the x-axis 502 as a function of the value (in arbitrary units) along the y-axis 504 over time. In some embodiments, the values of the individual cost function components (e.g., absolute values, relative values, etc.) can be used to determine values or evolution points for hyperparameters that correlate the contributions of each component to the total cost function. For example, a decision point 510 can be determined at which the values of the first cost function component 506 and the second cost function component 508 deviate (or behave differently). Decision point 510 can lead to the evolution of hyperparameters. Decision point 510 can be restricted to a time frame, such as after initial training. For example, the second cost function component 508 may not be evaluated until unsupervised training begins, which may not occur in the first iteration of model training. In another example, even if the first cost function part 506 and the second cost function part 508 do not deviate, a decision point can be triggered by a time endpoint such as the number of iterations (e.g., 10 iterations, 100 iterations, 1000 iterations, etc.)—after which the use of supervised training can be reduced to mitigate the risk of overfitting. While the selected objective (such as that obtained through Equation 3) using supervised training data is not depicted... The cost function for unsupervised training data is given, but it can be similarly used to trigger decision points and the evolution of one or more hyperparameters.
[0073] Figure 5B Depicting what can be used to pass through The first part of the cost function given for supervising training data (e.g., Figure 5A The first cost function part 506) and through The given second cost function part for unsupervised training data (e.g., Figure 5A Example hyperparameters associated with the second cost function part 508. Hyperparameters are depicted as functions of time along the y-axis 514 (in arbitrary units), shown on the x-axis 502. The first hyperparameter 516 controls the contribution of supervised training to the cost function and can remain constant across the training of the mask prediction model. The second hyperparameter 518 controls the contribution of unsupervised training to the cost function and can be negligible before decision point 520 (e.g., when compared to the first hyperparameter 516), and thereafter substantially non-negligible. Negligible hyperparameters can be zero or can have non-zero values. Values can be based on various cost function parts (such as...). Figure 5A The decision point 520 is determined by factors such as time, number of iterations, etc. (as shown in the figure).
[0074] Figure 5C Depicting what can be used to pass through The first part of the cost function given for supervising training data (e.g., Figure 5A The first cost function part 506) and through The given second cost function part for unsupervised training data (e.g., Figure 5A Another example of hyperparameters associated with the second cost function portion 508. The hyperparameters are depicted as a function of the values (in arbitrary units) along the y-axis 514 over time, shown on the x-axis 502. The first hyperparameter 526 can control the contribution of supervised training to the cost function and can remain non-negligible across the first portion of training before decision point 530 and decrease thereafter. The second hyperparameter 528 can control the contribution of unsupervised training to the cost function and can be negligible before decision point 530 (e.g., when compared to the first hyperparameter 526), and is thereafter substantially non-negligible. This can be based on various cost function portion values (such as...). Figure 5A The decision point 530 is determined by factors such as time, number of iterations, etc. (as shown in the figure).
[0075] The relative values of hyperparameters (e.g., scaling factors associated with different parts of the cost function) may be more important than their absolute values. Therefore, hyperparameters can be negligible (including essentially zero) for certain parts of training that minimize the contribution from a particular type of training. Hyperparameters are described as monotonically increasing or decreasing, but can follow any suitable trend in value (such as linear, parabolic, etc.).
[0076] Figure 5D Depicting what can be used to pass through The first part of the cost function given for supervising training data (e.g., Figure 5A The first cost function part 506), through The given second cost function part for unsupervised training data (e.g., Figure 5A The second cost function part 508), and through Example hyperparameters associated with the third cost function portion of the objective for unsupervised training using supervised training data are given. The hyperparameters are depicted as a function of the values (in arbitrary units) along the y-axis 514 over time, shown on the x-axis 502. The first hyperparameter 536 controls the contribution of supervised training to the cost function, and the first portion across training before decision point 540 remains non-negligible and decreases thereafter. The second hyperparameter 538 controls the contribution of unsupervised training to the cost function, and can be negligible before decision point 540 (e.g., when compared to the first hyperparameter 536), and is substantially non-negligible thereafter. Various cost function portion values (such as...) can be used as a basis. Figure 5AThe decision point 530 is determined by factors such as time, number of iterations, etc. A third hyperparameter 539 can be used to control the contribution of unsupervised training to the cost function using the objective of the supervised training data, and can be negligible before decision point 550 (e.g., compared to the first hyperparameter 536), and substantially non-negligible thereafter. In some embodiments, the value of the second hyperparameter 538 or the third hyperparameter 539 can be increased at previous decision points and decreased at subsequent decision points. In some embodiments, the first hyperparameter 536 can be decreased to an intermediate value between decision points 540 and 550, and then decreased thereafter. Although three hyperparameters are described, the training data can be partitioned into additional portions where additional hyperparameters can be used. Hyperparameters can also be used to control other contributions to the cost function, such as computational load, stability, etc.
[0077] Figure 6 A schematic representation of the semi-supervised training of a mask prediction model 130 using a process model 120 across multiple iterations, according to an embodiment, is depicted. According to embodiments of this disclosure, the process model and the mask optimization process are used to train the mask prediction model, including in an asynchronous manner. The individual outputs of the iterations of the mask optimization process (and the mask prediction model training) can be used to train the mask prediction model in a semi-supervised manner.
[0078] The mask optimization process 630 can be a process in which an inverse solver (such as mask prediction model 130 or another inverse solver) operates collaboratively with process model 120 to generate and optimize prediction masks 600A-600N based on input target 610. The mask optimization process 630 can be an iterative process, where process conditions, input target 610, output mask, etc., can be based on one or more optimization criteria (e.g., as previously referenced). Figure 2 The described loss function, cost function, etc., are iteratively optimized. Prediction masks 600A-600N (where letter reference characters represent the iterative process (e.g., I1, I2, ... I...)) are used. NThe prediction masks 600A-600N can be compared with the mask rule set at Mask Rule Check (MRC) 620. MRC 620 can determine whether the current iteration of the prediction masks 600A-600N is manufacturable based on physical requirements, customer requirements, manufacturing scope, customer preferences, etc. MRC 620 can discard or change prediction masks 600A-600N that are not manufacturable (e.g., those that fail MRC 620) to conform to MRC 620. MRC 620 may include other process-aware rule checks, such as fitting checks, dosage checks, etc. One of the prediction masks 600A-600N that fails MRC 620 can be used for training, such as by being changed to conform to MRC 620 or by being marked as unavailable and used as a negative example in training. In some embodiments, one of the prediction masks 600A-600N that fails MRC 620 can be used to mark as an unfavorable example and included in the loss function (or cost function) used to train the mask prediction model 130 away from unfavorable examples.
[0079] The predicted masks 600A-600N via MRC 620 can be fed into a mask optimization process 630. The mask optimization process 630 can include modifying the predicted masks 600A-600N with or without using the mask prediction model 130. For example, the mask optimization process 630 can operate based on a rigorous inverse solver. In some embodiments, the mask optimization process 630 can operate independently of the mask prediction model 130. In some embodiments, the mask optimization process 630 can operate independently of the mask prediction model 130 in some instances (e.g., early in the training of the mask prediction model 130), and in some instances in collaboration with or based on the mask prediction model (e.g., as the mask prediction model 130 is further trained). The mask optimization process 630 can operate asynchronously with the mask prediction model 130 (i.e., not synchronously with the mask prediction model 130). The mask optimization process 630 can output one or more prediction masks as instances of prediction masks 600A-600N, for example, for use in iterations within the mask optimization process 630. Prediction masks 600A-600N may include prediction masks generated by the mask prediction model 130, the mask optimization process 630, or a combination thereof.
[0080] The prediction masks 600A-600N used for each iteration can also be input into process model 120. Process model 120 can generate prediction targets 610A-610N for each iteration. The prediction targets 610A-610N for each iteration can be compared with the input target 610. The difference between each of the prediction targets 610A-610N and the input target 610 can be used to determine the loss function 210. In some embodiments, multiple prediction targets 610A-610N can be compared with the input target 610, and a cost function (including based on multiple loss functions 210) can be determined. Additionally or alternatively, multiple input targets can be fed into mask prediction model 130 or mask optimization process 630 (including simultaneous feeding), thereby generating a set of prediction masks. Process model 120 can generate a set of prediction targets based on the set of prediction masks, including generating a set of prediction targets for each iteration. Each of the prediction targets in the set can then be compared with its corresponding input target among multiple input targets, and the difference is used to generate the cost function. It should be understood that any use of a loss function can be generalized to multiple objects to use a cost function, and vice versa. The difference between the predicted target 610A-610N and the input target 610 can be based on any appropriate data fidelity metric (such as, The norm or another measure of difference is used to determine this.
[0081] The mask optimization process 630 can determine an iterative representation of a baseline true mask 600X for a baseline true target 610X, the baseline true target 610X corresponding to the baseline true mask 600X. The determination of the prediction mask (e.g., the prediction mask for a given iteration) representing the baseline truth can be based on process model 120 or any other suitable model and any suitable data fidelity metric. The determination of the prediction mask representing the baseline truth can be based on the determination of the differences between the outputs of process model 120 for the prediction mask. The determination of the prediction mask representing the baseline truth can be based on a data fidelity metric threshold. For example, prediction mask 600A generates prediction target 610A when operated on by process model 120. If the mask optimization process 630 determines that the prediction mask 600A generates a prediction target 610A with a threshold higher than the data fidelity (i.e., the prediction target 610A is the baseline true output of the process model 120 for the prediction mask 600A), then the prediction mask 600A and the prediction target 610A can be output (via the mask optimization process 630) as a baseline true mask 600X for the baseline true target 610X. In some embodiments, the prediction mask can be output as the baseline true mask 600X even if the prediction target used for the prediction mask is not the input target 610 (e.g., when the baseline true target 610X is different from the input target 610). The difference between the input target 610 and the baseline true target 610X corresponding to the baseline true mask 600X can be used to train the mask prediction model 130 (e.g., as a loss function 210). However, the difference between the input target 610 and the benchmark true target 610X (such as the difference determined using any appropriate data fidelity metric) may not preclude the inclusion of the benchmark true target 610X and the benchmark true mask 600X in the benchmark true supervised training dataset 640.
[0082] The benchmark ground truth supervised training data 640 may include mask pairs (e.g., mask pairs in the prediction masks 600A-600N) and targets (e.g., targets in the prediction targets 610A-610N) that the mask optimization process 630 has identified as corresponding to each other with the benchmark ground truth objects. The benchmark ground truth supervised training data 640 can be used to train the mask prediction model 130 in any suitable manner, such as those described above and below. The ground truth supervised training data 640 may be a dataset, data instances, etc., and can be used as a training dataset, each additional instance of the training data, a subset of the training dataset, etc., to train the model. That is, the mask optimization process 630 may output training data instances (e.g., a pair of benchmark ground truth masks 600X and benchmark ground truth targets 610X) at different times than the mask prediction model 130 (e.g., at different intervals, more slowly, etc.). The output of the benchmark real supervised training data 640 (which may be one or more pairs of benchmark real masks and corresponding benchmark real targets) can trigger additional training of the mask prediction model 130, such as based on new benchmark real supervised training data 640, based on substantially all of the benchmark real supervised training data 640, based on a subset of all of the benchmark real supervised training data 640, and so on.
[0083] The mask prediction model can be trained in an unsupervised manner using one or more iterations of predicted targets 610A-610N. The predicted mask targets 610A-610N can be compared with the input target 610 to determine the loss function 210 (or a similar cost function), for example, based on any appropriate measure of the difference between the predicted mask targets 610A-610N and the input target 610. The loss function 210 can be used in unsupervised training 650 to train the mask prediction model, for example, via gradient descent 652, backpropagation 654, or any other appropriate method. The methods described for unsupervised training 650 can also be applied to supervised training. Unsupervised training 650 can occur asynchronously with supervised training. Unsupervised training 650 can occur at a faster timescale than supervised training (e.g., more frequently, in more instances, etc.). This can result in a relatively faster operation of the mask prediction model 130 than the mask optimization process 630, or any other appropriate process for generating benchmark real supervised training data 640.
[0084] Figure 7This is a flowchart illustrating a method for training a machine learning model to output a mask pattern based on an input target wafer, according to embodiments of the present disclosure. According to embodiments of the present disclosure, a machine learning model can be trained in a semi-supervised manner based on a process model to predict a mask pattern for a target wafer. Each of these operations is described in detail below. The operation of method 700 presented below is intended to be illustrative. In some embodiments, method 700 may be implemented by one or more additional operations not described, and / or not by the one or more operations discussed. Furthermore, in Figure 7 The order of operations of method 700 shown and described below is not intended to be limiting. In some embodiments, one or more portions of method 700 may be implemented in one or more processing means (e.g., one or more processors) (e.g., through simulation, modeling, etc.). The one or more processing means may include one or more means that perform some or all of the operations of method 700 in response to instructions stored electronically on an electronic storage medium. For example, the one or more processing means may include one or more means configured by hardware, firmware, and / or software specifically designed to perform one or more operations of method 700.
[0085] At operation 702, the machine learning (ML) model and the process model are obtained. The ML model can be an untrained model—for example, a model architecture with untrained parameters. The ML model can be a trained model (including partially trained models). The ML model can be a base model (i.e., a model previously trained to perform a similar task but ready for refinement). The ML model can be a fully trained model, such as a model previously trained to a termination criterion for the same or similar task. The ML model can be an overtrained model (e.g., overfitted to a previous training set), for which additional training on different (e.g., broader) training data can reduce overfitting. The ML model can be obtained from data storage—for example, the architecture and parameters of the ML model can be obtained from memory.
[0086] The process model can be any suitable model of the process, such as an optical model, a resist development model, a resist exposure model, an etching model, an implantation model, a photolithography model, or a combination thereof. The process model can be a physical model, a semi-physical model, a machine learning model, etc. The process model can operate on characteristics of the patterning process to determine the predicted output of the patterning process. The process model can operate on ideal characteristics, measurement characteristics, etc. The process model can be a set of models, such as models in a cascaded form. In some embodiments, the process model can be or includes a machine learning model. In some embodiments, the process model can be a fixed model—that is, a model that does not change during the process of training the ML model to perform mask prediction.
[0087] At operation 704, a target wafer pattern is selected. The target wafer pattern can be selected from a set of target wafer patterns. The target wafer pattern can be selected from target patterns used for the entire wafer, for the chip, etc. (e.g., as a sub-pattern). The target wafer pattern can be a fragment. The target wafer pattern can be selected from the set of target wafer patterns based on its ranking. The target wafer patterns can be sorted based on prediction error, CD, "hot spots," etc. The target wafer pattern can be selected by the user. The target wafer pattern can be input from memory (e.g., input to a system or method). The target wafer pattern can be selected using a pattern selection algorithm (e.g., by any of the methods described above).
[0088] At operation 706, the ML model is applied to the target wafer pattern to generate a corresponding predicted mask pattern. The ML model can be any suitable ML model (such as a neural network (NN)) and can operate in any suitable manner. The ML model can output the corresponding predicted mask pattern based on the target wafer pattern in any suitable manner (such as the manner described above).
[0089] At operation 708, it is determined whether the target wafer pattern has a corresponding reference real mask pattern. This may involve determining whether the target wafer pattern corresponds to supervised training data or unsupervised training data. When selected at operation 704, the target wafer pattern may include or be associated with a reference real mask pattern. For example, when selected at operation 704, the target wafer pattern may not include a reference real mask pattern or may not be associated with a reference real mask pattern. If it is determined that the target wafer pattern has a corresponding reference real mask pattern, the process continues to operation 710. If it is determined that the target wafer pattern does not have a corresponding reference real mask pattern, the process continues to operation 720.
[0090] At operation 710, the difference between the predicted mask pattern corresponding to the target wafer pattern and the ground true mask pattern corresponding to the target wafer pattern is determined. The difference can be determined in any suitable manner by any appropriate data fidelity metric (such as the data fidelity metric described above). The difference may include, or alternatively, another relationship between the predicted mask pattern corresponding to the target wafer pattern and the reference true mask pattern corresponding to the target wafer pattern, such as a weighted average, average, offset, etc.
[0091] At operation 720, the forward model is applied to the predicted mask pattern to generate the corresponding predicted target pattern. The forward model can also be operated based on a process-selective scheme. The forward model can be any suitable forward model and can be operated in any suitable manner. The forward model can output the corresponding predicted target pattern based on the predicted mask pattern in any suitable manner (such as those described above).
[0092] At operation 722, the difference between the predicted target pattern (e.g., generated from a predicted mask pattern corresponding to the target wafer pattern) and the target wafer pattern is determined. This difference can be determined in any suitable manner using any appropriate data fidelity metric (such as those described above). The difference may include, or alternatively, another relationship between the predicted target pattern and the target wafer pattern, such as a weighted average, average, offset, etc.
[0093] At operation 730, the ML model is trained based on the determined discrepancies. These discrepancies can be used to generate loss functions, cost functions, etc. The ML model can be trained in any suitable manner. It can be trained individually for a selected target wafer pattern, for a selected set of target wafer patterns (e.g., a batch of selected target wafer patterns), etc. The ML model can be trained through supervised and unsupervised training. The ML model can be trained asynchronously, such as at different times using different methods. The ML model can be trained simultaneously, in parallel, sequentially, etc., using contributions from both supervised and unsupervised training.
[0094] At operation 732, it is determined whether the training criteria for the ML model are met. Training criteria can be the number of iterations, validation criteria, testing criteria, training time, the amount of supervised training data, the amount of unsupervised training data, the amount of training data, the coverage threshold of the wafer design in the training data, etc. Training criteria may include determining that substantially all, a subset, or some of the subpatterns of the entire wafer, chip, etc., have been processed as supervised training data, unsupervised training data, or otherwise included in the training. If it is determined that the training criteria are not met, the process continues to operation 704, where additional target wafer patterns are selected. If it is determined that the training criteria are met, the process continues to operation 734, where the ML model (e.g., the trained ML model) is output. The ML model may be output to memory (such as as an architecture and parameter set) for storage and subsequent applications.
[0095] As described above, method 700 (and / or other methods and systems described herein) is configured to train a machine learning model to predict mask patterns based on target patterns.
[0096] Figure 8This is a schematic diagram of an exemplary computer system CS that can be used for one or more operations described herein, according to embodiments of this disclosure. The computer system CS includes a bus BS or other communication mechanism for communicating information, and a processor PRO (or multiple processors) coupled to the bus BS for processing information. The computer system CS also includes main memory MM (such as random access memory (RAM)) or other dynamic storage device coupled to the bus BS for storing instructions and information to be executed by the processor PRO. The main memory MM may also be used to store temporary variables or other intermediate information during the execution of instructions by the processor PRO. The computer system CS also includes a read-only memory (ROM) or other static storage device coupled to the bus BS for storing static information and instructions for the processor PRO. A storage device SD, such as a disk or optical disk, is provided and coupled to the bus BS for storing information and instructions.
[0097] A computer system CS can be coupled via a bus BS to a display DS for displaying information to the computer user, such as a cathode ray tube (CRT), flat panel display, or touchpad display. Input devices ID, including alphanumeric keys and other keys, are coupled to the bus BS for communicating information and command selections to the processor PRO. Another type of user input device is a cursor controller CC, such as a mouse, trackball, or cursor direction keys, used to communicate directional information and command selections to the processor PRO and to control cursor movement on the display DS. Such input devices typically have two degrees of freedom on two axes (i.e., a first axis (e.g., x) and a second axis (e.g., y)), allowing the device to specify its position in a plane. Touchpad (screen) displays can also be used as input devices.
[0098] In some embodiments, a portion of one or more methods as described herein may be performed by a computer system CS in response to a processor PRO executing one or more sequences of one or more instructions included in main memory MM. These instructions may be read from another computer-readable medium, such as a storage device SD, into main memory MM. Execution of the instruction sequence included in main memory MM causes the processor PRO to perform the process steps (operations) described herein. One or more processors arranged in a multiprocessor configuration may also be employed to execute the instruction sequence included in main memory MM. In some embodiments, a hard-wired circuit system may 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.
[0099] As used herein, the terms “computer-readable medium” and / or “machine-readable medium” refer to any medium that participates in providing instructions to a processor (PRO) 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 devices (SDs). Volatile media include dynamic memory, such as main memory (MMs). Transmission media include coaxial cables, copper wires, and optical fibers, including wires comprising a bus (BS). 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. Computer-readable media can be non-transitory, such as floppy disks, floppy 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. Non-transitory computer-readable media may have instructions recorded thereon. When executed by a computer, the instructions can perform any of the operations described herein. For example, a temporary computer-readable medium may include a carrier wave or other medium that propagates electromagnetic signals.
[0100] Various forms of computer-readable media can be used to carry one or more sequences of one or more instructions to the processor PRO for execution. For example, the instructions can initially be carried on the disk of a remote computer. The remote computer can load the instructions into its dynamic memory and transmit them over a telephone line using a modem. A modem local to the computer system CS can receive data over the telephone line and convert the data into an infrared signal using an infrared transmitter. An infrared detector coupled to the bus BS can receive the data carried in the infrared signal and place the data on the bus BS. The bus BS carries the data to the main memory MM, and the processor PRO retrieves and executes the instructions from the main memory MM. The instructions received by the main memory MM can optionally be stored on the storage device SD before or after execution by the processor PRO.
[0101] The computer system CS may also include a communication interface CI coupled to the bus BS. The communication interface CI provides bidirectional data communication coupling with a network link NDL connected to a local area network (LAN). For example, the communication interface CI may be an Integrated Services Digital Network (ISDN) card or a modem to provide data communication connectivity to a corresponding type of telephone line. As another example, the communication interface CI may be a LAN card to provide data communication connectivity to a compatible LAN. Wireless links may also be implemented. In any such implementation, the communication interface CI transmits and receives electrical, electromagnetic, or optical signals carrying digital data streams representing various types of information.
[0102] A network link (NDL) typically provides data communication to other data devices via one or more networks. For example, a network link NDL can provide a connection to a host computer (HC) via a local area network (LAN). This can include data communication services provided via a global packet data communication network (now commonly referred to as the "Internet" INT). A LAN (Internet) can use electrical, electromagnetic, or optical signals to carry digital data streams. Signals passing through various networks and signals on the network data link (NDL) and through the communication interface (CI) (which carries digital data to and from the computer system (CS)) are example forms of carriers for transmitting information.
[0103] A computer system CS can send messages and receive data, including process code, via a network, network data link (NDL), and communication interface (CI). In the Internet example, a host computer HC can transmit requested code for an application via the Internet (INT), network data link (NDL), local area network (LAN), and communication interface (CI). For example, such a downloaded application can provide all or part of the methods described herein. The received code can be executed by the processor PRO upon reception and / or stored in storage device (SD) or other non-volatile storage device for later execution. In this way, the computer system CS can obtain application code in carrier form.
[0104] In some embodiments, models trained to output mask patterns based on target patterns may suffer from inconsistencies (e.g., different masks may map to the same target—as in the reference). Figure 4 The issues discussed here—which may make it difficult to train a model to output a consistent mask pattern—and / or incur data generation costs (e.g., the costs associated with generating labeled data for supervised training).
[0105] For example, due to the physical characteristics of the system and any binaryization of the mask pattern (e.g., converting grayscale to black and white for mask writing), there may be a many-to-one mapping from the mask pattern in the mask space to the target pattern in the target space. Therefore, for a given target pattern, there may exist a group of mask patterns with similar and / or equal performance, where any one of the multiple mask pattern solutions may be valid. This ambiguity can be further amplified when the mask pattern is refined (e.g., by adding SRAF / OPC features to the CTM mask pattern). Ambiguity can be problematic due to variations that may arise in the mask features of similar patterns, and this can make process control difficult. That is, a stable solution may be more desirable due to robustness to process variations. Furthermore, the ambiguity introduced in mask refinement (e.g., SRAF / OPC refinement procedures) may hinder the creation of (multiple) machine learning models that directly map from the CTM mask pattern to the target pattern. This may result in the refinement of the mask pattern having to be performed separately from the generation of the CTM mask, where the refinement process may introduce ambiguity as described above. In some training methods, these problems can be mitigated at least in part by generating large amounts of training data, which can be computationally expensive. In some training methods, the mask pattern may be assigned to one of several possible solutions, which may mask the non-uniqueness of the solutions and thus make this non-uniqueness challenge more difficult to mitigate.
[0106] In some embodiments, a machine learning model can be trained to generate mask patterns corresponding to a target pattern based on at least some supervised training, where supervised training may require “labeling” data (such as target pattern-mask pattern (e.g., CTM) pairs). However, each mask pattern (e.g., a CTM image) can be the result of a computationally intensive iterative process. Furthermore, machine learning models (such as neural networks (NNs)) may require a large number of examples (e.g., labeled training data) to provide good generalization performance. Since the entire wafer design is too large to be fully sampled (e.g., as a target pattern), this can lead to a trade-off between model generalization and computational budget (e.g., available computational resources / time), potentially resulting in pattern selection and pattern coverage challenges when choosing a target pattern from the entire wafer design to include in the training data. Moreover, selecting specific target and mask patterns to include in the labeled training data may assign the model to those specific solutions. This does not imply abandoning or denying any techniques that suffer from these problems to some extent, or any other topic.
[0107] In some embodiments, generative models can be used to overcome the need to generate computationally expensive labeled training data and to overcome the non-uniqueness of mask pattern solutions. In some embodiments, the generative model may be a conditional deep generative model. This conditional depth generation model can sample mask pattern solutions M for a physical system F given a target T, such that for any approximately The generative model can manipulate and / or generate CTM images as mask patterns, or generate any other suitable mask pattern. In some embodiments, the generative model can generate mask patterns that can be further refined (such as by SRAF / OPC refinement). In some embodiments, the generative model can at least partially generate mask patterns including SRAF / OPC refinement. In some embodiments, the generative model can be an NN model. In some embodiments, the NN model can conditionally adjust the effective mask pattern M of the physical system F (which may be a lithography system) to T. The distribution is parameterized.
[0108] Figure 9 A schematic representation of the training of a generative model for mask pattern prediction is described. According to embodiments of this disclosure, the generative model can be trained in a self-supervised manner to generate mask patterns based on a target pattern of a given physical system (e.g., an optical system, a lithography system, etc.).
[0109] The generative model G 902 can be trained to output a mask pattern based on the input of a target pattern T. The generative model G 902 can be a neural network (NN) model that accepts the target pattern T as input. The generative model G 902 can be an image-to-image model. The generative model G 902 can be a U-network model. The generative model G 902 can be a convolutional neural network (CNN). The generative model G 902 can also accept a latent variable z 906 as input. The latent variable z 906 can be a latent state representation. The latent variable z 906 can be a multidimensional random variable, including high-dimensional variables with more than 10 dimensions, more than 50 dimensions, more than 100 dimensions, etc. The latent variable z 906 can be or include one or more random variables, pseudo-random variables, etc. The latent variable z 906 can include one or more dimensions randomly and / or pseudo-randomly selected from a distribution, set, or other group of possible variables for a given dimension. For example, the latent variable z 906 can be randomly selected from a predetermined range of random variables. The latent variable z 906 can be selected from the distribution P(z) 908, including random and / or pseudo-random selection. The distribution P(z) 908 can be any suitable distribution that can be easily sampled. The distribution P(z) 908 can be a normal distribution, a uniform distribution, a Poisson distribution, etc. The distribution P(z) 908 can be symmetric (e.g., with respect to norm) or asymmetric. The distribution P(z) 908 can be different or the same for each dimension of the latent variable z 906. The distribution P(z) 908 can be linear (or any other suitable combination) of one or more distributions.
[0110] The generative model G 902 can output a mask pattern M 910. The mask pattern M 910 can be an image. The mask pattern M 910 can be output as a grayscale image. The mask pattern M 910 can be output as a binary (e.g., black and white) image. The mask pattern M 910 can be parameterized (e.g., via a sigmoid function), which can be used to convert the grayscale image to a black and white image (e.g., pixel values between 0 and 1). The mask pattern M 910 can have the same size and / or dimensions as the target pattern T. The mask pattern M 910 can have the same size and / or dimensions as the latent variable z 906, which can also have the same size and / or dimensions as the target pattern T.
[0111] To train the generative model G 902 and / or determine its accuracy, a physical system F 912 (e.g., a physical model, a physical heuristic module, etc.) can be used. The physical system F 912 (e.g., a physical model, including a physics-based model of a lithography system, etching system, resist development system, optical system, etc.) can operate on a mask pattern M 910 to produce an intermediate target pattern (e.g., as output), which can be compared with a target pattern T input to the generative model G 902 to produce the mask pattern M 910. In this way, the generative model G 902, together with the physical system F 912, can be used to train the generative model G 902 through self-supervision without creating labeled training data. The physical system F 912 can also take multiple process parameters θ 914 as input. The multiple process parameters θ 914 can be or represent process variations in the physical process corresponding to the physical system F 912 (e.g., shot noise, optical process variations, resist development variations, etc.). The (multiple) process parameters θ 914 can be or represent the configuration of the physical system F 912. For example, the (multiple) process parameters θ 914 can be selected from parameters representing different values on the focus-exposure matrix (FEM). The (multiple) process parameters θ 914 can be multidimensional variables, including high-dimensional variables with more than 10 dimensions, more than 50 dimensions, more than 100 dimensions, etc. The (multiple) process parameters θ 914 can be or include one or more random variables, pseudo-random variables, etc. The (multiple) process parameters θ 914 can include one or more dimensions randomly and / or pseudo-randomly selected from a distribution, set, or other group of possible variables for a given dimension (such as from the FEM). For example, the (multiple) process parameters θ 914 can be randomly selected from a predetermined range of random variables. The selection of the (multiple) process parameters θ 914 (e.g., randomly selected for each iteration of the generative model G 902 during training) can be used to ensure the robustness of the output of the generative model G 902 to process variations.
[0112] During training (which can be self-supervised), the generative model G 902 can be trained in multiple iterations. In each iteration, one or more target patterns T i 904 can be input into the generative model G 902 to generate one or more corresponding mask patterns M. i Then, the physical system F 912 can operate on one or more mask patterns M 910 to generate one or more intermediate target patterns. One or more target patterns T i 904 (e.g., the input to generating model 902) and one or more intermediate target patterns The difference between them can be used to determine the objective function L 918. The objective function L 918 can be a loss function. The objective function L 918 can be a cost function. The objective function L 918 can be any suitable objective function, such as the one given by Equation 4 below: in And the regularization term R(M) within it i 920 can be any suitable differentiable regularization term. The regularization term R(M) i L920 can be used to implement uniformity on the target pattern T, as will be described later. The cost function L918 can include a target fidelity term, which can be mean squared error (MSE), binary cross-entropy loss (BCE), etc. The cost function L918 can include the use of one or more target patterns T. i 904 and one or more intermediate target patterns The norm of the difference between them. The difference can be subtraction (e.g., linear difference, weighted difference, normalized difference, etc.). In some embodiments, the difference can be a linear (or any other suitable) combination of differences and can include operations such as subtraction, addition, multiplication, division, absolute value, etc., including operations that may differ in different parts of the pattern (e.g., target pattern, intermediate target pattern, mask pattern).
[0113] The generative model G 902 can be trained based on the cost function L 918 using any suitable method, such as regarding Figure 1 and Figure 6 The methods described (e.g., gradient descent, backpropagation, etc.) are described. The generative model G 902 can be trained based on the cost function L918 using any suitable methods described above for supervised, semi-supervised, self-supervised, and / or unsupervised training. In some embodiments, self-supervised training may be associated with semi-supervised training, and in some embodiments, training may exist in a sliding ratio between fully self-supervised and semi-supervised training. Additionally or alternatively, the training described for the generative model (e.g., generative model G 902) can be applied to deterministic or non-generative models. For example, a generative model utilizing self-supervised training (e.g., generative model G 902) can be essentially a deterministic model utilizing self-supervised training.
[0114] In some embodiments, the generative model G 902 can be trained one target at a time. In some embodiments, the generative model G 902 can be trained on a batch of targets in each iteration. The batch size in each iteration can be the same or different. For example, as the model is trained, additional targets can be added to the training (e.g., the batch size can be increased as training progresses). In some embodiments, target patterns can also be dropped from the batch as training progresses, for example, regarding... Figure 5C and Figure 5D The description includes the use of hyperparameters.
[0115] In each iteration, a latent variable z 906 can be sampled from the distribution P(z) 908. In some embodiments, the latent variable z 906 can be sampled for iteration (e.g., for inputting into the generative model G 902 and applying to one or more target patterns T in the batch). i Each of 904). In some embodiments, one or more target patterns T can be targeted at a batch. i For each of 904, sample the latent variable z for iteration 906 (e.g., for one or more target patterns T in a batch). i Each of the 904 samples is sampled independently. Then, the latent variable z 906 and one or more target patterns T are combined. i Each feed in 904 is fed into the current iteration of the generative model G 902 to produce one or more mask patterns M. i The corresponding mask pattern in the [data]. Then, one or more mask patterns M [are used]. i The feed is sent to the physical system F 912, which generates one or more intermediate target patterns. Just as the generative model G 902 operates on the latent variable z 906, the physical system F 912 can also take (multiple) process parameters θ 914 as inputs. (Multiple) process parameters θ 914 can be sampled for iteration (e.g., for one or more mask patterns M input to the physical system F 912 and applied to that batch). i Each of the following). In some embodiments, one or more mask patterns M can be targeted at a batch. i For each of the samples, the process parameters θ914 used for iteration are sampled (e.g., for one or more mask patterns M in a batch). i Each of the samples is taken independently. (Multiple) process parameters θ914 and one or more mask patterns M i Each of these can be fed into the physical system F 912 to generate one or more intermediate target patterns. Then, one or more target patterns T can be used. i904 and one or more intermediate target patterns To determine the cost function L918 used for iteration.
[0116] In some embodiments, the generative model G 902 can then be updated based on the gradient of a cost function (or another function of the cost function L 918), which can convert the output mask (e.g., one or more mask patterns M) into an output mask. i Both the input (e.g., expectation) and the target (e.g., one or more target patterns T) are related to the latent variable z 906. i (904) is associated with this. Therefore, the generative model G 902 can be trained in a manner reminiscent of that used to train generative adversarial networks (GANs), without the need to use or learn a discriminator.
[0117] In some embodiments, the physical system F 912 is applied to one or more mask patterns M i This may still result in high computational costs (e.g., it may be computationally intensive). However, in some embodiments, training of the generative model G 902 can occur simultaneously with determining multiple solutions (e.g., multiple mask patterns M 910) for one or more target patterns T. This can improve the convergence speed and / or generalization of the generative model G 902. In some embodiments, self-supervised training can be based on a large dataset consisting entirely of target patterns T, which can eliminate the need for labeled data and / or pre-computed mask patterns M. In some embodiments, by ignoring variability in the latent variable z 906 (e.g., by selecting, prohibiting, defining, etc., constant latent variables z 906), training can produce a deterministic, fully self-supervised model. In some embodiments, similarly, variability in the process parameter(s) θ 914 can be ignored.
[0118] In some embodiments, since the generative model G 902 can be trained without creating labeled training data (e.g., without generating a refined and / or optimized mask pattern M corresponding to the target pattern T), as many segments as possible (e.g., the target pattern T) can be selected within the computational budget. i 904). In some embodiments, virtually all all-wafer designs can be selected as the target pattern T. i 904. In another embodiment, the target pattern T is included in the iteration (e.g., as a batch). i The number of 904s can increase over time (e.g., with the number of iterations) until essentially all full-chip designs are selected (e.g., in a "segment" manner) as the target pattern T. i Up to 904.
[0119] In some embodiments, once the generative model G 902 is trained, a mask pattern M can be generated based on a target pattern T with or without sampling from a distribution P(z) 908. For example, if the distribution P(z) 908 is normally distributed, the average value of the latent variable z 906 can be used when generating the mask pattern M based on the target pattern T. In another embodiment, the value of the latent variable z 906 can be sampled from the distribution P(z) 908 and used together with the trained generative model G 902 to generate the mask pattern M based on the target pattern T.
[0120] In some embodiments, various different latent variables z can be sampled from distribution P(z) 908 to be used with the same mask pattern M to generate statistical results of uncertainty estimates for a trained generative model G 902. In some embodiments, multiple latent variables z can be sampled from distribution P(z) 908 and conditionally adjusted with multiple target patterns T to generate uncertainty estimates.
[0121] In some embodiments, consistency among mask patterns M can be enforced, including during the training of the generative model G902. For example, in some embodiments, the sampling distribution (e.g., distribution P(z)908) can be ignored, and the generative model G902 can be trained as a deterministic neural network in a self-supervised manner. In such a deterministic model, the generative model G902 can be configured to accept an empty latent variable z906 or additionally or alternatively, be configured to operate only on the target pattern T without inputting the latent variable z906.
[0122] In another example, in some embodiments, the random number generator can be seeded (e.g., fixing the distribution P(z) 908 and making the latent variable z 906 pseudo-random and / or repeated), and the target pattern T is evaluated with a fixed (or small-variable) z. Since the inputs (e.g., the latent variable z 906 and the target pattern T) are similar with respect to this fixed z, for a given generative model G 902, only small variations in the output (e.g., the mask patterns M) are expected (e.g., during training and / or deployment), which can reflect the inherent variations in the target pattern. In this sense, fixing z may push the network determinism to the reproducibility limit.
[0123] In some embodiments, the generative model G 902 can be trained such that patterns of random variables (e.g., pattern z0) can be associated with optimal performance (where performance can include any appropriate performance measure, such as the largest process variation window, the most stable FEM, robustness, reproducibility, image quality, etc.). In some embodiments, this can be achieved by selecting a distribution P(z) 908 of patterns having P(z) associated with a cost term. For example, each batch or iteration can include a latent variable z 906 of pattern z0, and the optimization function can include terms (such as...) ), making M i,0 It is a mask pattern generated by mode z0 (e.g., ), where α0 is greater than 1. In such an embodiment, the generative model G 902 can be trained with respect to a specific pattern represented by z0 (e.g., orientation) (e.g., including the driving solution orientation M in the optimization function). i,0 (loss item).
[0124] In another example, in some embodiments, consistency can be enforced and / or rewarded in the mask pattern M domain. For example, given mask pattern M' (corresponding to target pattern T') and mask pattern M (corresponding to target pattern T), where target patterns T' and T are similar, similarity between M' and M can also be enforced. In some embodiments, a latent variable z can be found for the target pattern T used by the generative model G902 to output mask pattern M, such that the distance to mask pattern M' (e.g., distance in mask pattern space) minimizes M, while also minimizing reconstruction error (e.g., co-minimization, thresholding, etc.). If a set of similar targets exists, consistency can be enforced and / or rewarded by finding a latent variable z that minimizes the differences between mask patterns (corresponding to this set of similar targets), while also optimizing the performance of the generative model G on that set.
[0125] In some embodiments, the generative model G902 can be tested for generalization (e.g., generalization to different target patterns T) and / or coverage (e.g., coverage of a full-chip design or fragments thereof). For example, the generative model G902 can be provided with a set of previously unseen (e.g., not used in training) target patterns T. The performance distribution of the generative model G902 can then be evaluated (including empirical evaluation) to determine the distribution of the loss (or other optimization function values) for the unseen target patterns T. By comparing the loss distribution of the unseen target patterns T with the loss distribution across all other target patterns T, it can be determined whether the unseen target patterns T have a loss distribution other than the loss distribution across all other target patterns T, which may correspond to a large deviation and / or small overlap between the performance of the generative model G902 on the unseen target patterns T (e.g., compared to the target patterns T used in training).
[0126] In some embodiments, the generative model G902 can be trained to also generate robust masks by using process parameters(θ914) (which may be the same process parameters(θ914) as input to the physical system F912 for a given iteration) as input. The process parameters(θ914) may be sampled from a distribution (including random, pseudo-random, etc.) and input into the generative model G902 during training and / or deployment.
[0127] In some embodiments, process variability can be considered by training the robustness of the generative model G902 against process variations (e.g., variations due to physics) through random (or pseudo-random) selection of the process parameters θ914 input to the physical system F912. In some embodiments, the process parameters θ914... It can also be included as input to the generative model G 902, such as to conditionally adjust the generative model G 902 to operate on specific and / or stochastic process parameter configurations.
[0128] In some embodiments, the generative model G 902 can be any suitable image-to-image. In some embodiments, the latent variable z can be an "image" with randomly selected pixel values (e.g., an image with the same size or dimensions as the target pattern T). In another embodiment, the latent variable z can exist as a channel in the image of the target pattern T. In another embodiment, the target pattern T can be modified (e.g., corrupted) by addition, subtraction, convolution, etc., with the latent variable z. In embodiments, the generative model G 902 can be configured such that its architecture can process the target pattern T and the latent variable z separately (including sequentially, simultaneously, asynchronously, etc.) before merging the obtained features to generate the mask pattern M. In such embodiments, the latent variable z can have any suitable shape, including shapes, sizes, dimensions, etc., different from the target pattern T. In some embodiments, a variable autoencoder can be added (and trained) to encode or otherwise provide the structure for the latent variable z.
[0129] In some embodiments, the cost function L 918 (which may be a loss function) can typically consist of a data fidelity term, which may depend on (multiple) predicted target patterns (e.g., target patterns). The process may consist of (a) and (a) desired target patterns (e.g., (a) target patterns T), and the included regularization term may depend on (a) mask patterns (e.g., (a) mask patterns M). The regularization term may include a total variation term, which can serve to smooth the features. In some embodiments, process variation may also or alternatively be achieved by sampling (a) process parameters. (Including random or pseudo-random sampling) and included, the process parameters can act as a kind of random regularization.
[0130] In some embodiments, the fuzziness of the solution space can be accepted, rather than opposed, and even used to generate statistical analyses for solution robustness. In some embodiments, multiple solutions (e.g., mask patterns M) can be generated for a given target (e.g., target pattern T). Because multiple solutions can be found, statistical analyses can be performed to determine robustness, reliability, and other statistical results for effective mask patterns—for example, effective mask patterns can have quantified and / or qualified uncertainty and reliability. In some embodiments, this can allow for post-selection of mask patterns from the set of effective mask patterns, such as ranking based on mask scores (e.g., by robustness, reliability, etc.), resampling, etc. In some embodiments, the optimal latent variable z can be determined, such as by a maximum likelihood estimation (MLE) method. In some embodiments, backpropagation of error into the latent space can allow for the determination of the optimal latent variable z.
[0131] In some embodiments, the generative model G can bypass any need to generate computationally expensive data to train a neural network for individual mask pattern prediction. Self-supervised training allows the generative model G to be trained to find solutions without explicitly mapping the target pattern space to the mask pattern space. Thus, a variety of effective mask patterns can be learned without learning external mask patterns. In some embodiments, the generative model G can be used to provide (including on-demand) a large number of mask pattern samples (such as for forming full-chip and / or wafer designs), which can alleviate both the pattern selection challenge and the pattern coverage challenge. In some embodiments, given that the generative model G can process a large number of target patterns to produce a correspondingly large number of mask patterns, the generative model G can learn the underlying statistical properties of the target patterns and how to map them to permissible mask pattern solutions. In some embodiments, other target patterns that follow the same statistical patterns as the selected target patterns can then be generalized based on those target patterns included in the training. In some embodiments, target patterns that do not follow the same statistical patterns as the target patterns already included in the training can be identified by their different or out-of-place statistical patterns and then included in additional training to further extend the generative model G.
[0132] In some embodiments, a self-supervised model (such as a generative model G) can be expected to converge faster than when trained using a supervised process (e.g., a fully supervised process). This is likely because the training of a self-supervised model can operate on multiple target patterns simultaneously (e.g., a batch of target patterns). This batch of target patterns can provide more information to the self-supervised model in each training iteration (rather than to a model trained on supervised data). Therefore, the self-supervised model can generate better quality information for each training iteration. This can contrast with supervised models, which may require extensive, computationally intensive data generation even before training begins and may need to solve an inverse model or inverse problem for each target pattern-mask pattern pair of supervised training data.
[0133] Figure 10 This is a schematic representation of a mask pattern prediction model trained using reinforcement learning. According to embodiments of this disclosure, a model can be trained (or further trained) using reinforcement learning to generate mask patterns based on a target pattern.
[0134] In this embodiment, an ML model can be trained to generate a mask pattern based on a target pattern. The ML model can be any suitable model, such as a neural network (NN), a CNN, an image-to-image model, etc. The ML model can be any suitable model described with respect to any other embodiment herein. The ML model can be trained under supervised training.
[0135] In an embodiment, the ML model 1016 may be initially trained, for example at operation 1010, based on a set of benchmark real data 1000. The benchmark real data 1000 may include a set of target patterns 1002 and a corresponding set of mask patterns 1004. In some embodiments, the target pattern 1002 may be generated based on the mask pattern 1004, for example by using a forward model, a physical model, or any other suitable method. In some embodiments, the mask pattern 1004 may be generated based on the target pattern 1002, for example by using an inverse model or any other suitable method. The benchmark real data 1000 may be a CTM mask pattern, which may be developed based on hundreds of refinement and / or optimization iterations between the forward and inverse models. The benchmark real data 1000 may be prepared by any suitable method. The benchmark real data 1000 may be determined based on an ML (e.g., NN) model, a physical model, etc. The benchmark real data 1000 may be prepared from previous iterations of the ML model 1016, or by refining and / or optimizing the output of previous iterations of the ML model 1016. ML model 1016 can be trained on the baseline real data 1000 using any suitable method. ML model 1016 can be trained via supervised training. ML model 1016 can be trained via semi-supervised training, such as by using labeled data from the baseline real data 1000 and any other suitable unlabeled data. ML model 1016 can be trained using any suitable method, such as those mentioned above. Figure 3 , Figure 4 Figure 5 Figure 6 and Figure 9 The method described.
[0136] In an embodiment, a trained ML model 1026 (e.g., a trained version of ML model 1016 created at operation 1010) can be applied to a target pattern set at operation 1020. The target pattern can be target pattern 1002 of the baseline real data 1000. The target pattern can include one or more target patterns other than target pattern 1002 of the baseline real data 1000. For example, in each iteration of training, a target pattern can be selected, for example, by a target selection algorithm, and said target pattern can be added to the target pattern set. Additionally or alternatively, in some embodiments, target patterns can be reduced from the target pattern set. The trained ML model 1026 can output a mask pattern set 1036 based on the target pattern set.
[0137] In an embodiment, at operation 1030, the target pattern set and mask pattern set 1036 corresponding to the trained ML model 1026 can be refined. Refinement may include SRAF / OPC refinement, or any other suitable refinement. Refinement may include multiple (e.g., tens, hundreds, etc.) iterations through the forward and inverse models, such as during the addition of SRAF. Refinement may include adjustments to the mask pattern and / or the target pattern.
[0138] In an embodiment, after refinement, the adjusted target pattern set 1042 and the adjusted mask pattern set 1044 can be selected as the updated baseline real dataset 1040.
[0139] In this embodiment, the updated ML model can then be trained using the updated benchmark real dataset 1040. This process can be repeated iteratively to strengthen the ML model through reinforcement learning and refinement. Reinforcement learning can lead to convergence of the mask pattern, reduce edge placement errors, reduce process variation (PV) bands, etc.
[0140] The embodiments disclosed herein can be further described by the following terms. 1. A method for training a machine learning (ML) model for mask pattern generation, the method comprising: The ML model is obtained, and the ML model is configured to generate an output mask pattern based on an input pattern; and The ML model is trained using the following steps: The ML model is applied to train the input pattern to generate the predicted mask pattern; A forward model is applied to the predicted mask pattern to generate a predicted wafer pattern, the forward model being configured to predict the output pattern based on the input mask pattern; Determine the difference between the training input pattern and the predicted wafer pattern; and The ML model is adjusted based on the difference between the training input pattern and the predicted wafer pattern. 2. The method according to clause 1, wherein training the ML model by applying the ML model to the training input pattern comprises: training the ML model by unsupervised training. 3. The method according to clause 2 further includes training the ML model for one or more additional training input patterns via semi-supervised training, unsupervised training, and / or self-supervised training. 4. The method according to item 3, wherein each of the one or more additional training input patterns includes a sub-pattern of the design layout. 5. The method according to item 2, wherein training the ML model further includes: The ML model is trained based on a supervised training dataset, which includes a set of supervised training patterns and corresponding training mask patterns. 6. The method according to item 5, wherein the ML model and the forward model generate outputs at different time intervals, and wherein (i) the ML model is trained based on the supervised training dataset and (ii) the ML model is trained by performing the unsupervised training asynchronously. 7. The method according to clause 6, wherein adjusting the ML model based on the difference between the training input pattern and the predicted wafer pattern occurs substantially after the forward model generates the predicted wafer pattern. 8. The method according to clause 5, wherein the supervised training pattern is a reference real wafer pattern for the corresponding training mask pattern. 9. The method according to item 5, wherein the supervised training pattern is selected by a pattern selection algorithm. 10. The method according to item 5, wherein the training input pattern of the unsupervised training is not a member of the supervised training pattern set of the supervised training dataset. 11. The method according to clause 5, wherein (i) training the ML model based on the supervised training dataset and (ii) training the ML model through the unsupervised training comprises: adjusting the ML model based on (i) the difference between a training mask pattern of the supervised training dataset and a mask pattern predicted by the ML model based on the supervised training pattern of the supervised training dataset, and (ii) the difference between one or more training input patterns and one or more predicted wafer patterns. 12. The method according to clause 11, wherein (i) the difference between the training mask pattern of the supervised training dataset and the mask pattern predicted by the ML model based on the supervised training pattern of the supervised training dataset, and (ii) the difference between the one or more training input patterns and the one or more predicted wafer patterns includes a first portion of a cost function and a second portion of a cost function, the first portion of the cost function and the second portion of the cost function being associated by hyperparameters, and wherein the hyperparameters evolve with the training. 13. The method according to clause 1, wherein training the ML model comprises: adjusting at least one of the parameters, form, or combinations thereof of the ML model until a termination criterion is met, wherein the termination criterion is at least one of the gradient value, loss function value, cost function value, number of iterations, running time, acceptance of additional outputs of the forward model, or combinations thereof. 14. The method according to item 1, further comprising: determining a loss function based on the difference between the training input pattern and the predicted wafer pattern, wherein adjusting the ML model comprises: adjusting the ML model based on the loss function. 15. The method according to clause 14, wherein adjusting the ML model comprises: adjusting the ML model based on the gradient of the loss function. 16. The method according to clause 1, wherein the output mask pattern includes at least one of a mask layout, a spatial image, a mask image, a continuous transmission mask (CTM) pattern, and combinations thereof. 17. The method according to item 1, wherein the ML model is a neural network (NN). 18. The method according to clause 1, wherein the forward model includes a process model. 19. The method according to clause 1, wherein the forward model is at least one of an optical model, an etching model, a resist model, a photolithography model, a physical model, and combinations thereof. 20. The method according to clause 1, wherein the forward model is not substantially altered by the training. 21. The method according to item 1, wherein the positive model is a non-machine learning (non-ML) model. 22. A method for training an ML model, the ML model being configured to generate a mask pattern based on an input target pattern, the method comprising: Obtaining ML models; and The ML model is trained based on the first training dataset and the second training dataset. The first training dataset includes a first target pattern set and corresponding determined mask patterns, and The second training dataset includes a second set of target patterns. The training mentioned therein includes: The ML model is applied to the first target pattern set to generate a first predicted mask pattern set; Determine the relationship between the first predicted mask pattern set and the corresponding determined mask pattern; The ML model is applied to one or more of the second target pattern set to generate one or more predicted mask patterns; The forward model is applied to the one or more predicted mask patterns to generate one or more predicted target patterns; Determine the relationship between one or more of the second target pattern set and the one or more predicted target patterns; and The parameters of the ML model are determined based on (i) the relationship between the first predicted mask pattern set and the corresponding determined mask pattern, and (ii) the relationship between one or more of the second target pattern set and the one or more predicted target patterns. 23. The method according to clause 22, wherein the first target pattern set and the second target pattern set include sub-patterns of a larger target pattern. 24. The method according to clause 23, wherein one or more of the second set of target patterns are selected from the larger target patterns based on a stability metric. 25. The method according to clause 23, wherein one or more of the second set of target patterns are selected from the larger target patterns until a termination criterion is met. 26. The method according to clause 22, wherein the relationship between the first predicted mask pattern set and the corresponding determined mask pattern includes: the difference between the first predicted mask pattern set and the corresponding determined mask pattern, and wherein the relationship between one or more of the second target pattern set and the one or more predicted target patterns includes: the difference between one or more of the second target pattern set and the one or more predicted target patterns. 27. The method according to clause 22, wherein the training comprises: a portion of supervised training based on the first training dataset and a portion of unsupervised training based on the second training dataset. 28. The method according to clause 22, wherein the relationship between the first predicted mask pattern set and the corresponding determined mask pattern includes a first portion of a cost function, and wherein the relationship between one or more of the second target pattern set and the one or more predicted target patterns includes a second portion of the cost function, the first portion of the cost function and the second portion of the cost function being associated by hyperparameters. 29. The method according to clause 28, wherein the hyperparameter evolves over time. 30. The method according to item 28, wherein the hyperparameters evolve with the number of iterations. 31. The method according to clause 28, wherein the hyperparameters are evolved based on an evolution criterion. 32. The method according to item 28, wherein the hyperparameter controls the relative contribution of the first training dataset and the second training dataset to the training of the ML model. 33. The method according to clause 28, wherein before the decision point time, the hyperparameters of the second part of the cost function are substantially negligible when compared with the hyperparameters of the first part of the cost function, and are substantially non-negligible after the decision point time. 34. The method according to clause 28, wherein after the decision point time, the hyperparameters for the first part of the cost function are reduced relative to the hyperparameters for the second part of the cost function. 35. The method according to item 22, further comprising training the ML model based on a third training dataset, the third training dataset including the first target pattern set, wherein the training further comprises: The ML model is applied to the first target pattern set to generate a third predicted mask pattern set; The positive model is applied to the third predicted mask pattern set to generate the third predicted target pattern set; and Determine the relationship between the first target pattern set and the third predicted target pattern set; The determination of the parameters of the ML model also includes: determining the parameters of the ML model based on the relationship between (iii) the first target pattern set and the third predicted target pattern set. 36. The method according to clause 35, wherein the relationship between the first predicted mask pattern set and the corresponding determined mask pattern includes a first part of a cost function, wherein the relationship between the first target pattern set and the one or more predicted target patterns includes a second part of the cost function, and wherein the relationship between the first target pattern set and the third predicted target pattern set includes a third part of the cost function, wherein the first part, the second part, and the third part of the cost function are associated by hyperparameters. 37. The method according to clause 36, wherein the hyperparameters are evolved based on different evolution criteria. 38. The method according to clause 36, wherein the hyperparameter control is derived from the relative contributions of the first training dataset, the second training dataset, and the third training dataset. 39. The method according to clause 36, wherein before the second decision point time, the hyperparameters for the third part of the cost function are substantially negligible when compared with at least one of the hyperparameters for the first part of the cost function and the hyperparameters for the second part of the cost function, and are substantially non-negligible after the second decision point time. 40. The method according to clause 35, wherein the training comprises: a portion of supervised training based on the first training dataset, a portion of unsupervised training based on the second training dataset, and a portion of unsupervised training based on the third training dataset. 41. The method according to clause 22, wherein the determined mask pattern is a reference real mask pattern for the first target pattern set. 42. The method according to clause 1, wherein: Applying the ML model to a training input pattern to generate a predicted mask pattern includes: applying the ML model to multiple training input patterns to generate multiple predicted mask patterns. Applying the forward model to the predicted mask pattern to generate the predicted wafer pattern includes: applying the forward model to the plurality of predicted mask patterns to generate a plurality of predicted wafer patterns. Determining the difference between the training input pattern and the predicted wafer pattern includes: determining the difference between the plurality of training input patterns and the plurality of predicted wafer patterns, and Adjusting the ML model based on differences includes adjusting the ML model based on the differences between the plurality of training input patterns and the plurality of predicted wafer patterns. 43. The method according to item 1 or 42, wherein the ML model is a generative model. 44. The method according to clause 42, wherein determining the difference between the plurality of training input patterns and the plurality of predicted wafer patterns comprises: determining, for each of the plurality of training input patterns, the difference between a given training input pattern and the corresponding predicted wafer pattern. 45. The method according to clause 42, wherein applying the ML model to the plurality of training input patterns comprises: applying the ML model to the plurality of training input patterns and one or more multidimensional variables, wherein the ML model is further configured to generate an output mask pattern based on the input patterns and the input multidimensional variables. 46. The method according to clause 45, wherein the one or more multidimensional variables are sampled from the distribution of the multidimensional variables. 47. The method according to clause 46, wherein the distribution is a uniform distribution, a normal distribution, a binomial distribution, a Bernoulli distribution, a Poisson distribution, or any combination thereof. 48. The method according to clause 45, wherein the one or more multidimensional variables are at least partially random and / or pseudo-random. 49. The method according to clause 45, wherein the one or more multidimensional variables include a latent state representation. 50. The method according to clause 45, wherein applying the ML model to the plurality of training input patterns and one or more multidimensional variables comprises: applying the ML model to a plurality of training input pattern sets and corresponding multidimensional variables, wherein the multidimensional variables of each set vary among at least some sets. 51. The method according to clause 42, wherein training the ML model comprises: iteratively training the ML model, and wherein the one or more multidimensional variables vary between at least some training iterations. 52. The method according to clause 42, wherein applying the forward model to the plurality of predicted mask patterns comprises: applying the forward model to the plurality of predicted mask patterns and one or more process parameters, wherein the forward model is further configured to generate an output pattern based on an input mask pattern and an input process parameter. 53. The method according to clause 52, wherein the one or more process parameters are multidimensional variables. 54. The method according to clause 52, wherein the process parameter represents process window conditions, process variations, or any combination thereof. 55. The method according to clause 52, wherein the process parameters are sampled from the distribution of process parameters. 56. The method according to clause 52, wherein the one or more process parameters are at least partially random and / or pseudo-random. 57. The method according to clause 52, wherein applying the forward model to the plurality of predicted mask patterns and one or more process parameters comprises: applying the forward model to a plurality of predicted mask pattern sets and corresponding process parameters, wherein the process parameters of each set are substantially the same. 58. The method according to clause 52, wherein applying the forward model to the plurality of predicted mask patterns and one or more process parameters comprises: applying the forward model to a plurality of predicted mask pattern sets and corresponding process parameters, wherein the process parameters for each set vary among at least some sets. 59. The method according to clause 52, wherein training the ML model comprises: iteratively training the ML model, and wherein one or more process parameters vary between at least some training iterations. 60. A method for training a machine learning (ML) model for mask pattern prediction, the method comprising: Obtain an ML model, which is configured to generate an output pattern based on an input pattern; and The ML is trained using the following steps: The ML model is applied to one or more target patterns to generate one or more output patterns, wherein the one or more output patterns include mask patterns; A physical model is applied to the one or more output mask patterns to generate one or more intermediate target patterns, the physical model being configured to generate output target patterns based on input mask patterns; Determine the differences between the one or more intermediate target patterns and the one or more target patterns; and The ML model is adjusted based on the differences between the one or more intermediate target patterns and the one or more target patterns. 61. The method according to clause 60, wherein applying the ML model to the one or more target patterns further comprises: inputting multidimensional variables into the ML model. 62. The method according to item 61, wherein the multidimensional variable is sampled from the distribution. 63. The method according to clause 62, wherein the distribution is a uniform distribution, a normal distribution, a binomial distribution, a Bernoulli distribution, a Poisson distribution, or any combination thereof. 64. The method according to clause 62, wherein the multidimensional variable is at least partially random or pseudo-random. 65. The method according to clause 62, wherein the multidimensional variable includes an image containing pixel values, the pixel values being variable. 66. The method according to clause 62 or 65, wherein the multidimensional variable is input into the ML model as an image channel associated with the one or more target patterns. 67. The method according to clause 62 or 65, wherein the multidimensional variable is added to the one or more target patterns, the one or more target patterns are distorted by the multidimensional variable, and the one or more distorted target patterns are input into the ML model. 68. The method according to clause 62 or 65, wherein the multidimensional variable and the one or more target patterns are input at the same or different layers of the ML model. 69. The method according to clause 61, wherein the multidimensional variable includes a variable having one hundred or more dimensions. 70. The method according to clause 61, wherein the multidimensional variable includes a latent representation. 71. The method according to item 60, wherein the ML model is a generative model. 72. The method according to item 60, wherein the ML model is an image-to-image model. 73. The method according to clause 60, wherein the one or more output patterns are images having pixels and pixel values. 74. The method according to clause 60, wherein the one or more intermediate target patterns are represented as an image having pixels and pixel values. 75. The method according to clause 73 or 74, wherein the pixel value is parameterized by a differentiable function. 76. The method according to clause 60, wherein adjusting the ML model based on differences includes adjusting the ML model based on a loss function and / or a cost function. 77. The method according to clause 76, wherein the loss function and / or the cost function includes a regularization term. 78. The method according to clause 76, wherein the loss function and / or the cost function includes a mode selection option. 79. The method according to clause 76, wherein the loss function and / or the cost function further includes a similarity selection term configured to penalize the difference between the one or more output mask patterns and a reference mask pattern. 80. The method according to any one of clauses 76 to 79, wherein applying the ML model to the one or more target patterns further comprises: inputting one or more multidimensional variables into the ML model, and wherein adjusting the ML model based on the loss function and / or the cost function further comprises: determining the loss function and / or the cost function based at least in part on the multidimensional variables. 81. The method according to clause 60 further includes a step of testing the generalization of the ML model to one or more additional target patterns. 82. The method according to clause 60, wherein applying a physical model to the one or more output patterns to generate one or more intermediate target patterns comprises: applying the physical model to a set of physical configuration parameters, the physical configuration parameters including parameters corresponding to the physical configuration of the physical model. 83. The method according to clause 82, wherein the set of physical configuration parameters includes at least in part random parameters and / or pseudo-variable parameters. 84. The method according to clause 82, wherein the set of physical configuration parameters includes one or more ranges of physical configuration parameters. 85. The method according to clause 82 further includes the step of training the robustness of the ML model by adjusting the set of physical configuration parameters. 86. The method according to item 60, wherein training the ML model comprises: training the ML model through self-supervision. 87. A method for training a machine learning (ML) model for mask pattern prediction, the method comprising: An initially trained ML model is obtained, wherein the initially trained ML model is trained to generate one or more mask patterns as outputs based on one or more target patterns as inputs; Generate a subsequent training dataset for the ML model, including: Select the target pattern set for subsequent training; The ML model is used to generate subsequent mask patterns for the subsequent training target patterns; and The subsequent mask pattern is refined based on the physical model and the subsequent training target pattern; and The ML model is trained based on the subsequent training dataset, wherein the subsequent training dataset includes the subsequent training target pattern set and the refined subsequent mask pattern. 88. The method according to clause 87, wherein obtaining the initially trained ML model comprises: Obtain an initial training dataset for the ML model, the initial training data including an initial set of target patterns and corresponding initial mask patterns; and The ML model is trained based on the initial training dataset. 89. The method according to clause 88, wherein the corresponding initial mask pattern comprises a mask pattern generated by a second physical model based on the initial target pattern. 90. The method according to clause 89, wherein the physical model is the second physical model. 91. The method according to clause 89, wherein the mask pattern generated by the physical model based on the initial target pattern comprises a mask pattern generated by iteratively performing the following steps: Obtain an initial mask pattern for a given initial target pattern; The physical model is applied to the initial mask pattern to generate an intermediate target pattern; Determine the difference between the intermediate target pattern and the given initial target pattern; and The initial mask pattern is refined to generate a refined mask pattern based on the difference between the intermediate target pattern and the given initial target pattern. 92. The method according to clause 91, wherein the mask pattern generated by the physical model comprises a mask pattern generated by one hundred or more iterations. 93. The method according to clause 89, wherein the mask pattern generated by the second physical model based on the initial target pattern includes a mask pattern generated based on the second physical model through one hundred or more iterations of adjustment. 94. The method according to any one of clauses 87 and 91 to 93, wherein refining the subsequent mask pattern based on the physical model and the subsequent training target pattern comprises iteratively performing the following steps: The physical model is applied to the subsequent mask pattern for a given subsequent training target pattern to generate a second intermediate target pattern; Determine the difference between the second intermediate target pattern and the given subsequent training target pattern; and The subsequent mask pattern is refined based on the difference between the second intermediate target pattern and the given subsequent training target pattern to generate a refined mask pattern. 95. The method according to clause 94, wherein refining the subsequent mask pattern comprises: refining the subsequent mask pattern in fewer than one hundred iterations. 96. The method according to clause 94, wherein the number of iterations for refining the subsequent mask pattern is less than the number of iterations for refining the mask pattern used for initially training the ML model. 97. The method according to any one of clauses 87 and 91 to 93, wherein the refined subsequent mask pattern comprises a mask pattern generated based on the physical model through dozens of iterations of adjustment. 98. The method according to clause 88, wherein the corresponding initial mask pattern, the subsequent mask pattern and / or the refined subsequent mask pattern includes at least one of optical process correction (OPC), subresolution auxiliary feature (SRAF), freeform mask optimization and continuous transport mask (CTM). 99. The method according to clause 88, wherein the initial target pattern set and the subsequent training target pattern set comprise substantially the same target patterns. 100. The method according to clause 88, wherein the initial target pattern set and the subsequent training target pattern set comprise at least some different target patterns. 101. The method according to clause 88, wherein the subsequent training target pattern set includes the initial target pattern set and additional target patterns. 102. The method according to item 87 further includes training the ML model by the following steps: Generate one or more additional training datasets for the ML model, including: Select an additional training target pattern set; The ML model is used to generate additional mask patterns for the additional training target patterns; and The additional mask pattern is refined based on the physical model and the additional training target pattern; and The ML model is trained based on one or more additional training datasets, wherein the additional training datasets include the additional training target pattern set and the refined additional mask pattern. 103. The method according to clause 87 further comprises iteratively training the ML model based on one or more additional training datasets, wherein the additional training datasets include an additional set of training target patterns and corresponding additional mask patterns, the corresponding additional mask patterns being generated by the ML model for the additional training target patterns and refined based on the physical model. 104. The method according to clause 102 or 103, wherein the additional training target pattern set includes target patterns other than the subsequent training target pattern set.
[0141] While the concepts disclosed herein can be used to manufacture substrates (such as silicon wafers), it should be understood that the disclosed concepts can be used in any type of manufacturing system (e.g., a manufacturing system for manufacturing on substrates other than silicon wafers).
[0142] Furthermore, combinations and sub-combinations of the disclosed elements may include individual embodiments. For example, one or more of the above operations may be included in a separate embodiment, or they may be included together in the same embodiment.
[0143] The above description is intended to be illustrative and not restrictive. Therefore, it will be apparent to those skilled in the art that modifications can be made to the description without departing from the scope of the claims set forth below.
Claims
1. A computer-implemented method for training a machine learning (ML) model for mask pattern generation, the method comprising: The ML model is obtained, and the ML model is configured to generate an output mask pattern based on an input pattern; as well as The ML model is trained using the following methods: The ML model is applied to train the input pattern to generate the predicted mask pattern; A forward model is applied to the predicted mask pattern to generate a predicted wafer pattern, the forward model being configured to predict the output pattern based on the input mask pattern; Determine the difference between the training input pattern and the predicted wafer pattern; as well as The ML model is adjusted based on the difference between the training input pattern and the predicted wafer pattern.
2. The method of claim 1, wherein training the ML model by applying the ML model to the training input pattern comprises: The ML model is trained using unsupervised training.
3. The method of claim 2, further comprising training the ML model for one or more additional training input patterns via semi-supervised training, unsupervised training, and / or self-supervised training, wherein each of the one or more additional training input patterns includes a sub-pattern of the design layout.
4. The method according to claim 2, wherein training the ML model further comprises: The ML model is trained based on a supervised training dataset, which includes a set of supervised training patterns and corresponding training mask patterns.
5. The method of claim 4, wherein the ML model and the forward model generate outputs at different time intervals, and wherein (i) the ML model is trained based on the supervised training dataset and (ii) the ML model is trained by performing the unsupervised training asynchronously.
6. The method of claim 5, wherein adjusting the ML model based on the difference between the training input pattern and the predicted wafer pattern occurs substantially after the forward model generates the predicted wafer pattern.
7. The method of claim 4, wherein the supervised training pattern is a reference real wafer pattern for the corresponding training mask pattern, and wherein the supervised training pattern is selected by a pattern selection algorithm.
8. The method of claim 4, wherein the training input pattern of the unsupervised training is not a member of the supervised training pattern set of the supervised training dataset.
9. The method of claim 4, wherein (i) the ML model is trained based on the supervised training dataset, and (ii) the ML model is trained via the unsupervised training, comprising: The ML model is adjusted based on (i) the difference between the training mask pattern of the supervised training dataset and the mask pattern predicted by the ML model based on the supervised training pattern of the supervised training dataset, and (ii) the difference between one or more training input patterns and one or more predicted wafer patterns.
10. The method of claim 9, wherein (i) the difference between the training mask pattern of the supervised training dataset and the mask pattern predicted by the ML model based on the supervised training pattern of the supervised training dataset, and (ii) the difference between the one or more training input patterns and the one or more predicted wafer patterns includes a first portion of a cost function and a second portion of a cost function, the first portion of the cost function and the second portion of the cost function being associated by hyperparameters, and wherein the hyperparameters evolve with the training.
11. The method of claim 1, wherein training the ML model comprises: Adjust at least one of the parameters, form, or combinations thereof of the ML model until a termination criterion is met, wherein the termination criterion is at least one of the gradient value, loss function value, cost function value, number of iterations, running time, acceptance of the additional output of the forward model, or combinations thereof.
12. The method according to claim 1, further comprising: A loss function is determined based on the difference between the training input pattern and the predicted wafer pattern, wherein adjusting the ML model includes adjusting the ML model based on the loss function.
13. The method of claim 1, wherein the output mask pattern comprises at least one of a mask layout, a spatial image, a mask image, a continuous transmission mask (CTM) pattern, and combinations thereof.
14. The method of claim 1, wherein the ML model is based on a neural network (NN), and wherein the forward model is a non-machine learning (non-ML) model.
15. The method of claim 1, wherein the forward model is at least one of an optical model, an etching model, a resist model, a lithography model, a physical model, and combinations thereof, and wherein the forward model is not substantially altered by the training.
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
Method of extracting data and recommending and generating visual displays
US20090157630A1