Circuit yield estimation method based on failure edge sampling, prediction system
Patent Information
- Application Number
- CN202211677888.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-26
- Publication Date
- 2026-08-18
- Estimated Expiration
- 2042-12-26
AI Technical Summary
[0006]为了解决现有技术中的蒙特卡罗方法计算量较大的技术问题,本发明提出了基于失效边缘采样的电路良率估计方法、预测系统
[0038]1、本发明的方法采样次数远远少于传统的Monte Carlo法,大大减少了不必要的电路仿真,进一步提升了良率估计的效率;
Smart Images

Figure CN116090389B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the technical field of yield estimation in semiconductor integrated circuits, and more particularly to a circuit yield estimation method based on failure edge sampling. Background Technology
[0002] As integrated circuit manufacturing processes reach the nanometer scale, uncertainties in processes such as photolithography, chemical mechanical polishing, and etching can cause some related circuit parameters, such as effective channel length and transistor threshold voltage, to deviate from their designed values. Furthermore, this random error caused by process instability cannot be reduced proportionally with the process advancement, making process fluctuations increasingly severe and leading to decreased product yield. Simultaneously, the number of transistors in each circuit is increasing, reaching hundreds of thousands or even millions. To ensure high yield, each transistor needs an extremely low failure rate—a problem known as a low-probability problem. The Monte Carlo method is a general yield estimation method. It first generates a large number of sample points in the parameter domain based on the probability distribution of the parameter variables. Then, it performs circuit simulation on each sample point to obtain the corresponding performance parameters. Failure sample points are identified based on predetermined performance metrics, and finally, statistical methods are used to estimate the circuit failure rate. However, the Monte Carlo method requires an enormous number of samples—i.e., a massive number of circuit simulations—when dealing with low-probability problems, making it unsuitable for scenarios requiring rapid yield estimation.
[0003] A commonly used method for rapid yield estimation is the Monte Carlo method based on importance sampling.
[0004] Monte Carlo methods based on importance sampling construct a distribution function with sampling centers within the failure domain. By constructing a proposal distribution, more failure sample points can be obtained, thus acquiring a sufficient number of failure samples with fewer sampling iterations. The key to importance sampling lies in the construction of the proposal distribution; the better the proposal distribution, the higher the algorithm efficiency. However, in high-dimensional, multi-failure-domain scenarios, obtaining a suitable proposal distribution is difficult. Furthermore, importance sampling encounters the "curse of dimensionality"—as the spatial dimension in mathematics increases, analyzing and processing data in high-dimensional spaces presents various problems due to the exponential increase in volume. For example, in the case of Gaussian distributions, real-time sampling from high-dimensional distributions is subject to many constraints, such as limited computational resources restricting the sampling scale to be orders of magnitude smaller than the system dimension, and the sample space span being only a small fraction of the entire sample space.
[0005] Therefore, how to provide a yield estimation method based on the Monte Carlo method that can reduce the amount of simulation calculations and improve estimation efficiency is a technical problem to be solved. Summary of the Invention
[0006] To address the issue of the high computational complexity of existing Monte Carlo methods, this invention proposes a circuit yield estimation method and prediction system based on failure edge sampling.
[0007] This invention proposes a circuit yield estimation method based on failure edge sampling, comprising:
[0008] Step 1: Based on the range of the circuit's parameter domain, obtain successful sample points and failure sample points near the edge of the failure domain as positive sample points and negative sample points, respectively.
[0009] Step 2: Train the machine learning classifier based on the obtained positive and negative sample points, and select the optimal machine learning classifier.
[0010] Step 3: Perform Monte Carlo sampling on the parameter domain of the circuit, input the obtained sampling points into the optimal machine learning classifier, and obtain the circuit yield based on the number of positive sample points output by the machine learning classifier relative to the total number of sampling points.
[0011] Furthermore, in step 1, the positive and negative sample points are obtained by sampling the edge of the failure domain based on a genetic algorithm.
[0012] Furthermore, step 1 includes:
[0013] Step 1.1: Extract M samples from the parameter domain of the circuit as the initial population;
[0014] Step 1.2: Perform circuit simulation on the samples of the current generation population to obtain the corresponding performance parameters. Based on the performance boundary, determine the negative sample points as the parent of the next generation population evolution and the positive sample points as the mother of the next generation population evolution.
[0015] Step 1.3: If the proportion of negative sample points in all evolution samples exceeds the threshold, or the number of evolution generations has exceeded the set upper limit, then evolution stops and all sample points of each generation are output; otherwise, continue to the next step.
[0016] Step 1.4: Sort the negative sample points in the current generation population in ascending order of distance from the failure edge, and select the top T negative sample points as the male parents to participate in hybridization. For each male parent, find the F female parents that are closest to it among the positive sample points in the current generation population. P is the number of negative sample points in the current generation population, and C is the number of offspring obtained from each cross.
[0017] Step 1.5: Each male parent is crossed with its corresponding female parent to obtain C offspring. The offspring coordinates are represented by the formula X. c =λXf +(1-λ)X m The calculation yields X, where X c For the child coordinates, X f The parent coordinates, X m λ represents the coordinates of the parent graph, and λ is a random probability value between 0 and 1.
[0018] Step 1.6: The remaining M-TFC mutant offspring samples are extracted from the parameter domain of the circuit and returned to step 1.2.
[0019] Furthermore, step 1.1 and / or step 1.6 selects a Sobol sequence to extract multiple samples in the parameter domain of the circuit.
[0020] Furthermore, step 2 includes:
[0021] Step 2.1: Assign different labels to the obtained positive and negative sample points respectively, and randomly select sample points from all sample points according to a certain ratio to form the training set and test set.
[0022] Step 2.2: Perform grid traversal for the variable parameters of different machine learning classifiers;
[0023] Step 2.3: For each combination in the parameter grid, train the machine learning classifier model;
[0024] Step 2.4: Compare the classification performance of classifiers with different parameters based on the test set, and output the model of the optimal machine learning classifier as the final machine learning classifier.
[0025] Furthermore, the machine learning classifier includes at least one of support vector machines, random forests, and boosting trees.
[0026] Furthermore, step 2.3 includes:
[0027] Step 2.3.1: Construct n_estimators weak classifiers;
[0028] Step 2.3.2: The parameters of each weak classifier are obtained by learning the bias through a forward distribution algorithm;
[0029] Step 2.3.3: By minimizing the bias of the ensemble classification results, the weight of each weak classifier is learned, and all weak classifiers are weighted and ensembled to form the final machine learning classifier model.
[0030] Furthermore, in step 2.4, the optimal machine learning classifier is selected by quantitative scoring based on precision, recall, and F1-score.
[0031] Furthermore, in step 3, the quality factor is calculated based on the yield of the circuit obtained by the current calculation. If the quality factor is greater than or equal to the performance index, step 3 is continued to calculate the yield of the circuit until the quality factor is less than the performance index.
[0032] The circuit yield prediction system based on failure edge sampling proposed in this invention uses the circuit yield estimation method based on failure edge sampling described in the above technical solution to estimate the circuit yield.
[0033] The circuit yield prediction system based on failure edge sampling includes:
[0034] The sampling module, based on the range of the circuit's parameter domain, acquires successful sample points and failed sample points near the edge of the failure domain as positive sample points and negative sample points, respectively.
[0035] The classifier training module trains the machine learning classifier based on the acquired positive and negative sample points and selects the optimal machine learning classifier.
[0036] The yield prediction module performs Monte Carlo sampling on the parameter domain of the circuit, inputs the obtained sampling points into the optimal machine learning classifier, and obtains the yield of the circuit based on the number of positive sample points output by the machine learning classifier relative to the total number of sampling points.
[0037] Compared with the prior art, the present invention has the following advantages:
[0038] 1. The method of the present invention requires far fewer samples than the traditional Monte Carlo method, which greatly reduces unnecessary circuit simulation and further improves the efficiency of yield estimation;
[0039] 2. By using the crossover operator of the genetic algorithm to obtain sample points near the failure boundary, compared with the Monte Carlo method based on importance sampling, it has stronger applicability in high-dimensional parameter spaces and multiple failure domains.
[0040] 3. By using the crossover operator of the genetic algorithm to obtain points closer to the failure boundary, it is more efficient than the non-Monte Carlo method based on boundary search because it does not require local optimization search calculations.
[0041] 4. By simulating the failure domain boundary surface through a machine learning classifier, compared with the non-Monte Carlo method based on boundary search, there is no need to accurately calculate the failure domain boundary surface, and the number of simulations does not increase exponentially with the increase of dimension, thus improving the efficiency of yield estimation when classifying sample points.
[0042] 5. In a high-dimensional parameter space with multiple failure domains and high yield, this invention has a lower failure rate error and fewer simulations compared to other existing methods, resulting in higher overall benefits. Attached Figure Description
[0043] The present invention will now be described in detail with reference to the embodiments and accompanying drawings, wherein:
[0044] Figure 1 This is an overall flowchart of an embodiment of the present invention.
[0045] Figure 2 This is a diagram comparing the effects of Sobol sampling and simple random sampling.
[0046] Figure 3 This is a schematic diagram of training a typical XGBoost (eXtreme Gradient Boosting) model. Detailed Implementation
[0047] To make the technical problems to be solved, the technical solutions, and the beneficial effects of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0048] Therefore, a feature pointed out in this specification is used to describe one feature of one embodiment of the invention, and does not imply that every embodiment of the invention must have the described feature. Furthermore, it should be noted that this specification describes many features. Although certain features may be combined to illustrate possible system designs, these features may also be used in other combinations not explicitly stated. Therefore, unless otherwise stated, the described combinations are not intended to be limiting.
[0049] like Figure 1 As shown, the circuit yield estimation method based on failure edge sampling of the present invention mainly includes the following three steps in one embodiment.
[0050] Step 1: Based on the range of the circuit's parameter domain, obtain successful sample points and failure sample points near the edge of the failure domain as positive and negative sample points, respectively. Specifically, some optimization algorithms can be used to obtain points near the edge of the failure domain with as few samplings as possible. The closer the positive and negative sample points obtained in this step are to the edge of the failure domain, the more accurate the subsequent machine learning classifier will be.
[0051] Step 2 involves training a machine learning classifier based on the acquired positive and negative sample points, and then selecting the optimal classifier. The purpose of this step is to train the machine learning classifier using previously obtained sample points, so that subsequent sampled points can be directly identified as positive or negative by the machine learning classifier. This reduces the number of simulations and improves the efficiency of yield estimation.
[0052] Step 3: Perform Monte Carlo sampling on the parameter domain of the circuit, input the obtained sampling points into the optimal machine learning classifier, and obtain the circuit yield based on the number of positive sample points output by the machine learning classifier relative to the total number of sampling points.
[0053] This invention can minimize the number of samplings in a high-dimensional multi-failure domain parameter space while ensuring the accuracy of yield estimation results, thereby reducing unnecessary circuit simulations. In one embodiment, the implementation of this invention can be summarized as using a genetic algorithm to find sampling points near the failure boundary of the performance domain, and using machine learning classifier technology to determine whether edge samples are failed, thereby quickly estimating the yield.
[0054] In one embodiment, in step 1 above, positive and negative sample points are obtained by sampling the edges of the failure domain using a genetic algorithm. Step 1 can then be implemented through the following steps.
[0055] Step 1.1: Select M samples from the parameter domain R of the circuit as the initial population. Random sampling or other sampling methods can be used. The number of generations N for the initial population is 1.
[0056] Step 1.2: Perform circuit simulation on the samples of the current generation population to obtain the corresponding performance parameters. Based on the performance boundary, determine the negative sample points as the parent of the next generation population evolution and the positive sample points as the mother of the next generation population evolution. Usually, the circuit simulation result is selected to determine whether the sample point is a failure point. Failure points are also called negative sample points, and vice versa.
[0057] This step marks the beginning of an iterative process. The first iteration uses the initial evolutionary population as the current generation to obtain the corresponding performance parameters, i.e., the performance domain. The parameter domain refers to the range of values for parameters such as the length and width of circuit components. The performance domain refers to the range of values for parameters such as voltage, gain, and bandwidth. The edge of the failure domain and the performance boundary are both points where the parameter domain and performance domain intersect.
[0058] Step 1.3: If the proportion of negative sample points in all samples to the total number of sample points exceeds the threshold, or the number of generations has exceeded the set upper limit, then the evolution stops. At this time, all sample points of each generation of the population are output; otherwise, continue to the next step.
[0059] Step 1.4: Sort the negative sample points in the current generation population in ascending order of distance from the failure edge, and select the top T negative sample points as the male parents to participate in hybridization. For each male parent, find the F female parents that are closest to it among the positive sample points in the current generation population. P represents the number of negative sample points in the current generation population, C represents the number of offspring obtained from each cross, and F and C are multiplied together.
[0060] Step 1.5: Each male parent is crossed with its corresponding female parent to obtain C offspring; that is, one pair of parents yields C offspring. The offspring coordinates are represented by the formula X. c =λX f +(1-λ)X m The calculation yields X, where X c For the child coordinates, X f The parent coordinates, X m λ represents the coordinates of the parent graph, and λ is a random probability value between 0 and 1.
[0061] In step 1.6, the remaining M-TFC mutated offspring samples are extracted from the parameter domain of the circuit. After obtaining a total of M offspring samples, the M offspring samples are returned to step 1.2 as samples of the current generation race for the next round of calculation.
[0062] In one embodiment, steps 1.1 and / or 1.6 above select a Sobol sequence to extract multiple samples in the parameter domain of the circuit. For example... Figure 2 As shown, the Sobol sequence has better uniformity than simple random sampling, and can obtain as many failure points as possible.
[0063] In one embodiment, step 2 above can be implemented using the following steps.
[0064] Step 2.1: Assign different labels to the obtained positive and negative sample points, and randomly select sample points from all sample points according to a certain ratio to form the training and test sets. For example, set the label of negative sample points to 0 and the label of positive sample points to 1 to obtain the overall dataset. Then, randomly select sample points from the overall dataset according to the ratio of training set to test set m:n to generate the test set and training set.
[0065] Step 2.2 involves performing a grid traversal for the variable parameters of different machine learning classifiers. The machine learning classifiers used in this step include, but are not limited to, at least one of Support Vector Machines, Random Forests, and Boosting Trees. Y = ax + w is determined by the decision scale and has a large number of trees, from the root node to the child nodes (5).
[0066] Taking the XGBoost model of boosting trees as an example, if the XGBoost model is used as a classifier, its main variable parameters include: decision tree depth (max_depth), learning rate of the iterative model (learning_rate), and number of sub-models, i.e., weak classification decision trees (n_estimators).
[0067] When using the XGBoost model with boosting trees for grid traversal, assuming the depth of the decision tree ranges from 1 to 5, the number of weak classification decision trees ranges from 1 to 100, and the learning rate of the iterative model is 50% to 80%, a three-dimensional coordinate axis is established using these three parameters. The variable parameters of these machine learning classifiers can form corresponding three-dimensional spatial grids based on different values (or planar grids if there are two parameters). There are many combinations of these parameter values, and each combination needs to be trained using the training and test sets from step 2.1 so that in the next step, an optimal machine learning classifier model can be selected from these combinations.
[0068] Step 2.3: For each combination of parameters in the parameter grid from the previous step (i.e., the combination of variable parameters of the model), train the machine learning classifier model.
[0069] Taking boosting trees as an example, they essentially employ an additive model (linear combination of basis functions) and a forward distribution algorithm for training.
[0070] like Figure 3 As shown, step 2.3 can be implemented using the following steps.
[0071] Step 2.3.1: Construct n_estimators weak classifiers. Taking the XGBoost model with boosting trees as an example, the weak classifier used in this step is a decision tree.
[0072] Step 2.3.2: The parameters of each weak classifier are obtained by learning the bias through the forward distribution algorithm. The forward distribution algorithm refers to the use of a greedy strategy to optimize tree by tree. When optimizing the t-th tree, the previous t-1 trees are known, and only the parameters of the current tree need to be optimized.
[0073] Step 2.3.3: By minimizing the bias of the ensemble classification results, the weight of each weak classifier is learned, and all weak classifiers are weighted and ensembled to form the final machine learning classifier model.
[0074] Step 2.4: Compare the classification performance of classifiers with different parameters based on the test set, and output the model of the optimal machine learning classifier as the final machine learning classifier.
[0075] Step 2.4 uses a quantitative scoring method based on precision, recall, and F1-score to select the optimal machine learning classifier. The F1-score calculation formula is as follows:
[0076]
[0077] Where precision is the accuracy rate and recall is the recall rate.
[0078] In one embodiment, step 3 calculates the quality factor based on the currently calculated yield of the circuit. If the quality factor is greater than or equal to the performance index, step 3 continues to calculate the yield of the circuit until the quality factor is less than the performance index.
[0079] Step 3 can be implemented using the following detailed steps.
[0080] Step 3.1: Perform l Monte Carlo samplings in the parameter domain of the circuit, and denote the total number of Monte Carlo samplings as W: = W+l (W is initially 0), which serves as the prediction input for the classifier;
[0081] Step 3.2: Calculate the proportion V of the W classifier input samples that were predicted as positive out of the total number of samples. Record the yield estimate
[0082] Step 3.3, based on the quality factor The system determines whether convergence has been achieved by checking if the set performance index Q is reached. If ρ ≥ Q, convergence has not occurred, and the process proceeds to step 3.1 for the next sampling yield calculation; otherwise, it takes... This concludes the yield estimation result for this embodiment, and the yield calculation process ends.
[0083] The sampling of sample points around the failure domain boundary and the training of the classifier are the core of the technical solution of this invention. The main inventive concept of this invention is that after the initial sample population is generated, a genetic algorithm is used to crossbreed positive and negative sample points to obtain sample points closer to the failure domain boundary. Based on these sample points, a machine learning classifier that can correctly classify the sample points is learned, and finally, the yield rate is calculated through testing. Furthermore, to cover all failure domains, the genetic algorithm also uses mutation operations to select sample points during the sampling process.
[0084] The present invention also protects a circuit yield prediction system based on failure edge sampling. This circuit yield prediction system based on failure edge sampling uses the circuit yield estimation method based on failure edge sampling of the above-mentioned technical solution to estimate the circuit yield. That is, the prediction system is mainly used to implement the above-mentioned circuit yield estimation method.
[0085] The circuit yield prediction system based on failure edge sampling mainly consists of three modules: a sampling module, a classifier training module, and a yield prediction module.
[0086] The sampling module, based on the range of the circuit's parameter domain, acquires successful sample points and failed sample points near the edge of the failure domain as positive sample points and negative sample points, respectively. In one embodiment, the sampling module performs steps 1.1 to 1.6 as described above.
[0087] The classifier training module trains the machine learning classifier based on the acquired positive and negative sample points and selects an optimal machine learning classifier. In one embodiment, the classifier training module performs steps 2.1 to 2.4 as described above.
[0088] The yield prediction module performs Monte Carlo sampling on the parameter domain of the circuit, inputs the obtained sampling points into the optimal machine learning classifier, and obtains the circuit yield based on the ratio of positive sample points output by the machine learning classifier to the total number of sampling points. In one embodiment, the yield prediction module will execute steps 3.1 to 3.3 above during operation.
[0089] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A circuit yield estimation method based on failure edge sampling, characterized in that, include: Step 1: Based on the range of the circuit's parameter domain, sample the edge of the failure domain using a genetic algorithm, and obtain successful sample points and failure sample points near the edge of the failure domain as positive sample points and negative sample points, respectively. Step 2: Train the machine learning classifier based on the obtained positive and negative sample points, and select the optimal machine learning classifier. Step 3: Perform Monte Carlo sampling on the parameter domain of the circuit, input the obtained sampling points into the optimal machine learning classifier, and obtain the yield of the circuit based on the number of positive sample points output by the machine learning classifier relative to the total number of sampling points. Step 1 includes: Step 1.1: Extract M samples from the parameter domain of the circuit as the initial population; Step 1.2: Perform circuit simulation on the samples of the current generation population to obtain the corresponding performance parameters. Based on the performance boundary, determine the negative sample points as the parent of the next generation population evolution and the positive sample points as the mother of the next generation population evolution. Step 1.3: If the proportion of negative sample points in all evolution samples exceeds the threshold, or the number of evolution generations has exceeded the set upper limit, then evolution stops and all sample points of each generation are output; otherwise, continue to the next step. Step 1.4: Sort the negative sample points in the current generation population according to their distance from the failure edge in ascending order, and select the top... Each negative sample point is used as a male parent to participate in the hybridization. For each male parent, the closest positive sample point in the current generation population is found. There are 1 parent parent, of which T < , C represents the number of negative sample points in the current generation population, and C represents the number of offspring obtained from each cross. Step 1.5: Each male parent is crossed with its corresponding female parent to obtain C offspring; the offspring coordinates are calculated using the formula... The calculation yielded, where For child coordinates, Parent coordinates For the parent coordinates, The probability value is a random value between 0 and 1; Step 1.6, Remaining The mutated offspring sample is then extracted from the parameter domain of the circuit and returned to step 1.
2.
2. The circuit yield estimation method based on failure edge sampling as described in claim 1, characterized in that, Step 1.1 and / or step 1.6 selects a Sobol sequence to extract multiple samples in the parameter domain of the circuit.
3. The circuit yield estimation method based on failure edge sampling as described in claim 1, characterized in that, Step 2 includes: Step 2.1: Assign different labels to the obtained positive and negative sample points respectively, and randomly select sample points from all sample points according to a certain ratio to form the training set and test set. Step 2.2: Perform grid traversal for the variable parameters of different machine learning classifiers; Step 2.3: For each combination in the parameter grid, train the machine learning classifier model; Step 2.4: Compare the classification performance of classifiers with different parameters based on the test set, and output the model of the optimal machine learning classifier as the final machine learning classifier.
4. The circuit yield estimation method based on failure edge sampling as described in claim 3, characterized in that, The machine learning classifier includes at least one of support vector machine, random forest, and boosting tree.
5. The circuit yield estimation method based on failure edge sampling as described in claim 4, characterized in that, Step 2.3 includes: Step 2.3.1: Construct n_estimators weak classifiers; Step 2.3.2: The parameters of each weak classifier are obtained by learning the bias through a forward distribution algorithm; Step 2.3.3: By minimizing the bias of the ensemble classification results, the weight of each weak classifier is learned, and all weak classifiers are weighted and ensembled to form the final machine learning classifier model.
6. The circuit yield estimation method based on failure edge sampling as described in claim 4, characterized in that, In step 2.4, the optimal machine learning classifier is selected by quantitative scoring based on precision, recall, and F1-score.
7. The circuit yield estimation method based on failure edge sampling as described in claim 1, characterized in that, In step 3, the quality factor is calculated based on the yield of the circuit obtained by the current calculation. If the quality factor is greater than or equal to the performance index, step 3 is continued to calculate the yield of the circuit until the quality factor is less than the performance index.
8. A circuit yield prediction system based on failure edge sampling, characterized in that, The circuit yield prediction system based on failure edge sampling uses the circuit yield estimation method based on failure edge sampling as described in any one of claims 1 to 7 to estimate the circuit yield. The circuit yield prediction system based on failure edge sampling includes: The sampling module, based on the range of the circuit's parameter domain, acquires successful sample points and failed sample points near the edge of the failure domain as positive sample points and negative sample points, respectively. The classifier training module trains the machine learning classifier based on the acquired positive and negative sample points and selects the optimal machine learning classifier. The yield prediction module performs Monte Carlo sampling on the parameter domain of the circuit, inputs the obtained sampling points into the optimal machine learning classifier, and obtains the yield of the circuit based on the number of positive sample points output by the machine learning classifier relative to the total number of sampling points.
Citation Information
Patent Citations
Circuit yield analysis method based on multi-layer perceptron neural network
CN114065682A
Importance sampling method for multiple failure regions
US20180074124A1