What are the different isolation clamp values (0, 1, latch), and when would you use each?
From PDVerse Low-Power Physical Design Mentor Guide · pdVerse Mentor Guide
Explanation
clamp_value tells the isolation cell which logic value to force on its output once isolation is active: 0 forces a logic low (built as an AND-type gate), 1 forces a logic high (built as an OR-type gate), and latch holds whatever value was present just before isolation turned on.
Implementation Walkthrough
Choose 0 or 1 to match whatever value is 'safe' or 'inactive' for the downstream always-on logic reading that signal (for example, an active-low enable that should read as disabled while its source domain is off). Choose latch when downstream logic actually needs the last valid value preserved rather than a fixed default; latchtype isolation additionally requires -async_set_reset to describe its asynchronous set/reset pin, and optionally -async_clamp_value to say which state (set vs reset) corresponds to the clamp.
Command
set_isolation ISO1 -domain PD1 -clamp_value latch -async_set_reset {RS1
high}Switch-by-switch
-clamp_value 0: AND-gate isolation, forces logic 0; -clamp_value 1:
OR-gate isolation, forces logic 1; -clamp_value latch: latch-type
cell that holds the pre-isolation value, requiring -async_set_reset
{net_name high|low} for its async pin, with -async_clamp_value 1|0
optionally selecting which async state maps to the clamp; a per-port
override is also available via set_port_attributes -attribute
{UPF_async_clamp_value 0}.Expected Tool Behavior
create_mv_cells inserts the matching gate type (AND, OR, or latch cell) on each isolated port and wires the isolation control signal accordingly.
Example
The ISO_OUTPUT example uses -clamp_value 0 for PD_SHUTDOWN's outputs; Mychip's PD_COP isolation is later mapped to a pair of library cells covering both OR- and AND-type behavior (O2ISO_T50, A2ISO_T50).
Common Mistake
Choosing a clamp value of 0 or 1 that doesn't actually match what the receiving always-on logic treats as safe/inactive -- e.g. clamping an active-high reset line to 0 when it needs to read as asserted while its source is off.
Likely Error Or Warning
Multiple conflict-checking rules govern combinations of async_clamp_value, -async_set_reset, and the per-port UPF_async_clamp_value attribute -- these exist as checks without a fixed literal message text.
Debugging Approach
Check the GUI isolation-cell symbol legend to confirm which clamp type was actually instantiated, and simulate the shutdown transition to verify the clamped value matches what downstream logic expects.
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