Skip to content

Commit f019a49

Browse files
authored
Merge pull request #304 from Exabyte-io/feature/SOF-7530
feature/SOF 7530
2 parents 7ae6484 + cb726aa commit f019a49

File tree

11 files changed

+233
-0
lines changed

11 files changed

+233
-0
lines changed
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
1+
---
2+
# YAML header
3+
render_macros: true
4+
---
5+
6+
# Creating High-k Metal Gate Stack: Si/SiO2/HfO2/TiN
7+
8+
## Introduction
9+
10+
This tutorial demonstrates how to create a high-k metal gate stack heterostructure consisting of four materials: Si (substrate), SiO2 (gate oxide), HfO2 (high-k dielectric), and TiN (metal gate). The process involves:
11+
12+
1. Creating individual slabs for HfO2 and TiN
13+
2. Building the Si/SiO2 interface using strain matching
14+
3. Adding the pre-created slabs sequentially using simple interface builder
15+
16+
We use the [Materials Designer](../../../materials-designer/overview.md) to create the high-k metal gate stack as shown in the figure below.
17+
18+
![High-k Metal Gate Stack](/images/tutorials/materials/heterostructures/heterostructure-silicon-silicon-dioxide-hafnium-dioxide-titanium-nitride/original-figure.webp "High-k Metal Gate Stack")
19+
20+
## 1. Set Up Materials
21+
22+
First, navigate to Materials Designer and import from [Standata](../../../materials-designer/header-menu/input-output/standata-import.md) the following materials:
23+
24+
- Silicon (Si)
25+
- Silicon dioxide (SiO2)
26+
- Hafnium dioxide (HfO2)
27+
- Titanium nitride (TiN)
28+
29+
![Standata Import](/images/tutorials/materials/heterostructures/heterostructure-silicon-silicon-dioxide-hafnium-dioxide-titanium-nitride/import-standata.webp "Standata Import")
30+
31+
## 2. Create HfO2 and TiN Slabs
32+
33+
Before building the stack, we need to create properly terminated slabs for HfO2 and TiN.
34+
35+
### 2.1. Create HfO2 Slab
36+
37+
More detailed instructions on slab creation can be found in the [SrTiO3 Slab](slab-strontium-titanate.md) tutorial.
38+
39+
Open `create_slab_with_termination.ipynb` and set parameters:
40+
41+
```python
42+
# HfO2 slab parameters
43+
MILLER_INDICES = (0, 0, 1)
44+
THICKNESS = 4 # atomic layers
45+
VACUUM = 0.5 # Angstroms
46+
XY_SUPERCELL_MATRIX = [[1, 0], [0, 2]]
47+
USE_ORTHOGONAL_Z = True
48+
USE_CONVENTIONAL_CELL = True
49+
50+
# Select termination (usually first one is fine)
51+
TERMINATION_INDEX = 0
52+
```
53+
54+
Run the notebook to create the HfO2 slab and pass it to Materials Designer.
55+
56+
![HfO2 slab](/images/tutorials/materials/heterostructures/heterostructure-silicon-silicon-dioxide-hafnium-dioxide-titanium-nitride/wave-result-hfo2-slab-wave.webp "HfO2 slab")
57+
58+
### 2.2. Create TiN Slab
59+
60+
Open another instance of `create_slab_with_termination.ipynb` for TiN:
61+
62+
```python
63+
# TiN slab parameters
64+
MILLER_INDICES = (0, 0, 1)
65+
THICKNESS = 3 # atomic layers
66+
VACUUM = 10.0 # Angstroms - more vacuum for final layer
67+
XY_SUPERCELL_MATRIX = [[1, 0], [0, 1]]
68+
USE_ORTHOGONAL_Z = True
69+
USE_CONVENTIONAL_CELL = True
70+
71+
TERMINATION_INDEX = 0
72+
```
73+
74+
Run the notebook to create and pass the TiN slab to Materials Designer.
75+
76+
![TiN slab](/images/tutorials/materials/heterostructures/heterostructure-silicon-silicon-dioxide-hafnium-dioxide-titanium-nitride/wave-result-tin-slab.webp "TiN slab")
77+
78+
## 3. Create Si/SiO2 Interface
79+
80+
### 3.1. Launch ZSL Interface Builder
81+
82+
Open `create_interface_with_min_strain_zsl.ipynb` and configure:
83+
84+
```python
85+
MAX_AREA = 200 # Maximum area for strain matching
86+
MAX_AREA_RATIO_TOLERANCE = 0.25 # Maximum area ratio tolerance
87+
MAX_ANGLE_TOLERANCE = 0.15 # Maximum angle tolerance
88+
MAX_LENGTH_TOLERANCE = 0.15 # Maximum length tolerance
89+
90+
FILM_INDEX = 1 # SiO2
91+
FILM_MILLER_INDICES = (1, 0, 0)
92+
FILM_THICKNESS = 3
93+
FILM_XY_SUPERCELL_MATRIX = [[1, 0], [0, 1]]
94+
FILM_VACUUM = 0.0
95+
FILM_USE_ORTHOGONAL_Z = True
96+
97+
SUBSTRATE_INDEX = 0 # Si
98+
SUBSTRATE_MILLER_INDICES = (1, 0, 0)
99+
SUBSTRATE_THICKNESS = 4
100+
SUBSTRATE_XY_SUPERCELL_MATRIX = [[1, 0], [0, 1]]
101+
SUBSTRATE_VACUUM = 5.0
102+
SUBSTRATE_USE_ORTHOGONAL_Z = True
103+
104+
INTERFACE_DISTANCE = 2.5 # Angstroms
105+
INTERFACE_VACUUM = 5.0 # Angstroms
106+
TERMINATION_PAIR_INDEX = 0
107+
```
108+
109+
We set a higher tolerances to achieve smaller cell with higher strain of the film (SiO2).
110+
111+
![Interface Setup](/images/tutorials/materials/heterostructures/heterostructure-silicon-silicon-dioxide-hafnium-dioxide-titanium-nitride/jl-setup-notebook-si-sio2.webp "Interface Setup")
112+
113+
### 3.2. Create Initial Interface
114+
115+
Run the notebook to create the Si/SiO2 interface. This is the most critical interface, so we use strain matching to optimize it.
116+
117+
## 4. Add HfO2 Layer
118+
119+
### 4.1. Configure Simple Interface Builder
120+
121+
Open JupyterLite Session again and select the Si/SiO2 interface and HfO2 slab as input materials.
122+
123+
Open `create_interface_with_no_strain.ipynb` and set:
124+
125+
```python
126+
# Important: Disable slab creation since we're using pre-created slab
127+
ENABLE_FILM_SCALING = True
128+
CREATE_SLABS = False # We already have our HfO2 slab
129+
130+
FILM_INDEX = 1 # Pre-created HfO2 slab
131+
SUBSTRATE_INDEX = 0 # Si/SiO2 structure
132+
133+
# Interface parameters
134+
INTERFACE_DISTANCE = 2.5 # Angstroms
135+
INTERFACE_VACUUM = 0.5 # Angstroms
136+
```
137+
138+
Film is the material that will be strained (scaled) to match the substrate.
139+
140+
![HfO2 Interface Setup](/images/tutorials/materials/heterostructures/heterostructure-silicon-silicon-dioxide-hafnium-dioxide-titanium-nitride/jl-setup-notebook-si-sio2-hfo2.webp "HfO2 Interface Setup")
141+
142+
### 4.2. Add HfO2
143+
144+
Run the notebook to add the pre-created HfO2 slab to the Si/SiO2 structure.
145+
146+
![Si/SiO2/HfO2](/images/tutorials/materials/heterostructures/heterostructure-silicon-silicon-dioxide-hafnium-dioxide-titanium-nitride/wave-result-si-sio2-hfo2.webp "Si/SiO2/HfO2")
147+
148+
## 5. Add TiN Layer
149+
150+
### 5.1. Configure Final Layer Addition
151+
152+
Similar to steps in Section 4, we add the TiN layer to the Si/SiO2/HfO2 stack.
153+
154+
Use `create_interface_with_no_strain.ipynb` again:
155+
156+
```python
157+
# Keep slabs disabled
158+
ENABLE_FILM_SCALING = True
159+
CREATE_SLABS = False # Using pre-created TiN slab
160+
161+
FILM_INDEX = 1 # Pre-created TiN slab
162+
SUBSTRATE_INDEX = 0 # Si/SiO2/HfO2 structure
163+
164+
# Final interface parameters
165+
INTERFACE_DISTANCE = 2.5 # Angstroms
166+
INTERFACE_VACUUM = 10.0 # Final vacuum spacing
167+
```
168+
169+
### 5.2. Complete the Stack
170+
171+
Run the notebook to add the TiN layer and complete the stack.
172+
173+
![Final Stack](/images/tutorials/materials/heterostructures/heterostructure-silicon-silicon-dioxide-hafnium-dioxide-titanium-nitride/wave-result-si-sio2-hfo2-tin.webp "Final Stack")
174+
175+
The user then can [save or download](../../../materials-designer/header-menu/input-output.md) the material in Material JSON format or POSCAR format.
176+
177+
## Interactive JupyterLite Notebook
178+
179+
The following JupyterLite notebook demonstrates the process of creating target material. Select "Run" > "Run All Cells".
180+
181+
{% with origin_url=config.extra.jupyterlite.origin_url %}
182+
{% with notebooks_path_root=config.extra.jupyterlite.notebooks_path_root %}
183+
{% with notebook_name='specific_examples/heterostructure_high_k_metal_gate_stack.ipynb' %}
184+
{% include 'jupyterlite_embed.html' %}
185+
{% endwith %}
186+
{% endwith %}
187+
{% endwith %}
188+
189+
## References
190+
191+
1. [QuantumATK tutorial](https://docs.quantumatk.com/tutorials/hkmg_builder/hkmg_builder.html)
192+
193+
2. **D. A. Muller et al.**
194+
"The electronic structure at the atomic scale of ultrathin gate oxides"
195+
Nature 399, 758–761 (1999)
196+
[DOI: 10.1038/21602](https://doi.org/10.1038/21602)
197+
198+
3. **J. Robertson**
199+
"High dielectric constant gate oxides for metal oxide Si transistors"
200+
Reports on Progress in Physics 69, 327 (2006)
201+
[DOI: 10.1088/0034-4885/69/2/R02](https://doi.org/10.1088/0034-4885/69/2/R02)
202+
203+
## Tags
204+
205+
`slab-creation`, `interfaces`, `high-k`, `metal-gate`, `semiconductor`, `heterostructure`, `strain-matching`, `Si`, `SiO2`, `HfO2`, `TiN`

0 commit comments

Comments
 (0)