System and method for statistical modeling and statistical timing analysis of integrated circuits
OwnerJochen A.G. Jess, Chandramouli Visweswariahinventors
Life of this patent
Estimating the term…
Abstract
A comprehensive methodology for statistical modeling and timing of integrated circuits and integrated circuit macros is disclosed with a means for efficiently computing the sensitivities of coefficients of gate delay models to sources of variation. These sensitivities are used to determine the probability distribution of the delay and slew of each gate and wire, as well as the correlations between these delays and slews. Finally, these timing models are used in an inventive statistical static timing analysis method to predict the statistical performance of an integrated circuit or integrated circuit macro.
Claims34
A method for developing a statistical behavioural model of an electrical circuit comprising the steps of:
- identifying one or more sources of variation that can cause a change in the behavior of the electrical circuit;
- using a circuit simulator, measuring a set of one or more actual behaviors of the electrical circuit at one or more respective sample points, each sample point being defined by a set of one or more model arguments, the model arguments being characteristics of the electrical circuit that effect the behavior;
- determining one or more measurement sensitivities of each actual behavior with respect to each of the one or more sources of variation;
- developing a model of the electrical circuit to determine a predictive behavior, the model having one or more tunable coefficients, the tunable coefficients being varied to minimize the error between each of the actual behaviors and a respective predictive behavior at all of the sample points, the predictive behavior being predicted by the model;
- determining one or more sensitivities of the model with respect to each of the one or more tunable coefficients at each sample point;
- and
- for each source of variation, obtaining a sensitivity of the tunable coefficients to the respective source of variation.
A system for developing a statistical behavior model of an electrical circuit comprising:
- means for identifying one or more sources of variation that can cause a change in the behavior of the electrical circuit;
- means for using a circuit simulator to measure a set of one or more actual behaviors of the electrical circuit at one or more respective sample points, each sample point being defined by a set of one or more model arguments, the model arguments being characteristics of the electrical circuit that effect the behavior;
- means for determining one or more measurement sensitivities of each actual behavior with respect to each of the one or more sources of variation;
- means for developing a model of the electrical circuit to determine a predictive behavior, the model having one or more tunable coefficients, the tunable coefficients being varied to minimize the error between each of the actual behaviors and a respective predictive behavior at all of the sample points, the predictive behavior being predicted by the model;
- means for determining one or more sensitivities of the model with respect to each of the one or more tunable coefficients at each sample point;
- and
- means for obtaining a sensitivity of the tunable coefficients to the respective source of variation, for each source of variation.
A system for developing a statistical behavior model of an electrical circuit comprising:
- an identifier that identifies one or more sources of variation that can cause a change in the behavior of the electrical circuit;
- circuit simulator measurements being a set of one or more actual behaviors of the electrical circuit at one or more respective sample points, each sample point being defined by a set of one or more model arguments, the model arguments being characteristics of the electrical circuit that effect the behavior;
- a sensitivity measurement of one or more measurement sensitivities of each actual behavior with respect to each of the sources of variation;
- a model of the electrical circuit to determine a predictive behavior, the model having one or more tunable coefficients, the tunable coefficients being varied to minimize the error between each of the actual behaviors and a respective predictive behavior at all of the sample points, the predictive behavior being predicted by the model, the model being capable of providing one or more sensitivities of the model with respect to each of the one or more tunable coefficients at each sample point;
- and
- a sensitivity of the tunable coefficients to the respective source of variation, for each source of variation, the sensitivity of the tunable coefficients derived from a system of relationships.
A method of computing the probability density function of the late-mode timing slack of a circuit, comprising the steps of:
- A. representing the circuit by a timing graph, the timing graph having one or more edges, each edge representing the timing behavior of a pin-to-pin transition of the gates and wires of the circuit and the timing graph having nodes, each node representing the timing behavior of a rising or falling signal of the circuit;
- B. conducting a nominal static timing analysis using the mean value timing properties of each edge of the graph;
- C. creating a statistical timing model for each edge of the graph that determines the variance of each edge and the covariance of each pair of edges;
- D. selecting one path according to a criticality factor;
- E. selecting a second path according to a criticality factor;
- F. determining a statistical model for the mean, variance and covariance of the slack of the two selected paths;
- G. creating a combined probability density function of the minimum slack of these two paths and computing the probability that each of these paths is critical, being the binding probability of each respective selected path dominating the other;
- H. determining an edge criticality probability vector that contains the probability that each edge of the timing graph is critical based on the set of paths considered so far, so that all paths considered so far are treated as a current single selected path;
- I. repeating steps E, F, G and H until the occurrence of one of the following:
- a. all the paths are exhausted;
- and
- b. the change in the probability density function of the most critical slack is less than a tolerance.
- J. selecting the last combined probability distribution function as representative of the statistical timing behavior of the circuit.
Dependencies are inferred from the claim text.