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

VLSI Physical Design Automation: Lecture 4. Circuit Partitioning (II)

The document discusses circuit partitioning algorithms including Kernighan-Lin, Fiduccia-Mattheyses, and simulated annealing. It provides details on how each algorithm works, such as using gain buckets and moving vertices between partitions based on gain in Fiduccia-Mattheyses. Circuit partitioning is formulated as a problem of minimizing cut size while maintaining a target area ratio between partitions. Simulated annealing is described as a general technique that can avoid local minima by allowing probabilistic uphill moves, inspired by the physical annealing process.

Uploaded by

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

VLSI Physical Design Automation: Lecture 4. Circuit Partitioning (II)

The document discusses circuit partitioning algorithms including Kernighan-Lin, Fiduccia-Mattheyses, and simulated annealing. It provides details on how each algorithm works, such as using gain buckets and moving vertices between partitions based on gain in Fiduccia-Mattheyses. Circuit partitioning is formulated as a problem of minimizing cut size while maintaining a target area ratio between partitions. Simulated annealing is described as a general technique that can avoid local minima by allowing probabilistic uphill moves, inspired by the physical annealing process.

Uploaded by

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

1

06/12/14
VLSI Physical Design Automation
Prof. David Pan
[email protected]
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