Synopsys PrimeTime
Synopsys PrimeTime, the golden signoff STA tool: the flow (netlist, SPEF, SDC, propagated clock, report_timing), PBA, PrimeTime-SI crosstalk, ECO and distributed analysis.
Synopsys PrimeTime (PT) is the industry's golden signoff STA tool, the reference other tools are correlated against. It reads the routed netlist, the extracted parasitics (SPEF), the timing libraries and the SDC, and reports timing with signoff-grade accuracy. PrimeTime-SI adds crosstalk (signal-integrity) analysis, and PrimePower adds power. When a team says timing is "signed off," they usually mean it is clean in PrimeTime across all scenarios.
The PrimeTime flow
Load the .db timing libraries and the routed gate-level netlist, then link the design.
read_parasitics loads the SPEF extracted from the real layout, so net delays are accurate, not estimates.
Source the SDC, then set_propagated_clock so real clock-tree latencies are used.
update_timing, then report_timing / report_constraint to see the worst paths and any violations.
Recover margin with path-based analysis, then generate a timing ECO to fix the last violations.
read_db sky130.db
read_verilog top_routed.v ; link_design top
read_parasitics top.spef ;# real RC from layout
read_sdc top.sdc
set_propagated_clock [all_clocks]
update_timing -full
report_timing -delay_type max -group clk ;# setup
report_timing -delay_type min ;# hold
report_constraint -all_violatorsSanity checks before you trust the numbers
A timing report is only as trustworthy as its setup, so experienced users run three quick checks before reading any slack. Skipping them is how a design gets signed off with paths that were never actually analysed.
- Linking: after link_design, confirm there are no unresolved references or missing library cells. An unlinked cell has no timing model and silently drops the paths through it.
- Constraints: run check_timing to catch unconstrained and unclocked endpoints, missing I/O delays, and other holes in the SDC. An unconstrained path is not checked at all, so it looks clean while being wide open (see Debugging Unconstrained Paths).
- Parasitics: run report_annotated_parasitics to confirm the SPEF actually annotated the nets. Any net left on estimated RC instead of real layout RC gives an optimistic, untrustworthy delay.
Concepts worth knowing
- Signoff accuracy, PT is the golden reference; implementation tools correlate their STA back to it.
- PrimeTime-SI, models crosstalk delay and noise from coupling between nets (see Crosstalk & Signal Integrity).
- GBA vs PBA, PT runs fast graph-based analysis by default and can recover pessimism with path-based analysis (see GBA vs PBA).
- ECO flow, fix_eco_timing proposes fixes; write_changes hands them to place-and-route.
- Distributed multi-scenario, PT-DMSA runs many MMMC scenarios in parallel across a compute farm.
| Command | Purpose |
|---|---|
| read_verilog / link_design | Read and link the routed netlist |
| read_parasitics | Load SPEF parasitics from layout |
| read_sdc / set_propagated_clock | Constraints + real clock latencies |
| update_timing | Compute the timing graph |
| report_timing / report_constraint | Worst paths and violations |
| report_timing -pba_mode exhaustive | Path-based analysis (recover margin) |
Reading the reports
Beyond report_timing on a single path, PrimeTime has a small toolkit for seeing the whole picture and deciding what to fix first.
| Command | What it tells you |
|---|---|
| report_qor | A one-page summary per path group: WNS, TNS, number of violating paths, plus cell count, area and DRC totals |
| report_constraint -all_violators | Every failing endpoint at once: setup, hold, and the DRC checks (transition, capacitance, fanout) |
| report_bottleneck | Cells that sit on many violating paths, ranked, so you fix the one shared offender instead of chasing paths |
| report_analysis_coverage | Which timing checks were tested, untested, or violated, the true coverage of your analysis |
| report_si_bottleneck | The nets whose crosstalk hurts timing the most, for SI cleanup |
| report_delay_calculation | How one arc delay was actually computed, with -crosstalk to see the SI contribution |
report_si_bottleneck ranks victim nets by a cost function you pick: delta_delay (worst absolute delay change), delta_delay_ratio (change as a fraction of the stage delay), total_victim_delay_bump (largest crosstalk bumps), or delay_bump_per_aggressor (which aggressors do the most damage). Fixing the top handful of nets usually clears most SI violations.
Turning on SI, AOCV, POCV and CRPR
The more accurate analyses are each switched on with a variable set before update_timing, so PrimeTime folds them into the timing graph automatically. This is how you move from a quick, pessimistic run to a signoff-grade one.
| Analysis | Enable with | Effect |
|---|---|---|
| Crosstalk (SI) | set si_enable_analysis true | Adds coupling-driven delta delay and noise (see Crosstalk & SI) |
| AOCV | set timing_aocvm_enable_analysis true, then read_ocvm | Depth and distance based derates instead of one flat OCV margin (see OCV / AOCV) |
| POCV | set timing_pocvm_enable_analysis true, then read_ocvm | Statistical, sigma-based variation per cell; widen it with timing_pocvm_corner_sigma |
| CRPR | set timing_remove_clock_reconvergence_pessimism true | Credits back the shared clock path so pessimism is not double counted (see CRPR) |
| Multi-scenario (DMSA) | launch pt_shell -multi_scenario | Runs many MMMC scenarios in parallel across a compute farm |
read the netlist, SPEF and SDC, run the sanity checks, propagate the clock, turn on SI and the variation model, then update and report timing across every scenario, recover margin with PBA, and emit an ECO. Clean in PT across all corners and modes is what "timing signed off" means.
Quick check
0 of 3 answered · all right completes the lesson
1.What does check_timing help you catch before reading any slack?
2.Why run report_annotated_parasitics?
3.What does PrimeTime-SI add to a timing run?
Go further
Turn your timing knowledge into interview-ready answers, numericals included.
Get new lessons by email
New lessons, interview prep and real EDA tool workflows. No spam.