Integrated Circuit Profiling and Anomaly Detection

By embedding sensors in ICs and using SVD-based classification, the method effectively identifies and removes manufacturing outliers, improving IC reliability and reducing defects, addressing the challenge of DPPB in critical applications.

JP7602373B2Active Publication Date: 2024-12-18PROTEANTECS LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2020555895
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2018-04-16
Filing Date
2019-04-16
Publication Date
2024-12-18
Estimated Expiration
2039-04-16

AI Technical Summary

Technical Problem

Existing integrated circuit (IC) manufacturing processes struggle to identify and remove manufacturing outliers and anomalies effectively, leading to potential defects and reduced reliability in ICs, especially in critical applications like automotive and medical devices, where defects per billion (DPPB) are a key concern.

Method used

A method involving the use of sensors embedded in ICs to collect data, which is processed by hardware processors to classify ICs based on a classification scheme derived from simulations and actual measurements, identifying outliers and anomalies through singular value decomposition (SVD) and clustering techniques, thereby improving the detection of defective ICs.

Benefits of technology

Enhances the detection of manufacturing outliers and anomalies, reducing defects and improving IC reliability by classifying ICs into families with consistent performance characteristics, thus enhancing production yield and meeting stringent industry standards.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007602373000037
    Figure 0007602373000037
  • Figure 0007602373000038
    Figure 0007602373000038
  • Figure 0007602373000039
    Figure 0007602373000039
Patent Text Reader

Abstract

A computerized method for IC classification, outlier detection, and / or anomaly detection includes using at least one hardware processor for testing each of a plurality of ICs according to an IC design on a wafer, the IC design including a plurality of sensors. The at least one hardware processor is used to test each of the plurality of ICs by collecting a plurality of sensor values, the plurality of sensor values ​​including a sensor value from each of the plurality of sensors, comparing the plurality of sensor values ​​to a classification scheme to thereby obtain a classification for each tested IC, and recording the classification of the tested IC. A computerized method for IC classification, outlier detection, and / or anomaly detection includes using at least one hardware processor for testing each of a plurality of ICs according to an IC design on a wafer, the IC design including a plurality of sensors. The at least one hardware processor is used to test each of the plurality of ICs by collecting a plurality of sensor values, the plurality of sensor values ​​including a sensor value from each of the plurality of sensors, comparing the plurality of sensor values ​​to a classification scheme to thereby obtain a classification for each tested IC, and recording the classification of the tested IC. [Selected Figure] Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of priority to U.S. Provisional Patent Application No. 62 / 657,986, filed April 16, 2018, entitled "INTEGRATED CIRCUIT PROFILING AND ANOMALY DETECTION," the entire contents of which are hereby incorporated by reference.

[0002] The present invention relates to the field of integrated circuits. [Background technology]

[0003] An integrated circuit (IC) may contain analog and digital electronic circuits on a flat semiconductor substrate such as a silicon (Si) wafer. Microscopic transistors are printed on the substrate using photolithography techniques to produce complex circuits of billions of transistors in a very small area, making modern electronic circuit designs using ICs low-cost and high-performance. ICs are produced on assembly lines in factories called foundries, which share the production of ICs such as complementary metal-oxide semiconductor (CMOS) ICs. Digital ICs contain billions of transistors arranged in functional and / or logic units on a wafer and packaged in metal, plastic, glass, ceramic casings, etc.

[0004] ICs are tested during production to detect defects, such as by using wafer testing, package testing, circuit testing, end-user device operational testing, and the like. For example, wafer testing may determine the faulty ICs in each wafer tested and discard the defective ICs. For example, package / circuit / device testing may test the operation of the product before use by the end user and defective products / batches are discarded. For example, marketing, warranty, and maintenance statistics may reflect compliance among requirements, specifications, designs, and tests during product development. Each of these types of testing can generate a list of defective products that can be analyzed to improve the design of next-generation products, such as by reducing the number of defective parts per million (DPPM) in the production of ICs and / or end-user products.

[0005] DPPM is a common metric used to measure the production quality of semiconductor products. As electronic devices (such as wearable electronics and semi-autonomous vehicles) become part of our daily lives, there is a growing trend to improve quality and prevent in-use failures. For mission-critical segments such as automotive, medical, and others, customer demands are driving improvements in the defective parts per billion (DPPB) range.

[0006] Currently, many methods are used to improve the quality of the entire manufacturing test process, including data feed-forward, bivariate and multivariate analysis, quality indexing, etc. Many of these methods are used to supply products to quality and safety sensitive market segments such as automotive, medical, data servers, etc. These methods may reduce DPPM rates and reduce the number of expensive test steps such as burn-in and system level testing.

[0007] Data Feed-Forward (DFF) techniques leverage data collected from any step in the manufacturing flow and make the data available to any other downstream tests. By analyzing manufacturing data across the supply chain, manufacturing and quality engineers can call on data from any test, such as wafer sort, packaging, final circuit test, and system-level test, to improve DPPM. This data can be compared in real-time for the same device being tested to ascertain any variations (i.e., anomalies) in test results that may indicate if the product will fail sooner than normal during use, if changes need to be made to manufacturing, etc.

[0008] Bivariate and multivariate analysis seek to find empirical relationships between two or more tests. Tests that are highly correlated may be used to identify outliers within a population. This can improve quality in many market segments, as bivariate and multivariate outliers may be devices that are difficult to screen out with a regular testing program. These outliers may be highly correlated with devices that are likely to fail earlier than normal or be returned as an RMA.

[0009] ICs for automotive applications are specified to meet long-term reliability requirements and have low sensitivity to electromechanical stress. Robustness of automotive ICs may relate to individual IC products whose test parameters are well centered within the distribution of key parameters reported in the IC datasheet. Component Average Testing (PAT) can identify ICs whose parameters are more well centered, i.e., whose specification parameters are robust.

[0010] PAT may be employed by semiconductor companies to meet the stringent requirements of the automotive industry (e.g., Automotive Electronics Council: AEC-Q001-Rev D). Reliability studies have shown that semiconductor parts with abnormal characteristics tend to have a higher contribution to long-term quality and reliability issues. Devices that may originally pass all manufacturing tests but are considered "outliers" compared to other parts in the same population or lot may be more likely to fail in the field. This may be the basis for PAT to proactively identify outliers for removal from production shipments. PAT may operate by modifying pass / fail test limits based on statistical sampling of multiple devices.

[0011] PAT may also be a dynamic test. For example, in an electrical wafer sort (EWS) process, the test procedure of a silicon wafer containing ICs may be performed by mechanical probes that contact the pads of each IC on the wafer. The probe card may be electrically connected to test equipment via cables. An automated system sequentially tests all the dies contained in the wafer. As the test procedure proceeds, the data log file containing the measurements can be analyzed by software to calculate the mean (μ) and standard deviation (s). Once the distribution of the parameters is known, outlier parts that pass the test but are not within range can be identified. For example, parts are rejected and considered out of specification with a PAT4 sigma test, such as outside the range of μ-4*s to μ+4*s.

[0012] The foregoing examples of the related art and limitations associated therewith are intended to be illustrative and not exhaustive. Other limitations of the related art will become apparent to those of skill in the art upon reading the specification and studying the drawings. Summary of the Invention

[0013] The following embodiments and aspects thereof are described and illustrated in conjunction with systems, tools and methods that are meant to be exemplary and illustrative, not limiting in scope.

[0014] According to one embodiment, a computerized method for IC classification and / or anomaly detection is provided that includes providing a wafer including a plurality of ICs according to an IC design, the IC design including a plurality of sensors, collecting a plurality of sensor values, the plurality of sensor values ​​including a sensor value from each of the plurality of sensors, and using at least one hardware processor to test each of the plurality of ICs by comparing the plurality of collected sensor values ​​to a classification scheme, thereby obtaining a classification of each tested IC. In an embodiment, the method further includes recording a classification of each tested IC. In an embodiment, the providing step includes manufacturing the wafer based on the IC design using a fabrication process.

[0015] According to one embodiment, a computerized method for semiconductor integrated circuit (IC) classification is provided, comprising using at least one hardware processor to receive data describing an IC design and fabrication process. The at least one hardware processor is used to simulate a plurality of IC electronic operations based on the IC design and fabrication process to generate a plurality of simulated IC operational values ​​and a plurality of simulated device operational values. The at least one hardware processor is used to factorize the plurality of simulated IC operational values ​​and the plurality of simulated device operational values ​​to determine a subset of operational values ​​for sensor placement. The at least one hardware processor is used to analyze the IC design to select some of the subsets of operational values ​​to generate a sensor placement set, and for each of the selected subsets, incorporate one of a plurality of sensors configured for a particular electronic operation into the IC design, each element of the sensor placement set including a type of sensor and a location within the IC design, the sensor placement set configured to generate a plurality of sensor values ​​that are affected by the IC design and fabrication process. The at least one hardware processor is used to classify the IC designs into operational classes based on the plurality of sensor values, thereby generating a classification scheme, the operational classes including at least one outlier class. The classes (operating, outlier, etc.) may be determined from either pre-Si simulated data or / and post-Si wafer test data.

[0016] According to one embodiment, a computerized method for IC anomaly detection is provided that includes using at least one hardware processor to fabricate a wafer based on an IC design using a fabrication process, the wafer including a plurality of ICs, the IC design including a plurality of sensors, and the at least one hardware processor is used to test each of the plurality of ICs by collecting a plurality of sensor values, i.e., at least one of a plurality of sensor values ​​from each of the plurality of sensors, comparing the plurality of sensor values ​​to a classification scheme, and recording a classification of the tested IC.

[0017] According to one embodiment, there is provided a test device for reducing test time for each of a plurality of ICs, the test device including at least one hardware processor configured to test each of the plurality of ICs by collecting a plurality of sensor values, i.e. at least one of a plurality of sensor values ​​from each of a plurality of sensors integrated in each of the plurality of ICs, comparing the plurality of sensor values ​​to a classification scheme, thereby obtaining a classification of each tested IC, and reducing test time for each tested IC based on the classification.

[0018] In some embodiments, the classification scheme is based on simulations of multiple IC operations of an IC design and fabrication process, the simulations being at least one of at least one complete IC design simulation, at least one partial IC design simulation, and at least one device simulation for the fabrication process.

[0019] In some embodiments, the classification scheme is based on a number of training sensor values ​​collected during pre-production tape-out testing.

[0020] In some embodiments, the classification scheme is based on multiple collected sensor values.

[0021] In some embodiments, the classification scheme includes an outlier class.

[0022] In some embodiments, the comparing includes estimating the high-coverage measurements from the plurality of sensor values ​​using at least one of a function and a rule determined from the training set of sensor values ​​and the training high-coverage measurements.

[0023] In some embodiments, the factorization includes incorporating post-Si wafer test data into determining the subset.

[0024] In some embodiments, the factorization includes incorporating end-customer usage data into determining the subset.

[0025] In some embodiments, the selection includes incorporating post-Si wafer test data into determining the sensor placement set.

[0026] In some embodiments, the factorization includes the incorporation of end customer usage data into determining the sensor deployment set.

[0027] In some embodiments, any of the computerized methods disclosed herein further include using at least one hardware processor to mark IC packages of the tested ICs with a unique identification based on the classification.

[0028] In some embodiments, each of the plurality of sensors is selected from the group consisting of a rise time delay sensor, a fall time delay sensor, a frequency maximum detection circuit, an IC unit total leakage current detection sensor based on a frequency conversion circuit, an IC unit voltage drain-drain leakage current detection sensor based on a frequency conversion circuit, an IC unit voltage source-drain leakage current detection sensor based on a frequency conversion circuit, an IC unit SRAM minimum voltage frequency conversion circuit, and the like.

[0029] In some embodiments, any of the methods disclosed herein are embodied in a computer program product.

[0030] In some embodiments, any of the methods disclosed herein are embodied in a computerized system.

[0031] In some embodiments, any of the computerized methods disclosed herein further include using at least one hardware processor to mark the IC package of the tested IC with a unique identification based on the classification.

[0032] In some embodiments, any of the computerized methods disclosed herein further include using at least one hardware processor to discard the defective IC.

[0033] In some embodiments, each of the plurality of sensors is selected from the group consisting of a rise time delay sensor, a fall time delay sensor, a frequency maximum detection circuit, an IC unit total leakage current detection sensor based on a frequency conversion circuit, an IC unit voltage drain-drain leakage current detection sensor based on a frequency conversion circuit, and an IC unit voltage source-drain leakage current detection sensor based on a frequency conversion circuit.

[0034] In some embodiments, the computerized method further includes (i) determining a set of fabrication process parameters from each tested IC based on the classification and the plurality of sensor values; (ii) selecting a second set of fabrication process parameters based on the IC design and the set of fabrication process parameters for each IC; and (iii) a second fabrication to fabricate a second wafer using the second set of parameters, where the selection is performed by at least one of a manual process and an automatic calculation.

[0035] In some embodiments, the computerized method further includes determining at least one of (i) the sensor value over time and (ii) the outliers using the classification scheme during at least one of package testing, circuit testing, burn-in testing, high temperature operating life testing, and end product testing.

[0036] In some embodiments, the classification includes a hierarchical data structure for determining the classification of each die.

[0037] In some embodiments, the method further includes identifying a classification scheme based on the plurality of classification values ​​by: establishing a matrix representation from the plurality of classification values, where each row of the matrix representation includes a classification value for one of the plurality of ICs; computing a covariance matrix from the matrix representation and a singular value decomposition (SVD) of the covariance matrix; determining a plurality of distance values ​​using the SVD, where each distance value represents a respective distance between one IC of the plurality of ICs and another IC of the plurality of ICs; and identifying at least one family from the plurality of distance values, thereby defining the classification scheme.

[0038] In some embodiments, identifying at least one family from the plurality of distance values ​​includes classifying a first IC of the plurality of ICs into a first family, such that the first family is defined by the first IC; comparing a distance value representing a distance between the first IC and a second IC of the plurality of ICs from the plurality of distance values ​​to a predetermined threshold; classifying the second IC into the first family if the distance value is less than the predetermined threshold; and classifying the second IC into a second family, such that the second family is defined by the second IC, if the distance value is greater than the predetermined threshold.

[0039] In some embodiments, the step of identifying the multiple families from the multiple distance values ​​further includes the steps of: identifying, for each IC of the multiple ICs, a group of distance values ​​from the multiple distance values, where each distance value in the group of distance values ​​represents a distance between the respective IC and other ICs of the multiple ICs defining the respective family; comparing each distance value from the group of distance values ​​to a predetermined threshold; classifying the other IC into a particular family if a distance value from the group of distance values ​​representing a distance between the respective IC and each other IC of the multiple ICs defining the particular family is smaller than the predetermined threshold; and classifying the other IC into a new family such that the new family is defined by the other IC if all of the distance values ​​from the group of distance values ​​are greater than the predetermined threshold.

[0040] In some embodiments, the step of calculating the covariance matrix from the matrix representation includes normalizing the matrix representation before calculating the covariance matrix.

[0041] In some embodiments, the plurality of classification values ​​are based on one or more of simulated sensor values ​​determined from a simulation of the IC design, a plurality of training sensor values ​​collected during pre-production tape-out testing, and measured sensor values.

[0042] In some embodiments, identifying a classification scheme based on the plurality of classification values ​​is at least a part of comparing the plurality of collected sensor values ​​to the classification scheme, thereby obtaining a classification for each tested IC.

[0043] In some embodiments, the plurality of classification values ​​are based on simulated sensor values ​​determined from a simulation of the IC design. In some embodiments, identifying a classification scheme based on the plurality of classification sensor values ​​occurs prior to comparing the plurality of collected sensor values ​​to the classification scheme to thereby obtain a classification of each tested IC, and comparing the plurality of collected sensor values ​​to the classification scheme includes: establishing a collected data matrix representation from the plurality of collected sensor values, where each row of the matrix representation includes a collected sensor value for one of the plurality of ICs; calculating a collected data covariance matrix from the collected data matrix representation and a singular value decomposition (SVD) of the collected data covariance matrix; determining a plurality of collected data distance values ​​using the SVD, where each distance value represents a respective distance between one IC of the plurality of ICs and another IC of the plurality of ICs; and classifying each of the ICs according to the classification scheme from the plurality of distance values.

[0044] In some embodiments, the step of calculating the covariance matrix from the matrix representation comprises normalizing the matrix representation before calculating the covariance matrix, thereby defining a normalization factor. In some embodiments, the step of calculating the collected data covariance matrix from the collected data matrix representation comprises normalizing the matrix representation using a defined normalization factor before calculating the collected data covariance matrix.

[0045] In some embodiments, the matrix representation is established from simulated sensor values ​​determined from a simulation of the IC design and / or design signature values ​​and / or catalog values.

[0046] In some embodiments, the step of determining the plurality of distance values ​​using the SVD includes: defining a set of pre-Si SVD signatures by identifying vectors of the SVD whose corresponding principal values ​​of the SVD are greater than a predefined value and / or a predefined number of principal vectors of the SVD whose principal values ​​of the SVD are greatest; and determining the plurality of distance values ​​using the set of pre-Si SVD signatures. In some embodiments, the step of determining the plurality of distance values ​​using the pre-Si SVD signatures includes calculating at least some of the plurality of distance values, each of the at least some of the plurality of distance values ​​being based on a distance between one of the pre-Si SVD signatures and another one of the pre-Si SVD signatures. In some embodiments, the step of determining a plurality of distance values ​​using the set of pre-Si SVD signatures includes the steps of: constructing a plurality of estimators from the simulated sensor values ​​and the set of pre-Si SVD signatures, each estimator generating an estimated SVD signature from input sensor values; estimating a respective post-Si SVD signature from the plurality of sensor values ​​for each of the plurality of ICs from the plurality of estimators; and calculating at least some of the plurality of distance values, each of at least some of the plurality of distance values ​​being based on a distance between one of the post-Si SVD signatures and another one of the post-Si SVD signatures.

[0047] In some embodiments, the step of determining a plurality of distance values ​​using the set of pre-Si SVD signatures further includes the step of calculating a further distance value of the plurality of distance values, each of the further distance values ​​being based on a distance between a pre-Si SVD signature of one IC and a post-Si SVD signature of another IC.

[0048] In some embodiments, the method further includes computing at least one transformation rule that includes the input data and the output data.

[0049] In addition to the exemplary aspects and embodiments described above, further aspects and embodiments will become apparent by reference to the figures and by study of the following detailed description. Moreover, it is specifically contemplated that the various features and embodiments of the invention described above can be used alone as well as in various combinations. [Brief description of the drawings]

[0050] Exemplary embodiments are illustrated in the reference figures. Dimensions of components and features shown in the figures have generally been selected for convenience and clarity of presentation and have not necessarily been drawn to scale. The figures are as follows:

[0051] [Figure 1] 1 illustrates generally a computerized system for integrated circuit profiling and outlier detection. [Diagram 2] 1 shows a flowchart of a method for integrated circuit profiling and anomaly detection. [Figure 3A] 2 illustrates generally a first circuit for high coverage timing margin detection of an IC unit. [Figure 3B] 2 illustrates generally a second circuit for high coverage timing margin detection of an IC unit; [Figure 4] Radar (spider) plot of IC profile is shown. [Diagram 5] 1 shows a graph of the distribution of values ​​of various IC profiles. [Figure 6] 1 shows a graph of the distribution separation between two different IC profiles. [Figure 7A] A graph of the distribution of values ​​of two IC profiles is shown under varying voltage and temperature. [Figure 7B] A graph of the distribution of values ​​of two IC profiles is shown under varying voltage and temperature. [Figure 7C] A graph of the distribution of values ​​of two IC profiles is shown under varying voltage and temperature. [Figure 7D]A graph of the distribution of values ​​of two IC profiles is shown under varying voltage and temperature. [Figure 8] 1 shows a graphical distribution of simulated values ​​of IC profiles and outliers. [Figure 9] 13 shows the graphical distribution of the error between simulated high coverage measurements and its estimator while outliers are in place. [Figure 10A] 1 shows a first systematic transition detection. [Figure 10B] A second systematic transition detection is shown. [Figure 11] 1 shows exemplary IDDQ measurement distributions for devices formed on a wafer, grouped by family. [Figure 12] An exemplary cycle time measurement distribution of devices formed on the wafer of FIG. 11 is shown grouped by family. [Figure 13] 11 shows a histogram of the difference between the IDDQ measurements and the average value for the family associated with each IC for ICs formed on the wafer of FIG. [Figure 14] The data shown in FIG. 11 shows the identification of outlier dies. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0052] Glossary Si manufacturing (process) space Si manufacturing (process) space is the joint distribution of Si-related parameters (process parameters) across a large number of manufactured dies. Process space is the joint distribution of device-related parameters across a large number of manufactured dies, e.g., the distribution of device threshold voltages across a large number of manufactured dies. Process space affects the performance distribution of a large number of manufactured dies, e.g., the joint distribution of maximum frequency (Fmax) and leakage current (Ioff) across many dies. As used herein, the term process space or manufacturing space refers to the collection of possible manufacturing parameters (i.e., tolerances, manufacturing variations, etc.) exhibited by the manufacturing of a particular die.

[0053] Device Type Specific process techniques include, for example:

[0054] SVT type: N or P devices manufactured with standard threshold voltages;

[0055] LVT type: N or P devices fabricated with low threshold voltage, and

[0056] ULVT Type: Characterized by the device type (i.e., process, fabrication, etc.) produced using the technology, such as N or P devices produced with ultra-low threshold voltage.

[0057] Pre-Si data (or pre-silicon data) Data generated by simulating a particular IC design manufactured by a particular process, such as a Monte Carlo simulation.

[0058] Post-Si data (or post-silicon data) Data measured from manufactured die, such as data recorded during wafer test.

[0059] Signature A collection or expected distribution of values ​​used to determine manufactured IC performance (class, outliers, etc.), such as a superset of simulated parameters of an IC design, tested die sensor values, etc. In this specification, most uses of the word signature may be replaced with the word data.

[0060] Agent (sensor) A sensor / agent is an electrical circuit implemented on a die and used to sense or measure a particular device parameter, sub-circuit parameter, die-level parameter, etc. For example, a sensor may measure the delay of a particular logic cell.

[0061] Simulation values ​​for IC design The operational parameters of an IC design are the simulated electronic parameters (i.e., voltage, current, delay, etc.) of a particular IC design with a particular simulated manufacturing process, such as the electrical parameters of the IC design across the process space. This may be a finite set, such as a large number of possible parameters that may be measured, such as the set of all possible parameters at circuit locations that may be candidates for placing a sensor (agent).

[0062] An IC design is determined by the device types, device sizes, device presence, device locations, device connectivity, etc. used in a particular logical unit (cell) of the IC design. The parameters may be simulated over the manufacturing space by performing a Monte Carlo (MC) simulation. For example, a distribution of parameter values ​​is simulated for the average leakage current of a particular unit in the IC design. The IC design parameters are used as input for the Singular Value Decomposition (SVD) calculation.

[0063] Simulated values ​​of device processes A device process parameter is a collection of simulated device operating parameters, such as a catalog of device operating parameters for individual (single) devices in a particular process, such as transistors, FETs, diodes, etc. The device parameters are simulated over the manufacturing space by performing Monte Carlo (MC) simulations. For example, the catalog contains MC data for the saturation current of a particular device (IDSAT). The device process parameter catalog is used as input for the SVD calculation.

[0064] Interconnect Simulated Values Interconnect simulation values ​​are a set of simulated delay parameter values ​​of an interconnect network, for example the delay of a resistor-capacitor (RC) network connecting devices. The delay values ​​of the RC network are extracted in the manufacturing space by performing an interconnect extraction method followed by circuit simulation.

[0065] Classification / Profiling Classification or profiling is the process of binning die into Si profiles, where each bin (profile) contains a cluster of IC design parameters and resulting device level parameters such as high coverage parameters. During pre-Si, IC design parameters and device process parameters may be used as inputs for the profiling process. During post-Si, sensor values ​​and / or certain high coverage measurements may be used as inputs for the profiling process.

[0066] IC Profile A particular cluster of signature (data) values ​​and distributions that may be applied to field performance (specifications, defects, etc.), e.g., a particular cluster of manufacturing space (data) values ​​and distributions that may be applied to field performance (specifications, defects, etc.).

[0067] (Dai's) Family A group of physical dies with the same Si profile / classification. Additionally, a family is a group of MC samples whose simulated values ​​of the simulated IC design and simulated values ​​of the device process have the same Si profile / classification as the physical family members.

[0068] Singular Value Decomposition (SVD) The SVD of a matrix σ is Σ=UDV T where U and V denote the orthogonal matrices of the left and right principal vectors of Σ, and D represents a diagonal matrix with diagonal elements known as the singular values ​​of Σ. In profiling implementations, Σ denotes a covariance matrix, so U=V. The singular values ​​corresponding to the principal vectors may be the variances in the vector direction.

[0069] The inputs to the SVD calculation are simulated values ​​of the IC design and simulated values ​​of the device process, and the output is a subset of IC design parameters (i.e., Device Reduction Representation, DRR, etc.) that attempts to provide information most efficiently, using a minimum number of parameters, a minimum number of sensors, a minimum sensor silicon area, a minimum total sensor power, etc. The subset (i.e., DRR) may be used to find the most informative potential location for placement of sensor agents in the IC design, and thus the resulting sensor values ​​may be used to obtain maximum information for the particular die being tested. The final sensor placement may be determined from this subset and implemented in tape-out test during manufacturing hardening to optimally classify the die and detect manufacturing outliers. The output subset may be selected to be significantly smaller than the full set of inputs and estimated using a predefined set of sensors to reduce the computational costs required during testing of the physical die.

[0070] Additionally, unsupervised learning / clustering methods such as self-organizing maps (SOMs) can be used directly with the sensor data as input to classify die into families and profiles.

[0071] High Coverage Measurement (HCM) High coverage measurements are post-Si die-level measurements that characterize a specific die, such as the total leakage current of a specific die measured during IDDQ testing, or large-scale timing margin measurements of IC logic paths during circuit-based functional testing.

[0072] The HCM and sensor values ​​may be analyzed to directly correlate them. For example, a set of measured sensor values ​​predicts (estimates) the HCM without profiling the die as described above using MC simulation. The predicted HCM may be estimated using a function, such as a function determined using a machine learning (ML) algorithm, modeling techniques, etc.

[0073] Estimator-parameter relationship functions and / or transformation rules (and Protean estimators) An estimator is a function and / or rule that converts between values ​​(i.e., analytically, empirically, heuristically, etc., defines relationships between operational values ​​of a die), such as using sensor values ​​as input arguments to determine a profile (profile classifier), predicted HCM values ​​(HCM conversion function), predicted subset (DRR) values, predicted manufacturing point, etc. As used herein, the term manufacturing point refers to a collection of parameters that determine the manufacturing of an IC design. Similar relationships may be found between HCM values ​​and sensor values. The results of die testing and protean analysis can better determine a particular die that may operationally meet or exceed industry standards.

[0074] Outliers (production anomalies) An outlier is a die whose measured HCM etc. does not match the range of values ​​expected from the die's profile, such as those expected from a distribution of measurements from a group of ICs with the same profile (i.e., plus or minus multiple standard deviations from the mean).

[0075] Alternatively, outliers may be dies whose measured HCM etc. do not match the predicted HCM etc. value calculated by the estimator function. These outliers represent dies manufactured with defects, manufacturing anomalies, etc. that do not belong to the simulated profile.

[0076] Description of the embodiments Described herein are devices, systems, and methods for die classification (profiling) and / or outlier detection and / or manufacturing point binning / estimation. These processes can be useful for integrated circuit manufacturing (IC) and testing, such as improving wafer testing, resulting in less defective end-user products due to IC failures (i.e., performance or operational outlier detection).

[0077] A hardware processor or the like executes instructions to analyze the IC design and incorporates multiple sensor agents based on the IC design. The IC design with sensors may be simulated pre-Si or measured post-Si to determine sensor output values ​​for specific designs, fabrication processes, random defects, manufacturing point estimates, etc.

[0078] The distribution of sensor values ​​may be reflected in high coverage measurements, such as providing correlations between sensor values. The distribution of measurements may not match estimated distribution values ​​from simulations and may vary over time or between IC test systems or between IC operating systems, and thus may indicate potential manufacturing / performance / environmental etc. types of long term value trends, differences between collections of IC test systems and / or hardware, etc.

[0079] Sensor agents may be iteratively repositioned within an IC design to increase sensitivity to outliers, and / or to increase numerical separation of sensor values ​​between families of similar (i.e., performance- and / or operationally) ICs, and / or to increase sensitivity of sensor values ​​to manufacturing point. These numerical distributions may be clustered to form different range combinations of sensor values ​​that are used to identify classes / families. Rule-based and / or analytical functions may describe relationships between sensor values, manufacturing points (process-binning), HCM values, and IC families, such that given one of the data sets, the other data sets may be determined, at least in part, by probability, etc.

[0080] The sensor agent may be a separate circuit incorporated into the IC design that measures IC operating parameters of a unit, sub-unit, cell, sub-cell, device of the IC design, such as digital delay timing, rising edge delay, falling edge delay, device leakage current, etc.

[0081] As IC products incorporating sensor agents are manufactured, such as during tape-out cycles, prototyping, production, etc., sensor values ​​for each IC are collected during wafer test (i.e., to calculate classes and / or outliers). ICs (i.e., dies) determined to have sensor and / or HCM values ​​that are not within the constraints of the relationship rules / functions (i.e., estimators) may be discarded as defective, packaged (reclassified) for less critical applications, classified into a class of product (e.g., meeting a particular industry specification), etc. Dies that incorporate manufacturing outliers / anomalies may be determined using multivariate analysis, outlier algorithms, etc.

[0082] The data used for the relationship calculation may be at least two of the following results: simulated IC design superset data, device process simulation data, simulated sensor value data, SVD result subset (e.g., determined by primary components of DRRs), SVD results using heuristic rule subset, simulated HCM data, measured HCM data, measured sensor values ​​(i.e., during testing), operational data (i.e., defect analysis, specification decisions, etc.), operating conditions, i.e., voltage / temperature, etc. These relationships, and techniques for their calculation / adjustment, solve problems in IC manufacturing, such as reducing the number of defects, increasing production yields, estimating manufacturing points, etc. For example, the simulation data is used to classify IC design and process combinations into profiles, such as predicted operational profiles based on the simulation data. The profiles can be used to mark ICs and detect outliers, thereby reducing defects and improving reliability.

[0083] Optionally, improved yield is determined from detecting systematic shifts in sensor values ​​(i.e., production volumes, etc.) over time. For example, manufacturing equipment drift issues, downstream process point corrections of detected shifts, etc. may be detected by comparing sensor values ​​at wafer test, package test, circuit test, device test, life test, etc. For example, detected shift data over time may be used to adjust manufacturing process parameters (i.e., process points) to match yields for sales demands of different profiles of the same IC.

[0084] Optionally, a hierarchical data structure is used for classification to generate hierarchical classes, for example, a hierarchy of profiles is determined during wafer testing, such as when some classes in a sub-hierarchy are specific parameters, specifications, performance metrics, physical metrics, operational metrics, etc.

[0085] Optionally, the test data is used to determine the profile. For example, the relationship between the tested sensor values ​​may determine that the IC is defective and not need to be fully tested, thereby saving test costs. Optionally, the test data and the simulation data are used to determine the profile. Optionally, the operational defect data is used to determine the relationship, such as data obtained from post-sale customer usage analysis, defect logging, defect analysis, etc. Optionally, the estimated manufacturing point may be used to further adjust / tune the manufacturing process to increase yield, improve performance of the IC, etc.

[0086] 1 and 2, there is shown a schematic diagram of a computerized system 100, and flowcharts 200 and 210 (respectively) of methods (pre-Si 200 and post-Si 210, respectively) for integrated circuit profiling, production point prediction, and outlier detection. The system 100 comprises one or more hardware processors 101, a non-transitory computer-readable storage medium 102, a user interface 103, and a network interface 104. The storage medium 102 has encoded thereon program code including processor instructions for execution on the hardware processor(s) 101, thereby causing the hardware processor(s) 101 to perform actions. Thus, while the program code is said to be configured to perform actions, it is understood that the program code processor instructions are configured to perform actions when executed on the hardware processor(s) 101, and the actions are performed by the hardware processor(s) 101. A program code configuration may also be understood to be a particular arrangement of processor instructions that causes the hardware processor(s) 101 to operate in a non-conventional manner, such as by execution of unique program code.

[0087] The program code is configured to receive, at 201, an IC design and a target process for manufacturing an IC, and includes a sensor selector 102A configured to perform simulations on the IC design and determine a distribution of operational values ​​(IC design simulation values ​​and interconnect simulation values, i.e., simulation superset) based on the IC design and the target process, at 202, and to simulate operational values ​​of individual electronic components over a manufacturing process space (device process simulation values, i.e., catalog). For example, the sensor selector 102A is configured to perform Monte Carlo (MC) simulations, at 202, to simulate individual IC characteristics, IC signature generation, generate resultant sensor values ​​(i.e., agent values), etc. The sensor selector 102A is configured to calculate, at 203, a covariance matrix of the data for use in the factorization at 205.

[0088] The sensor selector 102A is configured to calculate a sensitivity / weight vector at 204 and to factorize (i.e., perform SVD) the simulation of the simulated values ​​(IC design and device process) to generate a singular value decomposition (SVD) and a resulting subset of potential sensor locations at 205. The results of the SVD factorization can increase the sensitivity of the signature to individual IC characteristics and design signatures and can be used to iteratively select sensors to further increase the sensitivity of the signature. Selection of sensor locations and types within the IC design at 206 may be based on an SVD subset such as the top k principal components (i.e., the top k components that explain 95% of the variance).

[0089] The program code includes a profiler / estimator 102B that receives, at 208, the separation ratio and the signature SVD, selects, at 206, a sensor location from the SVD subset based on the separation ratio, and generates relationships between IC classes, HCM parameters, and sensor values. The program code is also configured to compute an estimator block (FIG. 2). This block generates estimators, such as relationship rules, functions, and the like, that are used to compute the SVD subset values ​​by sensor readouts during the post / Si phase. The program code is configured to receive, at 207, the SVD subset of an individual IC, and compute relationships between measured (i.e., from testing) and simulated (i.e., pre-Si) parameters (i.e., estimators / rules / profilers / classifiers, etc.) that determine the class (i.e., category / family / profile) of performance for that IC based on the signature and classifier. The profiler / estimator 102B is also configured to receive 209 operational statistics, such as defect statistics, defect engineering analysis, etc., which are used to match the simulated and measured classes with the performance of the IC product in the field. As described below, the pre-Si stage may be optional in embodiments, although features of this stage may be implemented with reference to the post-Si stage.

[0090] In the post-Si stage, ICs 130 with sensors (such as 131, 132, 133, etc.) are fabricated at 211 (i.e., post-Si flow chart 210). The die classifier / profiler production point predictor and anomaly detector and systematic transition detector 102C (i.e., a portion of the program code) is configured to test each die (i.e., IC) of the wafer at 212 (or receive test results for each IC from the tester 140 via the network interface 104 and the network 120). The die classifier / profiler production point predictor and anomaly detector and systematic transition detector 102C is configured to determine IC profiles (from simulation and classification), production outliers (i.e., anomalies), and production points at 213 using relationships with data received from IC testing. For example, the die classifier / profiler production point predictor and anomaly detector and systematic transition detector 102C is configured to classify each IC according to the tested sensor values ​​at 213, determine that the IC is a production outlier, etc. One approach to classify the die may use steps 203-207 from the pre-Si flow chart 200, but with reference to post-Si data (as described below). In an embodiment, the die classifier / profiler production point predictor and anomaly and systematic progression detector 102C receives the high coverage measurements and the pre-Si estimator to detect at 213 when an IC may be an outlier in the classification scheme. At 214, the outliers may be discarded, and the classification may be used to mark at 215 the IC class (e.g., tracking IC class by location on the wafer), IC packaging (e.g., different grades of ICs by class), etc. The systematic progression may mark at 216 the IC to be used for planning new ICs, improving yield to ICs, recalibrating manufacturing parameters, etc. The estimated production points may be used to adjust / tune the manufacturing process of the die to improve yield, improve IC performance, etc.

[0091] IC profiling and IC signatures can be used to improve the quantity and quality of parameters used in multivariate analysis in determining IC classes and outliers. Since classes (i.e., families) are environment independent (i.e., invariant across voltage and temperature), dies of the same classification should behave similarly in different die environments such as SORT, final test, and system. When the behavior of a particular die differs between environments, it may indicate an environmental problem. Reference is now made to Figures 10A and 10B, which illustrate detection of systematic shifts within and between environments. Figure 10A illustrates pre-profiling systematic shift detection, i.e., detection of parameter shifts in wafer SORT test conditions. Figure 10B illustrates post-profiling systematic shift detection, i.e., detection of a change in environmental conditions that splits the family into two groups before and after the change in conditions. Sensors are placed within IC designs to lower DPPM so that the sensor values, which are later used for IC testing, device testing, failure analysis, etc., can better distinguish between IC categories / families / profiles and therefore be classified based on performance, outlier detection during test, process binning, manufacturing point estimation, etc.

[0092] Below are details about the sensors and how they are integrated into IC designs for IC profiling, outlier detection, and manufacturing point estimation.

[0093] Post-Si IC profiling may be viewed as the classification of individual ICs into one of multiple Si characteristic ranges, i.e., process parameter ranges mapped to device electrical parameter ranges. Profiling may be done by collecting several sensor values ​​converted to SVD signatures from the IC and comparing the SVD signatures to ranges of SVD signatures assigned to a particular profile, such as by a classification method. Alternatively, profiling may be done directly, rather than classification based on pre-Si simulation, by comparing sensor values ​​to ranges assigned to a particular profile.

[0094] The SVD signature is generated pre-Si based on device characteristics and unique design-related signatures based on individual cells in an IC and the connectivity between cells in an IC. The collection of device parameter characteristics is defined as a DEVICE PARAMETER CATALOG. Design-related signature generation may be an automated process that can be simulated using electronic design analysis (EDA) and dynamic timing analysis simulation tools, MC tools, and circuit simulation tools.

[0095] The design-related signatures may be clustered to reflect significant performance differences for a given IC design manufactured by a particular fabrication, etc. The clustering, classification, sensor selection, sensor location selection, etc. may be based on empirical or a priori knowledge of the process (i.e., fabrication) and expected behavior of the circuit design. For example, design-related signatures may include: -Leaking VSS, -Leakage VDD, -Total leak -Average delay fall, -Average delay rise, -Total Cell Delay -Total interconnect delay (RC delay) -Fmax -Timing margin -Minimum SRAM voltage by SRAM type - Chip VDD - Minimum for all SRAM types and per register file and state element types etc. (for various voltages and temperatures).

[0096] Reference is now made to Figures 3A and 3B, which show circuits for timing margin detection of an IC unit, which are enhancements of circuits described in U.S. Provisional Application No. 62 / 586,423, filed December 5, 2017, entitled "INTEGRATED CIRCUIT FAILURE PREDICTION DEVICE," and which is incorporated herein by reference in its entirety.

[0097] Below is an example of a pre-Si signature generation algorithm and calculation / derivation of sensor values: As used herein, the terms sensor value, sensor agent, collection of sensor values, signature, etc. are used interchangeably to mean a collection of sensor values ​​(i.e., data) from an IC used in the techniques disclosed herein.

[0098] The signature generation process typically associated with pre-Si design is as follows: Step 1: Define a representation vector for the measurements M, Step 2: Run the MC simulation to extract the joint statistical behavior of the measurements M, which may be defined.

[0099] The general process for generating parameter signatures for pre-Si devices is as follows: Step 1: Define the vector of process parameters P Step 2: Run an MC simulation to extract the joint statistical behavior of the parameters P, which may be defined with the behavior of the measurements M.

[0100] For example, to use the Fmax signature of a particular IC design, the steps include: Step 1: The Fmax measurement may be defined as the maximum operating frequency of the IC design. Fmax may be determined by the IC's critical path (CP), i.e., the path that contains the limiting delay, thus limiting the maximum frequency. Step 2: For each of a number of manufacturing process values ​​(i.e., fabrication parameter ranges), a CP may be found for a particular IC design. For example, a set of CPs that limit frequencies across the entire manufacturing range may be determined.

[0101] The Fmax signature manifests itself as a minimum margin per unit (MMU) signature. The MMU signature measures the minimum margin per unit of the IC per MC point. That is, the MMU applies the Fmax signature per unit. In post-Si, the MMU signature may be measured by the circuit shown in Figures 3A and 3B, given a particular configuration of IC inputs.

[0102] For example, the total leakage signature of a particular IC design is Step 1: Define the total leakage measurement as the sum of the leakage of all cells,

number

[0103] For example, the total cell delay signature for a particular IC design is Step 1: Define the total cell delay measurement as the sum of all cell delays;

number

number

[0104] A delay signature may be generated to represent individual rising and falling transitions with every VT, such as for each VT type. For example, the delay signature may be calculated using the following formula:

number

[0105] For example, the minimum voltage is Step 1: Define the minimum required voltage as the minimum voltage required by all SRAM cells,

number

[0106] Below is an example of a sensor circuit. 1. A delay sensor may sense the delay of a particular logic cell. It may be implemented by a ring oscillator circuit whose frequency reflects the average delay time of the logic cell. 2. Different delay sensors may sense the delay of the rising edge of a particular logic cell and the falling edge of a logic cell in different ways. 3. Another delay sensor may sense the RC delay, such as for each metal, or for a subset of metals. 4. The leak sensor may be used to sense leakage of specific P devices and specific N devices in separate manners, as described in U.S. Provisional Application No. 62 / 614,706, entitled "INTEGRATED CIRCUIT SUB-THRESHOLD LEAKAGE SENSOR," which is incorporated herein by reference in its entirety.

[0107] A contribution factor for each Vth type may be calculated for each signature. The contribution factors reflect the contribution of each Vth type to the leakage or mean delay signature, etc. The contribution factors may be generated as part of the signature generation process or may be calculated by linear regression. A vector of contribution factors for each process parameter may be considered, and the maximum value over the data is called the sensitivity vector,

number

[0108] P complete represents the set of process parameters obtained from the device parameter catalog. P denotes the parameters whose sensitivity vector values ​​exceed a given threshold. complete P obtained after selecting from complete S represents the set of signatures at each operating point (M signature operating point samples), i.e., s1 is the MC samples of a given signature at a given operating point (V, T).

[0109]

number

number

number

number

number

number

number

[0110] The SVD of a matrix σ is Σ=UDV T where U and V denote the orthogonal matrices of the left and right principal vectors of Σ, and D denotes a diagonal matrix with diagonal elements known as the singular values ​​of Σ. In profiling implementations, Σ denotes a covariance matrix, so U=V. The singular values ​​corresponding to the principal vectors may be the variances in the vector direction. SVD for profiling is performed - normalizing columns that are not normally distributed, e.g. applying log() to values ​​taken from a log-normal distribution; - Scaling the columns of Table 1: μ=0, σ=1 steps, -For the sensitivity vector, the subset P complete If not, the weight vector

number

number

number

number

[0111] For robust classification with a defined error, an adequate number of families may be essential. To reduce the number of families that may be formed, a data domain of reduced dimensionality should be considered, e.g., an IC design affected by two V-th types may be diffused by 8 process parameters (dimensions) before reduction -> (applying SVD), {VT,IDS}x{p,n}x{SVT,LVT}. To find a data domain of reduced dimensionality, an orthogonal basis of the matrix Σ may be extracted. Each direction of the orthogonal basis may be a linear combination of the process parameters. SVD also provides a metric for each principal direction.

[0112] For example, profiling of an IC design and process using a sensor agent may be determined in the following steps.

[0113] Profiling step (1): Define the distance between two samples (i, j) as the weighted q-norm distance Δ(i, j) computed over a given number of SVD signatures (inputs),

number

number

[0114] Note that the weighted q-norm can be generalized by considering a set of weights (e.g., the values ​​of the principal vectors) and a procedure for selecting which member of the set to select (e.g., the one with the largest distance).

number

[0115] Mahalanobis distance

number

number

[0116] Profiling step (2): -Family definition step: the distance of a sample to a particular family is the distance to the sample that defines the family 1. Define the first sample as a family 2. Examine all samples and define a new family when the distance Δ of the current sample to all defined families is greater than a given radius. - Associating samples with the closest family (correction step) 1. Look at all samples and associate them with the family that has the smallest distance

[0117] The above procedures may be performed on a batch of samples, such as, for example, a collection of MC samples or a group of dies for which test results are known (e.g., when the tester is offline), or may be performed online, such as, for example, when the tester is online.

[0118] Figure 4 shows the profiling results, where families are defined by the median values ​​of device parameters per device type {VT, IDS} x {p, n} x {SVT, LVT}. Each vertex of the polygon represents a device parameter value (in sigma terms) normalized to its typical / median value.

[0119] Figure 5 shows the spread of pre-Si average leakage current signatures across the resulting families from the profiling process. Figure 6 is an expanded version of Figure 5 showing two families in bounded sigma ranges, family A ranges from -1.37 to 0.23 sigma, family B ranges from -0.03 to 1.63 sigma. Figures 7A, 7B, 7C, and 7D show the stability / invariance of the profiling process and the resulting families per voltage and temperature.

[0120] If the number of SVD signatures is less than the number of principal components, the distance calculated by the selected SVD signatures may be smaller than the actual distance. For a q-norm with weight 1 and q=2, the actual distance between samples i and j is Δ F (i, j)),

number

number

number

[0121] When the number of SVD signatures is less than the number of principal components, for a given process parameter, two samples i and j may have different process values, where Δ(i,j)=0. The distance between the values ​​of a given process parameter for samples i and j is Δ P (i, j). Next, Δ P (i,j) is a normal distribution with mean zero and variance bounded by 2d, where d is the largest singular value not contained in Δ(i,j).

[0122] An estimator (profiler, classifier, etc.) is a function that generates an output value based on the sensor values. The generation of an estimator of the SVD signature based on the sensor values ​​may be done using a Gaussian estimator, a Lasso estimator, a Ridge Regression estimator, a Generalized Adaptive Model estimator, a spline, a neural network, etc. The estimation error may be empirically calculated by the validation data. Based on the error, the distance from each sample to its associated family will be less than r+ε with a probability less than 1-δ.

[0123] The Protean classification block classifies die into families at the post-Si stage. The inputs to the block are pre-Si data, consisting of SVD signature estimators and isolated radios, and post-Si sensor values ​​from test equipment. Based on the pre-Si estimator, an SVD signature value is calculated for each sample. The estimator may be adjusted, tuned, improved, etc. based on data collected in the post-Si stage. The family is generated as follows: -Define the first sample as a family -New samples added ○ When the distance Δ of the new sample to all defined families is greater than a given radius (input) - define a new family If the distance Δ of a new sample to all defined families is not greater than a given radius (input) - associate it with the closest family -Once a new family is defined, go through all samples and associate them with the closest family. Optionally, families of ICs may be classified post-Si by the median value of the device parameters per device type {VT,IDS}x{p,n}x{SVT,LVT}. Each vertex of the polygon represents the device parameter value (in sigma terms) normalized to its typical / median value.

[0124] Optionally, histograms may be constructed for each profile, each sensor measurement, and / or each high coverage measurement. For example, post-Si sensor values ​​are collected for each family for high coverage measurements and sensor values. When the data is not normally distributed, the data may be normalized. The mean and variance can be calculated for each data set, and the boundaries of the high coverage measurements can be calculated for each family based on the desired false positive rate. Signatures are reused to separate into different classes / families. Thus, a given limit cannot be exceeded.

[0125] Optionally, anomaly testing is performed after profiling. For example, the testing may measure the boundaries of high coverage measurements per family. For example, the family classification of the current die may be used as an input for the testing. When one of the high coverage measurements of a given die is outside the boundaries corresponding to the family / profile of the die, the die is classified as an outlier. The boundaries of the high coverage measurements may be calculated by considering the joint distribution of the high coverage measurements of each family.

[0126] Optionally, the classification and / or estimator are used for package testing. For example, anomaly testing is performed after and / or during high temperature operating life testing (HTOL) or burn-in testing (BI). Dies classified into the same family by the profiling process belong to the same Si profile and are expected to perform similarly under the same stress conditions. This means that performance degradation of dies of the same family is expected to be limited during and after testing. Dies that show performance degradation outside the boundaries of the family may be identified as outliers and rejected.

[0127] A high coverage measurement may be an IC-level measurement that reflects total die operation, for example total die leakage at a particular temperature. Another example is the timing margin of a large path. The histogram is constructed according to the following steps: 1. Post-Si data is collected on a family-by-family basis with high-coverage measurements 2. Normalize any data that is not normally distributed 3. Calculate the mean and variance of each data set 4. Based on the assigned false positive rate, the boundaries of high coverage measures are calculated for each family. 5. Alternatively, the bounds of the high coverage measure can be taken as empirical lower and upper alpha quantiles, where alpha is determined by the false positive rate. This approach may be applied when it is not possible to normalize a particular high coverage measure for a given family, etc. 6. Optionally, an estimator may be constructed for each high coverage measurement based on the post-Si data. A histogram of estimator error may then be constructed, i.e., the difference between the estimated and the actual high coverage measurement. Steps (1-5) above may then be applied to this histogram.

[0128] 8 and 9 show experimental demonstration of the outlier detection process. -Test Subject: ○Setting outliers in the Average-Ioff signature Detect outliers using outlier detection algorithms -Outlier explanation: ○Change MC point 428 by 1 ■Equivalent to a +35% increase in Ioff

[0129] Fig. 9 shows the experimental results, where outliers that shift by 1 sigma are highlighted in the outlier detection process as the 7 sigma WRT estimator mean.

[0130] The figures above (Fig. 8 and Fig. 9) show the detection of outliers based on the constructed histogram (Fig. 8) and the estimator (Fig. 9). That is, an estimator of high coverage measurements is calculated. Then, the measured high coverage values ​​are compared with the estimated values ​​and the die are detected as outliers based on a given false positive rate.

[0131] For example, different sensors may have different cluster separations and therefore different sensitivities to sensor selection and location in the IC design. For example, the separation between clusters based on Vt NLVT on and Vt PLVT on may be good, but there may be overlap between two clusters.

[0132] For example, the profile may be determined by separating the average leak signature and the total leak signature.

[0133] For example, different coverage parameters may result in different cluster separations and therefore different sensitivities to detecting IC profile classifications.

[0134] Reference is now made to Figure 4, which shows a radar (spider) plot of IC profiles. The graph shows the process origins of the profiles, namely profiles 1, 8, and 13. A radar (spider) plot is another way of visualizing a process profile.

[0135] Reference is now made to FIG. 5, which shows a graph of the distribution of values ​​for different IC profiles.

[0136] Reference is now made to FIG. 6, which shows a graph of the distribution separation between two different IC profiles.

[0137] Reference is now made to Figures 7A-7D, which show graphs of distributions of values ​​for two IC profiles under varying conditions of voltage and temperature.

[0138] Optionally, the profiling step can be performed using only post-Si data, in which case the inputs to the profiling algorithm are a) the radius R, b) the file of IC agent readouts, c) the smoothing parameter λ, and d) a constant k.

[0139] The profiling algorithm consists of: 1) for each IC, create a representative vector (an example of a representative vector for a given IC is v IC1 =(Ag1, Ag2, ... Ag n ) and Ag n represents the readout of agent n for a given IC), 2) create a matrix where each row is one representative vector of the die (i.e., the number of rows is the number of ICs, and the number of columns is the length of the vector representing the IC), and 3) scale the matrix so that the mean of each column is 0 and sigma is 1 (as a product of this, each agent has its own normalization factor, and the normalized representative vector of IC1 is

number

number

number

number

number

number

number

[0140] Optionally, the distance between IC1 and IC2 is:

number

[0141] Optionally, the profiling process described in the immediately preceding paragraph can be performed in an incremental manner. In other words, the post-Si data may arrive in batches, or using pre-Si& and post-Si data, with the pre-Si data being considered as the first batch.

[0142] In such a case, the profiling algorithm is described as (using an example using pre-Si data as the first batch and post-Si data as the second batch): 1) run the post-Si data algorithm using the pre-Si data instead of the post-Si data (the normalization coefficients and distance matrices for each agent are stored and at this stage generate families based on the pre-Si data), 2) when the post-Si data arrives, normalize the post-Si data using the normalization coefficients calculated based on the pre-Si data and distances are calculated using the distance matrix calculated based on the pre-Si data, and 3) generate new families using the new data, adding the new data to a pre-defined family if possible, and if not, generating new families while making sure that each of the new data is associated with the closest family (new / pre-defined).

[0143] The algorithm checks if additional agents are needed to improve its performance by using pre-Si data to 1) calculate the distances between all MC points, and 2) calculate the distances (in sigma) between all MC points for each signature and / or process parameter.

[0144] Then, for each of the signatures and / or process parameters:

number

number

[0145] In a general sense, a (computerized) method for IC classification and / or outlier detection may be considered. The method uses a wafer including a plurality of ICs according to an IC design. The IC design includes a plurality of sensors (which may provide diagnostic and / or performance information regarding the function of the IC). The method includes using at least one hardware processor to test each of the plurality of ICs. This is advantageously achieved by collecting a plurality of sensor values, the plurality of sensor values ​​including a sensor value from each of the plurality of sensors (preferably at least one sensor value from each sensor), and comparing the plurality of collected sensor values ​​to a classification scheme, thereby obtaining a classification of each tested IC. Advantageously, the classification of each tested IC is then recorded. In an embodiment, the method may include manufacturing a wafer based on the IC design using a fabrication process.

[0146] The step of comparing the plurality of collected sensor values ​​to a classification scheme may include determining or identifying the classification scheme in an embodiment. The classification scheme is optionally based on one or more data sets. For example, the one or more data sets may include a plurality of IC operation simulations of an IC design and fabrication process (wherein the simulations may be at least one of at least one full IC design simulation, at least one partial IC design simulation, and at least one device simulation for the fabrication process), a plurality of training sensor values ​​collected during pre-production tape-out testing, and a plurality of collected sensor values. In other words, the data sets may include pre-Si and / or post-Si data. In an embodiment, the classification scheme may include an outlier class. The classification may include a hierarchical data structure for determining the classification of each die.

[0147] The comparing step preferably includes estimating the high-coverage measurements from the plurality of sensor values ​​using at least one of a function and a rule, which may be determined, for example, from a training set of sensor values ​​and training high-coverage measurements.

[0148] Various uses of the classification of the tested ICs may be made. For example, at least one hardware processor may be used to mark the IC packages of the tested ICs with a unique identification based on the classification and / or to discard defective ICs. In the approach, from each tested IC, a set of fabrication process parameters may be determined based on the classification and the multiple sensor values. A second set of fabrication process parameters may then be selected based on the IC design and the set of fabrication process parameters for each IC. A second fabrication of a second wafer may then be performed using the second set of parameters. The selection is advantageously performed by at least one of a manual process and an automatic calculation. In this manner, a wafer including multiple ICs is provided according to the IC design, specifically the IC design including the multiple sensors.

[0149] In some embodiments, the classification scheme may be identified based on a plurality of classification values. The classification values ​​may be based on one or more of the following operational parameters determined from pre-Si or simulated sensor values, pre-Si design signatures, IC design simulations (simulated values ​​of pre-Si catalogs) and post-Si measured sensor values. The classification values ​​are preferably normalized. The classification scheme may be implemented by the following steps: First, a matrix representation is established from the plurality of classification values, with each row of the matrix representation including a classification value for one of the plurality of ICs (in other words, each column relates to a particular, different parameter, such as a sensor value or other data, and each row relates to a particular IC, although the horizontal axis of such a matrix may be used in other implementations). This step may continue with calculating a covariance matrix from the matrix representation, and a singular value decomposition (SVD) of the covariance matrix, and using the SVD (in various ways, as described below) to determine a plurality of distance values. Each distance value represents a respective distance between one IC of the plurality of ICs and another IC of the plurality of ICs (e.g., based on known mathematical techniques for determining such distance values), and from the plurality of distance values, at least one family is identified, thereby defining a classification scheme (specifically, the distance values ​​are compared to a threshold value specified as a radius).

[0150] Two specific classification approaches are considered: direct and indirect. In the direct method, each IC is represented by a vector based on sensor values ​​(these may be collected sensor values ​​of post-Si data and / or simulated sensor values ​​of pre-Si data). A matrix is ​​defined based on the sensor values ​​(each row of the matrix is ​​a vector of a single IC) and is advantageously normalized. The covariance matrix of this matrix is ​​calculated. SVD is performed on the covariance matrix and a distance matrix is ​​created using the SVD (specifically, the principal values ​​from the SVD). Also, advantageously, the distance matrix is ​​determined using a smoothing parameter λ and a constant (integer) k (such that only the first k principal values ​​of the SVD are used). The distance between ICs is calculated from the distance matrix and the (normalized) vectors of the ICs. The ICs are grouped based on their distance from each other (within a "radius") to define families. Each family may be identified by a representative vector. When using both pre-Si and post-Si data, the distance between the ICs measured using the post-Si data and the representative vector of each family defined using the pre-Si data is also calculated.

[0151] In the indirect classification method, a matrix is ​​defined based on pre-Si data such as one or more of (normalized) simulated sensor values, operating parameters (catalog values) determined from a simulation of the IC design, and (normalized) design signature values ​​(each row of the matrix is ​​a vector of a single IC). A covariance matrix of the matrix is ​​calculated. SVD is performed on the covariance matrix. A set of pre-Si SVD signatures is defined / displayed by identifying vectors of SVD whose corresponding principal values ​​of SVD are greater than a predefined value (d) and / or identifying vectors of SVD whose corresponding principal values ​​of SVD are the largest (maximum). A plurality of distance values ​​may be determined using the set of pre-Si SVD signatures (specifically, when only pre-Si data is used). For example, at least some of the plurality of distance values ​​may be calculated, and each of at least some of the plurality of distance values ​​is based on a distance between one of the pre-Si SVD signatures and another one of the pre-Si SVD signatures. When post-Si data is used, a number of estimators are constructed (constructed) from a collection of simulated sensor values ​​and pre-Si SVD signatures. Each estimator is configured to generate an estimated SVD signature from the input sensor values. Each of the (post-Si) ICs and (pre-Si) MCs is represented by its own SVD signature value. The multiple estimators are then used to estimate a respective post-Si SVD signature from the multiple collected sensor values ​​for each of the multiple ICs. At least some of the multiple distance values ​​are calculated, and each of at least some of the multiple distance values ​​is based on the distance between one of the post-Si SVD signatures and another one of the post-Si SVD signatures. The ICs are grouped based on their distance from each other (within a "radius") to define families. Each family may be identified by a representative vector (from the signature). When using both pre-Si and post-Si data, the distance between the ICs measured using the post-Si data and the representative vector of each family defined using the pre-Si data is also calculated.In other words, a further distance value of the plurality of distance values ​​is calculated, each further distance value being based on a distance between one of the SVD signatures of pre-Si and one of the SVD signatures of post-Si.

[0152] Identifying one or more families from the plurality of distance values ​​may typically include classifying a first IC of the plurality of ICs into a first family such that the first family is defined by the first IC (in other words, the first IC analyzed may always define a new family since no family has been previously defined and thus the first IC represents the first family), comparing a distance value representing a distance between the first IC and a second IC of the plurality of ICs from the plurality of distance values ​​with a predetermined threshold (e.g., such that the distance value between the two ICs is either greater than the threshold or less than the threshold), and classifying the second IC into the first family if the distance value is less than the predetermined threshold (such that the distance value between the two ICs is small and therefore they are considered to be in the same family), and classifying the second IC into a second family if the distance value is greater than the predetermined threshold (in other words, such that a new family is defined and this family is represented by the second IC). The case where the distance value is equal to the predefined threshold is left to the implementation since such cases are extremely rare, and therefore the classification of the second IC can be defined as either the first family (containing the first IC) or a new second family without causing any difficulties.

[0153] This approach may be repeated for each of the ICs in the plurality of ICs. For example, the identification of a plurality of families from the plurality of distance values ​​may further include a procedure for each of the ICs in the plurality of ICs. This procedure may proceed as follows: First, a group of distance values ​​from the plurality of distance values ​​is identified. Each distance value in the group of distance values ​​represents a distance between the other IC and a respective IC of the plurality of ICs defining the respective family (in other words, the group of distance values ​​may only relate to distance values ​​between the other IC, which is the classified IC, and each IC representing a family). Then, each distance value from the group of distance values ​​is compared to a predefined threshold (i.e., advantageously the same predefined threshold used for the first and second ICs, and beneficially the same for all ICs on the same wafer). From this comparison, several results can be obtained. If the distance value from the group of distance values ​​representing the distance between the other IC (i.e., the IC currently being classified) and a particular IC (i.e., an IC representing a family) of the plurality of ICs defining a particular family is smaller than the predefined threshold, the other IC is classified into a particular family (such that the two ICs are considered to be in the same family). This condition, if met at all, should be met for only one family. If all distance values ​​from the group of distance values ​​are greater than a predefined threshold (or greater, depending on the implementation), the other IC is classified into a new family, which is then defined by the other IC. This procedure is advantageously repeated for each unclassified IC (other IC) until all of the multiple ICs have been classified.

[0154] As indicated above, the classification values ​​may be based on one or more of simulated sensor values ​​determined from a simulation of the IC design (pre-Si data), one or more design signatures, a plurality of training sensor values ​​collected during pre-production tape-out testing, and sensor values ​​measured for a batch of devices (post-Si data), which may include any number of ICs, one lot, multiple lots, and / or wafers. For example, when only post-Si data is used, the classification values ​​may be based on sensor values ​​collected for wafers. Identifying a classification scheme based on the classification values ​​may then be at least part of a step of comparing the plurality of collected sensor values ​​to the classification scheme, thereby obtaining a classification for each tested IC. Alternatively, the identification procedure may first be performed on the pre-Si data (e.g., such that the classification values ​​are based on simulated sensor values ​​determined from a simulation of the IC design), resulting in the identification of a family. Next, the step of identifying a classification scheme based on the plurality of classification values ​​may be performed before the step of comparing the plurality of collected sensor values ​​to the classification scheme, thereby obtaining a classification of each tested IC (specifically using post-Si, as described herein, in particular based on a distance matrix and / or distance function). The comparison of the plurality of collected sensor values ​​to the classification scheme may be performed by following a further procedure (in the direct approach discussed above) as follows: A collected data matrix display may be established from the plurality of collected sensor values. Each row of the matrix display includes a collected sensor value for one of the plurality of ICs (such that the collected data matrix display has the same format as the matrix display discussed above). From the collected data matrix display, a plurality of collected data distance values ​​may be determined. Each distance value represents a respective distance between one IC of the plurality of ICs and another IC of the plurality of ICs, and the plurality of ICs preferably includes both simulated ICs (from the identifying step) and actual ICs (from the collected data), considered as separate ICs (although the simulated ICs will usually be a simulation of the actual ICs).Thereby, the distance between multiple post-Si ICs and / or multiple pre-Si ICs is calculated by a distance function / matrix calculated based on the pre-Si data. From the multiple distance values, each IC may then be classified according to a classification scheme. This classification advantageously follows the procedure discussed above (previous two paragraphs).

[0155] In any of these approaches, the matrix representation may be normalized, for example, before calculating the covariance matrix from the matrix representation (in other words, the covariance matrix is ​​calculated from the normalized matrix representation). A normalization factor may then be defined. If both pre-Si and post-Si data are used, the collected data matrix representation may be normalized (i.e., from the pre-Si data) using the defined normalization factor.

[0156] Experimental data is now provided to show that the family classification, as disclosed herein, is invariant to other physical Si parameters and temperature. Now, referring to FIG. 11, an exemplary IDDQ measurement distribution of devices formed on a wafer is shown with family classification. ICs were profiled / classified into families based on data from the post-Si agent. Family 2 is highlighted in the figure. Also, the measured IDDQ (Ioff current or leakage current) of each IC is displayed in the plot to show the distribution of IDDQ within the wafer. As a result of the profiling process, different families were created for different Si types, and it was found that the IDDQ range of each family is narrower than the IDDQ distribution range (total Si range) of the entire wafer. This proves that the ICs were profiled based on physical Si parameters.

[0157] Referring now to FIG. 12, an exemplary cycle time measurement distribution of devices formed on the wafer of FIG. 11 is shown sorted by family. The ICs were profiled / sorted into families based on data from the post-Si agent. Family 2 is highlighted. The measured cycle time of each IC is also displayed in the plot, showing the distribution of cycle times within the wafer. As a result of the profiling process, different families were created for different Si types, and it was found that the cycle time range of each family is narrower than the cycle time distribution range of the entire wafer (total Si range). This further proves that the ICs were profiled based on physical Si parameters.

[0158] Referring now to FIG. 13, for ICs formed on the wafer of FIG. 11, a histogram of the difference between the IDDQ measurements and the mean of the family associated with each IC is shown. This shows that the IDDQ range within the family is reduced. The histogram shows the distribution relative to the mean, and for each IC, the value is the difference between the IDDQ measured on the IC and the center of the family IDDQ, in terms of σ(IDDQ). The histogram shows the typical distance to the center of the family of ICs relative to the IDDQ measurement. It was observed that the typical distance is not affected by temperature changes. Thus, the generated family is invariant to temperature, proving that the ICs were profiled based on physical Si parameters.

[0159] Referring now to FIG. 14, the data shown in FIG. 11 is shown illustrating the identification of an outlier IC. The outlier IC was identified by implementing the concept of family correlation to high coverage measurements (HCM). In this case, the HCM is IDDQ. The outlier is IC_x, one of the ICs belonging to family number 9. IC_x passed the IDDQ test for the full Si sample, i.e., the IDDQ value measured for IC_x is within the range of the IDDQ distribution of the full Si sample. IC_x also passed the IDDQ test for the IDDQ distribution of wafer A, i.e., its IDDQ measurement is within the IDDQ distribution of its own wafer. IC_x was identified as an outlier for the measured IDDQ distribution of family number 9. From FIG. 13, it can be observed that the average sigma value of the family-IDDQ generated by the profiling algorithm is about 0.15. The distance of IC_x from the center of family 9 (its own family) is 1.55 sigma. The distance, converted into the number of sigmas, is about 10 (1.55 / 0.15). Based on this, the samples were detected as outliers (having a distance of at least a certain multiple of the average distance within the family).

[0160] Measurements to classify the ICs into families were performed at three different temperatures: low (-5°C), medium (25°C), and high (85°C). The families generated were found to be invariant to temperature, proving that the ICs were profiled based on physical Si parameters.

[0161] Throughout this application, various embodiments of the present invention may be presented in a range format. It should be understood that the description in range format is merely for convenience and brevity and should not be construed as an inflexible limitation on the scope of the present invention. Thus, the description of a range should be considered to specifically disclose all possible subranges as well as individual numerical values ​​within that range. For example, the description of a range such as 1-6 should be considered to specifically disclose subranges such as 1-3, 1-4, 1-5, 2-4, 2-6, 3-6, etc., as well as individual numbers within that range, such as 1, 2, 3, 4, 5, and 6. This applies regardless of the breadth of the range.

[0162] Whenever a numerical range is given herein, it is meant to include any cited numbers (fractional or integer) within the stated range. The phrases "ranging between" a first denoted number and a second denoted number and "ranging between" a first denoted number and a second denoted number are used interchangeably herein and are meant to include the first and second denoted numbers and all fractional and integer numbers therebetween.

[0163] In the description and claims of this application, the words "comprise," "include," and "have," and each of their forms, do not necessarily limit the members in a list with which the word may be associated. Furthermore, in the event of a conflict between this application and any document incorporated by reference, it is hereby intended that the present application shall control.

[0164] For clarity of reference in this disclosure, the use of nouns, whether general, proper, named, etc., does not imply that embodiments of the invention are limited to a single embodiment, and it should be noted that while many configurations of the disclosed components may be used to describe some embodiments of the invention, other configurations may be derived from these embodiments in different configurations.

[0165] For clarity, not all of the features of the practices described herein are shown and described. Of course, the development of any such actual implementation will require numerous implementation-specific decisions to be made in order to achieve the developer's particular goals, such as adhering to application and business-related constraints, and these particular goals will vary from implementation to implementation and developer to developer. Moreover, it will be understood that such a development effort may be complex and time-consuming, but would nevertheless be a routine undertaking of engineering for those of ordinary skill in the art having the benefit of this disclosure.

[0166] It is expected that those skilled in the art can easily practice the present invention based on the teachings of this disclosure. The description of the various embodiments provided herein is believed to provide sufficient insight and details of the present invention to enable those skilled in the art to practice the present invention. Moreover, it is specifically contemplated that the various features and embodiments of the present invention described above can be used alone and in various combinations.

[0167] Conventional and / or modern circuit design and layout tools may be used to implement the invention. The specific embodiments described herein, particularly the various thicknesses and compositions of the various layers, are illustrative of example embodiments and should not be considered as limiting the invention to such specific implementation choices. Thus, multiple instances may be provided for components described herein as a single instance.

[0168] Although circuits and physical structures have been generally presumed, in modern semiconductor design and manufacturing, the physical structures and circuits may be embodied in a computer-readable descriptive form suitable for use in subsequent design, testing, or manufacturing stages, as well as in the resulting manufactured semiconductor integrated circuits. Thus, claims directed to conventional circuits or structures may be read based on computer-readable encodings and representations thereof, whether embodied in a medium or combined with an appropriate reading function, consistent with their specific language, to enable the manufacture, testing, or design improvement of the corresponding circuits and / or structures. Structures and functions presented as separate components in the exemplary configurations may be implemented as combined structures or components. The present invention is contemplated to include circuits, systems of circuits, associated methods, and computer-readable medium encodings of such circuits, systems, and methods, all of which are described herein and defined in the appended claims. As used herein, computer-readable medium includes at least disks, tapes, or other magnetic, optical, semiconductor (e.g., flash memory cards, ROM), or electronic media, as well as networks, wired, wireless, or other communications media.

[0169] The foregoing detailed description has described only a few of the many possible implementations of the present invention. For this reason, this detailed description is intended to be illustrative and not limiting. Variations and modifications of the embodiments disclosed herein may be made based on the description set forth herein without departing from the scope and spirit of the present invention. It is only the following claims, including all equivalents, that are intended to define the scope of the present invention. Although the preferred embodiment is described in the context of a PLL operating at an exemplary frequency, it is believed that the teachings of the present invention may be advantageously used in other types of circuits in which circuit elements, such as inductors, may benefit from electromagnetic shielding. Furthermore, the techniques described herein may be applied to other types of circuit applications. Accordingly, other variations, modifications, additions, and improvements may be included within the scope of the present invention as defined in the following claims.

[0170] Embodiments of the present invention may be used to manufacture, produce, and / or assemble integrated circuits and / or products based on integrated circuits.

[0171] The present invention may be a system, a method, and / or a computer program product. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to perform aspects of the present invention.

[0172] A computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer diskettes, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), static random access memories (SRAMs), portable compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), memory sticks, floppy disks, mechanically encoded devices with instructions recorded thereon, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium should not be interpreted as being a transitory signal, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a wave guide or other transmission medium (e.g., a light pulse passing through a fiber optic cable), or an electrical signal transmitted through a wire. Rather, the computer-readable storage medium is a non-transitory (ie, non-volatile) medium.

[0173] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to the respective computing / processing device or to an external computer or storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing / processing device.

[0174] The computer readable program instructions for carrying out the operations of the present invention may be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including object oriented programming languages ​​such as Java, Smalltalk, C++, and traditional procedural programming languages ​​such as the "C" programming language, or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partly on the user's computer, as a standalone software package, partly on the user's computer and partly on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or wide area network (WAN), or the connection may be made to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry to perform aspects of the invention.

[0175] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.

[0176] These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the instructions, when executed by the processor of the computer or other programmable data processing apparatus, generate a machine to implement the function / act specified in the block(s) of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored within a computer-readable storage medium that can instruct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, such that the computer-readable storage medium having instructions stored therein comprises an article of manufacture including instructions that implement an aspect of the function / act specified in the block or blocks of the flowcharts and / or block diagrams.

[0177] The computer-readable program instructions may also be loaded into a computer, other programmable data processing apparatus, or other device and cause the computer, other programmable apparatus, or other device to execute a series of operational steps to generate a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device implement the function / operation specified in a block or blocks of the flowcharts and / or block diagrams.

[0178] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions that includes one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions described in the blocks may occur in a different order than the order described in the figures. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may be executed in reverse order depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a special-purpose hardware-based system that performs the specified functions or operations or executes a combination of dedicated hardware and computer instructions.

[0179] The description of various embodiments of the present invention has been presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terms used in this specification have been selected to best explain the principles of the embodiments, practical applications, or technical improvements to the technology found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.

Claims

1. 1. A computerized method for integrated circuit (IC) classification and / or outlier detection, said method being performed automatically by a computer directed by computer software, said method comprising: providing a wafer comprising a plurality of ICs fabricated according to an IC design, each of the ICs comprising a plurality of sensors, the plurality of sensors included within the ICs measuring operational parameters of units, sub-units, cells, sub-cells, and / or devices of the ICs, the plurality of sensors included within the ICs outputting the measured operational parameters as sensor values; collecting the sensor values ​​from each of a plurality of sensors included in the IC; comparing the collected sensor values ​​to a classification scheme to obtain a classification for each of the ICs; recording a classification of each of said ICs; using at least one hardware processor for A method comprising:

2. The classification scheme comprises: a plurality of IC operation simulations of an IC design and fabrication process of the IC, the simulations being at least one of at least one complete IC design simulation, at least one partial IC design simulation, and at least one device simulation for the fabrication process; a plurality of training sensor values ​​collected during pre-production tape-out testing; A plurality of collected sensor values; The method of claim 1 , based on one or more of:

3. 2. The method of claim 1, wherein the comparing comprises estimating high-coverage measurements from the plurality of sensor values ​​using at least one of functions and rules determined from a training set of sensor values ​​and training high-coverage measurements.

4. (i) determining, from each tested IC, a set of fabrication process parameters for the IC based on the classification and the plurality of sensor values; (ii) selecting a second set of parameters for the fabrication process based on the IC design and a set of parameters for each IC fabrication process; (iii) causing the fabrication of a second wafer using the second set of parameters; and The method of claim 1 further comprising:

5. Based on multiple classification values, establishing a matrix representation from the plurality of classification values, each row of the matrix representation comprising a classification value for one of the plurality of ICs; Computing a covariance matrix from the matrix representation and a singular value decomposition (SVD) for the covariance matrix; determining a plurality of distance values ​​using the SVD, each distance value representing a respective distance between an IC of the plurality of ICs and another IC of the plurality of ICs; identifying at least one family from said plurality of distance values, thereby defining said classification scheme; Identifying said classification scheme by The method of claim 1 further comprising:

6. Identifying at least one family from the plurality of distance values ​​includes: classifying a first IC of the plurality of ICs into a first family, whereby the first family is defined by the first IC; comparing a distance value from the plurality of distance values ​​that represents a distance between the first IC and a second IC of the plurality of ICs with a predetermined threshold; classifying the second IC into the first family if the distance value is less than the predetermined threshold; classifying the second IC into a second family if the distance value is greater than the predetermined threshold, whereby the second family is defined by the second IC; The method of claim 5 comprising:

7. Identifying a plurality of families from the plurality of distance values ​​includes, for each other IC of the plurality of ICs: identifying a group of distance values ​​from the plurality of distance values, each distance value in the group of distance values ​​representing a distance between the other IC and a respective IC of the plurality of ICs that defines a respective family; comparing each distance value from the set of distance values ​​to the predetermined threshold; classifying each other IC into a particular family if a distance value from the group of distance values ​​representing a distance between each other IC and a particular IC of the plurality of ICs that defines a particular family is less than the predetermined threshold value; classifying the other IC into a new family if all distance values ​​from the group of distance values ​​are greater than the predetermined threshold, whereby the new family is defined by the other IC; The method of claim 6 further comprising:

8. 8. The method of claim 5, wherein the plurality of classification values ​​are based on one or more of simulated values ​​determined from a simulation of the IC design, a plurality of training sensor values ​​collected during pre-production tape-out testing, and measured sensor values.

9. 8. The method of claim 5, wherein identifying the classification scheme based on the plurality of classification values ​​is at least a part of comparing the plurality of collected sensor values ​​to a classification scheme, thereby obtaining a classification for each tested IC.

10. the plurality of classification values ​​are based on simulated sensor values ​​determined from a simulation of the IC design; identifying the classification scheme based on a plurality of classification sensor values ​​is performed prior to comparing the plurality of collected sensor values ​​to a classification scheme, thereby obtaining a classification for each tested IC; Comparing the plurality of collected sensor values ​​to a classification scheme comprises: establishing a collected data matrix representation from the plurality of collected sensor values, each row of the matrix representation comprising a collected sensor value for one of the plurality of ICs; determining a plurality of collected data distance values ​​using the collected data matrix representation, each distance value representing a respective distance between one IC of the plurality of ICs and another IC of the plurality of ICs; classifying each of the ICs according to the classification scheme from the plurality of distance values; The method according to any one of claims 5 to 7, comprising:

11. 11. The method of claim 10, wherein calculating a covariance matrix from the matrix representation comprises normalizing the matrix representation before calculating the covariance matrix, thereby defining a normalization factor, and wherein establishing a collected data covariance matrix comprises normalizing the matrix representation using the defined normalization factor.

12. 8. The method of claim 5, wherein the matrix representation is established from one or more of simulated sensor values, operational parameters determined from a simulation of the IC design, and design signature values ​​determined from a simulation of the IC design.

13. The matrix representation is established from pre-Si data, and determining a plurality of distance values ​​using the SVD includes: defining a set of pre-Si SVD signatures by identifying vectors of the SVD whose corresponding principal values ​​of the SVD are greater than a predefined value and / or a predefined number of vectors of the SVD whose corresponding principal values ​​of the SVD are greatest; determining the plurality of distance values ​​using the set of pre-Si SVD signatures; The method according to any one of claims 5 to 7, comprising:

14. 14. The method of claim 13, wherein determining the plurality of distance values ​​using the set of pre-Si SVD signatures comprises calculating at least some of the plurality of distance values, each of the at least some of the plurality of distance values ​​being based on a distance between one of the pre-Si SVD signatures and another of the pre-Si SVD signatures.

15. Determining the plurality of distance values ​​using the set of pre-Si SVD signatures includes: constructing a plurality of estimators from the set of simulated sensor values ​​and pre-Si signatures, each estimator generating an estimated SVD signature from input sensor values; estimating, for each of the plurality of ICs, a respective post Si SVD signature from the plurality of sensor values ​​from the plurality of estimators; calculating at least some of the distance values, each of the distance values ​​being based on a distance between one of the SVD signatures of the post-Si and another of the SVD signatures of the post-Si; The method of claim 13 comprising:

Citation Information

Patent Citations

  • Method and device for detecting local outlier

    JP2009010405A

  • Fault factor identification method and system, program for making computer execute above fault factor identification method, and recording medium in which above program is recorded, capable of being read by computer

    JP2009021348A

  • Methodology for the optimization of testing and diagnosis of analog and mixed signal ICs and embedded cores

    US20040015793A1

  • Die and Wafer Failure Classification System and Method

    US20080147355A1

  • Using multivariate health metrics to determine market segment and testing requirements

    US20080262769A1