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.

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account