CPF Tutorial (1)

Embed Size (px)

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