Method, device, medium, program product and terminal for manhattanizing mask generation of convex polygon mask

By segmenting and buffering the convex polygonal mask layout, a left-right symmetrical Manhattanized mask is generated, which solves the problem of generating jogs or fragmented line segments in Manhattan OPC and improves mask printing efficiency.

CN121411065BActive Publication Date: 2026-03-31HUAXINCHENG (HANGZHOU) TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-12-26
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

In existing technologies, the generation of convex polygon masks using Manhattan OPC is prone to producing jogs or fragmented line segments, and the lack of left-right point symmetry during mask printing results in low printing efficiency.

Method used

The convex polygon mask pattern is segmented using a buffer technique to generate first and second buffers, which are then Manhattanized and merged to generate a left-right symmetrical Manhattanized mask.

Benefits of technology

It effectively solves the problem of generating jogs or fragmentation of ultra-short line segments in traditional Manhattan optimization, improves the efficiency of mask printing, and ensures that the mask has left and right point symmetry, avoiding the secondary rectangular slicing step.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121411065B_ABST
    Figure CN121411065B_ABST
Patent Text Reader

Abstract

The application provides a Manhattan mask generation method, device, medium, program product and terminal of a convex polygon mask, and the application generates a buffer area by using a buffer area technology, and performs Manhattan in the area. The purpose is to combine multiple line segments in the convex polygon and then perform Manhattan, so that fewer Manhattan edges can be generated to approximate the original mask pattern, and the problem that a jog or fragmented line segment is easily generated in the traditional Manhattan optimization can be solved. The application also cuts the convex polygon into left and right parts, simultaneously performs Manhattan on the left and right parts, so that the finally generated convex polygon Manhattan mask has left-right point symmetry, avoids secondary rectangularization, saves the slicing step during subsequent mask printing, improves the production efficiency, and avoids the generation of a jog again.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of semiconductor manufacturing technology, and in particular to a method, apparatus, medium, process product, and terminal for generating Manhattan-style masks of convex polygonal masks. Background Technology

[0002] Photolithography is a critical process in chip manufacturing. Nonlinear effects in photolithography refer to the nonlinear responses occurring in the optical system, mask, and photoresist system, leading to transfer distortion from the design layout to wafer fabrication. Current mask pattern optimization primarily utilizes Optical Proximity Correction (OPC) technology. OPC simulates and optimizes the mask layout based on objective functions such as Edge Placement Error (EPE) or Critical Dimension, thereby minimizing pattern distortion caused by nonlinear effects such as optical distortion during semiconductor manufacturing.

[0003] Traditional mask OPC techniques typically employ Manhattan optimization. However, for input convex polygon masks, using Manhattan OPC, such as... Figure 1 As shown, excessively short original edges will generate corresponding jogs or fragmented line segments in the approximate polygon, as well as... Figure 2 and Figure 3 As shown, when using the generated approximate polygon to print as a mask, the approximate polygon does not have left-right point symmetry. When printing the actual mask, it is necessary to re-cut the approximate polygon into rectangles, which not only increases the algorithm time, but also may generate new jogs. Summary of the Invention

[0004] In view of the shortcomings of the prior art, the present invention provides a Manhattanization mask generation method, apparatus, medium, program product and terminal for convex polygonal masks, which solves the problems of easy generation of jogs or fragmented line segments when using Manhattan OPC in the prior art, and low printing efficiency caused by the lack of left and right point symmetry during mask printing.

[0005] To achieve the above and other related objectives, a first aspect of this application provides a method for generating a Manhattanized mask for a convex polygon mask, comprising: obtaining an original convex polygon mask layout; segmenting the convex polygons in the original convex polygon mask layout to obtain a first polyline and a second polyline; generating a first buffer corresponding to the first polyline and a second buffer corresponding to the second polyline using buffer technology; and performing Manhattanization and merging processing based on the first buffer and the second buffer to obtain a Manhattanized mask for the convex polygon.

[0006] In some embodiments of the first aspect of this application, the process of segmenting the convex polygons in the original convex polygon mask layout to obtain a first polyline and a second polyline includes: extracting the highest point and the lowest point of the convex polygon from the original convex polygon mask layout; forming a line between the highest point and the lowest point; and cutting the convex polygon based on the line to obtain the first polyline and the second polyline.

[0007] In some embodiments of the first aspect of this application, the process of generating a first buffer corresponding to a first polyline using buffer technology includes: dividing the first polyline into several line segments according to the inflection point, translating each line segment by a preset distance to obtain two parallel lines for each line segment; and sequentially connecting and supplementing the two parallel lines of all line segments to generate a first buffer corresponding to the first polyline.

[0008] In some embodiments of the first aspect of this application, the process of translating each line segment by a preset distance to obtain two parallel lines for each line segment includes: moving along the normal direction of the current line segment to the interior and exterior of the current line segment by preset distances respectively, to obtain two parallel lines parallel to the current line segment.

[0009] In some embodiments of the first aspect of this application, the process of performing Manhattanization based on the first buffer and the second buffer includes: extracting the lowest point of the convex polygon in the original convex polygon mask layout, and drawing a horizontal line with the ordinate of the lowest point; performing a filtering comparison operation based on the horizontal line in the first buffer and the second buffer to obtain the current Manhattan edge of the first buffer and the current Manhattan edge of the second buffer that are perpendicular to the horizontal line and meet the preset filtering conditions; wherein the ordinate of the current Manhattan edge of the first buffer and the current Manhattan edge of the second buffer are the same; drawing a horizontal line with the ordinate of the highest point of the current Manhattan edge, and continuing to perform the filtering comparison operation until a number of Manhattan edges of the first buffer and a number of Manhattan edges of the second buffer are obtained.

[0010] In some embodiments of the first aspect of this application, the preset filtering conditions include: the current Manhattan edge is perpendicular to the horizontal line and does not exceed the area range of the first buffer and the second buffer.

[0011] To achieve the above and other related objectives, a second aspect of this application provides a Manhattanization mask generation apparatus for a convex polygon mask, comprising: a data acquisition module for acquiring an original convex polygon mask layout; a convex polygon segmentation module for segmenting the convex polygons in the original convex polygon mask layout to obtain a first polyline and a second polyline; a buffer generation module for generating a first buffer corresponding to the first polyline and a second buffer corresponding to the second polyline using buffer technology; and a Manhattanization module for performing Manhattanization processing and merging processing based on the first buffer and the second buffer to obtain a convex polygon Manhattanization mask.

[0012] To achieve the above and other related objectives, a third aspect of this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the Manhattan mask generation method for the convex polygon mask.

[0013] To achieve the above and other related objectives, a fourth aspect of this application provides a computer program product comprising computer program code that, when executed on a computer, causes the computer to implement the Manhattan mask generation method for the convex polygon mask.

[0014] To achieve the above and other related objectives, a fifth aspect of this 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 Manhattan mask generation method for the convex polygon mask.

[0015] As described above, the Manhattan mask generation method, apparatus, medium, program product, and terminal for convex polygonal masks provided in this application have the following beneficial effects:

[0016] (1) This application uses buffer technology to generate buffers and performs Manhattanization within the region. The purpose is to combine multiple adjacent line segments in the convex polygon and then perform Manhattanization. In the end, fewer Manhattan edges can be generated to approximate the original mask pattern, which can solve the problem that ultra-short line segments in traditional Manhattan optimization are prone to generating jobs or fragmented line segments.

[0017] (2) This application also cuts the convex polygon into two parts, and performs Manhattanization on the two parts at the same time, so that the final generated convex polygon Manhattanization mask has left and right point symmetry, avoids secondary rectangularization, that is, saves the slicing step in subsequent mask printing, which not only improves production efficiency, but also avoids generating jog again. Attached Figure Description

[0018] Figure 1The diagram shown is a schematic representation of a jog generation method in one embodiment of this application.

[0019] Figure 2 The diagram shown is a schematic of a convex polygon Manhattanization mask generated using traditional Manhattan optimization in one embodiment of this application.

[0020] Figure 3 The diagram shown is a cutting schematic of a convex polygon Manhattanization mask printing process using traditional Manhattan optimization in one embodiment of this application.

[0021] Figure 4 The diagram shown is a flowchart illustrating a Manhattan mask generation method for a convex polygonal mask in one embodiment of this application.

[0022] Figure 5 The diagram shown is a schematic representation of a structure for segmenting convex polygons in the original convex polygon mask layout according to an embodiment of this application.

[0023] Figure 6 The diagram shown is a schematic representation of the structure of a first and a second polygonal line in one embodiment of this application.

[0024] Figure 7 The diagram shown is a schematic representation of a structure in an embodiment of this application where a first broken line and a second broken line are translated.

[0025] Figure 8 The diagram shown is a schematic representation of a structure in one embodiment of this application, which sequentially connects and supplements two parallel lines of all line segments.

[0026] Figure 9 The diagram shown is a schematic representation of the structure of a first buffer and a second buffer in one embodiment of this application.

[0027] Figure 10 The diagram shown is a schematic representation of a Manhattanization process performed on a first buffer and a second buffer according to an embodiment of this application.

[0028] Figure 11 The diagram shown is a structural schematic of a convex polygonal Manhattan mask according to an embodiment of this application.

[0029] Figure 12 The diagram shown is a structural schematic of a Manhattan mask generation apparatus for a convex polygonal mask according to an embodiment of this application.

[0030] Figure 13 The diagram shown is a structural schematic of an electronic terminal according to an embodiment of this application. Detailed Implementation

[0031] The following specific examples illustrate the implementation of this application. Those skilled in the art can easily understand other advantages and effects of this application from the content disclosed in this specification. This application can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of this application. It should be noted that, in the absence of conflict, the following embodiments and features in the embodiments can be combined with each other. Before further detailing the present invention, the nouns and terms involved in the embodiments of the present invention are explained. The nouns and terms involved in the embodiments of the present invention are subject to the following interpretations:

[0032] <1> Photomask: In semiconductor manufacturing, a photomask is a template used for photolithography, on which the pattern of the chip is printed. The photolithography process projects the chip pattern onto a silicon wafer.

[0033] <2> Convex polygon: A polygon is called a convex polygon if any line segment connecting any two vertices of the polygon is inside the polygon.

[0034] <3> A jog is a zigzag pattern consisting of two segments parallel to the X-axis (a, b) and one segment parallel to the Y-axis (c). When the length of c is less than the industrially required value, the pattern is called a jog. Jogs are not feasible in mask printing.

[0035] <4> OPC Correction: Optical Proximity Correction is a technique used to improve the quality of lithographic patterns on semiconductor chips. It makes small corrections to the original design pattern to compensate for optical and chemical effects during the lithography process, thereby improving the precision and reliability of chip manufacturing.

[0036] <5> Approximate polygon: The result of Manhattan approximation of a polygon is called an approximate polygon.

[0037] To facilitate understanding of the embodiments of this application, firstly, in conjunction with Figure 4 Detailed explanation. Figure 4 This document illustrates a flowchart of a Manhattan mask generation method for a convex polygonal mask according to an embodiment of the present invention. The method in this embodiment includes:

[0038] Step S11: Obtain the original convex polygon mask layout.

[0039] In one embodiment of this application, the original convex polygon mask layout refers to the digital-analog design of the chip, that is, the process of mapping logic circuits onto the actual physical layout. The original convex polygon mask layout includes the specific location and layout information of each logic gate, interconnection, and circuit element, and is designed into an original digital layout according to the functional and performance requirements of the logic circuit, so as to facilitate subsequent physical design, verification, and manufacturing processes.

[0040] Step S12: Segment the convex polygons in the original convex polygon mask layout to obtain a first polyline and a second polyline. In one embodiment of this application, the process of segmenting the convex polygons in the original convex polygon mask layout to obtain a first polyline and a second polyline includes: extracting the highest point and the lowest point of the convex polygon from the original convex polygon mask layout; forming a line between the highest point and the lowest point; and cutting the convex polygon based on the line to obtain the first polyline and the second polyline.

[0041] Combination Figure 5 and Figure 6 illustrate, Figure 5 Point A is the highest point of the convex polygon, and point B is the lowest point of the convex polygon. Connecting points A and B forms a line, and cutting the convex polygon with this line yields the first polyline. Figure 6 (a) in the middle and the second broken line ( Figure 6 (b) in the middle.

[0042] Step S13: Use buffer technology to generate the first buffer corresponding to the first polyline and the second buffer corresponding to the second polyline.

[0043] In one embodiment of this application, the process of generating a first buffer corresponding to a first polyline using buffer technology includes: dividing the first polyline into several line segments according to the inflection point, translating each line segment by a preset distance to obtain two parallel lines for each line segment; and sequentially connecting and supplementing the two parallel lines of all line segments to generate the first buffer corresponding to the first polyline.

[0044] It should be noted that the first polyline is composed of several line segments, and the connection point between each line segment is a fold point, meaning that the line segments are connected by fold points. In this embodiment, each line segment is separated according to the fold points of the first polyline, and each line segment is processed separately. In one embodiment of this application, the process of translating each line segment by a preset distance to obtain two parallel lines for each line segment includes: moving along the normal direction of the current line segment towards the interior and exterior of the current line segment by preset distances respectively, to obtain two parallel lines parallel to the current line segment. It should be noted that the interior and exterior of the current line segment are a pair of relative concepts, depending on the exterior and interior of the convex polygon in the original convex polygon mask layout, such as... Figure 5As shown, the area within the convex polygon is called the interior, and the area outside the convex polygon is called the exterior. Therefore, the interior of the current line segment is the area facing the convex polygon, and the exterior of the current line segment is the area facing the convex polygon.

[0045] Combination Figure 7 Note that, for the first broken line ( Figure 7 Each line segment decomposed in (a) is translated. Specifically, the current line segment is moved inward by a preset distance along its normal direction to obtain a first parallel line parallel to the current line segment, with the same length as the current line segment. Then, the current line segment is moved outward by a preset distance along its normal direction to obtain a second parallel line parallel to the current line segment, with the same length as the current line segment. Finally, two parallel lines of equal length are obtained, parallel to the current line segment. The same operation is performed on all segments of the first broken line to obtain two parallel lines for each segment.

[0046] In this embodiment, the preset distance is set according to the actual situation and is not limited here.

[0047] Referring to point 8, after obtaining the two parallel lines of each line segment, the parallel lines outside the first broken line are connected according to the connection order of each line segment. If there is a gap between the parallel line of the current line segment and the parallel line of the next line segment, an arc is constructed using the inflection point of the current line segment and the next line segment as the center point and a preset distance as the radius to fill the gap, so that the parallel lines of the current line segment, the arc, and the parallel lines of the next line segment can be connected sequentially. One endpoint of the arc is connected to the endpoint of the parallel line of the current line segment, and the other endpoint of the arc is connected to the endpoint of the parallel line of the next line segment.

[0048] Further, the parallel lines inside the first broken line are connected according to the connection order of each line segment. If there is an intersection point between the current line segment's parallel line and the next line segment's parallel line, the intersection point is used as the connection point for sequential connection. After the parallel lines outside and inside the first broken line are connected, the external connecting line and the internal connecting line of the first broken line are obtained. Then, the coordinates of the two endpoints of the first broken line are obtained, namely the first endpoint and the last endpoint. A horizontal line is drawn with the ordinate of the first endpoint and another horizontal line is drawn with the ordinate of the last endpoint. The external connecting line of the first broken line intersects with the two horizontal lines. The internal connecting line of the first broken line is extended to connect with the two horizontal lines respectively, ultimately forming the first buffer zone of the first broken line, as shown below. Figure 9 As shown in (a) of the diagram.

[0049] It should be noted that, as Figure 9In the diagram, (b) represents the second buffer corresponding to the second polyline. The process of generating the second buffer corresponding to the second polyline using buffer technology is similar to the process of generating the first buffer corresponding to the first polyline using buffer technology. The specific process has been described in detail in the above-described first buffer generation embodiment and will not be repeated here.

[0050] Step S14: Perform Manhattanization and merging processing based on the first buffer and the second buffer to obtain a convex polygon Manhattanized mask.

[0051] In one embodiment of this application, the Manhattanization process based on the first buffer and the second buffer includes: extracting the lowest point of the convex polygon in the original convex polygon mask layout, and drawing a horizontal line with the ordinate of the lowest point; performing a filtering comparison operation based on the horizontal line in the first buffer and the second buffer to obtain the current Manhattan edge of the first buffer and the current Manhattan edge of the second buffer that are perpendicular to the horizontal line and meet the preset filtering conditions; wherein the ordinate of the current Manhattan edge of the first buffer and the current Manhattan edge of the second buffer are the same; drawing a horizontal line with the ordinate of the highest point of the current Manhattan edge, and continuing to perform the filtering comparison operation until several Manhattan edges of the first buffer and several Manhattan edges of the second buffer are obtained.

[0052] In one embodiment of this application, the preset filtering conditions include: the current Manhattan edge is perpendicular to the horizontal line and does not exceed the area range of the first buffer and the second buffer. Specifically, the current Manhattan edge of the first buffer is perpendicular to the current horizontal line and is within the area range of the first buffer; the ordinates of the current Manhattan edge of the first buffer and the current Manhattan edge of the second buffer are the same, and the current Manhattan edge of the second buffer is perpendicular to the current horizontal line and is within the area range of the second buffer.

[0053] Combination Figure 10 Note that a horizontal line is drawn using the ordinate of the lowest point of the convex polygon. Figure 10 Find the longest line segment perpendicular to the first horizontal dashed line (the first horizontal dashed line) within the first buffer and within the first buffer. At the same time, find the longest line segment perpendicular to the first horizontal dashed line (the first horizontal dashed line) within the second buffer and within the second buffer. Then compare the lengths of the longest line segments in the first and second buffers and select the shorter longest line segment as the current Manhattan edge.

[0054] Combination Figure 10For example, using the first horizontal dashed line as the vertical reference, we obtain the longest line segment of the first buffer and the longest line segment of the second buffer. It can be seen that the longest line segment of the first buffer is shorter than the longest line segment of the second buffer. Therefore, the longest line segment of the first buffer is used as the current Manhattan edge of the first buffer. The generation principle for the current Manhattan edge of the second buffer is: perpendicular to the first horizontal dashed line, within the second buffer, and with the same length as the current Manhattan edge of the first buffer (i.e., equal in length). If there are multiple vertical edges in the second buffer that meet the generation principle, either any one of these vertical edges can be chosen as the current Manhattan edge of the second buffer, or the vertical edge closest to the second polygonal line of the second buffer can be chosen as the current Manhattan edge of the second buffer.

[0055] It should be noted that choosing the shortest longest line segment as the uniform length of the current Manhattan edge is to ensure that all obtained Manhattan edges are within the first and second buffer zones, and that the consistent y-coordinates ensure left-right symmetry of the endpoints of the current Manhattan edges in the first and second buffer zones. Specifically, as follows... Figure 10 As shown, the two red line segments perpendicular to the first horizontal dashed line are the longest line segments within the first buffer zone and the longest line segments within the second buffer zone, respectively. Taking the length of the longest line segment within the first buffer zone as the length of the current Manhattan edge, the longest line segment within the second buffer zone is cut off at the black dot within the second buffer zone. At this time, the endpoints of the current Manhattan edge of the first buffer zone and the current Manhattan edge of the second buffer zone have left-right symmetry.

[0056] Furthermore, extract the highest point of the current Manhattan edge of the obtained first buffer, and draw a horizontal line with the ordinate of the highest point. Figure 10 (The second horizontal dashed line in the image) continues the filtering operation based on this horizontal line. In the first buffer, the longest line segment perpendicular to the horizontal line and not exceeding the range of the first buffer is found. In the second buffer, the longest line segment perpendicular to the horizontal line and not exceeding the range of the second buffer is found. The longest line segment in the first buffer is compared with the longest line segment in the second buffer, and the shorter line segment is selected as the current Manhattan edge. For example... Figure 10 As shown, when using the second horizontal dashed line as the vertical reference, the longest line segment of the first buffer and the longest line segment of the second buffer are obtained respectively. It can be seen that the longest line segment of the first buffer is still shorter than the longest line segment of the second buffer. Therefore, the longest line segment of the first buffer is used as the current Manhattan edge of the first buffer. In the second buffer, the line segment with the same length as the current Manhattan edge of the first buffer is used as the vertical reference, and the second horizontal dashed line is used as the current Manhattan edge of the second buffer.

[0057] By repeating the above steps, we obtain several Manhattan edges of the first buffer and several Manhattan edges of the second buffer. It can be seen that there is a one-to-one correspondence between the Manhattan edges of the first buffer and the Manhattan edges of the second buffer. The ordinates of the endpoints of the corresponding Manhattan edges are all the same, meaning the endpoints exhibit left-right symmetry.

[0058] It needs to be explained that, for ease of understanding, Figure 10 The horizontal dashed lines are distinguished from bottom to top as the first horizontal dashed line, the second horizontal dashed line, the third horizontal dashed line, and so on.

[0059] After obtaining several Manhattan edges from the first buffer and several Manhattan edges from the second buffer, connect the Manhattan edges from the first buffer and the Manhattan edges from the second buffer respectively, and then merge the Manhattan edges from the first and second buffers to generate the final convex polygon Manhattanized mask. Figure 11 ).

[0060] Combination Figures 1 to 11 It is important to note that this application employs a buffer technique to generate a buffer zone and performs Manhattanization within the region. The aim is to combine multiple adjacent line segments within the convex polygon before Manhattanization, ultimately generating fewer Manhattan edges to approximate the original mask pattern. This solves the problem of generating jobs or fragmented line segments easily with ultra-short line segments in traditional Manhattan optimization. Furthermore, this application divides the convex polygon into left and right parts and performs Manhattanization on both parts simultaneously. This ensures that the final generated convex polygon Manhattanized mask has left-right point symmetry, avoiding secondary rectangularization. This saves the slicing step during subsequent mask printing, improving production efficiency and preventing the regeneration of jogs.

[0061] In the embodiments of this application, the terms "first" and "second" are used to distinguish identical or similar items with essentially the same function and effect, without limiting their order. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that the terms "first" and "second" do not necessarily imply that they are different.

[0062] It should be noted that, in the embodiments of this application, the words "exemplary" or "for example" indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0063] In this application embodiment, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer 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, and c can be single or multiple.

[0064] Figure 12 This application provides a schematic block diagram of a Manhattan mask generation apparatus for convex polygonal masks. (See also...) Figure 12 As shown, the device 1200 includes:

[0065] Data acquisition module 1201 is used to acquire the original convex polygon mask layout;

[0066] The convex polygon segmentation module 1202 is used to segment the convex polygons in the original convex polygon mask layout to obtain a first polyline and a second polyline.

[0067] The buffer generation module 1203 is used to generate a first buffer corresponding to the first polyline and a second buffer corresponding to the second polyline using buffer technology.

[0068] Manhattanization module 1204 is used to perform Manhattanization and merging processing based on the first buffer and the second buffer to obtain a convex polygon Manhattanized mask.

[0069] It should be understood that the specific process of each module performing the above-mentioned steps has been described in detail in the above method embodiments, and will not be repeated here for the sake of brevity.

[0070] It should also be understood that the module division in the embodiments of this application is illustrative and only represents a logical functional division; in actual implementation, there may be other division methods. Furthermore, the functional modules in the various embodiments of this application can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. The integrated modules described above can be implemented in hardware or as software functional modules.

[0071] Figure 13 This is a schematic block diagram of the electronic terminal provided in an embodiment of this application. Figure 13As shown, the electronic terminal includes at least one processor 1301, a memory 1302, at least one network interface 1303, and a user interface 1305. The various components in the device are coupled together via a bus system 1304. It is understood that the bus system 1304 is used to implement communication between these components. In addition to a data bus, the bus system 1304 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in… Figure 13 The general will label all buses as bus systems.

[0072] The user interface 1305 may include a monitor, keyboard, mouse, trackball, clicker, button, touchpad, or touch screen.

[0073] It is understood that memory 1302 can be volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM) or programmable read-only memory (PROM), used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM) and synchronous static random access memory (SSRAM). The memories described in the embodiments of this invention are intended to include, but are not limited to, these and any other suitable categories of memory.

[0074] In this embodiment of the invention, the memory 1302 is used to store various types of data to support the operation of the electronic terminal 1300. Examples of this data include: any executable program for operation on the electronic terminal 1300, such as the operating system 13021 and application program 13022; the operating system 13021 contains various system programs, such as the framework layer, core library layer, driver layer, etc., for implementing various basic services and handling hardware-based tasks. The application program 13022 may contain various applications, such as a media player, browser, etc., for implementing various application services. The Manhattan mask generation method for the convex polygon mask provided in this embodiment of the invention can be included in the application program 13022.

[0075] The methods disclosed in the above embodiments of the present invention can be applied to processor 1301, or implemented by processor 1301. Processor 1301 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 integrated logic circuit of the hardware in processor 1301 or by instructions in the form of software. The processor 1301 may be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Processor 1301 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present invention. General-purpose processor 1301 may be a microprocessor or any conventional processor, etc. The steps of the accessory optimization method provided in the embodiments of the present invention can be directly reflected as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium, which is located in memory. The processor reads the information in the memory and combines it with its hardware to complete the steps of the aforementioned method.

[0076] In an exemplary embodiment, the electronic terminal 1300 may be used to execute the aforementioned method by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), or complex programmable logic devices (CPLDs).

[0077] According to the method provided in the embodiments of this application, this application also provides a computer program product, which includes: computer program code, which, when run on a computer, causes the computer to execute the Manhattan mask generation method for convex polygonal masks of any of the embodiments shown.

[0078] According to the method provided in the embodiments of this application, this application also provides a computer-readable storage medium storing program code that, when run on a computer, causes the computer to execute the Manhattan mask generation method for convex polygonal masks of any of the embodiments shown.

[0079] As used in this specification, the terms "component," "module," "system," etc., are used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. As illustrated, applications running on computing devices and computing devices can both be components. One or more components may reside in a process and / or an execution thread, and components may be located on a single computer and / or distributed among two or more computers. Furthermore, these components can be executed from various computer-readable media on which various data structures are stored. Components can communicate, for example, via local and / or remote processes based on 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 via signals).

[0080] Those skilled in the art will recognize 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 implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.

[0081] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0082] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0083] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0084] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0085] In the above embodiments, the functions of each functional unit can be implemented entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. A computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. Computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., high-density digital video discs, DVDs), or semiconductor media (e.g., solid-state disks, SSDs, etc.).

[0086] If a function is implemented as 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 this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0087] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

[0088] In summary, the Manhattanization mask generation method, apparatus, medium, program product, and terminal for convex polygon masks provided in this application include: obtaining an original convex polygon mask layout; segmenting the convex polygons in the original convex polygon mask layout to obtain a first polyline and a second polyline; generating a first buffer corresponding to the first polyline and a second buffer corresponding to the second polyline using buffer technology; and performing Manhattanization and merging processing based on the first buffer and the second buffer to obtain a convex polygon Manhattanization mask.

[0089] This application employs a buffer technique to generate a buffer zone and performs Manhattanization within the region. The aim is to combine adjacent line segments within a convex polygon before Manhattanization, ultimately generating fewer Manhattan edges to approximate the original mask pattern. This solves the problem of generating jobs or fragmented line segments easily with ultra-short line segments in traditional Manhattan optimization. Furthermore, by cutting the convex polygon into left and right parts and performing Manhattanization on both parts simultaneously, the final generated convex polygon Manhattanized mask possesses left-right point symmetry, avoiding secondary rectangularization. This saves the slicing step during subsequent mask printing, improving production efficiency and preventing the regeneration of jogs. Therefore, this application effectively overcomes the various shortcomings of existing technologies and has high industrial applicability.

[0090] The above embodiments are merely illustrative of the principles and effects of this application and are not intended to limit this application. Any person skilled in the art can modify or alter the above embodiments without departing from the spirit and scope of this application. Therefore, all equivalent modifications or alterations made by those skilled in the art without departing from the spirit and technical concept disclosed in this application should still be covered by the claims of this application.

Claims

1. A method for generating a Manhattan mask for a convex polygonal mask, characterized in that, The method comprises the following steps: obtaining an original convex polygon mask layout; segmenting convex polygons in the original convex polygon mask layout to obtain first fold lines and second fold lines; generating a first buffer area corresponding to the first fold lines and a second buffer area corresponding to the second fold lines by using a buffer area technology; wherein the buffer area technology comprises: splitting the first fold lines into a plurality of line segments according to fold points, performing a translation operation on each line segment by a preset distance, and obtaining two parallel lines of each line segment; performing a connection and supplement operation on the two parallel lines of all line segments in sequence to generate the first buffer area corresponding to the first fold lines; splitting the second fold lines into a plurality of line segments according to fold points, performing a translation operation on each line segment by a preset distance, and obtaining two parallel lines of each line segment; performing a connection and supplement operation on the two parallel lines of all line segments in sequence to generate the second buffer area corresponding to the second fold lines; performing Manhattan processing and merging processing based on the first buffer area and the second buffer area to obtain a convex polygon Manhattan mask.

2. The method of claim 1, wherein the Manhattanizing mask generation method of a convex polygon mask is characterized by, The process of segmenting convex polygons in the original convex polygon mask layout to obtain first fold lines and second fold lines comprises: extracting the highest point and the lowest point of the convex polygon from the original convex polygon mask layout; forming a connecting line between the highest point and the lowest point, and cutting the convex polygon based on the connecting line to obtain the first fold lines and the second fold lines.

3. The method of claim 1, wherein the Manhattanizing mask generation method of a convex polygon mask is characterized by, The process of generating a first buffer area corresponding to the first fold lines by using a buffer area technology comprises: splitting the first fold lines into a plurality of line segments according to fold points, performing a translation operation on each line segment by a preset distance, and obtaining two parallel lines of each line segment; performing a connection and supplement operation on the two parallel lines of all line segments in sequence to generate the first buffer area corresponding to the first fold lines.

4. The method of claim 3, wherein the Manhattanizing mask generation method of a convex polygon mask is characterized by, The process of performing a translation operation on each line segment by a preset distance to obtain two parallel lines of each line segment comprises: moving into the interior and exterior of the current line segment by a preset distance along the normal direction of the current line segment to obtain two parallel lines parallel to the current line segment.

5. The method of claim 1, wherein the Manhattanizing mask generation method of a convex polygon mask is characterized by, The process of performing Manhattan processing based on the first buffer area and the second buffer area comprises: extracting the lowest point of the convex polygon in the original convex polygon mask layout to form a horizontal line with the vertical coordinate of the lowest point as the horizontal line; performing a screening comparison operation in the first buffer area and the second buffer area based on the horizontal line to obtain current Manhattan edges of the first buffer area and the second buffer area that are perpendicular to the horizontal line and meet a preset screening condition; wherein the vertical coordinates of the current Manhattan edges of the first buffer area and the second buffer area are the same; forming a horizontal line with the vertical coordinate of the highest point of the current Manhattan edge as the horizontal line, and continuing to perform the screening comparison operation until a plurality of Manhattan edges of the first buffer area and a plurality of Manhattan edges of the second buffer area are obtained.

6. The method of claim 5, wherein the Manhattanizing mask generation method of a convex polygon mask is characterized by, The preset screening condition comprises: the current Manhattan edge is perpendicular to the horizontal line and does not exceed the area range of the first buffer area and the second buffer area.

7. A Manhattanizing mask generation device of a convex polygon mask, characterized by, The method comprises the following steps: a data acquisition module for obtaining an original convex polygon mask layout; a convex polygon segmentation module for segmenting convex polygons in the original convex polygon mask layout to obtain first fold lines and second fold lines; The buffer generation module is configured to generate a first buffer corresponding to the first polyline and a second buffer corresponding to the second polyline by using a buffer technique. The buffer technique includes: splitting the first polyline into a plurality of line segments according to the fold points, performing a translation operation on each line segment at a preset distance, and obtaining two parallel lines of each line segment; connecting and supplementing the two parallel lines of all line segments in sequence to generate the first buffer corresponding to the first polyline; splitting the second polyline into a plurality of line segments according to the fold points, performing a translation operation on each line segment at a preset distance, and obtaining two parallel lines of each line segment; and connecting and supplementing the two parallel lines of all line segments in sequence to generate the second buffer corresponding to the second polyline. The Manhattanization module is configured to perform Manhattanization processing and merging processing based on the first buffer and the second buffer to obtain a convex polygon Manhattanization mask.

8. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program, when executed by a processor, implements the convex polygon mask Manhattanization mask generation method of any one of claims 1 to 6.

9. A computer program product, characterised in that, The computer program product includes computer program code, and when the computer program code is executed on a computer, the computer program code causes the computer to implement the convex polygon mask Manhattanization mask generation method of any one of claims 1 to 6.

10. An electronic terminal comprising a memory, a processor and a computer program stored on the memory, characterized in that, The processor executes the computer program to implement the convex polygon mask Manhattanization mask generation method of any one of claims 1 to 6.

Citation Information

Patent Citations

  • Method for improving edge placement error

    CN115268205A

  • Method for Correcting Layout with Pitch Change Section

    US20090319970A1