Method of processing photolithographic layout curve mask and related products

By filtering and deleting self-intersecting control points in the photolithography pattern, the self-intersection problem in curve mask design is solved, and the topological consistency and robustness of the photolithography pattern are improved.

CN123047183APending Publication Date: 2026-11-06SHENZHEN JINGYUAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611318116.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-08-27
Publication Date
2026-11-06

AI Technical Summary

Technical Problem

In the design of photolithography pattern curve masks, the self-intersection problem leads to topological inconsistencies and reduced robustness, which are difficult to solve effectively with existing technologies.

Method used

By obtaining the control points of the closed curve, the self-intersecting curve segments and their candidate control points are determined. Self-intersecting control points are then selected based on the adjacency order and relationship, and these control points are deleted to optimize the photolithography layout.

Benefits of technology

It effectively reduces or avoids the problem of pattern self-intersection in the photolithography pattern, and improves the topological consistency and robustness of the photolithography pattern.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123047183A_ABST
    Figure CN123047183A_ABST
Patent Text Reader

Abstract

This invention provides a method for processing photolithographic pattern curve masks and related products. The method includes acquiring multiple control points in the target photolithographic pattern used to represent closed curves; determining candidate control points for self-intersecting curve segments within the closed curve; determining the preceding and succeeding control points for each candidate control point based on the adjacency order of the control points; and identifying the self-intersecting control points from among the candidate control points based on the relationship between the preceding and / or succeeding control points and the self-intersecting curve segments. This method enables the identification of self-intersecting control points that directly lead to pattern self-intersection within the control points of a closed curve, reducing or avoiding pattern self-intersection problems in photolithographic pattern curve masks without affecting the normal curves within the closed curve.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of integrated circuit technology, and in particular to a method for processing photolithographic pattern masks, a computer-readable storage medium, a computer program product, and a computer device. Background Technology

[0002] Traditional integrated circuit design layouts are mainly composed of various polygonal shapes (such as Manhattan patterns). With the further development of chip nodes, curve mask technology, which can more accurately reproduce complex contours such as nonlinearity, curves, and slanted edges, is gradually entering practical applications, and is expected to further realize the pattern transfer of high-density features and high geometric fidelity.

[0003] Similar to polygonal masks, curve masks also require iterative optimization using computational lithography during the design process. However, curve masks have a higher degree of freedom, so self-intersection of the shape is unavoidable during optimization. This can lead to various adverse effects such as topological inconsistencies, abnormal solver loss functions, and decreased robustness. Summary of the Invention

[0004] One object of the present invention is to provide a method for processing a photolithographic pattern curve mask, a computer-readable storage medium, a computer program product, and a computer device to reduce or avoid the problem of pattern self-intersection in a photolithographic pattern curve mask.

[0005] Specifically, according to one aspect of the present invention, the present invention provides a method for processing a photolithographic pattern curve mask, comprising: Obtain multiple control points in the target photolithography pattern to represent closed curves, wherein the control points are sequentially adjacent according to the extension direction of the closed curves; Identify the self-intersecting curve segments in the closed curve, and identify the control points representing the self-intersecting curve segments as candidate control points; Based on the adjacency order of the control points, the preceding and following control points of each candidate control point are determined. Based on the relationship between the preceding and / or following control points of the candidate control points and the self-intersecting curve segments, self-intersecting control points are determined from the candidate control points.

[0006] Optionally, determining the self-intersecting curve segment in the closed curve and determining the control point representing the self-intersecting curve segment as a candidate control point includes: By connecting two adjacent control points with straight lines, multiple line segments are obtained; Among the multiple line segments, self-intersecting line segments are identified, where a self-intersecting line segment is a line segment with three or more intersecting line segments. The control point that serves as the endpoint of the self-intersecting line segment is determined as the candidate control point, and the curve segment represented by the candidate control point is determined as the self-intersecting curve segment.

[0007] Optionally, a self-intersecting control point is determined based on whether the preceding and succeeding control points of each candidate control point also belong to the candidate control point; wherein, if only the succeeding control point of the candidate control point belongs to the candidate control point, the succeeding control point of the candidate control point is determined as the self-intersecting control point; if only the preceding control point of the candidate control point belongs to the candidate control point, the preceding control point of the candidate control point is determined as the self-intersecting control point; and if both the preceding and succeeding control points of the candidate control point belong to the candidate control point, the candidate control point is determined as the self-intersecting control point.

[0008] Optionally, determining the self-intersecting control point based on whether the preceding and succeeding control points of each candidate control point also belong to the candidate control point includes: Traverse each control point in adjacency order. For the current control point being traversed: Determine whether the conditions for entering self-intersection are met. The conditions for entering self-intersection include that the preceding control point of the current control point is not a candidate control point, the current control point is a candidate control point, and the value of the pre-set global state parameter is a default value, which indicates that the self-intersection curve segment range has not been entered. If the self-intersection condition is met, the subsequent control point of the current control point is determined as the self-intersection control point, and the value of the global state parameter is set to a reference value, which indicates that the self-intersection curve segment range has been entered. If the entry self-intersection condition is not met, then it is determined whether the exit self-intersection condition is met. The exit self-intersection condition includes that the current control point belongs to the candidate control point, the subsequent control point of the current control point does not belong to the candidate control point, and the value of the global state parameter is the reference value. If the self-intersection condition is met, then the preceding control point of the current control point is determined as the self-intersection control point, and the value of the global state parameter is set to the default value. If the self-intersection condition is not met, then determine whether the value of the global state parameter is the reference value; If it is the reference value, then the current control point is determined as the self-intersecting control point.

[0009] Optionally, the closed curve is a Bézier curve or a B-spline curve.

[0010] Optionally, after the step of determining the intersecting control points from the candidate control points, the method further includes: Delete all self-intersecting control points of the closed curve; The shape of the closed curve is updated using the remaining control points to obtain an optimized photolithography pattern.

[0011] Optionally, before the step of obtaining multiple control points in the target photolithography pattern used to represent closed curves, the method further includes: Obtain the initial photolithography pattern, perform optical proximity effect correction or reverse photolithography calculation on the initial closed curve of the initial photolithography pattern, and obtain the correction amount used to represent each initial control point of the initial closed curve; The initial control point is moved using the correction amount to obtain the target photolithography pattern; After the step of determining the intersecting control points from the candidate control points, the method further includes: In the initial photolithography pattern, the correction amount is moved only to the initial control points corresponding to the control points other than the self-intersecting control points to obtain the optimized photolithography pattern.

[0012] According to another aspect of the present invention, a computer-readable storage medium is also provided, on which a computer program is stored, wherein the computer program, when executed by a processor, implements the steps of the processing method for photolithographic pattern mask described above.

[0013] According to another aspect of the present invention, a computer program product is also provided, comprising a computer program that, when executed by a processor, implements the steps of the processing method for photolithographic pattern mask described above.

[0014] According to another aspect of the present invention, a computer device is also provided, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the photolithographic pattern mask processing method described above.

[0015] The photolithographic layout curve mask processing method of the present invention obtains self-intersecting curve segments in a closed curve and candidate control points representing these segments. Based on the relationship between the preceding and / or succeeding control points of the candidate control points and the self-intersecting curve segments, it identifies the self-intersecting control points that directly cause pattern self-intersections among the control points of the closed curve. By processing these self-intersecting control points, the self-intersection problem in the photolithographic layout curve mask is reduced or avoided without affecting the normal curves within the closed curve.

[0016] The above and other objects, advantages and features of the present invention will become more apparent to those skilled in the art from the following detailed description of specific embodiments of the invention in conjunction with the accompanying drawings. Attached Figure Description

[0017] The following sections will describe some specific embodiments of the invention in detail by way of example and not limitation, with reference to the accompanying drawings. The same reference numerals in the drawings denote the same or similar parts or portions. Those skilled in the art should understand that these drawings are not necessarily drawn to scale. In the drawings: Figure 1 This is a schematic flowchart of a method for processing a photolithographic pattern curve mask according to an embodiment of the present invention; Figure 2 This is a schematic diagram of the closed curve C1 and its control points in the target photolithography pattern of a processing method according to an embodiment of the present invention. Figure 3 This is a schematic diagram of the closed curve C2 and its control points in the target photolithography pattern of a processing method according to an embodiment of the present invention. Figure 4 This is a flowchart illustrating the process of filtering self-intersecting curve segments according to an embodiment of the present invention. Figure 5 This is a flowchart illustrating the process of filtering self-intersecting control points according to an embodiment of the present invention. Figure 6 This is a flowchart illustrating the process of filtering self-intersecting control points according to another embodiment of the present invention; Figure 7 This is a flowchart illustrating the process of eliminating self-intersecting curve segments according to an embodiment of the present invention. Figure 8 Yes Figure 2 A schematic diagram of the structure of the new closed curve and its control points obtained after processing the closed curve C1 in the diagram; Figure 9 Yes Figure 3 A schematic diagram of the structure of the new closed curve and its control points obtained after processing the closed curve C2 in the diagram; Figure 10 This is a schematic diagram of a computer program product according to an embodiment of the present invention; Figure 11 This is a schematic diagram of a computer-readable storage medium according to an embodiment of the present invention; and Figure 12 This is a schematic diagram of a computer device according to an embodiment of the present invention. Detailed Implementation

[0018] The purpose of the photolithography pattern curve mask processing method in this embodiment is to reduce or avoid the pattern self-intersection problem generated in the photolithography pattern curve mask.

[0019] Figure 1 This is a schematic flowchart of a method for processing a photolithographic pattern curve mask according to an embodiment of the present invention. The method generally includes: S100: Obtain multiple control points in the target photolithography pattern used to represent closed curves. The control points are sequentially adjacent according to the extension direction of the closed curve. S200, determine the self-intersecting curve segments in the closed curve, and determine the control points used to represent the self-intersecting curve segments as candidate control points; S300, based on the adjacency order of control points, determines the preceding and succeeding control points of each candidate control point; S400, based on the relationship between the preceding and / or following control points of the candidate control points and the self-intersecting curve segments, determines the self-intersecting control points among the candidate control points.

[0020] In this embodiment, the closed curve can be a parametric curve, such as a Bézier curve or a spline curve (e.g., a B-spline curve). Both Bézier curves and spline curves define the shape of the curve using a set of control points. By adjusting the positions of the control points, the shape and direction of the curve can be easily changed, enabling precise representation of various complex geometric shapes. Taking a B-spline curve as an example, its complete closed curve is defined in segments. Each curve segment is described by two or more control points (based on the order of the B-spline curve), and all control points are arranged adjacently in the direction of extension of the closed curve (e.g., clockwise or counterclockwise).

[0021] Please see Figure 2-3 , Figure 2 The diagram illustrates the closed curve C1 and its control points in the target photolithography pattern. Figure 3 The diagram illustrates the closed curve C2 and its control points in the target photolithography pattern. The outline of the pink-filled area represents the closed curve, the pink-filled portion is the internal region of the closed curve, and the red dots are the control points.

[0022] Self-intersection of curves refers to the occurrence of errors or confusion in the order or position of two or more control points, leading to problems such as intersecting figures, distortion of the internal regions of closed curves, and overlapping in the parametric curves. These errors in the order and position of control points may occur during the optimization of curve masks using computational lithography (CL) technology. Computational lithography techniques include optical proximity correction (OPC) and inverse lithography (ILT) technology. In particular, inverse lithography, due to its higher degree of freedom in correcting curve masks during optimization, is especially prone to errors or confusion in the order and position of control points, thus resulting in self-intersecting patterns.

[0023] Please continue reading Figure 2-3 , Figure 2 The incorrect sequence and position of control points C, D, E, and F caused curve intersections and distortion in the internal region. Figure 3 The control points J, K, L, Q, R, S, etc., are in the wrong order or position, causing curves to intersect and internal areas to overlap.

[0024] Those skilled in the art can use various methods to retrieve and determine self-intersecting curve segments and their candidate control points within a closed curve. For example, the curve segment containing the self-intersecting curve segment can be determined based on whether the lines of the closed curve intersect or whether there is an abrupt change in curvature, and candidate control points representing that curve segment can be obtained. It should be noted that multiple closed curves may exist in the target photolithography pattern, and a certain closed curve may have one or more self-intersecting curve segments; these can be processed one by one according to a predetermined order. Figure 2-3 For example, by searching, it can be determined Figure 2 C, D, E, F in the middle Figure 3 J, K, L, Q, R, and S are candidate control points.

[0025] Next, candidate control points need to be processed to eliminate self-intersecting curve segments in closed curves. After careful research, the inventors discovered that not all candidate control points directly cause self-intersections in the curve; self-intersecting curve segments are directly caused by some candidate control points (called self-intersecting control points). As mentioned earlier, each curve segment in a closed curve is described by at least two control points; that is, each curve segment containing a self-intersecting curve segment is described by two or more candidate control points. Candidate control points that are adjacent to normal control points (i.e., control points other than candidate control points) generally do not need to be processed and cannot be processed, because these candidate control points, together with the adjacent normal control points, describe the preceding / following normal curve segment of the self-intersecting curve segment. Processing these candidate control points would affect the shape of the normal curve segment. Only some candidate control points that are not adjacent to normal control points directly cause self-intersections in the curve, and therefore belong to the category of self-intersecting control points (e.g.,...). Figure 2 Points D and E in the middle, Figure 3 (Points K and R in the diagram).

[0026] Based on the above findings, the inventors propose a solution to eliminate self-intersecting curve segments without affecting the normal curve segments in a closed curve. Specifically, firstly, the preceding and following control points of each candidate control point are obtained. A preceding control point is the control point preceding the one in the adjacent order of the extension direction of the closed curve, and a following control point is the control point following the one in the adjacent order. Then, based on the relationship between the preceding and / or following control points of each candidate control point and the self-intersecting curve segment—that is, whether the preceding and / or following control points are used to describe the curve segment containing the self-intersecting curve segment—self-intersecting control points are determined from the candidate control points. For example, if both the preceding and following control points of the current candidate control point are used to describe the self-intersecting curve segment, meaning both the preceding and following control points are also candidate control points, it indicates that the current candidate control point is not adjacent to a normal control point and therefore belongs to the category of self-intersecting control points, requiring processing to eliminate the self-intersecting curve segment.

[0027] Next, the selected self-intersecting control points need to be processed. Specifically, the target lithography pattern can be a stage pattern obtained from a certain iteration calculation during the reverse lithography optimization process, or the final pattern obtained after the reverse lithography optimization is completed. In this case, the self-intersecting curve segments in the target lithography pattern can be eliminated by deleting the self-intersecting control points.

[0028] The target lithography pattern can also be used as a virtual pattern obtained by virtual correction based on the correction amount calculated in a certain round of iterations during the reverse lithography optimization process. When self-intersecting curve segments are found in the virtual pattern, the corresponding self-intersecting control points are determined. In the actual correction, the self-intersecting control points are not corrected; only the control points other than the self-intersecting control points are corrected. In this way, self-intersecting situations can be prevented during the optimization process.

[0029] The photolithography pattern curve mask processing method in this embodiment obtains self-intersecting curve segments in a closed curve and candidate control points representing these segments. Based on the relationship between the preceding and / or succeeding control points of the candidate control points and the self-intersecting curve segments, it identifies the self-intersecting control points that directly cause pattern self-intersections within the control points of the closed curve. By processing these self-intersecting control points, the self-intersection problem in the photolithography pattern curve mask is reduced or avoided without affecting the normal curves within the closed curve.

[0030] In some embodiments of the processing method of the present invention, such as Figure 4 As shown, determining the self-intersecting curve segments in a closed curve, and determining the control points used to represent the self-intersecting curve segments as candidate control points, includes: S211, connect two adjacent control points with straight lines to obtain multiple line segments; S213, Identify self-intersecting segments among multiple line segments. A self-intersecting segment is a line segment that has three or more intersecting line segments. S215, the control points that serve as the endpoints of the self-intersecting line segments are determined as candidate control points, and the curve segments represented by the candidate control points are determined as self-intersecting curve segments.

[0031] This embodiment is used to quickly and accurately select candidate control points from all control points of a closed curve. Specifically, the coordinates of all control points of the closed curve can be obtained first. Then, according to the adjacency order of the control points, straight lines are used to connect each pair of adjacent control points to obtain polygons with the control points as vertices. Still using... Figure 2-3 For example, the red dashed lines in the figure show the straight lines connecting adjacent control points, which are the line segments that make up the polygon.

[0032] Next, identify self-intersecting segments among all line segments that have three or more intersecting segments. In the absence of self-intersections, each line segment in the polygon has two intersecting segments, i.e., segments connected to one of its two endpoints. In the presence of self-intersections, there will be three or more intersecting segments. For example, all control points can be obtained in adjacency order to form a control point list. The adjacency order is used to determine the index of each control point in the control point list. Next, traverse all line segments in the pairwise order of the control point list, checking each segment for three or more intersecting segments. If so, add the endpoint of that segment to the candidate control point list. The candidate control point list can be represented as {index1, index2, index3, index4...}, where indexN is the index of the selected candidate control point in the original control point list, and all candidate control points in the candidate control point list are arranged in adjacency order.

[0033] Please continue reading Figure 2-3 , Figure 2 Since line segment CD intersects line segment EF, they are both self-intersecting line segments. Figure 3 Since line segment JK intersects line segment RS and line segment KL intersects line segment QR, they are both self-intersecting line segments.

[0034] Compared to methods that calculate whether the lines of a closed curve intersect or whether the curvature changes abruptly, this embodiment only needs to calculate the straight lines, thus quickly and accurately determining all candidate control points and self-intersecting curve segments in the closed curve.

[0035] In some embodiments of the processing method of the present invention, such as Figure 5 As shown, determining intersecting control points from candidate control points includes: determining intersecting control points based on whether the preceding and succeeding control points of each candidate control point are also candidate control points. For example, the above steps may specifically include: S411, Traverse the candidate control points to determine whether the preceding and following control points of the traversed candidate control points are also candidate control points; S413, in response to the fact that the subsequent control points of the candidate control points that are only traversed belong to the candidate control points, the subsequent control points of the candidate control points that are traversed are determined as self-intersecting control points. S415, in response to the fact that the preceding control point of the candidate control point being traversed is a candidate control point, the preceding control point of the candidate control point being traversed is determined as a self-intersecting control point. S417, in response to the fact that both the preceding and following control points of the traversed candidate control point are candidate control points, the traversed candidate control point is determined as a self-intersecting control point.

[0036] In this embodiment, the candidate control point list can be traversed to determine whether the preceding and succeeding control points of the traversed candidate control point are also candidate control points.

[0037] First, if the preceding control point of a traversed candidate control point is not a candidate control point, but the following control point is a candidate control point, it indicates that the traversed candidate control point is adjacent to a normal control point, while the following control point is not adjacent to a normal control point. Therefore, the following control point is determined to be a self-intersecting control point. Second, if the following control point of a traversed candidate control point is not a candidate control point, but the preceding control point is a candidate control point, it indicates that the traversed candidate control point is adjacent to a normal control point, while the preceding control point is not adjacent to a normal control point. Therefore, the preceding control point is determined to be a self-intersecting control point. Finally, if both the preceding and following control points of a traversed candidate control point are candidate control points, it indicates that the traversed candidate control point is not adjacent to a normal control point. Therefore, the traversed candidate control point is determined to be a self-intersecting control point.

[0038] In some embodiments of the processing method of the present invention, such as Figure 6 As shown, the step of determining intersecting control points based on whether the preceding and succeeding control points of each candidate control point are also candidate control points further includes: S421, Traverse each control point in adjacency order. For the current control point being traversed: S422, determine whether the conditions for entering self-intersection are met. The conditions for entering self-intersection include that the preceding control point of the current control point is not a candidate control point, the current control point is a candidate control point, and the pre-set global state parameter is a default value, which means that the self-intersection curve segment range has not been entered. If the conditions for entering self-intersection are met, execute S423; otherwise, execute S424. S423, determine the subsequent control point of the current control point as the self-intersecting control point, and set the value of the global state parameter to the reference value, which indicates that the self-intersecting curve segment has been entered; S424, determine whether the self-intersection separation condition is met. The self-intersection separation condition includes that the current control point belongs to the candidate control point, the subsequent control point of the current control point does not belong to the candidate control point, and the value of the global state parameter is the reference value. If the self-intersection separation condition is met, execute S425; otherwise, execute S426. S425, determine the preceding control point of the current control point as a self-intersecting control point, and set the value of the global state parameter to the default value; S426, determine whether the value of the global state parameter is a reference value; if it is a reference value, execute S427; if not, determine that the current control point is not a self-intersecting control point; S427, if it is a reference value, then the current control point is determined as a self-intersecting control point.

[0039] In this embodiment, the state of all control points in the control point list can first be set to 0 (control point state 0 indicates a non-self-intersecting control point, and 1 indicates a self-intersecting control point), and a global state parameter can be set. The default value of the global state parameter can be 0, indicating that it has not entered the range of the self-intersecting curve segment, and the reference value can be 1, indicating that it has entered the range of the self-intersecting curve segment.

[0040] Next, iterate through the list of control points and determine whether the current control point p (e.g., index), its predecessor control point p_pre (e.g., index_pre), and its successor control point p_nex (e.g., index_nex) exist in the list of candidate control points.

[0041] If the preceding control point p_pre does not exist in the candidate control point list, the current control point p exists in the candidate control point list, and the global state parameter value is 0, then the self-intersection condition is met. Therefore, the subsequent control point p_nex is determined as a self-intersection control point, that is, the value of p_nex is changed from 0 to 1, and the value of the global state parameter is changed from 0 to 1. Still using... Figure 2-3 For example, the values ​​of points D, K, and R will be set to 1.

[0042] It's important to understand that each curve segment is described by at least two control points. Therefore, candidate control points will not exist alone; at least two adjacent candidate control points will always be present. Thus, if the preceding control point p_pre is not in the candidate control point list, and the current control point p is in the candidate control point list, then the subsequent control point p_nex must also be in the candidate control point list.

[0043] If, without satisfying the self-intersection condition, the current control point p exists in the candidate control point list, the subsequent control point p_nex does not exist in the candidate control point list, and the global state parameter is 1, then the self-intersection condition is satisfied. Therefore, the value of the preceding control point p_pre is changed to 1, and the value of the global state parameter is changed from 1 to 0. (Continuing with...) Figure 2-3 For example, the value of point E will be set to 1.

[0044] If the self-intersection condition is not met, and the global state parameter is 1, then the current control point p is determined to have a value of 1. If the global state parameter is 0, then the current control point p is determined to have a value of 0. Control points with a state value of 1 are self-intersecting control points.

[0045] In this embodiment, by setting the state and global state parameters of the control points and traversing the control point list, candidate control points for self-intersecting curve segments under various complex conditions can be screened, accurately identifying the self-intersecting control points that directly cause the graphics to self-intersect, providing a reference for subsequent processing.

[0046] In some embodiments of the processing method of the present invention, such as Figure 7 As shown, after the step of determining the intersecting control points from the candidate control points, the method further includes: S511, delete all self-intersecting control points of the closed curve; S513, use the remaining control points to update the shape of the closed curve to obtain the optimized photolithography pattern.

[0047] This embodiment is used to correct self-intersecting curve segments that already appear in the lithography layout. The target lithography layout can be a stage layout obtained from a certain round of iteration calculation during the reverse lithography optimization process, or the final layout obtained after the reverse lithography optimization is completed.

[0048] In this embodiment, by deleting all the self-intersecting control points selected, that is, all candidate control points with a state value of 1, and then arranging the remaining control points in an adjacent order, a closed curve is regenerated, which is the target photolithography pattern that has eliminated the self-intersecting pattern.

[0049] Please see Figure 8-9 , Figure 8 It indicated that Figure 2 The new closed curve and its control points are obtained by processing the closed curve C1 in the diagram. Figure 9 Indicated to Figure 3 The new closed curve and its control points are obtained by processing the closed curve C2 in the original curve. Figure 8 Self-intersecting control points D and E were deleted. Figure 9 Self-intersecting control points K and R were deleted.

[0050] In some embodiments of the processing method of the present invention, before the step of obtaining multiple control points in the target photolithography pattern to represent closed curves, the method further includes: Obtain the initial photolithography pattern, perform optical proximity effect correction or reverse photolithography calculation on the initial closed curve of the initial photolithography pattern, and obtain the correction amount for each initial control point used to represent the initial closed curve; The initial control point is moved using the correction amount to obtain the target photolithography pattern; After the step of identifying intersecting control points from the candidate control points, the following steps are also included: In the initial photolithography pattern, only the initial control points corresponding to the control points other than the self-intersecting control points are moved by the correction amount to obtain the optimized photolithography pattern.

[0051] This embodiment is used to prevent self-intersecting graphics that may appear in the layout but have not yet appeared.

[0052] Specifically, in the optimization process of optical proximity effect correction or reverse lithography calculation on the initial photolithography pattern, after calculating the correction amount of each initial control point of the initial closed curve in the initial photolithography pattern, the correction amount is not directly applied. Instead, a virtual pattern of the initial photolithography pattern, i.e., the target photolithography pattern, is set. Next, the correction amount is moved in the target photolithography pattern, the initial closed curve is updated to a closed curve, and the initial control points are updated to control points. Then, using the method of the previous embodiment, self-intersecting control points are selected from the control points. Next, the initial control points corresponding to the self-intersecting control points are determined in the initial photolithography pattern as fixed points, and the correction amounts are moved for all initial control points other than the fixed points to obtain the optimized photolithography pattern. In this way, pattern self-intersection is avoided or reduced during the optimization process.

[0053] The flowchart provided in this embodiment is not intended to indicate that the operations of the method will be performed in any particular order, or that all operations of the method are included in every case. Furthermore, the method may include additional operations. Within the scope of the technical concept provided by the method in this embodiment, additional variations can be made to the above method.

[0054] It should be understood that in some embodiments, the components may be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods may be implemented using software or firmware stored in memory and executed by a suitable instruction execution system.

[0055] This invention also provides a computer program product 10, a computer-readable storage medium 20, and a computer device 30. Figure 10 This is a schematic diagram of a computer program product 10 according to an embodiment of the present invention. Figure 11 This is a schematic diagram of a computer-readable storage medium 20 according to an embodiment of the present invention. Figure 12 This is a schematic diagram of a computer device 30 according to an embodiment of the present invention. The computer program product 10 includes a computer program 11, which, when executed by the processor 32, implements the steps of the photolithographic pattern mask processing method described above. A computer-readable storage medium 20 stores the computer program 11 thereon, which, when executed by the processor 32, implements the steps of the photolithographic pattern mask processing method described above. The computer device 30 may include a memory 31, a processor 32, and the computer program 11 stored in the memory 31 and running on the processor 32.

[0056] The computer program 11 used to perform the operations of this invention may be assembly instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, integrated circuit configuration data, or source code or object code written in any combination of one or more programming languages ​​and procedural programming languages. The computer program 11 may execute 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 the latter case, the remote computer may be connected to the user's computer via any type of network, including a Local Area Network (LAN) or Wide Area Network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, to perform aspects of this invention, electronic circuits, including, for example, programmable logic circuits, Field-Programmable Gate Arrays (FPGAs), or Programmable Logic Arrays (PLAs), may execute computer-readable program instructions to personalize the electronic circuits by utilizing state information from computer-readable program instructions.

[0057] For the purposes of this embodiment, computer program product 10 is a related product that includes computer program 11.

[0058] For the purposes of this embodiment, the computer-readable storage medium 20 is a tangible device capable of holding and storing a computer program 11. It can be any device capable of containing, storing, communicating, propagating, or transmitting the computer program 11 for use by or in conjunction with an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable storage medium 20 include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable optical disc read-only memory (CD-ROM), digital versatile disc (DVD), memory stick, floppy disk, mechanical encoding device, and any suitable combination thereof.

[0059] Computer device 30 can be, for example, a server, desktop computer, laptop computer, tablet computer, or smartphone. In some examples, computer device 30 can be a cloud computing node. Computer device 30 can be described in the general context of computer system executable instructions (such as program modules) executed by a computer system. Typically, program modules can include routines, programs, object programs, components, logic, data structures, etc., that perform specific tasks or implement specific abstract data types. Computer device 30 can be implemented in a distributed cloud computing environment where tasks are performed by remote processing devices linked through a communication network. In a distributed cloud computing environment, program modules can reside on local or remote computing system storage media, including storage devices.

[0060] Computer device 30 may include a processor 32 adapted to execute stored instructions and a memory 31 that provides temporary storage space for the operation of said instructions during operation. The processor 32 may be a single-core processor, a multi-core processor, a computing cluster, or any other configuration. The memory 31 may include random access memory (RAM), read-only memory, flash memory, or any other suitable storage system.

[0061] Computer device 30 may also include a network adapter / interface and an input / output (I / O) interface. The I / O interface allows external devices that can be connected to the computer device to input and output data. The network adapter / interface provides communication between the computer device and a network, typically represented as a communication network.

[0062] Therefore, those skilled in the art should recognize that although numerous exemplary embodiments of the present invention have been shown and described in detail herein, many other variations or modifications conforming to the principles of the present invention can be directly determined or derived from the disclosure of the present invention without departing from the spirit and scope of the invention. Thus, the scope of the present invention should be understood and construed as covering all such other variations or modifications.

Claims

1. A method for processing a photolithographic pattern curve mask, characterized in that, include: Obtain multiple control points in the target photolithography pattern to represent closed curves, wherein the control points are sequentially adjacent according to the extension direction of the closed curves; Identify the self-intersecting curve segments in the closed curve, and identify the control points representing the self-intersecting curve segments as candidate control points; Based on the adjacency order of the control points, the preceding and following control points of each candidate control point are determined. Based on the relationship between the preceding and / or following control points of the candidate control points and the self-intersecting curve segments, self-intersecting control points are determined from the candidate control points.

2. The processing method according to claim 1, characterized in that, The step of determining the self-intersecting curve segment in the closed curve and determining the control point representing the self-intersecting curve segment as a candidate control point includes: By connecting two adjacent control points with straight lines, multiple line segments are obtained; Among the multiple line segments, self-intersecting line segments are identified, where a self-intersecting line segment is a line segment with three or more intersecting line segments. The control point that serves as the endpoint of the self-intersecting line segment is determined as the candidate control point, and the curve segment represented by the candidate control point is determined as the self-intersecting curve segment.

3. The processing method according to claim 1, characterized in that, The step of determining intersecting control points from the candidate control points includes: Self-intersecting control points are determined based on whether the preceding and succeeding control points of each candidate control point also belong to the candidate control point; wherein, if only the succeeding control point of the candidate control point belongs to the candidate control point, the succeeding control point of the candidate control point is determined as the self-intersecting control point; if only the preceding control point of the candidate control point belongs to the candidate control point, the preceding control point of the candidate control point is determined as the self-intersecting control point; if both the preceding and succeeding control points of the candidate control point belong to the candidate control point, the candidate control point is determined as the self-intersecting control point.

4. The processing method according to claim 3, characterized in that, The step of determining the self-intersecting control point based on whether the preceding and succeeding control points of each candidate control point also belong to the candidate control point includes: Traverse each control point in adjacency order. For the current control point being traversed: Determine whether the conditions for entering self-intersection are met. The conditions for entering self-intersection include that the preceding control point of the current control point is not a candidate control point, the current control point is a candidate control point, and the value of the pre-set global state parameter is a default value, which indicates that the self-intersection curve segment range has not been entered. If the self-intersection condition is met, the subsequent control point of the current control point is determined as the self-intersection control point, and the value of the global state parameter is set to a reference value, which indicates that the self-intersection curve segment range has been entered. If the entry self-intersection condition is not met, then it is determined whether the exit self-intersection condition is met. The exit self-intersection condition includes that the current control point belongs to the candidate control point, the subsequent control point of the current control point does not belong to the candidate control point, and the value of the global state parameter is the reference value. If the self-intersection condition is met, then the preceding control point of the current control point is determined as the self-intersection control point, and the value of the global state parameter is set to the default value. If the self-intersection condition is not met, then determine whether the value of the global state parameter is the reference value; If it is the reference value, then the current control point is determined as the self-intersecting control point.

5. The processing method according to claim 1, characterized in that, The closed curve is a Bézier curve or a B-spline curve.

6. The processing method according to claim 1, characterized in that, After the step of determining the intersecting control points from the candidate control points, the method further includes: Delete all self-intersecting control points of the closed curve; The shape of the closed curve is updated using the remaining control points to obtain an optimized photolithography pattern.

7. The processing method according to claim 1, characterized in that, Before the step of obtaining multiple control points in the target photolithography pattern used to represent closed curves, the method further includes: Obtain the initial photolithography pattern, perform optical proximity effect correction or reverse photolithography calculation on the initial closed curve of the initial photolithography pattern, and obtain the correction amount used to represent each initial control point of the initial closed curve; The initial control point is moved using the correction amount to obtain the target photolithography pattern; After the step of determining the intersecting control points from the candidate control points, the method further includes: In the initial photolithography pattern, the correction amount is moved only to the initial control points corresponding to the control points other than the self-intersecting control points to obtain the optimized photolithography pattern.

8. A computer-readable storage medium, characterized in that, It stores a computer program, which, when executed by a processor, implements the steps of the processing method for the photolithographic pattern curve mask as described in any one of claims 1 to 7.

9. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the processing method for the photolithographic pattern curve mask as described in any one of claims 1 to 7.

10. A computer device, characterized in that, The method includes a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the processing method for a photolithographic pattern mask according to any one of claims 1 to 7.