IntermediateQuestion 9 of 20Source PDF page 62

How do you decide between placing a level shifter in "self" vs "parent" location?

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

Explanation

-location self places the level shifter physically/logically inside the domain whose boundary is being crossed; -location parent places it just outside, in the surrounding domain. The choice generally tracks whether the crossing signal is an input or output of the shutdown domain and which side should host the shifting logic.

Implementation Walkthrough

In the PD_SHUTDOWN example, incoming signals (inputs, low_to_high) use -location self so the shifted signal is ready right at the boundary, already inside the domain. Outgoing signals (outputs, high_to_low) use -location parent so the shift happens just after leaving the domain, keeping that logic out of the shutdown block's own footprint. Mychip applies the identical pattern to PD_CPU: TO_PD_CPU_LST (inputs) uses self, FROM_PD_CPU_LST (outputs) uses parent.

Command

set_level_shifter TO_PD_CPU_LST -domain PD_CPU -applies_to inputs -rule high_to_low -location self

Switch-by-switch

-location self: places the shifter inside the domain being shifted; -location parent: places the shifter in that domain's parent. (For lower-domain-boundary cases, there's also -location other, placing the cell in the parent for an upper boundary port or in the child domain for a lower boundary port; -location cannot be combined with -update.)

Expected Tool Behavior

The location choice determines which domain's physical/voltage area ultimately contains the level-shifter instance, which in turn determines which supply is naturally local to it.

Example

PD_CPU's TO_PD_CPU_LST (self) / FROM_PD_CPU_LST (parent) pair in Mychip.

Common Mistake

Placing an output level shifter as self on a domain that is about to shut down -- if the shifter lives inside the domain being powered off, it could lose power exactly when the signal it's shifting needs to leave the domain.

Likely Error Or Warning

This topic is not covered in enough depth here to give a fully reliable answer for a placement-specific message; a mis-set strategy relative to the boundary can surface generically via analyze_mv_design's MV-1108 diagnostic.

Debugging Approach

Use analyze_mv_design -level_shifter -through to see which domain and supply are attributed to a failing crossing.

Visual explanationLow-power context: How do you decide between placing a level shifter in "self" vs…
Low-power context: How do you decide between placing a level shifter in "self" vs…A three-step concept map summarizes the focus, core answer, and practical verification for How do you decide between placing a level shifter in "self" vs "parent" location?Question focusHow do you decidebetween placing a levelshifter in "self" vs…Core answer-location self placesthe level shifterphysically/logicallyinside the domain whose…Verify in practiceset_level_shifterTO_PD_CPU_LST -domainPD_CPU -applies_toinputs -rule high_to_lo…Understand → explain the mechanism → verify the assumptions

Continue learning free

Get a practical low-power chapter

Receive the existing “Low Power and Multivoltage Fundamentals” PDF chapter and its download link by email.