OPC correction method, device, medium, program product and terminal for curved mask
Through the OPC correction method of the curve mask version, including line segment merging and iterative optimization, the problem of limitations in the curve graph optimization in the prior art is solved, and more efficient OPC correction and layout processing is achieved.
Patent Information
- Application Number
- CN202411225912.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-03
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2044-09-03
AI Technical Summary
The existing OPC method has limitations in the optimization of curved graphics, and it is difficult to effectively capture and correct complex graphics distortion.
By obtaining the original curve mask layout, extracting the line segments and endpoint coordinates, performing multiple rounds of line segment merging operations, generating the first optimized layout, and performing multiple iterative optimization based on the preset optimization function to generate a curve mask layout corrected by OPC.
It effectively simplifies the complexity of the layout, reduces the number of line segments and vertices, improves the efficiency of OPC correction, and significantly improves the efficiency of layout processing.
Smart Images

Figure CN118732381B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the semiconductor field, and in particular to an OPC correction method, device, medium, program product and terminal for a curved mask. Background Art
[0002] Photolithography is a crucial part of the chip manufacturing process, which converts the circuit design drawings into the actual physical structure on the wafer. However, nonlinear effects in the optical system, mask and photoresist system can cause graphic distortion, that is, deviations in the transfer process from the design graphics to wafer manufacturing. This distortion will affect the performance and yield of the chip. Existing mask pattern optimization technology mainly relies on optical proximity correction (OPC), which minimizes graphic distortion by simulating and optimizing the mask layout. OPC is usually optimized based on the objective function of edge position error (EPE) or critical dimension (CD). However, for target graphics with curve input, OPC correction faces huge challenges. This is because the complexity of the curve graphics and the huge amount of data make it difficult for traditional OPC algorithms to optimize efficiently. Summary of the invention
[0003] In view of the shortcomings of the prior art mentioned above, the purpose of the present application is to provide an OPC correction method, device, medium, program product and terminal for a curved mask, so as to solve the problem that the existing OPC method only relies on an objective function based on EPE or CD, which has limitations for the optimization of curved graphics and makes it difficult to effectively capture and correct the distortion of complex graphics.
[0004] To achieve the above-mentioned purpose and other related purposes, the first aspect of the present application provides an OPC correction method for a curved mask plate, the method comprising: obtaining an original curved mask plate; extracting all line segments and the endpoint coordinates at both ends of the line segments from the original curved mask plate; based on the line segments and the endpoint coordinates at both ends of the line segments, performing multiple rounds of line segment merging operations on adjacent line segments to generate a first optimized layout; based on a preset optimization function, performing multiple rounds of iterative optimization on the first optimized layout to generate an OPC-corrected curved mask plate.
[0005] In some embodiments of the first aspect of the present application, the process of performing multiple rounds of line segment merging operations on adjacent line segments to generate a first optimized layout includes: traversing all adjacent line segments in the original curve mask layout, and determining whether the geometric relationship parameters between the current adjacent line segments fall within the preset merging threshold range; if the geometric relationship parameters between the current adjacent line segments fall within the preset merging threshold range, then extracting the two endpoints with the farthest distance from the endpoint coordinates of the current two adjacent line segments as the endpoints of the merged line segment, and taking the line segment formed by the two endpoints with the farthest distance as the merged line segment; repeating the above steps until the geometric relationship parameters between all adjacent line segments do not fall within the preset merging threshold range.
[0006] In some embodiments of the first aspect of the present application, the process of determining whether the geometric relationship parameters between current adjacent line segments fall within a preset merging threshold range includes: calculating the angle between the current two adjacent line segments based on the line segment and the endpoint coordinates at both ends of the line segment; if the angle is greater than a preset merging angle threshold, it is determined to fall within the merging threshold range; otherwise, it is determined to not fall within the merging threshold range; and / or, based on the line segment and the endpoint coordinates at both ends of the line segment, calculating the ratio of the length of the shorter line segment to the length of the longer line segment of the current two adjacent line segments; if the ratio is less than a preset merging length ratio threshold, it is determined to fall within the merging threshold range; otherwise, it is determined to not fall within the merging threshold range.
[0007] In some embodiments of the first aspect of the present application, based on a preset optimization function, the first optimized layout is subjected to multiple rounds of iterative optimization to generate an OPC-corrected curved mask plate, and the process includes: performing optical simulation on the first optimized layout to generate a first simulation layout; based on the preset optimization function, calculating the error between the first simulation layout and the original curved mask layout, and performing an iterative optimization operation on the first optimized layout according to the error to generate a second optimized layout; performing optical simulation on the second optimized layout to generate a second simulation layout; based on the preset optimization function, calculating the error between the second simulation layout and the original curved mask layout, and determining whether the current error is less than a preset error threshold, if it is less than the preset error threshold, the second optimized layout is the final OPC-corrected curved mask plate; if the error is not less than the preset error threshold, performing the iterative optimization operation on the second optimized layout again until the error between the second simulation layout after the iterative optimization operation and the original curved mask layout is less than the preset error threshold.
[0008] In some embodiments of the first aspect of the present application, the process of performing the iterative optimization operation on the layout to be optimized includes: performing optical simulation on the layout to be optimized to generate a simulated layout to be optimized; calculating the error between the simulated layout to be optimized and the original curve mask layout according to the preset optimization function, and generating a translation optimization direction of each line segment in the current layout to be optimized based on the error; moving each line segment along its corresponding translation optimization direction to generate an iteratively optimized layout; wherein the translation optimization direction includes: moving along the normal direction of the current line segment to the inside of the layout to be optimized or to the outside of the layout to be optimized.
[0009] In some embodiments of the first aspect of the present application, the preset optimization function includes: any one of an edge placement error and a CD error.
[0010] To achieve the above-mentioned purpose and other related purposes, the second aspect of the present application provides an OPC correction device for a curved mask plate, including: a data acquisition module: used to acquire an original curved mask layout; a line segment merging module: used to extract all line segments and the endpoint coordinates at both ends of the line segments from the original curved mask layout; based on the line segments and the endpoint coordinates at both ends of the line segments, perform multiple rounds of line segment merging operations on adjacent line segments to generate a first optimized layout; an OPC optimization module: used to perform multiple rounds of iterative optimization on the first optimized layout based on a preset optimization function to generate a curved mask plate that has been corrected by OPC.
[0011] To achieve the above-mentioned purpose and other related purposes, the third aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, and the computer program implements the OPC correction method of the curved mask when executed by a processor.
[0012] To achieve the above-mentioned purpose and other related purposes, the fourth aspect of the present application provides a computer program product, which includes a computer program code. When the computer program code runs on a computer, the computer implements the OPC correction method of the curved mask.
[0013] To achieve the above-mentioned purpose and other related purposes, the fifth aspect of the present application provides an electronic terminal, including a memory, a processor and a computer program stored in the memory; the processor executes the computer program to implement the OPC correction method of the curved mask.
[0014] As described above, the OPC correction method, device, medium, program product and terminal of the curved mask of the present application have the following beneficial effects: by merging and iteratively optimizing the line segments of the original curved mask layout, the layout complexity is effectively simplified, the number of line segments and vertices is reduced, and the efficiency of OPC correction is improved. At the same time, the present application also significantly improves the layout processing efficiency, provides a practical solution for electronic design automation, and greatly promotes the efficiency and intelligence of the integrated circuit design process. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 A flow chart of an embodiment of an OPC correction method for a curved mask of the present application is shown.
[0016] Figure 2 A schematic diagram of a line segment merging operation in an embodiment of an OPC correction method for a curved mask of the present application is shown.
[0017] Figure 3 A schematic diagram of a multi-round iterative optimization process in an embodiment of an OPC correction method for a curved mask of the present application is shown.
[0018] Figure 4 A structural schematic diagram of an embodiment of an OPC correction device for a curved mask of the present application is shown.
[0019] Figure 5 A structural schematic diagram of an embodiment of an OPC correction terminal for a curved mask of the present application is shown. DETAILED DESCRIPTION
[0020] The following describes the embodiments of the present application through specific examples, and those skilled in the art can easily understand other advantages and effects of the present application from the contents disclosed in this specification. The present application can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present application. It should be noted that the following embodiments and features in the embodiments can be combined with each other without conflict.
[0021] Before further explaining the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations:
[0022] <1> Curve mask layout: Curve mask layout refers to a layout used for photolithography in the integrated circuit manufacturing process, which contains geometric information of various shapes in the integrated circuit, including multiple curves. These curves are usually used to realize complex circuit structures, such as capacitors, inductors and transmission lines.
[0023] <2> EPE function: EPE (Edge Placement Error) function stands for edge position error function. In the photolithography process, the EPE function describes the deviation between the edge of the actual pattern formed after photolithography and the edge of the designed layout, and is usually used to evaluate the accuracy and consistency of the photolithography process.
[0024] <3> CD function: CD (Critical Dimension) function refers to the critical dimension function. In integrated circuit manufacturing, the CD function describes the critical dimensions of integrated circuit components, such as the gate length of transistors and the width of wires. The critical dimensions are crucial to the performance and reliability of the device.
[0025] <4> Optical simulation: Optical simulation refers to the use of computers to simulate the behavior of light propagation, diffraction and interference during the lithography process. It is used to predict the formation process of lithography patterns and evaluate the impact of different process conditions on the final results, thereby helping to optimize the lithography process to improve accuracy and consistency.
[0026] <5> Simulation layout: A simulation layout refers to a virtual layout used for optical simulation, which usually contains the same geometric information as the actual layout, but some parts may be simplified or modified to improve simulation speed and efficiency.
[0027] <6> Arc length segmentation: Arc length segmentation is a method of segmenting a curve into multiple arc segments, with each arc segment having the same length. This method is mainly used to simplify curve processing and improve computational efficiency.
[0028] <7> Curvature Radius Segmentation: Curvature Radius Segmentation is a method of segmenting a curve into multiple arc segments, each with a consistent radius of curvature. This method helps to better control the shape and distribution of the curve.
[0029] <8> Corner detection segmentation: Corner detection segmentation is a method of segmenting a curve into multiple arc segments, requiring the endpoints of each arc segment to be the corner points of the curve. This method helps to simplify the geometry of the curve and improve processing efficiency.
[0030] To facilitate understanding of the embodiments of the present application, first Figure 1 Detailed description. Figure 1 The flowchart of an OPC correction method for a curved mask in an embodiment of the present application is shown. The OPC correction method for a curved mask in this embodiment mainly includes the following steps:
[0031] Step S11: Obtain the original curve mask layout.
[0032] In one embodiment of the present application, a curved mask layout is a layout design for manufacturing optical elements, which is generally used in the field of micro-nano manufacturing, such as manufacturing diffraction gratings, lenses, waveguides, etc. The curved mask layout is a two-dimensional graphic composed of curved shapes, which is used to define the shape and structure of the optical element. The parameters defining the curved mask layout include but are not limited to: curve shape, characteristic size and material information. Among them, the curve shape includes but is not limited to: various curves such as arcs and spirals. The characteristic size includes the width and spacing of the curve shape. The material information defines the material type and thickness of the optical element.
[0033] Step S12: extracting all line segments and the endpoint coordinates of both ends of the line segments from the original curve mask layout.
[0034] In one embodiment of the present application, the format type of the original curve mask layout file includes but is not limited to a vector graphics file (such as SVG, DXF) or an image file (such as PNG, JPEG). First, the original curve mask layout file is subjected to data format conversion and noise filtering operations to convert the vector graphics file into a programmable geometric data structure, or image segmentation and edge detection are performed on the image file to convert the image into a format described by line segments. Subsequently, a filtering operation is performed on the format-converted data to remove noise points therein.
[0035] In one embodiment of the present application, the original curve mask layout is segmented using a preset segmentation method to decompose the layout curve into multiple line segments. The preset segmentation methods include but are not less than: segmentation based on arc length, segmentation based on curvature change, and segmentation based on corner point detection. Among them, segmentation based on arc length refers to segmenting the curve into several segments at equal intervals, and the arc length of each segment is consistent. Segmentation based on curvature change refers to segmentation where the curvature changes greatly. Segmentation based on corner point detection refers to detecting corner points on the curve and then segmenting at the corner points.
[0036] Furthermore, a straight line segment recognition operation is performed on the segmented curve. The straight line segment recognition operation includes but is not limited to: performing straight line fitting on the curve segments by the least square method, specifically, performing straight line fitting on each curve segment, calculating the fitting error, and controlling the fitting error within a preset range; performing fitting by angle judgment, specifically, calculating the angle between the line connecting the two end points of the curve segment and the reference direction, and controlling the angle of adjacent line segments obtained by fitting within a preset range. Finally, directly obtaining the endpoint coordinates according to the start and end point coordinates of the line segment obtained by fitting, and converting the extracted endpoint coordinates into a target format, such as a two-dimensional coordinate array or other specific formats.
[0037] Exemplarily, first, the first vertex v1 needs to be selected, and the selection method includes but is not limited to: randomly selecting a vertex, selecting the leftmost vertex, selecting the rightmost vertex, or selecting according to other specific conditions. Then, using the above selected v1 as the starting point, search for the first line segment connected to v1 in a clockwise or counterclockwise direction, and define the line segment as a1, and its other end is the second vertex v2. Next, using v2 as the starting point, search for the first line segment connected to v2 in a clockwise direction, called a2, and its other end is the third vertex v3, and repeat the above operation for the remaining line segments and endpoints.
[0038] Step S13: Based on the line segments and the endpoint coordinates at both ends of the line segments, multiple rounds of line segment merging operations are performed on the adjacent line segments to generate a first optimized layout.
[0039] Figure 2 A schematic diagram of a line segment merging operation in an embodiment of the present invention is shown. The order of the multiple rounds of line segment merging operations is to traverse each line segment and its corresponding endpoint coordinates in a clockwise or counterclockwise direction along the edge of the curved mask, and in each round of merging operations, determine whether the two adjacent line segments in the current merging round meet the preset merging threshold. The method of extracting the first line segment of the multiple rounds of line segment merging operations includes but is not limited to: extracting the first line segment in the clockwise or counterclockwise direction corresponding to the rightmost or leftmost endpoint in the original curved mask as the starting point of the multiple rounds of line segment merging operations. At the same time, any line segment can also be randomly extracted from the original curved mask as the starting point of the multiple rounds of line segment merging operations.
[0040] In one embodiment of the present application, the process of performing multiple rounds of line segment merging operations on adjacent line segments to generate a first optimized layout includes: traversing all adjacent line segments in the original curve mask layout, and determining whether the geometric relationship parameters between the current adjacent line segments fall within the preset merging threshold range; if the geometric relationship parameters between the current adjacent line segments fall within the preset merging threshold range, extracting the two endpoints with the farthest distance from the endpoint coordinates of the current two adjacent line segments as the endpoints of the merged line segment, and using the line segment formed by the two endpoints with the farthest distance as the merged line segment; repeating the above steps until the geometric relationship parameters between all adjacent line segments do not fall within the preset merging threshold range.
[0041] In one embodiment of the present application, the process of determining whether the geometric relationship parameters between the current adjacent line segments fall within a preset merging threshold range includes: calculating the angle between the current two adjacent line segments based on the line segment and the endpoint coordinates at both ends of the line segment; if the angle is greater than the preset merging angle threshold, it is determined to fall within the merging threshold range; otherwise, it is determined to not fall within the merging threshold range; and / or, based on the line segment and the endpoint coordinates at both ends of the line segment, calculating the ratio of the length of the shorter line segment to the length of the longer line segment of the current two adjacent line segments; if the ratio is less than the preset merging length ratio threshold, it is determined to fall within the merging threshold range; otherwise, it is determined to not fall within the merging threshold range.
[0042] In one embodiment of the present application, the process of the angle being greater than a preset merge angle threshold and performing a corresponding line segment merging operation includes the following steps. First, the angle between line segments a1 and a2 is calculated, and a merge threshold is set, such as 170 degrees. When the angle is greater than 170 degrees, it means that the angle relationship between the two line segments is relatively open and suitable for merging. At this time, line segments a1 and a2 are merged, that is, point v1 and point v3 are directly connected to form a new line segment. This strategy aims to optimize the graph structure so that the number of line segments can be effectively simplified under certain conditions while maintaining the connectivity of the graph.
[0043] Preferably, when the merging threshold in this embodiment is 170 to 180 degrees, it is possible to maintain a good screening degree while avoiding distortion of the corrected mask. The reason is that when the angle is greater than 170 degrees, the angle between the line segments a1 and a2 is very wide, which means that their extension directions are almost parallel, and merging these two line segments will not significantly interfere with the shape of the original pattern. In addition, setting the merging threshold within this range can avoid unnecessary connections, thereby reducing changes to the curve and maintaining the clarity and integrity of the original pattern. On the contrary, if the threshold is set too small, it may cause part of the original curve to be merged incorrectly, causing the pattern to be distorted or lose details. Therefore, the merging strategy of 170 to 180 degrees can protect the original form of the curved mask pattern to the greatest extent while ensuring the effectiveness of the connection.
[0044] In one embodiment of the present application, the length ratio between line segments a1 and a2 is determined, and whether to merge is determined based on a set merging threshold (e.g., 0.01). When the ratio of the length of the short line segment to the length of the long line segment is less than 0.01, it indicates that the length of the short line segment is almost negligible compared to the long line segment, and finally the line segments a1 and a2 are merged.
[0045] Preferably, when setting the length ratio merging threshold, the reasonable value range is usually between 0.01 and 0.1. The selection of this range is based on the following considerations: First, setting a threshold that is too small (such as less than 0.01) may cause important details of short line segments to be ignored during merging, causing the pattern to lose its characteristics, while between 0.01 and 0.1, the proportional relationship between the line segments can be better maintained, ensuring that the merged figure can still represent the original form. Secondly, merging within this range can significantly reduce the complexity of the calculation and the number of line segments in the figure without causing excessive loss of details, thereby optimizing the efficiency of subsequent algorithms. In addition, the threshold range of 0.01 to 0.1 makes this method have good applicability and flexibility, can handle different patterns and complexities, and is suitable for curved mask plates of various shapes.
[0046] In one embodiment of the present application, the straight lines in the original curve mask layout are first merged by merging the angle threshold, and then the straight lines in the original curve mask layout are merged by merging the length ratio threshold, and multiple rounds of iterative optimization operations are performed in the original curve mask layout in this order.
[0047] It should be noted that the double screening method in this embodiment has significant advantages. Since the curved mask layout usually has a complex and delicate structure, the angle screening performed first can identify line segments that can be effectively merged within a large range, retain important turning points and features in the graphics, and avoid the loss of local details due to unnecessary merging. Subsequently, further screening of the length ratio ensures that while simplifying the line segments, important mask pattern features are retained to the greatest extent. Therefore, this embodiment not only improves the screening efficiency, but also makes the optimized layout as close to the original layout as possible, providing a stable foundation for subsequent processing and analysis.
[0048] Step S14: Based on a preset optimization function, performing multiple rounds of iterative optimization on the first optimized layout to generate an OPC-corrected curved mask.
[0049] In one embodiment of the present application, based on a preset optimization function, the first optimized layout is subjected to multiple rounds of iterative optimization to generate an OPC-corrected curved mask plate. The process includes: performing optical simulation on the first optimized layout to generate a first simulation layout; based on the preset optimization function, calculating the error between the first simulation layout and the original curved mask layout, and performing an iterative optimization operation on the first optimized layout according to the error to generate a second optimized layout; performing optical simulation on the second optimized layout to generate a second simulation layout; based on the preset optimization function, calculating the error between the second simulation layout and the original curved mask layout, and judging whether the current error is less than a preset error threshold, if it is less than the preset error threshold, the second optimized layout is the final OPC-corrected curved mask plate; if the error is not less than the preset error threshold, performing the iterative optimization operation on the second optimized layout again until the error between the second simulation layout after the iterative optimization operation and the original curved mask layout is less than the preset error threshold.
[0050] Figure 3 A schematic diagram of a multi-round iterative optimization process in an embodiment of the present application is shown. The multi-round iterative optimization operation includes the following steps: simulating the optimized layout to generate a simulated layout, and the simulated layout is used to evaluate the quality of the optimized layout; calculating the objective function in the current round of iterative optimization based on the difference between the simulated layout and the original layout, and the objective function is used to evaluate the error of the optimized layout; determining the translation optimization direction of each endpoint according to the objective function, and the translation optimization direction is used to guide the movement of the endpoint; performing corresponding translation optimization on each endpoint according to the translation optimization direction, and performing curve fitting operations based on all the translated endpoints to generate a new optimized layout. Furthermore, the translation optimization direction of the endpoint is to move inward or outward along the discovery direction at the current endpoint to further adjust and optimize the shape and position of the optimized mask layout.
[0051] In one embodiment of the present application, the process of performing the iterative optimization operation on the layout to be optimized includes: performing optical simulation on the layout to be optimized to generate a simulated layout to be optimized; calculating the error between the simulated layout to be optimized and the original curve mask layout according to the preset optimization function, and generating a translation optimization direction of each line segment in the current layout to be optimized based on the error; moving each line segment along its corresponding translation optimization direction to generate an iteratively optimized layout; wherein the translation optimization direction includes: moving along the normal direction of the current line segment to the inside of the layout to be optimized or to the outside of the layout to be optimized.
[0052] Further, when the preset optimization function is an EPE function, that is, the corresponding iterative optimization operation is performed by the minimum distance between the edge of the original design graphic and the edge of the actual manufacturing graphic, the process of the iterative optimization operation includes: generating the corresponding optimized layout after each translation of the line segment, optically simulating the optimized layout to generate the "actual manufacturing layout", importing the "actual manufacturing layout" and the original design layout into the EDA tool, so that the EDA tool automatically identifies the edges and lines of the two patterns, and calculates the distance between the two graphics. Find the closest manufacturing edge corresponding to the design edge in the graphic comparison result, and calculate the vertical distance between the design edge and the corresponding manufacturing edge, and then summarize the distance values of all edges to obtain the EPE of each endpoint. Further, the collected EPE values can also be statistically analyzed, including the maximum EPE, the minimum EPE, the average EPE and the standard deviation, etc., to evaluate the accuracy and consistency of the overall manufacturing process.
[0053] It should be noted that the above embodiments respectively introduce two different translation strategies, among which the first embodiment is to move the endpoints and adjust the optimized layout by determining the translation optimization direction of each endpoint. The second embodiment is to move the entire line segment and realize translation optimization along the normal direction of each line segment. For the first embodiment, when moving the endpoint, the calculation process of EPE includes: first, determining the optimization direction of translation for each endpoint according to the optimization strategy; then moving the specified endpoint position in this direction; finally, calculating and updating the EPE value of the edge adjacent to the moving endpoint, and the calculation of EPE only involves the graphics adjacent to the endpoint, and the EPE values of other graphics are not affected. For the second embodiment, when moving the entire line segment, the calculation process of EPE is: first, determining the optimization direction of movement along the normal direction of each line segment; then, translating the entire line segment according to this direction and updating the line segment position; then, calculating the EPE value of the entire line segment edge at the new position, which may change the relative position of the line segment with other elements; finally, it is necessary to recalculate the EPE value of all graphics that intersect or are adjacent to the line segment at the new position. The main difference between the two is that the EPE calculation of the moving endpoint only involves the edges related to the moving endpoint, and the impact range is smaller. When moving the entire line segment, the EPE calculation needs to consider the edges of the entire line segment and update the EPE values of all graphics that intersect or are adjacent to the line segment, which has a wider impact range.
[0054] In one embodiment of the present application, after each line segment is moved along its corresponding translation optimization direction, the following operation is also performed: Check whether the moved line segment needs to be properly extended to meet the design rules and ensure the spacing requirements between the line segments. Then, a new closed area is formed by the optimized and extended line segments, and the area constitutes the optimized mask layout to ensure that all line segments are accurately connected to form a complete closed area.
[0055] In one embodiment of the present application, the following steps are further performed when generating the OPC-corrected curved mask: redundant line segments in the curved mask are eliminated, and the edges are smoothed, and the shape is further optimized to meet the design specifications. Finally, the optimized mask layout is verified to ensure that it meets the functional and manufacturing requirements. If it does not meet the requirements, the line segments need to be translated again and the next round of iterative optimization is performed.
[0056] In one embodiment of the present application, the preset optimization function includes: any one of edge placement error and CD error.
[0057] In one embodiment of the present application, the preset optimization function also includes multiple optimization functions such as line width tolerance consistency, shape rule evaluation, and performance management. Specifically, the preset optimization function comprehensively considers the line width tolerance consistency of the optimized mask layout to ensure high yield and low defect rate. At the same time, the evaluation of shape rules, such as minimum line spacing and minimum aperture, can also be introduced to ensure that the pattern meets the design specifications. In terms of manufacturing adaptability, the optimization process is adjusted according to specific processes such as lithography and etching to meet process requirements. In addition, it is necessary to evaluate the performance effects of the electrical performance and thermal management of the mask layout to ensure the feasibility of the optimized pattern in practical applications. Finally, through multi-objective optimization, while maintaining the accuracy of shape and size, the manufacturing cost is minimized. After multiple rounds of iterations, the independent variable values corresponding to the optimal solution are determined to be d1, d2,…, dn. The polygonal figure obtained at this time is the final curve mask pattern after OPC correction.
[0058] In the embodiments of the present application, words such as "first" and "second" are used to distinguish the same or similar items with basically the same functions and effects. For example, the first optimization layout and the second optimization layout are only used to distinguish different optimization layouts, and their order is not limited. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit them to be different.
[0059] It should be noted that in the embodiments of the present application, words such as "exemplary" or "for example" represent examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0060] In the embodiments of the present application, "at least one" refers to one or more, and "plurality" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can represent: a, b, c, ab, ac, bc or abc, where a, b, c can be single or multiple.
[0061] Figure 4 is a schematic block diagram of an OPC correction device for a curved mask provided in an embodiment of the present application. Figure 4 As shown, the device includes a data acquisition module 401, a line segment merging module 402 and an OPC optimization module 403.
[0062] Data acquisition module 401: used to acquire the original curve mask layout.
[0063] The line segment merging module 402 is used to extract all line segments and the endpoint coordinates of the line segments from the original curve mask layout; based on the line segments and the endpoint coordinates of the line segments, perform multiple rounds of line segment merging operations on adjacent line segments to generate a first optimized layout.
[0064] OPC optimization module 403: used to perform multiple rounds of iterative optimization on the first optimized layout based on a preset optimization function to generate an OPC-corrected curved mask.
[0065] It should be understood that the specific process of each module executing the above corresponding steps has been described in detail in the above method embodiment, and for the sake of brevity, it will not be repeated here.
[0066] It should also be understood that the division of modules in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, each functional module in each embodiment of the present application may be integrated into a processor, or may exist physically separately, or two or more modules may be integrated into one module. The above-mentioned integrated modules may be implemented in the form of hardware or in the form of software functional modules.
[0067] Figure 5 is a schematic block diagram of an electronic terminal provided in an embodiment of the present application. Figure 5As shown, the electronic terminal includes: at least one processor 501, a memory 502, at least one network interface 503 and a user interface 505. The various components in the device are coupled together through a bus system 504. It can be understood that the bus system 504 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 504 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, Figure 5 In the specification, various buses are labeled as bus systems.
[0068] The user interface 505 may include a display, a keyboard, a mouse, a trackball, a click gun, keys, buttons, a touch pad or a touch screen.
[0069] It is understood that the memory 502 can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), which is used as an external cache. By way of exemplary but not limiting explanation, many forms of RAM are available, such as static random access memory (SRAM), synchronous static random access memory (SSRAM). The memory described in the embodiments of the present application is intended to include but is not limited to these and any other suitable categories of memory.
[0070] The memory 502 in the embodiment of the present application is used to store various types of data to support the operation of the electronic terminal 500. Examples of these data include: any executable program for operating on the electronic terminal 500, such as an operating system 5021 and an application 5022; the operating system 5021 includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and processing hardware-based tasks. The application 5022 can include various applications, such as a media player (Media Player), a browser (Browser), etc., for implementing various application services. The OPC correction method for implementing the curve mask provided in the embodiment of the present application can be included in the application 5022.
[0071] The method disclosed in the above embodiment of the present application can be applied to the processor 501, or implemented by the processor 501. The processor 501 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the processor 501. The above processor 501 may be a general processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The processor 501 can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general processor 501 can be a microprocessor or any conventional processor, etc. In combination with the steps of the accessory optimization method provided in the embodiment of the present application, it can be directly embodied as a hardware decoding processor to execute, or it can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium, which is located in a memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
[0072] In an exemplary embodiment, the electronic terminal 500 may be implemented by one or more application specific integrated circuits (ASIC), DSP, programmable logic device (PLD), complex programmable logic device (CPLD) to execute the aforementioned method.
[0073] According to the method provided in the embodiments of the present application, the present application also provides a computer program product, which includes: computer program code, when the computer program code is run on a computer, the computer executes the OPC correction method for the curved mask of any of the embodiments shown in the above embodiments.
[0074] According to the method provided in the embodiments of the present application, the present application also provides a computer-readable storage medium, which stores a program code. When the program code runs on a computer, the computer executes the OPC correction method for the curved mask plate in any of the embodiments shown above.
[0075] The terms "component", "module", "system", etc. used in this specification are used to represent computer-related entities, hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process, a processor, an object, an executable file, an execution thread, a program and / or a computer running on a processor. By way of illustration, both applications and computing devices running on a computing device can be components. One or more components may reside in a process and / or an execution thread, and a component may be located on a computer and / or distributed between two or more computers. In addition, these components may be executed from various computer-readable media having various data structures stored thereon. Components may, for example, communicate through local and / or remote processes according to signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system and / or a network, such as the Internet interacting with other systems through signals).
[0076] Those of ordinary skill in the art will appreciate that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0077] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0078] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0079] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0080] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0081] In the above embodiments, the functions of each functional unit can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (Digital Subscriber Line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media integrated. Available media may be magnetic media (e.g., floppy disks, hard disks, tapes), optical media (e.g., high-density digital video discs (DVDs), or semiconductor media (e.g., solid state disks (SSDs)).
[0082] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can essentially or in other words, the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store program codes.
[0083] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
[0084] In summary, the present application provides an OPC correction method, device, medium, program product and terminal for a curved mask. The present application provides an accelerated OPC correction method for a curved mask, by extracting line segment information from the original curved mask layout, and performing multiple rounds of iterative optimization on the extracted line segments based on preset judgment conditions, and finally generating an OPC-corrected curved mask. The present application effectively simplifies the layout complexity, reduces the number of line segments and vertices, thereby improving the efficiency of OPC correction, and significantly improving the layout processing efficiency. Therefore, the present application effectively overcomes the various shortcomings of the prior art and has a high industrial utilization value.
[0085] The above embodiments are merely illustrative of the principles and effects of the present application and are not intended to limit the present application. Anyone familiar with the technology may modify or change the above embodiments without violating the spirit and scope of the present application. Therefore, all equivalent modifications or changes made by a person of ordinary skill in the art without departing from the spirit and technical ideas disclosed in the present application shall still be covered by the claims of the present application.
Claims
1. A method for correcting the OPC of a curved mask, characterized in that: The method comprises: Get the original curve mask layout; Extracting all line segments and the endpoint coordinates of both ends of the line segments from the original curve mask layout; Based on the line segments and the endpoint coordinates at both ends of the line segments, multiple rounds of line segment merging operations are performed on the adjacent line segments to generate a first optimized layout; the process of generating the first optimized layout includes: traversing all adjacent line segments in the original curve mask layout, and judging whether the geometric relationship parameters between the current adjacent line segments fall within the preset merging threshold range, and the process of judging whether the geometric relationship parameters between the current adjacent line segments fall within the preset merging threshold range includes: based on the line segments and the endpoint coordinates at both ends of the line segments, calculating the angle between the current two adjacent line segments, if the angle is greater than the preset merging angle threshold, it is judged to fall within the merging threshold range; otherwise, it is judged to not fall within the merging threshold range; Based on a preset optimization function, multiple rounds of iterative optimization are performed on the first optimized layout to generate an OPC-corrected curved mask.
2. The OPC correction method for a curved mask according to claim 1, characterized in that: The process of performing multiple rounds of line segment merging operations on adjacent line segments to generate a first optimized layout includes: If the geometric relationship parameters between the current adjacent line segments fall within the preset merging threshold range, the two endpoints with the farthest distance are extracted from the endpoint coordinates of the current two adjacent line segments as the endpoints of the merged line segment, and the line segment formed by the two endpoints with the farthest distance is used as the merged line segment; The above steps are repeated until the geometric relationship parameters between all adjacent line segments do not fall within the preset merging threshold range.
3. The OPC correction method for a curved mask according to claim 2, characterized in that: The process of judging whether the geometric relationship parameters between the current adjacent line segments fall within the preset merging threshold range includes: And / or, based on the line segment and the endpoint coordinates at both ends of the line segment, calculate the ratio of the length of the shorter line segment to the length of the longer line segment of the current two adjacent line segments; if the ratio is less than a preset merge length ratio threshold, it is determined to fall within the merge threshold range; otherwise, it is determined to not fall within the merge threshold range.
4. The OPC correction method for a curved mask according to claim 1, characterized in that: The process of performing multiple rounds of iterative optimization on the first optimized layout based on a preset optimization function to generate a curved mask after OPC correction includes: Performing optical simulation on the first optimized layout to generate a first simulated layout; calculating the error between the first simulated layout and the original curve mask layout based on a preset optimization function, and performing an iterative optimization operation on the first optimized layout according to the error to generate a second optimized layout; Performing optical simulation on the second optimized layout to generate a second simulated layout; calculating the error between the second simulated layout and the original curved mask layout based on a preset optimization function, and determining whether the current error is less than a preset error threshold, if it is less than the preset error threshold, the second optimized layout is the final OPC-corrected curved mask; If the error is not less than the preset error threshold, the iterative optimization operation is performed again on the second optimized layout until the error between the second simulation layout after the iterative optimization operation and the original curve mask layout is less than the preset error threshold.
5. The OPC correction method for a curved mask according to claim 4, characterized in that: The process of performing the iterative optimization operation on the layout to be optimized includes: Performing optical simulation on the layout to be optimized to generate a simulation layout to be optimized; According to the preset optimization function, the error between the simulation layout to be optimized and the original curve mask layout is calculated, and based on the error, the translation optimization direction of each line segment in the current layout to be optimized is generated; each line segment is moved along its corresponding translation optimization direction to generate an iteratively optimized layout; wherein the translation optimization direction includes: moving along the normal direction of the current line segment to the inside of the layout to be optimized or to the outside of the layout to be optimized.
6. The OPC correction method for a curved mask according to claim 4, characterized in that: The preset optimization function includes: any one of edge placement error and CD error.
7. An OPC correction device for a curved mask, characterized in that: include: Data acquisition module: used to obtain the original curve mask layout; A line segment merging module: used to extract all line segments and the endpoint coordinates of both ends of the line segments from the original curve mask layout; based on the line segments and the endpoint coordinates of both ends of the line segments, perform multiple rounds of line segment merging operations on adjacent line segments to generate a first optimized layout; The process of generating the first optimized layout includes: traversing all adjacent line segments in the original curve mask layout, and judging whether the geometric relationship parameters between the current adjacent line segments fall within the preset merging threshold range, and the process of judging whether the geometric relationship parameters between the current adjacent line segments fall within the preset merging threshold range includes: calculating the angle between the current two adjacent line segments based on the line segment and the endpoint coordinates of both ends of the line segment, if the angle is greater than the preset merging angle threshold, it is judged to fall within the merging threshold range; otherwise, it is judged to not fall within the merging threshold range; OPC optimization module: used to perform multiple rounds of iterative optimization on the first optimized layout based on a preset optimization function to generate an OPC-corrected curved mask.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the OPC correction method for the curved mask according to any one of claims 1 to 6 is implemented.
9. A computer program product, characterized in that The computer program product includes computer program codes, and when the computer program codes are run on a computer, the computer is enabled to implement the OPC correction method for a curved mask according to any one of claims 1 to 6.
10. An electronic terminal comprising a memory, a processor and a computer program stored in the memory, characterized in that: The processor executes the computer program to implement the OPC correction method for a curved mask according to any one of claims 1 to 6.
Citation Information
Patent Citations
Mask rule checking for curvilinear masks for electronic circuits
CN114008620A
KR20240036674A