DUNE: A Multi-Layer Gridless Routing System with Wire ... - UCLA.edu

10 downloads 0 Views 215KB Size Report
resented by a corner-stitching data structure [13], as shown in Figure 2(c). ..... congested tiles which are assigned with higher penalties. In- stead of finding ...
DUNE: A Multi-Layer Gridless Routing System with Wire Planning 

Jason Cong

Jie Fang

UCLA Computer Science Dept Los Angeles, CA 90095

UCLA Computer Science Dept Los Angeles, CA 90095

Synopsys Corp Mountain View, CA 94043

[email protected]

[email protected]

[email protected]

ABSTRACT

 # @J] ' I?/@7* 1 /@, ZSU*@# /@=7#F/@!   *„ # 7 ^/‘,2 1%

     

"! #$ %&#'()+* ', #   -, . # ,/! %

 *0 1(2 134 $54 $6 7#' 7 7*98:/;,  < ! = %&> ?/@BADCFE GIH

)(  ?;#-,   *@ J"&K 7?# !7,  F9"! #  $%&#'()L*; ', #   , .; #', /!  7*"7* ' MN4?OP>? )#$(9/@!2L /@ )%Q/%& /@ )R?/ %  ? /@ S;,FR4 T 7#' 7 7*

# */ $7U;V!7  WX ?*; ',2%

#   ,   *6!7#  YADZ@N [;=7# R4 ',2>;,6Z; '= #'4  7? 7*SH/F;?% ?! .;# (5 1 '9N\ /!  7*9 /@!2? K;,5, 1 =7!2"  )/M/!  7*Y*@ /@ J-]74 $R #[;7 ' *L> /,\;#' /M;=7#  P>? )L %&!7 5;,^/! " 5* ',2#'  L/@!   * JF_M # '`@ 2% Z /@! 4

/S;?  R47 ?.0X2 7# /;K#$7; ZS 4/8V=7# /)?`@,O  =)(\*., !;# # (\ *@)7  *L74,   '*6!7#  )/! T 7#' 7 7*K=7 , ; 7 2/S?.B?;a.`S6 >X ?\* ', #   !7#  \7,  ?/@7* 1 /@b7,"=7# /)?.`@;*@Y;L7 *7-# ZS#DJTcM!2TX

 '>.;#  !7#$K 7/4 M7;K!  7*>74 \ 7#' 7 7*b;#'*/ $7d 'e/@!2 ,2. # ,\/!  7*

Kei-Yong Khoo

1(2 1f?;6 > /NZST T/! .= #' $(6;,# /

 ,0!7 b7M! O >L=)(OghIij > J

 =7!2s /@!   *4 /@! ? V;,L*@! ',  ’7-, .; #',K/!  7*2 47 ?.6 T?; ,6/@!2- '" 1.*@R/ Js6,2. # ,"/@!2 7*L7X% ? > 7# >).; //;8  ?/,2!7? ZSs4 $  , > ' ,L8:/; ;?e7M??/.,2 ' *O/>7\,   '*e! #  JK] "Z; '= #'4 ',2 7,0Z; '= #'K  7?  *9,   *@O!7#  Rr)!7 $F"*; [,2#   M,2. # , /@!2F47 ?.B, /) 7/;K8q.; a764 $ /@a 2, “77,5!7 $% 8:/;d*; [,2 JK”M/ZS ' Y€/%&# ZS#s; 7 /@?.5 Y€/O# > $% .; /7 Y 'O?! 4lMmVE,   '*7 J‚V $ 17?!2)Y,   *7 Y9( )*.NM/NZS4K!77,2,6> # # /@9.7  1/; R 'bF  7*@# L?.7 ’J ]W., $ /@;#€/;%&#'ZS#{,   '*O9("7/=M;=7# 

/;,2#'Y !7?.



?/> 7# X2 $€(58:/;\ >* ', #   ", .; '# ,e/@! JI]78:/;@-@,% , $ /@7#-# ZS# K/87 .N?)( ?/@0z{?  7F, #[(^,O7/@ , ! L/67 *@# /=# )?/7 ? M ,^/9=\?;8q!7# #$(5?/@  [,2,5, !2 7* 7/@!2 ' *|x g;yQJ"]7“7 1%&# ZS#V # 6  p6 ,

/09;?.I7

*@# /=#{ )?/77?R,2#'(>,> /@ L /F; ?/@ 7?/@ 2%

1. INTRODUCTION AND OVERVIEW k ^lLm+E29?.77/# /@*(n?.7 5,2 U !7= %&> ?/o,2 >7  /@

 > p; /@5> /, Y?5=Fz{? 'Z@#$(5

7# ,5;M F*@# /@=7#

;,K*@ *@7pT?# /)?.`L8qr)! 7?  ; )?/77?+7 W=?/@> 

# ZS#DJ-]W., $ /@7#€/%&# ZS#/!  7*K8[.>4/`6, /) T7/@,%

,2/@> N 7*^8D;?/" B, > ' 7*0 > 8:/;97?@s /

,2  4 Y 2/@= #'™ /@ # ()J

#' ';=7 # ()7,\7R?/@ 1-/8 R/;Z@.# #2 1( 1^) s 2, ?,\ '  LittSjLuLN '/;#]+?.7 /@# /@*;(6vY/S@,29 8:/E2> '?/@,2!7?/; ADuM]vLEw tSj@Hex iyQJ3G^)(n/@ 2 > 'p; /@n?.7 [r)!  L 7?#'!7, 7* 4 $F  p 7*IA:8q/M, #'(0/  > p; /H24 F  7? 7*IA:8q/M, #'( ;,K7/ /@ 2 > 'p; /@H?@J @7NZ@-=F /@ / ,,K  /N4 /\=LZS(6z{? ZSM8q/4 )?/77?4/@ 2 '> pN /@|x }y&JT]   /  > p; /7 b '> / 5Z@N [;=7# I4 ',2n;,~Z; '= # e  7?  * ?/@7 1.;  Y/@b7L4 $ Y/8V L )?/@ 7? J k

., $ /@7#W/!  7*> 1(2 1 Y ; $ /@ ,^ )/6€/> 1.;*@ 

*# /@=;# /!  7*M,\, .; #',/@!2 7* S s 7/4\ '"‚V *@! Li@AQSHJ 9*@# /@=7#/@!2 ' * 74/@!2 7*F*@ /@b  N $ '/7,9 )/ #  /;>?. 7# >;,ƒ5/!7*ƒ/! O8q/>?.„ > >, > 7, ;>/@ *F  R #' /F> ' > 'p7Y/;Z@.# #?/7* 1 /@b '9;? ]7 /`e \ 7; '# #$(a !

7 /,,F47" 4!27/s s4 "_ ‰ m k lMmVE ‰ k Cfm+=

š

ZS"  R?/7  ', .N /@7 )Y;-_

‰ m k

ZS=>, ZS# /@ 2%

7*"F/!  7* 1(2 1ˆ8:/;47 *@2%& 8:/;97? 7*4 T# ZS# /8 /@!2 ' *

CFE Gd,   '*7 R! 1%

 .;?.)()@;  7/4 '\‚V *@!2MiSAD=HJ

]7“7 1K 1.;*@> Kb 8:/;97?%,2 ZS5*@# /=#/!  7*b;

7#';7 R/@!2R7 R??/.,  *"/ M7M, #'(b7,b /@ Mr)! % >) >4 $n*@# /@=7#K?/7*@ 1 '/—?/@)/@#DJ›] 5/` 0 ~ ;" 7?# !,2K\ 8:/9;7?%€, ZSb*@# /@=7#{/@! 4!7  7*\7 *@2%

8q/9 ?"/!  7*0/ /@# /@*  ";,e/@  9;#s4 $6  p  *Bx œ;y 7,5b /@ %&?/@ 1. 7,e4 $6  ;? 7*O7,I.;?`5;   *@7> # */ $78:/;*@# /@=7#T/!  7*O“ >)6x -‹NyQJ0] 6 ?/, 1.*5 ' b|?/@7* 1 /@2%€, ZS~4 $5 7#' 7 7*a# *@/;  ž;

7#';7 67b/@!20/8M?.ƒ7>=7 ,ƒ/@„|,2. # ,„>/,2# 7* /8R 6/@!2 ' *0 /! ? \7, L#';?`I74 $%

7#';77  *6? 7= '# $€(b4 $^X ?Y/!  7* /@!2?F>/, # 7*2J G0/@ 1W.@,2  /#,2. # ,L/@!2 7*Y# *@/; $7> V;  !7>s!7 $8:/ !77, #$(2 7*9* ',2 L/O  > 7#$(^ " 2/@=7#  x j+Ž2+t;yQJ”M/Z@

¡¢[£D£ ¤7¥¢[¦€§¨;©Dª «¢ ¬

r1

t

t r2 r2

r1

¡¢[£D£ ¤7¥¢[¦€§¨;©Dª «¢ ¬

Performance-Driven Global Routing

r4

Determines rough route of each net to optimize delay and noise due to DSM effects

¹ ¶'¶ º:»:¼q½ ¾D·µ ³ °S± ²³ ´Qµ ¶

Congestion-Driven Global Routing Determines rough route of each net to minimize the congestion and to guide detailed router

¹ ¶'¶ º:»q¼:½ ¾D·.µ ³ °)± ²³ ´Qµ ¶

r3

°)± ²³ ´Qµ ¶²¶ ·$´Q¸ µ

Congestion Driven Wire Planning

°)± ²³ ´Qµ ¶²¶'· ´Q¸ µ

Detailed Routing & Ripup Re-routing

1 micron

! #'

AD=H_

š

7 $8:/;

 [,% š

t

t

T6

T2 T5

¿ ¸ ¼qÀQÀQÁ ÀQ²¶'· ´Q¸ µ

Gridless Detailed Routing, Ripup & Re-routing

T10

s

s T8

T7 1 micron

T9

Determine the exact route of each net according to their individual width and spacing requirement

. 7

T4

T1

Determines exact route of each net. Ripup and re-route if the nets can not be routed.

r3

AQSH4cM=7 1.;?#  ÉLCL  *Iv

T3

Plans out each net by considering gridless requirements. Re-plan when detailed route can not find a route

¹ ¶'¶ º:»:¼q½ ¾D·µ ³ Ã ± ¿ ¸ ¼qÀ

s

s

r4

AQ,H ‰ /77? /@

AD?NHR] #'…N  /

š

. 

¡­[§¦'¢;®¦'¯£ «¬ ‚V *@!2K}sCM z{)R

/@?.7 8q/4,2. # ,>/@!   *  k

¡­[§¦'¢;®¦'¯£ «¬ AQSH4}N%m’ZS#’CL  *@^‚V#'/

/@!2%

7*F*@ /b4 $b/@=7 1.;?# L  7/n eAQSHJ4AD=H- 7/4 RF!7 $8:/ * ',B; 7 /@?.|47 ?.a!7  \ZS(e“77>*; [,2 ",2!7"/^ 64 ',2

AD=Hg;%mWZ@#{CL  *@5‚V# /

7,|  ;? 7*I!7#  JI]7>/@!2 ' *^*@ /ƒ ?!  )/^ #' 6?% ?/;., 7*K/F74/@= 1.?# M=/!77,7;  -8:/;4L '# Y=; ,9 7 2/S;?

‚V *! 6i@-vY/@!2 ' *9E(2 1ˆCL  *@I‚V# /4

IAD?NHT;,>L?/7 ? /@9*.; 79 ?/7 1! ?,6 IAQ,H=; ,>/@ 7L,   *@O!7#  J

 T! 7 $8:/;6%*; ',"

/@?.> ' s /TP>? )s/L;,2#'RZ; ';=7#  4 ',I7,0Z@N '=7# F  ;? 7*9,2  *@7 Y=?;!7 F6ZS(b“77L*; ', 9(B=O7, ,{; > 7/4„ „‚V *@! I}2AD=HJƒCL! b/57b% r)! >)/;8V/z%&*; [,>/@!2 7* '7, ! ?,>=)(6Z; '= #'Y4 ',2O, Z; ';=7# F  ? ' *b,   *@^! #   ZS.#+*; ', #   L,2. # ,0/! %  *5# *@/;  > \7ZS6=| 7!7= # '  ,a,2!  7*0 > ; 1(S; J 5*@ .#D{7\;€/b9˜1/;F

/@?.7 M8q/L F* ', #   /!  7*2J|cM7b

/S;?B!  \ > '# %&=7 ,B;#'*/ $7> Ox$iŠ2 ii@Vi}NyQJR] L/@!2 ' *"* '/I

7; $ /@7,0 /6 #  Y , ! ?,

=)(L =/!7, ;  V/;8/=7 1.?#' T;,L7-/@!2 ' *

2/@= #'Ä V%

,2!7?,>/F N? 7*\F # %Q/%Q # M Nb>/@ *K7 4 #' 2 %  ),0=)(b"?/;7%& 1 $? 7*>, ;." 1! ?! 6x$ig;yQ;

 /N4

o‚V *@! a}2AD?NHJÅ] |/;7^ 7 2/S;?U!7  O7e?/@ 7? / k

*;. |=; ,a;#'*/ $7žx$iœ iRi‹NyQJ

?/7 ? /@/,2#W/;8# /)?#W /@!2?,97LŸ7X2 '= #' $( /b # ?L %Q/!  L*# /@=;# # () R/8s;?I Y ')/6?/@7  ',2.; /@’JR ;# #)ZSsP>? )W ' 2%&!7 F7,L/@!2T?; ;=7 #   V4 F /@> 7 >? 7/9=b/@!2,’J~”M/Z@# $# I /@*;  9; >=  /;,6 9 NK '> 4 ;?.9?/@>\!77 $()JVE/@>R /#'!2%  /@ ZS4=bN> ,\=(\7

‡ C

k

ZS7, /; JTcM74/8’7

7/;.= #'O/@ O " b ‰ˆ‰ .N8q 9–8q/ ]+?.7 /@# /@*;(UAD7/™ N9/8

‰ /)/ 97,

‰ ()

‰ @, 7?NHJ„"/z{ 9e*Nb, ;#

/8-ŸX = '# $€(^, ! F/9 $ L\!7#$ 7# F .; /@ L/8s/!  7*2{=7!  7 M 7 2/S;?59(^ /L ?# \# #V/b8q! ! F ‰

,   *7

4 $

=7 # # /@7 Y/8.;7  1/ Y/@0"?.7 WJ €97 R 7 M /@ / K\\!7#$ $%&#[()* ',2#'  4/!  7*\ 1(2 1% Å4 54 $6 7#';77  * JF

8:N!  F;5P>? )K?/7 ? /@

*.; 7F=; ,L9pT N? 7*Y# *@/; $7f; W -*; ', #   +/!  7*  *@ 77,^0ÊsË:ÌÍ4ÎÏ ÐÑ7Ñ Ë:ÑÒF# */ $73 47F*@# /=#$%& 7#';77 8:/;679/@!2 7*57* 7@Ja]7947/@# O 1( 1  2/;Z ',  6–8[% “? ' /#'!2 /@B/^Z; '= #'>4 ',2’sZ@N '=7# 9  ;? 7*I*; [,2#  

Ǒ7"M7s?7 /s=/! ,\ '", .; #',\/@!2 ' *  ' 2%&!7 \,

, . # ,O/@!2 7*6 2/@=7# ^JscM! 4?/7*@ 1 '/ %,2 ZS04 $K 7#'2%

/@! M ' 4?N ,O/! R/\8[L/! R/@!2 7*\ /@! ?F,>%, /

7  *K# *@/; $7›7/-/7#$(6,2 1 '= !  s  s ')/M/!  7*

 6/@!2 ' * J^G^)(|# *@/;  > \7ZS6=| /@ / ,|/| %

 /;b/|, .; #',ƒ/@!2 7* =7! ># /B;=7#  9P>? '> 2%!

*@ /@

!

e,^/! \ 1.;* ' >x ij-iŽTit;yQJF”M/ZS{/@ "/;8T 

7,"/@!2

8q!77,7>.;#;  !7>  /7 T (67ZS4 ' T;T74X2 1 ! 7

%$Çn FR7W? 7/;V=/@!2,’; $+ W )V=;?`Y/4=s% #'7 ,

8q/È!77, #$(2 7*L*; ', T,\# # s *@> s?;6=R  > 7# $“,

=)(L7s4 $ #[;7 ' *M;# *@/ $ ^J]7  )*.N /@/8 #'7 7*

; K9p/94 [,5#'   L/@I  "*; [,2 JF]7 L9;`S

M 1(I/

7,L/@!   *

=)(%& 7#' 7 7*K  T, !   *L7Y, .; #',>/!  7*2J

;# *@/ $ > V7# W7- 7#';77  *

;# *@/ $ f`S 7*

>/,2#7Y /@!2? 4 b M/@!2 ' *\* /@^;,9  > 7# $“  

!7 2%Q/%,7Nb /! ?O  8:/;9; /@ƒ ƒ b/!  7*5* '/‘;,

/ .; /6/LX2?7 *@7 /@! ? T=€67 J”M/ZS

7=7# 7*a ^/@!2 ' *–# *@/; $7Ó/B?77*^7I/@!2I*@# /@=2%

 s  !7> 2 /@6,2/) 7/;s7/#[, "Z; '= #'4 ',67,Z; ';=7# 

# #$()Ju

=; ,5, .; #',I/!  7*b;#'*/ $73 I/@! 

K *>)F? 7/;F=6  > 7# $“,I/0p/

4 ',e# 7 L7,^/@!2 ' *b9 

9(0;z{?L\!7#$ 7# F7

'

 * '/WJ-cM   > 7# TX > 7# T '   /4" 6‚V *@!2Rg2JV€F7

/@!2 ' *9 1( 1^J4€

E2? /@–g29 /@ / 9/@! ?/7* 1 /@ƒ,2 ZS|* ', #   \ 7#'2% 7  *";#'*/ $7Ô47 ?bz{? 'Z@#$(9 7#' ?.b7/?/7 1. 

7M?/@ 7? /^*.; 7ax }@}){};g2+i‹2’iœ;y;4 LX2 7 M/8sZS(

S

?/ 1# (9 2%&?/@ 1!7? /O;,>  ).; /@’J-]78q/@27 

Obstacle T1 S1 c(0,2)

c(1,2)

c(2,2)

1W

Net1

!7 8:!7#   

Net2

€b/@!24* ', #  

T2 S2 T3 c(1,1)

c(0,1) S3

c(0,0)

c(1,0)

C(1,1)

c(2,0)

AQ@H

Net3

1W

T

, . # ,b/!  7*"# *@/;  ^ K!7 K?/@ 7?%

 /@ƒ*.; 7ƒ?# # ,~àFÜÑ7á;â’Ñ7Ë ÛÜÌ.ßäãÌ.ËQå„ãÌ1ÐÎ Þ|æKçWT=; ,–/@

2W

c(2,1)

4# > ,b8:/;M#'N*@,   *7 J

7

X2 ;7  /@b/8V?. *@!7#'N4/@=7 1.;?#  4 b 

/@!2 7*\*@ /@

??/.,2 ' *O/94 $ † Z 'b4 ',2