55
Innovation Through Collaboration Common Power Format Tutorial December 6, 2007 Qi Wang Cadence Desi gn Systems, Inc. LPC Ar chi tect, LPC, Si2

CPF_tutorial_2007_12_06

Embed Size (px)

Citation preview

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 1/55

Innovation Through Collaboration

Common Power FormatTutorial

December 6, 2007

Qi WangCadence Design Systems, Inc.

LPC Architect, LPC, Si2

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 2/55

 – 2 –Innovation Through Collaboration

 – 2 –Innovation Through Collaboration – Low Power Coalition

Outline

●Where Was It Started?

●CPF Basics

●Digest CPF Using A Simple Example

●CPF Based Low Power Design Flow

●Where Is CPF Headed?

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 3/55

 – 3 –Innovation Through Collaboration

 – 3 –Innovation Through Collaboration – Low Power Coalition

Low Power Design Without A Power Format

Verification

Formal Analysis

 Acceleration& Emulation

Simulation

   V  e  r   i   f   i  c  a   t   i  o  n   C  o  v  e  r  a  g  e

   T  e

  s   t   b  e  n  c   h   A  u   t  o  m  a   t   i  o  n

Design Creation

Synthesis

ConstraintGeneration

Design for Test

SVP

E  q ui  v  al   en c  e C h  e c k 

i  n g

 C  on s  t  r  ai  n t  V  al  i   d  a t  i   on

SpecificationFunction, timing, power 

RTL

Coding

IterateIterate

Physical Implementation

Chip IntegrationPrototyping

Physical Synthesis

Routing

DF T 

  A n al   y  s i   s 

Sign-off 

A T P  G

 C  on s  t  r  ai  n t  V  al  i   d  a t  i   on

E  q ui  v  al   en c  e

 c h  e c k i  n g

L V  S  /  DR

 C  /  E x  t  

GDSII

Constraints Netlist

How do you verifypower functionality

without changing RTL??

MSVSRPGPSO

DVFS

Command file•Domains

•Level shifters•Isolation•SRPG

Command file•Domains•Level shifters•Isolation•SRPG

Command file•Domains•Level shifters•Isolation•SRPG

Command file•Domains

Command file•Domains•Modes for ATPG

Command file•Domains•Level shifters•Isolation•SRPG

Command file•Domains•Level shifters•Isolation

•SRPG

Which one ofthese is “golden”?

Does the power

shutoff really going towork?

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 4/55

 – 4 –Innovation Through Collaboration  – 4 –Innovation Through Collaboration – Low Power Coalition

LibrariesIP

What Was the Problem?

LogicInformation(Verilog)

Synthesis

Test

SVP

Formal Analysis

Simulation

Parser Parser 

Parser 

Logic is “ Connected”

P+R

Parser 

   P  a  r  s  e  r

P  ar  s  e

Can be Automated

Hardware

Parser 

EquivalenceChecking

Parser 

Management

Parser 

Power Information(CPF)

Power is Not “ Connected”

Very Difficult to Automate

Power Information(no consistency)

LibrariesIP

Synthesis

Test

SVP

Formal Analysis

Simulation

Parser Parser 

Parser 

P+R

Parser 

   P  a  r  s  e  r

P  ar  s  er 

Hardware

Parser 

EquivalenceChecking

Parser 

Management

Parser 

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 5/55

 – 5 –Innovation Through Collaboration  – 5 –Innovation Through Collaboration – Low Power Coalition

Common Power Format (CPF)Single file format to automate low power holistically

Power is “ Connected”

Is Automated

LibrariesIP

Synthesis

Test

SVP

Formal Analysis

Simulation

Parser Parser 

Parser 

P+R

Parser 

   P  a  r  s  e  r

P  ar  s  er 

Hardware

Parser 

EquivalenceChecking

Parser 

Management

Parser 

Power Information(CPF)

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 6/55

 – 6 –Innovation Through Collaboration  – 6 –Innovation Through Collaboration – Low Power Coalition

Rallying Industry Support

CPF

D   e  s   i     g   

n  

   V  e  r   i   f   i

  c  a   t   i  o

  n

Implementation

Libs

Semi

System

MfgEquip

EDA

IP

 A new method ofcapturing design

and constraintinformation

Enables automation and

what-if exploration

Facilitates holisticmethodology acrossdesign, verification,and implementation

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 7/55

 – 7 –Innovation Through Collaboration  – 7 –Innovation Through Collaboration – Low Power Coalition

300300ManMan

YearsYears

Common Power Format Progress

2005

CPFCPFV 0.0V 0.0

Q22006

CPFCPFV 0.5V 0.5

~ 100 Inputs~ 100 Inputs

Q32006

CPFCPFV 0.8V 0.8

> 400 Inputs> 400 Inputs

Q42006

CPFCPFV 1.0V 1.0

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 8/55

 – 8 –Innovation Through Collaboration  – 8 –Innovation Through Collaboration – Low Power Coalition

● Dec 4, 2006

Cadence contributed CPF v1.0 to Si2

● January 12, 2007

LPC members unanimously voted andapproved CPF v1.0 as Si2 Specif ication forlow power standard

● January 17, 2007

Cadence contributed CPF v1.0 parser sourcecode to Si2

● March 5, 2007

CPF 1.0 available to everyone at no cost as a

Si2 standard

Si2 CPF Standardization

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 9/55

 – 9 –Innovation Through Collaboration  – 9 –Innovation Through Collaboration – Low Power Coalition

Outline

●Where Was It Started?

●CPF Basics

●Digest CPF Using A Simple Example

●CPF Based Low Power Design Flow

●Where Is CPF Headed?

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 10/55

 – 10 –Innovation Through Collaboration  – 10 –Innovation Through Collaboration – Low Power Coalition

Common Power File ASCII file to capture

● Design intent and constraints

Power domain

Logical: instances as domain members

Physical: power/ground nets and connectivity  Analysis view: timing library sets for power domains

Power Logic

Level Shifter Logic

Isolation Logic

State-Retention logic

Switch Logic & Control Signals

Power mode

Mode definitions

Mode transition definitions

● Technology information

Level Shifter Cells, Isolation Cells, State-Retention Cells, Switch Cells, Always On Cells

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 11/55

 – 11 –Innovation Through Collaboration  – 11 –Innovation Through Collaboration – Low Power Coalition

CPF Language

● CPF is TCL-based.

● CPF Language = TCL commands + CPF objects + Design objects

Power domain

 Analysis view Delay corner

Library set

Operating condition

● Design objects: objects that already exist in the RTL/gate netlist Module, Instance, Net, Pin, Port

● Commands – 42 commands

set_* commands [version, scope, and general commands]

define_*_cell commands [library cell description]

create_*_rule commands [design intent]

update_*_rules commands [implementation directives]

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 12/55

 – 12 –Innovation Through Collaboration  – 12 –Innovation Through Collaboration – Low Power Coalition

Minimal Command Set For Different Design Stages

create_power_domain

create_nominal_condition

create_power_mode

create_state_retention_rulecreate_isolation_rule

create_level_shifter_rule

define_library_set

update_nominal_condition

update_power_mode

create_ground_nets

create_power_netsupdate_power_domain

create_power_switch_rule

create_analysis_view

create_operating_corner 

Specify power intentsverification and simulationdesign explorationearly power estimation

More implementation detailssynthesis

formal verificationDFT, ATPG,gate level power estimation

Complete physical implementationdetailssilicon virtual prototypingpower planningphysical synthesisstructural verificationsign-off power analysis

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 13/55

 – 13 –Innovation Through Collaboration  – 13 –Innovation Through Collaboration – Low Power Coalition

Outline

●Where Was It Started?

●CPF Basics

●Digest CPF Using A Simple Example

●CPF Based Low Power Design Flow

●Where Is CPF Headed?

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 14/55

 – 14 –Innovation Through Collaboration  – 14 –Innovation Through Collaboration – Low Power Coalition

Nano CPU

● 32 bit RISC processor

5 power domains with 4 independent switchable domains

2 supply voltages: simple DVFS

ALU

Arithmetic Unit

Logical Unit

Registerfile

Program Counter 

Data-out register 

I/Ocontroller  Power

ControlUnit

State

Sequencer 

Address register 

Instruction register 

Data-in register 

Data Bus

PowerControl Bus

CPU Control Bus

Address BusAlways ON power

domain

Switched power domains

Data OUT

Data IN

 Address

Clock

Control

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 15/55

 – 15 –Innovation Through Collaboration  – 15 –Innovation Through Collaboration – Low Power Coalition

Set Up Power Domains

create_power_domain -name PDcore -default

create_power_domain -name PDau -instances alu_inst/aui \

-shutoff_condition pcu_inst/pau[2]

create_power_domain -name PDlu -instances alu_inst/lui \

-shutoff_condition pcu_inst/plu[2]create_power_domain -name PDalu -instances alu_inst \

-shutoff_condition pcu_inst/palu[2]

create_power_domain -name PDrf -instances rf_inst \

-shutoff_condition pcu_inst/prf[2]

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 16/55

 – 16 –Innovation Through Collaboration  – 16 –Innovation Through Collaboration – Low Power Coalition

Complete create_power_domain Command

create_power_domain

-name power_domain

{ -default [-instances instance_list] [-boundary_ports pin_list]

| -instances instance_list [-boundary_ports pin_list]

| -boundary_ports pin_list }

[ -shutoff_condition expression ]

[ -default_restore_edge expression ] [ -default_save_edge expression ][ -power_up_states {high|low|random} ]

● Power domain definition

● Pure abstract model of a power domain at RTL● Power domain inheritance and precedence

● Default power domain concept

● Wildcard characters are allowed for design objects

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 17/55

 – 17 –Innovation Through Collaboration  – 17 –Innovation Through Collaboration – Low Power Coalition

Specify Power Logic: Retention Strategy

create_state_retention_rule –name sr_rule –domain PDrf \

-restore_edge { !pcu_inst/prf[1] }

Single control for state retention

pcr_inst/prf[1] going high starts the retention mode pcr_inst/prf[1] going low ends the retention mode with

saved data restored to the flop output

 All registers and only registers in power domain PDrf aremodeled as retention registers

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 18/55

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 19/55

 – 19 –Innovation Through Collaboration  – 19 –Innovation Through Collaboration – Low Power Coalition

Specify Power Logic: Isolation Strategy

create_isolation_rule -name iso_rule1 -from PDau \

-isolation_condition {!pcu_inst/pau[0]} -isolation_output lowcreate_isolation_rule -name iso_rule2 -from PDlu \

-isolation_condition {!pcu_inst/plu[0]} -isolation_output high

create_isolation_rule -name iso_rule3 -from PDalu \

-isolation_condition {!pcu_inst/palu[0]} -isolation_output low

create_isolation_rule -name iso_rule4 -from PDrf \

-isolation_condition {!pcu_inst/prf[0]} -isolation_output low

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 20/55

 – 20 –Innovation Through Collaboration  – 20 –Innovation Through Collaboration – Low Power Coalition

Complete create_isolation_rule Command

create_isolation_rule -name string -isolation_condition expression

{-pins pin_list | -from power_domain_list | -to power_domain_list}...

[-isolation_target {from|to}] [-isolation_output {high|low|hold}]

[-exclude pin_list]

● It specifies a list of signals require isolation when the driving or receiving power domains ofthese signals are switched off 

-pins/-from/-to/-exclude are filters for selecting the signals● -isolation_condition specifies under what condition the isolation rule is activated

For RTL verification tool, this is the condition when the behavior specified by –isolation_outputshould be imposed to the normal functional behavior 

For implementation tool, isolation condition should be synthesized to drive the enable pin of the

special isolation cell● In most cases, isolation is needed when the driver of a signal is switched off but the

receivers of the signal are still on. In some cases, isolation may be required when thedriver signal is on but the receivers of the signal are off.

-isolation_target specifies which power domain is switched off when this rule is activated

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 21/55

 – 21 –Innovation Through Collaboration  – 21 –Innovation Through Collaboration – Low Power Coalition

Power Modes

PDcore PDau PDlu PDalu PDrf  

PM1 1.2v

0.8v

PM3 0.8v off off off 1.2

PM4 0.8v 1.2v 1.2v 1.2v off  

1.2v 1.2v 1.2v

PM2

1.2v

1.2v 1.2v 1.2voff 

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 22/55

 – 22 –Innovation Through Collaboration  – 22 –Innovation Through Collaboration – Low Power Coalition

Specify Power Modes

create_nominal_condition -name high -voltage 1.20

create_nominal_condition -name low -voltage 0.8create_power_mode -name PM1 –default \

-domain_conditions {PDcore@high PDau@high PDlu@high PDalu@high PDrf@high}

create_power_mode -name PM2 \

-domain_conditions {PDcore@low PDlu@high PDalu@high PDrf@high}

create_power_mode -name PM3 \

-domain_conditions {PDcore@low PDrf@high}

create_power_mode -name PM4 \

-domain_conditions {PDcore@low PDau@high PDlu@high PDalu@high }

PDcore PDau PDlu PDalu PDrf  

PM1 1.2v

0.8v

PM3 0.8v off off off 1.2PM4 0.8v 1.2v 1.2v 1.2v off  

1.2v 1.2v 1.2v

PM2

1.2v

1.2v 1.2v 1.2voff 

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 23/55

 – 23 –Innovation Through Collaboration  – 23 –Innovation Through Collaboration – Low Power Coalition

Complete create_power_mode Command

create_nominal_condition –name string –voltage float

create_power_mode -name string [-default]

-domain_conditions domain_condition_list

● The create_power_mode commands specify a list of valid operating modes for a design

● Each mode include the operating conditions for each power domain

off or on

if on at what voltage

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 24/55

 – 24 –Innovation Through Collaboration  – 24 –Innovation Through Collaboration – Low Power Coalition

Specify Power Mode Transitions

create_mode_transition -name PM1toPM2 –from_mode PM1 –to_mode PM2 \

-start_condition { pcu_inst/ctrl[0] & pcu_inst/ctrl[1] }

-clock_pin { pcu_inst/clk } –cycles 100create_mode_transition -name PM2toPM3 –from_mode PM2 –to_mode PM3 \

-start_condition { pcu_inst/ctrl[0] & !pcu_inst/ctrl[1] }

-clock_pin { pcu_inst/clk } –cycles 1000

create_mode_transition -name PM3toPM4 –from_mode PM2 –to_mode PM3 \

-start_condition { !pcu_inst/ctrl[0] & pcu_inst/ctrl[1] }

-clock_pin { pcu_inst/clk } –cycles 1000

create_mode_transition -name PM4toPM1 –from_mode PM2 –to_mode PM3 \

-start_condition { !pcu_inst/ctrl[0] & !pcu_inst/ctrl[1] }

-clock_pin { pcu_inst/clk } –cycles 200

PDcore PDau PDlu PDalu PDrf  

PM1 1.2v

0.8v

PM3 0.8v off off off 1.2

PM4 0.8v 1.2v 1.2v 1.2v off  

1.2v 1.2v 1.2v

PM2

1.2v

1.2v 1.2v 1.2voff 

PM1

PM2

PM3

PM4

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 25/55

 – 25 –Innovation Through Collaboration  – 25 –Innovation Through Collaboration – Low Power Coalition

Complete create_mode_transition Command

create_mode_transition -name string

-from_mode power_mode -to_mode power_mode

-start_condition expression [-end_condition expression]

[-clock_pin clock_pin [-cycles number | -latency float]]

● Specify a single mode transition

● Each mode transition involves a series of power domain changes

● The start condition and end condition can be used by verification tools to trace the modetransition and record coverage on modes and mode transitions

● The transition time can be used to simulate the latency of each mode transition

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 26/55

 – 26 –Innovation Through Collaboration  – 26 –Innovation Through Collaboration – Low Power Coalition

Put Everything Together For Design Specification

set_design nano_cpu

create_power_domain -name PDcore -default

create_power_domain -name PDau -instances alu_inst /aui -shutof f_condi tion pcu_inst/pau[2]

create_power_domain -name PDlu -instances alu_inst/lui -shutoff_condition pcu_inst/plu[2]

create_power_domain -name PDalu -instances alu_inst -shutoff_condition pcu_inst /palu[2]create_power_domain -name PDrf -instances rf_inst -shutoff_condition pcu_inst/prf[2]

create_state_retention_rule –name sr_rule –domain PDrf -restore_edge { ! pcu_inst/prf[1] }

create_isolation_rule -name iso_rule1 -from PDau -isolation_condition {!pcu_inst /pau[0]} -isolation_output low

create_isolation_rule -name iso_rule2 -from PDlu -isolation_condition {!pcu_inst/plu[0]} -isolation_output low

create_isolation_rule -name iso_rule3 -from PDalu -isolation_condition {!pcu_inst/palu[0]} -isolation_output low

create_isolation_rule -name iso_rule4 -from PDrf -isolation_condit ion {!pcu_inst/prf[0]} -isolation_output low

create_nominal_condi tion -name high -voltage 1.20

create_nominal_condition -name low -vol tage 0.8

create_power_mode -name PM1 \

 –defaul t -domain_condi tions {PDcore@high PDau@high PDlu@high PDalu@high PDrf@high}

create_power_mode -name PM2 -domain_conditions {PDcore@low PDlu@high PDalu@high PDrf@high}

create_power_mode -name PM3 -domain_condit ions {PDcore@low PDrf@high}

create_power_mode -name PM4 -domain_conditions {PDcore@low PDau@high PDlu@high PDalu@high }

end_design

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 27/55

 – 27 –Innovation Through Collaboration  – 27 –Innovation Through Collaboration – Low Power Coalition

Low Power Design Verification Using CPF

● No need to specify power or ground nets at RTL stage

● No need to specify implementation related constraints at this stage suchas library, timing constraints etc

● Minimal set of CPF commands for front-end designers to use Simulation tools

to simulation power domain on and off

to simulate power mode transitions for DVFS

Coverage tools to check power mode coverage

to check power mode transition coverage

 Assertion tools

to generate power domain and mode aware assertions

Verification tools

to check for the correctness and completeness of CPF

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 28/55

 – 28 –Innovation Through Collaboration  – 28 –Innovation Through Collaboration – Low Power Coalition

What About Implementation?

● For synthesis

Need to specify the libraries

Need to link the libraries to each power domain in each power mode

Need to associate timing constraints for each power mode to perform DVFS synthesis

● For physical implementation and verification

Need to specify power and ground net work

Need to specify how power switch network should be implemented●  Additional CPF commands are needed

update_nominal_condition

update_power_domain

update_power_mode

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 29/55

 – 29 –Innovation Through Collaboration  – 29 –Innovation Through Collaboration – Low Power Coalition

Specify Technology Libraries And Special Low Power Cells

#Libraries for implementation, file name tech.cpf 

set libdir ../../../libs

set 08v_list "$libdir/130e_sp_tt_0p8v_25c.lib … "

set 120v_list "$libdir/13sp_tt_0p8v_1p2v_25c.lib …"

define_library_set -name 08v -libraries $08v_list

define_library_set -name 120v -libraries $120v_list

define_level_shi fter_cell -cells LVLHLEHX* -input_voltage_range 1.2 \

-output_voltage_range 0.8 -direction down –valid_location to

define_level_shifter_cell -cells LVLHLX* -input_voltage_range 1.2 \

-output_voltage_range 0.8 -direction down –valid_location to

define_level_shifter_cell -cells LVLLHEHX* -input_voltage_range 0.8 \

-output_voltage_range 1.2 -direction up –valid_location to

define_level_shifter_cell -cells LVLLHX* -input_voltage_range 0.8 \

-output_voltage_range 1.2 -direction up –valid_location to

define_isolation_cell -cells ISOLN* -enable EN -valid_location from

define_isolation_cell -cells "LVLHLEHX* LVLLHEHX* LVLHLELX*" -enable ENdefine_always_on_cell -cells "BUFGX2M BUFGX8M INVGX2M INVGX8M"

define_state_retention_cell -cells *DRFF* -restore_function RETN

define_power_swi tch_cell -cells "HEAD8DM HEAD16DM HEAD32DM HEAD64DM“ –ground VSS \

-power_switchable VDD -power VDDG –stage_1_enable SLEEP –stage_1_out SLEEPOUT –type header 

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 30/55

 – 30 –Innovation Through Collaboration  – 30 –Innovation Through Collaboration – Low Power Coalition

Link Technology Libraries And Timing Constraints

#fi le name syn.cpf 

update_nominal_condit ion -name high -library_set 120v

update_nominal_condit ion -name low -library_set 08v

update_power_mode –name PM1 –sdc_files ../../../sdc/PM1.sdc

update_power_mode –name PM4 –sdc_files ../../../sdc/PM4.sdc

● The synthesis l ibraries are automatically linked to each power domain foreach power domain

●  Associate timing constraints to each power mode for DVFS synthesis

PDcore PDau PDlu PDalu PDrf  

PM1 1.2v

0.8v

PM3 0.8v off off off 1.2

PM4 0.8v 1.2v 1.2v 1.2v off  

1.2v 1.2v 1.2v

PM2

1.2v

1.2v 1.2v 1.2voff 

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 31/55

 – 31 –Innovation Through Collaboration  – 31 –Innovation Through Collaboration – Low Power Coalition

Complete Command Syntax

update_nominal_condition -name nominal_condition -library_set library_set

update_power_mode -name mode

{ -activity_file file -activity_file_weight weight

| -sdc_files sdc_file_list

| -peak_ir_drop_limit domain_voltage_list

| -average_ir_drop_limit domain_voltage_list

| -leakage_power_limit float

| -dynamic_power_limit float}...

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 32/55

 – 32 –Innovation Through Collaboration  – 32 –Innovation Through Collaboration – Low Power Coalition

Put Everything Together For Logic Implementation

include tech.cpf 

set_design nano_cpu

create_power_domain -name PDcore -default

create_power_domain -name PDau -instances alu_inst /aui -shutof f_condi tion pcu_inst/pau[2]

create_power_domain -name PDlu -instances alu_inst/lui -shutoff_condition pcu_inst/plu[2]

create_power_domain -name PDalu -instances alu_inst -shutoff_condition pcu_inst /palu[2]

create_power_domain -name PDrf -instances rf_inst -shutoff_condition pcu_inst/prf[2]

create_state_retention_rule –name sr_rule –domain PDrf -restore_edge { ! pcu_inst/prf[1] }

create_isolation_rule -name iso_rule1 -from PDau -isolation_condition {!pcu_inst /pau[0]} -isolation_output low

create_isolation_rule -name iso_rule2 -from PDlu -isolation_condition {!pcu_inst/plu[0]} -isolation_output low

create_isolation_rule -name iso_rule3 -from PDalu -isolation_condition {!pcu_inst/palu[0]} -isolation_output lowcreate_isolation_rule -name iso_rule4 -from PDrf -isolation_condit ion {!pcu_inst/prf[0]} -isolation_output low

create_nominal_condi tion -name high -voltage 1.20

create_nominal_condition -name low -vol tage 0.8

create_power_mode -name PM1 \

 –defaul t -domain_condi tions {PDcore@high PDau@high PDlu@high PDalu@high PDrf@high}

create_power_mode -name PM2 -domain_conditions {PDcore@low PDlu@high PDalu@high PDrf@high}

create_power_mode -name PM3 -domain_conditions {PDcore@low PDrf@high}

create_power_mode -name PM4 -domain_conditions {PDcore@low PDau@high PDlu@high PDalu@high }

source syn.cpf 

end_design

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 33/55

 – 33 –Innovation Through Collaboration  – 33 –Innovation Through Collaboration – Low Power Coalition

Low Power Logic Implementation and Verif ication Using CPF

● Still , no need to specify power or ground nets at this design stage

● Minimal set of CPF commands for designers to use

Logic synthesis tools

to synthesize isolation, level shifter and state retention logic

to perform power domain aware logic synthesis

to perform power mode aware (DVFS) synthesis

Test synthesis tools

to perform power domain and power mode aware DFT synthesis

to generate power domain aware test control logic Formal Verification tools

to check the correctness of low power structural implemented by synthesis tools

to perform low power equivalency checking (RTL+CPF vs Netlist)

Simulation tools

to perform power aware gate level simulation

to generate additional assertions for gate level simulation

 Analysis tools

to perform power domain aware and power mode aware power analysis

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 34/55

 – 34 –Innovation Through Collaboration  – 34 –Innovation Through Collaboration – Low Power Coalition

Specify Power/Ground Nets for Physical Implementation

#file name phy_pg.cpf #power/ground net specification

create_power_nets –nets VDD1 –vol tage 1.2

create_power_nets –nets VDD2 –voltage 0.8

create_power_nets –nets { VDD_core VDD1_au_sw VDD1_lu_sw VDD1_alu_sw VDD1_rf_sw} –internal

create_ground_nets –nets VSS

update_power_domain –name PDcore –internal_power_net VDD_core –internal_ground_net VSS

update_power_domain –name PDau –internal_power_net VDD1_au_sw –internal_ground_net VSS

update_power_domain –name PDlu –internal_power_net VDD1_lu_sw –internal_ground_net VSS

update_power_domain –name PDalu –internal_power_net VDD1_alu_sw –internal_ground_net VSS

update_power_domain –name PDrf –internal_power_net VDD1_rf_sw –internal_ground_net VSS

#power switch specification for power shutoff 

create_power_switch_rule –name PDau_sw –domain PDau –external_power_net VDD1

create_power_switch_rule –name PDlu_sw –domain PDlu –external_power_net VDD1

create_power_switch_rule –name PDalu_sw –domain PDalu –external_power_net VDD1

create_power_switch_rule –name PDrf_sw –domain PDrf –external_power_net VDD1

#power switch specification for DVFS control

create_power_switch_rule –name PDcore_1 –domain PDcore –external_power_net VDD1

update_power_switch_rule –name PDcore_1 –enable_condition_1 {pcu_inst/pcore[2]}

create_power_switch_rule –name PDcore_2 –domain PDcore –external_power_net VDD2

update_power_switch_rule –name PDcore_2 –enable_condition_1 {!pcu_inst /pcore[2]}

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 35/55

 – 35 –Innovation Through Collaboration  – 35 –Innovation Through Collaboration – Low Power Coalition

Complete Command Syntax for Power/Ground Nets Specification

create_power_nets -nets net_list [-voltage string]

[-external_shutoff_condition expression | -internal] [-user_attributes string_list]

[-peak_ir_drop_limit float] [-average_ir_drop_limit float]

create_ground_nets -nets net_list [-voltage string]

[-internal] [-user_attributes string_list]

[-peak_ir_drop_limit float] [-average_ir_drop_limit float]

update_power_domain -name domain

{ -internal_power_net net | -internal_ground_net net

| -min_power_up_time float | -max_power_up_time float| -pmos_bias_net net | -nmos_bias_net net | -user_attributes string_list

| -rail_mapping rail_mapping_list -library_set library_set} ...

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 36/55

 – 36 –Innovation Through Collaboration  – 36 –Innovation Through Collaboration – Low Power Coalition

Complete Command Syntax for Power Switch Specification

create_power_switch_rule -name string

-domain power_domain {-external_power_net net | -external_ground_net net}

update_power_switch_rule -name string

{ -enable_condition_1 expression [-enable_condition_2 expression]

| -acknowledge_receiver pin

| -cells cell_list -library_set library_set

| -prefix string

| -peak_ir_drop_limit float

| -average_ir_drop_limit float }...

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 37/55

 – 37 –Innovation Through Collaboration  – 37 –Innovation Through Collaboration – Low Power Coalition

Specify MMMC Constraints for Physical Timing Closure & Analysis

#file name phy_mmmc.cpf to setup Multi-Mode-Multi-Corner (MMMC) timing closure constraints

create_operating_corner –name 120v_fast –voltage 1.3 –library_set 120v

create_operating_corner –name 120v_slow –voltage –library_set 120v

create_operating_corner –name 08v_fast –voltage 0.9 –library_set 08v

create_operating_corner –name 08v_slow –voltage 0.7 –library_set 07v

create_analysis_view –name view1 –mode PM1 –domain_corners \

{ PDcore@120v_fast PDau@120v_fast PDlu@120v_fast PDalu@120v_fast PDrf@120v_fast}

create_analysis_view –name view2 –mode PM1 –domain_corners \

{ PDcore@120v_slow PDau@120v_slow PDlu@120v_slow PDalu@120v_slow PDrf@120v_slow}

create_analysis_view –name view3 –mode PM4 –domain_corners \

{ PDcore@08v_fast PDau@120v_fast PDlu@120v_fast PDalu@120v_fast }

create_analysis_view –name view4 –mode PM4 –domain_corners \

{ PDcore@080v_slow PDau@120v_slow PDlu@120v_slow PDalu@120v_slow }

PDcore PDau PDlu PDalu PDrf  

PM1 1.2v 1.2v 1.2v 1.2v

0.8v

PM3 0.8v off off off 1.2

PM4 0.8v 1.2v 1.2v 1.2v off  

PM2

1.2v

1.2v 1.2v 1.2vof f 

Need to analysis 2 corners forthis mode, fast and slow

Need to analysis 2 corners for

this mode, fast and slow

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 38/55

 – 38 –Innovation Through Collaboration  – 38 –Innovation Through Collaboration – Low Power Coalition

Command Syntax for MMMC Setup

create_operating_corner -name string -voltage float

[-process float] [-temperature float] -library_set library_set

create_analysis_view -name string -mode mode

-domain_corners domain_corner_list

O i f CPF S t f DVFS & MMMC

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 39/55

 – 39 –Innovation Through Collaboration  – 39 –Innovation Through Collaboration – Low Power Coalition

update_nominal_condition

-name <nominal_condition>-library_set <name>

update_power_mode

-name <mode_name>[ -activity_file file -activity_file_weight weight ][ -sdc_files   sdc_file_list ]

create_analysis_view-name <string>-mode <mode_name>-domain_corners

{ list_of_operating_corners_by_domain }

create_power_mode

-name <string>-domain_conditions

{ list_of_nominal_condition_by_domains }

create_operating_corner 

-name <string>-voltage <float>

[-process <float>][-temperature <float>]-library_set <name>

define_library_set

-name <library_set>

-timing <library_list>

create_nominal_condition

-name <string>-voltage <float>

create_power_domain

-name <string>{-default [-instances instance_list ][-boundary_ports pin_list ]| -instances instance_list 

[-boundary_ports pin_lust ][-boundary_ports pin_list }

[-shoutoff_condition expression]

DVFS  

MMMC  

Overview of CPF Support for DVFS & MMMC

P t E thi T th F Ph i l I l t ti

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 40/55

 – 40 –Innovation Through Collaboration  – 40 –Innovation Through Collaboration – Low Power Coalition

Put Everything Together For Physical Implementation

include tech.cpf 

set_design nano_cpu

create_power_domain -name PDcore -default

create_power_domain -name PDau -instances alu_inst /aui -shutof f_condi tion pcu_inst/pau[2]

create_power_domain -name PDlu -instances alu_inst/lui -shutoff_condition pcu_inst/plu[2]

create_power_domain -name PDalu -instances alu_inst -shutoff_condition pcu_inst/palu[2]

create_power_domain -name PDrf -instances rf_inst -shutoff_condi tion pcu_inst/prf[2]

create_state_retention_rule –name sr_rule –domain PDrf -restore_edge { ! pcu_inst/prf[1] }

create_isolation_rule -name iso_rule1 -from PDau -isolation_condition {!pcu_inst /pau[0]} -isolation_output low

create_isolation_rule -name iso_rule2 -from PDlu -isolation_condition {!pcu_inst/plu[0]} -isolation_output low

create_isolation_rule -name iso_rule3 -from PDalu -isolation_condi tion {!pcu_inst/palu[0]} -isolation_output lowcreate_isolation_rule -name iso_rule4 -from PDrf -isolation_condit ion {!pcu_inst/prf[0]} -isolation_output low

create_nominal_condition -name high -voltage 1.20

create_nominal_condition -name low -vol tage 0.8

create_power_mode -name PM1 \

 –default -domain_conditions {PDcore@high PDau@high PDlu@high PDalu@high PDr f@high}

create_power_mode -name PM2 -domain_condi tions {PDcore@low PDlu@high PDalu@high PDrf@high}

create_power_mode -name PM3 -domain_conditions {PDcore@low PDrf@high}

create_power_mode -name PM4 -domain_condi tions {PDcore@low PDau@high PDlu@high PDalu@high }

source syn.cpf 

source phy_pg.cpf 

source phy_mmmc.cpf 

end_design

Lo Po er Ph sical Implementation and Verif ication Using CPF

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 41/55

 – 41 –Innovation Through Collaboration  – 41 –Innovation Through Collaboration – Low Power Coalition

Low Power Physical Implementation and Verif ication Using CPF

●  At this stage

The power and ground nets for each power domain are fully specified

The power switch logic is specified for each domain

● Complete set of CPF commands for back-end designers to use Physical implementation tools

to perform power domain aware placement and routing

to insert and optimize power switch network

to connect the power and ground nets to insert additional low power logic due to netlist change if needed

to perform Multi-Mode-Multi-Corner timing and power optimization and analysis

Verification tools

to check the correctness of low power physical structural

 Analysis tools

to perform dynamic analysis power switch network

to perform sign-off power and timing analysis

Other Implementation related commands

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 42/55

 – 42 –Innovation Through Collaboration  – 42 –Innovation Through Collaboration – Low Power Coalition

Other Implementation related commands

Optional implementation constraints to provide designers more flexibility in logicaland physical implementation

update_isolation_rules -names rule_list { -location {from | to}| -cells cell_list -library_set library_set

| -prefix string | -combine_level_shifting

| -open_source_pins_only}...

update_level_shifter_rules -names rule_list

{ -location {from | to} | -cells cell_list -library_set library_set

| -prefix string }...

update_state_retention_rules -names rule_list

{-cell_type string | -cell libcell -library_set library_set} …

Other Commands

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 43/55

 – 43 –Innovation Through Collaboration  – 43 –Innovation Through Collaboration – Low Power Coalition

Other Commands

● Hierarchical Flow

set_instance [hier_instance [-merge_default_domains]

[-port_mapping port_mapping_list]]

set_hierarchy_separator string

● RTL to Netl ist Name Mapping

set_register_naming_style

set_array_naming_style

● General Commands

set_cpf_version

set_power_target

set_power_unit

set_switching_activity

set_time_unit

Outline

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 44/55

 – 44 –Innovation Through Collaboration  – 44 –Innovation Through Collaboration – Low Power Coalition

Outline

●Where Was It Started?

●CPF Basics

●Digest CPF Using A Simple Example

●CPF Based Low Power Design Flow

Where Is CPF Headed?

CPF Enabled Low Power Design Flow

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 45/55

 – 45 –Innovation Through Collaboration  – 45 –Innovation Through Collaboration – Low Power Coalition

?

CPF Enabled Low Power Design Flow

Design Creationb

Synthesis

ConstraintGeneration

Design for Test

SVP

 q ui  v  al   en c  e C h  e c k i  n

 g

 C  on s  t  r  ai  n t  V  al  i   d  a t  i   on

SpecificationFunction, timing, power 

RTLCoding

RTL + CPFCoding

Iterate

Quick architectural explorationRe-use pre-verified IPInstantiate single

RTL with differentpower profiles

Hand off to drive physicalimplementation

Physical Implementation

Chip Integration

Prototyping

Physical Synthesis

Routing

DF T 

  A n al   y  s i   s 

Sign-off 

A T P  G

 C  on s  t  r  ai  n t  V  al  i   d  a t  i   o

n

E  q

 ui  v  al   en c  e

 c 

h  e c k i  n g

L V  S  /  DR C  /  E x  t  

GDSII

Constraints CPF Netlist

Goldenspecification

eliminatesassumptions and

miscommunications

 Automatic partitioning ofpower domains

 Automatic scheduling oftest modes

Single powerspecification used from

specification to GDSII

   V  e  r   i   f   i  c  a   t   i  o  n   C  o  v  e  r  a

  g  e

   T  e  s   t   b  e  n  c   h   A  u   t  o  m  a   t   i  o  n

Verification

Structural &Funct. Checks

Formal Analysis

Simulation

 Accelerat ion

& Emulation

Functionally verifyadvanced powerimplementation

techniquesIterate

Continued Industry Wide Adoption of CPF

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 46/55

 – 46 –Innovation Through Collaboration  – 46 –Innovation Through Collaboration – Low Power Coalition

Continued Industry Wide Adoption of CPF

1Q2007 2H2007

• CPF becomesSi2 standard

• Cadence LowPower Solutionproductionreleased V 1.0

ReferenceFlow 8.0

PRIDE Flow

CommonPlatformFlow

Joins PFI

PowerPro CG

DDR PHY

EnergyProTechnology

Joins PFI

Joins PFI

Joins PFI

2Q2007

• > 100 customer adopting

CPF-based advanced lowpower solut ion

• ~ 50 tapeoutsFreescale, Fujitsu, NEC, NXP..

Ecosystem Support for CPF Based Low Power Solution

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 47/55

 – 47 –Innovation Through Collaboration  – 47 –Innovation Through Collaboration – Low Power Coalition

y pp

 ASIC /Design

Service

IP Vendor 

EDA

Foundry

Early Adopters

www.powerforward.org

TSMC 8 0 Low Power Reference Flow

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 48/55

 – 48 –Innovation Through Collaboration  – 48 –Innovation Through Collaboration – Low Power Coalition48

TSMC 8.0 Low Power Reference Flow

 C 

P F 

 C 

P F 

CPF Quality CheckConformal Low Power 

CPF Quali ty CheckConformal Low Power 

CPF-Enabled Funct ional simulationIncisive Design Team Simulator 

Incisive Design Team Manager 

CPF-Enabled Funct ional simulationIncisive Design Team Simulator 

Incisive Design Team Manager 

CPF-Enabled Logic Synthesis & DFT

Encounter RTL Compiler 

CPF-Enabled Logic Synthesis & DFT

Encounter RTL Compiler CPF-Enabled LEC + Power Checks

Conformal Low Power 

CPF-Enabled LEC + Power ChecksConformal Low Power 

CPF-Enabled LEC + Power ChecksConformal Low Power 

CPF-Enabled LEC + Power ChecksConformal Low Power 

CPF-Enabled Timing & SI signoff Encounter Timing System

CPF-Enabled Timing & SI signoff Encounter Timing System

CPF-Enabled Physical implementationSoC Encounter 

CPF-Enabled Physical implementationSoC Encounter 

CPF-Enabled Logic simulationIncisive Design Team Simulator 

CPF-Enabled Logic simulationIncisive Design Team Simulator 

CPF-Enabled ATPGEncounter Test

CPF-Enabled ATPGEncounter Test

CPF-Enabled IR drop & Power signoff VoltageStorm-DG

CPF-Enabled IR drop & Power signoff 

VoltageStorm-DG

CPF-Enabled Leakage & Thermal AnalysisEncounter Timing System

CPF-Enabled Leakage & Thermal AnalysisEncounter Timing System

www.tsmc.com

 ARC Proof Point Project Using CPF Based Low Power Solution

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 49/55

 – 49 –Innovation Through Collaboration  – 49 –Innovation Through Collaboration – Low Power Coalition49

j g

● Simulation with CPF identifiesproblems that you will nototherwise identify

CPF aids communication of powerintent across team boundaries,ensuring accurate implementationat all f low stages

● Signif icant power savings resultsusing these techniques

Always On

SCQSCQSCQ

SCQ SCM SDMSIMD

SCM SDM

I$ D$ SCQARC700

I$ D$

Clock Gating Domains

Power DomainsFunctional Blocks

 ARC700 with SIMD Co-Processor 

• For high bit-rate data streams, boththe ARC and the SIMD run flat out

• For lower bit-rate data stream, thesubsystem can be run at a lowerfrequency

• For generic processing, the SIMDcan be inactive

Power Forward

low-power implementation &verification project results

Fujitsu Proof Point Project Using CPF Based Low Power Solution

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 50/55

 – 50 –Innovation Through Collaboration  – 50 –Innovation Through Collaboration – Low Power Coalition50

j j g

CPU1 CPU2peripherals

Power Switch

90nm940K instances11 Power Domains

19 Power Modes

PowerDomains

Verified with test design PSO functional verification with simulation

Low power structural and physical check(Shifters/Isolators/Power switches)

Domain aware place and route

● Conclusion

Functional verification is necessary forcomplex PSO design for design bugs

Structural check with CPF could verify LPdesign

Fujitsu will support CPF-based ASIC flow fortheir customers

Silicon Proven September ‘07Silicon Proven September ‘07

DVFS

NEC Proof Point Project Using CPF Based Low Power Solution

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 51/55

 – 51 –Innovation Through Collaboration  – 51 –Innovation Through Collaboration – Low Power Coalition51

Power DomainPowerMode

PD0 PD1 PD2 PD3 PD4 PD5

PM1 1.2V 1.2V 1.2V 0.74V 0.74V 0.74V

PM2 1.2V PSO 1.2V 0.74V 0.74V 0.74V

PM3 1.2V 1.2V PSO 0.74V 0.74V 0.74V

PM4 1.2V 1.2V 1.2V PSO 0.74V 0.74V

PM5 1.2V PSO PSO PSO 0.74V PSO

Driver 

PD4:0.74V

PD0: 1.2V(Default,

 Always On)

PD5:0.74V

PD3:0.74V

PD2:1.2V

PD1:1.2V

PSOcntl

PSGcntl

ISOcntl

Validated CPF and CPF-based flowfor major low power methodologiesin NEC Electronics

386 checkpoints evaluated successfully

CPF describe-abil ity

Multi-Supply-Voltage (MSV)

Power Shut Off (PSO)

State Retention Logic (SRL)

Variable Voltage Library (VVL)

Clock Tree Gating (CTG)

CPF based flow wil l be in use from Q3/2007

NEC ElectronicsNEC ElectronicsCorporationCorporation

65nm6 Power Domains5 Power Modes2 Supply Voltage

NXP Proof Point Project Using CPF Based Low Power Solution

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 52/55

 – 52 –Innovation Through Collaboration  – 52 –Innovation Through Collaboration – Low Power Coalition52

Power Forward low-powerplatform SoC results

● CPF-based functionalverification (using simulation)catches system level powerissues early in the flow

● Use of CPF ensured whatimplementation built was whatwas verified

• SoC consists of 11 islands

• 3 major power consumers -RISCCPU, VLIW DSP & L2 System

Cache are controlled using DVFS• High bandwidth expansion ports

enable extension, with graphicsor cellular modem subsystems

Outline

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 53/55

 – 53 –Innovation Through Collaboration  – 53 –Innovation Through Collaboration – Low Power Coalition

●Where Was It Started?

●CPF Basics

●Digest CPF Using A Simple Example

●CPF Based Low Power Design Flow

●Where Is CPF Headed?

Si2 LPC Progress

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 54/55

 – 54 –Innovation Through Collaboration  – 54 –Innovation Through Collaboration – Low Power Coalition

● Three Working Groups

Data API

Common Glossary

Design Flow Low Power Design Flow Document

Format Requirement

● Format Requirement Working Group

Clarification on CPF 1.0 semantics

Collect new requirements for formatimprovements

Custom macro modeling

More flexibili ty on IP reuse

Complete hierarchical flow

g

CPF Related Information

8/19/2019 CPF_tutorial_2007_12_06

http://slidepdf.com/reader/full/cpftutorial20071206 55/55

 – 55 –Innovation Through Collaboration  – 55 –Innovation Through Collaboration – Low Power Coalition

● CPF 1.0 Documents & Parser http://www.si2.org/openeda.si2.org/projects/si2cpf/

● Si2 LPC http://www.si2.org

● Power Forward Init iative http://www.powerforward.org● Power Format Comparison http://www.si2.org/?page=866