fast and lossless graph division method for layout decomposition using spqr-tree

18
ICCAD 2010 Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree Wai-Shing Luk (speaker), Fudan University Email: [email protected] Huiping Huang, Cadence Design Systems, Inc. Email: [email protected]

Upload: danny-luk

Post on 20-Jun-2015

659 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

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]

Page 2: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

ICCAD 2010

Outline

Motivation: double patterning lithography Color assignment problem formulation Biconnected and triconnected components SPQR-tree Divide-and-conquer method Experimental results Summary

Page 3: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

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.

Page 4: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

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.

Page 5: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

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.

Page 6: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

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.

Page 7: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

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?

Page 8: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

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.

Page 9: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

ICCAD 2010

Triconnected Component

virtual edgeskeleton

Page 10: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

ICCAD 2010

SPQR-Tree

Remarkable result: A biconnected graph can be divided into its triconnected components

(skeletons) in linear time with SPQR-tree

skeleton

Page 11: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

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.

Page 12: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

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.

Page 13: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

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.

Page 14: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

ICCAD 2010

45nm SDFFRS_X2 Layer 9, 11

Page 15: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

ICCAD 2010

fft_all.gds, 320K polygons

Page 16: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

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%

Page 17: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

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

Page 18: Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree

ICCAD 2010

Q & A