ArticleslgStudy

mathematics

Statistical static timing analysis

Statistical static timing analysis is a mathematics topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Statistical static timing analysis rather than just read about it. In short: Conventional static timing analysis (STA) has been a stock analysis algorithm for the design of digital circuits since the 1960s. However the increased variation in semiconductor devices and interconnect has introduced a number of issues that cannot be handled by traditional (deterministic) STA.

Key takeaways

  • Statistical static timing analysis belongs to mathematics; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Statistical static timing analysis to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Statistical static timing analysis from memory before moving on to harder problems.

Reference excerpt

Conventional static timing analysis (STA) has been a stock analysis algorithm for the design of digital circuits since the 1960s. However the increased variation in semiconductor devices and interconnect has introduced a number of issues that cannot be handled by traditional (deterministic) STA. This has led to considerable research into statistical static timing analysis, which replaces the normal deterministic timing of gates and interconnects with probability distributions, and gives a distribution of possible circuit outcomes rather than a single outcome.

Comparison with conventional STA Deterministic STA is popular for good reasons:

It requires no vectors, so it does not miss paths. The run time is linear in circuit size (for the basic algorithm). The result is conservative. It typically uses some fairly simple libraries (typically delay and output slope as a function of input slope and output load). It is easy to extend to incremental operation for use in optimization. STA, while very successful, has a number of limitations:

Cannot easily handle within-die correlation, especially if spatial correlation is included. Needs many corners to handle all possible cases. If there are significant random variations, then in order to be conservative at all times, it is too pessimistic to result in competitive products. Changes to address various correlation problems, such as CPPR (Common Path Pessimism Removal) make the basic algorithm slower than linear time, or non-incremental, or both. SSTA attacks these limitations more or less directly. First, SSTA uses sensitivities to find correlations among delays. Then it uses these correlations when computing how to add statistical distributions of delays. There is no technical reason why determistic STA could not be enhanced to handle correlation and sensitivities, by keeping a vector of sensitivities with each value as SSTA does. Historically, this seemed like a big burden to add to STA, whereas it was clear it was needed for SSTA, so no-one complained. See some of the criticism of SSTA below where this alternative is proposed.

Methods There are two main categories of SSTA algorithms – path-based and block-based methods. A path-based algorithm sums gate and wire delays on specific paths. The statistical calculation is simple, but the paths of interest must be identified prior to running the analysis. There is the potential that some other paths may be relevant but not analyzed so path selection is important. A block-based algorithm generates the arrival times (and required) times for each node, working forward (and backward) from the clocked elements. The advantage is completeness, and no need for path selection. The biggest problem is that a statistical max (or min) operation that also considered correlation is needed, which is a hard technical problem. There are SSTA cell characterization tools that are now available such as Altos Design Automation's Variety tool.

Criticism A number of criticisms have been leveled at SSTA:

It's too complex, especially with realistic (non-gaussian) distributions. It's hard to couple to an optimization flow or algorithm. It's hard to get the data the algorithm needs. Even if you can get this data, it is likely to be time-varying and hence unreliable. If used seriously by the customers of a fab, it restricts the changes the fab might make, if they change that statistical properties of the process. The benefit is relatively small, compared to an enhanced deterministic STA that also takes into account sensitivities and correlation.

Tools that perform static timing analysis FPGAs

Altera Quartus II Xilinx ISE ASICs

Synopsys Primetime (Synopsys PrimeTime) Cadence Encounter Timing System (Cadence Tempus) IBM EinsTimer ANSYS Path FX (ANSYS Path FX)

See also Dynamic timing analysis

References

Worked examples

Example 1 — a first encounter with Statistical static timing analysis

Start with the simplest possible case. Write down what Statistical static timing analysis claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In mathematics, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Statistical static timing analysis before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Statistical static timing analysis ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Statistical static timing analysis

In research
Statistical static timing analysis appears in mathematics research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Statistical static timing analysis in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Statistical static timing analysis is common in secondary-school and first-year university syllabi. It links to neighbouring topics Formal methods, Timing in electronic circuits, so understanding it makes those chapters shorter.
In everyday life
Look for Statistical static timing analysis outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Statistical static timing analysis in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Statistical static timing analysis means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Statistical static timing analysis out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Statistical static timing analysis in simple terms?

Conventional static timing analysis (STA) has been a stock analysis algorithm for the design of digital circuits since the 1960s. However the increased variation in semiconductor devices and interconnect has introduced a number of issues that cannot be handled by traditional (deterministic) STA.

Why does Statistical static timing analysis matter?

Because it connects several mathematics ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Statistical static timing analysis?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Statistical static timing analysis.

Tags

  • Formal methods
  • Timing in electronic circuits

Keep exploring