480 likes | 633 Views
New Graph Bipartizations for Double-Exposure, Bright Field Alternating Phase-Shift Mask Layout. Andrew B. Kahng (UCSD) Shailesh Vaya (UCLA) Alex Zelikovsky (GSU). Outline. Subwavelength lithography Alternating PSM Phase assignment problem Minimum perturbation problem
E N D
New Graph Bipartizations for Double-Exposure,Bright Field Alternating Phase-Shift Mask Layout Andrew B. Kahng (UCSD) Shailesh Vaya (UCLA) Alex Zelikovsky (GSU)
Outline • Subwavelength lithography • Alternating PSM • Phase assignment problem • Minimum perturbation problem • Bipartizing feature graph • Fast algorithm for edge-deletion • Approximation algorithm node-deletion • Experimental results • Conclusions
Subwavelength Optical Lithography Subwavelength Gap since .35 m Numerical Technologies, Inc.
conventional mask phase shifting mask glass Chrome Phase shifter 0 Electric field at mask 0 Intensity at wafer Alternating PSM for Subwavelength Technology
0 + = 180 180 Double-Exposure Bright-Field PSM
shifters The Phase Assignment Problem • Assign 0, 180 phase regions such that critical features with width < B are induced by adjacent phase regions with opposite phases 0 180 <B
Phase Assignment for Bright-Field PSM • PROPER Phase Assignment: • Oppositephases for opposite shifters • Same phase for overlapping shifters Overlapping shifters
Key: Global 2-Colorability • Odd cycle of “phase implications” ® layout cannot be manufactured • layout verification becomes a global, not local, issue ? 180 0 180 180 0 180
Critical features: F1,F2,F3,F4 F2 F4 F1 F3
F2 F4 F1 F3 Opposite-Phase Shifters (0,180)
S3 F2 S4 S8 F4 S7 S1 F1 S2 S5 F3 S6 Shifters: S1-S8 PROPER Phase Assignment: • Opposite phases for opposite shifters • Same phase for overlapping shifters
Phase Conflict S3 F2 S4 S8 F4 S7 S1 F1 S2 S5 F3 S6 Phase Conflict Proper Phase Assignment is IMPOSSIBLE
Conflict Resolution: Shifting S3 F2 S4 S8 F4 S7 S1 F1 S2 S5 F3 S6 Phase Conflict feature shifting to remove overlap
Conflict Resolution: Widening S3 F2 S4 S8 F4 S7 S1 F1 S2 F3 Phase Conflict feature widening to turn conflict into non-conflict
Minimum Perturbation Problem • Layout modifications • feature shifting • feature widening area increase, slowing down manual fixing, design cost increase • Minimum Perturbation Problem Find min # of layout modifications leading to proper phase assignment
Feature Graph: Black - feature nodes Blue - shifter overlap Pink - extra nodes to distinguish opposite shifters Feature Graph
Odd Cycles in Feature Graph Feature graph has ODD CYCLE Proper Phase Assignment IMPOSSIBLE
feature shifting = delete EDGE of feature graph Shifting in Feature Graph I
feature shifting = delete BLUE NODE of feature graph Shifting in Feature Graph II
feature widening = delete BLACK NODE of feature graph Widening in Feature Graph
Graph Bipartization • Proper phase assignment Feature graphbipartite • Minimum Perturbation Problem Graph Bipartization Problem • Layout modifications Graph modifications • feature shifting edgedeletion • feature widening node deletion • both typeswith weights node-weighted deletion
Edge-Deletion Graph Bipartization • In general graphs • NP-hard • Constant-factor approximation • In planar graphs T-join problem can be solved efficiently: • reduction to min-weight matching O(n3) (Hadlock) • LP-based solution (Barahona) O(n3/2logn) • no known implementation • fast reduction to matching via gadgets O(n3/2 log n)
The T-join Problem • How to delete minimum-cost set of edges from conflict graph G to eliminate odd cycles? • Construct geometric dual graph D=dual(G) • Find odd-degree vertices T in D • Solve the T-join problemin D: • find min-weight edge set J in D such that • all T-vertices has odd degree • all other vertices have even degree • Solution J corresponds to desired min-cost edge set in conflict graph G
T-join Problem: Reduction to Matching • Desirable properties of reduction to matching: • exact (i.e., optimal) • not much memory (say 2-3Xmore) • results in a very fast solution • Solution: gadgets • replace each edge/vertex with gadgets s.t. matching all vertices in gadgeted graph Û T-join in original graph
T-join Problem: Reduction to Matching • replace each vertex with a chain of triangles • one more edge for T-vertices • in graph D: m = #edges, n = #vertices, t = #T • in gadgeted graph: 4m-2n-t vertices, 7m-5n-t edges • cost of red edges = original dual edge costs cost of (black) edges in triangles = 0 vertex in T vertex T
Example of Gadgeted Graph Gadgetedgraph DualGraph black + red edges == min-cost perfect matching
Node-Deletion Graph Bipartization • Difficult for general graphs • MAX SNP-hard no very good approximation • For planar graphs • Primal-dual algorithm (GW98) • takes in account weights (to distinguish two modification types) • simple for implementation • provably good:9/4 approximation • quadratic runtime • Greedy Vertex Cover Algorithm
Primal-Dual Approximation Algorithm (GW) Input: Planar graph (with node weights) Output: Bipartite subgraph For each face F: age(F) 0 While there are odd faces do for each odd face F: age(F) age(F)+1 delete v with max weight (v) = sum of ages of faces with v for new face F: age(F) 0 In reverse order of node deletions do bring node v back if an odd face appears, then delete v permanently
1 1 0 1 1 0 3 3 0 2 2 0 3 3 0 3 3 0 1 1 0 2 2 2 2 0 0 2 2 0 0 0 0 1 1 0 0 0 1 1 0 0 Example of GW Algorithm
1 1 3 2 3 1 2 2 2 0 1 0 1 Example of GW Algorithm
Example of GW Algorithm 1 1 3 2 3 1 2 2 2 0 1 0 1
Example of GW Algorithm 2 2 5 4 5 2 4 4 4 1 2 0 2
Example of GW Algorithm 2 2 5 4 5 2 4 4 4 1 2 0 2
Example of GW Algorithm 2 2 5 4 2 4 4 4 1 2 0 2
Example of GW Algorithm 2 2 5 5 2 6 6 5 1 3 0 3
Example of GW Algorithm 2 2 5 5 2 6 6 5 1 3 0 3
Example of GW Algorithm 2 2 5 5 2 6 5 1 3 0 3
Greedy Vertex Cover Algorithm (GVC) Input: Planar graph (with node weights) Output: Bipartite subgraph Color all nodes into 2 colors using BFS node traversal Find the set T of all violating edges (endpoints of the same color) Greedily cover with vertices violating edges: Wile there are violating edges do Delete node incident to maximum # of violating edges
Experiment Setting • Compact layouts aggressively: • design rule = between features should be single shifter • Determine shifter overlaps • Find minimum # of modifications to resolve all phase conflicts • Two industrial benchmarks: Metal Layers • # wires = 8622 (L1) and 4539 (L2) • # overlaps = 7805 (L1) and 5439 (L2)
Cost Ratio = cost of feature widening cost of feature shifting GVC 1.5 430 371 GW 1.5 267 225 GVC 2.0 461 408 GW 2.0 306 263 GVC 3.0 475 438 GW 3.0 344 307 Experimental Results Benchmark Algorithm Cost Ratio L1 L2 Edge-deletion 314 234 • GW algorithm is 2 times better than Greedy Vertex Cover Algorithm • Exact edge-deletion algorithm is better than GW for cost ratio > 2 • Runtime: • GVC is linear and very fast • Exact edge-deletion is 2x faster than GW for benchmarks
Conclusions/Future Work • Contributions • first formulation of the minimum perturbation problem for bright-field Alternating PSM technology • unified approach for feature widening and shifting • optimal solution for feature shifting and approximate solution when feature when both modifications are allowed • Future work: develop a model for PSM in hierarchical designs: • standard cell overlapping • composability of standard cells • multiple PSM-aware versions of master cells
Standard-Cell PSM • Hierarchical layout vs flat layout • Free composability of standard cells • Cells may overlap: unique master cell causes area loss • Multiple PSM-aware versions of master cell • Version-composability matrix
Taxonomy of Composability • (Same)Same row composability: any cell can be placed immediately adjacent to any other • (Adj)Adjacent row composability: any two cells from adjacent rows are freely combined • Four cases of cell libraries G=guaranteed composability, NG=not guaranteed • Adj-G/Same-G = free composability • Adj-G/Same-NG • Adj-NG/Same-G • Adj-NG/Same-NG
VDD VDD VDD Adj-G/Same-NG GND GND GND VDD VDD VDD Adj-NG/Same-G Adj-NG/Same-NG Taxonomy of Composability
Adj-G/Same-NG GIVEN: order of cells in a row version compatibility matrix FIND: version assignment such that versions of adjacent cells are compatible • (BFS) traversal of DAG • nodes = versions • arcs = compatibility
Adj-G/Same-NG GIVEN: order of cells in a row (or “optimal” placement) version compatibility weighted matrix (weight = #extra sites) FIND: version assignment minimizing either total # of extra sites or total/max displacement from optimal placement • Dynamic Programming O(kV), k=max displacement • Restricted DP