How do you map an abstract UPF power switch to a real library cell with map_power_switch?
From PDVerse Low-Power Physical Design Mentor Guide · pdVerse Mentor Guide
Explanation
map_power_switch takes the abstract switch created by create_power_switch and binds it to one or more real library cells, so the tool can actually instantiate physical switch transistors during implementation instead of leaving a placeholder construct.
Implementation Walkthrough
The pattern is: map_power_switch -domain -lib_cells . A simple example uses PMK/HEADBUF16. Mychip's version is map_power_switch PF_COP_SW -domain PD_COP -lib_cells HEADBUF_T50.
Command
map_power_switch PF_COP_SW -domain PD_COP -lib_cells HEADBUF_T50Switch-by-switch
-domain: the domain whose switch strategy is being mapped; lib_cells: one or more real library switch-cell names the tool may
use to implement the abstract switch.Expected Tool Behavior
The switch instance is now backed by a concrete standard cell (a header or footer switch) that create_mv_cells can place and, where needed, replicate to meet current/IR-drop requirements.
Example
PD_COP_SW mapped to HEADBUF_T50 in Mychip -- the name itself signals a header-type switch cell, consistent with a header sitting between VDD and the switched rail.
Common Mistake
Mismatching switch type -- mapping an abstract switch declared as gating power (header-style) to a footer-oriented library cell, or vice versa, when the electrical connection in create_power_switch's input/ output supply ports implies the other polarity.
Likely Error Or Warning
This topic is not covered in enough depth here to give a fully reliable answer for a specific error message on a header/footer mismatch.
Debugging Approach
Use query_map_power_switch to confirm which library cell(s) actually got bound to the switch.
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