You are on page 1of 51

1

06/12/14
VLSI Physical Design Automation
Prof. David Pan
dpan@ece.utexas.edu
Office: ACES 5.434
Lecture 4. Circuit Partitioning (II)

2 06/12/14
Recap of Kerni!an"#in$s A%orit!&
Pair-ise e!change o" no#es to re#uce cut si$e

Allo cut si$e to increase tem%orarily ithin a %ass


Com%ute the gain o" a sa%
&e%eat
Per"orm a "easi'le sa% o" ma! gain
(ar) sa%%e# no#es *loc)e#+,
-%#ate sa% gains,
-ntil no "easi'le sa%,
.in# ma! %re"i! %artial sum in gain se/uence g
1
0 g
2
0 10 g
m
(a)e corres%on#ing sa%s %ermanent.
Start another %ass i" current %ass re#uces the cut si$e
(usually con2erge a"ter a "e %asses)
u 2
2 u
loc)e#
3
06/12/14
'iduccia"(att!e)ses A%orit!&
*
*
A #inear"ti&e +euristics
A #inear"ti&e +euristics
for ,&provin -et.or/ Partitions0
for ,&provin -et.or/ Partitions0
12
12
t! t!
DAC3 paes 145"1513 1256.
DAC3 paes 145"1513 1256.

4 06/12/14
'eatures of '( A%orit!&
7
(odification of K# A%orit!&:
8
Can !and%e non"unifor& vertex .ei!ts 9areas:
8
A%%o. un;a%anced partitions
8
Extended to !and%e !)perrap!s
8
C%ever .a) to se%ect vertices to &ove3 run &uc! faster.

4 06/12/14
Pro;%e& 'or&u%ation
7
,nput: A !)perrap! .it!
8 Set vertices <. 9=<= > n:
8 Set of !)peredes E. 9tota% ? pins in net%ist > p:
8 Area a
u
for eac! vertex u in <.
8 Cost c
e
for eac! !)perede in e.
8
An area ratio r.
7
Output: 6 partitions @ A B suc! t!at
8 Cota% cost of !)peredes cut is &ini&iDed.
8 area9@: E 9area9@: F area9B:: is a;out r.
7
C!is pro;%e& is -P"Co&p%eteGGG

5 06/12/14
,deas of '( A%orit!&
7
Si&i%ar to K#:
8
Hor/ in passes.
8
#oc/ vertices after &oved.
8
Actua%%)3 on%) &ove t!ose vertices up to t!e &axi&u& partia%
su& of ain.
7
Difference fro& K#:
8
-ot exc!anin pairs of vertices.
(ove on%) one vertex at eac! ti&e.
8
C!e use of ain ;uc/et data structure.

6 06/12/14
Iain Juc/et Data Structure
Ce%%
?
Ce%%
?
(ax
Iain
Fp&ax
"p&ax
1 6 n

7 06/12/14
'( Partitionin:
"1
"6
"1
1
K
K
K
6
K
K
1
"1
"1
"6
" eac! o;Lect is assined a
ain
" o;Lects are put into a sorted
ain %ist
" t!e o;Lect .it! t!e !i!est ain
fro& t!e %arer of t!e t.o sides
is se%ected and &oved.
" t!e &oved o;Lect is M%oc/edM
" ains of Mtouc!edM o;Lects are
reco&puted
" ain %ists are resorted
O;Lect Iain: C!e a&ount of c!ane in cut crossins
t!at .i%% occur if an o;Lect is &oved fro&
its current partition into t!e ot!er partition
(oves are &ade ;ased on o;Lect ain.

8 06/12/14
"1
"6
"1
1
K
K
K
6
K
K
1
"1
"1
"6
'( Partitionin:

19 06/12/14
"1
"6
"1
1
K
"6
"6
K
K
1
"1
"1
"6
"6

11 06/12/14
"1
"6
"1
1
K
"6
"6
K
K
1
"1
"1
"6
"6

12 06/12/14
"1
"6
"1
1
K
"6
"6
K
K
1
"1
"1
"6
"6

13 06/12/14
"1
"6
1
"1
K
"6
"6
K
"6
"1
"1
"1
"6
"6

14 06/12/14
"1
"6
1
"1
K
"6
"6
K
"6
"1
"1
"1
"6
"6

14 06/12/14
"1
"6
1
"1
K
"6
"6
K
"6
"1
"1
"1
"6
"6

15 06/12/14
"1
"6
1
"1
"6
"6
"6
K
"6
"1
1
"1
"6
"6

16 06/12/14
"1
"6
1
"1
"6
"6
"6
K
"6
"1
1
"1
"6
"6

17 06/12/14
"1
"6
1
"1
"6
"6
"6
K
"6
"1
1
"1
"6
"6

18 06/12/14
"1
"6
"1
"3
"6
"6
"6
K
"6
"1
1
"1
"6
"6

29 06/12/14
"1
"6

"1
"3
"6
"6
"6
K
"6
"1
1
"1
"6
"6

21 06/12/14
"1
"6

"1
"3
"6
"6
"6
K
"6
"1
1
"1
"6
"6

22 06/12/14
"1
"6

"1
"3
"6
"6
"6
"6
"6
"1
"1
"1
"6
"6

23 06/12/14
Ci&e Co&p%exit) of '(
7
'or eac! pass3
8
Constant ti&e to find t!e ;est vertex to &ove.
8
After eac! &ove3 ti&e to update ain ;uc/ets is proportiona%
to deree of vertex &oved.
8
Cota% ti&e is O9p:3 .!ere p is tota% nu&;er of pins
7
-u&;er of passes is usua%%) s&a%%.
24
06/12/14
Extension ;) Kris!na&urt!)
*
*
An ,&proved (in"Cut A%orit!& for
An ,&proved (in"Cut A%orit!& for
Partitionin <#S, -et.or/s03
Partitionin <#S, -et.or/s03
,EEE Crans. Co&puter3
,EEE Crans. Co&puter3
3395::435"44N3 1254.
3395::435"44N3 1254.

24 06/12/14
Cie"Jrea/in Strate)
7
'or eac! vertex3 instead of !avin a ain ;uc/et3 a
ain vector is used.
7
Iain vector is a seOuence of potentia% ain va%ues
correspondin to nu&;ers of possi;%e &oves into t!e
future.
7
C!erefore3 r
t!
entr) %oo/s r &oves a!ead.
7
Ci&e co&p%exit) is O9pr:3 .!ere r is &ax ? of %oo/"
a!ead &oves stored in ain vector.
7
,f ties sti%% occur3 so&e researc!ers o;serve t!at #,'O
order i&proves so%ution Oua%it).
25
06/12/14
Ratio Cut O;Lective
;) Hei and C!en
*
*
Co.ards Efficient +ierarc!ica% Desins ;)
Co.ards Efficient +ierarc!ica% Desins ;)
Ratio Cut Partitionin03
Ratio Cut Partitionin03
,CCAD3 paes 1:625"3K13 1252.
,CCAD3 paes 1:625"3K13 1252.

26 06/12/14
Ratio Cut O;Lective
7
,t is not desira;%e to !ave so&e pre"defined ratio on
t!e partition siDes.
7
Hei and C!en proposed t!e Ratio Cut o;Lective.
7
Cr) to %ocate natura% c%usters in circuit and force t!e
partitions to ;e of si&i%ar siDes at t!e sa&e ti&e.
7 Ratio Cut R
@B
> C
@B
E9=@= x =B=:
7
A !euristic ;ased on '( .as proposed.
27
06/12/14
Sanc!is A%orit!&
*
*
(u%tip%e".a) -et.or/ Partitionin03
(u%tip%e".a) -et.or/ Partitionin03
,EEE Crans. Co&puters3
,EEE Crans. Co&puters3
3591::N6"513 1252.
3591::N6"513 1252.

28 06/12/14
(u%ti"Ha) Partitionin
7
Dividin into &ore t!an 6 partitions.
7
A%orit!& ;) extendin t!e idea of '( F
Kris!na&urt!).
39
06/12/14
Partitionin:
Si&u%ated Annea%in

31 06/12/14
State Space Searc! Pro;%e&
7
Co&;inatoria% opti&iDation pro;%e&s 9%i/e partitionin:
can ;e t!ou!t as a State Space Searc! Pro;%e&.
7
A State is Lust a confiuration of t!e co&;inatoria%
o;Lects invo%ved.
7
C!e State Space is t!e set of a%% possi;%e states
9confiurations:.
7
A -ei!;our!ood Structure is a%so defined 9.!ic!
states can one o in one step:.
7
C!ere is a cost correspondin to eac! state.
7
Searc! for t!e &in 9or &ax: cost state.

32 06/12/14
Ireed) A%orit!&
7
A ver) si&p%e tec!niOue for State Space Searc!
Pro;%e&.
7
Start fro& an) state.
7
A%.a)s &ove to a nei!;or .it! t!e &in cost 9assu&e
&ini&iDation pro;%e&:.
7
Stop .!en a%% nei!;ors !ave a !i!er cost t!an t!e
current state.

33 06/12/14
Pro;%e& .it! Ireed) A%orit!&s
7
Easi%) et stuc/ at %oca% &ini&u&.
7
Hi%% o;tain non"opti&a% so%utions.
7
Opti&a% on%) for convex 9or concave for &axi&iDation:
funtions.
C
o
s
t
State

34 06/12/14
Ireed) -ature of K# A '(
7 K# and '( are almost reed) a%orit!&s.
7
Pure%) reed) if .e consider a pass as a *&ove0.
C
u
t

<
a
%
u
e
Partitions
Pass 1
Pass 6
C
u
t

<
a
%
u
e
Partitions
(ove 1
(ove 6
A
J
J
A
A (ove

34 06/12/14
Si&u%ated Annea%in
7
<er) enera% searc! tec!niOue.
7
Cr) to avoid ;ein trapped in %oca% &ini&u& ;) &a/in
pro;a;i%istic &oves.
7
Popu%ariDe as a !euristic for opti&iDation ;):
8 Kir/patric/3 Ie%att and <ecc!i3 *Opti&iDation ;) Si&u%ated
Annea%in03 Science3 66K94525::425"51N3 (a) 1253.

35 06/12/14
Jasic ,dea of Si&u%ated Annea%in
7
,nspired ;) t!e Annealing Process:
8
C!e process of carefu%%) coo%in &o%ten &eta%s in order to
o;tain a ood cr)sta% structure.
8 'irst3 &eta% is !eated to a ver) !i! te&perature.
8
C!en s%o.%) coo%ed.
8
J) coo%in at a proper rate3 ato&s .i%% !ave an increased
c!ance to reain proper cr)sta% structure.
7
Attainin a &in cost state in si&u%ated annea%in is
ana%oous to attainin a ood cr)sta% structure in
annea%in.

36 06/12/14
C!e Si&u%ated Annea%in Procedure
#et t ;e t!e initia% te&perature.
Repeat
Repeat
8
Pic/ a nei!;or of t!e current state rando&%).
8
#et c > cost of current state.
#et c$ > cost of t!e nei!;our pic/ed.
8 ,f c$ P c3 t!en &ove to t!e nei!;our 9do.n!i%% &ove:.
8 ,f c$ Q c3 t!en &ove to t!e nei!;our .it! pro;a;%i%it) e
"9c$"c:Et

9up!i%% &ove:.
Rnti% eOui%i;riu& is reac!ed.
Reduce t accordin to coo%in sc!edu%e.
Rnti% 'reeDin point is reac!ed.

37 06/12/14
C!ins to decide .!en usin SA
7
H!en so%vin a co&;inatoria% pro;%e&3
.e !ave to decide:
8
C!e state space
8
C!e nei!;or!ood structure
8
C!e cost function
8
C!e initia% state
8
C!e initia% te&perature
8
C!e coo%in sc!edu%e 9!o. to c!ane t:
8 C!e freeDin point

38 06/12/14
Co&&on Coo%in Sc!edu%es
7
,nitia% te&perature3 Coo%in sc!edu%e3 and freeDin
point are usua%%) experi&enta%%) deter&ined.
7
So&e co&&on coo%in sc!edu%es:
8
t > t3 .!ere is t)pica%%) around K.25
8
t > e
"t
t3 .!ere is t)pica%%) around K.4
8
......
49
06/12/14
Paper ;) So!nson3 Araon3 (cIeoc! and
Sc!evon on Jisectionin usin SA
*
*
Opti&iDation ;) Si&u%ated Annea%in:
Opti&iDation ;) Si&u%ated Annea%in:
An Experi&enta% Eva%uation Part ,3
An Experi&enta% Eva%uation Part ,3
Irap! Partitionin03
Irap! Partitionin03
Operations Researc!3 34:5N5"5263 1252.
Operations Researc!3 34:5N5"5263 1252.


41 06/12/14
C!e Hor/ of So!nson3 et a%.
7
An extensive e&pirica% stud) of Si&u%ated Annea%in
versus ,terative ,&prove&ent Approac!es.
7
Conc%usion: SA is a co&petitive approac!3 ettin
;etter so%utions t!an K# for rando& rap!s.
Re&ar/s:
8 -et%ists are not rando& rap!s3 ;ut sparse rap!s .it! %oca%
structure.
8 SA is too s%o.. So K#E'( variants are sti%% &ost popu%ar.
8 (u%tip%e runs of K#E'( variants .it! rando& initia% so%utions
&a) ;e prefera;%e to SA.

42 06/12/14
C!e Rse of Rando&ness
7
'or an) partitionin pro;%e&:
7
Suppose so%utions are pic/ed rando&%).
7
,f =I=E=A= > r3 Pr9at %east 1 ood in 5Er tria%s: > 1"91"r:
5Er
7
,f =I=E=A= > K.KK13 Pr9at %east 1 ood in 5KKK tria%s: > 1"
91"K.KK1:
5KKK
> K.2233
I
A%% so%utions 9State space:
Iood so%utions
A

43 06/12/14
Addin Rando&ness to K#E'(
7
,n fact3 ? of ood states are extre&e%) fe.. C!erefore3
r is extre&e%) s&a%%.
7
-eed extre&e%) %on ti&e if Lust pic/in states
rando&%) 9.it!out doin K#E'(:.
7
Runnin K#E'( variants severa% ti&es .it! rando&
initia% so%utions is a ood idea.
C
u
t

<
a
%
u
e
Partitions
Iood ,nitia% States
Iood States

44 06/12/14
So&e Ot!er Approac!es
7
K#E'("SA +);rid: Rse K#E'( variant to find a ood
initia% so%ution for SA3 t!en i&prove t!at so%ution ;) SA
at %o. te&perature.
7
Ca;u Searc!
7
Ienetic A%orit!&
7
Spectra% (et!ods 9findin Eienvectors:
7
-et.or/ '%o.s
7
Tuadratic Prora&&in
7
......
44
06/12/14
Partitionin:
(u%ti"#eve% Cec!niOue

45 06/12/14
(u%ti"#eve% Partitionin
46
06/12/14
(u%ti%eve% +)perrap! Partitionin:
(u%ti%eve% +)perrap! Partitionin:
App%ications in <#S, Do&ain
App%ications in <#S, Do&ain
I. Kar)pis3 R. Aar.a%3 <. Ku&ar and S. S!e/!ar3
I. Kar)pis3 R. Aar.a%3 <. Ku&ar and S. S!e/!ar3
DAC 1224.
DAC 1224.

47 06/12/14
Coarsenin P!ase
7
Ede Coarsenin
7 +)per"ede Coarsenin 9+EC:
7 (odified +)perede Coarsenin 9(+EC:

48 06/12/14
Rncoarsenin and Refine&ent P!ase
1. '(:
7
Jased on '( .it! t.o si&p%ifications:
8
#i&it nu&;er of passes to 6
8
Ear%)"Exit '( 9'("EE:3 stop eac! pass if / vertex &oves do not
i&prove t!e cut
6. +ER 9+)perede Refine&ent:
7
(ove a roup of vertices ;et.een partitions so t!at an
entire !)perede is re&oved fro& t!e cut

49 06/12/14
!(EC,S A%orit!&
7
Soft.are i&p%e&entation avai%a;%e for free do.n%oad
fro& He;
7 !(EC,S"EE
6K
8 6K rando& initia% partitons
8 .it! 1K runs usin +EC for coarsenin
8 .it! 1K runs usin (+EC for coarsenin
8 '("EE for refine&ent
7 !(EC,S"'(
6K
8
6K rando& initia% partitons
8
.it! 1K runs usin +EC for coarsenin
8
.it! 1K runs usin (+EC for coarsenin
8
'( for refine&ent

41 06/12/14
Experi&enta% Resu%ts
7
Co&pared .it! five previous a%orit!&s
7 !(EC,S"EE
6K
is:
8 4.1U to 61.4U ;etter
8 On averae K.5U ;etter t!an t!e ;est of t!e 5 a%orit!&s
8 Rou!%) 1 to 15 ti&es faster
7 !(EC,S"'(
6K
is:
8 On averae 1.1U ;etter t!an !(EC,S"EE
6K
8
,&prove t!e ;est"/no.n ;isections for 2 out of 63 test circuits
8 C.ice as s%o. as !(EC,S"EE
6K

You might also like