grema: graph reduction based efficient mask assignment for double patterning technology yue xu,...
TRANSCRIPT
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
Double Patterning5
AB
CD
E
Layout Decomposition
mindp
Mask 2Mask 1
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
Overview( two stage approach )
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 CB
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 of Flipping Graph
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 itserial_edge_simplify()parellel_edge_simplify() while( exist degree one node )detects all degree one node and remove it
ILP_solve()
Example
ILP Formulation for Max Cut Problem
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.