Upload
subbarao76
View
224
Download
0
Embed Size (px)
Citation preview
7/30/2019 Grid Compaction Algorithms
1/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 1
c S h e r w a n i 9 2
C o m p a c t i o n
C o m p a c t i o n
~
T h e o p e r a t i o n o f l a y o u t a r e a m i n i m i z a t i o n i s c a l l e d l a y o u t c o m p a c t i o n
Shape of thefeature
Size of thefeature
Space between
the features
Final Layout
COMPACTION
Symbolic Layout
Of
7/30/2019 Grid Compaction Algorithms
2/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 2
c S h e r w a n i 9 2
C o m p a c t i o n
P r o b l e m F o r m u l a t i o n
~
G i v e n :
M = f M
1
M
2
: : : M
n
g , a s e t o f g e o m e t r i c f e a t u r e s
s ( M
i
) , t h e m i n i m u m f e a t u r e s i z e .
d ( M
i
M
j
) , t h e m i n i m u m s e p a r a t i o n b e t w e e n f e a t u r e s M
i
& M
j
O b j e c t i v e :
M i n i m i z e t h e l a y o u t s u c h t h a t
s i z e ( M
i
) s ( M
i
)
d i s t ( M
i
M
j
) d ( M
i
M
j
)
w h e r e s i z e ( M
i
) a n d d i s t ( M
i
M
j
) a r e s i z e o f M
i
a n d d i s t a n c e
b e t w e e n M
i
a n d M
j
a f t e r t h e c o m p a c t i o n , w h e r e 1 i j n .
7/30/2019 Grid Compaction Algorithms
3/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 3
c S h e r w a n i 9 2
C o m p a c t i o n
C l a s s i c a t i o n o f C o m p a c t i o n A l g o r i t h m s
~
Based on direction of
movement of features
2-D
Compaction
1
21 -D
Compaction
1-D
CompactionConstaint
graph based
Virtual
grid based
Compaction Algorithms
Based on minimum
distance b/w features
Hierarchical
Compaction
7/30/2019 Grid Compaction Algorithms
4/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 4
c S h e r w a n i 9 2
C o m p a c t i o n
1 - D i m e n s i o n a l C o m p a c t i o n
~
( C o n s t r a i n t G r a p h B a s e d C o m p a c t i o n )
C o n s t r a i n t G r a p h G e n e r a t i o n
T h e c o n s t r a i n t g r a p h G = ( V E ) , i s a w e i g h t e d g r a p h .
E a c h v e r t e x v 2 V r e p r e s e n t s a c o m p o n e n t .
T h e s e t o f e d g e s , E , r e p r e s e n t s c o n s t r a i n t s .
Connectivity
constraints
Separation
constraints
Constraints ingraph
7/30/2019 Grid Compaction Algorithms
5/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 5
c S h e r w a n i 9 2
C o m p a c t i o n
C o n n e c t i v i t y C o n s t r a i n t s
~
I f t h e t w o f e a t u r e s C a n d W a r e r e q u i r e d t o b e w i t h i n a d i s t a n c e
s o f e a c h o t h e r , t h i s c o n n e c t i v i t y c o n s t r a i n t i s r e p r e s e n t e d i n t h e
g r a p h a s a p a i r o f c o n s t r a i n t s b e t w e e n C
x
a n d W
x
, e a c h w i t h
w e i g h t ; s .
-s
-s
C W
C
W
s
(a)
(b)
7/30/2019 Grid Compaction Algorithms
6/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 6
c S h e r w a n i 9 2
C o m p a c t i o n
S e p a r a t i o n C o n s t r a i n t s
~
T w o f e a t u r e s , A a n d B , a r e r e q u i r e d t o b e a t l e a s t d u n i t s
d u n i t s a p a r t f r o m e a c h o t h e r .
T h e s e p a r a t i o n c o n s t r a i n t i s r e p r e s e n t e d a s a n e d g e f r o m A t o B
o f w e i g h t d .
BA
d
d
A B
(a)
(b)
7/30/2019 Grid Compaction Algorithms
7/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 7
c S h e r w a n i 9 2
C o m p a c t i o n
T h e S h a d o w - P r o p a g a t i o n M e t h o d
~
1 . T h e ` s h a d o w ' o f a f e a t u r e i s p r o p a g a t e d a l o n g t h e d i r e c t i o n o f
c o m p a c t i o n .
2 . T h e s h a d o w i s c a u s e d b y s h i n i n g a n i m a g i n a r y l i g h t f r o m b e h i n d t h e
f e a t u r e u n d e r c o n s i d e r a t i o n .
3 . W h e n e v e r t h e s h a d o w i s o b s t r u c t e d b y a n o t h e r f e a t u r e , a n e d g e
i s a d d e d t o t h e g r a p h b e t w e e n c o r r e s p o n d i n g v e r t i c e s .
4 . T h e o b s t r u c t e d p a r t i s t h e n r e m o v e d .
~ M . Y . H s u e h a n d D . O . P e d e r s o n , U C , B e r k e l e y ' 7 9
7/30/2019 Grid Compaction Algorithms
8/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 8
c S h e r w a n i 9 2
C o m p a c t i o n
S h a d o w - P r o p a g a t i o n A l g o r i t h m
~
A l g o r i t h m S H A D O W - P R O P A G A T I O N ( C o m p l i s t c o m p o n e n t )
b e g i n
I N I T I A L I Z E - S C A N L I N E ( c o m p o n e n t )
I =
w h i l e ( ( L E N G T H - S C A N L I N E ( I )
7/30/2019 Grid Compaction Algorithms
9/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 9
c S h e r w a n i 9 2
C o m p a c t i o n
E x a m p l e o f S h a d o w P r o p a g a t i o n
~
HD
B
CA
E
G
F
7/30/2019 Grid Compaction Algorithms
10/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 1 0
c S h e r w a n i 9 2
C o m p a c t i o n
I n t e r v a l G e n e r a t i o n f o r S h a d o w P r o p a g a t i o n
Top
Bottom
Top
Bottom
(a)
1 2 3 4
(b)
A
B
D E
C
F
B
C
BB B
D,ED
C C
7/30/2019 Grid Compaction Algorithms
11/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 1 1
c S h e r w a n i 9 2
C o m p a c t i o n
T h e S c a n l i n e M e t h o d
~
1 . T h e s c a n l i n e i s a n i m a g i n a r y v e r t i c a l ( o r h o r i z o n t a l ) l i n e
t h a t c u t s t h r o u g h t h e l a y o u t i n y - c o m p a c t i o n ( o r x - c o m p a c t i o n ) .
2 . T h e r e c t a n g l e s , c u t b y t h e s c a n l i n e , a r e s t o r e d i n n o n - d e c r e a s i n g
o r d e r o f t h e i r x - c o o r d i n a t e s o f t h e l e f t b o u n d a r i e s .
3 . T h e s c a n l i n e t r a v e r s e s f r o m l e f t t o r i g h t o f t h e l a y o u t .
4 . W h e n t h e s c a n l i n e p a s s e s o v e r t h e l e f t e d g e o f a r e c t a n g l e , t h e
r e c t a n g l e i s a d d e d t o t h e s c a n l i n e .
5 . W h e n t h e s c a n l i n e p a s s e s o v e r t h e r i g h t e d g e o f a r e c t a n g l e , t h e
r e c t a n g l e i s d e l e t e d f r o m t h e s c a n l i n e .
~ A . A . M a l i k , I C C A D ' 8 7
7/30/2019 Grid Compaction Algorithms
12/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 1 2
c S h e r w a n i 9 2
C o m p a c t i o n
S c a n l i n e A l g o r i t h m
~
A l g o r i t h m S C A N L I N E ( G )
b e g i n
w h i l e t o p s o r t e d 6= d o
l e t R
1
b e t h e r s t r e c t a n g l e i n t o p s o r t e d a n d R
2
b e
t h e r s t r e c t a n g l e i n b o t t o m s o r t e d
i f Y T O P ( R
1
) Y B O T T O M ( R
2
) t h e n
I N S E R T ( R
1
s c a n l i n e )
t o p s o r t e d = t o p s o r t e d ; f R
1
g
f o r e a c h r e c t a n g l e R
i
2 s c a n l i n e t h a t i s a t t h e
l e f t o f R
1
d o
A D D - C O N S T R A I N T ( R
i
R
1
G )
f o r e a c h r e c t a n g l e R
j
2 s c a n l i n e t h a t i s a t t h e
r i g h t o f R
1
d o
A D D - C O N S T R A I N T ( R
1
R
j
G )
e n d .
7/30/2019 Grid Compaction Algorithms
13/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 1 3
c S h e r w a n i 9 2
C o m p a c t i o n
E x a m p l e o f S c a n l i n e A l g o r i t h m
~
A B
C D
E F
G
scanline
7/30/2019 Grid Compaction Algorithms
14/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 1 4
c S h e r w a n i 9 2
C o m p a c t i o n
V i r t u a l G r i d B a s e d C o m p a c t i o n
~
1 . V i r t u a l g r i d m e t h o d a s s u m e s t h e l a y o u t i s t o b e d r a w n o n a g r i d .
2 . E a c h c o m p o n e n t i s c o n s i d e r e d a t t a c h e d t o a g r i d l i n e .
3 . T h e c o m p a c t i o n o p e r a t i o n c o m p r e s s e s t h e g r i d a l o n g w i t h a l l
c o m p o n e n t s p l a c e d o n i t k e e p i n g t h e g r i d l i n e s s t r a i g h t a l o n g t h e w a y .
4 . T h e m i n i m u m d i s t a n c e b e t w e e n t w o a d j a c e n t g r i d - l i n e s d e p e n d s o n t h e
c o m p o n e n t s o n t h e s e g r i d l i n e s .
5 . T h e a d v a n t a g e o f v i r t u a l g r i d m e t h o d i s t h a t t h e a l g o r i t h m s a r e
s i m p l e a n d c a n b e e a s i l y i m p l e m e n t e d .
6 . V i r t u a l g r i d m e t h o d d o e s n o t p r o d u c e c o m p a c t l a y o u t s a s c o m p a r e d t o
t h e c o n s t r a i n t g r a p h m e t h o d .
7/30/2019 Grid Compaction Algorithms
15/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 1 5
c S h e r w a n i 9 2
C o m p a c t i o n
V i r t u a l G r i d S y m b o l i c I n v e r t e r
1114
A
C
D
E
F
G
I
H
4 3
2 1
16
2
3365
4
4
3 1
3
12
5 5
3 3
(a)
(b)
B
D
BE
F
H
A G
IC
7/30/2019 Grid Compaction Algorithms
16/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 1 6
c S h e r w a n i 9 2
C o m p a c t i o n
S p l i t G r a p h C o m p a c t i o n
~
1 . T h e g r i d p o i n t s w h i c h c o n t a i n f e a t u r e s a r e a d d e d t o
t h e d a t a s t r u c t u r e .
2 . T h e c i r c u i t f e a t u r e s f a l l i n g o n t h e s a m e v i r t u a l
g r i d l i n e s a r e g r o u p e d t o g e t h e r .
3 . T h e g r o u p s a r e r s t x - c o m p a c t e d ( a n d y - c o m p a c t e d ) b y
d e t e r m i n i n g t h e s p a c i n g n e c e s s a r y f o r e a c h c o m p o n e n t i n t h e g r o u p .
4 . F e a t u r e s a r e s p a c e d w i t h r e s p e c t t o t h e f e a t u r e s i n t h e
n e i g h b o r i n g g r o u p s .
~ D . G . B o y e r a n d N . W e s t e , I C C A D ' 8 3
7/30/2019 Grid Compaction Algorithms
17/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 1 7
c S h e r w a n i 9 2
C o m p a c t i o n
E x a m p l e o f S p l i t G r i d C o m p a c t i o n
A
C
D
E
F
G
I
H
4 3
2 1
16
2
3365
4
4
3 1
3
12
5 5
3 3
(a)
(b)
B
B
F
A
C
14
E
D
10
H
G
I
7
11
7/30/2019 Grid Compaction Algorithms
18/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 1 8
c S h e r w a n i 9 2
C o m p a c t i o n
C o m p r e s s i o n - R i d g e M e t h o d
~
1 . C o m p r e s s i o n r i d g e i s a c o n s t a n t w i d t h b a n d o f e m p t y s p a c e
s t r e t c h i n g f r o m o n e s i d e o f t h e l a y o u t t o t h e o t h e r s i d e .
2 . C o m p r e s s i o n r i d g e c a n i n t e r s e c t w i r e s t h a t a r e p e r p e n d i c u l a r t o i t .
H o w e v e r , i t c a n n o t i n t e r s e c t t h o s e w i r e s t h a t a r e p a r a l l e l t o i t .
3 . T h e w i d t h o f a c o m p r e s s i o n r i d g e i s s u c h t h a t w h e n t h e s p a c e i s
r e m o v e d , n o d e s i g n r u l e s s h o u l d b e v i o l a t e d i n t h e r e s u l t i n g l a y o u t .
~ S . B . A k e r s a n d J . M . G e y e r a n d D . L . R o b e r t s , D A C ' 7 0
7/30/2019 Grid Compaction Algorithms
19/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 1 9
c S h e r w a n i 9 2
C o m p a c t i o n
E x a m p l e o f C o m p r e s s i o n - R i d g e M e t h o d
~
(a) (b)
BlockCompression ridge
7/30/2019 Grid Compaction Algorithms
20/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 2 0
c S h e r w a n i 9 2
C o m p a c t i o n
1
1
2
- D i m e n s i o n a l C o m p a c t i o n
~
( S i m u l a t e d Z o n e R e n i n g P r o c e s s )
~
1 . T h e v a c a n t s p a c e s i n t h e l a y o u t i s c o n s i d e r e d a s ` i m p u r i t y ' .
2 . T h e b l o c k s a r e r e - a r r a n g e d , r o w b y r o w , a f t e r t h e y h a v e
b e e n m o v e d a c r o s s t h e f r e e z o n e .
3 . D u r i n g m o v e m e n t i n t h e f r e e z o n e , t h e b l o c k s t r a v e l t h r o u g h
t h e e n t i r e w i d t h o f t h e l a y o u t .
~ H . S h i n a n d A . L . S a n g i o v a n n i - V i n c e n t e l l i a n d C . H . S e q u i n , D A C ' 8 6
7/30/2019 Grid Compaction Algorithms
21/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 2 1
c S h e r w a n i 9 2
C o m p a c t i o n
Z o n e R e n i n g P r o c e s s
~
ZONE Ceiling
Floor
Top
Bottom
zone
Heater
(a) (b)
melting
re-crystallizationzone
7/30/2019 Grid Compaction Algorithms
22/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 2 2
c S h e r w a n i 9 2
C o m p a c t i o n
T h e A l g o r i t h m
~
B e g i n A l g o r i t h m
I n p u t : P a r t i a l l y c o m p a c t e d l a y o u t o b t a i n e d b y t w o
t w o a p p l i c a t i o n s o f 1 - D c o m p a c t o r .
o o r : =L i s t o f a l l t h e b l o c k s w h i c h a r e v i s i b l e
t h e t o p
c e i l i n g : = L i s t o f a l l t h e b l o c k s w h i c h a r e v i s i b l e
f r o m t h e b o t t o m
W h i l e a l l t h e b l o c k s a r e m o v e d f r o m c e i l i n g t o f l o o r
f
S e l e c t t h e l o w e s t b l o c k f r o m c e i l i n g s u c h t h a t
t h e g a p b e t w e e n f l o o r a n d c e i l i n g i s m a x i m i z e
M o v e t h e b l o c k t o f l o o r
g e n d
7/30/2019 Grid Compaction Algorithms
23/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 2 3
c S h e r w a n i 9 2
C o m p a c t i o n
P r o b l e m i n s t a n c e a n d i t s X Y a d j a c e n c y g r a p h
y2
D
x1
E
x2
C
A
y1
G F
B
(b)
A nil B
G D C F
AB
D FG E
C
Floor
Ceiling
(a)
C
C
AB
D FG E
gap 1 gap 2
(c)
y2
D
x1
E
x2
A
y1
G F
B
C
(e)
C
G F
AB
D FG
A B
D E
C
E
C
Ceiling
Floor
(d)
7/30/2019 Grid Compaction Algorithms
24/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 2 4
c S h e r w a n i 9 2
C o m p a c t i o n
T w o - D i m e n s i o n a l C o m p a c t i o n : C o n s t r a i n t s
(x , y )i i
(x , y )j j
(x , y )i i, ,
(x , y )j j, ,
(x , y )j j, ,
(x , y )i i
(x , y )j j
(x , y )i i, ,
WW
W
Bi
ij
j
(b)(a)
~
x
i
+ w
i
x
0
i
y
i
+ h
i
y
0
i
x
0
i
; w
i
x
i
y
0
i
; h
i
y
i
x
j
+ w
j
x
0
j
y
j
y
0
j
x
0
j
+ w
j
x
j
x
j
x
0
i
x
0
i
x
0
j
x
i
x
j
y
i
+ r
1
i j
y
j
y
0
j
+ r
2
i j
y
0
i
x
i
x
j
x
0
j
x
0
i
y
j
y
i
y
0
i
y
0
j
c
1
i j
: x
0
i
+ d
1
i j
x
j
c
2
i j
: x
0
j
+ d
2
i j
x
i
c
3
i j
: y
0
i
+ d
3
i j
y
j
c
4
i j
: y
0
j
+ d
4
i j
y
i
W h e r e w
i
a n d h
i
a r e t h e w i d t h a n d h e i g h t o f t h e b l o c k B
i
r
1
i j
r
2
i j
] i s t h e r a n g e b e t w e e n B
i
a n d t h e w i r e W
j
d
k
i j
i s t h e d i s t a n c e b e t w e e n B
i
a n d B
j
.
7/30/2019 Grid Compaction Algorithms
25/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 2 5
c S h e r w a n i 9 2
C o m p a c t i o n
H i e r a r c h i c a l C o m p a c t i o n
~
1 . G i v e n a h i e r a r c h i c a l s y m b o l i c l a y o u t , h i e r a r c h i c a l c o n s t r a i n t g r a p h i s
g e n e r a t e d a t e a c h l e v e l o f t h e h i e r a r c h y o f t h e d e s i g n f r o m b o t t o m u p .
2 . I n i t i a l l y , c o n s t r a i n t s a r e g e n e r a t e d f o r a l l t h e l e a f c e l l s c o n s i s t i n g
o f b a s i c f e a t u r e s .
3 . E a c h l e a f c e l l i s c o m p a c t e d u s i n g t h e c o r r e s p o n d i n g c o n s t r a i n t g r a p h a n d
t h e b o u n d a r y o f t h e c o m p a c t e d l e a f c e l l i s x e d .
4 . O n c e t h e l e a f c e l l i s c o m p a c t e d a n d t h e b o u n d a r y i s x e d , t h e c e l l c a n b e
t r e a t e d a s a s i n g l e c e l l i n t h e n e x t l e v e l i n t h e h i e r a r c h y a n d
c o n s t r a i n t s c a n b e g e n e r a t e d f o r t h e c e l l s i n t h a t l e v e l .
5 . T h e c o m p a c t i o n i s c a r r i e d o u t b y g e n e r a t i n g c o n s t r a i n t s a t e a c h l e v e l .
7/30/2019 Grid Compaction Algorithms
26/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 2 6
c S h e r w a n i 9 2
C o m p a c t i o n
E x a m p l e o f H i e r a r c h i c a l C o m p a c t i o n
B
C
E
H
AD
F
G
I
J
C
C
1
2
~
H i e r a r c h i c a l l a y o u t
7/30/2019 Grid Compaction Algorithms
27/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 2 7
c S h e r w a n i 9 2
C o m p a c t i o n
E x a m p l e o f H i e r a r c h i c a l C o m p a c t i o n
LC1
RC1
F
E
D
L RC2 C2
G H
J I
G2
G1
G
G
G
1
2
3
L R
A
B
C
~
H i e r a r c h i c a l c o n s t r a i n t g r a p h
7/30/2019 Grid Compaction Algorithms
28/28
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
1 0 . 2 8
c S h e r w a n i 9 2
C o m p a c t i o n
S u m m a r y
~
1 . T h e o b j e c t i v e o f a c o m p a c t i o n a l g o r i t h m i s t o r e d u c e t h e l a y o u t a r e a .
2 . T h e r e a r e t w o m a j o r c o m p a c t i o n s t r a t e g i e s : t h e c o n s t r a i n t - g r a p h b a s e d
c o m p a c t i o n a n d t h e v i r t u a l g r i d b a s e d c o m p a c t i o n .
3 . C o n s t r a i n t - g r a p h b a s e d c o m p a c t o r s u s u a l l y p r o d u c e s m a l l e r a r e a l a y o u t s
a s c o m p a r e d t o t h e v i r t u a l g r i d c o m p a c t o r s .
4 . V i r t u a l g r i d c o m p a c t o r s t y p i c a l l y r u n f a s t e r a s c o m p a r e d t o t h e v i r t u a l
g r i d c o m p a c t o r s .
5 . T h e s p e e d o f b o t h t y p e o f a l g o r i t h m s c a n b e i m p r o v e d b y u s i n g h i e r a r c h y
o f t h e l a y o u t .