Upload
danny-luk
View
659
Download
0
Tags:
Embed Size (px)
Citation preview
ICCAD 2010
Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree
Wai-Shing Luk (speaker), Fudan UniversityEmail: [email protected]
Huiping Huang, Cadence Design Systems, Inc.Email: [email protected]
ICCAD 2010
Outline
Motivation: double patterning lithography Color assignment problem formulation Biconnected and triconnected components SPQR-tree Divide-and-conquer method Experimental results Summary
ICCAD 2010
Motivation: Double Patterning
Instead of exposing the photoresist layer once under one mask, DPL exposes it twice by splitting the mask into two parts, each with features half as dense.
ICCAD 2010
Conflict Graph Construction
Blue edge: positive weight (different mask preferred)Green edge: negative weight, (same mask preferred)
To solve this layout splitting problem, we first construct a conflict graph from the layout.
ICCAD 2010
Color Assignment Problem
INSTANCE: Graph G = (V,E) and a weight function w : E Z
SOLUTION: Disjoint vertex subsets V0 and V1 where V = V0 ∪ V1
MINIMIZE: the total sum of weights of edges whose end vertices are in same color.
Note: this problem is NP-hard in general. To reduce the problem size, some graph division
methods have been proposed. For example, one easy way is to divide the graph into its biconnected components.
ICCAD 2010
Biconnected Graph
A vertex is called a cut-vertex of a graph if removing it will disconnect the graph.
For example figure below, a and b are cut-vertices. If no cut-vertex can be found in a graph G, then G is
called a biconnected graph.
ICCAD 2010
Graph Division
It is wise to divide the conflict graph into its biconnected components first, because: The division can be done quickly in linear time. It significantly reduces the run time as observed. Each component can be solved independently
without degrading any QoR (“lossless”).
Question: Is it even better to divide the biconnected components further?
ICCAD 2010
Triconnected Graph
A pair of vertices is called a separation pair of a bi-connected graph G if removing it will disconnect G.
Eg below, {a,b}, {c,d}, {c,e}, {c,f} are separation pairs. If no separation pair can be found in a graph G, then
G is called a triconnected graph.
ICCAD 2010
Triconnected Component
virtual edgeskeleton
ICCAD 2010
SPQR-Tree
Remarkable result: A biconnected graph can be divided into its triconnected components
(skeletons) in linear time with SPQR-tree
skeleton
ICCAD 2010
Four Types of Skeletons
A skeleton is classified into four types: Series (S): the skeleton is a cycle graph Parallel (P): the skeleton contains only 2 vertices
and k parallel edges between them where k ≥ 3. Trivial (Q): the skeleton contains only 2 vertices,
and only two parallel edges between them Rigid (R): the skeleton is a triconnected graph
other than the above types.
ICCAD 2010
Divide-and-Conquer Method
Three essential steps: Divide a conflict graph into its triconnected
components. Solve each tri-connected components in a
bottom-up fashion. Merge the solutions into a complete one in a top-
down fashion.
ICCAD 2010
Bottom-up Conquering
We calculate two possible solutions for each components, namely {s, t} in same color and {s, t} in opposite colors.
Defer the decision of selecting which solution until the top-down stage, and simply assign the difference of the cost of two solutions as a weight to the corresponding virtual edge in its parent skeleton.
ICCAD 2010
45nm SDFFRS_X2 Layer 9, 11
ICCAD 2010
fft_all.gds, 320K polygons
ICCAD 2010
Experimental Results
#polys #nodes/#edges CPU (s) w /spqr
CPU (s) w/o spqr
Time reduced
Cost reduced
3631 31371/52061 13.29 38.25 65.3% 4.58%
9628 83733/138738 199.94 2706.12 92.6% 2.19%
18360 159691/265370 400.43 4635.14 91.4% 1.18%
31261 284957/477273 1914.54 9964.18 80.7% 1.61%
49833 438868/738759 3397.26 15300.9 77.8% 1.76%
75620 627423/1057794 3686.07 17643.9 79.1% 2.50%
ICCAD 2010
Summary
A biconnected graph can be divided into its triconnected components in linear time with SPQR-tree.
We have derived a method that combines the solutions of triconnected components in linear time without any quality lost.
Our method does not contain any tuning parameters so that it is flexible enough to be integrated into any layout decomposition framework.
Experimental results show that our method can achieve on average 5X speedup
ICCAD 2010
Q & A