A method for processing the worst performance of an integrated circuit
By using a modified normal distribution CDF and building a global local linear model, combining importance sampling and local search, the computational cost and accuracy control problems in the worst performance processing of integrated circuits are solved, and efficient worst performance point estimation and circuit performance prediction are achieved.
Patent Information
- Application Number
- CN202510198642.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-24
- Publication Date
- 2025-06-13
- Estimated Expiration
- 2045-02-24
AI Technical Summary
When the prior art deals with the worst performance of integrated circuits, it is difficult to take into account both computational cost and accuracy control, especially in the high-dimensional process deviation space. Traditional methods are difficult to effectively capture the nonlinear relationship between circuit performance and failure efficiency, resulting in large estimation errors.
The corrected normal distribution cumulative distribution function (CDF) is used to describe the nonlinear relationship between failure efficiency and circuit performance, and a global linear model and local linear model are constructed as constraints. Through the idea of importance sampling and local search, the sampling efficiency and model fitting effect are improved.
It effectively balances the estimation accuracy and computing efficiency, improves the estimation accuracy of the worst performance points and the reliability of circuit performance prediction, and reduces the calculation cost and iterations.
Smart Images

Figure CN119670661B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of integrated circuits, and particularly to a method for processing the worst performance of an integrated circuit. Background Art
[0002] As the integrated circuit process nodes continue to enter the nanoscale, the impact of manufacturing process variations on circuit performance and reliability becomes increasingly significant. Process variations refer to the parameter changes and inconsistencies of components caused by factors such as material properties, equipment accuracy, and environmental conditions during large-scale production. Such variations may cause a circuit design that performs well under laboratory conditions to fail to achieve the expected effect in actual applications, affecting the quality and competitiveness of products. To address this challenge, worst-case analysis techniques have been introduced in integrated circuit design. By predicting the potential impact of process variations on circuit functionality, circuits that are more robust to process changes are designed to ensure consistent high-performance in mass production and long-term use.
[0003] Traditional worst-case analysis mainly uses the Monte Carlo method, which searches for the worst performance points of a circuit design through a large number of samplings and simulations. However, with the continuous increase in the scale and complexity of integrated circuits, this method faces the problem of a sharp increase in computational cost and time cost. To improve efficiency, researchers have proposed new methods such as importance sampling and probabilistic distribution analytical modeling. However, when dealing with high-dimensional process variation spaces, these techniques still have difficulty balancing computational cost and accuracy control. In addition, although the response surface model can accelerate the analysis in some cases, simple linear or low-order models often fail to capture the key performance changes in nanoscale circuits, while using high-order non-linear models is prone to falling into local optima during the solution process.
[0004] For example, related patent CN119203917B discloses a method and device for processing the worst performance of an integrated circuit, an electronic device, and a medium, which are applied to the fields of integrated circuit design and reliability assessment technology. By further narrowing the sampling range based on the principle of importance sampling near the initially obtained failure boundary, and determining the circuit performance prediction value at the 6-sigma position of the circuit performance normal distribution. Then, the prediction value is combined with the linear model of the circuit performance to form an optimization problem, and the process variation vector close to the real situation is obtained by solving. Finally, based on the process variation vector close to the real situation, the real circuit performance value at the 6-sigma position is obtained through circuit simulation. The boundary value of the circuit performance space is quickly and accurately solved at a limited number of simulation points to obtain the worst performance close to the real situation. However, when determining the circuit performance prediction value at the 6-sigma position, this solution only considers the case where the circuit performance follows a normal distribution. However, in actual integrated circuits, there is often a complex non-linear relationship between circuit performance and failure rate, especially when approaching the failure boundary, this non-linearity is more significant. Summary of the Invention
[0005] In view of the problem in the prior art that the nonlinear relationship between the failure rate and the circuit performance is ignored, resulting in large estimation errors, this application provides a method for processing the worst performance of an integrated circuit. The nonlinear relationship between the failure rate and the circuit performance is described by a modified normal distribution cumulative distribution function CDF, and a global linear model and a local linear model are respectively constructed as constraint conditions, effectively balancing the estimation accuracy and the calculation efficiency.
[0006] The purpose of this application is achieved through the following technical solutions.
[0007] This application provides a method for processing the worst performance of an integrated circuit, including: S1, obtaining the process parameters and device parameters of the integrated circuit, and constructing a data set D; S2, calculating the weight of each sampling point in the data set D, and calculating the failure rate corresponding to the circuit performance simulation result of the sampling point ; S3, according to and , constructing a circuit performance vector y and a failure rate vector ρ, sorting the elements in y from smallest to largest, and obtaining the sorted circuit performance vector . In the actual circuit design and manufacturing process, due to process fluctuations and parameter changes, the distribution of circuit performance values may be uneven. Some performance values may be relatively concentrated, while other performance values may be relatively sparse. If the unsorted circuit performance vector y is directly used for subsequent modeling and prediction, it may lead to low accuracy in the sparse region of performance values and high accuracy in the dense region of performance values, thus affecting the overall modeling effect. In addition, in circuit performance analysis, we usually pay more attention to those extreme cases that are close to or exceed the performance threshold, because these cases may cause circuit failure or performance degradation. If the circuit performance vector is not sorted, the extreme values may be scattered at different positions in the vector, making it difficult to quickly identify and locate. After sorting, the distribution of circuit performance values becomes more uniform, and the performance values in both the sparse region and the dense region are reasonably represented. This helps to maintain a high accuracy in the subsequent modeling and prediction across the entire performance range.
[0008]
[0009] S4, determining the failure boundary according to the optimal worst performance point x* obtained from the previous step of iteration, and resampling within the range determined by the failure boundary to obtain a sampling matrix X.
[0010] S5, performing a logarithmic transformation on the target variable in X to obtain the transformed sampling matrix ; performing a logarithmic transformation on the target variable in the sampling matrix X to obtain the transformed sampling matrix The introduction of this non - linear transformation overcomes the limitations of directly using linear models in traditional methods. In the actual integrated circuit design and manufacturing process, there are often complex non - linear relationships between circuit performance and key parameters. Linear models are difficult to accurately describe such relationships, resulting in large deviations in the estimation of the worst - case performance points. By performing a non - linear transformation on the target variable, this application can transform the non - linear relationship into an approximately linear relationship, making subsequent linear modeling more accurate and effective.
[0011] S6. According to and ρ, calculate the failure rate at using the Gaussian function and the corresponding circuit performance prediction value ; S7. Taking as the independent variable and y as the dependent variable, within the local region of the failure boundary, use the weighted least - squares regression method to construct a local linear model ; S8. Taking as the independent variable and y as the dependent variable, use the orthogonal basis pursuit algorithm with cross - validation to construct a global linear model ; S9. Taking the circuit performance prediction value as the target, when the worst - case performance point x is within the local region of the failure boundary, use as the constraint condition; otherwise use as the constraint condition, and solve to obtain the optimal worst - case performance point x*; respectively construct the local linear model for the local region of the failure boundary and the global linear model for the global region. In the processing of the worst - case performance of integrated circuits, it is necessary to search for the worst - case performance point in the high - dimensional parameter space and estimate the corresponding failure rate and circuit performance prediction value.
[0012] Existing technologies usually adopt global sampling methods such as the Monte Carlo method or grid search. However, these methods have low computational efficiency in high - dimensional spaces and are difficult to meet the requirements of practical applications. This application introduces the ideas of importance sampling and local search in data sampling and failure boundary determination. By constructing a weight vector considering global distribution and local characteristics, important samples near the failure boundary are highlighted, improving the sampling efficiency. When determining the failure boundary, according to the relationship between the worst - case performance point and the preset threshold, the local search region is adaptively adjusted to avoid blind search in the entire parameter space and accelerate the convergence speed. In practical applications, combining importance sampling and local search can significantly reduce the required sample size and the number of calculations.
[0013] S10. Update the dataset D using x*; add the obtained optimal and worst performance point x* to the dataset D, and repeat the iteration in step S11 until the preset convergence condition is met. In the traditional worst performance point search method, a large number of random sample points need to be regenerated in each iteration, resulting in high computational costs and low iteration efficiency. By adding the obtained worst performance point to the dataset, the present application can continuously enrich and optimize the dataset during the iteration process, enabling subsequent iterations to be based on a more high-quality and information-rich dataset. This dynamic update mechanism of the dataset effectively overcomes the low iteration efficiency problem of the traditional method and accelerates the convergence speed of the algorithm.
[0014] S11. Repeat the above iteration until the preset convergence condition is met.
[0015] Further, the process parameters include process angle, channel length, and gate oxide thickness; the device parameters include threshold voltage, saturation current, and subthreshold slope.
[0016] Further, the failure rate represents the probability that the circuit performance simulation result exceeds the preset performance threshold.
[0017] Further, the weight is calculated by the formula: , where represents the probability density of the sampling point under the original distribution, represents the probability density of the sampling point under the distribution near the failure boundary, and n is the total number of sampling points in the dataset D. The calculation of the weight considers the ratio of the probability densities of the sampling point under the original distribution and the distribution near the failure boundary, as well as whether the simulation result fails. This weight calculation method can take into account the global distribution and local characteristics and highlight the important samples near the failure boundary.
[0018] Further, the failure rate is calculated by the formula: , where represents the preset performance threshold, CDF represents the cumulative distribution function of the modified normal distribution, and respectively represent the mean and standard deviation of the circuit performance simulation result of the sampling point , and are two newly introduced parameters used to describe the non-normal characteristics of the distribution. denotes the skewness parameter, representing the degree of asymmetry of the distribution. When is the case, the distribution exhibits a right-skewed characteristic; when is the case, the distribution exhibits a left-skewed characteristic; when is the case, the distribution degenerates into a standard normal distribution. denotes the kurtosis parameter, representing the tail weight or extreme value characteristic of the distribution. When is the case, the distribution exhibits a heavy-tailed characteristic, and the probability of extreme value events occurring is relatively high; when is the case, the distribution exhibits a light-tailed characteristic, and the probability of extreme value events occurring is relatively low; when is the case, the distribution degenerates into a standard normal distribution.
[0019] In the prior art, the circuit performance simulation results of the sampling points follow a normal distribution. However, in actual situations, due to process fluctuations, device parameter variations, and the complexity of the circuit structure, the distribution may deviate from the normal distribution, exhibiting non-normal characteristics such as skewness, peakedness, or heavy tails. At this time, using the cumulative distribution function of the normal distribution to calculate the failure rate may lead to estimation errors.
[0020] Furthermore, the calculation formula for the cumulative distribution function CDF of the modified normal distribution is: , where Φ represents the cumulative distribution function of the standard normal distribution.
[0021] The skewness parameter and the kurtosis parameter can be estimated by performing multiple simulations on the sampling points and using methods such as moment estimation or maximum likelihood estimation, based on the sample statistics of the simulation results. The estimation steps are as follows: Perform n circuit performance simulations on the sampling points to obtain n simulation results . Calculate the sample mean , sample standard deviation , sample skewness and sample kurtosis of the simulation results. Use the sample statistics as the estimated values of the modified normal distribution parameters, that is, , , , By introducing the skewness parameter and the kurtosis parameter , the modified normal distribution can better describe the non-normal characteristics of the distribution and improve the accuracy of failure rate estimation.
[0022] Furthermore, in S5, perform a logarithmic transformation on the target variable in X to obtain the transformed sampling matrix , including:[[]] , where represents the j-th feature of the i-th sample in the sampling matrix X, n is the number of samples, and m is the number of features. The logarithmic transformation can transform the distribution of features from non-linear to approximately linear, which helps to improve the fitting effect and prediction accuracy of the model. By performing a logarithmic transformation on the sampling matrix, the feature distribution is transformed from non-linear to approximately linear, and the orthogonal matching pursuit algorithm is used to construct a sparse global linear model. This method can effectively reduce the complexity of global modeling and improve the generalization ability of the model. Sparse representation can not only reduce the risk of overfitting, but also has better interpretability.
[0023] Furthermore, in S6, according to and ρ, calculate the failure rate at corresponding to the predicted value of the circuit performance, including:[[]] , ; where and respectively represent the mean and standard deviation of the failure rate vector ρ, and respectively represent the mean and standard deviation of the sorted circuit performance vector .
[0024] The relationship between the traditional Gaussian function failure rate and the circuit performance satisfies the normal distribution. However, in fact, due to process fluctuations, device parameter variations, and the complexity of the circuit structure, the relationship between the failure rate and the circuit performance may deviate from the normal distribution, showing non-normal characteristics such as skewness, peak, or heavy tails. At this time, using the Gaussian function to describe their relationship may lead to estimation errors.
[0025] Furthermore, in S7, with as the independent variable and y as the dependent variable, within the local region of the failure boundary, use the weighted least squares regression method to construct a local linear model , including:[[]] , , where represents the feature vector obtained after transforming the sampling point x. Perform a logarithmic transformation on the target variable in the sampling matrix X to obtain the transformed sampling matrix , where . represents the weight vector of the local linear model, which is an m-dimensional column vector, where m is the number of transformed features. Each element of represents the bias term of the local linear model, which is a scalar used to adjust the intercept of the model. represents the transformed sampling matrix within the local region of the failure boundary, which is a matrix, where is the number of samples within the local region, and m is the number of transformed features. Each row of corresponds to the transformed feature vector of a sample within the local region. represents the weight matrix of the samples within the local region, which is a diagonal matrix. The diagonal elements of are the weights of the corresponding samples represents the circuit performance vector of the samples within the local region, which is a -dimensional column vector. Each element of is the weight of the corresponding sample , and the off-diagonal elements are 0. The weighted least squares regression can highlight the important samples near the failure boundary by assigning different weights to different samples, thereby improving the fitting effect of the local linear model. The diagonal elements of the weight matrix
[0026] Further, in S8, using as the independent variable and y as the dependent variable, a global linear model is constructed using the orthogonal basis pursuit algorithm with cross-validation, including: , , where represents the weight vector of the global linear model, which is an m-dimensional column vector, where m is the number of transformed features. Each element of represents the bias term of the global linear model, which is a scalar used to adjust the intercept of the model. represents the complete transformed sampling matrix, which is an n × m matrix, where n is the total number of samples and m is the number of transformed features. Each row corresponds to the transformed feature vector of a sample. y represents the circuit performance vector of the complete sample, which is an n-dimensional column vector. Each element of y represents the circuit performance simulation result of the corresponding sample. denotes the regularization parameter, which is a non-negative real number and is used to control the sparsity of the global linear model. A larger will result in a sparser weight vector , and a smaller will result in a denser weight vector . denotes the number of iterations of the orthogonal matching pursuit algorithm, which is a positive integer. determines the number of features selected by the algorithm when constructing the global linear model. OMP(*) represents the orthogonal matching pursuit algorithm, which is used to solve the linear regression problem with L0-norm regularization.
[0027] OMP represents the Orthogonal Matching Pursuit algorithm, which is a greedy algorithm for sparse representation and is used to solve the linear regression problem with L0-norm regularization: , where denotes the square of the L2-norm of the fitting residual of the global linear model, denotes the L0-norm regularization term, which is used to control the sparsity of the model. By introducing the L0-norm regularization, the orthogonal matching pursuit algorithm can obtain a sparse global linear model, select the most relevant features, and improve the generalization ability and interpretability of the model.
[0028] Compared with the prior art, the advantages of the present application are as follows:
[0029] In traditional failure rate estimation methods, usually the circuit performance simulation results follow a normal distribution. This is due to the central limit theorem, that is, the sum of independent and identically distributed random variables tends to a normal distribution. However, in the actual integrated circuit design and manufacturing process, due to process fluctuations, device parameter variations, and the complexity of the circuit structure, the distribution often exhibits non-normal characteristics such as skewness, peaks, or heavy tails. At this time, blindly using the cumulative distribution function of the normal distribution to calculate the failure rate may lead to a large deviation between the estimated result and the actual situation, affecting the reliability of the worst performance point search.
[0030] In this application, a more generalized probability distribution model is constructed by introducing the skewness parameter α and the kurtosis parameter β. The modified CDF is formally similar to the Edgeworth series expansion, which modifies the normal distribution through higher-order moments (skewness and kurtosis) and can better approximate non-normal distributions. When α = 0 and β = 0, the modified CDF degenerates into the standard normal distribution, so it has good compatibility. By adjusting the values of α and β, the modified CDF can approximate various non-normal distributions, such as skewed normal distribution, Laplace distribution, t-distribution, etc., and has stronger adaptability and flexibility.
[0031] (2) In the traditional Gaussian function, the failure rate and circuit performance satisfy the normal distribution. In this application, in the modified Gaussian function, the skewness parameter is introduced into the denominator of the exponential term, and the term is used to characterize the asymmetry of the relationship between the failure rate and circuit performance. The kurtosis parameter is introduced into the denominator of the exponential term, and the term is used to characterize the tail characteristics of the relationship between the failure rate and circuit performance. Different from the traditional inverse probability function, this application also considers the influence of the skewness parameter and the kurtosis parameter . By substituting and into the inverse probability function, the modified calculation formula can dynamically adjust the circuit performance prediction value according to the asymmetry and tail characteristics of the relationship between the failure rate and circuit performance, improving the accuracy and reliability of the prediction.
[0032] (3) Different from the traditional global fitting method, the local linear model focuses on the key area near the failure boundary. By means of weighted least squares regression, higher weights are given to the sample points near the failure boundary, so that the fitting result has higher accuracy in the key area. This local modeling method can better capture the non-linear relationship between circuit performance and key parameters near the failure boundary and improve the fitting ability of the model in the key area.
[0033] Different from the local linear model, the global linear model attempts to establish a linear relationship between circuit performance and key parameters in the entire parameter space. By adopting cross-validation and orthogonal basis pursuit algorithms, the global linear model can extract the main change direction of key parameters while avoiding overfitting, enhancing the generalization ability and robustness of the model. Although the fitting accuracy of the global linear model near the failure boundary may not be as good as that of the local linear model, it can provide a global trend estimate, which is of great significance for guiding circuit design and optimization. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] This application will be further described by way of exemplary embodiments, which will be described in detail with reference to the accompanying drawings. These embodiments are not restrictive, and in these embodiments, the same numbers represent the same structures, where:
[0035] Figure 1 is an exemplary flowchart of a method for processing the worst performance of an integrated circuit according to some embodiments of the present application. Detailed implementation manners
[0036] The methods and systems provided by the embodiments of the present application will be described in detail below with reference to the accompanying drawings.
[0037] As Figure 1 shown, obtain the process parameters and device parameters of the integrated circuit, and construct the data set D; calculate the weight of each sampling point in the data set D, and calculate the failure rate corresponding to the circuit performance simulation result of the sampling point ; according to and , construct the circuit performance vector y and the failure rate vector ρ, sort the elements in y from smallest to largest, and obtain the sorted circuit performance vector ; determine the failure boundary according to the optimal worst performance point x* obtained from the previous iteration, resample within the range determined by the failure boundary to obtain the sampling matrix X; perform a logarithmic transformation on the target variables in X to obtain the transformed sampling matrix ; according to and ρ, use the Gaussian function to calculate the circuit performance prediction value corresponding to the failure rate at ; use as the independent variable and y as the dependent variable, and use the weighted least squares regression method to construct a local linear model in the local area of the failure boundary; use as the independent variable and y as the dependent variable, and use the cross-validation orthogonal basis pursuit algorithm to construct a global linear model ; construct an optimization problem with the circuit performance prediction value as the target. When the worst performance point x is within the local area of the failure boundary, use as the constraint condition; otherwise use as the constraint condition, solve the optimization problem to obtain the optimal worst performance point x*; update the data set D with x*; repeat the above iteration until the preset convergence condition is met.
[0038] Specifically, in S1, process parameters and device parameters of an integrated circuit are obtained to construct a data set D; the process parameters include process corners: representing typical conditions of the integrated circuit manufacturing process, such as typical process corner (TT), fast process corner (FF), slow process corner (SS), etc. Different process corners correspond to different device parameters and circuit performances. Channel length: representing the physical length of the transistor channel, which is one of the key geometric parameters affecting transistor performance. Gate oxide thickness: representing the thickness of the insulating layer between the transistor gate and the channel, affecting characteristics such as the threshold voltage and leakage current of the transistor. The device parameters include threshold voltage: representing the minimum gate voltage required for the transistor to turn on, affecting the noise margin and power consumption of the circuit. Saturation current: representing the drain current of the transistor in the saturation region, affecting the driving ability and speed performance of the circuit. Subthreshold slope: representing the sensitivity of the drain current in the subthreshold region of the transistor to changes in the gate voltage, affecting the low-power characteristics of the circuit.
[0039] By sampling these process parameters and device parameters, a series of sampling points can be obtained , and each sampling point represents a specific parameter combination. The sampling points and their corresponding circuit performance simulation results are combined to form the data set D, providing data support for subsequent modeling and optimization. The construction of the data set D can be achieved in the following way: Determine the distribution types (such as normal distribution, uniform distribution, etc.) and distribution parameters (such as mean, standard deviation, upper and lower bounds, etc.) of each parameter. Use methods such as the Monte Carlo method or Latin hypercube sampling to randomly sample from the distributions of each parameter to generate a series of sampling points . For each sampling point , use circuit simulation tools such as SPICE to perform circuit performance simulation to obtain the corresponding simulation results . The sampling points and their corresponding simulation results are combined to form data pairs , and the data set D is constructed.
[0040] In S2, calculate the weight of each sampling point in the data set D, and calculate the failure rate corresponding to the circuit performance simulation result of the sampling point ; the failure rate represents the probability that the circuit performance simulation result exceeds the preset performance threshold;
[0041] First, it is necessary to calculate the weight of each sampling point . The calculation of the weight takes into account the sampling point The ratio of the probability density under the original distribution and the distribution near the failure boundary, as well as the simulation results Whether it fails. The specific calculation formula is as follows: , where represents the sampling point The probability density under the original distribution represents the sampling point The probability density under the distribution near the failure boundary, and n is the total number of sampling points in the dataset D. This weight calculation method can take into account the global distribution and local features, highlighting the important samples near the failure boundary.
[0042] Weight The calculation of can be achieved through the following steps: According to the parameter distribution type and distribution parameters determined in S1, calculate the probability density of each sampling point under the original distribution . According to the circuit performance simulation results , estimate the position of the failure boundary. Classification algorithms such as support vector machine (SVM) and decision tree can be used to divide the sampling point into failure points and non-failure points, thereby determining the failure boundary. For the sampling points near the failure boundary , calculate its probability density under the distribution near the failure boundary . Methods such as kernel density estimation (KDE) can be used to estimate according to the distribution of failure points . Calculate the weight of each sampling point according to the formula , and perform normalization to ensure that the sum of weights is 1.
[0043] Next, it is necessary to calculate the failure ratecorresponding to the circuit performance simulation result of each sampling point . The failure rate represents the probability that the circuit performance simulation result exceeds the preset performance threshold y_th. Considering that The distribution of may exhibit non-normal characteristics such as skewness, peak or heavy tail, and in this embodiment, the cumulative distribution function CDF of the modified normal distribution is used to calculate the failure rate . The calculation formula of the failure rate is as follows: , where CDF represents the cumulative distribution function of the modified normal distribution, and respectively represent the mean and standard deviation of the circuit performance simulation result of the sampling point xi and , and are two newly introduced parameters used to describe Non - normal characteristics of the distribution The skewness parameter, which represents The degree of asymmetry of the distribution. When ......, The distribution exhibits a right - skewed characteristic; when ......, The distribution exhibits a left - skewed characteristic; when ......, The distribution degenerates into a standard normal distribution The kurtosis parameter, which represents The tail weight or extreme - value characteristics of the distribution. When ......, The distribution exhibits a heavy - tail characteristic, and the probability of extreme - value events is relatively high; when ......, The distribution exhibits a light - tail characteristic, and the probability of extreme - value events is relatively low; when ......, The distribution degenerates into a standard normal distribution
[0044] The calculation formula for the cumulative distribution function CDF of the modified normal distribution is: , where Φ represents the cumulative distribution function of the standard normal distribution. The skewness parameter and the kurtosis parameter can be estimated through the following steps: For the sampling points , perform n circuit - performance simulations to obtain n simulation results . Calculate the sample mean , the sample standard deviation , the sample skewness and the sample kurtosis . Use the sample statistics as the estimated values of the parameters of the modified normal distribution, that is , , , . By introducing the skewness parameter and the kurtosis parameter , the modified normal distribution can better describe the non - normal characteristics of the distribution and improve the accuracy of the failure - rate estimation
[0045] S3. According to and , construct the circuit - performance vector y and the failure - rate vector ρ, sort the elements in y from smallest to largest to obtain the sorted circuit - performance vector Specifically, the circuit performance vector y is composed of the circuit performance simulation results of all sampling points xi in the dataset D. There are n sampling points in the dataset D, then the circuit performance vector y can be expressed as: , where represents the circuit performance simulation result of the sampling point . In actual implementation, data structures such as list and array can be used to store the circuit performance vector y.
[0046] The failure rate vector ρ is composed of the failure rates of all sampling points in the dataset D. There are n sampling points in the dataset D, then the failure rate vector ρ can be expressed as: , where represents the circuit performance simulation result of the sampling point , and is the corresponding failure rate. In actual implementation, data structures such as list and array can be used to store the failure rate vector ρ.
[0047] Sort the elements in the circuit performance vector y in ascending order to obtain the sorted circuit performance vector . After sorting, the elements in satisfy the following relationship: . Various sorting algorithms such as quicksort, mergesort, and heapsort can be used to sort the circuit performance vector y. When sorting the circuit performance vector y, the relative positions of the elements in the failure rate vector ρ should be kept unchanged. That is, after sorting the circuit performance vector y, the order of the elements in the failure rate vector ρ should also be adjusted accordingly, so that always corresponds to
[0048] S4. Determine the failure boundary according to the optimal worst performance point x* obtained in the previous iteration. Specifically, in this embodiment, compare the circuit performance value y of the optimal worst performance point x with the preset circuit performance threshold . By comparing y and , it can be judged whether the worst performance point x is on the failure boundary. If , it is considered that the worst performance point x* is on the failure boundary. If , it is considered that the worst performance point x* has not reached the failure boundary. According to the relationship between the worst performance point x* and the preset threshold , one of the following two methods can be used to determine the area near the failure boundary:
[0049] (1) When When the worst performance point \(x\) lies on the failure boundary, a local region is selected near it with \(x\) as the center as the region near the failure boundary. The size of the local region can be adaptively adjusted according to factors such as the distance between \(x^*\) and other sampling points, the distribution density of the sampling points, etc. Calculate the Euclidean distance or Mahalanobis distance between \(x^*\) and other sampling points. According to the distance magnitude, select the \(k\) sampling points closest to \(x\) to form the \(k\)-nearest neighbors of \(x\). With \(x\) as the center and the distance from the point with the largest distance among the \(k\)-nearest neighbors to \(x\) as the radius, determine a spherical or ellipsoidal local region.
[0050] (2) When the worst performance point \(x^*\) has not reached the failure boundary yet. In this case, the region near the failure boundary can be determined by one of the following two methods:
[0051] 1) In the current sampling matrix \(X\), select the sampling point whose circuit performance value is closest to the preset threshold , and regard it as the point on the failure boundary. With as the center, select a local region near it as the region near the failure boundary. Calculate the difference between the circuit performance value of each sampling point in the sampling matrix \(X\) and the preset threshold . Select the sampling point with the smallest difference and regard it as the point on the failure boundary. With as the center, use a method similar to that in method (1) to determine a local region as the region near the failure boundary.
[0052] 2) Interpolate between the worst performance point \(x^*\) and the sampling point with the largest circuit performance value to obtain a series of interpolation points. Conduct circuit performance simulations on these interpolation points and find the first interpolation point whose circuit performance value is greater than or equal to the preset threshold , and regard it as the point on the failure boundary. With this point as the center, select a local region near it as the region near the failure boundary. In the sampling matrix \(X\), find the sampling point with the largest circuit performance value. Conduct linear or non-linear interpolation between \(x\) and to generate a series of interpolation points. The number of interpolation points can be determined according to factors such as the distance between \(x\) and , the required accuracy, etc. Conduct circuit performance simulations on each interpolation point to obtain its circuit performance value. Find the first interpolation point whose circuit performance value is greater than or equal to the preset threshold , and regard it as the point on the failure boundary. With this point as the center, use a method similar to that in method (1) to determine a local region as the region near the failure boundary.
[0053] After determining the area near the failure boundary, resampling needs to be performed within this area to obtain more sampling points and improve the accuracy of subsequent modeling and optimization. Specifically, according to the range of the area near the failure boundary, the resampling boundary is determined. Within the resampling boundary, methods such as the Monte Carlo method, Latin hypercube sampling, and orthogonal array sampling are used to generate new sampling points. Circuit performance simulation is performed on the newly generated sampling points to obtain their circuit performance values. The new sampling points and their circuit performance values are added to the original dataset D to form an updated sampling matrix X.
[0054] S5. Perform a logarithmic transformation on the target variable in X to obtain the transformed sampling matrix ; , where represents the j-th feature of the i-th sample in the sampling matrix X, n is the number of samples, and m is the number of features. When performing the logarithmic transformation, the following special cases need to be noted: when is 0, the result of the logarithmic function is negative infinity. To avoid this situation, a small constant ε can be added to , that is . The value of the constant ε can be adjusted according to the range and accuracy requirements of the data. Usually, a small value close to 0 is taken, such as 1e-8. The logarithmic transformation can transform the distribution of features from non-linear to approximately linear, which helps to improve the fitting effect and prediction accuracy of the model.
[0055] S6. According to the sorted circuit performance vector and the failure rate vector ρ, use the Gaussian function to calculate the failure rate corresponding to the circuit performance prediction value at 6σ, , , where and respectively represent the mean and standard deviation of the failure rate vector ρ, and respectively represent the mean and standard deviation of the sorted circuit performance vector .
[0056] In the traditional case, the relationship between the Gaussian function failure rate and circuit performance follows a normal distribution. However, in reality, due to process fluctuations, device parameter variations, and the complexity of the circuit structure, the relationship between the failure rate and circuit performance may deviate from the normal distribution, showing non-normal characteristics such as skewness, peaks, or heavy tails. At this time, using the Gaussian function to describe their relationship may lead to estimation errors. In this application, Denoted as the skewness parameter, it characterizes the asymmetry of the distribution. When holds, the distribution shows a right-skewed shape; when holds, the distribution shows a left-skewed shape; when holds, the distribution degenerates into a symmetric distribution. Denoted as the kurtosis parameter, it characterizes the tail weight of the distribution. When holds, the distribution shows heavy-tailed characteristics and the probability of extreme events occurring is relatively high; when holds, the distribution shows light-tailed characteristics and the probability of extreme events occurring is relatively low; when holds, the distribution degenerates into a normal distribution. The modified Gaussian function introduces the skewness parameter and the kurtosis parameter in the exponential part, and captures the asymmetry and tail characteristics of the distribution through the third and fourth moments, enabling it to better fit non-normal distributions.
[0057] Correspondingly, the inverse function of the standard normal distribution also needs to be corrected according to the skewness parameter and the kurtosis parameter to reflect the correspondence between the quantiles and the failure rate under non-normal distributions. The corrected inverse function can be solved by numerical integration or approximation algorithms. This embodiment adopts an approximate solution method based on binary search and Simpson integration: Set the initial search interval [a, b], where a and b are the lower and upper limits of the standard normal distribution respectively (such as a = -5, b = 5). Calculate the midpoint m of the interval = (a + b) / 2, and calculate using the Simpson integration formula, where X is the random variable of the modified standard normal distribution. Compare with the target probability p (i.e., ): If , then narrow the search interval to [a, m]; if , then narrow the search interval to [m, b]. Repeat until the interval length is less than the preset precision threshold (such as 1e-6), and take the midpoint of the interval as the approximate value of .
[0058] By introducing the skewness parameter and the kurtosis parameter , the modified Gaussian function can more flexibly and accurately describe the non-linear and non-normal relationship between the failure rate and the circuit performance, improve the estimation quality of the predicted value of the circuit performance at 6σ, and provide a more reliable target for the optimization of the worst performance point. At the same time, the skewness parameter and the kurtosis parameter Its value can be set according to historical data or expert experience, or learned from sample data through data fitting or parameter estimation methods to adapt to the specific distribution characteristics of different circuit designs.
[0059] S7, with as the independent variable and y as the dependent variable, a local linear model is constructed within the local region of the failure boundary in the form of: , where is the weight vector of the local linear model, is the bias term of the local linear model. According to the local region near the failure boundary determined in step S4, samples falling within this region are selected to form a sample set within the local region. Suppose there are a total of samples within the local region, and the corresponding transformed feature matrix is , and the circuit performance vector is . is a matrix, where m is the number of transformed features. Each row of corresponds to the transformed feature vector of a sample within the local region is a dimensional column vector, and each of its elements represents the circuit performance simulation result of the corresponding sample.
[0060] According to the aforementioned weight calculation formula, calculate the weight of each sample within the local region: , where represents the probability density of sample under the original distribution, represents the probability density of sample under the distribution near the failure boundary, is the number of samples within the local region. Construct a sample weight matrix , which is a diagonal matrix. The diagonal elements of are the weights of the corresponding samples, and the non - diagonal elements are 0. Using the weighted least - squares regression method, estimate the weight vector and bias term of the local linear model: , where, mean(*) represents taking the mean of the vector. In actual implementation, the weighted least - squares regression function provided by a numerical optimization library or machine learning framework can be used to directly solve and .
[0061] Using the estimated weight vector and the bias term , construct a local linear model : . For any sample x within the local region, transform it into a feature vector , and substitute it into the local linear model , then the predicted value of the circuit performance of this sample can be obtained. During the iterative optimization process, if the local region changes (such as the update of the failure boundary position), it is necessary to reselect the samples within the local region, update the sample weight matrix , and re-estimate the parameters of the local linear model and . The local linear model can capture the local features near the failure boundary. By assigning different weights to different samples, it highlights the important samples near the failure boundary and improves the fitting effect of the model.
[0062] S8, taking as the independent variable and y as the dependent variable, construct a global linear model using the orthogonal basis pursuit algorithm with cross-validation: The global linear model is in the form of: , where is the weight vector of the global linear model, is the bias term of the global linear model. Combine the transformed feature vectors of all samples to form a complete sampling matrix Φ, and combine the corresponding circuit performance values to form a circuit performance vector y. Φ is an n×m matrix, where n is the total number of samples and m is the number of transformed features. Each row of Φ corresponds to the transformed feature vector of a sample. y is an n-dimensional column vector, and each of its elements represents the circuit performance simulation result of the corresponding sample. Set the regularization parameter and the number of iterations . Controls the sparsity of the global linear model. A larger will result in a sparser weight vector , and a smaller will result in a denser weight vector . Determines the number of features selected by the orthogonal matching pursuit algorithm when constructing the global linear model. Randomly divide the complete training data set into K mutually exclusive subsets, and each subset has a similar size.
[0063] For each cross-validation: Select K - 1 of these subsets as the training set, and the remaining 1 subset as the validation set. Execute the orthogonal matching pursuit algorithm on the training set to obtain the weight vector and the bias term . Evaluate the performance of the current model on the validation set and calculate the mean squared error (MSE) or other performance metrics. Repeat the above steps K times, each time selecting a different subset as the validation set to obtain K models and their corresponding performance metrics. Select the model with the best performance among the K models as the final global linear model and determine the optimal weight vector and the bias term .
[0064] The execution process of the orthogonal matching pursuit algorithm is as follows: Input: Sampling matrix Φ, circuit performance vector y, regularization parameter λg, number of iterations , Output: Sparse weight vector . Initialization: Residual vector r = y, weight vector , active set ; Calculate the correlation coefficient between the residual r and each column in the sampling matrix Φ, and select the column index with the largest absolute value , add to the active set A. On the columns corresponding to the active set A, calculate the weight vector by the least squares method, update the residual vector . If the stopping condition is satisfied (such as the L2 norm of the residual is less than the threshold or the maximum number of iterations is reached), then exit the loop, assign the elements corresponding to the active set A in to the corresponding positions of , and set the remaining positions to 0, and output the sparse weight vector .
[0065] Using the optimal weight vector and the bias term , construct the global linear model: . For any sample x, transform it into a feature vector , substitute it into the global linear model , and the predicted value of the circuit performance of this sample can be obtained. During the iterative optimization process, when the sampling matrix X changes (such as adding samples or removing samples), it is necessary to re - execute the orthogonal matching pursuit algorithm to update the weight vector and the bias term of the global linear model. The global linear model can capture the global trend of the entire parameter space, control the sparsity of the model through L0 - norm regularization, select the most relevant features, and improve the generalization ability and interpretability of the model.
[0066] S9, with the predicted value of circuit performance Taking [the value] as the target, based on the worst performance point x obtained in the current iteration, determine whether it is located within the local region of the failure boundary. It is possible to determine the position of x by calculating the distance between x and the center point of the local region, or by checking whether x satisfies the boundary conditions of the local region. If the worst performance point x is located within the local region of the failure boundary, then use the local linear model as the constraint condition; otherwise, use the global linear model as the constraint condition.
[0067] Taking the predicted value of the circuit performance as the target, with the selected constraint condition as the constraint, construct an optimization problem: Minimize: ; Constraint condition: When located in the local region, adopt , otherwise adopt , satisfy , where and are respectively the lower bound and the upper bound of the design parameter x. Using an optimization algorithm, such as sequential quadratic programming (SQP), interior point method, etc., solve the above optimization problem to obtain the optimal worst performance point x*. The optimization algorithm finds the design parameter x* that minimizes the objective function y6σ through iterative search while satisfying the constraint conditions.
[0068] S10, update the dataset D using x*; Take x as the new sample point and add it to the existing dataset D to expand the scale and diversity of the dataset. According to the newly added sample point x*, update the statistics of the dataset D, such as the mean, variance, covariance matrix, etc. After adding the new sample point x, evaluate the quality of the dataset D, such as the distribution of sample points, coverage rate, etc. If the quality of the dataset D does not meet the requirements, it is possible to consider further optimizing the data sampling strategy, such as generating more sample points near x, or removing some redundant or abnormal sample points.
[0069] S11, repeat the above iteration until the preset convergence condition is met. Preset some convergence conditions, such as the number of iterations reaching the upper limit, the change amount of the worst performance point x* being less than the threshold, the change amount of the predicted value of the circuit performance being less than the threshold, etc. After each iteration ends, check whether the current solution meets the preset convergence condition. If the convergence condition is met, terminate the iteration and output the final optimal solution x*; otherwise, continue with the next round of iteration. Before entering the next round of iteration, update some iteration parameters, such as the learning rate, regularization coefficient, etc., to adapt to the convergence state of the algorithm. A reasonable parameter update strategy can accelerate the convergence speed of the algorithm and improve the optimization efficiency.
[0070] Example 2
[0071] Perform worst-case performance analysis and optimization on a high-speed analog front-end (AFE) chip built in 28nm CMOS technology and containing a differential amplifier, an ADC, and an equalizer.
[0072] The process parameters and device parameters of the integrated circuit are obtained to construct the data set D. The process parameters include process angle (SS, TT, FF), channel length (L=28nm±10%), gate oxide thickness (Tox=1.5nm±5%); device parameters include threshold voltage (Vth=0.4V±20mV), saturation current (Isat=500μA±10%), and subthreshold slope (SS=80mV / dec±10%). The LatinHypercube Sampling (LHS) method is used to generate 1000 random samples within the above parameter range to form the initial data set D.
[0073] Calculate each sampling point in the data set D Weight , and calculate the sampling points Circuit performance simulation results The corresponding failure rate . Calculate each sampling point according to the above formula Weight :The original distribution and the distribution near the failure boundary both obey normal distribution; the means and variances of the two distributions are obtained by maximum likelihood estimation; calculate and , and then normalize to get ; Calculate each sampling point Failure rate : Performance threshold Gain <60dB, bandwidth <1GHz, offset voltage >5mV; fitting The distribution parameters of ( ); Calculate using the modified CDF function .
[0074] according to and , construct the circuit performance vector y and the failure rate vector ρ, sort the elements in y from small to large, and obtain the sorted circuit performance vector 。Determine the failure boundary based on the optimal worst performance point x* obtained from the previous iteration, resample within the range determined by the failure boundary, and obtain the sampling matrix X. The worst performance point obtained in the previous step is: x* = (SS, L = 30 nm, Tox = 1.6 nm, Vth = 480 mV, Isat = 450 μA, SS = 88 mV / dec). Within the ±10% range near x*, use the LHS method to resample 500 samples to form the sampling matrix X.
[0075] Perform a logarithmic transformation on the target variables in X to obtain the transformed sampling matrix 。Perform a logarithmic transformation on L, Tox, Vth, and Isat in X (such as log(L), log(Tox), etc.) to obtain 。According to and ρ, calculate the failure rate at 6σ using the Gaussian function The corresponding circuit performance prediction value 。Calculate The mean value of and the standard deviation , the mean value of ρ and the standard deviation ; , substitute into the formula to obtain , 。Using as the independent variable and y as the dependent variable, within the local region of the failure boundary, use the weighted least squares regression method to construct a local linear model 。Using as the independent variable and y as the dependent variable, calculate the weighted least squares solution to obtain 。
[0076] Using as the independent variable and y as the dependent variable, use the orthogonal basis pursuit algorithm with cross-validation to construct a global linear model 。Using as the independent variable and y as the dependent variable, set , , use the OMP algorithm to obtain 。Using the circuit performance prediction value as the target to construct an optimization problem. When the worst performance point x is within the local region of the failure boundary, use as the constraint condition; otherwise use as the constraint condition, and solve the optimization problem to obtain the optimal worst performance point x*. Construct the optimization problem: Objective: Minimize , Constraint: (when x is near the failure boundary) or (When x is in other regions). Variable range: SS / TT / FF, 27nm ≤ L ≤ 30nm, 1.4nm ≤ Tox ≤ 1.6nm, 400mV ≤ Vth ≤ 480mV, 450μA ≤ Isat ≤ 550μA, 70mV / dec ≤ SS ≤ 90mV / dec. Solve using the sequential quadratic programming (SQP) algorithm to obtain the new worst performance point x*
[0077] Update the dataset D using x*. Add x* to the dataset D and update the statistics of D. Repeat the above iteration until the preset convergence condition is met. Set the convergence condition as: for 5 consecutive iterations, The change amount is less than 1%. Repeat S4 - S10 until the convergence condition is met, and output the final worst performance point x*. After 50 iterations, the design team obtained the worst performance point of the differential amplifier: x* = (SS, L = 28.5nm, Tox = 1.55nm, Vth = 430mV, Isat = 480μA, SS = 84mV / dec), and the corresponding worst performance prediction values are: gain = 58.2dB, bandwidth = 0.95GHz, offset voltage = 5.8mV.
[0078] Based on x*, the design team optimized the circuit structure and device size of the differential amplifier. Under the premise of meeting the power consumption and area constraints, the worst performance was improved to: gain = 62.5dB, bandwidth = 1.15GHz, offset voltage = 4.1mV. After silicon verification, the measured performance of the optimized differential amplifier under the worst process conditions has an error of less than 5% from the predicted value, meeting the design specification requirements.
Claims
1. A method for processing the worst performance of an integrated circuit, characterized in that: include: S1, obtain the process parameters and device parameters of the integrated circuit and construct the data set D; S2, calculate each sampling point in the data set D Weight , and calculate the sampling points Circuit performance simulation results The corresponding failure rate ; S3, according to and , construct the circuit performance vector y and the failure rate vector ρ, sort the elements in y from small to large, and obtain the sorted circuit performance vector ; S4, determine the failure boundary according to the optimal worst performance point x* obtained in the previous iteration, resample within the range determined by the failure boundary, and obtain the sampling matrix X; S5, logarithmically transform the target variable in X to obtain the transformed sampling matrix ; S6, according to and ρ, calculated using the Gaussian function Failure rate The corresponding circuit performance prediction value ; S7, with As the independent variable and y as the dependent variable, a local linear model is constructed using the weighted least squares regression method in the local area of the failure boundary. ; S8, As the independent variable, y as the dependent variable, a global linear model is constructed using the cross-validated orthogonal basis pursuit algorithm. ; S9, based on circuit performance prediction value Construct an optimization problem for the target. When the worst performance point x is located in the local area of the failure boundary, use is a constraint; otherwise, use As constraints, solve the optimization problem to obtain the best worst performance point x*; S10, update the data set D using x*; S11, repeat the above iterations until the preset convergence condition is met; Failure rate The calculation formula is: in, represents the preset performance threshold, CDF represents the cumulative distribution function of the modified normal distribution, and Respectively represent sampling points Circuit performance simulation results The mean and standard deviation of and These are the two parameters introduced to describe Non-normal characteristics of the distribution; The calculation formula of the cumulative distribution function CDF of the modified normal distribution is: Here, Φ represents the cumulative distribution function of the standard normal distribution.
2. The method for processing the worst performance of an integrated circuit according to claim 1, characterized in that: The process parameters include process angle, channel length and gate oxide layer thickness; The device parameters include threshold voltage, saturation current and subthreshold slope.
3. The method for processing the worst performance of an integrated circuit according to claim 1, wherein: The failure rate Indicates the circuit performance simulation results The probability of exceeding a preset performance threshold.
4. The method for processing the worst performance of an integrated circuit according to claim 1, wherein: Weight The calculation formula is: in, Indicates sampling point The probability density under the original distribution is, Indicates sampling point The probability density of the distribution near the failure boundary, n is the total number of sampling points in the data set D.
5. The method for processing the worst performance of an integrated circuit according to claim 1, characterized in that: S5, logarithmically transform the target variable in X to obtain the transformed sampling matrix ,include: in, represents the jth feature of the i-th sample in the sampling matrix X, and m is the number of features.
6. The method for processing the worst performance of an integrated circuit according to claim 1, characterized in that: S6, according to and ρ, calculated using the Gaussian function Failure rate The corresponding circuit performance prediction value ,include: in, and denote the mean and standard deviation of the failure rate vector ρ, respectively. and Represent the sorted circuit performance vectors The mean and standard deviation of .
7. The method for processing the worst performance of an integrated circuit according to claim 1, characterized in that: S7, with As the independent variable and y as the dependent variable, a local linear model is constructed using the weighted least squares regression method in the local area of the failure boundary. ,include: in, Represents the feature vector obtained after transforming the sampling point x.
8. The method for processing the worst performance of an integrated circuit according to claim 1, characterized in that: S8, As the independent variable, y as the dependent variable, a global linear model is constructed using the cross-validated orthogonal basis pursuit algorithm. ,include: in, represents the weight vector of the global linear model; represents the bias term of the global linear model; y represents the circuit performance vector of the complete sample; represents the regularization parameter; Represents the number of iterations of the orthogonal matching pursuit algorithm.
Citation Information
Patent Citations
A method and device for processing the worst performance of integrated circuit, electronic equipment, and medium
CN119203917B
High-efficiency yield analysis method for post-simulation of large-scale SRAM (Static Random Access Memory) array circuit
CN114792084A
Integrated circuit failure boundary processing method and device, electronic equipment and medium
CN118468772A