IntermediateQuestion 17 of 60

What is a feedthrough path, and what happens if it isn't handled correctly?

From PDVerse Low-Power Physical Design Mentor Guide, part of the pdVerse Mentor Guide

Short Answer

A feedthrough path is a net that passes through a domain without being used there, for example a PD_CPU to PD_MYCHIP signal routed across the PD_COP area. If it gets buffered on the switched supply of the area it crosses, the net dies whenever that domain is off, even though both its ends are on. ICC2 handles this with always-on or dual-rail buffers, and the UPF can also mark ports that are shorted inside a block as feedthroughs.

Technical Reference DiagramWhat is a feedthrough path, and what happens if it isn't handled correctly?

Technical Explanation

  • Physical feedthrough: a net that only crosses the area. With create_voltage_area_rule -allow_physical_feedthrough true (ICC2), ICC2 buffers it with dual-rail cells and punches no ports.
  • Regular buffers: ICC2 uses them only if the crossed area is on whenever the sink is on and off whenever the source is off.
  • No supply available: if neither the driver nor the load supply exists in the crossed domain, ICC2 marks the net dont_touch.
  • Logical feedthrough: set_port_attributes -feedthrough (UPF) says two ports of a block or cell are shorted inside it.
  • Query it with get_upf_port_attribute (ICC2) and the UPF_feedthrough attribute, which returns the shorted pins.
  • For hierarchical blocks, assign_feedthrough_supply (ICC2) picks related supplies for punched feedthrough ports and writes a report.
  • A macro pin with no related supply that is not a feedthrough is treated as unconnected.
# [UPF]  mychip.upf
set_port_attributes -model MEM_WRAP -ports {ft_in ft_out} -feedthrough
# [ICC2]  icc2_shell
get_upf_port_attribute -objects [get_pins U_MEM/ft_in] -attribute UPF_feedthrough
assign_feedthrough_supply -verbose -pin {U_MEM/ft_in}
check_mv_design

What To Check

  • Nets that cross PD_COP between always-on endpoints carry no buffer powered only by VDD1p0_SW.
  • Dual-rail buffers on those nets have their backup pin on an always-on strap.
  • Block ports that are shorted internally carry the feedthrough attribute.
  • No crossing net was silently frozen as dont_touch.

Command Checks & Actions

UPF (design.upf)set_port_attributes -model MEM_WRAP -ports {ft_in ft_out} -feedthrough

Declare two block ports shorted internally

ICC2 (icc2_shell)get_upf_port_attribute -objects [get_pins U_MEM/ft_in] -attribute UPF_feedthrough

Return the pins shorted to this one

ICC2 (icc2_shell)assign_feedthrough_supply -verbose -pin {U_MEM/ft_in}

Assign supplies to feedthrough ports and report them

ICC2 (icc2_shell)check_mv_design

Report buffers whose supply is off while driver and load are on

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): Every PD_COP crossing net is buffered with dual-rail cells on VDD1p0 or regular cells only where the rules allow, and check_mv_design is clean.
  • Suspicious (illustrative): A long crossing net marked dont_touch with no buffers, which will likely fail transition later.
  • Hard stop: A buffer on VDD1p0_SW drives a PD_MYCHIP load while PD_COP can be off.

Common Mistake

The Trap: Letting a buffer powered only by VDD1p0_SW sit on a PD_CPU to PD_MYCHIP net that crosses PD_COP.

  • Both ends stay on, so functional tests pass, but whenever PD_COP is off the signal stops and PD_MYCHIP reads garbage.

What The Interviewer Is Testing

  • Can you separate a physical feedthrough from the UPF feedthrough attribute?
  • Do you know when a regular buffer is safe on a crossing net?

Follow-up Question & Model Response

"Why would a regular buffer ever be allowed on a net crossing a shutdown area?"

Candidate Model Response: Because being off is only a problem when the endpoints are on. If the crossed domain is on whenever the sink is on, and off only when the source is off too, the buffer never breaks a live transfer. ICC2 checks exactly this and uses regular buffers where it holds, which saves area and routing. Everywhere else it needs always-on cells.

Practical Example

Design Scenario: (illustrative; MEM_WRAP is an illustrative block name) A 3 mm net from U_CPU to U_PC crosses the PD_COP area and needs two buffers. PD_CPU and PD_MYCHIP are always on, but PD_COP is not, so ICC2 uses dual-rail buffers with backup pins on a VDD1p0 strap. Separately, the memory wrapper U_MEM passes ft_in straight to ft_out, so the UPF marks that pair as a feedthrough.

Low-Power & UPF Handbook

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

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
Low-Power VLSI & UPF Handbook โ€” nine chaptersLow-Power & UPFDomains, isolation, retention, and multivoltage UPF.