US20140358830A1 - Lithographic hotspot detection using multiple machine learning kernels - Google Patents

Lithographic hotspot detection using multiple machine learning kernels Download PDF

Info

Publication number
US20140358830A1
US20140358830A1 US14/287,921 US201414287921A US2014358830A1 US 20140358830 A1 US20140358830 A1 US 20140358830A1 US 201414287921 A US201414287921 A US 201414287921A US 2014358830 A1 US2014358830 A1 US 2014358830A1
Authority
US
United States
Prior art keywords
hotspot
clusters
training data
data
topologies
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/287,921
Inventor
Charles C. Chiang
Yen-Ting Yu
Geng-He Lin
Hui-Ru Jiang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Synopsys Inc
Original Assignee
Synopsys Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Synopsys Inc filed Critical Synopsys Inc
Priority to US14/287,921 priority Critical patent/US20140358830A1/en
Assigned to SYNOPSYS, INC. reassignment SYNOPSYS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHIANG, CHARLES C., JIANG, Hui-ru, LIN, GENG-HE, YU, YEN-TING
Publication of US20140358830A1 publication Critical patent/US20140358830A1/en
Priority to US16/432,514 priority patent/US11403564B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • G06N99/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03FPHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
    • G03F7/00Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
    • G03F7/70Microphotolithographic exposure; Apparatus therefor
    • G03F7/70425Imaging strategies, e.g. for increasing throughput or resolution, printing product fields larger than the image field or compensating lithography- or non-lithography errors, e.g. proximity correction, mix-and-match, stitching or double patterning
    • G03F7/70433Layout for increasing efficiency or for compensating imaging errors, e.g. layout of exposure fields for reducing focus errors; Use of mask features for increasing efficiency or for compensating imaging errors
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03FPHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
    • G03F7/00Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
    • G03F7/70Microphotolithographic exposure; Apparatus therefor
    • G03F7/70483Information management; Active and passive control; Testing; Wafer monitoring, e.g. pattern monitoring
    • G03F7/70491Information management, e.g. software; Active and passive control, e.g. details of controlling exposure processes or exposure tool monitoring processes
    • G03F7/705Modelling or simulating from physical phenomena up to complete wafer processes or whole workflow in wafer productions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30144Printing quality

Definitions

  • This disclosure relates to the field of hotspot identification generally, and specifically to improved hotspot identification using machine learning.
  • Hotspot detection has attracted increasing attention in recent years and may be classified into four major categories, (1) lithography simulation, (2) pattern matching, (3) machine learning, and (4) hybrid.
  • the full lithography simulation provides the most accurate detection result.
  • the simulation suffers from an extremely high computational complexity and long runtime.
  • Pattern matching is the fastest hotspot detection approach and is good at detecting pre-characterized hotspot patterns, but has a limited flexibility to recognize previously unseen ones.
  • machine learning is good at detecting unknown hotspots but needs special treatments to suppress the false alarm.
  • the hybrid approach unites both pattern matching and machine learning engines (even with a lithography simulator) to enhance accuracy and reduce false alarm but may consume longer runtimes.
  • a computer-implemented method a non-transitory computer-readable storage medium storing executable code, and corresponding systems.
  • different machine learning kernels are trained to identify different types of hotspot topologies.
  • Layout clips that may contain a hotspot are applied to the machine learning kernels, and the results of the kernels are combined to identify hotspots within the layout clips.
  • One embodiment of a computer-implemented method for hotspot detection comprises defining a clip to represent a portion of an integrated circuit topology, and evaluating the clip using a plurality of kernels wherein the kernels identify different topologies that indicate a potential for a hotspot to occur.
  • One embodiment of a computer-implemented method for identifying hotspots on a test layout comprises classifying a set of hotspot training data into a plurality of hotspot clusters according to their topologies, where the hotspot clusters are associated with different hotspot topologies.
  • a set of non-hotspot training data is classified into a plurality of non-hotspot clusters according to their topologies, where the non-hotspot clusters are associated with different topologies.
  • Topological and non-topological critical features are extracted from the hotspot clusters and centroids of the non-hotspot clusters, and the topological critical features are geometry related features that characterize a cluster and the non-topological critical features are lithographic processes related features that characterize a cluster.
  • a plurality of kernels configured to identify hotspots are created, where each kernel is constructed using the extracted critical features of the centroids of the non-hotspot clusters and the extracted critical features from one of the hotspot clusters, and each kernel is configured to identify hotspot topologies different from hotspot topologies that the other kernels are configured to identify.
  • Non-transitory computer-readable storage medium storing executable computer program instructions for identifying hotspots on a test layout, comprises classifying a set of hotspot training data into a plurality of hotspot clusters according to their topologies, where the hotspot clusters are associated with different hotspot topologies.
  • a set of non-hotspot training data is classified into a plurality of non-hotspot clusters according to their topologies, where the non-hotspot clusters are associated with different topologies.
  • Topological and non-topological critical features are extracted from the hotspot clusters and centroids of the non-hotspot clusters, and the topological critical features are geometry related features that characterize a cluster and the non-topological critical features are lithographic processes related features that characterize a cluster.
  • a plurality of kernels configured to identify hotspots are created, where each kernel is constructed using the extracted critical features of the centroids of the non-hotspot clusters and the extracted critical features from one of the hotspot clusters, and each kernel is configured to identify hotspot topologies different from hotspot topologies that the other kernels are configured to identify.
  • FIG. 1 is a layout clip that may contain a hotspot according to an embodiment.
  • FIG. 2 is an example criteria for determining whether a reported (i.e. identified) hotspot is an actual hotspot according to an embodiment.
  • FIG. 3 is a flowchart illustrating a training phase and evaluation phase of a hotspot detection system according to an embodiment.
  • FIG. 4A illustrates four patterns A, B, C, and D according to an embodiment.
  • FIG. 4B illustrates clusters ⁇ A, D ⁇ , ⁇ B ⁇ , and ⁇ C ⁇ according to an embodiment.
  • FIG. 5A is a polygon that has been sliced into different regions according to an embodiment.
  • FIG. 5B is the polygon of FIG. 5A including the strings for each side according to an embodiment.
  • FIG. 5C illustrates a pattern including composite strings according to an embodiment.
  • FIG. 5D illustrates a pixilated layout clip according to an embodiment.
  • FIG. 5E illustrates two clusters, ⁇ A, B ⁇ and ⁇ C ⁇ , generated by density-based classification according to an embodiment.
  • FIG. 6A illustrates four example topological features according to an embodiment.
  • FIG. 6B illustrates five example non-topological features according to an embodiment.
  • FIG. 7A illustrates polygon dissection occurring during layout clip extraction according to an embodiment.
  • FIG. 7B illustrates a layout clip including the polygon in FIG. 7A according to an embodiment.
  • FIG. 8 is a high-level block diagram illustrating an embodiment of an environment for hotspot spot detection.
  • FIG. 9 is a block diagram illustrating a detailed view of the components within a hotspot detection system according to an embodiment
  • a “hotspot” is a layout pattern that is at risk of inducing a printability issue at the fabrication stage.
  • a “hit” is an actual hotspot that has been correctly identified as a hotspot. Accuracy is the ratio of the number of total hits over the number of all actual hotspots.
  • an “extra” is a non-hotspot that is mistakenly identified as a hotspot.
  • a false alarm is the ratio of the number of total extras over the number of all actual hotspots. In this embodiment, the false alarm represents the false positives (how many non-hotspots are reported as hotspots), and accuracy reflects the false negatives (how many hotspots are missed).
  • FIG. 1 is a layout clip that may contain a hotspot according to an embodiment.
  • a hotspot or non-hotspot pattern in the training data set is a layout clip defined by a core and its ambit, where the core is the central part of this clip providing its significant characteristics, while the ambit is the peripheral part of this clip providing supplementary information.
  • the training data set, provided by foundry (or lithography simulation) may be highly imbalanced, i.e., the non-hotspot patterns greatly outnumber the hotspot patterns.
  • FIG. 2 is an example criteria for determining whether a reported (i.e. identified) hotspot is an actual hotspot according to an embodiment.
  • a reported hotspot is considered as a hit if the core of the reported hotspot overlaps with the core of an actual hotspot.
  • a hit occurs if a clip of the reported hotpot and a clip of the actual hotspot overlap a certain amount of area. Additionally, in some embodiments, a hit may occur if the clip of the reported hotspot and the clip of the actual hotspot overlap completely.
  • a hotspot detection system exploits the strengths of machine learning for the identification of hotspots for a given layout.
  • the hotspot detection system is a computing device that executes computer program modules which train the hotspot detection system to automatically identify whether part of a layout is a hotspot.
  • a hotspot detection system might be, for example, a personal computer, a tablet computer, a laptop computer, etc. The structure of the hotspot detection system is discussed in detail below with respect to FIGS. 8 and 9 .
  • the hotspot detection system uses multiple kernels to provide fuzziness thus identifying potential hotspots that are undefined in the training data set, without increasing false alarm. Additionally, the hotspot detection system balances the population between hotspot and non-hotspot samples, to achieve high accuracy and low false alarm. Additionally, a testing layout contains a tremendous number of sites that need to be evaluated to identify hotspots. Therefore, in some embodiments, in an evaluation phase, to avoid time-consuming full-layout scanning, the hotspot detection system extracts only possible layout clips based on the polygon density. In some embodiments, after evaluation, the hotspot detection system may filter the detected hotspots to reduce the possibility of false alarm without sacrificing accuracy.
  • FIG. 3 is a flowchart illustrating a training phase and evaluation phase of a hotspot detection system according to an embodiment.
  • the training phase constructs a machine learning multi-kernel model.
  • the evaluation phase verifies a testing layout using the constructed multi-kernel model.
  • Other entities may perform some or all of the steps of the process in other embodiments.
  • embodiments may include different and/or additional steps, or perform the steps in different orders.
  • the hotspot detection system is provided with a set of hotspot training data (also referred to as hotspot training data) and a set of non-hotspot training data (also referred to as non-hotspot training data).
  • the hotspot training data contains a plurality of different patterns that are known to produce hotspots.
  • the non-hotspot training data contains a plurality of patterns that are known not to produce hotspots.
  • the size of the hotspot training data is smaller than the size of the non-hotspot training data (i.e., the number of data items in the hotspot training data is less than the number of data items in the non-hotspot training data).
  • a data item is a single pattern. Imbalanced population between hotspot and non-hotspot training data may degrade the accuracy and increase the false alarm rate, accordingly, the hotspot detection system may balance the population by upsampling or downsampling the hotspot and/or non-hotspot training data.
  • the hotspot detection system up samples the hotspot training data to an intermediate size.
  • the intermediate size is the size of the data set, after upsampling, such that the upsampled hotspot training data and the non-hotspot training data are close or equal to in size.
  • the intermediate size is a size of a data set such that the ratio of the sizes of the upsampled hotspot training data set and the non-hotspot training data set is a value that may range from 1:1 to 1:40.
  • the intermediate size is the size of a data set that is 1:1, i.e., the size of the hotspot training data set and the non-hotspot training data set are equal.
  • the hotspot detection system slightly shifts each hotspot training pattern upwards, downwards, leftwards, rightwards, rotating the data item (e.g., 90°), moving some edge in the data item or some combination thereof, to create several derivative data items before topological classification.
  • a derivative data item is a data shifted data item.
  • the hotspot detection system downsamples the non-hotspot training data to the intermediate size.
  • the hotspot detection system classifies non-hotspot training data into clusters and selects the centroid of each non-hotspot cluster.
  • the hotspot detection system classifies the non-hotspot patterns with the same topology into a single non-hotspot cluster. Thus, for each topology there is an associated non-hotspot cluster. Then, the hotspot detection system selects the centroid of the classified non-hotspot patterns associated with the cluster to represent the associated non-hotspot cluster.
  • the hotspot detection system discards the rest of the non-hotspot patterns within this cluster, because they have same or very similar data information as the centroid.
  • a downsampled non-hotspot training data set is formed by all non-hotspot centroids.
  • the hotspot detection system may downsample (e.g., randomly select) the non-hotspot data before topological classification. However, this is not preferable as it may lose some non-hotspot training data.
  • the size of the hotspot training data may be larger than the size of the non-hotspot training data.
  • the hotspot detection system may adjust (i.e., upsample or downsample) the hotspot training data and non-hotspot training such that both data sets reach the intermediate size.
  • the hotspot training data and the non-hotspot training data may be equal in size, so no adjustment is necessary.
  • the hotspot detection system classifies the upsampled hotspot training data into ‘N’ hotspot clusters according to their topologies. Likewise, the hotspot detection system classifies the non-hotspot training data into ‘n’ clusters according to their topologies. Topological classification is discussed in detail below with reference to FIGS. 4A-B and 5 A-E.
  • the hotspot detection system extracts topological and non-topological critical features from each training pattern of each hotspot cluster and from each non-hotspot centroid. Specifically, the hotspot detection system extracts topological (geometry-related) and non-topological (lithography-process-related) critical features from the data items which comprise the hotspot clusters and the downsampled non-hotspot training data set. Critical feature extraction is discussed in detail below with reference to FIGS. 6A-B .
  • the hotspot detection system constructs a specific kernel for each hotspot cluster using the extracted critical features of the hotspot cluster and the downsampled non-hotspot data set.
  • the kernels are constructed based on a support vector machine (SVM) model, an artificial neural network, some other machine learning model, or some combination thereof.
  • SVM support vector machine
  • Each kernel is created using a hotspot cluster and all of the non-hotspot centroids. In some embodiments, each kernel is created using a hotspot cluster and a portion of the non-hotspot clusters.
  • each kernel can concentrate on the critical features specific to its corresponding cluster. At the evaluation phase, a layout clip is flagged as a hotspot if one kernel classifies it as a hotspot. Topological classification also facilitates hotspot and non-hotspot population balancing. Additionally, as discussed below, compared with a single huge kernel, multiple kernel learning achieves high accuracy.
  • the hotspot detection system may use an iterative learning process to develop the kernels to a determined training level. For example, the hotspot detection system may train the kernels until some threshold is reached (e.g., 90% accuracy in hotspot predication). Iterative multiple SVM-kernel learning is discussed in detail below.
  • data shifting (that occurs in the upsampling process) generates several derivatives from the hotspot training data thus introducing adequate cluster varieties.
  • the hotspot detection system may use data shifting to include one or more polygons that are originally located in the ambit into a core region, thus, capturing more layout information that may affect a hotspot.
  • data shifting can also compensate possible layout clip extraction bias that is induced during clip extraction.
  • the kernels have a flexibility to identify previously unseen patterns.
  • test layout is a layout which the hotspot detection system evaluates using the multiple kernels to identify hotspots.
  • the hotspot detection system divides a testing layout into one or more clips. In some embodiments, one or more of the clips have some portion which overlap with one or more adjacent clips.
  • the hotspot detection system extracts one or more clips from the testing layout. In alternate embodiments, the hotspot detection system defines a clip for hotspot detection. In some instances defining a clip may include dividing a testing layout into one or more clip and extracting one or more clips from the testing layout. In some embodiments, the hotspot detection system may use some of the geometrical information extracted from the hotspot clusters and the non-hotspot clusters (e.g. the polygon density of core) to quickly identify whether the extracted layout clip is important or not.
  • the clip extraction step reads in the testing layout and extract layout clips, then the hotspot detection system uses some geometrical information extracted from the hotspot clusters and the non-hotspot clusters to quickly abandon useless clips.
  • the hotspot detection system evaluates the extracted layout clips using the trained kernels to identify hotspots.
  • Each of the kernels is configured to identify a particular hotspot topology.
  • each of the kernels processes all of the extracted clips to identify hotspots. Additionally, in some embodiments, some discarding of known non-hotspots in the extracted clips may occur before being passed to the kernels.
  • the identified hotspots may then be presented to a user of the hotspot detection system. For example, the hotspot detection system may present one or more cores containing hotspots (i.e. hotspot cores) to the user.
  • the hotspot detection system may perform hotspot filtering to reduce possible redundancy in the identified hotspots.
  • the reported hotspot cores may strongly overlap in an area with high polygon density.
  • the hotspot filtering reduces the redundancy.
  • the hotspot filtering can greatly reduce the false alarm without sacrificing the accuracy.
  • the hotspot detection system merges the identified cores including hotspots (i.e., hotspot cores) into several regions, and merges a hotspot clip into an existing merging region if its core overlaps with some hotspot core of the region.
  • a merging region is the minimum bounding box covering all hotspot cores in this region.
  • the hotspot detection system reframes a merging region containing more than four hotspot cores.
  • the goal of reframing is to minimize the number of identified hotspots without missing any possible actual hotspots.
  • Clip reframing ensures that the core of an arbitrary actual hotspot is overlapped by at least one reframed core.
  • the hotspot detection system may remove redundant clips located in the overlapping area of two merging regions.
  • a hotspot core may be discarded under two conditions: (1) All polygons within this core are covered by other hotspot cores, and (2) each corner of this core overlaps with other hotspot cores inside some merging region.
  • hotspot/non-hotspot patterns in the training data set are classified into clusters based on topology. After topology classification, the patterns within one cluster have very similar geometrical characteristics (critical features).
  • the hotspot detection system uses a two-level topological classification: string-based and density-based classification.
  • FIG. 4A illustrates four patterns A, B, C, and D according to an embodiment.
  • String-based classification splits these patterns into two intermediate clusters ⁇ A, D ⁇ and ⁇ B, C ⁇ based on topology (e.g., B and C are both crosses).
  • the hotspot detection system uses density-based classification on the string classified intermediate clusters to create either non-hotspot or hotspot clusters depending on the data set being processed. For example, density-based classification applied to clusters ⁇ A, D ⁇ and ⁇ B, C ⁇ is used to divide ⁇ B, C ⁇ into clusters ⁇ B ⁇ and ⁇ C ⁇ , based on their polygon distribution.
  • FIG. 4B illustrates clusters ⁇ A, D ⁇ , ⁇ B ⁇ , and ⁇ C ⁇ according to an embodiment.
  • Topological classification makes each machine learning kernel concentrate on the critical features specific to its corresponding cluster as well as facilitates hotspot and non-hotspot population balancing.
  • the hotspot detection system uses four directional strings to capture the topology of one pattern.
  • FIG. 5A is a polygon that has been sliced into different regions according to an embodiment.
  • the pattern is first vertically sliced along polygon edges, e.g., two slices are generated for FIG. 5A .
  • the boundary is labeled as “1”
  • a polygon block is labeled as “1”
  • a space block is labeled as “0.”
  • each slice corresponds to a binary sequence, and then this sequence is converted to a decimal number.
  • FIG. 5B is the polygon of FIG. 5A including the strings for each side according to an embodiment. Any two strings recorded at adjacent sides fully capture the topology of a pattern.
  • the hotspot detection system verifies whether two patterns have the same topology using strings from two adjacent sides of one pattern with the corresponding adjacent sides on the pattern being compared. In one embodiment, the hotspot detection system generates the four directional strings for the two patterns. The hotspot detection system selects any two strings of adjacent sides of one pattern. The hotspot detection system generates two composite strings by concatenating the strings of the other pattern counterclockwise and clockwise. The string of the beginning side should be added at the end.
  • two patterns have the same topology if and only if any two strings at adjacent sides of one pattern exist in the counterclockwise or clockwise composite string of the other pattern.
  • the eight possible orientations include combinations of four rotations (0°, 90°, 180°, and 270°) of the pattern and two minor images (horizontal and vertical) of the pattern.
  • FIG. 5B the hotspot detection system selects two strings at adjacent sides of the pattern, ⁇ 5, 3, 5, 3, 10> for the left and bottom sides.
  • FIG. 5C illustrates a pattern including composite strings according to an embodiment.
  • a counterclockwise composite string ⁇ 6, 3, 6, 10, 3, 5, 3, 5, 3, 10, 6, 3, 6>
  • clockwise composite string ⁇ 10, 3, 5, 3, 5, 3, 10, 6, 3, 6, 10, 3>.
  • the string component ⁇ 5, 3, 5, 3, 10> exists in the counterclockwise composite string.
  • two patterns given in FIGS. 5B and 5C have the same topology.
  • patterns within one cluster have the same topology. Even so, in some cases, two patterns with the same topology may still have very different geometrical characteristics. For example, one could be a hotspot, while the other is a non-hotspot under discrete process forbidden rules.
  • FIG. 5D illustrates a pixilated layout clip according to an embodiment.
  • the distance ⁇ (p i , p i ) between two patterns p i and p j is defined by the summation of the pixel density difference over all pixels based on the same orientation:
  • the cluster radius used by density-based classification is defined as follows.
  • R 0 is the user-defined radius threshold.
  • the hotspot detection system checks whether this pattern is covered by some existing cluster. For example, a pattern may be covered by a cluster if the distance between this pattern and the centroid (representative) of the cluster is less than or equal to the radius value. If so, the pattern is added into the covering cluster. Otherwise, this pattern becomes the centroid of a new cluster. This flow is repeated for all patterns. Additionally, in some embodiments, the hotspot detection system recalculates the centroid once a pattern is added to some cluster.
  • FIG. 5E illustrates two clusters, ⁇ A, B ⁇ and ⁇ C ⁇ , generated by density-based classification according to an embodiment.
  • the hotspot detection system extracts critical features from patterns.
  • the critical features are features that characterize an associated pattern.
  • Critical features may be topological or non-topological features.
  • Topological features are related to the geometry of the pattern. Topological features may include, for example, horizontal and vertical distance between a pair of internally facing polygon edges, horizontal and vertical distance between a pair of externally facing polygon edges, diagonal distance of two convex corners, horizontal and vertical edge length of a polygon, or some other feature that is related to the geometry of the pattern.
  • Non-topological features are related to a lithographic process that may be used to generate the pattern.
  • Non-topological features may include, for example, a number of corners (convex plus concave), a number of touched points, a minimum distance between a pair of internally facing polygon edges, a minimum distance between a pair of externally facing polygon edges, a polygon density, or some other feature that is related to the lithographic process.
  • the hotspot detection system uses a transitive closure graph to extract the topological critical features. Critical feature extraction is further described in U.S. patent application Ser. No. 13/669,387, “Accurate Process-Hotspot Detection Using Critical Design Rule Extraction”, filed on Nov. 5, 2012, which is hereby incorporated by reference in its entirety.
  • FIG. 6A illustrates four example topological features according to an embodiment.
  • the four types of topological features extracted are: (1) horizontal and vertical distance between a pair of internally facing polygon edges; (2) horizontal and vertical distance between a pair of externally facing polygon edges; (3) diagonal distance of two convex corners; and (4) horizontal and vertical edge length of a polygon.
  • two sets of topological features may be generated to preserve the vertical and horizontal relationships among extracted features.
  • FIG. 6B illustrates five example non-topological features according to an embodiment.
  • the hotspot detection system defines five types of non-topological features: (1) the number of corners (convex plus concave); (2) the number of touched points; (3) the minimum distance between a pair of internally facing polygon edges; (4) the minimum distance between a pair of externally facing polygon edges; and (5) the polygon density.
  • the number of critical features is identical for all patterns in a cluster.
  • the equivalent feature number facilitates the subsequent SVM kernel training. For example, in an SVM training step, a kernel may be trained using a large amount of data. But, only with a fixed data feature size, a kernel can be trained. If two of the training data contain different feature sizes some method (e.g., add dummy features to the one with fewer features size or discard some features of the one with greater features size) should be used to make them equal. Thus, lowering the kernel training quality, because it is not known what features are really important.
  • the hotspot detection system leverages machine learning. As discussed above, in some embodiments, the hotspot detection system may use iterative multiple kernel learning to fully exploit the strengths of machine learning.
  • SVM is a popular supervised learning model.
  • a two-class SVM transforms the training data to a high dimensional space and calculates a hyperplane to separate the data into two classes with a maximum margin. If the SVM kernel function is a symmetric positive semidefinite function, then SVM guarantees a global optimum solution. SVM has showed superior performance in handling a small training data set, non-linear and high dimensional classification issues.
  • the hotspot detection system uses two-class soft-margin C-type SVM and uses the radial basis function to develop the kernels to detect hotspots and non-hotspots.
  • Given training data x n , n 1 . . . N, with label t n (+1 or ⁇ 1 for two-class SVM).
  • the dual form of the quadratic programming formulation of C-type SVM is given as follows.
  • a ( a 1 , . . . ,a N ) T , (7)
  • k(x n , x m ) is the Gaussian radial basis kernel function
  • a n is the Lagrange multiplier.
  • the Gaussian radial basis kernel function is symmetric positive semi-definite thus leading to an optimal classification.
  • an imbalanced population may destroy the soft margin and degrade the training quality.
  • the hotspot detection system uses a self-training process to iteratively adapt C and ⁇ parameters.
  • the initial values of C and ⁇ are 1000 and 0.01, respectively.
  • C and ⁇ are doubled if the stopping criterion is not satisfied.
  • the stopping criterion of iterative learning is that the number of self-training iterations exceeds a user-defined bound or the hotspot/non-hotspot detection accuracy rate (with respect to the training data) exceeds a user-defined training accuracy, say 90%, or some other value.
  • the hotspot detection system may extract only possible layout clips based on the polygon distribution. In other embodiments, the hotspot detection system may extract additional layout clips.
  • FIG. 7A illustrates polygon dissection occurring during layout clip extraction according to an embodiment.
  • each layout polygon is first horizontally sliced into rectangles. The rectangles are then cut into smaller pieces if their widths or heights are greater than the hotspot core side length (l c in FIG. 2 ).
  • FIG. 7B illustrates a layout clip including the polygon in FIG. 7A according to an embodiment.
  • a core and an ambit are set with respect to the bottom left corner of each rectangle.
  • the hotspot detection system extracts the corresponding layout clip if the polygon distribution within this clip meets the user-specified requirements; otherwise, the clip is discarded.
  • the user specified requirements may specify a polygon density (total polygon area/clip area), a polygon count, distances between the clip boundary and the bounding box that covers all polygon rectangles in the clip, etc.
  • the polygon density may be at least or equal to 0.3
  • the polygon count may be greater than 5
  • distances between the clip boundary and the bounding box that covers all polygon rectangles in the clip may be shorter than 35% of the hotspot ambit length.
  • the polygon distribution may be a polygon density, a polygon count, a distances between the clip boundary and the bounding box that covers all polygon rectangles in the clip (indicated by four arrows in FIG. 7B ), etc.
  • the user-specified requirements are positively correlated to the information of hotspot training data. It can be seen that if the polygon distribution requirements are met, each polygon must be included by at least one layout clip. Moreover, the possible misalignment between an extracted clip and an actual hotspot can be compensated by data shifting that occurs during population balancing.
  • the hotspot detection system may include software modules implemented in the C++ programming language with a GDSII library Anuvad and the SVM library LIBSVM.
  • the hotspot detection system includes two Intel Xeon 2.3 GHz CPUs and with 64 GB memory.
  • the hotspot detection system is compared with the 2012 CAD contest winners at ICCAD. Table 2 summarizes the experimental results. Overall, the hotspot detection system outperforms the first place winner on accuracy, false alarm, and the hit/extra rate. For the Array_benchmark3, compared with the third place winner, the hotspot detection system has lower accuracy but with a significantly lower false alarm.
  • ‘Single SVM’ means the baseline SVM which uses one single huge SVM kernel (i.e., without topological classification and hotspot filtering); ‘ours_wo_filtering’ means the hotspot detection system using multiple SVM kernel training without hotspot filtering (i.e., with topological classification but without hotspot filtering); ‘ours’ means the hotspot detection system including hotspot filtering.
  • the hotspot detection system's critical features are effective. For example, a single SVM achieves over 78% accuracy for Array_benchmark3 and Array_benchmark5.
  • the hotspot detection system topological classification and population balancing work well, and thus the hotspot detection system's multiple SVM kernel learning has adequate fuzziness and delivers very high accuracy, 85.9 ⁇ 98.2%.
  • the hotspot detection system's hotspot filtering greatly reduces the false alarm for all cases without sacrificing accuracy.
  • Table 4 the impact of training data on accuracy is shown in Table 4.
  • ‘data’ refers the ratio of the used training pattern count over the whole training pattern count.
  • Table 4 indicates that using different training data may achieve higher accuracy and lower false alarm, e.g., Array_benchmark2 and MX_blind_partial.
  • the hotspot detection system may use a small amount of training data to achieve high accuracy, especially for Array_benchmark3 and Array_benchmark5, thus shortening the runtime.
  • FIG. 8 is a high-level block diagram illustrating an embodiment of an environment for hotspot spot detection.
  • the environment includes a client device 100 connected by a network 802 to a hotspot detection system 800 .
  • client device 100 and hotspot detection system are illustrated, but there may be multiple instances of each of these entities. For example, there may be hundreds of user devices 100 in communication with multiple hotspot detection systems 800 .
  • the network 802 provides a communication infrastructure between the user device 100 and the hotspot detection system 800 .
  • the network 802 is typically the Internet, but may be any network, including but not limited to a Local Area Network (LAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), a mobile wired or wireless network, a private network, a virtual private network, or some combination thereof.
  • LAN Local Area Network
  • MAN Metropolitan Area Network
  • WAN Wide Area Network
  • mobile wired or wireless network a private network
  • virtual private network or some combination thereof.
  • the client device 850 is a computing device that executes computer program modules that allow a user to upload data to the hotspot detection system 800 .
  • the client device 850 uploads a layout for an integrated circuit to the hotspot detection system 800 .
  • the modules allow a user to receive identified hotspots or some other information from the hotspot detection system 800 .
  • the client device 850 might be, for example, a personal computer, a tablet computer, a laptop computer, or other type of network-capable device.
  • the hotspot detection system 800 processes layouts to identify one or more hotspots.
  • a user uploads a layout directly from a user, processes the layout to identify hotspots, and presents the identified hotspots to the user.
  • the hotspot detection system 800 receives layouts from the client device 850 , processes the layout to identify hotspots, and provides the identified hotspots to the client device 850 .
  • the hotspot detection system 800 is comprised of modules including a detection database 805 , a scaling module 810 , a classification module 815 , a feature extraction module 820 , a training module 825 and an evaluation module 830 . Some embodiments of the hotspot detection system 800 have different modules than those described here. Similarly, the functions can be distributed among the modules in a different manner than is described here. In some embodiments, the hotspot detection system 800 is configured to perform some or all of the functions described above with reference to FIG. 3 .
  • the detection database 805 is a database including hotspot training data, non-hotspot training data, one or more testing layouts, one or more clips, or some combination thereof.
  • the hotspot training data contains a plurality of different patterns that are known to produce hotspots.
  • the non-hotspot training data contains a plurality of patterns that are known not to produce hotspots.
  • the scaling module 810 scales non-hotspot training data, hotspot training data, or some combination thereof.
  • the scaling module 810 may retrieve non-hotspot training data and/or hotspot training data from the detection database 805 and/or some other entity (e.g., system administrator).
  • the scaling module 810 is configured to upsample and/or downsample the hotspot training data, the non-hotspot training data, or some combination thereof.
  • the scaling module 810 may upsample the hotspot training data to an intermediate size (e.g., such that the hotspot training data set and the non-hotspot training data set are equal size).
  • the scaling module 810 may upsample the hotspot training data and/or the non-hotspot training data by slightly shifting (e.g., upwards, downwards, leftwards, rightwards, rotating the data item, moving some edge in the data item, or some combination thereof) each data item, and storing the newly shifted data item as a separate data item in the upsampled hotspot training data and/or non-hotspot training data.
  • slightly shifting e.g., upwards, downwards, leftwards, rightwards, rotating the data item, moving some edge in the data item, or some combination thereof
  • the scaling module 810 is configured to downsample the hotspot training data, the non-hotspot training data, or some combination thereof. For example, the scaling module 810 may filter out duplicative patterns in the training data.
  • the scaling module 810 is configured to provide the scaled training data to the classification module 815 .
  • Scaled training data may be the hotspot training data and/or the non-hotspot training data, that has been upsampled, downsampled, not modified (e.g., no upsampling/downsampling of the data), or some combination thereof.
  • the classification module 815 classifies training data according to its topologies.
  • the classification module 815 receives the hotspot training data, non-hotspot training data, or some combination thereof from the scaling module 810 .
  • the hotspot training data and/or non-hotspot training may or may not have been scaled (e.g., upsampled and/or downsampled).
  • the classification module 815 classifies hotspot training data into ‘N’ hotspot clusters according to their topologies.
  • the classification module 815 classifies the non-hotspot training data into ‘n’ non-hotspot clusters according to their topologies.
  • the classification module 815 groups non-hotspot patterns with the same topology into a single non-hotspot cluster.
  • the classification module 815 selects the centroid of the classified non-hotspot patterns associated with the cluster to represent the associated non-hotspot cluster. In some embodiments, the classification module 815 discards (e.g., using the scaling module 810 ) the rest of the non-hotspot patterns within this cluster, because they have same or very similar data information as the centroid. In alternate embodiments, the classification module 810 may downsample (e.g., randomly select) the non-hotspot data before topological classification.
  • the classification module 815 performs some or all of the functions discussed in detail above in the section titled “Topological Classification” to classify the hotspot training data, non-hotspot training data, or some combination thereof.
  • the classification module 815 provides the hotspot clusters and non-hotspot clusters to the feature extraction module 820 .
  • the feature extraction module 820 extracts critical features from hotspot clusters, non-hotspot clusters, or some combination thereof.
  • the critical features may be topological and/or non-topological.
  • the feature extraction module 820 performs some or all of the functions discussed in detail above in the section titled “Critical Feature Extraction” to extract critical features from the hotspot training data, non-hotspot training data, or some combination thereof.
  • the feature extraction module 820 provides the critical features to the training module 825 .
  • the training module 825 creates a plurality of kernels configured to identify hotspots using the critical features received from the feature extraction module 820 .
  • the training module 825 creates a kernel for each hotspot cluster using the extracted critical features of the hotspot cluster and the critical features extracted from some, or all of, the non-hotspot training data.
  • the kernels may be constructed based on a SVM model, an artificial neural network, some other machine learning model, or some combination thereof.
  • the training module 825 may train kernels to a determined training level.
  • the training module 825 may use an iterative training process that trains kernels until a threshold value is reached.
  • the threshold value may be set such that the training completes when one or more parameters are achieved.
  • a parameter may be, e.g., a hotspot detection accuracy rate, time take, number of training cycles, etc.
  • the training module 825 performs some or all of the functions discussed in detail above in the section titled “Iterative Multiple SVM-Kernel Learning” to train the kernels for hotspot detection.
  • the evaluation module 830 generates one or more clips from a testing layout.
  • the testing layout may be received from a user of the hotspot detection system 800 , received from one or more client devices 100 , or some combination thereof.
  • the evaluation module 830 may retrieve the testing layout from the detection database 805 .
  • the evaluation module 830 performs some or all of the functions discussed in detail above in the section titled “Layout Clip Extraction” to extract clips from a testing layout.
  • the evaluation module 830 uses some, or all of, the geometrical information extracted from the hotspot clusters and/or the non-hotspot clusters to identify whether an extracted layout clip is likely to contain a hotspot. Additionally, in some embodiments, if the clip includes patterns that are known not to be hotspots, the evaluation module 830 discards the clip.
  • the evaluation module 830 then evaluates clips using the trained kernels to identify hotspot cores.
  • Each of the trained kernels is configured to identify a particular hotspot topology.
  • the evaluation module 830 uses some or all of the trained kernels to identify hotspot cores in the clips.
  • the evaluation module 830 may filter out any redundancy in the identified hotspot cores Additionally, the evaluation module 830 may merge a plurality of hotspot cores into a merging region (i.e., the minimum bounding box covering all hotspot cores in a region) if the hotspot cores overlap.
  • the evaluation module 830 may reframe a merging region containing a plurality of hotspot cores (e.g., more than 4). This is discussed above with reference to FIG. 3 .
  • the evaluation module 830 may present the identified hotspots to the user and/or provide the identified hotspots to the client device 100 .
  • FIG. 9 is a high-level block diagram illustrating an example computer 900 for implementing one or more of the entities shown in FIG. 8 .
  • the computer 900 includes at least one processor 902 coupled to a chipset 904 .
  • the chipset 904 includes a memory controller hub 920 and an input/output (I/O) controller hub 922 .
  • a memory 906 and a graphics adapter 912 are coupled to the memory controller hub 920 , and a display 918 is coupled to the graphics adapter 912 .
  • a storage device 908 , an input interface 914 , a speaker 926 , and network adapter 916 are coupled to the I/O controller hub 922 .
  • Other embodiments of the computer 900 have different architectures.
  • the storage device 908 is a non-transitory computer-readable storage medium such as a hard drive, compact disk read-only memory (CD-ROM), DVD, or a solid-state memory device.
  • the memory 906 holds instructions and data used by the processor 902 .
  • the input interface 914 is a touch-screen interface, a mouse, track ball, or other type of pointing device, a keyboard, a microphone, or some combination thereof, and is used to input data into the computer 900 .
  • the graphics adapter 912 displays images and other information on the display 918 .
  • the network adapter 916 couples the computer 900 to one or more computer networks.
  • the computer 900 is adapted to execute computer program modules for providing functionality described herein.
  • module refers to computer program logic used to provide the specified functionality.
  • program modules are stored on the storage device 908 , loaded into the memory 906 , and executed by the processor 902 .
  • the type of computer 900 used by the hotspot detection system 800 can vary depending upon the embodiment and the processing power required by the hotspot detection system 800 .
  • the hotspot detection system 800 may include multiple computers 900 communicating with each other through a network such as in a server farm to provide the functionality described herein.
  • Such computers 900 may lack some of the components described above, such as graphics adapters 912 and displays 918 .
  • any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment.
  • the appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
  • Coupled and “connected” along with their derivatives. It should be understood that these terms are not intended as synonyms for each other. For example, some embodiments may be described using the term “connected” to indicate that two or more elements are in direct physical or electrical contact with each other. In another example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.
  • the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion.
  • a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
  • “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).

Abstract

A hotspot detection system that classifies a set of hotspot training data into a plurality of hotspot clusters according to their topologies, where the hotspot clusters are associated with different hotspot topologies, and classifies a set of non-hotspot training data into a plurality of non-hotspot clusters according to their topologies, where the non-hotspot clusters are associated with different topologies. The system extracts topological and non-topological critical features from the hotspot clusters and centroids of the non-hotspot clusters. The system also creates a plurality of kernels configured to identify hotspots, where each kernel is constructed using the extracted critical features of the non-hotspot clusters and the extracted critical features from one of the hotspot clusters, and each kernel is configured to identify hotspot topologies different from hotspot topologies that the other kernels are configured to identify.

Description

    CROSS REFERENCE TO RELATED APPLICATION
  • This application claims priority to Provisional Patent Application No. 61/828,915, filed May 30, 2013, which is incorporated herein by reference.
  • BACKGROUND
  • 1. Field of Disclosure
  • This disclosure relates to the field of hotspot identification generally, and specifically to improved hotspot identification using machine learning.
  • 2. Description of the Related Art
  • In advanced process technology, the ever-growing subwavelength lithography gap causes unwanted shape distortions of the printed layout patterns. Although design rule checking (DRC) and reticle/resolution enhancement techniques (RET), such as optical proximity correction (OPC) and subresolution assist features (SRAF), can alleviate the printability problem, many regions on a layout may still be susceptible to lithography process. These regions, so-called lithography hotspots, should be detected and corrected before mask synthesis. Hotspot detection, therefore, is an important task in physical verification.
  • Hotspot detection has attracted increasing attention in recent years and may be classified into four major categories, (1) lithography simulation, (2) pattern matching, (3) machine learning, and (4) hybrid. The full lithography simulation provides the most accurate detection result. However, the simulation suffers from an extremely high computational complexity and long runtime. Pattern matching is the fastest hotspot detection approach and is good at detecting pre-characterized hotspot patterns, but has a limited flexibility to recognize previously unseen ones. In contrast, machine learning is good at detecting unknown hotspots but needs special treatments to suppress the false alarm. The hybrid approach unites both pattern matching and machine learning engines (even with a lithography simulator) to enhance accuracy and reduce false alarm but may consume longer runtimes.
  • SUMMARY
  • The above and other needs are met by a computer-implemented method, a non-transitory computer-readable storage medium storing executable code, and corresponding systems. In one approach, different machine learning kernels are trained to identify different types of hotspot topologies. Layout clips that may contain a hotspot are applied to the machine learning kernels, and the results of the kernels are combined to identify hotspots within the layout clips.
  • One embodiment of a computer-implemented method for hotspot detection comprises defining a clip to represent a portion of an integrated circuit topology, and evaluating the clip using a plurality of kernels wherein the kernels identify different topologies that indicate a potential for a hotspot to occur.
  • One embodiment of a computer-implemented method for identifying hotspots on a test layout, comprises classifying a set of hotspot training data into a plurality of hotspot clusters according to their topologies, where the hotspot clusters are associated with different hotspot topologies. A set of non-hotspot training data is classified into a plurality of non-hotspot clusters according to their topologies, where the non-hotspot clusters are associated with different topologies. Topological and non-topological critical features are extracted from the hotspot clusters and centroids of the non-hotspot clusters, and the topological critical features are geometry related features that characterize a cluster and the non-topological critical features are lithographic processes related features that characterize a cluster. A plurality of kernels configured to identify hotspots are created, where each kernel is constructed using the extracted critical features of the centroids of the non-hotspot clusters and the extracted critical features from one of the hotspot clusters, and each kernel is configured to identify hotspot topologies different from hotspot topologies that the other kernels are configured to identify.
  • One embodiment of a non-transitory computer-readable storage medium storing executable computer program instructions for identifying hotspots on a test layout, comprises classifying a set of hotspot training data into a plurality of hotspot clusters according to their topologies, where the hotspot clusters are associated with different hotspot topologies. A set of non-hotspot training data is classified into a plurality of non-hotspot clusters according to their topologies, where the non-hotspot clusters are associated with different topologies. Topological and non-topological critical features are extracted from the hotspot clusters and centroids of the non-hotspot clusters, and the topological critical features are geometry related features that characterize a cluster and the non-topological critical features are lithographic processes related features that characterize a cluster. A plurality of kernels configured to identify hotspots are created, where each kernel is constructed using the extracted critical features of the centroids of the non-hotspot clusters and the extracted critical features from one of the hotspot clusters, and each kernel is configured to identify hotspot topologies different from hotspot topologies that the other kernels are configured to identify.
  • BRIEF DESCRIPTION OF DRAWINGS
  • FIG. 1 is a layout clip that may contain a hotspot according to an embodiment.
  • FIG. 2 is an example criteria for determining whether a reported (i.e. identified) hotspot is an actual hotspot according to an embodiment.
  • FIG. 3 is a flowchart illustrating a training phase and evaluation phase of a hotspot detection system according to an embodiment.
  • FIG. 4A illustrates four patterns A, B, C, and D according to an embodiment.
  • FIG. 4B illustrates clusters {A, D}, {B}, and {C} according to an embodiment.
  • FIG. 5A is a polygon that has been sliced into different regions according to an embodiment.
  • FIG. 5B is the polygon of FIG. 5A including the strings for each side according to an embodiment.
  • FIG. 5C illustrates a pattern including composite strings according to an embodiment.
  • FIG. 5D illustrates a pixilated layout clip according to an embodiment.
  • FIG. 5E illustrates two clusters, {A, B} and {C}, generated by density-based classification according to an embodiment.
  • FIG. 6A illustrates four example topological features according to an embodiment.
  • FIG. 6B illustrates five example non-topological features according to an embodiment.
  • FIG. 7A illustrates polygon dissection occurring during layout clip extraction according to an embodiment.
  • FIG. 7B illustrates a layout clip including the polygon in FIG. 7A according to an embodiment.
  • FIG. 8 is a high-level block diagram illustrating an embodiment of an environment for hotspot spot detection.
  • FIG. 9 is a block diagram illustrating a detailed view of the components within a hotspot detection system according to an embodiment
  • DETAILED DESCRIPTION
  • The Figures (FIGS.) and the following description describe certain embodiments by way of illustration only. One skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein. Reference will now be made in detail to several embodiments, examples of which are illustrated in the accompanying figures. It is noted that wherever practicable similar or like reference numbers may be used in the figures and may indicate similar or like functionality.
  • As used herein, a “hotspot” is a layout pattern that is at risk of inducing a printability issue at the fabrication stage. As used herein, a “hit” is an actual hotspot that has been correctly identified as a hotspot. Accuracy is the ratio of the number of total hits over the number of all actual hotspots. Additionally, as used herein, an “extra” is a non-hotspot that is mistakenly identified as a hotspot. A false alarm is the ratio of the number of total extras over the number of all actual hotspots. In this embodiment, the false alarm represents the false positives (how many non-hotspots are reported as hotspots), and accuracy reflects the false negatives (how many hotspots are missed).
  • FIG. 1 is a layout clip that may contain a hotspot according to an embodiment. As shown in FIG. 1, a hotspot or non-hotspot pattern in the training data set is a layout clip defined by a core and its ambit, where the core is the central part of this clip providing its significant characteristics, while the ambit is the peripheral part of this clip providing supplementary information. Additionally, the training data set, provided by foundry (or lithography simulation), may be highly imbalanced, i.e., the non-hotspot patterns greatly outnumber the hotspot patterns.
  • FIG. 2 is an example criteria for determining whether a reported (i.e. identified) hotspot is an actual hotspot according to an embodiment. As shown in FIG. 2, a reported hotspot is considered as a hit if the core of the reported hotspot overlaps with the core of an actual hotspot. In some embodiments, a hit occurs if a clip of the reported hotpot and a clip of the actual hotspot overlap a certain amount of area. Additionally, in some embodiments, a hit may occur if the clip of the reported hotspot and the clip of the actual hotspot overlap completely.
  • Overview
  • A hotspot detection system, as disclosed herein, exploits the strengths of machine learning for the identification of hotspots for a given layout. The hotspot detection system is a computing device that executes computer program modules which train the hotspot detection system to automatically identify whether part of a layout is a hotspot. A hotspot detection system might be, for example, a personal computer, a tablet computer, a laptop computer, etc. The structure of the hotspot detection system is discussed in detail below with respect to FIGS. 8 and 9.
  • As discussed below, the hotspot detection system uses multiple kernels to provide fuzziness thus identifying potential hotspots that are undefined in the training data set, without increasing false alarm. Additionally, the hotspot detection system balances the population between hotspot and non-hotspot samples, to achieve high accuracy and low false alarm. Additionally, a testing layout contains a tremendous number of sites that need to be evaluated to identify hotspots. Therefore, in some embodiments, in an evaluation phase, to avoid time-consuming full-layout scanning, the hotspot detection system extracts only possible layout clips based on the polygon density. In some embodiments, after evaluation, the hotspot detection system may filter the detected hotspots to reduce the possibility of false alarm without sacrificing accuracy.
  • FIG. 3 is a flowchart illustrating a training phase and evaluation phase of a hotspot detection system according to an embodiment. The training phase constructs a machine learning multi-kernel model. The evaluation phase verifies a testing layout using the constructed multi-kernel model. Other entities may perform some or all of the steps of the process in other embodiments. Likewise, embodiments may include different and/or additional steps, or perform the steps in different orders.
  • The hotspot detection system is provided with a set of hotspot training data (also referred to as hotspot training data) and a set of non-hotspot training data (also referred to as non-hotspot training data). The hotspot training data contains a plurality of different patterns that are known to produce hotspots. Likewise, the non-hotspot training data contains a plurality of patterns that are known not to produce hotspots.
  • In one embodiment, the size of the hotspot training data is smaller than the size of the non-hotspot training data (i.e., the number of data items in the hotspot training data is less than the number of data items in the non-hotspot training data). A data item is a single pattern. Imbalanced population between hotspot and non-hotspot training data may degrade the accuracy and increase the false alarm rate, accordingly, the hotspot detection system may balance the population by upsampling or downsampling the hotspot and/or non-hotspot training data.
  • In this embodiment, the hotspot detection system up samples the hotspot training data to an intermediate size. The intermediate size is the size of the data set, after upsampling, such that the upsampled hotspot training data and the non-hotspot training data are close or equal to in size. In one embodiment, the intermediate size is a size of a data set such that the ratio of the sizes of the upsampled hotspot training data set and the non-hotspot training data set is a value that may range from 1:1 to 1:40. For example, in some embodiments, the intermediate size is the size of a data set that is 1:1, i.e., the size of the hotspot training data set and the non-hotspot training data set are equal.
  • To upsample hotspot training data and compensate the layout clip extraction error (discussed below), the hotspot detection system slightly shifts each hotspot training pattern upwards, downwards, leftwards, rightwards, rotating the data item (e.g., 90°), moving some edge in the data item or some combination thereof, to create several derivative data items before topological classification. A derivative data item is a data shifted data item.
  • Additionally, the hotspot detection system downsamples the non-hotspot training data to the intermediate size. In some embodiments, to downsample non-hotspot training patterns without losing important non-hotspot information, the hotspot detection system classifies non-hotspot training data into clusters and selects the centroid of each non-hotspot cluster. After topological classification, the hotspot detection system classifies the non-hotspot patterns with the same topology into a single non-hotspot cluster. Thus, for each topology there is an associated non-hotspot cluster. Then, the hotspot detection system selects the centroid of the classified non-hotspot patterns associated with the cluster to represent the associated non-hotspot cluster. In some embodiments, the hotspot detection system discards the rest of the non-hotspot patterns within this cluster, because they have same or very similar data information as the centroid. A downsampled non-hotspot training data set is formed by all non-hotspot centroids. In alternate embodiments, the hotspot detection system may downsample (e.g., randomly select) the non-hotspot data before topological classification. However, this is not preferable as it may lose some non-hotspot training data.
  • In alternative embodiments, the size of the hotspot training data may be larger than the size of the non-hotspot training data. In these embodiments, the hotspot detection system may adjust (i.e., upsample or downsample) the hotspot training data and non-hotspot training such that both data sets reach the intermediate size. Additionally, in some embodiments, the hotspot training data and the non-hotspot training data may be equal in size, so no adjustment is necessary.
  • The hotspot detection system classifies the upsampled hotspot training data into ‘N’ hotspot clusters according to their topologies. Likewise, the hotspot detection system classifies the non-hotspot training data into ‘n’ clusters according to their topologies. Topological classification is discussed in detail below with reference to FIGS. 4A-B and 5A-E.
  • The hotspot detection system extracts topological and non-topological critical features from each training pattern of each hotspot cluster and from each non-hotspot centroid. Specifically, the hotspot detection system extracts topological (geometry-related) and non-topological (lithography-process-related) critical features from the data items which comprise the hotspot clusters and the downsampled non-hotspot training data set. Critical feature extraction is discussed in detail below with reference to FIGS. 6A-B.
  • The hotspot detection system constructs a specific kernel for each hotspot cluster using the extracted critical features of the hotspot cluster and the downsampled non-hotspot data set. In some embodiments, the kernels are constructed based on a support vector machine (SVM) model, an artificial neural network, some other machine learning model, or some combination thereof.
  • Each kernel is created using a hotspot cluster and all of the non-hotspot centroids. In some embodiments, each kernel is created using a hotspot cluster and a portion of the non-hotspot clusters. With topological classification, each kernel can concentrate on the critical features specific to its corresponding cluster. At the evaluation phase, a layout clip is flagged as a hotspot if one kernel classifies it as a hotspot. Topological classification also facilitates hotspot and non-hotspot population balancing. Additionally, as discussed below, compared with a single huge kernel, multiple kernel learning achieves high accuracy. The hotspot detection system may use an iterative learning process to develop the kernels to a determined training level. For example, the hotspot detection system may train the kernels until some threshold is reached (e.g., 90% accuracy in hotspot predication). Iterative multiple SVM-kernel learning is discussed in detail below.
  • Moreover, data shifting (that occurs in the upsampling process) generates several derivatives from the hotspot training data thus introducing adequate cluster varieties. The hotspot detection system may use data shifting to include one or more polygons that are originally located in the ambit into a core region, thus, capturing more layout information that may affect a hotspot. Additionally, in some embodiments, data shifting can also compensate possible layout clip extraction bias that is induced during clip extraction. Hence, the kernels have a flexibility to identify previously unseen patterns.
  • Once the kernels have reached a sufficient training level, they may be used to evaluate test layouts (i.e., the evaluation phase). A test layout is a layout which the hotspot detection system evaluates using the multiple kernels to identify hotspots.
  • The hotspot detection system divides a testing layout into one or more clips. In some embodiments, one or more of the clips have some portion which overlap with one or more adjacent clips. The hotspot detection system extracts one or more clips from the testing layout. In alternate embodiments, the hotspot detection system defines a clip for hotspot detection. In some instances defining a clip may include dividing a testing layout into one or more clip and extracting one or more clips from the testing layout. In some embodiments, the hotspot detection system may use some of the geometrical information extracted from the hotspot clusters and the non-hotspot clusters (e.g. the polygon density of core) to quickly identify whether the extracted layout clip is important or not. The clip extraction step reads in the testing layout and extract layout clips, then the hotspot detection system uses some geometrical information extracted from the hotspot clusters and the non-hotspot clusters to quickly abandon useless clips.
  • The hotspot detection system then evaluates the extracted layout clips using the trained kernels to identify hotspots. Each of the kernels is configured to identify a particular hotspot topology. In some embodiments, each of the kernels processes all of the extracted clips to identify hotspots. Additionally, in some embodiments, some discarding of known non-hotspots in the extracted clips may occur before being passed to the kernels. The identified hotspots may then be presented to a user of the hotspot detection system. For example, the hotspot detection system may present one or more cores containing hotspots (i.e. hotspot cores) to the user.
  • In some embodiments, the hotspot detection system may perform hotspot filtering to reduce possible redundancy in the identified hotspots. After evaluation by the kernels, the reported hotspot cores may strongly overlap in an area with high polygon density. The hotspot filtering reduces the redundancy. Moreover, the hotspot filtering can greatly reduce the false alarm without sacrificing the accuracy.
  • In one embodiment, the hotspot detection system merges the identified cores including hotspots (i.e., hotspot cores) into several regions, and merges a hotspot clip into an existing merging region if its core overlaps with some hotspot core of the region. A merging region is the minimum bounding box covering all hotspot cores in this region.
  • The hotspot detection system reframes a merging region containing more than four hotspot cores. The goal of reframing is to minimize the number of identified hotspots without missing any possible actual hotspots. Clip reframing ensures that the core of an arbitrary actual hotspot is overlapped by at least one reframed core. Additionally, the hotspot detection system may remove redundant clips located in the overlapping area of two merging regions. A hotspot core may be discarded under two conditions: (1) All polygons within this core are covered by other hotspot cores, and (2) each corner of this core overlaps with other hotspot cores inside some merging region.
  • Topological Classification
  • Some training patterns have similar shapes and some are quite different. Hence, to facilitate the subsequent machine learning kernel training, hotspot/non-hotspot patterns in the training data set are classified into clusters based on topology. After topology classification, the patterns within one cluster have very similar geometrical characteristics (critical features).
  • In one embodiment, the hotspot detection system uses a two-level topological classification: string-based and density-based classification. FIG. 4A illustrates four patterns A, B, C, and D according to an embodiment. String-based classification splits these patterns into two intermediate clusters {A, D} and {B, C} based on topology (e.g., B and C are both crosses).
  • In one embodiment, the hotspot detection system uses density-based classification on the string classified intermediate clusters to create either non-hotspot or hotspot clusters depending on the data set being processed. For example, density-based classification applied to clusters {A, D} and {B, C} is used to divide {B, C} into clusters {B} and {C}, based on their polygon distribution. FIG. 4B illustrates clusters {A, D}, {B}, and {C} according to an embodiment. Topological classification makes each machine learning kernel concentrate on the critical features specific to its corresponding cluster as well as facilitates hotspot and non-hotspot population balancing.
  • In one embodiment, the hotspot detection system uses four directional strings to capture the topology of one pattern. FIG. 5A is a polygon that has been sliced into different regions according to an embodiment. To generate a decimal string for the downward direction, the pattern is first vertically sliced along polygon edges, e.g., two slices are generated for FIG. 5A. For each slice, the boundary is labeled as “1”, a polygon block is labeled as “1”, and a space block is labeled as “0.” Thus, each slice corresponds to a binary sequence, and then this sequence is converted to a decimal number. The downward slicing of FIG. 5A generates a string, <3, 10> (=<112, 10102>), recorded at the bottom side. FIG. 5B is the polygon of FIG. 5A including the strings for each side according to an embodiment. Any two strings recorded at adjacent sides fully capture the topology of a pattern.
  • In one embodiment, the hotspot detection system verifies whether two patterns have the same topology using strings from two adjacent sides of one pattern with the corresponding adjacent sides on the pattern being compared. In one embodiment, the hotspot detection system generates the four directional strings for the two patterns. The hotspot detection system selects any two strings of adjacent sides of one pattern. The hotspot detection system generates two composite strings by concatenating the strings of the other pattern counterclockwise and clockwise. The string of the beginning side should be added at the end.
  • Considering eight possible orientations, two patterns have the same topology if and only if any two strings at adjacent sides of one pattern exist in the counterclockwise or clockwise composite string of the other pattern. The eight possible orientations include combinations of four rotations (0°, 90°, 180°, and 270°) of the pattern and two minor images (horizontal and vertical) of the pattern.
  • For example, in FIG. 5B the hotspot detection system selects two strings at adjacent sides of the pattern, <5, 3, 5, 3, 10> for the left and bottom sides. FIG. 5C illustrates a pattern including composite strings according to an embodiment. A counterclockwise composite string: <6, 3, 6, 10, 3, 5, 3, 5, 3, 10, 6, 3, 6>, and clockwise composite string: <10, 3, 5, 3, 5, 3, 10, 6, 3, 6, 10, 3>. The string component <5, 3, 5, 3, 10> exists in the counterclockwise composite string. Hence, two patterns given in FIGS. 5B and 5C have the same topology.
  • After string-based classification, patterns within one cluster have the same topology. Even so, in some cases, two patterns with the same topology may still have very different geometrical characteristics. For example, one could be a hotspot, while the other is a non-hotspot under discrete process forbidden rules.
  • In one embodiment, for a pattern pi, its layout clip is first pixilated, and the polygon density of each pixel dk is calculated. FIG. 5D illustrates a pixilated layout clip according to an embodiment. The distance ρ(pi, pi) between two patterns pi and pj is defined by the summation of the pixel density difference over all pixels based on the same orientation:

  • ρ(p i ,p j)=minτεD 8 Σk |d k(p i)−d k(τ(p j))|,  (1)
  • where τ is the orientation, and D8 represents the set of eight possible orientations.
  • Based on the distance metric, the cluster radius used by density-based classification is defined as follows.

  • R=max(R 0,maxi,jρ(p i ,p j)/10),  (2)
  • where R0 is the user-defined radius threshold. In one embodiment, for an investigated pattern, the hotspot detection system checks whether this pattern is covered by some existing cluster. For example, a pattern may be covered by a cluster if the distance between this pattern and the centroid (representative) of the cluster is less than or equal to the radius value. If so, the pattern is added into the covering cluster. Otherwise, this pattern becomes the centroid of a new cluster. This flow is repeated for all patterns. Additionally, in some embodiments, the hotspot detection system recalculates the centroid once a pattern is added to some cluster. FIG. 5E illustrates two clusters, {A, B} and {C}, generated by density-based classification according to an embodiment.
  • Critical Feature Extraction
  • The hotspot detection system extracts critical features from patterns. The critical features are features that characterize an associated pattern. Critical features may be topological or non-topological features. Topological features are related to the geometry of the pattern. Topological features may include, for example, horizontal and vertical distance between a pair of internally facing polygon edges, horizontal and vertical distance between a pair of externally facing polygon edges, diagonal distance of two convex corners, horizontal and vertical edge length of a polygon, or some other feature that is related to the geometry of the pattern. Non-topological features are related to a lithographic process that may be used to generate the pattern. Non-topological features may include, for example, a number of corners (convex plus concave), a number of touched points, a minimum distance between a pair of internally facing polygon edges, a minimum distance between a pair of externally facing polygon edges, a polygon density, or some other feature that is related to the lithographic process. In one embodiment, the hotspot detection system uses a transitive closure graph to extract the topological critical features. Critical feature extraction is further described in U.S. patent application Ser. No. 13/669,387, “Accurate Process-Hotspot Detection Using Critical Design Rule Extraction”, filed on Nov. 5, 2012, which is hereby incorporated by reference in its entirety.
  • FIG. 6A illustrates four example topological features according to an embodiment. In this embodiment, the four types of topological features extracted are: (1) horizontal and vertical distance between a pair of internally facing polygon edges; (2) horizontal and vertical distance between a pair of externally facing polygon edges; (3) diagonal distance of two convex corners; and (4) horizontal and vertical edge length of a polygon. Considering eight possible orientations, two sets of topological features may be generated to preserve the vertical and horizontal relationships among extracted features.
  • FIG. 6B illustrates five example non-topological features according to an embodiment. In this embodiment, the hotspot detection system defines five types of non-topological features: (1) the number of corners (convex plus concave); (2) the number of touched points; (3) the minimum distance between a pair of internally facing polygon edges; (4) the minimum distance between a pair of externally facing polygon edges; and (5) the polygon density.
  • By topological classification, the number of critical features is identical for all patterns in a cluster. The equivalent feature number facilitates the subsequent SVM kernel training. For example, in an SVM training step, a kernel may be trained using a large amount of data. But, only with a fixed data feature size, a kernel can be trained. If two of the training data contain different feature sizes some method (e.g., add dummy features to the one with fewer features size or discard some features of the one with greater features size) should be used to make them equal. Thus, lowering the kernel training quality, because it is not known what features are really important.
  • Iterative Multiple SVM-Kernel Learning
  • To provide the flexibility to identify unseen hotspots, the hotspot detection system leverages machine learning. As discussed above, in some embodiments, the hotspot detection system may use iterative multiple kernel learning to fully exploit the strengths of machine learning.
  • In machine learning, SVM is a popular supervised learning model. A two-class SVM transforms the training data to a high dimensional space and calculates a hyperplane to separate the data into two classes with a maximum margin. If the SVM kernel function is a symmetric positive semidefinite function, then SVM guarantees a global optimum solution. SVM has showed superior performance in handling a small training data set, non-linear and high dimensional classification issues.
  • In one embodiment, the hotspot detection system uses two-class soft-margin C-type SVM and uses the radial basis function to develop the kernels to detect hotspots and non-hotspots. Given training data xn, n=1 . . . N, with label tn (+1 or −1 for two-class SVM). The dual form of the quadratic programming formulation of C-type SVM is given as follows.

  • max f(a)=Σn=1 N a n−½Σn=1 NΣm=1 N a n a m t n t m k(x n ,x m)  (3)

  • subject to

  • 0≦a n ≦C,∀n=1 . . . N,  (4)

  • Σn=1 N a n t n=0,  (5)

  • k(x n ,x m)=e (−γ∥x n −x m 2 ),  (6)

  • a=(a 1 , . . . ,a N)T,  (7)
  • where C controls the trade-off between the slack variable penalty and the margin, k(xn, xm) is the Gaussian radial basis kernel function, and an is the Lagrange multiplier. The Gaussian radial basis kernel function is symmetric positive semi-definite thus leading to an optimal classification. In this embodiment, an imbalanced population may destroy the soft margin and degrade the training quality.
  • Appropriate values of C and γ may result in a good training quality of an SVM kernel. Therefore, as shown in FIG. 3, the hotspot detection system uses a self-training process to iteratively adapt C and γ parameters. The initial values of C and γ are 1000 and 0.01, respectively. C and γ are doubled if the stopping criterion is not satisfied. The stopping criterion of iterative learning is that the number of self-training iterations exceeds a user-defined bound or the hotspot/non-hotspot detection accuracy rate (with respect to the training data) exceeds a user-defined training accuracy, say 90%, or some other value.
  • Layout Clip Extraction
  • A testing layout contains a tremendous number of sites that need to be evaluated. In one embodiment, to avoid time-consuming full-layout scanning, the hotspot detection system may extract only possible layout clips based on the polygon distribution. In other embodiments, the hotspot detection system may extract additional layout clips.
  • FIG. 7A illustrates polygon dissection occurring during layout clip extraction according to an embodiment. In this embodiment, each layout polygon is first horizontally sliced into rectangles. The rectangles are then cut into smaller pieces if their widths or heights are greater than the hotspot core side length (lc in FIG. 2).
  • FIG. 7B illustrates a layout clip including the polygon in FIG. 7A according to an embodiment. As shown in FIG. 7B, a core and an ambit are set with respect to the bottom left corner of each rectangle. The hotspot detection system extracts the corresponding layout clip if the polygon distribution within this clip meets the user-specified requirements; otherwise, the clip is discarded. In some embodiments, the user specified requirements may specify a polygon density (total polygon area/clip area), a polygon count, distances between the clip boundary and the bounding box that covers all polygon rectangles in the clip, etc. For example, the polygon density may be at least or equal to 0.3, the polygon count may be greater than 5, and distances between the clip boundary and the bounding box that covers all polygon rectangles in the clip may be shorter than 35% of the hotspot ambit length. The polygon distribution may be a polygon density, a polygon count, a distances between the clip boundary and the bounding box that covers all polygon rectangles in the clip (indicated by four arrows in FIG. 7B), etc. The user-specified requirements are positively correlated to the information of hotspot training data. It can be seen that if the polygon distribution requirements are met, each polygon must be included by at least one layout clip. Moreover, the possible misalignment between an extracted clip and an actual hotspot can be compensated by data shifting that occurs during population balancing.
  • Experimental Results
  • In one embodiment, the hotspot detection system may include software modules implemented in the C++ programming language with a GDSII library Anuvad and the SVM library LIBSVM. In this embodiment, the hotspot detection system includes two Intel Xeon 2.3 GHz CPUs and with 64 GB memory.
  • Experiments were conducted on six 32 nm and 28 nm industrial designs released by J. A. Torres, ICCAD-2012 CAD contest in fuzzy pattern matching for physical verification and benchmark suite, In Proc. ICCAD, pp. 349-350, 2012, http://cad_contest.cs.nctu.edu.tw/CAD-contest-at-ICCAD2012/problems/p3/p3.html, as listed in Table 1, with a highly imbalanced population between hotspot and non-hotspot training patterns. #hs means number of hotspots, while #nhs means number of non-hotspots. The core size is 1.2×1.2 um2, while the clip size is 4.8×4.8 um2 for this benchmark suite. Three sets of experiments were performed to compare the overall performance of the hotspot detection system with the 2012 CAD contest winners, demonstrate the effectiveness of a multiple SVM kernel training and hotspot filtering, and show rapid training convergence of the hotspot detection system.
  • TABLE 1
    1012 CAD Contest at ICCAD Benchmark Statistics
    Training data Testing Layout
    Name #hs #nhs Name #hs area (um2) process
    MX_benchmark1_clip 99 340 Array_Benchmark1 226 12516 32 nm
    MX_benchmark2_clip 176 5285 Array_Benchmark2 499 106954 28 nm
    MX_benchmark3_clip 923 4643 Array_Benchmark3 1847 122565 28 nm
    MX_benchmark4_clip 98 4452 Array_Benchmark4 192 82010 28 nm
    MX_benchmark5_clip 26 2716 Array_Benchmark5 42 49583 28 nm
    MX_blind_partial 55 224975 32 nm
  • In the first set of experiments, the hotspot detection system is compared with the 2012 CAD contest winners at ICCAD. Table 2 summarizes the experimental results. Overall, the hotspot detection system outperforms the first place winner on accuracy, false alarm, and the hit/extra rate. For the Array_benchmark3, compared with the third place winner, the hotspot detection system has lower accuracy but with a significantly lower false alarm.
  • TABLE 2
    Comparison with 2012 CAD Contest Winners
    Testing Layout
    (Training Data) Methods #hit #extra accuracy hit/extra Runtime
    Array_Benchmark1
    1st place 212 1826 93.81% 1.16E−01 0 m 05.1 s
    (MX_benchmark1_clip) 2nd place 98 188 43.36% 5.21E−01 1 m 50.2 s
    3rd place 157 728 69.47% 2.16E−01 0 m 06.7 s
    Hotspot 214 1493 94.69% 1.43E−01 0 m 38.1 s
    Det. Sys.
    Array_Benchmark2 1st place 489 20383 98.00% 2.40E−02 8 m 11.9 s
    (MX_benchmark2_clip) 2nd place 108 548 21.64% 1.97E−01 23 m 40.8 s
    3rd place 337 5878 67.54% 5.73E−02 6 m 10.2 s
    Hotspot 490 11834 98.20% 4.14E−02 3 m 54.4 s
    Det. Sys.
    Array_Benchmark3 1st place 1696 20764 91.82% 8.17E−02 18 m 44.00 s
    (MX_benchmark3_clip) 2nd place 1491 9579 80.73% 1.56E−01 118 m 56.8 s
    3rd place 1840 71328 99.62% 2.58E−02 7 m 58.1 s
    Hotspot 1697 13850 91.88% 1.23E−01 14 m 57.7 s
    Det. Sys.
    Array_Benchmark4 1st place 161 3726 83.85% 4.32E−02 1 m 15.9 s
    (MX_benchmark4_clip) 2nd place 124 956 64.58% 1.30E−01 21 m 57.9 s
    3rd place 152 13582 79.17% 1.14E−02 1 m 42.9 s
    Hotspot 165 3664 85.94% 4.50E−02 5 m 56.3 s
    Det. Sys.
    Array_Benchmark5 1st place 39 2014 92.86% 1.94E−02 0 m 26.6 s
    (MX_benchmark5_clip) 2nd place 26 31 61.90% 8.39E−01 5 m 25.6 s
    3rd place 20 245 47.62% 8.16E−02 0 m 40.0 s
    Hotspot 39 1205 92.86% 3.24E−02 0 m 20.0 s
    Det. Sys.
  • In the second set of experiments, as listed in Table 3, the effectiveness of the hotspot detection system is demonstrated. ‘Single SVM’ means the baseline SVM which uses one single huge SVM kernel (i.e., without topological classification and hotspot filtering); ‘ours_wo_filtering’ means the hotspot detection system using multiple SVM kernel training without hotspot filtering (i.e., with topological classification but without hotspot filtering); ‘ours’ means the hotspot detection system including hotspot filtering. In the experiments, the following parameters are used to demonstrate the flow of the hotspot detection system: (1) the respective initial values of C and γ of the hotspot detection system's SVM kernel are 1000 and 0.01; (2) the stopping criterion of self-training is 90% accuracy; (3) data shifting is 120 nm (=lc/10); (4) the maximum distance between the clip boundary and the bounding box of clip extraction is 1440 nm; (5) the minimum overlapping of clip merging is 20%; and (6) the separating distance of core reframing is 1150 nm. First of all, the hotspot detection system's critical features are effective. For example, a single SVM achieves over 78% accuracy for Array_benchmark3 and Array_benchmark5. Secondly, the hotspot detection system topological classification and population balancing work well, and thus the hotspot detection system's multiple SVM kernel learning has adequate fuzziness and delivers very high accuracy, 85.9˜98.2%. Thirdly, the hotspot detection system's hotspot filtering greatly reduces the false alarm for all cases without sacrificing accuracy.
  • TABLE 3
    Detailed Comparison of Hotspot Detection Features
    Testing Layout
    (Training Data) Methods #hit #extra accuracy Runtime
    Array_Benchmark1
    1st place 212 1826 93.81% 0 m 05.1 s
    (MX_benchmark1_clip) Single SVM 164 1126 72.57% 0 m 02.7 s
    Hotspot Det. Sys. 214 2729 94.69% 0 m 37.0 s
    w/o filtering
    Hotspot Det. Sys. 214 1493 94.69% 0 m 38.1 s
    Array_Benchmark2
    1st place 489 20383 98.00% 8 m 11.9 s
    (MX_benchmark2_clip) Single SVM 288 2828 57.72% 3 m 42.9 s
    Hotspot Det. Sys. 490 22775 98.20% 3 m 22.0 s
    w/o filtering
    Hotspot Det. Sys. 490 11834 98.20% 3 m 54.4 s
    Array_Benchmark3
    1st place 1696 20764 91.82% 18 m 44.0 s 
    (MX_benchmark3_clip) Single SVM 1600 31811 86.63% 7 m 42.8 s
    Hotspot Det. Sys. 1697 51067 91.88% 13 m 34.2 s 
    w/o filtering
    Hotspot Det. Sys. 1697 13850 91.88% 14 m 57.7 s 
    Array_Benchmark4
    1st place 161 3726 83.85% 1 m 15.9 s
    (MX_benchmark4_clip) Single SVM 119 1388 61.98% 0 m 26.7 s
    Hotspot Det. Sys. 165 5936 85.94% 5 m 52.4 s
    w/o filtering
    Hotspot Det. Sys. 165 3664 85.94% 5 m 56.3 s
    Array_Benchmark5
    1st place 39 2014 92.86% 0 m 26.6 s
    (MX_benchmark5_clip) Single SVM 33 1227 78.57% 0 m 13.0 s
    Hotspot Det. Sys. 39 2136 92.86% 0 m 18.9 s
    w/o filtering
    Hotspot Det. Sys. 39 1205 92.86% 0 m 20.0 s
    MX_blind partial 1st place 51 66818 92.73% 2 m 31.7 s
    (MX_benchmark1_clip) Single SVM 38 31148 69.09% 1 m 18.1 s
    Hotspot Det. Sys. 51 89254 92.73% 2 m 59.7 s
    w/o filtering
    Hotspot Det. Sys. 51 55080 92.73% 5 m 04.6 s
  • In the third set of experiments, the impact of training data on accuracy is shown in Table 4. For this table, ‘data’ refers the ratio of the used training pattern count over the whole training pattern count. Table 4 indicates that using different training data may achieve higher accuracy and lower false alarm, e.g., Array_benchmark2 and MX_blind_partial. Secondly, there is a rapid convergence of training quality for the hotspot detection system. Additionally, the hotspot detection system may use a small amount of training data to achieve high accuracy, especially for Array_benchmark3 and Array_benchmark5, thus shortening the runtime.
  • TABLE 4
    Accuracy and Training Data
    Testing Layout
    (Training Data) Methods Data #hit #extra accuracy Runtime
    Array_Benchmark1
    1st place 100.0% 212 1826 93.81% 0 m 05.1 s
    (MX_benchmark1_clip) Hotspot 75.0% 214 1476 94.69% 0 m 54.1 s
    Det. Sys.
    Array_Benchmark2 1st place 100.0% 489 20383 98.00% 8 m 11.9 s
    (MX_benchmark2_clip) Hotspot 0.6% 494 18.256 99.00% 4 m 16.5 s
    Det. Sys.
    Array_Benchmark3 1st place 100.0% 1696 20764 91.82% 18 m 44.0 s
    (MX_benchmark3_clip) Hotspot 1.0% 1712 16565 92.69% 6 m 09.0 s
    Det. Sys.
    Array_Benchmark4 1st place 100.0% 161 3726 83.85% 1 m 15.9 s
    (MX_benchmark4_clip) Hotspot 97.0% 164 2946 85.42% 1 m 15.2 s
    Det. Sys.
    Array_Benchmark5 1st place 100.0% 39 2014 92.86% 0 m 26.6 s
    (MX_benchmark5_clip) Hotspot 95.0% 40 1320 95.24% 0 m 19.3 s
    Det. Sys.
    MX_blind partial 1st place 100.0% 50 49223 90.91% 15 m 04.9 s
    (MX_benchmark1_clip) Hotspot 100.0% 52 43810 94.55% 15 m 05.8 s
    Det. Sys.
  • FIG. 8 is a high-level block diagram illustrating an embodiment of an environment for hotspot spot detection. The environment includes a client device 100 connected by a network 802 to a hotspot detection system 800. Here only one client device 100 and hotspot detection system are illustrated, but there may be multiple instances of each of these entities. For example, there may be hundreds of user devices 100 in communication with multiple hotspot detection systems 800.
  • The network 802 provides a communication infrastructure between the user device 100 and the hotspot detection system 800. The network 802 is typically the Internet, but may be any network, including but not limited to a Local Area Network (LAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), a mobile wired or wireless network, a private network, a virtual private network, or some combination thereof.
  • The client device 850 is a computing device that executes computer program modules that allow a user to upload data to the hotspot detection system 800. For example, in some embodiments, the client device 850 uploads a layout for an integrated circuit to the hotspot detection system 800. Additionally, the modules allow a user to receive identified hotspots or some other information from the hotspot detection system 800. The client device 850 might be, for example, a personal computer, a tablet computer, a laptop computer, or other type of network-capable device.
  • The hotspot detection system 800 processes layouts to identify one or more hotspots. In some embodiments, a user uploads a layout directly from a user, processes the layout to identify hotspots, and presents the identified hotspots to the user. In alternate embodiments, the hotspot detection system 800 receives layouts from the client device 850, processes the layout to identify hotspots, and provides the identified hotspots to the client device 850.
  • The hotspot detection system 800 is comprised of modules including a detection database 805, a scaling module 810, a classification module 815, a feature extraction module 820, a training module 825 and an evaluation module 830. Some embodiments of the hotspot detection system 800 have different modules than those described here. Similarly, the functions can be distributed among the modules in a different manner than is described here. In some embodiments, the hotspot detection system 800 is configured to perform some or all of the functions described above with reference to FIG. 3.
  • The detection database 805 is a database including hotspot training data, non-hotspot training data, one or more testing layouts, one or more clips, or some combination thereof. As discussed with reference to FIG. 3 above, the hotspot training data contains a plurality of different patterns that are known to produce hotspots. Likewise, the non-hotspot training data contains a plurality of patterns that are known not to produce hotspots.
  • The scaling module 810 scales non-hotspot training data, hotspot training data, or some combination thereof. The scaling module 810 may retrieve non-hotspot training data and/or hotspot training data from the detection database 805 and/or some other entity (e.g., system administrator). In some embodiments, the scaling module 810 is configured to upsample and/or downsample the hotspot training data, the non-hotspot training data, or some combination thereof. For example, the scaling module 810 may upsample the hotspot training data to an intermediate size (e.g., such that the hotspot training data set and the non-hotspot training data set are equal size). In some embodiments, the scaling module 810 may upsample the hotspot training data and/or the non-hotspot training data by slightly shifting (e.g., upwards, downwards, leftwards, rightwards, rotating the data item, moving some edge in the data item, or some combination thereof) each data item, and storing the newly shifted data item as a separate data item in the upsampled hotspot training data and/or non-hotspot training data.
  • In some embodiments, the scaling module 810 is configured to downsample the hotspot training data, the non-hotspot training data, or some combination thereof. For example, the scaling module 810 may filter out duplicative patterns in the training data. The scaling module 810 is configured to provide the scaled training data to the classification module 815. Scaled training data may be the hotspot training data and/or the non-hotspot training data, that has been upsampled, downsampled, not modified (e.g., no upsampling/downsampling of the data), or some combination thereof.
  • The classification module 815 classifies training data according to its topologies. The classification module 815 receives the hotspot training data, non-hotspot training data, or some combination thereof from the scaling module 810. The hotspot training data and/or non-hotspot training may or may not have been scaled (e.g., upsampled and/or downsampled). The classification module 815 classifies hotspot training data into ‘N’ hotspot clusters according to their topologies. Likewise, the classification module 815 classifies the non-hotspot training data into ‘n’ non-hotspot clusters according to their topologies. The classification module 815 groups non-hotspot patterns with the same topology into a single non-hotspot cluster. Thus, for each topology, there is an associated non-hotspot cluster. The classification module 815 selects the centroid of the classified non-hotspot patterns associated with the cluster to represent the associated non-hotspot cluster. In some embodiments, the classification module 815 discards (e.g., using the scaling module 810) the rest of the non-hotspot patterns within this cluster, because they have same or very similar data information as the centroid. In alternate embodiments, the classification module 810 may downsample (e.g., randomly select) the non-hotspot data before topological classification. In some embodiments, the classification module 815 performs some or all of the functions discussed in detail above in the section titled “Topological Classification” to classify the hotspot training data, non-hotspot training data, or some combination thereof. The classification module 815 provides the hotspot clusters and non-hotspot clusters to the feature extraction module 820.
  • The feature extraction module 820 extracts critical features from hotspot clusters, non-hotspot clusters, or some combination thereof. The critical features may be topological and/or non-topological. The feature extraction module 820 performs some or all of the functions discussed in detail above in the section titled “Critical Feature Extraction” to extract critical features from the hotspot training data, non-hotspot training data, or some combination thereof. The feature extraction module 820 provides the critical features to the training module 825.
  • The training module 825 creates a plurality of kernels configured to identify hotspots using the critical features received from the feature extraction module 820. The training module 825 creates a kernel for each hotspot cluster using the extracted critical features of the hotspot cluster and the critical features extracted from some, or all of, the non-hotspot training data. The kernels may be constructed based on a SVM model, an artificial neural network, some other machine learning model, or some combination thereof.
  • The training module 825 may train kernels to a determined training level. The training module 825 may use an iterative training process that trains kernels until a threshold value is reached. The threshold value may be set such that the training completes when one or more parameters are achieved. A parameter may be, e.g., a hotspot detection accuracy rate, time take, number of training cycles, etc. The training module 825 performs some or all of the functions discussed in detail above in the section titled “Iterative Multiple SVM-Kernel Learning” to train the kernels for hotspot detection.
  • The evaluation module 830 generates one or more clips from a testing layout. The testing layout may be received from a user of the hotspot detection system 800, received from one or more client devices 100, or some combination thereof. The evaluation module 830 may retrieve the testing layout from the detection database 805. The evaluation module 830 performs some or all of the functions discussed in detail above in the section titled “Layout Clip Extraction” to extract clips from a testing layout. In some embodiments, the evaluation module 830 uses some, or all of, the geometrical information extracted from the hotspot clusters and/or the non-hotspot clusters to identify whether an extracted layout clip is likely to contain a hotspot. Additionally, in some embodiments, if the clip includes patterns that are known not to be hotspots, the evaluation module 830 discards the clip.
  • The evaluation module 830 then evaluates clips using the trained kernels to identify hotspot cores. Each of the trained kernels is configured to identify a particular hotspot topology. The evaluation module 830 uses some or all of the trained kernels to identify hotspot cores in the clips. In some embodiments, the evaluation module 830 may filter out any redundancy in the identified hotspot cores Additionally, the evaluation module 830 may merge a plurality of hotspot cores into a merging region (i.e., the minimum bounding box covering all hotspot cores in a region) if the hotspot cores overlap. In some embodiments, the evaluation module 830 may reframe a merging region containing a plurality of hotspot cores (e.g., more than 4). This is discussed above with reference to FIG. 3. The evaluation module 830 may present the identified hotspots to the user and/or provide the identified hotspots to the client device 100.
  • Turning now to a discussion of the implementation of the entities discussed above, FIG. 9 is a high-level block diagram illustrating an example computer 900 for implementing one or more of the entities shown in FIG. 8. The computer 900 includes at least one processor 902 coupled to a chipset 904. The chipset 904 includes a memory controller hub 920 and an input/output (I/O) controller hub 922. A memory 906 and a graphics adapter 912 are coupled to the memory controller hub 920, and a display 918 is coupled to the graphics adapter 912. A storage device 908, an input interface 914, a speaker 926, and network adapter 916 are coupled to the I/O controller hub 922. Other embodiments of the computer 900 have different architectures.
  • The storage device 908 is a non-transitory computer-readable storage medium such as a hard drive, compact disk read-only memory (CD-ROM), DVD, or a solid-state memory device. The memory 906 holds instructions and data used by the processor 902. The input interface 914 is a touch-screen interface, a mouse, track ball, or other type of pointing device, a keyboard, a microphone, or some combination thereof, and is used to input data into the computer 900. The graphics adapter 912 displays images and other information on the display 918. The network adapter 916 couples the computer 900 to one or more computer networks.
  • The computer 900 is adapted to execute computer program modules for providing functionality described herein. As used herein, the term “module” refers to computer program logic used to provide the specified functionality. Thus, a module can be implemented in hardware, firmware, and/or software. In one embodiment, program modules are stored on the storage device 908, loaded into the memory 906, and executed by the processor 902. The type of computer 900 used by the hotspot detection system 800 can vary depending upon the embodiment and the processing power required by the hotspot detection system 800. For example, the hotspot detection system 800 may include multiple computers 900 communicating with each other through a network such as in a server farm to provide the functionality described herein. Such computers 900 may lack some of the components described above, such as graphics adapters 912 and displays 918.
  • Additional Configuration Considerations
  • Some portions of the above description describe the embodiments in terms of algorithmic processes or operations. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs comprising instructions for execution by a processor or equivalent electrical circuits, microcode, or the like. Furthermore, it has also proven convenient at times, to refer to these arrangements of functional operations as modules, without loss of generality. The described operations and their associated modules may be embodied in software, firmware, hardware, or any combinations thereof. In one embodiment, a software module is implemented with a computer program product comprising a non-transitory computer-readable medium containing computer program code, which can be executed by a computer processor for performing any or all of the steps, operations, or processes described.
  • As used herein any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
  • Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. It should be understood that these terms are not intended as synonyms for each other. For example, some embodiments may be described using the term “connected” to indicate that two or more elements are in direct physical or electrical contact with each other. In another example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.
  • As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
  • In addition, use of the “a” or “an” are employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of the disclosure. This description should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.
  • Upon reading this disclosure, those of skill in the art will appreciate still additional alternative structural and functional designs for a system and a process for identifying hotspots. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the described subject matter is not limited to the precise construction and components disclosed herein and that various modifications, changes and variations which will be apparent to those skilled in the art may be made in the arrangement, operation and details of the method and apparatus disclosed herein.

Claims (20)

1. A computer implemented method for hotspot detection using a hotspot detection system, comprising:
defining a clip to represent a portion of an integrated circuit topology; and
evaluating the clip using a plurality of kernels wherein the kernels identify different topologies that indicate a potential for a hotspot to occur.
2. The method of claim 1, wherein each of the kernels processes all of the extracted clips to identify hotspots.
3. The method of claim 1 further comprising performing hotspot filtering.
4. The method of claim 1 further comprising merging identified hotspot cores into several regions wherein a merging region is the minimum bounding box covering all hotspot cores in this region.
5. The method of claim 1 further comprising:
receiving the layout from a client device connected to the hotspot detection system; and
providing the identified hotspots to the client device.
6. A computer implemented method comprising:
classifying a set of hotspot training data into a plurality of hotspot clusters according to their topologies, where the hotspot clusters are associated with different hotspot topologies;
classifying a set of non-hotspot training data into a plurality of non-hotspot clusters according to their topologies, where the non-hotspot clusters are associated with different topologies;
extracting topological and non-topological critical features from the hotspot clusters and centroids of the non-hotspot clusters, wherein the topological critical features are geometry related features that characterize a cluster and the non-topological critical features are lithographic processes related features that characterize a cluster; and
creating a plurality of kernels configured to identify hotspots, where each kernel is constructed using extracted critical features of the centroids of the non-hotspot clusters and extracted critical features from one of the hotspot clusters, and each kernel is configured to identify hotspot topologies different from hotspot topologies that the other kernels are configured to identify.
7. The method of claim 6, further comprising:
upsampling the hotspot training data to a first data size,
wherein classifying a set of non-hotspot training data into a plurality of non-hotspot clusters according to their topologies comprises downsampling the non-hotspot training data to a second data size.
8. The method of claim 6, wherein:
the hotspot training data comprises a plurality of hotspot data items, and
upsampling the hotspot training data comprises:
data shifting each hotspot data item to create one or more associated derivative data items, wherein each hotspot data item and its associated one or more derivative data items form a different hotspot cluster.
9. The method of claim 8, wherein data shifting comprises:
shifting a hotspot data item upwards, downwards, leftwards, rightwards, rotating the hotspot data item, moving some edge in the data item, or some combination thereof.
10. The method of claim 6, wherein the plurality of kernels use a support vector machine learning model.
11. The method of claim 6, further comprising:
iteratively training the plurality of kernels until a stopping criterion is satisfied, the stopping criterion being a hotspot detection accuracy rate.
12. The method of claim 6, wherein classifying a set of hotspot training data into a plurality of hotspot clusters according to their topologies comprises:
clustering the hotspot training data using string-based classifications into a plurality of intermediate hotspot clusters; and
creating one or more hotspot clusters from each intermediate hotspot cluster using density-based classification.
13. The method of claim 6, wherein classifying a set of non-hotspot training data into a plurality of non-hotspot clusters according to their topologies comprises:
clustering the non-hotspot training data using string-based classifications into a plurality of intermediate non-hotspot clusters; and
creating one or more non-hotspot clusters from each intermediate non-hotspot cluster using density-based classification.
14. The method of claim 6, further comprising:
receiving a portion of a testing layout; and
evaluating, by the plurality of kernels, the portion to identify one or more hotspots, where each kernel evaluates the portion to identify whether a hotspot the kernel is configured to identify is present in the portion.
15. The method of claim 6, further comprising:
filtering the identified one or more hotspots to remove redundancy in the identified hotspots.
16. A non-transitory computer readable medium having embedded thereon a program, the program being executable by a processor for performing a method comprising:
classifying a set of hotspot training data into a plurality of hotspot clusters according to their topologies, where the hotspot clusters are associated with different hotspot topologies;
classifying a set of non-hotspot training data into a plurality of non-hotspot clusters according to their topologies, where the non-hotspot clusters are associated with different topologies;
extracting topological and non-topological critical features from the hotspot clusters and centroids of the non-hotspot clusters, wherein the topological critical features are geometry related features that characterize a cluster and the non-topological critical features are lithographic processes related features that characterize a cluster; and
creating a plurality of kernels configured to identify hotspots, where each kernel is constructed using the extracted critical features of the centroids of the non-hotspot clusters and the extracted critical features from one of the hotspot clusters, and each kernel is configured to identify hotspot topologies different from hotspot topologies that the other kernels are configured to identify.
17. The computer readable medium of claim 16, further comprising:
upsampling the hotspot training data to a first data size, and
wherein classifying a set of non-hotspot training data into a plurality of non-hotspot clusters according to their topologies comprises downsampling the non-hotspot training data to a second data size.
18. The computer readable medium of claim 16, wherein:
the hotspot training data comprises a plurality of hotspot data items, and
upsampling the hotspot training data comprises:
data shifting each hotspot data item to create one or more associated derivative data items, wherein each hotspot data item and its associated one or more derivative data items form a different hotspot cluster.
19. The computer readable medium of claim 18, wherein data shifting comprises:
shifting a hotspot data item upwards, downwards, leftwards, rightwards, rotating the hotspot data item, moving some edge in the data item, or some combination thereof.
20. The computer readable medium of claim 16, further comprising:
iteratively training the plurality of kernels until a stopping criterion is satisfied, the stopping criterion being a hotspot detection accuracy rate.
US14/287,921 2013-05-30 2014-05-27 Lithographic hotspot detection using multiple machine learning kernels Abandoned US20140358830A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/287,921 US20140358830A1 (en) 2013-05-30 2014-05-27 Lithographic hotspot detection using multiple machine learning kernels
US16/432,514 US11403564B2 (en) 2013-05-30 2019-06-05 Lithographic hotspot detection using multiple machine learning kernels

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361828915P 2013-05-30 2013-05-30
US14/287,921 US20140358830A1 (en) 2013-05-30 2014-05-27 Lithographic hotspot detection using multiple machine learning kernels

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/432,514 Continuation US11403564B2 (en) 2013-05-30 2019-06-05 Lithographic hotspot detection using multiple machine learning kernels

Publications (1)

Publication Number Publication Date
US20140358830A1 true US20140358830A1 (en) 2014-12-04

Family

ID=51986293

Family Applications (2)

Application Number Title Priority Date Filing Date
US14/287,921 Abandoned US20140358830A1 (en) 2013-05-30 2014-05-27 Lithographic hotspot detection using multiple machine learning kernels
US16/432,514 Active 2036-03-23 US11403564B2 (en) 2013-05-30 2019-06-05 Lithographic hotspot detection using multiple machine learning kernels

Family Applications After (1)

Application Number Title Priority Date Filing Date
US16/432,514 Active 2036-03-23 US11403564B2 (en) 2013-05-30 2019-06-05 Lithographic hotspot detection using multiple machine learning kernels

Country Status (3)

Country Link
US (2) US20140358830A1 (en)
CN (2) CN104217224B8 (en)
TW (1) TWI554824B (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140325290A1 (en) * 2013-04-30 2014-10-30 Hewlett-Packard Development Company, L.P. Hotspot identification
US20150112649A1 (en) * 2013-10-18 2015-04-23 International Business Machines Corporation Clustering Lithographic Hotspots Based on Frequency Domain Encoding
US20150213374A1 (en) * 2014-01-24 2015-07-30 International Business Machines Corporation Detecting hotspots using machine learning on diffraction patterns
US9500945B1 (en) * 2015-06-09 2016-11-22 Globalfoundries Singapore Pte. Ltd. Pattern classification based proximity corrections for reticle fabrication
WO2017176356A3 (en) * 2016-02-11 2018-02-15 William Marsh Rice University Partitioned machine learning architecture
TWI647528B (en) * 2016-07-12 2019-01-11 荷蘭商Asml荷蘭公司 Method and system for performance metrics of computational analysis of visual design layouts
WO2019132901A1 (en) * 2017-12-27 2019-07-04 Intel Corporation Generating a machine learning model to place srafs
US10409165B2 (en) * 2014-12-15 2019-09-10 Asml Netherlands B.V. Optimization based on machine learning
US10539881B1 (en) 2018-09-24 2020-01-21 International Business Machines Corporation Generation of hotspot-containing physical design layout patterns
US10546246B2 (en) 2015-09-18 2020-01-28 International Business Machines Corporation Enhanced kernel representation for processing multimodal data
US10621302B2 (en) * 2018-06-27 2020-04-14 International Business Machines Corporation Classification and localization of hotspots in integrated physical design layouts
US20200133115A1 (en) * 2018-10-30 2020-04-30 Taiwan Semiconductor Manufacturing Co., Ltd. Photo mask data correction method
US10762618B1 (en) * 2019-02-14 2020-09-01 United Microelectronics Corp. Mask weak pattern recognition apparatus and mask weak pattern recognition method
US10831976B1 (en) 2019-05-30 2020-11-10 International Business Machines Corporation Predicting local layout effects in circuit design patterns
KR20200139840A (en) * 2016-05-12 2020-12-14 에이에스엠엘 네델란즈 비.브이. Identification of hot spots or defects by machine learning
US11194949B1 (en) * 2017-02-22 2021-12-07 Synopsys, Inc. Predictor-guided cell spreader to improve routability for designs at advanced process nodes
AT524013A2 (en) * 2019-02-25 2022-01-15 D2S Inc Methods and systems for classifying features in electronic designs
US11301748B2 (en) * 2018-11-13 2022-04-12 International Business Machines Corporation Automatic feature extraction from aerial images for test pattern sampling and pattern coverage inspection for lithography
US11823423B2 (en) 2019-02-25 2023-11-21 Center For Deep Learning In Electronics Manufacturing, Inc. Methods and systems for compressing shape data for electronic designs

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017108432A1 (en) 2015-12-22 2017-06-29 Asml Netherlands B.V. Apparatus and method for process-window characterization
EP3392712A1 (en) * 2017-04-21 2018-10-24 IMEC vzw A method for analyzing design of an integrated circuit
KR102550350B1 (en) * 2017-09-08 2023-07-04 에이에스엠엘 네델란즈 비.브이. Training methods for machine learning assisted optical proximity error correction
US11022966B1 (en) * 2017-12-15 2021-06-01 Synopsys, Inc. Method of modeling e-beam photomask manufacturing process using image-based artificial neural networks
CN108053397B (en) * 2017-12-19 2022-04-26 上海集成电路研发中心有限公司 Method for detecting photoetching weak point by adopting support vector machine
TWI738169B (en) * 2019-01-29 2021-09-01 荷蘭商Asml荷蘭公司 Method for determining a training pattern for a layout patterning process and related computer program product
CN113454532A (en) * 2019-02-21 2021-09-28 Asml荷兰有限公司 Method of training a machine learning model to determine optical proximity correction of a mask
CN115885216A (en) * 2020-08-19 2023-03-31 Asml荷兰有限公司 System, product, and method for image-based pattern selection
CN113674235B (en) * 2021-08-15 2023-10-10 上海立芯软件科技有限公司 Low-cost photoetching hot spot detection method based on active entropy sampling and model calibration

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6246472B1 (en) * 1997-07-04 2001-06-12 Hitachi, Ltd. Pattern inspecting system and pattern inspecting method
US20030109952A1 (en) * 2001-12-11 2003-06-12 Hitachi, Ltd. Method and apparatus for inspecting defects in a semiconductor wafer
US20050256669A1 (en) * 2004-04-30 2005-11-17 Tadashi Mitsui Measurement system and method and computer program for processing measurement data
US20060111849A1 (en) * 2002-08-02 2006-05-25 Schadt Eric E Computer systems and methods that use clinical and expression quantitative trait loci to associate genes with traits
US20070185656A1 (en) * 2003-05-30 2007-08-09 Rosetta Inpharmatics Llc Computer systems and methods for identifying surrogate markers
US20070245281A1 (en) * 2006-04-14 2007-10-18 Riepe Michael A Placement-Driven Physical-Hierarchy Generation
US20090324107A1 (en) * 2008-06-25 2009-12-31 Gannon Technologies Group, Llc Systems and methods for image recognition using graph-based pattern matching
US20100127185A1 (en) * 2008-11-17 2010-05-27 Ims Nanofabrication Ag Method for maskless particle-beam exposure
US7823099B2 (en) * 2007-05-31 2010-10-26 Synopsys, Inc. Lithography suspect spot location and scoring system
US20110161895A1 (en) * 2009-12-29 2011-06-30 Mentor Graphics Corporation Retargeting Based On Process Window Simulation
US7987150B1 (en) * 2007-02-09 2011-07-26 Siglaz Method and apparatus for automated rule-based sourcing of substrate microfabrication defects
US20110209107A1 (en) * 2010-02-24 2011-08-25 Katsuyoshi Kodera Mask-layout creating method, apparatus therefor, and computer program product
US20120254333A1 (en) * 2010-01-07 2012-10-04 Rajarathnam Chandramouli Automated detection of deception in short and multilingual electronic messages
US20130031522A1 (en) * 2011-07-26 2013-01-31 Juan Andres Torres Robles Hotspot detection based on machine learning
US20130061184A1 (en) * 2011-09-02 2013-03-07 International Business Machines Corporation Automated lithographic hot spot detection employing unsupervised topological image categorization
US20130091479A1 (en) * 2011-10-06 2013-04-11 Rami Fathy Salem Parameter Matching Hotspot Detection
US20130163851A1 (en) * 2011-12-21 2013-06-27 Michele Dalla-Torre System, method and computer program product for classification within inspection images

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2371240C (en) * 1999-05-25 2011-08-09 Stephen D. Barnhill Enhancing knowledge discovery from multiple data sets using multiple support vector machines
US8078552B2 (en) * 2008-03-08 2011-12-13 Tokyo Electron Limited Autonomous adaptive system and method for improving semiconductor manufacturing quality
US8578313B2 (en) * 2008-04-24 2013-11-05 Synopsys, Inc. Pattern-clip-based hotspot database system for layout verification
US8381152B2 (en) * 2008-06-05 2013-02-19 Cadence Design Systems, Inc. Method and system for model-based design and layout of an integrated circuit
US8260728B1 (en) * 2008-12-12 2012-09-04 Qurio Holdings, Inc. System and method for influencing behavior in a distributed virtual environment
CN101482926B (en) * 2009-02-19 2011-06-15 北京大学 Extensible self-adapting multi-core classification method
NL2008311A (en) * 2011-04-04 2012-10-08 Asml Netherlands Bv Integration of lithography apparatus and mask optimization process with multiple patterning process.
US8504949B2 (en) * 2011-07-26 2013-08-06 Mentor Graphics Corporation Hybrid hotspot detection
US8490030B1 (en) 2012-06-01 2013-07-16 Synopsys, Inc. Distance metric for accurate lithographic hotspot classification using radial and angular functions
US8601419B1 (en) 2012-11-05 2013-12-03 Synopsys, Inc. Accurate process hotspot detection using critical design rule extraction

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6246472B1 (en) * 1997-07-04 2001-06-12 Hitachi, Ltd. Pattern inspecting system and pattern inspecting method
US20030109952A1 (en) * 2001-12-11 2003-06-12 Hitachi, Ltd. Method and apparatus for inspecting defects in a semiconductor wafer
US20060111849A1 (en) * 2002-08-02 2006-05-25 Schadt Eric E Computer systems and methods that use clinical and expression quantitative trait loci to associate genes with traits
US20070185656A1 (en) * 2003-05-30 2007-08-09 Rosetta Inpharmatics Llc Computer systems and methods for identifying surrogate markers
US20050256669A1 (en) * 2004-04-30 2005-11-17 Tadashi Mitsui Measurement system and method and computer program for processing measurement data
US20070245281A1 (en) * 2006-04-14 2007-10-18 Riepe Michael A Placement-Driven Physical-Hierarchy Generation
US7987150B1 (en) * 2007-02-09 2011-07-26 Siglaz Method and apparatus for automated rule-based sourcing of substrate microfabrication defects
US7823099B2 (en) * 2007-05-31 2010-10-26 Synopsys, Inc. Lithography suspect spot location and scoring system
US20090324107A1 (en) * 2008-06-25 2009-12-31 Gannon Technologies Group, Llc Systems and methods for image recognition using graph-based pattern matching
US20100127185A1 (en) * 2008-11-17 2010-05-27 Ims Nanofabrication Ag Method for maskless particle-beam exposure
US20110161895A1 (en) * 2009-12-29 2011-06-30 Mentor Graphics Corporation Retargeting Based On Process Window Simulation
US20120254333A1 (en) * 2010-01-07 2012-10-04 Rajarathnam Chandramouli Automated detection of deception in short and multilingual electronic messages
US20110209107A1 (en) * 2010-02-24 2011-08-25 Katsuyoshi Kodera Mask-layout creating method, apparatus therefor, and computer program product
US20130031522A1 (en) * 2011-07-26 2013-01-31 Juan Andres Torres Robles Hotspot detection based on machine learning
US20130061184A1 (en) * 2011-09-02 2013-03-07 International Business Machines Corporation Automated lithographic hot spot detection employing unsupervised topological image categorization
US20130091479A1 (en) * 2011-10-06 2013-04-11 Rami Fathy Salem Parameter Matching Hotspot Detection
US20130163851A1 (en) * 2011-12-21 2013-06-27 Michele Dalla-Torre System, method and computer program product for classification within inspection images

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Ding et al, "High performance lithographic hotspot detection using hierarchically refined machine learning", Asia and South Pacific Design Automation Conference {ASPDAC) 2011, Jan. 25-28, 2011, Pacifico Yokohama, Yokohama, Japan *
Ding et al, "High Performance Lithography Hotspot Detection with Successively Refined Pattern Identifications and Machine Learning", IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 30, NO. 11, NOVEMBER 2011 *
Ding et al, "Machine learning based lithographic hotspot detection with critical-feature extraction and classification", Published in: International Conference on IC Design and Technology, 2009. ICICDT '09. IEEE, Date of Conference: 18-20 May 2009 *
Ma, et al, "Automatic hotspot classification using pattern-based clustering", Design for Manufacturability through Design-Process Integration II, edited by Vivek K. Singh, Michael L Rieger, Proc. of SPIE Vol. 6925, 692505, (2008) *
Xu et al, "Accurate Detection for Process-Hotspots with Vias and Incomplete Specification", 2007 IEEE *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9195535B2 (en) * 2013-04-30 2015-11-24 Hewlett-Packard Development Company, L.P. Hotspot identification
US20140325290A1 (en) * 2013-04-30 2014-10-30 Hewlett-Packard Development Company, L.P. Hotspot identification
US20150112649A1 (en) * 2013-10-18 2015-04-23 International Business Machines Corporation Clustering Lithographic Hotspots Based on Frequency Domain Encoding
US9626459B2 (en) * 2014-01-24 2017-04-18 International Business Machines Corporation Detecting hotspots using machine learning on diffraction patterns
US20150213374A1 (en) * 2014-01-24 2015-07-30 International Business Machines Corporation Detecting hotspots using machine learning on diffraction patterns
US10409165B2 (en) * 2014-12-15 2019-09-10 Asml Netherlands B.V. Optimization based on machine learning
US11029605B2 (en) 2014-12-15 2021-06-08 Asml Netherlands B.V. Optimization based on machine learning
US9500945B1 (en) * 2015-06-09 2016-11-22 Globalfoundries Singapore Pte. Ltd. Pattern classification based proximity corrections for reticle fabrication
US10546246B2 (en) 2015-09-18 2020-01-28 International Business Machines Corporation Enhanced kernel representation for processing multimodal data
WO2017176356A3 (en) * 2016-02-11 2018-02-15 William Marsh Rice University Partitioned machine learning architecture
US11922313B2 (en) 2016-02-11 2024-03-05 William Marsh Rice University Partitioned machine learning architecture
KR102376200B1 (en) * 2016-05-12 2022-03-18 에이에스엠엘 네델란즈 비.브이. Identification of hot spots or defects by machine learning
KR20200139840A (en) * 2016-05-12 2020-12-14 에이에스엠엘 네델란즈 비.브이. Identification of hot spots or defects by machine learning
US10896282B2 (en) 2016-07-12 2021-01-19 Asml Netherlands B.V. Visualization performance metrics of computational analyses of design layouts
TWI647528B (en) * 2016-07-12 2019-01-11 荷蘭商Asml荷蘭公司 Method and system for performance metrics of computational analysis of visual design layouts
US11194949B1 (en) * 2017-02-22 2021-12-07 Synopsys, Inc. Predictor-guided cell spreader to improve routability for designs at advanced process nodes
WO2019132901A1 (en) * 2017-12-27 2019-07-04 Intel Corporation Generating a machine learning model to place srafs
US10621302B2 (en) * 2018-06-27 2020-04-14 International Business Machines Corporation Classification and localization of hotspots in integrated physical design layouts
US10539881B1 (en) 2018-09-24 2020-01-21 International Business Machines Corporation Generation of hotspot-containing physical design layout patterns
US20200133115A1 (en) * 2018-10-30 2020-04-30 Taiwan Semiconductor Manufacturing Co., Ltd. Photo mask data correction method
US10866506B2 (en) * 2018-10-30 2020-12-15 Taiwan Semiconductor Manufacturing Co., Ltd. Photo mask data correction method
US11662657B2 (en) 2018-10-30 2023-05-30 Taiwan Semiconductor Manufacturing Company, Ltd. Photo mask data correction method
US11360379B2 (en) 2018-10-30 2022-06-14 Taiwan Semiconductor Manufacturing Co., Ltd. Photo mask data correction method
US11301748B2 (en) * 2018-11-13 2022-04-12 International Business Machines Corporation Automatic feature extraction from aerial images for test pattern sampling and pattern coverage inspection for lithography
US10762618B1 (en) * 2019-02-14 2020-09-01 United Microelectronics Corp. Mask weak pattern recognition apparatus and mask weak pattern recognition method
US11263496B2 (en) 2019-02-25 2022-03-01 D2S, Inc. Methods and systems to classify features in electronic designs
AT524013A2 (en) * 2019-02-25 2022-01-15 D2S Inc Methods and systems for classifying features in electronic designs
US11823423B2 (en) 2019-02-25 2023-11-21 Center For Deep Learning In Electronics Manufacturing, Inc. Methods and systems for compressing shape data for electronic designs
US10831976B1 (en) 2019-05-30 2020-11-10 International Business Machines Corporation Predicting local layout effects in circuit design patterns

Also Published As

Publication number Publication date
CN109242108A (en) 2019-01-18
CN104217224B (en) 2018-07-17
CN104217224B8 (en) 2018-11-23
TWI554824B (en) 2016-10-21
CN104217224A (en) 2014-12-17
US20190287021A1 (en) 2019-09-19
US11403564B2 (en) 2022-08-02
TW201510636A (en) 2015-03-16
CN109242108B (en) 2022-07-12

Similar Documents

Publication Publication Date Title
US11403564B2 (en) Lithographic hotspot detection using multiple machine learning kernels
Yu et al. Machine-learning-based hotspot detection using topological classification and critical feature extraction
US10621727B1 (en) Label and field identification without optical character recognition (OCR)
Tang et al. Deeply-supervised recurrent convolutional neural network for saliency detection
Vicente et al. Leave-one-out kernel optimization for shadow detection
US8892562B2 (en) Categorization of multi-page documents by anisotropic diffusion
US20160098619A1 (en) Efficient object detection with patch-level window processing
US20160179923A1 (en) Adaptive trajectory analysis of replicator dynamics for data clustering
US20160306971A1 (en) Automated identification and reverse engineering of malware
Gao et al. Accurate lithography hotspot detection based on PCA-SVM classifier with hierarchical data clustering
Liu et al. Adversarial perturbation attacks on ML-based CAD: A case study on CNN-based lithographic hotspot detection
JP2012500428A (en) Segment print pages into articles
Dudjak et al. An empirical study of data intrinsic characteristics that make learning from imbalanced data difficult
Zhu et al. Finding the samples near the decision plane for support vector learning
WO2021169499A1 (en) Network bad data monitoring method, apparatus and system, and storage medium
US20170213071A1 (en) Face detection method and apparatus
Fraz et al. Exploiting colour information for better scene text detection and recognition
Aggarwal et al. Zernike moments-based Gurumukhi character recognition
Mostafa et al. Multi-selection method for physical design verification applications
Feild Improving text recognition in images of natural scenes
Li et al. Comic image understanding based on polygon detection
US20160217386A1 (en) Computer implemented classification system and method
US11442579B2 (en) Method and electronic device for accidental touch prediction using ml classification
US20210232931A1 (en) Identifying adversarial attacks with advanced subset scanning
Maratea et al. Asymmetric kernel scaling for imbalanced data classification

Legal Events

Date Code Title Description
AS Assignment

Owner name: SYNOPSYS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHIANG, CHARLES C.;YU, YEN-TING;LIN, GENG-HE;AND OTHERS;REEL/FRAME:032974/0152

Effective date: 20140521

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION