Method for detecting mask conflict in design layout
By dividing the detection area in the layout and constructing a topology diagram, and using the odd-numbered ring and odd-numbered wheel detection methods, the problem of low efficiency in mask collision detection in multi-layer mask patterns is solved, achieving efficient and low-cost mask collision detection.
Patent Information
- Application Number
- CN202511179796.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-22
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2045-08-22
AI Technical Summary
Existing technologies struggle to efficiently detect mask conflicts in multi-layered mask patterns, especially in large-scale layouts where detection is slow, complex, and memory-intensive, and they cannot effectively handle scenarios with three different mask patterns.
By dividing the map into multiple detection regions, a topology graph is constructed, nodes with a number of neighboring nodes not less than a set value are selected, and the odd-numbered ring and odd-numbered round detection methods are used to mark violation nodes and create masked conflict violation regions to generate a detection report.
It improves the speed and efficiency of mask collision detection, maintains high efficiency in large-scale layouts, reduces computational complexity and memory usage, simplifies the detection process, reduces hardware costs, and reduces the risk of missed and false detections.
Smart Images

Figure CN120848121A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer lithography technology, specifically to a method for rapidly detecting mask conflicts in a design layout based on odd-numbered rings and odd-numbered wheel topologies, and more particularly to a method for detecting mask conflicts in a design layout. Background Technology
[0002] With the development of semiconductor manufacturing processes, the spacing between vias connecting metal wires has become increasingly smaller, exceeding the minimum resolution of photolithography systems. Industry has proposed multiple pattern technology to decompose vias in the same layer onto different mask layers, in order to solve the photolithographic defects caused by excessively small via spacing.
[0003] Reference Figure 1 As shown, using only one mask layer will lead to photolithography defects; however, by changing... Figure 2 Using two masks can avoid photolithographic defects. Similarly, refer to... Figure 3 As shown, using only two mask layers can also lead to photolithography defects; however, changing to... Figure 4 Using a three-layer mask can avoid photolithography defects (the small rectangles filled with different backgrounds in the figure represent the vias of different mask layers).
[0004] In the prior art, CN117332749A discloses a layout detection method, electronic device, and storage medium, including the following steps: acquiring layout graphic information; performing graphic conflict detection based on the graphic information; constructing a conflict relationship graph based on the graphic conflict detection results; finding the minimum basic ring combination based on the conflict relationship graph; finding the odd-numbered rings in the minimum basic ring combination and outputting their graphic information. The disadvantages of this patent are: 1) it can only detect two types of mask conflicts; 2) it is based on the traversal of outer contour ring points, which is not applicable to large-scale applications.
[0005] The invention patent with publication number CN105893644B discloses a method for decomposing a layout pattern in a hybrid electron beam and dual-pattern lithography process. It represents the layout pattern decomposition problem, which simultaneously minimizes the electron beam usage area and the number of stitching points, as a point-removal two-partition problem. The method includes: constructing a conflict graph G containing virtual points based on the input layout file and the conflict distance B; transforming the point-removal two-partition problem on the planarized conflict graph into an odd-ring covering problem; solving the odd-ring covering problem using the primal-dual method; and post-processing the remaining conflict edges. This patented method transforms the mask conflict problem into an odd-ring covering problem and solves it using the primal-dual method. Its disadvantages are: 1) It only focuses on two types of mask pattern conflict problems; in three mask pattern scenarios, extending this solution method significantly increases complexity; 2) Relaxing the process from discrete to continuous variables leads to increased memory usage during the solution process; 3) It is only applicable to small-scale layouts, and the speed decreases for large-scale layouts.
[0006] The invention patent with publication number CN118070739A discloses a multi-layer layout decomposition method based on a grid index structure, including the following steps: constructing a grid index structure, segmenting polygons, checking for spacing violations, checking for conflict cycles, simplifying conflicts, and constructing a conflict graph; using an exact covering matrix to backtrack and solve the conflict graph to obtain the solution with the fewest conflicts; determining the stitching edge positions of the conflict graphs using the surface projection method, obtaining all legal stitching edges that meet the conditions, inserting stitching edges to further reduce the number of conflict edges, and obtaining the solution with the minimum sum of the weights of conflict edges and stitching edges; finally, merging all sub-conflict graphs to obtain the final layout decomposition result. The disadvantages of this patent are: 1) the grid index result occupies a large amount of memory; 2) the backtracking solution based on depth-first traversal is highly complex and may perform a lot of useless work in special cases; 3) the pre-shading process for finding unshadeable regions is inefficient in large-scale layouts; 4) in large-scale layouts, the covering matrix occupies a large amount of memory. Summary of the Invention
[0007] To address the shortcomings of existing technologies, this invention provides a method for detecting mask conflicts in a design layout.
[0008] According to the present invention, a method for detecting mask conflicts in a design layout is provided, the scheme of which is as follows:
[0009] Step S1: Load the complete layout data of the circuit design to be tested, wherein the layout data includes the position information of all vias in the layout and the spacing information between each via;
[0010] Step S2: Divide the complete map into multiple detection areas;
[0011] Step S3: For each detection area, extract all the vias in that area as nodes and construct the corresponding topology diagram;
[0012] Step S4: Traverse all nodes in the topology graph, filter out nodes with a number of neighboring nodes not less than a set value and classify them into the group to be judged, and perform corresponding conflict detection on the group to be judged according to the number of mask layers to be detected.
[0013] Step S5: Mark the violation nodes based on the collision detection results, and create a mask collision violation region corresponding to the detection region based on the violation nodes;
[0014] Repeat steps S3-S5 until mask collision detection is completed for all the detection areas.
[0015] Preferably, in step S3, constructing the topology diagram includes: treating each via as a node; if the distance between vias corresponding to two nodes is less than the minimum required distance for the same mask layer, then establishing a connection between the two nodes.
[0016] Preferably, in step S4, filtering nodes into the group to be judged includes: when traversing the nodes of the topology graph, recording the number of neighboring nodes of each node;
[0017] If the number of neighboring nodes of the current node is less than 2, then mark the node as traversed and without violation.
[0018] If the current node has ≥2 neighboring nodes, then add the node to the group to be judged, and add all of the node's neighboring nodes to the list of nodes to be traversed next, until all nodes in the topology graph have been filtered.
[0019] Preferably, in step S4, performing corresponding collision detection on the group to be judged based on the number of mask layers to be detected includes:
[0020] When the number of mask layers is 2, the collision detection is odd-numbered ring detection, which specifically includes: traversing the nodes of the group to be judged to obtain all the ring structures therein, judging the number of nodes in each ring structure, and if the number of nodes is odd, then determining all nodes in the ring structure as violation nodes.
[0021] Preferably, traversing the nodes of the group to be judged to obtain all the loop structures therein specifically involves: starting from any node of the group to be judged, selecting the next traversable node from the untraversed neighbor nodes of the currently traversed node each time to form a traversal path; when the starting node and the ending node of the traversal path coincide, the traversal path is determined to be a loop structure.
[0022] Preferably, in step S4, when the number of mask layers is 3, the collision detection is an odd-numbered round detection, specifically:
[0023] Each node in the group to be judged is taken as the master node. All the neighbor nodes of the master node are collected to form a neighbor ring group. It is determined whether there is an odd-numbered ring structure in the neighbor ring group. If there is, the master node and all the nodes in the neighbor ring group are determined to be violation nodes.
[0024] Preferably, determining whether an odd-numbered ring structure exists within the neighbor ring group specifically involves:
[0025] Starting from any node in the neighbor ring group, each time the next traversal node is selected from the untraversed neighbor nodes of the currently traversed node to form a traversal path; when the starting node and the ending node of the traversal path coincide, the traversal path is determined to be a ring structure; if the number of nodes in any ring structure is odd, then the neighbor ring group is determined to contain an odd number of ring structures.
[0026] Preferably, after determining the violation node in step S4, the method further includes: updating the traversal status of the violation node to "traversed and violated" to avoid repeated traversal of the violation node in the future; step S5 further includes: marking the nodes in the group to be judged that have not been determined as violation nodes as "traversed and without violation".
[0027] Preferably, in step S5, creating a mask conflict violation region corresponding to the detection region in conjunction with the violation node includes:
[0028] Record the coordinates of the vias corresponding to all the violation nodes in the layout, define the area where the vias corresponding to the coordinates are located as the mask conflict violation area, and uniquely identify the violation area.
[0029] Preferably, the method further includes:
[0030] Step S6: After completing the mask conflict detection for all the detection areas, output the coordinate information of all mask conflict violation areas and the corresponding mask layer number, and generate a mask conflict detection report for the complete map; the detection report includes the total number of violation areas, the number of nodes in each violation area, and their location distribution.
[0031] Compared with the prior art, the present invention has the following beneficial effects:
[0032] 1. This invention can improve the speed and efficiency of mask collision detection, especially in large-scale layout scenarios, while maintaining high efficiency, avoiding the problems of decreased speed and low efficiency in large-scale layout detection in the prior art;
[0033] 2. This invention uses a consistent method to uniformly handle conflict detection of two or three mask patterns, without requiring significant adjustments to the detection logic for different mask layer numbers, thus solving the problems of difficult multi-mask layer adaptation and high expansion complexity in existing technologies.
[0034] 3. This invention directly detects conflicts based on graph topology (odd cycles, odd wheels), without relying on complex methods such as matrix solving and depth-first backtracking, thus reducing computational complexity and memory usage, and avoiding the problems of high memory consumption and unnecessary work in existing technologies;
[0035] 4. This invention can accurately locate violation nodes and corresponding mask conflict areas by dividing the layout into regions and marking nodes by traversal (traversed / untraversed, violation / no violation), providing a clear basis for subsequent layout optimization and reducing the risk of missed or misjudged cases.
[0036] 5. This invention does not require expensive equipment such as electron beams to solve mask conflict problems, reducing the hardware cost of technology implementation, simplifying the detection process, and improving the practicality and operability of the solution.
[0037] Other beneficial effects of the present invention will be explained in detail through the introduction of specific technical features and technical solutions in specific embodiments. Those skilled in the art should be able to understand the beneficial technical effects brought about by these technical features and technical solutions through the introduction of these technical features and technical solutions. Attached Figure Description
[0038] Other features, objects, and advantages of the present invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:
[0039] Figure 1 A photolithography pattern using a single mask;
[0040] Figure 2 A photolithography pattern using two masks;
[0041] Figure 3 A photolithography pattern using two masks;
[0042] Figure 4 Photolithography using a three-layer mask;
[0043] Figure 5 This is a schematic diagram of the overall process of the present invention;
[0044] Figure 6 This is a flowchart of the odd-numbered rings of the present invention;
[0045] Figure 7 This is a flowchart of the odd-numbered rounds of the present invention;
[0046] Figure 8 This is a schematic diagram illustrating the topological structure obtained by abstracting the distance between through holes in this invention;
[0047] Figure 9 This is a schematic diagram illustrating the division of the layout into multiple detection areas in this invention. Detailed Implementation
[0048] The present invention will now be described in detail with reference to specific embodiments. These embodiments will help those skilled in the art to further understand the present invention, but do not limit the invention in any way. It should be noted that those skilled in the art can make several changes and improvements without departing from the concept of the present invention. These all fall within the scope of protection of the present invention.
[0049] This invention provides a method for detecting mask conflicts in a design layout, referring to... Figure 5 As shown, the method specifically includes:
[0050] Step S1: Load the complete layout data of the circuit design to be tested. The layout data includes the location information of all vias in the layout and the spacing information between each via.
[0051] Step S2: Divide the complete map into multiple detection areas.
[0052] Step S3: For each detection area, extract all vias in that area and construct the corresponding topology diagram: Treat each via as a node. If the distance between the vias corresponding to two nodes is less than the minimum required distance for the same mask layer, then establish a connection between the two nodes.
[0053] Step S4: Traverse all nodes in the topology graph, filter out nodes with no less than 2 neighbor nodes and classify them into the group to be judged, and perform corresponding conflict detection on the group to be judged according to the number of mask layers to be detected.
[0054] Among them, the filtering of nodes into the group to be judged includes: when traversing the nodes of the topology graph, recording the number of neighboring nodes of each node;
[0055] If the number of neighboring nodes of the current node is less than 2, then mark the node as traversed and without violation.
[0056] If the current node has ≥2 neighboring nodes, then add the node to the group to be judged, and add all of the node's neighboring nodes to the list of nodes to be traversed next, until all nodes in the topology graph have been filtered.
[0057] The collision detection for the group to be judged is performed according to the number of mask layers to be detected, including:
[0058] Reference Figure 6 As shown, when the number of mask layers is 2, the collision detection is odd-numbered ring detection, which specifically includes: traversing the nodes of the group to be judged to obtain all the ring structures therein, judging the number of nodes in each ring structure, and if the number of nodes is odd, then determining all nodes in the ring structure as violation nodes.
[0059] Specifically, traversing the nodes of the group to be judged to obtain all the ring structures therein involves: starting from any node of the group to be judged, selecting the next traversed node from the untraversed neighbor nodes of the currently traversed node to form a traversal path; when the starting node and the ending node of the traversal path coincide, the traversal path is determined to be a ring structure.
[0060] Reference Figure 7 As shown, when the number of mask layers is 3, the collision detection is an odd-numbered round detection, specifically:
[0061] Each node in the group to be judged is taken as the master node. All the neighbor nodes of the master node are collected to form a neighbor ring group. It is determined whether there is an odd-numbered ring structure in the neighbor ring group. If there is, the master node and all the nodes in the neighbor ring group are determined to be violation nodes.
[0062] Specifically, determining whether an odd-numbered ring structure exists within the neighbor ring group involves:
[0063] Starting from any node in the neighbor ring group, each time the next traversal node is selected from the untraversed neighbor nodes of the currently traversed node to form a traversal path; when the starting node and the ending node of the traversal path coincide, the traversal path is determined to be a ring structure; if the number of nodes in any ring structure is odd, then the neighbor ring group is determined to contain an odd number of ring structures.
[0064] After identifying the violation node in step S4, the process also includes: updating the traversal status of the violation node to "traversed and violated" to avoid repeated traversal of the violation node in the future; step S5 also includes: marking the nodes in the group to be judged that have not been identified as violation nodes as "traversed and without violation".
[0065] In step S5, a mask conflict violation region corresponding to the detection region is created by combining the violation node, including:
[0066] Record the coordinates of the vias corresponding to all violation nodes in the layout, define the area where the vias are located as mask conflict violation areas, and uniquely identify the violation areas.
[0067] Step S6: After completing the mask conflict detection for all the detection areas, output the coordinate information of all mask conflict violation areas and the corresponding mask layer number, and generate a mask conflict detection report for the complete map; the detection report includes the total number of violation areas, the number of nodes in each violation area, and their location distribution.
[0068] The present invention will now be described in more detail.
[0069] This invention provides a method for detecting mask conflicts in a design layout. We treat each via as a node. If the distance between two vias is less than the minimum distance required for identical masks, then the two via nodes are considered to have a connection; otherwise, they are considered not to have a connection. Therefore, we can abstract the distance between vias to obtain the corresponding graph topology. (Refer to...) Figure 8 As shown on the left, the distance between the through holes {1, 2}, {2, 4}, {2, 12}, {2, 13}, {3, 4}, {3, 5}, {4, 12}, {5, 6}, {5, 12}, {6, 10}, {6, 11}, {6, 12}, {7, 8}, {7, 10}, {8, 9}, {9, 10}, {10, 11}, {11, 12}, {11, 13}, {12, 13}, {14, 18}, {15, 16}, {15, 17}, {15, 18}, {16, 17}, {16, 18}, {17, 18}, {19, 20}, {19, 21}, and {20, 21} is less than the minimum distance required by the same mask, so it can be obtained from... Figure 8 Left Figure 8 The topology shown on the right.
[0070] To ensure rapid traversal of all via data across the entire layout, we divide the layout into multiple detection regions, such as... Figure 9 As shown, the entire map is divided into 25 regions.
[0071] Assumption Figure 9 All through holes within area 1 of the layout, such as Figure 8 As shown on the left, the abstract is obtained Figure 8 The topology shown in the right figure.
[0072] Starting from node 1, traverse the data in the graph. Node 1 can traverse all data from node 1 to node 13.
[0073] When traversing node 1, since node 1 has only one neighbor node 2, it is determined that node 1 has no violation and is marked as traversed without violation. Node 2 is added to the next node to be traversed.
[0074] Then, iterate through node 2. Node 2 has three neighbors, so it's impossible to determine if it's a violation yet. Nodes 4, 12, and 13 will be added to the next node to be traversed, and node 2 will be placed in a group g to be judged. Similarly, nodes 2 through 13 are all added to the group g to be judged.
[0075] If two mask layers exist at this point: (Finding topological odd-numbered rings)
[0076] 1. Starting from any node, traverse all nodes in group g. Each time, obtain the next node to be traversed from the neighboring nodes of the currently traversed node, thus obtaining all cycles starting from any node.
[0077] 2. Once a cycle is obtained, the number of nodes in the current cycle can be determined. If the number of nodes in the cycle is odd, then an odd-numbered cycle is obtained, and all nodes in the current cycle are marked as traversed and violated.
[0078] 3. After traversing all nodes in group g, mark all unmarked nodes as traversed and without violations.
[0079] If there are three mask layers at this point: (Finding Topology - Odd-Number Rounds)
[0080] 1. Starting from any node, traverse all nodes in group g, determine the number of all neighboring nodes of the current master node, and save these neighboring nodes to the ring group gc.
[0081] 2. For example, master node 2 has neighbor nodes gc = {4, 12, 13}; master node 12 has neighbor nodes gc = {2, 4, 5, 6, 11, 13}.
[0082] 3. Determine if an odd-numbered cycle exists in the group GC. If it exists, mark the current master node and the corresponding GC group node as traversed and violated.
[0083] 4. After traversing all nodes in group g, mark all unmarked nodes as traversed and without violations.
[0084] After traversing nodes 1 through 13, begin traversing data from node 14, and you can traverse all data from node 14 to node 18. The steps are similar to those described above.
[0085] There is an odd-numbered round case here, with master node 16 and gc = {15, 17, 18}.
[0086] Once nodes 14 through 18 have been traversed, begin traversing data from node 19, which can then traverse all data from node 19 to node 21. The steps are similar to those described above.
[0087] This invention provides a method for detecting mask conflicts in a design layout, which handles two or three mask patterns in a consistent manner, improving detection speed and efficiency compared to traditional mask conflict detection methods.
[0088] Those skilled in the art will understand that, besides implementing the system and its various devices, modules, and units provided by this invention in the form of purely computer-readable program code, the same functions can be achieved entirely through logical programming of the method steps, making the system and its various devices, modules, and units of this invention function in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, the system and its various devices, modules, and units provided by this invention can be considered as a hardware component, and the devices, modules, and units included therein for implementing various functions can also be considered as structures within the hardware component; alternatively, the devices, modules, and units for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0089] Specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. Unless otherwise specified, the embodiments and features described in this application can be arbitrarily combined with each other.
Claims
1. A method for detecting mask conflicts in a design layout, characterized in that, include: Step S1: Load the complete layout data of the circuit design to be tested, wherein the layout data includes the position information of all vias in the layout and the spacing information between each via; Step S2: Divide the complete map into multiple detection areas; Step S3: For each detection area, extract all the vias in that area as nodes and construct the corresponding topology diagram; Step S4: Traverse all nodes in the topology graph, filter out nodes with a number of neighboring nodes not less than a set value and classify them into the group to be judged, and perform corresponding conflict detection on the group to be judged according to the number of mask layers to be detected. Step S5: Mark the violation nodes based on the collision detection results, and create a mask collision violation region corresponding to the detection region based on the violation nodes; Repeat steps S3-S5 until mask collision detection is completed for all the detection areas.
2. The method for detecting mask conflicts in a design layout according to claim 1, characterized in that, In step S3, constructing the topology diagram includes: treating each via as a node; if the distance between vias corresponding to two nodes is less than the minimum required distance for the same mask layer, then establishing a connection between the two nodes.
3. The method for detecting mask conflicts in a design layout according to claim 1, characterized in that, In step S4, filtering nodes into the group to be judged includes: when traversing the nodes of the topology graph, recording the number of neighboring nodes of each node; If the number of neighboring nodes of the current node is less than 2, then mark the node as traversed and without violation. If the current node has ≥2 neighboring nodes, then add the node to the group to be judged, and add all of the node's neighboring nodes to the list of nodes to be traversed next, until all nodes in the topology graph have been filtered.
4. The method for detecting mask conflicts in a design layout according to claim 1, characterized in that, In step S4, performing corresponding collision detection on the group to be judged based on the number of mask layers to be detected includes: When the number of mask layers is 2, the collision detection is odd-numbered ring detection, which specifically includes: traversing the nodes of the group to be judged to obtain all the ring structures therein, judging the number of nodes in each ring structure, and if the number of nodes is odd, then determining all nodes in the ring structure as violation nodes.
5. The method for detecting mask conflicts in a design layout according to claim 4, characterized in that, The specific steps of traversing the nodes of the group to be judged to obtain all the loop structures are as follows: starting from any node of the group to be judged, each time the next traversed node is selected from the untraversed neighbor nodes of the currently traversed node to form a traversal path; when the starting node and the ending node of the traversal path coincide, the traversal path is determined to be a loop structure.
6. The method for detecting mask conflicts in a design layout according to claim 4, characterized in that, In step S4, when the number of mask layers is 3, the collision detection is an odd-numbered round detection, specifically: Each node in the group to be judged is taken as the master node. All the neighbor nodes of the master node are collected to form a neighbor ring group. It is determined whether there is an odd-numbered ring structure in the neighbor ring group. If there is, the master node and all the nodes in the neighbor ring group are determined to be violation nodes.
7. The method for detecting mask conflicts in a design layout according to claim 6, characterized in that, Determining whether an odd-numbered ring structure exists within the neighbor ring group involves: Starting from any node in the neighbor ring group, each time the next traversal node is selected from the untraversed neighbor nodes of the currently traversed node to form a traversal path; when the starting node and the ending node of the traversal path coincide, the traversal path is determined to be a ring structure; if the number of nodes in any ring structure is odd, then the neighbor ring group is determined to contain an odd number of ring structures.
8. The method for detecting mask conflicts in a design layout according to claim 7, characterized in that, After determining the violation node in step S4, the method further includes: updating the traversal status of the violation node to "traversed and violated" to avoid repeated traversal of the violation node in the future; step S5 further includes: marking the nodes in the group to be judged that have not been determined as violation nodes as "traversed and without violation".
9. The method for detecting mask conflicts in a design layout according to claim 1, characterized in that, In step S5, creating a mask conflict violation region corresponding to the detection region based on the violation node includes: Record the coordinates of the vias corresponding to all the violation nodes in the layout, define the area where the vias corresponding to the coordinates are located as the mask conflict violation area, and uniquely identify the violation area.
10. The method for detecting mask conflicts in a design layout according to claim 1, characterized in that, The method further includes: Step S6: After completing the mask conflict detection for all the detection areas, output the coordinate information of all mask conflict violation areas and the corresponding mask layer number, and generate a mask conflict detection report for the complete map; the detection report includes the total number of violation areas, the number of nodes in each violation area, and their location distribution.
Citation Information
Patent Citations
A method for decomposing the pattern in a hybrid electron beam and dual-patterning lithography process
CN105893644B
Circuit layout splitting verification method, double pattern photoetching method and storage medium
CN115270695A
Shortest conflict path searching method and device and storage medium
CN115600547A
Layout detection method, electronic equipment and storage medium
CN117332749A
Multi-layout decomposition method based on grid index structure
CN118070739A