Machine learning-based elimination of candidate hotspot locations in circuit design
By using a machine learning-based elimination selection system to extract feature vectors from layout data and combining them with machine learning models, the problem of too many candidate hotspot locations in low-precision imaging technology is solved, improving the efficiency and accuracy of circuit defect detection and increasing the yield of circuit manufacturing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-07-08
- Publication Date
- 2026-04-03
AI Technical Summary
In existing circuit defect detection methods, low-precision imaging technology outputs too many candidate hotspot locations, resulting in low efficiency of subsequent high-precision imaging verification. Furthermore, the elimination selection strategy of random or fuzzy pattern matching has a low hit rate and cannot effectively identify circuit hotspots.
A machine learning-based elimination selection system is adopted. By extracting feature vectors from the layout data through a hotspot processing engine and combining them with a machine learning model, candidate hotspot locations determined by the low-precision imaging process are eliminated, thereby improving the defect confirmation rate.
It improves the efficiency and accuracy of circuit defect detection, reduces resource waste in subsequent high-precision imaging processes, and increases circuit manufacturing yield.
Smart Images

Figure CN115917550B_ABST
Abstract
Description
Background Technology
[0001] Electronic circuits, such as integrated circuits, are used in almost every aspect of modern society, from automobiles to microwaves to personal computers. Circuit design can involve many steps, known as the "design flow." Specific steps in the design flow typically depend on the type of circuit being designed, its complexity, the design team, and the circuit manufacturer or foundry that will manufacture the circuit. Electronic Design Automation (EDA) applications support the design and verification of circuits before manufacturing. EDA applications can implement various EDA processes, such as functions, tools, or features, to analyze, test, or verify circuit designs at different stages of the design flow. Attached Figure Description
[0002] Some examples are described in the following detailed description with reference to the accompanying drawings.
[0003] Figure 1 An example of a computational system based on machine learning (ML) for down selection of candidate hotspot locations is shown.
[0004] Figure 2 An example of feature vector extraction supporting ML-based elimination selection of candidate hotspot locations is shown.
[0005] Figure 3 An example is shown where a hotspot processing engine identifies hot and non-hot segments from layout data and extracts the corresponding feature vectors.
[0006] Figure 4 An example is shown of how a hotspot processing engine, which supports candidate hotspot locations, normalizes and transforms fragment feature vectors.
[0007] Figure 5 An example of data balancing of fragment feature vectors by a hotspot processing engine is shown.
[0008] Figure 6 An example is shown where an ML model is applied by an ML model application engine to eliminate candidate hotspot locations.
[0009] Figure 7 An example of the logic that the system can implement to support ML-based elimination selection of candidate hotspot locations is shown.
[0010] Figure 8 An example of a computational system that supports ML-based elimination selection of candidate hotspot locations is shown. Detailed Implementation
[0011] Modern circuit design techniques offer various mechanisms for detecting potential or actual defects in manufactured circuits. Physical inspection of the manufactured chip is one method for detecting actual circuit defects and hot spots. As used herein, a "hot spot" can refer to any defective area in a circuit (e.g., an improperly manufactured circuit component not intended for the circuit design, or a flaw in the circuit design itself). On manufactured circuit wafers, hot spots are inherently complex because variations in circuit design characteristics and manufacturing process parameters can lead to circuit defects resulting from a combination of factors.
[0012] Some hotspot detection processes may involve using multiple types of imaging techniques to detect circuit defects in a manufactured wafer. These multi-type inspection techniques typically use high-throughput imaging processes, such as Bright Field Inspection (BFI), to identify candidate hotspot locations or circuit defects on the wafer. Such high-throughput imaging processes can be low-precision because the returned BFI output may have a high signal-to-noise ratio, a high degree of uncertainty, and a false positive rate of 90% or higher. Furthermore, low-precision imaging processes such as BFI can output hundreds of thousands or more candidate hotspot locations, which may require further investigation to confirm the actual hotspots.
[0013] Subsequent defect confirmation can be performed using high-precision imaging techniques, such as scanning electron beam microscopy (SEM). High-precision inspection techniques can offer higher defect detection accuracy than low-precision techniques, but they are typically bandwidth-limited and practically unsuitable for inspecting entire wafers or even the entire BFI output group or other low-precision imaging processes (doing so would require excessive time and resources). Instead, rejection selection of the BFI outputs is necessary to ensure efficient detection of circuit defects and hotspots. However, many current sampling strategies, such as random or fuzzy pattern matching-based methods, often produce low hit rates, and as few as 0.1–0.2% of the candidate locations identified by the BFI and selected by SEM are confirmed as actual circuit hotspots.
[0014] The disclosures herein provide systems, methods, apparatus, and logic for supporting ML-based elimination selection of candidate hotspot locations. Various ML-based elimination selection features can provide the ability to efficiently eliminate candidate hotspot locations determined through a low-precision imaging process, which can lead to an increased defect confirmation rate for subsequent high-precision imaging verification. The features described herein can provide techniques to meaningfully process identified hotspots (e.g., identified circuit defects) to support the training of machine learning models for subsequent elimination selection of candidate hotspot locations. For example, the hotspot processing features described herein may include extracting feature vectors from layout data corresponding to identified hotspots on manufactured circuits, and associating layout geometry in the circuit design with identified defects resulting from circuit manufacturing. The extracted feature vectors can characterize both micro-level features (e.g., micro-level features of specific OPC fragments adjacent to the hotspot location) and macro-level features (e.g., macro-level features involving manufacturing process parameters, etc.). Thus, the ML-based elimination selection features described herein can be process-aware.
[0015] Furthermore, this paper presents various data balancing features to ensure that using the processed fragment feature vectors as ML training data improves the effectiveness and capability of elimination selection. Through the ML-based elimination selection features described in this paper, potential and actual manufacturing defects in circuit designs can be identified with improved efficiency and accuracy, resulting in increased circuit manufacturing yield.
[0016] This document describes in more detail these and other ML-based elimination selection features and technical benefits according to this disclosure.
[0017] Figure 1 An example of a computing system 100 supporting ML-based elimination selection of candidate hotspot locations is illustrated. The computing system 100 can take the form of a single or multiple computing devices, such as application servers, compute nodes, desktop or laptop computers, smartphones or other mobile devices, tablets, embedded controllers, etc. In some implementations, the computing system 100 can be an EDA system that implements, supports, or hosts EDA applications or other EDA-based capabilities. In this regard, the computing system 100 can support various hotspot-related capabilities, including eliminating candidate hotspot locations for subsequent defect confirmation.
[0018] As an example implementation supporting any combination of ML-based elimination selection features described herein, Figure 1The computing system 100 shown includes a hotspot processing engine 110 and an ML model application engine 112. The computing system 100 can implement engines 110 and 112 (including their components) in various ways, such as hardware and programming. Programming for engines 110 and 112 can take the form of processor-executable instructions stored on a non-transitory machine-readable storage medium, and the hardware for engines 110 and 112 can include processors that execute these instructions. The processor can take the form of a single-processor or multi-processor system, and in some examples, the computing system 100 uses the same computing system features or hardware components (e.g., a common processor or a common storage medium) to implement multiple engines.
[0019] In operation, the hotspot processing engine 110 can access a set of input data on hotspot locations on the manufactured circuitry of the circuit design. Hotspot locations can be identified from a set of candidate locations of the circuit design determined by a low-precision imaging process (e.g., BFI) through a high-precision imaging process (e.g., SEM). The hotspot processing engine 110 can also associate hotspot locations with layout data of the circuit design and extract fragment feature vectors of the hotspot locations from optical proximity correction (OPC) fragments of the layout data, including hotspot fragment feature vectors and non-hotspot fragment feature vectors. The hotspot processing engine 110 can further process the fragment feature vectors such that the hotspot fragment feature vectors constitute a threshold percentage of the total number of feature vectors in the fragment feature vectors, and provide the processed fragment feature vectors as a training set for training a machine learning model. In operation, the ML model application engine 112 can apply a machine learning model to eliminate different sets of candidate locations determined by the low-precision imaging process.
[0020] These and other ML-based elimination selection features will be described in more detail below. Specifically, refer to... Figures 2 to 5 Describe example hotspot processing features that support ML-based elimination selection of candidate hotspot locations, and refer to Figure 6 This paper describes example ML model applications for candidate hotspot locations in elimination selection. Many of the examples described are presented using BFI and SEM imaging processes, respectively, as examples of low-precision and high-precision imaging procedures. However, ML-based elimination selection features are not particularly limited to BFI or SEM and can be consistently applied to the verification of any type of multi-type defect in circuit design.
[0021] Figure 2 An example of feature vector extraction supporting ML-based elimination selection of candidate hotspot locations is shown. Figure 2The examples in this document are presented using the hotspot processing engine 110 as an illustrative implementation example, although various other computational implementations of the described features are also envisioned herein.
[0022] To support ML-based elimination selection of candidate hotspot locations, a hotspot processing engine 110 can access hotspot data and process it into training data for a machine learning model configured to support elimination selection of candidate hotspot locations. Raw hotspot data may not be directly usable as machine learning training data; for example, image-based recognition or fuzzy pattern matching techniques used to detect such raw images may not accurately or comprehensively identify potential circuit hotspots (and therefore may be insufficient as a training set, limiting the classification, prediction, or elimination selection capabilities of ML models trained using such raw data). However, the hotspot processing features described herein provide various correlation, analysis, and balancing capabilities to process EDA, circuit, or other relevant data into a training set that enables ML-based elimination selection of candidate hotspot locations with improved efficiency, accuracy, and coverage across the entire chip design.
[0023] In some implementations, the hotspot processing engine 110 can extract representative data of hotspots (e.g., defects) actually detected on the manufactured circuitry of the circuit design. One such form is feature vector extraction, as discussed in more detail herein, from which the hotspot processing engine 110 can extract feature vectors to capture, characterize, or represent specific hotspots detected on the manufactured circuitry. Figure 2 In the example, hotspot processing engine 110 can access input data set 210, which may include hotspot locations detected on manufactured circuit 220 of a particular circuit design.
[0024] The input dataset 210 can be represented in any number of forms and can vary based on the specific imaging or detection techniques used to identify circuit defects on the manufactured circuit 220. In some examples, the manufactured circuit 220 may include one or more circuit wafers or batches manufactured with specific process parameters. Defects on the manufactured circuit 220 can be physically detected using any number of circuit imaging techniques, such as BFI, SEM, or any other circuit inspection process. In this case, hotspot locations can be represented in the input dataset 210 as location identifiers, circuit coordinates, captured image data (e.g., centered on the detected hotspot location), etc.
[0025] In a specific example, the hotspot locations of the input dataset 210 can be confirmed via a high-precision imaging process (e.g., SEM inspection) or otherwise verified. This confirmation and verification can be determined from candidate hotspot locations identified by a low-precision imaging process (e.g., BFI). As used herein, low-precision and high-precision imaging processes can refer to any circuit hotspot detection process used in combination to detect candidate hotspot locations and subsequent defect verification from these locations. This means that a low-precision imaging process can refer to any initial circuit analysis process used to detect (e.g., on manufactured circuits) candidate hotspot locations, while a high-precision imaging process can refer to any subsequent circuit analysis process used to confirm actual circuit defects located at at least some of the candidate hotspot locations.
[0026] In this respect, each hotspot location in the input dataset 210 (e.g., confirmed via SEM) can have a corresponding candidate location determined via a low-precision imaging technique (e.g., BFI). Figure 2 The illustrative example shown includes input data set 210 containing hotspot data for a hotspot location labeled as hotspot location 1, which can be detected and represented as an SEM image 230 centered on hotspot location 1. A specific circuit defect detected in the SEM image 230 of hotspot location 1 can be a pinch-type defect.
[0027] The hotspot processing engine 110 can associate hotspot locations detected on a physically manufactured circuit with layout data of the circuit design. Layout data can refer to or include any circuit data for a given circuit design, such as at the polygonal level of the circuit design. Therefore, layout data can refer to a physical circuit design that includes, describes, or represents specific geometric elements (e.g., polygons) that define the shapes and circuit components to be created from various circuit materials for physically manufacturing the circuit. Through the layout data (also known as the layout design), the physical layers of the physical circuit can have corresponding layer representations in the layout design, and the geometric elements described in the layer representations can define the relative positions of the circuit device components that will constitute the physically manufactured circuit.
[0028] exist Figure 2In the example, hotspot processing engine 110 associates hotspot location 1 (as represented by SEM image 230) with layout data 240. Layout data 240 may include a portion of a layout design, which includes the location of hotspot location 1 in a given layer of the layout design and surrounding geometric elements, such as geometric elements labeled as polygons 241, 242, and 243. To associate a given hotspot location with the layout data, hotspot processing engine 110 can identify the location where the given hotspot location appears in the layout design. For example, SEM image 230 may depict or detect hotspot location 1 at a specific location and a specific physical layer in a physically manufactured chip, whether elucidated by circuit coordinates, physical measurements, or offsets from a specific circuit location. Hotspot processing engine 110 can then identify that specific location in the layout data of the circuit design, which may include location coordinates and the target layer corresponding to the physical chip location where hotspot location 1 appears.
[0029] In associating hotspot locations with layout data, hotspot processing engine 110 can determine an extraction window in the layout data that covers a given hotspot location. The extraction window can refer to a circuit region surrounding the hotspot location, from which hotspot processing engine 110 can extract feature vectors to support ML-based elimination selection of candidate hotspot locations. Hotspot processing engine 110 can determine the extraction window in the layout data based on any number of extraction window parameters or criteria. In some cases, the dimensions, size, shape, or other characteristics of the extraction window for circuit hotspots can be predetermined or user-configurable. For example, hotspot processing engine 110 can determine the extraction window for a given hotspot location as a fixed bounding box centered on the location of the hotspot location in the layout data of the circuit design (e.g., a 500 nm × 500 nm square bounding box around the given hotspot location). As another example, the extraction window determined by hotspot processing engine 110 can match an image depicting the hotspot location captured via BFI, SEM, or other imaging-based defect detection techniques (e.g., the extraction window in the layout data 240 matching the dimensions, shape, and location of the SEM image 230 of hotspot location 1).
[0030] In some implementations, the hotspot processing engine 110 can determine the extraction window by expanding the dimensions of the hotspot image (SEM image, BFI image, or any other image-based representation of the hotspot location). For example, the hotspot processing engine 110 can set the extraction window in the layout data of the circuit design by expanding the SEM image dimensions by a fixed value in each direction (e.g., by 200 nm), by a multiple of the dimensional values detected by the SEM image 230 (e.g., twice the perimeter dimension), and by expanding in various other ways. By expanding the area of the layout design surrounding the hotspot location from the hotspot image, the hotspot processing engine 110 can support feature extraction from a wider range of circuit portions that may potentially contribute to circuit defects, including both hot and non-hotspot portions of the layout design, as discussed further herein.
[0031] As yet another example, the hotspot processing engine 110 can variably determine an extraction window for a given hotspot location based on the location of a given hotspot location in the circuit design (e.g., in layout data) and the uncertainty range of an imaging technique used to detect the given hotspot location in the manufactured circuit 220. The SEM imaging technique can, for example, have an uncertainty range of 10 nm–12 nm, and the hotspot processing engine 110 can determine the extraction window for the hotspot location detected by the SEM technique based on the uncertainty range and the location of the hotspot location. As an example, the hotspot processing engine 110 can determine the extraction window for a given hotspot location represented as an SEM image as a boundary shape in the layout data, the dimension of which is determined to be a multiple of the uncertainty range of the SEM image (e.g., 10 times the uncertainty range). In any of the ways described herein, the hotspot processing engine 110 can determine an extraction window in the layer data of the circuit design for the hotspot location.
[0032] Hotspot processing engine 110 can extract feature vectors from such extraction windows in the circuit layout design to characterize detected hotspots and support the generation of training data to support ML-based elimination selection of candidate hotspot locations. The extraction window can actually represent a specific partition of the layout data, from which hotspot processing engine 110 can extract feature vectors to characterize that specific partition (or specific elements thereof). As described herein, hotspot processing engine 110 can label the extracted feature vectors and use the labeled feature vectors as training data for ML modeling. The extracted feature vectors can be represented (e.g., labeled) by hotspot processing engine 110 as hotspot portions of the circuit design, non-hotspot portions of the circuit design, or in various other ways. Many examples presented herein are in the form of binary classification (e.g., hotspot or non-hotspot). However, hotspot processing engine 110 also supports multi-class labeling, such as distinguishing and labeling the generated training data based on specific hotspot types (e.g., pinch-offs, bridging, etc.).
[0033] The hotspot processing engine 110 can extract feature vectors from the sub-parts of the extraction window. In some implementations, the hotspot processing engine 110 extracts feature vectors based on each segment, doing so for polygonal or geometric elements of the layout data decomposed into OPC segments. In this respect, the hotspot processing engine 110 can identify a given subset of the OPC segments in the extraction window as hotspot segments and another subset as non-hotspot segments. The hotspot processing engine 110 can then extract feature vectors (referred to herein as hotspot segment feature vectors) from the identified hotspot segments and feature vectors (referred herein as non-hotspot segment feature vectors) from the identified non-hotspot segments.
[0034] exist Figure 2 In the example shown, the hotspot processing engine 110 extracts segment feature vectors 250 representing hotspot locations from the input dataset 210. The segment feature vectors 250 extracted by the hotspot processing engine 110 may include hotspot segment feature vectors 251 and non-hotspot segment feature vectors 252. (See below for further details.) Figure 3 Describe exemplary features for identifying hot and non-hot segments in layout data and for feature vector extraction.
[0035] Figure 3 An example is shown where hotspot and non-hotspot segments are determined from layout data by the hotspot processing engine 110, along with the corresponding feature vector extraction. Figure 3 In the specific example shown, the hotspot processing engine 110 is designed for... Figure 2 The layout data 240 described herein defines an extraction window to extract fragment feature vectors. The layout data 240 includes hotspot location 1 and polygons 241, 242 and 243 (or at least some portions of these polygons).
[0036] Figure 3 The layout data 240 shown is decomposed into OPC fragments, and the various OPC fragments of polygons 241, 242, and 243 are shown in the layout data 240 as thin rectangular frames forming the peripheries of polygons 241, 242, and 243. The OPC process in EDA applications can introduce serifs, indentations, or other polygon adjustments applied to the lithographic mask to compensate for diffraction effects during the lithography process. For illustrative purposes, in Figure 3 The text describes such polygonal adjustments as surrounding the dashed lines around polygons 241, 242, and 243.
[0037] The hotspot processing engine 110 can access layout data 240 including decomposed OPC fragments from EDA applications, as OPC or other EDA-based resolution enhancement techniques (RET) can generate fragmented layout data. Partitioning polygon-level data (e.g., decomposing it into OPC fragments) provides a mechanism through which the hotspot processing engine 110 can perform feature vector extraction on different parts of the extraction window or circuit design, thereby allowing the labeling of training data to support subsequent ML modeling and elimination selection of candidate hotspot locations. While many of the feature vector extraction examples described herein are presented with reference to OPC fragments, for feature vector extraction, data representation, or any form of hotspot processing, this paper considers any other sub-parts of the circuit design or layout design to support ML-based elimination selection of candidate hotspot locations.
[0038] For a given extraction window, the hotspot processing engine 110 can classify OPC fragments (or other sub-parts of the layout data) into multiple categories. The hotspot processing engine 110 can use some or all of these categories as labels to form the training dataset for the ML model. Figure 3 In the example, the hotspot processing engine 110 classifies OPC fragments of the extraction window depicted by layout data 240 into hotspot fragments, indeterminate fragments, or non-hotspot fragments. Each of these classifications and fragment types is described in turn.
[0039] As an example classification, the hotspot processing engine 110 can identify hotspot segments. The hotspot processing engine 110 can determine a selected subset of OPC segments representing hotspots within an extraction window, which allows ML techniques to learn specific characteristics, parameters, or aspects of the hotspot via the OPC segments surrounding it. In some implementations, the hotspot processing engine 110 can identify hotspot segments as any OPC segment within the extraction window that is (at least partially) located within an interaction area. The interaction area can refer to any defined portion of the extraction window through which the hotspot processing engine 110 can characterize certain OPC segments as hotspot segments.
[0040] exist Figure 3 An example is illustrated using interaction area 310, which the hotspot processing engine 110 can define as a circular enclosing area centered on hotspot location 1 (represented by a "+" symbol). Any OPC fragment partially or completely enclosed by interaction area 310 can be identified as a hotspot fragment by the hotspot processing engine 110. The radius (or any other size or area parameter) of interaction area 310 can be configurable, allowing the hotspot processing engine 110 to flexibly control the precision or granularity of representing hotspot fragments in the layout data.
[0041] The interactive area can be defined by the hotspot processing engine 110 in various ways, whether it is a circle defined by a radius value or a bounding box with predetermined or configurable dimensions. In some implementations, the hotspot processing engine 110 can apply a threshold distance parameter (e.g., radius) to the interactive area and identify any OPC fragment located within a threshold distance range from the hotspot location of the extraction window as a hotspot fragment.
[0042] exist Figure 3 In the process, the hotspot processing engine 110 identifies six (6) OPC fragments in the layout data 240 as partially or completely surrounded by the interaction area 310, and thus identifies these six (6) OPC fragments as hotspot fragments 320 at the given hotspot location. Figure 3 The hotspot segment 320 shown is also patterned with vertical lines. After identifying the hotspot segments in the extraction window, the hotspot processing engine 110 can extract hotspot segment feature vectors for a given hotspot location from the hotspot segment 320. The hotspot processing engine 110 can extract feature vectors from a given OPC segment in any number of forms, and each feature vector extracted from the layout data of the circuit design can represent a discrete OPC segment (or other circuit portion) of the circuit design.
[0043] The hotspot processing engine 110 can extract feature vectors of any type or format, and the extracted fragment feature vectors can track any number of characteristics of OPC fragments in a circuit design. In some embodiments, the extracted feature vectors can take the form of an n-dimensional vector of digital parameter values captured for an OPC fragment. As an illustrative example, the feature vectors extracted by the hotspot processing engine 110 can represent a given OPC fragment in a layout design, and example parameter values of the extracted feature vectors can digitally represent OPC fragments and geometric data, fragment length, analog- or convolution-based geometric data of OPC fragments and adjacent fragments, contour data, fragment position data, adjacent geometry, or any number of additional or alternative characteristics specific to the OPC fragment. In some embodiments, the hotspot processing engine 110 can extract feature vectors representing micro-level characteristics of OPC fragments (whether for the OPC fragment itself or adjacent OPC fragments, rather than for overall chip parameters or characteristics).
[0044] To support process-aware elimination selection of candidate hotspot locations, the hotspot processing engine 110 can extract fragment feature vectors that further characterize the process parameters used to manufacture a given circuit. Exemplary processing parameters that the hotspot processing engine 110 may include in feature vector extraction include macroscopic parameters such as chip name, layer name, process identifier, wafer identifier, batch identifier, dose value, focal value, round value, hotspot type parameters (e.g., pinch-off, bridging, etc.), and chip- and wafer-level process-related heatmap lookup data, such as location flare values from Extreme Ultraviolet (EUV) flare maps, density values from Chemical Mechanical Polishing (CMP) density maps, and so on. Thus, the fragment feature vector extracted by the hotspot processing engine 110 may include a vector portion characterizing the manufacturing process characteristics of the hotspot location.
[0045] Additionally or alternatively, the fragment feature vector extracted by the hotspot processing engine 110 may include a vector portion characterizing a specific candidate location from which the hotspot location is confirmed via high-precision imaging techniques. Using an exemplary SEM-based hotspot location as an example, the hotspot processing engine 110 may concatenate, append, or include a vector portion characterizing a BFI candidate hotspot location from which the SEM-based hotspot location is verified as having a circuit defect. Examples of BFI or other low-precision imaging features may include a BFI signal or a BFI subvector generated by the BFI imaging process. Exemplary features that such a feature vector portion may represent include light quantity values, light intensity, spot-likeness, BFI internal signals, or any other BFI information generated by a BFI machine used to perform a low-precision imaging process to determine candidate hotspot locations from a manufactured circuit. As noted herein, although BFI is one example of a low-precision imaging process, this document contemplates any other type of circuit defect detection process, and the hotspot processing engine 110 may similarly encapsulate the corresponding characteristics in the fragment feature vector.
[0046] In this way, the hotspot processing engine 110 can extract feature vectors from OPC fragments (including hotspot fragments and non-hotspot fragments) of the circuit design. As described herein, the hotspot processing engine 110 can distinguish different types of hotspot fragments and label the extracted hotspot fragment feature vectors as hotspots in general terms (e.g., in binary classification) or based on hotspot type (e.g., bridging, pinch-off, etc.), which is based on circuit geometry analysis, SEM hotspot verification output, historical chip trends, etc.
[0047] continue Figure 3Through classification and discussion, the hotspot processing engine 110 can classify some OPC fragments of the extraction window into indeterminate fragments. Indeterminate fragments can include OPC fragments of the interactive window that cannot be definitively characterized as either hotspot or non-hotspot OPC fragments. In some examples, the hotspot processing engine 110 can identify any OPC fragment located within the same polygon as a determined hotspot fragment as an indeterminate fragment. Figure 3 As shown, each hotspot segment 320 determined by the hotspot processing engine 110 lies on the same polygon of the layout data 240, namely polygon 241. In this case, the hotspot processing engine 110 can identify the remaining OPC segments of polygon 241 as indeterminate segments 330 (remaining in the case that the indeterminate segments are within the extraction window and are not classified as hotspot segments 320). Figure 3 In the text, indeterminate segment 330 includes segments of polygon 241 marked with arrows as indeterminate segment 330; however, note that for visual clarity, in... Figure 3 Not all uncertain segments in 330 are marked with arrows.
[0048] The hotspot processing engine 110 can classify certain OPC fragments as indeterminate fragments based on the precision or precision limitations of modern chip inspection techniques (such as BFI and SEM). For example, SEM imaging technology can identify circuit hotspots and defects within a precision range of 10 nm to 12 nm, and a specific hotspot location specified in the SEM image can deviate by an error range of 10 nm to 12 nm. Thus, the corresponding OPC fragment surrounding the hotspot location in the SEM image (e.g., within the interaction area) may or may not be the actual OPC fragment surrounding the exact defect location of the circuit hotspot. Furthermore, manufacturing process shifts can lead to inaccuracies in precise hotspot locations, and therefore may not be able to accurately characterize OPC fragments on the same polygon where the hotspot appears.
[0049] To avoid uncertainty and the possibility of inaccurate labeling, instead, the hotspot processing engine 110 can discard any uncertain segments located on the same polygon as the hotspot segment, thus excluding these uncertain segments from the training data used for ML modeling. Discarding uncertain segments can refer to a process in which the hotspot processing engine 110 determines which feature vectors of specific OPC segments identified as uncertain segments will not be extracted from the extraction window, and thus excludes representations of such OPC segments from the generated training data. In some cases, the hotspot processing engine 110 can extract some, but not all, of the feature vectors from the OPC segments within the extraction window for a given hotspot location (particularly when the polygon includes additional OPC segments besides the identified hotspot segments, and such additional OPC segments will be classified as uncertain segments and thus discarded / not included in the training set used for ML modeling). The identification and discarding of uncertain segments can improve the accuracy of ML training data, thereby improving the accuracy of ML-based elimination selection using training data that does not have feature vectors representing uncertain segments.
[0050] Continuing with the classification example, the hotspot processing engine 110 can also identify non-hotspot segments within the extraction window. The hotspot processing engine 110 can do this by identifying OPC segments that are not identified as hotspot segments (e.g., not within a threshold distance from a given hotspot location) and are not identified as indeterminate segments as non-hotspot segments. For example, the hotspot processing engine 110 can classify non-hotspot segments as polygons that do not include hotspot segments within the extraction window (e.g., polygons that do not include hotspot segments). Figure 3 The OPC fragments of polygons 242 and 243 shown.
[0051] In this example, the hotspot processing engine 110 identifies the non-hotspot segment 340 as... Figure 3 The OPC fragments of polygons 242 and 243 are shown (note that the arrows of the non-hotspot fragment 340 of polygon 243 are not clearly shown for visual clarity). Then, the hotspot processing engine 110 extracts a non-hotspot fragment feature vector from the determined non-hotspot fragment 340 for a given hotspot location (in this case, hotspot location 1). The extraction of feature vectors from non-hotspot fragments 340 can be performed in the same manner as the extraction of hotspot fragment feature vectors from hotspot fragments 320.
[0052] In any of the ways described herein, the hotspot processing engine 110 can extract feature vectors of hotspot locations from the input dataset. In this way, the hotspot processing engine 110 can extract other circuit, layout, or design-specific characteristics of the relevant OPC fragments or hotspot portions (e.g., classified as hotspot fragments) and non-hotspot portions (e.g., classified as non-hotspot fragments). In other words, the hotspot processing engine 110 can use "hotspot" and "non-hotspot" classifications (or multi-class "hotspot" designations based on hotspot type) as labels for the fragment feature vectors included in the ML training set. Therefore, the fragment feature vectors extracted from the layout design can form the basis of labeled training data for the ML model, although further processing of the extracted fragment feature vectors is also envisioned herein. (See below for further details.) Figure 4 and Figure 5 An example of feature vector processing for ML-based elimination selection based on supporting candidate hotspot locations is described in accordance with this disclosure.
[0053] Figure 4 An example is shown of how a fragment feature vector is normalized and transformed by a hotspot processing engine 110 that supports candidate hotspot locations and performs elimination selection. Figure 4 In the example, the hotspot processing engine 110 processes a fragment feature vector 410, which includes both hotspot fragment feature vectors 411 and non-hotspot fragment feature vectors 412. The hotspot processing engine 110 can generate or extract fragment feature vectors 410 from hotspot locations, and do so in any manner described herein.
[0054] As an example of fragment feature vector processing, hotspot processing engine 110 performs a data normalization process on fragment feature vector 410. Hotspot processing engine 110 can apply any number of normalization techniques to normalize the parameter values of the extracted feature vector, such as through a minimum / maximum scaler or other normalization processes. Normalization of fragment feature vector 410 can reduce artificial weight differences between features (e.g., parameters) of OPC fragments, especially when features are measured in different units, and doing so can increase the data integrity representing fragment feature vectors.
[0055] In some implementations, the hotspot processing engine 110 can extract additional fragment feature vectors from the circuit design to support normalization of the fragment feature vectors 410 extracted for detected hotspot locations in the circuit design. Such additional fragment feature vectors can be referred to as unknown fragment feature vectors because they can be extracted from OPC fragments of other chip portions unrelated to or independent of the detected hotspot locations in the input dataset (and therefore it is unknown whether these OPC fragments include undetected hotspots). Figure 4In the process, the hotspot processing engine 110 can extract fragment feature vectors from additional parts of the layout design and normalize the fragment feature vector 410 using these extracted fragment feature vectors, which are marked as unknown fragment feature vectors 413.
[0056] Hotspot processing engine 110 can extract the feature vector 413 of the unknown segment in various ways. In some examples, hotspot processing engine 110 can sample random partitions of the layout design and extract feature vectors from OPC segments located within the randomly sampled partitions of the circuit. As another example, hotspot processing engine 110 can use any number of precise or fuzzy pattern matching techniques to identify matching circuit portions with geometries similar to hotspot locations in the input dataset. This similarity determination can vary based on the specific similarity criteria of the pattern matching technique applied by hotspot processing engine 110, and hotspot processing engine 110 can extract feature vectors from the OPC segments of these pattern-matched circuit portions to generate the feature vector 413 of the unknown segment.
[0057] The unknown fragment feature vector 413 can increase the number of fragment feature vectors used in the normalization process. By applying an increased set of fragment feature vectors for data normalization, the hotspot processing engine 110 can provide a more comprehensive representation of OPC fragments in the circuit design. This avoids an overly narrow normalization range that does not consider circuit portions of OPC fragments outside the defined extraction window used for detected hotspot locations. Furthermore, expanding the entire set of extracted feature vectors by adding unknown feature vectors allows the hotspot processing engine 110 to ensure an appropriate range of data for data normalization, which can subsequently increase the accuracy, scope, and effectiveness of the hotspot representation via feature vectors selected through ML-based elimination for candidate hotspot locations.
[0058] Continuing with the example of fragment feature vector processing, the hotspot processing engine 110 can apply a multivariate transformation process to the fragment feature vector 410. In some implementations, the hotspot processing engine 110 performs the multivariate transformation after normalization, and only for the normalized hotspot and non-hotspot fragment feature vectors. That is, the hotspot processing engine 110 can utilize the unknown fragment feature vector 413 to increase the effectiveness of data normalization, but does not need to further process the unknown fragment feature vector 413, or include the unknown fragment feature vector 413 as part of the ML training set, because such an unknown fragment feature vector 413 is not labeled as a hotspot fragment feature vector or a non-hotspot fragment feature vector.
[0059] When applying multivariate transformation processes, the hotspot processing engine 110 can use any number of multivariate analysis techniques to transform the feature space of the accessed set of feature vectors. In some implementations, the hotspot processing engine 110 transforms the feature space using Principal Component Analysis (PCA). Thus, the hotspot processing engine 110 can implement any type of PCA or any other multivariate transformation or dimensionality reduction capability to support feature space transformation. By performing PCA (or any other multivariate transformation) on the feature space of the fragment feature vector 410, the hotspot processing engine 110 can map the fragment feature vector 410 to different coordinate systems, which further correlate the parameter values of the OPC fragments and support variance determination or other data processing capabilities with improved validity, accuracy, or efficiency. Figure 4 In the process, the hotspot processing engine 110 obtains the transformed fragment feature vector 420 after applying multivariate transformation processing.
[0060] In any of the methods described herein, the hotspot processing engine 110 can process fragment feature vectors through a normalization process, a multivariate transformation process, or a combination of both. (Appendix to or replace) Figure 4 As described in the processing features, the hotspot processing engine 110 can process fragment feature vectors through data balancing, and can do so to ensure that hotspot OPC fragments are represented proportionally or meaningfully in the training dataset to support efficient ML training and modeling. Example data balancing features will be described in more detail below.
[0061] Figure 5 An example of data balancing of fragment feature vectors by the hotspot processing engine 110 is shown. Figure 5 In the example, hotspot processing engine 110 processes fragment feature vector 510, which includes both hotspot fragment feature vector 511 and non-hotspot fragment feature vector 512. Hotspot processing engine 110 can generate or extract fragment feature vector 510 from hotspot locations, and do so in any manner described herein. In some cases, fragment feature vector 510 can be normalized and / or transformed before data balancing, and for example, similar to the above for... Figure 4 The transformed segment feature vector 420.
[0062] In the data of the balanced fragment feature vector 510, the hotspot processing engine 110 can ensure that the hotspot fragment feature vector 511 (or a subclass of the hotspot fragment feature vector 511) forms a statistically significant portion of the training set provided to the ML model. This ensures that the hotspot fragment feature vector includes a sufficient number of samples so that the ML model can appropriately learn, process, characterize, or represent OPC fragments for hotspot prediction and candidate hotspot location evaluation. This can be particularly important because SEM images or other hotspot inspection techniques may cover a small portion of the entire chip design (e.g., the hotspot locations in the input dataset represent less than 1% of the total chip area). Furthermore, the determination of hotspot and non-hotspot fragments, as described herein, can result in a significantly larger number of identified non-hotspot fragments than the number of identified hotspot fragments (e.g., up to a difference of 50 times or more). Thus, the data balancing feature described herein provides a mechanism to ensure that the training data provided to the ML model appropriately weights the hotspot fragment feature vectors to support accurate machine learning of hotspot features and increase the effectiveness of subsequent ML-based elimination selection of candidate hotspot locations.
[0063] When processing the fragment feature vector 510, the hotspot processing engine 110 can group the hotspot fragment feature vector 511 according to any number of hotspot features. In some cases, the hotspot processing engine 110 can characterize each hotspot feature vector according to a set of characteristic parameter values, and can determine the hotspot feature fragment vector of each group based on the characteristic parameter values of the hotspot fragment feature vector 511.
[0064] As an example implementation, the hotspot processing engine 110 can group the hotspot fragment feature vectors 511 based on process-specific parameters attributable to the hotspot fragment feature vectors 511. Examples of process-specific parameters may include macro-level parameters such as chip name, layer name, process identifier, wafer identifier, batch identifier, dose value, focus value, roundness value, hotspot type parameters (e.g., pinch-off, bridging, etc.) or other customizable or user-configurable characteristics, such as a configured hotspot severity level. The characteristic parameter value of each hotspot fragment feature vector can be used as a unique group identifier, which the hotspot processing engine 110 can use to group, cluster, or otherwise classify the hotspot fragment feature vectors 511 into different groups. The number of groups can be configured by the hotspot processing engine 110 based on the number of characteristic parameter values used in the grouping process and the number of unique values in the fragment feature vector for each individual characteristic parameter value. Figure 5In the example shown, the hotspot processing engine 110 groups the hotspot fragment feature vector 511 into grouped hotspot fragment feature vectors 520, which include groups labeled as HS Group1, HS Group2, HS Group3, etc.
[0065] The hotspot processing engine 110 can augment the grouped hotspot fragment feature vectors 520 with data to ensure that the hotspot fragment feature vectors in each group reach a statistical threshold. By doing so, the hotspot processing engine 110 ensures that the group with fewer representations of the hotspot fragment feature vectors has a sufficient number of data samples, enabling the ML model to effectively learn and identify hotspots characterized by the feature parameter values of the group with fewer representations. In some examples, the hotspot processing engine 110 can augment the grouped hotspot fragment feature vectors 520 with data such that each group of hotspot fragment feature vectors has the same number of hotspot fragment feature vectors. In some implementations, the hotspot processing engine 110 does this by replicating randomly selected or specifically selected hotspot fragment feature vectors from a given group to reach a specific numerical threshold (e.g., the number of hotspot fragment feature vectors in a specific group that has the highest number of hotspot fragment feature vectors in the grouped hotspot fragment feature vectors 520, or a predetermined value (e.g., 500,000 samples)).
[0066] In some examples, the hotspot processing engine 110 can ensure that the hotspot fragment feature vectors are uniformly distributed across each group of the grouped hotspot fragment feature vectors 520. By doing so, the hotspot processing engine 110 can categorize the training data provided to the ML model to ensure that no particular hotspot group is overweighted during machine learning (as characterized by feature parameter values). In other examples, the hotspot processing engine 110 can weight the values of certain groups (e.g., as determined by the hotspot severity feature) to be smaller or higher in the numerical distribution of the hotspot fragment feature vectors across the groups. Figure 5 In the process, the hotspot processing engine 110 obtains the expanded hotspot segment feature vector 530 after data augmentation of the grouped hotspot segment feature vector 520.
[0067] When processing fragment feature vectors 510, the hotspot processing engine 110 can perform data balancing on hotspot fragment feature vectors and non-hotspot fragment feature vectors. As described herein, feature vector extraction may favor a larger number of non-hotspot fragment feature vectors (e.g., a ratio as high as 50:1 or higher) compared to hotspot fragment feature vectors. To support efficient ML training of circuit features, hotspot evaluation, and elimination of candidate hotspot locations, the hotspot processing engine 110 balances fragment feature vectors 510 such that hotspot fragment feature vectors 511 account for at least a threshold percentage of the total number of fragment feature vectors, or in other words, to ensure that the ratio between hotspot fragment feature vectors and non-hotspot fragment feature vectors meets at least a threshold ratio, such as 1:1.
[0068] To this end, the hotspot processing engine 110 can augment the hotspot segment feature vectors to reach a threshold number, for example, by randomly or specifically selecting data copies of the hotspot segment feature vectors. Note that in doing so, the hotspot processing engine 110 can maintain the necessary numerical distribution among different groups of hotspot segment feature vectors (e.g., by consistently copying the augmented hotspot segment feature vectors 530 to each group to maintain the necessary numerical distribution).
[0069] Additionally or alternatively, the hotspot processing engine 110 can balance the segment feature vector 510 by downsampling the feature vectors of non-hotspot segments until a threshold percentage or ratio is reached. In some embodiments, the hotspot processing engine 110 can perform data augmentation of the grouped hotspot segment feature vectors 520 by combining the data balance (or the ratio to the non-hotspot segment feature vectors) of the hotspot segment feature vectors with the total segment feature vectors.
[0070] Therefore, the hotspot processing engine 110 can perform data balancing on the fragment feature vectors. Figure 5 In this process, the hotspot processing engine 110 processes the fragment feature vectors 510 through data balancing to obtain processed fragment feature vectors 540. In processing the fragment feature vectors, the hotspot processing engine 110 can address data minority problems that may later affect the ability or effectiveness of the ML model to represent specific types of hotspots that are not properly represented in the training set. By ensuring the statistical importance of hotspot fragment feature vectors (and their groups), the hotspot processing engine 110 can increase the scope and ability of the trained ML model to predict, represent, evaluate, or otherwise identify different types of hotspots occurring across the entire range or manufacturing process conditions, which can allow for more efficient elimination selection.
[0071] In any of the methods described herein, the hotspot processing engine 110 can extract fragment feature vectors of hotspot locations in a circuit design and process these fragment feature vectors to support ML-based elimination selection of candidate hotspot locations. Specifically, the hotspot processing engine 110 can provide the processed fragment feature vectors as a labeled training dataset to an ML model, from which the ML model learns and implements hotspot prediction capabilities. Since the fragment feature vectors can be processed through normalization, multivariate transformation, data augmentation, and / or balancing techniques, the hotspot processing engine 110 can specifically prepare the training set provided to the ML model to increase the capability, efficiency, accuracy, and scope of ML-based elimination selection of candidate hotspot locations. The ML model trained using the labeled training data described herein can then be applied to predict hotspot locations across the entire chip design.
[0072] Figure 6 This illustrates an application example where the ML model application engine 112 applies an ML model to eliminate and select candidate hotspot locations. Figure 6 In this context, the ML model application engine 112 implements the ML model 610, which is trained using fragment feature vectors extracted and processed in any manner described herein. The processed fragment feature vectors can be labeled via hotspot and non-hotspot designations determined by the hotspot processing engine 110 (which may include multi-class labels with multiple types of hotspots), and therefore can be used as training data in any number of supervised learning techniques.
[0073] ML model 610 can implement or provide any number of machine learning techniques and capabilities to analyze, interpret, and utilize processed fragment feature vectors to eliminate candidate hotspot locations. For example, ML model 610 can implement any number of supervised learning models (e.g., support vector machines or other supervised learning techniques), semi-supervised learning models, unsupervised learning models, or reinforcement learning models to characterize OPC fragments of any part of the circuit design based on probability, class, or other ML outputs indicative of hotspot evaluation. In some cases, ML model 610 can generate a failure probability for a given OPC fragment, which can reflect the probability that a candidate OPC fragment might cause a circuit defect. ML model application engine 112 can, for example, eliminate candidate hotspot locations by selecting candidate hotspot locations that include candidate OPC fragments with the highest failure probabilities, using the determined failure probabilities.
[0074] In order to pass Figure 6As shown, the ML model application engine 112 can access a set of candidate locations 620. Candidate locations 620 can represent potential hotspot locations determined through a low-precision imaging process, such as BFI outputs from BFI inspections used for manufacturing circuits. Note that candidate locations 620 can be determined for circuit designs different from those used to train the machine learning model 610, thus allowing the ML-based elimination selection features described herein to be applied across chips. The ML model application engine 112 can perform an elimination selection process on candidate locations 620 using the ML model 610, and by doing so, a subset of candidate locations 620 can be selected through a high-precision imaging process for subsequent confirmation of circuit defects. At this point, candidate locations 620 can present a set of BFI outputs, which the ML model application engine 112 can perform elimination selection on to determine a subset of SEM inspection locations for defect confirmation.
[0075] During the elimination selection process, the ML model application engine 112 can, for example, associate candidate locations with layout data in a manner similar to that described herein for associating hotspot locations with layout designs. For a given candidate location, the ML model application engine 112 can determine the uncertainty window to which the candidate OPC fragment is targeted for analysis via the ML model 610. The determined uncertainty window can represent a possible location of a circuit defect within the candidate hotspot locations identified by BFI (or other low-precision imaging processes). In this respect, the uncertainty window determined by the ML model application engine 112 can take into account the precision limitations of BFI and other low-precision imaging processes.
[0076] The ML model application engine 112 can determine the uncertainty window in the layout data for a given candidate hotspot location based on the uncertainty range of the low-precision imaging used to determine the candidate hotspot location. For example, for determining Figure 6 The BFI machine at candidate position 620 can have an uncertainty range from 0 nm to 600 nm. In this case, the ML model application engine 112 can define the uncertainty window in the layout data as a 1200 nm × 1200 nm square centered at each candidate hotspot position of candidate position 620. Other forms are also possible, such as a circular uncertainty window with a radius equal to the maximum uncertainty range and centered at each candidate hotspot position, a rectangular uncertainty window, etc. Figure 6 In the ML model application engine 112, an uncertain window 630 is determined for candidate position 1 in candidate position 620.
[0077] The ML model application engine 112 can determine a selected sub-section of the uncertainty window for analysis of ML-based elimination selection. In this respect, the ML model application engine 112 does not need to analyze every OPC fragment in the uncertainty window 630, as such a brute-force technique could be inefficient and unnecessarily consume computational resources. Instead, the ML model application engine 112 can analyze the layout data in the uncertainty window 630 to select candidate fragments for analysis via the ML model 610. In some implementations, the ML model application engine 112 can perform any number of geometric analyses on the layout data included in the uncertainty window to identify potential defective regions present in the analyzed layout data. For example, the ML model application engine 112 can perform a Design Rule Check (DRC) or other geometric analyses to determine potential defective regions based on various DRC criteria.
[0078] In some implementations, the ML model application engine 112 can perform target geometry analysis on layout data within an uncertain window. This target geometry analysis may include DRC or other geometry analysis procedures tailored to specific defect types. Such a target-seeking process may be based on determined defect information associated with candidate location 620, such as metadata from the BFI machine or other analysis procedures indicating the type of circuit defects included in candidate location 620, user input characterizing the defect types in candidate location 620, historical chip data indicating defects or other defect types that may exist in similar chip regions, etc.
[0079] By performing analytical processing on the layout data associated with candidate location 620 (e.g., included in the determined uncertainty window 630), the ML model application engine 112 can obtain analysis markers. Analysis markers can indicate any indication of potentially defective areas in the layout data, such as layout design portions that violate one or more criteria of the DRC process. Figure 6 In the example analysis marker for candidate position 1 is shown as analysis marker 640, and the ML model application engine 112 can generate or obtain analysis marker 640 via DRC check output.
[0080] The ML model application engine 112 can determine candidate fragments for a given candidate location to be further processed via the ML model 610. In some cases, the ML model application engine 112 can identify each OPC fragment in an uncertainty window 630 that is included in or overlaps with analysis markers 640, whether partially or entirely. In a more general sense, the ML model application engine 112 can determine candidate fragments as any OPC fragment that overlaps (at least partially) with a region of uncertainty window 630 identified as a potential defect location. Figure 6 In the example shown, the ML model application engine 112 identifies candidate fragment 650 as eight (8) OPC fragments that overlap with or are contained within an uncertain window 630 within the coverage area of the analysis marker 640. The ML model application engine 112 can then extract fragment feature vectors from the candidate fragments 650 and provide the extracted fragment feature vectors as input to the ML model 610 to generate a failure probability 660 for the candidate fragments 650.
[0081] When the ML model 610 is applied together with the candidate segments, the ML model application engine 112 can extract segment feature vectors from the candidate segments 650 in a consistent format, and use these segment feature vectors extracted by the hotspot processing engine 110 to train the ML model 610. Thus, the segment feature vectors extracted from the candidate segments 650 can include segment-specific characteristics, a vector portion characterizing the manufacturing process characteristics of the candidate position 630 (from which the candidate segment 650 is determined), and a vector portion characterizing the candidate position 620 itself (e.g., BFI feature vectors, signals, and characteristics).
[0082] Using the failure probability 660, the ML model application engine 112 can perform elimination selection on candidate locations 620, for example, by reducing the number of candidate hotspot locations 620 based on which candidate hotspot locations have the highest failure probability and the highest probability of presenting circuit defects, as determined by the ML model 610. In this way, the ML model application engine 112 can support ML-based elimination selection of candidate hotspot locations.
[0083] In some implementations, the ML model application engine 112 may eliminate candidate locations 620 based on failure probabilities calculated for a selected region surrounding candidate locations 620. For example, candidate locations 620 may take the form of user-provided BFI candidate hotspot locations, and the ML model application engine 112 may calculate a representative failure probability for each candidate location 620 based on a BFI image (based on BFI resolution) representing candidate locations 620 and surrounding chip regions. The representative failure probability may be determined by the ML model application engine 112 as the maximum failure probability of OPC segments included in a given BFI image (for a given candidate location), the average failure probability of OPC segments in the BFI image, or any other function of the failure probability of OPC segments within a selected region surrounding candidate locations 620. At this point, the ML model application 112 may rank candidate locations 620 based on the calculated representative failure probabilities and then eliminate candidate locations 620 based on the ranking (e.g., eliminating the “X” candidate locations 620 with the highest representative failure probabilities). Any number of ranking and elimination implementations are contemplated herein.
[0084] Although many ML-based elimination selection features have been described herein by way of illustrative examples presented in various figures, the hotspot processing engine 110 and the ML model application engine 112 can implement any combination of the ML-based elimination selection features described herein.
[0085] Figure 7 An example of logic 700 that the system can implement to support ML-based elimination selection of candidate hotspot locations is shown. For example, computing system 100 may implement logic 700 as hardware, executable instructions stored on a machine-readable medium, or a combination of both. Computing system 100 may implement logic 700 via hotspot processing engine 110 and ML model application engine 112, through which computing system 100 may run or execute logic 700 as a method to support ML-based elimination selection of candidate hotspot locations. The following description of logic 700 uses hotspot processing engine 110 and ML model application engine 112 as examples. However, various other implementation options performed by the system are also possible.
[0086] In implementing logic 700, hotspot processing engine 110 can access an input data set (702) of hotspot locations on the manufactured circuitry of the circuit design, associate the hotspot locations with the layout data of the circuit design (704), and extract fragment feature vectors of the hotspot locations from the OPC fragments of the layout data (706). The extracted fragment feature vectors may include hotspot fragment feature vectors and non-hotspot fragment feature vectors of the hotspot locations. In implementing logic 700, hotspot processing engine 110 can further process the fragment feature vectors (708), doing so in any manner described herein, and providing the processed fragment feature vectors as a training set for training a machine learning model. In implementing logic 700, ML model application engine 112 can apply a machine learning model to eliminate different sets of candidate locations (712), for example, for subsequent defect confirmation through a high-precision imaging process.
[0087] Figure 7 The logic 700 shown provides an illustrative example of how the computing system 100 can perform ML-based elimination selection of candidate hotspot locations. Additional or alternative steps in logic 700 are envisioned herein, including any of the features described herein with respect to hotspot processing engine 110, ML model application engine 112, or a combination of both.
[0088] Figure 8An example of a computing system 800 supporting ML-based elimination selection of candidate hotspot locations is shown. The computing system 800 may include a processor 810, which may take the form of a single processor or multiple processors. The processor 810 may include a Central Processing Unit (CPU), a microprocessor, or any hardware device adapted to execute instructions stored on a machine-readable medium. The computing system 800 may include a machine-readable medium 820. The machine-readable medium 820 may take any non-transitory electronic, magnetic, optical, or stored executable instructions (e.g., ...). Figure 8 The hotspot processing instruction 822 and ML model application instruction 824 shown in the diagram are examples of other physical storage devices. Thus, the machine-readable medium 820 can be, for example, random access memory (RAM) (such as dynamic RAM (DRAM)), flash memory, spin-transfer torque memory, electrically erasable programmable read-only memory (EEPROM), a storage drive, an optical disk, etc.
[0089] The computing system 800 can execute instructions stored on the machine-readable medium 820 via the processor 810. Executing the instructions (e.g., hotspot processing instruction 822 and / or ML model application instruction 824) can cause the computing system 800 to perform any of the ML-based elimination selection features described herein, including features based on the hotspot processing engine 110, the ML model application engine 112, or a combination of both.
[0090] For example, executing hotspot processing instruction 822 by processor 810 can enable computing system 800 to access a set of input data on hotspot locations on the manufactured circuitry of the circuit design. Hotspot locations can be identified from a set of candidate locations of the circuit design determined by a low-precision imaging process (e.g., BFI) through a high-precision imaging process (e.g., SEM). Executing hotspot processing instruction 822 by processor 810 can also enable computing system 800 to associate hotspot locations with layout data of the circuit design; extract fragment feature vectors of hotspot locations from OPC fragments of the layout data, including hotspot fragment feature vectors and non-hotspot fragment feature vectors; process the fragment feature vectors such that the hotspot fragment feature vectors represent a threshold percentage of the total number of feature vectors in the fragment feature vectors; and provide the processed fragment feature vectors. Executing ML model application instruction 824 by processor 810 can enable computing system 800 to apply a machine learning model to eliminate different sets of candidate locations, for example, for subsequent defect confirmation through a high-precision imaging process.
[0091] Any additional or alternative ML-based elimination selection features as described herein can be implemented via hotspot processing instruction 822, ML model application instruction 824, or a combination of both.
[0092] The aforementioned systems, methods, devices, and logic, including hotspot processing engine 110 and ML model application engine 112, can be implemented in many different ways as a variety of different combinations of hardware, logic, circuitry, and executable instructions stored on a machine-readable medium. For example, hotspot processing engine 110, ML model application engine 112, or combinations thereof may include circuitry in a controller, microprocessor, or application-specific integrated circuit (ASIC), or may be implemented using discrete logic or components or combinations of other types of analog or digital circuitry combined on a single integrated circuit or distributed across multiple integrated circuits. Products such as computer program products may include a storage medium and machine-readable instructions stored on that medium, which, when executed in an endpoint, computer system, or other device, cause that device to perform the operations described above, including any features of hotspot processing engine 110, ML model application engine 112, or combinations thereof.
[0093] The processing power of the systems, devices, and engines described herein, including the hotspot processing engine 110 and the ML model application engine 112, can be distributed across multiple system components, such as multiple processors and memories, optionally including multiple distributed processing systems or cloud / network elements. Parameters, databases, and other data structures can be stored and managed separately, can be merged into a single memory or database, can be logically and physically organized in many different ways, and can be implemented in various ways, including data structures such as linked lists, hash tables, or implicit storage mechanisms. Programs can be parts of a single program (e.g., subroutines), standalone programs, distributed across several memories and processors, or implemented in many different ways, such as in libraries (e.g., shared libraries).
[0094] While various examples have been described above, many more implementations are possible.
Claims
1. A machine learning-based elimination selection method for candidate hotspot locations, comprising: Through the calculation system: Access (702) the input data set (210) of hot spot locations on the manufactured circuit of the circuit design, wherein the hot spot locations are determined by a high-precision imaging process from a set of candidate locations of the circuit design determined by a low-precision imaging process; Associate the hot spot location with the layout data (240) of the circuit design (704); Extract (706) the segment feature vectors (250, 410, 510) of the hot spot locations from the optical proximity correction OPC segments of the layout data (240), including the hot spot segment feature vectors (251, 411, 511) and non-hot spot segment feature vectors (252, 412, 512) of the hot spot locations; Process (708) the segment feature vectors (250, 410, 510) such that the hotspot segment feature vectors (251, 411, 511) account for a threshold percentage of the total number of feature vectors in the segment feature vectors (250, 410, 510); Provide (710) the processed fragment feature vectors as a training set for training the machine learning model (610); and The machine learning model (610) described in (712) is used to eliminate different sets of candidate locations determined by the low-precision imaging process; The processing of the segment feature vectors (250, 410, 510) includes: The feature vectors (251, 411, 511) of the hotspot segments are grouped according to their hotspot characteristics; The feature vectors of the grouped hotspot segments are augmented to ensure that the feature vectors of the hotspot segments in each group reach the statistical threshold; and The fragment feature vectors (250, 410, 510) are balanced by downsampling the non-hotspot fragment feature vectors (252, 412, 512) until a threshold percentage is reached.
2. The method according to claim 1, wherein, The input data set (210) also includes non-hotspot locations of the circuit design, and the method further includes: Associate the non-hotspot locations with the layout data (240); and Extract the non-hotspot segment feature vectors corresponding to the non-hotspot locations from the layout data (240).
3. The method according to claim 1, wherein, Extraction includes: for a given hot spot location, determining an extraction window for the layout data (240) based on the location of the given hot spot location in the circuit design and the uncertainty range of the imaging technique used to detect the given hot spot location in the manufactured circuit.
4. The method according to claim 3, wherein, Extraction also includes, for a given hotspot: OPC segments within a threshold distance range from the hotspot location are identified as hotspot segments (320); and Extract the hot spot feature vector of the given hot spot location from the hot spot segment (320).
5. The method according to claim 4, wherein, Extraction also includes, for the given hotspot: Identify an uncertain segment (330) that is located on the same polygon as at least one of the identified hotspot segments (320); Discard the uncertain fragment (330); OPC segments that are not within the threshold distance range from the hotspot location and are not identified as the uncertain segment (330) are determined as non-hotspot segments (340); and Extract the feature vector of the non-hotspot segment at the given hotspot location from the non-hotspot segment (340).
6. The method according to claim 1, in, The data augmentation of the hot spot fragment feature vector is performed according to a balance criterion applied to the grouped hot spot fragment feature vector (520).
7. The method according to claim 1, wherein, Applying the machine learning model (610) includes: Based on the uncertainty range of the low-precision imaging process, the layout data associated with the candidate location is analyzed to determine the candidate fragment; The machine learning model is used to determine the probability of defects in the candidate fragments; and Different sets of candidate locations are downsampled based on the determined defect probability of the candidate fragments.
8. The method according to claim 1, wherein, The segment feature vector includes a vector portion that characterizes the manufacturing process characteristics of the hotspot location.
9. The method according to claim 1, wherein, The fragment feature vector includes a vector portion that characterizes a specific candidate location from which the hotspot location is identified.
10. A system (100) for machine learning-based elimination selection of candidate hotspot locations, comprising a hotspot processing engine (110) and a machine learning model application engine (112), wherein, The hotspot processing engine (110), the machine learning model application engine (112), or a combination of both are configured to perform the method according to any one of claims 1 to 9.
11. A non-transitory computer-readable medium (820) comprising instructions (822, 824) which, when executed by a processor (810), cause a computing system (800) to perform the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Lithographic hotspot detection using multiple machine learning kernels
CN104217224A
Defect review method and apparatus
US20090136121A1