ExpertQuestion 3 of 10Source page 16

Timing changed dramatically between two runs, but the netlist is provably identical. What do you compare first?

From PDVerse MMMC Interview Masterclass, part of the pdVerse Mentor Series

Direct answer

When identical netlists yield different timing results, first compare the environment and input files: diff the SDC constraints, check SPEF annotation coverage and corner settings [PrimeTime: report_annotated_parasitics], verify library release versions, and audit tool variables and OCV derates [PrimeTime: report_ocvm].

Technical Reference DiagramTiming changed dramatically between two runs, but the netlist is provably identical. What do you compare first?

Mentor explanation

Systematic environment diffing identifies the root cause of unexpected timing discrepancies.

Key terms

  • SDC diff — checks for modified clock definitions, updated case constants, or altered timing exceptions.
  • SPEF annotation percentage — confirms whether parasitics were fully annotated or defaulted to zero.
  • Library checksum / version — verifies that underlying .lib / .db files were not updated or substituted.
  • Tool variables / derates — checks for changes in set_timing_derate, CRPR settings, or tool release versions.

When netlists are identical, slack discrepancies are always driven by constraints, parasitics, libraries, or tool environment settings.

Practical example

Automated Environment Diff Command:

# In PrimeTime / Tempus: Dump and diff configuration states
report_app_options > runA_options.rpt
report_timing_derate > runA_derates.rpt
report_case_analysis > runA_case.rpt
# Diff against Run B to isolate the exact variable change

Interview trap

Spending days debugging RTL and netlist logic when the timing change was caused by a modified SDC constraint, an unannotated SPEF file, or a changed tool derate variable.

Key takeaways

  • STA engines are deterministic; timing changes on identical netlists stem from environment drift.
  • Check SDC checksums, library versions, SPEF timestamps, and derating variables in sequence.
  • Diff configuration dumps (report_app_options, report_timing_derate) to pinpoint root causes.
Self-check: can you answer this aloud?

Try a 45-second answer using this structure:

  1. State the direct answer.
  2. Explain the timing or physical reason.
  3. Name one caveat.
  4. Say how you would verify it in a real flow.

MMMC Signoff Guide

Explore the full 10-chapter MMMC guide on modes, PVT corners, RC parasitics, analysis views, and correlation between implementation and signoff tools.

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.