Estimating Routing Congestion using Probabilistic Analysis - ISPD

ispd.cc

Estimating Routing Congestion using Probabilistic Analysis - ISPD

Estimating RoutingCongestion usingProbabilistic AnalysisJinan LouShankar KrishnamoorthyHenry S. ShengSynopsys Inc.{jlou, shankar, hsheng}@synopsys.comISPD2001


Congestion Problem8Wiring congestion is a key metric to predictroutability & performance of a design– A good timing result is useful only if routing can becompleted– Congestion increases delay uncertainty– Congestion deteriorate signal integrity8Congestion optimization must be performedearly in design cycles– Synthesis adds many new gates to the design increasing celldensity and wiring demand– Timing-driven placement has to keep critical gates closer– Users would like to close timing in same or smaller floorplans8Requires a fast and accurate estimatorISPD2000. SK 2


Physical Synthesis FlowRTL, ConstraintsFloorplanTResourcesharing/allocationIMINGSYImplementationselectionLogic structuringPLACEMECongestionestimation andoptimizationSTTechnology mappingNTEMGate-level optimizationISPD2000. SK 3Optimized netlistPlacement


Summary of Our Contributions8Proposed a probabilistic based congestionestimator8Based on supply and demand analysis ofrouting resources8Independent of implementation details ofdownstream routing algorithms8Blockage aware8Fast and yet accurate8Congestion optimization based on thisalgorithm demonstrates its effectivenessISPD2000. SK 4


Congestion Analysis8Divide the core area of the design intocongestion grids8Analyze the supply and demand forrouting resources in each congestion gridone gridISPD2000. SK 5


Routing Supply of a Grid• N h : number of horizontal routing layers• N v : number of vertical routing layers• L hi : minimum pitch for the i th horizontal layer• L vi : minimum pitch for the i th vertical layerhorizontal_capacity HhN= ×∑i = 1(1)LhivN⎛ 1 ⎞vertical_capacity = W × ∑⎜ v ⎟i=1 ⎝Li ⎠ISPD2000. SK 6


Routing Demand of a Grid8Empirical model– Design dependent– Hard to correlate to the real congestion8Global router– Slow– Introduce problems for 3rd party routers8Probabilistic analysis– Fast– Router independentISPD2000. SK 7


An ExampleEstimate a 2-pin nets covering a 3·3 mesh654Total number of possible routes: 6321Horizontal usage = 0.5 + 0.5 + 1.0 = 2.0Vertical usage = 1.0 + 1.0 = 2.016( 1 1) ( 2 2) ( 3 3)( 2 2) ( 2 2) ( 2 2)( 3 3) ( 2 2) ( 1 1)⎡⎤⎢⎥× ⎢ ⎥⎢⎣⎥⎦ISPD2000. SK 8


Number of Possible RoutesFor a 2-pin net covering a m·n mesh,denote the number of possible routes as F(m, n) :( , ) = ( − 1, ) + ( , −1)F mn F m n F mn( , ) = F( nm , )F mnF(m-1, n)⎧ 1 n = 1⎪ mn=2= ⎨⎪ L i1n≥3⎪∑( , )m in−2 i2F mn⎩ ∑∑i = 1i = 1 i = 1n−2 n−3 1F(m, n-1)ISPD2000. SK 9


F(m,n) up to 10·10⎡1 10 55 220 715 2002 5005 11440 24310 48620⎤⎢1 9 45 165 495 1287 3003 6435 12870 24310⎥⎢⎥⎢1 8 36 120 330 792 1716 3432 6435 11440⎥⎢⎥⎢1 7 28 84 210 462 924 1716 3003 5005⎥⎢1 6 21 56 126 252 462 792 1287 2002 ⎥⎢⎥⎢1 5 15 35 70 126 210 330 495 715 ⎥⎢1 4 10 20 35 56 84 120 165 220 ⎥⎢⎥⎢1 3 6 10 15 21 28 36 45 55 ⎥⎢1 2 3 4 5 6 7 8 9 10 ⎥⎢⎥⎢⎣1 1 1 1 1 1 1 1 1 1 ⎥⎦ISPD2000. SK 10


Computing the Probabilitiesx( , )P i jPy( i j)ISPD2000. SK 12( )⎧ F mn , − 1 case a: i = 1, j = 1⎪⎪1 case bi : = 1, j = n⎪ F m i 1, n 1 case c:1 < i< m, j = 1( − + − )= 1F( mn , )× ⎪⎨ F ( mn , − j+ 1 ) + F ( mn , − j )⎪case d: i = 1, 1 < j


Off-grid Pinsd x2d y1Hd y2Wd x1ISPD2000. SK 13


Horizontal Usage with Off-grid Pinsx( , )P i jISPD2000. SK 14⎧dF( mn , − 11) ×xcase a: i = 1, j = 1⎪W⎪d2( , 1x⎪ F mn− ) × case a%: i = m,j = nW⎪⎪ dx2case b: i = 1, j = n⎪ W⎪ dx1case b%: i = m, j = 1⎪ W⎪d11( 1, 1x⎪ F m− i+ n− ) × case c: 1< i < m, j = 1= × ⎨WF( mn , ) ⎪dF2( in , − 1x) × case c%⎪: 1< i < m,j = nW⎪F( mn , − j+ 1 ) + F( mn , − j⎪)case d: i = 1,1< j


Vertical Usage with Off-grid Pinsy( , )P i jISPD2000. SK 15⎧dy1⎪F( m− 1, n)× case a: i = 1, j = 1H⎪dy2⎪ F( m− 1, n)× case a%: i = m,j = n⎪H⎪ dy1case bi : = 1, j = n⎪ H⎪ d y2⎪case b%: i = m, j = 1⎪H1 ⎪F( m− i+ 1, n) + F( m−in, )= × ⎨case c: 1< i< m, j = 1F( mn , )2⎪⎪ F( in , ) + F( i−1,n)case c%: 1< i < m,j = n⎪ 2⎪⎪dy1F( m−1, n− j+ 1 ) ×case d: i = 1,1< j < n⎪H⎪dy 2F( m− 1, j)× case d%⎪: i = m,1< j


Track Usages for a 5·5 Mesh8 Darker color represents higherprobability of usagesISPD2000. SK 16


Multi-pin Nets8 MST based algorithm in early stages8 RST based algorithm in later stagesISPD2000. SK 17


Simple Routing BlockagesISPD2000. SK 18Distribute the usage of a blocked grid to itsneighboring grids based on the distance d andnumber of unblocked neighbors n:w = 2 -d·n


Line Blockagesoriginal bounding boxoriginal bounding boxextended bounding boxextended bounding box• Extend the bounding box of the netISPD2000. SK 19


Adjacent Blockages• Find the bounding box of the blockagesISPD2000. SK 20


Complex Blockages• Maze router needed• How often do you see this?ISPD2000. SK 21


Runtime for two Testcases# of instances # of nets CPU timeDesign1 316K 332K 70sDesign2 347K 374K 110sISPD2000. SK 22


Testcase I: Congestion CorrelationEstimated congestionPost-route congestionISPD2000. SK 23


Testcase II: Congestion CorrelationEstimated congestionPost-route congestionISPD2000. SK 24


Testcase I: Congestion RemovalCongestion withoutoptimizationCongestion withoptimizationISPD2000. SK 25


Testcase II: Congestion RemovalCongestion withoutoptimizationCongestion withoptimizationISPD2000. SK 26


Conclusion8Timing closure for complex designsrequires fast and accurate congestionestimators8 Probabilistic congestion estimation is a keytechnology in physical synthesis8 Congestion optimization based on thisalgorithm demonstrates its effectivenessISPD2000. SK 27

More magazines by this user
Similar magazines