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[

image

]

Process of Lithography

.pull-left[

  1. Photo-resist coating (ε…‰ι˜»ζΆ‚ε±‚)

  2. Illumination (ε…‰η…§)

  3. Exposure (曝光)

  4. Etching (θš€εˆ»)

  5. Impurities doping (ζ‚θ΄¨ζŽΊζ‚)

  6. Metal connection

] .pull-right[

image

]

Sub-wavelength Lithography

.pull-left[

  • Feature size is much smaller than the lithography wavelength
    • 45nm vs. 193nm

image

] .pull-right[

  • What you see in the mask/layout is not what you get on the chip:
    • Features are distored
    • Yields are declined

image

]

image

DFM Tool (Mentor Graphics)

image

OPC and PSM

.pull-left[

  • Results of OPC on PSM:
    • A = original layout
    • B = uncorrected layout
    • C = after PSM and OPC

] .pull-right[

image

]

Phase Shifting Mask

image

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 image

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[

image

]

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[

image

]

Greedy Algorithm (Cont'd)

.pull-left[

  • Step 2: Assign colors to the nodes of .

] .pull-right[

image

]

Greedy Algorithm (Cont'd)

.pull-left[

  • Step 3: Reinsert edges that do not conflict.

] .pull-right[

image

]

image

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)

  1. Approximate by a planar graph
  2. Decompose into its bi-connected components.
  3. For each bi-connected component in ,
    1. construct a planar embedding
    2. construct a dual graph
    3. 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
    4. find the minimum perfect matching πŸ’―πŸ‘¬πŸ» solution. The matching edges are the conflict edges that have to be deleted.
  4. 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[

image

]

Planar Graph Approach

  • Step 2: Decompose into its bi-connected components in linear time (available in the LEDA package).

    image

Planar Graph Approach

  • Step 3: For each bi-connected component in , construct a planar embedding in linear time (available in the LEDA package)

    image

πŸ‘‰ 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[

image

]

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[

image

]

Planar Graph Approach

.pull-left[

  • Step 6: reinsert the non-conflicting edges in .

πŸ‘‰ Note: practically we keep track of conflicting edges.

] .pull-right[

image

]