OPC model optimization method, electronic equipment and storage medium

By optimizing the comparison and update mechanism of loss functions during the OPC model iteration process, the time-consuming problem of SV calculation in traditional OPC modeling is solved, and more efficient modeling and more stable model results are achieved.

CN120469146APending Publication Date: 2025-08-12QUANXIN INTELLIGENT MFG TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510519143.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-23
Publication Date
2025-08-12

AI Technical Summary

Technical Problem

In the traditional OPC modeling process, calculating the key size offset variance (SV) takes a lot of time, which affects the modeling efficiency.

Method used

In the iteration process of the OPC model, by comparing the current loss function value with a predetermined number of historical optimal model, a model whose loss function value is lower than the historical optimal model is determined for the selected measurement points, and the weighted sum of the first loss function and the second loss function is combined to optimize the model update.

Benefits of technology

It significantly improves the modeling efficiency of the OPC model, reduces the SV calculation time, and improves the stability of the model and the consistency of the calculation results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120469146A_ABST
    Figure CN120469146A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to an OPC model optimization method, electronic equipment and a storage medium. The method comprises the following steps: comparing a current first loss function value of each model with a loss function value of a preset number of historical optimal models in subsequent iterations after a preset number of iterations; determining a current second loss function value of a model of which the loss function value is expected to be lower than a loss function value of a historical optimal model in each model according to a measurement point selected based on a predetermined rule; wherein the loss function value is related to a first loss function value indicating the difference between the simulation value of the critical dimension and the target value and a second loss function value indicating the difference between the simulation values of the critical dimension for different sampling points; and determining an updated model based on comparison between a current loss function value, determined by the current first loss function value and the current second loss function value, of each model in each iteration and a loss function value of a historical optimal model. According to the technical scheme, the modeling efficiency of the OPC model can be remarkably improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure generally relate to integrated circuits, and more particularly, to an optimization method, an electronic device, and a storage medium for an OPC model. Background Art

[0002] The production of integrated circuit chips at advanced process nodes often relies on patterning technology. The core of this patterning technology is optical proximity correction (OPC). OPC is widely used in semiconductor manufacturing to reduce the discrepancy between the wafer image and the target pattern. OPC compensates for imaging by modifying the mask layout, bringing the resulting wafer image closer to the target pattern. The key to OPC lies in an accurate OPC model that predicts the shape of the photoresist pattern on the wafer when different mask patterns are applied.

[0003] Currently, in the OPC modeling process, sampled signals are discrete data, and the signal values between sampling points are fitted using an interpolation algorithm. In most cases, the signal values at polygon edges are fitted using interpolation. For identical measurement points, differences in the distance between or number of sampling points can lead to differences in the interpolated signal values. Consequently, the critical dimension (CD) calculated from these fitted values will differ. The maximum value of this difference is called the shift variance (SV). A smaller SV value indicates a more stable fitted signal, and therefore a more stable model. Therefore, SV is a key indicator for evaluating model stability and the consistency of calculated results. Traditional approaches to calculating SV are time-consuming, significantly impacting modeling efficiency. Summary of the Invention

[0004] According to example embodiments of the present disclosure, a calibration scheme for an OPC model is provided to at least partially overcome the above or other potential drawbacks.

[0005] According to one aspect of the present disclosure, a method for optimizing an optical proximity correction model is provided. The method includes: determining, in subsequent iterations after a predetermined number of iterations, a current second loss function value of a model whose loss function value is expected to be lower than the loss function value of the historical optimal model for measurement points selected based on a predetermined rule, based on a comparison of the current first loss function value of each model with the loss function values of a predetermined number of historical optimal models, wherein the loss function value is related to a first loss function value indicating a difference between a simulation value and a target value of a critical dimension and a second loss function value indicating a difference between simulation values of the critical dimension for different sampling points; and determining an updated model based on a comparison of the current loss function value of each model determined by the current first loss function value and the current second loss function value with the loss function value of the historical optimal model in each round of iteration.

[0006] In a second aspect of the present disclosure, an electronic device is provided. The electronic device includes a processor; and a memory coupled to the processor, the memory having instructions stored therein, which, when executed by the processor, cause the device to perform an action, the action comprising: determining, in subsequent iterations after a predetermined number of iterations, a current second loss function value of a model whose loss function value is expected to be lower than the loss function value of the historical optimal model for measurement points selected based on a predetermined rule, based on a comparison of the current first loss function value of each model with the loss function values of a predetermined number of historical optimal models, wherein the loss function value is related to a first loss function value indicating a difference between a simulation value and a target value of a critical dimension and a second loss function value indicating a difference between simulation values of the critical dimension for different sampling points; and determining an updated model based on a comparison of a current loss function value of each model determined by the current first loss function value and the current second loss function value with the loss function value of the historical optimal model in each round of iteration.

[0007] In some embodiments, a predetermined number of historical optimal models are determined in a predetermined number of iterations by: selecting a predetermined number of minimum loss function values from the loss function values of each optical proximity correction model; and determining the model corresponding to the predetermined number of minimum loss function values as the updated model.

[0008] In some embodiments, the measurement points selected based on predetermined rules include at least one of the following: the measurement points corresponding to the maximum second loss function value of each model in the previous round of iterations in subsequent iterations; and some measurement points selected from all measurement points based on predetermined numbers.

[0009] In some embodiments, a portion of the measurement points selected from all the measurement points based on predetermined numbers are selected in the following manner: setting the numbers and selection intervals of all the measurement points; taking the remainder of the selection interval with the numbers of each measurement point; and selecting the measurement points in the current iteration based on the result of the remainder.

[0010] In some embodiments, selecting the measurement point in the current iteration based on the remainder result includes: selecting the measurement point corresponding to the remainder result and the round of iteration as the measurement point of the current round.

[0011] In some embodiments, some measurement points selected from all measurement points based on predetermined numbers are selected in the following manner: in the first round of iteration in subsequent iterations, a predetermined number of measurement points are randomly selected from all measurement points as measurement points for the current iteration; and in each iteration after the first round of iteration in subsequent iterations, a predetermined number of measurement points are randomly selected from the remaining measurement points as measurement points in the corresponding iteration.

[0012] In some embodiments, determining the current second loss function value of a model whose loss function value is expected to be lower than the loss function value of the historical optimal model for measurement points selected based on predetermined rules includes: in response to the first loss function value of the model being greater than the loss function value of the historical optimal model, no longer calculating the second loss function value of the corresponding model; and in response to the first loss function value of the model being not greater than the loss function value of the historical optimal model, calculating the second loss function value of the corresponding model.

[0013] In some embodiments, the measurement point corresponding to the maximum second loss function value of each model in the previous round of iteration is determined in the following manner: determining the second loss function value based on the measurement points used for each model in the previous round of iteration; using the determined maximum second loss function value as the second loss function value of the model; and inheriting the measurement points corresponding to the second loss function value of the model to the next iteration, so as to determine the second loss function value of each model for the inherited measurement points during the next iteration.

[0014] In some embodiments, in response to determining that the loss function value is less than the loss function value of the historical optimal model in each round of iteration, the corresponding model is determined as the historical optimal model.

[0015] In some embodiments, the loss function value is related to the first loss function value and the second loss function value by the following formula:

[0016] Cost = cd_error_cost * cd_error_weight + shift_variance * shift variance_weight; where Cost represents the loss function, cd_error_cost is the first loss function, shift_variance is the second loss function, cd_error_weight is the weight coefficient of the first loss function, and shift variance_weight is the weight coefficient of the second loss function. The value range of the weight coefficient of the first loss function and the weight coefficient of the second loss function are both [0,1].

[0017] In some embodiments, the method further includes: in response to the iteration satisfying a predetermined condition, determining the model with the smallest loss function value in the updated historical optimal models as the optimal model.

[0018] In some embodiments, the predetermined condition includes at least one of the following conditions: the difference in the loss function values of the two previous iterations is less than a predetermined threshold; the absolute value of the ratio of the loss function values of the two previous iterations is greater than a predetermined threshold; or the number of iterations or time reaches a predetermined threshold.

[0019] In a third aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the program is executed by a processor, the method according to the first aspect of the present disclosure is implemented.

[0020] In a fourth aspect of the present disclosure, an optical proximity correction model generated according to the method of the first aspect is provided.

[0021] In a fifth aspect of the present disclosure, a method for performing optical proximity correction using the optical proximity correction model of the fourth aspect is provided.

[0022] It will be understood from the following description that the technical solution of the present disclosure can significantly improve the modeling efficiency of the OPC model.

[0023] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the disclosure, nor is it intended to limit the scope of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0025] Figure 2 A flowchart illustrating an optimization method for an optical proximity correction model according to some embodiments of the present disclosure is shown;

[0026] Figure 3 A schematic diagram showing measurement points and simulation areas of a graph according to some embodiments of the present disclosure is shown;

[0027] Figure 4 A schematic diagram showing a comparison between the loss function value of the method according to an embodiment of the present disclosure and the loss function value of a traditional method; and

[0028] Figure 5 A block diagram is shown of a computing device capable of implementing various embodiments of the present disclosure.

[0029] In the various drawings, the same or corresponding reference numerals denote the same or corresponding parts. DETAILED DESCRIPTION

[0030] The principles of the present disclosure will be described below with reference to the various exemplary embodiments shown in the accompanying drawings. It should be understood that the description of these embodiments is only to enable those skilled in the art to better understand and further implement the present disclosure, and is not intended to limit the scope of the present disclosure in any way. It should be noted that similar or identical reference numerals can be used in the figures where possible, and similar or identical reference numerals can represent similar or identical functions. Those skilled in the art will readily recognize, from the description below, that alternative embodiments of the structures and methods described herein can be adopted without departing from the principles of the present disclosure described herein.

[0031] As used herein, the term "including" and its variations represent open inclusion, i.e., "including but not limited to." Unless otherwise stated, the term "or" means "and / or." The term "based on" means "based at least in part on." The terms "one example embodiment" and "an embodiment" mean "at least one example embodiment." The term "another embodiment" means "at least one additional embodiment." The terms "first," "second," etc. may refer to different or identical objects.

[0032] As mentioned earlier, SV is one of the important indicators for judging model stability and the consistency of calculation results. In traditional solutions, calculating SV is time-consuming and seriously affects modeling efficiency. Specifically, during the modeling process, SV is usually used as part of the loss function to determine whether the current model meets expectations. If the current model does not meet expectations, the model whose SV does not meet the requirements is filtered out. However, in the current SV calculation process, for the same multiple measurement points, it is necessary to change the sampling points and refit multiple times to obtain stable results. Different sampling areas will result in different signals even for the same measurement point.

[0033] In traditional modeling solutions, SV values must be calculated for each model in each iteration, and SVs must be calculated for all measurement points within each model in each iteration. This approach consumes considerable time, significantly impacting modeling efficiency. Therefore, improving SV calculation speed is crucial for enhancing OPC modeling performance.

[0034] In view of this, the present disclosure provides an improved solution.

[0035] The embodiment of the present disclosure provides an improved OPC model optimization method. The method includes: in subsequent iterations after a predetermined number of iterations, based on the comparison of the current first loss function value of each model with the loss function value of a predetermined number of historical optimal models, determining the current second loss function value of the model whose loss function value in each model is expected to be lower than the loss function value of the historical optimal model for the measurement points selected based on predetermined rules, wherein the loss function value is related to the first loss function value indicating the difference between the simulation value and the target value of the critical dimension and the second loss function value indicating the difference between the simulation values of the critical dimension for different sampling points; and determining the updated model based on the comparison of the current loss function value determined by the current first loss function value and the current second loss function value of each model in each round of iteration with the loss function value of the historical optimal model. The technical solution of the embodiment of the present disclosure can significantly improve the modeling efficiency of the OPC model.

[0036] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

[0037] Figure 1 1 shows a schematic diagram of an example environment 100 in which embodiments according to the present disclosure can be implemented. Figure 1 As shown, the example environment 100 includes a computing device 110 and a client 120 .

[0038] In some embodiments, computing device 110 can interact with client 120. For example, computing device 110 can receive input messages from client 120 and output feedback messages to client 120. In some embodiments, the input messages from client 120 can include design layout data, optical settings, and some photoresist algorithm parameters. Computing device 110 can process the input messages accordingly and output the corresponding calculation results to client 120.

[0039] In some embodiments, the computing device 110 may include, but is not limited to, a personal computer, a server computer, a handheld or laptop device, a mobile device (such as a mobile phone, a personal digital assistant (PDA), a media player, etc.), consumer electronics, a minicomputer, a mainframe computer, cloud computing resources, etc.

[0040] It should be understood that the structure and functionality of the example environment 100 is described for illustrative purposes only and is not intended to limit the scope of the subject matter described herein. The subject matter described herein can be implemented in different structures and / or functions. This environment is merely illustrative and is not intended to limit the application environment of the embodiments of the present disclosure.

[0041] In order to explain the principle of the present disclosure more clearly, the following will refer to Figure 4 Let's describe it in more detail.

[0042] Figure 2 A flow chart of an optimization method 200 for an optical proximity correction model according to some embodiments of the present disclosure is shown.

[0043] At box 202, in subsequent iterations after a predetermined number of iterations, based on the comparison of the current first loss function value of each model with the loss function values of a predetermined number of historical optimal models, the current second loss function value of the model in each model whose loss function value is expected to be lower than the loss function value of the historical optimal model is determined for the measurement points selected based on the predetermined rules, wherein the loss function value is related to a first loss function value indicating the difference between the simulation value and the target value of the critical dimension and a second loss function value indicating the difference between the simulation values of the critical dimension for different sampling points.

[0044] In some embodiments, a predetermined number of historical optimal models may be determined based on the loss function values of each optical proximity correction model in an initial predetermined number of iterations. It should be understood that the historical optimal models are not limited to being obtained by the above method, and may also be obtained by other conventional methods.

[0045] The iteration process is essential to building a simulation model. In some embodiments of the present disclosure, the predetermined number of iterations may be one, two, three, or the like. It should be understood that the numbers mentioned here are merely illustrative and can be adjusted based on actual needs. For example, if the total number of iterations is relatively small, the predetermined number may be reduced accordingly, and vice versa.

[0046] As is known in the industry, the quality of a lithography model can usually be evaluated by whether the measurement results (target values) of the test pattern are completely consistent or relatively consistent with the simulation results (simulation values). In theory, the smaller the loss function, the more accurate the result of the OPC model optimization. The difference between the simulation value and the test value (target value) can be used as a loss function. In the embodiment of the present disclosure, the loss function is referred to as the first loss function. In other words, the first loss function is used to indicate the difference between the simulation value and the target value of the critical dimension.

[0047] In some embodiments, SV can also serve as a loss function. In the embodiments of the present disclosure, this loss function is referred to as the second loss function. That is, SV can serve as part of the overall loss function. SV tends to evaluate the stability of the model. The second loss function indicates the difference between the simulated values of the critical dimension for different sampling points. In other words, it indicates the difference between the simulated values of the critical dimension determined by different samplings for the same measurement point.

[0048] In some embodiments of the present disclosure, the first loss function and the second loss function are combined to evaluate the overall model. Specifically, the smaller the weighted sum of the two, the better the performance of the model.

[0049] Generally speaking, there will be multiple models in each iteration round, because in the OPC modeling process, some parameters are used to simulate the optical effects and photoresist effects, so different combinations of parameters will result in different models. Therefore, the optimization process can be regarded as screening the model with the best parameter combination from multiple models. Usually, the input of the model mainly includes optical settings and some photoresist algorithm parameters, among which the layout data is used to provide training data, and the optimal solution of the algorithm is sought to make the fitting data closer to the training data, making the results more accurate. In other words, during the optimization process, the optimal solution of the algorithm is sought to make the fitting data closer to the training data, making the results more accurate.

[0050] As mentioned above, in the traditional method, the loss function value is calculated in each iteration. In some embodiments, the loss function value can be calculated in an initial predetermined number of iterations (for example, the first time). In addition, a predetermined number of historical optimal models can be determined in the following manner: a predetermined number of minimum loss function values are selected from the loss function values of each optical proximity correction model; and the model corresponding to the predetermined number of minimum loss function values is determined as the historical optimal model. For example, three models with the smallest loss function values are selected as the historical optimal model. As mentioned above, the loss function value is the weighted sum of the first loss function value and the second loss function value. It should be understood that in the embodiment here, the minimum loss function is used as the basis for determining the historical optimal model. The embodiments of the present disclosure are not limited to this, and other judgment bases can be adopted according to actual needs, such as adopting other methods commonly used in the industry.

[0051] If the predetermined number of times is two or more, a predetermined number (e.g., three) of historically optimal models may be determined in each iteration. For example, three historically optimal models are determined in the first iteration, and in the second iteration, the loss function of each model is compared with the loss function of the historically optimal model determined in the first iteration to determine whether to update the historically optimal model (the specific method will be described later). In other words, in this embodiment, after each round of iteration, it is determined whether the previous historically optimal model is still optimal, and if not, it is updated. The number of historically optimal models remains unchanged during the iteration process.

[0052] See below Figure 3 , Figure 3 A schematic diagram of measurement points and simulation areas of a graphic according to some embodiments of the present disclosure is shown. Figure 3 The three boxes 304 represent different simulation domains. The pattern 302 is the graphic to be simulated. The first line 306 and the second line 307 are used to determine the position of the measurement points. Specifically, the intersection of the first line 306 and the second line 307 with the edge of the graphic 302 is the measurement point 308. The distance between the two intersections of the first line 306 and the edge of the graphic 302, that is, the distance between the two measurement points 308, is a critical dimension (CD). Similarly, the distance between the two intersections of the second line 307 and the edge of the graphic 302, that is, the distance between the two measurement points 308, is also a CD. Using different measurement points to measure the graphic is intended to obtain more accurate results. Even the same measurement points need to be refitted in different simulation domains. The measurement points are mainly placed at the critical dimensions that the user is concerned about, such as the critical line width. The different simulation domains are determined by the optical model parameters.

[0053] During the modeling process, we hope to build a stable model. Slight changes in the simulation area will also cause changes in the signal values at the measurement points. Therefore, we hope to keep these changes within a small, controllable range. This is the significance of calculating SV.

[0054] In some embodiments of the present disclosure, SVs in each iteration of the modeling process are processed differently, as described in detail below.

[0055] As mentioned above, multiple models are generated during each iteration. In some embodiments, during the OPC modeling process, during an initial predetermined number of iterations, such as the first iteration, the SVs of all measurement points for each model are calculated. In other words, the SVs of the measurement points are calculated for each model. Furthermore, the maximum SV among all the calculated SVs of the measurement points is used as the SV of the model.

[0056] In some embodiments, the first loss function value and the second loss function value (i.e., SV value) are determined for all measurement points of each model. The maximum second loss function value determined is used as the second loss function value of the model, and the measurement point corresponding to the second loss function value of the model is inherited to the next iteration, so that the second loss function value of each model is still determined for the measurement point in the next iteration.

[0057] In some embodiments, during the iteration process, the first loss function value, the second loss function value (SV) value, and the measurement point number corresponding to the SV value of each OPC model may be recorded.

[0058] In some embodiments of the present disclosure, the loss function can be expressed as follows:

[0059] Cost=cd_error_cost*cd_error_weight+shift_variance*shift_variance_weight.

[0060] Cost represents the loss function, cd_error_cost is the first loss function, and shift_variance is the second loss function; cd_error_weight is the weight coefficient of the first loss function, and shift variance_weight is the weight coefficient of the second loss function. The value range of the weight coefficient of the first loss function and the weight coefficient of the second loss function are both [0,1].

[0061] For example, when using the loss function to optimize the OPC model, the following equation can be used:

[0062]

[0063] Where cd_error_cost represents the first loss function; simulation_CDj represents the simulation result of the test pattern; wafer_CDj represents the measurement result of the test pattern on the wafer; n is the number of test patterns, and j represents the jth pattern.

[0064] In some embodiments, several, for example, three, OPC models with the lowest loss function values may be recorded and used as the best historical model. It should be understood that the number of "three" mentioned here is illustrative and can vary based on actual needs. For example, it can be four, five, ten, etc. This number can be adjusted based on actual needs.

[0065] In some embodiments, the measurement point corresponding to the maximum SV of each OPC model can be inherited to the next generation. Inheriting the measurement point to the next generation means that during the next iteration, the first loss function for the inherited measurement point is still calculated for each model, and the SV value is determined as needed.

[0066] During the iteration process, the current first loss function value of each model is usually determined. The determined current first loss function value can be compared with the loss function value of the historical optimal model.

[0067] As previously mentioned, whether to calculate the SV value can be determined as needed. The loss function value corresponding to the current model is calculated in the current iteration. The first loss function value can be calculated for each model. Whether to calculate the SV value is determined based on the value of the first loss function calculated at this time.

[0068] In some embodiments, when the first loss function value of a model is greater than the loss function value of a historical optimal model, the second loss function value of the corresponding model is no longer calculated; and when the first loss function value of a model is not greater than the loss function value of a historical optimal model, the second loss function value of the corresponding model is calculated.

[0069] In some embodiments, as described above, in subsequent iterations, such as the nth generation (n=2, 3, ...) iteration, before calculating SV, the loss function value corresponding to the current model is compared with the loss function values corresponding to the three best historical models. If the loss function of the current model is greater than the loss function values of the three best historical models, it means that the model does not meet expectations and SV is no longer calculated. This can save calculation time and improve calculation efficiency, thereby achieving the purpose of accelerating the modeling process. At this time, the model can be directly discarded; conversely, it can be considered that the loss function value of the model is expected to (possibly) be lower than the loss function value of the historical optimal model, so SV needs to be calculated.

[0070] It should be noted that, regardless of which model, the weight coefficients cd_error_weight and shift_variance_weight remain unchanged. The historical minimum loss function value is multiplied by cd_error_weight, and the first loss function of the current model before calculating SV is also multiplied by the weight system, i.e. cd_error_cost*cd_error_weight, so the two (the current first loss function value and the historical minimum loss function value) can be compared. That is to say, in some embodiments of the present disclosure, the current first loss function value is compared with the historical minimum loss function value, wherein the first loss function value being compared is also multiplied by the corresponding weight coefficient. Therefore, when it is determined that the current first loss function value of a certain model is greater than the loss function value of the historical optimal model, it can be determined that the first loss function value of the model must be greater than the loss function value of the historical optimal model, because the loss function value of the model is equal to the weighted sum of the first loss function value and the SV value. If the weighted sum is not calculated, it is greater than the loss function value of the historical optimal model, then it must be greater than the loss function value of the historical optimal model when the weighted sum is calculated. This indicates that the model does not meet expectations, and its SV value is no longer calculated. In other words, the model is directly discarded to speed up the calculation process.

[0071] In some embodiments, a portion of the measurement points may be selected from the plurality of measurement points based on a predetermined rule, and the second loss function value of the corresponding model is determined for each of the selected measurement points. In other words, the second loss function value of the model is determined for a portion of the measurement points, not for all of the measurement points.

[0072] In some embodiments, the measurement points selected based on a predetermined rule may include the measurement points corresponding to the maximum second loss function value for each model in the previous iteration of each subsequent iteration. That is, the measurement points inherited from the previous iteration. This significantly reduces computational complexity and avoids the risk of falling into a local optimum.

[0073] In some embodiments, each measurement point may be numbered. The measurement points are typically numbered sequentially, for example, from 1 to M, where M is a positive integer. The measurement points selected based on a predetermined rule may include a portion of the measurement points selected from all measurement points based on predetermined numbers. Measurement points may be selected from the numbered measurement points based on actual needs and in accordance with a specified rule.

[0074] In some embodiments, the portion of measurement points selected from all measurement points based on predetermined numbers is selected by setting the numbers of all measurement points (e.g., 1 to M) and the selection interval (e.g., 10); taking the remainder of the selection interval (indicated by the symbol %) using the numbers of each measurement point; and selecting the measurement point in the current iteration based on the remainder. It should be understood that the numbers and intervals herein are merely illustrative and may be varied as needed.

[0075] In some embodiments, selecting the measurement point in the current iteration based on the remainder result may include selecting the measurement point corresponding to the remainder result and the iteration round as the measurement point for the current round, as further described below.

[0076] In some embodiments, the portion of measurement points selected from all measurement points based on a predetermined number is selected in the following manner: in a first round of a subsequent iteration, a predetermined number of measurement points are randomly selected from all measurement points as measurement points for the current iteration; and in each iteration after the first round of the subsequent iteration, a predetermined number of measurement points are randomly selected from the remaining measurement points as measurement points for the corresponding iteration. That is, in each iteration, a predetermined number of measurement points are randomly selected from the previously unselected measurement points for use in calculating the SV value of the model.

[0077] In some embodiments, all measurement points are selected at least once in each iteration. After all measurement points are selected, the previous method can be repeated in subsequent iterations.

[0078] In some embodiments, the plurality of measurement points are divided into a plurality of groups; and in each round of iteration, the second loss function of each model is determined for each group of measurement points.

[0079] In some embodiments, the SV value in the current iteration may be calculated using the measurement point corresponding to the maximum SV value in the previous iteration, as further described below.

[0080] As mentioned above, in some embodiments, all measurement points are no longer used to calculate SV. In some embodiments, the measurement points used to calculate SV can be selected from one of the following, or a combination of the two:

[0081] (1) The measurement point corresponding to the SV inherited from the previous round;

[0082] (2) The measurement points selected in the current round (selection rules are as follows). For the measurement points selected in the current round, the selection interval can be set.

[0083] The remainder mentioned above can be achieved as follows:

[0084] Determine whether the measurement point number % interval is equal to the current generation (n) % interval, that is, use the measurement point number to find the remainder of the interval. In other words, determine whether A (measurement point number % interval) and B (current generation (n) % interval) are equal. Interval refers to the interval of the measurement point numbers; in addition, the numbers are incremented in sequence. If the remainder is equal to the current iteration number, the measurement point is selected. For example, the current iteration is the second, the interval is 10, and the remainder is 2, that is, the corresponding numbers are 12, 22, 32, 42, and so on. The measurement points with these numbers are selected as the measurement points in this iteration. In other words, only some measurement points are selected in each iteration, and interval is used to select measurement points.

[0085] For the above embodiment, specifically, the interval can be set as follows:

[0086] Set interval to 10;

[0087] If it is the second iteration: the measurement points selected by the remainder are numbered {2, 12, 22, ...}

[0088] If it is the third iteration: the measurement points selected by the remainder calculation are numbered {3, 13, 23, ...}...

[0089] After every 10 rounds, all measurement points are guaranteed to be selected once.

[0090] Furthermore, in some embodiments, random and non-repeated selection can be employed, with the selected measurement points recorded each time. The next iteration then selects from unselected measurement points until N generations of selection are complete. This can speed up the calculation process. The value range of N can be set based on actual needs, and N can be greater than 1, for example, 5, 10, 20, 100, and so on.

[0091] It should be understood that the correspondence between the remainder result and the number of iterations, the number of iterations, etc. mentioned here are all illustrative and can be changed according to actual needs.

[0092] As mentioned in the above embodiments, SV calculation no longer uses all measurement points. Instead, the measurement points used can be the measurement points corresponding to the SV inherited from the previous round, the measurement points selected in the current round, or a combination of the two. It should be noted that combining the two is a preferred approach in the disclosed embodiments, as it can both accelerate the calculation process and avoid falling into local optimal solutions.

[0093] At block 204 , an updated model is determined based on a comparison of a current loss function value determined by a current first loss function value and a current second loss function value of each model in each iteration with a loss function value of a historical optimal model.

[0094] In some embodiments, the updated model may be an updated historical optimal model. In some embodiments, the updated model may be an optimal model ultimately selected from the historical optimal models.

[0095] In some embodiments, after each model calculates the loss function, it is necessary to update the parameters of the first loss function, the second loss function (SV), the maximum SV, etc., as follows:

[0096] (1) Use the maximum SV of the measurement point in the model as the SV of the model;

[0097] (2) Record the loss function, SV value, and the measurement point number corresponding to the maximum SV of each model;

[0098] (3) Determine whether the loss function of the current model is less than the three historical minimum loss functions. If so, replace and update the historical minimum loss function and model:

[0099] (4) The measurement point corresponding to the maximum SV of each model is inherited to the next generation.

[0100] In the above embodiment, all measurement points are used to calculate the SV during the first iteration. After the first iteration, for example, starting from the second generation, all measurement points are no longer used in the SV calculation process. Furthermore, depending on the actual situation, it may not be necessary to calculate all models. It should be understood that the embodiments of the present disclosure are not limited to this and can be modified in various ways according to actual needs. For example, the operation method during the first iteration can be extended to a predetermined number of previous iterations, such as the first two, three, or four iterations.

[0101] In some embodiments, the iteration end time can be set by the user, or it can be stopped when the loss function value is lower than a predetermined threshold.

[0102] In some embodiments, if the iterations meet predetermined conditions, the updated model, i.e., the model with the smallest loss function value among the historical optimal models, is determined as the optimal model. The predetermined conditions include at least one of the following: the difference in loss function values between two iterations is less than a predetermined threshold; the absolute value of the ratio of the loss function values between two iterations is greater than a predetermined threshold; or the number of iterations or the duration reaches a predetermined threshold.

[0103] In some embodiments of the present disclosure, except for the initial predetermined number of iterations, such as the first iteration, not all measurement points are measured in each iteration, which may lead to the risk of falling into a local optimum. This problem can be effectively solved by inheriting the measurement point corresponding to the maximum SV in the previous round.

[0104] Traditional solutions do not compare the current model's loss function value with the loss function value of the best historical model before determining whether to calculate SV for the current model. Instead, they calculate SV for each model. This means that traditional solutions calculate SV for each model, resulting in high computational complexity and low efficiency.

[0105] In some embodiments of the present disclosure, the loss function value of the current model is first compared to the loss function value of the best historical model. Based on the judgment result, it is determined whether to calculate the SV for the current model. In an iteration, the first loss function value is calculated for each model, and the SV calculation is performed later. If the previously calculated first loss function value is larger, the SV calculation is not required.

[0106] In some embodiments of the present disclosure, in addition to selecting a subset of measurement points for each iteration, measurement points with larger SVs from the current iteration are also selected for participation in the next iteration. This selection of measurement points with larger SVs in successive iterations accelerates the process. The model is different during each iteration, and the loss function is used to evaluate the model. Therefore, as the number of iterations increases, the model's loss function value gradually decreases, resulting in a more optimized model.

[0107] In some embodiments of the present disclosure, no matter in which iteration, as long as the loss function of the model is calculated, the corresponding parameters will be updated.

[0108] In some embodiments, in response to determining that the loss function value is less than the loss function value of the historical optimal model in each round of iteration, the corresponding model is determined as the historical optimal model.

[0109] Figure 4 A schematic diagram showing a comparison between the loss function value of the method according to an embodiment of the present disclosure and the loss function value of the traditional method is shown.

[0110] In some embodiments, starting from the second round, the time to calculate SV is reduced by 70% or more.

[0111] In the first round of iteration, all measurement points are calculated, and the interval is 1 at this time; the second round of iteration begins, and the interval is selected, and the interval is 10 at this time.

[0112] Figure 4 The two loss function values shown in the figure are the loss function values of the traditional method in the upper row and the loss function values of the method in the lower row in some embodiments of the present disclosure. Figure 4It can be seen that the difference between the loss functions of the two is not much, but there is a big improvement in time.

[0113] This disclosure primarily relates to a model optimization process, which determines the optimal parameters of a model so that the model's simulation results are closer to the true values (training data). Specifically, this disclosure relates to SV calculations during the optimization iteration process, which can accelerate computational efficiency. The optimized model can be used for simulations, where a set of inputs yields a set of outputs.

[0114] Some embodiments of the present disclosure provide methods for optimizing an optical proximity correction model. It should be noted that the examples given in the above embodiments are only for illustrating the solutions of the embodiments of the present disclosure and are not intended to limit the solutions of the present disclosure.

[0115] It should be understood that the embodiments shown in the drawings are only for schematically illustrating some embodiments of the present disclosure and are not intended to limit the present disclosure. The embodiments of the present disclosure may also have various other forms.

[0116] An electronic device is also disclosed in an embodiment of the present disclosure. The electronic device includes: a processor; and a memory coupled to the processor, the memory having instructions stored therein, and when the instructions are executed by the processor, the device performs an action, the action including: in subsequent iterations after a predetermined number of iterations, based on the comparison of the current first loss function value of each model with the loss function values of a predetermined number of historical optimal models, determining the current second loss function value of each model whose loss function value is expected to be lower than the loss function value of the historical optimal model for measurement points selected based on predetermined rules, wherein the loss function value is related to a first loss function value indicating the difference between the simulation value and the target value of the critical dimension and a second loss function value indicating the difference between the simulation values of the critical dimension for different sampling points; and determining an updated model based on the comparison of the current loss function value of each model determined by the current first loss function value and the current second loss function value with the loss function value of the historical optimal model in each round of iteration.

[0117] An embodiment of the present disclosure further discloses a computer-readable storage medium having a computer program stored thereon. When the program is executed by a processor, the method for optimizing the optical proximity correction model according to the embodiment of the present disclosure is implemented.

[0118] Figure 5Schematic block diagrams of electronic devices according to some exemplary embodiments of the present disclosure are shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0119] like Figure 5 As shown, the device 500 includes a CPU 501, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 502 or a computer program loaded from a storage unit 508 into a random access memory (RAM) 503. Various programs and data required for the operation of the device 500 can also be stored in the RAM 503. The CPU 501, ROM 502, and RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0120] Multiple components in device 500 are connected to I / O interface 505, including an input unit 506, such as a keyboard, mouse, etc.; an output unit 507, such as various types of displays, speakers, etc.; a storage unit 508, such as a magnetic disk, optical disk, etc.; and a communication unit 509, such as a network card, modem, wireless communication transceiver, etc. The communication unit 509 allows device 500 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0121] The various processes and processing described above, such as method 200, can be executed by CPU 501. For example, in some embodiments, method 200 can be implemented as a computer software program that is tangibly contained in a machine-readable medium, such as storage unit 508. In some embodiments, part or all of the computer program can be loaded and / or installed on device 500 via ROM 502 and / or communication unit 509. When the computer program is loaded into RAM 503 and executed by CPU 501, one or more steps in method 200 described above can be performed.

[0122] The solutions according to the embodiments of the present disclosure may be methods, devices, systems, and / or computer program products. The computer program product may include a computer-readable storage medium on which computer-readable program instructions for executing various aspects of the present disclosure are loaded. The computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. The computer-readable program instructions may be downloaded from the computer-readable storage medium to various computing / processing devices, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network.

[0123] Various embodiments of the present disclosure have been described above. The above descriptions are exemplary and are only optional embodiments of the present disclosure. They are not exhaustive and are not intended to limit the present disclosure. Although the claims in this application have been formulated for specific combinations of features, it should be understood that the scope of the present disclosure also includes any novel feature or any novel combination of features disclosed herein, whether explicitly or implicitly or in any generalization thereof, regardless of whether it relates to the same scheme in any claim currently claimed. It should be understood that new claims may be formulated to these features and / or combinations of these features during the examination of this application or in any further application derived therefrom.

[0124] The terminology used herein is selected to best explain the principles of the various embodiments, their practical applications, or technological improvements in the marketplace, or to enable others skilled in the art to understand the various embodiments disclosed herein. Various modifications and variations are readily apparent to those skilled in the art. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of this disclosure are intended to be included within the scope of protection of this disclosure.

Claims

1. A method for optimizing an optical proximity correction model, comprising: determining, in subsequent iterations after the predetermined number of iterations, a current second loss function value of a model whose loss function value is expected to be lower than the loss function value of the historical optimal model for each measurement point selected based on a predetermined rule, based on a comparison of the current first loss function value of each model with the loss function values of a predetermined number of historical optimal models, wherein the loss function value is related to a first loss function value indicating a difference between a simulation value and a target value of a critical dimension and a second loss function value indicating a difference between simulation values of the critical dimension for different sampling points; and The updated model is determined based on the comparison of the current loss function value of each model determined by the current first loss function value and the current second loss function value with the loss function value of the historical optimal model in each round of iteration.

2. The method according to claim 1, wherein the predetermined number of historical optimal models is determined in a predetermined number of iterations by: Selecting a predetermined number of minimum loss function values from the loss function values of the respective optical proximity correction models; and The model corresponding to the predetermined number of minimum loss function values is determined as the updated model.

3. The method according to claim 1, wherein the measurement points selected based on a predetermined rule include at least one of the following: The measurement point corresponding to the maximum second loss function value of each model in the previous iteration of each iteration in the subsequent iterations; and A portion of measurement points selected from all measurement points based on a predetermined number.

4. The method according to claim 3, wherein the part of the measurement points selected from all the measurement points based on the predetermined numbers are selected by: Set the number and selection interval of all measurement points; Modulo the selected interval using the numbers of the respective measurement points; and The measurement point in the current iteration is selected based on the result of the remainder.

5. The method according to claim 4, wherein selecting the measurement point in the current iteration based on the result of the remainder comprises: The measurement point corresponding to the remainder result and the iteration round is selected as the measurement point of the current round.

6. The method according to claim 3, wherein the part of the measurement points selected from all the measurement points based on the predetermined numbers are selected by: In a first iteration of the subsequent iterations, randomly selecting a predetermined number of measurement points from all measurement points as measurement points for a current iteration; and In each iteration after the first round of iteration in the subsequent iterations, the predetermined number of measurement points are randomly selected from the remaining measurement points as measurement points in the corresponding iteration.

7. The method according to claim 3, wherein the measurement point corresponding to the maximum second loss function value of each model in the previous iteration is determined by: Determining a second loss function value based on the measurement points used for each model in the previous iteration; and The measurement point corresponding to the maximum second loss function value of each model determined is inherited to the next iteration, so that the second loss function value of each model is determined for the inherited measurement point during the next iteration.

8. The method according to claim 1, wherein determining the current second loss function value of the model whose loss function value is expected to be lower than the loss function value of the historical optimal model for the measurement points selected based on a predetermined rule comprises: In response to the first loss function value of the model being greater than the loss function value of the historical optimal model, no longer calculating the second loss function value of the corresponding model; as well as In response to the first loss function value of the model being no greater than the loss function value of the historical optimal model, a second loss function value of the corresponding model is calculated.

9. The method according to claim 1, wherein: In response to determining that the loss function value is less than the loss function value of the historical optimal model in each round of iteration, the corresponding model is determined as the historical optimal model.

10. The method according to claim 1, wherein the loss function value is related to the first loss function value and the second loss function value by the following formula: Cost=cd_error_cost*cd_error_weight+shift_variance*shift variance_weight; Where Cost represents the loss function, cd_error_cost is the first loss function, shift_variance is the second loss function, cd_error_weight is the weight coefficient of the first loss function, shift variance_weight is the weight coefficient of the second loss function, and the value range of the weight coefficient of the first loss function and the weight coefficient of the second loss function are both [0,1].

11. The method according to any one of claims 1 to 10, further comprising: In response to the iteration satisfying a predetermined condition, the model with the smallest loss function value among the updated models is determined as the optimal model.

12. The method according to claim 11, wherein the predetermined condition comprises at least one of the following conditions: The difference between the loss function values of two previous and subsequent iterations is less than a predetermined threshold; The absolute value of the ratio of the loss function values of two previous and subsequent iterations is greater than a predetermined threshold; or The number of iterations or time reaches a predetermined threshold.

13. An optical proximity correction model generated according to the method of any one of claims 1 to 12.

14. A method for performing optical proximity correction using the optical proximity correction model according to claim 13.

15. An electronic device comprising: processor; as well as A memory coupled to the processor, the memory having instructions stored therein, which, when executed by the processor, cause the device to perform actions, the actions comprising: determining, in subsequent iterations after the predetermined number of iterations, a current second loss function value of a model whose loss function value is expected to be lower than the loss function value of the historical optimal model for each measurement point selected based on a predetermined rule, based on a comparison of the current first loss function value of each model with the loss function values of a predetermined number of historical optimal models, wherein the loss function value is related to the first loss function value indicating the difference between the simulation value and the target value of the critical dimension and the second loss function value indicating the difference between the simulation values of the critical dimension for different sampling points; and The updated model is determined based on the comparison of the current loss function value of each model determined by the current first loss function value and the current second loss function value with the loss function value of the historical optimal model in each round of iteration. 16 . A computer-readable storage medium having machine-executable instructions stored thereon, wherein when the machine-executable instructions are executed by a processor, the processor is caused to implement the method according to claim 1 .

Citation Information

Cited By

  • Method for training optical proximity correction model and electronic equipment

    CN122287393A