A GDS layout splitting method, device and computer storage medium
Patent Information
- Application Number
- CN202611282468.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-24
- Publication Date
- 2026-10-23
- Estimated Expiration
- 2046-08-24
AI Technical Summary
[0017]上述技术方案中的优点或有益效果至少包括:
Smart Images

Figure CN122799414B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of chip layout processing technology, and in particular to a GDS layout splitting method, apparatus and computer storage medium. Background Technology
[0002] In integrated circuit manufacturing, the graphic design system (GDS) layout or the chip layout image converted from GDS typically contains a large number of repetitive or nearly repetitive graphic structures, such as standard cells, logic cells, local interconnect structures, via arrays, and regular wiring segments. These graphics may be distributed in different locations on the layout, but they are highly similar in shape, area, orientation, fill rate, or topology. In subsequent downstream applications such as layout pattern recognition, defect detection, hotspot analysis, sample generation, lithography simulation, or pattern library construction, it is usually necessary to first decompose and classify the layout graphics to reduce redundancy and improve analysis efficiency.
[0003] Currently, the following two schemes are mainly used for GDS map splitting: (1) Fixed-window-based layout segmentation method: This method divides the layout into grids according to fixed-size windows, and then analyzes the patterns in each window one by one. Although it is simple to implement, fixed windows can easily cut off the complete graphic, destroying the topological structure and geometric integrity of the pattern.
[0004] (2) Layout graphic decomposition method based on connected components: This method binarizes the layout image and then uses connected component detection to extract independent graphics. Although this method can maintain the connectivity of graphics, it can only obtain spatially disconnected patterns, cannot identify graphic categories that are distributed in different locations but have similar shapes, and is also difficult to achieve the aggregation processing of similar patterns.
[0005] The above two types of schemes have at least the following drawbacks: 1) Relying solely on connected component splitting cannot identify patterns with the same or similar shapes in multiple spatial locations, resulting in insufficient clustering ability; 2) Directly splitting all connected component patterns one by one into backbones is computationally intensive, and similar patterns are prone to producing inconsistent splitting results, affecting the consistency of subsequent analysis; 3) Relying solely on geometric features for clustering lacks robustness and makes it difficult to accurately distinguish complex map patterns; 4) The lack of a complete closed-loop processing flow that organically combines connected component detection, shape clustering, backbone splitting, small block merging, and size truncation leads to uneven block sizes and unstable quality in the final output.
[0006] In summary, there is an urgent need to overcome the problems of existing technologies, such as the destruction of graphic structure, ineffective clustering of similar patterns, large computational redundancy, and inconsistent splitting results, in order to achieve accurate extraction of connected patterns, efficient clustering of similar patterns, and fine-grained output of size-balanced tiles. Summary of the Invention
[0007] This application provides a GDS layout splitting method, apparatus, and computer storage medium to solve the problems existing in related technologies. The technical solution is as follows: In a first aspect, embodiments of this application provide a GDS layout splitting method, including: The target layout image to be split is preprocessed and binarized to obtain the processed target layout image, wherein the target layout image is a GDS layout or a chip layout image converted from a GDS layout; A connected component detection algorithm is used to extract all independent connected components in the processed target map image, and a mask image corresponding to each independent connected component is generated. Extract multidimensional connected component features from the mask image corresponding to each independent connected component; Based on the multidimensional connected component features of each of the independent connected components, a combined strategy of cascaded geometric filtering and depth similarity weighted scoring is adopted to calculate the similarity between any two independent connected components. Perform disjoint-set shape clustering on any two independent connected components with a similarity greater than or equal to a preset first similarity threshold to obtain multi-class clustering patterns; The backbone analysis and further decomposition of each cluster pattern in the multi-cluster pattern are performed to obtain multiple patches corresponding to each cluster pattern; When there is a target tile among the multiple tiles that does not meet the area constraint, the target tile is merged with its nearest smaller tile. If the merged tile does not meet the size constraint, the merged tile is truncated from the middle, and the area and size are iteratively optimized for the two resulting sub-tiles until the final sub-tiles meet the area and size constraints. The layout splitting result is then output.
[0008] In one implementation, the process of extracting all independent connected components in the processed target map image using a connected component detection algorithm and generating a mask image corresponding to each independent connected component includes: The processed target map image is marked by a connected component detection algorithm in an 8-neighbor traversal manner, and mutually independent connected regions are identified and extracted to obtain all the independent connected components. Each independent connected component corresponds to a candidate pattern in the processed target map image. For each candidate pattern corresponding to an independent connected component, a binary mask corresponding to its spatial range is generated to obtain a mask image corresponding to each independent connected component.
[0009] In one implementation, the multidimensional connected component features include: geometric features, normalized mask vector features, and deep embedding features; the features extracted from the mask image corresponding to each independent connected component include: The geometric features are extracted directly from the mask image corresponding to each of the independent connected components; The mask image corresponding to each independent connected component is scaled to a uniform size and then subjected to L2 normalization to obtain the normalized mask vector features. The mask image corresponding to each independent connected component is input into the ResNet-50 model. The embedding vector output by the last or reciprocal feature layer of the ResNet-50 model is extracted, and the embedding vector is subjected to L2 normalization to obtain the deep embedding feature.
[0010] In one implementation, based on the multidimensional connected component features of each of the independent connected components, a combined strategy of cascaded geometric filtering and depth similarity weighted scoring is used to calculate the similarity between any two independent connected components, including: Determine whether the geometric features of any two independent connected domains satisfy the preset cascaded geometric filtering conditions; If the geometric features of any two independent connected components do not satisfy any of the preset cascaded geometric filtering conditions, then it is determined that the two independent connected components are not similar, and the similarity between the two independent connected components is returned as 0. If the geometric features of any two independent connected components satisfy the preset cascaded geometric filtering conditions, then based on the normalized mask vector features and deep embedding features of any two independent connected components, the mask vector cosine similarity, ResNet embedding cosine similarity, and mask IoU similarity between any two independent connected components are calculated. The cosine similarity of the mask vector is compared with a preset second similarity threshold, the cosine similarity of the ResNet embedding is compared with a preset third similarity threshold, and the mask IoU similarity is compared with a preset fourth similarity threshold. If any one of the mask vector cosine similarity, the ResNet embedding cosine similarity, and the mask IoU similarity is less than the corresponding similarity threshold, then it is determined that any two independent connected components are not similar, and the similarity between any two independent connected components is returned as 0. If the mask vector cosine similarity, the ResNet embedding cosine similarity, and the mask IoU similarity are all greater than or equal to the corresponding similarity thresholds, then a weighted sum of the mask vector cosine similarity, the ResNet embedding cosine similarity, and the mask IoU similarity is calculated, and the weighted sum is used as the similarity between any two independent connected components.
[0011] In one implementation, disjoint-set data structure shape clustering is performed on any two independent connected components whose similarity is greater than or equal to a preset first similarity threshold to obtain multi-class clustering patterns, including: Initialize each independent connected component as an independent set; Traverse all independent connected components, and perform a union operation on any two independent connected components with a similarity greater than or equal to the first similarity threshold using a disjoint-set data structure to obtain a disjoint-set data structure; The independent connected components corresponding to each root node in the disjoint-set data structure are defined as a clustering pattern to obtain the multi-clustering pattern.
[0012] In one implementation, each cluster pattern in the multi-cluster pattern is subjected to backbone analysis and further decomposition to obtain multiple patches corresponding to each cluster pattern, including: Skeleton extraction is performed on representative patterns or all patterns in each cluster pattern to obtain multiple backbone structural features; Based on the aforementioned multiple backbone structural features, multiple splitting positions for each clustering pattern are determined; Each cluster pattern is split based on the multiple splitting positions to obtain the multiple patches.
[0013] In one implementation, the area constraint is: the area of the tile is greater than or equal to a preset area threshold; The small tiles are selected from the surrounding tiles of the target tile based on comprehensive indicators such as minimum Euclidean distance, longest shared boundary, most consistent main direction, and most regular shape after merging. The size constraints include any of the following constraints: aspect ratio is less than or equal to a preset aspect ratio threshold; maximum side length is less than or equal to a preset side length threshold; main direction projection length is less than or equal to a preset length threshold; the size of the circumscribed rectangle is within a preset size range. The map splitting results include: all final map tiles, as well as the cluster category, geometric features, original coordinate mapping relationship, and splitting source information of each final map tile.
[0014] Secondly, embodiments of this application also provide a GDS layout splitting device, comprising: The preprocessing unit is used to preprocess and binarize the target layout image to be split to obtain the processed target layout image, wherein the target layout image is a GDS layout or a chip layout image converted from a GDS layout. The first extraction unit is used to extract all independent connected components in the processed target map image using a connected component detection algorithm, and generate a mask image corresponding to each independent connected component. The second extraction unit is used to extract multidimensional connected component features from the mask image corresponding to each independent connected component; The calculation unit is used to calculate the similarity between any two independent connected components based on the multidimensional connected component features of each of the independent connected components, using a combination strategy of cascaded geometric filtering and depth similarity weighted scoring. Clustering unit is used to perform disjoint-setup shape clustering on any two independent connected components with a similarity greater than or equal to a preset first similarity threshold to obtain multi-class clustering patterns; The splitting unit is used to perform backbone analysis and further splitting on each cluster pattern in the multi-cluster pattern to obtain multiple blocks corresponding to each cluster pattern; The optimization unit is used to merge the target tile with its nearest smaller tile when there is a target tile among the multiple tiles that does not meet the area constraint. If the merged tile does not meet the size constraint, the merged tile is truncated from the middle, and the area and size iterative optimization is performed on the two sub-tiles until the final sub-tile meets the area constraint and the size constraint, and the layout splitting result is output.
[0015] Thirdly, embodiments of this application also provide a computer device, which includes: a memory and a processor, wherein the memory stores instructions, the instructions are loaded and executed by the processor to implement the methods in any of the above embodiments, wherein the memory and the processor communicate with each other through an internal connection path.
[0016] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program that, when run on a computer, implements the methods in any of the above-described embodiments.
[0017] The advantages or beneficial effects of the above technical solutions include at least the following: This application, after segmenting the target image into independent connected components, comprehensively utilizes multi-dimensional connected component features (such as geometric features, normalized mask features, and deep embedding features) to calculate the similarity between independent connected components. Then, based on this similarity, it introduces a disjoint-set data structure for shape clustering. This enables more accurate identification of patterns in different locations within the image that have the same or similar shapes, thereby improving the accuracy of similar pattern recognition. Furthermore, by introducing a geometric cascade filtering mechanism when calculating the similarity between independent connected components, it filters based on geometric conditions (such as area, aspect ratio, fill rate, orientation, centroid, and compactness) before the final similarity score, avoiding misjudgments caused by relying solely on a single similarity index, thus reducing the risk of misclustering. Furthermore, by performing backbone analysis and further segmentation after shape clustering, similar patterns can be segmented using consistent or nearly consistent rules, reducing the likelihood of the same pattern being segmented into different results at different locations, thereby improving the consistency of the segmentation results. Also, by merging small-area patches generated after backbone segmentation with the nearest small patch instead of deleting them directly, this process reduces the number of fragments and avoids the loss of layout information, thus reducing invalid fragments and preserving graphic information. Finally, by truncating merged patches that do not meet size constraints from the middle, the final output patch size and aspect ratio are more balanced, making it more suitable for subsequent defect detection, pattern recognition, lithography simulation, or machine learning processing. Therefore, this application can overcome the problems of existing technologies such as destroyed graphic structure, ineffective clustering of similar patterns, large computational redundancy, and inconsistent segmentation results, and can achieve accurate extraction of connected patterns, efficient clustering of similar patterns, and fine-grained patch output with balanced size.
[0018] The above overview is for illustrative purposes only and is not intended to be limiting in any way. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features of this application will become readily apparent from the accompanying drawings and the following detailed description. Attached Figure Description
[0019] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the various drawings denote the same or similar parts or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings depict only some embodiments disclosed in this application and should not be construed as limiting the scope of this application.
[0020] Figure 1 A flowchart illustrating a GDS layout splitting method provided in this application embodiment; Figure 2 A structural block diagram of a GDS layout splitting device provided in an embodiment of this application; Figure 3 This is a structural block diagram of a computer device provided in an embodiment of this application. Detailed Implementation
[0021] In the following description, only certain exemplary embodiments are briefly described. As those skilled in the art will recognize, the described embodiments can be modified in various ways without departing from the spirit or scope of this application. Therefore, the drawings and description are considered to be exemplary in nature and not restrictive.
[0022] Figure 1 A flowchart illustrating a GDS layout splitting method according to an embodiment of this application is shown. Figure 1 As shown, the method may include the following steps: S1. Preprocess and binarize the target map image to be split to obtain the processed target map image.
[0023] In one implementation, the target layout image is a GDS layout or a chip layout image converted from a GDS layout. In specific implementations, the target layout image may also be an image corresponding to a specific layer, a specific region, or a specific logic block in the GDS layout, and this application embodiment does not limit this.
[0024] In one implementation, the target map image can first be converted to grayscale to obtain a grayscale target map image. Then, the grayscale target map image is subjected to Otsu thresholding binarization based on a preset threshold to obtain the processed target map image. At this point, the processed target map image can distinguish between the foreground pattern region and the background region.
[0025] In practice, the preset threshold can be set according to actual needs, and this application embodiment does not limit it. For example, the preset threshold can be adaptively determined based on the contrast characteristics of the grayscale target layout image, or it can be manually set by the user according to process nodes and design rules, etc.
[0026] It should be understood that the above-mentioned grayscale processing and Otsu threshold binarization processing can both be performed using existing methods, and will not be described again in the embodiments of this application.
[0027] In this embodiment of the application, by performing step S1, a binary representation of the foreground and background of the target map image can be obtained, for example, the pixel value of the foreground pattern area is 1 and the pixel value of the background area is 0.
[0028] S2. Use a connected component detection algorithm to extract all independent connected components in the processed target map image and generate a mask image corresponding to each independent connected component.
[0029] In one implementation, step S2 may include the following sub-steps: S21. The processed target map image is marked by using a connected component detection algorithm and traversing the 8-neighborhood to identify and extract mutually independent connected regions, thus obtaining all independent connected components.
[0030] In practice, each independent connected domain corresponds to a candidate pattern in the processed target map image.
[0031] As an example, a connected component detection algorithm can be used to determine the affiliation of each foreground pixel in the processed target layout image by traversing its 8-neighborhood. For instance, foreground pixels belonging to the same connected region are assigned the same label number, while foreground pixels belonging to different connected regions are assigned different label numbers. When an unvisited foreground pixel is encountered, a depth-first search is initiated to obtain all mutually independent connected regions. These mutually independent connected regions are all independent connected components. At this point, each independent connected component corresponds to a candidate pattern (such as a standard cell, contact hole array, or metal wiring pattern) in the processed target layout image.
[0032] For example, the connected component detection algorithm can be a two-pass algorithm, a seed-filling algorithm, or a connected component labeling method based on contour tracing, and this application embodiment does not limit this.
[0033] S22. For each candidate pattern corresponding to an independent connected component, generate a binary mask corresponding to its spatial range to obtain the mask image corresponding to each independent connected component.
[0034] In practice, the mask image is a two-dimensional matrix with the same size as the candidate pattern, used to define the effective pixel range of the candidate pattern and serve as the input basis for subsequent feature extraction and similarity calculation. For example, the mask image takes a value of 1 in the corresponding independent connected components and a value of 0 in the other independent connected components. In this way, not only can the spatial distribution range of the candidate pattern be accurately located, but also a standardized input unit is provided for subsequent feature extraction, geometric parameter calculation, and pattern similarity matching, avoiding cross-pattern interference and improving the accuracy and efficiency of subsequent processing.
[0035] In this embodiment of the application, by performing step S2, the various patterns in the target layout image can be effectively decoupled, avoiding cross-pattern pixel interference, which helps to improve the accuracy of subsequent feature extraction and similarity calculation.
[0036] In practice, the overall implementation process of steps S1 and S2 can be represented as a processing chain of "landscape image → grayscale image → binarized image → connected component label → connected component mask set".
[0037] S3. Extract multidimensional connected component features from the mask image corresponding to each independent connected component.
[0038] In one implementation, the multidimensional connected component feature may include, but is not limited to, geometric features, normalized mask vector features, and deep embedding features.
[0039] In one implementation, when the multidimensional connected component feature includes geometric features, normalized mask vector features, and deep embedding features (resnet_embedding), the implementation process of step S3 may include the following sub-steps: S31. Extract the geometric feature directly from the mask image corresponding to each independent connected component.
[0040] In specific implementations, these geometric features may include, but are not limited to: area, aspect ratio, bounding box fill rate, principal orientation angle calculated based on the covariance matrix, compactness, normalized centroid y-coordinate value, and normalized centroid x-coordinate value. The area is determined by the number of foreground pixels in the mask image. The aspect ratio refers to the ratio of the bounding box height to the bounding box width of the mask image. The compactness is defined as 4πarea / P², where P is the perimeter.
[0041] S32. Scale the mask image corresponding to each independent connected component to a uniform size and then perform L2 normalization to obtain the normalized mask vector features.
[0042] As an example, the mask image corresponding to each independent connected component can be uniformly scaled to a size of 48×48 to obtain a 2304-dimensional vector corresponding to each independent connected component. Then, L2 normalization is performed on the 2304-dimensional vector to obtain the normalized mask vector feature.
[0043] This can be understood as the normalized mask vector feature being the shape contour vector of the corresponding independent connected domain under a uniform size.
[0044] S33. Input the mask image corresponding to each independent connected component into the ResNet-50 model, extract the embedding vector output by the last or reciprocal feature layer of the ResNet-50 model, and perform L2 normalization on the embedding vector to obtain the deep embedding feature.
[0045] It should be noted that this application does not improve the ResNet-50 model; it only utilizes the ResNet-50 model to extract the embedding vector output from the mask image corresponding to each independent connected component. For example, after inputting the mask image corresponding to each independent connected component into the ResNet-50 model, the 2048-dimensional embedding vector output from the last or reciprocal feature layer of the ResNet-50 model is extracted. In other words, this application uses the existing ResNet-50 model.
[0046] This can be understood as the semantic representation of the corresponding independent connected domains extracted by the ResNet-50 model, which can be used to express the high-level shape features of the corresponding independent connected domains and improve the accuracy of complex pattern clustering.
[0047] In this embodiment of the application, by executing step S3, the full-level representation of the layout pattern from the macro scale to the micro semantics is realized, which can improve the recognition accuracy of easily confused patterns while taking into account the interpretability of features.
[0048] S4. Based on the multidimensional connected component features of each of the independent connected components, a combined strategy of cascaded geometric filtering and depth similarity weighted scoring is adopted to calculate the similarity between any two independent connected components.
[0049] In one implementation, step S4 may include the following sub-steps: S41. Determine whether the geometric features of any two independent connected components satisfy the preset cascaded geometric filtering conditions. If the geometric features of any two independent connected components do not satisfy any level of the preset cascaded geometric filtering conditions, execute sub-step S42; or, if the geometric features of any two independent connected components satisfy the preset cascaded geometric filtering conditions, execute sub-step S43.
[0050] As an example, let's denote any two independent connected components as independent connected component a and independent connected component b. The preset cascaded geometric filtering conditions can include the following cascaded seven-level filtering conditions: (1) Area ratio filtering condition: If area_ratio = min(area_a, area_b) / max(area_a,area_b)<0.58, then reject; where area_a is the area of independent connected region a, and area_b is the area of independent connected region b; (2) Area difference filtering condition: If |area_a - area_b| / max(area_a, area_b)>0.35, then reject; (3) Aspect ratio filtering condition: If |aspect_a - aspect_b|>0.45, then reject; where aspect_a is the aspect ratio of independent connected component a, and aspect_b is the aspect ratio of independent connected component b; (4) Fill rate filtering condition: If |fill_a - fill_b|>0.18, then reject; where fill_a is the bounding box fill rate of independent connected component a, and fill_b is the bounding box fill rate of independent connected component b; (5) Orientation difference filtering condition: If orientation_diff>20°, then reject; where orientation_diff refers to the difference between the principal orientation angle calculated by independent connected domain a based on the covariance matrix and the principal orientation angle calculated by independent connected domain b based on the covariance matrix; (6) Centroid distance filtering condition: If centroid_dist>0.08, then reject; where centroid_dist refers to the distance between the centroid coordinates (centroid_x_a, centroid_y_a) of independent connected domain a and the centroid coordinates (centroid_x_b, centroid_y_b) of independent connected domain b.
[0051] (7) Compactness filtering condition: If |compact_a - compact_b|>0.18, then reject; compact_a is the compactness of independent connected component a, and compact_b is the compactness of independent connected component b.
[0052] In this example, if the geometric features of independent connected components a and b do not satisfy any of the filtering conditions in the above seven levels of filtering, it means that independent connected components a and b do not pass the multi-level cascade filtering, and sub-step S42 is executed.
[0053] In this example, if the geometric features of independent connected domain a and independent connected domain b both satisfy the above-mentioned seven-level filtering conditions, it means that independent connected domain a and independent connected domain b have passed through multi-level cascaded filtering, and sub-step S43 is executed.
[0054] In this embodiment of the application, by performing step S42, obviously dissimilar patterns can be excluded first, reducing the misjudgment and computational load of subsequent depth feature comparison.
[0055] S42. Determine that any two independent connected components are not similar, and return that the similarity between any two independent connected components is 0.
[0056] S43. Based on the normalized mask vector features and deep embedding features of any two independent connected components, calculate the mask vector cosine similarity, ResNet embedding cosine similarity, and mask IoU similarity between any two independent connected components.
[0057] As an example, let any two independent connected domains be independent connected domain a and independent connected domain b. The normalized mask vector features and deep embedding features of independent connected domain a are features Ma and Na, respectively. The normalized mask vector features and deep embedding features of independent connected domain b are features Mb and Nb, respectively. Then the mask vector cosine similarity, ResNet embedding cosine similarity and mask IoU similarity between independent connected domain a and independent connected domain b can be calculated using the following formulas (1)-(3).
[0058] (1) In formula (1), It is expressed as the cosine similarity of the mask vectors between independent connected domains a and b.
[0059] (2) In formula (2), It is represented as the ResNet embedding cosine similarity between independent connected components a and b.
[0060] (3) In formula (3), It represents the mask IoU similarity between independent connected domains a and b.
[0061] S44. Compare the cosine similarity of the mask vector with a preset second similarity threshold, the cosine similarity of the ResNet embedding with a preset third similarity threshold, and the IoU similarity of the mask with a preset fourth similarity threshold; if any of the cosine similarity of the mask vector, the cosine similarity of the ResNet embedding, and the IoU similarity of the mask is less than the corresponding similarity threshold, then execute sub-step S45; or, if the cosine similarity of the mask vector, the cosine similarity of the ResNet embedding, and the IoU similarity of the mask are all greater than or equal to the corresponding similarity thresholds, then execute sub-step S46.
[0062] In practice, the second, third, and fourth similarity thresholds can be preset according to actual needs. For example, the second similarity threshold can be set to 0.80, the third similarity threshold can be set to 0.90, and the fourth similarity threshold can be set to 0.82.
[0063] If any of the following conditions are met, then it is determined that any two independent connected components do not belong to the same pattern category, and sub-step S45 is executed: (1) The cosine similarity of the mask vector is less than the second similarity threshold, such as <0.80; (2) The cosine similarity of the ResNet embedding is less than the third similarity threshold, such as <0.90; (3) The mask's IoU similarity is less than the fourth similarity threshold, such as <0.82.
[0064] If all three of the following conditions are met, then it is determined that any two independent connected components may belong to the same pattern category, and sub-step S46 is executed: (1) The cosine similarity of the mask vector is greater than or equal to the second similarity threshold, such as ≥0.80; (2) The cosine similarity of the ResNet embedding is greater than or equal to the third similarity threshold, such as ≥0.90; (3) The mask IoU similarity is greater than or equal to the fourth similarity threshold, such as ≥0.82.
[0065] S45. Determine that any two independent connected components are not similar, and return that the similarity between any two independent connected components is 0.
[0066] S46. Calculate the weighted sum of the cosine similarity of the mask vector, the cosine similarity of the ResNet embedding, and the IoU similarity of the mask, and use the weighted sum as the similarity between any two independent connected components.
[0067] As an example, the weighted sum of the mask vector cosine similarity, the ResNet embedding cosine similarity, and the mask IoU similarity can be calculated using the following formula (4).
[0068] (4) In formula (4), It is a weighted sum of the cosine similarity of the mask vector, the cosine similarity of the ResNet embedding, and the IoU similarity of the mask.
[0069] In this example, ResNet embedding cosine similarity can be given the main weight, while combining mask vectors and IoU constraints, so as to balance the complex shape representation and geometric consistency of the layout pattern.
[0070] In this embodiment, by executing step S4, a balance between efficiency and accuracy in connected component similarity comparison is achieved: before the final similarity score, multi-level cascaded filtering is performed using geometric features such as area, aspect ratio, bounding box fill rate, orientation, centroid, and compactness to avoid misjudgment caused by relying on a single similarity index, thereby reducing the risk of subsequent misclustering. At the same time, the computational cost of deep features is reduced by 1 to 2 orders of magnitude. The deep similarity weighted scoring mechanism integrates multi-dimensional information of geometric scale, mask image, and deep semantics, which can improve the ability to distinguish easily confused patterns and more accurately identify patterns in different positions but with the same or similar shapes in the pattern.
[0071] S5. Perform disjoint-set shape clustering on any two independent connected components whose similarity is greater than or equal to the preset first similarity threshold to obtain multi-class clustering patterns.
[0072] In one implementation, step S5 may include the following sub-steps: S51. Initialize each independent connected component as an independent set.
[0073] This can be understood as placing all the tiles in a single independent connected component into one set, and placing tiles from different independent connected components into different sets.
[0074] S52. Traverse all independent connected components. For any two independent connected components with a similarity greater than or equal to the first similarity threshold, perform a union operation using a disjoint-set data structure to obtain the disjoint-set data structure.
[0075] As an example, the first similarity threshold can be preset according to actual needs, and this application embodiment does not limit this. For example, the first similarity threshold can be set to 0.84.
[0076] In practice, if the similarity between any two independent connected components is greater than or equal to the first similarity threshold, then the two connected components are determined to be similar patterns. If the similarity between any two independent connected components is less than the first similarity threshold, then the two connected components are determined to be dissimilar.
[0077] In practice, when it is determined that any two connected components belong to similar patterns, a union operation can be performed using a disjoint-set data structure. This involves merging the independent sets containing the two connected components, and then using the root node as the group identifier. Independent connected components with the same root node are grouped into the same group.
[0078] S53. Define the independent connected components corresponding to each root node in the disjoint-set data structure as a clustering pattern to obtain the multi-class clustering pattern.
[0079] In practice, each root node in the disjoint-set data structure represents a connected component or cluster. In this case, the independent connected domains under each root node can be defined as the same type of clustering pattern to obtain the multi-clustering pattern.
[0080] In one applicable scenario provided by the embodiments of this application, multiple clustering patterns can also be arranged in descending order according to the number of independent connected components they contain. This makes it easier for users to quickly identify which abnormal clustering patterns require special attention.
[0081] In this embodiment of the application, by executing step S5, the disjoint-set data structure can be used to aggregate connected components that meet the similarity conditions. There is no need to pre-specify the number of categories. The clustering analysis of millions of connected components across the entire chip can be completed with a near-linear time complexity (i.e., O(n²), where n is the number of connected components). At the same time, the similarity transitivity naturally supported by the disjoint-set data structure ensures the topological consistency of the clustering results. The merging mechanism, which is decoupled from spatial location, realizes the unified induction of the same patterns across regions and layers. This makes the original connected components no longer just independent graphics in space, but are further merged into multiple pattern categories with the same or similar shapes.
[0082] S6. Perform backbone analysis and further decomposition on each cluster pattern in the multi-cluster pattern to obtain multiple blocks corresponding to each cluster pattern.
[0083] In one implementation, step S6 may include the following sub-steps: S61. Perform skeleton extraction on the representative pattern or all patterns in each cluster pattern to obtain multiple backbone structural features.
[0084] In practice, if the candidate patterns corresponding to each independent connected component in each clustering pattern are highly consistent and have stable shapes, then a representative pattern can be selected for skeleton extraction. The representative pattern can be selected according to actual needs, such as randomly or in other ways; this embodiment does not limit this selection.
[0085] In practice, if the candidate patterns corresponding to each independent connected component in each clustering pattern exhibit certain deformations or significant local differences, then skeleton extraction can be performed on all patterns. It should be understood that "all patterns" here includes the candidate patterns corresponding to each independent connected component in each clustering pattern.
[0086] In specific implementation, these multiple skeleton structural features may include, but are not limited to: skeleton centerline, skeleton endpoints, skeleton bifurcation points, local width variations, main direction, and elongation. Specifically, the skeleton centerline can be obtained using an image thinning algorithm; skeleton endpoints can be determined by having only one adjacent skeleton point in an 8-neighborhood; skeleton bifurcation points can be determined by having more than two adjacent skeleton points in an 8-neighborhood; local width can be calculated by transforming the distance from a skeleton point to its boundary; the main direction can be obtained through PCA fitting; and elongation can be obtained from the aspect ratio.
[0087] S62. Based on multiple backbone structural features, determine multiple splitting positions for each clustering pattern.
[0088] In practice, the multiple splitting locations, ordered from highest to lowest priority, may include, but are not limited to: the vicinity of the skeleton bifurcation point, the extension area of the skeleton endpoints, the location of local width abrupt changes, the middle position of the slender structure, and the structural connection or transition area.
[0089] S63. Based on multiple splitting positions, split each cluster pattern to obtain multiple patches.
[0090] In practice, since the structural connections are near the bifurcation point of the skeleton, the area near the bifurcation point can be selected for splitting first; secondly, the extension area of the skeleton endpoint or the location of a sudden change in local width can be selected for splitting to cut off obvious subordinate structures; finally, the middle position of the slender structure, or the structural connection or transition area can be selected for splitting to maintain the semantic integrity of each sub-block after splitting.
[0091] In this embodiment of the application, by prioritizing the multiple splitting positions of each cluster pattern, the cluster pattern can be split first from the semantically most obvious connection point to reduce erroneous cutting; then the edge attachments or width abrupt regions of each cluster pattern are processed to reduce damage to the main structure; finally, the slender structure of each cluster pattern is truncated in the middle, or split in the structural connection or transition region, which can take into account the splitting accuracy, structural integrity and consistency.
[0092] It should be understood that in step S6, the embodiments of this application adopt a consistent overall process, with different clustering patterns sharing the same framework, and adjusting the priority and threshold parameters of the splitting position according to the skeleton shape, number of branches, elongation and local width changes, so as to achieve category differentiation processing.
[0093] In this embodiment of the application, by executing step S6, the overall pattern-level clustering result can be decoupled into multiple tiles with independent semantics, breaking through the granularity limitation of overall clustering, effectively correcting over-merging error, and improving category purity.
[0094] S7. Determine if there are any target tiles among the multiple tiles that do not meet the area constraints. If there are target tiles among the multiple tiles that do not meet the area constraints, proceed to step S8; otherwise, use the multiple tiles as the final tiles and proceed to S12.
[0095] In one implementation, the area constraint is: the area of a tile is greater than or equal to a preset area threshold. That is, an area threshold can be set in advance. When the area of any tile among multiple tiles is less than the area threshold, it is determined that the tile does not meet the area constraint and is identified as the target tile.
[0096] In practice, the area threshold can be set according to actual needs, and this application embodiment does not limit it.
[0097] S8. Merge the target tile with its nearest smaller tile to obtain a merged tile.
[0098] In one implementation, the small tile is selected from the surrounding tiles of the target tile based on a comprehensive evaluation criterion, using the minimum Euclidean distance, the longest shared boundary, the most consistent principal direction, and the most regular shape after merging. It should be understood that the surrounding tiles of the target tile may include tiles split from the same clustering pattern as the target tile, and may also include tiles split from other clustering patterns. That is, Euclidean distance, shared boundary, principal direction difference, and regularity of the merged shape can be used as comprehensive evaluation criteria.
[0099] In practice, a comprehensive cost function as shown in formula (5) can be constructed based on Euclidean distance, shared boundary, main direction difference, and the regularity of the merged shape. Then, according to the minimum Euclidean distance, the longest shared boundary, the most consistent main direction, and the most regular shape after merging, the surrounding blocks of the target block are substituted into formula (5) for calculation, and the block with the minimum comprehensive cost score is selected as the small block.
[0100] cost=w1×distance-w2×shared_boundary+w3×direction_diff + w4×shape_penalty (5) In formula (5), cost is the overall cost score; w1, w2, w3, and w4 are weighting coefficients, which can be determined empirically; distance is the Euclidean distance, calculated from the centroid distance between two tiles; shared_boundary is the shared boundary, determined by statistically analyzing the contact boundary length; direction_diff is the main directional difference, which can be represented by the difference in direction angles; and shape_penalty is the regularity of the merged shape, which can be represented by the perimeter-to-area ratio, convex hull degree, or compactness variation. That is, in formula (5), the distance and shape terms play the main constraint role, while the shared boundary and direction terms are used for refinement selection.
[0101] In this embodiment of the application, after backbone analysis and further segmentation, for blocks with an area smaller than a preset area threshold, they are not directly deleted, but are merged with the nearest smaller block.
[0102] In this embodiment of the application, by executing step S8, the small area of the tile can be merged with the nearest small tile, thereby avoiding fragmentation caused by excessive segmentation, maintaining the integrity of the pattern structure, reducing the output of meaningless small tiles, and facilitating subsequent clustering, feature statistics and layout reconstruction.
[0103] S9. Determine whether the merged block does not meet the dimensional constraints. If the merged block does not meet the dimensional constraints, proceed to step S10; otherwise, treat the merged block as the final block and proceed to step S12.
[0104] In one implementation, the dimensional constraint may include any of the following constraints: The aspect ratio is less than or equal to the preset aspect ratio threshold (Rmax). The maximum side length is less than or equal to the preset side length threshold (Lmax). The projection length in the main direction is less than or equal to a preset length threshold. The size of the circumscribed rectangle is within the preset size range.
[0105] The preset aspect ratio threshold, preset side length threshold, preset length threshold, and preset size range can be set according to actual needs, and this application embodiment does not limit them.
[0106] In practice, if the merged block does not meet the size constraints, it indicates that the size of the merged block is abnormally long or wide, requiring further processing. In this case, step S10 can be executed. If the merged block meets the size constraints, it indicates that the size of the merged block is not abnormally long or wide, and step S12 can be executed.
[0107] S10. Cut the merged block in the middle to obtain two sub-blocks.
[0108] In one implementation, the center of the merged block can be chosen as the geometric center, and the cutting direction can be determined based on the main direction or the secondary direction to make the two sub-blocks obtained after cutting more balanced in size. For example, when the slender direction of the merged block is obvious and the main direction is stable, the cutting direction can be determined along the main direction; when the merged block is approximately horizontally and vertically symmetrical, the main direction is not stable enough, or cutting the main axis would cause imbalance on both sides, the secondary direction can be used for cutting.
[0109] In this embodiment of the application, by executing step S10, for a merged block with a long strip or wide strip structure, the middle part is cut off and divided along the midpoint of the length or width, so that the merged block can be divided into two sub-blocks of similar size, avoiding one side being too large and the other side being too small.
[0110] S11. Treat these two sub-blocks as multiple blocks, return to step S7, and continue until the final sub-block satisfies the area and size constraints. Treat the final sub-block as the final block and execute step S12.
[0111] That is, for the two sub-blocks obtained after truncation, the area and size checks can be performed again: If the area is too small, perform nearest neighbor merging again; If it is still too long or too wide, continue to cut it in the middle; If all constraints are satisfied, it will be output as the final tile.
[0112] S12, Output the layout split results.
[0113] In one implementation, the layout splitting result may include, but is not limited to: All final tiles (can be output as a set of final tiles); The cluster category to which each final tile belongs; The geometric features of each final tile; The original coordinate mapping relationship of each final tile; Information on the source of each final tile's splitting.
[0114] In this implementation, the map splitting result can retain the tiles, categories, geometric features, coordinate mappings and source information, which can be used for map reconstruction, result traceability and engineering implementation.
[0115] In this embodiment, by executing steps S7-S12, the size of the blocks can be normalized through an iterative optimization mechanism of proximity merging and mid-section truncation. Firstly, by eliminating small fragments and excessively long structures, it can be ensured that all final blocks meet area and size constraints. Secondly, the merging and mid-section truncation strategies based on the proximity principle can maximize the preservation of the topological continuity and structural integrity of the layout pattern, avoiding the miscutting of key features. Thirdly, the iterative closed-loop processing ensures the global compliance of the output results, reducing data redundancy while making the splitting results naturally adapt to the design rule constraints of advanced processes, thus improving the manufacturability analysis efficiency of the layout.
[0116] In summary, the GDS map splitting method provided in this application, after splitting the target map image into independent connected components, comprehensively utilizes multi-dimensional connected component features (such as geometric features, normalized mask features, and deep embedding features) to calculate the similarity between independent connected components, and then introduces disjoint-set data structure shape clustering based on the similarity. This can more accurately identify patterns in different positions but with the same or similar shapes in the map, thereby improving the accuracy of similar pattern recognition. Furthermore, by introducing a geometric cascade filtering mechanism when calculating the similarity between independent connected components, the method filters based on geometric conditions (such as area, aspect ratio, fill rate, orientation, centroid, and compactness) before the final similarity score, avoiding misjudgment caused by relying solely on a single similarity index. This method can reduce the risk of mis-clustering; and by performing backbone analysis and further splitting after shape clustering, similar patterns can be split using consistent or nearly consistent splitting rules, reducing the possibility of the same pattern being split into different results at different locations, thereby improving the consistency of splitting results; and by merging the small-area patches generated after backbone splitting with the nearest small patch instead of deleting them directly, this process reduces the number of fragments and avoids the loss of layout information, thereby reducing invalid fragments and preserving graphic information; and by truncating the merged patches that do not meet the size constraints from the middle, the size and aspect ratio of the final output patch can be more balanced, making it more suitable for subsequent defect detection, pattern recognition, lithography simulation, or machine learning processing. Therefore, the GDS layout splitting method provided in this application can overcome the problems of graphic structure destruction, ineffective clustering of similar patterns, large computational redundancy, and inconsistent splitting results in the prior art, and can achieve accurate extraction of connected patterns, efficient clustering of similar patterns, and fine-grained patch output with balanced size.
[0117] In practical applications, the GDS layout splitting method provided in this application forms a complete processing flow of "connected component detection - connected component feature extraction - shape similarity calculation - shape clustering - backbone splitting - small block merging - size truncation - splitting result output". Moreover, various thresholds, weights and judgment rules can be configured according to different layout layers, process nodes or application scenarios, and have strong adaptability.
[0118] Figure 2 A structural block diagram of a GDS layout splitting apparatus according to an embodiment of this application is shown. Figure 2 As shown, the GDS layout splitting device may include: The preprocessing unit 10 is used to preprocess and binarize the target layout image to be split to obtain the processed target layout image, wherein the target layout image is a GDS layout or a chip layout image converted from a GDS layout. The first extraction unit 20 is used to extract all independent connected components in the processed target map image using a connected component detection algorithm, and generate a mask image corresponding to each independent connected component. The second extraction unit 30 is used to extract multidimensional connected component features from the mask image corresponding to each independent connected component. The computing unit 40 is used to calculate the similarity between any two independent connected components based on the multidimensional connected component features of each of the independent connected components, using a combination strategy of cascaded geometric filtering and depth similarity weighted scoring. Clustering unit 50 is used to perform disjoint-setup shape clustering on any two independent connected components with a similarity greater than or equal to a preset first similarity threshold to obtain multi-class clustering patterns; The splitting unit 60 is used to perform backbone analysis and further splitting of each cluster pattern in the multi-cluster pattern to obtain multiple patches corresponding to each cluster pattern. The optimization unit 70 is used to merge the target tile with its nearest smaller tile when there is a target tile among multiple tiles that does not meet the area constraint. If the merged tile does not meet the size constraint, the merged tile is truncated from the middle, and the area and size iterative optimization is performed on the two sub-tiles until the final sub-tile meets the area and size constraints, and the layout splitting result is output.
[0119] The functions of each unit in the GDS layout splitting device of this application embodiment can be found in the corresponding description in the above method, and will not be repeated here.
[0120] Figure 3 A structural block diagram of a computer device according to an embodiment of this application is shown. Figure 3As shown, the computer device includes a memory 100 and a processor 200. The memory 100 stores instructions, which are loaded and executed by the processor 200 to implement the GDS layout splitting method in the above embodiment. The number of memories 100 and processors 200 can be one or more.
[0121] The computer device also includes: The communication interface 300 is used to communicate with external devices and perform data exchange and transmission.
[0122] If the memory 100, processor 200, and communication interface 300 are implemented independently, they can be interconnected via a bus to communicate with each other. This bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 3 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0123] Optionally, in a specific implementation, if the memory 100, processor 200, and communication interface 300 are integrated on a single chip, then the memory 100, processor 200, and communication interface 300 can communicate with each other through an internal interface.
[0124] This application provides a computer-readable storage medium storing a computer program. When the computer program is run on a computer, it implements the method provided in this application.
[0125] This application also provides a chip, including a processor, for calling and executing instructions stored in a memory, causing a communication device with the chip installed to execute the method provided in this application.
[0126] This application also provides a chip, including: an input interface, an output interface, a processor, and a memory. The input interface, output interface, processor, and memory are connected through an internal connection path. The processor is used to execute code in the memory. When the code is executed, the processor is used to execute the method provided in this application.
[0127] It should be understood that the aforementioned processor can be a Central Processing Unit (CPU), or other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. General-purpose processors can be microprocessors or any conventional processor. It is worth noting that the processor can be a processor supporting Advanced Reduced Instruction Set Machines (ARM) architecture.
[0128] Further, optionally, the aforementioned memory may include read-only memory and random access memory, and may also include non-volatile random access memory. The memory may be volatile or non-volatile, or may include both. Non-volatile memory may include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory may include random access memory (RAM), which serves as an external cache. Many forms of RAM are available by way of example, but not limitation. Examples include static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0129] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another.
[0130] In the description of this specification, references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of those different embodiments or examples.
[0131] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "a plurality of" means two or more, unless otherwise explicitly specified.
[0132] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process. Furthermore, the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functionality involved.
[0133] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus or device (such as a computer-based system, a processor-included system or other system that can fetch and execute instructions from, an instruction execution system, apparatus or device).
[0134] It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. All or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware, the program being stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiments.
[0135] Furthermore, the functional units in the various embodiments of this application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. This storage medium can be a read-only memory, a disk, or an optical disk, etc.
[0136] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various variations or substitutions within the technical scope disclosed in this application, and these should all be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for partitioning a GDS (Global Distribution System) map, characterized in that, include: The target layout image to be split is preprocessed and binarized to obtain the processed target layout image, wherein the target layout image is a GDS layout or a chip layout image converted from a GDS layout; A connected component detection algorithm is used to extract all independent connected components in the processed target map image, and a mask image corresponding to each independent connected component is generated. Extract multidimensional connected component features from the mask image corresponding to each independent connected component; Based on the multidimensional connected component features of each of the independent connected components, a combined strategy of cascaded geometric filtering and depth similarity weighted scoring is adopted to calculate the similarity between any two independent connected components. Perform disjoint-set shape clustering on any two independent connected components with a similarity greater than or equal to a preset first similarity threshold to obtain multi-class clustering patterns; Each cluster pattern in the multi-cluster pattern is subjected to backbone analysis and further decomposition to obtain multiple patches corresponding to each cluster pattern; When there is a target tile among the multiple tiles that does not meet the area constraint, the target tile is merged with its nearest smaller tile. If the merged tile does not meet the size constraint, the merged tile is truncated from the middle, and the area and size are iteratively optimized for the two resulting sub-tiles until the final sub-tiles meet the area and size constraints. The layout splitting result is then output. The multidimensional connected component features include geometric features, normalized mask vector features, and deep embedding features. Extracting multidimensional connected component features from the mask image corresponding to each independent connected component includes: directly extracting the geometric features from the mask image corresponding to each independent connected component; scaling the mask image corresponding to each independent connected component to a uniform size and then performing L2 normalization to obtain the normalized mask vector features; inputting the mask image corresponding to each independent connected component into a ResNet-50 model, extracting the embedding vector output from the last layer of the ResNet-50 model, and performing L2 normalization on the embedding vector to obtain the deep embedding features. Specifically, based on the multidimensional connected component features of each of the independent connected components, a combined strategy of cascaded geometric filtering and depth similarity weighted scoring is adopted to calculate the similarity between any two independent connected components. This includes: determining whether the geometric features of any two independent connected components satisfy a preset cascaded geometric filtering condition; if the geometric features of any two independent connected components do not satisfy any level of the preset cascaded geometric filtering condition, then the two independent connected components are determined to be dissimilar, and the similarity between the two independent connected components is returned as 0; if the geometric features of any two independent connected components satisfy the preset cascaded geometric filtering condition, then based on the normalized mask vector features and deep embedding features of the two independent connected components, the mask vector cosine similarity, ResNet embedding cosine similarity, and mask Io between the two independent connected components are calculated. The similarity is calculated as follows: The mask vector cosine similarity is compared with a preset second similarity threshold, the ResNet embedding cosine similarity is compared with a preset third similarity threshold, and the mask IoU similarity is compared with a preset fourth similarity threshold. If any one of the mask vector cosine similarity, the ResNet embedding cosine similarity, and the mask IoU similarity is less than the corresponding similarity threshold, then the two independent connected components are determined to be dissimilar, and the similarity between the two independent connected components is returned as 0. If the mask vector cosine similarity, the ResNet embedding cosine similarity, and the mask IoU similarity are all greater than or equal to the corresponding similarity threshold, then a weighted sum of the mask vector cosine similarity, the ResNet embedding cosine similarity, and the mask IoU similarity is calculated, and the weighted sum is used as the similarity between the two independent connected components.
2. The method according to claim 1, characterized in that, The process involves extracting all independent connected components from the processed target map image using a connected component detection algorithm, and generating a mask image corresponding to each independent connected component, including: The processed target map image is marked by a connected component detection algorithm in an 8-neighbor traversal manner, and mutually independent connected regions are identified and extracted to obtain all independent connected components. Each independent connected component corresponds to a candidate pattern in the processed target map image. For each candidate pattern corresponding to an independent connected component, a binary mask corresponding to its spatial range is generated to obtain the mask image corresponding to each independent connected component.
3. The method according to claim 1, characterized in that, Perform disjoint-set data structure (DFS) shape clustering on any two independent connected components with a similarity greater than or equal to a preset first similarity threshold to obtain multi-class clustering patterns, including: Initialize each independent connected component as an independent set; Traverse all independent connected components, and perform a union operation on any two independent connected components with a similarity greater than or equal to the first similarity threshold using a disjoint-set data structure to obtain a disjoint-set data structure; The independent connected components corresponding to each root node in the disjoint-set data structure are defined as a clustering pattern to obtain the multi-clustering pattern.
4. The method according to claim 1, characterized in that, For each of the multiple clustering patterns, a backbone analysis and further decomposition are performed to obtain multiple patches corresponding to each clustering pattern, including: Skeleton extraction is performed on representative patterns or all patterns in each cluster pattern to obtain multiple backbone structural features; Based on the aforementioned multiple backbone structural features, multiple splitting positions for each clustering pattern are determined; Each cluster pattern is split based on the multiple splitting positions to obtain the multiple patches.
5. The method according to any one of claims 1-4, characterized in that, The area constraint is: the area of the tile is greater than or equal to a preset area threshold. The small tiles are selected from the surrounding tiles of the target tile based on comprehensive indicators such as minimum Euclidean distance, longest shared boundary, most consistent main direction, and most regular shape after merging. The dimensional constraints satisfy any of the following: the aspect ratio is less than or equal to a preset aspect ratio threshold; the maximum side length is less than or equal to a preset side length threshold; the main direction projection length is less than or equal to a preset length threshold. The dimensions of the circumscribed rectangle are within the preset size range; The map splitting results include: all final map tiles, as well as the cluster category, geometric features, original coordinate mapping relationship, and splitting source information of each final map tile.
6. A GDS layout splitting device, characterized in that, include: The preprocessing unit is used to preprocess and binarize the target layout image to be split to obtain the processed target layout image, wherein the target layout image is a GDS layout or a chip layout image converted from a GDS layout. The first extraction unit is used to extract all independent connected components in the processed target map image using a connected component detection algorithm, and generate a mask image corresponding to each independent connected component. The second extraction unit is used to extract multidimensional connected component features from the mask image corresponding to each independent connected component; The calculation unit is used to calculate the similarity between any two independent connected components based on the multidimensional connected component features of each of the independent connected components, using a combination strategy of cascaded geometric filtering and depth similarity weighted scoring. Clustering unit, used to perform disjoint-setup shape clustering on any two independent connected components with a similarity greater than or equal to a preset first similarity threshold, to obtain multi-class clustering patterns; The splitting unit is used to perform backbone analysis and further splitting on each cluster pattern in the multi-cluster pattern to obtain multiple blocks corresponding to each cluster pattern; The optimization unit is used to merge the target tile with its nearest smaller tile when there is a target tile that does not meet the area constraint among the multiple tiles. If the merged tile does not meet the size constraint, the merged tile is truncated from the middle, and the area and size iterative optimization is performed on the two sub-tiles until the final sub-tile meets the area constraint and the size constraint, and the layout splitting result is output. The multidimensional connected component features include geometric features, normalized mask vector features, and deep embedding features. When the second extraction unit extracts multidimensional connected component features from the mask image corresponding to each independent connected component, it specifically performs the following steps: directly extracting the geometric features from the mask image corresponding to each independent connected component; scaling the mask image corresponding to each independent connected component to a uniform size and then performing L2 normalization to obtain the normalized mask vector features; inputting the mask image corresponding to each independent connected component into the ResNet-50 model, extracting the embedding vector output from the last layer of the ResNet-50 model, and performing L2 normalization on the embedding vector to obtain the deep embedding features. Specifically, when the computing unit calculates the similarity between any two independent connected components based on the multidimensional connected component features of each of the independent connected components, using a combination strategy of cascaded geometric filtering and depth similarity weighted scoring, it is used to: determine whether the geometric features of any two independent connected components satisfy preset cascaded geometric filtering conditions; if the geometric features of any two independent connected components do not satisfy any level of the preset cascaded geometric filtering conditions, then determine that the two independent connected components are not similar and return a similarity of 0 between the two independent connected components; if the geometric features of any two independent connected components satisfy the preset cascaded geometric filtering conditions, then calculate the mask vector cosine similarity and ResNet embedding cosine similarity between the two independent connected components based on the normalized mask vector features and deep embedding features of the two independent connected components. The similarity between the mask vector cosine similarity and the mask IoU is calculated. The mask vector cosine similarity is compared with a preset second similarity threshold, the ResNet embedding cosine similarity is compared with a preset third similarity threshold, and the mask IoU similarity is compared with a preset fourth similarity threshold. If any one of these similarities is less than the corresponding similarity threshold, then the two independent connected components are determined to be dissimilar, and the similarity between the two independent connected components is returned as 0. If all three similarities are greater than or equal to the corresponding similarity thresholds, then a weighted sum of these three similarities is calculated, and this weighted sum is used as the similarity between the two independent connected components.
7. A computer device, characterized in that, include: A memory and a processor, wherein the memory stores instructions which are loaded and executed by the processor to implement the method as described in any one of claims 1-5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when run on a computer, implements the method as described in any one of claims 1-5.
Citation Information
Patent Citations
Layout splitting method, computer equipment, medium and program product
CN118778349A
Layout classification method, electronic equipment and computer readable storage medium
CN120125864A