270 likes | 396 Views
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
E N D
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
Outline 2 • Introduction • Unroutable Region Recognition • Window-based Layout Scanning • Window Dimension Determination • Lower Bound of Total Overflow Identification • Experimental Results • Conclusions
Motivation • Routing is difficult and time-consuming Placement Routing hours days • Routability estimation is critical This placement is routable or not?
Motivation Get an feasible routing result Impossible 4 • 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
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
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 P3 P3 3D graph 2D graph 2D routing result P2 P3 2 P2 P1 P1 0 5 3 P2 P1 Graph Compaction GlobalRouting
Outline 7 • Introduction • Unroutable Region Recognition • Window-based Layout Scanning • Window Dimension Determination • Lower Bound of Total Overflow Identification • Experimental Results • Conclusions
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 Outgoing net Intra net bridge edge 8
Window-based Layout Scanning R1 R5 R3 R6 R7 W = 3 H = 3 R8 R4 R2 R9 9 • 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
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
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 R1 R2 R3 Intra net 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 12
Outline 13 • Introduction • Unroutable Region Recognition • Window-based Layout Scanning • Window Dimension Determination • Lower Bound of Total Overflow Identification • Experimental Results • Conclusions
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 Best Dimension 2 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.9 1.2 0.8 0.3 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 OurAlgorithm 6 5 16
Outline 17 • Introduction • Unroutable Region Recognition • Window-based Layout Scanning • Window Dimension Determination • Lower Bound of Total Overflow (LBTO) Identification • Experimental Results • Conclusions
LBTO Identification The intrinsic overflow of unroutable regionR 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 R5 R1 R3 R4 R2 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 v3 v2 v7 v5 v4 v9 v6 v8 19
Outline 20 • Introduction • Unroutable Region Recognition • Window-based Layout Scanning • Window Dimension Determination • Lower Bound of Total Overflow Identification • Experimental Results • Conclusions
Unroutable Placement Recognition *running with 16 threads on 2.4GHz Intel Xeon-based Linux server with 96GB memory 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
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 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 withsmall total overflow gap The placements withlarge total overflow gap 23
Outline 24 • Introduction • Unroutable Region Recognition • Window-based Layout Scanning • Window Dimension Determination • Lower Bound of Total Overflow Identification • Experimental Results • Conclusions
Conclusions 25 • 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
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 (α is set to 0.1 ) 27