Estimating Routing Congestion using Probabilistic Analysis Shankar - - PowerPoint PPT Presentation

estimating routing congestion using probabilistic analysis
SMART_READER_LITE
LIVE PREVIEW

Estimating Routing Congestion using Probabilistic Analysis Shankar - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

ISPD2001

Estimating Routing Congestion using Probabilistic Analysis

Jinan Lou Henry S. Sheng Shankar Krishnamoorthy Synopsys Inc. {jlou, shankar, hsheng}@synopsys.com

slide-2
SLIDE 2
  • ISPD2000. SK 2

Congestion Problem

8Wiring 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

8Congestion 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

8Requires a fast and accurate estimator

slide-3
SLIDE 3
  • ISPD2000. SK 3

Physical Synthesis Flow

RTL, Constraints

T I M I N G S Y S T E M

Resource sharing/allocation Implementation selection Logic structuring Technology mapping Gate-level optimization Optimized netlist Floorplan Placement

P L A C E M E N T

Congestion estimation and

  • ptimization
slide-4
SLIDE 4
  • ISPD2000. SK 4

Summary of Our Contributions

8Proposed a probabilistic based congestion

estimator

8Based on supply and demand analysis of

routing resources

8Independent of implementation details of

downstream routing algorithms

8Blockage aware 8Fast and yet accurate 8Congestion optimization based on this

algorithm demonstrates its effectiveness

slide-5
SLIDE 5
  • ISPD2000. SK 5

Congestion Analysis

  • ne grid

8Divide the core area of the design into

congestion grids

8Analyze the supply and demand for

routing resources in each congestion grid

slide-6
SLIDE 6
  • ISPD2000. SK 6

Routing Supply of a Grid ( )

1

1

=

= ×∑ _

h

N h i i

horizontal capacity H L

1

1

=

  = ×    

_

v

N v i i

vertical capacity W L

  • Nh : number of horizontal routing layers
  • Nv : number of vertical routing layers
  • Lhi : minimum pitch for the ith horizontal layer
  • Lvi : minimum pitch for the ith vertical layer
slide-7
SLIDE 7
  • ISPD2000. SK 7

Routing Demand of a Grid

8Empirical model

– Design dependent – Hard to correlate to the real congestion

8Global router

– Slow – Introduce problems for 3rd party routers

8Probabilistic analysis

– Fast – Router independent

slide-8
SLIDE 8
  • ISPD2000. SK 8

An Example

1 2 3 4 5 6

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

1 1 2 2 3 3 1 2 2 2 2 2 2 6 3 3 2 2 1 1     ×      

Total number of possible routes: 6 Horizontal usage = 0.5 + 0.5 + 1.0 = 2.0 Vertical usage = 1.0 + 1.0 = 2.0

Estimate a 2-pin nets covering a 3×3 mesh

slide-9
SLIDE 9
  • ISPD2000. SK 9

Number of Possible Routes

( ) ( ) ( )

, 1, , 1 F m n F m n F m n = − + −

( ) ( )

, , F m n F n m =

( )

2 2 2 3 1

1 1 1 1

1 1 2 , 3

n n n

i i m i i i

n m n F m n i n

− − −

= = =

=   =  =   ≥   ∑ ∑

  • For a 2-pin net covering a m×n mesh,

denote the number of possible routes as F(m, n) :

F(m-1, n) F(m, n-1)

slide-10
SLIDE 10
  • ISPD2000. SK 10

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                                

slide-11
SLIDE 11
  • ISPD2000. SK 11

Probabilistic Usage Matrix

( ) ( )

, 1, 1

x y x y

P i j P m i n j = − + − +

( )

1

, 1

n y j

P i j i

=

= ∀

( )

1

, 1

m x i

P i j j

=

= ∀

( ) ( ) ( )

( )

( ) ( )

( )

( ) ( )

( )

( ) ( )

( )

,1 ,1 , , , 1,1 1,1 1, 1,

x y x y x y x y

P m P m P m n P m n P m n P P P n P n     =        

slide-12
SLIDE 12
  • ISPD2000. SK 12

Computing the Probabilities

( ) ( ) ( ) ( )

, 1 case : 1, 1 1 case : 1, 1, 1 case : 1 , ,

x

F m n a i j b i j n F m i n c P i j F m n − = = = = − + − = ×

( ) ( ) ( ) ( ) ( ) ( )

1 , 1 , 1 , case : 1, 1 2 , 1, , 1 1, 1 2 i m j F m n j F m n j d i j n F i j F m i n j F i j F m i n j     < < =   − + + − = < <    − + − + − − + − +  

( ) ( ) ( ) ( ) ( )

1, case : 1, 1 1 case : 1, 1, , 1 case : 1 , 1 , 2 ,

y

F m n a i j b i j n F m i n F m i n c i m j P i j F m n F m − = = = = − + + − < < = = ×

( ) ( ) ( ) ( ) ( )

1, 1 case : 1, 1 , , 1 1, 1, 1 2 n j d i j n F i j F m i n j F i j F m i n j        − − + = < <   − − + + − − + − +  

slide-13
SLIDE 13
  • ISPD2000. SK 13

Off-grid Pins

dy1 dy2 dx1 dx2

W H

slide-14
SLIDE 14
  • ISPD2000. SK 14

Horizontal Usage with Off-grid Pins

( ) ( ) ( ) ( )

1 2 2 1

, 1 case : 1, 1 , 1 case : , case : 1, 1 , ,

x x x x x

d F m n a i j W d F m n a i m j n W d b i j n W d W P i j F m n − × = = − × = = = = = ×

  • (

) ( ) ( ) ( )

1 2

case : , 1 1, 1 case : 1< , 1 , 1 case : 1< , , 1 , cas 2

x x

b i m j d F m i n c i m j W d F i n c i m j n W F m n j F m n j = = − + − × < = − × < = − + + −

  • (

) ( ) ( ) ( ) ( ) ( )

e : 1,1 , , 1 case : ,1 2 , 1, , 1 1, 1 2 d i j n F m j F m j d i m j n F i j F m i n j F i j F m i n j                  = < <   + −  = < <   − + − + − − + − +   

slide-15
SLIDE 15
  • ISPD2000. SK 15

Vertical Usage with Off-grid Pins

( ) ( ) ( ) ( )

1 2 1

1, case : 1, 1 1, case : , case : 1, 1 , ,

y y y y

d F m n a i j H d F m n a i m j n H d b i j n H P i j F m n − × = = − × = = = = = ×

  • (

) ( ) ( ) ( ) ( )

2 1

case : , 1 1, , case : 1< , 1 2 , 1, case : 1< , 2 1, 1

y y

d b i m j H F m i n F m i n c i m j F i n F i n c i m j n d F m n j H = = − + + − < = + − < = − − + ×

  • (

) ( ) ( ) ( ) ( )

2

case : 1,1 1, case : ,1 , , 1 1, 1, 1 2

y

d i j n d F m j d i m j n H F i j F m i n j F i j F m i n j                   = < <   − × = < <   − − + + − − + − +   

slide-16
SLIDE 16
  • ISPD2000. SK 16

Track Usages for a 5×5 Mesh

8 Darker color represents higher

probability of usages

slide-17
SLIDE 17
  • ISPD2000. SK 17

Multi-pin Nets

8 MST based algorithm in early stages 8 RST based algorithm in later stages

slide-18
SLIDE 18
  • ISPD2000. SK 18

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

slide-19
SLIDE 19
  • ISPD2000. SK 19

Line Blockages

  • Extend the bounding box of the net
  • riginal bounding box

extended bounding box

  • riginal bounding box

extended bounding box

slide-20
SLIDE 20
  • ISPD2000. SK 20

Adjacent Blockages

  • Find the bounding box of the blockages
slide-21
SLIDE 21
  • ISPD2000. SK 21

Complex Blockages

  • Maze router needed
  • How often do you see this?
slide-22
SLIDE 22
  • ISPD2000. SK 22

Runtime for two Testcases

# of instances # of nets CPU time Design1 316K 332K 70s Design2 347K 374K 110s

slide-23
SLIDE 23
  • ISPD2000. SK 23

Testcase I: Congestion Correlation

Estimated congestion Post-route congestion

slide-24
SLIDE 24
  • ISPD2000. SK 24

Testcase II: Congestion Correlation

Estimated congestion Post-route congestion

slide-25
SLIDE 25
  • ISPD2000. SK 25

Testcase I: Congestion Removal

Congestion without

  • ptimization

Congestion with

  • ptimization
slide-26
SLIDE 26
  • ISPD2000. SK 26

Testcase II: Congestion Removal

Congestion without

  • ptimization

Congestion with

  • ptimization
slide-27
SLIDE 27
  • ISPD2000. SK 27

Conclusion

8Timing 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