Explore / Methods & Algorithms / Timing Analysis / Common Path Pessimism Removal

Common Path Pessimism Removal

Timing Analysis industry 1990s onward industry methodology pure pessimism recovery computationally delicate

The problem

On-chip-variation analysis derates delays: for a setup check, the launch clock path is taken slow and the capture clock path fast (and the reverse for hold), so any single-corner optimism is covered. But launch and capture clocks flow through the same tree: from the source down to the last common buffer, the two paths are literally the same wires and cells. Deriting that shared prefix slow in one role and fast in the other asserts that identical silicon is simultaneously at two different corners, physically impossible, and the resulting pessimism (the derate delta across the common segment) can eat a meaningful slice of the cycle at advanced nodes, failing paths that are actually fine.

The fix

For each launch/capture flop pair, find the common point: the last cell the two clock paths share. Compute the pessimism credit, the difference between the slow-derated and fast-derated delay of the shared prefix, and add it back to the slack of every check between that pair. Exactness is per-path-pair, which is the computational rub: naively it multiplies analysis by the number of flop pairs, so timers use branch-point bookkeeping, caching, and on-demand exact recomputation for near-critical paths to keep runtime civil. The mechanism matters most for hold checks (where both paths are short and the shared fraction large) and for anything with deep shared clock spines.

Where you meet it today

Enabled in every serious sign-off run (the timer reports slack with and without the credit), in OpenSTA and commercial engines alike, and in methodology arguments about derate values, where this credit is what keeps on-chip-variation margins from compounding into fantasy.

References and further reading