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 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 withload_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 throughload_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 designWhat 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
set_app_options -as_user_default -list {mv.upf.enable_golden_upf true}Enable the golden UPF flow before loading any UPF
load_upf mychip.upf -supplemental dc_supp.upfRead the golden file with the synthesis changes on top
save_upf -format supplemental icc2_supp.upfWrite only the ICC2 power-intent changes
report_power_domainsConfirm domains and supplies after golden plus supplemental load
set_app_var enable_golden_upf trueEnable golden UPF mode in PrimeTime
report_power_domainConfirm PT sees the same domains as ICC2
read_upf mychip.upf -supplemental icc2_supp.upf -strict_check falseRead the golden file plus the implementation changes in VC LP
check_lp -stage designCheck 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_isolationstrategy 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
Master Low-Power VLSI & Multivoltage Design
Read the complete low-power guide library covering power domains, level shifters, isolation clamps, state retention, and UPF signoff verification.

Continue practising