CPF (Common Power Format) is an alternative power intent specification format developed by Si2 and Cadence — serving the same purpose as UPF (IEEE 1801) by defining power domains, switches, isolation, retention, and level shifters, but using a different syntax and organizational philosophy optimized for the Cadence design flow.
CPF vs. UPF
- Purpose: Both specify the same information — power domains, supply networks, switches, isolation, retention, level shifters, power states.
- Origin: UPF originated from Synopsys (now IEEE 1801). CPF originated from Cadence/Si2.
- Industry Status: UPF is the IEEE standard and is supported by all major EDA vendors. CPF is primarily used in Cadence-centric flows.
- Convergence: Industry has largely converged on UPF as the primary standard. Cadence tools support both UPF and CPF.
CPF Key Differences from UPF
- Top-Down Approach: CPF was designed to specify power intent from a top-down perspective — defining the power architecture at the system level first.
- Single File: CPF traditionally uses a single file for the entire design's power specification, whereas UPF supports per-scope specification.
- Rule-Based Isolation/Level Shifting: CPF specifies isolation and level shifting as rules that the tool applies automatically at domain boundaries.
- Power Mode Definitions: CPF uses
create_power_modeto define the valid operating modes and their supply configurations.
CPF Example
set_design top
create_power_domain -name CORE \
-default -instances {cpu_top}
create_power_domain -name AON \
-instances {pmu wakeup}
create_power_mode -name ACTIVE \
-domain_conditions {CORE@ON AON@ON}
create_power_mode -name SLEEP \
-domain_conditions {CORE@OFF AON@ON}
create_isolation_rule iso_core \
-from CORE -to AON \
-isolation_condition {pmu/iso_en} \
-isolation_output clamp_0
create_state_retention_rule ret_core \
-domain CORE \
-save_edge {pmu/save posedge} \
-restore_edge {pmu/restore posedge}
create_level_shifter_rule ls_core \
-from CORE -to AON
CPF in Modern Design
- Legacy Flows: Many existing Cadence-based design flows still use CPF — especially established design teams with existing CPF infrastructure.
- New Designs: Most new designs adopt UPF for broader tool compatibility and IEEE standardization.
- Tool Support: Cadence tools (Genus, Innovus, Tempus, Conformal) fully support both CPF and UPF. Import/export between formats is available.
- Migration: Cadence provides tools and methodology for converting CPF specifications to UPF.
When to Use CPF vs. UPF
- Use UPF for: New designs, multi-vendor tool flows, IP delivery, industry collaboration.
- Use CPF for: Existing Cadence-based flows with established CPF methodology, when the team has deep CPF expertise.
CPF represents an important chapter in low-power design methodology — while UPF has become the industry standard, CPF's contributions to power intent specification influenced the evolution of UPF and advanced the entire field of low-power design.
Explore 500+ Semiconductor & AI Topics
From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.