Lecture 8: Phase Shifting Mask
@luk036
2022-11-26
πΊοΈ Overview
- Background
- What is Phase Shifting Mask?
- Phase Conflict Graph
- Phase Assignment Problem
- Greedy Approach
- Planar Graph Approach
class: middle, center
Background
Background
.pull-left[
-
In the past, chips have continued to get smaller and smaller, and therefore consume less and less power.
-
However, we are rapidly approaching the end of the road and optical lithography cannot take us to the next place we need to go.
] .pull-right[
]
Process of Lithography
.pull-left[
-
Photo-resist coating (ε ι»ζΆε±)
-
Illumination (ε η §)
-
Exposure (ζε )
-
Etching (θε»)
-
Impurities doping (ζ质ζΊζ)
-
Metal connection
] .pull-right[
]
Sub-wavelength Lithography
.pull-left[
- Feature size is much smaller than the lithography wavelength
- 45nm vs. 193nm
] .pull-right[
- What you see in the mask/layout is not what you get on the chip:
- Features are distored
- Yields are declined
]
DFM Tool (Mentor Graphics)
OPC and PSM
.pull-left[
- Results of OPC on PSM:
- A = original layout
- B = uncorrected layout
- C = after PSM and OPC
] .pull-right[
]
Phase Shifting Mask
Phase Conflict Graph
- Edge between two features with separation of (dark field)
- Similar conflict graph for "bright field".
- Construction method: plane sweeping method + dynamic priority search tree
Phase Assignment Problem
.pull-left[
- Instance: Graph
- Solution: A color assignment (here )
- Goal: Minimize the weights of the monochromatic edges. (Question: How can we model the weights?)
] .pull-right[
]
Phase Assignment Problem
- In general, the problem is NP-hard.
- It is solvable in polynomial time for planar graphs with , since the problem is equivalent to the T-join problem in the dual graph [Hadlock75].
- For planar graphs with , the problem can be solved approximately in the ratio of two using the primal-dual method.
Overview of Greedy Algorithm
- Create a maximum weighted spanning tree (MST) of (can be found in LEDA package)
- Assign colors to the nodes of the MST.
- Reinsert edges that do not conflict.
- Time complexity:
- Can be applied to non-planar graphs.
Greedy Algorithm
.pull-left[
- Step 1: Construct a maximum spanning tree of (using e.g. Kruskal's algorithm, which is available in the LEDA package).
] .pull-right[
]
Greedy Algorithm (Cont'd)
.pull-left[
- Step 2: Assign colors to the nodes of .
] .pull-right[
]
Greedy Algorithm (Cont'd)
.pull-left[
- Step 3: Reinsert edges that do not conflict.
] .pull-right[
]
Other Approaches
-
Reformulate the problem as a MAX-CUT problem. Note that the MAX-CUT problem is approximatable within a factor of 1.1383 using the "semi-definite programming" relaxation technique [Goemans and Williamson 93].
-
Planar graph approach: Convert to a planar graph by removing the minimal edges, and then apply the methods to the resulting planar graph.
π Note: the optimal "planar sub-graph" problem is NP-hard.
Overview of Planar Graph Approach (Hadlock's algorithm)
- Approximate by a planar graph
- Decompose into its bi-connected components.
- For each bi-connected component in ,
- construct a planar embedding
- construct a dual graph
- construct a complete graph , where
- is a set of odd-degree vertices in
- the weight of each edge is the shortest path of two vertices
- find the minimum perfect matching π―π¬π» solution. The matching edges are the conflict edges that have to be deleted.
- Reinsert the non-conflicting edges from .
Planar Graph Approach
.pull-left[
- Step 1: Approximate with a planar graph
- It is NP-hard.
- The naive greedy algorithm takes time.
- Any good suggestion?
] .pull-right[
]
Planar Graph Approach
-
Step 2: Decompose into its bi-connected components in linear time (available in the LEDA package).
Planar Graph Approach
-
Step 3: For each bi-connected component in , construct a planar embedding in linear time (available in the LEDA package)
π Note: planar embedding may not be unique unless is tri-connected.
Planar Graph Approach
.pull-left[
- Step 4: For each bi-connected component, construct its dual graph in linear time.
] .pull-right[
]
Planar Graph Approach
.pull-left[
-
Step 5: Find the minimum weight perfect matching π―π¬π» of .
- Polynomial time solvable.
- Can be formulated as a network flow problem.
π Note: complete graph vs. Voronoi graph
] .pull-right[
]
Planar Graph Approach
.pull-left[
- Step 6: reinsert the non-conflicting edges in .
π Note: practically we keep track of conflicting edges.
] .pull-right[
]