Optimization method of optical proximity correction model, electronic device, storage medium and program product

CN122652885APending Publication Date: 2026-08-28QUANXIN INTELLIGENT MFG TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611131211.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-28
Publication Date
2026-08-28

AI Technical Summary

Technical Problem

由于光刻仿真计算复杂、耗时较长且计算资源消耗较大,现有OPC模型参数优化过程存在计算开销大、优化效率低的问题

Benefits of technology

[0020] It should be understood that the description in the Summary of the Invention is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122652885A_ABST
    Figure CN122652885A_ABST
Patent Text Reader

Abstract

The present disclosure provides an optimization method of an optical proximity correction model, an electronic device, a storage medium and a program product. The method comprises: performing a first stage iteration on parameters of the optical proximity correction model to generate a first model set; simulating the first model set by using simulation software to determine a first target function value set; training a machine learning model based on the first model set and the first target function value set to generate a trained machine learning model; predicting target function values of each model in a second stage iteration by using the trained machine learning model to generate a second target function value set, wherein the second stage iteration generates a second model set; and selecting a corresponding model from the second model set as a candidate model for inputting the simulation software for further optimization based on the second target function value set.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates primarily to integrated circuits, and more specifically to methods for optimizing optical proximity correction models, electronic devices, computer-readable storage media, and computer program products. Background Technology

[0002] In semiconductor manufacturing, photolithography is a crucial process for transferring integrated circuit layout patterns onto wafers. Influenced by factors such as light diffraction, interference, process windows, and photoresist reactions, the actual photolithographic pattern often exhibits dimensional deviations, linewidth variations, and corner rounding compared to the target layout, thus affecting chip manufacturing precision and yield. To compensate for the aforementioned optical proximity effect, optical proximity correction (OPC) technology is typically used to correct the layout, thereby improving the consistency between the photolithographic image and the target pattern.

[0003] OPC technology typically performs layout correction based on an OPC model. To achieve better correction results, the model parameters usually need to be optimized before the OPC model is put into use to determine the optimal parameter combination. Due to the complexity, time-consuming nature, and high computational resource consumption of lithography simulation calculations, the existing OPC model parameter optimization process suffers from high computational overhead and low optimization efficiency. Summary of the Invention

[0004] According to an example embodiment of this disclosure, an optimization scheme for an optical proximity correction model is provided to at least partially overcome the above-mentioned or other potential defects.

[0005] In a first aspect of this disclosure, an optimization method for an optical proximity correction model is provided, comprising: performing a first-stage iteration on the parameters of the optical proximity correction model to generate a first model set; simulating the first model set using simulation software to determine a first objective function value set; training a machine learning model based on the first model set and the first objective function value set to generate a trained machine learning model; using the trained machine learning model to predict the objective function values ​​of each model in a second-stage iteration to generate a second objective function value set, wherein the second-stage iteration generates a second model set; and selecting corresponding models from the second model set as candidate models for input into the simulation software for further optimization based on the second objective function value set.

[0006] In some embodiments, training a machine learning model based on a first set of models and a first set of objective function values ​​to generate a trained machine learning model includes: performing an augmentation operation on the first set of models to generate a third set of models; simulating the third set of models using simulation software to determine a third set of objective function values; and training the machine learning model using the third set of models and the third set of objective function values ​​to generate a trained machine learning model.

[0007] In some embodiments, performing an expansion operation on the first model set to generate a third model set includes performing a cross-recombination operation on the parameters of multiple models in the first model set to generate a third model set.

[0008] In some embodiments, performing a cross-recombination operation on the parameters of multiple models in a first model set includes: selecting multiple parameters from multiple models in the first model set; generating a new model based on the multiple parameters; and adding the new model to a third model set.

[0009] In some embodiments, selecting a corresponding model from the second model set as a candidate model for input into simulation software for further optimization based on the second objective function value set includes: selecting a model corresponding to a second objective function value that is less than a predetermined objective function value in the second objective function value set as a candidate model.

[0010] In some embodiments, selecting a corresponding model from the second model set as a candidate model for input into simulation software for further optimization based on the second objective function value set includes: generating a new candidate model so that the number of candidate models is equal to the predetermined number of models, based on the determination that the number of candidate models is less than the predetermined number of models.

[0011] In some embodiments, the method further includes: updating the trained machine learning model based on the candidate model and the corresponding objective function value to generate an updated machine learning model; using the updated machine learning model to predict the objective function value of each model in the third-stage iteration to generate a fourth objective function value set, wherein the third-stage iteration generates a fourth model set; and selecting a corresponding model from the fourth model set as a candidate model for input into simulation software for further optimization based on the fourth objective function value set.

[0012] In some embodiments, the method further includes: determining the corresponding model as a model for optical proximity correction in response to the iteration satisfying a termination condition.

[0013] In some embodiments, the termination condition includes at least one of the following: meeting the convergence condition and reaching a predetermined number of iterations.

[0014] In some embodiments, the machine learning model includes an attention-based neural network model.

[0015] In some embodiments, selecting a corresponding model from the second model set as a candidate model for input into simulation software for further optimization based on the second objective function value set includes: eliminating models corresponding to a second objective function value greater than a predetermined objective function value in the second objective function value set; and selecting the remaining models in the models corresponding to the second objective function value set as candidate models.

[0016] In some embodiments, the predetermined objective function value is set based on the statistical characteristic values ​​of a first objective function value set.

[0017] In a second aspect of this disclosure, an electronic device is provided, comprising: one or more processors; and a storage device for storing one or more programs, which, when executed by the one or more processors, cause the electronic device to perform the method according to the first aspect of this disclosure.

[0018] In a third aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method according to a first aspect of this disclosure.

[0019] In a fourth aspect of this disclosure, a computer program product is provided, which includes program code that, when executed by a processor, implements the method according to a first aspect of this disclosure.

[0020] It should be understood that the description in the Summary of the Invention is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0021] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:

[0022] Figure 1 A schematic diagram of an example environment in which embodiments of the present disclosure can be implemented is shown;

[0023] Figure 2 A flowchart illustrating a method for optimizing an OPC model according to an embodiment of the present disclosure is shown;

[0024] Figure 3 A schematic diagram illustrating an example of an extended operation according to an embodiment of the present disclosure is shown;

[0025] Figure 4 A schematic diagram of the structure of an example deep neural network according to an embodiment of the present disclosure is shown;

[0026] Figure 5 A flowchart illustrating a method for optimizing subsequent iterations using a trained machine learning model according to embodiments of the present disclosure is shown.

[0027] Figure 6 A block diagram of an electronic device capable of implementing embodiments of the present disclosure is shown. Detailed Implementation

[0028] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0029] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0030] As briefly mentioned earlier, OPC uses computational methods to correct the pattern on the mask, ensuring that the pattern projected onto the photoresist conforms as closely as possible to the design requirements. Model-based optical proximity correction (hereinafter referred to as "OPC model") has been widely used. Establishing the OPC model is a crucial step in the optical proximity correction process. When establishing the OPC model, fitting calculations are performed to minimize the difference between the simulation results and the actual measurement results; for example, minimizing the difference between the pattern simulated by the OPC model and the photoresist pattern.

[0031] Existing parameter optimization methods generally employ iterative optimization strategies. In each iteration, lithographic simulations are performed on multiple candidate models, and their performance is evaluated based on the simulation results. Therefore, as mentioned earlier, the OPC model parameter optimization process suffers from high computational overhead and low optimization efficiency.

[0032] In optimizing OPC models, algorithms are typically used to calculate the optimal solutions for each parameter, thus establishing the OPC model. In traditional approaches, genetic algorithms are commonly used. Genetic algorithms are search algorithms used to solve optimization problems. When applying genetic algorithms to OPC optimization, lithographic simulations are performed on multiple candidate models in each iteration. Therefore, the traditional solution process is time-consuming and computationally resource-intensive. Furthermore, in traditional approaches, some poorly performing candidate models, although not directly selected as the optimal solution for the current iteration, may still participate in subsequent iterations, and their parameter information may be used to generate new candidate models. Therefore, a large amount of low-quality parameter information may continue to participate in the calculation process, requiring more iterations to converge, thereby reducing the efficiency of OPC model optimization.

[0033] In view of this, this disclosure provides an optimization method for an improved OPC model.

[0034] According to embodiments of this disclosure, an optimization method for an optical proximity correction (OPC) model is provided. The method includes: performing a first-stage iteration on the parameters of the OPC model to generate a first model set; simulating the first model set using simulation software to determine a first objective function value set; training a machine learning model based on the first model set and the first objective function value set to generate a trained machine learning model; using the trained machine learning model to predict the objective function values ​​of each model in a second-stage iteration to generate a second objective function value set, wherein the second-stage iteration generates the second model set; and selecting corresponding models from the second model set as candidate models for input into the simulation software for further optimization based on the second objective function value set. In this manner, the time and computational resources required for OPC model optimization can be reduced, and the resulting OPC model's application to layout correction can be improved.

[0035] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.

[0036] Figure 1 An example environment 100 in which embodiments of this disclosure can be implemented is shown. For example... Figure 1 As shown, the electronic device 110 can acquire an initial OPC model 102. The initial OPC model 102 includes multiple parameters to be optimized, including but not limited to photolithography wavelength, numerical aperture, and other parameters related to the OPC model, which are not limited in this disclosure.

[0037] In some embodiments, the electronic device 110 may employ a swarm intelligence optimization algorithm to iteratively optimize multiple parameters to be optimized in the initial OPC model 102 to obtain a target OPC model 104. The target OPC model 104 is used to compensate for pattern imaging deviations caused by optical proximity effects, improve the consistency between the lithographic pattern and the target layout, thereby improving chip manufacturing accuracy and yield.

[0038] Swarm intelligence optimization algorithms can include genetic algorithms, differential evolution algorithms, particle swarm optimization algorithms, artificial bee colony optimization algorithms, etc., and this disclosure does not limit them. The following uses differential evolution algorithms as an example to illustrate the parameter optimization process.

[0039] In differential evolution algorithms, the population is first initialized according to preset parameter configurations. Parameter configurations can include population size, mutation strategy, crossover strategy, mutation factor, crossover probability, maximum number of iterations, and termination conditions. After initialization, an initial population is generated, where each individual corresponds to a candidate OPC model and includes a set of parameters to be optimized.

[0040] The performance of each individual in the initial population is evaluated to determine the objective function value for each individual. In some embodiments, the objective function value may be used to represent the correction performance of the corresponding OPC model.

[0041] In each iteration of the differential evolution algorithm, mutation and crossover operations are performed based on the current population to generate a corresponding temporary population; then, each individual in the temporary population is evaluated to obtain the objective function value corresponding to each individual.

[0042] Based on the objective function value, a selection operation is performed on individuals in the temporary population, and individuals with better objective function values ​​are retained as the next generation population. Generally, individuals with better objective function values ​​are called high-quality individuals, and vice versa. When a preset termination condition is met, the iteration ends, and the individual with the best objective function value is determined as the target OPC model 104; otherwise, the next round of iteration continues with the updated population.

[0043] Electronic device 110 can be any device with computing capabilities. As a non-limiting example, electronic device 110 can be any type of fixed electronic device, mobile electronic device, or portable electronic device, including but not limited to desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, multimedia computers, mobile phones, smart home devices, wearable electronic devices, etc. In some embodiments, all or some components of electronic device 110 can be distributed in the cloud. This disclosure does not limit the specific type of electronic device 110.

[0044] Figure 2A flowchart of a method 200 for OPC model optimization according to an embodiment of the present disclosure is shown. For ease of discussion, it will be combined with... Figure 1 Let's describe method 200. Figure 2 Method 200 can be found in Figure 1 The steps are executed at electronic device 110 and any suitable electronic device. Furthermore, the numbers in the flowchart do not indicate the order in which these steps are executed; some or all of these steps may be executed in parallel, or their execution order may be interchanged, and this disclosure does not limit this.

[0045] In block 202, the parameters of the optical proximity correction model are iterated in a first stage to generate a first model set. In some embodiments, the number of iterations in the first stage can include any number less than a predetermined number of iterations. For example, the predetermined number of iterations can be set to 200, the population size can be set to 200, then the number of iterations in the first stage can be set to 50, and the number of models in the first model set is the product of the population size and the number of iterations in the first stage, i.e., 50. 200 = 10000.

[0046] In block 204, simulation software is used to simulate the first set of models to determine the first set of objective function values. For example, the simulation software can be used to perform photolithographic simulation on each model in the first set of models to obtain the objective function values ​​corresponding to each model, and these objective function values ​​constitute the first set of objective function values. In some embodiments, the objective function values ​​may be cost function values.

[0047] In box 206, a machine learning model is trained based on a first set of models and a first set of objective function values ​​to generate a trained machine learning model. In some embodiments, the machine learning model may include an attention-based neural network model, such as a Transformer Encoder model. When using a Transformer Encoder model, its self-attention mechanism can be used to establish the correlation and global dependency between multiple parameters to be optimized in the OPC model, and output the prediction performance index corresponding to the OPC model. Furthermore, since the Transformer Encoder can perform parallel processing and feature fusion on multiple parameters to be optimized, it is more advantageous in improving model training efficiency and the stability of prediction results compared to shallow neural networks (e.g., multilayer perceptron (MLP), convolutional neural network (CNN)) or recurrent neural networks (e.g., long short-term memory network (LSTM)).

[0048] To ensure sufficient prediction accuracy of deep learning models, a large amount of training data is required. Therefore, in some embodiments of this disclosure, an expansion operation can be performed on a first model set to generate a third model set. In some embodiments, the expansion operation may include performing a cross-recombination operation on the parameters of multiple models in the first model set. In some embodiments, the cross-recombination operation may include: selecting multiple parameters from multiple models in the first model set; generating a new model based on the multiple parameters; and adding the new model to the third model set. In some embodiments, the number of models in the third model set may be 1.25 to 2.5 times the number of models in the first model set. It should be understood that the number of models in the third model set can vary according to actual needs, and this disclosure does not limit it.

[0049] In some embodiments, after performing the augmentation operation, simulation software can be used to simulate the third model set to determine the third objective function value set; and the machine learning model can be trained using the third model set and the third objective function value set to generate a trained machine learning model. In some embodiments, before training the machine learning model, data preprocessing operations such as data cleaning and data classification can be performed on the third model set and the third objective function value set, which is not limited in this disclosure.

[0050] In box 208, a trained machine learning model is used to predict the objective function values ​​of each model in the second-stage iteration to generate a second set of objective function values. The second-stage iteration generates a second set of models. In the second-stage iteration, instead of directly using simulation software to generate the corresponding objective function values ​​for the parameters of each OPC model in the second set of models, the trained machine learning model is used to predict the objective function values ​​of each model. Calculating the objective function values ​​using simulation software is computationally intensive and time-consuming; in contrast, using a trained machine learning model to predict the objective function values ​​effectively shortens the computation time and saves computational resources.

[0051] In block 210, based on the second objective function value set, corresponding models are selected from the second model set as candidate models for input into the simulation software for further optimization. These candidate models can be high-quality individuals as described above. In some embodiments, selecting corresponding models from the second model set as candidate models for input into the simulation software for further optimization based on the second objective function value set may include: selecting models corresponding to second objective function values ​​less than a predetermined objective function value in the second objective function value set as candidate models. In some embodiments, selecting corresponding models from the second model set as candidate models for input into the simulation software for further optimization based on the second objective function value set may also include: eliminating models corresponding to second objective function values ​​greater than a predetermined objective function value in the second objective function value set; and selecting the remaining models in the models corresponding to the second objective function value set as candidate models. In some embodiments, the predetermined objective function value may be set based on the statistical characteristic values ​​of the first objective function value set. In some embodiments, the statistical characteristic values ​​of the first objective function value set may include the average, minimum, etc., of all objective function values ​​in the first objective function value set, which is not limited in this disclosure. In some embodiments, the predetermined objective function value may be set to 1.5 to 5 times the statistical characteristic values ​​of the first objective function value set. It should be understood that the predetermined objective function value can vary according to actual needs, and this disclosure does not impose any restrictions on it.

[0052] To ensure that the algorithm's global search capability does not degrade due to model selection, in some embodiments of this disclosure, new candidate models can be generated based on the determination that the number of candidate models is less than a predetermined number of models, so that the number of candidate models equals the predetermined number of models. In some embodiments, the predetermined number of models includes the population size. For example, referring to the example shown above, the predetermined number of models is 200.

[0053] In some embodiments, based on candidate models and their corresponding objective function values, the trained machine learning model is updated to generate an updated machine learning model; the updated machine learning model is used to predict the objective function values ​​of each model in the third-stage iteration to generate a fourth set of objective function values, wherein the third-stage iteration generates a fourth set of models; based on the fourth set of objective function values, a corresponding model is selected from the fourth set of models as a candidate model for input into simulation software for further optimization. In some embodiments, the methods for updating the trained machine learning model include, but are not limited to, fine-tuning, incremental learning, online learning, etc., and this disclosure does not limit these methods. For example, fine-tuning the trained machine learning model may include: inputting the newly generated candidate models and their corresponding objective function values ​​into the trained machine learning model, and using a small learning rate to adjust the parameters of the machine learning model to obtain an updated machine learning model.

[0054] In some embodiments, in response to an iteration satisfying a termination condition, the corresponding model is determined as the model for optical proximity correction. In some embodiments, the termination condition includes at least one of the following: satisfying a convergence condition and reaching a predetermined number of iterations.

[0055] Advantageously, the improved optical proximity correction model optimization method according to the embodiments of this disclosure uses a machine learning model to predict and filter the OPC model samples generated during the iteration of the swarm intelligence optimization algorithm during the optimization process of the OPC model. This saves the simulation software time to calculate inferior model samples and reduces the consumption of computing resources, thereby accelerating the iteration of OPC model optimization and optimizing the final effect.

[0056] Figure 3 A schematic diagram 300 illustrates an example of an extended operation according to an embodiment of the present disclosure. (As shown...) Figure 3 As shown, the parameters of the optical proximity correction model undergo a first-stage iteration 310 to generate a first model set 302. The first-stage iteration 310 may include multiple iterations, such as iteration 1 310-1, iteration 2 310-2, ..., iteration N 310-N. The first model set 302 may include multiple models, such as model 1 302-1, model 2 302-2, ..., model M 302-M. As mentioned above, M is the product of N and the population size (i.e., the predetermined number of models). As an example, the parameters of the optical proximity correction model may include four parameters, namely A, B, C, and D. For example, in model 1, A=1, B=1, C=1, D=1; in model 2, A=1, B=2, C=1, D=1; ...; in model M, A=m, B=n, C=o, D=p. In some embodiments, an expansion operation may be performed on the first model set 302 to generate a third model set 304. As an example, a cross-recombination operation can be performed on the parameters of multiple models in the first model set 302 to generate a third model set 304. For example, the values ​​of A in model M, B in model 2, and C and D in model 1 can be selected and recombined into model M+1, 304-M+1; the values ​​of A in model M, B in model 1, and C and D in model 1 can be selected and recombined into model M+2, 304-M+2.

[0057] Figure 4 A schematic diagram of the structure of an example deep neural network 400 according to an embodiment of the present disclosure is shown. The present disclosure uses a Transformer Encoder as an example of a deep neural network structure. Figure 4The deep neural network 400 includes an input layer 402, an embedding / projection layer 404, a position encoding module 406, a first normalization layer 408, a multi-head self-attention module 410, a second normalization layer 412, a feedforward network 414, a third normalization layer 416, and an output layer 418.

[0058] Specifically, the input layer 402 is used to receive input data. In some embodiments, the input data may include an OPC model. Since the Transformer model cannot directly process the raw input, the input data first passes through the embedding / projection layer 404, which maps the input features to a feature vector space of a preset dimension to generate the corresponding embedding representation. Since the Transformer itself does not contain sequence position information, in order for the model to distinguish the order relationship between each input element, the position encoding module 406 generates a position encoding corresponding to the input sequence, and adds and fuses the position encoding with the embedding representation to form input features containing both content information and position information.

[0059] The fused input features are fed into the main body of the Transformer Encoder. The main body of the Transformer Encoder includes a self-attention sublayer and a feedforward network sublayer. The fused input features are first normalized by a first normalization layer 408 to improve model training stability. The normalized features are then fed into a multi-head self-attention module 410, which calculates the correlation between elements in the input sequence using multiple attention heads to learn the dependencies between different features and obtain contextual features. The output of the multi-head self-attention module 410 is added to its input via a residual connection to preserve the original feature information and alleviate the gradient vanishing or exploding problems during deep network training. Subsequently, the residual-connected features are input to a second normalization layer 412 for normalization and then further fed into a feedforward network 414. The feedforward network 414 performs non-linear mapping on the features corresponding to each position to enhance the model's ability to express complex feature relationships. The output of the feedforward network 414 is also added to its input via a residual connection to further improve network training stability and promote feature information transfer. Subsequently, the feature input after residual connection is normalized by the third normalization layer 416 to obtain the final encoding result of the Transformer Encoder, which is then output by the output layer 418 to obtain the objective function value predicted by the input OPC model.

[0060] Figure 5 A flowchart is shown of a method 500 for optimizing subsequent iterations using a trained machine learning model according to an embodiment of the present disclosure. Figure 5 The process can be found in Figure 1The steps are executed at electronic device 110 and any suitable electronic device. Furthermore, the numbers in the flowchart do not indicate the order in which these steps are executed; some or all of these steps may be executed in parallel, or their execution order may be interchanged, and this disclosure does not limit this. Figure 5 The process occurs after the first phase iteration, for example... Figure 3 The first stage iteration 310 is shown.

[0061] In box 502, a machine learning model can be trained. As mentioned above, this can be achieved using methods such as... Figure 2 The expanded second model set and the corresponding objective function value set shown are used to train the machine learning model. The machine learning model may include, for example: Figure 4 The Transformer Encoder model shown.

[0062] In box 504, machine learning models can be used to predict the objective function values ​​of each model in the iterations. These iterations are in the following... Figure 3 The iteration following the first-stage iteration 310 is shown. In decision box 506, the predicted objective function values ​​of each model are compared with predetermined objective function values. As mentioned above, the predetermined objective function values ​​are set based on the statistical characteristic values ​​of a first set of objective function values, which is obtained using simulation software based on a first set of models (e.g., ...). Figure 3 The first objective function value set (302) is used for calculation. In some embodiments, the statistical characteristic values ​​of the first objective function value set may include the average, minimum, etc., of all objective function values ​​in the first objective function value set, and this disclosure does not limit this. In some embodiments, the predetermined objective function value may be set to 1.5 to 5 times the statistical characteristic values ​​of the first objective function value set, and this disclosure does not limit this.

[0063] If the model's objective function value is greater than the predetermined objective function value, then the model is considered a poor-performing individual as predicted by the machine learning model, and the process proceeds to box 508. In box 508, the model is discarded. Then, in box 510, a new model is generated to maintain the population size of the swarm intelligence optimization algorithm. The process then proceeds to 504, where the machine learning model is used to predict the objective function value of the new model, and the subsequent steps are repeated.

[0064] If the model's objective function value is less than a predetermined objective function value, then the model is considered a high-quality individual as predicted by the machine learning model, and the process proceeds to box 512. In box 512, the model is input into simulation software for calculation to obtain its true objective function value. The process then proceeds to decision box 514, where it is determined whether a termination condition has been met. In some embodiments, the termination condition includes at least one of the following: meeting a convergence condition and reaching a predetermined number of iterations. If the termination condition is met, the process proceeds to box 518, the corresponding model is identified as the model for optical proximity correction, and the process ends.

[0065] If the termination condition has not yet been met, the process proceeds to box 516. In box 516, the machine learning model is updated based on the candidate models as high-quality individuals and their corresponding true objective function values. The process then returns to box 504, where the updated machine learning model continues to be used to predict the objective function values ​​of each model in subsequent iterations.

[0066] The OPC model optimization method according to embodiments of this disclosure reduces computation time and resource consumption compared to traditional OPC model optimization methods, and achieves faster convergence. For example, when the population size of the swarm intelligence optimization algorithm used for OPC model optimization is set to 100 and the number of iterations is set to 200, the overall time consumption of the OPC model optimization method according to embodiments of this disclosure is reduced by 0.6 hours compared to traditional methods, and the obtained OPC model improves the Full Gauge index by 0.08 when used for layout processing. The Full Gauge index is a comprehensive evaluation index obtained by statistically analyzing the graphic errors of all measurement points in the layout, used to evaluate the overall correction effect of the OPC model across the entire layout, where graphic errors may include edge position deviations, critical dimension deviations, etc.

[0067] Therefore, the solution of this disclosure can apply machine learning models to OPC model optimization, reduce the time and computing resources required for OPC model optimization methods, and improve the correction effect of the obtained OPC model applied to the layout.

[0068] Figure 6 A schematic block diagram of an example device 600 that can be used to implement embodiments of the present disclosure is shown. Device 600 can be used to implement... Figure 1The electronic device 110. As shown, the device 600 includes a processing unit 601, such as a central processing unit (CPU), which can perform various appropriate actions and processes according to computer program instructions stored in read-only memory (ROM) 602 or loaded from storage unit 608 into random access memory (RAM) 603. The RAM 603 may also store various programs and data required for the operation of the device 600. The processing unit 601, ROM 602, and RAM 603 are interconnected via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0069] Multiple components in device 600 are connected to I / O interface 605, including: input unit 606, such as keyboard, mouse, etc.; output unit 607, such as various types of monitors, speakers, etc.; storage unit 608, such as disk, optical disk, etc.; and communication unit 609, such as network card, modem, wireless transceiver, etc. Communication unit 609 allows device 600 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0070] Processing unit 601 executes the various methods and processes described above, such as methods 200 and 500. For example, in some embodiments, methods 200 and 500 may be implemented as computer software programs tangibly contained in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by processing unit 601, one or more steps of methods 200 and 500 described above may be performed. Alternatively, in other embodiments, processing unit 601 may be configured to execute methods 200 and 500 by any other suitable means (e.g., by means of firmware).

[0071] The functions described above in this document can be performed at least in part by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload programmable logic devices (CPLDs), and so on.

[0072] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0073] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0074] Furthermore, although the operations are described in a specific order, this should be understood as requiring that such operations be performed in the specific order shown or in sequential order, or requiring that all illustrated operations be performed to achieve the desired result. In certain environments, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation may also be implemented individually or in any suitable sub-combination in multiple implementations.

[0075] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.

Claims

1. An optimization method for an optical proximity correction model, comprising: The parameters of the optical proximity correction model are iterated in the first stage to generate the first model set; The first model set is simulated using simulation software to determine the first objective function value set; The machine learning model is trained based on the first model set and the first objective function value set to generate a trained machine learning model; The trained machine learning model is used to predict the objective function values ​​of each model in the second stage iteration to generate a second set of objective function values, wherein the second stage iteration generates a second set of models; as well as Based on the second objective function value set, a corresponding model is selected from the second model set as a candidate model for input into the simulation software for further optimization.

2. The method of claim 1, wherein training the machine learning model based on the first model set and the first objective function value set to generate a trained machine learning model comprises: Perform an expansion operation on the first model set to generate a third model set; The simulation software is used to simulate the third model set to determine the third objective function value set; as well as The machine learning model is trained using the third model set and the third objective function value set to generate the trained machine learning model.

3. The method according to claim 2, wherein performing an expansion operation on the first model set to generate a third model set comprises: A cross-recombination operation is performed on the parameters of multiple models in the first model set to generate the third model set.

4. The method according to claim 3, wherein performing a cross-recombination operation on the parameters of the plurality of models in the first model set includes: Select multiple parameters from the multiple models in the first model set; A new model is generated based on the aforementioned parameters; as well as The new model is added to the third model set.

5. The method according to claim 1, wherein selecting a corresponding model from the second model set as a candidate model for input into the simulation software for further optimization based on the second objective function value set comprises: The model corresponding to the second objective function value, which is less than the predetermined objective function value, is selected as the candidate model.

6. The method according to claim 1, wherein selecting a corresponding model from the second model set as a candidate model for input into the simulation software for further optimization based on the second objective function value set comprises: Based on the determination that the number of candidate models is less than the predetermined number of models, new candidate models are generated so that the number of candidate models equals the predetermined number of models.

7. The method according to claim 1, further comprising: Based on the candidate model and the corresponding objective function value, the trained machine learning model is updated to generate an updated machine learning model; The updated machine learning model is used to predict the objective function values ​​of each model in the third stage iteration to generate a fourth set of objective function values, wherein the third stage iteration generates a fourth set of models; as well as Based on the fourth objective function value set, a corresponding model is selected from the fourth model set as a candidate model for input into the simulation software for further optimization.

8. The method according to claim 1, further comprising: In response to the iteration satisfying the termination condition, the model that satisfies the termination condition is determined as the model for optical proximity correction.

9. The method of claim 8, wherein the termination condition includes at least one of the following: satisfying a convergence condition and reaching a predetermined number of iterations.

10. The method according to claim 1, wherein, The machine learning model includes a neural network model based on an attention mechanism.

11. The method of claim 1, wherein selecting a corresponding model from the second model set as a candidate model for input into the simulation software for further optimization based on the second objective function value set comprises: Eliminate models whose second objective function values ​​are greater than the predetermined objective function value in the set of second objective function values; as well as The remaining models in the models corresponding to the second objective function value set are selected as the candidate models.

12. The method according to claim 5 or 11, wherein the predetermined objective function value is set based on the statistical characteristic values ​​of the first objective function value set.

13. An electronic device, comprising: One or more processors; as well as A storage device for storing one or more programs, which, when executed by one or more processors, cause the electronic device to perform the method according to any one of claims 1-12.

14. A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method according to any one of claims 1-12.

15. A computer program product comprising program code that, when executed by a processor, implements the method according to any one of claims 1-12.