Mask processing methods, devices, equipment, media and products

By unifying the mask patterns within conflict unit groups, redundant calculations are avoided, the efficiency of mask partitioning is improved, and the problem of excessively long mask partitioning time in existing technologies is solved.

CN119882343BActive Publication Date: 2025-12-02SHENZHEN JINGYUAN INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510182484.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-18
Publication Date
2025-12-02
Estimated Expiration
2045-02-18

AI Technical Summary

Technical Problem

In existing multi-graphics techniques, the efficiency of mask partitioning is low because the partitioning relationship between mask graphics needs to be repeatedly calculated for the same conflicting units, resulting in excessive time.

Method used

By grouping conflict units so that each conflict unit group corresponds to only one type of conflict unit, and selecting a first unit to calculate the division relationship between mask patterns according to a preset division rule, other units are divided with reference to the division result of the first unit, thus avoiding duplicate calculations.

Benefits of technology

It improves the efficiency of mask partitioning, reduces redundant calculations, and enhances the speed and efficiency of mask processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119882343B_ABST
    Figure CN119882343B_ABST
Patent Text Reader

Abstract

This application discloses a mask processing method, apparatus, device, medium, and product, relating to the field of integrated circuit mask design technology. The method includes: obtaining the graphic attributes and graphic positions of mask patterns in an initial mask template; dividing mask patterns that satisfy a preset conflict relationship into the same conflict unit according to each graphic position, resulting in multiple conflict units; dividing conflict units with the same conflict unit attributes into the same conflict unit group, resulting in multiple conflict unit groups; for each conflict unit group, dividing each mask pattern of the first unit in the conflict unit group into a corresponding sub-mask group according to a preset partitioning rule, resulting in a first graphic partitioning result; for each conflict unit group, dividing each mask pattern of the second unit in the conflict unit group into a corresponding sub-mask group according to the first graphic partitioning result, resulting in a second graphic partitioning result; and generating multiple sub-masks based on the first and second graphic partitioning results.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of integrated circuit mask design technology, and particularly relates to a mask processing method, apparatus, equipment, medium and product. Background Technology

[0002] In semiconductor manufacturing, photolithography is a commonly used patterning method. However, photolithography limits the minimum pitch of the resulting pattern, and traditional single-exposure photolithography is no longer sufficient to meet the requirements of device miniaturization. To address the resolution limitations of traditional photolithography, multiple patterning techniques have been widely adopted. Multiple patterning involves breaking down a high-density photomask into two independent, low-density photomasks, thereby doubling the circuit integration density.

[0003] In existing methods, for the same conflicting units, the division relationship between mask patterns needs to be repeatedly calculated according to the preset division rules, which results in excessive division time and low efficiency of mask division. Summary of the Invention

[0004] This application provides a mask processing method, apparatus, device, medium, and product that can reduce the partitioning time and improve the partitioning efficiency of the mask.

[0005] One aspect of this application provides a mask processing method, including:

[0006] Obtain the graphic attributes and positions of each mask graphic in the initial mask template;

[0007] Based on the position of each graphic, mask graphics that satisfy the preset conflict relationship are divided into the same conflict unit to obtain multiple conflict units;

[0008] Conflict units with the same conflict unit attributes are grouped into the same conflict unit group to obtain multiple conflict unit groups. The conflict unit attributes include the graphic attributes of the mask graphics contained in the conflict unit and the positional attributes between the mask graphics.

[0009] For each conflict unit group, the mask patterns of the first unit in the conflict unit group are divided into the corresponding sub-mask groups according to the preset division rules to obtain the first pattern division result. The first unit is any conflict unit in the conflict unit group.

[0010] For each conflict unit group, based on the first graphic partitioning result, the mask graphics of each second unit in the conflict unit group are partitioned into the corresponding sub-mask groups to obtain the second graphic partitioning result. The second unit is each conflict unit in the conflict unit group except for the first unit.

[0011] Based on the first and second graphic partitioning results, multiple sub-mask templates are generated.

[0012] One aspect of this application provides a mask processing apparatus, including:

[0013] The information acquisition module is used to acquire the graphic attributes and positions of each mask graphic in the initial mask template;

[0014] The graphic grouping module is used to divide mask graphics that meet the preset conflict relationship into the same conflict unit according to the position of each graphic, so as to obtain multiple conflict units;

[0015] The unit grouping module is used to group conflicting units with the same conflicting unit attributes into the same conflicting unit group, resulting in multiple conflicting unit groups. The conflicting unit attributes include the graphic attributes of the mask graphics contained in the conflicting unit and the positional attributes between the mask graphics.

[0016] The image segmentation module is used to divide each mask pattern of the first unit in each conflict unit group into the corresponding sub-mask group according to the preset segmentation rules to obtain the first image segmentation result. The first unit is any conflict unit in the conflict unit group.

[0017] The image segmentation module is also used to, for each conflict unit group, divide each mask pattern of the second unit in the conflict unit group into the corresponding sub-mask group according to the first image segmentation result, to obtain the second image segmentation result, wherein the second unit is each conflict unit in the conflict unit group other than the first unit.

[0018] The mask generation module is used to generate multiple sub-masks based on the first graphic partitioning result and the second graphic partitioning result.

[0019] In one aspect of the embodiments of this application, an electronic device is provided, the device including: a memory and a program or instructions stored in the memory and executable on a processor, wherein when the program or instructions are executed by the processor, they implement the mask processing method provided in any aspect of the embodiments of this application described above.

[0020] In one aspect of the embodiments of this application, a readable storage medium is provided, on which a program or instruction is stored, and when the program or instruction is executed by a processor, it implements the mask processing method provided in any aspect of the embodiments of this application described above.

[0021] In one aspect of the embodiments of this application, a computer program product is provided, wherein when the instructions in the computer program product are executed by the processor of an electronic device, the electronic device performs the mask processing method provided in any aspect of the embodiments of this application described above.

[0022] In the mask processing method provided in this application embodiment, conflicting units are first grouped so that each conflicting unit group corresponds to only one type of conflicting unit. Then, only one first unit is selected in each conflicting unit group to calculate the partitioning relationship between mask patterns according to a preset partitioning rule. In the same conflicting unit group, second units other than the first unit are directly partitioned with reference to the first pattern partitioning result of the first unit, without needing to perform repeated calculations according to the preset partitioning rule. Finally, multiple sub-masks can be generated based on the first pattern partitioning result and the second pattern partitioning result. In this way, this application improves the partitioning efficiency of mask by grouping conflicting units with the same conflicting unit attributes into the same conflicting unit group and performing unified processing on the conflicting unit group, avoiding repeated calculations for the same conflicting units. Attached Figure Description

[0023] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0024] Figure 1 This is a schematic flowchart of a mask processing method provided in one embodiment of this application;

[0025] Figure 2 This is a schematic diagram of an initial mask template provided in one embodiment of this application;

[0026] Figure 3 This is a schematic diagram of a conflict unit group provided in one embodiment of this application;

[0027] Figure 4 This is a schematic diagram of the process for constructing a conflict unit according to an embodiment of this application;

[0028] Figure 5 This is a flowchart illustrating step S105 provided in one embodiment of this application;

[0029] Figure 6 This is a flowchart illustrating S106 provided in one embodiment of this application;

[0030] Figure 7 This is a schematic diagram of the structure of a mask processing device provided in one embodiment of this application;

[0031] Figure 8 This is a schematic diagram of the structure of a mask processing device provided in one embodiment of this application. Detailed Implementation

[0032] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0033] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.

[0034] It should be noted that the acquisition, storage, use, and processing of data in the technical solution of this application all comply with the relevant provisions of national laws and regulations.

[0035] It should be noted that in the embodiments of this application, certain software, components, models and other existing solutions in the industry may be mentioned. These should be regarded as exemplary and are only intended to illustrate the feasibility of implementing the technical solution of this application. However, it does not mean that the applicant has used or necessarily used the solution.

[0036] In semiconductor manufacturing, photolithography is a commonly used patterning method. However, photolithography limits the minimum pitch of the resulting pattern, and traditional single-exposure photolithography is no longer sufficient to meet the requirements of device miniaturization. To address the resolution limitations of traditional photolithography, multiple patterning techniques have been widely adopted. Multiple patterning involves decomposing a high-density photomask into multiple independent, low-density photomasks, thereby increasing the upper limit of circuit integration. In other words, multiple patterning requires splitting the mask pattern within a single photomask into different sub-photomasks, thus achieving the decomposition of the high-density photomask.

[0037] Existing multi-patterning techniques primarily involve sequentially traversing each mask pattern in an initial mask template, identifying mask patterns whose distance to each other is less than a preset distance threshold as conflict units according to conflict rules, and then splitting each conflict unit sequentially according to preset partitioning rules. However, for the same conflict unit, this method requires repeatedly calculating the partitioning relationship between mask patterns according to the preset partitioning rules, resulting in excessively long partitioning time and low mask partitioning efficiency.

[0038] The purpose of this application is to provide a mask processing method, apparatus, device, medium, and product. In the mask processing method provided by the embodiments of this application, conflicting units are first grouped so that each conflicting unit group corresponds to only one type of conflicting unit. Then, only one first unit is selected in each conflicting unit group to calculate the partitioning relationship between mask patterns according to a preset partitioning rule. In the same conflicting unit group, second units other than the first unit are directly partitioned by referring to the first pattern partitioning result of the first unit, without needing to perform repeated calculations according to the preset partitioning rule. Finally, multiple sub-masks can be generated based on the first and second pattern partitioning results. Thus, this application improves the efficiency of mask partitioning by grouping conflicting units with the same conflicting unit attributes into the same conflicting unit group and processing the conflicting unit group uniformly, avoiding repeated calculations of the same conflicting units.

[0039] The following describes specific embodiments of the mask processing method, apparatus, equipment, medium, and product provided in this application. The mask processing method will be described first.

[0040] Figure 1 A flowchart of a mask processing method is provided. This mask processing method can be applied to the server side and may include the following steps S101 to S106.

[0041] S101, obtain 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 characterize a mask where the distance between mask patterns is less than the minimum pitch of the photolithography process. That is, a high-density mask where there are mask patterns that cannot be accurately identified by the photolithography process.

[0043] like Figure 2 The diagram shows a schematic of an initial photomask. The initial photomask includes multiple mask patterns 201 arranged in a high density, and the photolithography process cannot accurately identify all of these mask patterns 201.

[0044] Graphical attributes can include graphic shape, graphic area, and relative positional relationships of the graphic; graphic position is used to characterize the position of the mask graphic in the initial mask template. For example, a Cartesian coordinate system is constructed with any point in the initial mask template as the origin, and the coordinates of the mask graphic in this coordinate system are used as the graphic position of the mask graphic.

[0045] As an example, the server first reads the initial mask template file, obtains the graphic information of all mask graphics in the initial mask template, and stores the graphic information of each mask graphic in an easily searchable data structure, such as a list, dictionary, or database.

[0046] S102, based on the position of each graphic, the mask graphics that satisfy the preset conflict relationship are divided into the same conflict unit to obtain multiple conflict units.

[0047] In this embodiment, the conflict unit includes multiple 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 mask patterns can be measured by the distance between the centroids of the two mask patterns.

[0049] Furthermore, a mask pattern can only be assigned to 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 a preset distance threshold, then A and B are assigned to the same conflict unit. Further, if the distance between B and D is also less than the preset distance threshold, then B and D are also assigned to the same conflict unit, meaning A, B, and D are assigned to the same conflict unit. At this point, 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 or less than the preset distance threshold.

[0050] If the distance between A and B is less than a preset distance threshold, and the distance between D, C, and E and A is greater than a preset distance threshold, and the distance between D, C, and E and B is also greater than a preset distance threshold, then A and B are assigned to the same conflict unit, while D, C, and E are assigned to a different conflict unit than A and B.

[0051] As an example, the server iterates through all mask patterns, calculating the distance between each pair. If the distance between two mask patterns is less than a preset distance threshold, they are considered to meet a preset conflict relationship and should be grouped into the same conflict unit. Then, a data structure (such as a set or list) is used to group the mask patterns that meet the preset conflict relationship, thus forming multiple conflict units.

[0052] S103, group conflicting units with the same conflicting unit attributes into the same conflicting unit group to obtain multiple conflicting unit groups. The conflicting unit attributes include the graphic attributes of the mask graphics contained in the conflicting unit and the positional attributes between the mask graphics.

[0053] In this embodiment, the conflict unit group includes at least one conflict unit with the same conflict unit attributes, that is, all conflict units included in the conflict unit group are exactly the same.

[0054] The conflict unit attributes include the graphic attributes of the mask graphics contained in the conflict unit and the positional attributes between the mask graphics. If all conflict units in the conflict unit group are completely identical, it means that the graphic attributes of the mask graphics are the same and the positional attributes between the mask graphics are the same.

[0055] For example, if conflicting cell A and conflicting cell B belong to the same conflicting cell group, conflicting cell A includes two mask patterns: the first mask pattern is a triangle, and the second mask pattern is a circle. Conflicting cell 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 iterates through all conflicting units, comparing the graphic attributes of the mask graphics included in each conflicting unit and the positional attributes between the mask graphics to determine whether the conflicting unit attributes are the same. Then, the conflicting units are grouped. Conflicting units with the same attributes are grouped into the same conflicting unit group, while conflicting units with different attributes are grouped into different conflicting unit groups, thus obtaining multiple conflicting unit groups.

[0057] S104. For each conflict unit group, the mask patterns of the first unit in the conflict unit group are divided into the corresponding sub-mask groups according to the preset division rules to obtain the first pattern division result. The first unit is any conflict unit in the conflict unit group.

[0058] In this embodiment, the preset partitioning rule is used to characterize the rules for partitioning the mask patterns in the conflict unit group, so that there are no mask patterns in the partitioned sub-mask templates whose distance between mask patterns is less than a preset distance threshold.

[0059] For example, the preset partitioning rule can be based on the positional order of the mask patterns in the conflicting unit, with each mask pattern being assigned to the same sub-mask group after a certain interval. Assume there are two sub-mask groups, M and N. The first mask pattern is assigned to sub-mask group M, the second to sub-mask group N, the third to sub-mask group M again, and the fourth to sub-mask group N. This process continues in a loop until all mask patterns in the conflicting unit have been traversed.

[0060] Another preset partitioning rule is to assign masks to the same sub-mask group based on their positional order within the conflicting unit, with every two masks separated by a certain number. Assume there are three sub-mask groups: M, N, and Q. The first mask is assigned to sub-mask group M, the second to sub-mask group N, and the third to sub-mask group Q. The fourth mask is then assigned to sub-mask group M, and the fifth to sub-mask group N. This process continues until all mask patterns within the conflicting unit have been traversed.

[0061] The first graphic partitioning result is used to characterize the graphic partitioning result of the first unit, that is, to characterize the information of which sub-mask group each mask graphic in the first unit is partitioned into.

[0062] As an example, for each conflict unit group, the server selects one conflict unit from the group as the first unit. The first unit can be selected randomly or according to a preset selection strategy.

[0063] Then, according to the preset partitioning rules, the mask patterns in the first unit are divided into different sub-mask groups; and each mask pattern in the first unit is recorded as being assigned to a specific sub-mask group, thus obtaining the first pattern partitioning result.

[0064] S105, for each conflict unit group, according to the first graphic division result, the mask patterns of the second unit in the conflict unit group are divided into the corresponding sub-mask groups to obtain the second graphic division result. The second unit is each conflict unit in the conflict unit group except for the first unit.

[0065] In this embodiment, for each conflict unit group, except for the first unit, the mask patterns in each of 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 assigned to sub-mask group M, then the first mask pattern of each second unit is also assigned to sub-mask group M; if the second mask pattern of the first unit is assigned to sub-mask group N, then the second mask pattern of each second unit is also assigned to sub-mask group N. Thus, after dividing the mask patterns of each second unit in each conflicting unit group, the second pattern division result corresponding to each second unit can be obtained.

[0067] S106, Generate multiple sub-mask templates based on the first graphic division result and the second graphic division result.

[0068] In this embodiment, the server integrates all the first and second graphic partitioning results and divides each mask graphic in the initial mask template into corresponding sub-mask templates according to the corresponding graphic partitioning results, thereby obtaining multiple sub-mask templates.

[0069] In the mask processing method provided in this embodiment, conflicting units are first grouped so that each conflicting unit group corresponds to only one type of conflicting unit. Then, only one first unit is selected in each conflicting unit group to calculate the partitioning relationship between mask patterns according to a preset partitioning rule. In the same conflicting unit group, second units other than the first unit are directly partitioned by referring to the first pattern partitioning result of the first unit, without needing to perform repeated calculations according to the preset partitioning rule. Finally, multiple sub-masks can be generated based on the first and second pattern partitioning results. Thus, this application improves the efficiency of mask partitioning by grouping conflicting units with the same conflicting unit attributes into the same conflicting unit group and processing the conflicting unit groups uniformly, avoiding repeated calculations of the same conflicting units.

[0070] As an optional embodiment, S103 may specifically include:

[0071] Based on the graphic attributes of each mask graphic in the collision unit, determine the first hash value of each mask graphic;

[0072] The second hash value is determined based on the positional attributes between the mask patterns in the collision unit;

[0073] Based on the first hash value and the second hash value, determine the target hash value of the conflicting unit;

[0074] Conflicting units with the same target hash value are grouped into the same conflict unit group, resulting in multiple conflict unit groups.

[0075] In this embodiment, the shapes of the mask patterns included in the collision unit can be the same or different. For example, the collision unit includes two mask patterns: the first can be a triangular mask pattern, and the second can be a rectangular mask pattern.

[0076] A hash value is a fixed-length numerical value calculated using a specific hash function based on the graphic attributes or positional attributes of each mask pattern in a collision cell. If two collision cells have the same target hash value, it indicates that the graphic attributes of each mask pattern and the positional attributes between the mask patterns are completely identical in the two collision cells. That is, the graphic shape, area, relative positional relationship, and positional relationship of each mask pattern included in the two collision cells are all equal.

[0077] For example, suppose that collision cell X and collision cell Y have the same target hash value, and collision cell X includes two mask patterns, the first being a triangular mask pattern with an area of ​​2 units, and the second being a rectangular mask pattern with an area of ​​3 units; then collision cell Y also includes two mask patterns, the first being a triangular mask pattern with an area of ​​2 units, and the second being a rectangular mask pattern with an area of ​​3 units.

[0078] As an example, for each conflicting unit, the server extracts the graphic attributes of all mask graphics within it, as well as the positional attributes between the mask graphics, and then standardizes the extracted graphic attributes. For example, the graphic area is converted to a uniform unit.

[0079] Next, a hash function is designed that accepts standardized graphic attributes or positional attributes between mask graphics as input and outputs a hash value. The hash function is applied to the graphic attributes and positional attributes between each mask graphic to obtain multiple first hash values ​​and one second hash value. The first hash values ​​and the second hash value are then summed to obtain the target hash value of the collision cell.

[0080] Then, all conflicting units are traversed, and conflicting units with the same target hash value are grouped into the same conflicting unit group, thus forming multiple conflicting unit groups.

[0081] like Figure 3As shown, a schematic diagram of a conflict unit group is provided. The initial mask pattern is divided into eight conflict units: 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. Conflict units 310, 320, and 370 have the same hash value, so they are grouped into the same conflict unit group, resulting in conflict unit group P. Conflict units 330 and 360 have the same hash value, so they are grouped into the same conflict unit group, resulting in conflict unit group G. Conflict units 340 and 350 have the same hash value, so they are grouped into the same conflict unit group, resulting in conflict unit group E. Conflict unit 380 has no other conflict units with the same hash value, thus forming a separate conflict unit group F.

[0082] In this embodiment, a hash algorithm is used to calculate the hash values ​​corresponding to the graphic attributes and positional attributes of the mask patterns in each collision unit. This allows for direct determination of whether the graphic attributes and positional attributes of the mask patterns in a collision unit are the same based on whether the hash values ​​are identical. Thus, collision units with the same graphic attributes and positional attributes can be accurately grouped into the same collision unit group, improving the accuracy of collision unit group division.

[0083] As an optional embodiment, S102 may specifically include:

[0084] Repeat the following steps until all mask patterns in the initial mask template have been traversed:

[0085] Set the first image as the search center. The first image is any mask image that has not yet been traversed.

[0086] Divide the first graphic into candidate cells;

[0087] Mask patterns that satisfy the preset conflict relationship are divided into candidate units. The preset conflict relationship is used to characterize that the distance between the mask pattern and the search center is less than the preset distance threshold.

[0088] The search center is updated to the second graphic, which is any mask graphic in the candidate unit other than the first graphic. The process is then repeated until all mask graphics in the candidate units are traversed.

[0089] Candidate units are identified as conflicting units.

[0090] In this embodiment, as an example, such as Figure 4 As shown, the server first obtains the positions of all mask shapes via S401, and then calculates the distance between each mask shape using a distance calculation formula. Specifically, nested loops can be used to iterate through all shape pairs to calculate the distance.

[0091] After obtaining the distance between each pair of mask patterns, in S402, a mask pattern that has not yet been traversed is selected as the first pattern, and the currently selected first pattern is set as the search center. A new data structure (such as a list or set) is created to represent the candidate units, initialized to empty, and then in S403, the first pattern is assigned to the candidate units. Then, in S404, all mask patterns whose distance from the current search center is less than a preset distance threshold are found, and these mask patterns are assigned to the candidate units.

[0092] Then, in step S405, it is determined whether the search center has traversed all the mask patterns in the candidate units. If the search center has not yet traversed all the mask patterns in the candidate units, then in step S406, a new search center is selected from the mask patterns of the candidate units, and step S404 is repeated to reassign mask patterns whose distance from the new search center is less than a threshold to the candidate units. A flag or counter is used to track whether there are any mask patterns in the candidate units that have not been set as search centers. When all mask patterns have been processed as search centers, then in step S407, the candidate unit is determined as a conflict unit. Then, in step S408, it is determined whether all the mask patterns in the initial mask template have been traversed. If there are still untraversed mask patterns, then the untraversed mask pattern is set as the search center, and the above steps are repeated. If there are no untraversed mask patterns, then the loop ends in step S409.

[0093] In this embodiment, the distance between each mask pattern is determined based on its position. Then, a cyclic search is performed based on the distances between the mask patterns to obtain multiple conflict units. In this way, through cyclic search, conflict units can be accurately constructed, avoiding the omission of mask patterns in the conflict units.

[0094] As an optional embodiment, S104 may specifically include:

[0095] For each conflict unit group, perform the following steps to obtain the first graphic partitioning result for each conflict unit group:

[0096] Two mask patterns in the first unit whose distance is less than a preset distance threshold are divided into different sub-mask groups;

[0097] Two mask patterns in the first unit whose distance is not less than a preset distance threshold are divided into the same sub-mask group.

[0098] In this embodiment, the server uses nested loops or distance matrices to compare the distance between each pair of mask patterns in the first unit of each conflict unit group.

[0099] If the distance between two mask patterns is less than a preset distance threshold, they are divided into two different sub-mask groups; if the distance between 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, conflict unit 310 in conflict unit group P is taken as the first unit. Conflict unit 310 includes three mask patterns, and then it is determined whether the distance between the three mask patterns in conflict unit 310 is less than a preset distance threshold.

[0101] In this collision unit 310, the distance between the first mask pattern 301 and the second mask pattern 302 is less than a preset distance threshold, the distance between the second mask pattern 302 and the third mask pattern 303 is less than a preset distance threshold, while the distance between the first mask pattern 301 and the third mask pattern 303 is greater than a preset distance threshold. Therefore, the first mask pattern 301 and the third mask pattern 303 in the collision unit 310 can be assigned to sub-mask group M, and the second mask pattern 302 in the collision unit 310 can be assigned to sub-mask group N.

[0102] In this embodiment, the mask pattern in the first unit of each conflict unit group is divided according to a preset division rule to obtain a first pattern division result. This division of each first unit according to the preset rule ensures the accuracy of the first pattern division result. This, in turn, ensures the accuracy of subsequent division of the second unit based on the first pattern division result, avoiding erroneous division of the mask pattern in the initial mask template.

[0103] As an optional embodiment, such as Figure 5 As shown, S105 may specifically include the following S501 to S503:

[0104] S501, Arrange each second unit in the conflict unit group in ascending order according to the distance between the centroid of the maximum circumscribed contour of the second unit and the maximum circumscribed contour of the first unit to obtain the sorting order of each second unit. The maximum circumscribed contour is used to characterize the smallest circumscribed polygon containing each mask pattern in the conflict unit.

[0105] S502, Determine the graphic division strategy for each second unit according to the sorting order of each second unit;

[0106] S503, based on the first graphic division result and the graphic division strategy of each second unit, the mask graphic of each second unit is divided to obtain the second graphic division result.

[0107] In this embodiment, the second units in the conflict unit group are sorted in ascending order of the distance between the centroid of the largest circumscribed contour of the second unit and the largest circumscribed contour of the first unit, thus obtaining the sorting order of the second units. For example... Figure 3 As shown, this relates to three conflicting units in conflicting unit group P. If conflicting unit 310 is the first unit, then conflicting units 320 and 370 are the second units. The distance between the centroid 3201 of the maximum circumscribed contour 3200 of conflicting unit 320 and the centroid 3101 of the maximum circumscribed contour 3100 of conflicting unit 310 is less than the distance between the centroid 3301 of the maximum circumscribed contour 3300 of conflicting unit 370 and the centroid 3101 of the maximum circumscribed contour 3100 of conflicting unit 310. Therefore, the sorting order of conflicting unit 320 is 1, and the sorting order of conflicting unit 370 is 2.

[0108] The pattern partitioning strategy is used to characterize how the mask patterns in the second unit are partitioned. For example, the pattern partitioning strategy may include the same partitioning method as the first unit, that is, if the first mask pattern in the first unit is partitioned into sub-mask group M and the second mask pattern is partitioned into sub-mask group N, then the first mask pattern in the second unit is also partitioned into sub-mask group M and the second mask pattern is also partitioned into sub-mask group N.

[0109] The pattern partitioning strategy can also include a partitioning method opposite to that of the first unit. That is, if the first mask pattern in the first unit is partitioned into sub-mask group M and the second mask pattern is partitioned into sub-mask group N, then the first mask pattern in the second unit is partitioned into sub-mask group N and the second mask pattern is partitioned into sub-mask group M.

[0110] As an example, the graphic partitioning strategy for each second unit can be determined based on the sorting order of each second unit. For each second unit with an odd-numbered sorting order, the same partitioning strategy as the first unit can be adopted; for each second unit with an even-numbered sorting order, the opposite partitioning strategy as the first unit can be adopted.

[0111] As another example, the graphic partitioning strategy for each second unit can be determined based on the sorting order of each second unit. For each second unit whose sorting order is odd-numbered, a graphic partitioning strategy with the opposite partitioning method to that of the first unit can be adopted; for each second unit whose sorting order is even-numbered, a graphic partitioning strategy with the same partitioning method as that of the first unit can be adopted.

[0112] In this embodiment, all second units in the conflict unit group, excluding the first unit, are sorted in ascending order of their distance from the first unit's maximum circumscribed contour. Then, based on the sorting order and the first graphic partitioning result, each second unit is further partitioned. Thus, within the same conflict unit group, all other conflict units besides the first unit only need to be partitioned according to the first graphic partitioning result, eliminating the need for repeated calculations based on preset partitioning rules, thereby improving the efficiency of mask partitioning.

[0113] As an optional embodiment, S503 may specifically include:

[0114] For each second unit in an odd-numbered order, the following steps are performed: the mask graphics in the second unit that have the same graphic attributes as the first graphic are assigned to the second sub-mask group, and the mask graphics in the second unit that have the same graphic attributes as the second graphic are assigned to the first sub-mask group, resulting in the second graphic division result. The first graphic is the mask graphics assigned to the first sub-mask group in the first unit, and the second graphic is the mask graphics assigned to the second sub-mask group in the first unit.

[0115] For each second unit in even-numbered order, the following steps are performed: the mask graphics in the second unit that have the same graphic attributes as the first graphic are assigned to the first sub-mask group, and the mask graphics in the second unit that have the same graphic attributes as the second graphic are assigned to the second sub-mask group, thus obtaining the second graphic division result.

[0116] In this embodiment, the first graphic represents the mask graphic assigned to the first sub-mask group in the first unit, and the second graphic represents the mask graphic assigned to the second sub-mask group in the first unit. Assume there are two sub-mask groups, M and N. M is designated as the first sub-mask group, and N as the second sub-mask group. Then, the first graphic represents the mask graphic assigned to sub-mask group M in the first unit, and the second graphic represents the mask graphic assigned to sub-mask group N in the first unit.

[0117] As an example, such as Figure 3 As shown, mask patterns 301 and 303 in conflict unit 310 are assigned to sub-mask group M, and mask pattern 302 in conflict unit 310 is assigned to sub-mask group N.

[0118] At this point, for the mask patterns in conflict unit 320, since their sorting order is 1, which is an odd number, mask patterns 304 and 306, which correspond to mask patterns 301 and 303 in conflict unit 310, are assigned to sub-mask group N, and mask pattern 305, which corresponds to mask pattern 302 in conflict unit 310, is assigned to sub-mask group M.

[0119] For the mask patterns in conflict unit 370, since their sorting order is 2, which is an even number, mask patterns 307 and 309, which correspond to mask patterns 301 and 303 in conflict unit 310, are assigned to sub-mask group M, and mask pattern 308, which corresponds to mask pattern 302 in conflict unit 310, is assigned to sub-mask group N.

[0120] In this embodiment, each second unit in the conflict unit group (excluding the first unit) is sorted in ascending order of distance between its centroid and the centroid of the largest circumscribed contour of the first unit. Then, for each mask pattern in the second unit with an odd sorting order, it is assigned to a sub-mask group that is 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 assigned to a sub-mask group that is identical to the corresponding mask pattern in the first unit. Thus, by alternating between opposite and identical assignments, the area of ​​the two sub-mask templates is more balanced, improving the rationality of the sub-mask assignment.

[0121] As an optional embodiment, such as Figure 6 As shown, S106 may specifically include the following S601 to S603:

[0122] S601, compare the area of ​​the first sub-mask group in the first and second graphic division results with the area of ​​the second sub-mask group in the first and second graphic division results to obtain the first size relationship;

[0123] S602, based on the first size relationship, update the first sub-mask group and the second sub-mask group to obtain the first updated sub-mask group and the second updated sub-mask group;

[0124] S603, Generate a first sub-mask template and a second sub-mask template based on 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 area of ​​the mask pattern in the first sub-mask group and the area of ​​the mask pattern in the second sub-mask group. For example, the first size relationship can be that the area of ​​the mask pattern in the first sub-mask group is greater than the area of ​​the mask pattern in the second sub-mask group, or it can be that the area of ​​the mask pattern in the first sub-mask group is less than the area of ​​the mask pattern in the second sub-mask group.

[0126] As an example, the server compares the area of ​​the mask graphic in the first sub-mask group of the first and second graphic partitioning results with the area of ​​the mask graphic in the second sub-mask group of the first and second graphic partitioning results to obtain a first size relationship. It is assumed that the first size relationship is that the area of ​​the mask graphic in the first sub-mask group is greater than the area of ​​the mask graphic in the second sub-mask group.

[0127] Then, to make the area of ​​the mask patterns in the first sub-mask group as balanced as possible with that in the second sub-mask group, the server retrieves at least one mask pattern from the first sub-mask group and moves it from the first sub-mask group to the second sub-mask group, thus obtaining a first updated sub-mask group and a second updated sub-mask group. Specifically, the number of mask patterns moved can be determined based on the difference between the area of ​​the mask patterns in the first sub-mask group and the area of ​​the mask patterns in the second sub-mask group.

[0128] Finally, a first sub-mask template is generated based on the mask pattern in the first updated sub-mask group; and a second sub-mask template is generated based on the mask pattern in the second updated sub-mask group.

[0129] In 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 sub-mask partitioning.

[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. The second size relationship is the size relationship between the area of ​​the graphic in the conflict unit group that is divided into the first sub-mask group and the area of ​​the graphic that is divided into the second sub-mask group.

[0132] The mask patterns assigned to the first sub-mask group in the target conflict unit group are moved to the second sub-mask group, and the mask patterns assigned to the second sub-mask group in the target conflict unit group are moved to the first sub-mask group, resulting in the first updated sub-mask group and the second updated sub-mask group.

[0133] In this embodiment, the second size relationship is used to characterize the size relationship between the area of ​​the pattern assigned to the first sub-mask group and the area of ​​the pattern assigned to the second sub-mask group in the conflict unit group. For example, the second size relationship can be that the area of ​​the pattern assigned to the first sub-mask group is greater than the area of ​​the pattern assigned to the second sub-mask group, or it can be that the area of ​​the pattern assigned to the first sub-mask group is less than the area of ​​the pattern assigned to the second sub-mask group.

[0134] The target conflict unit group is one or more of the conflict unit groups whose second size relation matches the first size relation. For example, the first size relation is that the area of ​​the first sub-mask group is greater than the area of ​​the second sub-mask group; the second size relation of conflict unit group P is that the area of ​​the first sub-mask group is greater than the area of ​​the second sub-mask group; the second size relation of conflict unit group G is that the area of ​​the first sub-mask group is equal to the area of ​​the second sub-mask group; the second size relation of conflict unit group E is that the area of ​​the first sub-mask group is equal to the area of ​​the second sub-mask group; and the second size relation of conflict unit group F is that the area of ​​the first sub-mask group is greater than the area of ​​the second sub-mask group. Then the target conflict unit group is at least one of conflict unit group P and conflict unit group F.

[0135] As an example, the server calculates the area of ​​the mask pattern in the first sub-mask group and the area of ​​the mask pattern in the second sub-mask group, and then compares their sizes to obtain the first size relationship. Next, the server calculates the area of ​​the pattern assigned to the first sub-mask group and the area assigned to the second sub-mask group in each conflict unit group, and compares their sizes to obtain the second size relationship for each conflict unit group.

[0136] Then, based on the first size relationship and the second size relationship, multiple conflict unit groups that are consistent with the second size relationship and the first size relationship are selected, and at least one of them is selected as the target conflict unit group.

[0137] Finally, the mask patterns originally assigned to the first sub-mask group in the target conflict unit group are updated and moved to the second sub-mask group, and the mask patterns originally assigned to the second sub-mask group in the target conflict unit group are 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 the pattern area between the first updated sub-mask group and the second updated sub-mask group is reduced.

[0138] In 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 further moving strategy is used to make the graphic areas of the mask patterns in the first sub-mask group and the second sub-mask group as balanced as possible, thereby improving the rationality of the sub-mask partitioning.

[0139] As an optional embodiment, 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, which may specifically include:

[0140] Based on the second graphic division results of each conflict unit group, the second size relationship of each conflict unit group is determined respectively;

[0141] Multiple conflicting unit groups that are consistent with the second size relation and the first size relation are identified as candidate conflicting unit groups;

[0142] Based on the conflict units included in each candidate conflict unit group, determine the total area of ​​the graphic for each candidate conflict unit group.

[0143] The candidate conflict unit group with the smallest total area of ​​the graphic is determined as the target conflict unit group.

[0144] In this embodiment, candidate conflict unit groups are used to represent conflict unit groups that are consistent with the second size relationship and the first size relationship, and there are multiple candidate conflict unit groups.

[0145] The target conflict unit group is used to characterize the candidate conflict unit group with the smallest total area of ​​the graphic.

[0146] As an example, the first size relationship is that the area of ​​the first sub-mask group is greater than the area of ​​the second sub-mask group. The second size relationship for conflict unit group P is that the area of ​​the first sub-mask group is greater than the area of ​​the second sub-mask group. The second size relationship for conflict unit group G is that the area of ​​the first sub-mask group is equal to the area of ​​the second sub-mask group. The second size relationship for conflict unit group E is that the area of ​​the first sub-mask group is equal to the area of ​​the second sub-mask group. The second size relationship for conflict unit group F is that the area of ​​the first sub-mask group is greater than the area of ​​the second sub-mask group. Therefore, conflict unit groups P and F are determined as candidate conflict unit groups.

[0147] Then, based on the conflicting units included in conflicting unit group P, the total area of ​​the graphic in conflicting unit group P is determined; based on the conflicting units included in conflicting unit group F, the total area of ​​the graphic in conflicting unit group F is determined. The total area of ​​the graphic in conflicting unit group P is compared with the total area of ​​the graphic in conflicting unit group F, and the total area of ​​the graphic in conflicting unit group F is found to be the smallest, thus determining conflicting unit group F as the target conflicting unit group.

[0148] In this embodiment, among the candidate conflict unit groups whose second size relationship matches the first size relationship, the candidate conflict unit group with the smallest total graphic area is determined as the target conflict unit group. This minimizes the number of mask graphics that need to be moved, improving moving efficiency. Based on the mask processing method, this application also provides specific embodiments of a mask processing apparatus.

[0149] like Figure 7 As shown, the mask processing device 700 provided in this application embodiment includes an information acquisition module 710, an image grouping module 720, a unit grouping module 730, an image segmentation module 740, and a mask 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] The graphic grouping module 720 is used to divide mask graphics that satisfy preset conflict relationships into the same conflict unit according to the position of each graphic, so as to obtain multiple conflict units;

[0152] The unit grouping module 730 is used to group conflicting units with the same conflicting unit attributes into the same conflicting unit group to obtain multiple conflicting unit groups. The conflicting unit attributes include the graphic attributes of the mask graphics contained in the conflicting unit and the positional attributes between the mask graphics.

[0153] The image segmentation module 740 is used to divide each mask pattern of the first unit in the conflict unit group into the corresponding sub-mask group according to the preset segmentation rules for each conflict unit group, so as to obtain the first image segmentation result. The first unit is any conflict unit in the conflict unit group.

[0154] The image segmentation module 740 is further configured to, for each conflict unit group, divide each mask pattern of the second unit in the conflict unit group into the corresponding sub-mask group according to the first image segmentation result, to obtain the second image segmentation result, wherein the second unit is each conflict unit in the conflict unit group other than the first unit.

[0155] The mask generation module 750 is used to generate multiple sub-masks based on 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] Based on the graphic attributes of each mask graphic in the collision unit, determine the first hash value of each mask graphic;

[0158] The second hash value is determined based on the positional attributes between the mask patterns in the collision unit;

[0159] Based on the first hash value and the second hash value, determine the target hash value of the conflicting unit;

[0160] Conflicting units with the same target hash value are grouped into the same conflict unit group, resulting in multiple conflict unit groups.

[0161] As an optional embodiment, the graphics grouping module 720 is specifically used for:

[0162] Repeat the following steps until all mask patterns in the initial mask template have been traversed:

[0163] Set the first image as the search center. The first image is any mask image that has not yet been traversed.

[0164] Divide the first graphic into candidate cells;

[0165] Mask patterns that satisfy the preset conflict relationship are divided into candidate units. The preset conflict relationship is used to characterize that the distance between the mask pattern and the search center is less than the preset distance threshold.

[0166] The search center is updated to the second graphic, which is any mask graphic in the candidate unit other than the first graphic. The process is then repeated until all mask graphics in the candidate units are traversed.

[0167] Candidate units are identified as conflicting units.

[0168] As an optional embodiment, the image segmentation module 740 specifically includes the following units:

[0169] The loop execution unit is used to perform the following steps for each conflict unit group to obtain the first graphic partitioning result corresponding to each conflict unit group:

[0170] Two mask patterns in the first unit whose distance is less than a preset distance threshold are divided into different sub-mask groups;

[0171] Two mask patterns in the first unit whose distance 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] The graphic sorting unit is used to sort each second unit in the conflict unit group in ascending order according to the distance between the centroid of the maximum bounding contour of the second unit and the maximum bounding contour of the first unit, so as to obtain the sorting order of each second unit. The maximum bounding contour is used to characterize the smallest bounding polygon containing each mask graphic in the conflict unit.

[0174] The strategy determination unit is used to determine the graphic partitioning strategy of each second unit according to the sorting order of each second unit.

[0175] The graphic partitioning unit is used to partition the mask graphic of each second unit according to the first graphic partitioning result and the graphic partitioning strategy of each second unit, so as to obtain the second graphic partitioning result.

[0176] As an optional embodiment, the graphic partitioning unit is specifically used for:

[0177] For each second unit in an odd-numbered order, the following steps are performed: the mask image in the second unit that has the same graphic attributes as the first image is assigned to the second sub-mask group, and the mask image in the second unit that has the same graphic attributes as the second image is assigned to the first sub-mask group, to obtain the second image division result. The first image is the mask image assigned to the first sub-mask group in the first unit, and the second image is the mask image assigned to the second sub-mask group in the first unit.

[0178] For each second unit in even-numbered order, the following steps are performed: the mask graphics in the second unit that have the same graphic attributes as the first graphic are assigned to the first sub-mask group, and the mask graphics in the second unit that have the same graphic attributes as the second graphic are assigned to the second sub-mask group, thus obtaining the second graphic division result.

[0179] As an optional embodiment, the mask generation module 750 specifically includes the following units:

[0180] The area comparison unit is used to compare the area of ​​the first sub-mask group in the first and second graphic division results with the area of ​​the second sub-mask group in the first and second graphic division results to obtain a first size relationship.

[0181] The mask group update unit is used to update the first sub-mask group and the second sub-mask group according to the first size relationship, so as to obtain the first updated sub-mask group and the second updated sub-mask group;

[0182] The mask generation unit is used to generate a first sub-mask and a second sub-mask based on the first updated sub-mask group and the second updated sub-mask group.

[0183] As an optional embodiment, the mask group update unit specifically includes the following sub-units:

[0184] The unit group selects sub-units to select at least one conflicting unit group in each conflicting unit group whose second size relationship is consistent with the first size relationship, as the target conflicting unit group. The second size relationship is the size relationship between the area of ​​the graphic in the conflicting unit group that is divided into the first sub-mask group and the area of ​​the graphic that is divided into the second sub-mask group.

[0185] The mask template update sub-unit is used to move each mask pattern in the target conflict unit group that is assigned to the first sub-mask group to the second sub-mask group, and to move each mask pattern in the target conflict unit group that is assigned to the second sub-mask group to the first sub-mask group, thus obtaining the first update sub-mask group and the second update sub-mask group.

[0186] As an optional embodiment, the unit group selects sub-units specifically for:

[0187] Based on the second graphic division results of each conflict unit group, the second size relationship of each conflict unit group is determined respectively;

[0188] Multiple conflicting unit groups that are consistent with the second size relation and the first size relation are identified as candidate conflicting unit groups;

[0189] Based on the conflict units included in each candidate conflict unit group, determine the total area of ​​the graphic for each candidate conflict unit group.

[0190] The candidate conflict unit group with the smallest total area of ​​the graphic is determined as the target conflict unit group.

[0191] Based on the mask processing method, this application also provides specific embodiments of the mask processing device.

[0192] Figure 8 A schematic diagram of the hardware structure of the mask processing device provided in an embodiment of this application is shown.

[0193] The photomask 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), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0195] Memory 802 may include mass storage for data or instructions. For example, and not limitingly, memory 802 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 802 may include removable or non-removable (or fixed) media. Where appropriate, memory 802 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 802 is non-volatile solid-state memory.

[0196] The processor 801 reads and executes computer program instructions stored in the memory 802 to implement any of the mask processing methods in the above embodiments.

[0197] In one example, the mask processing device may further include a communication interface 803 and a bus 810. Wherein, as Figure 8 As shown, the processor 801, memory 802, and communication interface 803 are connected through bus 810 and complete communication with each other.

[0198] The communication interface 803 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0199] Bus 810 includes hardware, software, or both, that couples components of a mask processing device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 810 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.

[0200] Furthermore, in conjunction with the mask processing methods in the above embodiments, this application embodiment can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any one of the mask processing methods in the above embodiments.

[0201] In addition, in conjunction with the mask processing method in the above embodiments, this application embodiment can provide a computer program product for implementation. When the instructions in the computer program product are executed by the processor of an electronic device, the electronic device performs the mask processing method provided by any aspect of the above embodiments of this application.

[0202] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and divisions, or change the order of steps, after understanding the spirit of this application.

[0203] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on 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, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0204] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. 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 embodiments, or in a different order, or several steps can be performed simultaneously.

[0205] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, 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 apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. 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 is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0206] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A mask processing method, characterized in that, include: Obtain the graphic attributes and positions of each mask graphic in the initial mask template; Based on the position of each graphic, the mask graphics that satisfy the preset conflict relationship are divided into the same conflict unit to obtain multiple conflict units; Each conflicting unit with the same conflicting unit attribute is grouped into the same conflicting unit group to obtain multiple conflicting unit groups. The conflicting unit attributes include the graphic attributes of the mask graphics contained in the conflicting unit and the positional attributes between the mask graphics. For each conflict unit group, the mask patterns of the first unit in the conflict unit group are divided into corresponding sub-mask groups according to a preset division rule to obtain a first pattern division result, wherein the first unit is any one of the conflict units in the conflict unit group; For each conflict unit group, according to the first graphic partitioning result, each mask graphic of the second unit in the conflict unit group is partitioned into a corresponding sub-mask group to obtain the second graphic partitioning result. The second unit is each conflict unit in the conflict unit group other than the first unit. Based on the first graphic segmentation result and the second graphic segmentation result, multiple sub-mask templates are generated.

2. The method according to claim 1, characterized in that, The step of grouping conflicting units with the same conflicting unit attributes into the same conflicting unit group to obtain multiple conflicting unit groups includes: Based on the graphic attributes of each mask graphic in the conflict unit, determine the first hash value of each mask graphic; The second hash value is determined based on the positional attribute between the mask patterns in the conflict unit; Based on the first hash value and the second hash value, the target hash value of the conflicting unit is determined; Each conflicting unit with the same target hash value is grouped into the same conflicting unit group to obtain multiple conflicting unit groups.

3. The method according to claim 1, characterized in that, The mask patterns that satisfy a preset conflict relationship are divided into the same conflict unit to obtain multiple conflict units, including: The following steps are performed repeatedly until all the mask patterns in the initial mask template have been traversed: Set the first graphic as the search center, where the first graphic is any of the mask graphics that have not yet been traversed; Divide the first graphic into candidate units; The mask patterns that satisfy the preset conflict relationship are divided into the candidate units. The preset conflict relationship is used to characterize 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 graphic, which is any mask graphic in the candidate unit other than the first graphic. The process is then repeated until all mask graphics 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 conflict unit groups, the mask patterns of the first unit in the conflict unit group are divided into corresponding sub-mask groups according to a preset division rule to obtain the first pattern division result, including: For each conflict unit group, the following steps are performed to obtain the first graphic partitioning result corresponding to each conflict unit group: Two mask patterns in the first unit whose distance is less than a preset distance threshold are divided into different sub-mask groups; Two mask patterns in the first unit whose distance 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 conflict unit groups, based on the first graphic partitioning result, the mask graphics of each of the second units in the conflict unit group are partitioned into corresponding sub-mask groups to obtain the second graphic partitioning result, including: The second units in the conflict unit group are arranged in ascending order according to the distance between the centroid of the maximum circumscribed contour of the second unit and the maximum circumscribed contour of the first unit, so as to obtain the sorting order of the second units. The maximum circumscribed contour is used to characterize the smallest circumscribed polygon containing each of the mask patterns in the conflict unit. Based on the sorting order of each second unit, determine the graphic division strategy for each second unit; Based on the first graphic division result and the graphic division strategy of each second unit, the mask graphic of each second unit is divided to obtain the second graphic division result.

6. The method according to claim 5, characterized in that, The step of dividing the mask pattern of each second unit according to the first pattern division result and the pattern division strategy of each second unit to obtain the second pattern division result includes: For each of the second units in an odd-numbered order, the following steps are performed: the mask image in the second unit that has the same graphic attributes as the first image is divided into the second sub-mask group, and the mask image in the second unit that has the same graphic attributes as the second image is divided into the first sub-mask group, to obtain the second image division result, where the first image is the mask image in the first unit that is divided into the first sub-mask group, and the second image is the mask image in the first unit that is divided into the second sub-mask group; For each of the second units in an even-numbered order, the following steps are performed: the mask graphics in the second unit that have the same graphic attributes as the first graphic are assigned to the first sub-mask group, and the mask graphics in the second unit that have the same graphic attributes as the second graphic are assigned to the second sub-mask group, thereby obtaining the second graphic division result.

7. The method according to claim 1, characterized in that, The step of generating multiple sub-mask templates based on the first graphic segmentation result and the second graphic segmentation result includes: The area of ​​the first sub-mask group in the first and second graphic division results is compared with the area of ​​the second sub-mask group in the first and second graphic division results to obtain the first size relationship; Based on the first size relationship, the first sub-mask group and the second sub-mask group are updated to obtain the first updated sub-mask group and the second updated sub-mask group; Based on the first updated sub-mask group and the second updated sub-mask group, a first sub-mask template and a second sub-mask template are generated.

8. The method according to claim 7, characterized in that, The step of 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 includes: In each of the conflict unit groups, at least one of the conflict unit groups whose second size relationship is consistent with the first size relationship is selected as the target conflict unit group. The second size relationship is the size relationship between the graphic area in the conflict unit group that is divided into the first sub-mask group and the graphic area that is divided into the second sub-mask group. Each mask pattern in the target conflict unit group that is assigned to 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 assigned to the second sub-mask group is moved to the first sub-mask group, thus obtaining the first updated sub-mask group and the second updated sub-mask group.

9. The method according to claim 8, characterized in that, The step of selecting at least one of the conflict unit groups whose second size relationship is consistent with the first size relationship as the target conflict unit group includes: Based on the second graphic division results of each conflict unit group, the second size relationship of each conflict unit group is determined respectively; The multiple conflicting unit groups that are consistent with the second size relationship and the first size relationship are identified as candidate conflicting unit groups; Based on the conflicting units included in each of the candidate conflicting unit groups, the total area of ​​the graphic in each candidate conflicting unit group is determined respectively; The candidate conflict unit group with the smallest total area of ​​the graphic is determined as the target conflict unit group.

10. An electronic device, characterized in that, The device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the mask processing method as described in any one of claims 1-9.

11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the mask processing method as described in any one of claims 1-9.

12. A computer program product, characterized in that, When the instructions in the computer program product are executed by the processor of the electronic device, the electronic device performs the mask processing method as described in any one of claims 1-9.

Citation Information

Patent Citations

  • Differentiating method of repetitive design unit

    CN104503202A

  • Mask optimization method, mask optimization system and electronic equipment

    CN112506003A