AdvancedQuestion 8 of 63

Explain the trip from a StarRC multicorner GPD to a single-corner PrimeTime annotation, and why multicorner extraction is worth it.

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

Short Answer

StarRC run with SIMULTANEOUS_MULTI_CORNER: YES extracts several RC corners in one pass into a single multicorner GPD (Galaxy Parasitic Database) file. PrimeTime then selects one corner with set_app_var parasitic_corner_name cworst_CCworst (PT) and reads it - the payoff is that the expensive geometric extraction work happens once and is reused across every corner.

Technical Reference DiagramExplain the trip from a StarRC multicorner GPD to a single-corner PrimeTime annotation, and why multicorner extraction is worth it.

Technical Explanation

  • Extraction side: one run, many corners. Running StarRC with SIMULTANEOUS_MULTI_CORNER: YES extracts several parasitic corners in a single pass and stores them together in one multicorner GPD file, instead of one GPD per corner.
  • PrimeTime side: pick one corner to read. set_app_var parasitic_corner_name cworst_CCworst (PT) selects which corner in the multicorner GPD you want, and read_parasitics -format gpd -keep_capacitive_coupling (PT) reads it in. The read report echoes back the annotated corner name, which confirms you got the one you asked for.
  • The economics driving this. MCMM signoff needs timing at many RC corners - cbest, cworst, rcworst, typical, and more. Extracting each corner in its own StarRC run repeats the geometric processing step every time, and that geometry step is the expensive part of extraction.
  • What a single multicorner extraction saves. The geometry is processed once, and all the corners are emitted from that one pass, which cuts total extraction turnaround dramatically compared to running StarRC once per corner.
  • PrimeTime's job becomes cheap. Once the multicorner GPD exists, annotating whichever corner a given signoff scenario needs is a fast read, not a re-extraction.
  • A related query tool. Enabling the Parasitic Explorer before reading lets you query across corners with -parasitic_corners (PT), useful for comparing a net's RC across corners without separate reads.

Common Mistake

  • Re-running StarRC once per corner out of habit, paying for the expensive geometric extraction step repeatedly instead of extracting once with SIMULTANEOUS_MULTI_CORNER: YES.
  • Reading a multicorner GPD without checking the echoed corner name, then discovering later that a scenario was accidentally annotated with the wrong RC corner.
  • Cost: extraction turnaround time multiplied by the number of corners, which can turn a same-day signoff cycle into a multi-day one on a large design.

Follow-up Question & Model Response

Two engineers annotate the same block with what they both believe is the cworst corner, but their PrimeTime sessions report different hold slack. What would you check first?

Candidate Model Response: I would first check each session's set_app_var parasitic_corner_name value and compare it against the read confirmation message from read_parasitics, since a typo or stale variable can silently select a different corner name from the multicorner GPD than the one intended - for example rcworst instead of cworst. I would also confirm both sessions are reading the same GPD file and the same StarRC extraction run, since a regenerated GPD from a newer extraction can carry updated parasitics under the same corner name. Only after ruling out a corner-selection mismatch would I look at whether the two sessions differ in some other setting, like SDC or library version.

Practical Example

A 7nm block needs five signoff corners: cbest, cworst, cworst_CCworst, rcworst, and typical. Extracting each separately in StarRC takes roughly 40 minutes of geometric processing per corner, 200 minutes total. Running StarRC once with SIMULTANEOUS_MULTI_CORNER: YES produces one multicorner GPD in about 55 minutes - the geometry is processed once and all five corners are derived from it. PrimeTime then annotates each signoff scenario in seconds with set_app_var parasitic_corner_name cworst_CCworst followed by a read, cutting total turnaround by roughly 70%.

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.