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 selfSwitch-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.
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.
Continue practising