Power Domains
Simple Explanation (Gist)
Power domains are distinct regions within an ASIC that operate at different supply voltages or can be independently powered on and off. They are a fundamental concept in low power design to optimize energy consumption by tailoring power delivery to specific functional blocks.
Detailed Breakdown
-
Motivation: In modern complex ASICs, not all functional blocks need to operate at the same voltage or be continuously powered. For example, a high-performance CPU core might require a higher voltage for speed, while a peripheral interface might operate at a lower voltage to save power. Similarly, some blocks might be idle for extended periods and can be completely powered down. Power domains enable this fine-grained control over power consumption.
-
Concept: A power domain is a logical and physical grouping of cells and nets that share a common power supply and can be controlled independently. The power intent for these domains is typically described using a Unified Power Format (UPF) or CPF (Common Power Format) file, which guides the EDA tools throughout the design flow.
-
Key Characteristics:
- Independent Voltage Supply: Each power domain can have its own dedicated supply voltage (
V_dd) and ground (V_ss). This allows for voltage scaling, where blocks can operate at lower voltages when high performance is not required, significantly reducing dynamic power (P_dynamic ∝ V_dd^2). - Independent Power State: Blocks within a power domain can be powered on, powered off, or put into a retention state independently of other domains. This enables power gating for static power reduction.
- Isolation: When a power domain is powered down, its outputs must be isolated to prevent floating inputs to other active domains. Isolation cells are inserted at the boundaries to force signals to a known logic state (e.g., 0 or 1).
- Level Shifting: When signals cross between domains operating at different voltages, level shifters are required to translate the signal voltage levels correctly.
- Retention: For domains that are powered down but need to retain their state, retention cells (special flip-flops or latches) are used to save and restore the state during power-down and power-up sequences.
- Independent Voltage Supply: Each power domain can have its own dedicated supply voltage (
-
Types of Power Domains:
- Always-On Domain: Contains critical logic (e.g., power management unit, clock generation) that must remain powered at all times.
- Switchable Domain: Can be powered on or off based on functional requirements.
- Multi-Voltage Domain: Operates at a different voltage than the main domain but is always powered.
-
Power Domain Implementation Flow:
- Power Intent Specification: The designer defines the power domains and their associated rules (voltages, power-down sequences, isolation, retention) in a UPF/CPF file.
- RTL Design: RTL is written with power domains in mind, often using power-aware coding styles.
- Synthesis: Power-aware synthesis tools interpret the UPF and insert necessary power management cells (isolation, level shifters, retention, power switches).
- Physical Design: Placement and routing tools respect power domain boundaries, ensure proper power grid connections, and handle the physical placement of power management cells.
- Low Power Verification: Extensive verification is performed to ensure functional correctness and power integrity across all power modes and transitions.
-
Benefits:
- Significant Power Reduction: Both dynamic and static power can be drastically reduced.
- Extended Battery Life: Crucial for mobile and IoT devices.
- Reduced Heat Dissipation: Leads to simpler packaging and improved reliability.
- Flexible Power Management: Allows for dynamic power optimization based on workload.
-
Challenges:
- Increased Design Complexity: Managing multiple power domains adds complexity to design, verification, and implementation.
- Area Overhead: Power management cells (level shifters, isolation, power switches) consume additional area.
- Timing Impact: Power management cells introduce delays that must be accounted for in timing analysis.