Mask plate processing method, device, equipment, medium and product
By dividing the initial mask pattern into conflicting units and conflicting unit groups, and processing them in the conflicting unit group, repeated calculations are avoided, the efficiency of partitioning mask patterns is improved, the problem of resolution limits of traditional lithography processes is solved, and a higher degree of integration is achieved.
Patent Information
- Application Number
- CN202510182484.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-18
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2045-02-18
AI Technical Summary
The existing lithography processes are difficult to meet the requirements of device miniaturization. The resolution limit of the traditional single-exposure lithography process limits the minimum pitch of the graphics, resulting in repeated calculations of the division relationship between mask patterns in multiple graphics technology, resulting in too long division time and inefficient efficiency.
By obtaining the graphic attributes and positions of the initial mask pattern, the mask pattern that satisfies the preset conflict relationship is divided into the same conflict unit, and the conflict unit with the same conflict unit attributes are divided into the same conflict unit group. Then, for each conflicting unit group, a first unit is selected to divide according to the preset division rules, and the other units are divided directly with reference to the division results of the first unit to generate multiple submask templates.
It effectively avoids repeated calculations of the same conflicting units, improves the efficiency of partitioning mask patterns, reduces division time, and improves the integration of integrated circuits.
Smart Images

Figure CN119882343A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the technical field of integrated circuit mask design, and in particular, relates to a mask processing method, device, equipment, medium and product. Background Art
[0002] In semiconductor manufacturing, photolithography is a commonly used patterning method. However, the photolithography process limits the minimum pitch of the pattern formed, and the traditional single-exposure photolithography process has been unable to meet the requirements of device miniaturization. In order to solve the problem of traditional photolithography resolution limit, multiple patterning technology methods have been widely used. Multiple patterning technology refers to decomposing a set of high-density mask plates into two sets of independent, low-density mask plates, thereby doubling the integration of the circuit.
[0003] In the existing method, for the same conflicting unit, it is necessary to repeatedly calculate the division relationship between the mask patterns according to the preset division rule, which results in a long division time and low efficiency of the mask division. Summary of the invention
[0004] The embodiments of the present application provide a mask processing method, device, equipment, medium and product, which can reduce the division time and improve the efficiency of mask division.
[0005] In one aspect of an embodiment of the present application, a mask processing method is provided, comprising:
[0006] Obtaining the graphic attributes and graphic positions of each mask graphic in the initial mask template;
[0007] According to the positions of each pattern, the mask patterns satisfying the preset conflict relationship are divided into the same conflict unit to obtain multiple conflict units;
[0008] Grouping conflicting units with the same conflicting unit attributes into the same conflicting unit group to obtain a plurality of conflicting unit groups, wherein the conflicting unit attributes include graphic attributes of the mask graphics contained in the conflicting units and bit sequence attributes between the mask graphics;
[0009] For each conflicting unit group, each mask pattern of the first unit in the conflicting unit group is divided into corresponding sub-mask groups according to a preset division rule to obtain a first pattern division result, where the first unit is any conflicting unit in the conflicting unit group;
[0010] For each conflicting unit group, according to the first graphic division result, each mask graphic of the second unit in the conflicting unit group is divided into corresponding sub-mask groups to obtain a second graphic division result, where the second unit is each conflicting unit in the conflicting unit group except the first unit;
[0011] A plurality of sub-masks are generated according to the first graphic division result and the second graphic division result.
[0012] In one aspect of an embodiment of the present application, a mask processing device is provided, comprising:
[0013] An information acquisition module, used to acquire the graphic attributes and graphic positions of each mask graphic in the initial mask template;
[0014] A graphic grouping module, used to group mask graphics satisfying a preset conflict relationship into the same conflict unit according to the positions of the graphics, to obtain a plurality of conflict units;
[0015] A unit grouping module, used to group conflicting units with the same conflicting unit attributes into the same conflicting unit group to obtain multiple conflicting unit groups, wherein the conflicting unit attributes include graphic attributes of the mask graphics contained in the conflicting units and bit sequence attributes between the mask graphics;
[0016] An image division module, for each conflict unit group, dividing each mask pattern of the first unit in the conflict unit group into corresponding sub-mask groups according to a preset division rule, to obtain a first pattern division result, wherein the first unit is any conflict unit in the conflict unit group;
[0017] The image division module is further used to divide each mask pattern of the second unit in the conflict unit group into corresponding sub-mask groups according to the first graphic division result for each conflict unit group, so as to obtain a second graphic division result, wherein the second unit is each conflict unit in the conflict unit group except the first unit;
[0018] The mask template generation module is used to generate multiple sub-masks according to the first graphic division result and the second graphic division result.
[0019] In one aspect of an embodiment of the present application, an electronic device is provided, which includes: a memory and a program or instruction stored in the memory and executable on a processor, wherein when the program or instruction is executed by the processor, a mask template processing method as provided in any aspect of the above-mentioned embodiment of the present application is implemented.
[0020] In one aspect of an embodiment of the present application, a readable storage medium is provided, on which a program or instruction is stored. When the program or instruction is executed by a processor, a mask template processing method provided in any aspect of the above-mentioned embodiment of the present application is implemented.
[0021] According to one aspect of an embodiment of the present application, a computer program product is provided. When instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes a mask template processing method provided by any aspect of the above-mentioned embodiment of the present application.
[0022] In the mask template processing method provided by the embodiment of the present application, the conflicting units are first grouped so that one conflicting unit group corresponds to only one type of conflicting unit. Then, only one first unit is selected from each conflicting unit group to calculate the division relationship between the mask graphics according to the preset division rules. In the same conflicting unit group, the second units except the first unit are directly divided with reference to the first graphic division result of the first unit, without the need to perform repeated calculations according to the preset division rules. Finally, multiple sub-masks can be generated based on the first graphic division results and the second graphic division results. In this way, the present application avoids repeated calculations of the same conflicting units by dividing the conflicting units with the same conflicting unit attributes into the same conflicting unit group and uniformly processing the conflicting unit group, thereby improving the efficiency of mask template division. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0024] Figure 1 It is a flowchart of a mask processing method provided by an embodiment of the present application;
[0025] Figure 2 is a schematic diagram of an initial mask provided by an embodiment of the present application;
[0026] Figure 3 is a schematic diagram of a conflict unit group provided by an embodiment of the present application;
[0027] Figure 4 It is a flowchart of building a conflict unit provided by an embodiment of the present application;
[0028] Figure 5 is a flow chart of S105 provided by an embodiment of the present application;
[0029] Figure 6 is a flow chart of S106 provided by an embodiment of the present application;
[0030] Figure 7 is a structural schematic diagram of a mask processing device provided by an embodiment of the present application;
[0031] Figure 8 It is a structural schematic diagram of a mask processing device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0032] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.
[0033] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0034] It should be noted that the acquisition, storage, use, and processing of data in the technical solution of this application are in compliance with the relevant provisions of national laws and regulations.
[0035] It should be noted that in the embodiments of the present application, certain software, components, models and other existing solutions in the industry may be mentioned, and they should be regarded as exemplary. Their purpose is only to illustrate the feasibility of implementing the technical solution of the present application, but it does not mean that the applicant has or will necessarily use the solution.
[0036] In the semiconductor manufacturing process, photolithography is a commonly used patterning method. However, the photolithography process limits the minimum pitch of the formed pattern, and the traditional single-exposure photolithography process has been difficult to meet the requirements of device miniaturization. In order to solve the problem of the resolution limit of traditional photolithography, multiple patterning technology methods have been widely used. Multiple patterning technology refers to decomposing a set of high-density mask plates into multiple sets of independent, low-density mask plates, thereby increasing the upper limit of circuit integration. That is, in multiple patterning technology, the mask patterns in a mask plate need to be split into different sub-masks, thereby realizing the decomposition of high-density mask plates.
[0037] The existing multiple patterning technology mainly traverses each mask pattern in the initial mask template in sequence, identifies each mask pattern in the initial mask template whose distance between mask patterns is less than a preset distance threshold according to the conflict rule to form a conflict unit, and then splits each conflict unit in sequence according to the preset division rule. However, for the same conflict unit, this method needs to repeatedly calculate the division relationship between mask patterns according to the preset division rule, which results in a long division time and low efficiency of mask template division.
[0038] The purpose of the present application is to provide a mask processing method, device, equipment, medium and product. In the mask processing method provided in the embodiment of the present application, the conflicting units are first grouped so that one conflicting unit group corresponds to only one conflicting unit. Then, only one first unit is selected from each conflicting unit group to calculate the division relationship between the mask graphics according to the preset division rules. In the same conflicting unit group, the second units except the first unit are directly divided with reference to the first graphic division result of the first unit, without the need to perform repeated calculations according to the preset division rules. Finally, multiple sub-masks can be generated based on the first graphic division result and the second graphic division result. In this way, the present application avoids repeated calculations of the same conflicting units by dividing the conflicting units with the same conflicting unit attributes into the same conflicting unit group and uniformly processing the conflicting unit group, thereby improving the efficiency of mask division.
[0039] The following describes specific embodiments of the mask processing method, device, equipment, medium and product provided in the embodiments of the present application. The following first describes the mask processing method.
[0040] Figure 1 A flowchart of a mask processing method is provided. The mask processing method can be applied to a server side. The mask processing method can include the following S101 to S106.
[0041] S101, obtaining the graphic attributes and graphic positions of each mask graphic in the initial mask template.
[0042] In this embodiment, the initial mask is used to represent a mask in which the distance between mask patterns is smaller than the minimum pitch of the photolithography process, that is, a high-density mask in which mask patterns cannot be accurately recognized by the photolithography process.
[0043] like Figure 2 As shown, a schematic diagram of an initial mask plate is provided, wherein the initial mask plate includes a plurality of mask patterns 201 arranged at a high density, and the photolithography process cannot accurately identify each mask pattern 201 in the initial mask plate.
[0044] Graphic attributes may include graphic morphology, graphic area, and relative position relationship of the graphics; the graphic position is used to characterize the position of the mask graphic in the initial mask template. For example, a plane rectangular coordinate system is constructed with any point in the initial mask template as the origin, and the coordinates corresponding to the mask graphic in the coordinate system are used as the graphic position of the mask graphic.
[0045] As an example, the server first obtains the graphic information of all mask patterns in the initial mask template by reading the initial mask template file, and stores the graphic information of each mask pattern in an easily searchable data structure, such as a list, a dictionary or a database.
[0046] S102, dividing mask patterns that satisfy a preset conflict relationship into the same conflict unit according to positions of the patterns, to obtain a plurality of conflict units.
[0047] In this embodiment, the conflict unit includes a plurality of mask patterns that satisfy a preset conflict relationship. Whether the preset conflict relationship is satisfied is measured by the distance between the mask patterns. Specifically, if the distance between the mask patterns is less than a preset distance threshold, it means that the two mask patterns satisfy the preset conflict relationship; if the distance between the mask patterns is not less than the preset distance threshold, it means that the two mask patterns do not satisfy the preset conflict relationship.
[0048] The distance between the mask patterns can be measured by the distance between the centroids of the two mask patterns.
[0049] In addition, a mask pattern can only be divided into one conflict unit. For example, the initial mask template includes five mask patterns A, B, C, D, and E. If the distance between A and B is less than the preset distance threshold, A and B are divided into the same conflict unit. Furthermore, if the distance between B and D is also less than the preset distance threshold, B and D are also divided into the same conflict unit, that is, A, B, and D are divided into the same conflict unit. At this time, the distance between A and B is less than the preset distance threshold, the distance between B and D is less than the preset distance threshold, and there is no restriction on the distance between A and D, that is, the distance between A and D can be greater than the preset distance threshold or less than the preset distance threshold.
[0050] If the distance between A and B is less than the preset distance threshold, the distance between D, C, E and A is greater than the preset distance threshold, and the distance between D, C, E and B is also greater than the preset distance threshold. At this time, A and B are divided into the same conflict unit, and D, C, E are divided into different conflict units from A and B.
[0051] As an example, the server traverses all mask graphics and calculates the distance between each pair of mask graphics. If the distance between two mask graphics is less than a preset distance threshold, it is considered that they meet the preset conflict relationship and should be divided into the same conflict unit. Then, a data structure (such as a set or a list) is used to group the mask graphics that meet the preset conflict relationship, thereby forming multiple conflict units.
[0052] S103, grouping conflicting units with the same conflicting unit attributes into the same conflicting unit group to obtain a plurality of conflicting unit groups, wherein the conflicting unit attributes include graphic attributes of the mask patterns contained in the conflicting units and bit sequence attributes between the mask patterns.
[0053] In this embodiment, the conflict unit group includes at least one conflict unit with the same conflict unit attribute, that is, the conflict units included in the conflict unit group are completely identical.
[0054] The conflict unit attributes include the graphic attributes of the mask graphics contained in the conflict unit and the bit sequence attributes between the mask graphics. The conflict units included in the conflict unit group are completely identical, including the same graphic attributes of the mask graphics and the same bit sequence attributes between the mask graphics.
[0055] For example, if conflicting unit A and conflicting unit B belong to the same conflicting unit group, conflicting unit A includes two mask patterns, the first mask pattern is a triangle, and the second mask pattern is a circle. At this time, conflicting unit B also includes two mask patterns, the first mask pattern is a triangle, and the second mask pattern is a circle.
[0056] As an example, the server traverses all conflicting units, compares whether the graphic attributes of the mask graphics included in each conflicting unit and the bit sequence attributes between the mask graphics are the same, thereby determining whether the conflicting unit attributes between each conflicting unit are the same. Then, the conflicting units are grouped. Conflicting units with the same conflicting unit attributes are divided into the same conflicting unit group, and conflicting units with different conflicting unit attributes are divided into different conflicting unit groups, thereby obtaining multiple conflicting unit groups.
[0057] S104, for each conflicting unit group, divide each mask pattern of the first unit in the conflicting unit group into corresponding sub-mask groups according to a preset division rule to obtain a first pattern division result, where the first unit is any conflicting unit in the conflicting unit group.
[0058] In this embodiment, the preset division rule is used to represent the rule for dividing the mask patterns in the conflict unit group, so that there are no mask patterns whose distances between the mask patterns are less than the preset distance threshold in the divided sub-masks.
[0059] For example, the preset division rule may be that according to the position sequence of the mask patterns in the conflicting unit, each mask pattern is divided into the same sub-mask group. Assume that there are two sub-mask groups, M and N. The first mask pattern is divided into sub-mask group M, the second mask pattern is divided into sub-mask group N, then the third mask pattern is divided into sub-mask group M, and the fourth mask pattern is divided into sub-mask group N. This cycle is repeated until all mask patterns in the conflicting unit are traversed.
[0060] The preset division rule can also be divided into the same sub-mask group every two mask patterns according to the position order of the mask patterns in the conflict unit. Assume that there are three sub-mask groups, namely M, N and Q. The first mask pattern is divided into sub-mask group M, the second mask pattern is divided into sub-mask group N, and the third mask pattern is divided into sub-mask group Q. Then the fourth mask pattern is divided into sub-mask group M, and the fifth mask pattern is divided into sub-mask group N. This cycle is repeated until all mask patterns in the conflict unit are traversed.
[0061] The first graphic division result is used to characterize the graphic division result of the first unit, that is, information used to characterize to which sub-mask groups each mask graphic in the first unit is respectively divided.
[0062] As an example, for each conflict unit group, the server selects a conflict unit from the conflict unit group as the first unit, wherein the first unit may be randomly selected or selected according to a preset selection strategy.
[0063] Then, the mask pattern in the first unit is divided into different sub-mask groups according to a preset division rule; and the sub-mask group to which each mask pattern in the first unit is divided is recorded to obtain a first pattern division result.
[0064] S105, for each conflict unit group, according to the first graphic division result, each mask graphic of the second unit in the conflict unit group is divided into corresponding sub-mask groups to obtain a second graphic division result, where the second unit is each conflict unit in the conflict unit group except the first unit.
[0065] In this embodiment, for each conflicting unit group, except for the first unit, the mask patterns in the other second units are divided with reference to the first pattern division result of the first unit.
[0066] For example, if the first mask pattern of the first unit is divided into sub-mask group M, the first mask pattern of each second unit is also divided into sub-mask group M; if the second mask pattern of the first unit is divided into sub-mask group N, the second mask pattern of each second unit is also divided into sub-mask group N. In this way, after dividing each mask pattern of the second unit in each conflicting unit group, the second pattern division result corresponding to each second unit can be obtained.
[0067] S106, generating a plurality of sub-masks according to the first graphic division result and the second graphic division result.
[0068] In this embodiment, the server integrates all the first graphic division results and the second graphic division results, and divides each mask graphic in the initial mask template into corresponding sub-mask templates according to the corresponding graphic division results, thereby obtaining multiple sub-mask templates.
[0069] In the mask template processing method provided by the present embodiment, the conflicting units are first grouped so that one conflicting unit group corresponds to only one type of conflicting unit. Then, only one first unit is selected from each conflicting unit group to calculate the division relationship between the mask graphics according to the preset division rules. In the same conflicting unit group, the second units except the first unit are directly divided with reference to the first graphic division result of the first unit, without the need for repeated calculation according to the preset division rules. Finally, multiple sub-masks can be generated based on the first graphic division result and the second graphic division result. In this way, the present application avoids repeated calculation of the same conflicting unit by dividing the conflicting units with the same conflicting unit attributes into the same conflicting unit group and uniformly processing the conflicting unit group, thereby improving the division efficiency of the mask template.
[0070] As an optional embodiment, S103 may specifically include:
[0071] Determining a first hash value of each mask pattern according to a pattern attribute of each mask pattern in the conflict unit;
[0072] Determine a second hash value according to the bit sequence attributes between the mask patterns in the conflict unit;
[0073] Determine a target hash value of the conflicting unit based on the first hash value and the second hash value;
[0074] The conflicting units with the same target hash value are divided into the same conflicting unit group to obtain multiple conflicting unit groups.
[0075] In this embodiment, the graphic morphologies of the mask patterns included in the conflict unit may be the same or different. For example, the conflict unit includes two mask patterns, the first of which may be a triangular mask pattern and the second one may be a rectangular mask pattern.
[0076] The hash value is a fixed-length value obtained by calculating the graphic attributes of each mask graphic or the bit sequence attributes between each mask graphic in the conflict unit through a specific hash function. If the target hash values of two conflict units are the same, it means that the graphic attributes of each mask graphic and the bit sequence attributes between the mask graphics of the two conflict units are exactly the same, that is, the graphic morphology, graphic area, relative position relationship of the graphics, and bit sequence relationship between the mask graphics of the two conflict units are all correspondingly equal.
[0077] For example, assuming that the target hash value of the conflict unit X is the same as that of the conflict unit Y, and the conflict unit X includes two mask patterns, the first one is a mask pattern with a triangular shape and an area of 2 units, and the second one is a mask pattern with a rectangular shape and an area of 3 units; then the conflict unit Y also includes two mask patterns, the first one is a mask pattern with a triangular shape and an area of 2 units, and the second one is a mask pattern with a rectangular shape and an area of 3 units.
[0078] As an example, the server extracts the graphic attributes of all mask graphics and the bit sequence attributes between mask graphics for each conflict unit, and performs standardization on the extracted graphic attributes, for example, converting the graphic area into a unified unit.
[0079] Then, a hash function is designed that can accept the standardized graphic attributes or the bit sequence attributes between the mask graphics as input and output a hash value. The hash function is applied to the graphic attributes of each mask graphic and the bit sequence attributes between the mask graphics to obtain multiple first hash values and a second hash value. Then, the first hash value and the second hash value are accumulated to obtain the target hash value of the conflict unit.
[0080] Then, all conflicting units are traversed, and conflicting units with the same target hash value are divided into the same conflicting unit group, thereby forming a plurality of conflicting unit groups.
[0081] like Figure 3As shown, a schematic diagram of a conflict unit group is provided. Among them, each mask pattern in the initial mask template is divided into 8 conflict units, namely conflict unit 310, conflict unit 320, conflict unit 330, conflict unit 340, conflict unit 350, conflict unit 360, conflict unit 370 and conflict unit 380. Among them, if the hash values of conflict unit 310, conflict unit 320 and conflict unit 370 are the same, then conflict unit 310, conflict unit 320 and conflict unit 370 are divided into the same conflict unit group to obtain conflict unit group P; if the hash values of conflict unit 330 and conflict unit 360 are the same, then conflict unit 330 and conflict unit 360 are divided into the same conflict unit group to obtain conflict unit group G; if the hash values of conflict unit 340 and conflict unit 350 are the same, then conflict unit 340 and conflict unit 350 are divided into the same conflict unit group to obtain conflict unit group E; conflict unit 380 does not have other conflict units with the same hash value, so it constitutes a conflict unit group F alone.
[0082] Through this embodiment, the hash value corresponding to the graphic attribute of the mask pattern in each conflict unit and the bit sequence attribute between the mask patterns is calculated using a hash algorithm, so that it can be directly determined whether the graphic attribute of the mask pattern in the conflict unit and the bit sequence attribute between the mask patterns are the same according to whether the hash values are the same. In this way, each conflict unit with the same graphic attribute of the mask pattern and the bit sequence attribute between the mask patterns can be accurately divided into the same conflict unit group, thereby improving the accuracy of the division of the conflict unit group.
[0083] As an optional embodiment, S102 may specifically include:
[0084] The following steps are executed repeatedly until all mask patterns in the initial mask template are traversed:
[0085] Setting a first graphic as a search center, the first graphic being any mask graphic that has not been traversed;
[0086] Dividing the first graph into candidate units;
[0087] Dividing the mask graphics that satisfy the preset conflict relationship into candidate units, wherein the preset conflict relationship is used to indicate that the distance between the mask graphics and the search center is less than a preset distance threshold;
[0088] The search center is updated to a second graph, where the second graph is any mask graph in the candidate unit except the first graph, and the mask graph that satisfies the preset conflict relationship is returned and divided into the candidate unit until all the mask graphs in the candidate unit are traversed;
[0089] The candidate unit is determined as a conflicting unit.
[0090] In this embodiment, as an example, Figure 4 As shown, the server first obtains the graphic positions of all mask graphics through S401, and calculates the distance between each mask graphic using a distance calculation formula. Specifically, a nested loop can be used to traverse all graphic pairs to calculate the distance.
[0091] After obtaining the distance between each pair of mask graphics, a mask graphic that has not been traversed is selected as the first graphic through S402, and the currently selected first graphic is set as the search center. A new data structure (such as a list or a set) is created to represent the candidate unit, which is initialized to be empty, and then the first graphic is divided into the candidate unit through S403. Then, all mask graphics whose distance from the current search center is less than a preset distance threshold are searched through S404, and these mask graphics are divided into the candidate units.
[0092] Then, S405 is used to determine whether the search center has traversed each mask pattern in the candidate unit. If the search center has not traversed each mask pattern in the candidate unit, S406 is used to select one from the mask patterns of the candidate unit as a new search center, and S404 is repeated to divide the mask patterns whose distance from the new search center is less than the threshold into the candidate unit. A marker or a counter is used to track whether there are any mask patterns that have not been set as the search center in the candidate unit. When all mask patterns have been processed as the search center, the candidate unit is determined as a conflict unit through S407. And S408 is used to determine whether all mask patterns in the initial mask template have been traversed. If there are still mask patterns that have not been traversed, the mask patterns that have not been traversed are set as the search center, and the above steps are executed repeatedly. If there are no mask patterns that have not been traversed, the loop is ended through S409.
[0093] Through this embodiment, the distance between each mask pattern is determined according to the pattern position of each mask pattern. Then, a circular search is performed according to the distance between each mask pattern to obtain multiple conflicting units. In this way, through the circular search, the conflicting unit can be accurately constructed to avoid missing the mask pattern in the conflicting unit.
[0094] As an optional embodiment, S104 may specifically include:
[0095] For each conflict unit group, the following steps are performed respectively to obtain the first graph division result corresponding to each conflict unit group:
[0096] Dividing two mask patterns in the first unit whose distance between the mask patterns is less than a preset distance threshold into different sub-mask groups;
[0097] Two mask patterns in the first unit, the distance between which mask patterns is not less than a preset distance threshold, are divided into the same sub-mask group.
[0098] In this embodiment, the server uses a nested loop or a distance matrix to compare the distance between each pair of mask patterns in the first unit in each conflicting unit group.
[0099] If the distance between the two mask patterns is less than the preset distance threshold, they are respectively divided into two different sub-mask groups; if the distance between the two mask patterns is not less than the preset distance threshold, they are divided into the same sub-mask group.
[0100] like Figure 3 As shown, the conflict unit 310 in the conflict unit group P is used as the first unit. The conflict unit 310 includes three mask patterns, and then it is determined whether the distance between the three mask patterns in the conflict unit 310 is less than a preset distance threshold.
[0101] Among them, the distance between the first mask pattern 301 and the second mask pattern 302 in the conflict unit 310 is less than the preset distance threshold, the distance between the second mask pattern 302 and the third mask pattern 303 is less than the preset distance threshold, and the distance between the first mask pattern 301 and the third mask pattern 303 is greater than the preset distance threshold. Therefore, the first mask pattern 301 and the third mask pattern 303 in the conflict unit 310 can be divided into the sub-mask group M, and the second mask pattern 302 in the conflict unit 310 can be divided into the sub-mask group N.
[0102] Through this embodiment, the mask patterns in the first unit of each conflicting unit group are divided according to the preset division rules to obtain the first pattern division results. In this way, the accuracy of the first pattern division results can be ensured by dividing each first unit according to the preset division rules. This ensures the accuracy of the subsequent division of the second unit according to the first pattern division results, and avoids the wrong division of the mask pattern in the initial mask template.
[0103] As an optional embodiment, Figure 5 As shown, S105 may specifically include the following S501 to S503:
[0104] S501, arranging the second units in the conflicting unit group in ascending order according to the distance between the maximum circumscribed contour of the second unit and the centroid of the maximum circumscribed contour of the first unit, to obtain a sorting order of the second units, wherein the maximum circumscribed contour is used to represent the minimum circumscribed polygon containing each mask pattern in the conflicting unit;
[0105] S502, determining a graphic partitioning strategy for each second unit according to the sorting order of each second unit;
[0106] S503 , dividing the mask patterns of the second units respectively according to the first pattern division result and the pattern division strategy of the second units to obtain the second pattern division result.
[0107] In this embodiment, the second units in the conflicting unit group are sorted in ascending order according to the distance between the maximum circumscribed contour of the second unit and the centroid of the maximum circumscribed contour of the first unit, to obtain the sorting order of the second units. Figure 3 As shown, for the three conflicting units in the conflicting unit group P. If the conflicting unit 310 is the first unit, the conflicting unit 320 and the conflicting unit 370 are the second unit. Among them, the distance between the centroid 3201 of the maximum circumscribed contour 3200 of the conflicting unit 320 and the centroid 3101 of the maximum circumscribed contour 3100 of the conflicting unit 310 is less than the distance between the centroid 3301 of the maximum circumscribed contour 3300 of the conflicting unit 370 and the centroid 3101 of the maximum circumscribed contour 3100 of the conflicting unit 310, so the sorting order of the conflicting unit 320 is 1, and the sorting order of the conflicting unit 370 is 2.
[0108] The pattern division strategy is used to characterize the division method of the mask pattern in the second unit. For example, the pattern division strategy may include the same division method as the first unit, that is, if the first mask pattern in the first unit is divided into sub-mask group M and the second mask pattern is divided into sub-mask group N, then the first mask pattern in the second unit is also divided into sub-mask group M and the second mask pattern is also divided into sub-mask group N.
[0109] The graphic division strategy can also include a division method opposite to that of the first unit, that is, if the first mask graphic in the first unit is divided into sub-mask group M and the second mask graphic is divided into sub-mask group N, then the first mask graphic in the second unit is divided into sub-mask group N and the second mask graphic is divided into sub-mask group M.
[0110] As an example, the graphic division strategy of each second unit is determined according to the sorting order of each second unit, which can be: for each second unit with an odd sorting order, a graphic division strategy with the same division method as the first unit can be adopted; for each second unit with an even sorting order, a graphic division strategy with a division method opposite to that of the first unit can be adopted.
[0111] As another example, the graphic division strategy for each second unit is determined according to the sorting order of each second unit, which can be: for each second unit with an odd sorting order, a graphic division strategy with a division method opposite to that of the first unit can be adopted; for each second unit with an even sorting order, a graphic division strategy with a division method the same as that of the first unit can be adopted.
[0112] Through this embodiment, for each second unit except the first unit in the conflict unit group, the distance from the maximum circumscribed contour between the second unit and the first unit is sorted in ascending order. Then, based on the sorting order and the first graphic division result, each second unit is divided. In this way, in the same conflict unit group, other conflict units except the first unit only need to refer to the first graphic division result for division, without repeated calculation according to the preset division rule, which can improve the efficiency of mask division.
[0113] As an optional embodiment, S503 may specifically include:
[0114] For each second unit in an odd order, respectively perform: divide the mask pattern with the same pattern attribute as the first pattern in the second unit into the second sub-mask group, divide the mask pattern with the same pattern attribute as the second pattern in the second unit into the first sub-mask group, and obtain the second pattern division result, where the first pattern is the mask pattern in the first unit divided into the first sub-mask group, and the second pattern is the mask pattern in the first unit divided into the second sub-mask group;
[0115] For each second unit in an even order, respectively perform: divide the mask graphics in the second unit with the same graphic attributes as the first graphic into the first sub-mask group, and divide the mask graphics in the second unit with the same graphic attributes as the second graphic into the second sub-mask group to obtain the second graphic division result.
[0116] In this embodiment, the first figure is used to represent the mask figure divided into the first sub-mask group in the first unit, and the second figure is used to represent the mask figure divided into the second sub-mask group in the first unit. Assume that there are two sub-mask groups, M and N. M is determined as the first sub-mask group, and N is determined as the second sub-mask group. Then the first figure is the mask figure divided into the sub-mask group M in the first unit, and the second figure is the mask figure divided into the sub-mask group N in the first unit.
[0117] As an example, Figure 3 As shown, the mask pattern 301 and the mask pattern 303 in the conflicting unit 310 are divided into the sub-mask group M, and the mask pattern 302 in the conflicting unit 310 is divided into the sub-mask group N.
[0118] At this time, for the mask pattern in the conflicting unit 320, since its sorting order is 1, which is an odd number, the mask pattern 304 and the mask pattern 306 in the conflicting unit 320 corresponding to the mask pattern 301 and the mask pattern 303 in the conflicting unit 310 are divided into the sub-mask group N, and the mask pattern 305 in the conflicting unit 320 corresponding to the mask pattern 302 in the conflicting unit 310 is divided into the sub-mask group M.
[0119] For the mask pattern in the conflicting unit 370, since its sorting order is 2, which is an even number, the mask pattern 307 and the mask pattern 309 in the conflicting unit 370 corresponding to the mask pattern 301 and the mask pattern 303 in the conflicting unit 310 are divided into the sub-mask group M, and the mask pattern 308 in the conflicting unit 370 corresponding to the mask pattern 302 in the conflicting unit 310 is divided into the sub-mask group N.
[0120] Through this embodiment, for each second unit except the first unit in the conflicting unit group, the distance between the center of mass of the largest circumscribed contour between the second unit and the first unit is sorted in ascending order. Then, for each mask pattern in the second unit with an odd sorting order, it is divided into a sub-mask group opposite to the corresponding mask pattern in the first unit; for each mask pattern in the second unit with an even sorting order, it is divided into a sub-mask group identical to the corresponding mask pattern in the first unit. In this way, by alternating opposite division and same division, the graphic areas of the two sub-masks can be made more balanced, and the rationality of the division of the sub-masks can be improved.
[0121] As an optional embodiment, Figure 6 As shown, S106 may specifically include the following S601 to S603:
[0122] S601, comparing the graphic area of the first sub-mask group in the first graphic division result and the second graphic division result with the graphic area of the second sub-mask group in the first graphic division result and the second graphic division result to obtain a first size relationship;
[0123] S602, updating the first sub-mask group and the second sub-mask group according to the first size relationship to obtain a first updated sub-mask group and a second updated sub-mask group;
[0124] S603: Generate a first sub-mask and a second sub-mask according to the first updated sub-mask group and the second updated sub-mask group.
[0125] In this embodiment, the first size relationship is used to characterize the size relationship between the pattern area of the mask pattern in the first sub-mask group and the pattern area of the mask pattern in the second sub-mask group. For example, the first size relationship may be that the pattern area of the mask pattern in the first sub-mask group is larger than the pattern area of the mask pattern in the second sub-mask group, or the pattern area of the mask pattern in the first sub-mask group is smaller than the pattern area of the mask pattern in the second sub-mask group.
[0126] As an example, the server compares the graphic area of the mask graphic in the first sub-mask group of the first graphic division result and the second graphic division result with the graphic area of the mask graphic in the second sub-mask group of the first graphic division result and the second graphic division result to obtain a first size relationship, assuming that the first size relationship is that the graphic area of the mask graphic in the first sub-mask group is larger than the graphic area of the mask graphic in the second sub-mask group.
[0127] Then, in order to make the graphic area of the mask pattern in the first sub-mask group and the graphic area of the mask pattern in the second sub-mask group as balanced as possible, the server obtains at least one mask pattern from the first sub-mask group, and moves the mask pattern from the first sub-mask group to the second sub-mask group, thereby obtaining the first updated sub-mask group and the second updated sub-mask group. Specifically, the number of mask patterns moved can be determined according to the difference between the graphic area of the mask pattern in the first sub-mask group and the graphic area of the mask pattern in the second sub-mask group.
[0128] Finally, a first sub-mask is generated according to the mask patterns in the first updated sub-mask group; and a second sub-mask is generated according to the mask patterns in the second updated sub-mask group.
[0129] Through this embodiment, when there is a large difference between the graphic area of the mask pattern in the first sub-mask group and the graphic area of the mask pattern in the second sub-mask group, the first sub-mask group and the second sub-mask group are further updated to make the graphic area of the mask pattern in the first sub-mask group and the graphic area of the mask pattern in the second sub-mask group as balanced as possible, thereby improving the rationality of the division of the sub-mask templates.
[0130] As an optional embodiment, S602 may specifically include:
[0131] In each conflict unit group, at least one conflict unit group whose second size relationship is consistent with the first size relationship is selected as the target conflict unit group, and the second size relationship is the size relationship between the graphic area divided into the first sub-mask group and the graphic area divided into the second sub-mask group in the conflict unit group;
[0132] Each mask pattern in the target conflict unit group that is divided into the first sub-mask group is moved to the second sub-mask group, and each mask pattern in the target conflict unit group that is divided into the second sub-mask group is moved to the first sub-mask group to obtain a first update sub-mask group and a second update sub-mask group.
[0133] In this embodiment, the second size relationship is used to characterize the size relationship between the area of the pattern divided into the first sub-mask group and the area of the pattern divided into the second sub-mask group in the conflicting unit group. For example, the second size relationship may be that the area of the pattern divided into the first sub-mask group is larger than the area of the pattern divided into the second sub-mask group, or the area of the pattern divided into the first sub-mask group is smaller than the area of the pattern divided into the second sub-mask group.
[0134] The target conflict unit group is one or more of the conflict unit groups whose second size relationship is consistent with the first size relationship. For example, the first size relationship is that the graphic area of the first sub-mask group is larger than the graphic area of the second sub-mask group, the second size relationship of the conflict unit group P is that the graphic area of the first sub-mask group is larger than the graphic area of the second sub-mask group, the second size relationship of the conflict unit group G is that the graphic area of the first sub-mask group is equal to the graphic area of the second sub-mask group, the second size relationship of the conflict unit group E is that the graphic area of the first sub-mask group is equal to the graphic area of the second sub-mask group, and the second size relationship of the conflict unit group F is that the graphic area of the first sub-mask group is larger than the graphic area of the second sub-mask group. Then the target conflict unit group is at least one of the conflict unit group P and the conflict unit group F.
[0135] As an example, the server calculates the graphic area of the mask graphic in the first sub-mask group and the graphic area of the mask graphic in the second sub-mask group, and then compares the two to obtain a first size relationship. Then, in each conflicting unit group, the graphic area divided into the first sub-mask group and the graphic area divided into the second sub-mask group are calculated, and the two are compared to obtain a second size relationship of each conflicting unit group.
[0136] Then, according to the first size relationship and the second size relationship, a plurality of conflicting unit groups whose second size relationship is consistent with the first size relationship are screened out, and at least one of them is selected as a target conflicting unit group.
[0137] Finally, each mask pattern originally divided into the first sub-mask group in the target conflict unit group is updated and moved to the second sub-mask group, and each mask pattern originally divided into the second sub-mask group in the target conflict unit group is updated and moved to the first sub-mask group, thereby obtaining the first updated sub-mask group and the second updated sub-mask group, so that the difference in pattern area between the first updated sub-mask group and the second updated sub-mask group is reduced.
[0138] Through this embodiment, when there is a large difference between the graphic area of the mask pattern in the first sub-mask group and the graphic area of the mask pattern in the second sub-mask group, a moving strategy is further adopted to make the graphic area of the mask pattern in the first sub-mask group and the graphic area of the mask pattern in the second sub-mask group as balanced as possible, thereby improving the rationality of the division of the sub-mask templates.
[0139] As an optional embodiment, in each conflict unit group, selecting at least one conflict unit group whose second size relationship is consistent with the first size relationship as the target conflict unit group may specifically include:
[0140] Determine the second size relationship of each conflicting unit group according to the second graphic division result of each conflicting unit group;
[0141] Determine a plurality of conflicting unit groups whose second size relationship is consistent with the first size relationship as candidate conflicting unit groups;
[0142] Determine the total graphic area of each candidate conflict unit group according to the conflict units included in each candidate conflict unit group;
[0143] The candidate conflict unit group with the smallest total graphic area is determined as the target conflict unit group.
[0144] In this embodiment, the candidate conflicting unit groups are used to represent the conflicting unit groups whose second size relationship is consistent with the first size relationship, and there are multiple candidate conflicting unit groups.
[0145] The target conflict unit group is used to represent the candidate conflict unit group with the smallest total area of the graph.
[0146] As an example, the first size relationship is that the graphic area of the first sub-mask group is larger than the graphic area of the second sub-mask group, the second size relationship of the conflict unit group P is that the graphic area of the first sub-mask group is larger than the graphic area of the second sub-mask group, the second size relationship of the conflict unit group G is that the graphic area of the first sub-mask group is equal to the graphic area of the second sub-mask group, the second size relationship of the conflict unit group E is that the graphic area of the first sub-mask group is equal to the graphic area of the second sub-mask group, and the second size relationship of the conflict unit group F is that the graphic area of the first sub-mask group is larger than the graphic area of the second sub-mask group. Then the conflict unit group P and the conflict unit group F are determined as candidate conflict unit groups.
[0147] Then, the total graphic area of the conflict unit group P is determined according to the conflict units included in the conflict unit group P; the total graphic area of the conflict unit group F is determined according to the conflict units included in the conflict unit group F. The total graphic area of the conflict unit group P is compared with the total graphic area of the conflict unit group F, and the total graphic area of the conflict unit group F is the smallest, so that the conflict unit group F is determined as the target conflict unit group.
[0148] Through this embodiment, among the candidate conflict unit groups whose second size relationship is consistent with the first size relationship, the candidate conflict unit group with the smallest total graphic area is determined as the target conflict unit group. In this way, the number of mask graphics that need to be moved can be minimized, thereby improving the movement efficiency. Based on the mask template processing method. Accordingly, the present application also provides a specific embodiment of the mask template processing device.
[0149] like Figure 7 As shown, the mask template processing device 700 provided in the embodiment of the present application includes an information acquisition module 710, a graphic grouping module 720, a unit grouping module 730, an image division module 740 and a mask template generation module 750.
[0150] The information acquisition module 710 is used to acquire the graphic attributes and graphic positions of each mask graphic in the initial mask template;
[0151] A pattern grouping module 720 is used to group mask patterns that satisfy a preset conflict relationship into the same conflict unit according to the positions of the patterns, thereby obtaining a plurality of conflict units;
[0152] The unit grouping module 730 is used to group the conflicting units with the same conflicting unit attributes into the same conflicting unit group to obtain multiple conflicting unit groups, wherein the conflicting unit attributes include the graphic attributes of the mask graphics contained in the conflicting units and the bit sequence attributes between the mask graphics;
[0153] The image division module 740 is used to divide each mask pattern of the first unit in each conflict unit group into corresponding sub-mask groups according to a preset division rule to obtain a first pattern division result, where the first unit is any conflict unit in the conflict unit group;
[0154] The image division module 740 is further used to divide each mask pattern of the second unit in the conflict unit group into corresponding sub-mask groups according to the first pattern division result for each conflict unit group, to obtain a second pattern division result, where the second unit is each conflict unit in the conflict unit group except the first unit;
[0155] The mask template generating module 750 is used to generate a plurality of sub-masks according to the first graphic division result and the second graphic division result.
[0156] As an optional embodiment, the unit grouping module 730 is specifically used for:
[0157] Determining a first hash value of each mask pattern according to a pattern attribute of each mask pattern in the conflict unit;
[0158] Determine a second hash value according to the bit sequence attributes between the mask patterns in the conflict unit;
[0159] Determine a target hash value of the conflicting unit based on the first hash value and the second hash value;
[0160] The conflicting units with the same target hash value are divided into the same conflicting unit group to obtain multiple conflicting unit groups.
[0161] As an optional embodiment, the graphic grouping module 720 is specifically configured to:
[0162] The following steps are executed repeatedly until all mask patterns in the initial mask template are traversed:
[0163] Setting a first graphic as a search center, the first graphic being any mask graphic that has not been traversed;
[0164] Dividing the first graph into candidate units;
[0165] Dividing the mask graphics that satisfy the preset conflict relationship into candidate units, wherein the preset conflict relationship is used to indicate that the distance between the mask graphics and the search center is less than a preset distance threshold;
[0166] The search center is updated to a second graph, where the second graph is any mask graph in the candidate unit except the first graph, and the mask graph that satisfies the preset conflict relationship is returned and divided into the candidate unit until all the mask graphs in the candidate unit are traversed;
[0167] The candidate unit is determined as a conflicting unit.
[0168] As an optional embodiment, the image segmentation module 740 specifically includes the following units:
[0169] The loop execution unit is used to execute the following steps for each conflict unit group to obtain the first graph division result corresponding to each conflict unit group:
[0170] Dividing two mask patterns in the first unit whose distance between the mask patterns is less than a preset distance threshold into different sub-mask groups;
[0171] Two mask patterns in the first unit, the distance between which mask patterns is not less than a preset distance threshold, are divided into the same sub-mask group.
[0172] As an optional embodiment, the image segmentation module 740 may further include the following units:
[0173] A graphic sorting unit, used to arrange the second units in the conflicting unit group in ascending order according to the distance between the maximum circumscribed contour of the second unit and the centroid of the maximum circumscribed contour of the first unit, to obtain the sorting order of the second units, wherein the maximum circumscribed contour is used to represent the minimum circumscribed polygon containing each mask graphic in the conflicting unit;
[0174] A strategy determination unit, used to determine the graph partitioning strategy of each second unit according to the sorting order of each second unit;
[0175] The graphic division unit is used to divide the mask graphics of each second unit according to the first graphic division result and the graphic division strategy of each second unit to obtain the second graphic division result.
[0176] As an optional embodiment, the graph division unit is specifically used for:
[0177] For each second unit in an odd order, respectively perform: divide the mask pattern with the same pattern attribute as the first pattern in the second unit into the second sub-mask group, divide the mask pattern with the same pattern attribute as the second pattern in the second unit into the first sub-mask group, and obtain the second pattern division result, where the first pattern is the mask pattern in the first unit divided into the first sub-mask group, and the second pattern is the mask pattern in the first unit divided into the second sub-mask group;
[0178] For each second unit in an even order, respectively perform: divide the mask graphics in the second unit with the same graphic attributes as the first graphics into the first sub-mask group, and divide the mask graphics in the second unit with the same graphic attributes as the second graphics into the second sub-mask group to obtain the second graphics division result.
[0179] As an optional embodiment, the mask template generation module 750 specifically includes the following units:
[0180] An area comparison unit, configured to compare the graphic area of the first sub-mask group in the first graphic division result and the second graphic division result with the graphic area of the second sub-mask group in the first graphic division result and the second graphic division result to obtain a first size relationship;
[0181] A mask group updating unit, configured to update the first sub-mask group and the second sub-mask group according to the first size relationship to obtain a first updated sub-mask group and a second updated sub-mask group;
[0182] The mask template generating unit is used to generate a first sub-mask template and a second sub-mask template according to the first updated sub-mask group and the second updated sub-mask group.
[0183] As an optional embodiment, the mask set updating unit specifically includes the following subunits:
[0184] A unit group selection subunit is used to select at least one conflicting unit group whose second size relationship is consistent with the first size relationship from among the conflicting unit groups as a target conflicting unit group, wherein the second size relationship is a size relationship between a graphic area divided into the first sub-mask group and a graphic area divided into the second sub-mask group in the conflicting unit group;
[0185] The mask template updating subunit is used to move each mask pattern divided into the first sub-mask group in the target conflict unit group to the second sub-mask group, and move each mask pattern divided into the second sub-mask group in the target conflict unit group to the first sub-mask group to obtain a first updated sub-mask group and a second updated sub-mask group.
[0186] As an optional embodiment, the unit group selection subunit is specifically used for:
[0187] Determine the second size relationship of each conflicting unit group according to the second graphic division result of each conflicting unit group;
[0188] Determine a plurality of conflicting unit groups whose second size relationship is consistent with the first size relationship as candidate conflicting unit groups;
[0189] Determine the total graphic area of each candidate conflict unit group according to the conflict units included in each candidate conflict unit group;
[0190] The candidate conflict unit group with the smallest total graphic area is determined as the target conflict unit group.
[0191] Based on the mask processing method, accordingly, the present application also provides a specific embodiment of the mask processing device.
[0192] Figure 8 A schematic diagram of the hardware structure of a mask processing device provided in an embodiment of the present application is shown.
[0193] The mask processing device may include a processor 801 and a memory 802 storing computer program instructions.
[0194] Specifically, the processor 801 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
[0195] The memory 802 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 802 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 802 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 802 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 802 is a non-volatile solid-state memory.
[0196] The processor 801 implements any one of the mask processing methods in the above embodiments by reading and executing computer program instructions stored in the memory 802 .
[0197] In one example, the mask processing device may further include a communication interface 803 and a bus 810. Figure 8 As shown, the processor 801, the memory 802, and the communication interface 803 are connected via a bus 810 and communicate with each other.
[0198] The communication interface 803 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.
[0199] Bus 810 includes hardware, software or both, and the parts of mask processing equipment are coupled to each other.For example, but not limitation, bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front side bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In suitable cases, bus 810 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the application considers any suitable bus or interconnection.
[0200] In addition, in combination with the mask processing method in the above embodiment, the embodiment of the present application can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any mask processing method in the above embodiment is implemented.
[0201] In addition, in combination with the mask template processing method in the above-mentioned embodiments, the embodiments of the present application may provide a computer program product for implementation. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the mask template processing method provided in any aspect of the above-mentioned embodiments of the present application.
[0202] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and divisions, or change the order between the steps after understanding the spirit of the present application.
[0203] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.
[0204] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.
[0205] Aspects of the present disclosure are described above with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field programmable logic circuit. It can also be understood that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.
[0206] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.
Claims
1. A mask processing method, characterized in that: include: Obtaining the graphic attributes and graphic positions of each mask graphic in the initial mask template; According to the positions of the respective graphics, the mask graphics satisfying the preset conflict relationship are divided into the same conflict unit to obtain a plurality of the conflict units; The conflicting units with the same conflicting unit attributes are divided into the same conflicting unit group to obtain a plurality of conflicting unit groups, wherein the conflicting unit attributes include graphic attributes of the mask graphics contained in the conflicting units and bit sequence attributes between the mask graphics; For each conflicting unit group, each mask pattern of the first unit in the conflicting unit group is divided into corresponding sub-mask groups according to a preset division rule to obtain a first pattern division result, where the first unit is any one of the conflicting units in the conflicting unit group; For each of the conflicting unit groups, according to the first graphic division result, each mask graphic of the second unit in the conflicting unit group is divided into a corresponding sub-mask group to obtain a second graphic division result, wherein the second unit is each of the conflicting units in the conflicting unit group except the first unit; A plurality of sub-masks are generated according to the first graphic division result and the second graphic division result.
2. The method according to claim 1, characterized in that The said dividing the conflicting units with the same conflicting unit attributes into the same conflicting unit group to obtain a plurality of the conflicting unit groups comprises: Determining a first hash value of each of the mask graphics in the conflict unit according to a graphic attribute of each of the mask graphics; Determining a second hash value according to a bit sequence attribute between each of the mask patterns in the conflict unit; Determine a target hash value of the conflict unit based on the first hash value and the second hash value; The conflicting units with the same target hash value are divided into the same conflicting unit group to obtain a plurality of conflicting unit groups.
3. The method according to claim 1, characterized in that Dividing the mask patterns satisfying the preset conflict relationship into the same conflict unit to obtain a plurality of the conflict units, including: The following steps are executed in a loop until all the mask patterns in the initial mask template are traversed: Setting a first graphic as a search center, wherein the first graphic is any mask graphic that has not been traversed; dividing the first graph into candidate units; dividing the mask pattern satisfying the preset conflict relationship into the candidate units, wherein the preset conflict relationship is used to indicate that the distance between the mask pattern and the search center is less than a preset distance threshold; The search center is updated to a second graph, where the second graph is any one of the mask graphs in the candidate unit except the first graph, and the mask graphs satisfying the preset conflict relationship are returned and divided into the candidate unit until all the mask graphs in the candidate unit are traversed; The candidate unit is determined as the conflicting unit.
4. The method according to claim 1, characterized in that: For each of the conflicting unit groups, the mask patterns of the first unit in the conflicting unit group are divided into corresponding sub-mask groups according to a preset division rule to obtain a first pattern division result, including: For each of the conflicting unit groups, the following steps are performed respectively to obtain the first graph division result corresponding to each of the conflicting unit groups: Dividing two mask patterns in the first unit whose distance between the mask patterns is less than a preset distance threshold into different sub-mask groups; The two mask patterns in the first unit, the distance between which is not less than a preset distance threshold, are divided into the same sub-mask group.
5. The method according to claim 1, characterized in that For each of the conflicting unit groups, according to the first graphic division result, each mask graphic of the second unit in the conflicting unit group is divided into corresponding sub-mask groups to obtain a second graphic division result, including: Arranging the second units in the conflicting unit group in ascending order according to the distance between the maximum circumscribed contour of the second unit and the centroid of the maximum circumscribed contour of the first unit, to obtain a sorting order of the second units, wherein the maximum circumscribed contour is used to represent the minimum circumscribed polygon containing the mask patterns in the conflicting units; Determining a graph partitioning strategy for each of the second units according to the sorting order of each of the second units; According to the first graphic division result and the graphic division strategy of each second unit, the mask graphic of each second unit is divided respectively to obtain the second graphic division result.
6. The method according to claim 5, characterized in that The step of dividing the mask patterns of the second units according to the first pattern division result and the pattern division strategy of the second units to obtain the second pattern division result includes: For each of the second units in odd order, respectively perform: dividing the mask pattern with the same pattern attribute as the first pattern in the second unit into the second sub-mask group, dividing the mask pattern with the same pattern attribute as the second pattern in the second unit into the first sub-mask group, and obtaining the second pattern division result, wherein the first pattern is the mask pattern in the first unit divided into the first sub-mask group, and the second pattern is the mask pattern in the first unit divided into the second sub-mask group; For each of the second units in an even order, respectively perform: divide the mask graphics in the second unit with the same graphic attributes as the first graphic into the first sub-mask group, and divide the mask graphics in the second unit with the same graphic attributes as the second graphic into the second sub-mask group, to obtain the second graphic division result.
7. The method according to claim 1, characterized in that The step of generating a plurality of sub-masks according to the first graphic division result and the second graphic division result comprises: Comparing the graphic area of the first sub-mask group in the first graphic division result and the second graphic division result with the graphic area of the second sub-mask group in the first graphic division result and the second graphic division result to obtain a first size relationship; According to the first size relationship, the first sub-mask group and the second sub-mask group are updated to obtain a first updated sub-mask group and a second updated sub-mask group; A first sub-mask template and a second sub-mask template are generated according to the first updated sub-mask group and the second updated sub-mask group.
8. The method according to claim 7, characterized in that The updating of the first sub-mask group and the second sub-mask group according to the first size relationship to obtain a first updated sub-mask group and a second updated sub-mask group includes: In each of the conflicting unit groups, at least one of the conflicting unit groups whose second size relationship is consistent with the first size relationship is selected as the target conflicting unit group, wherein the second size relationship is the size relationship between the graphic area of the conflicting unit group divided into the first sub-mask group and the graphic area divided into the second sub-mask group; The mask patterns in the target conflict unit group that are divided into the first sub-mask group are moved to the second sub-mask group, and the mask patterns in the target conflict unit group that are divided into the second sub-mask group are moved to the first sub-mask group to obtain the first update sub-mask group and the second update sub-mask group.
9. The method according to claim 8, characterized in that The step of selecting at least one conflicting unit group whose second size relationship is consistent with the first size relationship from among the conflicting unit groups as a target conflicting unit group includes: Determining the second size relationship of each of the conflicting unit groups respectively according to the second graphic division results of each of the conflicting unit groups; Determine the plurality of conflicting unit groups whose second size relationship is consistent with the first size relationship as candidate conflicting unit groups; Determining the total graphic area of each candidate conflicting unit group according to the conflicting units included in each candidate conflicting unit group; The candidate conflict unit group with the smallest total area of the graph is determined as the target conflict unit group.
10. An electronic device, characterized in that: The device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the mask processing method according to any one of claims 1 to 9 is implemented.
11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the mask processing method according to any one of claims 1 to 9 is implemented.
12. A computer program product, characterized in that When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the mask processing method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Differentiating method of repetitive design unit
CN104503202A
Mask optimization method, mask optimization system and electronic equipment
CN112506003A
Photomask correction method for solving splitting conflict
CN116626983A
Layout splitting method, layout splitting system and storage medium
CN116679527A
Layout splitting method, computer program product, equipment and storage medium
CN118818890A