EUV MaskΒΆ

Optics for extreme ultraviolet lithography (EUV, EUVL) consist of various reflective elements (multilayer reflectors operated at oblique incidence of light). EUV photomasks consist of a multilayer reflector with absorbing patterns. This example includes project files for simulating light scattering off an EUV line mask.

The mask geometry is defined using a 2D layout with several polygons (please note that for the multilayer reflector there is just the definition of an exterior domain as subspace, with a specific identifier ExteriorDomainId = 10. Please compare the multilayer material and geometry definition in the materials.jcm file):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61


Layout2D {
  Name = "EUV_line"
  UnitOfLength = 1e-09
  MeshOptions {
    MaximumSideLength = 7
    MinimumMeshAngle = 5
  }
  Objects {    
    Polygon {
      Name = "ComputationalDomain"
      DomainId = 1
      Priority = ComputationalDomain
      Points = [-88 0 88 0 88 77.6 -88 77.6]
      Boundary {
        Number = 1
        Class = Transparent
        ExteriorDomainId = 10
      }
      Boundary {
        Number = [2 4]
        Class = Periodic
      }
      Boundary {
        Number = 3
        Class = Transparent
      }  
    }
    
    Polygon {
      Name = "Capping layer"
      DomainId = 5
      Points = [-88 0 88 0 88 11.5 -88 11.5]
      MeshOptions {
        MinimumMeshAngle = 1
      }
    }
    Polygon {
      Name = "Oxide layer"
      DomainId = 4
      Points = [-88 11.5 -44 11.5 44 11.5 88 11.5 88 12.6 -88 12.6]
    }
    Polygon {
      Name = "Buffer"
      DomainId = 3
      Points = [-44 12.6 44 12.6 42.2502267295 32.6 -42.2502267295 32.6]
    }
    Polygon {
      Name = "Absorber"
      DomainId = 2
      Points = [-42.2502267295 32.6 42.2502267295 32.6 38.7506801884 72.6 -38.7506801884 72.6]
      CornerRounding {
        NPoints = 5
        Point = [3 4]
        Radius = 5
      }
    }
  }
}

As sources, S- and P-polarized plane waves at oblique incidence are defined:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
SourceBag {
  Source {
    ElectricFieldStrength {
      PlaneWave {
        Lambda0 = 1.34e-08
        SP = [1, 0]
        ThetaPhi = [4, 0]
        3DTo2D = yes
        Incidence = FromAbove
      }
    }
  }
}
SourceBag {
  Source {
    ElectricFieldStrength {
      PlaneWave {
        Lambda0 = 1.34e-08
        SP = [0, 1]
        ThetaPhi = [4, 0]
        3DTo2D = yes
        Incidence = FromAbove
      }
    }
  }
}

The material definitions include a planar layer stack modelling the DBR multilayer reflector (LayeredMedia):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Material {
  Name = "Material_1_air"
  DomainId = 1
  RelPermittivity = 1
  RelPermeability = 1.0
}
Material {
  Name = "Material_2_absorber"
  DomainId = 2
  RelPermittivity = (0.8703211743, 0.0707916176)
  RelPermeability = 1.0
}
Material {
  Name = "Material_3_buffer"
  DomainId = 3
  RelPermittivity = (0.9498420903, 0.0245814296)
  RelPermeability = 1.0
}
Material {
  Name = "Material_4_oxide_layer"
  DomainId = 4
  RelPermittivity = (0.9498420903, 0.0245814296)
  RelPermeability = 1.0
}
Material {
  Name = "Material_5_Si_capping_layer"
  DomainId = 5
  RelPermittivity = (1.0004767452, 0.0036408736)
  RelPermeability = 1.0
}
Material {
  Name = "Material_6_Mo"
  DomainId = 6
  RelPermittivity = (0.8532399029, 0.011269506)
  RelPermeability = 1.0
}
Material {
  Name = "Material_7_Si"
  DomainId = 7
  RelPermittivity = (1.0004767452, 0.0036408736)
  RelPermeability = 1.0
}

LayeredMedia {

  # Si-Mo-Multilayer
  DomainId = 10
  LayerThickness = [2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09 2.42e-09 4.48e-09]
  RelPermeabilityInLayers = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
  RelPermittivityInLayers = [(0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736) (0.8532399029, 0.011269506) (1.0004767452, 0.0036408736)]

  # Substrate
  RelPermeabilityInfiniteDomain = 1.0
  RelPermittivityInfiniteDomain = 0.9585976464
}

The definitions in the project.jcmp file include numerical accuracy parameters as well as the definition of a post process for computing the reflected diffraction orders:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Project {
  InfoLevel = 3
  Electromagnetics {
    TimeHarmonic {
      Scattering {
        Accuracy {
          FiniteElementDegree = 3
          Precision = 1e-3
          Refinement {
            MaxNumberSteps = 1
          }
        }
      }
    }
  }
}
PostProcess {
  FourierTransform {
    NormalDirection = Y
    FieldBagPath = "project_results/fieldbag.jcm"
    OutputFileName = "project_results/reflected_diffraction_orders.jcm"
    Format = JCM-ASCII
  }
}

The example files of the project include a Matlab script and template files for automatic setup of parameterized geometries for this type of EUV mask. The script also allows to compare the results of the computation where a rigorous domain-decomposition approach is used to couple the multilayer mirror to the 2D computational domain to results from a computation where the whole setup is defined in a single computational domain.