View
226
Download
0
Category
Preview:
Citation preview
8/9/2019 CPF Tutorial (1)
1/15
CPF Tutorial
Yanqing Zhang, Yousef
Shaksheer
8/9/2019 CPF Tutorial (1)
2/15
CPF Tutorial
First, you will need to create a .cpf le. ere we will use!synth.cpf" as an e#a$ple, which is a script for power%gating in the synthesis &ow.
8/9/2019 CPF Tutorial (1)
3/15
CPF Tutorial
'e#t, we will (reak down the writing of the .cpf le into specicsteps. 'ote that you will only need to write the CPF le once, andit will (e used for the )'T*+) &ow. *n other words, once written,there is no need to change it. e start (y setting the cpf -ersion
set/cpf/-ersion 0.0
1
1
1For a co$plete list of supported CPF co$$ands and CPF user guide, refer to
docu$entation at
2app2cadence2+C302doc2cpf/ref
2app2cadence2+C302doc2cpf/user
8/9/2019 CPF Tutorial (1)
4/15
CPF Tutorial
e dene the technology to (e used in our designset/cpf/-ersion 0.0
4444444444444444444444444444444444444444444444444
4 Technology part of the CPF
4444444444444444444444444444444444444444444444444
4 dene the li(rary sets, a li(rary 5set6 is often a set of .li(6s that ha-e (een characteri7ed at the sa$e
4-oltage, here, (oth the standard cell li(rary Su(8T/9::$8.li( and the header li(rary headers.li(ha-e
4(een characteri7ed at 9::$8.
dene/li(rary/set %na$e C;+)> %li(raries ?Su(8T/9::$8.li( headers.li(@
4 dene the isolation cells, also dene the ena(le pin and ena(le condition for isolation cells
4dene/isolation/cell %cells *S;>'A %ena(le )'(ar %-alid/location on
4 dene the always on cell4 dene the state retention cell
4 dene the power switch cells, denes na$es of the headers used, the power on condition, and the
4na$e of the power rails that it will (e switching (etween
dene/power/switch/cell %cells BDE D9 D3 D0 DGE D9B H
%stage/0/ena(le I/)' %type header %gate/(ias/pin gnd %power/switcha(le 8S %power -dd H
%on/resistance 0::.:
1
1
8/9/2019 CPF Tutorial (1)
5/15
CPF Tutoriale continue to dene design para$eters for our design, this $eans telling the tools,through the CPF le, which part of the design is to (e low%power i$ple$ented, which
instances (elong to which power do$ain, and the diJerent power $odes that e#ist1
1
4 identify the design for which the CPF le is created, also dene the units for nu$(ers
set/design P*C/+;K
set/power/unit n
set/ti$e/unit ns
4 create power do$ains, a power do$ain is a group of instances that ha-e the sa$e power switching characteristics. Llso denes whichinstances are in each power do$ain,
4and the condition where they switch to that power do$ain
create/power/do$ain %na$e P0 %default
create/power/do$ain %na$e PE %instances ?L>M@ H
%shutoJ/condition ?KC>+@ %secondary/do$ains P0
4 create no$inal conditions, gi-es a na$e to each -oltage island. This $eans that oJN:, onN:.98
create/no$inal/condition %na$e oJ %-oltage :
create/no$inal/condition %na$e on %-oltage :.9
4 create power $odes, a power $ode species which -oltage island each power do$ain will (e operating in
create/power/$ode %na$e PK0 %do$ain/conditions ?P0Oon PEOon@ %defaultcreate/power/$ode %na$e PKE %do$ain/conditions ?P0Oon PEOoJ@
4 associate li(rary sets with no$inal conditions
update/no$inal/condition %na$e on %li(rary/set C;+)>
4 create rules for isolation logic insertion
4 create rules for state retention insertion
4 create rules for power switch insertion, denes the pri$ary power net, and the -irtual power rails associated with each power switch
rulecreate/power/nets %nets -dd %-oltage :.9
create/power/switch/rule %na$e S0 %do$ain PE %e#ternal/power/net -dd
8/9/2019 CPF Tutorial (1)
6/15
CPF Tutorial Specify infor$ation for synthesis, this includes power and leakage targets,
ti$ing constraints, and *+ drop and reco-ery ti$e for power switches
1
1
4 specify power targets, if not specied, you $ay specify these with co$$andsin
4synthesis
4set/power/target %leakage G: %dyna$ic E:
4 specify ti$ing constraints, attaches .sdc le with a power $ode
update/power/$ode %na$e PK0 %sdc/les P*C/+;K/$apped.sdc
update/power/$ode %na$e PKE %sdc/les P*C/+;K/$apped.sdc
4 update the rules with i$ple$entation info4update/isolation/rules %na$es iso0 %location to %cells *S;>'DEK
4update/isolation/rules %na$es isoE %location to %cells *S;>'DEK
update/power/switch/rule %na$e S0 %cells BDE D9 D3 D0 DGED9B %ena(le/condition/0 IKC>+ %pre# C'/ %a-erage/ir/drop/li$it:.:E: %peak/ir/drop/li$it :.:9:
11
8/9/2019 CPF Tutorial (1)
7/15
CPF Tutorial Finally, we end (y specifying infor$ation for physical i$ple$entation, including the connecting of
power2ground nets, and process corners
11
4 declare power and ground nets, including -irtual rails
create/power/nets %nets 8S %internal %a-erage/ir/drop/li$it :.:E: %peak/ir/drop/li$it :.:9:
create/ground/nets %nets gnd %-oltage :
4 QoptionalR create glo(al connections
create/glo(al/connection %net -dd %pins -dd
create/glo(al/connection %net gnd %pins gnd
4 add i$ple$entation info for power do$ains
update/power/do$ain %na$e P0 %pri$ary/power/net -dd %pri$ary/ground/net gnd
update/power/do$ain %na$e PE %pri$ary/power/net 8S %pri$ary/ground/net gnd %transition/cycles E.:
update/power/$ode %na$e PKE %a-erage/ir/drop/li$it PEO:.:E: %peak/ir/drop/li$it PEO:.:9:
4 create operating corners
create/operating/corner %na$e C H
%process 0 %te$perature 0E %-oltage :.9 %li(rary/set C;+)>
4 create analysis -iews
create/analysis/-iew %na$e L8/PK0 %$ode PK0 H
%do$ain/corners ?P0OC PEOC@
4 indicate when the power infor$ation for the design ends
end/design
8/9/2019 CPF Tutorial (1)
8/15
CPF Tutorial'ow we6-e co$pleted the .cpf le. To incorporate the .cpf le in the synthesisscript, we will ha-e to add a few $ore co$$ands to the synthesis script, asdepicted (elow
1
1
set/attri(ute drc/rst true
444444444444444444444444444444444444444
4 read in CPF li(rary do$ains
444444444444444444444444444444444444444
read/cpf %li(rary synth.cpf
check/li(rary
1
ela(orate ?T;PK;M>)@
444444444444444444444444444444444444444
4 read in CPF le
444444444444444444444444444444444444444
read/cpf synth.cpf
1
check/design %unresol-edreport ti$ing %$ode PK0 %lint
report ti$ing %$ode PKE lint
1
44444444444444444444444444444444444444444
4 Synthesi7e to Technology Kapped =ates
44444444444444444444444444444444444444444
synthesi7e %to/$apped %eJ high
reload/cpf
co$$it/cpf
1
8/9/2019 CPF Tutorial (1)
9/15
CPF Tutorial
e now $o-e on to the physicali$ple$entation. Uefore specifying&oorplan, we >oad V Co$$it the CPFle
8/9/2019 CPF Tutorial (1)
10/15
CPF Tutorial
e use hierarchical&oorplanning , sowe $o-e powerdo$ain $acro
$odules )ncounter lea-es a
row and colu$n(etween diJerentpower do$ains
8/9/2019 CPF Tutorial (1)
11/15
CPF Tutorial
=o through theregular &ow ofadding power
rings for theP+*KL+Y railsonly
Ldd powerswitches inrespecti-e powerdo$ain
8/9/2019 CPF Tutorial (1)
12/15
CPF Tutorial
Specify switchtopology, switchtopology should (edeter$ined (y
esti$ated headersi7ing and headerlayout. To understand$ore a(out this, pleaserefer to our Final +eport
8/9/2019 CPF Tutorial (1)
13/15
CPF Tutorial
Specify =lo(al 'etConnections
Specify -irtual railconnections
Specically, specifywhich rail connects toeach power do$ain
Llso specify which
rails power switcheswill (e switching(etween
8/9/2019 CPF Tutorial (1)
14/15
CPF Tutorial
Continue to do specialroute of power nets asyou would in regular &ow
+est of &ow is sa$e asS;C place and route &ow
CPF co$$ands can (eintegrated into )ncounterco$$and script, so CPFretains the con-enience
synthesis &ow (rings us,with powerful &e#i(ilityfor low power design
8/9/2019 CPF Tutorial (1)
15/15
CPF Tutorial
L snapshot of aco$pleted,power%gated
L>M within a$icroprocessor,with the power%gated L>M inthe upper%leftcorner
Recommended