How does UPF represent illegal power states, and what mechanisms exist to declare them?
From PDVerse Low-Power Physical Design Mentor Guide · pdVerse Mentor Guide
Technical Explanation
UPF lets you flag certain combinations of supply states as simply not allowed to occur. The mechanism is the add_power_state command applied to a supply, group, or domain object: each named state carries a supply expression together with either a -legal or illegal tag, so the state table itself records which combinations are valid operating points and which are forbidden.
Architecture-level Reasoning
Declaring illegal states directly in the power-intent model lets downstream verification catch any control sequence or power-mode transition that would produce a forbidden combination, instead of relying on ad hoc checks scattered through the design.
Step-by-step Walkthrough
1) Build the state definitions with add_power_state -state {supply_expr }. 2) Mark each state as -legal or -illegal as appropriate. 3) Any subsequent transition or PST entry that would resolve to an -illegal-tagged state is then flagged by the verification flow as a power-state violation.
Command
add_power_state -state {-supply_expr } -illegalSwitch-by-switch
-state : names the power state being declared. supply_expr : the boolean/voltage expression over supply objects
that defines when this state applies. -legal / -illegal: tags
whether the described combination is an allowed or forbidden
operating state.Expected Result
A complete state table in which every reachable supply combination is classified as legal or illegal, giving verification a ground truth to check control sequences against.
Possible Implementation Error
Omitting an -illegal declaration for a genuinely impossible/unsafe combination, so a bad control sequence that produces it goes unflagged.
Likely Tool / Clp Warning
This topic is not covered in enough depth here to give a fully reliable answer regarding a specific tool error code for a missed illegal-state declaration.
Root Cause
add_power_state only classifies the states you explicitly enumerate — an unlisted combination is not automatically treated as illegal.
Debugging Sequence
1) Enumerate every supply combination the PST can actually produce. 2) Cross-check each against the add_power_state -legal/illegal declarations. 3) Add any missing -illegal declaration for combinations that should never occur. Missing illegal-state coverage is a power-intent completeness gap that should be closed before the design is signed off for power-mode correctness.
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