ExpertQuestion 32 of 50Source: Synopsys IC Compiler II Multivoltage User Guide: Feedthrough Buffering With Missing Voltage Areas, Assigning Related Supplies for Feedthrough Ports, The Incomplete UPF Flow

A feedthrough crosses a domain with no voltage area defined yet. What breaks, and how do you handle it?

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

Short Answer

With a voltage area missing, ICC2 puts that domain in DEFAULT_VA, and it only buffers a feedthrough through the domain if the domain primary supply matches the top domain primary. Everything you implement there is provisional: buffers may sit on a supply that later turns out to be switched, and checks that need the real VA cannot run properly. Keep the net known, assign feedthrough supplies explicitly, and re-check once the voltage area exists.

Technical Reference DiagramA feedthrough crosses a domain with no voltage area defined yet. What breaks, and how do you handle it?
Floorplan with net dsp2cpu_req from PD_DSP to PD_CPU crossing PD3, first shown with no voltage area (DEFAULT_VA, buffered because PD3 shares the top VDD1p0 primary), then after PD3 gets its own switchable VA_PD3 on VDD1p0_SW (hatched, red buffers), and a note on assign_feedthrough_supply (ICC2).

Technical Explanation

  • Default: mv.upf.enable_missing_voltage_area (ICC2) is true, so missing VAs are allowed and top-level domains without one go to DEFAULT_VA.
  • Global policy trap: when Early Data Check runs with a global policy, ICC2 ignores mv.upf.enable_missing_voltage_area (ICC2), so the option no longer controls this behavior.
  • Buffering rule: a buffer may go in a domain with no VA only if that domain primary is equivalent to the topmost primary.
  • What breaks: if a later UPF makes that domain switchable, buffers already placed in its region sit on a rail that turns off.
  • Checks: check_mv_design (ICC2) still warns about missing voltage areas, so the warning list becomes your to-do list, not noise.
  • Supply assignment: assign_feedthrough_supply (ICC2) picks related supplies for feedthrough ports to reduce dual-rail cells and avoid new violations.
  • Feedback: generate_mv_feedback (ICC2) suggests isolation and level-shifter changes for feedthrough violations; you apply the fixes yourself.
# [ICC2]  icc2_shell
get_app_option_value -name mv.upf.enable_missing_voltage_area
check_mv_design
assign_feedthrough_supply -net {dsp2cpu_req} -verbose
generate_mv_feedback -net {dsp2cpu_req}
report_early_data_checks

What To Check

  • Every domain still on DEFAULT_VA is listed and owned.
  • Buffers on feedthrough nets are rechecked after the real VA is created.
  • Feedthrough ports have assigned supplies, not guesses.
  • Missing-VA warnings shrink over time, not grow.

Command Checks & Actions

ICC2 (icc2_shell)get_app_option_value -name mv.upf.enable_missing_voltage_area

Confirm missing voltage areas are allowed

ICC2 (icc2_shell)check_mv_design

List missing voltage area warnings and crossing violations

ICC2 (icc2_shell)assign_feedthrough_supply -net {dsp2cpu_req} -verbose

Assign related supplies to the feedthrough ports on the net

ICC2 (icc2_shell)generate_mv_feedback -net {dsp2cpu_req}

Get suggested strategy changes for the feedthrough

ICC2 (icc2_shell)report_early_data_checks

See which checks were tolerated or repaired, such as mv.va.missing_voltage_area

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): Only PD3, which shares the top primary, remains on DEFAULT_VA, and assign_feedthrough_supply succeeds on all nets.
  • Suspicious (illustrative): The feedthrough is buffered, but the MV-1057 count shows one net could not be assigned.
  • Hard stop: Buffers sit in a region later made a switchable VA, or assign_feedthrough_supply reports MV-1061 on the net.

Common Mistake

The Trap: Treating the clean buffering result as final because no error appeared.

  • When the VA arrives and the domain turns out switchable, those buffers die at shutdown and the feedthrough net goes X.
  • Because the net passed every earlier check, nobody looks at it again unless the missing-VA warnings are tracked to closure.

What The Interviewer Is Testing

  • Do you know how ICC2 treats a domain without a VA?
  • Would you plan a re-check once the VA lands?

Follow-up Question & Model Response

"What changes if you disable missing voltage area support?"

Candidate Model Response: Domains without a VA are no longer assigned to DEFAULT_VA in either the top or the lower-level block. Implementation commands that need voltage areas then stop with an MV-51 error. That is stricter and safer late in the flow, because nothing gets built on a guess. Early on it blocks exploration, so most teams leave it on and track the warnings.

Practical Example

Design Scenario: (illustrative) The net dsp2cpu_req runs from PD_DSP to PD_CPU across the region of PD3, which has no VA yet and shares the top primary VDD1p0. ICC2 inserts two buffers there on DEFAULT_VA. Two weeks later a UPF update moves PD3 onto a switched primary, VDD1p0_SW, and gives it its own VA. The re-run of check_mv_design flags both buffers; the team reruns assign_feedthrough_supply and fix_mv_design, which converts them to dual-rail with backup pins on VDD1p0. The missing-VA warning list is now empty, so the feedthrough plan is final.

Low-Power & UPF Handbook

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

VLSI Physical Design Planning Handbook — fourteen chaptersDesign PlanningFourteen chapters, floorplanning through timing budgets. →