What are always-on control paths and always-on buffers used for in a real design?
From PDVerse Low-Power Physical Design Mentor Guide · pdVerse Mentor Guide
Explanation
Always-on control paths are the signals -- sleep, acknowledge, save, restore, isolation-enable -- generated by the power controller that must keep working correctly even while the domains they control are shut down. Always-on buffers are the special cells used to carry these signals safely through a powered-down region without losing power themselves.
Implementation Walkthrough
The diagram below shows the power controller (U_PC) generating SLEEP, ACK, RETN, and ISOLATE_CTRL, all of which must be delivered reliably into and around shutdown domains. Always-on logic is needed for cells in shutdown domains that must stay active continuously -retention registers, isolation cells, retention control paths, and isolation enable paths. A concrete example is a save/restore signal that must pass through a shutdown voltage area and therefore needs buffering with an always-on buffer. An always-on cell is functionally an ordinary buffer or inverter, but wired to a backup supply that keeps it powered through shutdown; the tool only performs this optimization automatically if the target library contains cells actually marked with the always_on attribute.
Expected Tool Behavior
create_mv_cells performs always-on buffering automatically when the target library contains always_on-marked buffers/inverters; signals such as SAVE/RESTORE/RETN/ISOLATE_CTRL that must traverse a shutdown region get routed through these cells instead of ordinary ones.
Example
In Mychip, U_PC/SRE (save/restore) and U_PC/PSE / U_PC/PSE_ACK (sleep/acknowledge) are power-controller outputs that must reach PD_COP's control logic regardless of PD_COP's own power state -exactly the kind of path that needs always-on buffering.
Common Mistake
Letting a control signal like SAVE/RESTORE or an isolation enable pass through an ordinary (non-always-on) buffer that happens to sit inside the very domain being shut down, silently breaking the control path the moment that domain powers down.
Likely Error Or Warning
This topic is not covered in enough depth here to give a fully reliable answer for a specific error message; always-on optimization simply requires a library with always_on-marked cells.
Debugging Approach
Check the target library for cells carrying the always_on attribute, and trace the physical path of SAVE/RESTORE/RETN/ISOLATE_CTRL signals to confirm none of it crosses an unbuffered shutdown region.
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