Title: A Study on Unroutable Placement Recognition
1A Study on Unroutable Placement Recognition
- ISPD 2014
- Wen-Hao Liu1,2, Tzu-Kai Chien2,and Ting-Chi
Wang2 - 1Cadence Design Systems
- 2National Tsing Hua University, Taiwan
2Outline
- Introduction
- Unroutable Region Recognition
- Window-based Layout Scanning
- Window Dimension Determination
- Lower Bound of Total Overflow Identification
- Experimental Results
- Conclusions
2
3Motivation
- Routing is difficult and time-consuming
hours
days
- Routability estimation is critical
This placement is routable or not?
4Motivation
- 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
Get an feasible routing result
Impossible
4
5Objective
- 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
6Global 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
7Outline
- Introduction
- Unroutable Region Recognition
- Window-based Layout Scanning
- Window Dimension Determination
- Lower Bound of Total Overflow Identification
- Experimental Results
- Conclusions
7
8Unroutable 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)gtc(R), R is unroutable because overflow
must happen
Outgoing net
Intra net
bridge edge
8
9Window-based Layout Scanning
- 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
R1
R5
R3
R6
R7
W 3 H 3
R8
R4
R2
R9
9
10Sliding 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
11Fast Unroutable Region Determination
- If S(R)gtc(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
R1
R2
R3
Intra net
11
12Building 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
13Outline
- Introduction
- Unroutable Region Recognition
- Window-based Layout Scanning
- Window Dimension Determination
- Lower Bound of Total Overflow Identification
- Experimental Results
- Conclusions
13
14Window 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 ? Amax - Region sampling, and then dimension selection
Unroutable regions
Sliding windows whose areas are not larger than 9
2
3
4
4
3
Best Dimension
2
14
15Region 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
15
16Width and Height Selection
- The goal of the next stage is to decide the
windows dimension such that the total weight of
the sampling regions covered by the sliding
window is maximized and w x h ? Amax - We present a dynamic programming algorithm to
solve this problem
Amax lt 30
OurAlgorithm
6
5
16
17Outline
- Introduction
- Unroutable Region Recognition
- Window-based Layout Scanning
- Window Dimension Determination
- Lower Bound of Total Overflow (LBTO)
Identification - Experimental Results
- Conclusions
17
18LBTO 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
R3
R4
R2
18
19LBTO 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
v1
v3
v2
v7
v5
v4
v9
v6
v8
19
20Outline
- Introduction
- Unroutable Region Recognition
- Window-based Layout Scanning
- Window Dimension Determination
- Lower Bound of Total Overflow Identification
- Experimental Results
- Conclusions
20
21Unroutable Placement Recognition
- 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
Wins 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
21
22Window 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
WindowsW 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
23LBTO 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 withlarge total overflow gap
23
24Outline
- Introduction
- Unroutable Region Recognition
- Window-based Layout Scanning
- Window Dimension Determination
- Lower Bound of Total Overflow Identification
- Experimental Results
- Conclusions
24
25Conclusions
- 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 window - Region sampling
- Window dimension selection
- This work uses a maximum-weight independent set
algorithm to identify the lower bound of total
overflow for unroutable layouts
25
26(No Transcript)
27Solving 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
(a is set to 0.1 )
27