27
ISPD, 03/31/2014 A Study on Unroutable Placement Recognition ISPD 2014 Wen-Hao Liu 1,2 , Tzu-Kai Chien 2 , and Ting-Chi Wang 2 1 Cadence Design Systems 2 National Tsing Hua University, Taiwan

A Study on Unroutable Placement Recognition

Embed Size (px)

DESCRIPTION

A Study on Unroutable Placement Recognition. ISPD 2014 Wen-Hao Liu 1,2 , Tzu-Kai Chien 2 , and Ting-Chi Wang 2 1 Cadence Design Systems 2 National Tsing Hua University, Taiwan. Outline. 2. Introduction Unroutable Region Recognition Window-based Layout Scanning - PowerPoint PPT Presentation

Citation preview

Page 1: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

A Study on Unroutable Placement Recognition

ISPD 2014

Wen-Hao Liu1,2, Tzu-Kai Chien2,and Ting-Chi Wang2

1Cadence Design Systems2National Tsing Hua University, Taiwan

Page 2: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Introduction

Unroutable Region RecognitionWindow-based Layout Scanning

Window Dimension Determination

Lower Bound of Total Overflow Identification

Experimental Results

Conclusions

Outline

2

Page 3: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Routing is difficult and time-consuming

Motivation

3

Placement Routing

hours days

Routability estimation is criticalThis placement is routable or not?

Page 4: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Motivation

4

ImpossibleImpossible

Get an feasible routing resultGet an feasible routing result

If we can know a placement is unroutable earlier, we can

avoid wasting time on routing the design.

Recently, many routability estimation works are published,

but no one can guarantee a design must be unroutable

Page 5: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014 5

Objective

• ISPD11, DAC12, and ICCAD12 placement contests release

many placement results to public domain

• For some hard-to-route placements, no global router has

been able to obtain overflow-free routing results so far

• This work attempts to recognize these placements are

routable or not to global routers

Page 6: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014 6

Global Routing Model

• A placement will be modeled into a 3D grid graph

• The goal of global routing is to identify global

routing paths to connect each pin of each net

• The objective of global routing is to minimize

overflows and wirelength

P1

P2

P3 P3

P2P1

P3

P2P1Global

Routing

Graph

Compaction

3D graph 2D graph 2D routing result

33

00

22

55

Page 7: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Introduction

Unroutable Region RecognitionWindow-based Layout Scanning

Window Dimension Determination

Lower Bound of Total Overflow Identification

Experimental Results

Conclusions

Outline

7

Page 8: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Unroutable Region

• If any unroutable region exist, the placement must

have no overflow-free routing result

• Given a region R

• S(R) – the set of the

outgoing nets of R

• c(R) – total capacity of the

bridge edges of R

• If |S(R)|>c(R), R is

unroutable because

overflow must happenOutgoing net Outgoing net Intra net Intra net

8

bridge edgebridge edge

Page 9: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

We propose a window-based layout scanning algorithm to find out

unroutable regions

This method can find out every region whose dimensions are not

larger than the sliding window

How to decide the window dimension is critical

Window-based Layout Scanning

9

R2

R1

R9

R8

R4

R5

R6 R7R3W = 3

H = 3

W = 3

H = 3

Page 10: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Sliding Window Scanning

• Use a sliding window to scan the entire layout

• Explore every possible rectangular region at the bottom-

left corner in the sliding window

….….

10

Page 11: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Fast Unroutable Region Determination

• If |S(R)|>c(R), we can recognize that R is

unroutable. However, how to obtain |S(R)| and c(R)

faster is an issue

• A lookup table is built so that querying c(R) can be

done in a constant time

• S(R3) = S(R1) S(∪ R2)−I(R3), where R3 comprises R1

and R2, I(R3) is the set of intra nets in R3

R1R1 R2R2

R3R3 Intra netIntra net

11

Page 12: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Building S(R)

• We explore each rectangular region in a particular order

• When a region is processed, its sub-regions are

processed already

• Thus, the outgoing net set of a region can be obtained by

merging the outgoing net set of its sub-regions

12

Page 13: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Introduction

Unroutable Region RecognitionWindow-based Layout Scanning

Window Dimension Determination

Lower Bound of Total Overflow Identification

Experimental Results

Conclusions

Outline

13

Page 14: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Window Dimension Determination

• Different widths and heights of a sliding window will largely

impact the recognition rate of unroutable regions

• We propose a two-stage method to decide a width w and a

height h for the sliding window such that w x h A≦ max

• Region sampling, and then dimension selectionUnroutable regionsUnroutable regions Sliding windows whose areas

are not larger than 9Sliding windows whose areas

are not larger than 9

33

3344

22

2244

Best DimensionBest Dimension

14

Page 15: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Region Sampling

• The goal of this stage is to identify a set of sampling regions with higher weights

• The weight of a region is the ratio of |S(R)| to c(R)

• Sampling process• Select n regions whose size is 1x1 with the highest weights

• Expand each selected region iteratively until any extension would make its area exceed Amax

• Insert the final expanded region and the regions whose weights are larger than 1 into the sampling region set

1.20.9 0.80.3

15

Page 16: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Width and Height Selection

• The goal of the next stage is to decide the window’s dimension such that the total weight of the sampling regions covered by the sliding window is maximized and w x h A≦ max

• We present a dynamic programming algorithm to solve this problem

55

66

Amax <= 30Amax <= 30Our

AlgorithmOur

Algorithm

16

Page 17: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Introduction

Unroutable Region RecognitionWindow-based Layout Scanning

Window Dimension Determination

Lower Bound of Total Overflow (LBTO) Identification

Experimental Results

Conclusions

Outline

17

Page 18: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

LBTO Identification

• The intrinsic overflow of unroutable region R is |S(R)| – c(R)

• If every unroutable region is independent, we can add up

the intrinsic overflow of every region to obtain the LBTO

• If more than one region shares a bridge edge, we only

count the intrinsic overflow of one of the regions

R1

R4

R2

R3

18

R5

Page 19: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

LBTO Identification

• Build a conflict graph, a conflict edge between vi and vj

means that Ri and Rj share at least a bridge edge

• The weight of vi denotes the intrinsic overflow of Ri

• Solve the maximum-weight independent set problem on

the conflict graph to identify LBTO

v1v2

v4

v8v9

v3

v7v5

v6

19

Page 20: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Introduction

Unroutable Region RecognitionWindow-based Layout Scanning

Window Dimension Determination

Lower Bound of Total Overflow Identification

Experimental Results

Conclusions

Outline

20

Page 21: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Unroutable Placement Recognition

21

Select 23 hard-to-route placements from ISPD08 global

routing and ISPD11 placement contests

So far no global router can obtain overflow-free routing

results for these hard-to-route testcases

Win’s W x H 5 x 5 15 x 15 30 x 30 50 x 50 100 x 100

#Uroutable placements

3 11 13 15 16

#Unroutable regions

0.2 x 104 2.5 x 104 11.9 x 104 30.3 x 104 137.1 x 104

Time* (sec) 5.62 90 638 3014 25374

*running with 16 threads on 2.4GHz Intel Xeon-based Linux server with 96GB memory *running with 16 threads on 2.4GHz Intel Xeon-based Linux server with 96GB memory

Page 22: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Window Dimension Determination

• We manually set different widths and heights for the

sliding window such that its area is 900 to see the

difference of recognition rates

• Then, we use the proposed method to automatically

determine the window dimension to compare with the

manual method

Window’sW x H 15 x 60 20 x 45 30 x 30 45 x 20 60 x 15 Auto.

#Uroutable placements

11 12 13 12 11 13

#Unroutable regions

13 x 104 14.6 x 104 11.9 x 104 6.5 x 104 3.7 x 104 14.8 x 104

22

Page 23: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

LBTO Identification

• Use NCTUgr to route unroutable placements to see the

gap between the total overflow identified by NCTUgr and

the lower bound of total overflow (LBTO) identified by this

work

The placements withsmall total overflow gap

The placements withsmall total overflow gap

The placements withlarge total overflow gapThe placements with

large total overflow gap

23

Page 24: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Introduction

Unroutable Region RecognitionWindow-based Layout Scanning

Window Dimension Determination

Lower Bound of Total Overflow Identification

Experimental Results

Conclusions

Outline

24

Page 25: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

We propose a window-based layout scanning algorithm

to recognize unroutable regions

The proposed two-stage method can identify a good

window dimension for the sliding windowRegion sampling

Window dimension selection

This work uses a maximum-weight independent set

algorithm to identify the lower bound of total overflow

for unroutable layouts

Conclusions

25

Page 26: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014 26

Page 27: A Study on Unroutable Placement Recognition

ISPD, 03/31/2014

Solving MWIS Problem

• We adopt a heuristic algorithm to solve MWIS problem

• Sort nodes based on the following scoring function in

a nonincreasing order

• Select each unmarked node one-by-one and mark its

neighbors.

• If a node is marked, it will not be selected.

• If more powerful MWIS algorithm is adopted, tighter

LBTO can be obtained

CGvv jiiji

vwvwvs),(

)()()( (α is set to 0.1 )(α is set to 0.1 )

27