What's the difference between physical and logical feedthrough buffering in multivoltage designs?
From PDVerse Low-Power Physical Design Mentor Guide · pdVerse Mentor Guide
Short Answer
Both methods buffer a net that physically crosses another domain's voltage area. Physical feedthrough buffering places dual-rail buffers in the crossed voltage area and assigns them to that power domain without punching ports, so the logic hierarchy is unchanged. Logical feedthrough buffering is used when the domain is created at a scope below the net, so the tool punches ports into that hierarchy and places the buffer inside it.
Technical Explanation
- Physical feedthrough: the net is logically in one domain but physically crosses another voltage area; dual-rail buffers go in without new ports.
- The buffer joins the crossed domain in the output UPF: it is added to that domain's
create_power_domain(UPF) elements list. - Logical feedthrough: when the crossed domain's scope is below the net's hierarchy, the tool punches ports and puts the buffer inside.
- No isolation cells can be inserted at the punched ports, so the path must not need isolation there.
- Both are off by default; enable them per voltage area with
create_voltage_area_rule(ICC2) and-allow_physical_feedthroughor-allow_logical_feedthrough. - For logical feedthrough in physical synthesis, create the rule before
commit_upforcreate_mv_cells(ICC2). assign_feedthrough_supply(ICC2) picks related supplies for feedthrough ports to minimize dual-rail cells and avoid new violations.
# [ICC2] icc2_shell
create_voltage_area_rule -name vr_cop -voltage_areas PD_COP -allow_pass_through true -allow_buffering true -allow_physical_feedthrough true
assign_feedthrough_supply -net {ft_data} -verbose
generate_mv_feedback -net {ft_data}
check_mv_designWhat To Check
- Voltage areas that nets must cross have a rule allowing the intended feedthrough type.
- Physical feedthrough buffers use dual-rail cells and appear in the crossed domain's elements in the saved UPF.
- No path that needs isolation passes through a logically punched port.
assign_feedthrough_supply(ICC2) reports no failed nets.
Command Checks & Actions
create_voltage_area_rule -name vr_cop -voltage_areas PD_COP -allow_pass_through true -allow_buffering true -allow_physical_feedthrough trueAllows physical feedthrough buffering through PD_COP; pass-through and buffering must also be true.
assign_feedthrough_supply -net {ft_data} -verboseAssigns related supplies to feedthrough ports and reports nets it could not process.
generate_mv_feedback -net {ft_data}Suggests isolation and level shifter strategy changes for feedthrough violations.
check_mv_designChecks for MV violations introduced by feedthrough buffers.
Healthy, Suspicious & Hard-stop Results
- Healthy (illustrative): ft_data has two dual-rail buffers in PD_COP, listed in the PD_COP elements in the saved UPF;
check_mv_design(ICC2) is clean. - Suspicious (illustrative): Buffers are correct but
assign_feedthrough_supply(ICC2) reports one failed net that the flow did not revisit. - Hard stop: Logical feedthrough punched ports on a path that needs isolation, or feedthrough buffering disabled so the long net is left unbuffered.
Common Mistake
The Trap: Enabling logical feedthrough on a voltage area without checking which nets need isolation.
- Punched ports cannot take isolation cells, so an isolated crossing loses its protection.
- The block's outputs then float into always-on logic whenever that domain is off.
What The Interviewer Is Testing
- Can explain why physical feedthrough needs no new ports.
- Knows when the tool must fall back to logical feedthrough.
- Knows both are off by default and how to enable them.
Follow-up Question & Model Response
"Why does physical feedthrough buffering use dual-rail cells?"
Candidate Model Response: The buffer sits in the crossed voltage area, whose primary rail may switch off while the net must keep working. A dual-rail buffer takes its backup supply from an always-on source, so the net survives the shutdown. By default ICC2 uses a regular buffer instead if the crossed voltage area's primary supply is more on than the sink supply and is off when the source supply is off. That rule saves area and congestion when the crossed rail is safe enough.
Practical Example
Design Scenario: (illustrative) Net ft_data runs 400 um from a driver in PD_MYCHIP across the PD_COP voltage area to a load in PD_MYCHIP. With a rule allowing physical feedthrough on PD_COP, ICC2 inserts two dual-rail buffers inside that voltage area with backup pins on VDD1p0 and adds them to the PD_COP elements in the saved UPF. No ports are punched into U_COP. A second net, ctrl_x, crosses sub-block U_SUB, whose domain PD_SUB is created below the net's scope, so the tool uses logical feedthrough and punches two ports into U_SUB; the team confirms ctrl_x needs no isolation there.
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