Mask pattern processing method and device, equipment, medium and product
By constructing a conflict diagram and determining the target edges to resolve conflict actions, and coordinating the processing of auxiliary graphics in the mask diagram, the problem of insufficient compliance of auxiliary graphics in the prior art is solved, and layout accuracy and consistency are improved.
Patent Information
- Application Number
- CN202510593155.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-08
- Publication Date
- 2025-07-18
AI Technical Summary
The prior art cannot meet the consistency requirements when dealing with auxiliary graphics compliance in the mask layout, which can easily cause excessive solution problems and lead to poor layout accuracy.
By constructing a conflict diagram, determine the target edge and target resolution actions between each auxiliary graph, coordinate the nodes with the same target edge, avoid excessive solution and ensure consistency of the auxiliary graph.
The layout accuracy of auxiliary graphics in the mask layout is significantly improved, the problem of over-solving is avoided, and the quality of chip manufacturing is ensured.
Smart Images

Figure CN120335227A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of semiconductor integrated circuit technology, and particularly relates to a method, device, equipment, medium and product for processing a mask layout. Background Art
[0002] With the development of semiconductor technology, the feature size of chips is continuously shrinking, which undoubtedly poses more stringent challenges to lithography technology. In this context, the application of assist patterns in mask layouts has become increasingly widespread. When laying out assist patterns in a mask layout, it is necessary to strictly follow the preset specification requirements.
[0003] Currently, the compliance processing for assist patterns in mask layouts mainly follows a rule-based method: First, conflict detection is performed based on the positions of the assist patterns in the mask layout and the preset specification requirements; then, the detected conflicts are sorted by priority; finally, the conflicts are processed one by one in the sorted order to ensure that all the assist patterns in the mask layout meet the specification requirements.
[0004] However, this compliance processing method takes individual conflicts as the processing unit, fails to meet the consistency requirements of assist patterns in mask layouts, causes the problem of over-solutions, and thus results in poor layout accuracy of assist patterns in mask layouts. Summary of the Invention
[0005] The embodiments of this application provide a method, device, equipment, medium and product for processing a mask layout, which can improve the layout accuracy of assist patterns in the mask layout.
[0006] In the first aspect of the embodiments of this application, a method for processing a mask layout is provided. The method includes:
[0007] Taking each assist pattern in the initial mask layout as a node and the conflicts between the assist patterns as edges, constructing a conflict schematic diagram;
[0008] For each node in the conflict schematic diagram, based on each edge connected to the node, determining the target edge and the target conflict resolution action of the node, where the target edge is the edge with the highest priority among all the edges connected to the node;
[0009] Determining a first node having the same target edge as other nodes from the nodes of the conflict schematic diagram;
[0010] For each first node, processing the assist pattern corresponding to the first node according to the target conflict resolution action of the first node to obtain a target mask layout.
[0011] In the second aspect of the embodiments of this application, a device for processing a mask layout is provided. The device includes:
[0012] A schematic diagram construction module, configured to construct a conflict schematic diagram with each auxiliary pattern in the initial mask layout as nodes and the conflicts between the auxiliary patterns as edges;
[0013] A target edge determination module, configured to, for each node in the conflict schematic diagram, determine the target edge and the target conflict resolution action of the node based on each edge connected to the node, where the target edge is the edge with the highest priority among all the edges connected to the node;
[0014] A node determination module, configured to determine a first node having the same target edge as other nodes from the nodes of the conflict schematic diagram;
[0015] A pattern processing module, configured to, for each first node, process the auxiliary pattern corresponding to the first node according to the target conflict resolution action of the first node to obtain a target mask layout.
[0016] In a third aspect of the embodiments of the present application, an electronic device is provided, and the device includes: a memory and a program or instruction stored on the memory and executable on a processor, and when the program or instruction is executed by the processor, it implements the mask layout processing method provided in any one of the above aspects of the embodiments of the present application.
[0017] In a fourth aspect of the embodiments of the present application, a readable storage medium is provided, and a program or instruction is stored on the readable storage medium, and when the program or instruction is executed by the processor, it implements the mask layout processing method provided in any one of the above aspects of the embodiments of the present application.
[0018] In a fifth aspect of the embodiments of the present application, a computer program product is provided, and when the instructions in the computer program product are executed by the processor of the electronic device, the electronic device is caused to execute the mask layout processing method provided in any one of the above aspects of the embodiments of the present application.
[0019] In the method for processing a mask layout provided by an embodiment of the present application, a conflict schematic diagram is constructed with each auxiliary pattern in the initial mask layout as nodes and the conflicts between the auxiliary patterns as edges. In this way, from the overall structural level, the conflicts between the auxiliary patterns in the initial mask layout are comprehensively analyzed. Then, for each node in the conflict schematic diagram, based on each edge connected to the node, the target edge with the highest priority and the corresponding target conflict resolution action are accurately determined. Next, for the first node that has the same target edge as other nodes, it is processed according to the target conflict resolution action of the first node. When a target edge is selected by two nodes at the same time, it can indicate that the actions taken by these two nodes are coordinated and reasonable, and there is no risk of over-resolution. In this case, directly process the auxiliary pattern of the first node according to the target conflict resolution action of the first node, so as to obtain the target mask layout, which can meet the consistency requirements of the auxiliary patterns in the initial mask layout and avoid the problem of over-resolution. In this way, by constructing a conflict schematic diagram and comprehensively analyzing all auxiliary patterns and their conflicts, the present application can effectively ensure the consistency of the auxiliary patterns, avoid the occurrence of over-resolution problems, and thus significantly improve the layout accuracy of the auxiliary patterns in the mask layout. Description of the Drawings
[0020] To more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required to be used in the embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0021] Figure 1 is a schematic diagram of compliance processing provided by an embodiment of the present application;
[0022] Figure 2 is a flowchart of the method for processing a mask layout provided by an embodiment of the present application;
[0023] Figure 3 is a schematic diagram of the conflict schematic diagram provided by an embodiment of the present application;
[0024] Figure 4 is a schematic diagram of the structure of the mask layout processing device provided by an embodiment of the present application;
[0025] Figure 5 is a schematic diagram of the structure of the mask layout processing device provided by an embodiment of the present application. Detailed Embodiments
[0026] The features and exemplary embodiments of various aspects of the present application will be described in detail below. To make the objectives, 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 and not to limit the present application. For those skilled in the art, the present application can be implemented without some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by showing examples of the present application.
[0027] It should be noted that in this document, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article or device comprising the element.
[0028] It should be noted that in the technical solution of the present application, the acquisition, storage, use, processing, etc. of data all comply with the relevant regulations of national laws and regulations.
[0029] It should be noted that in the embodiments of the present application, some industry-existing solutions such as certain software, components, models, etc. may be mentioned. They should be regarded as exemplary, and their purpose is only to illustrate the feasibility in the implementation of the technical solution of the present application, but it does not mean that the applicant has already or necessarily used this solution.
[0030] In the process of the continuous evolution of semiconductor technology, the feature size of chips shows a continuous shrinking trend. While this change promotes the improvement of chip performance, it also brings unprecedented severe challenges to lithography technology. In this situation, the application scope of assist features in the mask layout is expanding day by day, becoming one of the key means to cope with lithography challenges and ensure the quality of chip manufacturing. However, the layout of assist features in the mask layout is not done randomly, but must be carried out strictly in accordance with the pre-set specification requirements. Only in this way can it be ensured that the assist features play their due role in the mask layout and lay a solid foundation for the subsequent chip manufacturing process.
[0031] At present, when dealing with the compliance issues of assist features in a mask layout, the industry generally adopts a rule-based processing method. This method mainly includes three steps: First, according to the specific positions of the assist features in the mask layout and the established specification requirements, carry out detailed conflict detection work to accurately identify the situations that do not meet the specification requirements; Second, sort the detected various conflicts according to their priorities to clarify the processing order for subsequent targeted work; Third, process the conflicts one by one in the order from the highest priority to the lowest, striving to make all the assist features in the mask layout finally meet the specification requirements.
[0032] Specifically, as Figure 1 shown, a schematic diagram of compliance processing is provided. Among them, there are three assist features in the mask layout, namely assist feature A, assist feature B, and assist feature C. Among them, the distance d1 between assist feature A and assist feature B, the distance d2 between assist feature B and assist feature C, and the distance d3 between assist feature A and assist feature C are all less than the preset interval threshold, that is, there are compliance issues between assist feature A and assist feature B, between assist feature B and assist feature C, and between assist feature A and assist feature C. At this time, it is necessary to resolve the conflicts between assist feature A and assist feature B, between assist feature B and assist feature C, and between assist feature A and assist feature C in sequence to overcome the compliance issues.
[0033] However, it should be noted that this rule-based compliance processing method has obvious limitations. It takes a single conflict as the basic unit of processing and lacks consideration of the overall consistency of the assist features in the mask layout. In the actual operation process, it is easy to cause the problem of over-solution. That is, when resolving the conflict between assist feature A and assist feature B, it is necessary to move the left side of assist feature A to the right to reduce the area of assist feature A, and when resolving the conflict between assist feature A and assist feature C, it is also necessary to move the left side of assist feature A to the right to reduce the area of assist feature A. At this time, the left side of assist feature A is translated twice, thus over-reducing the area of assist feature A and causing the problem of over-solution. In this way, the layout accuracy of the assist features in the mask layout is greatly reduced, bringing potential risks to chip manufacturing.
[0034] When facing the above problems, the present application first realizes that there are fundamental defects in the traditional method of treating conflicts as independent units. When the assist features form a complex conflict network, isolating the processing of individual conflicts will trigger a chain adjustment effect. By analyzing the conflict propagation path, the present application finds that the key nodes in the conflict chain have a decisive impact on the global error distribution. From this, the idea of overall modeling of the conflict network is generated, and the adjustment order is determined by identifying the core conflict relationships. Finally, a network model is constructed based on the conflict relationships between the graphics, and the global optimal processing order is determined through the correlation analysis between the nodes.
[0035] In response to this, as Figure 2 shown, this application proposes a method for processing a mask layout. This method for processing a mask layout can be applied to a server, and this method for processing a mask layout may include the following S201 to S204:
[0036] S201: Taking each auxiliary pattern in the initial mask layout as a node and taking the conflicts between each pair of auxiliary patterns as edges, construct a conflict schematic diagram.
[0037] In this embodiment, the conflict schematic diagram refers to a graph structure constructed with auxiliary patterns as nodes and the conflicts between auxiliary patterns as edges. Specifically, it can be implemented using the adjacency matrix or adjacency list data structure in graph theory, and is used to globally represent the conflict relationships between auxiliary patterns, avoiding the local perspective problem caused by handling individual conflicts in isolation in traditional methods.
[0038] As Figure 3 shown, a schematic diagram of a conflict schematic diagram is provided. Specifically, map auxiliary pattern A to node A1, map auxiliary pattern B to node B1, and map auxiliary pattern C to node C1. Since there are conflicts between auxiliary pattern A and auxiliary pattern B, between auxiliary pattern B and auxiliary pattern C, and between auxiliary pattern A and auxiliary pattern C, an edge is created between node A1 and node B1, an edge is created between node B1 and node C1, and an edge is created between node A1 and node C1.
[0039] As an example, the server first analyzes the initial mask layout to identify all auxiliary patterns. For example, in a mask layout containing hundreds of auxiliary patterns, each auxiliary pattern is assigned a unique identifier.
[0040] Then, construct a conflict schematic diagram. Represent each auxiliary pattern as a node and check whether there is a conflict between each pair of auxiliary patterns. If there is a conflict, add an edge between the corresponding nodes. For example, if the distance between auxiliary patterns A and B is less than the preset minimum spacing requirement, add an edge between node A1 and node B1.
[0041] S202: For each node in the conflict schematic diagram, based on each edge connected to the node, determine the target edge and the target conflict resolution action of the node. The target edge is the edge with the highest priority among all the edges connected to the node.
[0042] In this embodiment, the target edge refers to the edge with the highest priority among all the edges connected to the current node. Specifically, it can be achieved by sorting the priorities of the conflict types corresponding to the edges. Its function is to preferentially resolve the conflicts that have the greatest impact on the overall layout and reduce repeated adjustments in subsequent processing.
[0043] The target conflict resolution action refers to the processing method for the conflict corresponding to the target edge, which can be specifically implemented by methods such as graphic deletion, splitting, or element position adjustment. Its function is to ensure the resolution of the highest-priority conflict while maintaining the rationality of the auxiliary graphic layout.
[0044] As an example, the server analyzes each node in the conflict schematic diagram. For each node, it checks all the edges connected to it and determines the target edge according to predefined priority rules. For example, the priority of the edge can be defined based on factors such as the severity of the conflict and the difficulty of resolution.
[0045] At the same time, the corresponding target conflict resolution action is determined according to the target edge, such as moving the graphic, resizing the graphic, or deleting the graphic.
[0046] S203, Determine the first node having the same target edge as other nodes from the nodes of the conflict schematic diagram.
[0047] In this embodiment, the first node refers to the node in the conflict schematic diagram that shares the same target edge with other nodes, which can be specifically identified by traversing the target edges of each node in the graph. Its function is to locate the auxiliary graphics with related conflicts and avoid new conflicts generated when different nodes independently resolve conflicts through coordinated processing.
[0048] As an example, the server identifies the nodes with the same target edge from the nodes of the conflict schematic diagram and marks these nodes as the first nodes. For example, if the target edges of node X and node Y are the same, then node X and node Y are determined as the first nodes.
[0049] S204, For each first node, process the auxiliary graphic corresponding to the first node according to the target conflict resolution action of the first node to obtain the target mask layout.
[0050] In this embodiment, the server processes the corresponding auxiliary graphic according to its target conflict resolution action for each first node, thereby obtaining the target mask layout. For example, if the target conflict resolution action is to move the graphic, then move the corresponding auxiliary graphic in the specified direction by the specified distance. If the target conflict resolution action is to resize the graphic, then scale the auxiliary graphic according to the specified ratio. If the target conflict resolution action is to delete the graphic, then directly remove the auxiliary graphic.
[0051] In this embodiment, a conflict schematic diagram is constructed with each auxiliary pattern in the initial mask layout as nodes and the conflicts between the auxiliary patterns as edges. In this way, from the overall structural level, the conflicts between the auxiliary patterns in the initial mask layout are comprehensively analyzed. Then, for each node in the conflict schematic diagram, based on the edges connected to the node, the target edge with the highest priority and the corresponding target conflict resolution action are accurately determined. Then, for the first node that has the same target edge as other nodes, the target conflict resolution action of the first node is processed. When a target edge is selected by two nodes at the same time, it can be shown that the actions taken by these two nodes are coordinated and reasonable, and there is no risk of over-solution. In this case, directly process the auxiliary pattern of the first node according to the target conflict resolution action of the first node, so as to obtain the target mask layout, which can meet the consistency requirements of the auxiliary patterns in the initial mask layout and avoid the problem of over-solution. In this way, by constructing a conflict schematic diagram and comprehensively analyzing all auxiliary patterns and their conflicts, this application can effectively ensure the consistency of the auxiliary patterns, avoid the occurrence of over-solution problems, and thus significantly improve the layout accuracy of the auxiliary patterns in the mask layout.
[0052] In some of the above solutions of this application, when determining the target edge and target conflict resolution action of a node, if the priority sequence cannot be systematically established and the edge with the highest priority cannot be accurately selected, it may affect the decision-making efficiency of the conflict resolution action, resulting in redundant operations in the mask layout processing process.
[0053] In response to this, this application further proposes that S202 may specifically include:
[0054] Based on the connected nodes corresponding to each edge connected to the node and their corresponding node priorities, respectively determine the conflict resolution actions between the auxiliary patterns connected by each edge;
[0055] Based on the priority order of the conflict resolution actions, determine the priority sequence corresponding to all the edges connected to the node;
[0056] Determine the edge with the highest priority in the priority sequence as the target edge;
[0057] Based on the conflict resolution action between the auxiliary patterns connected by the target edge, determine the target conflict resolution action.
[0058] In this embodiment, the node priorities of the connected nodes corresponding to each edge are calculated by preset rules, such as the layout density or pattern size of the area where the node is located; the priority order of the conflict resolution actions is determined by the conflict type. For example, the priority of the pattern deletion action is higher than that of the pattern splitting action, and the priority of the element adjustment action is sorted according to the adjustment amplitude. The generation of the priority sequence is achieved by traversing all the connected edges of the node and comparing the priorities of each edge. The target edge is determined by using a sorting algorithm to select the edge at the head of the sequence.
[0059] Exemplarily, the priority order of the conflict resolution actions is as follows: the graphic deletion action is greater than the graphic splitting action, and the graphic splitting action is greater than the element adjustment action. Among them, the element adjustment action specifically includes three types: shrinking the long side of the auxiliary graphic, shrinking the short side of the auxiliary graphic, and shrinking the corner of the auxiliary graphic. The priority of shrinking the long side of the auxiliary graphic is greater than that of shrinking the short side of the auxiliary graphic, and the priority of shrinking the short side of the auxiliary graphic is greater than that of shrinking the corner of the auxiliary graphic. If the actions of the element adjustment actions are the same, then the priority is further determined according to the shrinking amplitude, and the greater the shrinking amplitude, the higher the corresponding priority.
[0060] Specifically, for each edge connected to the node, first identify the auxiliary graphics connected on both sides of the edge, and determine the type of conflict resolution action corresponding to the edge according to the node priority values of the two graphics. For example, the priority of the node in the high-density area is higher than that of the node in the low-density area. Subsequently, sort the conflict resolution actions of each edge according to the type priority. For example, the graphic deletion action takes precedence over the splitting action, and the splitting action takes precedence over the element adjustment action, to form a priority sequence. After selecting the edge with the highest priority in the sequence as the target edge, extract the conflict resolution action corresponding to the edge as the target conflict resolution action of the current node. For example, if a node is connected to three edges, corresponding to the graphic deletion, element adjustment, and graphic splitting actions respectively, then the edge corresponding to the graphic deletion action in the priority sequence is determined as the target edge, and its conflict resolution action is selected as the target conflict resolution action of the current node.
[0061] As an example, the server first determines the conflict resolution actions between the auxiliary graphics connected by each edge corresponding to the node based on the connected nodes corresponding to each edge connected to the node and their corresponding node priorities. For example, for node X and the connected edges E1, E2, and E3, determine the conflict resolution actions between the auxiliary graphics connected by E1, E2, and E3 respectively.
[0062] Furthermore, based on the priority order of the conflict resolution actions, determine the priority sequence corresponding to all the edges connected to the node. For example, sort the conflict resolution action priorities of E1, E2, and E3 in the order of E2 - E1 - E3.
[0063] Thus, determine the edge with the highest priority in the priority sequence as the target edge. In this example, E2 is determined as the target edge. Finally, based on the conflict resolution action between the auxiliary graphics connected by the target edge, determine the target conflict resolution action. For example, if the conflict resolution action between the auxiliary graphics connected by E2 is graphic splitting, then determine graphic splitting as the target conflict resolution action.
[0064] Through this embodiment, the present application can effectively determine the target edges and target conflict resolution actions of each node. By considering all the edges connected to the node and sorting them based on the priority of the conflict resolution actions, the conflict situation can be evaluated more comprehensively, thereby selecting the optimal conflict resolution strategy. This method avoids the problem of single - considering a certain edge and ignoring other potential conflicts, improving the accuracy and efficiency of conflict resolution. At the same time, due to the use of the priority sorting method, it can better handle complex multi - edge conflict situations and ensure that important conflicts are resolved first.
[0065] In some of the above - mentioned solutions of the present application, when there are multiple target edges in the priority sequence of the conflict resolution actions, the way of determining the target conflict resolution action may face the problem of duplicate processing.
[0066] In response to this, the present application further proposes that when there are multiple target edges, based on the conflict resolution actions between the auxiliary graphs connected by the target edges, determine the target conflict resolution action, which can specifically include:
[0067] In the case where all conflict resolution actions are graph deletion actions or all are graph splitting actions, any one of the conflict resolution actions is determined as the target conflict resolution action.
[0068] In this embodiment, the type of the conflict resolution action directly affects the selection of the processing strategy. The graph deletion action refers to removing the conflicting auxiliary graph, and the graph splitting action refers to splitting a single graph into multiple parts. When the conflict resolution actions corresponding to multiple edges belong to the same type, any one of the actions can be selected to eliminate the conflict, without the need for superimposed processing. For example, when the two edges with the highest priority both correspond to graph deletion actions, any one of the edges can be selected to perform the deletion action to meet the requirements, without the need to process both edges simultaneously.
[0069] Specifically, in the conflict schematic diagram, when a node is connected to multiple edges, each edge corresponds to a different conflict resolution action. When it is detected that a node has two target edges and the conflict resolution actions of the two target edges are both of the deletion type or both of the splitting type, since these two actions both belong to irreversible graph structure adjustment actions, after selecting any one action to execute, the conflict of the current node can be directly eliminated. Thus, this method avoids the processing redundancy caused by the superposition of multiple similar actions and ensures the execution efficiency of the conflict resolution action.
[0070] As an example, when there are multiple target edges, when the server determines the target conflict resolution action based on the conflict resolution actions between the auxiliary graphs connected by the target edges, it first judges the types of the conflict resolution actions. If all the conflict resolution actions are graph deletion actions or all are graph splitting actions, then any one of them is selected as the target conflict resolution action.
[0071] For example, there are three target edges, corresponding to three conflict resolution actions respectively. Suppose these three actions all belong to graphic deletion, so one of them can be randomly selected as the final target conflict resolution action. Specifically, the first graphic deletion action can be selected as the target conflict resolution action.
[0072] Furthermore, to ensure randomness and fairness in the selection, a random number generator can be used to determine which conflict resolution action to choose. For example, generate a random integer between 1 and 3, and then select the corresponding conflict resolution action according to this random number.
[0073] Through this embodiment, the present application can quickly determine the final target conflict resolution action when the conflict resolution actions corresponding to multiple target edges are all graphic deletion or graphic splitting. This method avoids complex comparison and weighing processes and improves the processing efficiency.
[0074] In some of the above solutions of the present application, when there are multiple target edges with the same priority and the conflict resolution actions of each edge are all element adjustment actions, if there are differences in the positions of the elements to be adjusted corresponding to different edges, directly adopting a single conflict resolution action may cause some conflicts not to be completely eliminated, thus affecting the layout accuracy of the mask layout.
[0075] In response to this, the present application further proposes that when there are multiple target edges, based on the conflict resolution actions between the auxiliary graphics connected by the target edges, determine the target conflict resolution action, which specifically may include:
[0076] When each conflict resolution action is an element adjustment action, obtain the positions of the elements to be adjusted for each conflict resolution action, and the elements to be adjusted include at least one of the edges and corners of the auxiliary graphics;
[0077] When the positions of all the elements to be adjusted are the same, determine any one of the conflict resolution actions as the target conflict resolution action;
[0078] When the positions of the elements to be adjusted are different, superimpose each conflict resolution action to obtain the target conflict resolution action.
[0079] In this embodiment, the judgment of the position of the element to be adjusted is based on the coordinate information of the edge or corner to be adjusted in the auxiliary graphic. For example, when the conflict resolution action involves adjusting the right side edge of the auxiliary graphic, the position of the element to be adjusted is recorded as the endpoint coordinates of this edge in the coordinate system. The operation of superimposing the conflict resolution actions includes combining the adjustment parameters at different positions into a composite adjustment instruction, such as adjusting the position of the upper left corner of the auxiliary graphic and the length of the right side edge simultaneously.
[0080] Specifically, when the positions of the elements to be adjusted corresponding to multiple conflict resolution actions are the same, it indicates that multiple conflicts are concentrated in the same structural area. At this time, any one of the conflict resolution actions can cover all conflict adjustment requirements. For example, if two conflicts both require shortening the length of the same side of the auxiliary graphic, performing this action once can resolve all related conflicts. When the positions of the elements to be adjusted are different, the actions need to be superimposed. For example, adjust the dimensions of the top edge and the left corner of the auxiliary graphic simultaneously to ensure that all conflicts are eliminated. Through the position judgment and action superposition mechanism, it is possible to accurately match the adjustment requirements of different regions when dealing with multi-target edge conflicts, and avoid the problem of residual local conflicts caused by a single action.
[0081] As an example, in the case where there are multiple target edges, when the server determines the target conflict resolution action based on the conflict resolution actions between the auxiliary graphics connected by the target edges, it first obtains the positions of the elements to be adjusted for each conflict resolution action. The elements to be adjusted include at least one of the edges of the auxiliary graphic and the corners of the auxiliary graphic.
[0082] Specifically, if the positions of all the elements to be adjusted are the same, then any one of the conflict resolution actions is determined as the target conflict resolution action. For example, if two conflict resolution actions both involve adjusting the upper left corner of the auxiliary graphic, one of them can be selected as the target conflict resolution action.
[0083] Furthermore, if the positions of the elements to be adjusted are different, then the conflict resolution actions are superimposed to obtain the target conflict resolution action. For example, one conflict resolution action involves adjusting the upper left corner, and the other involves adjusting the lower right corner, then the two actions are superimposed to form a new target conflict resolution action.
[0084] Thus, the solution of the present application can flexibly handle the situation of multiple target edges, adopt different strategies according to the similarities and differences in the positions of the elements to be adjusted, so as to obtain a suitable target conflict resolution action.
[0085] Through this embodiment, the present application can effectively handle the complex situation of multiple target edges and avoid contradictions and inconsistencies in the conflict resolution process. When the positions of the elements to be adjusted are the same, selecting any one of the conflict resolution actions can simplify the processing flow. When the positions are different, by superimposing the conflict resolution actions, the requirements of multiple target edges can be comprehensively considered to obtain a more comprehensive and optimized solution. This flexible processing method improves the accuracy and efficiency of mask layout processing and helps to generate a higher-quality target mask layout.
[0086] In some of the above solutions of the present application, when the positions of the element adjustments are different, directly superimposing the conflict resolution actions as the target conflict resolution action may cause the auxiliary graphic to be over-adjusted, unable to retain the necessary graphic structure, and affect the accuracy of the mask layout.
[0087] In response to this, the present application further proposes to superimpose each conflict resolution action to obtain a target conflict resolution action, which may specifically include:
[0088] Superimpose each conflict resolution action to obtain a candidate conflict resolution action;
[0089] Based on the candidate conflict resolution action, simulate and optimize the auxiliary graph corresponding to the first node to obtain a simulated and optimized graph;
[0090] When the simulated and optimized graph meets the graph deletion condition, determine the conflict resolution action with the position of the element to be adjusted as the preset position as the target conflict resolution action;
[0091] When the simulated and optimized graph does not meet the graph deletion condition, determine the candidate conflict resolution action as the target conflict resolution action.
[0092] In this embodiment, the simulation optimization predicts whether the adjusted graph meets the preset area or preset size through geometric calculation. The graph deletion condition is determined based on the area or critical dimension threshold of the auxiliary graph. For example, deletion is triggered when the area of the auxiliary graph is lower than the minimum retention threshold or the critical dimension is smaller than the process limit.
[0093] Specifically, when the superimposition of multiple conflict resolution actions causes the auxiliary graph to be overly adjusted, the simulation optimization process can predict in advance whether the graph fails. For example, simultaneously indenting two adjacent sides of the auxiliary graph may cause the graph width to be lower than the process limit. At this time, the simulation result triggers the graph deletion condition, and instead, a single adjustment action at the preset position is adopted to retain the necessary graph structure. If the graph still meets the process requirements after the superimposed adjustment, the superimposed action is retained as the final adjustment plan. Through the cooperation of simulation optimization and condition judgment, the problems of graph failure or misdeletion caused by direct superimposed adjustment are avoided, and the accuracy of conflict resolution processing is improved.
[0094] As an example, the server superimposes each conflict resolution action to obtain a candidate conflict resolution action. For example, for an auxiliary graph, there are two conflict resolution actions: the first conflict resolution action is to move the left side of the auxiliary graph 10 nm to the right, and the second conflict resolution action is to move the upper side of the auxiliary graph 5 nm downward. Superimpose these two conflict resolution actions to obtain a candidate conflict resolution action of moving the left side of the auxiliary graph 10 nm to the right and moving the upper side downward 5 nm.
[0095] Then, based on the candidate conflict resolution action, simulate and optimize the auxiliary graph corresponding to the first node to obtain a simulated and optimized graph. Specifically, lithography simulation software can be used to simulate the auxiliary graph after applying the candidate conflict resolution action to obtain a simulated and optimized graph.
[0096] Further, it is determined whether the simulated optimized pattern satisfies the pattern deletion condition. The pattern deletion condition may include: the area of the simulated optimized pattern is less than a preset threshold, or the width of the simulated optimized pattern is less than a preset threshold, etc.
[0097] If the simulated optimized pattern satisfies the pattern deletion condition, the conflict resolution action with the position of the element to be adjusted at the preset position is determined as the target conflict resolution action. The preset position may be the center position of the auxiliary pattern. For example, if the conflict resolution action with the position of the element to be adjusted at the center position of the auxiliary pattern is to move the entire auxiliary pattern 15 nm to the right, then this conflict resolution action is determined as the target conflict resolution action.
[0098] If the simulated optimized pattern does not satisfy the pattern deletion condition, the candidate conflict resolution action is determined as the target conflict resolution action.
[0099] Through this embodiment, the present application can, when the conflict resolution actions corresponding to multiple target edges are element adjustment actions and the positions of the elements to be adjusted are different, obtain a more reasonable target conflict resolution action by superimposing the conflict resolution actions and performing simulation optimization. Thus, the unreasonable results that may be caused by directly selecting any one conflict resolution action are avoided, and the accuracy and effectiveness of the auxiliary pattern processing are improved. At the same time, by determining whether the simulated optimized pattern satisfies the pattern deletion condition, a simpler conflict resolution action can be selected when necessary, thereby optimizing the processing efficiency. This method can simplify the processing process as much as possible while ensuring the processing effect, and improves the overall efficiency of the mask layout processing.
[0100] In some of the above solutions of the present application, by determining the target edges and target conflict resolution actions of each node and processing the auxiliary pattern corresponding to the first node, some conflicts can be eliminated in the preliminary processing. However, during this process, there may still be unrecognized conflicts remaining in the candidate mask layout after processing, or newly generated conflicts not being processed in a timely manner, resulting in the inability to completely eliminate all conflicts and affecting the accuracy of the final mask layout.
[0101] In response to this, the present application further proposes that S204 may specifically include:
[0102] Process the auxiliary pattern corresponding to the first node according to the target conflict resolution action of the first node to obtain a first candidate mask layout;
[0103] In the case where there are conflicts between the auxiliary patterns in the first candidate mask layout, delete the target edge of the first node from the conflict schematic diagram, and adjust the node priorities of each node except the first node to obtain an updated conflict schematic diagram;
[0104] Return to loop execution. For each node in the conflict schematic diagram, based on each edge connected to the node, determine the target edge of the node and the target conflict resolution action until there is no conflict between the auxiliary graphics in the first candidate mask layout, and then determine the first candidate mask layout as the target mask layout.
[0105] In this embodiment, after obtaining the first candidate mask layout, by detecting the remaining conflicts, trigger the dynamic update of the conflict schematic diagram. The deletion operation of the target edge can avoid repeated processing of the same conflict path, and the adjustment of the node priority reallocates the processing order based on the connection relationship of the remaining nodes or preset rules. The loop execution process gradually eliminates the remaining or newly added conflicts by iteratively updating the conflict schematic diagram, and finally achieves a conflict-free state globally.
[0106] Specifically, after the first processing is completed, if remaining conflicts are detected, delete the target edge corresponding to the first processed node, so that this edge will not be selected as the target edge in subsequent loops. At the same time, the priorities of the remaining nodes are reordered according to the number of connected edges or preset weights in the updated conflict schematic diagram. For example, if the number of edges connected to a certain node increases in the updated schematic diagram, its priority may be increased. By looping through the steps of determining the target edge, resolving conflicts, and updating the schematic diagram, ensure that the highest-priority conflict is processed first in each iteration. When the target edges of all nodes have been processed and there are no more edges in the conflict schematic diagram, the process terminates and outputs the target mask layout. This process avoids the incompleteness of single processing by dynamically adjusting the processing order and conflict relationships, thereby improving the layout accuracy of the final mask layout.
[0107] As an example, for each first node, the server processes the auxiliary graphics corresponding to the first node according to the target conflict resolution action of the first node to obtain the first candidate mask layout. For example, for a first node, its target conflict resolution action is graphic splitting, then split the auxiliary graphics corresponding to the first node to obtain the first candidate mask layout.
[0108] In the case where there are conflicts between the auxiliary graphics in the first candidate mask layout, delete the target edge of the first node from the conflict schematic diagram and adjust the node priorities of each node except the first node to obtain the updated conflict schematic diagram. Specifically, the target edge of the first node can be removed from the conflict schematic diagram, and the priorities of other nodes are recalculated to generate the updated conflict schematic diagram.
[0109] Return and loop through each node in the conflict schematic diagram. Based on each edge connected to the node, determine the target edge of the node and the target conflict resolution action until there are no conflicts between the auxiliary graphics in the first candidate mask layout. Then, determine the first candidate mask layout as the target mask layout. For example, re-traverse the nodes and determine the target edges of the updated conflict schematic diagram until there are no more conflicts in the first candidate mask layout.
[0110] Through this embodiment, the present application can effectively solve the consistency problem of the auxiliary graphics in the mask layout. By looping through the conflict handling process, it ensures that all conflicts are resolved and avoids the problem of over-resolution. At the same time, by dynamically updating the conflict schematic diagram, it guarantees the accuracy and efficiency of the processing process. This method can significantly improve the layout accuracy of the auxiliary graphics in the mask layout and provide a higher-quality mask layout for subsequent chip manufacturing.
[0111] In some of the above solutions of the present application, for each node in the conflict schematic diagram, after determining the target conflict resolution action, if the target conflict resolution action of the node is a graphic deletion action, since the graphic deletion action belongs to the conflict resolution action with the highest priority. Therefore, determining the first node and processing the first node will result in a lower processing efficiency of the auxiliary graphics in the mask layout.
[0112] In response to this, the present application further proposes that after S202, the processing method of the mask layout may further include:
[0113] In the case where the target conflict resolution action of the node is a graphic deletion action, process the auxiliary graphic corresponding to the node according to the target conflict resolution action to obtain a second candidate mask layout;
[0114] S203 may specifically include:
[0115] Determine a first node having the same target edge as other nodes from each node of the conflict schematic diagram corresponding to the second candidate mask layout.
[0116] In this embodiment, the second candidate mask layout is generated by pre-executing the graphic deletion action. When performing the selection process of the first node on the second candidate mask layout, the server removes the edges corresponding to the deleted nodes from the conflict schematic diagram to avoid interference by the residual edges in subsequent iterations.
[0117] Specifically, when it is detected that the target conflict resolution action of a certain node belongs to graphic deletion, immediately generate the second candidate mask layout as an intermediate state, and the deleted nodes and their corresponding edges in the conflict schematic diagram corresponding to the second candidate mask layout are automatically cleared.
[0118] As an example, after the server determines the target edge and the target conflict resolution action of a node, it further checks whether the target conflict resolution action of the node is a graphic deletion action. If it is a graphic deletion action, the action is immediately executed to process the auxiliary graphic corresponding to the node, and a second candidate mask layout is obtained.
[0119] Specifically, first traverse each node in the conflict schematic diagram and check its target conflict resolution action. For a node whose target conflict resolution action is graphic deletion, directly execute the deletion operation to remove the corresponding auxiliary graphic from the initial mask layout. In this way, a partially processed second candidate mask layout can be obtained.
[0120] Next, process the remaining nodes in the conflict schematic diagram corresponding to the second candidate mask layout, and screen out the first node that has the same target edge as other nodes from the remaining nodes.
[0121] Through this embodiment, the present application can improve the processing efficiency of the mask layout. By preferentially processing the auxiliary graphics that need to be deleted, the complexity of subsequent processing can be reduced. In addition, this solution can also reduce the consumption of computing resources during the processing and speed up the overall processing speed.
[0122] In some of the above solutions of the present application, although conflicts between auxiliary graphics can be processed by constructing a conflict schematic diagram and determining the target edge and conflict resolution action of the node, if there is no unified order standard when traversing the nodes, it may lead to chaotic processing order, affecting the conflict resolution efficiency and the layout stability of the final mask layout.
[0123] In response to this, the present application further proposes that S202 may specifically include:
[0124] Obtain the preset node traversal order of the conflict schematic diagram;
[0125] According to the preset node traversal order, sequentially traverse each node in the conflict schematic diagram, and respectively determine the target edge and the target conflict resolution action of the node based on each edge connected to the node.
[0126] In this embodiment, the preset node traversal order can be set based on the node priority size or based on the node position.
[0127] As an example, the server pre-sets the corresponding node traversal order for the conflict schematic diagram. Then, use the graph traversal algorithm to sequentially traverse each node in the conflict schematic diagram according to the preset node traversal order. For each traversed node, respectively determine the target edge and the target conflict resolution action of the node based on each edge connected to the node.
[0128] In this embodiment, the present application traverses each node in the conflict schematic diagram based on the preset node traversal order, and processes each node in sequence, thereby improving the conflict resolution efficiency.
[0129] In some of the above solutions of the present application, a preset node traversal order is proposed to process the nodes in the conflict schematic diagram in sequence. However, when multiple nodes have the same priority, simply relying on the priority cannot determine the processing order, resulting in uncertainty in the conflict processing process, which may lead to inconsistent processing results or low efficiency.
[0130] In response to this, the present application further proposes that the preset node traversal order is a traversal order based on the size of the node priority;
[0131] In the case where there are equal node priorities, the traversal order of the second node is determined based on the size of the node influence. The second node is a node with equal node priorities, and the node influence is the number of nodes connected to the second node.
[0132] In this embodiment, the node influence is quantified by counting the number of edges connected to the node. For example, if a certain node has conflict edges with three other nodes, its node influence is three. When multiple nodes have the same priority, the determination of the traversal order further introduces the node influence as a secondary judgment criterion, and the node with a higher influence is processed first. Specifically, during implementation, an associated data table of the priority and the number of connected nodes can be established for each node in advance, and during traversal, it is arranged in descending order of priority. If the priorities are the same, it is arranged in descending order of the number of connected nodes.
[0133] Specifically, during the processing of the conflict schematic diagram, when traversing to a group of nodes with the same priority, the system automatically obtains the number of connected nodes of each node, and arranges the nodes with more connected nodes in the front. For example, there are two nodes A and B with a second-level priority, node A is connected to three conflict edges, and node B is connected to two conflict edges, then node A is processed first. This mechanism ensures that the conflicts of high-influence nodes are resolved first, avoiding the chain effect of the processing actions of low-influence nodes on subsequent high-influence nodes. At the same time, through the quantification of the number of connected nodes for sorting, the subjective randomness of the processing order is eliminated, improving the consistency and efficiency of conflict processing, and ultimately making the auxiliary graphic layout of the mask layout more in line with the preset specification requirements.
[0134] As an example, after constructing the conflict schematic diagram, the server first obtains the priority calculation results of all nodes. When it is found that the priority values of three nodes are all 0.85, these three nodes are marked as a group of nodes to be processed. At this time, it is necessary to further calculate the number of connected nodes of each node: the first node has connection edges with five adjacent nodes, the second node has connection edges with three adjacent nodes, and the third node has connection edges with seven adjacent nodes. Based on the node influence calculation rule, taking the number of connected nodes as the sorting basis, it is determined that the traversal order of this node group should be the third node, the first node, and the second node. In the subsequent conflict resolution process, the auxiliary graphic conflicts corresponding to each node are processed in this order.
[0135] Through this embodiment, the present application effectively solves the problem of decision-making on the traversal order when the priorities of multiple nodes are the same. By introducing node influence as a secondary judgment criterion, it avoids the problem of low conflict resolution efficiency caused by randomly selecting the processing order in the traditional method. This solution can preferentially process nodes with more complex connection relationships, making the conflict elimination process more in line with the physical characteristics of the layout, thereby reducing the number of iterative processes and improving the accuracy of mask layout correction.
[0136] In some of the above solutions of the present application, when constructing the conflict schematic diagram, it is not clear how to accurately determine whether there is a conflict between auxiliary graphics, resulting in possible errors in the conflict detection results and affecting the accuracy of the subsequent processing process.
[0137] In response to this, the present application further proposes that S201 may specifically include:
[0138] Based on the preset specification parameters and the graphic information of each auxiliary graphic in the initial mask layout, determine whether there is a conflict between the auxiliary graphics;
[0139] In the case where there is a conflict between the auxiliary graphics, map each auxiliary graphic in the initial mask layout to a node, and map the conflict between the auxiliary graphics to an edge to construct a conflict schematic diagram.
[0140] In this embodiment, the preset specification parameters include at least one of the minimum distance or shape matching degree between auxiliary graphics; the graphic information includes the coordinates, dimensions or shape relationships of the auxiliary graphics; the determination of conflicts is implemented through a design rule check tool. For example, calculate the distance between the edges of the auxiliary graphics according to the preset minimum distance parameter. If the distance is less than the threshold, it is determined that there is a conflict; in the case of a conflict, the construction of the conflict schematic diagram is achieved by abstracting the auxiliary graphics into nodes and transforming the conflict relationship into a connection edge between the nodes.
[0141] Specifically, the preset specification parameters are pre-configured to be related to the physical limitations of the lithography process, such as the resolution of the lithography machine or material properties; the graphic information of the auxiliary graphics is extracted through the layout database, including geometric data and topological relationships. During the conflict detection process, the design rule check tool calculates the minimum distance between the edges of adjacent auxiliary graphics according to the minimum spacing requirement in the specification parameters. If the calculation result is lower than the threshold, a conflict record is generated. When the conflict is confirmed, each auxiliary graphic is mapped to an independent node in the conflict schematic diagram, and the conflict relationship is transformed into an edge connecting the corresponding nodes. Thus, the construction of the conflict schematic diagram quantifies the conflict determination conditions and graphic data, ensuring the objectivity and processability of the conflict relationship, avoiding human judgment errors, and providing a structured input for the subsequent graph-based conflict resolution algorithm, thereby improving the accuracy and efficiency of mask layout processing.
[0142] As an example, when constructing the conflict schematic diagram, the server first sets the preset specification parameter as the minimum spacing threshold between auxiliary graphics. The graphic information of each auxiliary graphic in the initial mask layout is extracted, including the outer contour coordinates, graphic type, and graphic size of the graphics. Through the spatial geometry algorithm, the spacing between any two auxiliary graphics is measured. When the measured value is less than the preset minimum spacing threshold, a conflict is determined. After the conflict detection is completed, assuming that the first auxiliary graphic and the second auxiliary graphic are identified as conflict objects, the first auxiliary graphic and the second auxiliary graphic are mapped to two independent nodes, and a bidirectional connection edge is established between these two nodes, thereby obtaining the conflict schematic diagram.
[0143] Through this embodiment, the present application effectively solves the problem of misjudgment in the conflict detection of auxiliary graphics. By precisely comparing the graphic attributes and specification parameters, it avoids the overall layout distortion caused by local parameter deviations. Specifically, the conflict determination mechanism based on the preset specifications can exclude the interference of non-critical spacing errors, ensuring that the conflict schematic diagram only reflects the substantial layout contradictions, thereby providing an accurate data basis for the subsequent conflict resolution operations, and significantly improving the reliability and process adaptability of mask layout correction.
[0144] Based on the mask layout processing method provided by the present application. Correspondingly, the present invention also provides a specific embodiment of a mask layout processing device.
[0145] As Figure 4 shown, the mask layout processing device 400 provided by the embodiment of the present application includes a schematic diagram construction module 410, a target edge determination module 420, a node determination module 430, and a graphic processing module 440.
[0146] The schematic diagram construction module 410 is used to construct a conflict schematic diagram with each auxiliary graphic in the initial mask layout as nodes and the conflicts between the auxiliary graphics as edges;
[0147] A target edge determination module 420, configured to, for each node in the conflict schematic diagram, determine the target edge of the node and the target conflict resolution action based on each edge connected to the node, where the target edge is the edge with the highest priority among all the edges connected to the node;
[0148] A node determination module 430, configured to determine, from the nodes of the conflict schematic diagram, a first node that has the same target edge as other nodes;
[0149] A graphic processing module 440, configured to, for each first node, process the auxiliary graphic corresponding to the first node according to the target conflict resolution action of the first node to obtain a target mask layout.
[0150] In the mask layout processing device provided by the embodiments of the present application, a conflict schematic diagram is constructed with each auxiliary graphic in the initial mask layout as a node and the conflicts between the auxiliary graphics as edges. In this way, from the overall structural level, the conflicts between each auxiliary graphic in the initial mask layout are comprehensively analyzed. Then, for each node in the conflict schematic diagram, based on each edge connected to the node, the target edge with the highest priority and the corresponding target conflict resolution action are accurately determined. Then, for the first node that has the same target edge as other nodes, it is processed according to the target conflict resolution action of the first node. When a target edge is selected by two nodes at the same time, it can indicate that the actions taken by these two nodes are coordinated and reasonable, and there is no risk of over-solving. In this case, directly process the auxiliary graphic of the first node according to the target conflict resolution action of the first node to obtain the target mask layout, which can meet the consistency requirements of the auxiliary graphics in the initial mask layout and avoid the problem of over-solving. In this way, by constructing a conflict schematic diagram and comprehensively analyzing all auxiliary graphics and their conflicts, the present application can effectively ensure the consistency of the auxiliary graphics, avoid the occurrence of over-solving problems, and thus significantly improve the layout accuracy of the auxiliary graphics in the mask layout.
[0151] As an optional embodiment, the target edge determination module 420 specifically includes the following units:
[0152] An action determination unit, configured to respectively determine the conflict resolution actions between the auxiliary graphics connected by each edge based on the connected nodes corresponding to each edge connected to the node and their corresponding node priorities;
[0153] A sequence determination unit, configured to determine the priority sequence corresponding to all the edges connected to the node based on the priority order of the conflict resolution actions;
[0154] A target edge determination unit, configured to determine the edge with the highest priority in the priority sequence as the target edge;
[0155] The action determination unit is further configured to determine a target conflict resolution action based on the conflict resolution actions between the auxiliary graphics connected by the target edge.
[0156] As an optional embodiment, there are multiple target edges;
[0157] The action determination unit is specifically configured to:
[0158] When all the conflict resolution actions are graphic deletion actions or all are graphic splitting actions, any one of the conflict resolution actions is determined as the target conflict resolution action.
[0159] As an optional embodiment, there are multiple target edges;
[0160] The action determination unit specifically includes the following sub-units:
[0161] The position acquisition sub-unit is configured to, when the conflict resolution actions are all element adjustment actions, acquire the positions of the elements to be adjusted in each conflict resolution action, where the elements to be adjusted include at least one of the edges of the auxiliary graphics and the corners of the auxiliary graphics;
[0162] The action determination sub-unit is configured to, when the positions of the elements to be adjusted are the same, determine any one of the conflict resolution actions as the target conflict resolution action;
[0163] The action determination sub-unit is further configured to, when the positions of the elements to be adjusted are different, superimpose the conflict resolution actions to obtain the target conflict resolution action.
[0164] As an optional embodiment, the action determination sub-unit is specifically configured to:
[0165] Superimpose the conflict resolution actions to obtain a candidate conflict resolution action;
[0166] Based on the candidate conflict resolution action, perform simulation optimization on the auxiliary graphics corresponding to the first node to obtain a simulated optimized graphic;
[0167] When the simulated optimized graphic meets the graphic deletion condition, determine the conflict resolution action with the position of the element to be adjusted being the preset position as the target conflict resolution action;
[0168] When the simulated optimized graphic does not meet the graphic deletion condition, determine the candidate conflict resolution action as the target conflict resolution action.
[0169] As an optional embodiment, the graphic processing module 440 is specifically configured to:
[0170] Process the auxiliary graphics corresponding to the first node according to the target conflict resolution action of the first node to obtain a first candidate mask layout;
[0171] In the case of conflicts between assist patterns in the first candidate mask layout, delete the target edge of the first node from the conflict schematic diagram, adjust the node priorities of each node other than the first node to obtain an updated conflict schematic diagram;
[0172] Return and loop to execute for each node in the conflict schematic diagram. Based on each edge connected to the node, determine the target edge of the node and the target conflict resolution action until there are no conflicts between the assist patterns in the first candidate mask layout, and determine the first candidate mask layout as the target mask layout.
[0173] As an alternative embodiment, after determining the target edge of the node and the target conflict resolution action for each node in the conflict schematic diagram, the processing device 400 of the mask layout further includes the following modules:
[0174] In the case where the target conflict resolution action of the node is a pattern deletion action, process the assist pattern corresponding to the node according to the target conflict resolution action to obtain a second candidate mask layout;
[0175] The node determination module 430 is specifically configured to:
[0176] Determine a first node having the same target edge as other nodes from each node of the conflict schematic diagram corresponding to the second candidate mask layout.
[0177] As an alternative embodiment, the target edge determination module 420 is specifically configured to:
[0178] Obtain a preset node traversal order of the conflict schematic diagram;
[0179] According to the preset node traversal order, sequentially traverse each node in the conflict schematic diagram, and respectively determine the target edge of the node and the target conflict resolution action based on each edge connected to the node.
[0180] As an alternative embodiment, the schematic diagram construction module 410 is specifically configured to:
[0181] Based on preset specification parameters and the pattern information of each assist pattern in the initial mask layout, determine whether there are conflicts between the assist patterns;
[0182] In the case where there are conflicts between the assist patterns, map each assist pattern in the initial mask layout to a node, map the conflicts between the assist patterns to an edge, and construct a conflict schematic diagram.
[0183] Based on the mask layout processing method provided by the present application. Correspondingly, the present invention also provides a specific embodiment of a mask layout processing device.
[0184] Figure 5The figure shows a schematic diagram of the hardware structure of a processing device for a mask layout provided by an embodiment of the present application.
[0185] The processing device for the mask layout may include a processor 501 and a memory 502 storing computer program instructions.
[0186] Specifically, the above-mentioned processor 501 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application.
[0187] The memory 502 may include a mass storage for data or instructions. By way of example and not limitation, the memory 502 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 a suitable case, the memory 502 may include a removable or non-removable (or fixed) medium. In a suitable case, the memory 502 may be internal or external to the integrated gateway disaster recovery device. In a specific embodiment, the memory 502 is a non-volatile solid state memory.
[0188] The processor 501 reads and executes the computer program instructions stored in the memory 502 to implement any one of the processing methods for the mask layout in the above embodiments.
[0189] In one example, the processing device for the mask layout may further include a communication interface 503 and a bus 510. Among them, as Figure 5 shown, the processor 501, the memory 502, and the communication interface 503 are connected through the bus 510 to complete communication with each other.
[0190] The communication interface 503 is mainly used to implement communication between various modules, devices, units, and / or devices in the embodiments of the present application.
[0191] The bus 510 includes hardware, software, or both, and couples components of the processing device of the mask layout to each other. By way of example and not limitation, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Extended Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an InfiniBand 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 a combination of two or more of these. Where appropriate, the bus 510 may include one or more buses. Although the embodiments of the present application describe and illustrate specific buses, the present application contemplates any suitable bus or interconnect.
[0192] In addition, in combination with the mask layout processing method in the above embodiments, the embodiments of the present application can be implemented by providing a computer storage medium. Computer program instructions are stored on the computer storage medium; when the computer program instructions are executed by a processor, any one of the mask layout processing methods in the above embodiments is implemented.
[0193] In addition, in combination with the mask layout processing method in the above embodiments, the embodiments of the present application can be implemented by providing a computer program product. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device is caused to execute the mask layout processing method provided in any aspect of the above embodiments of the present application.
[0194] It should be clear that the present application is not limited to the specific configurations and processes described above and illustrated 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 illustrated as examples. However, the method process of the present application is not limited to the specific steps described and illustrated, and those skilled in the art can make various changes, modifications, and additions, or change the order between steps after understanding the spirit of the present application.
[0195] The functional blocks shown in the above-described structural block diagrams 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 functional card, and so on. When implemented in software, the elements of the present application are programs or code segments for performing the required tasks. The program or code segment can be stored in a machine-readable medium or transmitted via a data signal carried in a carrier wave over a transmission medium or a communication link. "Machine-readable medium" can include any medium that can store or transmit information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical discs, hard disks, fiber optic media, radio frequency (RF) links, and so on. The code segment can be downloaded via a computer network such as the Internet, an intranet, and so on.
[0196] It should also be noted that the exemplary embodiments mentioned in the present application describe some methods or systems based on a series of steps or devices. However, the present application is not limited to the order of the above steps, that is, the steps can be executed in the order mentioned in the embodiments, or different from the order in the embodiments, or several steps can be executed simultaneously.
[0197] Aspects of the present disclosure have been described above with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block in the flowcharts and / or block diagrams, and the combinations of blocks in the flowcharts 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 device to produce a machine, such that the instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the functions / actions specified in one or more blocks of the flowcharts 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 the combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by dedicated hardware for performing the specified functions or actions, or by a combination of dedicated hardware and computer instructions.
[0198] As described above, this is only the specific implementation manner of the present application. Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, modules, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be described herein again. It should be understood that the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of various equivalent modifications or substitutions, and these modifications or substitutions should all be covered within the protection scope of the present application.
Claims
1. A method for processing a mask layout, characterized in that, Including: Construct a conflict schematic diagram with each auxiliary pattern in the initial mask layout as nodes and the conflicts between the auxiliary patterns as edges. For each node in the conflict schematic diagram, based on each edge connected to the node, determine the target edge and the target conflict resolution action of the node, where the target edge is the edge with the highest priority among all the edges connected to the node. Determine the first nodes having the same target edge as other nodes from the nodes of the conflict schematic diagram. For each of the first nodes, process the auxiliary pattern corresponding to the first node according to the target conflict resolution action of the first node to obtain the target mask layout.
2. The method according to claim 1, characterized in that The determining the target edge and the target conflict resolution action of the node based on each edge connected to the node includes: Based on the connected nodes corresponding to each edge connected to the node and their corresponding node priorities, respectively determine the conflict resolution actions between the auxiliary patterns connected by each edge. Based on the priority order of the conflict resolution actions, determine the priority sequence corresponding to all the edges connected to the node. Determine the edge with the highest priority in the priority sequence as the target edge. Based on the conflict resolution action between the auxiliary patterns connected by the target edge, determine the target conflict resolution action.
3. The method according to claim 2, characterized in that, There are multiple target edges. The determining the target conflict resolution action based on the conflict resolution action between the auxiliary patterns connected by the target edge includes: In the case where all the conflict resolution actions are pattern deletion actions or all are pattern splitting actions, determine any one of the conflict resolution actions as the target conflict resolution action.
4. The method according to claim 2, wherein There are multiple target edges. The determining the target conflict resolution action based on the conflict resolution action between the auxiliary patterns connected by the target edge includes: In the case where the conflict resolution actions are element adjustment actions, obtain the positions of the elements to be adjusted for each conflict resolution action, where the elements to be adjusted include at least one of the edges and corners of the auxiliary pattern. In the case where the positions of all the elements to be adjusted are the same, determine any one of the conflict resolution actions as the target conflict resolution action. In the case where the positions of all the elements to be adjusted are different, superimpose the conflict resolution actions to obtain the target conflict resolution action.
5. The method according to claim 4, characterized in that, The superimposing the conflict resolution actions to obtain the target conflict resolution action includes: Superimpose the conflict resolution actions to obtain a candidate conflict resolution action. Based on the candidate conflict resolution action, perform simulation optimization on the auxiliary pattern corresponding to the first node to obtain a simulated optimized pattern. In the case where the simulated optimized pattern meets the pattern deletion condition, determine the conflict resolution action with the position of the element to be adjusted being the preset position as the target conflict resolution action. In the case where the simulated optimized pattern does not meet the pattern deletion condition, determine the candidate conflict resolution action as the target conflict resolution action.
6. The method according to claim 1, wherein The processing the auxiliary pattern corresponding to the first node according to the target conflict resolution action of the first node to obtain the target mask layout for each of the first nodes includes: Process the auxiliary graph corresponding to the first node according to the target conflict resolution action of the first node to obtain a first candidate mask layout; In the case that there is a conflict between the auxiliary graphs in the first candidate mask layout, delete the target edge of the first node from the conflict schematic diagram, and adjust the node priorities of each node except the first node to obtain the updated conflict schematic diagram; Return and loop to execute for each node in the conflict schematic diagram. Based on each edge connected to the node, determine the target edge and the target conflict resolution action of the node until there is no conflict between the auxiliary graphs in the first candidate mask layout, and determine the first candidate mask layout as the target mask layout.
7. The method according to any one of claims 1-6, characterized in that After determining the target edge and the target conflict resolution action of each node in the conflict schematic diagram based on each edge connected to the node, the method further includes: In the case that the target conflict resolution action of the node is a graph deletion action, process the auxiliary graph corresponding to the node according to the target conflict resolution action to obtain a second candidate mask layout; Determining the first node having the same target edge as other nodes from each node of the conflict schematic diagram includes: Determining the first node having the same target edge as other nodes from each node of the conflict schematic diagram corresponding to the second candidate mask layout.
8. The method according to any one of claims 1-6, characterized in that, Determining the target edge and the target conflict resolution action of each node in the conflict schematic diagram based on each edge connected to the node includes: Obtain a preset node traversal order of the conflict schematic diagram; According to the preset node traversal order, sequentially traverse each node in the conflict schematic diagram, and respectively determine the target edge and the target conflict resolution action of the node based on each edge connected to the node.
9. The method according to claim 8, characterized in that, The preset node traversal order is a traversal order based on the size of the node priorities; In the case that there are equal node priorities, determine the traversal order of the second node based on the size of the node influence. The second node is the node with equal node priorities, and the node influence is the number of nodes connected to the second node.
10. The method according to any one of claims 1 to 6, characterized in that Constructing a conflict schematic diagram with each auxiliary graph in the initial mask layout as a node and the conflicts between the auxiliary graphs as edges includes: Based on preset specification parameters and the graph information of each auxiliary graph in the initial mask layout, determine whether there is a conflict between the auxiliary graphs; In the case that there is a conflict between the auxiliary graphs, map each auxiliary graph in the initial mask layout to a node, and map the conflicts between the auxiliary graphs to edges to construct the conflict schematic diagram.
11. 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 method for processing auxiliary graphs according to any one of claims 1-10.
12. A computer-readable storage medium, characterized in that, Computer program instructions are stored on the computer-readable storage medium, and when the computer program instructions are executed by a processor, the method for processing auxiliary graphics as described in any one of claims 1-10 is implemented.
13. 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 is caused to execute the method for processing auxiliary graphics as described in any one of claims 1-10.
Citation Information
Cited By
Method for detecting mask conflict in design layout
CN120848121A