Power Intent and Low
Power Intent and Low
Power Intent and Low
Power Methodology
Dr. Adam Teman
24 June 2020
Outline
© AdamJune
Teman,
24, 2020
Standard Power
MSV CPF
Methods Gating
Source: U. Nis
4 © AdamJune
Teman,
24, 2020
Power-Aware Design Flow
Source: Keating
© AdamJune
Teman,
24, 2020
Gate Level Power Optimization
• Gate remapping
• Cell sizing
• Buffer insertion
Source: Keating
7 © AdamJune
Teman,
24, 2020
Multi-Threshold Logic
Source: Synopsys
Source: Rabaey
8 © AdamJune
Teman,
24, 2020
Multi VDD
Source: Keating
9 © AdamJune
Teman,
24, 2020
Power Gating
• Turn OFF power to blocks when they are idle to save leakage
• Use virtual VDD (VDDV)
• Gate outputs to prevent
invalid logic levels to next block
10 © AdamJune
Teman,
24, 2020
Standard Power
MSV CPF
Methods Gating
12 © AdamJune
Teman,
24, 2020
Static Multi-Voltage (MSV)
• Different parts of the chip running at
different voltages
• Reduces dynamic power without 1.0 V
affecting overall performance
• Requires additional power supplies
• Requires level-shifter for cross-domain 1.0 V
communication
0.7 V
13 © AdamJune
Teman,
24, 2020
Multi-Voltage Design Challenges
• Level shifters:
• Signals that go between blocks that use different power rails require level shifters.
• Characterization and STA:
• Need libraries for each voltage and level shifter configuration.
• Floorplanning:
• Floorplanning power domains
• Complex power planning and power grids
• Board level issues:
• Need additional regulators to provide the additional supplies.
• Power up and power down sequencing:
• There may be a required sequence for powering up the design in order to avoid
deadlock.
14 © AdamJune
Teman,
24, 2020
High-to-Low Shifters
• Why is a shifter required?
• You just need an inverter (or two)
• To provide characterization for a particular shift.
• Where do you place it? Source: Keating
Level Shifter in
the Destination
Domain
15 © AdamJune
Teman,
24, 2020
Low to High Shifters
• Why is it needed?
• Need to cross a threshold
• Need to eliminate crowbar current
• Shifter placement
Source: Keating
• Always requires routing one voltage to
the other domain as a signal.
• Place in the destination domain, since
the output driver requires more current.
• Additional buffers required in main
domain if distance is too large.
17 © AdamJune
Teman,
24, 2020
Low-to-High Shifter Layout
Source: Synopsys
18 © AdamJune
Teman,
24, 2020
Level Shifters in EDA
• Can be specified in RTL or automatically added during floorplanning.
• CPF/UPF enable defining level-shifter rules:
• When to add them (what voltage difference)
• Placement (source or destination domains)
• etc.
• Recommendations
• Place in the receiving domain
• Factor in the delay of low-to-high shifters in the RTL partitioning for timing
• Ensure that the voltage relationship between domains is clear so the tools can
insert the right type of shifter.
• If bi-directional shifting is required, setup and hold timing becomes complex.
19 © AdamJune
Teman,
24, 2020
Timing and Power Planning in MSV
• STA
• Characterization for all voltages and shifting possibilities must be provided.
• Each mode must be defined with its own constraints.
• Optimization must be carried out simultaneously (MMMC)
• CTS
• CTS needs to understand level shifters
• If multiple voltages are supported,
skew minimization has to be
done for both modes.
• Power Planning
• Each domain has to be provided with its
Source: Keating
own voltage and power grid.
20 © AdamJune
Teman,
24, 2020
Standard Power
MSV CPF
Methods Gating
Power Gating
Trade-offs in Power Gating
• Clock Gating vs. Power Gating
• Clock Gating is immediate,
while power gating takes time
• Leakage under power gating is much
lower than under clock gating
• Architectural Tradeoffs for Power Gating Clock Gating Example Profile Source: Keating
• Possible savings in leakage power
• Entry and exit time penalties
• Energy required to enter and leave
such leakage saving modes
• The activity profile (proportion and
frequency of times asleep or active)
© Adam
Power Gating Example June
ProfileTeman,
24, 2020
Power Gating a CPU
• A cached CPU may be inactive for long periods making power gating attractive
• However:
• Wake up time in response to an interrupt may be too long
• If cache contents are lost every time the CPU is powered down then there is likely to
be a significant time and energy cost in all the bus activity to refill the cache when it is
powered up.
• The net energy savings depend on the sleep/wake activity profile as to how much
energy was saved when power gated versus the energy spent in reloading state.
• For multi-processor systems, power gating is very advantageous
• Power gate once a CPU has finished its task → cache contents are no longer needed
• Some peripheral subsystems may also be very compatible with power gating
• Device drivers can be profiled and the operating system management scheme can be
optimized.
• Some internal state may need to be stored during sleep mode
23 © AdamJune
Teman,
24, 2020
Principles of Power Gating
• A simplified view of a power-gated SoC:
• VDD is supplied through a power switching network
• VSS is supplied to the entire chip
• A controller switches the block on/off
• Isolation cells eliminate crowbar
currents during power down
• Retention registers can be used to
retain state with low leakage
during power down
Source: Keating
24 © AdamJune
Teman,
24, 2020
Fine vs. Coarse Grain Power Gating
• Fine Grain PG:
• Local switch in each standard cell
• Huge area overhead (2x-4x) Source: Keating
• Standard flow for characterization and timing. Fine Grain AND Gate with Pull-Up
• Coarse Grain PG:
• Global (distributed) switch for a block of cells.
• Much lower area overhead.
• Very hard sizing estimation.
• Virtually all power gated designs today employ
coarse grain gating.
Source: U. Buffalo
25 © AdamJune
Teman,
24, 2020
Power Gating Challenges
• Managing the in-rush current when the power is reconnected
• Design of the power switching fabric and power gating controller
• Selection and use of retention registers and isolation cells
• Minimizing the impact of power gating on timing and area.
• The functional control of clocks and resets
• Interface isolation
• Developing the correct constraints for implementation and analysis
• Verification for each supported power state and state transition
• Developing a strategy for manufacturing and production test
26 © AdamJune
Teman,
24, 2020
Example Power Gated Design
28 © AdamJune
Teman,
24, 2020
Header Cells Layout
Source: Synopsys
29 © AdamJune
Teman,
24, 2020
Ring Style Implementation
• A ring of VDD surrounds the power gated block.
• Advantages:
• Simple power plan
• Little negative impact on PNR
• Always-on cells can be placed around
the power domain areas.
• Disadvantages:
• Large IR Drop in big power domains
• Does not support retention registers
Source: Keating
• High extra area cost compared to a grid approach.
• Note that a ring style is the only option to power gate an existing hard block.
30 © AdamJune
Teman,
24, 2020
Grid Style Implementation
• The sleep transistors are distributed
throughout the power gated region.
• Advantages:
• Virtual supply can be routed in low metal layers
• Fewer sleep transistors than ring-style to achieve
the same IR drop target.
• Retention registers and always-on buffers can
connect to the always on supply anywhere
within the domain
Source: Keating
• Better trickle charge distribution for management of in-rush current.
• Lower area overhead (due to <100% placement utilization).
• Drawbacks
• Impact on standard cell routing and physical synthesis.
• Much more complex power routing
31 © AdamJune
Teman,
24, 2020
Rail vs. Strap VDD Supply
• Two options for supplying VDD:
• Parallel Rail VDD Distribution
• Power Strap VDD Distribution
• Parallel Rail VDD Distribution
• Easy access to VDD and VVDD Power Rail Distribution
• High overhead (at least 1 track per row) Source: Keating
Source: Synopsys
35 © AdamJune
Teman,
24, 2020
State Retention
• When powering down a block, all state
information is lost. To resume its operation:
• Restore the state from an external source.
Source: power forward
• Build up its state from the reset condition.
• Instead, use a retention strategy for quick state restoration
• This is recommended for a peripheral or cached processor with significant
residual state.
• Methods for Saving and Restoring the Internal States:
• A software approach based on reading and writing registers
• A scan-based approach based on using scan chains to store state off chip
• A register-based approach that uses retention registers
36 © AdamJune
Teman,
24, 2020
Retention Approaches
• Software-based approach
• An always-on processor reads and stores the registers of the power-gated
block during the power shutdown sequence
• This suffers from slow power-down/power-up sequences that are non-
deterministic due to bus conflicts, as well as very tightly-coupled software
• Scan Chain based approach
• Separate scan chains according to power
domains and scan out state to external memory for retention.
• Retention Register approach
• A retention register contains an
always-on “shadow” register
• Typically 20%-50% overhead Source: Keating
Source: Keating
37 © AdamJune
Teman,
24, 2020
Retention Register Layout
Source: Synopsys
38 © AdamJune
Teman,
24, 2020
Power Control Sequencing
• To power gate a region without retention:
• Flush through any bus or external operations in progress Source: power forward
41 © AdamJune
Teman,
24, 2020
Standard Power
MSV CPF
Methods Gating
CPF
43
The Need for a Common Power Format
• Low-power design flows need to specify the desired power architecture to be
used at each major step and for each task.
• Old flows had no way of guaranteeing consistency
• Benefits of CPF:
• Improved quality of silicon (QoS)
• Higher productivity and faster time to market
• Reduced risk
• Two formats:
• UPF
• CPF
• We will be showing a CPF example in the following slides
© AdamJune
Teman,
24, 2020
Special Cells for Low Power Techniques
Source: Synopsys
45 © AdamJune
Teman,
24, 2020
CPF through example
• Define power domains
• Define power domains
• Define power nets for domains
• Specify power down signals (from PCM unit)
# Define the top domain
set_design TOP
# Define the default domain
create_power_domain –name pdTop –default Source: power forward
# Define libraries
define_library_set -name lib_high -libraries Lib1
define_library_set -name lib2_med -libraries {Lib2 Lib3}
47 define_library_set -name lib3_low -libraries Lib4 © AdamJune
Teman,
24, 2020
Define Power Modes
• Finally create “power modes”
• In PM3, pdB is powered down
• Define constraints for each mode
• Connect the operating corners
create_power_mode –name PM1 –default \
–domain_conditions {pdTop@high pdA@medium pdB@medium}
update_power_mode -name PM1 -sdc_files PM1.sdc
create_power_mode –name PM2 \
–domain_conditions {pdTop@high pdA@low pdB@low}
update_power_mode -name PM2 -sdc_files PM2.sdc Source: power forward
# Mode where pdB is off
create_power_mode –name PM3 \
–domain_conditions {pdTop@high pdA@low pdB@off}
update_power_mode -name PM3 -sdc_files PM3.sdc
create_analysis_view -name PM1_view -mode PM1 \
-domain_corners {pdTop@corner1 pdA@corner2 pdB@corner3}
48 © AdamJune
Teman,
24, 2020
Defining Level Shifters
• In order to automate the insertion of level shifters during synthesis or PNR,
they need to be defined
define_level_shifter_cell \
-cells LVLHVT -valid_location from \
-input_voltage_range 0.8 \
-output_voltage_range 1.2 -ground VSS \
-input_power_pin VDD \
-output_power_pin VDDH
50 © AdamJune
Teman,
24, 2020
Power Switch and Isolation Cells
• For power gating, power switch cell definitions are required:
define_power_switch_cell -cells HDRHVT \
-stage_1_enable SLPIN –stage_1_output SLPOUT \
-power VDDH -power_switchable VDDI
create_power_switch_rule –name PSW_RULE -domain ALUP
51 © AdamJune
Teman,
24, 2020
Adding in Isolation
• Define rules for adding isolation cells
• Specify isolation signal (from PCM unit)
• Isolation value can be high, low or hold
• Specify the cells to use
## All outputs of Power-Domain pdB
# isolated high on rising edge of “iso”
create_isolation_rule \
–name ir1 \
–from pdB \
–pins {uB/en1 uB/en2} \
–isolation_condition {uPCM/iso} \ Source: power forward
–isolation_output high
update_isolation_rules -names ir1 -cells ISOLS2 \
-combine_level_shifting -location to
52 © AdamJune
Teman,
24, 2020
Defining State Retention
• Define state retention requirements
• Registers to be saved
• Signal to trigger restoration
• Also need to define the cells to use
## Define State-Retention (SRPG)
# State stored on falling edge of restore[0]
# and restored on rising-edge
create_state_retention_rule \
–name sr1 \
–instances {uB/reg1 uB/reg2} \
Source: power forward
–restore_edge {uPCM/restore[0]}
# -save is by default !restore_edge
update_state_retention_rule –names SRPG1 \
–library_set lib_med –cell_type DRFF
53 © AdamJune
Teman,
24, 2020
Main References
• “Low Power Methodology Manual for SoC Design”, M. Keating, D. Flynn, et al.
• “A Practical Guide to Low-Power Design”, The Power Forward Initiative
54 © AdamJune
Teman,
24, 2020