270 likes | 361 Views
GREMA: Graph Reduction Based Efficient Mask Assignment for Double Patterning Technology. Yue Xu , Chris Chu Iowa State University Form ICCAD2009. Outline. Introduction Problem formulation Candidate Stitch generation Mask assignment Initial Mask assignment Generate of Flipping Graph
E N D
GREMA: Graph Reduction Based Efficient MaskAssignment for Double Patterning Technology Yue Xu , Chris Chu Iowa State University Form ICCAD2009
Outline • Introduction • Problem formulation • Candidate Stitch generation • Mask assignment • Initial Mask assignment • Generate of Flipping Graph • Simplification of Flipping Graph • ILP Formulation for Max Cut Problem • Experimental Results
C D E A mindp B Layout Decomposition Mask 2 Mask 1 Double Patterning Stitch
DPT decomposition methodology • 1. model-based decomposition approach is based on optical simulation => more accurate , but time-consuming • 2. rule-based approach slices and assigns patterns based on geometric relationship between patterns => efficiency
Outline • Introduction • Problem formulation • Candidate Stitch generation • Mask assignment • Initial Mask assignment • Generate of Flipping Graph • Simplification of Flipping Graph • ILP Formulation for Max Cut Problem • Experimental Results
Problem formulation • Given : circuit layout ,the minimum distance btw each patterns. • Objective : minimize the patterns violating the minimum distance rule and the number of stitches
Outline • Introduction • Problem formulation • Candidate Stitch generation • Mask assignment • Initial Mask assignment • Generate of Flipping Graph • Simplification of Flipping Graph • ILP Formulation for Max Cut Problem • Experimental Results
Conflict Graph A B C L
Candidate Stitch generation • The odd cycle in CG => infeasible • We can slice one node in the odd cycle <= useful stitch • Some slicing may be unused. (i.e A -> B -> L ) • How to find a useful slicing node? => node projection idea introduced in [11]. • GREMA uses breadth first search (BFS) to find odd cycles and choose all suitable candidate stitches.
Outline • Introduction • Problem formulation • Candidate Stitch generation • Mask assignment • Initial Mask assignment • Generate of Flipping Graph • Simplification of Flipping Graph • ILP Formulation for Max Cut Problem • Experimental Results
Initial Mask assignment • Cluster: conflict edge connected component. • GREMA arbitrarily picks up a node in each cluster and denotes the node as cluster head. • assign all of the cluster node to same partition.
Generate of Flipping Graph • Abstract each cluster in DG into a single node. • Flipping of Ci and Cj : let the cluster heads of Ci and Cj to be different partition (change which one?) • Flipping gain • Before flipping: Ns After flipping: Nd • Flipping gain: Nd - Ns
Simplification of Flipping Graph • Case1: tree structure
Simplification of Flipping Graph • Case 2: Serial Edge
Simplification procedure while( only exist two nodes or all of nodes have at least degree three ) while( exist degree one node ) detects all degree one node and remove it serial_edge_simplify() parellel_edge_simplify() while( exist degree one node ) detects all degree one node and remove it ILP_solve()
Outline • Introduction • Problem formulation • Candidate Stitch generation • Mask assignment • Initial Mask assignment • Generate of Flipping Graph • Simplification of Flipping Graph • ILP Formulation for Max Cut Problem • Experimental Results
Experimental Result These benchmarks use cells from Artisan 90nm libraries with 140*0.4nm minimum spacing and 100*0.4nm minimum line width.