Polygonal straight skeleton generation method, pattern matching method, storage medium
Patent Information
- Application Number
- CN202210893607.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-27
- Publication Date
- 2026-08-18
- Estimated Expiration
- 2042-07-27
AI Technical Summary
[0006]为了解决现有技术中简单波前传播法适用范围较窄的技术问题,本发明提出了曼哈顿版图的多边形的直骨架生成方法、图案匹配方法、存储介质
[0020]This invention improves upon existing straight skeleton propagation algorithms by using the distance from a new node to the original node to select the coordinates of child nodes. This replaces the previous simple wavefront propagation algorithm, which directly used the distance to the common edge as the basis for selecting child nodes. This allows for the calculation of straight skeletons for all polygons with non-contiguous concave points, expanding the algorithm's applicability and avoiding the tedious traversal operation of finding the concave endpoint in the simple wavefront propagation algorithm, thus significantly reducing time complexity. To further apply this method to polygons with concave edge pairs, this invention segments the polygon by inserting virtual edges or virtual nodes. The improved straight skeleton propagation method then generates corresponding nodes and draws the straight skeleton. Virtual nodes are created between concave edges, unidirectionally connecting to adjacent contour nodes. During straight skeleton propagation, the first propagated node is searched each time. If the first propagated node is a virtual node and meets the propagation conditions, its child nodes are generated as new nodes, thus partially splitting the connection relationship of the concave edges and solving the defect of the original method in handling some polygons with concave edges.
Smart Images

Figure CN115204105B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the technical field of physical design rule verification (DRC) for integrated circuits, and more particularly to a method for generating a straight skeleton of a polygon in a Manhattan layout, and a pattern matching method for detecting lithographic hotspots in an integrated circuit layout, the pattern matching method utilizing the straight skeleton generated by the method for generating the straight skeleton of the polygon in the Manhattan layout. Background Technology
[0002] With the continuous development of integrated circuit technology, the lithography wavelengths used in producing advanced integrated circuits are constantly decreasing. This leads to optical proximity effect (OPE), which can cause errors in integrated circuits and reduce yield. To address this issue, the industry has proposed various resolution enhancement technologies for integrated circuit manufacturing, such as immersion lithography (IL), off-axis illumination (OAI), multiple patterning (MP), and optical proximity correction (OPC). However, these technologies cannot completely solve all existing problems. Defects such as bridging and breaking still exist on the final chip; these defects are called lithography hotspots. Therefore, lithography hotspot detection on the layout is extremely important. The industry mainly uses three methods for lithography hotspot detection: lithography simulation, pattern matching, and machine learning. Among them, pattern matching is widely used in the industry due to its superior accuracy compared to machine learning and its speed compared to lithography simulation. Accurate pattern matching using the topology of a straight skeleton describing the layout is a common practice in the industry.
[0003] For the generation of straight skeletons, the movement trajectory of the polygon vertices is considered as the shrinking of the polygon in a 2D view. The edges of the polygon move inward along the normal direction of the polygon at a constant speed, while the vertices of the polygon move inward along the angle bisectors. Several algorithms for generating straight skeletons have been proposed in the prior art, all of which simulate the propagation of polygon edges within the polygon. These algorithms can be divided into four categories: iterative shrinkage method, dynamic triangle method, Motograph preprocessing method, and simple wavefront propagation method.
[0004] Among the various methods, the iterative shrinkage method is relatively simple. It sorts the line widths of the Manhattan polygon and shrinks the polygon's outline point matrix one by one in ascending order. However, this algorithm has a narrow application range and high time complexity. The dynamic triangle method arbitrarily triangulates the polygon before generating the straight skeleton, and then simulates the inward propagation of the polygon's edges, using the collapse of the triangle edges to describe the nodes of the straight skeleton. However, this algorithm is also highly complex. The Motograph preprocessing method first calculates the Motograph corresponding to the planar straight line graph, generates a new planar straight line graph using the original planar straight line graph and the Motograph, and then simulates the wavefront propagation of the new planar straight line graph to obtain the straight skeleton of the new graph. This algorithm has low time complexity and wide applicability, but it is difficult to implement. The simple wavefront propagation method first traverses the opposite edges of all concave points to find the final stopping point of the concave point, and then splits the vertex edge linked list to generate the straight skeleton. This method of calculating the straight skeleton is called angle bisector propagation. However, this method has high time complexity because it traverses all edges of the entire polygon every time a concave point is encountered during initialization. In addition, even when using the simple wavefront propagation method to generate ordinary polygons (polygons without concave edges), there are some limitations.
[0005] Therefore, how to provide a more intuitive and widely applicable method for generating straight skeletons is a technical problem that the industry urgently needs to solve. Summary of the Invention
[0006] To address the technical problem that the simple wavefront propagation method in the prior art has a narrow applicability, this invention proposes a method for generating the straight skeleton of polygons in the Manhattan map, a pattern matching method, and a storage medium.
[0007] The present invention proposes a method for generating the straight skeleton of polygons in the Manhattan map, comprising:
[0008] Step 1: Calculate the child nodes corresponding to the outline nodes of the Manhattan map, and sort the child nodes according to their distance to the common edge of the corresponding two angle bisectors;
[0009] Step 2: Among the unconnected nodes, select any child node with the shortest distance to the common edge of the corresponding two angle bisectors, and use the contour node corresponding to that child node as the first node to be propagated.
[0010] Step 3: Start propagating the angle bisector from the first node reached. During the angle bisector propagation process, select the next node to be propagated based on the principle of the shortest distance between nodes and generate the corresponding straight skeleton. Continue until the number of unconnected nodes in the current connection relationship is 3. Then, perform the last angle bisector propagation on the currently propagated node and exit the current round of angle bisector propagation.
[0011] Step 4: Determine if there are any unconnected nodes. If so, return to Step 2 to continue the angle bisector propagation until all nodes are connected.
[0012] Furthermore, when the Manhattan map is a polygon with concave edge pairs, before step 1, the following steps are also included: sequentially traversing all edges of the Manhattan map to find concave edge pairs, wherein the concave edge pairs are two concave edges that are parallel and adjacent to each other.
[0013] After adding virtual edges or virtual nodes to the concave edge pair, proceed with step 1.
[0014] In step 1, the virtual contour nodes generated by the virtual edges or the virtual nodes are used as contour nodes of the Manhattan map for calculation. When executing step 3, it is determined whether the currently propagated node is a virtual node that has generated a straight skeleton. If so, the node is skipped and the angle bisector propagation of the next node is continued. Otherwise, the angle bisector propagation is performed based on the virtual node.
[0015] Furthermore, the virtual edge overlaps with the midline perpendicular to the concave edge pair, and the virtual edge consists of two overlapping edges that correspond to the contour nodes at both ends of the concave edge pair.
[0016] Furthermore, the virtual node is the midpoint of the centerline perpendicular to the concave edge pair, and the virtual node consists of two overlapping nodes that correspond to the contour nodes at both ends of the concave edge pair.
[0017] Furthermore, the concave edge pair is found through the following steps: after finding any concave edge, draw rays perpendicular to the concave edge from the two endpoints of the concave edge into the Manhattan map, find the edge that first touches the ray, and determine whether the edge is a concave edge. If it is a concave edge, then a concave edge pair is found.
[0018] The pattern matching method for photolithographic hotspot detection of integrated circuit layout proposed in this invention generates a straight skeleton of the circuit layout based on the straight skeleton generation method described in the above technical solution, and performs pattern matching based on the straight skeleton.
[0019] The present invention proposes a computer-readable storage medium for storing a computer program, which, when executed, performs the straight skeleton generation method described in the above technical solution.
[0020] This invention improves upon existing straight skeleton propagation algorithms by using the distance from a new node to the original node to select the coordinates of child nodes. This replaces the previous simple wavefront propagation algorithm, which directly used the distance to the common edge as the basis for selecting child nodes. This allows for the calculation of straight skeletons for all polygons with non-contiguous concave points, expanding the algorithm's applicability and avoiding the tedious traversal operation of finding the concave endpoint in the simple wavefront propagation algorithm, thus significantly reducing time complexity. To further apply this method to polygons with concave edge pairs, this invention segments the polygon by inserting virtual edges or virtual nodes. The improved straight skeleton propagation method then generates corresponding nodes and draws the straight skeleton. Virtual nodes are created between concave edges, unidirectionally connecting to adjacent contour nodes. During straight skeleton propagation, the first propagated node is searched each time. If the first propagated node is a virtual node and meets the propagation conditions, its child nodes are generated as new nodes, thus partially splitting the connection relationship of the concave edges and solving the defect of the original method in handling some polygons with concave edges. Attached Figure Description
[0021] The present invention will now be described in detail with reference to the embodiments and accompanying drawings, wherein:
[0022] Figure 1 This is a flowchart of an embodiment of the present invention.
[0023] Figure 2 This is a schematic diagram of the process of inserting virtual nodes into the straight skeleton of the present invention.
[0024] Figure 3 This is a schematic diagram of the node generating child nodes in the earliest propagation of this invention.
[0025] Figure 4 This is a schematic diagram of the virtual node generation of a straight skeleton according to the present invention.
[0026] Figure 5 This is a schematic diagram of how the virtual node of the present invention finds the corresponding child node.
[0027] Figure 6 This is a schematic diagram showing the intersection between the child nodes of the virtual node and the adjacent nodes in this invention.
[0028] Figure 7 This is a schematic diagram illustrating the search for child nodes of node B1 and node V1 in this invention.
[0029] Figure 8 This is a schematic diagram of the straight skeleton of a polygon in the Manhattan layout according to an embodiment of the present invention. Detailed Implementation
[0030] To make the technical problems to be solved, the technical solutions, and the beneficial effects of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0031] Therefore, a feature pointed out in this specification is used to describe one feature of one embodiment of the invention, and does not imply that every embodiment of the invention must have the described feature. Furthermore, it should be noted that this specification describes many features. Although certain features may be combined to illustrate possible system designs, these features may also be used in other combinations not explicitly stated. Therefore, unless otherwise stated, the described combinations are not intended to be limiting.
[0032] like Figure 1 As shown, the method for generating the straight skeleton of the polygon of the Manhattan map proposed in this invention includes four main steps in one embodiment.
[0033] Step 1: First, calculate the child nodes corresponding to the outline nodes of the Manhattan map, and sort the child nodes according to their distance to the common edge of the corresponding angle bisectors. Add all outline nodes and the calculated child nodes to the list of unconnected nodes. Here, a child node refers to the next node generated by a given node. Each child node has two adjacent parent nodes in terms of connection, and each parent node has only one child node. An outline node refers to a node created from a vertex on the outline of the Manhattan map.
[0034] Step 2: Among the unconnected nodes, select any child node with the shortest distance to the common edge of the corresponding two angle bisectors, and use the contour node corresponding to that child node as the first node to be propagated.
[0035] Step 3: Start propagating the angle bisector from the first node reached. During the angle bisector propagation process, select the next node to be propagated based on the principle of the shortest distance between nodes and generate the corresponding straight skeleton. Continue until the number of unconnected nodes in the current connection relationship is 3. Then, perform the last angle bisector propagation on the currently propagated node and exit the current round of angle bisector propagation.
[0036] Angle bisector propagation specifically involves determining the position of the next straight skeleton node based on the current node's position and its connection relationships, and outputting a straight skeleton segment. Here, the angle bisector is a generalized definition; the vertex of the angle and the edge controlling the angle bisector's direction can be separate. That is, the angle bisector direction is calculated using two edges, and the vertices are used to construct the angle bisector. Since the parent nodes of a child node are two adjacent nodes, and the edges forming the angle bisector between two adjacent nodes must overlap (called the common edge), the angle bisector of a child node is constructed using the two non-common edges and the vertex coordinates. Adjacent nodes refer to nodes whose preceding and following nodes are adjacent in counter-clockwise order. When a new node is generated, its parent node is removed from the adjacency list, and the child node replaces the connection relationship between the two parent nodes.
[0037] Step 4: Check if there are any unconnected nodes in the list of unconnected nodes. If so, return to Step 2 and continue the angle bisector propagation until all nodes are connected.
[0038] This invention utilizes an improved straight-skeleton propagation algorithm, selecting child node coordinates based on the distance from the new node to the original node. This replaces the previous simple wavefront propagation algorithm, which directly used the distance to the common edge as the basis for selecting child nodes. This broadens the applicability of the simple wavefront propagation algorithm, enabling it to handle more situations. For example, it can handle ordinary polygons in the Manhattan map, as well as polygons with discontinuous concave edges (polygons without double concave edges). Furthermore, this method is more intuitive; according to the angle bisector propagation principle, it is impossible to bypass closer points to process more distant points.
[0039] In one embodiment, the Manhattan map is a polygon with concave edge pairs. A concave point in the polygon is a vertex whose interior angle is greater than 180°, and a concave edge is a polygon edge whose two endpoints (vertices) are both concave points. A pair of concave edges refers to two parallel and adjacent concave edges, i.e., two opposite concave edges that are parallel to each other and have no other edge in between. Projecting the two concave edges in a parallel direction reveals a pair of overlapping concave edges; this overlapping portion of the projection is called the overlapping portion of the concave edges.
[0040] If the Manhattan map is a polygon with concave edge pairs, then before step 1 of the above technical solution, it is necessary to sequentially traverse all edges of the Manhattan map, find the concave edge pairs, add virtual edges or virtual nodes to the concave edge pairs, and then execute step 1.
[0041] A virtual edge refers to an edge that does not originally exist in the polygon corresponding to the Manhattan map. In order to facilitate the generation of a straight skeleton, the centerline of the part that overlaps with the concave edge pair is used as a virtual edge. That is, the virtual edge overlaps with the centerline, thereby transforming the polygon with the concave edge pair into a polygon without the concave edge pair. Virtual edges appear in pairs, that is, a virtual edge contains two overlapping edges, and these two edges correspond to the contour nodes at both ends of the concave edge pair.
[0042] A dummy node is the midpoint of the median line perpendicular to the overlapping portion of a pair of concave edges. A dummy node is a node that doesn't originally exist in the polygon but is generated to create the straight skeleton of the polygon. Two dummy nodes coincide and are associated with the contour nodes at both ends of the concave edge pair. Generating a dummy edge can also be understood as generating dummy contour nodes, except that there are four dummy contour nodes corresponding to a dummy edge. These four dummy contour nodes correspond to a pair of midpoints in the overlapping portion of the concave edge pair; that is, two dummy contour nodes coincide at the midpoint of the overlapping portion of one concave edge, and the other two dummy contour nodes coincide at the midpoint of the overlapping portion of the other concave edge.
[0043] Figure 2 The process of inserting a dummy node is shown. Figure 2 The left side of the image shows the concave sides E and C of the polygon. Figure 2 The middle section shows the generation of virtual nodes for concave edges E and C. Figure 2 On the right are virtual nodes V1 and V2. Virtual nodes V1 and V2 are essentially overlapping nodes, but for easier visualization, they are represented as two separate nodes within the polygon on the right. The improved angle bisector propagation algorithm can handle polygons without continuous concave edges, but it is not applicable to polygons with some pairs of concave edges. Therefore, preprocessing by inserting virtual nodes into the polygon is used to eliminate potentially problematic concave edges. Traversing all edges of the polygon, a concave edge E is found. Rays are drawn from the two endpoints of concave edge E perpendicular to E into the polygon. The edge that first encounters this ray is found, and it is determined whether this edge is concave. If it is concave, a suitable point between the two edges is found as the coordinates of the virtual node. As... Figure 2 As shown, the midpoint of the overlapping portion of concave edge C in the parallel projection direction is taken as the x-coordinate on concave edge E, and the midpoint of the two projection points of the two concave edges in the vertical direction is taken as the y-coordinate. This coordinate is called the plane midpoint. A pair of virtual nodes are created using the coordinates of the plane midpoint, and the endpoints on the same side of the two concave edges from which the virtual nodes are created are taken as the adjacent points of the virtual nodes.
[0044] After generating virtual edges or virtual nodes, in step 1, the virtual contour nodes generated by the virtual nodes or virtual edges are calculated as contour nodes of the polygon to obtain the child nodes corresponding to all contour nodes. The child nodes are sorted according to their distance to the common edge of the corresponding two angle bisectors. All contour nodes and the calculated child nodes are added to the list of unconnected nodes. Then, step 2 is executed. When executing step 3, it is determined whether the currently propagated node is a virtual node of a generated straight skeleton. If so, the node is skipped and the angle bisector propagation of the next node is continued. Otherwise, the angle bisector propagation is performed based on the virtual node.
[0045] The following is combined Figures 3 to 8 The method for generating the straight skeleton of a polygon containing concave edge pairs of a Manhattan map according to the present invention will be described in detail.
[0046] Perform the same pre-propagation process on all contour nodes (including the original vertices of the polygon and the generated virtual nodes). Pre-propagation involves calculating the angle bisectors of the corresponding angles between each node and its adjacent nodes, and finding the intersection points of these angle bisectors. The coordinate of the intersection point closer to the original node is taken as the coordinate of that node's child node. The distance from this child node's coordinates to the common edge is then calculated, and all contour nodes to be propagated are sorted according to this distance, with smaller distances being propagated first. For example... Figure 3 As shown in the left figure, taking node B as an example, the angle bisectors of node B and nodes A and C intersect at two points respectively. Let d1 be the distance from node B to node A and its child nodes, and d2 be the distance from node B to node C and its child nodes. Clearly, d1 < d2, so the child node of node B is B1, and the coordinates of the child node are the coordinates of B1. The adjacent nodes of the child node are nodes C and L. Since ∠B and ∠A share a common edge AB, the distance from child node B1 to the common edge is the distance marked as cost in the figure. Figures 4 to 6 This is a schematic diagram of the initialization of virtual nodes. The angle bisectors of virtual node V and its two adjacent nodes L and E intersect at node V1. Therefore, the coordinates of node V1 are the coordinates of the child nodes of virtual node V. The adjacent nodes of node V1 become nodes E and A. Let's take the intersection of ∠L and ∠V as V1 for now. Since the common edge of ∠L and ∠V is edge LK, the distance to child node V1 from the common edge is... Figure 4 The distance indicated by the cost in the figure.
[0047] Sort all unvisited nodes, including the original outline nodes of the polygon and the created virtual nodes, according to distance cost. Select the parent node corresponding to the child node with the lowest cost as the node to be propagated first. Figures 3 to 8In the polygon shown, propagation can start from nodes B and A, or from nodes C and D, or from nodes J and I, or from nodes G and H.
[0048] After obtaining the first node reached through propagation, determine its type. If it's not a dummy node, create a new straight-skeleton node using the coordinates of its child nodes; these child nodes are called the new node, i.e., the currently propagated node. Following the pre-propagation processing described before angle bisector propagation, use the neighboring nodes of the new node to calculate the coordinates of its child nodes and determine their common edge distance. Figure 7 As shown, the two adjacent nodes of node B1 are nodes V1 and C. The angle bisector of node B1 intersects the angle bisector of node V1 at node V2, and the distance from node B1 to node V2 is d1. The angle bisector of node B1 intersects the angle bisector of node C at node C1, and the distance from node B1 to node C1 is d2. Therefore, node V2 is chosen as the next propagation node of node B1, and the adjacent nodes of node V2 become nodes C and D. The two sides forming the angle bisector of node B1 are edges BC and AL, and the two sides forming the angle bisector of node V1 are edges AL and ED. Therefore, the common edge between nodes V1 and B1 is edge AL, and the distance from node V2 to the common edge is... Figure 7 The cost is calculated as follows: If the current propagation reaches a virtual node, check if its two adjacent nodes have been visited. If neither has been visited, the virtual node's child node becomes the next node to propagate, and a straight skeleton segment is output. The positions of the child nodes of this child node are then calculated, and their corresponding costs are obtained. The twin virtual nodes of this virtual node then begin propagation in the reverse direction. If the adjacent nodes of a virtual node have already been processed, it is calculated whether a straight skeleton has been generated on this virtual node. If a straight skeleton has been generated, the processing of this virtual node is skipped; otherwise, the virtual node undergoes normal angle bisector propagation. Figure 5 As shown, in this example, the virtual node propagates before all contour nodes. First, a straight skeleton node V1 is generated based on the coordinates of the child nodes of the virtual node V. The two adjacent nodes of node V1 are nodes A and E. The angle bisectors of ∠V1 and ∠A are parallel and do not intersect. ∠V1 and ∠E intersect at node V1. The distance between nodes V1 and V1 is 0, so node V1 is chosen as a child node of node V1. The adjacent nodes of node V1 become nodes A and D. The two sides constituting ∠V1 are edges AL and EF, and the two sides constituting ∠E are edges EF and DE. Their common edge is edge EF, so the distance cost at this point is as follows: Figure 5 As shown. Note that the cost remains unchanged at this point, so the node that propagates first next time is still node V1. The specific propagation process is as follows... Figures 5 to 7 As shown.
[0049] The exit condition for the above propagation process is as follows: if the currently propagated node is node V2, and there are only three unprocessed nodes in the connection relationship containing node V2: node V2, node C, and node D. Then, finally, V2's child node O1 becomes a straight skeleton child node, and the straight skeleton between V2-O1, C-O1, and D-O1 is output, ending the propagation process for the current connection relationship. Afterward, it checks if there are any unpropagated nodes and proceeds to the next round of connection relationship propagation using the same method. If the original connection relationship was split due to the insertion of dummy nodes, each insertion will result in an additional round of propagation.
[0050] The present invention also protects a pattern matching method for detecting photolithographic hot spots in integrated circuit layouts. This pattern matching method generates a straight skeleton of the circuit layout based on the straight skeleton generation method of the above-mentioned technical solution, and performs pattern matching based on the generated straight skeleton.
[0051] The present invention also protects a computer-readable storage medium for storing a computer program, which, when executed, performs the straight skeleton generation method of the above-described technical solution.
[0052] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A method for generating the straight skeleton of a polygon in a Manhattan map, characterized in that, include: Step 1: Calculate the child nodes corresponding to the contour nodes of the polygon in the Manhattan layout of the integrated circuit, and sort the child nodes according to their distance to the common edge of the corresponding two angle bisectors. This includes: performing pre-propagation processing on all contour nodes. The pre-propagation processing involves calculating the angle bisectors of the angles corresponding to each node and its adjacent nodes, finding the intersection points of the angle bisectors, taking the coordinates of the intersection points on the angle bisectors that are closer to the original node as the coordinates of the child node of that node, and finding the distance of the child node's coordinates to the common edge. The contour nodes include the vertices of the polygon and the generated virtual nodes. Step 2: Among the unconnected nodes, select any child node with the shortest distance to the common edge of the corresponding two angle bisectors, and use the contour node corresponding to that child node as the first node to be propagated. Step 3: Start propagating the angle bisector from the first node reached. During the angle bisector propagation process, select the next node to be propagated based on the principle of the shortest distance between nodes and generate the corresponding straight skeleton. Continue until the number of unconnected nodes in the current connection relationship is 3. Then, perform the last angle bisector propagation on the currently propagated node and exit the current round of angle bisector propagation. Step 4: Determine if there are any unconnected nodes. If so, return to Step 2 to continue the angle bisector propagation until all nodes are connected.
2. The method for generating the straight skeleton of a polygon in the Manhattan map as described in claim 1, characterized in that, When the Manhattan map is a polygon with concave edge pairs, the following step is included before step 1: Iterate through all the edges of the Manhattan map sequentially to find pairs of concave edges, where a pair of concave edges is two concave edges that are parallel and adjacent to each other. After adding virtual edges or virtual nodes to the concave edge pair, proceed with step 1. In step 1, the virtual contour nodes generated by the virtual edges or the virtual nodes are used as contour nodes of the Manhattan map for calculation. When executing step 3, it is determined whether the currently propagated node is a virtual node that has generated a straight skeleton. If so, the node is skipped and the angle bisector propagation of the next node is continued. Otherwise, the angle bisector propagation is performed based on the virtual node.
3. The method for generating the straight skeleton of a polygon in the Manhattan map as described in claim 2, characterized in that, The virtual edge overlaps with the centerline perpendicular to the concave edge pair, and the virtual edge consists of two overlapping edges that correspond to the contour nodes at both ends of the concave edge pair.
4. The method for generating the straight skeleton of polygons in the Manhattan map as described in claim 2, characterized in that, The virtual node is the midpoint of the centerline perpendicular to the concave edge pair. The virtual node consists of two overlapping nodes that correspond to the contour nodes at both ends of the concave edge pair.
5. The method for generating the straight skeleton of a polygon in the Manhattan map as described in claim 2, characterized in that, The concave edge pair is found through the following steps: After finding any concave edge, draw rays perpendicular to the concave edge from the two endpoints of the concave edge into the Manhattan map, find the edge that first touches the ray, and determine whether the edge is a concave edge. If it is a concave edge, then a concave edge pair is found.
6. A pattern matching method for detecting photolithographic hotspots in an integrated circuit layout, characterized in that, The straight skeleton of the circuit layout is generated based on the straight skeleton generation method of the polygon of the Manhattan layout as described in any one of claims 1 to 5, and pattern matching is performed based on the straight skeleton.
7. A computer-readable storage medium for storing a computer program, characterized in that, When the computer program is executed, it performs the method for generating the straight skeleton of the polygon of the Manhattan map as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Method for determining wire lengths between nodes using a rectilinear steiner minimum tree (RSMT) with existing pre-routes algorithm
CN103930891A
Large-scale integrated circuit layout unstructured grid eccentric midpoint generation method and system
CN112052641A