Hotspot prediction in electronic design automation (EDA) applications based on machine learning
By using a machine learning-based hotspot prediction system to extract feature vectors from layout data and perform data balancing, the problem of identifying hotspot defects in circuit design is solved, thereby improving the yield and efficiency of circuit manufacturing.
Patent Information
- Application Number
- CN202080102955.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-07-08
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2040-07-08
AI Technical Summary
Existing electronic circuit designs struggle to effectively identify and predict circuit hotspot defects during manufacturing. Traditional methods such as ORC and OPC inspections lack sufficient accuracy, while physical inspection techniques are time-consuming and resource-intensive, resulting in low manufacturing yields.
A machine learning-based hotspot prediction system is adopted. The hotspot processing engine extracts feature vectors from the layout data, performs data balancing and normalization, and trains the machine learning model to identify potential defects in the circuit design.
It improves circuit manufacturing yield by increasing the efficiency and accuracy of hotspot prediction, thereby reducing defect detection time and resource consumption during the manufacturing process.
Smart Images

Figure CN115885284B_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 involves 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 produce 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 various stages of the design flow. Attached Figure Description
[0002] Some examples are described in the following detailed description and with reference to the accompanying drawings.
[0003] Figure 1 An example of a computational system that supports hotspot prediction based on machine learning (“ML”) is shown.
[0004] Figure 2 An example of feature vector extraction that supports ML-based hotspot prediction is shown.
[0005] Figure 3 An example is shown where a hotspot processing engine is used to determine hot and non-hotspot segments from layout data and extract their corresponding feature vectors.
[0006] Figure 4 An example of normalization and transformation processing of fragment feature vectors is shown in the hotspot processing engine that supports ML-based hotspot prediction.
[0007] Figure 5 An example of how the hotspot processing engine balances fragment feature vectors is shown.
[0008] Figure 6 An example is shown where the location of a circuit design is characterized by applying an ML model using a hotspot prediction engine.
[0009] Figure 7 An example of the logic that the system can implement to support ML-based hotspot prediction is shown.
[0010] Figure 8 An example of a computational system that supports ML-based hotspot prediction is shown. Detailed Implementation
[0011] Modern circuit design techniques offer various mechanisms to detect potential or actual defects that may occur in manufactured circuits. Traditional Optical Rule-of-Conformance (“ORC”) processes utilize photolithographic compact modeling to detect circuit faults during the design phase. However, as technology node sizes in circuit design continue to shrink, ORC-based defect detection may not be able to identify all circuit defects during the design phase, and various defects that go undetected during ORC inspection during the design phase may appear in the manufactured circuit wafer.
[0012] Optical Proximity Correction (“OPC”) verification is typically limited to inspecting circuit designs for a single defect criterion, doing so for specific defect characteristics or parameter thresholds (e.g., process window bandwidth or circuit parameters specific to pinch, slant, bridging, or other common circuit defects that lead to hotspots). As used herein, a “hotspot” can refer to any area of the circuit that is defective (e.g., an improperly manufactured circuit component not intended for the circuit design or a defect in the circuit design itself). On a manufactured circuit wafer, hotspots are often inherently complex because variations in circuit design characteristics and manufacturing process parameters can lead to circuit defects caused by a combination of multiple factors. Therefore, a calibrated OPC model and other ORC processes performed on the circuit design may not be sufficient to identify all circuit defects that may have occurred during the physical fabrication of the circuit design.
[0013] Physical inspection of manufactured chips is another way to detect actual circuit defects. Such inspection techniques are often bandwidth-limited, and high-precision techniques like scanning electron microscopy (“SEM”) are practically unusable for inspecting entire chip wafers (as this would require excessive time and resources). Therefore, circuit design analysis can be used to more effectively predict circuit hotspots and defects. While attempts have been made to adjust ORC parameters or use fuzzy geometric pattern matching of known defects to detect potential defect locations and circuit hotspots in circuit designs, these techniques typically produce low accuracy in predicting actual defects on manufactured circuits. Effective and efficient prediction of circuit hotspots (also known as region of interest generation) is challenging for modern EDA applications.
[0014] The disclosures herein provide systems, methods, apparatus, and logic to support ML-based hotspot prediction. The various ML-based hotspot prediction features described herein offer techniques for meaningfully processing identified hotspots (e.g., identified circuit defects) to support the training of machine learning models for subsequent hotspot prediction. For example, the hotspot processing features described herein may include extracting feature vectors from layout data corresponding to identified hotspots on a manufactured circuit and associating the layout geometry in the circuit design with the identified defects resulting from circuit manufacturing. Furthermore, various data balancing features are introduced herein to ensure that the fragment feature vectors to be used as ML training data increase the accuracy and scope of hotspot prediction / region of interest generation. Through the ML-based hotspot prediction features described herein, potential and actual manufacturing defects in circuit designs can be identified with improved efficiency and accuracy, thereby improving circuit manufacturing yield.
[0015] These and other ML-based hotspot prediction features and technical benefits according to the present invention are described in more detail herein.
[0016] Figure 1 An example of a computing system 100 supporting ML-based hotspot prediction is shown. 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, tablet devices, embedded controllers, etc. In some embodiments, 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 region-of-interest generation for circuit design to handle detected hotspots in the manufactured circuit, predict hotspot locations in the circuit design, and more.
[0017] As an example implementation for supporting any combination of ML-based hotspot prediction features described herein Figure 1 The computing system 100 shown includes a hotspot processing engine 110 and a hotspot prediction engine 112. The computing system 100 can implement engines 110 and 112 (including their components) in various ways, such as 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 a processor for executing those 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.
[0018] In operation, the hotspot processing engine 110 can access an input dataset of hotspot locations on the fabricated circuitry of the circuit design, associate the hotspot locations with the 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. These fragment feature vectors include hotspot fragment feature vectors and non-hotspot fragment feature vectors. The hotspot processing engine 110 can further process the fragment feature vectors such that 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 hotspot prediction engine 112 can apply a machine learning model to characterize locations in the circuit design as hotspot locations or non-hotspot locations.
[0019] The following sections describe these and other ML-based hotspot prediction features in more detail. Specifically, refer to... Figures 2 to 5 Describe examples of hotspot processing features that support ML-based hotspot prediction, and refer to... Figure 6 This section describes an example of applying features to an ML model used for hotspot prediction.
[0020] Figure 2 An example of feature vector extraction supporting ML-based hotspot prediction is shown. The hotspot processing engine 110 is used for rendering. Figure 2 The examples in the document are provided as illustrative implementation examples, but various other computational implementations of the described features are also envisioned herein.
[0021] To support ML-based hotspot prediction, the hotspot processing engine 110 can access hotspot data and process it into training data for machine learning models configured to support hotspot prediction. Raw hotspot data as machine learning training data may not be directly feasible, for example, because image-based recognition or fuzzy pattern matching techniques used to detect such raw images may not accurately or comprehensively predict potential circuit hotspots (and therefore may be insufficient as a training set, limiting the classification or predictive 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, with which ML-based hotspot prediction can be implemented across the entire chip design with increased efficiency, accuracy, and hotspot prediction coverage.
[0022] In some implementations, the hotspot processing engine 110 can extract representative data of hotspots (e.g., defects) detected on the manufactured circuitry of a circuit design. One such form is feature vector extraction, which, as discussed in more detail herein, the hotspot processing engine 110 can extract from the hotspot data to capture, characterize, or represent a specific hotspot detected on the manufactured circuitry. Figure 2 In the example, the hotspot processing engine 110 can access the input dataset 210, which may include hotspot locations detected on the fabricated circuitry 220 of a particular circuit design.
[0023] The input dataset 210 can be represented in any number of forms and can vary based on the specific imaging or detection technique 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 circuit lots manufactured using specific process parameters. Any number of circuit imaging techniques can be used to physically detect defects on the manufactured circuit 220, such as bright field inspection (“BFI”), SEM, or any other circuit inspection process. In such cases, hotspot locations may be represented in the input dataset 210 as location identifiers, circuit coordinates, captured image data (e.g., centered on the detected hotspot location), and the like. Figure 2 The illustrative example shown illustrates that the input dataset 210 contains hotspot data for a hotspot location labeled as hotspot location 1, which can be 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-off defect.
[0024] 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 used 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 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.
[0025] 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 that 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 may identify the location in the layout design where the given hotspot location occurs. For example, SEM image 230 may depict or detect hotspot location 1 at a specific physical layer and location in a physically manufactured chip, whether elucidated via circuit coordinates, physical measurements, or offset from a specific circuit location. Hotspot processing engine 110 may then identify this 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 occurs.
[0026] When associating hotspot locations with layout data, hotspot processing engine 110 can determine an extraction window in the layout data covering a given hotspot location. This extraction window may refer to a circuit area surrounding the hotspot location, from which hotspot processing engine 110 can extract feature vectors to support ML-based hotspot prediction. 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 size, shape, or other characteristics of the extraction window for circuit hotspots may be predetermined or user-configurable. For example, hotspot processing engine 110 may 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., determined as 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 may match an image depicting the hotspot location captured via BFI, SEM, or other imaging-based defect detection techniques (e.g., the size, shape, and location of the extraction window matching the SEM image 230 of hotspot location 1 in layout data 240).
[0027] In some implementations, the hotspot processing engine 110 can determine the extraction window by expanding the size of the hotspot image (SEM image of the hotspot location, BFI image, or any other image-based representation). 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 size by a fixed value in each direction (e.g., expanding by 200 nm), by a multiple of the size value detected by the SEM image 230 (e.g., twice the size of each perimeter), 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 (including hot and non-hotspot portions of the layout design) that could potentially contribute to circuit defects, as discussed further herein.
[0028] As 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 the imaging technique used to detect the given hotspot location in the manufactured circuit 220. The SEM imaging technique may, for example, have an uncertainty range of 10 nm to 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 size 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.
[0029] Hotspot processing engine 110 can extract feature vectors from such extraction windows in the circuit layout design to characterize detected hotspots and supports the generation of training data to support ML-based hotspot prediction. In practice, the extraction window can 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 of that specific partition). 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 by hotspot processing engine 110 as being associated with 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 by distinguishing and labeling generated training data according to specific hotspot types (e.g., pinch-offs, bridging, etc.).
[0030] 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 on a per-segment basis, 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 OPC segments in the extraction window as hotspot segments and another subset of OPC segments in the extraction window as non-hotspot segments. The hotspot processing engine 110 then extracts feature vectors (referred to herein as hotspot segment feature vectors) from the identified hotspot segments and feature vectors (referred to herein as non-hotspot segment feature vectors) from the identified non-hotspot segments.
[0031] exist Figure 2 In the example shown, the hotspot processing engine 110 extracts segment feature vectors 250 representing hotspot locations in 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 next...) Figure 3 Describe examples of identifying hot and non-hot segments in layout data and the features extracted from feature vectors.
[0032] Figure 3 An example is shown where hot and non-hot segments are determined from layout data using a 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).
[0033] 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 narrow rectangular frames forming the peripheries of polygons 241, 242, and 243. OPC processes 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, such polygon adjustments are depicted as surrounding... Figure 3 The dashed perimeter of polygons 241, 242, and 243 in the diagram.
[0034] Hotspot processing engine 110 has access to layout data 240, which contains decomposed OPC fragments from EDA applications, as OPC or other EDA-based resolution enhancement techniques (RET) can produce fragmented layout data. Partitioning polygon-level data (e.g., decomposing it into OPC fragments) provides a mechanism through which hotspot processing engine 110 can perform feature vector extraction on different parts of an extraction window or circuit design, thereby allowing labeled training data to support subsequent ML modeling and hotspot prediction. While many examples of feature vector extraction described herein are proposed 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 hotspot prediction.
[0035] 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. Some or all of these categories can be used by the hotspot processing engine 110 as labels to form the training dataset for the ML model. Figure 3 In the example, the hotspot processing engine 110 classifies the OPC fragments of the extraction window depicted by the layout data 240 into hotspot fragments, uncertain fragments, or non-hotspot fragments. Each of these classifications and fragment types is described in turn.
[0036] As a classification example, the hotspot processing engine 110 can identify hotspot segments. The hotspot processing engine 110 can determine a selected subset of OPC segments in the extraction window that characterize hotspots, which allows ML techniques to learn specific characteristics, parameters, or aspects of the hotspots from the OPC segments surrounding them. In some implementations, the hotspot processing engine 110 can identify hotspot segments as any OPC segment (at least partially) located within an interaction area in the extraction window. The interaction area can refer to any defined segment of the extraction window through which the hotspot processing engine 110 can characterize certain OPC segments as hotspot segments.
[0037] Such examples are in Figure 3 As shown in the diagram via the interaction area 310, the hotspot processing engine 110 can define it as a circular enclosing circle centered on hotspot location 1 (represented by the "+" symbol). Any OPC fragment partially or completely enclosed by the 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 the 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.
[0038] The interactive area can be configured by the hotspot processing engine 110 in various ways, whether as a circular shape defined by a radius value or as a bounding box with a predetermined or configurable size. 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.
[0039] exist Figure 3 In the process, the hotspot processing engine 110 identifies six (6) OPC fragments in the layout data 240 as being partially or completely surrounded by the interaction area 310, and thus identifies these six (6) OPC fragments as hotspot fragments 320 for 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.
[0040] 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 implementations, the extracted feature vectors can take the form of an n-dimensional vector of numerical 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 the OPC fragment 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 implementations, the hotspot processing engine 110 can extract feature vectors representing micro-level characteristics of the OPC fragment (whether for the OPC fragment itself or adjacent OPC fragments, but not for overall chip parameters or characteristics).
[0041] Therefore, the hotspot processing engine 110 can extract feature vectors from OPC fragments of the circuit design (including both hotspot and non-hotspot fragments). As mentioned herein, the hotspot processing engine 110 can distinguish different types of hotspot fragments and label the extracted hotspot fragment feature vectors generally as hotspots (e.g., in binary classification) or based on hotspot type (e.g., bridging, pinch-off, etc.), based on circuit geometry analysis, SEM hotspot inspection output, historical chip trends, and the like.
[0042] continue Figure 3 In a classification discussion, the hotspot processing engine 110 can classify some OPC fragments of the extraction window as uncertain fragments. Uncertain fragments can include OPC fragments of interacting windows that cannot be explicitly characterized as 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 uncertain fragment. To achieve this, Figure 3 To clarify, each of the hotspot segments 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 uncertain segments 330 (remaining where the uncertain segments are within the extraction window and have not been classified as hotspot segments 320). Figure 3 In the diagram, uncertain fragment 330 includes fragments of polygon 241 marked with arrows as uncertain fragment 330; however, note that for visual clarity, not all uncertain fragments 330 are included. Figure 3 The arrow marks the middle.
[0043] The hotspot processing engine 110 can classify some OPC fragments as uncertain fragments based on the precision or accuracy limitations of modern chip inspection techniques such as BFI and SEM. For example, SEM imaging technology can identify circuit hotspots and defects within an accuracy range of 10nm to 12nm, and a specific hotspot location specified in the SEM image can deviate from the error range of 10nm to 12nm. Therefore, the corresponding OPC fragment around the hotspot location in the SEM image (e.g., within the interaction region) may or may not be the actual OPC fragment around the exact defect location of the circuit hotspot. Furthermore, manufacturing process offsets may cause inaccurate hotspot locations to be precisely located, thus potentially failing to accurately characterize OPC fragments on the same polygon where the hotspot appears.
[0044] To avoid the possibility of uncertainty and inaccurate labeling, instead, the hotspot processing engine 110 can discard any uncertain fragments located on the same polygon as the hotspot fragments and not include them in the training data used for ML modeling. Discarding uncertain fragments can refer to the process by which the hotspot processing engine 110 determines which OPC fragments within the extraction window identified as uncertain fragments will not have their feature vectors extracted, and thus excludes the representation of such OPC fragments from the generated training data. Therefore, in some cases, the hotspot processing engine 110 can extract feature vectors for some, but not all, OPC fragments within the extraction window of a given hotspot location (especially when the polygon includes additional OPC fragments besides the identified hotspot fragments, and such additional OPC fragments will be classified as uncertain fragments and thus discarded / not included in the training set used for ML modeling). The identification and discarding of uncertain fragments can increase the accuracy of the ML training data, and therefore increase the accuracy of ML-based hotspot prediction using training data without feature vectors representing uncertain fragments.
[0045] 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 does 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 uncertain segments as non-hotspot segments. For example, the hotspot processing engine 110 can classify non-hotspot segments as OPC segments of polygons that do not contain hotspot segments within the extraction window, such as… Figure 3 Polygons 242 and 243 are shown in the figure.
[0046] 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 to the non-hotspot fragment 340 of polygon 243 are not explicitly shown for visual clarity). Next, the hotspot processing engine 110 extracts the non-hotspot fragment feature vector from the determined non-hotspot fragment 340 at a given hotspot location (in this case, hotspot location 1). Feature vector extraction from the non-hotspot fragment 340 can be performed in the same manner as for extracting the hotspot fragment feature vector from the hotspot fragment 320.
[0047] In any of the methods described herein, the hotspot processing engine 110 can extract feature vectors of hotspot locations from the input dataset. In doing so, the hotspot processing engine 110 can extract other circuit, layout, or design-specific features 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, "hotspot" and "non-hotspot" classifications (or multi-category "hotspot" designations based on hotspot type) can be used by the hotspot processing engine 110 as labels for fragment feature vectors that include the ML training set. Therefore, the extracted fragment feature vectors from the layout design can form the basis of labeled training data for the ML model, but further processing of the extracted fragment feature vectors is also envisioned in this paper. See below for further details. Figure 4 and 5 Describe an example that supports ML-based hotspot prediction and feature vector processing according to the present invention.
[0048] Figure 4 An example of normalization and transformation processing of fragment feature vectors is shown in the hotspot processing engine 110, which supports ML-based hotspot prediction. Figure 4 In the example, hotspot processing engine 110 processes fragment feature vector 410, which includes hotspot fragment feature vector 411 and non-hotspot fragment feature vector 412. Hotspot processing engine 110 can generate or extract fragment feature vector 410 from hotspot locations, and do so in any manner described herein.
[0049] 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, such as using a min / max scaler or other normalization processes, to normalize the parameter values of the extracted feature vector. Normalization of fragment feature vector 410 can reduce artificial weighting 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.
[0050] 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 the OPC fragments include undetected hotspots). Figure 4In the process, the hotspot processing engine 110 can extract fragment feature vectors from the additional parts of the layout design and normalize the fragment feature vector 410 using these extracted fragment feature vectors, which are labeled as unknown fragment feature vectors 413.
[0051] 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 fragments 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 geometry similar to the hotspot locations in the input dataset. Such 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 fragments of these pattern-matched circuit portions to generate the feature vector 413 of the unknown segment.
[0052] The unknown fragment feature vector 413 can increase the number of fragment feature vectors used in the normalization process. By applying the increased set of fragment feature vectors for data normalization, the hotspot processing engine 110 can provide a more complete representation of OPC fragments in the circuit design. This avoids an overly narrow normalization range that does not consider the circuit portion of the OPC fragment outside the defined extraction window used for the detected hotspot location. Furthermore, expanding the total number 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, range, and effectiveness of the hotspot representation via feature vectors used for ML-based hotspot prediction.
[0053] 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 normalized 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.
[0054] 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 feature vector set. In some implementations, the hotspot processing engine 110 transforms the feature space through 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 the transformation of the feature space. 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 fragment and support variance determination or other data processing capabilities with increased validity, accuracy, or efficiency. Figure 4 In the process, the hotspot processing engine 110 obtains the transformed fragment feature vector 420 after applying the multivariate transformation process.
[0055] In any of the ways described in this article, the hotspot processing engine 110 can process fragment feature vectors through a normalization process, a multivariate transformation process, or a combination of both. Besides Figure 4 In addition to or as a replacement for the processing features described herein, 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 are described in more detail below.
[0056] Figure 5 An example of data balancing of fragment feature vectors by the hotspot processing engine 110 is shown. Figure 5 In the example, the hotspot processing engine 110 processes fragment feature vectors 510, which include hotspot fragment feature vectors 511 and non-hotspot fragment feature vectors 512. The hotspot processing engine 110 can generate or extract fragment feature vectors 510 from hotspot locations, and do so in any manner described herein. In some cases, fragment feature vectors 510 may be normalized and / or transformed before data balancing, and may be similar to, for example, the methods described above for... Figure 4 The fragment feature vector of the described transformation is 420.
[0057] When balancing the fragment feature vector 510, the hotspot processing engine 110 ensures that the hotspot fragment feature vector 511 (or subclasses 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 correctly learn, process, characterize, or predict circuit hotspots. This is particularly important because SEM images or other hotspot detection techniques may cover a small portion of the overall chip design (e.g., where 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 determined non-hotspot fragments than the number of determined hotspot fragments (e.g., a difference of up to 50 times or more). Therefore, 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 vector to support accurate machine learning of hotspot characteristics and increase the effectiveness of subsequent ML-based hotspot predictions.
[0058] 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 characteristics of the hotspot fragment feature vector. 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.
[0059] 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.), chip and wafer-level process-related heatmap lookup data, such as position flash values from extreme ultraviolet (“EUV”) flash maps, density values from chemical mechanical polishing (“CMP”) density maps, or other customizable or user-configurable attributes, such as configured hotspot severity levels. 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 group 1, HS group 2, HS group 3, etc.
[0060] The hotspot processing engine 110 can augment the grouped hotspot fragment feature vectors 520 with data to ensure that the hotspot fragment feature vectors of each group reach a statistical threshold. By doing so, the hotspot processing engine 110 ensures that the groups with fewer representations of the hotspot fragment feature vectors have a sufficient number of data samples, allowing the ML model to effectively learn and identify hotspots characterized by the feature parameter values of the groups 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 of a given group to reach a specific numerical threshold (e.g., the number of hotspot fragment feature vectors of a specific group that has the highest number of hotspot fragment feature vectors among the grouped hotspot fragment feature vectors 520, or a predetermined number (e.g., 500,000 samples)).
[0061] 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 certain groups (e.g., determined by hotspot severity characteristics) to smaller or higher values within the numerical distribution of hotspot fragment feature vectors across the groups. Figure 5 In the process, the hotspot processing engine 110 obtains an enhanced hotspot segment feature vector 530 after data augmentation of the grouped hotspot segment feature vector 520.
[0062] When processing fragment feature vectors 510, the hotspot processing engine 110 can perform data balancing on hot and non-hot fragment feature vectors. As described herein, feature vector extraction may favor a significantly increased number of non-hot fragment feature vectors (e.g., up to a 50:1 ratio or more) compared to hot fragment feature vectors. To support efficient ML training for hotspot prediction, the hotspot processing engine 110 balances fragment feature vectors 510 such that hot fragment feature vectors 511 account for at least a threshold percentage of the total number of fragment feature vectors, or in other words, ensures that the ratio between hot and non-hot fragment feature vectors meets at least a threshold ratio, such as 1:1.
[0063] To this end, the hotspot processing engine 110 may 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 may 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).
[0064] Additionally or alternatively, the hotspot processing engine 110 may perform data balancing on 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 may perform data augmentation of the grouped hotspot segment feature vectors 520 by combining the data balancing (or the ratio to the non-hotspot segment feature vectors) of the hotspot segment feature vectors with the total segment feature vectors.
[0065] 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 can process the fragment feature vector 510 through data balancing to obtain the processed fragment feature vector 540. When processing the fragment feature vector, the hotspot processing engine 110 can address data minority issues that may later affect the ability or effectiveness of the ML model to predict specific types of hotspots that are not properly represented in the training set. By ensuring the statistical significance of the hotspot fragment feature vectors (and their groups), the hotspot processing engine 110 can increase the range and ability of the trained ML model to predict different types of hotspots occurring across the entire range or under manufacturing conditions.
[0066] In any of the ways 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 hotspot prediction. 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 hotspot prediction. The ML model trained using the labeled training data described herein can then be applied to predict hotspot locations across the entire chip design.
[0067] Figure 6 An example is shown where the location of a circuit design is characterized by applying an ML model using the hotspot prediction engine 112. Figure 6 In this context, the hotspot prediction 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 thus can be used as training data in any number of supervised learning techniques.
[0068] ML model 610 can implement or provide any number of machine learning techniques and capabilities to analyze, interpret, and utilize processed fragment feature vectors for hotspot prediction. For example, ML model 610 can implement any number of supervised (e.g., support vector machines or other supervised learning techniques), semi-supervised, unsupervised, or reinforcement learning models to characterize OPC fragments of any part of a circuit design based on probability, category, or other indicators of hotspot prediction in the ML output. In some cases, ML model 610 can generate a hotspot probability that a given OPC fragment is a hotspot fragment, and hotspot prediction engine 112 can identify any OPC fragment with a hotspot probability exceeding a predetermined threshold as a predicted hotspot.
[0069] In order to pass Figure 6As explained herein, the hotspot prediction engine 112 has access to circuit design 620. Circuit design 620 may be a circuit design from which training data for ML model 610 is generated, and may take the form of a layout design decomposed into OPC fragments. The hotspot prediction engine 112 can perform a full-chip analysis on circuit design 620, for example by providing an extracted feature vector for each OPC fragment of circuit design 620 as input (which may be normalized and / or transformed to a format consistent with the fragment feature vectors provided as training data to ML model 610). ML model 610 can analyze each OPC fragment and generate hotspot probabilities or other forms of classification that hotspot prediction engine 112 can aggregate and analyze. As mentioned herein, hotspot prediction engine 112 can characterize any OPC fragment with a hotspot probability exceeding a threshold (e.g., >0.1 or any other configurable value) as a predicted hotspot. The hotspot prediction engine 112 can then output the predicted hotspots 630 of circuit design 620 as a set of regions of interest for further inspection or defect confirmation.
[0070] Although many ML-based hotspot prediction features have been described in this document by way of illustrative examples presented via various graphs, the hotspot processing engine 110 and the hotspot prediction engine 112 can implement any combination of the ML-based hotspot prediction features described herein.
[0071] Figure 7 An example of logic 700 that a system can implement to support ML-based hotspot prediction 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 hotspot prediction engine 112, through which computing system 100 may execute or run logic 700 as a method to support ML-based hotspot prediction. Hotspot processing engine 110 and hotspot prediction engine 112 are used as examples to provide the following description of logic 700. However, various other implementation options for the system are possible.
[0072] In implementing logic 700, hotspot processing engine 110 may access an input dataset (702) of hotspot locations on the fabricated 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 both hotspot fragment feature vectors and non-hotspot fragment feature vectors of the hotspot locations. In implementing logic 700, hotspot processing engine 110 may 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, hotspot prediction engine 112 may apply a machine learning model to characterize the locations of the circuit design as hotspot locations or non-hotspot locations (712).
[0073] Figure 7 The logic 700 shown provides an illustrative example of how computing system 100 can support ML-based hotspot prediction. Additional or alternative steps in logic 700 are envisioned herein, including any features described herein with respect to hotspot processing engine 110, hotspot prediction engine 112, or a combination of both.
[0074] Figure 8 An example of a computing system 800 supporting ML-based hotspot prediction 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 suitable for executing 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 the form of any non-transitory electronic, magnetic, optical, or other stored executable instructions (e.g., Figure 8 The hotspot processing instructions 822 and hotspot prediction instructions 824 shown herein are in the form of a physical storage device. Thus, the machine-readable medium 820 may be, for example, random access memory (RAM), such as dynamic RAM (DRAM), flash memory, spin-transfer memory, electrically erasable programmable read-only memory (EEPROM), storage drive, optical disc, etc.
[0075] The computing system 800 can execute instructions stored on the machine-readable medium 820 via the processor 810. Execution of the instructions (e.g., hotspot processing instruction 822 and / or hotspot prediction instruction 824) can cause the computing system 800 to execute any of the ML-based hotspot prediction features described herein, including any of the features based on the hotspot processing engine 110, the hotspot prediction engine 112, or a combination of both.
[0076] For example, processor 810 executing hotspot processing instruction 822 can cause computing system 800 to access an input dataset of hotspot locations on the fabricated circuitry of a circuit design; associate the hotspot locations with layout data of the circuit design; extract fragment feature vectors of the hotspot locations from OPC fragments of the layout data, including hotspot fragment feature vectors and non-hotspot fragment feature vectors of the hotspot locations; process the fragment feature vectors such that the hotspot fragment feature vectors account for a threshold percentage of the total number of feature vectors in the fragment feature vectors; and provide the processed fragment feature vectors. Processor 810 executing hotspot prediction instruction 824 can cause computing system 800 to apply a machine learning model to characterize locations in the circuit design as hotspot locations or non-hotspot locations.
[0077] Any additional or alternative ML-based hotspot prediction features as described herein can be implemented via hotspot processing instruction 822, hotspot prediction instruction 824, or a combination of both.
[0078] The systems, methods, apparatus, and logic described above, including hotspot processing engine 110 and hotspot prediction engine 112, can be implemented in many different ways in many different combinations of hardware, logic, circuitry, and executable instructions stored on a machine-readable medium. For example, hotspot processing engine 110, hotspot prediction engine 112, or combinations thereof may comprise circuitry in a controller, a microprocessor, or an 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 storage media and machine-readable instructions stored on the media that, when executed in an endpoint, computer system, or other device, cause the device to perform operations according to any of the above descriptions, including operations based on any features of hotspot processing engine 110, hotspot prediction engine 112, or combinations thereof.
[0079] The processing power of the systems, devices, and engines described herein, including hotspot processing engine 110 and hotspot prediction engine 112, can be distributed among 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 many 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).
[0080] While various examples have been described above, many more implementations are possible.
Claims
1. A method comprising: by a computing system: accessing (702) an input dataset (210) of hot spot locations on a manufactured circuit of a circuit design; associating (704) the hot spot locations with layout data (240) of the circuit design; extracting (706) a segment feature vector (250, 410, 510) for the hot spot locations from optical proximity correction (OPC) segments of the layout data (240), the segment feature vector (250, 410, 510) including a hot spot segment feature vector (251, 411, 511) and a non-hot spot segment feature vector (252, 412, 512) for the hot spot locations; processing (708) the segment feature vector (250, 410, 510) such that the hot spot segment feature vector (251, 411, 511) accounts for a threshold percentage of a total number of feature vectors in the segment feature vector (250, 410, 510); providing (710) the processed segment feature vector as a training set for training a machine learning model (610); and applying (712) the machine learning model (610) to characterize locations of the circuit design as hot spot locations or non-hot spot locations; wherein the extracting further comprises, for a given hot spot: determining OPC segments within a threshold distance range from the hot spot location as hot spot segments (320); extracting a hot spot segment feature vector for the given hot spot location from the hot spot segments (320); identifying uncertainty segments (330) that lie on the same polygon as at least one of the determined hot spot segments (320); discarding the uncertainty segments (330); determining OPC segments that are not within the threshold distance range from the hot spot location and that are not identified as the uncertainty segments (330) as non-hot spot segments (340); and extracting a non-hot spot segment feature vector for the given hot spot location from the non-hot spot segments (340).
2. The method of claim 1, wherein, the input dataset (210) further includes non-hot spot locations of the circuit design, and the method further comprises: associating the non-hot spot locations with the layout data (240); and extracting non-hot spot segment feature vectors corresponding to the non-hot spot locations from the layout data (240).
3. The method of claim 1, wherein, the extracting includes, for a given hot spot location, determining an extraction window for the layout data (240) based on a location of the given hot spot location in the circuit design and an uncertainty range of an imaging technique used to detect the given hot spot location in the manufactured circuit.
4. The method of claim 1, wherein, the processing the segment feature vector (250, 410, 510) includes data augmentation of the hot spot segment feature vector (251, 411, 511) to account for the threshold percentage of the total number of the feature vectors in the segment feature vector (250, 410, 510).
5. The method of claim 4, wherein, Processing the segment feature vectors (250, 410, 510) further comprises grouping the hotspot segment feature vectors (251, 411, 511) according to hotspot characteristics prior to data augmentation of the hotspot segment feature vectors (251, 411, 511), and wherein the data augmentation of the hotspot segment feature vectors is performed according to a balancing criterion applied to the grouped hotspot segment feature vectors (520).
6. A system (100) comprising: a hotspot processing engine (110) configured to: access an input dataset (210) of hotspot locations on a manufactured circuit of a circuit design; associate the hotspot locations with layout data (240) of the circuit design; extract segment feature vectors (250, 410, 510) of the hotspot locations from optical proximity correction, OPC, segments of the layout data (240), the segment feature vectors (250, 410, 510) comprising hotspot segment feature vectors (251, 411, 511) and non-hotspot segment feature vectors (252, 412, 512) of the hotspot locations; process the segment feature vectors (250, 410, 510) such that the hotspot segment feature vectors (251, 411, 511) account for a threshold percentage of a total number of feature vectors in the segment feature vectors (250, 410, 510); and provide the processed segment feature vectors (250, 410, 510) as a training set for training a machine learning model (610); and a hotspot prediction engine (112) configured to apply the machine learning model (610) to characterize locations of the circuit design as hotspot locations or non-hotspot locations; wherein the hotspot processing engine (110) is further configured to, for a given hotspot, extract the segment feature vectors (250) by: determining OPC segments within a threshold distance range from the hotspot location as hotspot segments (320); extracting a hotspot segment feature vector of the given hotspot location from the hotspot segments (320); identifying uncertainty segments (330) that lie on the same polygon as at least one of the determined hotspot segments (320); discarding the uncertainty segments (330); determining OPC segments that are not within the threshold distance range from the hotspot location and are not identified as the uncertainty segments (330) as non-hotspot segments (340); and extracting a non-hotspot segment feature vector of the given hotspot location from the non-hotspot segments (340).
7. The system of claim 6, wherein, the input dataset (210) further comprises non-hotspot locations of the circuit design, and wherein the hotspot processing engine is further configured to: associate the non-hotspot locations with the layout data (240); and extract non-hotspot segment feature vectors corresponding to the non-hotspot locations from the layout data (240).
8. The system of claim 6, wherein the hot spot processing engine is further configured to extract the patch feature vectors by determining, for a given hot spot location, an extraction window for the layout data (240) based on a location of the given hot spot location in the circuit design and an uncertainty range of an imaging technique used to detect the given hot spot location in a manufactured circuit.
9. The system of claim 6, wherein, The hot spot processing engine (110) is configured to process the patch feature vectors (250, 410, 510) by augmenting the hot spot patch feature vectors (251, 411, 511) data to the threshold percentage of the total number of the feature vectors in the patch feature vectors (250, 410, 510).
10. The system of claim 9, wherein, The hot spot processing engine (110) is configured to further process the patch feature vectors (250, 410, 510) by grouping the hot spot patch feature vectors according to hot spot characteristics prior to data augmenting the hot spot patch feature vectors (251, 411, 511), and wherein the hot spot processing engine (110) is configured to data augment the hot spot patch feature vectors according to a balancing criterion applied to the grouped hot spot patch feature vectors (520).
11. A non-transitory computer readable medium (820) comprising instructions (822, 824) that, when executed by a processor (810), cause a computing system (800) to perform the method of any one of claims 1-5.