Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
GENERATING A MACHINE LEARNING MODEL TO PLACE SRAFS
Document Type and Number:
WIPO Patent Application WO/2019/132901
Kind Code:
A1
Abstract:
Apparatuses, methods and storage medium associated with generating a machine learning model to place sub-resolution enhancement features (SRAFs) are disclosed herein. An apparatus may generate, using exploratory SRAF placements, a machine learning model to select an SRAF placement for a mask pattern to compensate for model predicted liabilities may include a processor to: select features based on a training data set, wherein the training data set includes information about a first group of the exploratory SRAF placements; perform a training of the model based on the selected features; responsive to the training of the model, generate an SRAF placement using the model; validate the SRAF placement using a simulation; and based on a result of the simulation, identify whether to further train the model based on a different training set including information about a second group of the exploratory SRAF placements, or not, prior to outputting the model.

Inventors:
CALDERER RAMON (US)
LAL VASUDEV (US)
SINGH SADANAND (US)
Application Number:
PCT/US2017/068599
Publication Date:
July 04, 2019
Filing Date:
December 27, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INTEL CORP (US)
CALDERER RAMON (US)
LAL VASUDEV (US)
SINGH SADANAND (US)
International Classes:
G03F7/20; G03F1/36; G03F1/64
Domestic Patent References:
WO2017171890A12017-10-05
Foreign References:
US20150213374A12015-07-30
US20140358830A12014-12-04
US20130031518A12013-01-31
Other References:
XU, X. ET AL.: "A machine learning based framework for sub-resolution assist feature generation", INTERNATIONAL SYMPOSIUM ON PHYSICAL DESIGN, 6 March 2016 (2016-03-06), pages 161 - 168, XP058079862
Attorney, Agent or Firm:
COFIELD, Michael A. et al. (US)
Download PDF:
Claims:
Claims

What is claimed is:

1. An apparatus, comprising:

a processor to generate, using exploratory SRAF placements, a machine learning model to select an SRAF placement for a mask pattern to compensate for model predicted liabilities, the processor further to:

select features based on a training data set, wherein the training data set includes information about a first group of the exploratory SRAF placements;

perform a training of the machine learning model based on the selected features; responsive to the training of the machine learning model, generate an SRAF placement using the machine learning model;

validate the SRAF placement using a simulation; and

based on a result of the simulation, identify whether to further train the machine learning model based on a different training set including information about a second group of the exploratory SRAF placements, or not, prior to outputting the machine learning model.

2. The apparatus of claim 1, wherein the training data set comprises a training data table, the processor further to, for each SRAF of one of the SRAF placements of the first group of SRAF placements:

identify feature values based on a predefined geometry;

identify a target variable value based on a distance of the SRAF from a reference associated with a target pattern; and

add the values to a row of the training data table.

3. The apparatus of claim 2, wherein the predefined geometry comprises a rectangle and the feature values comprise length values and width values.

4. The apparatus of claim 1, wherein the training data set comprises a training data table, the processor further to, for each SRAF of one of the SRAF placements of the first group of SRAF placements:

identify a feature value associated with a search ray;

identify a target variable value based on a distance of the SRAF from a reference associated with a target pattern; and

add the values to a row of the training data table.

5. The apparatus of claim 4, wherein identify the features value associated with the search ray further comprises:

identify a length of a distance from a reference point associated with the target pattern to the respective one of the SRAFs, wherein the distance comprises a length of the search ray.

6. A system, comprising:

a datastore to retain exploratory SRAF placements; and

a computing device to generate a machine learning (ML) model to select an SRAF placement for a mask pattern to compensate for model predicted liabilities, the computing device comprising:

a data summarization module to access the database responsive to each request from the computing device, to identify an SRAF placement based on each access to the database, and to provide an output to an ML calibration module based on each identified SRAF placement;

the ML calibration module to perform a training of a current instance of the ML model responsive to a receipt of data from the data summarization module, to output the trained current instance of the ML model to an ML validation module; and

the ML validation module to identify whether an SRAF placement generated using the trained current instance of the ML is within error tolerances;

wherein responsive to not within the error tolerances, the computing device is further to augment the database and send a next request to the data summarization module for a next access to the database following augmentation; and

wherein responsive to within the error tolerances, the generated ML model comprises the trained current instance of the ML model.

7. The system of claim 6, wherein the ML calibration module is further to perform training using one or more Variational Bayesian Gaussian Mixture Models (VBGMMs) that are trained based on at least one stochastic gradient descent (SGD) multi-class classifier.

8. The system of claim 6, wherein the ML calibration module is further to perform training using decision trees or random forests.

9. The system of claim 6, wherein the data summarization module is further to identify feature values for each SRAF of the identified SRAF placement based on a predefined geometry.

10. The system of any of claim 6-9, wherein the data summarization module is further to identify feature values for each SRAF of the identified SRAF placement based on a search ray.

11. A method of generating, using exploratory SRAF placements, a machine learning model to select an SRAF placement for a mask pattern to compensate for model predicted liabilities, the method comprising:

selecting features based on a training data set, wherein the training data set includes information about a first group of the exploratory SRAF placements;

performing a training of the machine learning model based on the selected features; responsive to the training of the machine learning model, generating an SRAF placement using the machine learning model;

validating the SRAF placement using a simulation; and

identifying whether to further train the machine learning model based on a different training set including information about a second group of the exploratory SRAF placements, or not, based on a result of the simulation.

12. The method of claim 11, wherein the first group of the exploratory SRAF placements comprises more than one of the exploratory SRAF placements.

13. The method of claim 11, wherein the second group of the exploratory SRAF placements comprises more than one of the exploratory SRAF placements.

14. The method of claim 11, wherein the second group of exploratory SRAF placements comprises at least one of the exploratory SRAF placements of the first group of exploratory SRAF placements.

15. The method of claim 11, wherein the second group of exploratory SRAF placements is different than the first group of exploratory SRAF placements, and wherein the second group of exploratory SRAF placements includes all of the exploratory SRAF placements of the first group of exploratory SRAF placements.

16. The method of claim 11, wherein at least one of the exploratory SRAF placements is generated from inverse lithography (ILT) simulations or heuristic simulations.

17. The method of claim 11, wherein the first group of exploratory SRAF placements includes at least one exploratory SRAF placement generated from one or more inverse lithography (ILT) simulations and at least one exploratory SRAF placement generated from one or more heuristic simulations.

18. The method of any of claims 11-17, wherein the training data set comprises a training data table, and the method further comprises, for each SRAF of one of the SRAF placements of the first group of SRAF placements:

identifying feature values based on a predefined geometry;

identifying a target variable value based on a distance of the SRAF from a reference associated with a target pattern; and

adding the values to a row of the training data table.

19. The method of any of claims 11-17, wherein the training data set comprises a training data table, and the method further comprises, for each SRAF of one of the SRAF placements of the first group of SRAF placements:

identifying a features value associated with a search ray;

identifying a target variable value based on distance of the SRAF from a reference associated with a target pattern; and

adding the values to a row of the training data table.

20. A machine readable medium for storing instructions that, when executed, cause the machine to perform the steps of any of claims 11-17.

21. A system, comprising:

photomask fabrication equipment to form a photomask based on a mask pattern; and a computer readable media having instructions for generating, using exploratory SRAF placements, a machine learning model to select an SRAF placement for the mask pattern to compensate for model predicted liabilities, wherein the instructions when executed, cause a processor to:

select features based on a training data set, wherein the training data set includes information about a first group of the exploratory SRAF placements;

perform a training of the machine learning model based on the selected features;

responsive to the training of the machine learning model, generate an SRAF placement using the machine learning model;

validate the SRAF placement using a simulation; and

based on a result of the simulation, identify whether to further train the machine learning model based on a different training set including information about a second group of the exploratory SRAF placements, or not, prior to outputting the machine learning model.

22. The system of claim 21, wherein the training data set comprises a training data table, and the instructions are further to cause the processor to, for each SRAF of one of the SRAF placements of the first group of SRAF placements:

identify feature values based on a predefined geometry;

identify a target variable value based on a distance of the SRAF from a reference associated with a target pattern; and

add the values to a row of the training data table.

23. The system of claim 22, wherein the predefined geometry comprises a rectangle and the feature values comprise length values and width values.

24. The system of claim 21, wherein the training data set comprises a training data table, and the instructions are further to cause the processor to, for each SRAF of one of the SRAF placements of the first group of SRAF placements:

identify a feature value associated with a search ray;

identify a target variable value based on a distance of the SRAF from a reference associated with a target pattern; and

add the values to a row of the training data table.

25. The system of claim 24, wherein identify the features value associated with the search ray further comprises:

identify a length of a distance from a reference point associated with the target pattern to the respective one of the SRAFs, wherein the distance comprises a length of the search ray.

Description:
GENERATING A MACHINE LEARNING MODEL TO PLACE SRAFS

Technical Field

The present disclosure relates to the field of photolithography, and more specifically relates to generating a machine learning model to place sub-resolution enhancement features (SRAFs).

Background

The background description provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.

In photolithography, the wavelength of the light source may be larger than the feature size of a design pattern to be transferred onto the wafer. This may produce image errors such as interference patterns, diffraction patterns, or the like, or combinations thereof, which may cause a different shape to be printed on the wafer than the shape of the design pattern. With the shrinking of processing technology nodes to 7 nm and beyond, edge placement error (EPE) requirements (to address the image errors) for all layers are getting much smaller. Sub resolution enhancement features (SRAF) may be used to meet such strict requirements, especially at off-focus process conditions.

SRAFs may be used in Inverse Lithography Technology (ILT) or optical proximity correction (OPC). Techniques such as ILT that work backward from a mask may be associated with slower run time than OPC and/or less optimal Process Window (PW). In other techniques with faster run time or better PW, SRAFs may be placed a priori. Machine learning may be used to assist in SRAF in techniques in which SRAFs are placed a priori. Some known techniques for machine learning for SRAF generation may have too much variability (e.g., may too frequently produce different SRAF placement for a same geometry) and/or may result in domain mismatches (e.g., may too frequently produce different SRAF placement for different domains of a same layout).

Brief Description of the Drawings

Embodiments will be readily understood by the following detailed description in conjunction with the accompanying drawings. To facilitate this description, like reference numerals designate like structural elements. Embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings. FIG. 1 is a block diagram of a system including a datastore of exploratory sub-resolution enhancement features (SRAF) placements and a computing device to generate, using information from the datastore, a machine learning model to select an SRAF placement for correction of a mask pattern to compensate for model predicted liabilities, according to various embodiments.

FIG. 2 is a flow chart showing a process of generating, using exploratory SRAF placements, a machine learning model to select an SRAF placement for correction of a mask pattern to compensate for model predicted liabilities, according to various embodiments.

FIG. 3 is a flow chart showing one process that may be performed by any data summarization module described herein, according to various embodiments.

FIG. 4A is a flow chart showing another process that may be performed by any data summarization module described herein, according to various embodiments.

FIG. 4B illustrates a block diagram showing the use of search rays, according to various embodiments.

FIG. 5 illustrates a graph denoting the location of SRAFs with respect to a nearest main polygon in X and Y directions.

FIG. 6 illustrates an example compute device that may employ the apparatuses and/or methods described herein, according to various embodiments.

Detailed Description

Apparatuses, methods and storage medium associated with generating a machine learning model to place sub-resolution enhancement features (SRAFs) are disclosed herein. In embodiments, an apparatus to generate, using exploratory SRAF placements, a machine learning model to select an SRAF placement for a mask pattern to compensate for model predicted liabilities may include a processor to: select features based on a training data set, wherein the training data set includes information about a first group of the exploratory SRAF placements; perform a training of the machine learning model based on the selected features; responsive to the training of the model, generate an SRAF placement using the model; validate the SRAF placement using a simulation; and based on a result of the simulation, identify whether to further train the model based on a different training set including information about a second group of the exploratory SRAF placements, or not, prior to outputting the machine learning model.

In the following detailed description, reference is made to the accompanying drawings which form a part hereof wherein like numerals designate like parts throughout, and in which is shown by way of illustration embodiments that may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of embodiments is defined by the appended claims and their equivalents.

Aspects of the disclosure are disclosed in the accompanying description. Alternate embodiments of the present disclosure and their equivalents may be devised without parting from the spirit or scope of the present disclosure. It should be noted that like elements disclosed below are indicated by like reference numbers in the drawings.

Various operations may be described as multiple discrete actions or operations in turn, in a manner that is most helpful in understanding the claimed subject matter. However, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations may not be performed in the order of presentation. Operations described may be performed in a different order than the described embodiment. Various additional operations may be performed and/or described operations may be omitted in additional embodiments.

For the purposes of the present disclosure, the phrase“A and/or B” means (A), (B), or (A and B). For the purposes of the present disclosure, the phrase“A, B, and/or C” means (A), (B), (C), (A and B), (A and C), (B and C), or (A, B and C).

The description may use the phrases“in an embodiment,” or“in embodiments,” which may each refer to one or more of the same or different embodiments. Furthermore, the terms “comprising,”“including,”“having,” and the like, as used with respect to embodiments of the present disclosure, are synonymous.

As used herein, the term“circuitry” may refer to, be part of, or include an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and/or memory (shared, dedicated, or group) that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.

Some techniques for placement of SRAFs have either focused on heuristic geometric rules or inverse lithography. The rule based approach may lead to extremely sub-optimal placement and hence large off-focus EPE errors for some patterns. The inverse lithography based approach may lead to large variations in SRAF placements at similar patterns, leading to uncontrollable large variations in EPE error.

Some embodiments disclosed herein relate to SRAF placement using machine learning algorithms that are trained with learnings from a combination of data from inverse lithography (ILT) simulations, fab experiments, heuristic simulations by placing SRAFs by trial and error, minimizing EPE across focus variation and reducing variability for similar features, or the like. Some embodiments may combine advantages gained by an OPC model based strategy with the uniformity of rule based approaches. Experiments based on these approaches has yielded an average of 2.5 nm lower CD (critical dimension) variation than ILT, with worse case CD process variability also improving by 1.5 nm.

Some embodiments include three stages:

• Data summarization (e.g., SRAF data collection & feature selection for picking an SRAF placement that optimizes lithographic quality);

• ML (machine learning) model calibration using the data from the first stage (e.g., model training & selection for calibrating an ML model);

• ML model validation for the ML model trained in the second stage (e.g., SRAF generation and patterning validation).

A result of the validation may be used to identify whether to further train the machine learning model based on a different training set (e.g., an augmented data set including at least one different exploratory SRAF placement than the previous data set), or not. In the case of no further training, the machine learning model may be used to select an SRAF placement for a mask pattern to compensate for model predicted liabilities.

In the case of further training, the three stages may be repeated. For instance, data summarization may be performed to generate different data than data generated in a previous instance of data summarization. The model may be further trained based on the new data, and the further trained model may be validated. A result of the validation of the further trained model may be used to identify whether to perform yet further training of the model based on a yet another different training set, or not.

Some embodiments may include pre-processing of a training data set, which may be based on a group of one or more SRAF placement strategies (e.g., each training configuration may utilize one or more SRAF placements). The pre-processing may be prior to training the ML model. Each training configuration may utilize an SRAF placement (of the group of SRAF placements) that yields the best lithographic quality within the group. After evaluating the quality of the ML model, a different group of SRAF placement strategies may be used to train the data set for patterning challenging configurations.

FIG. 1 is a block diagram of a system 100 including a datastore 110 to store exploratory sub-resolution enhancement features (SRAF) placements l-N and a computing device 111 to generate, using information from the datastore 110, an ML model 129 to select an SRAF placement for correction of a mask pattern to compensate for model predicted liabilities, according to various embodiments. The computing device 111 may include a data

summarization module 121 to receive one or more inputs 119 from the datastore 110, an ML calibration module 122 coupled to an output of the data summarization module 121, and an ML validation module 123 coupled to an output of the ML calibration module 122 and to generate the ML model 129.

The data summarization module 121 may be configured to identify a first group of the SRAF placements l-N of the datastore 110. The data summarization module 121 may be configured to identify features to represent data of the SRAF placements of the first group.

Based on a result of feature selection, the data summarization module 121 may be configured to select one of the SRAF placements of the first group based on optimization of lithographic quality. The data summarization module 121 may generate an output (e.g., training data) based on the SRAF placement selection.

The ML calibration module 122 may be configured to perform data modeling. The ML calibration module 122 may train an ML model based on the output of the data summarization module 121.

The ML validation module 123 may be configured to validate the ML model using contour based checking techniques. In some embodiments, ML validation module 123 may be configured to generate an SRAF placement using the ML model. The ML validation module 123 may be configured to identify whether the generated SRAF placement is within error tolerances. In the case that the generated SRAF placement is not within the error tolerances, the ML validation module 123 may be configured to generate a signal 128 to cause the datastore 110 to be augmented. Augmentation may include addition of a new exploratory SRAF placement, removal of an exploratory SRAF placement, modification of a stored exploratory SRAF placement, or the like, or combinations thereof. In the case of additional of an SRAF placement, at a first time the datastore 110 may include SRAF placements l-M (not shown), and at a second time the SRAF placement N may be added to the data store. In the case of a removal of an SRAF placement, at a first time the datastore 110 may include SRAF placements l-N and an SRAF placement, say SRAF placement 1, may be removed leaving exploratory SRAF placements 2-N in the datastore 110 at a second time.

The original content (not shown) of the datastore 110 may be generated by any entity, such as the computing device 111, a different computing device (not shown) coupled to the datastore 110, and/or a user to identify an SRAF placement (say a user identified modification to an SRAF placement), and once generated, input into the datastore 110. The datastore 110 may be augmented one or more times by the same or different entity following any model validation described herein, e.g., additional SRAF placements may be generated and added to the datastore, an SRAF placement of the datastore may be removed from the datastore, a stored SRAF placement of the datastore may be modified, or the like, or combinations thereof. A datastore 110 may include a first group of the exploratory SRAF placements l-N prior to one of these augmentations, and the datastore 110 may include a second group of the exploratory SRAF placements l-N that is different than the first group following that augmentation.

Following an augmentation of the datastore 110, the data summarization module 121 may receive another input 119 identifying a second different group of SRAF placements l-N. The modules 121-123 may be configured to perform similar operations based on the input of the second different group of SRAF placements l-N.

Once a sufficiently trained ML model is identified, the ML model may be eligible to be used in production (e.g., fabrication). The ML validation module 123 may output a signal to indicate training complete and/or may retain the ML model 129. In one example, the signal may include the ML model 129 for storage in any datastore. The ML model may be used to generate an SRAF placement for correction of a mask pattern to compensate for model predicted liabilities. Photomask fabrication equipment (not shown) may fabricate a photomask based on the mask pattern.

FIG. 2 is a flow chart showing a process 200 of generating, using exploratory SRAF placements, a machine learning model to select an SRAF placement for correction of a mask pattern to compensate for model predicted liabilities, according to various embodiments. The process 200 may be performed by any system and/or computing device described herein, such as the system 100 (FIG. 100).

In block 201, the system 100 may select features based on a training data set that includes information about a current group of exploratory SRAF placements (e.g., of the datastore 110, FIG. 1). Block 201 may include any process for data summarization described herein, including any process of feature selection. For instance, in one embodiment, feature selection may include the process 300 of FIG. 3. In another embodiments, feature selection may include the process 400 of FIG. 4.

Referring again to FIG. 2, in block 202, the system 100 may perform a training of a machine learning model based on the selected features. Block 202 may include any process for data modeling described herein. In one embodiment, the model may be trained using Variation Bayesian Gaussian Mixture Models (VBGMMs). In such an embodiment, the training may be based on a stochastic gradient descent (SGD) multi-class classifier. In another embodiment, the model may be trained using decision trees and/or random forests.

In block 203, the system 100 may use the model to generate an SRAF placement to be evaluated. In block 204, the system 100 may validate the SRAF placement (e.g., using a simulation). If the SRAF placement is within error tolerances in diamond 205, then in block 206 the system 100 may retain the ML model for use in production.

If the SRAF placement is not within the error tolerances, then in block 207 the system 100 may identify a new group of exploratory SRAF placements. The process 200 may return to block 201.

FIG. 3 is a flow chart showing one process 300 that may be performed by any data summarization module described herein, according to various embodiments. The data summarization module may perform the process responsive to receiving an input layout having a main polygon and one or more other polygons (e.g., around the main polygon). Each of the other polygons around the main polygon may be associated with one or more individual SRAFs of an SRAF placement.

In block 301, the data summarization module may identify features (e.g., one or more first values to represent characteristics of a polygon of one of the individual SRAFs of the input layout). In some embodiments, the data summarization module may identify the features based on a predefined geometry, e.g., a rectangle, and the one or more first values may comprise length values and width values.

In block 302, the data summarization module may identify a target variable, e.g., a second value indicative of a location of the individual SRAF relative to the main polygon. In block 303, the data summarization module may add the features and target variable to a training data table.

In embodiments using a training data table, a computing device may be configured to (e.g., a data summarization module of the computing device may be configured to), for each SRAF of one of the SRAF placements of the first group of SRAF placements, identify features values based on a predefined geometry, identify a target variable value based on distance of the SRAF from a reference associated with a target pattern, and add the values to a row of the training data table. The data summarization module may use rectangularization of this shape to characterize it as a collection of rectangles (each specified by a length, a width, and a distance from a reference point of the target pattern). The training data table may be used to perform a training of a machine learning model.

FIG. 4A is a flow chart showing another process 400 that may be performed by any data summarization module described herein, according to various embodiments. Process 400 is similar to process 300, but does not require a predefined geometry and may be more suitable for some SRAF placements. In block 401, a data summarization module may identify the features associated with search rays. FIG. 4B illustrates the use of first search rays, e.g., X direction search rays, and second search rays, e.g., Y direction search rays, to identify features associated with an individual SRAF 455. Referring again to FIG. 4A, blocks 402, 403, 405, and diamond 404 may be similar to blocks 302, 303, 305, and diamond 304 (FIG. 3), respectively.

FIG. 6 illustrates an example compute device 500 that may employ the apparatuses and/or methods described herein, according to various embodiments (for instance, any apparatus and/or method associated with any compute device or electronic device described earlier with respect to FIGS. 1-4B, including for instance any of the modules described with reference to FIG. 1). As shown, the example compute device 500 may include a number of components, such as one or more processors 504 (one shown) and at least one communication chip 506.

In various embodiments, the one or more processors 504 each may include one or more processor cores. In various embodiments, the at least one communication chip 506 may be physically and electrically coupled to the one or more processors 504. In further

implementations, the at least one communication chip 506 may be part of the one or more processors 504. In various embodiments, compute device 500 may include printed circuit board (PCB) 502. For these embodiments, the one or more processors 504 and the at least one communication chip 506 may be disposed thereon.

Depending on its applications, compute device 500 may include other components that may or may not be physically and electrically coupled to the PCB 502. These other components include, but are not limited to, a memory controller (not shown), volatile memory (e.g., dynamic random access memory (DRAM) 520), non-volatile memory such as flash memory 522, hardware accelerator 524, an I/O controller (not shown), a digital signal processor (not shown), a crypto processor (not shown), a graphics processor 530, one or more antenna 528, a display (not shown), a touch screen display 532, a touch screen controller 546, a battery 536, an audio codec (not shown), a video codec (not shown), a global positioning system (GPS) device 540, a compass 542, an accelerometer (not shown), a gyroscope (not shown), a speaker 550, and a mass storage device (such as hard disk drive, a solid state drive, compact disk (CD), digital versatile disk (DVD)) (not shown), and so forth.

In some embodiments, the one or more processor 504, DRAM 520, flash memory 522, and/or a storage device (not shown) may include associated firmware (not shown) storing programming instructions configured to enable compute device 500, in response to execution of the programming instructions by one or more processor 504, to perform methods described herein such as machine learning techniques for identifying an SRAF placement (such as generating, using exploratory SRAF placements, a machine learning model to select an SRAF placement for a mask pattern to compensate for liabilities predicted by modeling). In various embodiments, these aspects may additionally or alternatively be implemented using hardware separate from the one or more processor 504, flash memory 512, or storage device 511, such as hardware accelerator 524 (which may be a Field Programmable Gate Array (FPGA)).

The at least one communication chip 506 may enable wired and/or wireless

communications for the transfer of data to and from the compute device 500. The term “wireless” and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a non-solid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. The at least one communication chip 506 may implement any of a number of wireless standards or protocols, including but not limited to IEEE 702.20, Long Term Evolution (LTE), LTE Advanced (LTE- A), General Packet Radio Service (GPRS), Evolution Data Optimized (Ev-DO), Evolved High Speed Packet Access (HSPA+), Evolved High Speed Downlink Packet Access (HSDPA+), Evolved High Speed Uplink Packet Access (HSUPA+), Global System for Mobile Communications (GSM), Enhanced Data rates for GSM Evolution (EDGE), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Digital Enhanced Cordless Telecommunications (DECT), Worldwide Interoperability for Microwave Access (WiMAX), Bluetooth, derivatives thereof, as well as any other wireless protocols that are designated as 3G, 5G, 5G, and beyond. The at least one communication chip 506 may include a plurality of communication chips 506. For instance, a first communication chip 506 may be dedicated to shorter range wireless communications such as Wi-Fi and Bluetooth, and a second

communication chip 506 may be dedicated to longer range wireless communications such as GPS, EDGE, GPRS, CDMA, WiMAX, LTE, Ev-DO, and others.

In various implementations, the compute device 500 may be a component of a laptop, a netbook, a notebook, an ultrabook, a smartphone, a computing tablet, a personal digital assistant (PDA), an ultra-mobile PC, a mobile phone, a desktop computer, a server, a printer, a scanner, a monitor, a set-top box, a digital camera, an appliance, a portable music player, and/or a digital video recorder. In further implementations, the compute device 500 may be any other electronic device that processes data.

Any combination of one or more computer usable or computer readable medium may be utilized. The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non- exhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device. Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer- usable medium may include a propagated data signal with the computer-usable program code embodied therewith, either in baseband or as part of a carrier wave. The computer usable program code may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc.

Computer program code for carrying out operations of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the“C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user’s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user’s computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).

Some embodiments may apply techniques disclosed herein to several other aspects of OPC correction algorithms from data accumulated through experiences as well ILT. Some example embodiments may include learning mask shapes, pre-biasing for different features, learning correction damping rate (MEEF (mask error enhancement factor) of OPC correctors) for different features, SMO (source mask optimization), or the like, or combinations thereof.

Data summarization in one embodiment

Any process described in this section may be performed by any data summarization module described herein, e.g., data summarization module 121 (FIG. 1) and/or in any process of selecting features (e.g., block 201 of FIG. 2). Theoretically, if it is possible to perform an absolute and fully balanced sampling of the design rule space best, an ideal model could be built for SRAF generation. However, such an ideal sampling may be extremely difficult to realize in a real-world setup. In some embodiments, to build the ML model to predict SRAF placement, a combination of the following rules may be used to sample the design rule space:

• Create an extensive database that samples design rules in a limited spatial context (For eg. in a 500 nm x 500 nm window). Perform a balanced random sampling of such a database; and • Most prominent repeating patterns found via pattern matching tools and any known patterns where SRAF inefficiencies have been observed in the past.

After the database has finalized, model based inverse lithography (ILT) may be used to obtain predicted SRAFs. Additional SRAFs may be generated based on prior learning for the process that are known to play vital role in enabling the printing process.

Once the training data for the SRAFs have been generated, this data may be converted into feature-based tabular data. Feature selection may depends on the design rules for layer. In first step of collecting information about features, various measurements may be performed for each of the SRAFs in the training set. In some embodiments, the common features that may be measured may include:

1. Nearest X and Y distance a given main polygon (The response variable that need to be modeled)

2. Euclidean distance between SRAF and the nearest main feature

3. Euclidean distance between SRAF and the nearest SRAF

4. Unique ID of SRAFs and Main Polygons

5. Width of the corresponding main Polygon (in terms of pre-defmed bins)

6. Height of the corresponding main Polygon (in terms of pre-defmed bins)

7. Flag indicating No. of polygons less than specified distance from shorter edge of the corresponding main polygon

8. Flag indicating No. of polygons less than specified distance from longer edge of the corresponding main polygon

9. Number of edges in the corresponding main polygon

10. In a 500 nm X 500 nm box around a main polygon, the fraction of area covered by main features, and by other SRAFs

11. In a 500 nm X 500 nm box around a main polygon, the Number of distinct main features, and number of distinct SRAFs

12. Number of SRAFs attached to the corresponding main polygon

In this list of features, the first listed feature (e.g., nearest X and Y distance for a given main polygon) may include continuous variables that may need further processing, and these may correspond to SRAF properties to be modeled. Similarly, the next three listed features may also represent SRAF properties that help define the target variable. The remaining features may be feature variables, e.g., the independent variables in our model.

The last three features in the list may depend on local SRAF placement density. In order to use these features, the ML model validation phase may include two sub-phases. In the first sub-phase, a simpler model may be used (without using these features) for one or more SRAF placements. Then, in the second sub-phase, using the SRAFs from the first sub-phase, SRAF density related features (e.g., the last three features in the list) may be collected. The model may then be used to predict the SRAFs.

These features may define various aspects of geometric neighborhood of SRAFs. This list is not limited to the above feature set. Some embodiments may utilize more advanced features for complex design rules, including features like local geometric and image map hashes.

For every main polygon, an additional categorical feature may be used, e.g., type of SRAF - with three levels as comer SRAFs, horizontal side SRAFs and vertical side SRAFs.

As described in the first bullet in the list above, some systems may first collect the X and Y distance of SRAFs from main features, then may convert this into categorical data. This may be done to ensure that the modeling problem is a classification problem rather than a regression problem. The conversion of X, Y data to the categorical data may be done in an unsupervised learning setup.

In the second phase of feature extraction, the continuous variables X, and Y distance measured above the first bullet in the list may be converted to binned values using the following scheme using Variational Bayesian Gaussian Mixture Models (VBGMMs). Using such a model enable us to extract relevant types of SRAF categories without any user input and purely based on hyper-parameters that depend only on length scale of spread of SRAFs.

FIG. 5 illustrates a graph 599 resulting from the use of such a model in one example. In the graph 599, the ellipses show the center of different types of extracted SRAFs. The“SizeX” and“SizeY” axes variables denote the location of SRAFs with respect to the nearest region of the main polygon in X and Y directions, respectively. The spread of different clustered may be controlled though VBGMM hyper parameters. In this particular case, the wide spread of SRAF placement may be categorized into nineteen types of SRAFs, as denoted in the figure by ellipses.

Once different clusters have been identified, each of them may be given a unique ID.

The ML model (e.g., the output ML model once all training is complete) may be configured to predict the ID of SRAF type and, the SRAF may be placed by the ML model based on the centroid of the ID.

At the end of the first phase, there may be two sets of data:

1. Training / Validation: For the selected layout(s), for every unique polygon-SRAF pairs, there may be different features that describe the surrounding (using the feature variable described above) and the response variable that defines the type of the SRAF placed as the ID of the SRAF determined using the VBGMM clustering. In some embodiments, this data set may include tens of millions of entries (e.g., rows). Some embodiments may use a 10-fold cross validation to evaluate and regularize ML models.

2. Test: For every polygon in the database (eg. ULV, YLD, FRAME and TCs) where

SRAF placement is desired, all the feature variables may be evaluated. This may be later used to identify a prediction and placement of SRAF.

ML Calibration

Any process described in this section may be performed by any ML calibration module described herein, e.g., ML calibration module 122 (FIG. 1) and/or in any process of performing a training (e.g., block 202 of FIG. 2). Some embodiments may use a stochastic gradient descent (SGD) multi-class classifier to build a model to find a mapping between feature variables and the type of SRAF (the SRAF ID). SGD models may be highly efficient for large data sets in terms of training and prediction. SGD models may be partially trained (e.g., when new training data is identified, the model may be updated). This may yield highly parallebzable implementations of such models. However, SGD models may be highly sensitive to feature scaling. Therefore, before training/prediction from these models, some systems may standardize it based on a mean 0 and variance 1. Furthermore, the same scaling function may be applied to the both training and testing data set.

Some embodiments use an L2 norm penalty function along with a modified Huber loss function. A modified Huber loss function may be a smooth loss function that is tolerant to outliers and may support a prediction of a probability of different SRAF IDs rather than exact ID. Different hyper parameters - learning rate, and number of iterations may be optimized using grid search and 10-fold cross validation.

The above operations may be repeated to generate two set of models:

1. Simple model (without using any features that depend on the SRAF density)

2. Full model (using all features)

As described before, SRAF generation may be done in two phases. In first phase, the SRAF placement may be performed using the simple model. In the second phase, the SRAF density related features may be collected from the result of the first step and then the full model may be used to place SRAFs.

The SRAF placement may be performed using a protocol. In one example protocol, an exhaustive set of feature parameters may be created to represent a design space. The selected model may then used to predict the corresponding SRAF ID. Each of these SRAF ID may then be replaced by the corresponding centroid positions. The combination of feature space and predicted SRAF locations may define the rule with which SRAF placement should be done in any new database. Some SRAF placements may utilize rule-based SRAFs.

Feature identification using search rays

Some embodiments may use any data summarization, ML calibration, and ML model validation described herein, and may use search rays for feature identification. In an embodiment using search rays:

• The features may not make any assumption on the topology of the develop check critical dimensions (DCCD) target. The features may be distances between the “center” point (located on a DCCD target edge) and other DCCD edges. Further details are provided in the subsections entitled Features.

• The ML model may only tries to predict the distance between the“center” point (DCCD target) and the closest predicted SRAF.

Features

For each point on the DCCD target edges that are sampled (e.g., a“center” point), features that represent the DCCD pattern around the point may be extracted.

In some embodiments, the system may trace rays in x and y directions around the center point and calculate the orthogonal distance between the center point and other DCCD target edges. In some embodiments, calculation may be based on the spacing to the three closest edges (three in the outer side, and three in the inner side). Some embodiments may utilize three rays in the x direction and three rays in the y direction, as illustrated in FIG. 4B.

In contrast to embodiments using search rays, some embodiments may use

rectangularization to identify features. In these embodiments, the ML model may attempt to predict the distance between the center point and the closest SRAF in the direction orthogonal to the DCCD target. The SRAF distance may be predicted at intervals (say, every few nanometers) along the edges of the DCCD target. In the SRAF generation step, if the spacing between center points is small enough, the combination of all the SRAF generated is a non-rectangular shape that is not compliant with the MRC rules. Some embodiments may use rectangularization to characterize this shape.

ML model calibration using decision trees

Some embodiments may utilize decision trees for ML model calibration. In these embodiments, the ML model may be associated with a hierarchy of two decision trees. The first decision tree in the hierarchy may predict the existence of SRAFs. For the cases in which the first decision tree predicts an SRAF, the second decision tree may predict the distance between the SRAF and the DCCD target.

Some embodiments may utilize random forests (e.g., an ensemble of decision trees) to prevent overfitting the data.

The ML model may be interpreted as a rule-based SRAF placement algorithm with highly complex rules.

In any of the examples herein, the terminology used may refer to the following definitions:

• Target pattern, e.g., a wafer target pattern - information representing the desired pattern we wish to have printed on the wafer.

• Mask pattern - a pattern that is to be used to create a photomask for optical lithography.

• OPC model - a numerical model developed to predict the wafer target pattern given a mask pattern.

• Model based OPC - modifying a given input mask pattern to mitigate wafer or patterning liabilities as predicted by one or more OPC models.

• Model predicted liabilities - a model (such as an OPC model) may be used for specific process and optic considerations, such as to predict differences between the wafer target pattern and the mask pattern prior to fabrication. Predicted differences that exceed tolerances (such as CD differences) may require model based OPC or other manipulation of the mask pattern, e.g., addition of SRAFs to the mask pattern, removal of SRAFs from the mask pattern, changes to SRAFs in the mask pattern, or the like, or combinations thereof.

Examples

Example 1 is an apparatus for generating a machine learning model to place SRAFs. The apparatus may include a processor to generate, using exploratory SRAF placements, a machine learning model to select an SRAF placement for a mask pattern to compensate for model predicted liabilities, the processor further to: select features based on a training data set, wherein the training data set includes information about a first group of the exploratory SRAF placements; perform a training of the machine learning model based on the selected features; responsive to the training of the machine learning model, generate an SRAF placement using the machine learning model; validate the SRAF placement using a simulation; and based on a result of the simulation, identify whether to further train the machine learning model based on a different training set including information about a second group of the exploratory SRAF placements, or not, prior to outputting the machine learning model.

Example 2 includes the subject matter of example 1 (or any other example described herein), further comprising wherein the training data set comprises a training data table, the processor further to, for each SRAF of one of the SRAF placements of the first group of SRAF placements: identify feature values based on a predefined geometry; identify a target variable value based on a distance of the SRAF from a reference associated with a target pattern; and add the values to a row of the training data table.

Example 3 includes the subject matter of any of examples 1-2 (or any other example described herein), wherein the predefined geometry comprises a rectangle and the feature values comprise length values and width values.

Example 4 includes the subject matter of any of examples 1-3 (or any other example described herein), wherein the training data set comprises a training data table, the processor further to, for each SRAF of one of the SRAF placements of the first group of SRAF placements: identify a feature value associated with a search ray; identify a target variable value based on a distance of the SRAF from a reference associated with a target pattern; and add the values to a row of the training data table.

Example 5 includes the subject matter of any of examples 1-4 (or any other example described herein), wherein identify the features value associated with the search ray further comprises: identify a length of a distance from a reference point associated with the target pattern to the respective one of the SRAFs, wherein the distance comprises a length of the search ray.

Example 6 is a system for generating a machine learning model to place SRAFs. The system may include a datastore to retain exploratory SRAF placements; and a computing device to generate a machine learning (ML) model to select an SRAF placement for a mask pattern to compensate for model predicted liabilities, the computing device comprising: a data

summarization module to access the database responsive to each request from the computing device, to identify an SRAF placement based on each access to the database, and to provide an output to an ML calibration module based on each identified SRAF placement; the ML calibration module to perform a training of a current instance of the ML model responsive to a receipt of data from the data summarization module, to output the trained current instance of the ML model to an ML validation module; and the ML validation module to identify whether an SRAF placement generated using the trained current instance of the ML is within error tolerances; wherein responsive to not within the error tolerances, the computing device is further to augment the database and send a next request to the data summarization module for a next access to the database following augmentation; and wherein responsive to within the error tolerances, the generated ML model comprises the trained current instance of the ML model.

Example 7 includes the subject matter of example 6 (or any other example described herein), wherein the ML calibration module is further to perform training using one or more Variational Bayesian Gaussian Mixture Models (VBGMMs) that are trained based on at least one stochastic gradient descent (SGD) multi-class classifier.

Example 8 includes the subject matter of any of examples 6-7 (or any other example described herein), wherein the ML calibration module is further to perform training using decision trees or random forests.

Example 9 includes the subject matter of any of examples 6-8 (or any other example described herein), wherein the data summarization module is further to identify feature values for each SRAF of the identified SRAF placement based on a predefined geometry.

Example 10 includes the subject matter of any of examples 6-9 (or any other example described herein), wherein the data summarization module is further to identify feature values for each SRAF of the identified SRAF placement based on a search ray.

Example 11 is a method of generating, using exploratory SRAF placements, a machine learning model to select an SRAF placement for a mask pattern to compensate for model predicted liabilities, the method comprising: selecting features based on a training data set, wherein the training data set includes information about a first group of the exploratory SRAF placements; performing a training of the machine learning model based on the selected features; responsive to the training of the machine learning model, generating an SRAF placement using the machine learning model; validating the SRAF placement using a simulation; and identifying whether to further train the machine learning model based on a different training set including information about a second group of the exploratory SRAF placements, or not, based on a result of the simulation.

Example 12 includes the subject matter of example 11 (or any other example described herein), wherein the first group of the exploratory SRAF placements comprises more than one of the exploratory SRAF placements.

Example 13 includes the subject matter of any of examples 11-12 (or any other example described herein), wherein the second group of the exploratory SRAF placements comprises more than one of the exploratory SRAF placements.

Example 14 includes the subject matter of any of examples 11-13 (or any other example described herein), wherein the second group of exploratory SRAF placements comprises at least one of the exploratory SRAF placements of the first group of exploratory SRAF placements.

Example 15 includes the subject matter of any of examples 11-14 (or any other example described herein), wherein the second group of exploratory SRAF placements is different than the first group of exploratory SRAF placements, and wherein the second group of exploratory SRAF placements includes all of the exploratory SRAF placements of the first group of exploratory SRAF placements.

Example 16 includes the subject matter of any of examples 11-15 (or any other example described herein), wherein at least one of the exploratory SRAF placements is generated from inverse lithography (ILT) simulations or heuristic simulations.

Example 17 includes the subject matter of any of examples 11-16 (or any other example described herein), wherein the first group of exploratory SRAF placements includes at least one exploratory SRAF placement generated from one or more inverse lithography (ILT) simulations and at least one exploratory SRAF placement generated from one or more heuristic simulations.

Example 18 includes the subject matter of any of examples 11-17 (or any other example described herein), wherein the training data set comprises a training data table, and the method further comprises, for each SRAF of one of the SRAF placements of the first group of SRAF placements: identifying feature values based on a predefined geometry; identifying a target variable value based on a distance of the SRAF from a reference associated with a target pattern; and adding the values to a row of the training data table.

Example 19 includes the subject matter of any of examples 11-18 (or any other example described herein), wherein the training data set comprises a training data table, and the method further comprises, for each SRAF of one of the SRAF placements of the first group of SRAF placements: identifying a features value associated with a search ray; identifying a target variable value based on distance of the SRAF from a reference associated with a target pattern; and adding the values to a row of the training data table.

Example 20 is a machine readable medium storing instructions that, when executed, cause the machine to perform the steps of any of claims 11-19 (or any other example described here).

Example 21 is a system for generating a machine learning model to place SRAFs. The system may include photomask fabrication equipment to form a photomask based on a mask pattern; and a computer readable media having instructions for generating, using exploratory SRAF placements, a machine learning model to select an SRAF placement for the mask pattern to compensate for model predicted liabilities, wherein the instructions when executed, cause a processor to: select features based on a training data set, wherein the training data set includes information about a first group of the exploratory SRAF placements; perform a training of the machine learning model based on the selected features; responsive to the training of the machine learning model, generate an SRAF placement using the machine learning model; validate the SRAF placement using a simulation; and based on a result of the simulation, identify whether to further train the machine learning model based on a different training set including information about a second group of the exploratory SRAF placements, or not, prior to outputting the machine learning model.

Example 22 includes the subject matter of example 21 (or any other example described herein), wherein the training data set comprises a training data table, and the instructions are further to cause the processor to, for each SRAF of one of the SRAF placements of the first group of SRAF placements: identify feature values based on a predefined geometry; identify a target variable value based on a distance of the SRAF from a reference associated with a target pattern; and add the values to a row of the training data table.

Example 23 includes the subject matter of any of examples 21-22 (or any other example described herein), wherein the predefined geometry comprises a rectangle and the feature values comprise length values and width values.

Example 24 includes the subject matter of any of examples 21-23 (or any other example described herein), wherein the training data set comprises a training data table, and the instructions are further to cause the processor to, for each SRAF of one of the SRAF placements of the first group of SRAF placements: identify a feature value associated with a search ray; identify a target variable value based on a distance of the SRAF from a reference associated with a target pattern; and add the values to a row of the training data table.

Example 25 includes the subject matter of any of examples 21-24 (or any other example described herein), wherein identify the features value associated with the search ray further comprises: identify a length of a distance from a reference point associated with the target pattern to the respective one of the SRAFs, wherein the distance comprises a length of the search ray.

Example 26 is an apparatus for generating using, exploratory SRAF placements, a machine learning model to select an SRAF placement for a mask pattern to compensate for model predicted liabilities, the apparatus comprising: means for selecting features based on a training data set, wherein the training data set includes information about a first group of the exploratory SRAF placements; means for performing a training of the machine learning model based on the selected features; means for generating an SRAF placement using the machine learning model responsive to the training of the machine learning model; means for validating the SRAF placement using a simulation; and means for identifying whether to further train the machine learning model based on a different training set including information about a second group of the exploratory SRAF placements, or not, based on a result of the simulation.

Example 27 includes the subject matter of example 26 (or any other example described herein), wherein at least one of the exploratory SRAF placements is generated from inverse lithography (ILT) simulations.

Example 28 includes the subject matter of any of examples 26-27 (or any other example described herein), wherein at least one of the exploratory SRAF placements is generated from heuristic simulations.

Example 29 includes the subject matter of any of examples 26-28 (or any other example described herein), wherein the first group of exploratory SRAF placements includes at least one exploratory SRAF placement generated from one or more inverse lithography (ILT) simulations and at least one exploratory SRAF placement generated from one or more heuristic simulations.

Example 30 includes the subject matter of any of examples 26-29 (or any other example described herein), wherein the training data set comprises a training data table, and the apparatus further comprises: means for identifying, for each SRAF of one of the SRAF placements of the first group of SRAF placements, feature values based on a predefined geometry; means for identifying a target variable value based on a distance of the SRAF from a reference associated with a target pattern; and means for adding the values to a row of the training data table.

Example 31 includes the subject matter of any of examples 26-30 (or any other example described herein), wherein the training data set comprises a training data table, and the apparatus further comprises: means for identifying, for each SRAF of one of the SRAF placements of the first group of SRAF placements, a features value associated with a search ray; identifying a target variable value based on distance of the SRAF from a reference.

Although certain embodiments have been illustrated and described herein for purposes of description, a wide variety of alternate and/or equivalent embodiments or implementations calculated to achieve the same purposes may be substituted for the embodiments shown and described without departing from the scope of the present disclosure. This application is intended to cover any adaptations or variations of the embodiments discussed herein. Therefore, it is manifestly intended that embodiments described herein be limited only by the claims.

Where the disclosure recites“a” or“a first” element or the equivalent thereof, such disclosure includes one or more such elements, neither requiring nor excluding two or more such elements. Further, ordinal indicators (e.g., first, second or third) for identified elements are used to distinguish between the elements, and do not indicate or imply a required or limited number of such elements, nor do they indicate a particular position or order of such elements unless otherwise specifically stated.