A 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 ISPD, 03/31/2014 Outline Introduction Unroutable Region Recognition Window-based Layout Scanning Window Dimension Determination Lower Bound of Total Overflow Identification Experimental Results Conclusions ISPD, 03/31/2014 2 Motivation Routing is difficult and time-consuming Placement Routing hours days Routability estimation is critical This placement is routable or not? ISPD, 03/31/2014 3 Motivation 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 ISPD, 03/31/2014 4 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 ISPD, 03/31/2014 5 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 3D graph 2 P1 0 P2 3 2D graph P3 2D routing result P3 P1 Graph Compaction 5 P2 ISPD, 03/31/2014 P3 P1 Global Routing P2 6 Outline Introduction Unroutable Region Recognition Window-based Layout Scanning Window Dimension Determination Lower Bound of Total Overflow Identification Experimental Results Conclusions ISPD, 03/31/2014 7 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 happen ISPD, 03/31/2014 Outgoing net Intra net bridge edge 8 Window-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 W=3 R6 R7 R8 H=3 R4 R2 R9 ISPD, 03/31/2014 9 Sliding Window Scanning • Use a sliding window to scan the entire layout …. • Explore every possible rectangular region at the bottomleft corner in the sliding window ISPD, 03/31/2014 10 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 R3 R1 R2 Intra net ISPD, 03/31/2014 11 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 ISPD, 03/31/2014 12 Outline Introduction Unroutable Region Recognition Window-based Layout Scanning Window Dimension Determination Lower Bound of Total Overflow Identification Experimental Results Conclusions ISPD, 03/31/2014 13 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 ≦ Amax • Region sampling, and then dimension selection Unroutable regions Sliding windows whose areas are not larger than 9 2 3 4 4 3 2 ISPD, 03/31/2014 Best Dimension 14 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 0.3 0.9 1.2 ISPD, 03/31/2014 0.8 15 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 ≦ Amax • We present a dynamic programming algorithm to solve this problem Amax <= 30 Our Algorithm 6 5 ISPD, 03/31/2014 16 Outline Introduction Unroutable Region Recognition Window-based Layout Scanning Window Dimension Determination Lower Bound of Total Overflow (LBTO) Identification Experimental Results Conclusions ISPD, 03/31/2014 17 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 R3 R4 R2 R5 ISPD, 03/31/2014 18 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 v1 v 3 v2 v4 v8 ISPD, 03/31/2014 v5 v7 v6 v9 19 Outline Introduction Unroutable Region Recognition Window-based Layout Scanning Window Dimension Determination Lower Bound of Total Overflow Identification Experimental Results Conclusions ISPD, 03/31/2014 20 Unroutable 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 Win’s W x H 5x5 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 ISPD, 03/31/2014 21 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’s WxH 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 6.5 x 104 3.7 x 104 14.8 x 104 14.6 x 104 11.9 x 104 ISPD, 03/31/2014 22 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 with small total overflow gap The placements with large total overflow gap ISPD, 03/31/2014 23 Outline Introduction Unroutable Region Recognition Window-based Layout Scanning Window Dimension Determination Lower Bound of Total Overflow Identification Experimental Results Conclusions ISPD, 03/31/2014 24 Conclusions 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 ISPD, 03/31/2014 25 ISPD, 03/31/2014 26 Solving MWIS Problem • We adopt a heuristic algorithm to solve MWIS problem • Sort nodes based on the following scoring function in a nonincreasing order s (vi ) w (vi ) ( v i , v j ) CG w (v j ) (α is set to 0.1 ) • 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 ISPD, 03/31/2014 27