Directional grouping index-based mask rule check rapid query method and device, medium, program product and terminal

By using directional grouping and bucket indexing techniques, feature extraction and directional grouping are performed on mask image data to construct a bucket index structure. This solves the problem of low efficiency in mask line segment querying in existing technologies, and achieves efficient and low-memory rule checking, which is suitable for advanced processes.

CN121454858AActive Publication Date: 2026-02-03HUAXINCHENG (HANGZHOU) TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202610014341.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-01-07
Publication Date
2026-02-03
Estimated Expiration
2046-01-07

AI Technical Summary

Technical Problem

Existing technologies, when processing tens of millions of mask line segments, suffer from low query efficiency and high memory consumption due to the spatial indexing method based on R-Tree, and cannot effectively optimize the query of parallel line segments.

Method used

A direction-based grouping indexing method is adopted to extract features and group directionally in mask image data, construct a bucketed index structure, and dynamically bucket the line segment subsets in different directions to achieve fast parallel line segment query.

Benefits of technology

It significantly improves query efficiency, reduces memory usage, and enhances the accuracy of rule checks, making it suitable for large-scale mask data in advanced manufacturing processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121454858A_ABST
    Figure CN121454858A_ABST
Patent Text Reader

Abstract

The invention provides a direction grouping index-based mask rule check rapid query method and device, a medium, a program product and a terminal, and the method comprises the steps: obtaining mask pattern data after optical proximity correction, and carrying out the feature extraction of the mask pattern data, so as to obtain a feature line segment set; performing direction grouping processing on all line segments in the feature line segment set to obtain line segment subsets in different directions; adopting a bucket dividing strategy to construct a corresponding bucket dividing index structure for each line segment subset; and executing fast parallel line segment query of mask rule check based on the bucket index structure constructed by each line segment subset. By means of the direction grouping and bucket indexing technology, the indexing method for parallel line segment query optimization is provided, the efficiency of parallel line segment rule verification in MRC checking is remarkably improved, the use of a complex R-Tree structure can be avoided, memory occupation is reduced, and the indexing method is suitable for large-scale mask data of an advanced process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of semiconductor manufacturing technology, and in particular to a method, apparatus, medium, program product, and terminal for fast querying of mask rules based on directional grouping index. Background Technology

[0002] In integrated circuit manufacturing, optical proximity correction (OPC) is a critical step to ensure pattern fidelity. As process nodes advance to advanced nodes such as 28nm, 14nm, and 7nm, the complexity of mask patterns increases dramatically, making mask rule checking (MRC) a bottleneck in the OPC process. MRC verifies whether the corrected mask pattern conforms to various design rules, including geometric rules such as line spacing, width, and enclosure.

[0003] Currently, the industry mainly uses the R-Tree spatial indexing method in MRC checks. The specific process of this method is as follows: construct an R-Tree spatial index structure and store all line segments in the R-Tree; when performing rule checks, obtain candidate line segments through the range query function of the R-Tree; perform geometric calculations on the candidate line segments to verify whether they violate the design rules.

[0004] However, the spatial indexing method based on R-Tree has the following drawbacks:

[0005] (1) The R-Tree method is not optimized for the query characteristics of parallel line segments: Since R-Tree is a general spatial index structure, when querying parallel line segments, it is necessary to traverse a large number of line segments in unrelated directions, resulting in low query efficiency, especially when dealing with tens of millions of line segments.

[0006] (2) R-Tree has a complex structure, high memory usage, and high construction and maintenance costs. Summary of the Invention

[0007] In view of the shortcomings of the prior art, the present invention provides a fast query method, device, medium, program product and terminal for mask rule inspection based on directional grouping index, which is used to solve the problem of low inspection efficiency of traditional methods in the prior art when processing tens of millions of mask line segments.

[0008] To achieve the above and other related objectives, a first aspect of this application provides a fast query method for mask rule checking based on directional grouping index, comprising: acquiring mask image data after optical proximity correction; extracting features from the mask image data to obtain a set of feature line segments; performing directional grouping processing on all line segments in the set of feature line segments to obtain subsets of line segments in different directions; constructing a corresponding bucketing index structure for each subset of line segments using a bucketing strategy; and performing fast parallel line segment query for mask rule checking based on the bucketing index structure constructed for each subset of line segments.

[0009] In some embodiments of the first aspect of the application, the different direction line segment subsets include: a horizontal direction line segment subset, a vertical direction line segment subset, a 45-degree direction line segment subset, and a 135-degree direction line segment subset.

[0010] In some embodiments of the first aspect of the application, the process of constructing a corresponding bucket index structure for each line segment subset using a bucketing strategy includes: obtaining the endpoint coordinates of all line segments in the horizontal direction line segment subset; dynamically bucketing and storing according to the longitudinal coordinates of the endpoint coordinates and the density distribution of all line segments in the horizontal direction line segment subset, to obtain the bucket index structure of the horizontal direction line segment subset.

[0011] In some embodiments of the first aspect of the application, the process of constructing a corresponding bucket index structure for each line segment subset using a bucketing strategy includes: obtaining the endpoint coordinates of all line segments in the vertical direction line segment subset; dynamically bucketing and storing according to the transverse coordinates of the endpoint coordinates and the density distribution of all line segments in the vertical direction line segment subset, to obtain the bucket index structure of the vertical direction line segment subset.

[0012] In some embodiments of the first aspect of the application, the process of constructing a corresponding bucket index structure for each line segment subset using a bucketing strategy includes: obtaining the endpoint coordinates of all line segments in the 45-degree direction line segment subset, and calculating the maximum projection value and the minimum projection value of each line segment; dynamically bucketing and storing according to the maximum projection value and the minimum projection value of each line segment, and the density distribution of all line segments, to obtain the bucket index structure of the 45-degree direction line segment subset.

[0013] In some embodiments of the first aspect of the application, the process of constructing a corresponding bucket index structure for each line segment subset using a bucketing strategy includes: obtaining the endpoint coordinates of all line segments in the 135-degree direction line segment subset, and calculating the maximum projection value and the minimum projection value of each line segment; dynamically bucketing and storing according to the maximum projection value and the minimum projection value of each line segment, and the density distribution of all line segments, to obtain the bucket index structure of the 135-degree direction line segment subset.

[0014] To achieve the above object and other related objects, the second aspect of the present application provides a mask rule check fast query device based on direction grouping index, comprising: a feature extraction module, configured to obtain mask pattern data after optical proximity correction, and perform feature extraction on the mask pattern data to obtain a feature line segment set; a direction grouping module, configured to perform direction grouping processing on all line segments in the feature line segment set to obtain line segment subsets in different directions; a bucket indexing construction module, configured to construct a corresponding bucket index structure for each line segment subset by using a bucketing strategy; and a fast query module, configured to perform fast parallel line segment query of mask rule check based on the bucket index structure constructed for each line segment subset.

[0015] To achieve the above object and other related objects, the third aspect of the present application provides a computer readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the mask rule check fast query method based on direction grouping index.

[0016] To achieve the above object and other related objects, the fourth aspect of the present application provides a computer program product, comprising computer program code, which, when executed on a computer, causes the computer to implement the mask rule check fast query method based on direction grouping index.

[0017] To achieve the above object and other related objects, the fifth aspect of the present application provides an electronic terminal, comprising a memory, a processor and a computer program stored on the memory; the processor executes the computer program to implement the mask rule check fast query method based on direction grouping index.

[0018] As described above, the mask rule check fast query method, device, medium, program product and terminal based on direction grouping index provided by the present application have the following beneficial effects:

[0019] (1) The query efficiency is greatly improved: by using direction grouping and bucket indexing technology, the global search is converted into local search, and only parallel direction line segments are checked, thereby avoiding a large amount of unnecessary calculation.

[0020] (2) The memory occupation is significantly reduced: compared with the complex tree structure of R-Tree, the bucket index of the present application uses a simple array and list structure, thereby reducing the memory occupation and being suitable for processing large-scale mask data.

[0021] (3) The rule check accuracy is improved: the present application is optimized specially for the MRC rule check scene, and can more accurately locate the parallel line segments that need to be checked, thereby reducing false positives and omissions.

[0022] (4) Strong adaptability to advanced processes: in advanced processes such as 7nm and 5nm, non-Manhattan geometry increases, and the application can effectively process large-scale mask data in advanced processes. BRIEF DESCRIPTION OF DRAWINGS

[0023] Figure 1 A flowchart showing a method for fast query of mask rule checking based on direction grouping index according to an embodiment of the application is shown.

[0024] Figure 2 A schematic diagram of a bucket index structure of a horizontal direction line segment according to an embodiment of the application is shown.

[0025] Figure 3 A schematic diagram of a bucket index structure of a vertical direction line segment according to an embodiment of the application is shown.

[0026] Figure 4 A schematic diagram of a bucket index structure of a 135-degree direction line segment according to an embodiment of the application is shown.

[0027] Figure 5 A specific embodiment diagram of fast parallel line segment query according to an embodiment of the application is shown.

[0028] Figure 6 A schematic diagram of a device for fast query of mask rule checking based on direction grouping index according to an embodiment of the application is shown.

[0029] Figure 7 A schematic diagram of an electronic terminal according to an embodiment of the application is shown. DETAILED DESCRIPTION

[0030] The embodiments of the present application will be described in detail hereinafter with specific reference to the attached drawings, which are meant to be illustrative only and not restrictive. Other advantages and effects of the present application will be easily understood by those skilled in the art from the following description of the embodiments of the present application. The present application can also be implemented or applied in other different embodiments, and the details in the specification can be modified or changed based on different viewpoints and applications without departing from the spirit of the present application. It should be noted that the following embodiments and features in the embodiments can be combined with each other without conflict. Before the present application is further described, the terms and phrases involved in the embodiments of the present application are explained, and the terms and phrases involved in the embodiments of the present application are applicable to the following explanations:

[0031] <1> OPC correction (Optical Proximity Correction): OPC correction is a technology for improving the quality of semiconductor chip lithography patterns, which makes small corrections on the original design patterns to compensate for optical near-field effects and chemical effects in the lithography process, thereby improving the precision and reliability of chip manufacturing.

[0032] <2> Mask: In semiconductor manufacturing, a mask is a template used in photolithography, which is printed with the patterns of a chip. The mask projects the chip patterns onto the silicon wafer through the photolithography process.

[0033] <3> Mask Rule Check (MRC): It refers to the inspection process that must be performed on the integrated circuit design patterns after optical proximity correction (OPC) processing before sending them to the mask production factory, which is used to verify whether the corrected patterns meet the requirements of mask preparation process. The MRC rules are provided by the mask factory and input into the inspection software by the OPC engineer. This inspection mainly sets limit conditions for the minimum line width, line spacing and corner spacing of the patterns, and at the same time, it regulates the size, spacing and minimum area of sub-resolution auxiliary patterns (SRAF) and other parameters, to ensure the realizability of mask preparation.

[0034] <4> R-Tree Spatial Index: R-Tree is a tree-like data structure used to process spatial data indexing, which is suitable for solving the range query problem of spatial data, such as finding all objects within a certain area. R-Tree can organize and store spatial data in an efficient way, so that the query operation can quickly locate the data area of interest. The structure of R-Tree is a balanced tree, which organizes and stores spatial objects by dividing the multi-dimensional space into multiple rectangles (called "nodes" or "branches"). Each node represents a rectangular region, while the leaf nodes contain pointers to the actual spatial data.

[0035] To facilitate understanding of the embodiments of the present application, first, the prior art related to the embodiments of the present application is described. Figure 1 Detailed description. Figure 1 A flowchart of a mask rule check fast query method based on direction grouping index in an embodiment of the present application is shown. The method in this embodiment includes:

[0036] Step S11: Obtain the mask pattern data after optical proximity correction, and perform feature extraction on the mask pattern data to obtain a feature line segment set.

[0037] In an embodiment of the present application, the mask pattern refers to the digital simulation design of a chip, which is the process of mapping a logic circuit to an actual physical layout. The mask pattern includes the specific positions and layout information of each logic gate, wire, and circuit element, and according to the function and performance requirements of the logic circuit, it is designed into a mask layout for subsequent physical design, verification and manufacturing processes.

[0038] In one embodiment of this application, the format of the mask graphic data includes, but is not limited to, GDSII or OASIS formats. GDSII (Graphic Data System II) is a widely used integrated circuit layout data exchange format. GDSII stores various information about the integrated circuit layout in binary files, including geometric shapes such as polygons, rectangles, and circles, as well as detailed parameters such as the hierarchical structure, coordinate positions, and dimensions of these shapes. OASIS (Open Artwork System Interchange Standard) is a newer integrated circuit layout data format. OASIS employs more efficient compression algorithms and more flexible data structures, enabling the storage of the same information in a smaller file size while supporting more complex graphic features and higher precision requirements.

[0039] In this embodiment, the mask pattern data contains all the geometric information of the chip layout, including all line segments, polygons, etc., as well as the associated geometric attributes of all line segments, polygons, etc. (such as endpoint coordinates, length, width), which facilitates subsequent operations such as pattern edge extraction, line segment direction identification, and grouping.

[0040] In one embodiment of this application, the process of extracting features from the mask graphic data to obtain a set of feature line segments includes: parsing the image data in the mask graphic data, performing edge extraction on the polygons therein, splitting the polygons into line segments, and integrating all the line segments in the image data and the line segments after the polygon splitting to obtain a set of feature line segments.

[0041] Step S12: Perform directional grouping processing on all line segments in the feature line segment set to obtain line segment subsets with different directions.

[0042] In one embodiment of this application, the direction angle of each line segment in the feature line segment set is calculated, and then the direction type of the line segment is determined based on the direction angle. Specifically, in the corrected layout graphic, the direction types of the line segments include four types, namely:

[0043] (1) Horizontal direction: When the directional angle of a line segment is 0° or 180°, the line segment is classified as horizontal.

[0044] (2) Vertical direction: When the direction angle of a line segment is 90° or 270°, the line segment is classified as vertical.

[0045] (3) 45-degree direction: When the direction angle of a line segment is 45° or 225°, the line segment is classified as a 45-degree direction;

[0046] (4) 135-degree direction: When the direction angle of a line segment is 135° or 315°, the line segment is classified as 135-degree direction.

[0047] All line segments in the feature line segment set are grouped according to the four directional types mentioned above to obtain line segment subsets in different directions. The line segment subsets in different directions include: horizontal line segment subset, vertical line segment subset, 45-degree line segment subset, and 135-degree line segment subset.

[0048] It should be explained that the direction angle is a key parameter describing the orientation of a line segment in a plane, reflecting the directional characteristics of the line segment. For example, in a Cartesian coordinate system, the angle between the line segment and the horizontal axis is calculated using the coordinates of the two endpoints of the line segment, thus obtaining the direction angle of the line segment.

[0049] Step S13: Use a bucketing strategy to build a corresponding bucketing index structure for each segment subset.

[0050] In this embodiment, different bucketing strategies are used for line segment subsets in different directions to construct a corresponding bucketing index structure for each line segment subset.

[0051] In one embodiment of this application, combined with Figure 2 The process of constructing the corresponding bucket index structure for the horizontal line segment subset is as follows: obtain the endpoint coordinates of all line segments in the horizontal line segment subset; dynamically bucket and store the data based on the ordinate of the endpoint coordinates and the density distribution of all line segments in the horizontal line segment subset to obtain the bucket index structure of the horizontal line segment subset.

[0052] Specifically, the horizontal line segment subset includes all horizontal line segments. In a Cartesian coordinate system, the endpoint coordinates of each horizontal line segment include the coordinates of its left and right endpoints, and the y-coordinates of the left and right endpoints of each horizontal line segment are the same. Based on the y-coordinates of the endpoint coordinates, several buckets are created, with each bucket's range representing a y-coordinate interval (e.g., Bucket 1: y∈[60, 84), Bucket 2: y∈[84, 108), Bucket 3: y∈[108, 132), Bucket 4: y∈[132, 156), Bucket 5: y∈[156, 180)). Furthermore, the size of the buckets needs to be dynamically adjusted, automatically adjusting the range intervals according to the line segment density distribution. For example, in areas with dense line segments, the bucket's y-coordinate interval is smaller, while in areas with sparse line segments, the bucket's y-coordinate interval is larger. This ensures that the number of horizontal line segments within each bucket is approximately equal, avoiding overloading of some buckets during storage or retrieval, i.e., preventing data skew.

[0053] Furthermore, within each bucket, the horizontal line segments are sorted and stored according to the x-coordinate of the left endpoint. The storage information for each horizontal line segment includes: line segment ID, x-coordinate of the left endpoint (x1 coordinate), x-coordinate of the right endpoint (x2 coordinate), and y-coordinate.

[0054] In one embodiment of this application, combined with Figure 3 The process of constructing the corresponding bucket index structure for the vertical line segment subset is as follows: obtain the endpoint coordinates of all line segments in the vertical line segment subset; dynamically bucket and store the data based on the x-coordinate of the endpoint coordinates and the density distribution of all line segments in the vertical line segment subset to obtain the bucket index structure of the vertical line segment subset.

[0055] In this embodiment, the vertical line segment subset includes all vertical line segments. In a Cartesian coordinate system, the endpoint coordinates of each vertical line segment include the coordinates of the upper and lower endpoints, and the x-coordinates of the upper and lower endpoints of each vertical line segment are the same. The segments are binned based on the x-coordinates of their endpoints, with each bin representing a range of x-coordinates (e.g., bin 1: x∈[40, 107), bin 2: x∈[107, 173), bin 3: x∈[173, 240), bin 4: x∈[240, 307), bin 5: x∈[307, 373), bin 6: x∈[373, 440)). Simultaneously, the size of the bins needs to be dynamically adjusted, automatically adjusting the range based on the line segment density distribution. For example, in areas with dense line segments, the x-coordinate range of the bins is smaller, while in areas with sparse line segments, the x-coordinate range of the bins is larger. This ensures that the number of vertical line segments in each bin is approximately equal, avoiding overloading of some bins during storage or retrieval, i.e., avoiding data skew.

[0056] Furthermore, within each bucket, the data is sorted and stored according to the ordinate (y-coordinate) of the lower endpoint of the vertical line segment. The storage information for each vertical line segment includes: line segment ID, ordinate (y1 coordinate) of the upper endpoint, ordinate (y2 coordinate) of the lower endpoint, and x-coordinate.

[0057] In one embodiment of this application, the process of constructing a corresponding bucket index structure for a subset of line segments in the 45-degree direction is as follows: obtain the endpoint coordinates of all line segments in the subset of line segments in the 45-degree direction, calculate the maximum projection value and minimum projection value of each line segment; dynamically bucket and store the data according to the maximum projection value and minimum projection value of each line segment and the density distribution of all line segments to obtain the bucket index structure of the subset of line segments in the 45-degree direction.

[0058] It should be noted that the 45-degree direction line segment subset includes all 45-degree direction line segments. In the projected coordinate system, the current 45-degree direction line segment has two endpoints, namely the upper endpoint and the lower endpoint. Two projection values ​​are calculated based on the coordinates of these two endpoints, which are the maximum projection value and the minimum projection value, respectively. The specific calculation formula is as follows:

[0059] T = xy; (Formula 1)

[0060] Where (x, y) are the coordinates of the endpoints of the line segment in the current 45-degree direction.

[0061] The data is bucketed based on the minimum projection value of all line segments in the 45-degree direction, with each bucket representing a range of projection values. The bucket size is dynamically adjusted based on the line segment density distribution; for example, in densely populated areas, the bucket's projection value range is smaller, while in sparsely populated areas, it is larger. This ensures that the number of 45-degree line segments within each bucket is approximately equal, preventing some buckets from becoming overloaded during storage or retrieval, thus avoiding data skew.

[0062] Furthermore, within each bucket, the maximum projection values ​​of the line segments in the 45-degree direction are sorted and stored. The storage information for each 45-degree line segment includes: line segment ID, projection range (maximum projection value and minimum projection value), and original coordinates (coordinates of the upper and lower endpoints of the line segment).

[0063] In one embodiment of this application, combined with Figure 4 The process of constructing the corresponding bucket index structure for the 135-degree direction line segment subset is as follows: obtain the endpoint coordinates of all line segments in the 135-degree direction line segment subset, calculate the maximum and minimum projection values ​​of each line segment, dynamically bucket and store the data based on the maximum and minimum projection values ​​of each line segment and the density distribution of all line segments, and obtain the bucket index structure of the 135-degree direction line segment subset.

[0064] It should be noted that the 135-degree direction line segment subset includes all 135-degree direction line segments. In the projected coordinate system, the current 135-degree direction line segment has two endpoints: the upper endpoint and the lower endpoint. Two projection values ​​are calculated based on the coordinates of these two endpoints, representing the maximum and minimum projection values, respectively. The specific calculation formula is as follows:

[0065] M = x + y; (Formula 2)

[0066] Where (x, y) are the coordinates of the endpoints of the line segment in the current 135-degree direction.

[0067] The data is divided into buckets based on the minimum projection value of all line segments in the 135-degree direction. Each bucket represents a range of projection values ​​(e.g., Bucket 1: x+y∈[110, 210], Bucket 2: x+y∈[210, 310], Bucket 3: x+y∈[310, 410], Bucket 4: x+y∈[410, 510], Bucket 5: x+y∈[510, 610]). Simultaneously, the bucket size needs to be dynamically adjusted, automatically adjusting the range based on the line segment density distribution. For example, in areas with dense line segments, the bucket's projection value range is smaller, while in areas with sparse line segments, the bucket's projection value range is larger. This ensures that the number of line segments in the 135-degree direction within each bucket is approximately equal, avoiding overloading some buckets during storage or retrieval, thus preventing data skew.

[0068] Furthermore, within each bucket, the maximum projection values ​​of the line segments in the 135-degree direction are sorted and stored. The storage information for each 135-degree line segment includes: line segment ID, projection range (maximum projection value and minimum projection value), and original coordinates (coordinates of the upper and lower endpoints of the line segment).

[0069] Step S14: Perform fast parallel segment queries based on the bucketed index structure built for each segment subset and mask rule checking.

[0070] In this embodiment, combined with Figure 5 The specific process of fast parallel line segment query based on the bucketed index structure built for each line segment subset is as follows: Read the design rule parameters of Mask Rule Check (MRC); generate a query box based on the design rule parameters; perform a query in the bucketed index structure built for each line segment subset based on the query box: identify line segment subsets in different directions, select the corresponding bucket index, locate the corresponding bucket, and search within the bucket to obtain candidate line segments; perform geometric rule verification on the candidate line segments and correct the current line segment, outputting the final corrected mask graphic data.

[0071] It should be explained that the design rule parameters include minimum spacing, maximum width threshold, etc., used to perform geometric calculations on candidate line segments and verify whether they violate the design rules. This embodiment provides an indexing method optimized for parallel line segment queries through directional grouping and bucket indexing techniques. This not only significantly improves the efficiency of parallel line segment rule verification in MRC checks but also avoids the use of complex R-Tree structures, reducing memory consumption and making it suitable for large-scale mask data in advanced processes. In the mask rule checking process of optical proximity correction, this application quickly and accurately queries all line segments parallel to the current line segment and intersecting with the rule checking area, solving the problem of low checking efficiency in traditional methods when processing tens of millions of mask line segments.

[0072] It should be emphasized that the fast query method for mask rule checking based on directional grouping index provided in this application has the following beneficial effects:

[0073] (1) Query efficiency is greatly improved: By using directional grouping and bucket indexing technology, global search is transformed into local search, and only line segments in parallel directions are checked, avoiding a lot of unnecessary calculations.

[0074] (2) Significantly reduced memory usage: Compared with the complex tree structure of R-Tree, the bucket index of this application adopts a simple array and list structure, which reduces memory usage and is suitable for processing large-scale mask data.

[0075] (3) Improved accuracy of rule checking: Specifically optimized for MRC rule checking scenarios, it can more accurately locate the parallel line segments that need to be checked, reducing false alarms and false negatives.

[0076] (4) Strong adaptability to advanced processes: In advanced processes such as 7nm and 5nm, the number of non-Manhattan masks increases exponentially. This application can effectively process large-scale mask data of advanced processes.

[0077] In the embodiments of this application, the terms "first" and "second" are used to distinguish identical or similar items with essentially the same function and effect, without limiting their order. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that the terms "first" and "second" do not necessarily imply that they are different.

[0078] It should be noted that, in the embodiments of this application, the words "exemplary" or "for example" indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0079] In this application embodiment, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.

[0080] Figure 6 A schematic block diagram of the mask rule checking fast query device based on directional grouping index provided in this application embodiment is shown below. Figure 6 As shown, the device 600 includes:

[0081] Feature extraction module 601 is used to acquire mask image data after optical proximity correction, and to extract features from the mask image data to obtain a set of feature line segments;

[0082] The direction grouping module 602 is used to perform direction grouping processing on all line segments in the feature line segment set to obtain a subset of line segments in different directions;

[0083] Bucketed index building module 603 is used to build a corresponding bucketed index structure for each segment subset using a bucketing strategy.

[0084] The fast query module 604 is used for fast parallel segment queries that perform mask rule checks based on the bucketed index structure built for each segment subset.

[0085] It should be understood that the specific process of each module performing the above-mentioned steps has been described in detail in the above method embodiments, and will not be repeated here for the sake of brevity.

[0086] It should also be understood that the module division in the embodiments of this application is illustrative and only represents a logical functional division; in actual implementation, there may be other division methods. Furthermore, the functional modules in the various embodiments of this application can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. The integrated modules described above can be implemented in hardware or as software functional modules.

[0087] Figure 7 This is a schematic block diagram of the electronic terminal provided in an embodiment of this application. Figure 7 As shown, the electronic terminal includes at least one processor 701, a memory 702, at least one network interface 703, and a user interface 705. The various components in the device are coupled together via a bus system 704. It is understood that the bus system 704 is used to implement communication between these components. In addition to a data bus, the bus system 704 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 7 The general will label all buses as bus systems.

[0088] The user interface 705 may include a monitor, keyboard, mouse, trackball, clicker, button, touchpad, or touch screen.

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

[0090] In this embodiment of the invention, the memory 702 is used to store various types of data to support the operation of the electronic terminal 700. Examples of this data include: any executable program for operation on the electronic terminal 700, such as the operating system 7021 and application programs 7022; the operating system 7021 contains various system programs, such as the framework layer, core library layer, driver layer, etc., for implementing various basic services and handling hardware-based tasks. The application program 7022 may contain various applications, such as a media player, browser, etc., for implementing various application services. The fast query method for mask rule checking based on directional grouping index provided in this embodiment of the invention can be included in the application program 7022.

[0091] The methods disclosed in the above embodiments of the present invention can be applied to processor 701, or implemented by processor 701. Processor 701 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in processor 701 or by instructions in software form. The processor 701 may 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. Processor 701 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present invention. General-purpose processor 701 may be a microprocessor or any conventional processor, etc. The steps of the accessory optimization method provided in the embodiments of the present invention can be directly reflected as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium, which is located in memory. The processor reads the information in the memory and combines it with its hardware to complete the steps of the aforementioned method.

[0092] In an exemplary embodiment, the electronic terminal 700 may be used to execute the aforementioned method by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), or complex programmable logic devices (CPLDs).

[0093] According to the method provided in the embodiments of this application, this application also provides a computer program product, which includes: computer program code, which, when run on a computer, causes the computer to execute the mask rule checking fast query method based on directional grouping index of any of the embodiments shown.

[0094] According to the method provided in the embodiments of this application, this application also provides a computer-readable storage medium storing program code, which, when run on a computer, causes the computer to execute the mask rule checking fast query method based on directional grouping index of any of the embodiments shown.

[0095] As used in this specification, the terms "component," "module," "system," etc., are used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can 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. As illustrated, applications running on computing devices and computing devices can both be components. One or more components may reside in a process and / or an execution thread, and components may be located on a single computer and / or distributed among two or more computers. Furthermore, these components can be executed from various computer-readable media on which various data structures are stored. Components can communicate, for example, via local and / or remote processes based on signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system, and / or a network, such as the Internet interacting with other systems via signals).

[0096] Those skilled in the art will recognize that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.

[0097] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0098] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

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

[0100] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0101] In the above embodiments, the functions of each functional unit can be implemented entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. A computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. Computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., high-density digital video discs, DVDs), or semiconductor media (e.g., solid-state disks, SSDs, etc.).

[0102] If a function is implemented as 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 this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0103] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should 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.

[0104] In summary, the mask rule checking fast query method, apparatus, medium, program product, and terminal based on directional grouping index provided in this application include: acquiring mask image data after optical proximity correction; extracting features from the mask image data to obtain a feature line segment set; performing directional grouping processing on all line segments in the feature line segment set to obtain line segment subsets in different directions; constructing a corresponding bucket index structure for each line segment subset using a bucketing strategy; and performing fast parallel line segment query for mask rule checking based on the bucket index structure constructed for each line segment subset. This application provides an indexing method optimized for parallel line segment queries through directional grouping and bucket indexing techniques. This not only significantly improves the efficiency of parallel line segment rule verification in MRC checks but also avoids the use of complex R-Tree structures, reducing memory consumption and making it suitable for large-scale mask data in advanced processes. Therefore, this application effectively overcomes the various shortcomings of existing technologies and has high industrial application value.

[0105] The above embodiments are merely illustrative of the principles and effects of this application and are not intended to limit this application. Any person skilled in the art can modify or alter the above embodiments without departing from the spirit and scope of this application. Therefore, all equivalent modifications or alterations made by those skilled in the art without departing from the spirit and technical concept disclosed in this application should still be covered by the claims of this application.

Claims

1. A fast query method for mask rule checking based on directional grouping index, characterized in that, include: Acquire the mask image data after optical proximity correction, and perform feature extraction on the mask image data to obtain a set of feature line segments; All line segments in the feature line segment set are grouped by direction to obtain subsets of line segments in different directions; A bucketing strategy is used to construct a corresponding bucketed index structure for each subset of line segments; Fast parallel segment queries that perform mask rule checks based on a bucketed index structure built from each segment subset.

2. The fast query method for mask rule checking based on directional grouping index according to claim 1, characterized in that, The different directional line segment subsets include: horizontal line segment subset, vertical line segment subset, 45-degree line segment subset, and 135-degree line segment subset.

3. The fast query method for mask rule checking based on directional grouping index according to claim 1, characterized in that, The process of constructing a corresponding bucketed index structure for each segment subset using a bucketing strategy includes: Get the endpoint coordinates of all line segments in the horizontal line segment subset; Dynamically bucket and store the data based on the ordinate of the endpoint coordinates and the density distribution of all line segments in the horizontal line segment subset, thus obtaining the bucket index structure of the horizontal line segment subset.

4. The fast query method for mask rule checking based on directional grouping index according to claim 1, characterized in that, The process of constructing a corresponding bucketed index structure for each segment subset using a bucketing strategy includes: Get the endpoint coordinates of all line segments in the vertical line segment subset; Dynamically bucket and store the data based on the x-coordinate of the endpoint coordinates and the density distribution of all line segments in the vertical line segment subset, thus obtaining the bucket index structure of the vertical line segment subset.

5. The fast query method for mask rule checking based on directional grouping index according to claim 1, characterized in that, The process of constructing a corresponding bucketed index structure for each segment subset using a bucketing strategy includes: Obtain the endpoint coordinates of all line segments in the 45-degree direction line segment subset, and calculate the maximum and minimum projection values ​​of each line segment; Dynamically bucket and store the data based on the maximum and minimum projection values ​​of each line segment and the density distribution of all line segments to obtain a bucket index structure for the 45-degree direction line segment subset.

6. The fast query method for mask rule checking based on directional grouping index according to claim 1, characterized in that, The process of constructing a corresponding bucketed index structure for each segment subset using a bucketing strategy includes: Obtain the endpoint coordinates of all line segments in the 135-degree direction line segment subset, and calculate the maximum and minimum projection values ​​of each line segment; Dynamically bucket and store the data based on the maximum and minimum projection values ​​of each line segment and the density distribution of all line segments to obtain a bucket index structure for the 135-degree direction line segment subset.

7. A fast query device for mask rule checking based on directional grouping index, characterized in that, include: The feature extraction module is used to acquire the mask image data after optical proximity correction, and to extract features from the mask image data to obtain a set of feature line segments; The direction grouping module is used to perform direction grouping processing on all line segments in the feature line segment set to obtain a subset of line segments in different directions; The bucketing index construction module is used to construct a corresponding bucketing index structure for each segment subset using a bucketing strategy. The fast query module is used for fast parallel segment queries that perform mask rule checks based on the bucketed index structure built for each segment subset.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the fast query method for mask rule checking based on directional grouping index as described in any one of claims 1 to 6.

9. A computer program product, characterized in that, The computer program product includes computer program code, which, when run on a computer, enables the computer to implement the fast query method for mask rule checking based on directional grouping index as described in any one of claims 1 to 6.

10. An electronic terminal, comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the fast query method for mask rule checking based on directional grouping index as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Image retrieval acceleration method, retrieval equipment, electronic equipment and storage medium

    CN114218420A

  • Fuzzy matching method based on hierarchical graph Hash signature

    CN120354822A

  • Label alignment method and related device

    CN120765516A

  • Method for inspecting mask pattern

    JP1993088357A

  • Method for designing mask pattern and method for manufacturing semiconductor device

    US20080250383A1