Method and device for determining layout defect position, equipment, medium and program product
In the manufacturing process of semiconductor integrated circuits, the layout defect position in the mask design layout is accurately determined by using the random sampling coordinate matching method, which solves the accuracy of layout defect position determination in the prior art, and improves the accuracy of graphics matching sex.
Patent Information
- Application Number
- CN202411436242.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-15
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2044-10-15
AI Technical Summary
Prior Art In the manufacturing process of semiconductor integrated circuits, it is difficult to accurately determine the location of layout defects in the mask design layout, especially when there are missing or minor modifications in the graphics.
By determining a candidate layout that matches the graphic characteristics of the target graphics in the graphics library from multiple sub-layers of the mask design layout, random sampling is performed using a preset sampling strategy, the second random sampling coordinate is generated, and the second random sampling coordinate is obtained from the target graphics. A random sampling coordinate is matched to determine whether the position of the candidate layout is the layout defect position based on the graphic similarity.
Improve the accuracy of the location of the layout defects. Even if the graphics in the mask design layout are missing or slightly modified, the matching between the candidate layout and the target graphics can be accurately judged, enhancing the accuracy of the graphics matching.
Smart Images

Figure CN119416733A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of semiconductor integrated circuit technology, and in particular, relates to a method, device, equipment, storage medium and program product for determining a layout defect position. Background Art
[0002] In the manufacturing process of semiconductor integrated circuits, the mask design layout of the chip lithography mask needs to be modeled many times, and the bad pixel positions corresponding to the simulated bad pixels generated by the modeling need to be corrected to repair potential defects in the mask design.
[0003] In the existing method, a bad pixel database is established based on simulated bad pixels generated by modeling, and then the corresponding bad pixel positions in the mask design layout are determined by accurately matching the mask design layout with the bad pixel database.
[0004] However, the patterns in the mask design layout usually contain omissions or a large number of minor modifications, resulting in low accuracy of the bad pixel location. Summary of the invention
[0005] The embodiments of the present application provide a method, device, equipment, medium and program product for determining the location of a layout defect, which can improve the accuracy of the location of the layout defect.
[0006] In one aspect of an embodiment of the present application, a method for determining a layout defect position is provided, comprising:
[0007] Determine a candidate layout matching the graphic features of a target graphic in a graphic library from a plurality of sub-layouts of a mask design layout, wherein the graphic library includes at least one simulated bad pixel pattern, the simulated bad pixel pattern being a local defect point pattern that does not meet the process window requirement and is determined after performing a lithography simulation on the mask design layout, the simulated bad pixel pattern including a plurality of first random sampling coordinates obtained by random sampling according to a preset sampling strategy, and the target graphic is any one of the simulated bad pixel patterns;
[0008] Perform random sampling in the candidate layout according to a preset sampling strategy to obtain a plurality of second random sampling coordinates;
[0009] Matching each second random sampling coordinate with each first random sampling coordinate in the target pattern to obtain the graphic similarity between the candidate pattern and the target pattern;
[0010] When the graphic similarity is greater than a preset similarity threshold, the position of the candidate layout is determined to be a layout defect position of the mask design layout, and the layout defect position is the position of a defect point in the mask design layout that does not meet the process window requirements.
[0011] In one aspect of an embodiment of the present application, a device for determining a layout defect position is provided, comprising:
[0012] A layout determination module is used to determine a candidate layout that matches the graphic features of a target graphic in a graphic library from a plurality of sub-layouts of a mask design layout, wherein the graphic library includes at least one simulated bad pixel graphic, the simulated bad pixel graphic is a local defect point graphic that does not meet the process window requirements and is determined after performing a lithography simulation on the mask design layout, the simulated bad pixel graphic includes a plurality of first random sampling coordinates obtained by random sampling according to a preset sampling strategy, and the target graphic is any one of the simulated bad pixel graphics;
[0013] A coordinate sampling module, used to perform random sampling in the candidate layout according to a preset sampling strategy to obtain a plurality of second random sampling coordinates;
[0014] A similarity determination module is used to match each second random sampling coordinate with each first random sampling coordinate in the target graphic to obtain a graphic similarity between the candidate layout and the target graphic;
[0015] The position determination module is used to determine the position of the candidate layout as the layout defect position of the mask design layout when the graphic similarity is greater than a preset similarity threshold. The layout defect position is the position of the defect point in the mask design layout that does not meet the process window requirements.
[0016] According to one aspect of an embodiment of the present application, an electronic device is provided, which includes: a memory and a program or instruction stored in the memory and executable on a processor, wherein when the program or instruction is executed by the processor, a method for determining a layout defect position as provided in any aspect of the above-mentioned embodiment of the present application is implemented.
[0017] In one aspect of an embodiment of the present application, a readable storage medium is provided, on which a program or instruction is stored. When the program or instruction is executed by a processor, a method for determining a layout defect position as provided in any aspect of the above-mentioned embodiment of the present application is implemented.
[0018] According to one aspect of an embodiment of the present application, a computer program product is provided. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes a method for determining a layout defect position as provided in any aspect of the above-mentioned embodiment of the present application.
[0019] In the method for determining the position of the layout defect provided in the embodiment of the present application, a candidate layout matching the graphic features of the target graphic in the graphic library is first obtained in the mask design layout, wherein the target graphic is any one of the simulated bad pixel graphics in the graphic library, and each sub-layout in the mask design layout is preliminarily screened by the graphic features. Then, a second random sampling coordinate is further generated in the candidate layout, and the second random sampling coordinate is matched with the first random sampling coordinate in the target graphic, and whether the position of the candidate layout is the layout defect position of the mask design layout is determined according to the graphic similarity. In this way, by performing fuzzy matching through random sampling coordinates, the layout defect position of the mask design layout can be determined as long as the graphic similarity is greater than the preset similarity threshold. Even if there are missing or a large number of minor modifications in the graphics in the mask design layout, it is still possible to accurately determine whether the candidate layout matches the target graphic. Thereby, the accuracy of the graphic matching can be improved, and the layout defect position in the mask design layout can be accurately determined, which can improve the accuracy of the layout defect position. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0021] Figure 1 It is a flow chart of a method for determining a layout defect position provided in an embodiment of the present application;
[0022] Figure 2 It is a schematic diagram of matching a candidate layout and a target pattern provided in an embodiment of the present application;
[0023] Figure 3 It is a flowchart of another method for determining the position of a layout defect provided in an embodiment of the present application;
[0024] Figure 4 It is a structural schematic diagram of a device for determining a layout defect position provided in an embodiment of the present application;
[0025] Figure 5 It is a structural schematic diagram of a device for determining the position of a layout defect provided in an embodiment of the present application. DETAILED DESCRIPTION
[0026] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.
[0027] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0028] It should be noted that the acquisition, storage, use, and processing of data in the technical solution of this application are in compliance with the relevant provisions of national laws and regulations.
[0029] It should be noted that in the embodiments of the present application, certain software, components, models and other existing solutions in the industry may be mentioned, and they should be regarded as exemplary. Their purpose is only to illustrate the feasibility of implementing the technical solution of the present application, but it does not mean that the applicant has or will necessarily use the solution.
[0030] The purpose of the present application is to provide a method, device, equipment, storage medium and program product for determining the position of a layout defect. In the method for determining the position of a layout defect provided in the embodiment of the present application, a candidate layout matching the graphic features of a target graphic in a graphic library is first obtained in a mask design layout, wherein the target graphic is any one of the simulated bad pixel graphics in the graphic library, and each sub-layout in the mask design layout is preliminarily screened by the graphic features. Then, a second random sampling coordinate is further generated in the candidate layout, and the second random sampling coordinate is matched with the first random sampling coordinate in the target graphic, and the position of the candidate layout is determined according to the graphic similarity whether it is the layout defect position of the mask design layout. In this way, by performing fuzzy matching through random sampling coordinates, the layout defect position of the mask design layout can be determined as long as the graphic similarity is greater than the preset similarity threshold. Even if there are missing or a large number of minor modifications in the graphics in the mask design layout, it is still possible to accurately determine whether the candidate layout matches the target graphic. Thereby, the accuracy of graphic matching can be improved, and the layout defect position in the mask design layout can be accurately determined, which can improve the accuracy of the layout defect position.
[0031] The following describes specific embodiments of the method, device, equipment, storage medium and program product for determining the position of a layout defect provided by the embodiments of the present application. First, the method for determining the position of a layout defect is described below.
[0032] Figure 1 A flow chart of a method for determining a layout defect position is provided. The method for determining a layout defect position can be applied to a server. The method for determining a layout defect position can include the following steps S101 to S104.
[0033] S101, determining a candidate layout that matches the graphic features of a target graphic in a graphic library from a plurality of sub-layouts of a mask design layout, wherein the graphic library includes at least one simulated bad pixel graphic, the simulated bad pixel graphic being a local defect point graphic that does not meet the process window requirements and is determined after performing a lithography simulation on the mask design layout, the simulated bad pixel graphic including a plurality of first random sampling coordinates obtained by random sampling according to a preset sampling strategy, and the target graphic being any one of the simulated bad pixel graphics.
[0034] In this embodiment, the mask design layout can be divided into multiple sub-layouts according to a pre-set division strategy.
[0035] The graphic library includes a plurality of simulated bad pixel graphics that are determined to be inconsistent with the process window requirements after photolithography simulation is performed on the mask design layout, and the target graphic is one of the simulated bad pixel graphics.
[0036] The preset sampling strategy is used to represent a preset strategy for random sampling of feature points of a graphic.
[0037] The graphic feature is information that characterizes the characteristics of the simulated bad pixel graphic. For example, the graphic feature may be size information of the simulated bad pixel graphic.
[0038] As an example, the server pre-creates a graphics library corresponding to the mask design layout. The graphics library contains multiple types of simulated bad pixel graphics, which are local defect point graphics that do not meet the process window requirements after simulating the mask design layout through lithography simulation software. And each simulated bad pixel graphic records in detail a plurality of first random sampling coordinates obtained by random sampling according to a preset sampling strategy (such as uniform distribution or Gaussian distribution).
[0039] Then, the complete mask design layout is divided into multiple sub-layouts, and each sub-layout is matched with each simulated bad pixel pattern in the graphics library. If a sub-layout is found to have the same size as a simulated bad pixel pattern in the graphics library, the sub-layout is determined as a candidate layout, and the simulated bad pixel pattern is determined as a target pattern.
[0040] S102, performing random sampling in the candidate layout according to a preset sampling strategy to obtain a plurality of second random sampling coordinates.
[0041] In this embodiment, the second random sampling coordinates are used to represent the coordinates of feature points sampled in the candidate layout according to a preset sampling strategy.
[0042] As an example, the server performs random sampling on the candidate layout according to the same preset sampling strategy as the target graphic to obtain multiple second random sampling coordinates.
[0043] S103, matching each second random sampling coordinate with each first random sampling coordinate in the target graphic to obtain a graphic similarity between the candidate layout and the target graphic.
[0044] In this embodiment, the graphic similarity is used to characterize the similarity between the candidate layout and the target graphic.
[0045] As an example, the server matches the second random sampling coordinates of the candidate layout with the first random sampling coordinates in the target graphic, and then calculates the graphic similarity between the candidate layout and the target graphic based on the matching result.
[0046] Specifically, the graphic similarity can be confirmed based on multiple dimensions such as the coincidence of sampling coordinates and the difference in spatial distribution.
[0047] S104, when the graphic similarity is greater than a preset similarity threshold, determining the position of the candidate layout as a layout defect position of the mask design layout, where the layout defect position is the position of a defect point in the mask design layout that does not meet the process window requirement.
[0048] In this embodiment, the layout defect position is the position of a local defect point in the mask design layout represented by the target pattern in the pattern library.
[0049] As an example, the server pre-sets a reasonable similarity threshold based on experience or experimental data.
[0050] Then the graphic similarity between the candidate layout and the target pattern is compared with the preset similarity threshold. If the graphic similarity between the candidate layout and the target pattern is greater than the preset similarity threshold, the candidate layout is considered to match the target pattern, that is, the position of the candidate layout is the position of the defect point in the mask design layout represented by the target pattern that does not meet the process window requirements.
[0051] In the method for determining the position of the layout defect provided in the embodiment of the present application, a candidate layout matching the graphic features of the target graphic in the graphic library is first obtained in the mask design layout, wherein the target graphic is any one of the simulated bad pixel graphics in the graphic library, and each sub-layout in the mask design layout is preliminarily screened by the graphic features. Then, a second random sampling coordinate is further generated in the candidate layout, and the second random sampling coordinate is matched with the first random sampling coordinate in the target graphic, and whether the position of the candidate layout is the layout defect position of the mask design layout is determined according to the graphic similarity. In this way, by performing fuzzy matching through random sampling coordinates, the layout defect position of the mask design layout can be determined as long as the graphic similarity is greater than the preset similarity threshold. Even if there are missing or a large number of minor modifications in the graphics in the mask design layout, it is still possible to accurately determine whether the candidate layout matches the target graphic. Thereby, the accuracy of the graphic matching can be improved, and the layout defect position in the mask design layout can be accurately determined, which can improve the accuracy of the layout defect position.
[0052] As an optional embodiment, S101 may specifically include:
[0053] Obtain mask design layout;
[0054] Divide the mask design layout into multiple sub-layouts according to the partitioning strategy corresponding to the design rule check;
[0055] Matching each sub-layout with each simulated bad pixel pattern in the graphics library respectively, to obtain a target sub-layout that matches the graphic features of the target pattern in the graphics library;
[0056] Each edge of the target sub-layout is extended to the target length in the corresponding extension direction to obtain a candidate layout.
[0057] In this embodiment, the Design Rule Check (DRC) is used to check whether the layout design violates the predetermined design rules to prevent potential open circuits, short circuits or adverse effects.
[0058] As an example, the server obtains the mask design layout through an electronic design automation (EDA) tool, and then uses a DRC tool to perform a comprehensive check on the mask design layout to ensure that all design elements comply with established design rules.
[0059] According to the characteristics of design rule checking, formulate appropriate partitioning strategies. Use the partitioning function in EDA tools or special layout partitioning software to divide the mask design layout into multiple sub-layouts according to the formulated partitioning strategy.
[0060] Each sub-layout is matched with the simulated bad pixel pattern in the graphics library, and according to the matching result, a target sub-layout matching the graphic feature of the target pattern in the graphics library is identified.
[0061] Finally, the target length of the expansion is determined based on the design rules and process requirements, and each edge of the target sub-layout is expanded in the corresponding expansion direction by the target length, thereby obtaining a candidate layout. Specifically, the target length can be 1um, and the target sub-layout can be in a rectangular shape. Then, the left edge of the target sub-layout is expanded to the left by 1um, the right edge of the target sub-layout is expanded to the right by 1um, the upper edge of the target sub-layout is expanded upward by 1um, and the lower edge of the target sub-layout is expanded downward by 1um.
[0062] Through this embodiment, the mask design layout is divided into multiple sub-layouts according to the division strategy corresponding to the design rule check. Each sub-layout is matched with each simulated bad pixel pattern in the graphics library, so that the candidate layout in the sub-layout can be determined. In this way, this embodiment first performs a preliminary screening of each sub-layout of the mask design layout by matching the graphic features, so as to accurately obtain the candidate layout. Subsequently, only the candidate layout needs to be further tested, and each sub-layout does not need to be tested separately, so that the efficiency of determining the layout defect position can be improved.
[0063] As an optional embodiment, S103 may specifically include:
[0064] Matching each second random sampling coordinate with each first random sampling coordinate in the target pattern to obtain the number of matching coordinates corresponding to the target pattern in the candidate layout;
[0065] According to the number of matching coordinates, determine the proportion of the matching coordinates in the candidate layout to the number of the second randomly sampled coordinates;
[0066] The proportion of the number of coordinates is determined as the graphic similarity between the candidate layout and the target graphic.
[0067] In this embodiment, the matching coordinates are used to represent coordinates located at the same position.
[0068] As an example, for each second random sampling coordinate in the candidate layout, the server searches for the first random sampling coordinate at the same position in the target graphic. If the first random sampling coordinate at the same position exists in the target graphic, it determines that the two coordinates match.
[0069] Then, the number of successfully matched second random sampling coordinates in the candidate layout is counted, and the number is divided by the total number of second random sampling coordinates in the candidate layout, so as to obtain the graphic similarity between the candidate layout and the target graphic.
[0070] As another example, Figure 2 As shown, a schematic diagram of the matching of a candidate layout and a target graphic is provided. Among them, the (a) graphic on the left is the target graphic, and the (b) graphic on the right is the candidate layout. Among them, the candidate layout lacks a shaded area compared to the target graphic. At this time, although the first random sampling coordinates and the second random sampling coordinates are the same, the position of the corresponding first random sampling coordinates in the target graphic is displayed in the shaded area, while the position of the corresponding second random sampling coordinates in the candidate layout is displayed in the blank area. The two are still represented to be located in different positions, that is, the first random sampling coordinates and the second random sampling coordinates do not match at this time. The other first random sampling coordinates and the second random sampling coordinates are matched. At this time, the graphic similarity between the candidate layout and the target graphic will still be greater than the preset similarity threshold, that is, the candidate layout and the target graphic still match.
[0071] Through this embodiment, a fuzzy comparison is performed between the candidate layout and the target graphic, and the graphic similarity between the candidate layout and the target graphic is determined according to the number of matching coordinates corresponding to the target graphic in the candidate layout. When the graphic similarity is greater than a preset similarity threshold, it can be determined that the candidate layout matches the target graphic. The accuracy of graphic matching can be improved, and the layout defect position in the mask design layout can be accurately determined, which can improve the accuracy of the layout defect position.
[0072] As an optional embodiment, Figure 3 As shown, before S101, the method for determining the layout defect position may further include the following S301 to S303:
[0073] S301, performing lithography simulation and lithography rule check on the mask design layout to obtain a plurality of simulated bad pixel patterns;
[0074] S302, fuzzy classification is performed on each simulated bad pixel pattern to obtain a bad pixel category corresponding to each simulated bad pixel pattern;
[0075] S303, obtaining a simulated bad pixel pattern from each bad pixel category to form a pattern library corresponding to the mask design layout.
[0076] In this embodiment, the photolithography simulation is used to characterize the simulation of the photolithography process of the mask design layout by computer software to predict and evaluate the possible bad spots in the photolithography process.
[0077] Layout Versus Rule Check (LRC) is used to characterize a comprehensive check of the chip design before implementing the lithography process, to discover and solve the manufacturability problems that the chip design may face in advance, thereby reducing the risk of integrated circuit manufacturing failure.
[0078] Fuzzy classification is used to characterize a method for classifying elements that cannot be accurately described, and specifically, may include a fuzzy C-means clustering method or a fuzzy support vector machine method.
[0079] As an example, the server imports the mask design layout into the lithography simulation software and sets the corresponding simulation parameters, including the model of the lithography machine, exposure wavelength, photoresist type, etc. Then run the simulation program to simulate the lithography process, including exposure, development and other steps, to generate simulated graphics. Then use the lithography rule check tool to check the simulated graphics, identify the illegal parts, that is, potential bad points, and obtain multiple simulated bad point graphics.
[0080] Then, each simulated bad pixel pattern is classified by the corresponding fuzzy classification algorithm to obtain the bad pixel category corresponding to each simulated bad pixel pattern. Finally, for each bad pixel category, a representative simulated bad pixel pattern is selected from all simulated bad pixel patterns in the category. And according to the boundary box of the representative simulated bad pixel pattern, the design layout of the corresponding bad pixel pattern is cut out, thereby forming a graphic library corresponding to the mask design layout.
[0081] Through this embodiment, by performing lithography simulation and lithography rule checking on the mask design layout, possible bad spots in the mask design layout during the lithography process are predicted and evaluated, and corresponding simulated bad spot patterns are obtained, thereby forming a graphic library corresponding to the mask design layout. This helps to detect the layout defect positions in the mask design layout in advance and correct them according to the graphic library, thereby improving the lithography quality of the mask design layout.
[0082] As an optional embodiment, S301 may specifically include:
[0083] Performing photolithography simulation on the mask design layout to obtain the mask design layout after photolithography simulation;
[0084] Performing a lithography rule check on the mask design layout after lithography simulation to obtain a plurality of bad pixel results corresponding to the mask design layout after lithography simulation and the size of each bad pixel result;
[0085] The size of each bad pixel result is expanded according to the preset expansion size to obtain a simulated bad pixel graph corresponding to each bad pixel result.
[0086] In this embodiment, the server imports the mask design layout into the lithography simulation software, sets the lithography parameters (such as light source wavelength, exposure time, and focal length), performs simulation calculations, and obtains the mask design layout after lithography simulation, which reflects the impact of the lithography process on the mask pattern.
[0087] Then, the mask design layout after lithography simulation is imported into the lithography rule checking tool, and the checking rules (such as minimum line width, minimum spacing, etc.) are set to perform rule checking, thereby obtaining multiple bad pixel results and their sizes corresponding to the mask design layout after lithography simulation.
[0088] Finally, the size of each bad dot is expanded according to a preset expansion size (eg, 10% of the bad dot size), thereby obtaining simulated bad dot patterns corresponding to each bad dot result, which can be used for subsequent lithography process optimization or mask repair.
[0089] Through this embodiment, multiple bad pixel results are obtained by performing lithography simulation and lithography rule checking on the mask design layout, and the size of each bad pixel result is expanded to obtain a simulated bad pixel pattern. In this way, this embodiment can accurately obtain the simulated bad pixel pattern corresponding to the mask design layout, thereby providing an important basis for subsequent process optimization and mask repair.
[0090] As an optional embodiment, S302 may specifically include:
[0091] Moving the graphic feature points of each simulated bad pixel pattern to a preset position to obtain each simulated bad pixel pattern after the movement;
[0092] Extending each edge of each simulated bad pixel pattern after the movement by a target length in a corresponding extension direction to obtain each simulated bad pixel pattern after extension;
[0093] Performing random sampling in each expanded simulated bad pixel pattern according to a preset sampling strategy to obtain a plurality of first random sampling coordinates;
[0094] According to the first random sampling coordinates in each simulated bad pixel pattern, each simulated bad pixel pattern is fuzzily classified to obtain a bad pixel category corresponding to each simulated bad pixel pattern.
[0095] In this embodiment, the graphic feature point is used to characterize a position point with significant features in the simulated bad pixel graphic. For example, the graphic feature point may be a center point or a vertex of the simulated bad pixel graphic.
[0096] As an example, the server moves the graphic feature points of each simulated bad pixel graphic to a preset position according to a preset displacement vector, thereby obtaining each simulated bad pixel graphic after movement.
[0097] Then, according to the preset expansion direction and length, each edge of the simulated bad pixel pattern is expanded to obtain each expanded simulated bad pixel pattern. Specifically, the target length can be 1um, and the simulated bad pixel pattern can be in a rectangular shape. Then, the left edge of the simulated bad pixel pattern is expanded to the left by 1um, the right edge of the simulated bad pixel pattern is expanded to the right by 1um, the upper edge of the simulated bad pixel pattern is expanded upward by 1um, and the lower edge of the simulated bad pixel pattern is expanded downward by 1um.
[0098] Then, a preset sampling strategy is designed according to factors such as the complexity and area of the graphic, and according to the preset sampling strategy, a plurality of sampling points are randomly selected inside the simulated bad pixel graphic, and their coordinates are recorded to obtain the first random sampling coordinates.
[0099] Then, the server matches the first random sampling coordinates between the simulated bad pixel patterns, and calculates the graphic similarity between the simulated bad pixel patterns according to the matching results. Specifically, the graphic similarity can be confirmed based on multiple dimensions such as the coincidence of the sampling coordinates and the spatial distribution difference.
[0100] Finally, when the graphic similarity between the simulated bad pixel graphics is greater than the preset similarity threshold, it can be confirmed that the corresponding simulated bad pixel graphics belong to the same bad pixel category, thereby achieving fuzzy classification of each simulated bad pixel graphics and obtaining the bad pixel category corresponding to each simulated bad pixel graphics.
[0101] Through this embodiment, each simulated bad pixel pattern is fuzzily classified to obtain the bad pixel category corresponding to each simulated bad pixel pattern. Finally, only one simulated bad pixel pattern is needed in each bad pixel category to form a graphic library corresponding to the mask design layout. In this way, the number of simulated bad pixel patterns in the graphic library is reduced, and it is not necessary to match each simulated bad pixel pattern when determining the layout defect position later, thereby improving the efficiency of determining the layout defect position.
[0102] As an optional embodiment, the graphic feature point is the center of the bad pixel of the simulated bad pixel graphic, and the preset position is the midpoint position of the edge closest to the simulated bad pixel graphic.
[0103] In this embodiment, the bad dots identified by the lithography rule check may have a slight position deviation. Therefore, it is necessary to first move the bad dot center of the simulated bad dot pattern to the midpoint of the edge closest to the simulated bad dot pattern, so as to align the simulated bad dot pattern identified by the lithography rule check with the corresponding sub-layout divided by the mask design layout.
[0104] Through this embodiment, by moving the bad pixel center of the simulated bad pixel pattern to the midpoint position of the edge closest to the simulated bad pixel pattern, the position alignment of the simulated bad pixel pattern and the corresponding sub-layout can be achieved. This helps to match the aligned simulated bad pixel pattern with the corresponding sub-layout according to the pattern features, realizes the preliminary screening of the simulated bad pixel pattern using the pattern features, and can improve the efficiency of determining the position of the layout defect.
[0105] As an optional embodiment, fuzzy classification is performed on each simulated bad pixel pattern according to the first random sampling coordinates in each simulated bad pixel pattern to obtain the bad pixel category corresponding to each simulated bad pixel pattern, which may specifically include:
[0106] Matching the first random sampling coordinates in the first simulated bad pixel pattern with the first random sampling coordinates in the second simulated bad pixel pattern to obtain the graphic similarity between the first simulated bad pixel pattern and the second simulated bad pixel pattern, wherein the first simulated bad pixel pattern and the second simulated bad pixel pattern are any one of the simulated bad pixel patterns;
[0107] When the graphic similarity between the first simulated bad pixel pattern and the second simulated bad pixel pattern is greater than a preset similarity threshold, determining that the first simulated bad pixel pattern and the second simulated bad pixel pattern belong to the same bad pixel category;
[0108] When the graphic similarity between the first simulated bad pixel pattern and the second simulated bad pixel pattern is less than or equal to a preset similarity threshold, it is determined that the first simulated bad pixel pattern and the second simulated bad pixel pattern do not belong to the same bad pixel category.
[0109] In this embodiment, the server searches for each first random sampling coordinate in the first simulated bad pixel pattern to see whether there is a first random sampling coordinate at the same position in the second simulated bad pixel pattern. If there is a first random sampling coordinate at the same position in the second simulated bad pixel pattern, it determines that the two coordinates match.
[0110] Then, the number of successfully matched first random sampling coordinates in the first simulated bad pixel pattern is counted, and the number is divided by the total number of first random sampling coordinates in the first simulated bad pixel pattern, thereby obtaining the graphic similarity between the first simulated bad pixel pattern and the second simulated bad pixel pattern.
[0111] When the graphic similarity between the first simulated bad pixel pattern and the second simulated bad pixel pattern is greater than a preset similarity threshold, it is determined that the first simulated bad pixel pattern and the second simulated bad pixel pattern belong to the same bad pixel category; when the graphic similarity between the first simulated bad pixel pattern and the second simulated bad pixel pattern is less than or equal to the preset similarity threshold, it is determined that the first simulated bad pixel pattern and the second simulated bad pixel pattern do not belong to the same bad pixel category.
[0112] Through this embodiment, each simulated bad pixel pattern is fuzzily classified to obtain the bad pixel category corresponding to each simulated bad pixel pattern. Finally, only one simulated bad pixel pattern is needed in each bad pixel category to form a graphic library corresponding to the mask design layout. In this way, the number of simulated bad pixel patterns in the graphic library is reduced, and it is not necessary to match each simulated bad pixel pattern when determining the layout defect position later, thereby improving the efficiency of determining the layout defect position.
[0113] Based on the method for determining the position of a layout defect. Accordingly, the present application also provides a specific embodiment of a device for determining the position of a layout defect.
[0114] like Figure 4 As shown, the apparatus 400 for determining the position of a layout defect provided in an embodiment of the present application includes a layout determination module 410 , a coordinate sampling module 420 , a similarity determination module 430 and a position determination module 440 .
[0115] The layout determination module 410 is used to determine a candidate layout that matches the graphic features of a target graphic in a graphic library from multiple sub-layouts of a mask design layout, wherein the graphic library includes at least one simulated bad pixel graphic, which is a local defect point graphic that does not meet the process window requirements and is determined after performing a lithography simulation on the mask design layout. The simulated bad pixel graphic includes multiple first random sampling coordinates obtained by random sampling according to a preset sampling strategy, and the target graphic is any one of the simulated bad pixel graphics.
[0116] The coordinate sampling module 420 is used to perform random sampling in the candidate layout according to a preset sampling strategy to obtain a plurality of second random sampling coordinates.
[0117] The similarity determination module 430 is used to match each second random sampling coordinate with each first random sampling coordinate in the target graphic to obtain the graphic similarity between the candidate layout and the target graphic.
[0118] The position determination module 440 is used to determine the position of the candidate layout as the layout defect position of the mask design layout when the graphic similarity is greater than a preset similarity threshold. The layout defect position is the position of the defect point in the mask design layout that does not meet the process window requirements.
[0119] In the device for determining the position of a layout defect provided in an embodiment of the present application, a candidate layout matching the graphic features of a target graphic in a graphic library is first obtained in a mask design layout, wherein the target graphic is any one of the simulated bad pixel graphics in the graphic library, and each sub-layout in the mask design layout is preliminarily screened by the graphic features. Then, a second random sampling coordinate is further generated in the candidate layout, and the second random sampling coordinate is matched with the first random sampling coordinate in the target graphic, and whether the position of the candidate layout is the layout defect position of the mask design layout is determined according to the graphic similarity. In this way, by performing fuzzy matching through random sampling coordinates, the layout defect position of the mask design layout can be determined as long as the graphic similarity is greater than the preset similarity threshold. Even if there are missing or a large number of minor modifications in the graphics in the mask design layout, it is still possible to accurately determine whether the candidate layout matches the target graphic. Thereby, the accuracy of graphic matching can be improved, and the layout defect position in the mask design layout can be accurately determined, which can improve the accuracy of the layout defect position.
[0120] As an optional embodiment, the layout determination module 410 may specifically include the following units:
[0121] A layout acquisition unit, used for acquiring a mask design layout;
[0122] A layout division unit, used for dividing the mask design layout into a plurality of sub-layouts according to a division strategy corresponding to a design rule check;
[0123] A layout matching unit is used to match each sub-layout with each simulated bad pixel pattern in the graphics library to obtain a target sub-layout that matches the graphic features of the target pattern in the graphics library;
[0124] The layout extension unit is used to extend each edge of the target sub-layout in the corresponding extension direction to the target length to obtain a candidate layout.
[0125] As an optional embodiment, the similarity determination module 430 may specifically include the following units:
[0126] A coordinate matching unit, used to match each second random sampling coordinate with each first random sampling coordinate in the target pattern, and obtain the number of matching coordinates corresponding to the target pattern in the candidate layout;
[0127] A proportion determination unit, used to determine the proportion of the number of matching coordinates in the candidate layout to the number of second randomly sampled coordinates according to the number of matching coordinates;
[0128] The similarity determination unit is used to determine the proportion of the number of coordinates as the graphic similarity between the candidate layout and the target graphic.
[0129] As an optional embodiment, before determining a candidate layout matching the graphic features of the target graphic in the graphic library from multiple sub-layouts of the mask design layout, the layout defect position determination device may further specifically include the following modules:
[0130] The layout simulation module is used to perform lithography simulation and lithography rule check on the mask design layout to obtain multiple simulated bad pixel patterns;
[0131] A graphics classification module is used to perform fuzzy classification on each simulated bad pixel graphics to obtain a bad pixel category corresponding to each simulated bad pixel graphics;
[0132] The pattern library construction module is used to obtain a simulated bad pixel pattern from each bad pixel category to form a pattern library corresponding to the mask design layout.
[0133] As an optional embodiment, the layout simulation module specifically includes the following units:
[0134] A photolithography simulation unit, used to perform photolithography simulation on the mask design layout to obtain the mask design layout after photolithography simulation;
[0135] A layout inspection unit is used to perform a lithography rule inspection on the mask design layout after the lithography simulation, and obtain a plurality of bad pixel results corresponding to the mask design layout after the lithography simulation and the size of each bad pixel result;
[0136] The size expansion unit is used to expand the size of each bad pixel result according to a preset expansion size to obtain a simulated bad pixel graphic corresponding to each bad pixel result.
[0137] As an optional embodiment, the graphic classification module specifically includes the following units:
[0138] A graphic moving unit, used to move the graphic feature points of each simulated bad pixel graphic to a preset position to obtain each simulated bad pixel graphic after moving;
[0139] A graphics expansion unit, used to expand each edge of each simulated bad pixel graphics after moving in a corresponding expansion direction by a target length to obtain each simulated bad pixel graphics after expansion;
[0140] A graphics sampling unit, used for performing random sampling in each expanded simulated bad pixel graphics according to a preset sampling strategy to obtain a plurality of first random sampling coordinates;
[0141] The pattern classification unit is used to perform fuzzy classification on each simulated bad pixel pattern according to the first random sampling coordinates in each simulated bad pixel pattern to obtain the bad pixel category corresponding to each simulated bad pixel pattern.
[0142] As an optional embodiment, the graphic classification unit specifically includes the following subunits:
[0143] a similarity calculation subunit, used for matching the first random sampling coordinates in the first simulated bad pixel pattern with the first random sampling coordinates in the second simulated bad pixel pattern to obtain the graphic similarity between the first simulated bad pixel pattern and the second simulated bad pixel pattern, wherein the first simulated bad pixel pattern and the second simulated bad pixel pattern are any one of the simulated bad pixel patterns;
[0144] a type determination subunit, configured to determine that the first simulated bad pixel pattern and the second simulated bad pixel pattern belong to the same bad pixel category when the graphic similarity between the first simulated bad pixel pattern and the second simulated bad pixel pattern is greater than a preset similarity threshold;
[0145] The type determination subunit is further used to determine that the first simulated bad pixel pattern and the second simulated bad pixel pattern do not belong to the same bad pixel category when the graphic similarity between the first simulated bad pixel pattern and the second simulated bad pixel pattern is less than or equal to a preset similarity threshold.
[0146] Based on the method for determining the position of a layout defect. Accordingly, the present application also provides a specific embodiment of a device for determining the position of a layout defect.
[0147] Figure 5 A schematic diagram of the hardware structure of a device for determining a layout defect position provided in an embodiment of the present application is shown.
[0148] The layout defect location determination device may include a processor 501 and a memory 502 storing computer program instructions.
[0149] Specifically, the processor 501 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
[0150] The memory 502 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 502 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 502 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 502 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 502 is a non-volatile solid-state memory.
[0151] The processor 501 reads and executes the computer program instructions stored in the memory 502 to implement any one of the methods for determining the location of a layout defect in the above embodiments.
[0152] In one example, the layout defect location determination device may further include a communication interface 503 and a bus 510. Figure 5 As shown, the processor 501, the memory 502, and the communication interface 503 are connected via a bus 510 and communicate with each other.
[0153] The communication interface 503 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.
[0154] Bus 510 includes hardware, software or both, and couples the components of the determination device of the layout defect position to each other. For example, but not limitation, the bus may include an accelerated graphics port (AGP) or other graphics bus, an enhanced industrial standard architecture (EISA) bus, a front-end bus (FSB), a hypertransport (HT) interconnect, an industrial standard architecture (ISA) bus, an infinite bandwidth interconnect, a low pin count (LPC) bus, a memory bus, a microchannel architecture (MCA) bus, a peripheral component interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a serial advanced technology attachment (SATA) bus, a video electronics standard association local (VLB) bus or other suitable bus or a combination of two or more of these. Where appropriate, bus 510 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the present application considers any suitable bus or interconnect.
[0155] In addition, in combination with the method for determining the position of a layout defect in the above embodiment, the embodiment of the present application can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any method for determining the position of a layout defect in the above embodiment is implemented.
[0156] In addition, in combination with the method for determining the location of a layout defect in the above-mentioned embodiment, an embodiment of the present application may provide a computer program product for implementation. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the method for determining the location of a layout defect as provided in any aspect of the above-mentioned embodiment of the present application.
[0157] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.
[0158] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.
[0159] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.
[0160] Aspects of the present disclosure are described above with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field programmable logic circuit. It can also be understood that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.
[0161] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.
Claims
1. A method for determining a layout defect position, characterized in that: include: Determine a candidate layout matching the graphic features of a target graphic in a graphic library from a plurality of sub-layouts of a mask design layout, wherein the graphic library includes at least one simulated bad pixel pattern, the simulated bad pixel pattern being a local defect point pattern that does not meet the process window requirement and is determined after performing a lithography simulation on the mask design layout, the simulated bad pixel pattern including a plurality of first random sampling coordinates obtained by random sampling according to a preset sampling strategy, and the target graphic is any one of the simulated bad pixel patterns; Performing random sampling in the candidate layout according to the preset sampling strategy to obtain a plurality of second random sampling coordinates; Matching each of the second random sampling coordinates with each of the first random sampling coordinates in the target graphic to obtain a graphic similarity between the candidate layout and the target graphic; When the graphic similarity is greater than a preset similarity threshold, the position of the candidate layout is determined to be a layout defect position of the mask design layout, and the layout defect position is the position of a defect point in the mask design layout that does not meet the process window requirements.
2. The method according to claim 1, characterized in that The step of determining a candidate layout that matches the graphic features of a target graphic in a graphic library from a plurality of sub-layouts of a mask design layout comprises: Obtaining the mask design layout; Dividing the mask design layout into a plurality of sub-layouts according to a division strategy corresponding to a design rule check; Matching each of the sub-layouts with each of the simulated bad pixel patterns in the graphics library, respectively, to obtain a target sub-layout that matches the graphic features of the target pattern in the graphics library; Each edge of the target sub-layout is extended to a target length in a corresponding extension direction to obtain the candidate layout.
3. The method according to claim 1, characterized in that: The matching of each of the second random sampling coordinates with each of the first random sampling coordinates in the target graphic to obtain the graphic similarity between the candidate layout and the target graphic includes: Matching each of the second random sampling coordinates with each of the first random sampling coordinates in the target graphic to obtain the number of matching coordinates in the candidate layout corresponding to the target graphic; Determine, according to the number of the matching coordinates, the proportion of the matching coordinates in the candidate layout to the number of the second randomly sampled coordinates; The proportion of the number of coordinates is determined as the graphic similarity between the candidate layout and the target graphic.
4. The method according to any one of claims 1 to 3, characterized in that: Before determining a candidate layout matching the graphic features of the target graphic in the graphic library from the multiple sub-layouts of the mask design layout, the method further includes: Performing photolithography simulation and photolithography rule checking on the mask design layout to obtain a plurality of simulated bad pixel patterns; Performing fuzzy classification on each of the simulated bad pixel patterns to obtain a bad pixel category corresponding to each of the simulated bad pixel patterns; A simulated bad pixel pattern is obtained from each bad pixel category to form the pattern library corresponding to the mask design layout.
5. The method according to claim 4, characterized in that The step of performing lithography simulation and lithography rule checking on the mask design layout to obtain a plurality of simulated bad pixel patterns includes: Performing photolithography simulation on the mask design layout to obtain a mask design layout after photolithography simulation; Performing a lithography rule check on the mask design layout after the lithography simulation to obtain a plurality of bad pixel results corresponding to the mask design layout after the lithography simulation and the size of each of the bad pixel results; The size of each bad pixel result is expanded according to a preset expansion size to obtain the simulated bad pixel pattern corresponding to each bad pixel result.
6. The method according to claim 4, characterized in that The fuzzy classification of each simulated bad pixel pattern to obtain a bad pixel category corresponding to each simulated bad pixel pattern includes: Moving the graphic feature points of each simulated bad pixel pattern to a preset position to obtain each simulated bad pixel pattern after the movement; Extending each edge of each of the moved simulated bad pixel patterns by a target length in a corresponding extension direction to obtain each of the extended simulated bad pixel patterns; Performing random sampling in each of the expanded simulated bad pixel patterns according to the preset sampling strategy to obtain a plurality of the first random sampling coordinates; According to the first random sampling coordinates in each of the simulated bad pixel patterns, each of the simulated bad pixel patterns is fuzzily classified to obtain a bad pixel category corresponding to each of the simulated bad pixel patterns.
7. The method according to claim 6, characterized in that The graphic feature point is the center of the bad pixel of the simulated bad pixel graphic, and the preset position is the midpoint position of the edge closest to the simulated bad pixel graphic.
8. The method according to claim 6, characterized in that The fuzzy classification of each simulated bad pixel pattern according to the first random sampling coordinates in each simulated bad pixel pattern to obtain a bad pixel category corresponding to each simulated bad pixel pattern includes: Matching the first random sampling coordinates in a first simulated bad pixel pattern with the first random sampling coordinates in a second simulated bad pixel pattern to obtain a graphic similarity between the first simulated bad pixel pattern and the second simulated bad pixel pattern, wherein the first simulated bad pixel pattern and the second simulated bad pixel pattern are any one of the simulated bad pixel patterns; When the graphic similarity between the first simulated bad pixel pattern and the second simulated bad pixel pattern is greater than a preset similarity threshold, determining that the first simulated bad pixel pattern and the second simulated bad pixel pattern belong to the same bad pixel category; When the graphic similarity between the first simulated bad pixel pattern and the second simulated bad pixel pattern is less than or equal to a preset similarity threshold, it is determined that the first simulated bad pixel pattern and the second simulated bad pixel pattern do not belong to the same bad pixel category.
9. A device for determining a layout defect position, characterized in that: include: A layout determination module is used to determine a candidate layout that matches the graphic features of a target graphic in a graphic library from a plurality of sub-layouts of a mask design layout, wherein the graphic library includes at least one simulated bad pixel graphic, wherein the simulated bad pixel graphic is a local defect point graphic that does not meet the process window requirements and is determined after performing a lithography simulation on the mask design layout, wherein the simulated bad pixel graphic includes a plurality of first random sampling coordinates obtained by random sampling according to a preset sampling strategy, and the target graphic is any one of the simulated bad pixel graphics; A coordinate sampling module, used for performing random sampling in the candidate layout according to the preset sampling strategy to obtain a plurality of second random sampling coordinates; A similarity determination module, used for matching each of the second random sampling coordinates with each of the first random sampling coordinates in the target graphic to obtain a graphic similarity between the candidate layout and the target graphic; A position determination module is used to determine that the position of the candidate layout is a layout defect position of the mask design layout when the graphic similarity is greater than a preset similarity threshold, and the layout defect position is the position of a defect point in the mask design layout that does not meet the process window requirements.
10. An electronic device, characterized in that: The device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the method for determining the layout defect position according to any one of claims 1 to 8 is implemented.
Citation Information
Patent Citations
Printed circuit board defect detection and classification method and device and computer storage medium
CN113870257A
Mask layout correction method
CN115906751A
Part defect detection and evaluation method and device based on binocular vision
CN117576029A