Title: An Efficient TileBased ECO Router with Routing Graph Reduction and Enhanced Global Routing Flow
1An Efficient Tile-Based ECO Router with Routing
Graph Reduction and Enhanced Global Routing Flow
- Jin-Yih Li Yih-Lang Li
-
Computer Information - TSMC
Science Department, -
National Chiao-Tung University (NCTU)
2Outline
Introduction
Introduction New ECO Routing Design
Flow Experimental Results Conclusion
3ECO Routing
- ECO routing is commonly requested toward the end
of the design process to optimize delay and noise
or to complete an imperfect layout. - ECO routing is highly complicated
- many existing interconnections
- different design rules for delay and noise issues
- Most of ECO routing can be solved by p2p routing.
4The Design Flow of Tile-Based Router
- Routing Flow
- Corner-Stitching Tile Plane Construction
- Tile Propagation
- Path Construction
8 tiles
5Tile Propagation
T
C10
C11
C9
C7
C8
C6
C5
C4
C3
S
C1
C2
6Path Construction
- Path Construction
- generates a minimum-corner path that passes
through the list of visited tiles.
7Routing Example
8Routing Example
- Corner Stitching Tile Plane Creation
9Routing Example
10Routing Example
11Challenges for Tile-based ECO Routing
- Tile fragmentation too many slim tiles
- Reducing the no. of tiles can promote router speed
A horizontal-layer tile plane without contour
insertion
A horizontal-layer tile plane after contour
insertion
12Contributions of This Work
- We propose routing graph reduction to reduce tile
fragmentation so that the ECO router can run
twice as fast without sacrificing routing
quality. - We propose a newly enhanced global routing flow
to reduce the runtime of ECO routing by around
89
13Introduction New ECO Routing Design
Flow Experimental Results Conclusions
New ECO Routing Design Flow
14New ECO Routing Design Flow
Build corner-stitching tile planes
Redundant Tiles Removal
Routing Graph Reduction
Neighboring Tiles Alignment
GCell Restructuring
Global Routing
Fail
No Feasible Solution
ExtendedRouting
Tile Propagation
Success
Feasible Solution Found
Enhanced Global Routing Flow
Path Construction
15Redundant Tiles Removal
- Definition conjunct tile. A tile A is referred to
a conjunct tile of a tile B if the tile
propagation from A to B on the same layer or
across adjacent layer is feasible. - Definition 1-conjunct. A space tile is said to be
one-conjunct if it has only one conjunct tile. - Definition 0-conjunct. A space tile is said to be
0-conjunct if it has no conjunct tile.
16Redundant Tiles Removal
- The 1-conjunct space tile is redundant because
those paths that enter a 1-conjunct space tile
have no exit. - The 0-conjunct space tile is redundant because it
can not be reached from any other space tile. - We remove these redundant tiles within an
enumeration over the whole tile plane.
17 Redundant Tiles Removal
T1(1-conjunct)
T2(0-conjunct)
T3(1-conjunct)
( the region that can accommodate new via)
Block Tile
Space Tile
Via region
Block Tile 10 Space Tile 16
18 Redundant Tiles Removal
Block Tile 10 ? 6 Space Tile 16 ? 13
26 ? 19
19Neighboring Tiles Alignment
- We can adjust and align the left and right sides
of two adjacent block tiles to merge them as a
block tile. - Adjusting border is to enlarge block tiles and to
shrink space tiles.
Cut lines
20Neighboring Tiles Alignment
T1
(T1,T2)
T5
T3
T2
(T3,T4)
T4
T6
(T5,T6)
21Four Shrinking Cases
All these four cases are trying to merge block
tiles T2 and T3
Ta
active tile (the tile under process)
(2)
(1)
T1
T2
T2
T1
Ta
Ta
T3
T3
(3)
(4)
Ta
Ta
T2
T2
T1
T3
T3
T1
22Shrinking Rule
T2
T1
T1
Ta
Ta
Stop position
Stop position
Start position
Start position
(a) illegal
(b) illegal
23Shrinking Example
Shrunk tile
T2
Ta
Block Tile 5 Space Tile 11
24Shrinking Example
T2
? 10
Block Tile 5 Space Tile 11 Total 16
25Enhanced Global Routing Flow
Build corner-stitching tile planes
Redundant Tiles Removal
Routing Graph Reduction
Neighbor Tiles Alignment
GCell Restructuring
Global Routing
Fail
No Feasible Solution
ExtendedRouting
Tile Propagation
Success
Feasible Solution Found
Enhanced Global Routing Flow
Path Construction
26Partition Layout into GCell
27Create Global Routing Graph
28Internal Edge of A GCell
A
B
nw
en
nw
en
ew
ew
ns
ns
ws
ws
se
se
C
D
nw
en
nw
en
ew
ew
ns
ns
ws
ws
se
se
29Cost Function
- For each vertex v in G, we define a cost c
- VC VA/A
- VC Via capacity of a GCell
- VA The total via region of a GCell
- A The area of a GCell
- For each edge e in G, we define a length cost lc
2/t.
30Find Minimum-Cost Path
GCell on minimum cost path Active GCell Other
idle GCell
31Idle Path Heap
T1
P1
T3
T2
P2
P1
GCell B (active)
GCell A (idle)
32Blocked GCell
E
A
B
C
D
33Extended Routing
Pop up cells D and Es idle path heaps and
continue tile propagation
E
A
B
C
D
34Successful Extending Routing
35GCell Restructuring
- GCell restructuring is performed if extended
routing fails.
E
nw
en
C
A
B
ew
ns
ws
se
D
C Es idle path heaps are empty, so we
disconnect internal edges nw and ew
36GCell Rescheduling
D
G
F
37GCell Rescheduling
D
G
F
38Introduction New ECO Routing Design
Flow Experimental Results Conclusions
Experimental Results
39Experimental Results
Table 1. Statistics of the design under test
Table 2. The number of tiles on the corner
stitching tile planes
Table 3. The pre-process time before routing
? RGR Routing Graph Reduction
40Experimental Results
Table 4. Routing results with applying Routing
Graph Reduction
?T1 (Ta-Tb)/Ta, T2 (Ta-(TbTrgr))/Ta ?RT
routing time(second), WL wire length(um)
41Experimental Results
Table 5. Routing results with applying Enhanced
Global Routing
? T3 (Ta-Tc)/Ta, W (Wc-Wa)/Wa, V
(Vc-Va)/Va ? ER Extended Routing, GCRS GCell
restructuring and rescheduling
42Introduction New ECO Routing Design
Flow Experimental Results Conclusions
Conclusions
43Conclusions
- We propose a new ECO routing design flow to
promote router speed. - routing graph reduction can reduce tile
fragmentation so that tile propagation speed can
be doubled. - With the enhanced global routing flow, ECO router
can perform much faster at the cost of a small
decline in routing quality.
44THANK YOU VERY MUCH