Estimating Routing Congestion using Probabilistic Analysis Shankar Krishnamoorthy Jinan Lou Henry S. Sheng Synopsys Inc. {jlou, shankar, hsheng}@synopsys.com ISPD2001
Congestion Problem 8 Wiring congestion is a key metric to predict routability & performance of a design – A good timing result is useful only if routing can be completed – Congestion increases delay uncertainty – Congestion deteriorate signal integrity 8 Congestion optimization must be performed early in design cycles – Synthesis adds many new gates to the design increasing cell density and wiring demand – Timing-driven placement has to keep critical gates closer – Users would like to close timing in same or smaller floorplans 8 Requires a fast and accurate estimator ISPD2000. SK 2
Physical Synthesis Flow RTL, Constraints Floorplan Resource sharing/allocation T I P M Implementation L I selection A N Congestion C G Logic structuring estimation and E M S optimization E Y N S Technology mapping T T E M Gate-level optimization Optimized netlist ISPD2000. SK 3 Placement
Summary of Our Contributions 8 Proposed a probabilistic based congestion estimator 8 Based on supply and demand analysis of routing resources 8 Independent of implementation details of downstream routing algorithms 8 Blockage aware 8 Fast and yet accurate 8 Congestion optimization based on this algorithm demonstrates its effectiveness ISPD2000. SK 4
Congestion Analysis 8 Divide the core area of the design into congestion grids 8 Analyze the supply and demand for routing resources in each congestion grid one grid ISPD2000. 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 layer ( ) h N × ∑ = 1 _ horizontal capacity H h L i = i 1 v N ∑ 1 = × vertical _ capacity W v L = i i 1 ISPD2000. SK 6
Routing Demand of a Grid 8 Empirical model – Design dependent – Hard to correlate to the real congestion 8 Global router – Slow – Introduce problems for 3rd party routers 8 Probabilistic analysis – Fast – Router independent ISPD2000. SK 7
An Example Estimate a 2-pin nets covering a 3 × 3 mesh 6 Total number of possible routes: 6 5 4 Horizontal usage = 0.5 + 0.5 + 1.0 = 2.0 3 Vertical usage = 1.0 + 1.0 = 2.0 2 ( ) ( ) ( ) 1 1 2 2 3 3 1 ( ) ( ) ( ) × 1 2 2 2 2 2 2 6 ( ) ( ) ( ) 3 3 2 2 1 1 ISPD2000. SK 8
Number of Possible Routes For a 2-pin net covering a m × n mesh, denote the number of possible routes as F ( m , n ) : ( ) ( ) ( ) = − + − F m n , F m 1, n F m n , 1 F ( m -1, n ) ( ) ( ) = F m n , F n m , = 1 n 1 = m n 2 ( ) = , F m n i i m − ∑ ∑ ∑ n 2 2 ≥ � i n 3 1 = = = i 1 i 1 i 1 − − n 2 n 3 1 F ( 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
Probabilistic Usage Matrix ( ) ( ) ( ) ( ) ( ) ( ) � P m ,1 P m ,1 P m n , P m n , x y x y ( ) = � � � P m n , ( ) ( ) ( ) ( ) ( ) ( ) � P 1,1 P 1,1 P 1, n P 1, n x y x y ( ) ( ) = − + − + P i j , P m i 1, n j 1 x y x y n ∑ ( ) = ∀ P i j , 1 i y = j 1 m ∑ ( ) = ∀ P i j , 1 j x = i 1 ISPD2000. SK 11
Computing the Probabilities ( ) − = = F m n , 1 case : a i 1, j 1 = = 1 case : b i 1, j n ( ) − + − < < = F m i 1, n 1 case : c 1 i m j , 1 1 ( ) = × ( ) ( ) P i j , − + + − ( ) F m n , j 1 F m n , j x = < < F m n , case : d i 1, 1 j n 2 ( ) ( ) ( ) ( ) − + − + − − + − + F i j F m , i 1, n j F i j , 1 F m i 1, n j 1 2 ( ) − = = F m 1, n case : a i 1, j 1 = = 1 case : b i 1, j n ( ) ( ) − + + − F m i 1, n F m i n , < < = 1 ( ) case : 1 c i m j , 1 = × P i j , ( ) 2 y F m n , ( ) − − + = < < F m 1, n j 1 case : d i 1, 1 j n ( ) ( ) ( ) ( ) − − + + − − + − + F i j F m , i n , j 1 F i 1, j F m i 1, n j 1 2 ISPD2000. SK 12
Off-grid Pins d x2 d y2 W H d y1 d x1 ISPD2000. SK 13
Horizontal Usage with Off-grid Pins ( ) d − × = = F m n , 1 x 1 case : a i 1, j 1 W ( ) d − × = = � F m n , 1 case : a i m j , n x 2 W d = = case : b i 1, j n x 2 W d � = = case : b i m j , 1 x 1 W ( ) d − + − × < = F m i 1, n 1 case : 1< c i m j , 1 1 x 1 ( ) = × W P i j , ( ) x F m n , ( ) d − × < = � F i n , 1 case : 1< c i m j , n x 2 W ( ) ( ) − + + − F m n , j 1 F m n , j = < < cas e : d i 1,1 j n 2 ( ) ( ) + − F m j , F m j , 1 case : � = < < d i m ,1 j n 2 ( ) ( ) ( ) ( ) − + − + − − + − + F i j F m , i 1, n j F i j , 1 F m i 1, n j 1 2 ISPD2000. SK 14
Vertical Usage with Off-grid Pins d ( ) − × = = y 1 F m 1, n case : a i 1, j 1 H d ( ) − × = = � y 2 F m 1, n case : a i m j , n H d = = y 1 case : b i 1, j n H d � = = y 2 case : , 1 b i m j H ( ) ( ) − + + − F m i 1, n F m i n , 1 < = ( ) = × case : 1< c i m j , 1 , P i j ( ) 2 y , F m n ( ) ( ) + − F i n , F i 1, n < = � case : 1< , c i m j n 2 d ( ) − − + × = < < y 1 1, 1 case : 1,1 F m n j d i j n H d ( ) � − × = < < y 2 F m 1, j case : d i m ,1 j n H ( ) ( ) ( ) ( ) − − + + − − + − + F i j F m , i n , j 1 F i 1, j F m i 1, n j 1 2 ISPD2000. SK 15
Track Usages for a 5 × 5 Mesh 8 Darker color represents higher probability of usages ISPD2000. SK 16
Multi-pin Nets 8 MST based algorithm in early stages 8 RST based algorithm in later stages ISPD2000. SK 17
Simple Routing Blockages Distribute the usage of a blocked grid to its neighboring grids based on the distance d and number of unblocked neighbors n : w = 2 - d × n ISPD2000. SK 18
Line Blockages original bounding box original bounding box extended bounding box extended bounding box • Extend the bounding box of the net ISPD2000. SK 19
Adjacent Blockages • Find the bounding box of the blockages ISPD2000. 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 time Design1 316K 332K 70s Design2 347K 374K 110s ISPD2000. SK 22
Testcase I: Congestion Correlation Estimated congestion Post-route congestion ISPD2000. SK 23
Testcase II: Congestion Correlation Post-route congestion Estimated congestion ISPD2000. SK 24
Testcase I: Congestion Removal Congestion without Congestion with optimization optimization ISPD2000. SK 25
Testcase II: Congestion Removal Congestion without Congestion with optimization optimization ISPD2000. SK 26
Conclusion 8 Timing closure for complex designs requires fast and accurate congestion estimators 8 Probabilistic congestion estimation is a key technology in physical synthesis 8 Congestion optimization based on this algorithm demonstrates its effectiveness ISPD2000. SK 27
Recommend
More recommend