← Home Static Timing Analysis
28 Static Timing Analysis

STA fundamentals — cell delay, interconnect, setup/hold, MCMM, OCV, noise, IR-drop and sign-off

Advanced Bank — for the Second-Round Interviewer

These questions go past basic definitions. They test the why and the tricky corner cases. They separate someone who only read about STA (static timing analysis) from someone who has fixed timing on real chips. Each answer gives the reasoning. Many include a number.

Technical diagram

Multi-Clock and Phase Relationships

Q
How does STA time a path between two clocks of different speed? It lines up both clock

waves over one shared window. That window is the least common multiple (LCM) of the two periods. It then lists every launch and capture edge pair. It picks the smallest setup gap and the tightest hold pair as the real checks.

Q
Worked: a 5 ns clock launches to a 6 ns clock — what window? The shared period is 30 ns.

Launch edges fall at 0, 5, 10, 15, 20, 25. Capture edges fall at 0, 6, 12, 18, 24, 30. The tool pairs each launch with the next capture after it. It keeps the worst (smallest) gap. Here that gap can be just 1 ns (launch at 5, capture at 6). Such a tiny constraint is why mismatched-speed interfaces are hard.

Q
Which is usually harder: slow-to-fast or fast-to-slow? Slow-to-fast is harder. The fast capture

clock gives a shorter setup window. You often must hold or qualify the data across several fast cycles.

Q
How do phase-shifted same-speed clocks (like 0° and 180°) change capture? The capture

edge is now half a period away, not a full period. That makes it a half-cycle check. It is much tighter and easy to miss.

Generated, Gated, and Mutually Exclusive Clocks

Q
What breaks if a divided clock's link to its source is not declared? The tool guesses a default

edge link. That gives wrong capture edges. You usually see a huge fake violation or a fake pass. Always declare divide and multiply links.

Q
How do you tell STA two clocks never run at the same time? Put them in an exclusive (or

asynchronous) clock group. The tool then skips checks between them. A clock mux's two sources are a common example.

Q
What must you time on a clock-gating cell? Time the enable signal against the clock. The gate

must open and close cleanly. It must not chop or glitch the clock. The enable must stay stable around the gating edge.

Q
Why do gated clocks risk glitches, and how do you prevent it? Mixing enable and clock can

make a tiny runt pulse. This happens if the enable changes at the wrong moment. Integrated clockgating cells latch the enable. That guarantees a clean gate with no glitch.

Time Borrowing and Latches

Q
How does time borrowing work? A level-sensitive latch is open during its transparent phase.

Data that arrives after the opening edge can still pass, if it lands in the open window. So the late stage borrows time from the next stage. The limit is the size of the open window.

Q
What limits borrowing, and what if it runs out? The most you can borrow is the open-phase

length. Borrowed time can pass down a chain of latches. But once a stage uses up its window, the path fails. Endless borrowing in a report can hide a real problem.

Q
Why is hold harder in latch designs? While the latch is open, it passes data the whole time.

This widens the window where a fast new value can race through. So you must check hold carefully against the closing edge.

Variation, Statistics, and Pessimism

Q
Why is AOCV less pessimistic than flat OCV? AOCV (advanced on-chip variation) sets the

derate by path depth and distance. Random variation averages out over more stages. So deep paths get a smaller derate than one flat number gives. This recovers margin that flat OCV throws away.

Q
How does POCV/SOCV combine variation along a path? Each cell delay has a mean and a

sigma (spread). The random sigmas add by root-sum-square along the path. Slack is taken at mean minus k times sigma, often 3 sigma. This is more accurate. It treats variation as statistics instead of worst-casing every stage.

Q
Worked: five stages, each mean 100 ps, sigma 10 ps — statistical path? Mean = 500 ps.

Combined sigma = sqrt(5 × 10²) = about 22 ps, not 50 ps. At 3 sigma the path is 500 + 66 = 566 ps. A naive worst case would be 5 × 130 = 650 ps. The 84 ps of saved margin is the whole point of statistical timing.

Q
Why do statistics plus CPPR matter so much together? CPPR (common path pessimism

removal) cancels false opposite derating on the shared clock trunk. Statistics stop the tool from worstcasing every independent stage. Together they remove huge pessimism. Without them you would over-design for no reason.

Crosstalk Deep Cuts

Q
Explain the 0×/1×/2× coupling. Compare the aggressor to the victim's switch. An aggressor

moving the same way and aligned can cancel coupling toward 0×. The victim speeds up, which hurts hold. A quiet aggressor is about 1×. An aggressor moving the opposite way pushes toward 2×. The victim slows down, which hurts setup.

Q
Why is crosstalk timing done in loops? Delta delays depend on switching windows. But the

windows depend on delays. So the tool loops between computing windows and deltas until they settle. This avoids both missed overlaps and impossible worst-case lineups.

Q
Delta-delay failure vs functional noise? A delta-delay failure happens on a switching victim.

The path just runs faster or slower. Functional noise is a glitch on a (often quiet) victim. That glitch can pass on a wrong value or upset a latch. It does not depend on the clock period.

Q
Why is a glitch on a clock worse than on data? A clock glitch can make a false edge. That can

trigger a wrong capture or a wrong reset. It corrupts state no matter what the data path does. So clock and async nets get the tightest noise limits and shielding first.

Asynchronous Crossings and Metastability

Q
Why can't STA time a true async crossing? The two clocks have no fixed phase link. So there

is no valid setup or hold check. STA marks the crossing as a false path. It relies on synchronizers for safety.

Q
What does an extra flop in a synchronizer give you? It gives more time for a metastable first-

stage output to settle. This improves MTBF (mean time between failures) exponentially. It is still never infinite, though.

Q
Do you still constrain anything on a false-pathed crossing? Yes. You still time and limit the

first synchronizer stage, for example its max delay or skew. That way a captured-but-metastable value gets the full cycle to settle before the second flop samples it.

Q
Why aren't per-bit synchronizers enough for a bus? Different bits may settle in different

cycles. So the receiver can see a mixed-up value. Multi-bit crossings need gray coding, a handshake, or an async FIFO to stay coherent.

Multicycle and Half-Cycle Corner Cases

Q
Setup MCP of 3 — what hold MCP do you add, and why? Usually a hold MCP of 2. The setup

MCP pushes the capture edge out by three cycles. Without the hold MCP, the default hold check lands one edge before that. That is two cycles too tight. A hold MCP of 2 pulls it back to the correct adjacent edge.

Q
How does a half-cycle path arise, and why is it risky? It launches on a rising edge and

captures on the next falling edge. Negative-edge flops can also cause it. The data gets only half a period. That is very tight and easy to miss. You must spot it so it is not relaxed by accident.

Hierarchy, Power, and Sign-off

Q
Boundary model vs interface logic model — which to pick? Use a boundary model (pin-level

arcs only) for the most compression on stable interfaces. Use an interface logic model (real boundary gates kept) when interface accuracy matters. OCV is the main reason. It needs real path depth to derate right.

Q
Why model a block at every corner the top level uses? A timing model is only valid for the

corner it was built at. Use it at a corner it does not cover and you get wrong numbers. A missing-corner model is a classic hierarchical sign-off bug.

Q
How does supply IR-drop enter timing? A drooped local rail lowers a switching cell's voltage.

Lower voltage means more delay. You handle it with a margin or derate. The accurate way annotates per-cell voltages from a power run and recomputes delays. That is voltage-aware timing.

Q
Why is dynamic IR worse than static, especially on clocks? Dynamic IR is a sharp transient

(I·R plus L·di/dt). It comes from many cells switching at once. It is worst at clock edges. A different droop on the launch and capture clock branches makes IR-induced skew. That acts like extra jitter.

Q
What is the honest minimum before you trust a timing report? You need correct constraints

(clocks, I/O delays, exceptions). You need valid MCMM (multi-corner multi-mode) views with matched libraries and parasitics. CPPR must be on. SI (signal integrity) should be on where it matters. You must also check for unconstrained paths. Only then are the slacks real.

Scenario-Style (think aloud)

Q
A path inside one domain fails by a little under basic OCV but passes with CPPR. Real?

Not real. It was shared-trunk pessimism. Trust the CPPR result. Only a violation that remains after CPPR is genuine.

Q
Setup is clean at every corner except slow-cold at low voltage. What do you check? Check

for temperature inversion. At low voltage the slow-cold corner can be the true setup-worst. Confirm your corner set actually includes that inverted case. Do not just assume slow-hot.

Q
After a leakage-recovery Vt swap, a few paths now fail setup. Cause and fix? The higher-Vt

cells traded speed for less leakage. That ate into the slack. Run a focused setup-recovery pass. Swap just those few cells back to faster Vt. Keep the rest of the leakage savings.

Q
A synced bus still gives wrong values now and then. Why? Per-bit synchronizers do not

make all bits settle in the same cycle. So the multi-bit value can be incoherent. Use gray coding, a handshake, or a FIFO instead.

Q
Hold violations cluster only at the fast-hot-high-V corner. Expected? Yes. Fast cells make

data delay shortest. Add skew and that is the classic hold-worst corner. Fix it with hold buffers or mindelay control. Then confirm setup at the slow corner is still clean.

Advanced Quick Reference

Interview Q&A Bank — Advanced

Advanced topicThe one thing to remember
Multi-freq timingexpand over LCM period, worst edge pair
Generated clocksdeclare master relationship or get garbage
Exclusive clocksgroup so mux sources don't cross-check
Time borrowingbounded by transparency window, can cascade
AOCVderate by depth/distance — less pessimism
POCVRSS the sigmas, slack at mean − k·sigma
Crosstalk0×/1×/2× effective Cc; iterate windows
Metastabilityextra flop → exponential MTBF gain
Hierarchymodel is context-specific; cover all corners
IR-dropvoltage-aware timing beats flat margin

Key Takeaways

  • Master the multi-clock LCM expansion and the multicycle hold-MCP bookkeeping. Both are favourite traps.
  • Explain the AOCV/POCV math (depth averaging, RSS sigma). Show why CPPR plus statistics cut pessimism.
  • Know the crosstalk switching-factor model and the iterative window loop.
  • Be fluent on async and metastability. Know why STA false-paths it, why extra flops help, and how multi-bit stays coherent.
  • For scenarios, always split real violations from pessimism or constraint artifacts before you propose a fix.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Replying to