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%
"! #$ %'()+* ', # -, . # ,/! %
*01(2134 $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!7WX ?*; ',2%
# , *6!7# YADZ@N [;=7# R4 ',2>;,6Z; '= #'4 7? 7*SH/F;?% ?! .;# (51 '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; ZS4/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#$K7/4M7;K! 7*>74 \ 7#' 7 7*b;#'*/ $7d 'e/@!2 ,2. # ,\/! 7*
Kei-Yong Khoo
1(21f?;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*; [,2JKM/ZS 'Y/% ZS#s; 7 /@?.5Y/O# > $% .; /7Y 'O?! 4lMmVE, '*7JV $17?!2)Y, *7Y9( )*.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"]771% ZS#V # 6 p6 ,
/09;?.I7
*@# /=#{ )?/77?R,2#'(>,> /@ L/F; ?/@ 7?/@ 2%
1. INTRODUCTION AND OVERVIEW k ^lLm+E29?.77/# /@*(n?.75,2 U!7= %&> ?/o,2 >7 /@
> p; /@5> /, Y?5=Fz{? 'Z@#$(5
7# ,5;M F*@# /@=7#
;,K*@ *@7pT?# /)?.`L8qr)! 7? ; )?/77?+7W=?/@>
# ZS#DJ-]W., $ /@7#/% ZS#/! 7*K8[.>4/`6, /)T7/@,%
,2/@> N 7*^8D;?/" B, > ' 7*0 > 8:/;97?@s /
,24 Y 2/@= #' /@ # ()J
#' ';=7 # ()7,\7R?/@1-/8 R/;Z@.# #21( 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; /7b '> /5Z@N [;=7# I4 ',2n;,~Z; '= # e 7? * ?/@71.; Y/@b7L4 $Y/8V L )?/@ 7?J k
., $ /@7#W/! 7*>1(21 Y ; $ /@ ,^ )/6/>1.;*@
*# /@=;# /! 7*M,\, .; #',/@!2 7* Ss7/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/ss4 "_ m k lMmVE k Cfm+=
ZS" R?/7 ', .N /@7)Y;-_
m k
ZS=>, ZS# /@ 2%
7*"F/! 7*1(218:/;47 *@2%& 8:/;97? 7*4 T# ZS# /8 /@!2 ' *
CFE Gd, '*7R! 1%
.;?.)()@;7/4 '\V *@!2MiSAD=HJ
]771K1.;*@> Kb 8:/;97?%,2 ZS5*@# /=#/! 7*b;
7#';7R/@!2R7R??/., *"/ 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> # */ $78:/;*@# /@=7#T/! 7*O >)6x -NyQJ0] 6?/, 1.*5 'b|?/@7*1 /@2%, ZS~4 $5 7#' 7 7*a# *@/; ;
7#';767b/@!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* ',2L/O > 7#$(^ " 2/@=7# x j+2+t;yQJM/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=71.;?# É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
/@?.78q/4,2. # ,>/@! * k
¡[§¦'¢;®¦'¯£ «¬ AQSH4}N%mZS#CL *@^V#'/
/@!2%
7*F*@ /b4 $b/@=71.;?# L 7/n eAQSHJ4AD=H-7/4RF!7 $8:/ * ',B; 7 /@?.|47 ?.a!7\ZS(e77>*; [,2",2!7"/^ 64 ',2
AD=Hg;%mWZ@#{CL *@5V# /
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(21CL *@IV# /4
IAD?NHT;,>L?/7 ? /@9*.; 79 ?/71! ?,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 *@7Y=?;!7F6ZS(b77L*; ', 9(B=O7, ,{;>7/4 V *@! I}2AD=HJCL! 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\;/b91/;F
/@?.7M8q/L F* ', # /! 7*2J|cM7b
/S;?B! \ > '# %&=7,B;#'*/ $7>Ox$i2 ii@Vi}NyQJR] L/@!2 ' *"* '/I
7; $ /@7,0 /6 # Y , ! ?,
=)(L =/!7, ; V/;8/=71.?#'T;,L7-/@!2 ' *
2/@= #'Ä V%
,2!7?,>/FN? 7*\F # %Q/%Q # M Nb>/@ *K74 #'2 % ),0=)(b"?/;7%&1 $? 7*>, ;."1! ?! 6x$ig;yQ;
/N4
oV *@! a}2AD?NHJÅ] |/;7^ 7 2/S;?U!7O7e?/@ 7? / k
*;. |=;,a;#'*/ $7x$i iRiNyQJ
?/7 ? /@/,2#W/;8# /)?#W/@!2?,97L7X2 '= #' $( /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/87
7/;.= #'O/@ O " b .N8q98q/ ]+?.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 # # /@7Y/8.;7 1/Y/@0"?.7 WJ 97 R 7 M /@ /K\\!7#$ $%[()* ',2#'4/! 7*\1(21% Å4 54 $6 7#';77 * JF
8:N! F;5P>? )K?/7 ? /@
*.; 7F=;,L9pTN? 7*Y# *@/; $7f;W -*; ', # +/! 7* *@ 77,^0ÊsË:ÌÍ4ÎÏ ÐÑ7Ñ Ë:ÑÒF# */ $7347F*@# /=#$%& 7#';77 8:/;679/@!2 7*57* 7@Ja]7947/@# O1( 1 2/;Z ', 68[% ? '/#'!2 /@B/^Z; '= #'>4 ',2sZ@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# *@/; $77/-/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-iTit;yQJFM/ZS{/@ "/;8T
7,"/@!2
8q!77,7>.;#;!7> /7T (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 "*; [,2JF]7 L9;`S
M1(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=67JM/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# 7L7,^/@!2 ' *b9
9(0;z{?L\!7#$ 7# F7
'
* '/WJ-cM > 7# TX > 7# T ' /4" 6V *@!2Rg2JVF7
/@!2 ' *91( 1^J4
E2? /@g29 /@ /9/@! ?/7*1 /@,2 ZS|* ', # \ 7#'2% 7 *";#'*/ $7Ô47 ?bz{? 'Z@#$(9 7#' ?.b7/?/71.
7M?/@ 7? /^*.; 7ax }@}){};g2+i2i;y;4 LX2 7M/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
!78:!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!7K?/@ 7?%
/@*.; 7?# # ,~àFÜÑ7á;âÑ7Ë ÛÜÌ.ßäãÌ.ËQåãÌ1ÐÎ Þ|æKçWT=;,/@
2W
c(2,1)
4# > ,b8:/;M#'N*@, *7J
7
X2 ;7 /@b/8V?. *@!7#'N4/@=71.;?# 4 b
/@!2 7*\*@ /@
??/.,2 ' *O/94 $ Z 'b4 ',2