CPF (common Power Format)

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_mode` to 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.

Take cpf (common power format) further

Ask the copilot about this term, or have our engineers assess it against your process.