ExpertQuestion 37 of 50Source: Synopsys IC Compiler II Multivoltage User Guide: UPF Flows; Synopsys PrimeTime User Guide: Golden UPF Flow; Synopsys VC LP User Guide: Reading the UPF

What is the golden UPF flow, and why use it instead of save_upf at every step?

From PDVerse Low-Power Physical Design Mentor Guide · pdVerse Mentor Guide

Short Answer

In the golden UPF flow you never rewrite the RTL power intent: every tool reads the original file plus supplemental UPF files that hold only tool-made changes. You enable it with mv.upf.enable_golden_upf (ICC2) before loading the UPF and write changes with save_upf -format supplemental (ICC2), so reviewers, PT and VC LP all check the same intent.

Technical Reference DiagramWhat is the golden UPF flow, and why use it instead of save_upf at every step?
Lanes for UPF file, synthesis, ICC2, PT and VC LP: one frozen mychip.upf feeds every lane, synthesis writes dc_supp.upf, ICC2 with mv.upf.enable_golden_upf (ICC2) writes icc2_supp.upf via save_upf -format supplemental (ICC2), and PT and VC LP read the golden file plus the ICC2 supplemental.

Technical Explanation

  • UPF-prime flow: each tool writes a full UPF' or UPF'' that mixes original commands with its own changes, losing comments, wildcards and structure.
  • Golden flow: the original file stays unchanged; synthesis and ICC2 each write a supplemental UPF with only power-intent changes.
  • Enable before load: set mv.upf.enable_golden_upf (ICC2) to true first, then read supplementals with load_upf -supplemental (ICC2).
  • Tool-specific branches: conditional statements for one tool survive in the golden file; the UPF-prime flow drops them.
  • PrimeTime: set_app_var enable_golden_upf true (PT) turns it on; after that, UPF commands other than queries run only through load_upf (PT) scripts.
  • Name mapping: optimization and ungrouping rename objects, so golden names may not match the netlist; a name-mapping file bridges them.
  • What breaks: hand-editing the golden file mid-flow, or giving PT an older supplemental than VC LP, lets tools check different intent without any error.
# [ICC2]  icc2_shell
set_app_options -as_user_default -list {mv.upf.enable_golden_upf true}
load_upf mychip.upf -supplemental dc_supp.upf
save_upf -format supplemental icc2_supp.upf
# [PrimeTime]  pt_shell
set_app_var enable_golden_upf true
# [VC LP]  vc_static_shell
read_upf mychip.upf -supplemental icc2_supp.upf -strict_check false
check_lp -stage design

What To Check

  • The golden file is unchanged from RTL power-intent signoff to tapeout.
  • Every downstream tool reads the same golden file and the same supplementals, in the same order.
  • The golden option is set in ICC2 before the first load_upf.
  • Supplementals hold tool changes such as inserted cells and updated elements, not rewritten strategies.

Command Checks & Actions

ICC2 (icc2_shell)set_app_options -as_user_default -list {mv.upf.enable_golden_upf true}

Enable the golden UPF flow before loading any UPF

ICC2 (icc2_shell)load_upf mychip.upf -supplemental dc_supp.upf

Read the golden file with the synthesis changes on top

ICC2 (icc2_shell)save_upf -format supplemental icc2_supp.upf

Write only the ICC2 power-intent changes

ICC2 (icc2_shell)report_power_domains

Confirm domains and supplies after golden plus supplemental load

PrimeTime (pt_shell)set_app_var enable_golden_upf true

Enable golden UPF mode in PrimeTime

PrimeTime (pt_shell)report_power_domain

Confirm PT sees the same domains as ICC2

VC LP (vc_static_shell)read_upf mychip.upf -supplemental icc2_supp.upf -strict_check false

Read the golden file plus the implementation changes in VC LP

VC LP (vc_static_shell)check_lp -stage design

Check the netlist against golden plus supplemental intent

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): mychip.upf is byte-identical to the RTL release and icc2_supp.upf holds 9 lines of tool-derived updates.
  • Suspicious (illustrative): icc2_supp.upf redefines a whole set_isolation strategy instead of refining it, so someone changed intent inside the implementation tool.
  • Hard stop: PT and VC LP read different supplemental versions, or ICC2 loaded the UPF before the golden option was set.

Common Mistake

The Trap: Hand-patching the UPF' written by ICC2 and giving it to PT while VC LP still reads the golden file plus supplementals.

  • The two signoff tools now check different power intent, so a clean VC LP run says nothing about what PT timed.

What The Interviewer Is Testing

  • Can you explain what a supplemental UPF holds and why the golden file never changes?
  • Do you keep every signoff tool on the same power intent?

Follow-up Question & Model Response

"IEEE 1801 also uses the words "golden UPF". Is that the same thing?"

Candidate Model Response: Not exactly. The standard's successive-refinement section calls the configuration UPF, where strategies are added to the IP constraints, "sometimes the golden UPF". The Synopsys golden UPF flow is a file-handling method: keep one original file and carry tool changes in supplementals. Both point the same way, because the intent you reviewed stays the file every tool reads.

Practical Example

Design Scenario: (illustrative) MYCHIP's mychip.upf (212 lines, with tool-specific conditional blocks) is frozen at RTL signoff. Synthesis writes dc_supp.upf, 18 lines naming inserted isolation and level-shifter cells. ICC2 loads both and, after CTS and one ECO, writes icc2_supp.upf with 9 lines. PT and VC LP read mychip.upf plus icc2_supp.upf. A reviewer checking what changed between RTL and tapeout reads 27 lines instead of diffing two 200-line UPF'' files.

Low-Power & UPF Handbook

Read the complete low-power guide library covering power domains, level shifters, isolation clamps, state retention, and UPF signoff verification.

Low-Power VLSI & UPF Handbook — nine chaptersLow-Power & UPFDomains, isolation, retention, and multivoltage UPF. →