Efficient degree-of-freedom change format generation method using variational analysis and active learning
By combining variational analysis and active learning technology, the challenge of high cost and uncertainty quantification of LVF characterization in integrated circuit design is solved, and efficient LVF library generation and uncertainty management are achieved.
Patent Information
- Application Number
- CN202510308089.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-14
- Publication Date
- 2025-06-13
AI Technical Summary
In current integrated circuit design, LVF characterization is high in generation costs, uncertainty quantization (UQ) challenges are complex, and existing methods fail to effectively minimize MC simulation costs.
Using variational analysis and active learning technology, through sample set preparation and proxy model training in the initialization stage, time sequence performance is predicted and the uncertain contribution of the sample to the predicted results is evaluated, the sample with the greatest impact is selected for SPICE simulation, and the model is updated iteratively.
It significantly reduces the calculation cost and time of LVF library generation, improves design efficiency and accuracy, and realizes effective management of uncertainty propagation and quantification.
Smart Images

Figure QLYQS_7 
Figure QLYQS_9 
Figure QLYQS_14
Abstract
Description
Technical Field
[0001] The present invention relates to the field of integrated circuit design, and provides an efficient degree-of-freedom change format generation method using variational analysis and active learning. Background Art
[0002] With the rapid development of integrated circuit manufacturing technology, the continuous reduction of transistor size has made the impact of process variations on circuit performance increasingly significant. This impact is particularly important in digital circuit timing analysis, as it directly relates to the stability and reliability of the circuit. To accurately evaluate this impact, statistical analysis of the circuit's timing performance is required.
[0003] In digital circuit timing analysis, the Liberty Variation Format (LVF) has become the industry-leading representation of timing distributions in process libraries for 22 nanometers and below. LVF provides higher accuracy by representing each timing entry as a probability distribution rather than a deterministic value. However, the generation of LVF characterization relies on the Monte Carlo (MC) method, which typically requires a large number of SPICE simulations to process cells with process variations. Due to the need to evaluate a large number of cells, timing arcs, and multiple process corners, millions of SPICE simulations have become the bottleneck in library generation, limiting the large-scale application of LVF.
[0004] In addition, similar challenges exist in uncertainty propagation and quantification in chip manufacturing and the broader scientific community. To address this fundamental challenge, researchers have been exploring more effective statistical circuit analysis methods.
[0005] Although the traditional Nonlinear Delay Model (NLDM) measures deterministic timing values for each timing arc, LVF provides higher accuracy by extending each measurement to a distribution. However, this comes at the cost of a significant increase in the library generation runtime.
[0006] To improve efficiency, researchers have tried various methods, including using machine learning for LVF data prediction. For example, DNNLibGen improves the characterization efficiency through partial data prediction. Although these studies have improved the characterization efficiency through partial data prediction, there is no mature method aimed at minimizing the simulation cost of a single MC to generate the LVF library.
[0007] In summary, the current technology faces several major challenges:
[0008] The high cost of LVF characterization: Due to the need for a large number of SPICE simulations, the cost of generating LVF characterization is high.
[0009] The challenge of Uncertainty Quantification (UQ): In chip manufacturing and the scientific community, uncertainty propagation and quantification are complex and time-consuming processes.
[0010] Limitations of existing methods: Although some studies have improved efficiency through machine learning, there is no mature method to minimize the simulation cost of MC.
[0011] The existence of these problems and challenges provides the motivation for seeking more efficient and accurate methods for generating LVF libraries, and also provides the background and technical basis for the method proposed in this paper. Summary of the Invention
[0012] The present invention aims to solve problems such as the high cost of LVF characterization, the challenges of uncertainty quantification (UQ), and the limitations of existing methods in current integrated circuit design. By using variational analysis and active learning techniques, an LVF library is efficiently generated to improve the efficiency of integrated circuit design.
[0013] The present invention provides an efficient method for generating a format of degree of freedom change using variational analysis and active learning, including the following steps:
[0014] Step 1. Initialization: Prepare a sample set and perform preliminary simulations to obtain initial data;
[0015] Step 1.1. Create a candidate sample set: Generate a large sample set X = {x n |n = 1, 2,..., N} containing N process variation samples, and fill the entire process variation space with dimension d using a quasi-random sequence
[0016] Step 1.2. Select an initial sample set: Select M samples from the candidate sample set to form an initial sample set X 0 = {x n |n = 1, 2,..., M}, where M << N;
[0017] Step 1.3. Based on the SPICE simulation results, label the initial sample set X 0 to obtain timing performance metrics:
[0018] Y 0 = f(X 0 ) = {f(x n )|n = 1, 2,..., M};
[0019] Step 1.4. Calculate the mean μ and standard deviation σ 0 of each timing metric, and obtain the normalized initial timing performance Y' 0 = (Y 0 - μ 0 ) / σ 0 0 .
[0020] Step 2, Training the surrogate model: Use the initial data to train a model that can predict the timing performance:
[0021] Sample set X 0 to X k has been annotated using SPICE simulation results, and gradually use the annotation set {(X 0 , Y′ 0 ),..., (X k , Y′ k )} to train the surrogate model;
[0022] Step 3, Prediction and evaluation: Use the surrogate model to predict the timing performance of all samples, obtaining the predicted timing performance vector and evaluate the contribution of each sample to the uncertainty of the prediction result;
[0023] Step 4, Sample selection: Select the samples with the greatest impact on the prediction result according to the uncertainty contribution for the next simulation;
[0024] Step 5, Model update: Use the newly obtained sample data to update the surrogate model to improve the prediction accuracy.
[0025] Step 6, Repeated iteration: Repeat steps 3 - 5 until the preset accuracy or the upper limit of the iteration times is reached.
[0026] In the above solution, the surrogate model includes a dimension pruning unit and a Gaussian unit for the initial data. Among them, the dimension pruning unit is implemented as follows:
[0027] Train an MLP model for dimension pruning
[0028] Use the initial sample set as the input and the initial timing performance as the output to train an MLP model g 1 ;
[0029] g 1 : R d →R p , mapping the high-dimensional process variation samples to the low-dimensional pruning variable space R p , R d is the process variation space, and R p is the pruning variable space;
[0030] Set the dimension p of the pruning variable space to be less than the dimension d of the process variation space;
[0031] Use a non-linear activation function and a multi-layer network structure to capture the complex relationship between process variation and timing performance, and output the pruning variable g 1 (x n );
[0032] The Gaussian unit is implemented as follows: Use the GP model to predict the timing performance, and use the MLP model g 1 The pruned variable g output by the 1 (x n ) is used as the input to train a GP model g 2 ;
[0033] g 2 : R p →R t , predicting the timing performance and its uncertainty, where R t is the timing performance space;
[0034] Each follows a Gaussian distribution N(μ(x n ), v(x n ))), where μ(x n ) and v(x n ) represent the predicted mean and variance respectively;
[0035] The surrogate model is expressed as:
[0036]
[0037] Each follows a Gaussian distribution N(μ(x n ), v(x n ))), where μ(x n ) and v(x n ) represent the predicted mean and variance respectively, N(·) represents the Gaussian distribution, g(·) represents the surrogate model, g 1 (·) represents the MLP model, g 2 (·) represents the GP model, and x n represents the sample.
[0038] In the above solution, in step 3, the contribution of each sample to the uncertainty of the prediction result is collected through variational analysis, specifically as follows:
[0039] Step 3a.1: The objective function is a function that measures the distance between the predicted distribution and the true distribution, and the Jensen-Shannon divergence is used as the distance metric:
[0040] D J [LVF 1 |LVF 2 = D KL [LVF 1 |LVF 2 + D KL [LLVF 2 |LVF 1 ,
[0041]
[0042] D J [LVF 1 |LVF 2 :The Jensen-Shannon divergence, which measures the distance between the predicted distribution LVF1 and the true distribution LVF2 table;
[0043] D KL [LVF 1 |LVF 2 :The Kullback-Leibler divergence, which measures the distance between the predicted distribution LVF1 and the true distribution LVF2 table;
[0044] f LVF1 (x): The probability density function of the predicted distribution LVF 1 ;
[0045] f LVF2 (x): The probability density function of the true distribution LVF 2 ;
[0046] Step 3a.2, Uncertainty Propagation:
[0047] Step 3a.2.1, Calculate the mean of the statistical moments of each time-series performance metric based on the predicted time-series performance vector variance skewness
[0048]
[0049] N: The number of sampling samples;
[0050] represents the predicted value of the i-th time-series performance metric at the sample xn;
[0051] Step 3a.2.2, Calculate the expectation and variance respectively:
[0052] Calculate the expectation and variance:
[0053] Expectation:
[0054] Variance:
[0055] μ (i) (x n ) represents the predicted average value of the i-th time-series performance of the n-th sample;
[0056] v (i) (x n ) represents the variance of the i-th time-series performance prediction of the n-th sample;
[0057] Calculate the expectation and variance of:
[0058] Expectation:
[0059] Variance:
[0060]
[0061] Calculate the expectation and variance of:
[0062] Expectation:
[0063] Variance:
[0064] Step 3a.2.3. Use a computational tool to calculate the learned gradients and
[0065] Step 3a.2.4. Express the contribution of each x n to the uncertainty of the three statistical moments:
[0066]
[0067] represents the contribution of the n-th sample to the skewness variance;
[0068] Step 3a.3. Variational analysis of the objective function:
[0069] Calculate the gradient of the objective function L(i) with respect to :
[0070]
[0071]
[0072] where LVF represents the LVF distribution, D represents the distance metric between two distributions, using the divergence metric, and δ represents a small perturbation value;
[0073] Step 3a.4. Integrate the variational analysis to derive the total variance change caused by each new sample:
[0074]
[0075] Step 3a.5. Obtain the acquisition score of each candidate sample for the i-th temporal performance, that is, obtain the contribution A of each sample pair to the prediction uncertainty (i) (x n ):
[0076]
[0077] Furthermore, in Step 4, a multi-temporal collaborative optimization method is adopted. In the sample selection process, the uncertainties of multiple temporal performances are considered, and the samples with the greatest contribution to the prediction uncertainties of multiple temporal performances are selected for SPICE simulation. The multi-temporal collaborative optimization method specifically includes the following steps:
[0078] Evaluate the acquisition scores of candidate samples:
[0079] Weighting method: For each candidate sample, calculate its contribution to the prediction uncertainty of each temporal distribution, and use the weighting method to combine the scores of these contributions into an overall acquisition score;
[0080]
[0081] A (i) (x n ) is the contribution of the i-th temporal performance metric to the prediction uncertainty of candidate sample x n , and w i is the weight factor of the i-th temporal distribution;
[0082] Select valid samples:
[0083] Local maximum operation: Apply the local maximum operation to identify the samples with the local maximum acquisition scores among the candidate samples, so that the selected samples are distributed throughout the distribution, rather than just in the tails;
[0084] Probability-based selection: Use the normalized acquisition value P(x n ) as the probability of selecting valid samples, so that even samples with relatively low acquisition scores but located in the center of the distribution have the opportunity to be selected;
[0085]
[0086] Use the probability distribution function to select M valid samples, and the probability of each sample being selected is proportional to its normalized acquisition value;
[0087] Update the set of valid samples: Add the selected valid samples to the set of valid samples X k , and use SPICE simulation for annotation and use it to train the surrogate model for the next iteration.
[0088] The present invention provides an efficient method for generating a degree-of-freedom change format using variational analysis and active learning, which is applied to the field of integrated circuit design. The technical effect analysis of this method is as follows:
[0089] Efficiency improvement in the initialization stage: By creating a large sample set containing a large number of process variation samples and filling the entire process variation space with quasi-random sequences, this method demonstrates high efficiency in the initialization stage. This method can quickly prepare the sample set and perform preliminary simulations to obtain initial data, thus accelerating the entire LVF generation process.
[0090] Application of the surrogate model: Training a model that can predict the timing performance using the initial data. This step further improves the efficiency by training the surrogate model. The use of the surrogate model allows the prediction of the timing performance of a large number of samples without the need for SPICE simulations one by one, which significantly reduces the computational cost and time.
[0091] Accuracy in the prediction and evaluation stage: In the prediction and evaluation stage, use the surrogate model to predict the timing performance of all samples and evaluate the contribution of each sample to the uncertainty of the prediction result. This method not only improves the prediction speed but also provides a basis for subsequent sample selection by evaluating the uncertainty contribution, thus improving the accuracy of the final result.
[0092] Iterative process of sample selection and model update: Select the samples with the greatest impact on the prediction result according to the uncertainty contribution for the next simulation, and update the surrogate model using the newly obtained sample data. This iterative process helps to continuously improve the prediction accuracy of the model while ensuring the efficient use of resources.
[0093] Combination of dimension pruning and Gaussian unit: The surrogate model includes a dimension pruning unit and a Gaussian unit. This combination can effectively capture the complex relationship between process variations and timing performance and predict the timing performance. The dimension pruning unit is implemented by training an MLP model, which maps high-dimensional process variation samples to a low-dimensional pruned variable space, while the Gaussian unit uses a GP model to predict the timing performance. This structure not only reduces the complexity of data processing but also maintains the prediction accuracy.
[0094] Multi-timing collaborative optimization method: In the sample selection process, adopt a multi-timing collaborative optimization method, consider the uncertainties of multiple timing performances, and select the samples with the greatest contribution to the prediction uncertainties of multiple timing performances for SPICE simulations. This method ensures that the mutual influence between different timing performances is taken into account when selecting samples, thus improving the overall optimization effect.
[0095] In summary, your method improves the efficiency of LVF generation through the combination of variational analysis and active learning, while maintaining the accuracy of the results. By using techniques such as surrogate models, iterative optimization, and dimensional pruning, your method reduces the computational cost and time while improving the model's predictive ability, providing an efficient solution for the field of integrated circuit design. BRIEF DESCRIPTION OF THE DRAWINGS
[0096] Figure 1 : Overview of our algorithm, application of a general active learning framework for LVF generation.
[0097] Figure 2 : Pruning of NAND2 dimensions;
[0098] Figure 3 : Convergence of OR2 cell delay and transition distribution;
[0099] Figure 4 : Comparison of the differences in OR2 cell speedup ratios among LVFGen, Random Monte Carlo (RandomMC), and Sobol methods in this application;
[0100] Figure 5 : Table 1 - Comparison of speed improvement using a standard cell library;
[0101] Figure 6 : Table 2 - Comparison of ISCAS’89 circuit accuracies, with the gold standard using the accuracy of 100k cells. DETAILED DESCRIPTION OF THE INVENTION
[0102] The following will give a detailed description of the embodiments of the present invention. Although the present invention will be described and explained in conjunction with some specific embodiments, it should be noted that the present invention is not limited to these embodiments only. On the contrary, modifications or equivalent substitutions made to the present invention should be covered within the scope of the claims of the present invention.
[0103] In addition, for a better illustration of the present invention, numerous specific details are given in the following detailed description. Those skilled in the art will understand that the present invention can be implemented without these specific details.
[0104] The present invention provides an efficient method for generating a format with varying degrees of freedom using variational analysis and active learning, including the following steps:
[0105] Step 1, Initialization: Prepare a sample set and perform a preliminary simulation to obtain initial data;
[0106] Step 1.1, Create a candidate sample set: Generate a large sample set X = {x containing N process variation samples nFor \(n = 1, 2, \ldots, N\}, fill the entire process variation space of dimension \(d\) using a quasi-random sequence
[0107] Step 1.2: Select the initial sample set: Select \(M\) samples from the candidate sample set to form the initial sample set \(X\) 0 =\(\{x\) n |n = 1, 2, \ldots, M\}, where \(M\ll N\);
[0108] Step 1.3: Based on the SPICE simulation results, label the initial sample set \(X\) 0 to obtain the timing performance metrics:
[0109] Y 0 = f(X 0 ) = \{f(x n )|n = 1, 2, \ldots, M\};
[0110] Step 1.4: Calculate the mean \(\mu\) and standard deviation \(\sigma\) 0 of each timing metric, and obtain the normalized initial timing performance \(Y'\) 0 =(Y 0 -\(\mu\) 0 ) / \(\sigma\) 0 ) / \(\sigma\) 0 .
[0111] Step 2: Train the surrogate model: Use the initial data to train a model that can predict the timing performance;
[0112] The sample set \(X\) 0 to \(X\) k has been labeled using the SPICE simulation results. Gradually use the labeled set \(\{(X 0 , Y' 0 ), \ldots, (X k , Y' k )}\) to train the surrogate model;
[0113] Step 3: Prediction and evaluation: Use the surrogate model to predict the timing performance of all samples, obtaining the predicted timing performance vector and evaluate the contribution of each sample to the uncertainty of the prediction result;
[0114] Step 4: Sample selection: Select the samples with the greatest impact on the prediction result according to the uncertainty contribution for the next simulation;
[0115] Step 5: Update the model: Update the surrogate model using the newly obtained sample data to improve the prediction accuracy.
[0116] Step 6: Repeat iteration: Repeat Steps 3 - 5 until the preset accuracy or the iteration number limit is reached.
[0117] Furthermore, the surrogate model includes a dimension pruning unit and a Gaussian unit for the initial data. Among them, the dimension pruning unit is implemented as follows:
[0118] Train an MLP model for dimension pruning
[0119] Use the initial sample set As the input, the initial timing performance As the output, train an MLP model g 1 ;
[0120] g 1 : R d →R p , map the high-dimensional process variation samples to the low-dimensional pruning variable space R p , R d is the process variation space, and R p is the pruning variable space;
[0121] Set the dimension p of the pruning variable space to be less than the dimension d of the process variation space;
[0122] Use a non-linear activation function and a multi-layer network structure to capture the complex relationship between process variations and timing performance, and output the pruning variable g 1 (x n );
[0123] The Gaussian unit is implemented as follows: Use a GP model to predict the timing performance, and use the pruning variable g 1 output by the MLP model g 1 (x n ) as the input to train a GP model g 2 ;
[0124] g 2 : R p →R t , predict the timing performance and its uncertainty, where R t is the timing performance space;
[0125] Each obeys the Gaussian distribution N(μ(x n ), v(x n ))), where μ(x n ) and v(x n ) represent the predicted mean and variance respectively;
[0126] The surrogate model is expressed as:
[0127]
[0128] Each Subject to a Gaussian distribution N(μ(x n ), v(x n ))), where μ(x n ) and v(x n ) represent the predicted mean and variance respectively, N(·) represents the Gaussian distribution, g(·) represents the surrogate model, g 1 (·) represents the MLP model, g 2 (·) represents the GP model, and x n represents the sample.
[0129] Furthermore, in step 3, the contribution of each sample to the uncertainty of the prediction result is collected through variational analysis, as follows:
[0130] Step 3a.1: The objective function is a function that measures the distance between the predicted distribution and the true distribution, and the Jensen-Shannon divergence is used as the distance metric:
[0131] D J [LVF 1 |LVF 2 = D KL [LVF 1 |LVF 2 + D KL [LLVF 2 |LVF 1 ,
[0132]
[0133] D J [LVF 1 |LVF 2 : Jensen-Shannon divergence, measuring the distance between the predicted distribution LVF1 and the true distribution LVF2 table;
[0134] D KL [LVF 1 |LVF 2 : Kullback-Leibler divergence, measuring the distance between the predicted distribution LVF1 and the true distribution LVF2 table;
[0135] f LVF1 (x): Probability density function of the predicted distribution LVF 1 ;
[0136] f LVF2 (x): Probability density function of the true distribution LVF 2 ;
[0137] Step 3a.2: Uncertainty propagation:
[0138] Step 3a.2.1, according to the predicted timing performance vector Calculate the mean of the statistical moments of each timing performance metric Variance Skewness
[0139]
[0140] N: The number of sampling samples;
[0141] Denote the predicted value of the \(i\)th timing performance metric at sample \(x\) n At;
[0142] Step 3a.2.2, calculate respectively The expectation and variance of:
[0143] Calculate The expectation and variance of:
[0144] Expectation:
[0145] Variance:
[0146] \(\mu\) (i) (\(x\) n ) represents the predicted average value of the \(i\)th timing performance of the \(n\)th sample;
[0147] \(v\) (i )(\(x\) n ) represents the predicted variance of the \(i\)th timing performance of the \(n\)th sample;
[0148] Calculate The expectation and variance of:
[0149] Expectation:
[0150] Variance:
[0151]
[0152] Calculate The expectation and variance of:
[0153] Expectation:
[0154] Variance:
[0155] Step 3a.2.3, use a calculation tool to calculate the learned gradients And
[0156] Step 3a.2.4, Express each x n Contributions to the uncertainties of the three statistical moments:
[0157]
[0158] Denote the contribution of the nth sample to the skewness variance;
[0159] Step 3a.3, Variational analysis of the objective function:
[0160] Calculate the gradient of the objective function L(i) with respect to :
[0161]
[0162] where LVF represents the LVF distribution, D represents the distance metric between two distributions, the divergence metric is used, and δ represents a small perturbation value;
[0163] Step 3a.4, Integrate the variational analysis to derive the total variance change caused by each new sample:
[0164]
[0165] Step 3a.5, Obtain the acquisition score of each candidate sample for the ith temporal performance, that is, obtain the contribution A of each sample to the prediction uncertainty (i) (x n ):
[0166]
[0167] Furthermore, in Step 4, a multi-temporal collaborative optimization method is adopted. The sample selection process will consider the uncertainties of multiple temporal performances, and select the sample with the largest contribution to the prediction uncertainties of multiple temporal performances for SPICE simulation. The multi-temporal collaborative optimization method specifically includes the following steps:
[0168] Evaluate the acquisition scores of candidate samples:
[0169] Weighting method: For each candidate sample, calculate its contribution to the prediction uncertainty of each temporal distribution, and use the weighting method to combine the scores of these contributions into an overall acquisition score:
[0170]
[0171] A (i) (x n ) The contribution of the ith temporal performance metric to the prediction uncertainty of the candidate sample x n , and w iis the weight factor of the i-th timing distribution;
[0172] Select valid samples:
[0173] Local maximum operation: Apply the local maximum operation to identify the samples with the local maximum learned scores among the candidate samples, such that the selected samples are distributed throughout the distribution, rather than just in the tails;
[0174] Probability-based selection: Use the normalized learned value P(x n ) as the probability of selecting valid samples, such that samples with lower learned scores but located in the center of the distribution also have a chance to be selected;
[0175]
[0176] Use the probability distribution function to select M valid samples, and the probability of each sample being selected is proportional to its normalized learned value;
[0177] Update the set of valid samples: Add the selected valid samples to the set of valid samples X k and annotate them using SPICE simulation, and use them to train the surrogate model for the next iteration.
[0178] Experiments and data analysis
[0179] Experimental setup
[0180] The experiments were conducted using TSMC 22-nm standard cells at a voltage of 0.8 V, a temperature of 25 °C, and the TT Global_LocalMC corner conditions, with all local variations turned on. The proposed method was implemented in PyTorch and evaluated using HSPICE on a Linux machine with an NVIDIA 3090 GPU and an 8-core Intel Xeon 6348 CPU, with 8 tasks running simultaneously on each machine. For other algorithms, we used a pure CPU machine (since they were not designed to utilize the GPU). All the running times reported below have been converted to a single-threaded time.
[0181] We compared three algorithms: LVFGen (the method of this application), Sobol's QMC, and RandomMC. Sobol's QMC is an advanced algorithm with a significant improvement in the convergence of random circuit problems. RandomMC represents random sampling and serves as a baseline.
[0182] We use the results of 100k-sample random MC as a reference. To evaluate the accuracy of the estimated distribution, we use Jensen-Shannon divergence (J-divergence) as a metric to measure the distance between the estimated value and the reference value. J-divergence is a symmetric metric and satisfies the triangle inequality, which can reduce the approximation error of the variational analysis equation of the objective function. The definition of J-divergence is as follows:.
[0183] D[LVF1|LVF2] = D KL [LVF1|LVF2] + D KL [LVF2|LVF1],
[0184]
[0185] Here, D KL is the Kullback-Leibler divergence, and f LVF (x) is the probability density function of the LVF time series.
[0186] For ease of reading, we denote the J-divergence between the golden distribution and the 5k-sample estimate by the random Monte Carlo method as 5k accuracy. Similarly, we define [10k, 25k, 50k, 100k] accuracy. To provide a comprehensive comparison, the algorithms were evaluated under different accuracy requirements.
[0187] In the experiment, we have a candidate sample set X of size N = 220. In the k-th iteration, the selected sample set X k has a size of M = 64. According to the circuit scale, the pruned variable dimension ranges from 10 to 16. The parameters of the surrogate model are randomly initialized. SPICE simulation labels a delay and a transition for each sample. Since cell delay is more significant than transition in timing propagation, we weight the learned scores of delay and transition with weights of 0.7 and 0.3 respectively in the learned score A(x n ).
[0188] Convergence analysis of OR2 cells
[0189] This experiment uses a 48-dimensional OR2X2 cell to evaluate the performance of LVFGen. In this timing architecture, when one input signal rises and the other remains low, the output signal rises.
[0190] Figure 3 Shows the estimated results of LVFGen for the delay and transition distributions, as well as the learned scores for each potential candidate. The D J value represents the J-divergence from the golden distribution to the estimated distribution. From Figure 3As shown in Figs. a to 3e, as the number of iterations increases, the estimated values are gradually optimized. The curve converges rapidly to the golden distribution while the J-divergence value decreases. The projection plot of the acquisition scores further confirms the effectiveness of the selection strategy, i.e., accurately identifying the samples with the greatest contribution from millions of candidates and maintaining a balanced number of samples in both the main body and the tail of the distribution. In addition, we observe that the acquisition scores decrease as the number of iterations increases. This indicates that the surrogate model can effectively map process variations to timing performance based on previous learning, thereby reducing the acquisition scores of unlabeled samples.
[0191] Figure 4 Fig. a compares the efficiency of the Random Monte Carlo method (RandomMC), Sobol sequence quasi-Monte Carlo method (Sobol’s QMC), and LVFGen in estimating the delay distribution. The chart uses a log10-log10 scale, where the slope of the linear fit represents the convergence rate. The convergence rate of the Random Monte Carlo method is consistent with the theoretical convergence rate of the Central Limit Theorem (CLT) because the J-divergence is a squared metric. The rapid decline trend of LVFGen demonstrates its advantage in fast convergence.
[0192] Figure 4 Fig. c shows that the accuracy of LVFGen predictions quickly saturates after reaching the 100k accuracy level. We believe this saturation phenomenon is due to the more complex mapping from process variations to transitions, thereby reducing the effectiveness of LVFGen. Considering the self-adaptability of transitions in timing propagation [22, 23], an accuracy of 100k and a J-divergence below 10-4 have a slight impact on SSTA. Figure 3 Fig. e demonstrates that LVFGen has achieved sufficient accuracy in predicting the transition distribution. Overall, LVFGen reaches the 100k accuracy level with only about 300 simulations, while the Random Monte Carlo method requires 100k simulations and the Sobol sequence quasi-Monte Carlo method requires about 5k simulations.
[0193] Similarly, Figure 4 Figs. e and 4g plot the speedup rates of the simulation time reduction of the Sobol sequence quasi-Monte Carlo method and LVFGen at multiple accuracy levels. Compared with the Random Monte Carlo method and the Sobol sequence quasi-Monte Carlo method, LVFGen demonstrates a significant speedup in estimating the delay and transition distributions. In addition, LVFGen proves to have a greater improvement effect under higher accuracy requirements.
[0194] For a fair comparison, we include the overhead of active learning, not just the simulation time. Figure 4 Figs. b and 4d show the convergence comparison including the running time.Figure 4 f and 4g plotted the improvement in runtime.
[0195] Although the algorithm overhead reduces the efficiency of LVFGen, it still achieves a significant speedup. Compared with the random Monte Carlo method, LVFGen saves up to 140 times and 40 times the runtime in latency and transition estimation respectively. For the Sobol sequence quasi-Monte Carlo method, the speedup reaches 27 times and 13 times respectively. And compared with the Sobol sequence quasi-Monte Carlo method, the speedup of LVFGen is 5 times and 3 times respectively.
[0196] Cell library acceleration
[0197] To verify the generalization ability of LVFGen, we conducted extensive experiments on 26 different standard cells with dimensions ranging from 36 to 156. According to the design complexity, we classified these cells into three categories: low dimension, medium dimension, and high dimension. The accuracy levels evaluated ranged from 5k to 100k, covering the basic requirements in practical applications.
[0198] We evaluated each cell using the random Monte Carlo method (RandomMC), the Sobol sequence quasi-Monte Carlo method (Sobol’s QMC), and LVFGen. Each method estimated the timing distribution of the 8×8 slow load of the selected arcs. Figure 5 Table 1 in [reference] summarizes the results.
[0199] We assume that each transistor has six variation variables. Cells with the same function but different drive strengths may use different numbers of transistors, resulting in different numbers of variables. However, the variations of parallel transistors often have similar effects on timing. Therefore, we assume that a multi-layer perceptron (MLP) can recognize this similarity and combine variables to reduce the dimension. Thus, the pruned dimension is determined by the complexity of the schematic topology rather than the number of transistors.
[0200] The evaluation of runtime acceleration is similar to the previous experiment. Figure 5 The results in Table 1 in [reference] show that in almost all cases, LVFGen achieves a higher acceleration than the Sobol sequence compared with the random Monte Carlo method. Generally, we observe that as the circuit dimension increases, the acceleration effect of the Sobol sequence is not ideal. Although LVFGen also encounters high-dimensional problems, it is still faster than the other two algorithms.
[0201] In summary, at the 5k accuracy level, compared with the random Monte Carlo method and the Sobol sequence, LVFGen achieved an overall speedup of 38.43× and 2.27× respectively in predicting the latency distribution, and speedups of 9.46× and 1.23× respectively in transforming the distribution. As the accuracy requirement increases, LVFGen shows more improvements. At the 100k accuracy level, compared with the random Monte Carlo method and the Sobol sequence quasi-Monte Carlo algorithm, LVFGen achieved speedups of 225.58× and 4.06× respectively in estimating the latency distribution, and speedups of 37.35× and 2.31× respectively in estimating the transformation distribution.
[0202] Timing analysis application
[0203] In the timing signoff phase, large circuits require accurate cell timing distributions to reduce the impact of cumulative errors during timing propagation. In this experiment, we used the standard statistical timing analysis tool PrimeTime to evaluate the accuracy of the LVF library generated by LVFGen. The benchmark circuit was selected from ISCAS’89 and had a size of 1524 gates.
[0204] We first prepared three LVF libraries with the same 100k-MC accuracy level, generated by the random Monte Carlo method (100k samples), the Sobol sequence quasi-Monte Carlo method (5k samples), and LVFGen (0.7k samples) respectively. In terms of library generation efficiency, the running time of the Sobol sequence quasi-Monte Carlo method was about 290 hours, while LVFGen only required about 80 hours.
[0205] During the SSTA process, critical paths were first identified in the Golden design flow. Subsequently, we compared the path latencies obtained using three different LVF library files. As Figure 6 shown in Table 2, we observed extremely small errors in the benchmark circuit. The relative absolute error of LVFGen was no more than 1E-3‰ in terms of the average latency and no more than 3‰ in terms of the standard deviation. The mean relative absolute error (MRAE) achieved by LVFGen was very close to that of the Sobol sequence. The average value of the critical path latency was only 1.29× that of the Sobol sequence, and the standard deviation was 1.55×. Overall, the entire library generation speed of LVFGen was approximately 3.5× that of the Sobol sequence quasi-Monte Carlo method, providing a sufficiently high accuracy level in practical applications.
[0206] In summary, compared with traditional Monte Carlo (MC) and quasi-Monte Carlo (QMC) methods, the present invention generates a highly accurate LVF library at a lower simulation cost. LVFGen uses variational analysis and active learning to identify process variation samples that have a greater impact on delay and transition distributions. Experimental results based on TSMC 22-nm standard cells demonstrate the stability and efficiency of LVFGen in practical applications. Compared with MC and Sobol's QMC, LVFGen achieves an overall acceleration of up to 225.58× and 4.06× in delay estimation, and an overall acceleration of 37.35× and 2.31× in transition estimation. On real circuits and cell libraries, LVFGen demonstrates a 3.5× speedup in statistical library generation and is competitive in SSTA evaluation. We hope that the concept of LVFGen can inspire more interesting research on using uncertainty quantification (UQ) to solve circuit problems. Future extensions include expanding LVFGen through transfer learning, enabling a surrogate model to learn timing information from different circuits.
Claims
1. An efficient degree-of-freedom variation format generation method using variational analysis and active learning, characterized in that Step 1, initialization: prepare the sample set and perform preliminary simulation to obtain initial data; Step 2: Train the proxy model: Use the initial data to train a model that can predict time series performance; Step 3: Prediction and evaluation: Use the proxy model to predict the timing performance of all samples and obtain the predicted timing performance vector And evaluate the contribution of each sample to the uncertainty of the prediction results; Step 4, sample selection: select the sample with the greatest impact on the prediction result according to the contribution of uncertainty for the next simulation; Step 5: Update the model: Use the newly acquired sample data to update the proxy model to improve the prediction accuracy; Step 6: Repeat iterations: Repeat steps 3-5 until the preset accuracy or the upper limit of the number of iterations is reached.
2. The method for generating an efficient degree of freedom variation format using variational analysis and active learning according to claim 1, characterized in that: Step 1.1, create a candidate sample set: generate a large sample set X = {x n |n=1,2,…,N}, use quasi-random sequences to fill the entire process variation space D of dimension d; Step 1.2, select the initial sample set: select M samples from the candidate sample set to form the initial sample set X0 = {x n |n=1,2,…,M}, where M<<N; Step 1.3: Based on the SPICE simulation results, annotate the initial sample set X0 to obtain the timing performance indicators: Y0=f(X0)={f(x n )|n=1,2,…,M}; Step 1.4: Calculate the value of each time series indicator The mean μ0 and standard deviation σ0 of the normalized initial timing performance Y′0 = (Y0-μ0) / σ0 are obtained.
3. The method for generating an efficient degree of freedom variation format using variational analysis and active learning according to claim 1, characterized in that: Sample set X0 to X k The SPICE simulation results have been used for annotation, and the annotation set {(X0,Y′0),…,(X k ,Y′ k )}Train the proxy model.
4. The method for generating an efficient degree of freedom variation format using variational analysis and active learning according to claim 3, characterized in that: The proxy model includes a dimension pruning unit and a Gaussian unit for the initial data, wherein the dimension pruning unit is implemented as follows: Training MLP model for dimensionality pruning Using the initial sample set As input, the initial timing performance As output, train an MLP model g1; g1:R d →R p , mapping high-dimensional process variation samples to low-dimensional pruning variable space R p , R d is the process variation space, R p is the pruned variable space; Set the dimension p of the pruning variable space to be smaller than the dimension d of the process variation space; Use nonlinear activation functions and multi-layer network structures to capture the complex relationship between process variation and timing performance, and output the pruned variable g1(x n ); The Gaussian unit is implemented as follows: Use the GP model to predict the timing performance, and use the pruned variable g1(x n ) as input, train a GP model g2; g2:R p →R t , predicting timing performance and its uncertainty, R t is the temporal performance space; Each Obey Gaussian distribution N(μ(x n ),v(x n )), where μ(x n ) and v(x n ) represent the predicted mean and variance respectively; The proxy model is represented as: Each Obey Gaussian distribution N(μ(x n ),v(x n )), where μ(x n ) and v(x n ) represent the predicted mean and variance, N(·) represents Gaussian distribution, g(·) represents the surrogate model, g1(·) represents the MLP model, g2(·) represents the GP model, x n Represents a sample.
5. The method for generating an efficient degree of freedom variation format using variational analysis and active learning according to claim 1, characterized in that: In step 3, the contribution of each sample to the uncertainty of the prediction result is evaluated through variational analysis, as follows: Step 3a.
1. The objective function is a function that measures the distance between the predicted distribution and the true distribution. Jensen-Shannon divergence is used as the distance metric: D[LVF1|LVF2]=D KL [LVF1|LVF2]+D KL [LLVF2|LVF1], D[LVF1|LVF2]: Jensen-Shannon divergence, which measures the distance between the predicted distribution LVF1 and the true distribution LVF2 table; D KL [LVF1|LVF2]: Kullback-Leibler divergence, which measures the distance between the predicted distribution LVF1 and the true distribution LVF2 table; f LVF1 (x): probability density function of the predicted distribution LVF1; f LVF2 (x): probability density function of the true distribution LVF2; Step 3a.2, uncertainty propagation: Step 3a.2.
1. Based on the predicted timing performance vector Calculate the mean of the statistical moments of each timing performance indicator variance Skewness N: number of samples; Indicates the i-th timing performance indicator in sample x n The predicted value at Step 3a.2.2: Calculate The expectation and variance of : calculate The expectation and variance of : expect: variance: μ (i) (x n ) represents the predicted average value of the i-th time series performance of the n-th sample; v (i) (x n ): represents the prediction variance of the i-th time series performance of the n-th sample; calculate The expectation and variance of : expect: variance: calculate The expectation and variance of : expect: variance: Step 3a.2.
3. Use computational tools to calculate the learning gradient and Step 3a.2.4, express each x n Contribution to the uncertainty of the three statistical moments: Indicates the contribution of the nth sample to the skewness variance; Step 3a.3: Variational analysis of the objective function: Calculate the objective function L(i) for The gradient is: Where LVF represents the LVF distribution, D represents the distance measure between the two distributions, using the divergence measure, and δ represents a small perturbation value; Step 3a.4: Integrate variational analysis to derive the total variance change caused by each new sample: Step 3a.5: Obtain the collection score of each candidate sample for the i-th time performance, that is, obtain the contribution A of each sample to the uncertainty of the prediction result (i) (x n ):
6. The method for generating an efficient degree of freedom variation format using variational analysis and active learning according to claim 4, characterized in that: In step 4, a multi-timing collaborative optimization method is used. The sample selection process takes into account the uncertainty of multiple timing performances, and selects the sample that contributes the most to the uncertainty of multiple timing performance predictions for SPICE simulation. The multi-timing collaborative optimization method specifically includes the following steps: Evaluate the learned scores of candidate samples: Weighted method: For each candidate sample, calculate its contribution to the prediction uncertainty of each time series distribution, and use a weighted method to combine these contribution scores into an overall learning score; A (i) (x n ) The i-th time series performance index for candidate sample x n The forecast uncertainty contribution of w i is the weight factor of the i-th time series distribution; Select a valid sample: Local maximum operation: Apply the local maximum operation to identify the samples with the local maximum learning score among the candidate samples, so that the selected samples are distributed throughout the distribution, not just the tail; Probability-based selection: Use the normalized learned value P(x n ) as the probability of selecting a valid sample, so that even samples with low learning scores but located in the center of the distribution have a chance to be selected; Use the probability distribution function to select M valid samples, and the probability of each sample being selected is proportional to its normalized learning value; Update the valid sample set: add the selected valid samples to the valid sample set X k and annotated using SPICE simulation and used to train the proxy model for the next iteration.