Automated Layout and Phase Assignment for Dark Field PSM Andrew B. Kahng, Huijuan Wang, Alex Zelikovsky UCLA Computer Science Department http://vlsicad.cs.ucla.edu Supported by a grant from Cadence Design Systems, Inc. Outline • Phase assignment for dark field Alt PSM • Removing odd cycles from conflict graph – previous work – proposed methods • Algorithms for odd cycle elimination • Implementation experience • Conclusions Outline • Phase assignment for dark field Alt PSM • Removing odd cycles from conflict graph – previous work – proposed methods • Algorithms for odd cycle elimination • Implementation experience • Conclusions Alternating PSM conventional mask phase shifting mask glass Chrome Phase shifter 0 E at mask 0 0 E at wafer 0 0 I at wafer 0 Phase Assignment Problem Assign phases 0, 180 to all features s.t. pairs with separation < B have opposite phases Features b 0 Conflict areas (<B) <B >B 180 0 b minimum separation B minimum separation between same-phase features Conflict Graph Vertices: features Edges: conflicts (feature pairs with separation < B ) <B Odd Cycles in Conflict Graph No valid phase assignment exists, because of odd cycle (triangle) in conflict graph Valid assignment 2-colorable bipartite no odd cycles Breaking an Odd Cycle B Outline • Phase assignment for dark field Alt PSM • Removing odd cycles from conflict graph – previous work – proposed methods • Algorithms for odd cycle elimination • Implementation experience • Conclusions Previous Work • Interactive methods (Ooi et al., Moniwa et al.) – detect odd cycles – manually widen spacing for chosen pairs • Compaction method (Ooi et al.) – – – – symbolic layout from mask layout phase assignment in symbolic layout PSM design rules compaction of symbolic layout Proposed Methods • • • • • • Iterative coloring and compaction One-shot phase assignment Conflict edge weight Splitting of features Vertical/horizontal spacing Layer assignment Iterative Phase Assignment and Compaction Iterate until conflict graph becomes bipartite: • Compact the layout and find conflict graph • Find minimum set of edges to be deleted from conflict graph for 2-colorability • Add new separation constraints: one per deleted edge Iterative Phase Assignment and Compaction conflict graph find minimum # edges to be deleted for 2-colorobility already 2-colorable yes no PSM constraints compaction phase assignment One-Shot Phase Assignment • Find conflict graph • Find minimum set of edges to be deleted from conflict graph for 2-colorability • Assign phases such that only chosen conflict edges connect features of the same phase • Compact layout with PSM design rules: – B-separation if features have the same phase – b-separation if features have different phase One-Shot Phase Assignment conflict graph find minimum # edges to be deleted for 2-colorobility phase assignment compaction Conflict Edge Weight • • • • Compaction moves all features left Constraint graph contains arcs between edges Critical path between leftmost, rightmost features Conflict edges not on critical path: break for free critical path Feature Splitting • Splitting features may eliminate odd cycle • Green areas: phase shift between 0, 180 degrees Vertical / Horizontal Spacing • Introducing a vertical or horizontal gap eliminates all conflict edges that cross gap • Optimal algorithm to find min # gaps Layer Assignment Outline • Phase assignment for dark field Alt PSM • Removing odd cycles from conflict graph – previous work – proposed methods • Algorithms for odd cycle elimination • Implementation experience • Conclusions Optimal Odd Cycle Elimination • • • • Construct conflict graph G Construct dual graph D Find odd-degree vertices ODD in D Find minimum weighted perfect matching of ODD (weights = the length of path) • Delete all edges of G which correspond to paths of the minimum matching of ODD Optimal Odd Cycle Elimination blue features/red conflicts matching of odd degree nodes conflict graph dual graph Optimal Odd Cycle Elimination blue features/red conflicts delete green conflicts matching of odd degree nodes conflict graph Fast Algorithm • For each odd degree vertex V in dual graph – Voronoi region even degree vertices which are closer to V than to any other odd degree vertex • Connect two vertices if there is an edge between their Voronoi regions – edge weight path cost in dual graph • Find matching between odd degree nodes in Voronoi graph 3 Outline • Phase assignment for dark field alt PSM • Removing odd cycles from conflict graph – previous work – proposed methods • Algorithms algorithm for odd cycle elimination • Implementation experience • Conclusions Compaction • • • • Shape constraints Connectivity constraints Spacing constraints (PSM design rules) Bellman-Ford solution for constraint graph for one-dimensional constraint graph in xdirection • Flip design and solve in y-direction Data Flow • GDSII CIF • CIF internal layout representation • New layer with phase shift CIF Results TEST Layout1 Layout2 Layout3 # polygons 3769 6914 36227 # rectangles 4549 8691 36227 Conflict graph runtime 1.88 1.40 19.99 Dual graph runtime 4.45 0.23 42.63 Voronoi graph runtime 0.06 0 0.18 Matching runtime 1.1 0.26 # critical conflicts 1402 0 5.96 5672 Outline • Phase assignment for dark field alt PSM • Removing odd cycles from conflict graph – previous work – proposed methods • Algorithms algorithm for odd cycle elimination • Implementation experience • Conclusions Conclusions