Mask optimization method and storage medium
By applying the L-BFGS-B algorithm and error function in mask optimization, combined with mask manufacturing rules, the problems of low mask production efficiency and yield were solved, achieving efficient mask optimization and production.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- DONGFANG JINGYUAN ELECTRON LTD
- Filing Date
- 2022-10-20
- Publication Date
- 2026-06-26
AI Technical Summary
In existing technologies, mask optimization and mask manufacturing rule checking are two independent processes, resulting in low mask production efficiency and low yield, and a large error between the adjusted pattern and the design pattern.
A mask optimization method is provided, which obtains the initial design pattern, breaks the edges, obtains the movement distance of each edge based on the mask manufacturing rules, and optimizes it using the L-BFGS-B algorithm and error function to ensure that the optimized pattern conforms to the manufacturing rules. The method is implemented by storing a computer program on a storage medium.
It improves mask production efficiency, ensures yield, reduces computational complexity and time, and adapts to mask optimization scenarios with different needs.
Smart Images

Figure CN115659888B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of integrated circuit mask design technology, and in particular to a mask optimization method and a storage medium. Background Technology
[0002] After the mask pattern undergoes OPC (Optical Proximity Correction) optimization, it must undergo a mask rule check (MRC) before being sent to the mask manufacturer. The MRC check confirms that all patterns in the mask pattern are suitable for the mask fabrication process based on the rules provided by the mask manufacturer. The MRC rules mainly include the following:
[0003] (1) Specify the minimum line width (minWidth) and line spacing (minSpace) of the graphic.
[0004] (2) The minimum value of the spacing between corners of a graphic is specified.
[0005] (3) Limit the minimum area of the figure.
[0006] In currently disclosed technologies, mask optimization and mask manufacturing rule checking are two relatively independent processes. Mask optimization aims to ensure that the manufactured pattern is as consistent as possible with the chip design pattern. However, during mask manufacturing rule checking after optimization, mask patterns found to violate the mask manufacturing rules need to be adjusted. This adjustment process consumes considerable time and effort, reducing mask production efficiency. Furthermore, the pattern obtained after manufacturing the adjusted mask pattern may have significant errors compared to the design pattern, and may not meet design requirements, thus reducing the mask yield. Summary of the Invention
[0007] To improve mask production efficiency, this invention provides a mask optimization method and a storage medium.
[0008] The solution to the technical problem of this invention is to provide a mask optimization method, comprising the following steps:
[0009] Obtain the initial design drawings;
[0010] The edges of the initial design graphic are broken;
[0011] Based on the mask manufacturing rules and the position of each broken edge, obtain the first and second distances that each broken edge can move.
[0012] The initial design graphic is optimized by masking, and the first and second distances that each broken edge can move are used as constraints of the optimization algorithm to obtain the target optimized graphic.
[0013] Preferably, mask optimization of the initial design graphic includes the following steps:
[0014] Pre-set evaluation points on the edge of the interruption;
[0015] Mask optimization is performed by adjusting the position of the broken edge based on the evaluation point.
[0016] Preferably, the initial design pattern is optimized using a mask function.
[0017] Preferably, the error function is set as follows:
[0018]
[0019] Where l represents the l-th process condition, c l Let w represent the weight of process condition error on cost, where i represents the i-th evaluation point. i EPE is the weight of the i-th evaluation point. l,i To evaluate the edge placement error of the point under the l-th process condition, p is the exponent; cost (MRC) is the quantitative representation of line segments in the design pattern that violate the mask manufacturing rules to cost; cost (sidelobe) is the representation of the contour formed by exposure of the sub-resolution auxiliary pattern to cost; etc represents other error terms.
[0020] Preferably, other error terms include cost (pinch bridge), which is a representation of a continuous contour or a broken contour.
[0021] Preferably, the first distance is the maximum distance the interrupted edge moves in the first direction; the second distance is the maximum distance the interrupted edge moves in the second direction opposite to the first direction.
[0022] Preferably, the first direction and the second direction are two opposite directions of the coordinate axes in a coordinate system established with the broken edge as the origin.
[0023] Preferably, the optimization algorithm is the L-BFGS-B algorithm, and the objective function of the optimization algorithm is set as follows:
[0024]
[0025] in, Ω represents the search space, and L represents the search space. I ∈R, u I∈R, N={1,2,...,n},L I with u I The parameters m are respectively I The upper and lower bounds of L I Representing the first distance, u I represents the second distance; f(m) represents the error function; subject to represents the constraint condition.
[0026] Preferably, obtaining the first and second distances that each broken edge can move includes the following steps:
[0027] Obtain any interrupted edge, wherein the interrupted edge is the first movable edge;
[0028] Obtain all edges surrounding the first movable edge as second movable edges, and calculate the distance between each second movable edge and the first movable edge;
[0029] Multiple differences are obtained based on the distance between each second movable edge and the first movable edge, as well as the minimum distance required by the mask manufacturing rules;
[0030] Based on each difference, multiple boundary values that the first movable edge can move to are obtained;
[0031] The first distance is the negative number with the smallest absolute value among multiple boundary values, and the second distance is the positive number with the smallest numerical value among multiple boundary values.
[0032] To solve the above-mentioned technical problems, the present invention also provides a storage medium on which a computer program is stored, wherein the computer program, when executed by a processor, implements the above-mentioned mask optimization method.
[0033] Compared with the prior art, the mask optimization method, event extraction system, and storage medium of the present invention have the following advantages:
[0034] 1. The mask optimization method of the present invention includes the following steps: obtaining an initial design pattern; breaking the edges of the initial design pattern; obtaining a first distance and a second distance that each broken edge can move based on mask manufacturing rules and the position of each broken edge; performing mask optimization on the initial design pattern, and using the first distance and the second distance that each broken edge can move as constraints of the optimization algorithm to obtain the target optimized pattern. This invention, through model-based mask optimization, applies mask manufacturing rules to the mask optimization process, ensuring that the optimized pattern and the target optimized pattern meet the requirements of the mask manufacturing rules. After the mask optimization is completed, mask production can proceed without additional separate checks of the mask manufacturing rules, greatly improving the efficiency of mask production and ensuring the yield rate of the masks.
[0035] 2. The optimization algorithm in the mask optimization method of the present invention is the L-BFGS-B algorithm. This algorithm uses confidence interval technology and gradient projection technology to update the Hessian matrix and run the line search algorithm of the L-BFGS algorithm. Moreover, this algorithm only requires the user to provide the objective function and its gradient function without calculating the Hessian matrix, which reduces the computational complexity and improves the computational speed.
[0036] 3. The mask optimization method of the present invention uses an error function to optimize the initial design pattern, which has a high degree of freedom and good optimization effect.
[0037] 4. In the mask optimization method of the present invention, the error function is composed of multiple errors. Users can adjust the weight of each error in the error function according to different needs, which can adapt to different mask optimization needs and enrich the application scenarios.
[0038] 5. In the mask optimization method of the present invention, the first distance is the maximum distance the broken edge moves in a first direction; the second distance is the maximum distance the broken edge moves in a second direction opposite to the first direction. It can be understood that by limiting the movement distance of the broken edge, the graphic in the optimization process conforms to the mask manufacturing rules, thereby making the target optimized graphic conform to the mask manufacturing rules, which is beneficial to improving the mask production efficiency and yield.
[0039] 6. The present invention also provides a storage medium storing a computer program thereon, which, when executed, implements the above-described mask optimization method and has the same beneficial effects as the above-described mask optimization method, which will not be elaborated here. Attached Figure Description
[0040] To more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0041] Figure 1 This is a flowchart of the steps of a mask optimization method provided in the first embodiment of the present invention.
[0042] Figure 2 This is a flowchart of step S4 of a mask optimization method provided in the first embodiment of the present invention.
[0043] Figure 3 This is an example of the optimization result of a mask optimization method provided in the first embodiment of the present invention. Figure 1 .
[0044] Figure 4This is an example of the optimization result of a mask optimization method provided in the first embodiment of the present invention. Figure 2 .
[0045] Explanation of reference numerals in the attached diagram:
[0046] 1. Optimization result of the first side; 2. Optimization result of the second side; 3. Optimization result of the first corner; 4. Optimization result of the second corner;
[0047] 10. Initial design graphics. Detailed Implementation
[0048] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0049] Please see Figure 1 The first embodiment of the present invention provides a mask optimization method, including the following steps:
[0050] S1. Obtain the initial design graphics;
[0051] S2. Break the edges of the initial design graphic;
[0052] S3. Based on the mask manufacturing rules and the position of each broken edge, obtain the first and second distances that each broken edge can move.
[0053] S4. Perform mask optimization on the initial design graphic, and use the first and second distances that each broken edge can move as constraints of the optimization algorithm to obtain the target optimized graphic.
[0054] Specifically, the optimization algorithm provided in the first embodiment of the present invention is the L-BFGS-B algorithm. L-BFGS-B (Limited-memory Broyden-Fletcher-Goldfarb-Shanno Bound-constrained Optimization) is a method for solving constrained large-scale optimization problems, and its objective function is set as follows:
[0055]
[0056] in, Ω represents the search space, and L represents the search space. I ∈R, u I ∈R, N={1,2,...,n},L I with u I The parameters m are respectively I The upper and lower bounds of L IRepresents the first distance, u I represents the second distance; f(m) represents the error function; subject to represents the constraint condition. The L-BFGS-B algorithm uses confidence interval techniques and gradient projection techniques to update the Hessian matrix and run the line search algorithm of the L-BFGS algorithm. The L-BFGS-B algorithm only requires the user to provide the objective function and its gradient function without calculating the Hessian matrix, which has low computational complexity and fast computation speed.
[0057] It is understood that the first embodiment of the present invention uses the first and second distances that each broken edge can move as constraints of the L-BFGS-B algorithm for iterative optimization, in order to avoid the current optimized graphic in each iteration from violating the mask manufacturing rules, thereby ensuring that the target optimized graphic maintains the mask manufacturing rules. Therefore, by using the mask optimization method provided by the first embodiment of the present invention, mask production can be carried out immediately after the mask optimization is completed, without the need for additional separate mask manufacturing rule checks. This greatly improves the efficiency of mask production while ensuring the mask yield rate. Furthermore, the mask optimization method of the first embodiment of the present invention can also ensure that the error between the obtained target optimized graphic and the initial design graphic is small, and the produced mask also meets the design requirements.
[0058] It is understood that the L-BFGS-B algorithm has three termination criteria: reaching the maximum number of iterations, the change in the objective function being very small, and the magnitude of the projected gradient being sufficiently small. In the first embodiment of this invention, any one of these criteria can be chosen as the termination condition for the L-BFGS-B algorithm.
[0059] Furthermore, the first distance is the maximum distance the interrupted edge moves in the first direction; the second distance is the maximum distance the interrupted edge moves in the second direction, which is opposite to the first direction. Specifically, the first direction and the second direction are two opposite directions of the coordinate axes in a coordinate system established with the interrupted edge as the origin.
[0060] Furthermore, the specific steps in step S3 for obtaining the first and second distances that each broken edge can move include:
[0061] S31. Obtain any broken edge, and the broken edge is the first movable edge;
[0062] S32. Obtain all edges surrounding the first movable edge as second movable edges, and calculate the distance between each second movable edge and the first movable edge.
[0063] S33. Based on the distance between each second movable edge and the first movable edge and the minimum distance required by the mask manufacturing rules, multiple differences are obtained;
[0064] S34. Based on each difference, obtain multiple boundary values that the first movable edge can move to;
[0065] S35. The negative number with the smallest absolute value among multiple boundary values is used as the first distance, and the positive number with the smallest numerical value among multiple boundary values is used as the second distance.
[0066] Specifically, in step S33, multiple differences are obtained by subtracting the minimum distance required by the mask rule from the distance between each second movable edge and the first movable edge (where all distances are positive numbers).
[0067] Further, step S34 specifically involves multiplying each difference by a first weight to obtain multiple boundary values that the first movable edge can move to. Further, the first embodiment of the present invention also includes a second weight. Each difference obtained in step S33, multiplied by the second weight, yields the corresponding boundary value that the second movable edge can move to. For example, a difference is the distance between the first movable edge and a certain second movable edge minus the minimum distance required by the mask manufacturing rules. Multiplying this difference by the second weight yields the boundary value that the second movable edge can move to. Specifically, both the first weight and the second weight are greater than or equal to 0 and less than or equal to 1, and the sum of the first weight and the second weight is 1. The specific values of the first weight and the second weight are defined according to actual needs and are not limited.
[0068] It is understandable that when calculating the boundary values that the first movable edge can move, a coordinate system is generally established with the first movable edge as the origin to obtain the second movable edges around the first movable edge. Then, the first distance and the second distance are calculated. The first distance and the second distance are the maximum distances that the first movable edge can move in opposite directions on a certain coordinate axis. Therefore, the first distance is a negative number, and the negative sign only represents the direction of movement. The absolute value of the first distance represents the maximum distance to move. For example, if the coordinate of a first movable edge is 0 and the first distance is -1, it means that the maximum distance that the first movable edge can move in the first direction is 1; the second distance is 5, which means that the maximum distance that the first movable edge can move in the second direction is 5. Then the range that the first movable edge can move is [-1, 5], that is, the first movable edge can move within the range of coordinates -1 to 5.
[0069] Further, please refer to Figure 2 Step S4, which optimizes the initial design graphic using a mask, specifically includes the following steps:
[0070] S41. Preset evaluation points on the edge of the interruption;
[0071] S42. Based on the evaluation point, adjust the position of the broken edge to optimize the mask.
[0072] Specifically, step S41 includes the following steps:
[0073] S411, Get a broken edge;
[0074] S412. Determine whether the front and back edges of the interrupted edge are both on the same straight line as the interrupted edge; if so, preset an evaluation point on the interrupted edge; if not, find a circle within a preset radius that is tangent to the interrupted edge and the front or back edge that is not parallel to the interrupted edge, and preset an evaluation point on the arc segment of the tangent circle.
[0075] Specifically, the tangent circular arc segments in step S412 include circular arc segments tangent to the broken edge and circular arc segments tangent to either the preceding or following non-parallel edge. For example, if the preceding edge of a broken edge is not parallel to it, a circle within a preset radius that is tangent to both the broken edge and the preceding edge is found. The evaluation points can be preset at the tangent points of the circle and the broken edge, and at the tangent points of the circle and the preceding edge. It can be understood that if the following edge of a broken edge is not parallel to it, a similar method is used to preset the evaluation points.
[0076] Specifically, the preset radius in S412 is generally in the nanometer range, and users can define specific values according to their actual needs.
[0077] It can be understood that the optimization objective of step S42 is to move the broken edges to minimize the distance between the outline of the exposed image and the corresponding evaluation point. Therefore, the optimization objective of step S4 is to minimize the distance between the outline of the exposed image and the corresponding evaluation point under the constraints of the first and second distances that each broken edge can move.
[0078] Furthermore, in step S4, mask optimization of the initial design graphic is achieved using an error function, that is, mask optimization is achieved by minimizing the function value of the error function as much as possible.
[0079] Specifically, in the first embodiment of the present invention, the error function is set as follows: Where l represents the l-th process condition, c l The weight of process condition error on cost; i represents the i-th evaluation point, w i The weight of the i-th evaluation point (usually, the weight of an evaluation point is related to its position on the initial design drawing; for example, the weight of an evaluation point at a corner or the end of the drawing will be lower than the weight of an evaluation point on a straight line); EPE l,irepresents the edge placement error at the i-th evaluation point under the l-th process condition; p is an exponent, such as the square root. `cost(MRC)` quantitatively represents line segments in the pattern that violate mask manufacturing rules. If `cost(MRC)` is 0, it means the pattern meets the MRC rules. `cost(sidelobe)` represents the contour formed by sub-resolution auxiliary patterns in the cost. It can be understood that sometimes other sub-resolution auxiliary patterns are added in mask optimization. These patterns will form contours after exposure; if contours are formed, they are called side lobes. We do not want these patterns to form contours, so adding `cost(sidelobe)` to the error function is to reduce the side lobes formed by sub-resolution auxiliary patterns. `etc` represents other error terms.
[0080] Furthermore, other error terms include cost (pinch bridge), which represents either continuous or broken contours. For example, if some shapes have connected contours but we don't want them to be connected, or if some shapes have broken contours but we don't want them to be broken, then cost (pinch bridge) is added. It's understandable that other necessary error terms can be added to the error function based on actual requirements.
[0081] It is understood that the error function provided in the first embodiment of the present invention consists of multiple errors, and the proportion of each error in the total error can be adjusted by weighting coefficients, thereby adjusting and optimizing the result.
[0082] It is understood that the first embodiment of the present invention only illustrates how to maintain the mask manufacturing rules for the line spacing between two edges in the target optimization pattern. The same method can be used to maintain the mask manufacturing rules for the line width, the spacing between corners, etc. in the target optimization pattern, and will not be described in detail here.
[0083] For example, please refer to Figure 3 , Figure 3 This shows the distances between edges in the first side optimization result 1 of the initial design graph 10. Figure 3 As shown in d1), and the distance between edges in the second side optimization result 2 ( Figure 3 (as shown in d2), in addition, Figure 3The initial design pattern 10 shown requires a minimum distance of 0.045 between edges according to the mask manufacturing rules. Here, the first edge optimization result 1 is the optimization result without mask manufacturing rule boundary constraints, and the second edge optimization result 2 is the optimization result with mask manufacturing rule boundary constraints added; that is, the target optimized pattern obtained using the mask optimization method provided in the first embodiment of this invention. Further, in the first edge optimization result 1, the distance d1 between edges is 0.040800, which is less than 0.045 and does not meet the mask manufacturing rule requirements; in the second edge optimization result 2, the distance d2 between edges is 0.45600, which is slightly greater than 0.045 and meets the mask manufacturing rule requirements.
[0084] For example, please refer to Figure 4 , Figure 4 This shows the angle and the distance between the first angle in the first angle optimization result 3 of the initial design graphic 10. Figure 4 As shown in D1), the distance between the angle and the angle in the second angle optimization result 4 ( Figure 4 As shown in D2), and, Figure 4 The initial design pattern 10 shown has a minimum distance of 0.09 between corners as required by the mask manufacturing rules. Specifically, the first corner optimization result 3 is the optimization result without mask manufacturing rule boundary constraints, and the second corner optimization result 4 is the optimization result with mask manufacturing rule boundary constraints added, i.e., the target optimized pattern obtained using the mask optimization method provided in the first embodiment of this invention. Further, in the first corner optimization result 3, the distance D1 between corners is 0.079271, which is less than 0.09 and does not meet the requirements of the mask manufacturing rules; in the second corner optimization result 4, the distance D2 between corners is 0.090092, which is slightly greater than 0.09 and meets the requirements of the mask manufacturing rules.
[0085] Therefore, by using the mask optimization method of the first embodiment of the present invention to optimize the mask, the optimized target graphic after optimization not only meets the design requirements but also conforms to the requirements of mask manufacturing rules, which can greatly improve the production efficiency and production quality of the mask.
[0086] A second embodiment of the present invention provides a storage medium storing a computer program, which, when executed by a processor, implements the mask optimization method provided in the first embodiment of the present invention. The storage medium provided in the second embodiment of the present invention has the same beneficial effects as the mask optimization method provided in the first embodiment of the present invention, and will not be described again here.
[0087] It is understood that, according to the embodiments disclosed in this invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication component, and / or installed from a removable medium. When the computer program is executed by a central processing unit (CPU), it performs the functions defined in the methods of this application. It should be noted that the computer-readable medium described in this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. Computer-readable storage media include, but are not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on a computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.
[0088] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as C or similar languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0089] In the embodiments provided by this invention, it should be understood that "B corresponding to A" means that B is associated with A, and B can be determined based on A. However, it should also be understood that determining B based on A does not mean determining B solely based on A; B can also be determined based on A and / or other information.
[0090] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of the invention. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Those skilled in the art should also recognize that the embodiments described in the specification are optional embodiments, and the actions and modules involved are not necessarily essential to the invention.
[0091] In various embodiments of the present invention, it should be understood that the sequence number of each process does not necessarily imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0092] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It is particularly important to note that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0093] Compared with the prior art, the mask optimization method and storage medium of the present invention have the following advantages:
[0094] 1. The mask optimization method of the present invention includes the following steps: obtaining an initial design pattern; breaking the edges of the initial design pattern; obtaining a first distance and a second distance that each broken edge can move based on mask manufacturing rules and the position of each broken edge; performing mask optimization on the initial design pattern, and using the first distance and the second distance that each broken edge can move as constraints of the optimization algorithm to obtain the target optimized pattern. This invention, through model-based mask optimization, applies mask manufacturing rules to the mask optimization process, ensuring that the optimized pattern and the target optimized pattern meet the requirements of the mask manufacturing rules. After the mask optimization is completed, mask production can proceed without additional separate checks of the mask manufacturing rules, greatly improving the efficiency of mask production and ensuring the yield rate of the masks.
[0095] 2. The optimization algorithm in the mask optimization method of the present invention is the L-BFGS-B algorithm. This algorithm uses confidence interval technology and gradient projection technology to update the Hessian matrix and run the line search algorithm of the L-BFGS algorithm. Moreover, this algorithm only requires the user to provide the objective function and its gradient function without calculating the Hessian matrix, which reduces the computational complexity and improves the computational speed.
[0096] 3. The mask optimization method of the present invention uses an error function to optimize the initial design pattern, which has a high degree of freedom and good optimization effect.
[0097] 4. In the mask optimization method of the present invention, the error function is composed of multiple errors. Users can adjust the weight of each error in the error function according to different needs, which can adapt to different mask optimization needs and enrich the application scenarios.
[0098] 5. In the mask optimization method of the present invention, the first distance is the maximum distance the broken edge moves in a first direction; the second distance is the maximum distance the broken edge moves in a second direction opposite to the first direction. It can be understood that by limiting the movement distance of the broken edge, the graphic in the optimization process conforms to the mask manufacturing rules, thereby making the target optimized graphic conform to the mask manufacturing rules, which is beneficial to improving the mask production efficiency and yield.
[0099] 6. The present invention also provides a storage medium storing a computer program thereon, which, when executed, implements the above-described mask optimization method and has the same beneficial effects as the above-described mask optimization method, which will not be elaborated here.
[0100] The above provides a detailed description of a mask optimization method and storage medium disclosed in the embodiments of the present invention. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention. Any modifications, equivalent substitutions, and improvements made within the principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A mask optimization method, characterized in that: Includes the following steps: Obtain the initial design drawings; The edges of the initial design graphic are broken; Based on the mask manufacturing rules and the position of each broken edge, obtain the first and second distances that each broken edge can move. The initial design graphic is optimized by masking, and the first and second distances that each broken edge can move are used as constraints of the optimization algorithm to obtain the target optimized graphic. The optimization algorithm is L BFGS Algorithm B, the objective function of the optimization algorithm is set as follows: min f(m) subject to m∈Ω Where, m∈Ω={m∈ | ≤ ≤ }, where Ω is the search space. ∈R, ∈R, N={1,2,...,n}, and Parameters The upper and lower boundaries, Represents the first distance. f(m) represents the second distance; f(m) represents the error function; subject to represents the constraint condition. The process of obtaining the first and second distances that each broken edge can move based on the mask manufacturing rules and the position of each broken edge includes: Obtain any interrupted edge, wherein the interrupted edge is the first movable edge; Obtain all edges surrounding the first movable edge as second movable edges, and calculate the distance between each second movable edge and the first movable edge; Multiple differences are obtained based on the distance between each second movable edge and the first movable edge, as well as the minimum distance required by the mask manufacturing rules; Based on each difference, multiple boundary values that the first movable edge can move to are obtained; The first distance is the negative number with the smallest absolute value among multiple boundary values, and the second distance is the positive number with the smallest numerical value among multiple boundary values.
2. The mask optimization method as described in claim 1, characterized in that: Mask optimization of the initial design graphic includes the following steps: Pre-set evaluation points on the edge of the interruption; Mask optimization is performed by adjusting the position of the broken edge based on the evaluation point.
3. The mask optimization method as described in claim 1, characterized in that: The initial design pattern is optimized using a mask function.
4. The mask optimization method as described in claim 3, characterized in that: The error function is set as follows: Where l represents the l-th process condition, c l Let w represent the weight of process condition error on cost, where i represents the i-th evaluation point. i EPE is the weight of the i-th evaluation point. l,i To evaluate the edge placement error of the point under the l-th process condition, p is the exponent; cost (MRC) is the quantitative representation of line segments in the design pattern that violate the mask manufacturing rules to cost; cost (sidelobe) is the representation of the contour formed by exposure of the sub-resolution auxiliary pattern to cost; etc represents other error terms.
5. The mask optimization method as described in claim 4, characterized in that: Other error terms include cost (pinchbrige), which represents either a continuous contour or a broken contour.
6. The mask optimization method as described in claim 1, characterized in that: The first distance is the maximum distance the interrupted edge moves in the first direction; the second distance is the maximum distance the interrupted edge moves in the second direction opposite to the first direction.
7. The mask optimization method as described in claim 6, characterized in that: The first direction and the second direction are two opposite directions of the coordinate axes in a coordinate system established with the broken edge as the origin.
8. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by the processor, it implements the mask optimization method according to any one of claims 1-7.