Mask pattern correction method and device, medium and product

By screening and simulating the seed edges and unsearched edges of the mask pattern, the optical proximity effect correction technology is optimized, which solves the problem of deviation accumulation in OPC correction and improves the accuracy and efficiency of lithographic imaging.

CN119148463APending Publication Date: 2024-12-17SHENZHEN JINGYUAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411549188.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-31
Publication Date
2024-12-17

AI Technical Summary

Technical Problem

The existing optical proximity effect correction (OPC) technology is difficult to accurately match the expected targets when correcting mask patterns due to the interweaving of complex factors when correcting mask patterns, resulting in difficult results after each round of corrections, introducing new deviations, and cumulative problems limiting OPC corrections. accuracy.

Method used

By obtaining the initial mask pattern, filter out seed edges with significant impact, expand the search and calculate the correction amount of seed edges adjacent to evaluation points and corresponding graph edges, ensuring that each round of correction captures complex interactions, and not searched through comprehensive simulation calculations The correction amount of the graph edges is optimized to reduce deviation accumulation.

Benefits of technology

It significantly improves the accuracy of OPC correction, reduces the deviation after each round of correction, avoids the cumulative effect of deviation, and improves the accuracy and efficiency of lithographic imaging.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119148463A_ABST
    Figure CN119148463A_ABST
Patent Text Reader

Abstract

The invention provides a mask pattern correction method and device, a medium and a product. The mask pattern correction method comprises the steps of obtaining a first mask pattern obtained by carrying out Tth iteration correction on an initial mask pattern; according to the first simulation pattern contour of the first mask pattern and a plurality of preset evaluation points, at least one seed edge is screened out from a plurality of pattern edges of the first mask pattern, the plurality of preset evaluation points are arranged on an ideal pattern contour corresponding to the first mask pattern, and one preset evaluation point corresponds to one pattern edge of the first mask pattern; then, taking the seed edge as a center, searching and simulating an adjacent graph edge of the seed edge, and obtaining a first correction amount; performing simulation on the graph edge which is not directly searched to obtain a second correction value; and the mask pattern is updated to the (T + 1) th iteration by integrating the two types of correction values. And repeating the process until a convergence condition is met, and finally outputting a high-precision mask pattern. According to the embodiment of the invention, the accuracy of OPC correction can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of semiconductor technology, and in particular to a method, device, medium and product for correcting a mask pattern. Background Art

[0002] With the rapid development of integrated circuit manufacturing technology, the continuous reduction of key dimensions has put forward higher requirements for the accuracy of lithography imaging. However, current lithography technology is unable to cope with this challenge, especially when dealing with extremely fine structures. The imaging results are often disturbed by various physical effects, causing the graphics to deform, which in turn affects the final performance of the circuit. In this context, resolution enhancement technology (RET), especially optical proximity correction (OPC), has become the key. However, when correcting mask graphics, the existing OPC correction method, due to the interweaving of multiple complex factors, makes it difficult for the results after each round of correction to accurately match the expected target, resulting in deviations that cannot be ignored. These changes may introduce new deviations in each round of correction process. This deviation gradually accumulates during multiple iterations, ultimately limiting the accuracy of OPC correction. Summary of the invention

[0003] The present application provides a method, device, medium and product for correcting a mask pattern, which can improve the accuracy of OPC correction.

[0004] In a first aspect, an embodiment of the present application provides a method for correcting a mask pattern, the method comprising:

[0005] Obtaining a first mask pattern obtained by modifying the initial mask pattern after the Tth iteration, where T is a positive integer;

[0006] According to a first simulated graphic contour of the first mask graphic and a plurality of preset evaluation points, at least one seed edge is selected from a plurality of graphic edges of the first mask graphic, wherein the plurality of preset evaluation points are set on an ideal graphic contour corresponding to the first mask graphic, and one preset evaluation point corresponds to one graphic edge of the first mask graphic;

[0007] Taking the target seed edge as a reference, searching for M evaluation points within a preset search range of the target seed edge and N graphic edges corresponding to the M evaluation points; and performing simulation calculations on the N graphic edges respectively to obtain first correction amounts respectively corresponding to the N graphic edges, wherein the target seed edge is any one of the at least one seed edge, the plurality of preset evaluation points include the M evaluation points, the plurality of graphic edges include the N graphic edges, and M and N are positive integers;

[0008] When all seed edges are searched, if there is at least one first graphic edge that has not been searched among the multiple graphic edges of the first mask graphic, simulation calculation is performed on the at least one first graphic edge to obtain a second correction amount corresponding to each first graphic edge;

[0009] Correcting the first mask pattern according to the first correction amount and the second correction amount to obtain a second mask pattern obtained by iteratively correcting the initial mask pattern for the T+1th time;

[0010] When the second mask pattern meets the preset convergence condition, the second mask pattern is output.

[0011] In a second aspect, the present application provides a device for correcting a mask pattern, the device comprising:

[0012] An acquisition module, used for acquiring a first mask pattern obtained by correcting the initial mask pattern after the Tth iteration, wherein T is a positive integer;

[0013] a screening module, configured to screen out at least one seed edge from multiple graphic edges of the first mask graphic according to a first simulated graphic contour of the first mask graphic and a plurality of preset evaluation points, wherein the plurality of preset evaluation points are set on an ideal graphic contour corresponding to the first mask graphic, and one preset evaluation point corresponds to one graphic edge of the first mask graphic;

[0014] A first determination module is used to search for M evaluation points within a preset search range of the target seed edge and N graphic edges corresponding to the M evaluation points based on the target seed edge; and to perform simulation calculations on the N graphic edges respectively to obtain first correction amounts corresponding to the N graphic edges respectively, wherein the target seed edge is any one of the at least one seed edge, the multiple preset evaluation points include the M evaluation points, the multiple graphic edges include the N graphic edges, and M and N are positive integers;

[0015] A second determination module is configured to, when all seed edges are searched, perform simulation calculations on the at least one first graphic edge respectively if there is at least one first graphic edge that has not been searched among the multiple graphic edges of the first mask graphic, to obtain a second correction amount corresponding to each first graphic edge;

[0016] A correction module, used for correcting the first mask pattern according to the first correction amount and the second correction amount to obtain a second mask pattern obtained by iteratively correcting the initial mask pattern for the T+1th time;

[0017] An output module is used to output the second mask pattern when the second mask pattern meets a preset convergence condition.

[0018] In a third aspect, an embodiment of the present application provides an electronic device, the electronic device comprising: a processor and a memory storing computer program instructions;

[0019] When the processor executes the computer program instructions, the method for correcting the mask pattern in any one of the embodiments of the first aspect is implemented.

[0020] In a fourth aspect, an embodiment of the present application provides a computer storage medium having computer program instructions stored thereon, and when the computer program instructions are executed by a processor, a method for correcting a mask pattern as in any one of the embodiments in the first aspect is implemented.

[0021] In a fifth aspect, an embodiment of the present application provides a computer program product. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes a method for correcting a mask pattern as in any one of the embodiments of the first aspect described above.

[0022] In a method, device, medium and product for mask graphic correction provided in an embodiment of the present application, in each iterative correction, the seed edge with significant influence is firstly accurately screened out based on the first simulated graphic contour of the first mask graphic of the current iterative correction round. Subsequently, with the seed edge as the center, the first OPC correction amount of the adjacent evaluation point of the seed edge and the corresponding graphic edge is expanded to be searched and calculated, thereby directly linking the additional influence of the adjacent edge, ensuring that each round of correction can accurately capture and compensate for the complex interactions between graphics, thereby improving the accuracy of OPC correction. Subsequently, for the graphic edges that are not directly searched, the second correction amount of these unsearched graphic edges is also calculated through comprehensive simulation to ensure that the overall graphic is optimized without omission. Through this cyclic iterative correction process, not only the deviation after each round of correction is effectively reduced, but also the cumulative effect of the deviation is avoided, thereby significantly improving the accuracy of OPC correction. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0024] Figure 1 It is a schematic diagram of the principle of the mutual influence effect between adjacent edges in the OPC optimization process provided by an embodiment of the present application;

[0025] Figure 2 This is one of the flowcharts of a method for correcting a mask pattern provided by an embodiment of the present application;

[0026] Figure 3This is one of the flowcharts of a method for correcting a mask pattern provided by an embodiment of the present application;

[0027] Figure 4 It is a structural schematic diagram of a mask pattern correction device provided in an embodiment of the present application;

[0028] Figure 5 It is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0029] In order to more clearly understand the above-mentioned objectives, features and advantages of the present disclosure, the scheme of the present disclosure will be further described below. It should be noted that the embodiments of the present disclosure and the features in the embodiments can be combined with each other without conflict.

[0030] In the following description, many specific details are set forth to facilitate a full understanding of the present disclosure, but the present disclosure may also be implemented in other ways different from those described herein; it is obvious that the embodiments in the specification are only part of the embodiments of the present disclosure, rather than all of the embodiments.

[0031] It should be noted that, in this article, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the term "comprising" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprising a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0032] As the critical dimensions of integrated circuits continue to shrink, directly making the design layout into a mask and exposing it on a silicon wafer will result in serious deformation of the imaging result, resulting in the failure to realize the designed circuit function. At the same time, the performance of the lithography machine has encountered a bottleneck in improvement. Therefore, resolution enhancement technology that can improve the imaging capability of the lithography system has become a key research field in the industry.

[0033] Among various RET technical means, optical proximity correction is a very important technology. This technology can strictly or approximately simulate the optical proximity effect through a physical model, and then make precise graphic adjustments to the design layout based on the simulation results, and finally obtain a corrected mask whose imaging effect on the silicon wafer meets the design requirements. Due to the extremely complex physical and chemical effects in the etching process, OPC optimization usually requires many rounds of iterations to approach the optimal solution, so calculation accuracy and convergence speed are two critical indicators in the optimization algorithm.

[0034] OPC optimization algorithms can be roughly divided into two categories. One is the global optimization algorithm that fully considers the geometric information of the layout, and gradually converges to the global optimal solution through solving algorithms such as the gradient descent method. The disadvantage is that the algorithm requires a lot of computing and time resources. The other is the local optimization algorithm that only considers the impact of a specific set of edges in the modified layout on the imaging results each time. The advantage of this type of algorithm is fast calculation speed and can be flexibly combined with the global optimization algorithm according to needs. The disadvantage is that the accuracy is lacking.

[0035] The general process of the existing OPC optimization technology using local optimization algorithm is as follows:

[0036] Step 1: interrupt the edges of the original design graphics, increase the number of mask graphics edges, and improve the number of variables and precision of OPC optimization; Step 2: place evaluation points on the edges of the original design graphics to quantitatively evaluate the quality of the OPC optimization results. The distance that the contour of the imaging graphics deviates from the evaluation point is called the edge placement error. Error, EPE), the closer the overall level of EPE is to zero, the closer the imaging pattern is to the original design pattern; Step 3: The OPC optimization algorithm calculates the OPC correction amount of each edge of the mask pattern according to the current mask pattern and physical model. The OPC correction amount of an edge is only determined by a number of evaluation points associated with this edge. The goal is to make the EPE at the associated evaluation points as close to zero as possible; Step 4: Apply the correction amount to modify the mask pattern, that is, complete a round of OPC optimization. The OPC optimization algorithm then updates the EPE value of each evaluation point according to the optimized mask pattern and physical model; Step 5: Check whether the termination condition of the OPC optimization algorithm has been reached according to the updated EPE value. The termination condition is usually that the absolute value of EPE is all less than the set threshold, or whether the maximum optimization round has been reached. If both are no, repeat steps 3 to 5; Step 6: Output the final OPC optimized mask pattern.

[0037] One of the main drawbacks of the existing OPC optimization technology using local optimization algorithms is that it cannot comprehensively consider the additional impact of the movement of the adjacent edges on the EPE at the evaluation point when moving an edge of the mask pattern. Figure 1 shown.

[0038] This shortcoming will cause the simulation results obtained based on the physical model to deviate greatly from the predicted results before correction after the optimization algorithm performs a round of mask correction, resulting in insufficient accuracy of the optimization algorithm, and thus requiring more optimization rounds and computing resources to achieve ideal results.

[0039] On the other hand, when calculating the correction amount of an edge of the mask pattern, the local optimization algorithm needs to use the EPE results before and after moving the edge as necessary input information, and then solve the accurate correction amount through algorithms such as interpolation. During the execution of the OPC optimization algorithm, the simulation calculation based on the physical model is very time-consuming. Therefore, another disadvantage of the existing OPC optimization algorithm is that the more the calculation accuracy of a single edge is pursued, the greater the overall simulation calculation resource overhead of the algorithm, thereby reducing the advantage of the local optimization algorithm over the global optimization algorithm.

[0040] In summary, although the existing OPC technology of local optimization algorithm has made contributions to improving the optimization precision of mask graphics, it has obvious deficiencies in dealing with complex interactions between adjacent edges and balancing calculation accuracy and resource consumption. This not only affects the optimization efficiency and accuracy of the algorithm, but also increases the difficulty of achieving high-precision lithography imaging.

[0041] In order to solve the problems existing in the prior art, the embodiments of the present application provide a method, device, medium and product for correcting a mask pattern.

[0042] The present application embodiment provides a method, device, medium and product for correcting a mask pattern. The following first introduces the method for correcting a mask pattern provided by the present application embodiment. Figure 2 As shown, the method specifically comprises the following steps:

[0043] S100, obtaining a first mask pattern obtained by modifying an initial mask pattern after the Tth iteration, where T is a positive integer.

[0044] Optionally, in the embodiment of the present application, the first mask pattern refers to the mask pattern used as the starting point of optimization correction when performing the current iteration (ie, the Tth iteration).

[0045] Optionally, in a feasible implementation of the present application, the present application can use iterative optical proximity correction (OPC) technology to continuously adjust and optimize the mask pattern. In this process, each iterative correction is based on the result of the previous iterative correction, and the mask pattern is slightly adjusted after calculation and analysis. Therefore, in S100, it is first necessary to determine which iteration cycle (T) is currently in, where T is a positive integer greater than 0, which represents the number of times the iterative correction is performed. Next, locate the first mask pattern data generated by the Tth iterative correction.

[0046] Optionally, the initial mask pattern is the starting point of the iterative correction process, and the initial mask pattern represents an uncorrected or only preliminarily designed mask pattern. The initial mask pattern contains some features that do not meet the design requirements, such as inaccurate shape, size deviation, etc., which need to be optimized through subsequent iterative correction steps.

[0047] S200, based on the first simulated graphic contour of the first mask graphic and multiple preset evaluation points, at least one seed edge is screened out from the multiple graphic edges of the first mask graphic, the multiple preset evaluation points are set on the ideal graphic contour corresponding to the first mask graphic, and one preset evaluation point corresponds to a graphic edge of the first mask graphic.

[0048] Optionally, in an embodiment of the present application, the first simulation graphic profile refers to the graphic edge profile obtained by simulating the actual photolithography process through photolithography simulation software or algorithm based on the first mask graphic obtained by the T-th iteration correction. This profile is not directly determined by the mask graphic itself, but is a predicted graphic edge position formed on the photoresist after considering various factors in the photolithography process (such as light source characteristics, photoresist properties, exposure dose, focusing conditions, etc.). Therefore, the first simulation graphic profile is an important basis for evaluating how the current first mask graphic performs in the photolithography process.

[0049] The preset evaluation points can be set at key positions on the ideal pattern contour corresponding to the mask pattern. These positions may include the corners of the pattern, the intersection of a straight line and a curve, the boundary of the pattern, etc., because these places are more susceptible to process fluctuations during the lithography process, resulting in larger edge placement errors.

[0050] The number and distribution of the preset evaluation points depend on the complexity of the mask pattern and the accuracy requirements of the evaluation. Generally speaking, for more complex patterns, more evaluation points need to be set to ensure a comprehensive evaluation; while for simple patterns, the number of evaluation points can be appropriately reduced.

[0051] Optionally, in the embodiment of the present application, although the preset evaluation point itself is directly set on the ideal graphic contour, there is a corresponding relationship between the evaluation point and the graphic edge in the mask graphic. Exemplarily, each graphic edge in the mask graphic can be numbered or marked, and the graphic edge number or position information corresponding to each evaluation point is recorded when setting the preset evaluation point.

[0052] Optionally, in the embodiment of the present application, the first mask pattern may be composed of a plurality of sub-patterns, each of which includes a plurality of pattern edges, which define the shape and boundary of the sub-pattern and are the basic constituent elements of the mask pattern.

[0053] Optionally, in a feasible implementation of the present application, in the process of screening seed edges, multiple factors can be considered to optimize the selection. For example, if multiple key evaluation points correspond to the same graphic edge, then this graphic edge may be considered as a more important correction object because it has a significant impact on the performance of multiple key areas. Finally, after screening, one or more groups of seed edges are obtained, and these seed edges will serve as the starting point for subsequent correction operations.

[0054] S300, taking the target seed edge as a reference, searching for M evaluation points within a preset search range of the target seed edge, and N graphic edges corresponding to the M evaluation points; and performing simulation calculations on the N graphic edges respectively to obtain first correction amounts corresponding to the N graphic edges respectively, wherein the target seed edge is any one of the at least one seed edges, the multiple preset evaluation points include the M evaluation points, the multiple graphic edges include the N graphic edges, and M and N are positive integers.

[0055] Optionally, in the embodiment of the present application, the preset search range refers to a limited spatial area defined with the target seed edge currently being processed as the center. The size, shape and direction of this area can be set according to process requirements, design rules, characteristics of the seed edge and physical limitations in the manufacturing process.

[0056] Specifically, the preset search range can be a rectangular, circular, elliptical or other irregularly shaped area, and its size can be scaled based on the length, width or a fixed size of the target seed edge. For example, if the target seed edge is a long straight line segment, the preset search range can be a rectangular area with a certain width and the straight line segment as the central axis; if the target seed edge is a complex curve segment, the preset search range may need a more complex shape to cover the entire curve and its surrounding area.

[0057] Optionally, in a feasible implementation of the present application, first, a seed edge is selected as the target seed edge currently being processed. Next, according to a preset search range, a spatial search process is performed with the center of the target seed edge as the starting point, the purpose of which is to find all evaluation points located in a circular area (or other shapes defined according to actual needs) with the center of the target seed edge as the center and the preset search range as the radius. Assume that the number of valid evaluation points searched is M. Subsequently, the graphic edge where each valid evaluation point is located is further determined, and finally N graphic edges are obtained.

[0058] Next, simulation calculations can be performed on each of the N graphic edges. Simulation calculation is a complex process that simulates the actual behavior of the graphic edge during manufacturing processes such as lithography or etching, taking into account multiple factors such as material properties, process parameters, and optical effects. Through simulation calculations, the specific impact of each graphic edge on the graphic performance can be evaluated, and the corresponding first correction amount can be calculated.

[0059] The first correction amount may be calculated in various ways, including but not limited to the following:

[0060] Matrix operation: A matrix describing the relationship between the graphic edge and the EPE value can be constructed, and the optimal correction amount can be solved through matrix operation so that the corrected graphic edge can minimize the EPE value.

[0061] Gradient descent method: Using the gradient information of the EPE value to the graph edge parameters, the position, size or shape of the graph edge is gradually adjusted through iterative correction until the EPE value reaches the local minimum or meets the preset convergence conditions.

[0062] Heuristic search: Combining the geometric features and topological relationships of the graph edges, a heuristic algorithm (such as genetic algorithm, simulated annealing, etc.) is used to search in the solution space to find the correction that can optimize the graph performance.

[0063] Physical model: A mathematical model between the graphic edge and the EPE value is established based on physical principles, and the accurate correction value is obtained by solving the model.

[0064] Regardless of the calculation method used, the first correction values ​​corresponding to each of the N graphic edges can be obtained. These first correction values ​​are then used to correct the graphic edges of the target seed edge and its surrounding area to optimize the overall graphic performance. For each seed edge, S300 is repeatedly executed until all seed edges are processed.

[0065] S400, when all seed edges are searched, if there is at least one first graphic edge that has not been searched among the multiple graphic edges of the first mask graphic, simulation calculation is performed on the at least one first graphic edge to obtain a second correction amount corresponding to each first graphic edge.

[0066] Optionally, in a feasible implementation of the present application, in the previous steps, the evaluation points and corresponding graphic edges within the preset range are searched with the selected seed edges as the center, and the first correction values ​​of these graphic edges are calculated. However, due to the complexity of the mask pattern, there may be some graphic edges that are not directly within the preset search range of any seed edge.

[0067] Therefore, in S400, all the graphic edges of the first mask graphic can be checked first to confirm whether there are any graphic edges that have not been searched or processed. If such graphic edges (i.e., first graphic edges) exist, they can be simulated and calculated one by one. These simulation calculations will take into account the physical effects of the graphic edges in manufacturing processes such as lithography and etching, as well as their interaction with the surrounding environment, so as to evaluate the deviations or errors that may occur in the manufacturing process of each first graphic edge. Based on the simulation results, the second correction amount corresponding to each first graphic edge can be calculated. These second correction amounts are used to indicate how to adjust the position, size or shape of the first graphic edge so as to reduce or eliminate deviations during the manufacturing process and improve the accuracy and consistency of the graphic.

[0068] The calculation of the second correction is based on comprehensive simulation analysis and in-depth understanding of the characteristics of the graphic edge. It may involve complex mathematical models and algorithms to ensure the accuracy and effectiveness of the correction. After the calculation is completed, these corrections will be applied to the corresponding graphic edges in the first mask graphic to prepare for the subsequent graphic correction steps. It should be noted that although S400 is a supplementary processing of the remaining graphic edges, it complements the previous steps and together constitutes a complete mask graphic correction process. Through this process, the system can systematically identify and solve problems that may be encountered in the mask graphic during the manufacturing process, thereby optimizing the quality of the mask graphic and improving the yield and performance of chip manufacturing.

[0069] S500, correcting the first mask pattern according to the first correction amount and the second correction amount to obtain a second mask pattern obtained by iteratively correcting the initial mask pattern for the T+1th time.

[0070] S600: When the second mask pattern satisfies a preset convergence condition, output the second mask pattern.

[0071] Optionally, in an embodiment of the present application, the preset convergence condition refers to a series of standards or thresholds set to determine whether the mask pattern correction process has achieved satisfactory results. These preset convergence conditions can be formulated based on the requirements of the manufacturing process, the requirements of the pattern accuracy, and the effectiveness of the correction process, aiming to ensure that the quality of the final output mask pattern meets expectations and that the correction process has stabilized or is close to the optimal state. Specifically, the preset convergence condition can be that the average EPE of the simulated pattern profile reaches a threshold; or the preset convergence condition is to reach the maximum number of iterations.

[0072] Optionally, in a feasible implementation method of the present application, first, the graphic edge corresponding to the first mask graphic is adjusted and corrected according to the first correction amount calculated in S300 for the graphic edge within the search range of each seed edge, and the second correction amount corresponding to the first graphic edge identified in S400 that is not directly searched.

[0073] Finally, when all edges of the first mask pattern are adjusted according to the corresponding correction amount, the second mask pattern is obtained. If the second mask pattern meets the preset convergence condition, it indicates that the correction process is successfully completed and the second mask pattern can be output for subsequent manufacturing processes; if it does not meet the condition, it is necessary to continue iterative correction until the preset convergence condition is reached.

[0074] In a method for mask graphic correction provided in an embodiment of the present application, in each iterative correction, the first EPE of each preset evaluation point is firstly accurately measured according to the first simulated graphic contour of the first mask graphic of the current iterative correction round, and the seed edges with significant influence are accurately screened out based on this. Subsequently, with the seed edge as the center, the first OPC correction amount of the evaluation points adjacent to the seed edge and the corresponding graphic edge is expanded to be searched and calculated, thereby directly linking the additional influence of the adjacent edges, ensuring that each round of correction can accurately capture and compensate for the complex interactions between graphics, thereby improving the accuracy of OPC correction. Subsequently, for the graphic edges that are not directly searched, the second correction amount of these graphic edges that are not searched is also calculated through comprehensive simulation to ensure that the overall graphic is optimized without omission. Through this cyclic iterative correction process, not only the deviation after each round of correction is effectively reduced, but also the cumulative effect of the deviation is avoided, thereby significantly improving the accuracy of OPC correction.

[0075] In one embodiment, the step of selecting at least one seed edge from multiple graphic edges of the first mask graphic according to the first simulation graphic outline of the first mask graphic and multiple preset evaluation points includes:

[0076] According to a first simulation graphic contour of the first mask graphic, respectively determining first edge placement errors EPE of the plurality of preset evaluation points relative to the first simulation graphic contour;

[0077] For any one of the plurality of preset evaluation points, respectively, the following is performed: when a first edge placement error EPE corresponding to the preset evaluation point is greater than a first preset threshold, determining the graphic edge corresponding to the preset evaluation point as the seed edge.

[0078] Edge placement error refers to the deviation between the preset evaluation point in the actual image position and its corresponding position on the ideal design pattern contour. In the photolithography process, due to the influence of various factors (such as the alignment accuracy of the photolithography machine, the non-uniformity of the exposure dose, the development characteristics of the photoresist, etc.), the actual edge of the pattern often cannot completely coincide with the ideal design. This deviation is EPE. EPE is one of the important indicators for measuring the accuracy of the photolithography process and the quality of the mask pattern.

[0079] Optionally, in a feasible implementation of the present application, first, according to the existing first mask pattern, the corresponding first simulation pattern profile is generated by the lithography simulation technology. This first simulation pattern profile simulates the image edge position formed by the first mask pattern on the photoresist in the actual lithography process. Next, for each preset evaluation point, it is necessary to calculate the deviation between its actual position relative to the first simulation pattern profile and the ideal profile position, that is, the first edge placement error (EPE), that is, the distance between the evaluation point and the nearest point of the first simulation pattern profile (in other words, the shortest distance between the evaluation point and the first simulation pattern profile). The ideal position is defined based on the original design pattern, representing the ideal edge position that the mask pattern should form. The actual position is obtained by simulation, reflecting the actual edge position that may be formed under the current first mask pattern and lithography conditions. When calculating the first EPE, the least square method, centroid method or other graphic matching algorithms can be used to accurately measure and quantify the distance or deviation between the evaluation point and its nearest point on the simulation pattern profile.

[0080] After obtaining the first EPE of each preset evaluation point, these EPE values ​​not only provide a key basis for subsequent seed edge screening and correction calculation, but also directly reflect the performance of the current first mask pattern in the lithography process. If the EPE value is large, it means that the mask pattern in this area requires a large correction to reduce the deviation from the ideal design; conversely, if the EPE value is small, it means that the mask pattern in this area is relatively close to the ideal design and may only need fine-tuning or no correction.

[0081] Optionally, in a feasible implementation of the present application, these evaluation points can be traversed first, and their respective first edge placement errors (EPE) and first preset thresholds can be calculated and compared. This first preset threshold can be set according to process requirements, design rules or historical experience to distinguish which EPE values ​​need to be focused on, that is, which areas have a large deviation from the ideal design during the simulation process.

[0082] When it is found that the first EPE value corresponding to a certain evaluation point (assuming it is the first evaluation point) is greater than the first preset threshold, it means that the graphic edge corresponding to the evaluation point has a greater risk of manufacturing error, so the graphic edge needs to be taken as the focus of correction. At this time, the graphic edge corresponding to the evaluation point can be marked as a seed edge. By traversing all preset evaluation points and comparing them with the first preset threshold, all graphic edges that need to be focused on (i.e., seed edges) can be quickly identified. The purpose of selecting seed edges is to improve the efficiency and pertinence of the correction process and to ensure that the manufacturing error of the graphic can be minimized within a limited number of iterative corrections.

[0083] In these optional embodiments, by comparing the first EPE of the preset evaluation point with the first preset threshold, the graphic edge (seed edge) that has a significant impact on the imaging quality is accurately identified. This strategy effectively improves the pertinence of the OPC optimization process, allowing the algorithm to concentrate resources on fine-tuning key edges, thereby significantly improving the imaging quality of the final graphic while ensuring optimization efficiency.

[0084] In one embodiment, the step of searching for M evaluation points within a preset search range of the target seed edge and N graphic edges corresponding to the M evaluation points based on the target seed edge includes:

[0085] Taking the target seed edge as a reference, searching from the plurality of preset evaluation points for M evaluation points whose distance to the midpoint of the target seed edge is within the preset search range;

[0086] From the plurality of graphic edges of the first mask graphic, N graphic edges corresponding to the M evaluation points are obtained.

[0087] Optionally, in a feasible implementation of the present application, for each seed edge, a search mechanism is started. This search process is centered on the target seed edge, and based on a preset search range as a search radius, the evaluation points whose distance to the midpoint of the target seed edge is within the preset search range are searched from multiple preset evaluation points of the mask pattern. These found evaluation points are the M evaluation points associated with the target seed edge.

[0088] Then, all the graphic edges of the first mask graphic are further traversed, and N graphic edges corresponding to these evaluation points are found according to the position information of the M evaluation points. These graphic edges are not only adjacent or close to the target seed edge in spatial position, but also their shape and position changes will directly affect the imaging quality of the target seed edge and its surrounding areas.

[0089] In these optional embodiments, the target seed edge is used as a reference to search for M evaluation points and corresponding N graphic edges within a preset range, so that the key areas that affect the imaging quality can be accurately located and associated. By focusing on analyzing the evaluation points and graphic edges in these areas, the edge placement error can be more accurately evaluated and optimized, thereby significantly improving the accuracy and effectiveness of OPC optimization while maintaining computational efficiency. This local focus optimization strategy is crucial to improving the final imaging quality of the mask pattern.

[0090] In one embodiment, the performing simulation calculations on the N graphic edges respectively to obtain first correction values ​​corresponding to the N graphic edges respectively includes:

[0091] Moving the i-th pattern edge among the N pattern edges by a preset disturbance amount to obtain a third mask pattern after the movement, where i is a positive integer, 1≤i≤N;

[0092] Simulating the third mask pattern to obtain a second simulation pattern outline;

[0093] According to the second simulation graphic contour, determining a first EPE variation of the j-th evaluation point associated with the i-th graphic edge among the M evaluation points relative to the first simulation graphic contour, where j is a positive integer, 1≤j≤M;

[0094] A matrix operation is performed on the first EPE variation corresponding to each of the M evaluation points and the first EPE corresponding to each of the M evaluation points to obtain a first correction amount corresponding to each of the N graphic edges.

[0095] Optionally, in a feasible implementation of the present application, first, for each of the N graphic edges, i.e., the i-th graphic edge (where i is a positive integer, and 1≤i≤N), a preset small perturbation amount ε is applied to move the graphic edge. This movement operation generates a new mask pattern, i.e., a third mask pattern. Subsequently, the modified third mask pattern is simulated using a physical model to obtain its corresponding second simulation pattern profile.

[0096] Next, based on the second simulation graphic contour, for the jth evaluation point (where j is a positive integer and 1≤j≤M) associated with the i-th graphic edge among the M evaluation points, calculate its EPE change ΔEPE_j relative to the original first simulation graphic contour. This change reflects the direct impact of the movement of the i-th graphic edge on the evaluation point EPE.

[0097] Then, the EPE changes corresponding to the M evaluation points are combined with their respective first EPE values ​​in the original state by using matrix operations to construct an M×N coefficient matrix. Finally, a linear equation system is constructed using these matrices. This system of equations reflects the linear relationship between the movement of the graph edge and the EPE change caused by it. By solving this system of equations, the optimal OPC correction (i.e., the first correction) for the N graph edges can be obtained considering the influence of the adjacent edges.

[0098] Optionally, in other embodiments of the present application, in order to reduce the optimization strategy of mutual influence between adjacent graphics, a grouped step-by-step optimization method can be used. Specifically, the edges in the mask graphics are first grouped according to the direction of the graphics edge or the polygon number to ensure that adjacent graphics are not classified into the same group. Subsequently, in the OPC optimization process, each round of iterative correction is only corrected for a group of edges, and the correction amount of each edge is calculated by simulation. Specifically, the edges of the graphics in the group are moved one by one, and their influence on the simulated graphics contour and the evaluation point EPE is observed, and these influences are combined using matrix operations to obtain an accurate correction amount.

[0099] In these optional embodiments, the influence of each graphic edge on the imaging quality is accurately evaluated by perturbing the searched graphic edges one by one and performing simulation calculations, and then the optimal first correction amount is obtained through matrix operations. This method not only improves the accuracy of OPC optimization, but also reduces the amount of calculation through local adjustments, accelerates the optimization process, and effectively improves the final imaging quality of the mask graphic.

[0100] In one embodiment, the matrix operation is performed on the first EPE variation corresponding to each of the M evaluation points and the first EPE corresponding to each of the M evaluation points to obtain the first OPC correction amount corresponding to each of the N graphic edges, including:

[0101] Creating a first M*N matrix, wherein the matrix elements of the first matrix are determined according to a first EPE variation corresponding to each of the M evaluation points;

[0102] Creating an M*1 second matrix, where matrix elements of the second matrix are determined according to the first EPE corresponding to each evaluation point in the M evaluation points;

[0103] Creating a matrix equation according to the first matrix and the second matrix, wherein the matrix equation is used to calculate a first correction amount corresponding to each of the N graphic edges;

[0104] The matrix equation is solved according to a matrix decomposition method to obtain a first correction amount corresponding to each of the N graphic edges.

[0105] Optionally, in a feasible implementation of the present application, first, according to the first EPE change corresponding to each evaluation point in the M evaluation points, an M×N first matrix is ​​constructed. Each column of the first matrix represents the impact of a graphic edge movement on the EPE change of all evaluation points, and each row corresponds to the EPE change of an evaluation point under different graphic edge movements.

[0106] Next, an M×1 second matrix is ​​created. Each element of the second matrix is ​​the first EPE value calculated in S100 for the M evaluation points.

[0107] Then, a linear equation system is constructed using these two matrices. This linear equation system can be AX+B=0, where A is the first matrix, X is the N×1 vector to be solved, representing the first OPC correction corresponding to each of the N graphic edges, and B is the second matrix. This linear equation system expresses the linear relationship between the graphic edge correction and the EPE variable, that is, by adjusting the position of the graphic edge, it is expected to achieve the purpose of reducing EPE.

[0108] Finally, the matrix decomposition method can be used to solve this linear equation system. The matrix decomposition method is an efficient numerical calculation method that can convert complex matrix operations into a series of simple operations to quickly solve the value of X. By solving this linear equation system, the first OPC correction value corresponding to each of the N graphic edges can be obtained. These correction values ​​will be used to adjust the shape of the mask graphic to improve its imaging quality during the lithography process.

[0109] Optionally, in other embodiments of the present application, after the first OPC correction amount of each of the N graphic edges is accurately calculated through matrix operations, special rules can be introduced as a supplement. These rules are based on the in-depth understanding and experience summary of OPC engineers on the difficult areas of local optimization, and are intended to fine-tune specific graphic features that are difficult for the algorithm to optimize alone. For example, in a specific area, according to the characteristics and rules of the graphic, the proportion of the correction amount can be manually adjusted to increase or decrease the original correction amount calculated by the algorithm to ensure that the imaging quality of the final mask graphic is optimal both globally and locally. Such a fusion strategy not only retains the efficiency and accuracy of the algorithm, but also incorporates human judgment and experience, making OPC optimization more comprehensive and flexible.

[0110] In these optional embodiments, the complex OPC optimization problem is converted into the solution of a set of linear equations through matrix operations and matrix decomposition, which effectively improves the calculation efficiency and accuracy, and can quickly determine the optimal correction amount of the graphic edge, thereby improving the lithography imaging quality and shortening the optimization cycle.

[0111] Optionally, the present application improves the accuracy of the OPC optimization algorithm in calculating an edge of the mask graphic by introducing the influencing factors of neighboring graphics in the form of a set of linear equations, thereby reducing the additional optimization rounds caused by the inaccuracy between the predicted imaging contour and the actual imaging contour, thereby generally improving the performance and operating efficiency of the OPC local optimization algorithm.

[0112] In one embodiment, the performing simulation calculations on the at least one first graphic edge to obtain the second correction amount corresponding to each first graphic edge includes:

[0113] Moving each pattern edge in the first mask pattern by a preset disturbance amount to obtain a fourth mask pattern;

[0114] Simulating the fourth mask pattern to obtain a third simulation pattern outline;

[0115] Determine, according to the third simulation graphic contour, a second EPE variation of P evaluation points on a target graphic edge relative to the first simulation graphic contour, where P is a positive integer, and the target graphic edge is any one of the at least one graphic edge;

[0116] The second correction amount corresponding to the target graphic edge is determined according to the second EPE change amount corresponding to each of the P evaluation points, the first EPE corresponding to each of the P evaluation points and the preset disturbance amount.

[0117] Optionally, in a feasible implementation of the present application, first, the first mask pattern is moved with a preset small perturbation amount ε to generate a fourth mask pattern. Subsequently, the fourth mask pattern is simulated and calculated to simulate its imaging effect in the photolithography process to obtain a corresponding third simulation pattern profile. Next, according to the third simulation pattern profile, for the P evaluation points on the target pattern edge (i.e., the pattern edge currently being processed), their second EPE variation relative to the initial simulation pattern profile (i.e., the first simulation pattern profile) is calculated.

[0118] Finally, using these second EPE changes, the initial EPE value corresponding to the evaluation point, and the preset disturbance value ε, a specific mathematical formula is used to calculate the second correction value corresponding to the target graphic edge. The formula is as follows:

[0119] x_k=-ε·EPE_k / ΔEPE_k

[0120] Among them, x_k is the correction amount corresponding to the kth evaluation point among P evaluation points, ε is the preset disturbance amount, EPE_k is the first EPE corresponding to the kth evaluation point among P evaluation points, and ΔEPE_k is the second EPE change corresponding to the kth evaluation point among P evaluation points.

[0121] The final second correction amount of the target graphic edge is determined by the average value of the calculated correction amounts of the P evaluation points.

[0122] In these optional embodiments, the second EPE variation and the first EPE of the evaluation point are combined to effectively calculate the second OPC correction amount corresponding to the first graphic edge, thereby improving the accuracy and efficiency of OPC optimization, helping to improve the quality of lithography imaging, and enhancing the stability and yield of the semiconductor manufacturing process.

[0123] Optionally, the present application introduces a conditional mechanism to distinguish whether to use a linear equation group or a traditional method to calculate the OPC correction amount, thereby avoiding investing additional computing resources required to solve a linear equation group on a graph where the traditional method can achieve ideal results, and avoiding the process and time of repeatedly tuning the algorithm parameters, thereby generally improving the performance and operating efficiency of the OPC local optimization algorithm, and ultimately achieving the goal of improving the level of lithography process.

[0124] In one embodiment, the first mask pattern is corrected according to the first correction amount and the second correction amount to obtain a second mask pattern obtained by iteratively correcting the initial mask pattern for the T+1th time, including:

[0125] Acquire multiple correction groups corresponding to each seed edge one by one, wherein one correction group includes a first correction amount corresponding to each of the N graphic edges obtained by searching for one seed edge;

[0126] In a case where there are at least two first correction amounts corresponding to the same graphic edges in the plurality of correction groups, obtaining at least two first correction amounts corresponding to the second graphic edges from the plurality of correction groups, the second graphic edges being at least two same graphic edges in the at least one group of correction groups;

[0127] Determine an average value of the at least two first correction values ​​as a third correction value of the second graphic edge;

[0128] The first mask pattern is corrected according to the third correction amount of the second graphic edge, the first correction amount corresponding to the third graphic edge, and the second correction amount corresponding to the first graphic edge, to obtain the second mask pattern that is the result of the T+1th iterative correction of the initial mask pattern, wherein the third graphic edge is a graphic edge of all graphic edges of the first mask pattern except the first graphic edge and the second graphic edge.

[0129] Optionally, in a feasible implementation of the present application, first, according to the previous calculation, multiple correction groups corresponding to each seed edge have been obtained. Each correction group contains the first correction amount corresponding to each of the N graphic edges searched by the seed edge.

[0130] Next, these correction groups are checked to identify whether there are at least two correction groups containing the same graph edge and corresponding to different first correction amounts. This is because the same graph edge may be searched as a neighboring edge of multiple seed edges, and thus multiple correction suggestions are obtained.

[0131] For such a second graphic edge (i.e., a graphic edge that appears in at least two correction groups), all corresponding first correction values ​​are extracted from the relevant correction groups, and the average value of these correction values ​​is calculated. This average value is determined as the third correction value of the second graphic edge, which serves as a reference for the final correction.

[0132] Finally, the first mask pattern is corrected using these correction amounts (including the third correction amount of the second pattern edge, the first correction amount corresponding to the third pattern edge, and the second correction amount corresponding to the first pattern edge). The third pattern edge here refers to all other pattern edges in the first mask pattern except the first pattern edge and the second pattern edge that have been processed.

[0133] In these optional embodiments, by comprehensively considering the influence of multiple seed edges on the correction amount of the graphic edge, the average value method is used to process the correction amount of the repeated graphic edge, thereby effectively avoiding correction conflicts and improving the accuracy and consistency of the correction, so that the mask graphic can be corrected more accurately, the quality of lithography imaging can be optimized, and the yield and stability of the semiconductor manufacturing process can be improved.

[0134] In one embodiment, the method further comprises:

[0135] When the second mask pattern does not satisfy the preset convergence condition, screening out at least one seed edge from the plurality of pattern edges of the second mask pattern according to a fourth simulation pattern contour of the second mask pattern and the plurality of preset evaluation points;

[0136] Taking the target seed edge as a reference, searching for O evaluation points within a preset search range of the target seed edge and P graphic edges corresponding to the O evaluation points; and performing simulation calculations on the P graphic edges respectively to obtain fourth correction amounts respectively corresponding to the P graphic edges, wherein the target seed edge is any one of the at least one seed edge, the multiple preset evaluation points include the O evaluation points, the multiple graphic edges of the second mask graphic include the P graphic edges, and O and P are positive integers;

[0137] When all seed edges are searched, if there is at least one fourth graphic edge that has not been searched among the multiple graphic edges of the second mask graphic, simulation calculation is performed on the at least one fourth graphic edge to obtain a fifth correction amount corresponding to each fourth graphic edge;

[0138] Correcting the second mask pattern according to the fourth correction amount and the fifth correction amount to obtain a fifth mask pattern obtained by iteratively correcting the initial mask pattern for the T+2th time;

[0139] When the fifth mask pattern meets a preset convergence condition, the fifth mask pattern is output.

[0140] Alternatively, if Figure 3 As shown, in a complete embodiment of the present application, the present application may include the following steps:

[0141] Step 1: For the mask pattern Mask_t (i.e., the first mask pattern) that needs to be corrected in the current OPC optimization round (t starts counting from 0), a simulation calculation is performed through a physical model to obtain the original imaging pattern contour contour_orig (i.e., the first simulation pattern contour). According to contour_orig, the current EPE value EPE_orig (i.e., the first EPE) of each evaluation point can be obtained;

[0142] Step 2: According to the preset EPE_threshold value (i.e., the first preset threshold), select the evaluation points that satisfy the condition |EPE_orig|>EPE_threshold, and record the mask edge where these evaluation points are located as the seed edge set {Segment_seed};

[0143] Step 3: Based on the seed edge set selected in step 2 and the preset Search_range value (i.e., the preset search range), for each seed edge, search for evaluation points whose distance from the center of this edge is less than Search_range, record the number of searched evaluation points as M, and then record the number of edges where these M evaluation points are located as N, and obtain an M×N coefficient matrix whose elements are to be determined, recorded as A (i.e., the first matrix);

[0144] Step 4: Calculate the elements of the matrix A in step 3 column by column. When calculating the elements of the i-th (1≤i≤N) column, only move the i-th edge corresponding to this column by a very small disturbance correction amount ε (the disturbance amount ε is also pre-set). Then perform simulation calculations through the physical model to obtain the imaging graphic contour contour_i (i.e., the second simulation graphic contour) after disturbance. Compare it with contour_orig (i.e., the first simulation graphic contour) in step 1 to obtain the EPE change ΔEPE_j (i.e., the first EPE change) at the j-th (1≤j≤M) of the M evaluation points. Then calculate the corresponding element a_i,j in the matrix A according to the following formula:

[0145] a_i,j=ΔEPE_j / ε,(1)

[0146] Step 5: After obtaining the complete M×N matrix A, use the N×1 matrix X to represent the OPC corrections to be calculated for the N edges in step 3 (i.e., the first corrections corresponding to the N edges of the graph), and use the M×1 matrix B (i.e., the second matrix) to record the current EPE values ​​(i.e., the first EPE) of contour_orig at the M evaluation points in step 1, and obtain the following linear equations represented by matrices:

[0147]

[0148] Step 6: Solve equation (2) by matrix decomposition method to obtain the OPC correction value X (i.e., the first correction value corresponding to each of the N graphic edges) for each edge in step 3 taking into account the influence of the adjacent edges;

[0149] Step 7: Repeat steps 3 to 6 until the seed edge set {Segment_seed} selected in step 2 is traversed. If an edge in the mask pattern appears in multiple sets of edges searched by Search_range in step 3, the average of the OPC corrections solved in each set is used as the final correction for the repeated pattern edge.

[0150] Step 8: After the processing of step 7, the edge set in the first mask pattern for which the OPC correction amount has not been calculated in this round is recorded as {Segment_normal} (i.e., the first pattern edge). If the set is not an empty set, continue to execute the following steps 9 and 10;

[0151] Step 9: Move all edges of the mask pattern by a very small disturbance correction amount ε, which is the same as the disturbance amount used in step 4, and perform simulation calculation through the physical model to obtain the contour contour_ε of the imaging pattern after the overall disturbance (i.e., the contour of the third simulation pattern);

[0152] Step 10: Traverse the set {Segment_normal} of normal edges (i.e., first graphic edges) selected in step 8. For each normal edge, only consider the P evaluation points located on the edge. Compare contour_ε obtained in step 9 with contour_orig obtained in step 1 to obtain the EPE change ΔEPE_k (i.e., the second EPE change) and EPE_k before the change (i.e., the first EPE) at the kth (1≤k≤P) of the P evaluation points. Then, P OPC corrections can be calculated according to the following formula:

[0153] x_k=-ε·EPE_k / ΔEPE_k,(3)

[0154] The final correction amount of the first graphic edge (i.e., the second correction amount corresponding to the first graphic edge) is determined by the average value of the P OPC correction amounts.

[0155] Step 11: After processing the above steps 1 to 10, the OPC correction values ​​of all edges of the mask pattern in the current optimization round are obtained. Applying these correction values, a mask pattern Mask_t+1 that has undergone a round of correction is obtained. If t+1 is less than the preset maximum number of optimization rounds T, or the average edge placement error (EPE) of the second mask pattern (Mask_t+1) in the simulation is greater than the preset threshold, repeat steps 1 to 11 until the algorithm outputs Mask_T as the final optimization result of the input mask pattern Mask_0.

[0156] In step 2, the size of the pre-set EPE_threshold value will affect the accuracy and running time of the algorithm. The smaller the EPE_threshold, the more seed edges that meet the conditions, the more times and time it takes to calculate the matrix coefficients, and the better the accuracy of the algorithm; conversely, the larger the EPE_threshold, the closer the accuracy and running time of the algorithm are to the traditional local optimization algorithm.

[0157] In these optional embodiments, an OPC correction calculation algorithm based on solving a group of adjacent edges of a linear equation set at a time, and a new mode for deciding whether to use a linear equation set or a single linear equation for solving based on EPE, helps to improve the accuracy of the local optimization algorithm, while the increased computing resource overhead is easily affordable.

[0158] Figure 4 A schematic structural diagram of a mask pattern correction device provided in another embodiment of the present application is shown. For ease of explanation, only the portion related to the embodiment of the present application is shown.

[0159] Reference Figure 4 , the mask pattern correction device may include:

[0160] An acquisition module 401 is used to acquire a first mask pattern obtained by modifying the initial mask pattern after the Tth iteration, where T is a positive integer;

[0161] A screening module 402, configured to screen out at least one seed edge from multiple graphic edges of the first mask graphic according to a first simulated graphic contour of the first mask graphic and a plurality of preset evaluation points, wherein the plurality of preset evaluation points are set on an ideal graphic contour corresponding to the first mask graphic, and one preset evaluation point corresponds to one graphic edge of the first mask graphic;

[0162] The first determination module 403 is used to search for M evaluation points within a preset search range of the target seed edge and N graphic edges corresponding to the M evaluation points based on the target seed edge; and perform simulation calculations on the N graphic edges respectively to obtain first correction amounts corresponding to the N graphic edges respectively, wherein the target seed edge is any one of the at least one seed edge, the multiple preset evaluation points include the M evaluation points, the multiple graphic edges include the N graphic edges, and M and N are positive integers;

[0163] The second determination module 404 is configured to, when all seed edges are searched, perform simulation calculations on the at least one first graphic edge respectively to obtain a second correction amount corresponding to each first graphic edge if there is at least one first graphic edge that has not been searched among the multiple graphic edges of the first mask graphic, to obtain a second correction amount corresponding to each first graphic edge;

[0164] A correction module 405, configured to correct the first mask pattern according to the first correction amount and the second correction amount, to obtain a second mask pattern obtained by correcting the initial mask pattern after the T+1th iteration;

[0165] The output module 406 is configured to output the second mask pattern when the second mask pattern satisfies a preset convergence condition.

[0166] In one embodiment, the screening module 402 may include:

[0167] A first determination submodule, configured to determine first edge placement errors EPE of the plurality of preset evaluation points relative to the first simulation graphic contour according to the first simulation graphic contour of the first mask graphic;

[0168] The second determination submodule is used to execute, for any one of the plurality of preset evaluation points, respectively: when a first edge placement error EPE corresponding to the preset evaluation point is greater than a first preset threshold, determining the graphic edge corresponding to the preset evaluation point as the seed edge.

[0169] In one embodiment, the first determining module 403 may include:

[0170] A first search submodule is used to search, based on the target seed edge, M evaluation points whose distances to the midpoint of the target seed edge are within the preset search range from the multiple preset evaluation points;

[0171] The first acquisition submodule is used to acquire N graphic edges corresponding to the M evaluation points from the multiple graphic edges of the first mask graphic.

[0172] In one embodiment, the first determining module 403 may include:

[0173] A third determination submodule is used to move the i-th graphic edge among the N graphic edges by a preset disturbance amount to obtain a third mask graphic after the movement, where i is a positive integer, 1≤i≤N;

[0174] A fourth determination submodule is used to simulate the third mask pattern to obtain a second simulation pattern outline;

[0175] a fifth determination submodule, configured to determine, according to the second simulation graphic contour, a first EPE variation of the jth evaluation point associated with the i-th graphic edge among the M evaluation points relative to the first simulation graphic contour, where j is a positive integer, 1≤j≤M;

[0176] The sixth determination submodule is used to perform matrix operations on the first EPE variation corresponding to each of the M evaluation points and the first EPE corresponding to each of the M evaluation points to obtain the first correction amount corresponding to each of the N graphic edges.

[0177] In one embodiment, the sixth determining submodule may include:

[0178] A first creation unit, configured to create a first M*N matrix, wherein the matrix elements of the first matrix are determined according to a first EPE variation corresponding to each of the M evaluation points;

[0179] A second creation unit, configured to create an M*1 second matrix, wherein matrix elements of the second matrix are determined according to a first EPE corresponding to each evaluation point in the M evaluation points;

[0180] A third creation unit, used for creating a matrix equation according to the first matrix and the second matrix, wherein the matrix equation is used for calculating a first correction amount corresponding to each of the N graphic edges;

[0181] The first determination unit is used to solve the matrix equation according to the matrix decomposition method to obtain the first correction amount corresponding to each of the N graphic edges.

[0182] In one embodiment, the second determining module 404 may include:

[0183] a seventh determination submodule, configured to move each pattern edge in the first mask pattern by a preset disturbance amount to obtain a fourth mask pattern;

[0184] A simulation submodule, used for simulating the fourth mask pattern to obtain a third simulation pattern outline;

[0185] an eighth determination submodule, configured to determine, based on the third simulation graphic contour, a second EPE variation of P evaluation points on a target graphic edge relative to the first simulation graphic contour, where P is a positive integer and the target graphic edge is any one of the at least one graphic edge;

[0186] The ninth determination submodule is used to determine the second correction amount corresponding to the target graphic edge according to the second EPE change amount corresponding to each of the P evaluation points, the first EPE corresponding to each of the P evaluation points and the preset disturbance amount.

[0187] In one embodiment, the correction module 405 may include:

[0188] A second acquisition submodule is used to acquire a plurality of correction groups corresponding to each seed edge one by one, wherein one correction group includes a first correction amount corresponding to each of the N graphic edges obtained by searching for one seed edge;

[0189] A third acquisition submodule is used for acquiring at least two first correction amounts corresponding to second graphic edges from the plurality of correction groups when there are at least two first correction amounts corresponding to the same graphic edges in the plurality of correction groups, the second graphic edges being at least two same graphic edges in the at least one group of correction groups;

[0190] a tenth determining submodule, configured to determine an average value of the at least two first correction values ​​as a third correction value of the second graphic edge;

[0191] A correction submodule is used to correct the first mask pattern according to a third correction amount of the second graphic edge, a first correction amount corresponding to the third graphic edge, and a second correction amount corresponding to the first graphic edge, so as to obtain the second mask pattern that is the result of the T+1th iterative correction of the initial mask pattern, wherein the third graphic edge is a graphic edge of all graphic edges of the first mask pattern except the first graphic edge and the second graphic edge.

[0192] In one embodiment, the mask pattern correction device may further include:

[0193] a screening module, configured to screen out at least one seed edge from the plurality of graphic edges of the second mask graphic according to a fourth simulation graphic contour of the second mask graphic and the plurality of preset evaluation points when the second mask graphic does not satisfy the preset convergence condition;

[0194] a fourth determination module, configured to search for O evaluation points within a preset search range of the target seed edge and P graphic edges corresponding to the O evaluation points, based on the target seed edge; and to perform simulation calculations on the P graphic edges respectively to obtain fourth correction amounts corresponding to the P graphic edges respectively, wherein the target seed edge is any one of the at least one seed edge, the multiple preset evaluation points include the O evaluation points, the multiple graphic edges of the second mask graphic include the P graphic edges, and O and P are positive integers;

[0195] a fifth determination module, configured to, when all seed edges are searched, perform simulation calculations on the at least one fourth graphic edge that has not been searched among the plurality of graphic edges of the second mask graphic to obtain a fifth correction amount corresponding to each fourth graphic edge;

[0196] A second correction module, used for correcting the second mask pattern according to the fourth correction amount and the fifth correction amount, to obtain a fifth mask pattern obtained by iteratively correcting the initial mask pattern for the T+2th time;

[0197] The second output module is used to output the fifth mask pattern when the fifth mask pattern meets a preset convergence condition.

[0198] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / units are based on the same concept as the method embodiment of the present application, and are devices corresponding to the above-mentioned methods. All implementation methods in the above-mentioned method embodiment are applicable to the embodiments of the device. Its specific functions and technical effects brought about can be found in the method embodiment part, and will not be repeated here.

[0199] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0200] Figure 5 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application is shown.

[0201] The device may include a processor 501 and a memory 502 storing program instructions.

[0202] When the processor 501 executes the program, the steps in any of the above method embodiments are implemented.

[0203] Exemplarily, the program may be divided into one or more modules / units, one or more modules / units are stored in the memory 502, and executed by the processor 501 to complete the present application. One or more modules / units may be a series of program instruction segments capable of completing a specific function, and the instruction segments are used to describe the execution process of the program in the device.

[0204] Specifically, the processor 501 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.

[0205] The memory 502 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 502 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 502 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 502 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 502 is a non-volatile solid-state memory.

[0206] The memory may include read-only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical or other physical / tangible memory storage devices. Thus, typically, the memory includes one or more tangible (non-transitory) readable storage media (e.g., memory devices) encoded with software including computer executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to an aspect of the present disclosure.

[0207] The processor 501 implements any one of the methods in the above embodiments by reading and executing program instructions stored in the memory 502 .

[0208] In one example, the electronic device may further include a communication interface 503 and a bus 510. The processor 501, the memory 502, and the communication interface 503 are connected via the bus 510 and communicate with each other.

[0209] The communication interface 503 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.

[0210] Bus 510 includes hardware, software or both, and the parts of online data flow billing equipment are coupled to each other. For example, but not limitation, bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front-end bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 510 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the present application considers any suitable bus or interconnection.

[0211] In addition, in combination with the method in the above embodiment, the embodiment of the present application can provide a storage medium for implementation. The storage medium stores program instructions; when the program instructions are executed by a processor, any one of the methods in the above embodiment is implemented.

[0212] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface and the processor are coupled, and the processor is used to run programs or instructions to implement the various processes of the above-mentioned method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0213] It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.

[0214] An embodiment of the present application provides a computer program product, which is stored in a storage medium. The program product is executed by at least one processor to implement the various processes of the above-mentioned method embodiment and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0215] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.

[0216] The functional modules shown in the above block diagram can be implemented as hardware, software, firmware or their combination. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), suitable firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. Programs or code segments can be stored in machine-readable media, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable media" can include any medium that can store or transmit information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. Code segments can be downloaded via computer grids such as the Internet, intranets, etc.

[0217] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.

[0218] Aspects of the present disclosure are described above with reference to the flowchart and / or block diagram of the method, device (system) and program product according to the embodiment of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor or a field programmable logic circuit. It can also be understood that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

[0219] The above are only specific implementation methods of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.

Claims

1. A method for correcting a mask pattern, It is characterized in that The method comprises: Obtaining a first mask pattern obtained by modifying the initial mask pattern after the Tth iteration, where T is a positive integer; According to a first simulated graphic contour of the first mask graphic and a plurality of preset evaluation points, at least one seed edge is selected from a plurality of graphic edges of the first mask graphic, wherein the plurality of preset evaluation points are set on an ideal graphic contour corresponding to the first mask graphic, and one preset evaluation point corresponds to one graphic edge of the first mask graphic; Taking the target seed edge as a reference, searching for M evaluation points within a preset search range of the target seed edge and N graphic edges corresponding to the M evaluation points; and performing simulation calculations on the N graphic edges respectively to obtain first correction amounts respectively corresponding to the N graphic edges, wherein the target seed edge is any one of the at least one seed edge, the multiple preset evaluation points include the M evaluation points, the multiple graphic edges include the N graphic edges, and M and N are positive integers; When all seed edges are searched, if there is at least one first graphic edge that has not been searched among the multiple graphic edges of the first mask graphic, simulation calculation is performed on the at least one first graphic edge to obtain a second correction amount corresponding to each first graphic edge; Correcting the first mask pattern according to the first correction amount and the second correction amount to obtain a second mask pattern obtained by correcting the initial mask pattern after the T+1th iteration; When the second mask pattern meets a preset convergence condition, the second mask pattern is output.

2. The method according to claim 1, It is characterized in that The step of selecting at least one seed edge from multiple graphic edges of the first mask graphic according to the first simulation graphic outline of the first mask graphic and multiple preset evaluation points includes: According to a first simulation graphic contour of the first mask graphic, respectively determining first edge placement errors EPE of the plurality of preset evaluation points relative to the first simulation graphic contour; For any one of the plurality of preset evaluation points, respectively, the following is performed: when a first edge placement error EPE corresponding to the preset evaluation point is greater than a first preset threshold, determining the graphic edge corresponding to the preset evaluation point as the seed edge.

3. The method according to claim 1, It is characterized in that The step of searching, based on the target seed edge, M evaluation points within a preset search range of the target seed edge and N graphic edges corresponding to the M evaluation points includes: Taking the target seed edge as a reference, searching from the plurality of preset evaluation points for M evaluation points whose distance to the midpoint of the target seed edge is within the preset search range; From the plurality of graphic edges of the first mask graphic, N graphic edges corresponding to the M evaluation points are obtained.

4. The method according to claim 1, It is characterized in that The performing simulation calculations on the N graphic edges respectively to obtain first correction values ​​respectively corresponding to the N graphic edges includes: Moving the i-th pattern edge among the N pattern edges by a preset disturbance amount to obtain a third mask pattern after the movement, where i is a positive integer, 1≤i≤N; Simulating the third mask pattern to obtain a second simulation pattern outline; According to the second simulation graphic contour, determining a first EPE variation of the j-th evaluation point associated with the i-th graphic edge among the M evaluation points relative to the first simulation graphic contour, where j is a positive integer, 1≤j≤M; A matrix operation is performed on the first EPE variation corresponding to each of the M evaluation points and the first EPE corresponding to each of the M evaluation points to obtain a first correction amount corresponding to each of the N graphic edges.

5. The method according to claim 4, It is characterized in that The performing matrix operation on the first EPE variation corresponding to each of the M evaluation points and the first EPE corresponding to each of the M evaluation points to obtain the first OPC correction amount corresponding to each of the N graphic edges, includes: Creating a first M*N matrix, wherein the matrix elements of the first matrix are determined according to a first EPE variation corresponding to each of the M evaluation points; Creating an M*1 second matrix, where matrix elements of the second matrix are determined according to the first EPE corresponding to each evaluation point in the M evaluation points; Creating a matrix equation according to the first matrix and the second matrix, wherein the matrix equation is used to calculate a first correction amount corresponding to each of the N graphic edges; The matrix equation is solved according to a matrix decomposition method to obtain a first correction amount corresponding to each of the N graphic edges.

6. The method according to claim 1, It is characterized in that The performing simulation calculation on the at least one first graphic edge respectively to obtain a second correction amount corresponding to each first graphic edge includes: Moving each pattern edge in the first mask pattern by a preset disturbance amount to obtain a fourth mask pattern; Simulating the fourth mask pattern to obtain a third simulation pattern outline; Determine, according to the third simulation graphic contour, a second EPE variation of P evaluation points on a target graphic edge relative to the first simulation graphic contour, where P is a positive integer, and the target graphic edge is any one of the at least one graphic edge; The second correction amount corresponding to the target graphic edge is determined according to the second EPE change amount corresponding to each of the P evaluation points, the first EPE corresponding to each of the P evaluation points and the preset disturbance amount.

7. The method according to claim 1, It is characterized in that The step of correcting the first mask pattern according to the first correction amount and the second correction amount to obtain a second mask pattern obtained by iteratively correcting the initial mask pattern for the T+1th time includes: Acquire multiple correction groups corresponding to each seed edge one by one, wherein one correction group includes a first correction amount corresponding to each of the N graphic edges obtained by searching for one seed edge; In a case where there are at least two first correction amounts corresponding to the same graphic edges in the plurality of correction groups, obtaining at least two first correction amounts corresponding to the second graphic edges from the plurality of correction groups, the second graphic edges being at least two same graphic edges in the at least one group of correction groups; Determine an average value of the at least two first correction values ​​as a third correction value of the second graphic edge; The first mask pattern is corrected according to the third correction amount of the second graphic edge, the first correction amount corresponding to the third graphic edge, and the second correction amount corresponding to the first graphic edge, to obtain the second mask pattern that is the result of the T+1th iterative correction of the initial mask pattern, wherein the third graphic edge is a graphic edge of all graphic edges of the first mask pattern except the first graphic edge and the second graphic edge.

8. The method according to any one of claims 1 to 7, It is characterized in that The method further comprises: When the second mask pattern does not satisfy the preset convergence condition, screening out at least one seed edge from the plurality of pattern edges of the second mask pattern according to a fourth simulation pattern contour of the second mask pattern and the plurality of preset evaluation points; Taking the target seed edge as a reference, searching for O evaluation points within a preset search range of the target seed edge and P graphic edges corresponding to the O evaluation points; and performing simulation calculations on the P graphic edges respectively to obtain fourth correction amounts respectively corresponding to the P graphic edges, wherein the target seed edge is any one of the at least one seed edge, the multiple preset evaluation points include the O evaluation points, the multiple graphic edges of the second mask graphic include the P graphic edges, and O and P are positive integers; When all seed edges are searched, if there is at least one fourth graphic edge that has not been searched among the multiple graphic edges of the second mask graphic, simulation calculation is performed on the at least one fourth graphic edge to obtain a fifth correction amount corresponding to each fourth graphic edge; Correcting the second mask pattern according to the fourth correction amount and the fifth correction amount to obtain a fifth mask pattern obtained by iteratively correcting the initial mask pattern for the T+2th time; When the fifth mask pattern meets a preset convergence condition, the fifth mask pattern is output.

9. An electronic device, It is characterized in that The device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the method for correcting a mask pattern as described in any one of claims 1 to 8 is implemented.

10. A computer-readable storage medium, It is characterized in that The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the method for correcting a mask pattern according to any one of claims 1 to 8 is implemented.

11. A computer program product, It is characterized in that When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the method for correcting a mask pattern as described in any one of claims 1 to 8.