0% found this document useful (0 votes)
109 views

1-Introduction and App Options

Uploaded by

sandip sugandhi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
109 views

1-Introduction and App Options

Uploaded by

sandip sugandhi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 63

\-k

syn0PSys'
CUSTOl\/ER EDUCATION

lC Compiler ll:
Block-level lm plementation
Workshop
Student Guide
20-t-078-ssG-007 2017.09_SP2

' Synopsys Customer E{lucation Services


690 E. Middlefield Road
l\4oun1ain Vi ew, Califomia 940 43

Workshop Registration: http://training.sl,nops),s.com

C'uK tN-
Table of Contents

Unit i: lntroduction
Facilities..... i_2
Workshop Overvieu. ... i_j
Workshop Target Audience i-4
\Vorkshopl)rerequisiteKno*,ledge ......i_5
Introductions . . i_6
Aeenda . .. .... t-7
Agcnda .. ..,... r_6
Agenda . . .... .i-9
IC Conrpiler II is a Ne'uv Tool ............. i- l0
lC Compiler II C[JI............. . ... . ........ i-l I
Task Assistanr-...-... ... i_lz
Built-ln Script ^:ditor . .. .. r-li
Lab 0 - r-!i and P&R Florv .... i_14

Unit 1: Objects, Blocks and App Options


Agenda . ....... ....... I-I
objectives .. . ......... l-2

Querying Objects Associated with Objects .....l_4


Querying Objects I I{ierarchy .. . . .. . .. .. I_5
Querying Objects by Location ... . ..... l_6
Atrributes of Objects ... .. . .... l_j
Retrieving and Setting Attribute Va|ues.......... . .. .. . ......... l_g
Reporting Atrributes of Objects... .. .. . . ...... l_9
Accessing Cascaded Attributes.... ....... ......... l_ t0
Use bounding_box instead of bbox...... ..... l_ll
Blocks and Design l-ibraries...... '
Savc the Dcsign Library and Block.. ...... .. .,. .... . ..... ..:............. ................ i-13
Copying then Saving.. .. ......... I_ 14
appt i"aiion OptionJ......
Iriuding / Reponing Applicarion Oprions ...,............ .... ............ .. . ...... l-l:
Or Use the GUI .... t_lg
Scope ofApplicarion Options....... .:................... ..... l_19

Surnrnan'
lJnit Objcctives ..............,...... .."......1_22.
Appendix..... ........ .... . .. . I -2j
Appcndix A.....-...... ............... ,.
Renrovirrg Objects........
... l_14
..................:., l_2j

Synops,vs 20-I-078-SSG-007
IC Corfipiler ii: 8lc.K-l:vrl Ifrlillerentaiion
(_

Tahie q:f (l,f,nttrits

U
Bus;rr,d Nanre l:roarrsiorr ailii Subscr:irl.irr1: 1 oi-])
I i-:r.
Btrs and Nrrnc lixpa:si,rn and Subscli;:',i:ri il o1'l) l-l' \
AppendixB....... .., .. .... I-:E
Bir'lcki; arr,J Liblar.i,:s .... i-l'.;
Renarnint. thcn Sar'ing ihe Cun't:nr. i1lccl .....,. , . .. l-l(i
I)esign Lrbi-arics..... . . l-l i
Block ljandlc . .. 1-i]

Unit 2: Floorpiann!.nc
Agenda .. . ..2-]
Unit Objectives...........,.... . .. . ........l-l
Genelal IC Cornpilcr Il Flo* .. 2-_:,
Floorplanning Oven,ierv ........ ....':-4
Create tlre lrritial Floorplan................ ................?-,;
Floorplan After Initializatiorr . 2-('
Ct.eate Voltage Areas (for MV Designs) ..........2-7
Automatic VA Creation: "Shape Blocks"....... .................. ..2-8
Place Macros and Standard Ce11s..........., . ........2-g
Configurine Macro and Standard Ccil Plat-crncnt ..... ...........2_1C
Smart N{acro Placement.... ... ..... 2- I I
Automatic Placerncnt Blockages .-.. .........."..... 2- ll
Detailed Macro Constraints, Fixing N,tacro Placement.... ...2-13
Analyze Placenrenl of Macros using Data Flori,Flvlines (DFF).......... ..2-14
Register Tracing........ .. .. .... ... .. 2-15
Placc [/O Pins.............. ....... .......2-16
Analyze Global Ilor-rle Congestion............. ....}-li
Congcstion })otcntial Around N,{acro L.clls ....2.-19
Apply "Paddinq" Around Macro l:.dgc-s ........2-20
Po*'er Planning Clrallengcs ................ ..................... ...........l-2 I
Pattern-Based Pos'er Netrvork Sy'nthesis..... ..."....................?-ZZ
\\/rite otrt Floorplan inforrnation 1'or DCG. .... .. . .. ..... .2-23
Second-Pass St,nthesis Before Placeutrnl .....2-21
Sur.nrrrary..................... .............2-25
Appendix A........ ........ ...............2-26
Write out floorplan Filcs l-or ICCli....." ... .....1-2.i 'L
Appendix 8....... ... .... ..............2-28
What is a Site Artar''?:.................... ................... l-29
Effectivc Sitc Arra1,' ................... l-it,
1-hree Tvpes of Site Arral,s ....... 2-3 I
Advantarlr's.. . j:
l-
Iieal Ex.rurplc..... ... ......... ... .. .. :-l:
Cornrnon Site Arra),Questions ....................2-i4

Synorsys 20- i-0 78--cSG-037 ll Corr:r'i:r Il: -ila:ll-ia\,ai 1.:p;3qlf,taiio:

..l i ::i
;",nr:le ef Contemts !: -z/

Comnron Site Array Qneslir>ns ' l-l:


:

'g

unli 3: t'l€lcemelll
Uni.. J: and Optimization
Ptacement i-lIlu l.JptlllllzdLr(,rr :a

Agenda """"""""""' lli_ ,'."


General IC Conrpiler II F lo*'..'...--
Unit Objectives ............-..... "" 1-r
rl
.;-:
- nr 3-J
Ke1' Steps of the Placenlent Pltasc , l-r
Placemcnl and Optimization Conln-rands....'....'-"-'
Placenrent antl Logic Optiruizatiorl: place-opt' """ " ' ' l-6 :

'flie l'ive Stages oi placc-opt "" """ ' " "" ' i-7
l-8 :'"
Rectltlntettded place-opt iixplrlration l--lolv.'..'""""
f
Design -'-_- I'r-ic,r to Placcrrlcnt
^- -''--' Status
i0 -l- ;)i
Pre-Placenrent Check......, ' :'
clreck-d.esignResults...-....'..]-ll
R"corr,r",ided: Physical Constrailt Cl'recks ' i- ll
De-sign and Florv Requiretrlcrtt Setup Steps' " i- 13
Confrgrrr. Scenarios ior NICI\'IN'I Optirnization "". ' l- 14
Confiluring place-opt fbr SI'G . ." ' " ' i- 15
High Fanoit Syntheiis Port Punchirrg ........'."""' """ ' 3- l6
Even Distribution of Spare Cells - Automatic "" " .' " i- 17
Spare Cclls ldentification - Autornatic versus Manual ' ' i- I 8
Netu'orks -..--....'."" l-11;
Remove Unwanted Ideal
Library Cell Purpose :I :9 l1 ,,i
Restrict Library Cell Usage """:.""""""" .r-ll
.,
Preroute P.ruer Optinrizatiott. .....--. t r-lr
Leakage Pouer Optimizaliorr-.. -...- """"')""""""
Leakale Improveinent b1' Vt Srvapping ."""""" """ ' l-24
R"po,iurtil-vtcells "" "l-25
D1'namic Porver Optinrizatiotr-.-.----.. " 3-26
Dinarnic Pon'er Optimizations Require Srvitching ActiviU """"' " )-)l
Tit"l P.ru"rOptimization " "" -l-28
Test For Understanding ( I of 2)........--...'.' -l-29
Test For Understanding (2 of 2).--.- "" . ' l-10
Congestion-Focused Setrrp Steps """" """' l-l I
Globll-Route Congestion Arraivsis..-." ' l-l-l
Global Route Congestion \'1ap-..-. "" l-13
Congcstion Segment Labcls-........ '. ' ' l-14

Irrcrease Placernent/Collsestiorr lltlbr-t..-....."' " ".' l-li


Global Route-Based IIF! and I)RC Irixing (GR-opto)' ' ' -l-16
Keepoul Nlargins and Placenrerrt Blockages "" l- 17
Cell antl Pin Densiq'Anal1'sis
l-lE
Is lligh Cell Density Causl,rs (iorrgestion? " """ " ' ' l--lq
".
l-41)
Lirnit Cell Density ivith Partlal Bloc'kages '.
I

ta i iC Compiler lI: Elock-level lnrijlcrre'riaiion


synopsys 20 I-07s-SSG-007
"
oo
-,:4.::

"i'abic: ci t*t:t*t tt:,,

i'lr;gtsiilrr ci'ilalli i.:.tt'tt ...-.....,.


(-trnsidcrir.v. :i:.: . -f i r

,\cccss..-..
Olttinrizing"i)irt . -- .-' -l-ll
t'r,ngsr11.r-triven Reslructuring(CIIR) . . -i-4-l

ConfieLrt'ing the CDR Stratctv.,....". .......,....e... ..q.. .. .-..'...... '. 3-'i j


CDR u,it1 SpG...... ..... .. i-:il'r
'l'cst
For Undersiandit1g.........,....... ..3-4"1
l'iming-Focused Setup Steps ............ .. -...".3-48
l-irninsiDRC QoR Suiltntary Report -.-.'---..3-19
Cai-.1n."Cot..t,.t!rehcnsiveDesign]\,,!etI.ics
Arralvze i\4ctrics in Depth -...... - 3-5 i
Irtctease Placentent/Tinring Elfolt ..-...-...-'.-'.- 3-51
Trvo-Pass Placertrent Florv.....-...... -- "-.'..--'..." 3-53
fiontrolling Ccll Densi''y -.---..-..3-34
Setting Cell Densitv i\'lanually'..... .....'...'.-'.3-i5
Legalization: ir'linimizing Large Dispiaceruents........ -- -... -i--i5
-[',qrgets
Stlealn l-egalization Smaller ir4oves...-....-. .--......-...3-51
Enable Stream Legalization ..'...3-58
Reporling Design Utilization ...3-59
Create Move Bcur1ds....-..- '-....--- 3-60
So{1 r,ersusHarrd Bor,rnds .....................,..... ........................ 3-6 r
irnproving Tinring Driven Placemerlt Ilesults ...---.--.-......---3-62
Buff'ering Aware Timing, Driven Placernent.... .'..'..'.-.'----...3-63
Post-CTS ICG Fnable l"iming Problern....... -.....----.......-....-3-64
Pre-CTS ICG llnable Timing is OPTiMISTIC....-.".........." -.......-.-.....-'...-.3-6-i
Solution: ICG Optirnization....,-,..... ............"3-66
TrialCTS -......'....'.3-6'7
CTS Setup NeedeC ror Trial CTS............. ..-..3-68
iCG Spiitting and Clock-Ara,are Placemerlt................ ....-..-.3'69
Enabling iCG Optinrizatiorl ..,......... ............3-70
l-est For Uncierstanding (l of 2).... .................3-11
Test For Understanding (2 of 2).... .................3-72
Poner- and Area-Foctrsed Setup Steps............,...................^. ...................3-73
Porver Anall'sis............... ..........3-14
Area Analysis...-.............. ..........3-'i5
Porver and Area Optir.r.rization Effolt .............3'76
Pre-Rortte "l,aver'Op Linriz-ation........ ...............3-7'/
Global Routc-Based La;-tr 8inning............... .. ......... ... ...3-78
Global Route-Ilased I-a1'er Binaing (continued; ........ .....".3-'i9
Lori Pol.cr Placelnent ..............3-80
Placer.nent and Optinrization Application Options Sumnlan*...... ............3-81
I'est For{Jn<1e1s1anding................. .................3-82
Optional Steps Afier piace*opt..... ..... ....-......3-8i
,\i{ ;spalt Cells Not Alreadv in the Ne1lis1 .................. .....l-84
Freveniin-e Spare Cells fi.om Moving .... ......3-85 rl

Synopsys 20-I-078 sseboZ iC Coirpller lI: Block levcl lf,]plenentation

-oo
Table of Contents

lncrerncnilil ()Ili;r:i-z;rir rr
r-cilnc_(rr)t.....
i', ilh r-!{r
PathOptirnization.-..-...... . .i-E.l
Focusing refinc r.rp! . .. , . l-88
......^.......r.-.... .,.. l-8"
B ' o

Surnnrary
appefidiii..... . .. i-90
j-91
AppcndirA.....
Optimization: Ciell Nan.iing Convention .l-9:
.
Appendix l1........ . . ... .. ' . .. i-gi
MagnetPlircenrtrnt... .. .....'. '.]-94
Perfomring lullagnct Placertteni .. ..'. '.. . .. ...l-95
Standalone Coar.se Placctttettt..- .-.--............-..3-96
Enhance the Placer.nerlt............-.... .. .-... ...-'.3-97
Appendix C .....,......... .... . ... 3-98
DefhultPathGrorrps '.. . ..i-99
Problem u'ith Large Violating I/O I'}aths 3-100
Place I/Os into SeparatePath Groups.................." ......-..-.i-101
SeparatePathGroupsMayNotBeEnough...-'....'........j-l02
Apply Path Group Weights....... . .. ....-.....i-103
Appendix D................ .. ... ..-.. i-104
Net length attributc support . . 3- 05 1

Stand-Alone Trial crS ' "". 3- 106


Optional: Merge Before ICG Optimization............. .--....' 3-l07
Ir{ax LVt Percentage Optimization .......-... 3- 108
Categorizing Design Violations.., . - '..........i-109
Enable Multiple Port Net Buffering...-. ..... 3- l l0
Standard Cell Spacing Ru1es........... .... .: I I 1

CrcatingCcll Spacing Labels and Rules..... .........-.,f..... -. -.' . ..'.. ' . ...i-ll2
ICG Anto-Bounds...,..,.... ....-..........)...... '.....3-1 13
Appendir E ..........-,...- ..- .-...-.. i-l 14
Relative Placement.-. '- """""""""""" "" " 3- I 15 :

What's Special about Data Path Logic?.. . . 3- l 16


The Ideal Layout for Data Path.............. ....3- l'i 1

Data Path Layout using Traditional P&R Too1............" .. 3- I8 1

Relative Placenrent Grotrp .. ' 3- 1 19


RP constraints ------------.-.. """ i-120
ConcumentPlacementof RP Groups................... .-.. ......-.3-I2l
Candidates tbr Ilelative Placenreut ............ .. i- 122
Ph1'sical Datapath Irr DC-T/G & ICC II .................. ."'.... l- l2i
RP in DCT/G ' ' l- 124
Appendix F................, ..." l-125
Placetrent-Based Scan Chain Re-Or-dering .... -...". "' i-126
Re-orilering Chains rvithin Same "Partition"..'.'..'........ "'3-l2l
Exarnple SCANI)EF tionr S-vnthesis',vith DFT........ .... .'........' i-118
Exanrpie : I'lacenrcttt u'ith F-xisting Orde ring.. .... """" ' l- ll9
Exan.rplc: Recrrdering Within Scan-Chains. . .-. "" 3- l l0
a'
I
Synopsys 20-i 078 SSG 007 V JC Conrpiler iIi 3lo.k level Implemcntation

,
j-ahXe e,{' #*nt*r,ts.

Utl,r-.rp;., Reotieri ng 1\rith ic ...."..-. i- I .i I

Unit 5l Design Setup


,\lren,Ja ..-.... ..i-1
D.sisn Serup Ohjecri\L's . ............ ..........,....... i-l
General IC Compiier II Florr'.....-.. ......,..,........ 5-3
l)esitn Seiup............ ..... ......,..... j-.1
Create a ''Container": The Design Liblary. .."..-......._..... ..-.-.5-5
Tccirnolog-r, Inlonn,l{irtn -......-.....5-6
Desiqn Librarry Cornpressirrt .......-..-..,.....,..-...5-?
Rcil'rence l-iir-an, Paths............ ......-.............. i-ii
lvloving Desigrr anci/rrr-Rcierence Librar-ies....... "....-,.. .. .....5-g
iichind a Design Librarr, ..........- 5-10
iiead.db and.fi'anre r.iirccill,into iCC iI .,............ . .........,5-li
l-iblarl,Configuration Erar',rp1e.... ....-..-. .....,5-i2

S\,;roos.,rs 20-I-07S-SSai-C07 -. vi lC Compjler li:-ti+ck !er.e.i ilqgleneni:tron


a

-cc
Table of Contents

i-ibrurl, florrllgrrrltiitrr irlou ()prions . . .. 5- I _l


i(cad the Netiist iind L--icatc a t)csign ...,...". ..:.... .........5-14
Linking........ ........5-15
Load thc Pol'cr lntcnt ...............5-16
Supporl of Golden-UPF and LlPF'/LPF" Flo*,s., .... ...........:................ .5-17
ModifyingPor'verIntentafierconlnrit_upf.,
Load the Floorplan ........... .. ...- 5-19
Load a DEF Floorplan File ..-.......- ................5-20
Caution: Unsupported Clonstructs in DEF ........................5-2 I
Specily Unused Routing Layers .......... .......5-72
Load Scan Clrain Identification Inforntation .. . ..............5-23
Connect PG Pins to Supply Nets ............. .....5-24
Elablc Use of Tie-Iligh/Lou, Ce11s.............. .......... ... .......5-25
TIP: Design Library Packages . . . ..........5-16
Usage Details pack / r.rnpack
- ......... ..........5-21
Test lor Understanding ( I of 2) ...................5-28
-fest
fbr Understandin g (2 o{ 2) ......-.-..........5-29
Summary: Dcsign Setup ........., ,.......... ........5-30
tJnit Objectives Summan' .......5-3 I
Appcndir...... ....,-.5-i2
Appendix A............,.... .............5-33
ICC II Initialization Files.......-..-. .................5-34
Example User's -svnops1,,s_icc2.setup File............... .........5-35
Appendix B...-............. .............5-36
High Level Multi-Voltage Design Concepts ............ ........5-31
UPF Exarnple: Supplies and Porver Domains....... ..............5-38
IIPF Exanrple: Powcr Ports and Nets .,.......--... ..................5-39
UPF Example: Level Shif-ters ..........-...........5-40
UPF Example: Po'uver States and PS Table....... ....-............ 5-4 I

Unit 6: Timing Setup


Agenda...-.... .......... 6_l
Timing Setup Objectives.............. ..................6-2
General IC Compiler II F'1orv........ .................6-3
Muttiple Modes and Corners ......... ...............6-4
Concun'ent MCMN4 f)ptirniz,ation .................6-5
Mode, Corner and Scenario Setup .................6-6
Efficient'l-irningCiraph Represcnrarion....... ......................6-1
Classi!,ing Constraints . ...........6-8
Comrnands Listed by.' Classitlcation ..-................ ... ............6-9
Su.itching Current Corrrer-, Niode, Scenario........ .. .. .........6-10
Renorts Usually Applv to Current Scenario ..... ................6-11
Loading Constraints .................6-12

Synapsys 20-l 078-SSG 007 IC C-oarpiler II: Elcck level lnlplementation


.$

_oD
Table r:f Cattti:r:t*

il,.1i ii,:];--."riilr''',ritr.sc;iiri..... .----'-'..-. -..-.(r^l i


ii'lininrlzc h'iocics artd Coritcrs *'ith Sccrrarib,'\nalvsis..,, .. .-" ." .-"..-...' . .6'I '
-Check f-ir:ing Ct-rtrstraitrts . '. '.. ... 6-l:
'-.i,iriroilinq Sccrtario Aniiiy'sisr'Optintiz-atioit..............'... .-...::.-..-.. ......6-l6
Eraniples: Modi{f ing Scenario Status....:-..... ....'. ...".. .'.... 6- i :
Iieporting Scenari<l Status Senings.......-.....---... .-----.....'....".. {r-1ti
Defining Colner PVT by Operating ConCilitrn.... -.- -.-.--"...'":.....6- i9
Indirect Operating Condition lvlethod Issues.,,....,". .-..."...-'.......6-2C
Dcfining PVT Directll'- Recotnmended .........."... ..-..........'6-21
I{eporting Library Details: report-lih ....-...'....6-1)
VT Matching .-....6-23
LIse Process Labels to Help the l\'latching ......-."-...6'24
Irrocess Labe I Specification ..-.,.......
Process Label Exercise .................. . .. .......... 6-26
iteporting ALL Ccrr-ners rvith I'VT Misnra{clres .^'....-....--...6-21
Selective Librarl Loading..-..... -- .--....-....-.......6-28
tjsing Selective Library Loading........ '--...."..6-79
Scaling Groups.....-... ........'...'...6-30
llsins Scaling Croups ..." "...-.. 6-3 1

Notcs or.r Scaling Groups . ...-..6-32


Specil-v TLUplus Parasitic RC Models... -.....6-33
Restricting Cells in Specific Modules/Regions ..-.........- .-..6-34
-farget
Library Subset Exanrple '..-..--...-'......'..6-35
OCV Elfects on Tinring. .....-,.6-36
Traditional Timing Derate Method for Modeling OCV "..'.'.....- ..-............6-31
Exarnple: OCV Analysis rvith Tinrine Derate ....-.--.'........... 5-38
Derate Factor in Tirning Report........... .'........5-39
Timing Pessimisrn rvith OCV Anal.vsis ........6-40
AOCV Calculates Derating Based on Dcpth and Distance -----....-....-.......6-11
Ilrrabf ins Advanced On-Chip Variation Modeling -.-..........6-42
Pessimisrrr in Graph-Based Anal.vsis {GBA) AOCV......... ..."--.................6-43
Parametric On-Chip Variation Modeling of Random Variation...-.. .....'".6-44
'
POCV Input Data: Sigma (o) - Trvo Fornrals '......."'........6-45
POCV Path Calculation Exarnple ........."..-.....6-46
POCV Inptrt Data: Distance-based Delatirrg "..-.....----........-.6-41
POCV Setup..-........ ......-..'.........6-48
POCV A<tditional Sctup.-........... -....-........-......6'49
I'erfbrnr a 'Tinring Sanity Cireck ..--.--.-.."'.'.. ..6-50
Controlling MCTUM'Iiming Reports......... ....'..6-5 I
Additiolal 1-iining Settings... ..... ......6-52
Test for Understancling (l of 3) ..-...-.-....---..-..6-53
'l-est
lbr Unller-slanding (2 of 3) ..-......--.-'.....'.6-54
-fcst
lbr Undcistanding (3 ol3) .'-.............-.....6-55
tjnit Objectives Surnrnat)/ .. .6-56
Appendix A.. .............. .............6-51

.-cync psys 20-I-078 -SSC { 07 iC aoiiririi.i ii: Slock-level impiementation

oo
I

Ta c, i,* of Co nte nts

Sr..Ln'ces of Variatiorrs. (r,5li


I)istribLrrie.rrs".........
i-rirly,r'1-a1e rvith Non-CaLrssian
........ .6_j9
Hou,is sigma_slack calculatedJ . ..,.. ...6_6()
Data Path Pessinrisrn Ileduction : 1 O r, i
report_tinring -variation ...........6_ril
Appendix B -................. ........ ... 6_63

E,xercise: Constraints in OC\z

Unit 7: Running CTS

Clock Reconvergence Pessimisnl Rcrnoval .1 -16


Congestion-Aware Initial CTS _. .,... .. ........1_17
Local Skew Optimization ........ 7_ 1g
Errable Local Skerv CTS and CTO ............ .. i_1g
CCD and Borrndary Rcgistcrs .......................7_20
Restricting the Amount of CCD Skerving ...1_21
Skipping Path Groups during CCD............ ... j_22
Additional Settings ro Consider,. ..................7-23
Classic CTS Florv Stages.....-.... ................ ... j_2.1
Classic CTS Florv: clock_opt vs. Attrltic ....1_25
CCD lrlorv Stages.-......... ...... .. 1_26
Post-CTS: Post-routc Clock 'l-rec L)ptiruization ..... ......... j_2j
CCD Porver or Area Rccover.y..... ............_....1,-i.,g
Elrablc CCD Porver/Area Recor,erf ..-............ j_lL)
( ('D ( lock Po*'er Rcc,rvcr--r: 1 .,,L.-r. , 1f",
Ij,,,;,;;ri. f ... .. . ) ,,,
Global Routc Optimization (GRO) ..... .................7_l I

>ynopsys 20 I-078-SSG-007 lQConrpilcr II: Block-level in)plenrent.tiori


Teble (if 'lfi t-iiil:, "'i:

l-l':
r,i.i.. lr, ;irc i)r'i'::ili ]rlirr'" '
' ' ' l-lr
Llsins Gkrlrai Rcutc Uptirlriziiiion " " '" ' 7-i i
l-.. e^' rnl
,.,,,-1.. .1,''r
it)..lillL,iE rfr(. - ,........ '"'-
...".. d""':'-"'."';
^ 7-j_i
L-,xanipie Scl'ipt.'..-..-..'
,,\na1r'zirrg CTS l{estrlts: Ciock Qoi{ Repor.r'."""" '-'"' " 1-}6

""':"" '-'."': "'. " '" '"-l--\1


Dctailcd Clock I':rth lieports."""""'-""" "" ' i-iS
Analyzins CTS Resuits: Clock f in.ring liepcrt
Ana11sistJsiilgtheC]l.SGUI,..........,....-....
-ti'"" ."""""""" i-40
tUl i\naiy'sis: Clock Ltt '.
eliz"<i GLaph'."'
,\'alysis: clock r;:; L;';i;;;J c'"pi'"" " "" "" "" ?-41
GiJi """"'"""'7-42
Prc-CTS: Ideal Clock Laterrcics""""""""- "''."-'-
I'ost-Cl'S: ernpoe.r"C"CtJi iott"t' / Updateri
i-alctrci*s"'-' ' ' ""' '" 'l-43
in
lrt:sl-C'fS: Updatc Lirtcncies "\L'L Scerrarios""'- ""' 'l-:'4
C;\LjTiON: l'i-opagatecl Clock Ob-iects"""""-
" ' ^ """" ""1-45
" """"' " '1-1+6 -:
Au'.o-llpctate rvith Virtual Clocks :

"""'-"""1-111
Liiniting l'ruto-Latcncrv Updaie"" ""' " """""7-48
Lin:iting Auto-LatencY tJpdate""-""' """""""'1-49
CCD during place-opt """"" 7-:0
iCeal Clock Adjustrne nt during place-opt """""""' '

LnoUting and Controllirrg place-opt CCD """"""'-'


Unit Objectives Suuttrary
"""" 7-53
'"""""'7-54
r\ppendix....
Appendix A...".....-..--.-- .i-];
CtO: ti*ing-Driverr Clock Tree Creation
"""'1-51
CL-L): Clock 1'r'ee l-at'ency Refinement"'
....--.. ""-"""" 7-58
Appendix 8......--.
C-lock Objects"""""""""" ' """""'1-59
CAl-jTlON: Propagated .'""""'"""7-60
Strlutiorrs: Plopagatcd Clock Objects""""""""-"-'
"'.""""""" '1-61
irrrleper.rdent I/O Clock Latencies (1 of 2)""" '
Irrile;rcrr,Jent I/O Clock I-atencies iZ of Z)"".""
""."""." '."7-62

Unit 8: Setting UP CTS e_1

Agenda
' ." """""" 8-2
Clc'iieral IC Liornpiler Il lrlot"." ""
"" " ' S-i
U nit Objcctiyes ...-..-..-... .
" "" " 8-'+
l.Tnit Objcctives -, .......-.. -
\r\rirere Does thc Ciock l-ree Bcqin and iir:d? '. ."" . " ' 8-5
' "' "" " " 8-6
Ralance Points: Sir-rk antl Ignore Pins
(lcncratecl and Gated Clocks"'." "'
"'. " ." "' 8-7
' ' ' "' "' " 8-3
i-lscrde llneil or Esplrcit Sink I'ins
Dtlrning an I}plicit Sirrk I'in
' ""- "" ' " 8-9
" ." " " .""' 8-i0
!)rf inirrg an ExL'lii:it Sink Pin \\iith Dela)'"'

lC Ccr.,Pile: 1I: 31c:i<-levcl lmplementaiion


Sy;ropsys 20-i-07E SSG'0['7 o
o

.o :-
ol
'- ':'::1:r j .ll j-j-|._1_: j'.'
-r':'::_-'..j::-t--.j:.;:j.l

Table of Contents

l).'ilnirrq l:rt Explicit lgrrore (rri i:r.:l,tr1i) Pin.-.. .... . . .- .,....... .. lj- i l
' iJe tlni;r.,. a Ciock Skerv Croup . . S- il
I:xceptions - Nlode Specilic ... 8- ll
Auto Erccptiorrs........... .......::..... ... ... . S.: l
o Controlling Auto Exceptions ...-......-....."..-:.....:.."...... ... ... 8- l5
. Anto E,xceptions: Scaling Delay' Iteqiiircllcnts........ . .,.. . lt- I 6
Horv Can You Chcck Exceptions? . . .. .. .. 8- I I
Default Cllock Tree'[argets-.......- Q t('o
... o-,
CCD: Skerv and l-atency Considerations.................. . . .8- l9
User-I)eflned Clock Tree Targets."...... .......... 8-10
Control CTS Cell Selcction . ..8-21
Existing Cells on Clock Tree ........................8-21
No Irrter-Clock Skerv Balancing by Default 0 al
...................... o-:-r
Create Balancing Groups......... ... . .. ... 8-24
Balancing f)ccurs During clock_op1..".- .......8-2,;

Snnrnrary: Clock Tree Balancing Setup.".."...... ...................8-21


Sumntary: Clock Tree Balancing Setup........... ...................8-28
Pre-Existing Clock Buff'ers Are Removed............-....." ....... 8-29
Clock Tree Renroval Behavior...... ................. 8-i0
Presen,inq Pre-Existing Clock Trees ............. 8-3 I
Propagation Limitation of dont touch on Clock Nehvorks..... ................ 8-32
Preserv'ing Pre-Existing Cells -........... . ... ...... 8-33
Preserving Pre-Existing Cells - Allorv Sizing ................... 8-34
Cells that Should Not Be Moved .................-. 8-35
Cells that Should Not Be Moved .................. 8-36
Non-Dcfault Routing Rules...-....".. ............-... 8-37
Non-Deftrult Via Rules ,............8-38
Defirring Non-Default Routing and Via Ru1es............ ........ SliS
Exarnpie Technolo-ey Fi1e.............. .,..............8-40
Defining Via NDRs with -vias..... ...".............. 8-,1 I
Applving Non-Default Routing RuIes......."... o /l

Diff'erent NDRs for Root. Internal. Sink Nets ............. ....... 8-44
Classiflcation of Root, Intemal, Sink............. .................... 8-45
Clock Crosstalk Prevention through NDR Promotion............... .............. 8-46
Clock Crosstalk Prevention through NDR Promotion................ ..... .......8-41
Are ail Clock Drivers and Loads Spccificd?.... ..................8-18
Example: Reporting Clock Porl Constraints.. ............,.......8-49
Defining C-l'S-Specific DRC Valucs .............8-50
Retttovr Skcn lrorrr Urrcenairrry'.. ....... . .. .. .3-51
Uncertainrl,on Output Ports............ ..............8-52
Repoding Scttings Sunrnrarv . . 8-51
Unit Ob-lectircs Suirntary .........1i-j4
hppendir.... .........8-5_i

Synopsys 20 I 078-SSG 0C7 IC Compiler Il: Block-le.rel Implenrentation


,}

c
"l-ah{* *f' S*ttt* l":ts

Unit 9: Routing & Optirnizeticn


Agen<la """"""" " 9-i
General IC Compilcr ii F1orv......... """"" """9-:
Llnit Objectives ............... ""' .' ' 9--r
Routing,Phase Gca1........- "" 9-'i
ICC 1I Routing Flon'..-........, "' " 9-5
Recommended Routing Flou' .........,,- """" . " 9-6
Rorrte Operations: Glolral Route {GR).. """ "9-j
I{oute Operations: Global Route Sunrmal}"--...--..-.'--. ' "' " "9-11
Rottte Operations: Track Assignnlent.. "" " "'9-9
Route Operations: l)etail Routing........ "" ' 9-l0
Pre-Routing Checks anti Se lup ' '."""" ' ' 9- l I
Check fbr Routing "Readiness". """""""""' 9-12
Routabiliq' Check .-...'.--........'-" 9-13
Renrove Route Arvare E,stinration.-.. """""' ' 9-14
Secondary PG Pin Cottncctions """"' """" '.9-l5
NDRs fbi Secondary PG Routing." "'"' " ' ' q-16
Inserting Redundant Vias on Signal Nets " " 9- 17
R.edundant Vias and Srnali Geonietlies ..........-.-. "" "" ' '." 9- i S

Enable Wire and Via Cptinrization ..........'... ---....--.-. !....... """"""""""." 9-19
Concun'ent Antenna Fixing: La1'er Jurlping-.'--.'-...-...--. . "' 9-20
Clontr-olling Router Behavior': Routing Guides "-""""'.""' 9-21
Preventing Routing: Routing Blockages...." " '9-2?
Corrtrolling Scope for Rerouting..... " """""'9-23
f irning Driven Routing........ "" 9-14
Crosstalk Preventior.t """""' ." 9-25
Crosstalk Analysis """"""""" 9-26
CCS and A\VP...,.... .. "" ""' " ()'?i
Noise Analysis...........-.,-. """ ' 9-2E
TcstforUndcrstanding(l of 2) ' '-"" "" "" 9-29
-l'estlblUnderstandirig(2of'2) "" "'" 9-l(l
Routing ancl DRC l-ixing """' !)-i I

Route the Sigrtal Nets.. '' ' ^"' ' 9-12


l)ctail Routc lteratioris ' "" "' 9-ll
(.hcck Zroule DRC \iiolaricr-1s.................. " 9-li
\/ieu'ing Ccll lnteural Strtrctttr.cs ' ' " "'." rj-li

SynoDsys 20-I-078-SSG-C07 iC acorpiler ll: Elock lev.l Iiltlieflleriailon


Tabtre of Contents

i.avout versus Scl,rlriltic (lheck............ .. 9--:(r


Dctaii l{outing l-ooos..,.,.. ...........,......:... .....9-31
Change Routing Options......... ..... ...... .........9-38
Rerouting Plobleuratic t'-ets........... ... .....9-19
Optirrization and Reroute . .. . ...Y........ ....9-40
Pri:t Roule Fuli Optirrrization.............. . . .9-4 I

Post Route Optirnizations: Pou'er ancl Cl-O ... . . ......g-42


Post Route Olttirniz,rtions: CCD . ...... . .. .. ...9-43
' Faster QoR Conl.crgence............ .. .... ... . ......9-44
tJsing PrirneTinre l)elav Calculation ............ 9-45
.' PrirncTirne InDesign...-.. .........9-46
StarRC InDesign ......................9-41
Notes on Repeatabiiity ............9-48
Llnit Surnrnar)' ....,........ .. . ....9-49
Appendix...., .......9-50
Enabling Post-Route Redundant Via Insertion.................... ..................... 9-5 i
Custonr "Via Mapping" Table .......................9-52
Example: Prioritizing Vias for DFM .-...... .. .......................9-53
Concurrent Soft-Rule-Based Via Optimization .................9-54
Concurrent Hard-Rule-Based Via Optinri2ation.................... ......-............ 9.-5 5
Random Particle Defects.......... ......................9-56
Reduce Short/Open Critical Area............ .....9-51
Routing Blockages - Comparison to IC Conrpiler.....-....,...... ..................9-58
Routing Blockages (Continued)... ..................9-59
Antenna Violations .................9-60
Fixing Antenna Violation by Layer Junrping .....................9-61

Unit 10: Top Level lmplementation


Agenda .."............ I 0- l
Objectives .......... 10-2
Top Level Implementation................. ........... i 0-3
Using Cornpletely Implemented Blocks ....... 10-,1
Parallel Blocks and Top Implementation........,........ ^......... 10-5
Extracted Timing Model (ETM) .................... 10-6
Abstract \rieu, ........... .............. l0-7
Creatins an Abstract ......... ..... l0-8
Keep Everylhing in the Abstract.. ... .-... ........ 10-9
Irranre Vierr'. . . I0- l0
At tlre Top-Levu-l .............. ..... 10- I I
,\t tlre Top-l cr r1.............. . .. l()- Il
( lreck tlre ljusirrr .. . .. I0- Ii
irnplenrent the'l-op........ ....... 10-14
UIrit Olrjectives Surnrnarr,. .... 10-15

Syncpsys 20-l 078 SSG-007 IC Conr&rer II: Blork-level Implementation

0
c
Tahl* af C*n{"*n{:i:

Appcridix l0-i6
Clock l'ree Modeli*g iii ,{bstracrs ---.-.-,-,:...........-.. -.--....- ..- i 0- l 7
$ttribuie-s to ldentitytheHierarcliyOlrner,.-..-..., ..... ...... l&i8

Unit 11: Signoff


Asenda ...........11-l
Generul lCConrpilerllFlc*'...-..,.. - . ..".1i-2
Unit Objcctives.,..........,--.. ... ... il-i
Unit Oilectires ..-..--.......... ....... I i-4
hr-Dcsign SignofFDRC Ci:ecking and Fixin-q.... .... .. ....... il-i
Sigri.rll'DR{-' using IC Vaiidator.. i 1-6
'JC\/
I'';i::i i:xirlit{))cs..... ..... ... i i-'

Vieu'ing ilrrcr Data in the Error Bror,,.ser.-..,..- . ,- " ....- I i-8


Filteling E,rlor llata.... ....."......... l1-9
Filterirr,: Frror Data.... li-i0
Slanclard Ceil lrillers and Metal Filling,..-.-.... ...-....- ..-...... I 1-1 I
Filler-Celi Insertion...--. ..- ..... . 11-12
lJxampie Script........... ..-,....... 11-13
Metal Fill Insertion .."............. 1 l-14
Vierving and }iditing il'letal Fill -..........,.-..... I 1- 15
Exanrple'Script..."..-..,....-,. ... ... I l-16
[.rarrrple Script ........... ... . ... . ...... I l-17
Pre vs. Post Tape-out ECO ......-.... ........,..... I I -i 8
Unconstrained (Pre Tape-out) ECO Florv.......-...-. -" . .".. .. 1i-ig
Pre-Tapeout ECO OrUnconstrained FIou,.......... ...-.-."..."=" ll-20
ECO Placement. place_eco_cells .....-.......... 1 l-2 I
Unctrrislrained Florr' . ........ ....... I l-ll
Freeze Silicon ECO Florv ....... I l-2i
Netlist (lhange f,)perations ......11-24
Map ECO Ceils to Spare Cells... ......., . .. ... 11-25
IvIap l:CO Cells to Spare Cells... -.....-.-.-"-..-..11-26
SignolT:driverr Physically Arvare L.CO Florv . .... .... ... ... I l-2?
Expon f)ata li'or.n ICC II ........... ................... 11-28
Exar.nplc Star-RC Cornmand Fi1e..........-... ... i l-29
Priinel'ir:re I-,f O Guidance F1c1v........ ...... 1 l-30
Exanrpic irlrlsicallr,Arvare ECO irr PI'(l o{-2).............. .. 1l-jl
Exanrpic Pirysicalll.Aware ECO iu P1'(2 oi2).... .."... .. . I l-i2
Appl_i'I'1- [COs in ICC II usingN{ininrLrrn Ph1,'sical Inrpact.......... ..... ]i-ll
Ut'rit SLinrinarl'. ................ ..... i l-i4

Synopsys lC i-078-SSG-C0.7 lC Conrpil€r ii: Blorklevei Implementation

o
q

Table of Gontents

Unit C5: C*st*r-ner Support


Sy,nopsy's Support l{esources ...,...............:.. . . .. CS-l

\olr \ct Rcurstiatiorr t S-J


Srrirpoll ('cntei-.......... . . .. CS-5
(-lllrcr Techrrical Sorrrces CS-6
Sunrmary: Gening Suppoil ..................... .... CS-7

Synopsys 20-I-078 SSG-007 xv lC Conlililer Ii: Block-levei inrplementation

ta
J"ei:t* q;f 'f*iE:* t*ntm

"
'if-ii.
1rr,L 11p5 !111;nri*rial11' lelt hia:,rk.

G 'e

Synl\Dsys 20 I-076-SSii 007 xvi IC Contpiler 11: Biock-level lmd€fl]efltation - .€


ou
, -,:: j : t_.::i :- : :t-:.1 :: :.a).::r:- -.
I :.::.

ffiwryeffi###n *ffi:

ffi $#ffi B{-$ffiw#B re ffi $# ffiresreem&Hmre H

?*3 ?.#*-SPA

lntroductiqn O 2018 Synopsys, lnc. All Rights Reserved. " i-1


lC Compiler ll Block-level lmplementation Workshop
_o 0
i:.t,:itriti+,:s

i- ,c\--l
Buildinc- l-Jrurs i f5F i

.-E

SmckinE

Recycling

_]
t';.\ Please turn off CIr silence youi'ceii phcne
!.7

..r

intrcducilor. O 2016 Synopsys, l;l: Ail Fii-ohis Reseive:l


iC Ccnlrli'r: ll: 3ic.k-level lmplementaticr"t \!orkshop $o
!:L

tflJorkshop Overview

--

B .o

r This workshop witl cover the entire block-level implementrtion flow:


r Design & Timing Setup
.o. Floorplanning (introduction)
'r Placement and
Optimization
e.Clock Tree Synthesis and Optimization
r Routing and PoslRoute Optimization, including lnDesign PrimeTime and StarRC
r Top-level lmplementation, Signoff DRC, fill and ECO
r This is not a "delta" workshop that covers the differences between
lC Compiler and lC Compiler ll
i-3

lntroduction o O2O18 Synopsys, lnc. All Rights"Reserved, . $ i-3


iC Compiler ll: Block-level lmplementationWbrkshopo
,
"
bY*:' shop Target S.uelisnce

lntrocuc;io4: o2o.l8 syncpsys, lnc. A$Rights Reserved.


lC CorrpilSr l1: Block-ievei ln'tplementation tVorksiop
'ut
q

Workshop Prerequisite Knawledge

r Prior kno.ruledge of lC Conrpiler or lC Compiler il !s not needed

on

r Knowledge of general standard cell-based placement, CTS and routing


concepts and terms is helpful

r An understanding of basic digitalAS|C design concepts is assumed,


including:
. Combinational and sequential logic functionality
o Setup and hold timing

i-5

I ntrod ucfio n O 201 8 Syncpsys. lnc. AII Rrght8 Reserved. i-5


I C Compiler lle BjockJ$lel"lnrpleme ntatio n VVorkshop
{r,ta"c'diue flq:ns

r i',iar:e
:

F: fr'mrr:ar,,1
vv:,1{rur>J

i; Job Respernsibilities

ffelcvarrt Experience

r *,{aii: Goal(s) and Expecteticr-rs f'ar';iiis Cci;t'se

i-6

lnlroc,-ciii;r O 20'i8 S.vncpsys, lnc- A{l Rigiris Reserved. o"


i-6
ia; Ccr'lpiisr ll: Bloc:Glev.l ln]pl:i,'i3italicn l1'orksnco
s9
Agenda

l- tsAYl

tEj lntroduction and GUI {-ab

Objects, Blocks and App Options

;r:ig;i,ii+r::
Floorplanning q,
,:-lErq..'

Placement & Optim ization

i-7

r*

i-7
:. :.f,:':-1.1-.''._. ."'_.t'.r.'1.:1.'.rlr-1.:.::,- ."::." -. _- __.--.1'__ :'.':-.
'-i.,':-i.-
_.-_1-t:::. -".. . 'l'-:';.':.::.J j..i-.. ::1-':-.:.'...-.'.
.r .:'......-.1-: ..1.r--1'-.1::'..: ...'....
"'

$rqereda

tJDtr'i Cell Li i; rar i'sr;

Design Setl,'p tr

;'-.1

Timing Seinp L#8.

Running CT$ dq

;a

-'
I ntroC uciron o zor s sviopoy=, Lni i; niqr,ir i;;;";.' i-8
l3 Conrpiler Ii: q:'Jck-level lmplemeniation yirorksi-rcp
:t.t r .''':' ,,
-

Agenda

*s,
Setting Up CTS iEdr

Routing & Optimization

Top Level lmplementation

.tr*
Signoff LS

i-9

lntroduction "o O 2018 Synoosys, lnc. All Rights Reserved. i-s


lC Conrpiler ll: Block-level lmplen]entaticn Workshop
. 0
:

i* C{"}rffii*iler {} is a ffietE Tool :

s le e*rnpi{er ii is an entirely nev; tc.cl


x To rnax;=ize the capabilities and perfonnaris* cf IC C+;i'r:riii:r ii.
vre reconrrnend tlrat you start rryitir ndw ICC ll l?.eferenc* l+ie.i'r:,;r{,:lr+{,r}i
{ RM ) s cripts : sch,nef.synopsys . c a m :} Meifuodologly

x trl'lany things that you are used to cloinE in IC Ccrnpil*r


are no longer v*lid in lC Cornpiier ll
m On the other hand, nrany concepts / tes,e rirodels are carrieci oy*r
tc lC Compiler Il
' Slmilar ccmmands can have subtle or big clifierencesi
a Alv;ays consi;lt the man page

l- tv

t9
lriilocuciicn o
O2018 Sync,ucys !nc. A.li Rigi:Ps Reserusi ;-1 0
"t
lC Ccnrprler l i: Block-ie,,,ei hplen]entation \ JofishoD
oE
1 " _:',_ _ ''t,,t '-'':."::"".j",,'-_'.,', '.::
.:.'....".:'. ". : :.

Command Search
Example: List menus, commands
and opticns relatedQo "::l : :: t: -'
v,
ou can also run the mmmands
@,e@r,r!t frorn righi here or pull up a dialog fcr
:-i_+..rr"srrr?tu,!
,$r$.adF!*4l1
,:a:+.'!&4r+
setting epplication options.
<r-364.*i6.!1
*q:}-;.-n
N^:o-.::qtil-F.*
pli'jsj6 a:-49
rirj-*r-J6St:<l i.F
*
*Es:..5*hraSj:Y::q- tr
'
: *Ne.:r9:b:.asi:a-:;Pt
&t-<.i;ar!*ii^$-rys-r*:i-'r&
: .ii*i*:t+*St{F_d
I
*
+:ss!-€q!1*,rsd-P4
3+-t sle_4r }sy...sr.n+*i e
p/-, .r*:F€ ,r&i!ts*
s19#4:i:*{:: *
a

i- 11

,nifoouction O 20.18 Synopsys. inc All RightgReserved. i-11


lC Compiler ll: Flock-l€rel knplementation Workshop
Task ;{r:::istar':t

F4 launches the
TaskAssistant

L'**GGl
,--'.-.-.-.-.'-'-...--''-."_
:i
l'-',."..*l
'C:mr.EJ
i_!crg:l j
:

i {i;;rGill
.L]3
,.I:=GEq 11
.t...^'--

:
L ".i-j{1r1! J

L:::i::t:..,-,: -l

.",.."1:=.

i-12

introduction " O 2018 Synopsys. tnc. Ali Rights Resenreci i-12


iC Ccn:p.': r ll. Blcai.-r: vri l:r:ri:: g :al.o- \'Vorkshcp
-c
tsuilt-ln Script Editor
i .:r i.,J:o: !:!

df,rd nEaro e*5!#:


5 . & iB i!,:r,-t 11,

: .#Thisisascript
f; i .ou.." SSETUP FILE

&6rd:y -li r!q!.1!1.!:! , er:3ria-rs-,-!i!1! ':

r Create scripts interactively


r Execute entire script or a selection
r Save script to a file
i- 13

intr od u cti on O zbt 8 Syropsy:s. lnc. AII R.gr-,rs Rese-eJ i-1 3


lC Ccmpiler ll. Bpck-level lrnplementalion Workshop
_c
Lah fi * SUi at":ci Pfe$e F{*w"I

n l{avigate tiie iC earnpiier ll layeut trit:r+;

m Cont;'a.l abj.*et ancl la5'*r visibility


45 minut;s'
s: $elect and query layout ohjec{s
n Contrcl t?le r.ie;ut levsl
s Rearrange panels in the G{.Jl
x Use the Recent rnenu and favorites
u Use fteip and rnan to get help and adCit.i*rl+i
informaiicn about comrnands and opt!cn=

i- 14

.........=..........'
Inircduciion O , inc. Ail Rrqhts RPSen'ed . i-14
---2018--d
SvnoDsys,
6
lC Compiler ll: i3lcik-leve! l.llplemeniation Workshop
Ag*nda

TDAY I

"l ml lntroduction and GUI Lab

Floorplanning

Placement & Optim ization

SFopsys zGl 078 SSG€07 ! 2018 SFopsF, in. Al RiOhls ResErued


1-1

Cblects, Blocks and App Options OEC13 Synopsys, lnc Ail Rigirts Reseryed r 1-1
lC Compiier ll. Block-level lmplen'rentation lAJorkshop
0bjeet*ves I

After eiirrfip{etifiE tiris Lrnit, you shouirJ be ai:{e t{,:


s Query ofojec{s and retrie!'e design informatior'} us;nt} efirf#rries
n Perfarm b{ac*Ji{brary nranipulation operaiicns
(opeer, sfiyg, renaff e, copy)
e Quey and set appticatian opfions te control ICC {i's behal'1cr

' "'"':"" :" "


Objecis, Biocks adt App Cpi;cn-" . JiOiU ,r.oorys, tnc Alt Rion:shes:rveo
lC Ccr:pii:r llr Elccr ie!,el i:rpi:r=nialion \lVcrkshcp
0
Objects

ss JCC l/ contains many different obiecq qiesses:


desig'n, Port, cell, Pin, net .,.
s The get-* com*rands are used to find objects Uy nr*L,
-

r To list allavailable c/asses (or pes):

o Can alSO USe: get defined att-r:ibutes -r:eturn classes


1-3

ICC II provides a full set of object classes and associated Tcl commands to create, remove, query
and modifl' arll primary design data
. Logical objects, such as pofts, cells. and nets
. Timing data. such as modes and corners
' Phvsical objects, such as shapes, r,ias, tracks. an:1 blcckages"
' Reference library objects, such as libraries. library ce lls, and library pins

Most design objects (ur" bori" commands for ob-icct crcation. removal, and querying
' To create an object: create_(oblect,class>
' To rcmove an object: remove_(object_c1ass>
' To create a collection of objects: get_<object_c-rass)
' To ntove a collection ofobjects: move_objects
. lb mirror a collection of objects: f lip_objects
' To rotate a collection of ob-jects: rotate objects
Sonrc clesign objects also have specialized commancls. sr-ich as add to bound.
se'r l -b celi purpose. conne ct net

Objects. Blocks and App Options O2018 Synopsv-s lnc. All Righis Reserued. t-J G

lC Coror'e, ti ntottl"""ii.p'i..".rut,o. Workshoo - ;


Guerying *bj*ets Ass*eiated w!tl-t *&:je*t*r

'i'cu can finci ckijec;s associ*i*ai l';itig Br eonnset*rJ ir:" :;p',:ciiic


*i:jects by using the *t:f_objr:c+*s cption:
* For example, you can find the ceils associated lvith other cells, or uriih l

pins, nets, bourrds, voiiage areas, v.,:!iage area shapes, etc.:

{snps-_OCC*ccntr:oiler I__SI}R.3i'1 TO?i :,,

* See the man page of each ge.c_* ccmr,:and foraetailed inf<..rmaiicr


abr:ut the supported relationships anC associaiions

Ob;=cts, alo".u,. .nO npp'Op'""n= O 2018 Synopsy=, f r" niinigi,, Rr-serveC t-+
lC Complier ll: Ejcck-Evel ln.lp,3;-ne.iaticn l rorkshcp
rg
-.!
L

Querying Objects I Hierarchy


I Object.qLleries are perforrted using a logic*! clililtext
o Object names must match the logical hierarchy nane attribute

r With get_f1at_ce1J-s hierarchy is optional

. The * f 1a t * cornmands use the f ul1 name of objects for searching


a Also ava ilable: get_f 1a t_nets, get_f J.at_pins
a You can match using regular expressions with the -regexp option 1-5

The get-f lat-* cornmands rvere introduced rvith 2015.06-SP4. The get-f lat-celts conrmand retums]sejf cells
(except physical-only cclls) rvith the fut-t_name attribute matching the pattem:
get_f ]at_cef f s *mux* (to includephysical-only cells use -alt)
f ea f*c1k_mux
HIER1/leaf_aux_se1_reg[0] t3l
HIERl /HIER2/leaf_mux_dq
HIERl/HIER2 nux/U1 .. U4

get_ce1ls -hie::archical retums]ggf and hierarchy cells with the name attribute matchilrg the pattern. at ail,
levels ofhierarchv: oet ceffs -hierarchical *mux+
leaf_c1k_mux
HIERl/1eaf_mux_se1 reql [0] t3l
Il I ER1 /HI / fe af_mux_dq
ER2
rl T ER i / H I ER2_mu x

To retum only lsa:!-cells. get cel.ls -hierarchical *muxr -f 1f ter lis hierarchical
leaf clk_mux
HiERl/leaf_nux sel reg[0] t3l
HIERl/HIER2/1eaf nux dq

To return cells that are at a particular hierarchl,:


ge]-_ce1is Hiail I /+mux*
HIERl/1eaf mux_sel_rec1 i0l t3l
HIERl/HIER2 mux

To return ceils that arc at or belorv a pafiieillur hierarchy:


get._fiat ce.l..l : HiERI*mu:r*
HIERl/leaf mux_sel_reqi0l l3l
/1eaf_nu:: crq
il I ER1,/HIER2
ii1EP.1/HIER2.r.ux/ui .. u4

$
Objects, Blocks aBci App Opiions O 2O18 Synopsys, lnc- All Rights Reserved t-J
lC Compiler ll: Block-level lmplenreniation Workshop
_6 c
Querying Objects by Lceatian

6 -..

e All get_(object) commands support the location query options


o Regions can be rectangular or rectilinear polygons

1-6

The behavior of the-within and the -intersect options matches ICC behavior.
qet <ob j ect> query-by-location options:
-at: Returns objects at the specified point
-u;ithin: Returns objects thal are strictly inside the queried-region; Does not include objects
that are touching the queried-region fiom the inside
-touching: Retums objects that are strictly inside the qr.reried-region, includir-rg ol-rjects {hal are li
touching the queried-region liom the inside (superspt of -vritnin).
-intei:sect: Returns objects that are or.erlapping u'ith queried-region as rvell as ob-iects that
are touching the queried-region from tlre inside or the outside.

'i'here is also an altemative conunand


in 1CC2 that provides similar functionalitr,.
get cbjects_by_lecatiorr cfass <object_type>
' Tiris cominand has different behavior for -rvithin and -iniersect, by delault
' Usc the application option desiqn. enable icc r:egi on query to make it traich the behavior
described on the r-nain slide

For urore details. please revierv t1're r.nan page.

Objecis Bl;cks ana a'pp Options i-l 2015 Syno;r!ys inr. ail 'R.ghts Res:rv:i l-e
IC Comi:,ler ll: Blcck-!evel lrnplementaticn \nicrkshop
!q

Attributes of 0
c Each object.,?as a set of related attributes {with values}
" For exampie, a iret has ihe rollowing aitributes.
o ful I name
t n-' i,
t rou-r€_lergth, etc.

r To list all application-defined attribufes (and user-defined, if


any) of a specific object class:
+i::..rri iil.
-!:_Lr:bu!e Same ::':: Obiect lype Proleltres Coastlaints

1-7

Use get_def ined-attributes to get a TCLlislof the attributes 1useful for scripting purposes).

To leam about attributes of a specific class:


rnan (cl as s >_at t ributes, for exatnple:

icc2_sheIf > man net_attributes


net_attrlbutes : Description of the predefined attr]b'.rtes for nets.
DESCR]PTION
Attributes are properties assigned to oblects such as prns. ce11s and nets.
Definicions for net attributes are provided in the subsections that foflow.
Attr:ibut --s are ::ead-only unless marked as settable . Reacl-on1y attributes are
inforinational, and you cannot set its rrafue. A settable attribute can be modified
wlth the set_attribute conmand.
To deternilne the value of an attribute,use the get_a1]itribute command- To see a
list of all attributes available for a class of ob;ecr-s use
the list attrjbutes -application command.
I.let Attr:ibut,-s
base_name
A strlog ali]rii]ul--e for the name of a net. This narle cic,-s not rnclude a
tlo :r.:..r-- i trn prefi;r.
fuil_name
A str:rng .rttnrbute for the name of a net. Thls name i.r.-'Jes a pr:efrs
fcr the instance path to this net.
ls qlobai
A Boolean attribute. Possible values are "irue" and "i.:lse". Globai
rets ai'e Lircs.-' tied to loolc 0 and iooic i -

" Ob.(cts. Blocrs and App Oplrons OQ0'18 Synopsys, lnc. All Rrghrs Reseryed.- ,1-i
lC Compiler ll: Block-level lmplementation Workshop
'oD
Retrievii,g and $etting &ttribute Values

'ia retrieye an attribute l


E 1lqlue of an oir.lect: :.v

s To aprrly an attribute value on objects:

Altematiyell/. you can use the {bllou,ing syntax for get_/ser attribute:
get*attribute -objects fget_ce1l.s I_RA]{_31 -narne physicaf_status
set_attrlbute -objects lget cell-s r RA]'{ 3l -name physical status -va}ue fi:;eci

OcjeCs. Blocks ar:d Ac6iOp-rrons O 2918 Synopsys, lns. All Rights Re:&eii 10
IC Ccmpiler li: Biock l3vej Impiemenlation \r^lcrkshor
Reporting:Attributes of Objects
I To generate a list r>t aitributes and valiies of a curreniiy selected object:

1-9

Note: The above repor:t att::ibutes command is similar to doing an ot-ljcct cluery in the GUl.
except that the GUI query oniy lists the attribute name and value, not the other columns, e.g. |,pe.

Objects, Blocks aad App Options O 2018 Synopsys, lnc- All Rights Reserved "' 1-9
c
lC Conrprler
'4 ll. Blatk level lrpl6greyr:;lron l Jorkshop
&ccessing CascaCed Attnibutss
x S<rme al:j*r:t attrihutes have "sJt,&-affribufes"
o Callerl r:a:;cacled attributes
e For exa:'nple: The laver: attrrbuie c[ a sh.a"o: objeci (e.9. ti42 roLrte)

e To generate an attribute report of a col{ec{fon attribute:

-{ttribule Narne : ia 1ue

e To access the cascaded pitch attribute direc

l- lU

Tut: (and mrtre) levei attribute query is supporred:


rcc2_she-11> ge-u attribute Iget ce1]s U6 I ::ef block.lib.voltage uni +.

1. COV

oni.Ji, Ji"J",nJ" opt:on" E,2Ci 8 Syrrcpsys, lnc. Ail RiEh'is Reservec


. iC Ccz:;lierii: Biocl.;-ievc6i,nplEiienialion!r.JorKShoD
-c
Use bounding ox instead of bbox
tCC ll has added a ne'"f", attribute called 1:or-rnd:-ns_box, rvhich atrlo.,vs
direct qdery and filtering of the involved coordinates

Use the following cascaded attributes to query the various coordinates:


ff, 1l-x, 1ly, ur, urx, ury
1- 11

Using bbox, if you rvant io access the individual point of the bounding box, 1,ou have to use the
lindex command to parse the attribute:
icc2_shefl> lindex fget attrlbute Iget cells U92] bboxl 0
75.6118 16-3166

Ob;ects, Blocks ard A-pp Options r O 2O18"Synopsys. lnc. Ail Rights Reserved. 1-11
|CCompilerll:BIock-levellmplementationWorkshoo'< "
_oE
- i**i<s and Desic3'lt tifur*ries;

;;r A &Jec& is the containsr er{ riesigr: ri*{:;


* reai_verij.og creaies a bloc}.; fli'tile \/i; l:icg netiisi
-l-he
+ basrc block operati*n commands are r,a.meC * _b1+ck
. E-9. save_Lr1oeFl
.open_block.

a A design library stores biccks, tr:gether v,,ith oth*r {ir;rar_v-l*r..;l


cjata such as technology data
* The basic library operaiicn cornnrands are named *_l-ib
+ Forexample, cr:eaLe lib, crre.n Lib, save iib

l- )I

Qbjeds, Slocks and App epticns 20i8 S;'ncrsys,"lnc Aii iii3nls n 4t


O Re-serued t- \ L
lC cor;:prJ:r i!: slock_i:vel lmplemrn:alion \\orkshop
4
!(

.:

Save the Design, Library and Bloek

It is good practice to save the design after each key design phase,
for exa.n"'rple: design seiup, placement, etc.
g Using a block label is a convenient way of doing this: c
i.
il
;l
I
:

Saves the design library to disk (if not previously done


with sa.we.'Iib) and the block to a new name
o By default, save_block -as saves a new copy of a blockto disk,
but does not change the name of the block in memory *
Blocks with the same block name but different labels are independent

1-13

Using the block labelto name a newer version of the block, ir-rstead of changing the block name
itself (e.g. oRCA/init_design instead of onca_init_design), is very convenient for top-level
integration: The top-level design, which references the bloik )'ou are designing. can continue
referencing the sub-block oRca. even if _vou save the block u'ith different labels.

Using thc above method, at the end of the physical design florv, a block will have many labcls (for
example: init_desi-gn, f loorplan. placed. cts, routeC). 1b specify which label shor.rld be
used lbr the CRCA reltrence rvhen it is instantiated in the top-level design:
change abstract -reference ORCA -labe1 roured
*) To rename the block in memory bclbre saving it to disk set the follor.ving application option:
set_app_options -list { des i ,gn . rnorph_cn_save_as true }
' Does not rcname the block data tl-rat is already on-disk
. Does not rename the block in memory if the block being saved is instantiated in other blocks in
lnerrorl' or the block is saved into a dilJ-erent library.
. Allorvs \.oll to save a block to a new narrie and continue the f-lorv u,ith the nervly sayed block
rvitl-r a single save_block -as comlrand
In IC Cotnpiler.you rvould have to sarre the cell to another nanre. thcn close the cutlenl ccll. then
open tht- neu cell,

j..: -:::..:.:...':.i...:e1 :.i:ni

obje"cis Blccks and npp option, Gl 2018 $ynopsys, lnc All Rights Reserved, t-tJ5
"
lC Conrpiier ll. Block-level Implementation Workshcp
_o 6
Ccpylng then Saving
l-rst: t1-:e f*!lo',,ring method to create a copy cf t!'r* hl*ck to a. nerv na.rnt; ,
tlhen save it after optimization {RM method}

copy_block copies into memory by default,


Set ciesign.cn disk_opera.r.on to Lrue to copy to disk.
See sfudent noles for an example of copying to another library

After copf ing, You can list the avaiiable blocks, as lollows:
icc2_she11> current_block ORCA,/place_opt
{ ORCA_- IB . cil rb : ORCA/p-Lace_opt . Cesrgn }

icc2_sheI1> 1i st_blocks
Lib OF.CA_LIB. dlib /remot e/ . . " . ,/ORCA_LiB. dlib iech current
* 0 ORCA,zplace_opt.clesign Jul-10-1i:5? current I

0 ORCA,U init design. Cesign Jun-18-08 : 57 _r


- _1
(

Neu'lv-created ol modified open blocks are marked rvitlr a " * ". lJnmodified or saved open blocks
are r-narked u,ith a "+". Unopened blocks are rnarked rvith a "-". Designs are taeged ri'ith their
rnoditlcation datc or lasl saved date. The cunent blocl< is tagged "current". Lib ccli biccks
are tagged "_Lib cel1".

You can also copy a block to another library:


Z tcc2 shelf
copi/.-lli) -iio_designs -f rom_. lrc oFCA LIB. dl i b -Lc, lib BACKUP. d1i b
cpen_lib OP,CA_LIB. dllb
ccDj/ br.or:k frorn_b1ock ORCA_LIB.diib;ORCA,ipla-ce. r--,ot \
i-c_block BACKUp,,l l : b: CRCA/pl.ace opt
save_l j b IIACKUP. citib
cur::en:__blLrck BACKUP. dlib : CRCA/rtace cpt

..:q
Objects Slocrs and App gtions 414
O 201 I Synopsys, lnc. All n;gns f.eserv&J
IC Compiler ll: Bicck-level lmplementalion Wcrkshop
_o c
,&pplicaticn Opti ons
-!

r Application Options contnc! ii"ie b*havior and features


of
lC Compiler ll,s csmmands

For example, the apptication option


place_opt.f1ow.do spg
controts whether the commind ptace_opr takes spG placement
into
account or not

Application options use the foilowing naming convention:


c.ategory. srrh g"1.gory. option na31e
o The sub_category field is optional

1- 1s

cotegory is the name of the engine afl-ected by rhe application


option, such as p1ace, cts, ancl
route.
Some ap-plication option categories have subcategories
to iurlher refine the area affected by lhe
application option' Forexample, the route categoryhas
the following subcategorie.r: common,
detarl, global. and track

.O 201 8 Svnopsys, lnc. All Rlghts Reserved."


lC Ccmpiler ll: Block-levei lmplemeniation Workshop 1-1 5 e

"o

.-
.::-'--: l::'l:.:.. :=;::::::J::::: :-:::r:::-:::.-i:::l-'J:i;'': :-: ::=:: -:::-:t:::::::.1:::::_:-::::.:::t:i:tl-'.:...:

$:i*trli*g / Rep*rting Applieaticn spti*r:e

Te,find the application cptions * =r**fic et:gilre' Lls*


repori-a;:p-cptions 'o'
Or oert---app-optlons

Timing-related aPPlication opiions starl vrilh ti-*e


-io
report all timing-related appiicatlon oPtions, use

values:
c List al! application options lvith changed (nondefault)

{ if,

Here is an exampie :coori-app-ooti ons output:

i.-:c2 sheil> reporl,slil-ciLicas tine'*


Typ= v3Lr:,- User- efaulL Systen-d4il-3uri
Nane
false blw*
tine. al l,c 1oc|:s-Propagr3' ec aool block
e4un sepa.ale lauflch .apture-.iepth
tiFe-aocm analltsis-4ode iais: bl o3ir
r- ire . aocw-endbl e i is bcoi block
-ana -/s bool false
ii*e. aocw-enable,c lock' ne:work-oaiy ialse block
tine.aocm enable single-path-metrlcs bool tr.lrck
/ tine.case -analysis p:opag3ie throxgh-icq bool false
never \ block
enum
t.ir.e - case analysi s seque-t la l,propagaiion i rue I r1c;t<
,oof
- ,...- -.lock-gaiip.g-p'cpasai-e-enable
:l:"

gei-app cp i- r cn s rvill simpl-v list the application options:

;
:cc:l--.h.i L> g:-' -ai'!-- ot-ti r.-'. : rou Le' gI cbe1'
rcute-global,.iiile.l'. p,,,a a,iticn-tlouting-co'ridor rou"E'grobal''rc'ss'afl:-dri'eil
palleir,uirliTaticn ry-tayer-iaae roli'e-qloLa1'effcrt-]erel ::'ir':liil
roLte-qlcbal.doubie SIoci'eq l'\'i:-li:r-lz?':"]a
i:l:::i:r:ii !i!!:]1s iron ttttoutt-it" ttti:rr' liu:-e'gicbal':itra
::.rrte.claaa1-i)'airri!
gilr'!al il:r:lr:; j'l_''':l:-ilc': :1 t_
jar!te.glclraL,rraaa. ararr,.:i it:.:i: uitiliaairon aor-,o.9l"a.r.t;rlrg-irivtn '1'l"g
ri)::"..jiab:1.'i:rii,iqa aiL.': rJ"e' t'ack ut1i1f,3i1oi

irl tl:e cUtrelt


-rr::ite sc::lpt. ucie app options Creates a dilectOry Called r'ISCIl;'-
: i-ic I
itlciude.. *1ong cthel-s- a file called oesign ' tcl '
-l-]tis rvhicit cotliaii:s lr'ii non-
rvor-kilg ciirectorl,.
cail be eciited a;rr"l lhen sl!ffc€d' as n€c'i'd'
deiauit b!ock-scoper-l applicatit.rn option setlings. firis file
to u,rite out"no'-dclauli glol;cii-scctite.l appiicaticll
-l-here Lll-1iio1l -set'iii:gs
is crir.r-ellily *() si']plc \,va,v
ttpcot.nitlg prtses'
iir a script. Rlctc'k \icl-slls 14!0bcil scope Nill be erplained il-t

l-lD
O 2OtU S;'noptys, inc All Rights ReierveC
O.jscls, Blscks and App OPtior:s
1C Ccrrpiier l!: Bicck !eu:] lrripien:eniation $Jorkshop
Setting Appllcation 0ptions
)
T9le re are several .ways io set an applieaiion option

1-17

The follorving commancls aie available for application option manipulation:


' Use set app_options to set application options, either on the current block or the global scope
' Use reset app_options to reset application options to the unset status
' Use get_app_options to get the set of application options for specific categories or
subcategories based on a user-specified pattern
\
' Use re por:t_app_options to report the application options that match a specified pattem
' Use cet app_option_value to retum the current value of an appiication option in the block or
global scopel its default value, or the detailed infornration about the application option

Objects, Blocks and App Cpticns t O 2018 Synqpsys, Inc. All Rights Reserued " 1-17
lC Compiler ll: Blcck-leveflmplemeniation Worksliop o
oo
--c
ft-{r^^.$14^.4Jfi
ul t,ild L{{{9 \--t1J f

5!-.?,: -: aL,k,t . e,.?,!

t_-_
(

:
bblecis, Biocis a;d App Cpiicns O 201S S;'raos.vs, lic. A.li Rigiiis Reserved
ll C : :nc.l:, il 5lJ:r.-iev: I l--pl:=: r..::,. - i.;r:1.5.13
\--- !

Scope of Application Options

x ,*=plicaticu-: ootions have either a biq€4 scope cr a ,.,L1,3rlAlscope


" The scope cannot be changed by the uger
x E.6
To fjnd the scope of an application opiiun:
,.c: .::E i I > relprt_app_optj-ons
Value user-detadt Sysren-defaulr

custom.route.via altow offse! fat se


f i11_intersecrion f.1 se
"".r"*-.."t",'"iu
cus tom - route via_pref*orientation
-
cu s Lo!. - r our e . via_r.edunddnf,_eI for L_ tevel high
cus t om. r oute. v i a .srI ictly_f oI iow_prpf_orieataEion false
d-siqn-bus deliEiLers tl
dc aj9n.-co I esLricrions fa lse qlobal
d+siqn-pdit read onlv I ibs slcba l
C-s ron -nare elrpansron lel imj.ters {}
des ior,.uniq,r iv F"ning_.Lyt. cl.bal
d.-i9n.!eloose_io ialse globa I
des ron. vertosF_ur-qur f y fa lse q lobal
p-o - d dd_ bui fe r_on_r ou Le -min_di stance_bulfer_L o_toad float -1
exLract-connecr oPen

1- 19

lons -g1oba1 lists only global-scoped application options.


repo r i _app__opt
report_app_opti-ons -block Icurrent_b1ock ] lists only block-scoped application options.
report_.app_options -non_default lists application options u,hich have a user-defined value
that is dili-erent than the system-default. \

Objecia Blocks end App Options O 2C18 Svnoosys l, c. All Riqhts Reserved 1-19 e,
lC Co,r o,ie, I DID:).-lcvel l.nptementatron VVorkshop oo

_oo

L
#l**fr-$cop*# A p"r g:1 lceti*n * ptie.*:s

ar S:gc{:S€qpeil acpii:aiian r:pticr,rs ap:piy ie, lir* =-.lt_tg:r:.i}i-rt,iJi, r,:ii,;: ;,i,-,..:

earr.fd with tlre i:lock


* B!OCk value t;rt'S::eci l,;ith: se--_-app opi r rr,:is +-si i-.rAiii:
m Many block-scoped app options irave a s3,slem d,efaslf yat*e
o Appiies to {biOeke loaded in the current tcolsessiorr
a Block yalrie overrides sysfem default valu.e

u While it is possible to override the systern defeu{t l"riih a i{ssl- dsfiiliti


value, this is np.l1erqnxmgndgg
* Applied with: sr:,- :pp_l-.pr-ons -as_user_ciefaur c -ris;- | -:ir..r€
o Since there is no practical advantage of doing this, and the seiiing is npi se_v€,i;
with the block, this is not recormmended - apply blocli value{sl ir=teac

in a design rvith physical hierarchv, use ser_app_oprioDS -block (on11, for i;iock-sccpeii
application options) to specif, r,r,irich blcck to apply the value to. if -b,Loc:r is not used rhr-
application option r.alue is :rppiied to the current bloch.

f he block ralue of a block-scoped application variable can be rerlroved b_v:


res3t_app_opticns <app oot_ion name> (
\
'}-he user-default
of a bloci-:-scoped apptricaticn r.ariatrle can be rerno-,,ed
value br.:
reset_app_cptions -u-s. : .:iefauii. <airp opL_in nalne>

Notc: Iror the special sub-sel cl application options, trme. por1,_* (for exanrplc
iitne.pol l_slevr_clei:ai-e r::om_l ibrary).tireiruser-defaultvalueissettontatcliihe
corresponding value dellneci in the teclurology librarlr- Tlris comnionlr, happens u'hen tlie rig.sjojl
librarr is flrst created, at r.r,hich tirle the technolog,v library is also loaded, tbr rxar:-rple:
creaLe-l ib DESIGN LIR -use technoiogy iib TECit LIB f iLE -:ei iibs !.I!" l-. >-i-
i ii.' riser cln ovtlricie .,rrv ir-'t iiirrri.r3.r iiie vliirc r', itn , , -_.; ,, ,-
",

'.. o\\B-A
tluM- "

- j.€

f,c.-:.:. o:ocks enC Alp Cptrgrs


O2Clg Svn:rsvs lru. Ali R,qir:s Res=rvcJ.3
lC CDir:!ller I l: Biock-level lm"plema nta lio n lrrrcikshcp
_c .e
G I ob al-scoped Appl i cation Opti ons

I
r G/ob4l-s_crrppdapplicatlon options apply to ail blogkq loaded in the
cur";'rlt tot:! session, arrd are not saved '*:iti-: '.,',:€ i..lock{s)
. Global value applied with. se'.,a!rp. cF..r.ir:. I j::1- i-r:-ne
o Can be specified beforepny block is read in c ' '
c Global valu.e overrides syslem defaultvalue

r Good practice:
lnclude qlobal application option settings in a file to be sourced
upon tool start-up

1-21

The global value ola global-scoped application variable can be removed by:
reset app options <app option name>

Note: For global-scoped applicatiorr options. the -as_user_def ault option is ignored:
set_app_options -as user default -lrst -nam:
and
set app opr-lons -l-ist l-name
rviil both apply uscr-dcfined "global values".
t\

Ob;ects, Blocks and App Options O 2018 Synopsys, lnc All Rights Reserved 1-21
lC Ccmpiler ll. Block-level l;::plcrrentation Wcrkshop
tJn it # hjectir, * s "G
r*ri-rn',itri,i*;t{ :

1'*r-r should ri*lv'+r: ahi',: t*:


m Use et"trii:utes ta r*tri*r,'e d*xlE;t i'rif'c,rfiraii.i)..i
s Pe rio rn: i: lo c i..11 i bra ry nla*iprrt;*r;ic,li c{..* r-;rti *n r:
{open, gelre! f'1JJ"i f;{1..,*, r.Bpy,,\
n Query anc{ sei appiicaticn *g:.fioil* io contro{ l*{} $i's Lii:fla-iu:i*i

{-?r

Ob.lects, Blocks and Apc Options e 2Ci5 Sy-c;,l:r,s. i:i /irl R:;':s Ras:-:r,:1 445
lC Ccmpil:r li: Eiock-iavel lmplemertat:cn irJorksha;)
Appendix

A - Removing Objects, Bus and Narne Expansian


and Subscripting
B - More on blocks and libraries

1-23

Objects, Blocks and App Options O 2018 Synopsys, lnc. All Rights Reserved. 1-?3
.lC Compiler& Block-level lnrplenreniatron Workshop

_c c
:

.-,
:

&ppem$rw &

Y
ffi*mesv.i+*g ffie*t*, :

ffi*ss a*t+$ S{erxr, fwpleeu*ern rea*d S*&*e,=,iptf*rg


:

ObjeC,s, Blocks anC.A.pp ()pticns e lL.'3 Synop:ys. l:c. Aii Rij^i' i?r'-','- ' 1-2&
lC Ccn:p$r lf - BiockJevel {nrpie*e;&..ion Workshop
oo o
4
Resmoving Objects

-i-o
* auoove an r;:j+ct from a blcck, L:se rernove-tob;ect class> or
remove_objects
c-
I remove_objects can remove a heterog;;aous collection cf objects _
from the btock, and returns the number of objects removed
I By default, you cannot remove or modify objects if their
physi-caI_status attribute is locked
r To remoVe or modify these objects, use the -force option or use set attribute to
reset the physical._status attribute to unrestrj-cted
r lf you remove objects that are included in an existing collection, the
collection is updated

1-25

ObJects, Blocks and App Options O 201 I Synopsys, lnc. All Rights Reserued. 1-25
lC Cor-npiler ll: Block-level lmplementation yJcrkshop
*us and $dant* f;aipa*:rri*n **ei $uhscr{ptiri,fi {{ *r i}

c iCL' Jl *u;:f:ort* ,,:t;$ &t.l:j ti.riilft e lp;t;;i+;t iiit,: LL:*.,,::ri;:iill*, ttliii;:i.r


makes it e*sier to qlrerV i:,ils ,.:y s,ame-pa.t{*r.n n*.ts. ,--i.*"yts} *,gldj $:;i,'?s i.il tf.-r::
i:ioci.'

c Applies to the <ret_cets, g.:t_pins, and get_p.c::t:,s c*i*rn.e.-,::ls- *;;


rvell as ail comr*ai:i.Cs thst ac.ceg:t a co{leeiic* q;of rc*i.*, p+fm, *: p*lrri

Objects, Biocks and Aop Optioas O ?tl E Synoosys, lac, All Righis R.eservecl
lC C orr,pil:r {i: Eiock-l:r,e I impiem=r:taiion yr,or}lsh cp

-ac
:,

\q
.':
:

tsus and Name Expansion and Subscripting {2 of 2}

trffi$$,'lifr }li,-*,ffi lt:iHffi }:u",ffi,ffi .ffi :S:r*\:^l:ii:iliil-


qe.-nets a(0:3) {aB a1 a2 a3} tr'ame 3xpansicnl
A digit followed immediately by a colon{:) lhen
' _r:
':j,:
anolher digit jnl'{}" specifies a name
expansion range
get_nets {atO:31 } taio] tt1] ai2l ai3l) Bus subscriplirg:
A digil follcv;;d immediately by a colon(:) then
anolher dlgil in : i t " specilies a b,us
subscripting range
::s-Et:ne.t:-. :t:.a:!:qjl,5 i,! ).1, :, :Ia I,o!, al U a t 6] a{7 1 Bus subscripting:
.:1.:=::3,ff , -::.1,,,, 1,,.1.3[,9]J:, : Two ran$esrsgparated tly a comma and
enclosedby"it'
geL nets {alo:4:21 } {atol at21 alcl i

albl4l a1bl3l ,bi0l


a2bl2l a2blai ,bl3l )

Use "{ }" or "\" to escape " []" to prevent theTcl interpreter
from evaluating the characters between'[] "
'l-27

Objects, Blocks and App OpJions O 2C1B Synopsys. lnc. All Rights Reserued. 1-27
lC Conrpiler ll: Block-level lrlplenrentation Workshop
itir *l"e esi e? 1,3,,fr t4s,a ;+l: {i b r*,ri.*'*;

'
O 2'j18 Syeopsys, !nc. Ali ,Rignts R-=servec'. al-,;D
lt!"j"O,i=r ll. Bio.k-ler/el lmpi3sieniation Woikshop
.
q

Lqd
and
Blocks and Libraries
Narne Length
Characters

. You should alvra'7s


avoid nonprinting
iharicters and
avoid characters
other than
alphanumeric
characters in library
or block names,
although they are
allowed

Note: There is no limit on the name length for design objects such as
nets, cells, pins, modules, and terminals

1-29

Objecis: Biocks and Fpp Options r @ 201 B Synopsys, lnc. All Rights Reserved, 1.
lC Ccmp;ler ll: Block-level lmplemantaticn Workshop
Iif;i,i;,rri":ing then Saving the Current ffiioc$E

Yt:* cair rerlame the block in men-lcry before saving

!.

Objecis,djlo.ks and Apo Oplions O 2C18 S,vnccsys, !nc. All Bights Res3rveC. 4 -?{1
iC Co.npiler li: Rlcck,let,el !n-,pleme'ntaiiln \r'Vorkshop
\*L

Design Llbraries

n The design libr:ry is a directory


I The library catalog and technology data
arc iiles in the library directory
o
Blocks are directories in the library
directory one block per directory
Views (such as design and frame) of a
block are individual files under the
block directory
Blocks saved with a user-specified label
are stored in a subdirectory named
design_label.label_name under the
block directory

1- 31

S' The other library storage method is the "distributed file system" storage.
This is mainly used for design library,

Note: You should never manually remove/change anything under the library directory by system
commands- it rvill cause library corruption.
;

Ohlecls, B4ocks and App Opi,ons ,2018 Synopsls, lnc. All Riqhls Reserved i-31
lC Conrprler il. Block level lmpjernentation ' r
Worhshop cc

_o c
iilock h{andtre

x l* a sessioil, liGu ca.ai ilavr nrultiple libral:i*s, i:r'i':ci.;ri, a;'i:li v:*liljii,


cpened, eithcr explicirly or implieitly
s You can op€n and s'..'ritch to a bisck fe"crn any lii:lerii ,tir iisir..S tir*
unified block handle, rvltich has the foliovring foi'rnat:
I-i-ibrary_na:ne: ] block_narne [/J-abe1_narl.e] [ . v:-+v_*an',e;
o lf you do nct specify a library, it implies the cunent library
* lf you co not speciiy a lai:el, ii inrplies the "" (en'lptyJ Iabe i \:
c lf you do not specify a vie"v, it irnplies the design vieur
x Exarnple: open the riesign viey,r of a block namerl f-f9,8esign vrith a laLrel cf
placed from the design_lits.dtrb library
open_bJ-ock <ies ign_J-ib . dlib : b&1'Des ig*/pi-aceC. design

't- .*
I

Cb;.-:" U,.. . ,r jAr p Opt;t.6,: ozors iil;;S.,-tn. ni; njsr-t= nu.=*.J. t 4 1a


iC Ccrprler i; liocl,;i.vel lnrpfe,rsnt:tron VVorkshcp
_o3 -
-d

You might also like