new graph bipartizations for double-exposure, bright field alternating phase-shift mask layout...
TRANSCRIPT
New Graph Bipartizations for Double-Exposure,New Graph Bipartizations for Double-Exposure,
Bright Field Alternating Phase-Shift Mask LayoutBright Field Alternating Phase-Shift Mask Layout
Andrew B. Kahng (UCSD)Andrew B. Kahng (UCSD)
Shailesh Vaya (UCLA)Shailesh Vaya (UCLA)
Alex Zelikovsky (GSU)Alex Zelikovsky (GSU)
2ASPDAC’2001
OutlineOutline
Subwavelength lithographySubwavelength lithography Alternating PSMAlternating PSM Phase assignment problem Phase assignment problem Minimum perturbation problemMinimum perturbation problem Bipartizing feature graphBipartizing feature graph
Fast algorithm for edge-deletion Fast algorithm for edge-deletion Approximation algorithm node-deletionApproximation algorithm node-deletion
Experimental resultsExperimental results ConclusionsConclusions
3ASPDAC’2001
Subwavelength Gap since .35 mSubwavelength Optical LithographySubwavelength Optical Lithography
Numerical Technologies, Inc.
4ASPDAC’2001
Alternating PSM for Subwavelength TechnologyAlternating PSM for Subwavelength Technology
conventional maskglass Chrome
0 Electric field at mask
0 Intensity at wafer
phase shifting mask
Phase shifter
6ASPDAC’2001
The Phase Assignment ProblemThe Phase Assignment Problem
Assign 0, 180 phase regions such that critical features Assign 0, 180 phase regions such that critical features
with width < B are induced by adjacent phase regions with width < B are induced by adjacent phase regions
with opposite phaseswith opposite phases
0 180
<B
shifters
7ASPDAC’2001
Phase Assignment for Bright-Field PSMPhase Assignment for Bright-Field PSM
PROPER Phase Assignment:PROPER Phase Assignment:OppositeOpposite phases for opposite shifters phases for opposite shifters
Same Same phase for overlapping shiftersphase for overlapping shifters
Overlapping shifters
8ASPDAC’2001
Key: Global 2-ColorabilityKey: Global 2-Colorability
?180 0
0180 180
180
Odd cycle of “phase implications” Odd cycle of “phase implications” layout cannot be layout cannot be
manufacturedmanufacturedlayout verification becomes a global, not local, issuelayout verification becomes a global, not local, issue
11ASPDAC’2001
F4
F2
F3
F1
S1
S2
S3
S5
S4
S6
S7S8
Shifters: S1-S8
PROPER Phase Assignment:Opposite phases for opposite shifters Same phase for overlapping shifters
12ASPDAC’2001
F4
F2
F3
F1
S1
S2
S3
S5
S4
S6
S7S8
Phase Conflict
Proper Phase Assignment is IMPOSSIBLE
Phase ConflictPhase Conflict
13ASPDAC’2001
F4
F2
F3
F1
S1
S2
S3
S5
S4
S6
S7S8
Phase Conflictfeature shiftingto remove overlap
Conflict Resolution: Shifting Conflict Resolution: Shifting
14ASPDAC’2001
F4
F2
F1
S1
S2
S3 S4
S7S8
Phase Conflictfeature widening to turnconflict into non-conflict
Conflict Resolution: WideningConflict Resolution: Widening
F3
15ASPDAC’2001
Minimum Perturbation Problem Minimum Perturbation Problem
Layout modificationsLayout modificationsfeature shiftingfeature shifting
feature widening feature widening
area increase, slowing downarea increase, slowing down
manual fixing, design cost increase manual fixing, design cost increase
Minimum Perturbation ProblemMinimum Perturbation Problem
Find min # of layout modifications leading to Find min # of layout modifications leading to
proper phase assignmentproper phase assignment
16ASPDAC’2001
Feature GraphFeature Graph
Feature Graph:Black - feature nodesBlue - shifter overlap
Pink - extra nodes to distinguish opposite shifters
17ASPDAC’2001
Odd Cycles in Feature GraphOdd Cycles in Feature Graph
Feature graph has ODD CYCLE
Proper Phase Assignment IMPOSSIBLE
18ASPDAC’2001
Shifting in Feature Graph IShifting in Feature Graph I
feature shifting = delete EDGEof feature graph
19ASPDAC’2001
Shifting in Feature Graph IIShifting in Feature Graph II
feature shifting =delete BLUE NODEof feature graph
20ASPDAC’2001
Widening in Feature GraphWidening in Feature Graph
feature widening = delete BLACK NODEof feature graph
21ASPDAC’2001
Graph BipartizationGraph Bipartization
Proper phase assignment Proper phase assignment Feature graphFeature graph bipartitebipartite
Minimum Perturbation Problem Minimum Perturbation Problem
Graph Bipartization ProblemGraph Bipartization ProblemLayout modifications Layout modifications Graph modificationsGraph modifications
feature shiftingfeature shifting edge edge deletiondeletion
feature widening feature widening node deletionnode deletion
both typesboth types with weightswith weights node-weighted deletion node-weighted deletion
22ASPDAC’2001
Edge-Deletion Graph BipartizationEdge-Deletion Graph Bipartization
In general graphs In general graphs NP-hardNP-hardConstant-factor approximation Constant-factor approximation
In planar graphs In planar graphs T-join problem T-join problem can be solved efficiently:can be solved efficiently:reduction to min-weight matching O(nreduction to min-weight matching O(n33) (Hadlock) ) (Hadlock)
LP-based solution (Barahona) O(nLP-based solution (Barahona) O(n3/23/2logn)logn) no known implementation no known implementation
fast reduction to matching via gadgets O(fast reduction to matching via gadgets O(nn3/23/2 log n) log n)
23ASPDAC’2001
The T-join ProblemThe T-join Problem
How to delete How to delete minimum-costminimum-cost set of edges from set of edges from conflict graph G to eliminate odd cycles? conflict graph G to eliminate odd cycles?
Construct geometric dual graph D=dual(G)Construct geometric dual graph D=dual(G)Find odd-degree vertices T in DFind odd-degree vertices T in DSolve the Solve the T-join problemT-join problem in Din D::
find min-weight edge set J in D such thatfind min-weight edge set J in D such thatall T-vertices has all T-vertices has odd odd degreedegreeall other vertices have all other vertices have even even degreedegree
Solution J corresponds to desired min-cost edge Solution J corresponds to desired min-cost edge set in conflict graph Gset in conflict graph G
24ASPDAC’2001
T-join Problem: Reduction to MatchingT-join Problem: Reduction to Matching
Desirable properties of reduction to matching:Desirable properties of reduction to matching:exact (i.e., optimal)exact (i.e., optimal)not much memory (say 2-3Xmore) not much memory (say 2-3Xmore) results in a very fast solutionresults in a very fast solution
Solution: Solution: gadgetsgadgetsreplace each edge/vertex with gadgets s.t.replace each edge/vertex with gadgets s.t.
matching all vertices in gadgeted graph matching all vertices in gadgeted graph
T-join in original graphT-join in original graph
25ASPDAC’2001
T-join Problem: Reduction to MatchingT-join Problem: Reduction to Matching replace each vertex with a chain of trianglesreplace each vertex with a chain of trianglesone more edge for T-verticesone more edge for T-vertices in graph D: m = #edges, n = #vertices, t = #Tin graph D: m = #edges, n = #vertices, t = #T in gadgeted graph: 4m-2n-t vertices, 7m-5n-t edgesin gadgeted graph: 4m-2n-t vertices, 7m-5n-t edgescost of red edges = original dual edge costs cost of red edges = original dual edge costs
cost of (black) edges in triangles = 0cost of (black) edges in triangles = 0
vertex in T
vertex T
26ASPDAC’2001
Example of Gadgeted GraphExample of Gadgeted Graph
Dual Graph
Gadgeted graph
black + red edges ==min-cost perfect matching
27ASPDAC’2001
Node-Deletion Graph BipartizationNode-Deletion Graph Bipartization
Difficult for general graphsDifficult for general graphsMAX SNP-hard MAX SNP-hard no very good approximation no very good approximation
For planar graphs For planar graphs Primal-dual algorithm (GW98)Primal-dual algorithm (GW98)
takes in account weights (to distinguish two modification types)
simple for implementation provably good: 9/4 approximationquadratic runtime
Greedy Vertex Cover AlgorithmGreedy Vertex Cover Algorithm
28ASPDAC’2001
Primal-Dual Approximation Algorithm (GW)Primal-Dual Approximation Algorithm (GW)
Input:Input: Planar graph (with node weights) Planar graph (with node weights)
Output:Output: Bipartite subgraph 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
29ASPDAC’2001
0
0
0
0
0
00
0
0 00
0 0
0
1
2
1
2
0
02
2
3 13
1 3
1
1
2
1
2
0
02
2
3 13
1 3
1
Example of GW AlgorithmExample of GW Algorithm
38ASPDAC’2001
Greedy Vertex Cover Algorithm (GVC)Greedy Vertex Cover Algorithm (GVC) Input:Input: Planar graph (with node weights) Planar graph (with node weights)
Output:Output: Bipartite subgraph 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
39ASPDAC’2001
Experiment SettingExperiment Setting
Compact layouts Compact layouts aggressivelyaggressively::design rule = between features should be design rule = between features should be single single shiftershifter
Determine shifter overlapsDetermine shifter overlaps
Find minimum # of modifications Find minimum # of modifications
to resolve all phase conflictsto resolve all phase conflicts
Two industrial benchmarks: Metal LayersTwo industrial benchmarks: Metal Layers# wires = # wires = 8622 (L1) and 8622 (L1) and 4539 (L2)4539 (L2)
# overlaps = # overlaps = 7805 (L1) and 7805 (L1) and 5439 (L2)5439 (L2)
40ASPDAC’2001
Experimental ResultsExperimental Results
BenchmarkAlgorithm Cost Ratio L1 L2
GVC 1.5 430 371 GW 1.5 267 225GVC 2.0 461 408
GW 2.0 306 263 GVC 3.0 475 438 GW 3.0 344 307
Edge-deletion 314 234
Cost Ratio = cost of feature wideningcost of feature shifting
GW algorithm is 2 times better than Greedy Vertex Cover Algorithm Exact edge-deletion algorithm is better than GW for cost ratio > 2Exact edge-deletion algorithm is better than GW for cost ratio > 2
Runtime:Runtime: GVC is linear and very fastGVC is linear and very fast Exact edge-deletion is 2x faster than GW for benchmarksExact edge-deletion is 2x faster than GW for benchmarks
41ASPDAC’2001
Conclusions/Future WorkConclusions/Future WorkContributionsContributions
first formulation of the minimum perturbation problem for first formulation of the minimum perturbation problem for bright-field Alternating PSM technologybright-field Alternating PSM technology
unified approach for feature widening and shiftingunified approach for feature widening and shiftingoptimal solution for feature shifting and approximate optimal solution for feature shifting and approximate
solution when feature when both modifications are allowedsolution when feature when both modifications are allowed
Future work: develop a model for PSM in hierarchical Future work: develop a model for PSM in hierarchical designs:designs:standard cell overlappingstandard cell overlappingcomposability of standard cellscomposability of standard cells
multiple PSM-aware versions of master cellsmultiple PSM-aware versions of master cells
43ASPDAC’2001
Standard-Cell PSM Standard-Cell PSM
Hierarchical layout vs flat layoutHierarchical layout vs flat layout
Free composability of standard cellsFree composability of standard cells
Cells may overlap: unique master cell causes area loss Cells may overlap: unique master cell causes area loss
Multiple PSM-aware versions of master cellMultiple PSM-aware versions of master cell
Version-composability matrixVersion-composability matrix
44ASPDAC’2001
Taxonomy of ComposabilityTaxonomy of Composability
(Same)(Same) Same rowSame row composability: any cell can be placed composability: any cell can be placed immediately adjacent to any otherimmediately adjacent to any other
(Adj)(Adj) Adjacent rowAdjacent row composability: any two cells from composability: any two cells from adjacent rows are freely combined adjacent rows are freely combined
Four cases of cell libraries Four cases of cell libraries G=guaranteed composability, NG=not guaranteedG=guaranteed composability, NG=not guaranteedAdj-G/Same-G = free composabilityAdj-G/Same-G = free composabilityAdj-G/Same-NG Adj-G/Same-NG Adj-NG/Same-G Adj-NG/Same-G Adj-NG/Same-NGAdj-NG/Same-NG
45ASPDAC’2001
Taxonomy of ComposabilityTaxonomy of Composability
VDD
VDD
GND
VDD
VDD
GND
VDD
VDD
GND
Adj-G/Same-NG
Adj-NG/Same-G
Adj-NG/Same-NG
46ASPDAC’2001
Adj-G/Same-NGAdj-G/Same-NG
GIVEN: GIVEN:
order of cells in a row order of cells in a row
version compatibility matrix version compatibility matrix
FIND: FIND: version assignment version assignment
such that versions of adjacent cells are compatiblesuch that versions of adjacent cells are compatible
(BFS) traversal of DAG(BFS) traversal of DAGnodes = versionsnodes = versionsarcs = compatibilityarcs = compatibility
47ASPDAC’2001
Adj-G/Same-NGAdj-G/Same-NG
GIVEN: GIVEN:
order of cells in a row (or “optimal” placement)order of cells in a row (or “optimal” placement)
version compatibility weighted matrix (weight = #extra sites)version compatibility weighted matrix (weight = #extra sites)
FIND: FIND: version assignment minimizing version assignment minimizing
either total # of extra sites either total # of extra sites
or total/max displacement from optimal placementor total/max displacement from optimal placement
Dynamic Programming O(kV), k=max displacementDynamic Programming O(kV), k=max displacementRestricted DP Restricted DP