Layout fuzzy matching method and device based on Hausdorff distance, medium, program product and terminal

Through the layout fuzzy matching method based on Housdorf distance, the layout consistency is calculated by using preprocessing and two-dimensional query tree, the problems of long computing time and low efficiency in the existing technology are solved, and efficient layout matching is achieved.

CN120411567AActive Publication Date: 2025-08-01HUAXINCHENG (HANGZHOU) TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202510898090.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-01
Publication Date
2025-08-01
Estimated Expiration
2045-07-01

AI Technical Summary

Technical Problem

The existing fuzzy matching method has a long calculation time, low efficiency, and poor process adaptability when processing large-scale layouts, which affects the progress of chip design verification.

Method used

The layout fuzzy matching method based on the Hausdorf distance is adopted. By obtaining the layout to be matched and pre-processing, one-way and two-way Hausdorf distances are calculated, the calculation efficiency is improved using two-dimensional query trees and rectangular boxes, and the layout consistency is judged by preset thresholds.

Benefits of technology

It significantly improves the efficiency and accuracy of fuzzy matching of layouts, solves the problem of long calculation time during large-scale layout matches, and improves the efficiency of chip design verification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120411567A_ABST
    Figure CN120411567A_ABST
Patent Text Reader

Abstract

The invention provides a Hausdorff distance-based layout fuzzy matching method and device, a medium, a program product and a terminal, and the method comprises the steps: obtaining a first layout and a second layout which are to be subjected to fuzzy matching, and carrying out the preprocessing operation of coordinate point sets in the layouts. And executing a Hausdorff distance calculation operation on the first coordinate point set and the second coordinate point set which are subjected to the preprocessing operation, and obtaining a maximum Hausdorff distance based on a calculation result. And judging whether the first layout is consistent with the second layout or not by judging whether the maximum Hausdorff distance is smaller than or equal to a preset threshold value or not. The problem that an existing layout fuzzy matching method is long in operation time and low in efficiency when large-scale layouts are processed is solved. And the fuzzy matching efficiency and accuracy of the layout are remarkably improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of chip design, and particularly to a layout fuzzy matching method, device, medium, program product, and terminal based on the Hausdorff distance. Background Art

[0002] Layout fuzzy matching is mainly used to detect the similarity between different layouts. Against the backdrop of the continuously increasing requirements for chip precision, the application of fuzzy matching in design verification has become increasingly important. Currently, common fuzzy matching methods include geometric feature comparison, template comparison, and feature point description. When these methods are applied in practice, they generally suffer from the problems of being sensitive to process variations and having poor adaptability to rotation and scaling. In particular, existing layout fuzzy matching methods have long operation times and low efficiency when dealing with large-scale layouts, seriously affecting the progress of chip design verification. These problems are even more obvious under advanced process conditions, restricting the practical application effect of fuzzy matching technology. Summary of the Invention

[0003] In view of the above-mentioned disadvantages of the prior art, the purpose of this application is to provide a layout fuzzy matching method, device, medium, program product, and terminal based on the Hausdorff distance, which is used to solve the problems of low operation efficiency and poor process adaptability existing in existing fuzzy matching technologies.

[0004] To achieve the above object and other related objects, the first aspect of this application provides a layout fuzzy matching method based on the Hausdorff distance, including: obtaining a first layout and a second layout to perform fuzzy matching; respectively performing preprocessing operations on the first coordinate point set and the second coordinate point set; respectively performing Hausdorff distance calculation operations on the preprocessed first coordinate point set and second coordinate point set, and obtaining the maximum Hausdorff distance based on the calculation results; determining whether the maximum Hausdorff distance is less than or equal to a preset threshold. If it is less than or equal to the preset threshold, it is determined that the first layout and the second layout are Figure 1 consistent; otherwise, it is determined that the first layout and the second layout are inconsistent.

[0005] In some embodiments of the first aspect of this application, the process of respectively performing Hausdorff distance calculation operations on the preprocessed first coordinate point set and second coordinate point set, and obtaining the maximum Hausdorff distance based on the calculation results includes: performing a one-way Hausdorff distance calculation operation on the first coordinate point set pointing to the second coordinate point set to obtain a first Hausdorff distance; performing a one-way Hausdorff distance calculation operation on the second coordinate point set pointing to the second coordinate point set to obtain a second Hausdorff distance; performing a two-way Hausdorff distance calculation operation on the first Hausdorff distance and the second Hausdorff distance to obtain the maximum Hausdorff distance.

[0006] In some embodiments of the first aspect of the present application, the process of performing the one-way Hausdorff distance calculation operation on the source point set pointing to the target point set includes: respectively constructing a two-dimensional query tree of the source point set and a two-dimensional query tree of the target point set; performing the following operations on each source point in the source point set: constructing a corresponding rectangular box centered on the current source point; applying the coordinates of the current rectangular box to the two-dimensional query tree of the target point set to obtain all target points falling within the box; calculating the distance from the current source point to each filtered target point, and extracting the shortest distance as the one-way Hausdorff distance calculation result of the source point.

[0007] In some embodiments of the first aspect of the present application, the process of constructing a corresponding rectangular box centered on the current source point includes: constructing a rectangular box centered on the current source point and extending a distance of n times the preset threshold in each of the four directions of up, down, left, and right.

[0008] In some embodiments of the first aspect of the present application, the first layout and the second layout respectively include one or more layout patterns; the process of respectively performing preprocessing operations on the first coordinate point set and the second coordinate point set includes: for the coordinate points of each layout pattern in the first layout, subtracting the vertex coordinates in the first layout from the current coordinate point to generate a first coordinate point set; and / or, for the coordinate points of each layout pattern in the second layout, subtracting the vertex coordinates in the second layout from the current coordinate point to generate a second coordinate point set.

[0009] In some embodiments of the first aspect of the present application, the vertex coordinates include any one of the following coordinates of the bounding box of the first layout: the lower left corner point coordinates, the lower right corner point coordinates, the upper left corner point coordinates, and the upper right corner point coordinates.

[0010] To achieve the above object and other related objects, the second aspect of the present application provides a layout fuzzy matching device based on the Hausdorff distance, including: a data acquisition module: used to acquire the first layout and the second layout to be subjected to fuzzy matching; respectively perform preprocessing operations on the first coordinate point set and the second coordinate point set; a distance calculation module: used to respectively perform the Hausdorff distance calculation operation on the first coordinate point set and the second coordinate point set after the preprocessing operation, and obtain the maximum Hausdorff distance based on the calculation result; a fuzzy matching module: used to judge whether the maximum Hausdorff distance is less than or equal to a preset threshold, and if it is less than or equal to the preset threshold, then determine that the first layout and the second layout Figure 1 are consistent; otherwise, determine that the first layout and the second layout are inconsistent.

[0011] To achieve the above object and other related objects, a third aspect of the present application provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the layout fuzzy matching method based on the Hausdorff distance is implemented.

[0012] To achieve the above object and other related objects, a fourth aspect of the present application provides a computer program product, which includes computer program code, and when the computer program code runs on a computer, the computer is enabled to implement the layout fuzzy matching method based on the Hausdorff distance.

[0013] To achieve the above object and other related objects, a fifth aspect of the present application provides an electronic terminal, including a memory, a processor, and a computer program stored on the memory; the processor executes the computer program to implement the layout fuzzy matching method based on the Hausdorff distance.

[0014] As described above, the layout fuzzy matching method, device, medium, program product, and terminal based on the Hausdorff distance of the present application have the following beneficial effects: By obtaining a first layout and a second layout to be subjected to fuzzy matching, preprocessing operations are respectively performed on the coordinate point sets in the layouts. A Hausdorff distance calculation operation is performed on the preprocessed first coordinate point set and second coordinate point set, and the maximum Hausdorff distance is obtained based on the calculation result. By determining whether the maximum Hausdorff distance is less than or equal to a preset threshold, it is determined whether the first layout and the second layout are consistent. It solves the problems of long operation time and low efficiency of the existing layout fuzzy matching method when dealing with large-scale layouts. It significantly improves the efficiency and accuracy of layout fuzzy matching. Description of the Drawings

[0015] Figure 1 Shows a schematic flowchart of an embodiment of the layout fuzzy matching method based on the Hausdorff distance of the present application.

[0016] Figure 2 Shows a schematic flowchart of another embodiment of the layout fuzzy matching method based on the Hausdorff distance of the present application.

[0017] Figure 3 Shows a schematic diagram of a layout in an embodiment of the layout fuzzy matching method based on the Hausdorff distance of the present application.

[0018] Figure 4a Shows a schematic diagram of a point set in an embodiment of the layout fuzzy matching method based on the Hausdorff distance of the present application.

[0019] Figure 4b Shows a schematic diagram of the distance calculation process in an embodiment of the layout fuzzy matching method based on the Hausdorff distance of the present application.

[0020] Figure 4c Shows the schematic diagram of the shortest distance in an embodiment of the layout fuzzy matching method based on the Hausdorff distance of the present application.

[0021] Figure 4d Shows the schematic diagram of the distance calculation process in an embodiment of the layout fuzzy matching method based on the Hausdorff distance of the present application.

[0022] Figure 4e Shows the schematic diagram of the shortest distance in an embodiment of the layout fuzzy matching method based on the Hausdorff distance of the present application.

[0023] Figure 4f Shows the schematic diagram of the maximum distance comparison in an embodiment of the layout fuzzy matching method based on the Hausdorff distance of the present application.

[0024] Figure 4g Shows the schematic diagram of the maximum distance in an embodiment of the layout fuzzy matching method based on the Hausdorff distance of the present application.

[0025] Figure 4h Shows the schematic diagram of the distance calculation process in an embodiment of the layout fuzzy matching method based on the Hausdorff distance of the present application.

[0026] Figure 5 Shows the schematic structural diagram of an embodiment of the layout fuzzy matching device based on the Hausdorff distance of the present application.

[0027] Figure 6 Shows the schematic structural diagram of an embodiment of the layout fuzzy matching terminal based on the Hausdorff distance of the present application. Detailed implementation manners

[0028] The following uses specific specific examples to illustrate the implementation manners of the present application. Those skilled in the art can easily understand other advantages and effects of the present application from the content disclosed in this specification. The present application can also be implemented or applied through other different specific implementation manners. Various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present application. It should be noted that, without conflict, the following embodiments and the features in the embodiments can be combined with each other.

[0029] Before further elaborating on the present invention, the nouns and terms involved in the embodiments of the present invention are described. The nouns and terms involved in the embodiments of the present invention are applicable to the following explanations:

[0030] <1>Layout Fuzzy Matching: Layout fuzzy matching refers to a technology in the field of integrated circuit design that identifies the similarities or differences between different versions of layout files by comparing them. Different from exact matching, fuzzy matching allows a certain degree of deformation, size change, or local differences to accommodate variations in actual manufacturing processes, design iterations, or intentional modifications. Its purpose is to determine whether two layouts can be considered the same or highly relevant within a certain tolerance range, and it is commonly used in design verification, IP reuse, physical design optimization, etc.

[0031] <2>Unidirectional Hausdorff Distance: The unidirectional Hausdorff distance is a measure of the similarity between two point sets. Given two point sets A and B, the unidirectional Hausdorff distance from A to B is defined as the maximum value of the distances from any point in point set A to the nearest point in point set B.

[0032] <3>Bidirectional Hausdorff Distance: The bidirectional Hausdorff distance is an extension of the unidirectional Hausdorff distance and is used to more comprehensively measure the similarity between two point sets. Given two point sets A and B, the bidirectional Hausdorff distance is defined as the maximum value of the unidirectional Hausdorff distance from A to B and the unidirectional Hausdorff distance from B to A. The bidirectional Hausdorff distance is a symmetric measure that considers the maximum deviation between the two point sets from each other and is commonly used in fields such as image processing, pattern recognition, and shape matching.

[0033] <4>Layout Bounding Box: The layout bounding box refers to the smallest rectangular area that encloses an integrated circuit layout or a specific graphical element (such as a device, cell, or connection) within it. The sides of this rectangle are usually parallel to the coordinate axes and completely contain all the geometric shapes of the layout object. The bounding box is defined by the coordinates of its lower left and upper right corners (or width and height) and is a commonly used representation method for describing the range and position of layout objects, which is widely used in the storage, operation, display, and spatial query of layout data.

[0034] For ease of understanding the embodiments of the present application, first, in combination with Figure 1 Detailed description. Figure 1 Shows a schematic flowchart of a layout fuzzy matching method based on the Hausdorff distance in an embodiment of the present invention. Figure 2 Shows a schematic flowchart of a layout fuzzy matching method based on the Hausdorff distance in an embodiment of the present invention. The layout fuzzy matching method based on the Hausdorff distance in this embodiment mainly includes the following steps:

[0035] Step S11: Obtain a first layout and a second layout to be subjected to fuzzy matching; perform preprocessing operations on the first coordinate point set and the second coordinate point set respectively.

[0036] In an embodiment of the present application, the first layout and the second layout respectively include one or more layout graphics; the process of respectively performing preprocessing operations on the first coordinate point set and the second coordinate point set includes: for the coordinate points of each layout graphic in the first layout, subtracting the vertex coordinates in the first layout from the current coordinate point to generate a first coordinate point set; and / or, for the coordinate points of each layout graphic in the second layout, subtracting the vertex coordinates in the second layout from the current coordinate point to generate a second coordinate point set.

[0037] In this embodiment, a first layout and a second layout to be matched are obtained. As Figure 3 shown, each layout contains one or more graphic elements defined by coordinate points. Standard preprocessing is performed on the original coordinate data: for the first layout, with the vertex coordinates (x0, y0) of the layout as the reference origin, all graphic coordinate points (x, y) are converted into relative coordinates (x - x0, y - y0), realizing the normalization of the layout data in the local coordinate system; the second layout adopts the same processing logic and performs coordinate translation based on its own vertex coordinates. This preprocessing method effectively eliminates the differences in the absolute coordinate systems between different layouts and solves the errors caused by inconsistent coordinate systems. <>

[0038] In an embodiment of the present application, the vertex coordinates include any one of the following coordinates of the bounding box of the first layout: the lower left corner point coordinates, the lower right corner point coordinates, the upper left corner point coordinates, and the upper right corner point coordinates. More preferably, the coordinates of the lower left corner point are selected as the vertex coordinates to perform the standard preprocessing operation.

[0039] In this embodiment, the bounding box refers to a preset rectangular area that encloses all graphic elements of the first layout, and its vertex coordinates refer to the coordinates of the lower left corner (or other agreed reference points) of the rectangle. The bounding box is used to describe the spatial range of the layout to determine the positions of the two layouts to be subjected to fuzzy matching in the coordinate system.

[0040] Step S12: Respectively perform Hausdorff distance calculation operations on the preprocessed first coordinate point set and the second coordinate point set, and obtain the maximum Hausdorff distance based on the calculation results.

[0041] In an embodiment of the present application, the process of performing Hausdorff distance calculation operations on the first coordinate point set and the second coordinate point set that have undergone preprocessing operations respectively, and obtaining the maximum Hausdorff distance based on the calculation results includes: performing a one-way Hausdorff distance calculation operation on the first coordinate point set pointing to the second coordinate point set to obtain a first Hausdorff distance; performing a one-way Hausdorff distance calculation operation on the second coordinate point set pointing to the second coordinate point set to obtain a second Hausdorff distance; performing a two-way Hausdorff distance calculation operation on the first Hausdorff distance and the second Hausdorff distance to obtain the maximum Hausdorff distance.

[0042] In this embodiment, the Hausdorff distance is used to measure the similarity between two sets of point sets of layouts to be compared. Specifically, the layout to be subjected to fuzzy comparison includes that the first coordinate point set is Two coordinate point sets The above-mentioned one-way Hausdorff distance is shown in Formulas 1 and 2, where The one-way Hausdorff distance from point set A to point set B, The one-way Hausdorff distance from point set B to point set A. Taking The calculation process as an example, calculate the distance from each point a in point set A i To its nearest point b in point set B j The distances are denoted as ‖a i - b j ‖ And sort them, and finally take the maximum value among these maximum distances as the value of h(A, B).

[0043] (Formula 1)

[0044] (Formula 2)

[0045] The process of calculating the two-way Hausdorff distance is shown in Formula 3. The two-way Hausdorff distance H(A, B) is the larger of the one-way distances h(A, B) and h(B, A), and is used to measure the maximum mismatch degree between two point sets.

[0046] (Formula 3)

[0047] Figures 4a to 4h Shows the calculation process of the one-way Hausdorff distance. First, given two point sets A and B (as Figure 4a Shown), next calculate the distances from point a1 to all points in set B (as Figure 4b Shown), and compare to obtain the shortest distance shown by the red dotted line (as Figure 4cas shown), and denote this shortest distance as d(a1, b1). Subsequently, similarly calculate the distances from point a2 to all points in set B (as Figure 4d shown), and find the point with the shortest distance as shown by the red dashed line, denoted as d(a2, b3) (as Figure 4e shown). Then, compare the above two calculation results d(a 1, b1) and d(a2, b3) (as Figure 4f shown), and obtain the maximum distance (as Figure 4g shown) to determine the value of h(A, B) as d(a1, b1) (as Figure 4h shown). Finally, use the same method to obtain h(B, A), thereby calculating the bidirectional Hausdorff distance H(A, B) of the maximum distance.

[0048] Furthermore, in the one-way Hausdorff distance, taking the process of calculating the distance from each point a i in point set A to its nearest point b j in point set B as an example, it includes the following steps: For any point a i in point set A, it is necessary to traverse and calculate its Euclidean distance to all points b j in point set B. The Euclidean distance is a commonly used measure to measure the straight-line distance between two points in a multi-dimensional space. By comparing these Euclidean distances, find the minimum value, and this minimum value is the shortest distance from point a i to point set B. Repeat the above enumeration calculation for each point in point set A to obtain the set of the shortest distances from all points in point set A to point set B. Finally, the one-way Hausdorff distance is defined as the maximum value among these shortest distances.

[0049] More preferably, the one-way Hausdorff distance calculation can also be efficiently implemented by combining a two-dimensional query tree with a rectangular query box. Specifically, the process of performing the one-way Hausdorff distance calculation operation from the source point set to the target point set includes: respectively constructing the two-dimensional query tree of the source point set and the two-dimensional query tree of the target point set; performing the following operations on each source point in the source point set: constructing a corresponding rectangular box with the current source point as the center; applying the coordinates of the current rectangular box to the two-dimensional query tree of the target point set to obtain all target points falling within this box; calculating the distances from the current source point to each filtered target point, and extracting the shortest distance among them as the one-way Hausdorff distance calculation result of the current source point.

[0050] In this embodiment, by constructing two-dimensional query trees for the source point set and the target point set respectively, compared with the traditional one-to-one calculation method, the calculation efficiency is greatly improved. It should be noted that the source point set and the target point set described in the present invention correspond to the first coordinate point set and the second coordinate point set in the above embodiment. In this embodiment, through the comparison description of the source point set and the target point set, a one-way Hausdorff distance calculation operation is performed on the first coordinate point set pointing to the second coordinate point set to obtain the first Hausdorff distance, and an explanation and description of two steps of performing a one-way Hausdorff distance calculation operation on the second coordinate point set pointing to the second coordinate point set are given.

[0051] Specifically, this embodiment includes the following specific steps. First, two-dimensional query trees are constructed from the source point set and the target point set respectively. Among them, the two-dimensional query tree is a tree-shaped data structure used to improve the ability to quickly query points within a specific area. In the specific implementation process, first, a corresponding two-dimensional query tree TreeA is constructed for the source point set A, and then another two-dimensional query tree TreeB is constructed for the target point set B. When performing the one-way Hausdorff distance calculation, each source point in the source point set is processed in turn. For the currently selected source point, a rectangular query box is constructed around it. The coordinates of this rectangular box are used to perform a query operation in the two-dimensional query tree TreeB of the target point set. Through this method, all target points located within this rectangular box can be quickly and accurately obtained, greatly reducing the possibility of invalid distance calculations. Next, for each filtered target point, the distance value is obtained by calculating the distance between the current source point and it. This process ensures that the shortest distance corresponding to the current source point can be extracted, and thus the calculation result of the one-way Hausdorff distance of this source point can be obtained. Therefore, the entire calculation process makes full use of the query efficiency of the tree structure, thereby realizing the efficient calculation of the one-way Hausdorff distance under a specific point set. The technical solution of this embodiment, by applying the two-dimensional query tree and the rapid positioning of the rectangular box, not only simplifies the distance calculation process, but also effectively enhances the operability and reliability in practical applications.

[0052] In an embodiment of the present application, the process of performing a one-way Hausdorff distance calculation operation on the source point set pointing to the target point set includes: constructing two-dimensional query trees for the source point set and the target point set respectively; performing the following operations on each source point in the source point set: constructing a corresponding rectangular box with the current source point as the center; applying the coordinates of the current rectangular box to the two-dimensional query tree of the target point set to obtain all target points falling within this box; calculating the distance from the current source point to each filtered target point, and extracting the shortest distance among them as the calculation result of the one-way Hausdorff distance of this source point. Among them, the process of constructing a corresponding rectangular box with the current source point as the center includes: constructing a rectangular box with the current source point as the center and extending a distance of n times the preset threshold in each of the four directions of up, down, left, and right.

[0053] In this embodiment, the distance between the source point and each selected target point is calculated, and the shortest distance is extracted therefrom as the calculation result of the one-way Hausdorff distance of the current source point. More preferably, for any specific point a1 in point set A, when calculating the distances from all target points in point set B, in order to optimize the calculation time, point a1 will be used as the center point, and a rectangular box will be constructed around it. The rectangular box extends n times the matching threshold thr in each of the four directions. Usually, the value of n is greater than 1 to ensure the comprehensiveness of the query, where n represents the number of target points detected in the current extension direction. The threshold thr is an adjustable parameter and can be adjusted according to different process requirements.

[0054] Furthermore, if no point from target point set B can be found within the query box, the value of h(A, B) can be set to infinity (∞), indicating that the distance between the target point and the current source point is too far under the current threshold condition and no corresponding target point can be found; conversely, if there are target points within the query box, these points can be regarded as point set B for subsequent distance calculation, so as to obtain a more accurate one-way Hausdorff distance.

[0055] This embodiment provides a new method for calculating the one-way Hausdorff distance by constructing a two-dimensional query tree and defining a suitable query box mechanism, solves the problem of low time efficiency in traditional calculations, and effectively improves the speed and accuracy of the calculation process. This embodiment is applicable to various scenarios that require set distance calculation and has good application prospects and practical value.

[0056] Step S13: Determine whether the maximum Hausdorff distance is less than or equal to a preset threshold. If it is less than or equal to the preset threshold, it is determined that the first layout and the second layout Figure 1 are consistent; otherwise, it is determined that the first layout and the second layout are inconsistent.

[0057] In this embodiment, in order to achieve fuzzy matching of the layouts, after calculating the maximum Hausdorff distance between the two layouts in this embodiment, it is compared with the preset threshold. If the maximum Hausdorff distance is less than or equal to the threshold, it is considered that the two layouts are basically consistent, that is, fuzzy matching is achieved; otherwise, it is considered that the two layouts are inconsistent.

[0058] It should be noted that this embodiment itself does not limit the method of specifically setting the preset threshold. The selection of the preset threshold can be based on different application scenarios and the requirements for the layout Figure 1It is determined according to the accuracy requirements of consistency and the actual process standards. For example, in some applications with high accuracy requirements, the preset threshold can be set relatively small; while in applications with relatively low accuracy requirements, the preset threshold can be set relatively large. In addition, the setting of the preset threshold can also be optimized based on experience, historical data analysis, or through experiments.

[0059] What is defined in the present invention is an overall method for determining whether two layout diagrams are consistent by comparing the Hausdorff distance with the preset threshold. Through this method, fuzzy matching of the layout diagrams can be achieved to determine whether the two layout diagrams are similar within the allowable error range. Therefore, the core of the present invention lies in this fuzzy matching judgment mechanism based on the Hausdorff distance and the preset threshold, rather than limiting the specific setting method of the threshold. The preset threshold can be regarded as an adjustable parameter, and its value is determined by the requirements and background of specific applications.

[0060] In the embodiments of the present application, terms such as "first" and "second" are used to distinguish identical or similar items with basically the same functions and roles. For example, the first layout diagram and the second layout diagram are only used to distinguish different layout diagrams, and do not limit their sequence. Those skilled in the art can understand that terms such as "first" and "second" do not limit the quantity and execution order, and terms such as "first" and "second" do not necessarily limit to being different.

[0061] It should be noted that in the embodiments of the present application, words such as "exemplary" or "for example" indicate examples, illustrations, or explanations. Any embodiment or design solution described as "exemplary" or "for example" in the present application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Exactly speaking, using words such as "exemplary" or "for example" aims to present relevant concepts in a specific manner.

[0062] In the embodiments of the present application, "at least one" means one or more, and "a plurality" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. "At least one (item)" or its similar expression refers to any combination of these items, including any combination of single item (item) or plural items (items). For example, at least one (item) of a, b, or c can represent: a, b, c, a - b, a - c, b - c, or a - b - c, where a, b, and c can be single or multiple.

[0063] Figure 5It is a schematic block diagram of a layout fuzzy matching device 500 provided by an embodiment of the present application. As Figure 5 shown, the device includes a data acquisition module 501, a distance calculation module 502, and a fuzzy matching module 503.

[0064] The data acquisition module 501: is used to acquire a first layout and a second layout to be subjected to fuzzy matching; and perform preprocessing operations on the first coordinate point set and the second coordinate point set respectively.

[0065] The distance calculation module 502: is used to perform Hausdorff distance calculation operations on the preprocessed first coordinate point set and second coordinate point set respectively, and obtain the maximum Hausdorff distance based on the calculation results.

[0066] The fuzzy matching module 503: is used to determine whether the maximum Hausdorff distance is less than or equal to a preset threshold. If it is less than or equal to the preset threshold, it is determined that the first layout and the second layout Figure 1 are consistent; otherwise, it is determined that the first layout and the second layout are inconsistent.

[0067] It should be understood that the specific processes for each module to execute the above corresponding steps have been described in detail in the above method embodiments. For the sake of brevity, they will not be repeated here.

[0068] It should also be understood that the division of modules in the embodiments of the present application is illustrative, and is only a logical function division. In actual implementation, there may be other division methods. In addition, in each embodiment of the present application, each functional module may be integrated in one processor, or may exist separately physically, or two or more modules may be integrated in one module. The above integrated modules may be implemented in the form of hardware or in the form of software functional modules.

[0069] Figure 6 It is a schematic block diagram of an electronic terminal provided by an embodiment of the present application. As Figure 6 shown, the electronic terminal includes: at least one processor 601, a memory 602, at least one network interface 603, and a user interface 606. Each component in the device is coupled together through a bus system 604. It can be understood that the bus system 604 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 604 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clear description, in Figure 6 all kinds of buses are labeled as the bus system.

[0070] Among them, the user interface 606 may include a display, a keyboard, a mouse, a trackball, a click gun, a button, a button, a touchpad, or a touch screen, etc.

[0071] It can be understood that the memory 602 can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), synchronous static random access memory (SSRAM). The memory described in the embodiments of the present invention is intended to include but not limited to these and any other suitable categories of memories.

[0072] The memory 602 in the embodiments of the present invention is used to store various categories of data to support the operation of the electronic terminal 600. Examples of such data include: any executable programs for operating on the electronic terminal 600, such as the operating system 6021 and the application program 6022; the operating system 6021 contains various system programs, such as the framework layer, the core library layer, the driver layer, etc., for implementing various basic services and processing hardware-based tasks. The application program 6022 can include various application programs, such as a media player, a browser, etc., for implementing various application services. Implementing the layout fuzzy matching method based on the Hausdorff distance provided by the embodiments of the present invention can be included in the application program 6022.

[0073] The method disclosed in the above embodiments of the present invention can be applied to the processor 601 or implemented by the processor 601. The processor 601 may be an integrated circuit chip with signal processing capabilities. In the implementation process, the steps of the above method can be completed by the integrated logic circuit in the hardware of the processor 601 or by instructions in software form. The above-mentioned processor 601 can be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The processor 601 can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present invention. The general-purpose processor 601 can be a microprocessor or any conventional processor, etc. Combining the steps of the accessory optimization method provided by the embodiments of the present invention can be directly embodied as being completed by the hardware decoding processor, or by a combination of the hardware and software modules in the decoding processor. The software module can be located in a storage medium, and this storage medium is located in the memory. The processor reads the information in the memory and combines its hardware to complete the steps of the foregoing method.

[0074] In an exemplary embodiment, the electronic terminal 600 may be implemented by one or more application specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), or complex programmable logic devices (CPLDs) to execute the foregoing method.

[0075] According to the method provided by the embodiments of the present application, the present application also provides a computer program product, which includes computer program code. When the computer program code runs on a computer, it causes the computer to execute the layout fuzzy matching method based on the Hausdorff distance in any one of the above embodiments.

[0076] According to the method provided by the embodiments of the present application, the present application also provides a computer-readable storage medium, which stores program code. When the program code runs on a computer, it causes the computer to execute the layout fuzzy matching method based on the Hausdorff distance in any one of the above embodiments.

[0077] The terms "component", "module", "system", etc. used in this specification are used to represent computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. By way of illustration, both an application running on a computing device and the computing device can be components. One or more components may reside in a process and / or an execution thread, and a component may be located on one computer and / or distributed between two or more computers. In addition, these components may execute from various computer-readable media storing various data structures. A component may communicate, for example, through local and / or remote processes according to signals having one or more data packets (e.g., data from two components interacting with another component in a local system, a distributed system, and / or a network, such as data interacting with other systems through signals on the Internet).

[0078] Those of ordinary skill in the art will appreciate that the various illustrative logical blocks and steps described in connection with the embodiments disclosed herein can be implemented in electronic hardware, or in a combination of computer software and electronic hardware. Whether these functions are executed in hardware or software depends on the specific application and design constraints of the technical solution. Skilled artisans may use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of this application.

[0079] Those skilled in the art can clearly understand that for the sake of convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.

[0080] In several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of devices or units can be electrical, mechanical, or other forms.

[0081] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place, or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0082] In addition, the functional units in each embodiment of this application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.

[0083] In the above embodiments, the functions of each functional unit can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, the processes or functions according to the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from a website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, Digital Subscriber Line (DSL)) or wirelessly (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium (such as a high-density digital video disc (Digital Video Disc, DVD)), or a semiconductor medium (such as a solid state disk (Solid State Disk, SSD), etc.).

[0084] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods in the various embodiments of the present application. The aforementioned storage medium includes: USB flash drive, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk, or optical disc, etc., which can store program codes of various kinds.

[0085] As described above, the above are only specific implementation manners of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of changes or substitutions, which should all be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

[0086] In summary, the present application provides a layout fuzzy matching method, apparatus, medium, program product, and terminal based on the Hausdorff distance. By obtaining a first layout and a second layout to be subjected to fuzzy matching, preprocessing operations are respectively performed on the coordinate point sets in the layouts. A Hausdorff distance calculation operation is performed on the preprocessed first coordinate point set and second coordinate point set, and the maximum Hausdorff distance is obtained based on the calculation result. By determining whether the maximum Hausdorff distance is less than or equal to a preset threshold, it is determined whether the first layout and the second layout are consistent. The problem that the existing layout fuzzy matching method has a long operation time and low efficiency when processing large-scale layouts is solved. The efficiency and accuracy of layout fuzzy matching are significantly improved. Therefore, the present application effectively overcomes various shortcomings in the prior art and has high industrial utilization value.

[0087] The above embodiments are only illustrative of the principles and effects of the present application, and are not used to limit the present application. Any person familiar with this technology can modify or change the above embodiments without departing from the spirit and scope of the present application. Therefore, all equivalent modifications or changes made by those with ordinary knowledge in the technical field without departing from the spirit and technical ideas disclosed by the present application should still be covered by the claims of the present application.

Claims

1. A layout fuzzy matching method based on Hausdorff distance, characterized in that including: Obtain a first layout diagram and a second layout diagram for which fuzzy matching is to be performed; Perform preprocessing operations on the first coordinate point set and the second coordinate point set respectively; Perform Hausdorff distance calculation operations on the preprocessed first coordinate point set and second coordinate point set respectively, and obtain the maximum Hausdorff distance based on the calculation results; Determine whether the maximum Hausdorff distance is less than or equal to a preset threshold. If it is less than or equal to the preset threshold, determine that the first layout diagram and the second layout diagram are consistent; Otherwise, determine that the first layout diagram and the second layout diagram are inconsistent.

2. The layout fuzzy matching method based on the Hausdorff distance according to claim 1, characterized in that The process of performing Hausdorff distance calculation operations on the preprocessed first coordinate point set and second coordinate point set respectively, and obtaining the maximum Hausdorff distance based on the calculation results includes: Perform a one-way Hausdorff distance calculation operation on the first coordinate point set pointing to the second coordinate point set to obtain a first Hausdorff distance; Perform a one-way Hausdorff distance calculation operation on the second coordinate point set pointing to the second coordinate point set to obtain a second Hausdorff distance; Perform a two-way Hausdorff distance calculation operation on the first Hausdorff distance and the second Hausdorff distance to obtain the maximum Hausdorff distance.

3. The layout fuzzy matching method based on the Hausdorff distance according to claim 2, characterized in that The process of performing a one-way Hausdorff distance calculation operation on a source point set pointing to a target point set includes: Construct a two-dimensional query tree for the source point set and a two-dimensional query tree for the target point set respectively; Perform the following operations on each source point in the source point set: construct a corresponding rectangular box centered on the current source point; apply the coordinates of the current rectangular box to the two-dimensional query tree of the target point set to obtain all target points falling within the box; calculate the distance from the current source point to each filtered target point, and extract the shortest distance among them as the one-way Hausdorff distance calculation result of the current source point.

4. The layout fuzzy matching method based on the Hausdorff distance according to claim 3, wherein The process of constructing a corresponding rectangular box centered on the current source point includes: constructing a rectangular box centered on the current source point and extending a distance of n times the preset threshold in each of the four directions of up, down, left, and right.

5. The layout fuzzy matching method based on the Hausdorff distance according to claim 1, wherein One or more layout graphics are included in the first layout diagram and the second layout diagram respectively; The process of performing preprocessing operations on the first coordinate point set and the second coordinate point set respectively includes: For the coordinate points of each layout graphic in the first layout diagram, subtract the vertex coordinates in the first layout diagram from the current coordinate point to generate a first coordinate point set; And / or, for the coordinate points of each layout graphic in the second layout diagram, subtract the vertex coordinates in the second layout diagram from the current coordinate point to generate a second coordinate point set.

6. The layout fuzzy matching method based on the Hausdorff distance according to claim 5, wherein The vertex coordinates include any one of the following coordinates of the bounding box of the first layout diagram: the coordinates of the lower left corner point, the coordinates of the lower right corner point, the coordinates of the upper left corner point, and the coordinates of the upper right corner point.

7. A layout fuzzy matching device based on the Hausdorff distance, characterized in that, including: Data acquisition module: used to obtain a first layout diagram and a second layout diagram for which fuzzy matching is to be performed; Perform preprocessing operations on the first coordinate point set and the second coordinate point set respectively; Distance calculation module: used to perform Hausdorff distance calculation operations on the preprocessed first coordinate point set and second coordinate point set respectively, and obtain the maximum Hausdorff distance based on the calculation results; The fuzzy matching module: It is used to determine whether the maximum Hausdorff distance is less than or equal to a preset threshold. If it is less than or equal to the preset threshold, it is determined that the first layout and the second layout are consistent; Otherwise, it is determined that the first layout and the second layout are inconsistent.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the layout fuzzy matching method based on the Hausdorff distance according to any one of claims 1 to 6.

9. A computer program product, characterized in that, The computer program product includes computer program code. When the computer program code runs on a computer, it enables the computer to implement the layout fuzzy matching method based on the Hausdorff distance according to any one of claims 1 to 6.

10. An electronic terminal, comprising a memory, a processor, and a computer program stored on the memory, characterized in that, The processor executes the computer program to implement the layout fuzzy matching method based on the Hausdorff distance according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • A calculation method for accurate Hausdorff distance between point set data of any kind

    CN106126919A

  • Mask design layout fuzzy detection method, storage medium and graph repair equipment

    CN117389114A

  • Hausdorff distance calculation method, device and equipment for spatial data set

    CN117828366A

  • Layout defect detection method, system and equipment and storage medium

    CN117911336A

  • Rapid layout pattern matching method based on RTree

    CN118586343A