Semi-supervised, self-supervised, and reinforcement learning machine learning models for mask prediction

Semi-supervised, self-supervised, and reinforcement learning models, integrated with process models, address the challenges of data efficiency and ambiguity in mask prediction for lithography, resulting in improved accuracy and robustness of mask pattern generation.

WO2025051477A1PCT designated stage expired Publication Date: 2025-03-13ASML NETHERLANDS BV
View PDF 12 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/072404
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-25
Filing Date
2024-08-07
Publication Date
2025-03-13

AI Technical Summary

Technical Problem

Current machine learning models for mask prediction in lithography processes face challenges in efficiently generating accurate mask patterns, particularly due to the need for large amounts of labeled data and the ambiguity in mask pattern solutions.

Method used

The development of semi-supervised, self-supervised, and reinforcement learning machine learning models that utilize process models to generate mask predictions. These models apply iterative and asynchronous training methods, leveraging both supervised and unsupervised data to optimize mask pattern generation.

Benefits of technology

These approaches enable more efficient and accurate mask pattern prediction by reducing the reliance on labeled data and addressing the ambiguity in mask solutions, thereby improving the robustness and efficiency of the lithography process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024072404_13032025_PF_FP_ABST
    Figure EP2024072404_13032025_PF_FP_ABST
Patent Text Reader

Abstract

A method for training a machine learning (ML) model for mask pattern generation, comprising: obtaining the ML model, the ML model configured to generate an output mask pattern based on an input pattern; and training the ML model by: applying the ML model to a input training 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 configured to predict an output wafer pattern based on an input mask pattern; determining a difference between the target wafer pattern and the predicted wafer pattern; and adjusting the ML model based on the difference between the target wafer pattern and the predicted wafer pattern. A method for training a generative model to create mask patterns is also provided. Some embodiments provide model refinement through reinforcement learning, which may be used with any other model provided.
Need to check novelty before this filing date? Find Prior Art

Description

SEMI-SUPERVISED, SELF-SUPERVISED, AND REINFORCEMENT LEARNING MACHINE LEARNING MODELS FOR MASK PREDICTIONCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority of US application 63 / 536,696 which was filed on September 5, 2023 and US application 63 / 625, 134 which was filed on January 25, 2024 which are incorporated herein in its entirety by reference.TECHNICAL FIELD

[0002] The present disclosure relates generally to lithography process modeling, and a method for generating mask predictions based on a process model using a machine learning (ML) model.BACKGROUND

[0003] A lithographic projection apparatus can be used, for example, in the manufacture of integrated circuits (ICs). A patterning device (e.g., a mask) may contain or provide a pattern corresponding to an individual layer of the IC (“design layout”), and this pattern can be transferred onto a target portion (e.g. comprising one or more dies) on a substrate (e.g., silicon wafer) that has been coated with a layer of radiation-sensitive material (“resist”), by methods such as irradiating the target portion through the pattern on the patterning device. In general, a single substrate includes a plurality of adjacent target portions to which the pattern is transferred successively by the lithographic projection apparatus, one target portion at a time.

[0004] Prior to transferring the pattern from the patterning device to the substrate, the substrate may undergo various procedures, such as priming, resist coating and a soft bake. After exposure, the substrate may be subjected to other procedures (“post-exposure procedures”), such as a post-exposure bake (PEB), development, a hard bake and measurement / inspection of the transferred pattern. This array of procedures is used as a basis to make an individual layer of a device, e.g., an IC. The substrate may then undergo various processes such as etching, ion-implantation (doping), metallization, oxidation, chemo-mechanical polishing, etc., all intended to finish the individual layer of the device. If several layers are required in the device, then the whole procedure, or a variant thereof, is repeated for each layer. Eventually, a device will be present in each target portion on the substrate. These devices are then separated from one another by a technique such as dicing or sawing, whence the individual devices can be mounted on a carrier, connected to pins, etc.

[0005] Thus, manufacturing devices, such as semiconductor devices, typically involves processing a substrate (e.g., a semiconductor wafer) using a number of fabrication processes to form various features and multiple layers of the devices. Such layers and features are typically manufactured and processed using, e.g., deposition, lithography, etch, chemical-mechanical polishing, and ion implantation. Multiple devices may be fabricated on a plurality of dies on a substrate and thenseparated into individual devices. This device manufacturing process may be considered a patterning process. A patterning process involves a patterning step, such as optical and / or nanoimprint lithography using a patterning device in a lithographic apparatus, to transfer a pattern on the patterning device to a substrate and typically, but optionally, involves one or more related pattern processing steps, such as resist development by a development apparatus, baking of the substrate using a bake tool, etching using the pattern using an etch apparatus, etc.

[0006] As noted, lithography is a central step in the manufacturing of devices such as ICs, where patterns formed on substrates define functional elements of the devices, such as microprocessors, memory chips, etc. Similar lithographic techniques are also used in the formation of flat panel displays, micro-electromechanical systems (MEMS) and other devices.

[0007] As semiconductor manufacturing processes continue to advance, the dimensions of functional elements have continually been reduced while the number of functional elements, such as transistors, per device has been steadily increasing over decades, following a trend commonly referred to as “Moore’s law”. At the current state of technology, layers of devices are manufactured using lithographic projection apparatuses that project a design layout onto a substrate using illumination from a deep-ultraviolet illumination source, creating individual functional elements having dimensions well below 100 nm, i.e., less than half the wavelength of the radiation from the illumination source (e.g., a 193 nm illumination source).

[0008] This process in which features with dimensions smaller than the classical resolution limit of a lithographic projection apparatus are printed, is commonly known as low-ki lithography, according to the resolution formula CD = k i xZ / NA, where X is the wavelength of radiation employed (currently in most cases 248nm or 193nm), NA is the numerical aperture of projection optics in the lithographic projection apparatus, CD is the “critical dimension’ -generally the smallest feature size printed-and ki is an empirical resolution factor. In general, the smaller ki the more difficult it becomes to reproduce a pattern on the substrate that resembles the shape and dimensions planned by a designer in order to achieve particular electrical functionality and performance. To overcome these difficulties, sophisticated fine-tuning steps are applied to the lithographic projection apparatus, the design layout, or the patterning device. These include, for example, but not limited to, optimization of NA and optical coherence settings, customized illumination schemes, use of phase shifting patterning devices, optical proximity correction (OPC, sometimes also referred to as “optical and process correction”) in the design layout, or other methods generally defined as “resolution enhancement techniques” (RET).SUMMARY

[0009] Embodiments of the present disclosure provide a method for training a machine learning model to output a predicted mask patten based on an input pattern in a semi-supervised manner. Embodiments provide methods for training that utilize a process model in concert with unsupervised training data to determine a loss function or cost function model adjustment. Embodiments providemethods of iterative training. Embodiments provide methods of asynchronous training. Embodiments provide methods of training based on process model optimization, including through the use of process model optimization to generate supervised training data.

[0010] According to an embodiment, there is provided a method for training a machine learning (ML) model for mask pattern generation, comprising: obtaining the ML model, the ML model 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 configured to predict an output pattern based on an 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 the ML model to a training input pattern to generate a predicted mask pattern comprises 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 comprises applying the forward model to the multiple predicted mask patterns to generate multiple predicted wafer patterns, determining the difference between the training input pattern and the predicted wafer pattern comprises determining differences between the multiple training input patterns and the multiple predicted wafer patterns, and adjusting the ML model based on the difference comprises adjusting the ML model based on the differences between the multiple training input patterns and the multiple predicted wafer patterns.

[0012] According to an embodiment, there is provided a method for training a ML model configured to generate a mask pattern based on an input target pattern, comprising: obtaining a ML model; and training the ML model based on a first training data set and a second training data set, the first training data set comprising a first set of target patterns and corresponding determined mask patterns, and the second training data set comprising a second set of target patterns, wherein the training comprises: 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 the 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 the one or more of the second set of target patterns and the one or more predicted target patterns.

[0013] According to an embodiment, there is provided a method for training a machine learning (ML) model for mask pattern prediction, comprising: obtaining a ML model, the ML model configured togenerate 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 comprise mask patterns; applying a physical model to the one or more output mask patterns to generate one or more intermediate target patterns, the physical model configured to generate an output target pattern based on an input mask pattern; 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, there is provided a method for training a machine learning (ML) model for mask pattern prediction, comprising: obtaining an initially trained ML model, the initially trained ML model trained to generate as output one or more mask patterns based on input of one or more target patterns; generating a set of subsequent training data for the ML model comprising: selecting a set of subsequent training target patterns; generating subsequent mask patterns for the subsequent training target patterns with the ML model; and refining the subsequent mask patterns based on a physical model and the subsequent training target patterns; and training the ML model based on the set of subsequent training data, wherein the set of subsequent training data comprises 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 medium is provided having instructions thereon, the instructions when executed by a processor being configured to perform the method of any other embodiment.

[0016] According to another embodiment, one or more system comprising a processor and one or more non-transitory, machine -readable medium is provided having instructions thereon, the instructions when executed by the processor being configured to perform the method of any other embodiment.

[0017] According to another embodiment, one or more non-transitory, machine-readable medium is provided having instructions thereon, the instructions when executed by a processor being configured to perform the operate the machine learning model trained by the method of any other embodiment.

[0018] According to another embodiment, one or more system comprising a processor and one or more non-transitory, machine -readable medium is provided having instructions thereon, the instructions when executed by the processor being configured to operate the machine learning model trained by the method of any other embodiment.BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate one or more embodiments and, together with the description, explain these embodiments. Embodiments of the invention will now be described, by way of example only, withreference to the accompanying schematic drawings in which corresponding reference symbols indicate corresponding parts, and in which:

[0020] Figure 1 illustrates a block diagram of various subsystems of a lithographic projection apparatus, according to an embodiment.

[0021] Figure 2 illustrates an exemplary flow chart for simulating lithography in a lithographic projection apparatus, according to an embodiment.

[0022] Figure 3 depicts a schematic representation of a mask pattern prediction model trained using semi-supervised training, according to an embodiment.

[0023] Figure 4 depicts a schematic representation of relationships between target wafer patterns and corresponding mask patterns selected for supervised and unsupervised training of a mask pattern prediction model, according to an embodiment.

[0024] Figures 5A-5D depict graphs illustrating example relationships in cost functions and between hyperparameters for semi-supervised training of a mask pattern prediction model, according to an embodiment.

[0025] Figure 6 depicts a schematic representation of semi-supervised training of a mask pattern prediction model in multiple iterations using a process model, according to an embodiment.

[0026] Figure 7 is a flowchart illustrating a method for training of a machine learning model to an output mask pattern based on an input target wafer pattern, according to an embodiment.

[0027] Figure 8 is a block diagram of an example computer system, according to an embodiment of the present disclosure.

[0028] Figure 9 depicts a schematic representation of training of a generative model for mask pattern prediction, according to an embodiment.

[0029] Figure 10 is a schematic representation of training of a mask pattern prediction model with reinforcement learning, according to an embodiment.DETAILED DESCRIPTION

[0030] Embodiments of the present disclosure are described in detail with reference to the drawings, which are provided as illustrative examples of the disclosure so as to enable those skilled in the art to practice the disclosure. Notably, the figures and examples below are not meant to limit the scope of the present disclosure to a single embodiment, but other embodiments are possible by way of interchange of some or all of the described or illustrated elements. Moreover, where certain elements of the present disclosure can be partially or fully implemented using known components, only those portions of such known components that are necessary for an understanding of the present disclosure will be described, and detailed descriptions of other portions of such known components will be omitted so as not to obscure the disclosure. Embodiments described as being implemented in software should not be limited thereto, but can include embodiments implemented in hardware, or combinations of software and hardware, and vice-versa, as will be apparent to those skilled in the art,unless otherwise specified herein. In the present specification, an embodiment showing a singular component should not be considered limiting; rather, the disclosure is intended to encompass other embodiments including a plurality of the same component, and vice-versa, unless explicitly stated otherwise herein. Moreover, applicants do not intend for any term in the specification or claims to be ascribed an uncommon or special meaning unless explicitly set forth as such. Further, the present disclosure encompasses present and future known equivalents to the known components referred to herein by way of illustration.

[0031] Although specific reference may be made in this text to the manufacture of ICs, it should be explicitly understood that the description herein has many other possible applications. For example, it may be employed in the manufacture of integrated optical systems, guidance and detection patterns for magnetic domain memories, liquid-crystal display panels, thin-film magnetic heads, etc. The skilled artisan will appreciate that, in the context of such alternative applications, any use of the terms “wafer” or “die” in this text should be considered as interchangeable with the more general terms “substrate” and “target portion”, respectively.

[0032] A patterning device can comprise, or can form, one or more design layouts. The design layout can be generated utilizing CAD (computer-aided design) programs. This process is often referred to as EDA (electronic design automation). Most CAD programs follow a set of predetermined design rules in order to create functional design layouts / patterning devices. These rules are set based processing and design limitations. For example, design rules define the space tolerance between devices (such as gates, capacitors, etc.) or interconnect lines, to ensure that the devices or lines do not interact with one another in an undesirable way. One or more of the design rule limitations may be referred to as a “critical dimension” (CD). A critical dimension of a device can be defined as the smallest width of a line or hole, or the smallest space between two lines or two holes. Thus, the CD regulates the overall size and density of the designed device. One of the goals in device fabrication is to faithfully reproduce the original design intent on the substrate (via the patterning device).

[0033] The term “mask”, “mask pattern,” or “patterning device” as employed in this text may be broadly interpreted as referring to a generic patterning device or pattern for use on or with a generic patterning device that can be used to endow an incoming radiation beam with a patterned crosssection, corresponding to a pattern that is to be created in a target portion of the substrate. Besides the classic mask (transmissive or reflective; binary, phase-shifting, hybrid, etc.), examples of other such patterning devices include a programmable mirror array. An example of such a device is a matrix- addressable surface having a viscoelastic control layer and a reflective surface. The basic principle behind such an apparatus is that (for example) addressed areas of the reflective surface reflect incident radiation as diffracted radiation, whereas unaddressed areas reflect incident radiation as undiffracted radiation. Using an appropriate filter, the said undiffracted radiation can be filtered out of the reflected beam, leaving only the diffracted radiation behind; in this manner, the beam becomes patterned according to the addressing pattern of the matrix-addressable surface. The required matrix addressingcan be performed using suitable electronic means. Examples of other such patterning devices also include a programmable LCD array. An example of such a construction is given in U.S. Patent No. 5,229,872, which is incorporated herein by reference.

[0034] Figure 1 illustrates a block diagram of various subsystems of a lithographic projection apparatus 10A, according to an embodiment of the present disclosure. Major components are a radiation source 12A, which may be a deep-ultraviolet excimer laser source or other type of source including an extreme ultra violet (EUV) source (the lithographic projection apparatus itself need not have the radiation source), illumination optics which, e.g., define the partial coherence (denoted as sigma) and which may include optics 14 A, 16Aa and 16 Ab that shape radiation from the source 12 A; a patterning device (or mask) 18A; and transmission optics 16Ac that project an image of the patterning device pattern onto a substrate plane 22A.

[0035] A pupil 20A can be included with transmission optics 16Ac. In some embodiments, there can be one or more pupils before and / or after mask 18 A. As described in further detail herein, pupil 20A can provide patterning of the light that ultimately reaches substrate plane 22A. An adjustable filter or aperture at the pupil plane of the projection optics may restrict the range of beam angles that impinge on the substrate plane 22A, where the largest possible angle defines the numerical aperture of the projection optics NA= n sin(0max), wherein n is the refractive index of the media between the substrate and the last element of the projection optics, and 0max is the largest angle of the beam exiting from the projection optics that can still impinge on the substrate plane 22A.

[0036] In a lithographic projection apparatus, a source provides illumination (i.e., radiation) to a patterning device and projection optics direct and shape the illumination, via the patterning device, onto a substrate. This is not to disclaim that the source does not itself provide patterning, directing, or shaping to the radiation or that patterning, directing, or shaping does not occur between the source and the projection optics. The projection optics may include at least some of the components 14A, 16Aa, 16Ab and 16Ac. An aerial image (Al) is the radiation intensity distribution at substrate level. A resist model can be used to calculate the resist image from the aerial image, an example of which can be found in U.S. Patent Application Publication No. US 2009-0157630, the disclosure of which is hereby incorporated by reference in its entirety. The resist model is related to properties of the resist layer (e.g., effects of chemical processes which occur during exposure, post-exposure bake (PEB) and development). Optical properties of the lithographic projection apparatus (e.g., properties of the illumination, the patterning device and the projection optics) dictate the aerial image and can be defined in an optical model. Since the patterning device used in the lithographic projection apparatus can be changed, it is desirable to separate the optical properties of the patterning device from the optical properties of the rest of the lithographic projection apparatus including at least the source and the projection optics. Details of techniques and models used to transform a design layout into various lithographic images (e.g., an aerial image, a resist image, etc.), apply OPC using those techniques and models and evaluate performance (e.g., in terms of process window) are described in U.S. PatentApplication Publication Nos. US 2008-0301620, 2007-0050749, 2007-0031745, 2008-0309897, 2010-0162197, and 2010-0180251, the disclosure of each which is hereby incorporated by reference in its entirety.

[0037] One aspect of understanding a lithographic process is understanding the interaction of the radiation and the patterning device. The electromagnetic field of the radiation after the radiation passes the patterning device may be determined from the electromagnetic field of the radiation before the radiation reaches the patterning device and a function that characterizes the interaction. This function may be referred to as the mask transmission function (which can be used to describe the interaction by a transmissive patterning device and / or a reflective patterning device).

[0038] The mask transmission function may have a variety of different forms. One form is binary. A binary mask transmission function has either of two values (e.g., zero and a positive constant) at any given location on the patterning device. A mask transmission function in the binary form may be referred to as a binary mask. Another form is continuous. Namely, the modulus of the transmittance (or reflectance) of the patterning device is a continuous function of the location on the patterning device. The phase of the transmittance (or reflectance) may also be a continuous function of the location on the patterning device. A mask transmission function in the continuous form may be referred to as a continuous tone mask or a continuous transmission mask (CTM). For example, the CTM may be represented as a pixelated image, where each pixel may be assigned a value between 0 and 1 (e.g., 0.1, 0.2, 0.3, etc.) instead of binary value of either 0 or 1. In an embodiment, CTM may be a pixelated gray scale image, where each pixel has values (e.g., within a range [-255, 255], normalized values within a range [0, 1] or [-1, 1] or other appropriate ranges).

[0039] The thin- mask approximation, also called the Kirchhoff boundary condition, is widely used to simplify the determination of the interaction of the radiation and the patterning device. The thin-mask approximation assumes that the thickness of the structures on the patterning device is very small compared with the wavelength and that the widths of the structures on the mask are very large compared with the wavelength. Therefore, the thin-mask approximation assumes the electromagnetic field after the patterning device is the multiplication of the incident electromagnetic field with the mask transmission function. However, as lithographic processes use radiation of shorter and shorter wavelengths, and the structures on the patterning device become smaller and smaller, the assumption of the thin-mask approximation can break down. For example, interaction of the radiation with the structures (e.g., edges between the top surface and a sidewall) because of their finite thicknesses (“mask 3D effect” or “M3D”) may become significant. Encompassing this scattering in the mask transmission function may enable the mask transmission function to better capture the interaction of the radiation with the patterning device. A mask transmission function under the thin-mask approximation may be referred to as a thin-mask transmission function. A mask transmission function encompassing M3D may be referred to as a M3D mask transmission function.

[0040] Figure 2 illustrates an exemplary flow chart for simulating lithography in a lithographic projection apparatus, according to an embodiment of the present disclosure. Source model 31 represents optical characteristics (including radiation intensity distribution and / or phase distribution) of the source. Projection optics model 32 represents optical characteristics (including changes to the radiation intensity distribution and / or the phase distribution caused by the projection optics) of the projection optics. Design layout model 35 represents optical characteristics of a design layout (including changes to the radiation intensity distribution and / or the phase distribution caused by design layout 33), which is the representation of an arrangement of features on or formed by a patterning device. Aerial image 36 can be simulated from design layout model 35, projection optics model 32, and design layout model 35. Resist image 38 can be simulated from aerial image 36 using resist model 37. Simulation of lithography can, for example, predict contours and CDs in the resist image.

[0041] More specifically, source model 31 can represent the optical characteristics of the source that include, but are not limited to, numerical aperture settings, illumination sigma (o) settings as well as any particular illumination shape (e.g., off-axis radiation sources such as annular, quadrupole, dipole, etc.). Projection optics model 32 can represent the optical characteristics of the projection optics, including aberration, distortion, one or more refractive indexes, one or more physical sizes, one or more physical dimensions, etc. Design layout model 35 can represent one or more physical properties of a physical patterning device, as described, for example, in U.S. Patent No. 7,587,704, which is incorporated by reference in its entirety. The objective of the simulation is to accurately predict, for example, edge placement, aerial image intensity slope and / or CD, which can then be compared against an intended design. The intended design is generally defined as a pre-OPC design layout which can be provided in a standardized digital file format such as GDSII or OASIS or another file format.

[0042] From this design layout, one or more portions may be identified, which are referred to as “clips”. In an embodiment, a set of clips is extracted, which represents the complicated patterns in the design layout (typically about 50 to 1000 clips, although any number of clips may be used). These patterns or clips represent small portions (i.e., circuits, cells or patterns) of the design and more specifically, the clips typically represent small portions for which particular attention and / or verification is needed. In other words, clips may be the portions of the design layout, or may be similar or have a similar behavior of portions of the design layout, where one or more critical features are identified either by experience (including clips provided by a customer), by trial and error, or by running a full-chip simulation. Clips may contain one or more test patterns or gauge patterns.

[0043] An initial larger set of clips may be provided a priori by a customer based on one or more known critical feature areas in a design layout which require particular image optimization. Alternatively, in another embodiment, an initial larger set of clips may be extracted from the entiredesign layout by using some kind of automated (such as machine vision) or manual algorithm that identifies the one or more critical feature areas.

[0044] In a lithographic projection apparatus, as an example, a cost function may be expressed asEquation 1, below:where (z1,z2, ••• , zw) are N design variables or values thereof. fp(z ,z2, ••• , zN) can be a function of the design variables (zt, z2, • • • , zN~) such as a difference between an actual value and an intended value of a characteristic for a set of values of the design variables of (z1,z2, ••• , zN~). wpis a weight constant associated with fp(zj , z2, • • • , zN). For example, the characteristic may be a position of an edge of a pattern, measured at a given point on the edge. Different fp(z1, z2, • • • , zN) may have different weight wp. For example, if a particular edge has a narrow range of permitted positions, the weight wpfor the fp(zj , z2, • • • , zN) representing the difference between the actual position and the intended position of the edge may be given a higher value. fp(zj , z2, • • • , zN) can also be a function of an interlayer characteristic, which is in turn a function of the design variables (z1,z2, ••• , zN~). Of course, CF(z1,z2, ••• , zw) is not limited to the form in Eq. 1. CF(z1,z2, ••• , zw) can be in any other suitable form.

[0045] The cost function may represent any one or more suitable characteristics of the lithographic projection apparatus, lithographic process or the substrate, for instance, focus, CD, image shift, pattern placement error, image distortion, image rotation, stochastic variation, throughput, local CD variation, process window, an interlayer characteristic, or a combination thereof. In one embodiment, the design variables (zt, z2, • • • , zN~) comprise one or more selected from dose, global bias of the patterning device, and / or shape of illumination. Since it is the resist image that often dictates the pattern on a substrate, the cost function may include a function that represents one or more characteristics of the resist image. For example, fp(zt, z2, • • • , zN~) can be simply a distance between a point in the resist image to an intended position of that point (i.e., edge placement errorEPEp(zt, z2, • • • , zN). The design variables can include any adjustable parameter such as an adjustable parameter of the source, the patterning device, the projection optics, dose, focus, etc.

[0046] The lithographic apparatus may include components collectively called a “wavefront manipulator” that can be used to adjust the shape of a wavefront and intensity distribution and / or phase shift of a radiation beam. In an embodiment, the lithographic apparatus can adjust a wavefront and intensity distribution at any location along an optical path of the lithographic projection apparatus, such as before the patterning device, near a pupil plane, near an image plane, and / or near a focalplane. The wavefront manipulator can be used to correct or compensate for certain distortions of the wavefront and intensity distribution and / or phase shift caused by, for example, the source, the patterning device, temperature variation in the lithographic projection apparatus, thermal expansion of components of the lithographic projection apparatus, etc. Adjusting the wavefront and intensity distribution and / or phase shift can change values of the characteristics represented by the cost function. Such changes can be simulated from a model or actually measured. The design variables can include parameters of the wavefront manipulator.

[0047] The design variables may have constraints, which can be expressed as (zt, z2, ••• , zN) 6 Z, where Z is a set of possible values of the design variables. One possible constraint on the design variables may be imposed by a desired throughput of the lithographic projection apparatus. Without such a constraint imposed by the desired throughput, the optimization may yield a set of values of the design variables that are unrealistic. For example, if the dose is a design variable, without such a constraint, the optimization may yield a dose value that makes the throughput economically impossible. However, the usefulness of constraints should not be interpreted as a necessity. For example, the throughput may be affected by the pupil fill ratio. For some illumination designs, a low pupil fill ratio may discard radiation, leading to lower throughput. Throughput may also be affected by the resist chemistry. Slower resist (e.g., a resist that requires higher amount of radiation to be properly exposed) leads to lower throughput.

[0048] As used herein, the term “process model” means a model that includes one or more models that simulate a patterning process. For example, a process model can include any combination of: an optical model (e.g., that models a lens system / projection system used to deliver light in a lithography process and may include modelling the final optical image of light that goes onto a photoresist), a resist model (e.g., that models physical effects of the resist, such as chemical effects due to the light), an optical proximity correction (OPC) model (e.g., that can be used to make masks or reticles and may include sub-resolution assist features (SRAFs), etc.).

[0049] As used herein, the term “concurrently” means that two or more things are occurring at approximately, but not necessarily exactly, at the same time. For example, varying a pupil design concurrently with a mask pattern can mean making a small modification to a pupil design, then making a small adjustment to a mask pattern, and then another modification to the pupil design, and so on. However, the present disclosure contemplates that in some parallel processing applications, concurrency can refer to operations occurring at the same time or having some overlapping in time.

[0050] The present disclosure provides apparatuses, methods and computer program products which, among other things, relate to modifying or optimizing features of a lithography apparatus in order to increase performance and manufacturing efficiency. The features that can be modified can include an optical spectrum of light used in the lithography process, a mask, a pupil, etc. Any combination of these features (and possibly others) can be implemented in order to improve, for example, a depth of focus, a process window, a contrast, or the like, of a lithography apparatus. In some embodiments,modification of one feature affects the other features. In this way, to achieve the desired improvements, multiple features can be concurrently modified / varied, as described below.

[0051] Figure 3 depicts a schematic representation of a mask prediction model 130 trained using semi-supervised training, according to an embodiment. According to an embodiment of the present disclosure, a mask pattern prediction model may be trained based on both supervised and unsupervised training schemes to output predicted mask patterns for an input target wafer pattern, where the unsupervised training scheme includes operation of a process model. Herein, “semisupervised” is used to describe training that includes both supervised training (e.g., based on labeled training data) and unsupervised training (e.g., based on unlabeled training data). Herein, “semisupervised” does not place any requirements on the respective volumes of the types of training data or order of the application of the training types. In some embodiments, the quantity of unlabeled training data may be on the order of, larger than, much larger than, etc. the quantity of the labeled training data. Unsupervised training (e.g., based on unlabeled training data) may further include application of one or more process models to output of a model, such as to “label” (e.g., classify, determine a wafer pattern corresponding to, etc.) the output of the model. Unsupervised training may occur based on unlabeled training data which may be later labeled or based on training data for which the label is known but not used, uncertain (e.g., generated by an approximation, a model, or otherwise not ground truth data), unknown, not previously determined, etc. “Semi-supervised” training may also be referred to as “partially supervised” training. Herein, “partially supervised” may also refer to training in which a set of training data includes both labeled and unlabeled training data, the labeled training data as previously described for supervised training data and the unlabeled training data as previously described for unsupervised training data. Embodiments which are described as “semisupervised” may be conducted instead or additionally in a “partially supervised” manner and vice versa. Herein, for training purposes, “ground truth” refers to a best (as is reasonable in time, expense, etc.) estimate of a quantity which is obtained and used to train a model to reproduce said quantity.

[0052] The mask prediction model 130 operates based on input of a target 110. The target 110 may be any appropriate pattern for patterning on a wafer (e.g., a design layout, a chip design, a layer design, a multi-layer design, an etch pattern, an implantation pattern, a resist patter (e.g., after exposure, after etch, etc.), a metal layer design, contain one or more via or through silicon via, etc.). The target 110 may be or contain a two-dimensional pattern, which may be or include an image, two- dimensional projection, approximation of an image (e.g., aerial image, etch image, etch contour, resist image, contour of a target pattern, an SEM image, an optical image, etc.) and may or may not have pixel weights or color values associated with different areas of the pattern. The target 110 may instead or additionally be a three-dimensional pattern or object, such as a fabricated device or design of a device which may have trench depth, etch plateau heights, etc., which may have corresponding height and depth values for various portions of the pattern. The target 110, as input into the mask prediction model 130, may include a recipe for fabrication of the target 110 (e.g., etch time, resisttype, dose, aperture information, etc.). A recipe for the target 110 may be determined subsequent to mask prediction, including in an iterative process by which the recipe may be optimized or cooptimized with a source, mask pattern, etc.

[0053] The mask prediction model 130 operates to output a mask 100. The mask 100 may be or contain any appropriate pattern (e.g., a GDSII pattern, a mask design layout, a mask design, a continuous transmission mask (CTM) pattern, a freeform pattern, a Manhattanized pattern, a ball representation pattern, a mask image, a thin mask image, a near field approximation, a transmission function, a set of metrology mask contours, a measured mask pattern determined based on a fabricated mask, etc.). The mask 100 may be a two-dimensional pattern and may or may not have pixel weights (or other values) for various portions of the pattern (that, is the mask 100 may be two tone, grayscale, pixelated, continuous, etc.). The mask 100 may instead or additionally be a patterning device, such as a lithography mask, reticle, etc., which contains or applies a pattern to a wafer during a patterning process. The mask 100 may be a three-dimensional pattern or object and may have corresponding height and depth values for various portions of the pattern. The mask 100, as output by the mask prediction model 130, may be design parameters, such as a fabrication recipe, for producing a three- dimensional mask based on a mask pattern.

[0054] The mask 100 and the target 110 may be related by a process model 120. The process model 120 may be a lithography model, such as a resist model, an etch model, an optical model, or any appropriate model of a process or sub-process involved in patterning of ICs. The process model 120 may be a physical model, such as based on optical, chemical, phase change, etc. physical processes. A physical model may include a model trained based on physics or physic-based equations or relationships, such as shot energy, transmission, absorption, reflectance, etc. In some embodiments, the process model 120 may be or include a machine learning model, such as a process prediction model or module. The process model 120 may be a fixed model, for which parameters are substantially unchanged during training of the mask prediction model 130. The process model 120 may be well characterized (e.g., relatively accurate), but may be slow (e.g., operate on a longer time frame and require significant computing power). The process model 120 may be referred to herein as a “forward model” for which the mask prediction model 130 may be an “inversion model”.

[0055] The process model 120 may output the target 110 based on the mask 100. The process model 120 may be configured to output a target for any input mask. The process model 120 may operate based on a recipe, in addition to the target 110, where the recipe may describe aspects of the process (e.g., the patterning process) other than the mask 100. The process model 120 may operate on any input mask, or may operate (or operate correctly) only for masks which meet a set of input criteria. For example, the process model 120 may be a resist model and may not operate correctly for masks corresponding to etch processes. The process model 120 may be one or more models, such as an ensemble of models, which may operate together, such as in parallel, in series, iteratively, etc. Forexample, the process model 120 may include an optical model and a chemical resist development model.

[0056] The mask prediction model 130 is a model which approximately inverts the process model 120, by outputting a mask 100 based on a target 110. In some embodiments, the mask prediction model 130 may be trained to generate the mask 100 based on the target 110 by use of the process model 120. The mask prediction model 130 may be trained in a supervised manner, based on a set of training mask data and corresponding training target data. The generation of supervised training data, which may be ground truth data, may be time and cost intensive. Patterns, either mask patterns or target patterns, may be selected for inclusion in supervised training data based on a pattern selection algorithm, which may be informed by previously used mask patterns, historical masks, etc., and which may not select patterns equally across the multi-dimensional pattern space. Inclusion of unsupervised training may increase the number of patterns which may be used in training, the types of patterns on which the model may operate well, decrease the risk of training the mask prediction model 130 to a local rather than global minimum, decrease the risk of over training, etc.

[0057] According to an embodiment of the present disclosure, the mask prediction model 130 is trained by semi-supervised training 140. Herein, “training” refers to any training of a model, including initial training (e.g., of a base model), additional training (e.g., adjustment of a based model), re-training (e.g., application of a model to a different type of data or problem), further training (e.g., refinement), testing of training (e.g., performance evaluation, validation, etc.), etc. Training may refer to adjustment of model parameters. In some embodiments, training may refer to adjustment of model architecture, including the use of drop-out, residuals, etc. The mask prediction model 130 may be a machine-learning (ML) model. The mask prediction model 130 may be a neural network (NN). The mask prediction model 130 may be an ensemble model. For example, the mask prediction model 130 may be a classification model and a set of NNs, each NN corresponding to a specific type of targets, where the target 110 may be classified as corresponding to one or more of the set of target types and then input into the NN for the classification which may output the mask 100. Training may refer to training of any of models of an ensemble, together or separately.

[0058] The semi-supervised training 140 includes supervised training 150 and unsupervised training 160. The supervised training 150 and the unsupervised training 160 may take place concurrently, sequentially, synchronously, asynchronously, etc. In some embodiments, the supervised training 150 may take place first while the unsupervised training 160 may further train or refine the mask prediction model 130. In some embodiments, the supervised training 150 may take place as the supervised training data is generated (or supplied to the model) and the unsupervised training 160 may take place as the unsupervised training data is selected, generated, processed, supplied to the model, etc., which may occur synchronously or asynchronously.

[0059] The supervised training 150 may train the mask prediction model 130 based on a set of supervised training data (e.g., training data 152A-152C). Although three instances of training data aredepicted, the set of supervised training data may be of any appropriate size, including tens, hundreds, thousands, etc. of instances. The supervised training data may include a set of training mask patterns (e.g., training mask pattern 100A) and corresponding target patterns (e.g., training target pattern 110A). The corresponding target patterns for the set of training mask patterns may be ground truth data. The corresponding target patterns may be generated by the process model 120 or any other appropriate model. The corresponding target patterns may be measured target patterns, fabricated using the set of training mask patterns. The corresponding target patterns may or may not be subpatterns (e.g., “clips”) of a larger pattern (e.g., a wafer pattern, a chip pattern, etc.). The corresponding target may be target patterns previously determined for training mask patterns, such as determined for a previous process. The supervised training 150 may occur in any appropriate manner, such as by use of a loss function, use of a cost function, gradient descent, backpropagation, etc. The supervised training data may be input 154 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 may be compared to the training mask pattern 100A (or another of the set of training mask patterns which corresponds 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., the training mask pattern 100A) may be used to determine a loss function 210 (or cost function), which may be applied 212 to the mask prediction model 130 to further training the model. Herein, “loss function” is used to refer to a measurement of a model’ s error on a single data instance, while “cost function” is used to refer to a measurement of a model’ s error on group of datum. It should be understood that any use of loss function may instead or additionally encompass a use of cost function for multiple objects and that any use of cost function may instead or additionally encompass use of a loss function for a single instance of the group of objects.

[0060] The unsupervised training 160 may train the mask prediction model 130 based on a set of unsupervised training data (e.g., training data 162X-162Z). Although three instances of training data are depicted, the set of unsupervised training data may be of any appropriate size, including tens, hundreds, thousands, etc. of instances. The unsupervised training data may include a set of unknown target patterns (e.g., target pattern 110X). The unknown target patterns may be sub-patterns (e.g., “clips”) of a larger pattern (e.g., a wafer pattern, a chip pattern, etc.). The unknown target patterns may be substantially non-overlapping with the corresponding target patterns of the set of supervised training data of the supervised training 150. The unknown target patterns may be selected from a multi-dimensional target pattern space, such as by a pattern selection algorithm. The unsupervised training data may 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 may be input into the process model 120. The process model 120 may produce an output prediction 192 including an output predicted target pattern 190. The output predicted target pattern 190 may be compared to the target pattern 110X (or another of the set of unknown target patterns) by a differencedeterminer 200. The difference between the output predicted target pattern 190 and the input target pattern (e.g., the target pattern 110X) may be used to determine a loss function 210 (or cost function), which may be applied 212 to the mask prediction model 130 to further training the model. The unsupervised training 160 may occur in any appropriate manner, including those previously described in reference to supervised training 150.

[0061] Figure 4 depicts a schematic representation of relationships between target wafer patterns and corresponding mask patterns selected for supervised and unsupervised training of a mask pattern prediction model, according to an embodiment. According to an embodiment of the present disclosure, a partially supervised method of training may be applied to a mask pattern prediction model by using a pattern selection process to select supervised and unsupervised training data.

[0062] A full chip or wafer design may contain many “clips” or smaller target pattern portions. The target patterns of a design may be represented by various points in a multi-dimensional target domain space 430. The target domain space 430 may contain target patterns which are found in the wafer design (e.g., desired “clips”) and target patterns which are not found in the wafer design (e.g., undesired “clips” or other than desired clips which may be target patterns corresponding to mask patterns which do not generate the desired clips). The target patterns which are found in the wafer design (e.g., desired clips) may constitute a portion of the target domain space 430. The portion of the target domain space 430 which contains the target patterns corresponding to the target design may be well-defined or contain well defined patterns. The target patterns which are not found in the wafer design (e.g., undesired clips) may constitute another portion of the target domain space 430. The target patterns which are not found in the wafer design may or may not be used as training data for the mask prediction model (e.g., the mask prediction model 130 described in relation to Figure 3). In some embodiments, undesired clips may be used as training data, such as in order to train a robust model. In some embodiments, desired clips may be used substantially exclusively as training data, such as in order to focus a model on a particular wafer design.

[0063] The target domain space 430 may be divided into a supervised target domain space 432 and an unsupervised target domain space 436. The division into the supervised target domain space 432 and the unsupervised target domain space 436 may be performed by any appropriate method, such as by a pattern selection algorithm 450 (e.g., module, program, method, etc.). The pattern selection algorithm 450 may select, from the target domain space 430, multiple of supervised targets Ts; 452 (e.g., as selected supervised targets) for generation of supervised training data. The supervised targets Ts; 452 may be selected by division of the target wafer pattern into clips (e.g., desired clips), where each of the clips may become one of the supervised targets Ts; 452. The supervised targets Ts; 452 may be determined by processing of the target wafer pattern by a “hotspot” or other pattern problem detection process, where sections of the target wafer pattern identified as problematic areas (e.g., due to CD, due to stochastic error, etc.) may be selected as the supervised targets Ts; 452. The pattern selection algorithm 450 may select the supervised targets Ts; 452 based on a library of previously evaluatedtarget patterns, such as for other masks, other patterning processes, other iterations of the mask prediction model training, etc. The pattern selection algorithm 450 may select multiple of unsupervised targets Tu; 434 (e.g., as selected unsupervised targets) for inclusion as unsupervised training data. In some embodiments, the pattern selection algorithm 450 may select only the supervised targets Ts; 452, while all targets of the target domain space 430 not selected may constitute unsupervised targets Tui 434, all or some of which may be included in unsupervised training. In some embodiments, the pattern selection algorithm 450 may specifically select the unsupervised targets Tu; 434 for inclusion in the unsupervised training data, out of all the targets of the unsupervised target domain space 436, such as by ranking, until a termination criterion is reached, from a set of target patterns of the wafer design, etc.

[0064] The target domain space 430 may correspond to a mask domain space 440. The target domain space 430 and the mask domain space 440 may be related by a process model (e.g., the process model 120 as described in relation to Figure 3) and the mask prediction model 130. The process model 120 generates an output target pattern based on an input mask pattern, while the mask prediction model 130 generates an output mask pattern based on an input target pattern. Each of the target patterns of the target domain space 430 may correspond to one or more mask patterns of the mask domain space 440. For example, both mask pattern 400A and 400B may correspond to target pattern 410A. Each of the mask patterns of the mask domain space 440 may correspond to one pattern of the target domain space 430. In some embodiments, the mask patterns of the mask domain space 440 may correspond to multiple of the patterns of the target domain space 430, such as if the mask prediction model 130 has changed between applications to the mask pattern (e.g., if the mask prediction model 130 has been further trained), if the process recipe has varied between applications of the mask prediction model 130, etc. The relationship between the target domain space 430 and the mask domain space 440 may be a given function where the relationship between the mask domain space 440 and the target domain space 430 may be approximately an inverse 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 function (e.g., a single target may map to multiple masks), while the relationship between the mask domain space 440 and the target domain space 430 may have a substantially a one-to-one relationship (e.g., a mask may map to substantially one target for a given iteration of the mask prediction model). The relationship between target patterns of the target domain space 430 may not be preserved during translation into mask patterns of the mask domain space 440 and vice versa. For example, target pattern 410C and target pattern 410D may 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) may be relatively different. Likewise, mask pattern 400D and mask pattern 400E may be relatively similar in the mask domain space 440, but produce target pattern 410D and target pattern 410E, respectively, in the target domain space 430, which may be relatively different.

[0065] The mask domain space 440 may be generated based on the target domain space 430. The mask domain space 440 may have bounds which correspond to process limitations, such as feature size, feature area, corner angle, etc. The mask domain space 440 may be into a supervised mask domain space 442 and an unsupervised mask domain space 446. The division into the supervised mask domain space 442 and the unsupervised mask domain space 446 may be determined based on the divisions in the supervised target domain space 432 and the unsupervised target domain space 436, such as by relating the mask domain space 440 and the target domain space 430 by the process model 120 or the mask prediction model 130. The supervised mask domain space 442 contains multiple of supervised masks Ms; 454 (e.g., selected mask corresponding to supervised targets Ts; 452). The supervised masks Ms; 454 may be generated based on the supervised targets Ts; 452, such as for supervised training. The supervised masks Ms; 454 may be generated by a rigorous inversion process, including by application of one or more physical models, by trial and error or brute force solving, etc. based on the supervised targets Ts; 452. The supervised masks Ms; 454 may be obtained from a previously determined relationship between mask patterns and target patterns. The supervised targets Ts; 452 together with the supervised masks Ms; 454 may make up supervised training data 420. The unsupervised mask domain space 446 may contain multiple unsupervised masks Mu; 444. Unsupervised masks Mu; 444 may be masks which correspond to unsupervised targets Tu; 434 and may be selected (for example, generated using the mask prediction model 130 based on selected of the unsupervised targets Tu; 434) or unselected or unknown (for example, a mask corresponding to a given unsupervised target may remain un-generated, predicted, etc. during one or more training iteration). The unsupervised masks Mu; 444 may be unknown masks, which may be generated by the mask prediction model 130 as needed during training. The unsupervised masks Mu; 444 may be those masks generated based on the unsupervised targets Tu; 434 of the unsupervised target domain space 436. The masks of the unsupervised mask domain space 446 may shift as the mask prediction model 130 varies (such as through training).

[0066] The one or more of targets of the target domain space 430 may be used to train the mask prediction model 130. The one or more of the targets of the supervised target domain space 432 together their corresponding masks of the supervised mask domain space 442 may be used for supervised training. One or more of the targets of the unsupervised target domain space 436 may be used for unsupervised training. By using both one or more one or more of the targets of the supervised target domain space 432 together their corresponding masks of the supervised mask domain space 442 and one or more of the targets of the unsupervised target domain space 436, partially supervised training may occur. The amount of training data selected from the supervised target domain space 432 and from the unsupervised target domain space 436 may vary during a training process. The contribution to the cost function from the training data selected from the supervised target domain space 432 and from the unsupervised target domain space 436 may also orinstead vary during a training process. For example, the cost function may be given by Equation 2, below:where D is a data fidelity metric (such as thenorm or another difference determination operation), JV~ is the function of the mask prediction model 130, which may be a neural network, such as of the current iteration of the mask prediction model 130, T is the function of the forward model (e.g., process model 120), S is the number of supervised training data pairs selected for inclusion, U is the number of unsupervised training data instances selected for inclusion, and (t~) and <r2(0 are hyperparameters that relate the portions of the cost function corresponding to supervised training data and unsupervised training data.are supervised targets, supervised masks, and unsupervised targets, respectively, as previously described. The cost function may have additional terms, such as regularization terms, recipe dependent cost function contributions, etc., which are not depicted in Equation 2 for ease of description.

[0067] The cost function portion for the supervised training data 420 (e.g., ~2 =i “D(JT (TSl) — Msi)) may be directly determined based on the supervised training data 420, which contains both the supervised targets Ts; 452 and the supervised masks Ms; 454. The cost function portion for the unsupervised training data (e.g., “2^=1(Ty,) — TU)) may be generated using the process model 120. For the unsupervised training data, a set of unsupervised targets Tu; 434 may be input into the mask prediction model 130 and the output of the mask prediction model 130 may be fed into the process model 120. For each of the unsupervised targets Tu; 434, a loss function 210 may be determined. Alternatively or in addition, a cost function may be determined based on the set of unsupervised targets Tui 434. The cost function (or alternatively one or more loss functions) may be used to train the mask prediction model 130.

[0068] The relationship between the number of target patterns included in the supervised training data (e.g., S) and the number of target patterns included in the unsupervised training data (e.g., U) may vary during training — such as based on time, number of iterations, etc. In some embodiments, the number of patterns included in one group may change, while the number included in the other group may remain substantially constant. In some embodiments, the total number of patterns included may remain substantially constant, but the partition between groups may change.

[0069] The relationship between the portion of the cost function corresponding to the supervised training data and the portion of the cost function corresponding to unsupervised data may be controlled by the hyperparameters (e.g., and <r2(t)), which may vary over training. Thehyperparameters may vary over time, number of iterations, or based on evolution criteria (such as based on a value of the total cost function, based on a value of a portion of the cost function, etc.).

[0070] In some embodiments, the supervised targets Ts; 452 may also or instead be used for unsupervised training. This may allow the mask prediction model 130 to mitigate inconsistency in the supervised training data 420 and may lead to better convergence in the mask prediction model 130. This may also reduce reliance on the pattern selection algorithm 450, where selection of the supervised targets Ts; 452 for supervised training may become less critical for overall mask prediction model 130 health. One or more of the targets of the supervised target domain space 432 may be selected and used for unsupervised training. In such a case, the model training may be partially supervised, if some of the supervised targets Ts; 452 are also used for supervised training, or fully unsupervised, if substantially none of the supervised targets Ts; 452 are used for supervised training. The overall training may still be considered partially supervised, especially if some of the supervised targets Ts; 452 are used for supervised training, such as during early iterations, even if they are not used for supervised training in the current iteration. 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 may vary during a training process. The contribution to the cost function from the training data for supervised training and the training data for unsupervised training selected from the supervised target domain space 432 and from the unsupervised target domain space 436 may also or instead vary during a training process. For example, the cost function may be given by Equation 3, below:where D is a data fidelity metric,is the function of the mask prediction model 130, T is the function of the process model 120, S is the number of supervised training data pairs selected for inclusion, U1is the number of unsupervised training data instances selected for inclusion from the unsupervised target domain space 436, U2is the number of unsupervised training data instances selected for inclusion from the supervised target domain space 432, and Oi(t), 02(C), and <r3(t) are hyperparameters that relate the portions of the cost function corresponding to supervised training data, unsupervised training data and unsupervised training data for targets of the supervised target domain space 432.are supervised targets, supervised masks, and unsupervised targets, respectively. As previously described in relation to Equation 2, the cost function may have additionalterms, such as regularization terms, recipe dependent cost function contributions, etc., which are not depicted in Equation 3 for ease of description.

[0071] Figures 5A-5D depict graphs illustrating example relationships in cost functions and between hyperparameters for semi-supervised training of a mask pattern prediction model, according to an embodiment. According to an embodiment of the present disclosure, variable hyperparameters may be used to relate various portions of a cost function corresponding to different types of training, such as supervised and unsupervised training. The hyperparameters may vary based on evolution criteria (such as based on a value of the total cost function, based on a value of a portion of the cost function, etc.).

[0072] Figure 5A depicts a relationship between a first cost function portion 506 for the supervised training data given by 'D ]^f(Tsi') — Msi) from Equation 2 and a second cost function portion 508 for the unsupervised training data given byfrom Equation 2 — as a function of value (in arbitrary units) along y-axis 504 over time, displayed on x-axis 502. In some embodiments, the values (e.g., absolute values, relative values, etc.) of the various cost function portions may be used to determine values or evolution points for the hyperparameters which relate the contributions of the various portions to the total cost function. For example, a decision point 510 may be determined where the values of the first cost function portion 506 and the second cost function portion 508 diverge (or behavior of the values diverge). The decision point 510 may cause an evolution in the hyperparameter. The decision point 510 may be restricted to a temporal range, such as after an initial training. For example, the second cost function portion 508 may not be evaluated unless unsupervised training has begun, which may not occur in first iterations of the training of the model. In another example, even if the first cost function portion 506 and the second cost function portion 508 have not diverged, the decision point may be triggered by a temporal end point such as a number of iterations (e.g., 10 iterations, 100 iterations, 1000 iterations, etc.) — after which the use of supervised training may be reduced such as to reduce the risk of overfitting. Although the cost function portion for the unsupervised training data using the selected target of the supervised training data, such as given by D(T'(JV'(TSj) — Tsi) of Equation 3, is not depicted, it could similarly be used to trigger a decision point and evolution of one or more hyperparameter.

[0073] Figure 5B depicts example hyperparameters which may be used to relate a first cost function portion for the supervised training data given by D(JV' (Tsi) — MSl) (e.g., the first cost function portion 506 of Figure. 5A) and a second cost function portion for the unsupervised training data given by— m) (e.g., the second cost function portion 508 of Figure 5A). The hyperparameters are depicted as a function of value (in arbitrary units) along y-axis 514 over time, displayed on x-axis 502. A first hyperparameter 516 may control the contribution of supervised training to the cost function and may remain constant over the training of the mask prediction model. A second hyperparameter 518 may control the contribution of unsupervised training to the costfunction, and may be negligible (e.g., when compared to the first hyperparameter 516) before a decision point 520 and substantially non-negligible afterwards. A negligible hyperparameter may be zero or may have a non-zero value. The decision point 520 may be determined based on the various cost function portion values (as depicted in Figure 5A), a time, a number of iterations, etc.

[0074] Figure 5C depicts another example of hyperparameters which may be used to relate a first cost function portion for the supervised training data given by D(JV' (Tsi) — Msi) (e.g., the first cost function portion 506 of Figure. 5A) and a second cost function portion for the unsupervised training data given by i=i(Tut)—^ut) (e-g-, the second cost function portion 508 of Figure 5A). The hyperparameters are depicted as a function of value (in arbitrary units) along y-axis 514 over time, displayed on x-axis 502. A first hyperparameter 526 may control the contribution of supervised training to the cost function and may remain be non-negligible over a first portion of the training before a decision point 530 and decrease thereafter. A second hyperparameter 528 may control the contribution of unsupervised training to the cost function, and may be negligible (e.g., when compared to the first hyperparameter 526) before the decision point 530 and substantially non- negligible afterwards. The decision point 530 may be determined based on the various cost function portion values (as depicted in Figure 5A), a time, a number of iterations, etc.

[0075] The relative values of the hyperparameters (e.g., the scaling factors relating the various portions of the cost function) may be more important than their absolute values. Hyperparameters may therefore be negligible (including substantially zero) for some portions of training for which contributions from a specific type of training are minimized. Hyperparameters are depicted as monotonically increasing or decreasing, but may follow any appropriate value trend, such as linear, parabolic, etc.

[0076] Figure 5D depicts example hyperparameters which may be used to relate a first cost function portion for the supervised training data given by D(JV' (Tsi) — MSl) (e.g., the first cost function portion 506 of Figure. 5A), a second cost function portion for the unsupervised training data given by i i ©G7(Tut) — Tyi) (e.g., the second cost function portion 508 of Figure 5A), and a third cost function portion for the unsupervised training using the targets of the supervised training data given by D(F(N (Tsi) — Tsi). The hyperparameters are depicted as a function of value (in arbitrary units) along y-axis 514 over time, displayed on x-axis 502. A first hyperparameter 536 may control the contribution of supervised training to the cost function and may remain be non-negligible over a first portion of the training before a decision point 540 and decrease thereafter. A second hyperparameter 538 may control the contribution of unsupervised training to the cost function, and may be negligible (e.g., when compared to the first hyperparameter 536) before the decision point 540 and substantially non-negligible afterwards. The decision point 530 may be determined based on the various cost function portion values (as depicted in Figure 5A), a time, a number of iterations, etc. A third hyperparameter 539 may control the contribution of the unsupervised training using the targets of thesupervised training data to the cost function, and may be negligible (e.g., when compared to the first hyperparameter 536) before a decision point 550 and substantially non-negligible thereafter. In some embodiments, the values of the second hyperparameter 538 or the third hyperparameter 539 may decrease at a subsequent decision point, after increasing at previous decision point. In some embodiments, the first hyperparameter 536 may decrease to an intermediate value between the decision point 540 and the decision point 550 and decrease thereafter. Although three hyperparameters are depicted, the training data may be divided into additional portions for which additional hyperparameters may be used. Hyperparameters may also be used to control other contributions to the cost function, such as computational burden, stability, etc.

[0077] Figure 6 depicts a schematic representation of semi-supervised training of a mask prediction model 130 in multiple iterations using a process model 120, according to an embodiment. According to an embodiment of the present disclosure, a process model and a mask optimization process are used in training of a mask prediction model, including asynchronously. Individual outputs of iterations of the mask optimization process (and of the mask prediction model training) may be used to train the mask prediction model in a semi- supervised manner.

[0078] A mask optimization process 630 may be a process which an inverse solver (such as the mask prediction model 130 or another inverse solver) operates in concert with the process model 120 to generate and optimize predicted masks 600A-600N based on an input target 610. The mask optimization process 630 may be an iterative process, in which process conditions, input target 610, output masks, etc. may be iteratively optimized based on one or more optimization criterion (e.g., loss function, cost function, etc. as previously described in reference to Figure 2). The predicted masks 600A-600N, where the alphabetical reference character represents an iteration (e.g., Ii, I2, ... IN) of the process, may be compared to a set of mask rules at a mask rule check (MRC) 620. The MRC 620 may determine if the current iteration of the predicted masks 600A-600N is manufacturable, based on physical requirements, customer requirements, fabrication ranges, customer preferences, etc. The MRC 620 may cause the predicted masks 600A-600N which are not manufacturable (e.g., which fail the MRC 620) to be discarded or altered to be in compliance with the MRC 620. The MRC 620 may include other process aware rule checks, such as recipe checks, dose checks, etc. One of the predicted masks 600A-600N which fails the MRC 620 may be used in training, such by being altered to comply with the MRC 620 or by being marked as non-usable and used as a negative example in training. In some embodiments, one of the predicted masks 600A-600N which fails the MRC 620 may be used to marked as a negative example and included in a loss function (or cost function) used to train the mask prediction model 130 away from the negative examples.

[0079] The predicted masks 600A-600N which pass the MRC 620 may be fed into the mask optimization process 630. The mask optimization process 630 may involve alteration of the predicted masks 600A-600N with or without use of the mask prediction model 130. For example, the mask optimization process 630 may operate based on a rigorous inverse solver. In some embodiments, themask optimization process 630 may operate independently of the mask prediction model 130. In some embodiments, the mask optimization process 630 may operate independently of the mask prediction model 130 in some instances (for example, early in the training of the mask prediction model 130) and operate in concert with or based on the mask prediction model in some instances (for example, when the mask prediction model 130 is further trained). The mask optimization process 630 may operate asynchronously (that is, not synchronized with) the mask prediction model 130. The mask optimization process 630 may output one or more predicted masks as instances of the predicted masks 600A-600N, such as for iterations in the mask optimization process 630. The predicted masks 600A-600N may include predicted mask generated by the mask prediction model 130, the mask optimization process 630, or a combination thereof.

[0080] The predicted masks 600A-600N for each iteration may also be input into a process model 120. The process model 120 may generate a predicted target 610A-610N, respectively, for each iteration. The predicted target 610A-610N of each iteration may be compared to the input target 610. The difference between each of the predicted target 610A-610N and the input target 610 may be used to determine the loss function 210. In some embodiments, multiple of the predicted targets 610A- 610N may be compared to the input target 610 and a cost function may be determined, including based on multiple loss functions 210. Additionally or instead, multiple input targets may be fed into the mask prediction model 130 or the mask optimization process 630, including concurrently, for which a set of predicted masks may be generated. The process model 120 may generate a set of predicted targets based on the set of predicted masks, including for each iteration. Each of the set of predicted targets may then be compared to the input target of the multiple input targets to which it corresponds, and the differences used to generate a cost function. It should be understood that any use of a loss function may be generalized for multiple objects to use of a cost function and vice versa. The difference between one of the predicted targets 610A-610N and the input target 610 may be determined based on any appropriate data fidelity metric, such as the T2norm or another difference determination metric.

[0081] The mask optimization process 630 may determine that an iteration represents a ground truth mask 600X for a ground truth target 61 OX, the ground truth target 61 OX corresponding to the ground truth mask 600X. The determination that a predicted mask (e.g., of a given iteration) represents a ground truth may be determined based on the process model 120 or any other appropriate model and any appropriate data fidelity metric. The determination that that a predicted mask represents a ground truth may be made based on a determination of the difference between the output of the process model 120 for the predicted mask. The determination that a predicted mask represents a ground truth may be made based on a data fidelity metric threshold. For example, the predicted mask 600A when operated on by the process model 120 generates a predicted target 610A. If the mask optimization process 630 determines that the predicted mask 600A generates the predicted target 610A with above a threshold of data fidelity (that is, that the predicted target 610A is the ground truth output of the process model120 for the predicted mask 600 A), the predicted mask 600 A and the predicted target 610A may be output (by the mask optimization process 630) as the ground truth mask 600X for the ground truth target 610X. In some embodiments, the outputting of a predicted mask as the ground truth mask 600X may occur even if the predicted target for the predicted mask is not the input target 610 (e.g., when the ground truth target 61 OX is different from the input target 610). The difference between the input target 610 and the ground truth target 61 OX corresponding to the ground truth mask 600X may be used, such as as-the loss function 210, to train the mask prediction model 130. However, the difference between the input target 610 and the ground truth target 610X (as determined using any appropriate data fidelity metric) may not preclude the inclusion of the ground truth target 61 OX and the ground truth mask 600X in a set of ground truth supervised training data 640.

[0082] The ground truth supervised training data 640 may contain pairs of masks (e.g., of the predicted masks 600A-600N) and targets (e.g., of the predicted targets 610A-610N) for which the mask optimization process 630 has determined to be ground truth objects which correspond to one another. The ground truth supervised training data 640 may be used to train the mask prediction model 130 in any appropriate manner, such as those previously described and those described below. The ground truth supervised training data 640 may be a set of data, instances of data, etc. and may be used to train the model as a set of training data, for each additional instance of training data, for subsets of the set of training data, etc. That is, the mask optimization process 630 may output a training data instance (e.g., a pair of the ground truth mask 600X and the ground truth target 610X) at different times (e.g., at different intervals, more slowly, etc.) than the mask prediction model 130. Output of ground truth supervised training data 640 (which may be one or more pairs of ground truth mask and corresponding ground truth targets) may trigger additional training of the mask prediction model 130, such as based on the new ground truth supervised training data 640, based on substantially the totality of the ground truth supervised training data 640, based on a subset of the totality of the ground truth supervised training data 640, etc.

[0083] The predicted targets 610A-610N of one or more iteration may be used, in an unsupervised manner, to train the mask prediction model. The predicted mask targets 610A-610N may be compared to the input target 610 to determine the loss function 210 (or analogously the cost function), such as based on any appropriate measure of difference between the predicted mask targets 610A- 610N and the input target 610. The loss function 210 may be used in unsupervised training 650 to train the mask prediction model, such as through gradient descent 652, backpropagation 654, or any other appropriate method. The methods described for unsupervised training 650 may also be applied to supervised training. The unsupervised training 650 may occur asynchronously with supervised training. The unsupervised training 650 may occur on a quicker time scale (e.g., more often, in more instances, etc.) than the supervised training. This may be a result of the relatively faster operation of the mask prediction model 130 than the mask optimization process 630, or any other appropriate process by which ground truth supervised training data 640 is generated.

[0084] Figure 7 is a flowchart illustrating a method for training of a machine learning model to an output mask pattern based on an input target wafer pattern according to an embodiment of the present disclosure. According to an embodiment of the present disclosure, a machine learning model may be trained to predict a mask pattern for a target wafer pattern in a semi-supervised manner based on a process model. Each of these operations is described in detail below. The operations of method 700 presented below are intended to be illustrative. In some embodiments, method 700 may be accomplished with one or more additional operations not described, and / or without one or more of the operations discussed. Additionally, the order in which the operations of method 700 are illustrated in Figure 7 and described below is not intended to be limiting. In some embodiments, one or more portions of method 700 may be implemented (e.g., by simulation, modeling, etc.) in one or more processing devices (e.g., one or more processors). The one or more processing devices may include one or more devices executing some or all of the operations of method 700 in response to instructions stored electronically on an electronic storage medium. The one or more processing devices may include one or more devices configured through hardware, firmware, and / or software to be specifically designed for execution of one or more of the operations of method 700, for example.

[0085] At an operation 702, a machine-learning (ML) model and a process model are obtained. The ML model may be an untrained model — e.g., may be a model architecture with untrained parameters. The ML model may be a trained model (including a partially trained model). The ML model may be a base model (that is, previously trained to perform a similar task but ready for refinement). The ML model may be a fully trained model, such as a model previously trained to a termination criterion on the same or a similar task. The ML model may be a model which is over-trained (e.g., overfitted to a previous training set), for which additional training on different (e.g., broader) training data may reduce overfitting. The ML model may be obtained from data storage — e.g., the architecture and parameters of the ML model may be obtained from memory.

[0086] The process model may be any appropriate model of a process, such as an optical model, a resist development model, a resist exposure model, an etch model, an implantation model, a lithography model, or a combination thereof. The process model may be a physical model, semiphysical model, machine learning model, etc. The process model may operate on the characteristics of the patterning process to determine a predicted output of the patterning process. The process model may operate on ideal characteristics, measured characteristics, etc. The process model may be a set of models, such as in series. In some embodiments, the process model may be or incorporate a machine learning model. In some embodiments, the process model may be a fixed model — that is a model not changed during the process of training the ML model for mask prediction.

[0087] At an operation 704, a target wafer pattern is selected. The target wafer pattern may be selected from a set of target wafer patterns. The target wafer pattern may be selected, such as as a subpattern, from a target pattern for a full wafer, for a chip, etc. The target wafer pattern may be a clip. The target wafer pattern may be selected from a set of target wafer patterns based on a rankingof the target wafer patterns. The target wafer patterns may be ranked based on predicted errors, CD, “hotspots”, etc. The target wafer pattern may be selected by a user. The target wafer pattern may be input (e.g., to the system or method) from memory. The target wafer pattern may be selected by a pattern selection algorithm, such as by any method previously described.

[0088] At an operation 706, the ML model is applied to the target wafer pattern to generate a corresponding predicted mask pattern. The ML model may be any appropriate ML model, such as a neural network (NN) and may operate in any appropriate manner. The ML model may output the corresponding predicted mask pattern based on the target wafer pattern in any appropriate manner, such as those previously described.

[0089] At an operation 708, it is determined if the target wafer pattern has a corresponding ground truth mask pattern. This may be a determination of whether the target wafer pattern corresponds to supervised training data or unsupervised training data. The target wafer pattern, when selected at the operation 704, may include or be associated with a ground truth mask pattern. The target wafer pattern, such as when selected at the operation 704, may not include or be associated with a ground truth mask patter. If it is determined that the target wafer pattern has a corresponding ground truth mask pattern, the flow continues to operation 710. If it is determined that the target wafer pattern does not have a corresponding ground truth mask pattern, the flow continues to operation 720.

[0090] At the operation 710, a difference is determined between the predicted mask pattern corresponding to the target wafer pattern and the ground truth mask pattern corresponding to the target wafer pattern. The difference may be determined in any appropriate way by any appropriate data fidelity metric, such as those previously described. The difference may include or be instead another relationship between the predicted mask pattern corresponding to the target wafer pattern and the ground truth mask pattern corresponding to the target wafer pattern, such as a weighted average, mean, offset, etc.

[0091] At the operation 720, the forward model is applied to the predicted mask pattern to generate a corresponding predicted target pattern. The forward model may also operate based on a process recipe. The forward model may be any appropriate forward model and may operate in any appropriate manner. The forward model may output the corresponding predicted target pattern based on the predicted mask pattern in any appropriate manner, such as those previously described.

[0092] At an operation 722, a difference is determined between the predicted target pattern corresponding to the target wafer pattern (e.g., generated from the predicted mask pattern corresponding to the target wafer pattern) and the target wafer pattern. The difference may be determined in any appropriate way by any appropriate data fidelity metric, such as those previously described. The difference may include or be instead another relationship between the predicted target pattern corresponding to the target wafer pattern and the target wafer pattern, such as a weighted average, mean, offset, etc.

[0093] At an operation 730, the ML model is trained based on the determined differences. The determined differences may be used to generate a loss function, a cost function, etc. The ML model may be trained in any appropriate manner. The ML model may be trained for the selected target wafer pattern individually, for a set (e.g., batch) of selected target wafer patterns, etc. The ML model may be trained by supervised training and by unsupervised training. The ML model may be trained asynchronously, such as at different times by the different methods. The ML model may be trained by contributions from both supervised training and unsupervised training simultaneously, concurrently, sequentially, etc.

[0094] At an operation 732, it is determined if a training criterion for the ML model is satisfied. The training criterion may be a number of iterations, a validation criterion, a testing criterion, a training time, an amount of supervised training data, an amount of unsupervised training data, an amount of training data, a threshold for coverage of a wafer design in training data, etc. The training criterion may include a determination that substantially all, a subset, some, etc. of subpatterns of a full wafer, a chip, etc. have been processed as supervised training data, unsupervised training data, or otherwise included in training. If it is determined that the training criterion is not satisfied, flow continues to the operation 704, where an additional target wafer pattern is selected. If it is determined that the training criterion is satisfied, flow continues to an 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 set of parameters, for storage and later application.

[0095] As described above, method 700 (and / or the other methods and systems described herein) is configured for training a machine learning model to predict a mask pattern based on target pattern.

[0096] Figure 8 is a diagram of an example computer system CS that may be used for one or more of the operations described herein, according to an embodiment of the present disclosure. Computer system CS includes a bus BS or other communication mechanism for communicating information, and a processor PRO (or multiple processors) coupled with bus BS for processing information. Computer system CS also includes a main memory MM, such as a random-access memory (RAM) or other dynamic storage device, coupled to bus BS for storing information and instructions to be executed by processor PRO. Main memory MM also may be used for storing temporary variables or other intermediate information during execution of instructions by processor PRO. Computer system CS further includes a read only memory (ROM) ROM or other static storage device coupled to bus BS for storing static information and instructions for processor PRO. A storage device SD, such as a magnetic disk or optical disk, is provided and coupled to bus BS for storing information and instructions.

[0097] Computer system CS may be coupled via bus BS to a display DS, such as a cathode ray tube (CRT) or flat panel or touch panel display for displaying information to a computer user. An input device ID, including alphanumeric and other keys, is coupled to bus BS for communicating information and command selections to processor PRO. Another type of user input device is cursorcontrol CC, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor PRO and for controlling cursor movement on display DS. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane. A touch panel (screen) display may also be used as an input device.

[0098] In some embodiments, portions of one or more methods described herein may be performed by computer system CS in response to processor PRO executing one or more sequences of one or more instructions contained in main memory MM. Such instructions may be read into main memory MM from another computer-readable medium, such as storage device SD. Execution of the sequences of instructions included in main memory MM causes processor PRO to perform the process steps (operations) described herein. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory MM. In some embodiments, hard-wired circuitry may be used in place of or in combination with software instructions. Thus, the description herein is not limited to any specific combination of hardware circuitry and software.

[0099] The term “computer-readable medium” and / or “machine readable medium” as used herein refers to any medium that participates in providing instructions to processor PRO for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as storage device SD. Volatile media include dynamic memory, such as main memory MM. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise bus BS. Transmission media can also take the form of acoustic or light waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Computer-readable media can be non-transitory, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge. Non-transitory computer readable media can have instructions recorded thereon. The instructions, when executed by a computer, can implement any of the operations described herein. Transitory computer-readable media can include a carrier wave or other propagating electromagnetic signal, for example.

[0100] Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor PRO for execution. For example, the instructions may initially be borne on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system CS can receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled to bus BS can receive the data carried in the infrared signal and place the data on bus BS. Bus BS carries the data tomain memory MM, from which processor PRO retrieves and executes the instructions. The instructions received by main memory MM may optionally be stored on storage device SD either before or after execution by processor PRO.

[0101] Computer system CS may also include a communication interface CI coupled to bus BS. Communication interface CI provides a two-way data communication coupling to a network link NDL that is connected to a local network LAN. For example, communication interface CI may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface CI may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface CI sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information.

[0102] Network link NDL typically provides data communication through one or more networks to other data devices. For example, network link NDL may provide a connection through local network LAN to a host computer HC. This can include data communication services provided through the worldwide packet data communication network, now commonly referred to as the “Internet” INT. Local network LAN (Internet) may use electrical, electromagnetic, or optical signals that carry digital data streams. The signals through the various networks and the signals on network data link NDL and through communication interface CI, which carry the digital data to and from computer system CS, are exemplary forms of carrier waves transporting the information.

[0103] Computer system CS can send messages and receive data, including program code, through the network(s), network data link NDL, and communication interface CL In the Internet example, host computer HC might transmit a requested code for an application program through Internet INT, network data link NDL, local network LAN, and communication interface CL One such downloaded application may provide all or part of a method described herein, for example. The received code may be executed by processor PRO as it is received, and / or stored in storage device SD, or other nonvolatile storage for later execution. In this manner, computer system CS may obtain application code in the form of a carrier wave.

[0104] A model trained to output mask patterns based on target patterns may suffer, in some embodiments, from inconsistency (e.g., where different masks may map to the same target — as discussed in reference to Figure 4 — which may make training the model to output consistent mask patterns difficult) and / or data generation costs (e.g., cost associated with generating labeled data for supervised training).

[0105] For example, due to the physical characteristics of the system and any binarization of the mask patterns (e.g., conversion of grayscale to black and white for a mask writing), there may be a many-to-one mapping of the mask patterns in a mask space onto the target patterns in the target space. Thus, there may be a family of mask patterns s with similar and / or equal performance for a giventarget pattern, where any of the multiple mask pattern solutions may be valid. This ambiguity may be further amplified when mask patterns are refined, such as by addition of SRAF / OPC features to CTM mask pattern. The ambiguity may be problematic due to variance which may be generated in the reticle features for similar patterns, and which may make process control difficult. That is, a stable solution may be more desirable due to robustness against process variations. Additionally, the ambiguity introduced in mask refinement (e.g., SRAF / OPC refinement procedures) may hinder the creation of machine learning model(s) which map directly from CTM mask patterns and target patterns. This may lead to a mask pattern that has to be refined separately from generation of the CTM mask, where the refinement process may introduce ambiguity as previously described. In some training methods, these problems may be mitigated at least in part by generation of large amounts of training data, which may computationally expensive. In some training methods, a mask pattern may be pinned to one of multiple possible solutions, which may obscure the non-uniqueness of the solutions and may therefore make this non-uniqueness challenge more difficult to mitigate.

[0106] In some embodiments, machine learning models may be trained to generate mask patterns corresponding to target patterns based on at least some supervised training, where supervised training may require ‘labeled’ data, such as target pattern-mask pattern (e.g., CTM) pairs. However, each mask pattern (e.g., CTM image) may be the result of a computationally intensive iterative procedure. Furthermore, machine learning models, such as neural networks (NN), may require large amounts of examples (e.g., labeled training data) to deliver good generalization performance. Since a full wafer design is too large to sample completely (e.g., to sample as target patterns), this may result in a tradeoff between generalization of the model and the computational budget (e.g., available computational resources / time), which may lead to pattern selection and pattern coverage challenges when selecting target patterns from the full wafer design for inclusion in training data. Further, the selection of specific target patterns and mask patterns for inclusion in the labeled training data may pin the model to those specific solutions. None of which is to suggest that any technique suffering to some degree from these issues is disclaimed or that any other subject matter is disclaimed.

[0107] In some embodiments, a generative model may 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 P(M\T, F~) that may sample mask patterns solutions M for the physical system F given a target T, such that approximately T = F(M) for any M ~ P(M\T, F~). The generative model may operate on and / or produce CTM images as the mask patterns, or any other appropriate mask patterns. In some embodiments, the generative model may produce mask patterns which may be subject to further refinement, such as by SRAF / OPC refinement. In some embodiments, the generative model may produce mask patterns which include SRAF / OPC refinement, at least in part. In some embodiments, the generative model may be a NN model. In some embodiments, the NN model may parameterizethe distribution of P(M\T, F') of valid mask patterns M conditioned on T for a physical system F, which may be a lithographic system.

[0108] Figure 9 depicts a schematic representation of training of a generative model for mask pattern prediction. According to an embodiment of the present disclosure, a generative model may be trained by self-supervision to generate mask patterns based on target patterns for a given physical system (e.g., optical system, lithographic system, etc.).

[0109] A generative model G 902 may be trained to output a mask pattern, based on input of a target pattern T. The generative model G 902 may be a neural network (NN) model which accepts as input the target pattern T. The generative model G 902 may be an image-to-image model. The generative model G 902 may be a U-Net model. The generative model G 902 may be a convolutional neural network (CNN). The generative model G 902 may also accept as input a latent variable z 906. The latent variable z 906 may be a latent state representation. The latent variable z 906 may be a multidimensional random variable, including a high-dimensional variable of more than ten dimensions, more than 50 dimensions, more than 100 dimensions, etc. The latent variable z 906 may be or contain one or more random variable, pseudo-random variable, etc. The latent variable z 906 may contain one or more dimension which is randomly and / or pseudo-randomly selected from a distribution, set, or other group of possible variables for the given dimension. For example, the latent variable z 906 may be randomly selected from a range of pre-determined random variables. The latent variable z 906 may be selected, including randomly and / or pseudo-randomly, from a distribution P(z) 908. The distribution P(z) 908 may be any appropriate distribution which may be readily sampled. The distribution P(z) 908 may be a normal distribution, a uniform distribution, a Poisson distribution, etc. The distribution P(z) 908 may be symmetrical (e.g., about a norm) or asymmetrical. The distribution P(z) 908 may be different or the same for each dimension of the latent variable z 906. The distribution P(z) 908 may be a linear (or any other appropriate combination) of one or more distributions.

[0110] The generative model G 902 may output a mask pattern M 910. The mask pattern M 910 may be an image. The mask pattern M 910 may be output as a grayscale image. The mask pattern M 910 may be output as a binarized (e.g., black and white) image. The mask pattern M 910 may be parameterized, such as by a sigmoid function, which may be used to convert a grayscale image to a black and white image (e.g., with a pixel value between 0 and 1). The mask pattern M 910 may have the same size and / or dimensionality as the target pattern T. The mask pattern M 910 may have the same size and / or dimensionality as the latent variable z 906, which may have the same size and / or dimensionality as the target pattern T.

[0111] In order to train the generative model G 902 and / or determine the accuracy of the generative model G 902, a physical system F 912 (e.g., physical model, physics-inspired module, etc.) may be used. The physical system F 912 (e.g., a physical model, including a physics-based model of alithography system, etch system, resist development system, optical system, etc.) may operate on the mask pattern M 910 to produce an intermediate target pattern (e.g., as an output), which may be compared to the target pattern T which was input into 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 may be used to train the generative model G 902 by self-supervision and without the creation a labeled training data. The physical system F 912 may also take as input process parameter(s) 0 914. The process parameter(s) 0 914 may be or represent process variation in a physical process corresponding to the physical system F 912 (e.g., shot noise, optical process variation, resist development variation, etc.). The process parameter(s) 0 914 may be or represent a configuration of the physical system F 912. For example, the process parameter(s) 0 914 may be selected from parameters representing different values on a focus-exposure matrix (FEM). The process parameter(s) 0 914 may be a multi-dimensional variable, including a high-dimensional variable of more than ten dimensions, more than 50 dimensions, more than 100 dimensions, etc. The process parameter(s) 0 914 may be or contain one or more random variable, pseudo-random variable, etc. The process parameter(s) 0 914 may contain one or more dimension which is randomly and / or pseudo-randomly selected from a distribution, set, or other group of possible variables for the given dimension (such as from a FEM). For example, the process parameter(s) 0 914 may be randomly selected from a range of pre-determined random variables. The selection of the process parameter(s) 0 914, such as randomly for each of the iterations of the generative model G 902 during training, may be used to ensure robustness of the output of the generative model G 902 to process variations.

[0112] During training, which may be self-supervised training, the generative model G 902 may be trained in multiple iterations. In each iteration, one or more target patterns 7) 904 may be input into the generative model G 902 to generate a corresponding one or more mask patterns ML. The physical system F 912 may then operate on the one or more mask patterns M 910 to produce one or more intermediate target patterns 7) 916. The difference between the one or more target patterns 7) 904 (e.g., the input to the generative model G 902) and the one or more intermediate target patterns 7) 916 may be used to determine an objective function L 918. The objective function L 918 may be a loss function. The objective function L 918 may be a cost function. The objective function L 918 may be any appropriate objective function, such as that given by Equation 4, below:where 7) = and where a regularization term R(ML) 920 may be any appropriate differentiable regularization term. The regularization term R(ML) 920 may be used to enforce consistency on the target pattern T, such as will be described later. The objective function L 918 may include a targetfidelity term, which may be mean squared error (MSE), binary cross-entropy loss (BCE), etc. The objective function L 918 may include use of a norm of the difference between the one or more target patterns 7) 904 and the one or more intermediate target patterns 7) 916. A difference may be a subtraction (e.g., a linear difference, a weighted difference, a normed difference, etc.). In some embodiments, the difference may be a linear (or any other appropriate) combination of differences and may include operations of subtraction, addition, multiplication, division, absolute value, etc., including operations which may be different in different portions of a pattern (e.g., target pattern, intermediate target pattern, mask pattern).

[0113] The generative model G 902 may be trained, based on the objective function L 918, by any appropriate method, such as those described in relation to Figures 1 and 6 (e.g., gradient descent, backpropagation, etc.). The generative model G 902 may be trained, based on the objective function L 918, using any appropriate method previously described for supervised, semi-supervised, selfsupervised, and / or unsupervised training. In some embodiments, self-supervised training may be related to semi-supervised training, and, in some embodiments, training may exist on a sliding scale between fully self-supervised and semi-supervised. Additionally or instead, training described for a generative model (e.g., the generative model G 902) may be applied to a deterministic or non- generative model. For example, a generative model (e.g., the generative model G 902) trained with self- supervision may substantially be a deterministic model trained with self-supervision.

[0114] In some embodiments, the generative model G 902 may be trained for one target at a time. In some embodiments, the generative model G 902 may be trained for a batch of targets in each iteration. The batch size may be the same or different for each iteration. For example, additional targets may be added to the training as the model is trained (e.g., the batch size may increase as training progresses). In some embodiments, target patterns may also be dropped from a batch as training proceeds, such as described in relation to Figures 5C and 5D, including through the use of hyperparameters.

[0115] In each iteration, the latent variable z 906 may be sampled from the distribution P(z) 908. In some embodiments, the latent variable z 906 may be sampled for the iteration (e.g., for input into the generative model G 902 and application to each of the one or more target patterns 7) 904 of the batch). In some embodiments, the latent variable z 906 may be sampled for the iteration for each of the one or more target patterns 7) 904 of the batch (e.g., independently for each of the one or more target patterns 7) 904 of the batch). The latent variable z 906 and each of the one or more target patterns 7) 904 are then fed to the current iteration of the generative model G 902 to produce a corresponding one of the one or more mask patterns ML. The one or more mask patterns ML. are then fed to the physical system F 912, which generates the one or more intermediate target patterns 7) 916. Eike the generative model G 902 operates on the latent variable z 906, the physical system F 912 may also take as input the process parameter(s) 0 914. The process parameter(s) 0 914 may be sampled for the iteration (e.g., for input into the physical system F 912 and application to each of the one or more oneor more mask patterns M;of the batch). In some embodiments, the process parameter(s) 9 914may be sampled for the iteration for each of the one or more one or more mask patterns M;of the batch (e.g., independently for each of the one or more one or more mask patterns M;of the batch). The process parameter(s) 0 914 and each of the one or more mask patterns M, may be fed into the physical system F 912 to produce the one or more intermediate target patterns 7) 916. The one or more target patterns Ti 904 and the one or more intermediate target patterns 7) 916 may then be used to determine the objective function L 918 for the iteration.

[0116] In some embodiments, the generative model G 902 may then be updated based on the gradient of a cost function (or another function of the objective function L 918), which may relate both the output mask (e.g., the one or more mask patterns() and the latent variable z 906 to the input (e.g., desired) target (e.g., the one or more target patterns T;904). The generative model G 902 may thus be trained in a method reminiscent of those used to train generative adversarial networks (GANs), however without the use of or learning of a discriminator.

[0117] In some embodiments, the application of the physical system F 912 to the one or more mask patterns M, may still generate a high computational cost (e.g., be computationally intensive).However, in some embodiments, the training of the generative model G 902 may occur simultaneously with the determination of multiple solutions (e.g., multiple mask patterns(s) M 910) for one or more target pattern(s) T. This may improve convergence speed and / or generalization of the generative model G 902. In some embodiments, self-supervised training may be based on large data sets composed entirely of target patterns T, which may eliminate the need for labeled data and / or precomputed mask patterns M. In some embodiments, by disregarding the variability in the latent variable z 906 (such as by choosing, proscribing, defining, etc. a constant latent variable z 906), the training may produce a deterministic, fully self- supervised model. In some embodiments, likewise, the variability in the process parameter(s) 0 914 may be ignored.

[0118] In some embodiments, because the generative model G 902 may be trained without creating of labeled training data (e.g., without generation of refined and / or optimized mask patterns M corresponding to target patterns T), as many clips (e.g., the target patterns 7) 904) may be selected as allowed for in the computing budget. In some embodiments, substantially all of a full wafer design may be selected as the target patterns 7) 904. In another embodiment, the number of the target patterns 7) 904 included in an iteration (e.g., as the batch) may be increased over time (e.g., over the number of iterations) until substantially all of the full wafer design is selected (such as in “clips”) as the target patterns T;904.

[0119] In some embodiments, once the generative model G 902 is trained, a mask pattern M may be generated based on a target pattern T, with or without sampling from the distribution P(z) 908. For example, if the distribution P(z) 908 is a normal distribution, then the mean value of the latent variable z 906 may be used when generated a mask pattern M based on a target pattern T. In anotherembodiment, a value of the latent variable z 906 may be sampled from the distribution P(z) 908 and used with the trained generative model G 902 to generate a mask pattern M based on a target pattern T.

[0120] In some embodiments, various different latent variables z may be sampled from the distribution P(z) 908 for use with the same mask pattern M in order to generate statistics for uncertainty estimates for the trained generative model G 902. In some embodiments, multiple latent variable z may be sampled from the distribution P(z) 908 and conditioned on multiple target patterns T to generate uncertainty estimates.

[0121] In some embodiments, consistency between mask patterns M may be enforced, including during training of the generative model G 902. For example, in some embodiments, the sampling distribution (e.g., distribution P(z) 908) may be ignored and the generative model G 902 may be trained as a deterministic neural network in a self-supervised fashion. In such a deterministic model, the generative model G 902 may be configured to accept a null latent variable z 906 or additional or instead to operate on a target patterns T alone, without input of a latent variable z 906.

[0122] In another example, in some embodiments, a random number generator may be seeded (e.g. the distribution P(z) 908 fixed and the latent variable z 906 made pseudo-random and / or repeating) and the target patterns T evaluated with a fixed (or minorly variable) z. Since the inputs (e.g., the latent variables z 906 and the target patterns T) are similar for such a fixed z, only small variations in output (e.g., the mask pattern(s) M) are expected for a given generative model G 902 (such as during training and / or deployment), which may reflect intrinsic variation in the target patterns. In this sense, fixing z may make the network deterministic at the limit of reproducibility.

[0123] In an example, in some embodiments, the generative model G 902 may be trained such that a mode (e.g., mode z0) of the random variable may be associated with the best performance (where performance may include any appropriate measure of performance, such as largest process variation window, most stable FEM, robustness, reproducibility, image quality, etc.). In some embodiments, this may be achieved by selecting the distribution P(z) 908 which has a mode of P(z) associated with a cost term. For example, each batch or iteration may include a latent variable z 906 of the mode z0and the optimization function may include a term, such as a0L(Ti,such that M,0is the mask pattern resulting from the mode z0(e.g., Mi (l= G(1 , z0)) and where a0is greater than 1. In such an embodiment, the generative model G 902 may be trained about (e.g., towards) the specific mode represented by z0(for example, the inclusion of the loss term driving the solution towards M,0in the optimization function).

[0124] In another example, in some embodiments, consistency may be enforced and / or rewarded in the mask pattern M domain. For example, given a mask pattern M’ (corresponding to a target pattern T') and a mask pattern M (corresponding to a target pattern T), where the target patterns T’ and T are similar, it may be possible to enforce similarity between M’ and M as well. In some embodiments, alatent variable z may be found for the target pattern T for which the generative model G 902 output the mask pattern M such that the distance to the mask pattern M' (e.g., in the mask pattern space) is minimized while the reconstruction error is also small (e.g., co-minimized, thresholded, etc.). If there exists a set of similar targets, consistency may be enforced and / or rewarded) by finding a latent variable z which minimized the differences between mask patterns (corresponding to the set of similar targets) while also optimizing performance of the generative model G over the set.

[0125] In some embodiments, the generative model G 902 may be tested for generalization (e.g., to different target patterns T) and / or for coverage (e.g., of a full wafer design or clips thereof). For example, a set of previously unseen (e.g., not used in training) target patterns T may be provided to the generative model G 902. The performance distribution of the generative model G 902 may then be evaluated, including empirically, to determine a distribution of losses (or other optimization function values) for the unseen target patterns T. By comparing the distribution of losses for the unseen target patterns T to the distribution of losses over all other target patterns T, it may be determined if the unseen target patterns T has a distribution loss which is outside of the distribution of losses over all other target patterns T, which may correspond to a large deviation and / or small overlap between the performance of the generative model G 902 on the unseen target patterns T (e.g., versus the target patterns T used in training).

[0126] In some embodiments, the generative model G 902 may be trained to generate robust mask by also using as input the process parameter(s) 6 914 (which may be the same process parameter(s) 6 914 as input to the physical system F 912 for a given iteration). The process parameter(s) 6 914 may be sampled from a distribution (including randomly, pseudo-randomly, etc.) and input into the generative model G 902 during training and / or deployment.

[0127] In some embodiments, process variability may be accounted for by training the generative model G 902 for robustness against process variations (e.g., variations due to physics) by randomly (or pseudo-randomly) selecting the process parameter(s) 6 914 for input into the physical system F 912. In some embodiments, the process parameter(s) 0 914 may also be included as input into the generative model G 902, such as to condition the generative model G 902 to operate on a specific and / or random process parameter configuration.

[0128] In some embodiments, the generative model G 902 may be any appropriate image-to-image. In some embodiments, the latent variable z may be an “image” (e.g., of the same size or dimensionality as the target pattern T) with randomly chosen pixel values. In another embodiment, the latent variable z may be present as a channel in an image of the target pattern T. In another embodiment, the target pattern T may be altered (e.g., corrupted) by addition, subtraction, convolution, etc. with the latent variable z. In an embodiment, the generative model G 902 may be configured such that its architecture may process the target pattern T and the latent variable z separately (including sequentially, simultaneously, asynchronously, etc.) before merging resultingfeatures for to generate a mask pattern M. In such an embodiment, the latent variable z may have any appropriate shape, including of a different shape, size, dimensionality, etc. than the target pattern T. In some embodiments, a variational autoencoder may be added (and trained) to encode or otherwise provide structure for the latent variable z.

[0129] In some embodiments, the objective function L 918 (which may be a loss function) may be composed typically of a data fidelity term which may depend on the predicted target pattern(s) (e.g., target pattern T) and the desired target pattern(s) (e.g., target pattern(s) T), whereas included regularization terms may depend on the mask pattern(s) (e.g., mask pattern(s) M). Regularization terms may include a total variation term, which may function to smooth out features. In some embodiments, process variation may also or instead be included by sampling, including randomly or pseudo-randomly, the process parameter(s) 0 914, which may function as a type of stochastic regularization.

[0130] In some embodiments, the ambiguity of the solution space may be accepted, instead of worked against, and even used to generate statistical analysis for solution robustness. In some embodiments, a variety of solutions (e.g., mask patterns M) may be generated for a given target (e.g., target pattern T). Because multiple solutions may be found, statistical analysis may be performed to determine robustness, reliability, and other statistics for valid mask patterns — e.g., valid mask patterns may have their uncertainty and reliability quantified and / or qualified. In some embodiments, this may allow for post-selection of mask patterns from the set of valid mask patterns, such as based on score ranking of the masks (e.g., by robustness, reliability, etc.), resampling, etc. In some embodiments, an optimal latent variable z may be determined, such as by a maximum likelihood estimate (MLE) approach. In some embodiments, backpropagation of the error to the latent space may allow for optimal latent variable z determination.

[0131] In some embodiments, the generative model G may bypass any need to generate computationally expensive data to train a neural network for individual mask pattern predictions. The self- supervised training may allow the generative model G to be trained to find solutions without explicitly mapping of the target pattern space to the mask pattern space. Thus, a variety of valid mask patterns may be learned without learning of extraneous mask patterns. In some embodiments, the generative model G may be used to provide, including on demand, large amounts of mask pattern samples, such as to form a full chip and / or wafer design, which may mitigate both pattern selection and pattern coverage challenges. In some embodiments, given that the generative model G may process a large amount of target patterns to produce a correspondingly large amount of mask patterns, the generative model G may learn the underlying statistical properties of the target patterns and how they map to allowable mask pattern solutions. In some embodiments, other target patterns that follow the same statistical pattern as the selected target patterns may then be generalized based on those target patterns included in training. In some embodiments, target patterns which do not follow thesame statistical patterns of the target patterns already included in training may be identified by their disparate statistical patterns and then included in additional training so as to further expand the generative model G.

[0132] In some embodiments, a self-supervised model, such as the generative model G, may be expected to converge more quickly than when trained with a supervised (e.g., fully supervised) procedure. This may be because the training of the self-supervised model may operate on multiple target patterns (e.g., a batch of target patterns) simultaneously. The batch of target patterns may supply more information to the self- supervised model at each training iteration (than supplied to a model trained on supervised data). The self-supervised model may therefore generate better quality information for each training iteration. This may be in contrast to supervised models, which may require extensive, computationally intensive data generation before training may even begin, and which may require an inverse model or the inversion problem to be solved for each target patternmask pattern pair of the supervised training data.

[0133] Figure 10 is a schematic representation of training of a mask pattern prediction model with reinforcement learning. According to an embodiment of the present disclosure, a model may be trained (or further trained) by reinforcement learning to mask patterns based on target patterns.

[0134] In an embodiment, an ML model may be trained to generate a mask pattern based on a target pattern. The ML model may be any appropriate model, such as a NN, CNN, image-to-image model, etc. The ML model may be any appropriate model described in relation to any other embodiment herein. The ML model may be trained by supervised training.

[0135] In an embodiment, an ML model 1016 may be initially trained, such as at an operation 1010, based on a set of ground truth data 1000. The ground truth data 1000 may include a set of target patterns 1002 and a corresponding set of mask patterns 1004. In some embodiments, the target patterns 1002 may be generated based on the mask patterns 1004, such as by use of a forward model, physical model, or any other appropriate method. In some embodiments, the mask patterns 1004 may be generated based on the target patterns 1002, such as by an inverse model or any other appropriate method. The ground truth data 1000 may be CTM mask patterns, which may be developed based on several hundred refinement and / or optimization iterations between a forward and inverse model. The ground truth data 1000 may be prepared by any appropriate method. The ground truth data 1000 may be determined based on a ML (for example, NN) model, physical model, etc. The ground truth data 1000 may be prepared by a previous iteration of the ML model 1016, or by refinement and / or optimization of output of a previous iteration of the ML model 1016. The ML model 1016 may be trained by any appropriate method, based on the ground truth data 1000. The ML model 1016 may be trained by supervised training. The ML model 1016 may be trained by semi-supervised training, such as by using the labeled data of the ground truth data 1000 and any other appropriate unlabeled data. The ML model 1016 may be trained by any appropriate method, such as those previously described in reference to Figures 3, 4, 5, 6, and 9.

[0136] In an embodiment, a trained ML model 1026 (e.g., the trained version of the ML model 1016 created at the operation 1010) may be applied to a set of target patterns at an operation 1020. The target patterns may be the target patterns 1002 of the ground truth data 1000. The target patterns may include one or more target patterns in addition to the target patterns 1002 of the ground truth data 1000. For example, in each iteration of training, target patterns may be selected, such as by a target selection algorithm, and added to the set of target patterns. Additionally or instead, in some embodiments, target patterns may be dropped from the set of target patterns. The trained ML model 1026 may output a set of mask patterns 1036 based on the set of target patterns.

[0137] In an embodiment, at an operation 1030, the set of target patterns and the set of mask patterns 1036 corresponding to the trained ML model 1026 may be refined. Refinement may include SRAF / OPC refinement, or any other appropriate refinement. Refinement may include multiple (e.g., tens, hundreds, etc.) of iterations through a forward and inverse model, such as during addition of SRAFs. Refinement may include adjustment of mask patterns and / or adjustment of target patterns.

[0138] In an embodiment, after refinement, the adjusted set of target patterns 1042 and the adjusted set of mask patterns 1044 may be selected as an updated set of ground truth data 1040.

[0139] In an embodiment, the updated set of ground truth data 1040 may then be used to train an updated ML model. The process may be repeated iteratively, in order to strengthen the ML model by reinforcement learning and refinement. Reinforcement learning may lead to convergence of mask patterns, may reduce edge placement error, may reduce a process variation (PV) band, etc.

[0140] Embodiments of the present disclosure can be further described by the following clauses.1. A method for training a machine learning (ML) model for mask pattern generation, comprising: obtaining the ML model, the ML model 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 configured to predict an output pattern based on an 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.2. The method of 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 of clause 2, further comprising training the ML model by semi-supervised, unsupervised and / or self-supervised training for one or more additional training input patterns.4. The method of clause 3, wherein each of the one or more additional training input patterns comprises a subpattern of a design layout.5. The method of clause 2, wherein training the ML model further comprises: training the ML model based on a set of supervised training data, the set of supervised training data comprising a set of supervised training patterns and corresponding training mask patterns.6. The method of clause 5, wherein the ML model and the forward model produce output at different time intervals and wherein (i) training the ML model based on the set of supervised training data and (ii) training the ML model by the unsupervised training occur asynchronously.7. The method of clause 6, wherein adjusting the ML model based on the difference between the training input pattern and the predicted wafer pattern occurs substantially subsequent to the forward model generating the predicted wafer pattern.8. The method of clause 5, wherein the supervised training patterns are ground truth wafer patterns for the corresponding training mask patterns.9. The method of clause 5, wherein the supervised training patterns are selected by a pattern selection algorithm.10. The method of clause 5, wherein the training input pattern of the unsupervised training is not a member of the set of supervised training patterns of the set of supervised training data.11. The method of clause 5, wherein (i) training the ML model based on the set of supervised training data and (ii) training the ML model by the unsupervised training comprises adjusting the ML model based on (i) the difference between the training mask patterns of the set of supervised training data and mask patterns predicted by the ML model based on the supervised training patterns of the set of supervised training data and (ii) the differences between one or more training input patterns and one or more predicted wafer patterns.12. The method of clause 11, wherein (i) the difference between the training mask patterns of the set of supervised training data and mask patterns predicted by the ML model based on the supervised training patterns of the set of supervised training data and (ii) the differences between the one or more training input patterns and the one or more predicted wafer patterns comprises a first portion of a cost function comprise a second portion of the cost function, the first portion of the cost function and the second portion of the cost function being related by hyperparameters and wherein the hyperparameters evolve over the training.13. The method of clause 1, wherein training the ML model comprises adjusting at least one of parameters, form, or a combination thereof of the ML model until a termination criterion isreached, wherein the termination criterion is at least one of a gradient value, a loss function value, a cost function value, a number of iterations, a run time, receipt of additional output of the forward model, or a combination thereof. The method of clause 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. The method of clause 14, wherein adjusting the ML model comprises adjusting the ML model based on a gradient of the loss function. The method of clause 1, wherein the output mask pattern comprises at least one of a mask layout, an aerial image, a mask image, a continuous transmission mask (CTM) pattern, and a combination thereof. The method of clause 1, wherein the ML model is a neural network (NN). The method of clause 1, wherein the forward model comprises a process model. The method of clause 1, wherein the forward model is at least one of an optical model, an etch model, a resist model, a lithography model, physical model, and a combination thereof. The method of clause 1, wherein the forward model is not substantially altered by the training. The method of clause 1, wherein the forward model is a non-machine-learning (non- ML) model. A method for training a ML model configured to generate a mask pattern based on an input target pattern, comprising: obtaining a ML model; and training the ML model based on a first training data set and a second training data set, the first training data set comprising a first set of target patterns and corresponding determined mask patterns, and the second training data set comprising a second set of target patterns, wherein the training comprises: 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 the one or more of the second set of target patterns and the one or more predicted target patterns; anddetermining 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 the one or more of the second set of target patterns and the one or more predicted target patterns.23. The method of clause 22, wherein the first set of target patterns and the second set of target patterns comprise subpatterns of a larger target pattern.24. The method of clause 23, wherein the one or more of the second set of target patterns are selected from the larger target pattern based on a measure of stability.25. The method of clause 23, wherein the one or more of the second set of target patterns are selected from the larger target pattern until a termination criterion is reached.26. The method of clause 22, wherein the relationship between the first set of predicted mask patterns and the corresponding determined mask patterns comprises a difference between the first set of predicted mask patterns and the corresponding determined mask patterns and wherein the relationship between the one or more of the second set of target patterns and the one or more predicted target patterns comprises a difference between the one or more of the second set of target patterns and the one or more predicted target patterns.27. The method of clause 22, wherein the training comprises a portion of supervised training based on the first training data set and a portion of unsupervised training based on the second training data set.28. The method of clause 22, wherein the relationship between the first set of predicted mask patterns and the corresponding determined mask patterns comprises a first portion of cost function and wherein the relationship between the one or more of the second set of target patterns and the one or more predicted target patterns comprises a second portion of the cost function, the first portion of the cost function and the second portion of the cost function being related by hyperparameters.29. The method of clause 28, wherein the hyperparameters evolve over time.30. The method of clause 28, wherein the hyperparameters evolve over a number of iterations.31. The method of clause 28, wherein the hyperparameters evolve based on an evolution criterion.32. The method of clause 28, wherein the hyperparameters control relative contributions from the first training data set and the second training data set to the training of the ML model.33. The method of clause 28, wherein a hyperparameter for the second portion of the cost function is substantially negligible when compared to a hyperparameter for the first portion of the cost function before a decision point time and substantially non-negligible thereafter.The method of clause 28, wherein a hyperparameter for the first portion of the cost function decreases relative to a hyperparameter for the second portion of the cost function after a decision point time. The method of clause 22, further comprising training the ML model based on a third training data set, the third training data set comprising the first set of target patterns, wherein the training further comprises: applying the ML model to the first set of target patterns to generate a third set of predicted mask patterns; applying a forward model to the third set of predicted mask patterns to generate a third set of predicted target patterns; and determining a relationship between the first set of target patterns and the third set of predicted target patterns; wherein determining parameters of the ML model further comprises determining parameters of the ML model based on (iii) the relationship between the first set of target patterns and the third set of predicted target patterns. The method of clause 35, wherein the relationship between the first set of predicted mask patterns and the corresponding determined mask patterns comprises a first portion of a cost function, wherein the relationship between the one or more of the second set of target patterns and the one or more predicted target patterns comprises a second portion of the cost function, and wherein the relationship between the first set of target patterns and the third set of predicted target pattern comprises a third portion of the cost function, the first portion of the cost function, the second portion of the cost function, and the third portion of the cost function being related by hyperparameters. The method of clause 36, wherein the hyperparameters evolve based on different evolution criteria. The method of clause 36, wherein the hyperparameters control relative contributions from the first training data set, the second training data set, and the third training data set. The method of clause 36, wherein a hyperparameter for the third portion of the cost function is substantially negligible when compared to a hyperparameter for at least one of a hyperparameter for the first portion of the cost function and a hyperparameter for the second portion of the cost function before a second decision point time and substantially non- negligible thereafter. The method of clause 35, wherein the training comprises a portion of supervised training based on the first training data set, a portion of unsupervised training based on the second training data set, and a portion of unsupervised training based on the third training data set. The method of clause 22, wherein the determined mask patterns are ground truth mask patterns for the first set of target patterns.42. The method of clause 1, wherein: applying the ML model to a training input pattern to generate a predicted mask pattern comprises 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 comprises applying the forward model to the multiple predicted mask patterns to generate multiple predicted wafer patterns, determining the difference between the training input pattern and the predicted wafer pattern comprises determining differences between the multiple training input patterns and the multiple predicted wafer patterns, and adjusting the ML model based on the difference comprises adjusting the ML model based on the differences between the multiple training input patterns and the multiple predicted wafer patterns.43. The method of clause 1 or 42, wherein the ML model is a generative model.44. The method of clause 42, wherein determining differences between the multiple training input patterns and the multiple predicted wafer patterns comprise determining, for each of the multiple training input patterns, a difference between a given training input pattern and a corresponding predicted wafer pattern.45. The method of clause 42, wherein applying the ML model to the multiple training input patterns comprises applying the ML model to the multiple training input patterns and one or more multi-dimensional variables, wherein the ML model is further configured to generate an output mask pattern based on an input pattern and an input multi-dimensional variable.46. The method of clause 45, wherein the one or more multi-dimensional variables are sampled from a distribution of multi-dimensional variables.47. The method of clause 46, wherein the distribution is uniform, normal, binomial, Bernoulli, Poisson, of any combination thereof.48. The method of clause 45, wherein the one or more multi-dimensional variables are at least partly random and / or pseudo-random.49. The method of clause 45, wherein the one or more multi-dimensional variables comprise latent state representations.50. The method of clause 45, wherein applying the ML model to the multiple training input patterns and one or more multi-dimensional variables comprises applying the ML model to multiple sets of a training input pattern and corresponding multi-dimensional variable, wherein the multidimensional variables of each set vary among at least some of the sets.51. The method of clause 45, wherein training the ML model comprises training the ML model iteratively and wherein the one or more multi-dimensional variables vary between at least some training iterations.52. The method of clause 42, wherein applying a forward model to the multiple predicted mask patterns comprises applying the forward model to the multiple 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 of clause 52, wherein the one or more process parameters are multi-dimensional variables.54. The method of clause 52, wherein the process parameter represents a process window condition, process variation, or any combination thereof.55. The method of clause 52, wherein the process parameter is sampled from a distribution of process parameters.56. The method of clause 52, wherein the one or more process parameters are at least partly random and / or pseudo-random.57. The method of clause 52, wherein applying the forward model to the multiple predicted mask patterns and one or more process parameters comprises applying the forward model to multiple sets of a predicted mask pattern and corresponding process parameter, wherein the process parameters of each set are substantially the same.58. The method of clause 52, wherein applying the forward to the multiple predicted mask patterns and one or more process parameters comprises applying the forward model to multiple sets of a predicted mask pattern and corresponding process parameter, wherein the process parameters of each set vary among at least some of the sets.59. The method of clause 52, wherein training the ML model comprises training the ML model iteratively and wherein the one or more process parameters vary among at least some training iterations.60. A method for training a machine learning (ML) model for mask pattern prediction, comprising: obtaining a ML model, the 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 comprise mask patterns; applying a physical model to the one or more output mask patterns to generate one or more intermediate target patterns, the physical model configured to generate an output target pattern based on an input mask pattern; 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.61. The method of clause 60, wherein applying the ML model to the one or more target patterns further comprises inputting a multi-dimensional variable to the ML model.62. The method of clause 61, wherein the multi-dimensional variable is sampled from a distribution.63. The method of clause 62, wherein the distribution is uniform, normal, binomial, Bernoulli, Poisson, or any combination thereof.64. The method of clause 62, wherein the multi-dimensional variable is at least partly random or pseudo-random.65. The method of clause 62, wherein the multi-dimensional variable comprises an image containing pixel values, the pixels values being variable.66. The method of clause 62 or 65, wherein the multi-dimensional variable is input to the ML model as an image channel associated with the one or more target patterns.67. The method of clause 62 or 65, wherein the multi-dimensional variable is added to the one or more target patterns, the one or more target patterns distorted by the multi-dimensional variable, and wherein the one or more distorted target patterns are input to the ML model.68. The method of clause 62 or 65, wherein the multi-dimensional variable and the one or more target patterns are input at the same or different layers of the ML model.69. The method of clause 61, wherein the multi-dimensional variable comprises a variable with one hundred or more dimensions.70. The method of clause 61, wherein the multi-dimensional variable comprises a latent representation.71. The method of clause 60, wherein the ML model is a generative model.72. The method of clause 60, wherein the ML model is an image-to-image model.73. The method of clause 60, wherein the one or more output patterns are images having pixels and pixel values.74. The method of clause 60, wherein the one or more intermediate target patterns are expressed as images having pixels and pixel values.75. The method of clause 73 or 74, wherein the pixel values are parameterized by a differentiable function.76. The method of clause 60, wherein adjusting the ML model based on the differences comprises adjusting the ML model based on a loss and / or cost function.77. The method of clause 76, wherein the loss and / or cost function comprises a regularization term.78. The method of clause 76, wherein the loss and / or cost function comprises a mode selection term.79. The method of clause 76, wherein the loss and / or cost function further comprises a similarity selection term, the similarity selection term configured to penalize differences between the one or more output mask patterns and a reference mask pattern.80. The method of 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 multi-dimensional variables to the ML model and wherein adjusting the ML model based on the loss and / or cost function further comprises determining the loss and / or cost function based at least in part on the multi-dimensional variable.81. The method of clause 60, further comprising steps for testing the ML model for generalization on one or more additional target patterns.82. The method of 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 with a set of physical configuration parameters, the physical configuration parameters comprise parameters corresponding to physical configurations of the physical model.83. The method of clause 82, wherein the set of physical configuration parameters comprise at least partly random and / or pseudo-variable parameters.84. The method of clause 82, wherein the set of physical configuration parameters comprise one or more ranges of physical configuration parameters.85. The method of clause 82, further comprising steps for training the ML model for robustness by adjusting the set of physical configuration parameters.86. The method of clause 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, comprising: obtaining an initially trained ML model, the initially trained ML model trained to generate as output one or more mask patterns based on input of one or more target patterns; generating a set of subsequent training data for the ML model comprising: selecting a set of subsequent training target patterns; generating subsequent mask patterns for the subsequent training target patterns with the ML model; and refining the subsequent mask patterns based on a physical model and the subsequent training target patterns; and training the ML model based on the set of subsequent training data, wherein the set of subsequent training data comprises the set of subsequent training target patterns and the refined subsequent mask patterns.88. The method of clause 87, wherein obtaining the initially trained ML model comprises: obtaining a set of initial training data for the ML model, the initial training data comprising a set of initial target patterns and corresponding initial mask patterns; andtraining the ML model based on the set of initial training data.89. The method of clause 88, wherein the corresponding initial mask patterns comprise mask patterns generated by a second physical model based on the initial target patterns.90. The method of clause 89, wherein the physical model is the second physical model.91. The method of clause 89, wherein the mask patterns generated by the physical model based on the initial target patterns comprise mask patterns generated by iteratively: obtaining an initial mask pattern for a given initial target pattern; applying the physical model to the initial mask pattern to generate an intermediate target pattern; determining a difference between the intermediate target pattern and the given initial target pattern; and refining the initial mask pattern to generate a refined mask pattern based on the difference between the intermediate target pattern and the given initial target pattern.92. The method of clause 91, wherein the mask patterns generated by the physical model comprise mask patterns generated by one hundred or more iterations.93. The method of clause 89, wherein the mask patterns generated by the second physical model based on the initial target patterns comprise mask patterns generated by one hundred or more iterations of adjustment based on the second physical model.94. The method of any one of clauses 87 and 91 to 93, wherein refining the subsequent mask patterns based on the physical model and the subsequent training target patterns comprises iteratively: applying the physical model to the subsequent mask pattern for a given subsequent training target pattern to generate a second intermediate target pattern; determining a difference between the second intermediate target pattern and the given subsequent training target pattern; and refining the subsequent mask pattern to generate a refined mask pattern based on the difference between the second intermediate target pattern and the given subsequent training target pattern.95. The method of clause 94, wherein refining the subsequent mask patterns comprises refining the subsequent mask patterns less than one hundred iterations.96. The method of clause 94, wherein a number of iterations for refining the subsequent mask patterns is less than a number of iterations for refining mask patterns used to initially train the ML model.97. The method of clause any one of clauses 87 and 91 to 93, wherein the refined subsequent mask patterns comprise mask patterns generated by tens of iterations of adjustment based on the physical model.98. The method of clause 88, wherein the corresponding initial mask patterns, the subsequent mask patterns and / or the refined subsequent mask patterns include features of at least one of opticalprocess correction (OPC), sub-resolution assist features (SRAF), freeform mask optimization and continuous transmission masks (CTM).99. The method of clause 88, wherein the set of initial target patterns and the set of subsequent training target patterns comprise substantially the same target patterns.100. The method of clause 88, wherein the set of initial target patterns and the set of subsequent training target patterns comprise at least some different target patterns.101. The method of clause 88, wherein the set of subsequent training target patterns comprises the set of initial target patterns and additional target patterns.102. The method of clause 87, further comprising further training the ML model by: generating one or more sets of additional training data for the ML model comprising: selecting a set of additional training target patterns; generating additional mask patterns for the additional training target patterns with the ML model; and refining the additional mask patterns based on a physical model and the additional training target patterns; and training the ML model based on the one or more sets of additional training data, wherein the set of additional training data comprises the set of additional training target patterns and the refined additional mask patterns.103. The method of clause 87, further comprising iteratively training the ML model based on one or more sets of additional training data, wherein the set of additional training data comprises a set of additional training target patterns and corresponding additional mask patterns, the corresponding additional mask patterns generated for the additional training target pattern by the ML model and refined based on the physical model.104. The method of clause 102 or 103, wherein the set of additional training target patterns comprise target patterns in addition to the set of subsequent training target patterns.

[0141] While the concepts disclosed herein may be used for manufacturing with a substrate such as a silicon wafer, it shall be understood that the disclosed concepts may be used with any type of manufacturing system (e.g., those used for manufacturing on substrates other than silicon wafers).

[0142] In addition, the combination and sub-combinations of disclosed elements may comprise separate embodiments. For example, one or more of the operations described above may be included in separate embodiments, or they may be included together in the same embodiment.

[0143] The descriptions above are intended to be illustrative, not limiting. Thus, it will be apparent to one skilled in the art that modifications may be made as described without departing from the scope of the claims set out below.

Claims

CLAIMS1. A computer implemented method for training a machine learning (ML) model for mask pattern generation, comprising: obtaining the ML model, the ML model 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 configured to predict an output pattern based on an 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.

2. The method of claim 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 of claim 2, further comprising training the ML model by semi-supervised, unsupervised and / or self-supervised training for one or more additional training input patterns, wherein each of the one or more additional training input patterns comprises a subpattern of a design layout.

4. The method of claim 2, wherein training the ML model further comprises: training the ML model based on a set of supervised training data, the set of supervised training data comprising 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 produce output at different time intervals and wherein (i) training the ML model based on the set of supervised training data and (ii) training the ML model by the unsupervised training occur 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 subsequent to the forward model generating the predicted wafer pattern.

7. The method of claim 4, wherein the supervised training patterns are ground truth wafer patterns for the corresponding training mask patterns, and wherein the supervised training patterns are 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 set of supervised training patterns of the set of supervised training data.

9. The method of claim 4, wherein (i) training the ML model based on the set of supervised training data and (ii) training the ML model by the unsupervised training comprises adjusting the ML model based on (i) the difference between the training mask patterns of the set of supervised training data and mask patterns predicted by the ML model based on the supervised training patterns of the set of supervised training data and (ii) the differences 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 patterns of the set of supervised training data and mask patterns predicted by the ML model based on the supervised training patterns of the set of supervised training data and (ii) the differences between the one or more training input patterns and the one or more predicted wafer patterns comprises a first portion of a cost function comprise a second portion of the cost function, the first portion of the cost function and the second portion of the cost function being related by hyperparameters and wherein the hyperparameters evolve over the training.

11. The method of claim 1, wherein training the ML model comprises adjusting at least one of parameters, form, or a combination thereof of the ML model until a termination criterion is reached, wherein the termination criterion is at least one of a gradient value, a loss function value, a cost function value, a number of iterations, a run time, receipt of additional output of the forward model, or a combination thereof.

12. The method of claim 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.

13. The method of claim 1, wherein the output mask pattern comprises at least one of a mask layout, an aerial image, a mask image, a continuous transmission mask (CTM) pattern, and a combination 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 etch model, a resist model, a lithography model, physical model, and a combination 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