BeginnerQuestion 39 of 95

What are the major input files STA needs to run (netlist, library, SDC, parasitics)?

From PDVerse STA Mentor Guide, part of the pdVerse Mentor Guide

Short Answer

STA needs four files to run: a gate-level netlist describing what is connected to what, Liberty timing libraries describing how each cell behaves, an SDC file stating the timing intent, and โ€” for post-layout accuracy โ€” a SPEF file with extracted wire parasitics.

Technical Reference DiagramWhat are the major input files STA needs to run (netlist, library, SDC, parasitics)?

Technical Explanation

Take away any one of these four and the tool either cannot run at all, or runs with a guess standing in for real data.

  • Gate-level netlist: the structural description of instances, ports, and exactly which pin connects to which โ€” the tool's map of the circuit.
  • Liberty timing libraries: the delay, slew, and pin-capacitance tables for every cell used, characterized separately for each corner the design is checked against.
  • SDC constraints: the clocks, I/O timing, and exceptions that define what the design is actually supposed to meet โ€” without this, the tool has a circuit but no target to check it against.
  • SPEF parasitics: the extracted wire resistance and capacitance for every net, needed for accurate post-layout wire delay rather than a pre-layout estimate.
  • Optional but common additions: variation tables for on-chip variation derating, and power-intent files where multiple voltage domains affect timing.

Common Mistake

The Trap: Mixing files from different design revisions โ€” for example, loading a post-route netlist alongside SDC constraints written for an earlier, pre-CTS version of the design.

  • Object names the SDC refers to may no longer exist, or may now refer to something different in the newer netlist.
  • The tool may silently apply a constraint to the wrong object, or drop it, producing a signoff run that looks complete but is not honestly checking the current design.

Follow-up Question & Model Response

What happens if a cell instance in the netlist has no matching entry in any loaded Liberty library?

Candidate Model Response: The tool cannot compute any delay for a cell it has no timing model for, so it reports an unresolved reference and effectively treats that instance as a black box. Every path passing through that cell becomes unconstrained rather than checked, which is exactly the kind of silent gap check_timing (PT) is meant to catch before anyone trusts the resulting slack report. The usual cause is a missing or mismatched library revision, so I would check that every cell in the netlist maps to a library the run actually loaded.

Practical Example

A signoff run loads a 45,000-instance netlist, three Liberty corners (slow, typical, fast), one 80-line SDC file, and four SPEF corners for max and min resistance and capacitance. Dropping just one of the four SPEF corners from the run would silently exclude that corner's checks from the signoff report, even though the other three corners still look completely clean.

Complete STA Handbook

Get the complete 10-chapter STA handbook covering setup/hold margins, clock modeling, OCV/POCV, crosstalk noise, and PrimeTime closure.

Offline PDF Bundle

Want all 1109 questions offline?

Get the complete 4-book PDF bundle (PnR, STA, MMMC, Low Power) with a clickable table of contents - no ads, no internet needed.

See what's inside the bundle
Static Timing Analysis (STA) Handbook โ€” ten chaptersSTA HandbookTen chapters on setup, hold, OCV, and PrimeTime signoff.