Download presentation
Presentation is loading. Please wait.
Published byLydia Haw Modified over 9 years ago
1
Optimization of Placement Solutions for Routability Wen-Hao Liu, Cheng-Kok Koh, and Yih-Lang Li DAC’13
2
OUTLINE INTRODUCTION PROBLEM DESCRIPTION PROPOSED ROUTABLITY OPTIMIZER EXPERIMENTAL RESULTS CONCLUSIONS
3
INTRODUCTION Routability is of primary concern in nanometer-scale design. Some placers[1-3] adopt probabilistic methods to estimate the routing congestion. – low estimation accuracy
4
INTRODUCTION Placers in [4-7] invoke global routers to obtain a routing congestion map, and then move cells to reduce the congestion based on the map.
5
INTRODUCTION Global routers [8-13] ignore the local congestion. – may produce hard-to-route placement Simultaneously consider global and local congestions. [15] – took local pin density into account during global routing
6
INTRODUCTION This work has following contributions: – account for both global and local congestion levels simultaneously – minimizing the routing cost of nets – local detailed placement further minimizes the local congestion and wirelength without increasing global congestion – uses commercial router Wroute [23]
7
PROBLEM DESCRIPTION Used ISPD11 and DAC12 benchmark circuits [17, 18]. Re-place cells to improve routability. The cells are aligned with the rows and that there are no overlaps.
8
PROPOSED ROUTABLITY OPTIMIZER
9
Local-Routability-Aware Global Routing Model – 3D grid graph into a 2D grid graph – c(e) is number of routing tracks – d(e) is the number of global routing path passing through e – Tl(b1, b2) is the number of routing tracks at layer l between b1 and b2, – BTl(b1, b2) is the number of routing tracks blocked at layer l between b1 and b2
10
PROPOSED ROUTABLITY OPTIMIZER – the vias in b1 and b2 increase as the number of blocked tracks between b1 and b2 increases – the number of blocked tracks increases, the edge capacity decreases more than linearly
11
PROPOSED ROUTABLITY OPTIMIZER – the pin densities in b1 and b2 also affect the routability between b1 and b2[15] – p(b1) denote the number of pins in b1 – Al(b1) denote the areas which are not covered by macros in b1 at layer l
12
PROPOSED ROUTABLITY OPTIMIZER Routing-cost-driven Global Re-Placement – formulate such a routing cost minimization problem – Finding Optimal Placement Bin (FOPB)
13
PROPOSED ROUTABLITY OPTIMIZER – R is the set of candidate bins for placing c i – N(ci) denotes the set of two-pin nets connecting to ci – n(pi, pj) represents a two-pin net whose terminals are pins pi and pj – b(pj) denotes the bin containing pj – r(bm, b(pj)) represents the least-cost global routing path from bm to b(pj) – routC(e) denotes the routing cost of e.
14
PROPOSED ROUTABLITY OPTIMIZER – p(bm, ci) denotes the cost of placing ci in bm – desC(bm) denotes the penalty because of the bin density of bm – mr(bm, b(pj)) denotes the least-cost monotonic routing path from bm to b(pj)
15
PROPOSED ROUTABLITY OPTIMIZER – h(bm) is the history cost of bm; it has an initial cost of 1 and it increases by 1 when the placement of a cell in bm causes bin overflow.
16
PROPOSED ROUTABLITY OPTIMIZER
17
Legalization with Global Routing Preserved – legalizer is similar to Abacus [19] – cell is sorted in increasing ordering according to its x-coordinate – each cell ci, legalizer tentatively moves ci to its neighboring rows rk and calculates the cost of moving ci to rk – ci is moved to the best row with the lowest cost
18
PROPOSED ROUTABLITY OPTIMIZER – ci is placed into bin bm in the global re-placement stage – mc(ci,bm, rk) denotes the cost of moving ci to row rk – ao(ci, bm, rk) denotes the area of ci out of bm when ci is moved to rk
19
PROPOSED ROUTABLITY OPTIMIZER – P(ci) denotes the set of pins belonged to ci – b(pk) denotes the bin containing p when ci is moved to rk – d(bm, b(pk)) denotes the index distance between b(pk) and bm – m(ci, rk) is the displacement of ci when ci is moved to rk – cu(rk) is the capacity utilization of rk which is between zero and one
20
PROPOSED ROUTABLITY OPTIMIZER Local Detailed Placement
21
EXPERIMENTAL RESULTS C/C++ on a quadcore 2.4 GHz Xeon-based linux server with a 50GB memory The placement solutions of NTUplace Global Routability: NCTU-GR 2.0 Effective Routability: Wroute Used ISPD11 and DAC12 benchmark circuits [17, 18]
22
EXPERIMENTAL RESULTS
27
CONCLUSIONS Ropt takes a placement solution and then optimizes its routability for both global routing and detailed routing Ropt can improve routing congestion, wirelength and runtime of a given placement
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.