Lecture 1.1
Why are nanoelectronic devices interesting?
In the lecture
- solid-state devices are nanotechnology, and they have changed human history
- a 1985 supercomputer (Cray-2) against a 2011 tablet (iPad 2): the same 4 GFLOPS, at a tiny fraction of the weight, power and price
- Moore's 1965 prediction and the number of transistors per chip, doubling about every two years
- a 22 nm tri-gate transistor (2012) whose fin is about 8 nm wide: "8 nm ≅ 64 atoms", devices that are atomically small
- transistors became 100 million times cheaper, which is why they can be everywhere
- the learning objectives of the course
In this notebook
we put the lecture's numbers into a few lines of code (the Cray-2/iPad ratios, the doubling time of the transistor count, the yearly fall of the price per transistor), then use open-nemo to build the 8 nm silicon fin's crystal, count its atoms, and compute with sp3d5s* tight binding how strongly an electron feels the confinement of a silicon film 1–8 nm thick. The result tells when the quantum mechanics this course is about becomes unavoidable.
Run it on your own machine
The notebook needs open-nemo (Python ≥ 3.10 and a C++20 compiler; BLAS/LAPACK).
git clone https://github.com/denphi/open-nemo.git && cd open-nemo
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[notebooks]"
jupyter lab From_Atoms_to_Devices/01_introduction/01_1_why_nanoelectronics_is_interesting.ipynb
Code
import numpy as np
import matplotlib.pyplot as plt
import opennemo as nemo
from opennemo.visualization import style
style.use(notebook=True)
1. A supercomputer in your hands#
Klimeck opens with a comparison. The fastest supercomputer of 1985, the Cray-2, and the iPad 2 of 2011 both deliver about 4 GFLOPS, i.e. \(4\times10^9\) floating-point operations (multiplications and additions of floating-point numbers) per second. The Cray needed a custom room that could carry it, chilled-water cooling, controlled access and specially trained users; the tablet is handed to children who are just learning to read, and has been taken along to the International Space Station. To give the Cray's size a feeling he compares it with his family minivan: about the same mass, 2,500 kg fully loaded, and about the same power, 195 kW.
The cell below computes the ratios on the slide from its data (the price ranges are taken at their midpoints).
Code
cray = {"mass (kg)": 2475.0, "power (W)": 195e3, "price (USD)": 0.5 * (12e6 + 17e6), "units sold": 27}
ipad = {"mass (kg)": 0.585, "power (W)": 5.0, "price (USD)": 0.5 * (500 + 700), "units sold": 35e6}
print(f"{'':12s} {'Cray-2 (1985)':>14s} {'iPad 2 (2011)':>14s} ratio")
for key in cray:
r = cray[key] / ipad[key]
word = "smaller" if r > 1 else "larger"
print(f"{key:12s} {cray[key]:14.4g} {ipad[key]:14.4g} {max(r, 1 / r):.1e} times {word}")
gflops_per_watt = 4.0 / np.array([cray["power (W)"], ipad["power (W)"]])
print(f"\nenergy efficiency: {gflops_per_watt[0]:.1e} and {gflops_per_watt[1]:.1e} GFLOPS per W "
f"({gflops_per_watt[1] / gflops_per_watt[0]:.0e} times better)")
Cray-2 (1985) iPad 2 (2011) ratio mass (kg) 2475 0.585 4.2e+03 times smaller power (W) 1.95e+05 5 3.9e+04 times smaller price (USD) 1.45e+07 600 2.4e+04 times smaller units sold 27 3.5e+07 1.3e+06 times larger energy efficiency: 2.1e-05 and 8.0e-01 GFLOPS per W (4e+04 times better)
The tablet is about four thousand times lighter, forty thousand times less power hungry and twenty thousand times cheaper, and it sold a million times more units: over a million in its first weekend and about 35 million in its first year, against 27 Cray-2 machines. Since both compute at the same rate, the energy per floating-point operation dropped by the power ratio, \(3.9\times10^4\).
2. Modern society runs on nanotechnology#
The same semiconductor technology runs communications, every business operation, manufacturing and agriculture. Klimeck's second example is not a processor at all: radio-frequency identification (RFID) tags, in credit cards, toll tags and ski passes. They secure financial transactions, and 76 billion of them were sold in 2018 — a short-term commodity that is thrown away. Such numbers are only possible because each device costs almost nothing.
3. Moore's law#
In 1965 Gordon Moore sketched the relative manufacturing cost per component against the number of components per integrated circuit. For each year the curve has a minimum: putting more components on a chip lowers the cost per component, until yield problems produce diminishing returns. Over the years the minimum moves to more components and lower cost. Read today, the law is usually stated as the number of transistors per chip doubling about every two years.
If \(N(t) = N_0\,2^{(t - t_0)/\tau}\), then \(\log_2 N\) is a straight line in \(t\) with slope \(1/\tau\). The cell fits the six processors labelled on the slide.
Code
chips = {"4004": (1971, 2.3e3), "8080": (1974, 4.5e3), "286": (1982, 1.34e5), "486": (1989, 1.2e6),
"Pentium 4": (2000, 4.2e7), "3rd gen. Core": (2012, 1.4e9)}
year, count = np.array(list(chips.values())).T
slope, icept = np.polyfit(year, np.log2(count), 1)
tau = 1 / slope
print(f"doubling time from the fit: {tau:.2f} years")
print(f"growth over 1971-2012: {count[-1] / count[0]:.1e} = 2^{np.log2(count[-1] / count[0]):.1f}")
n2019 = 2 ** (slope * 2019 + icept)
print(f"extrapolated to 2019: {n2019:.1e} transistors per chip (the slide: about 1e10)")
fig, ax = plt.subplots(figsize=(6.5, 4))
t = np.linspace(1968, 2022, 100)
ax.semilogy(t, 2 ** (slope * t + icept), color=style.CONTEXT, lw=1,
label=f"fit: doubling every {tau:.1f} years")
ax.semilogy(year, count, "o", color=style.OPEN_NEMO, label="Intel processors (slide 13)")
for name, (y, c) in chips.items():
ax.annotate(name, (y, c), textcoords="offset points", xytext=(5, -10), fontsize=8)
ax.axhline(7.7e9, color=style.REFERENCE, ls=":", lw=1)
ax.text(1970, 9e9, "humans on Earth (2019)", fontsize=8)
ax.set(xlabel="year", ylabel="transistors per chip", title="Moore's law", ylim=(1e3, 1e11))
ax.legend(frameon=False, fontsize=8, loc="lower right")
fig.tight_layout()
doubling time from the fit: 2.10 years growth over 1971-2012: 6.1e+05 = 2^19.2 extrapolated to 2019: 1.9e+10 transistors per chip (the slide: about 1e10)

The six processors give a doubling time of a little over two years, and over 41 years a growth by a factor of about \(6\times10^5\), i.e. almost twenty doublings. Klimeck stresses what the end point means: more transistors on one die than people on the planet, all of them working together without a fault. That is as much a statement about the quality of the design as about the size of the number.
4. Devices are atomically small#
Making the transistors smaller is what puts more of them on a chip and lowers the cost of each. The "technology node" (22 nm, 14 nm, ...) roughly names the gate length. In 2012 Intel's 22 nm node introduced the first mass-produced three-dimensional transistor, the tri-gate or FinFET: a thin silicon fin is the channel, and the gate wraps around it on three sides. Klimeck's picture is a garden hose: electrons enter from the source, flow through the channel, and the gate is a valve that squeezes the hose shut or opens it.
Eight nanometres is a number of atoms one can count. It is not Avogadro's number of particles but a few dozen, so the channel is no longer a continuum material: "Atomistically small. That means it's not continuum material. You really have to understand quantum mechanics." For comparison, a red blood cell is about 7,000 nm across, 875 times the fin width.
open-nemo builds the silicon crystal from the lattice constant of its tight-binding parameter set. The cell counts the atomic planes that fit across 8 nm for two directions a fin's width can take: along [001], where the planes are \(a/4\) apart, and along [110], where they are \(a\sqrt{2}/4\) apart.
Code
S = nemo.structures.structure
mat = nemo.structures.materials.load("boykin2004_sp3d5s")["Si"]
lat = nemo.structures.lattice.from_material(mat)
a = mat.lattice_constant
print(f"Si lattice constant a = {a} nm, nearest-neighbour distance a√3/4 = {a * np.sqrt(3) / 4:.4f} nm")
for label, d, c in (("[001]", [0, 0, 1], [1, 0, 0]), ("[110]", [1, 1, 0], [0, 0, 1])):
cut = nemo.structures.lattice.oriented(lat, d, c)
period = cut.conventional[0, 0]
sc = S.supercell(cut, (int(np.ceil(8.0 / period)) + 1, 1, 1))
planes = np.unique(np.round(sc.positions[:, 0], 4))
inside = planes[planes < 8.0]
print(f"across 8 nm along {label}: {len(inside)} atomic planes, {inside[1] - inside[0]:.4f} nm apart")
print(f"a 22 nm transistor against a 7,000 nm red blood cell: {7000 / 22:.0f} times smaller")
Si lattice constant a = 0.5431 nm, nearest-neighbour distance a√3/4 = 0.2352 nm across 8 nm along [001]: 59 atomic planes, 0.1358 nm apart across 8 nm along [110]: 42 atomic planes, 0.1920 nm apart a 22 nm transistor against a 7,000 nm red blood cell: 318 times smaller
Across 8 nm there are 59 (001) planes or 42 (110) planes: a few dozen atoms, the same order as the slide's 64, which counts eight atoms per nanometre.
When does an electron notice the confinement?#
A first quantitative answer: confine silicon to a film of thickness \(t\) and compute the lowest conduction-band state. In the effective-mass picture the film is a particle in a box with infinite walls, and the lowest subband of the two valleys whose heavy (longitudinal) mass \(m_l = 0.916\,m_0\) points across the film lies
above the bulk conduction-band minimum. The atomistic answer comes from the sp3d5s* tight-binding model of Boykin et al. (2004): open-nemo builds (001) films of 2 to 15 conventional cells, periodic in the plane and terminated by hydrogen-like passivation, and the cell takes the lowest conduction state at the in-plane Γ point (where the two valleys along [001] fold). The thermal energy \(k_BT = 25.9\) meV at 300 K is the scale to compare with: a confinement energy well below it barely changes the electron population; one well above it does.
Code
import scipy.linalg as sla
h2m0, kt = nemo.core.units.HBAR2_2M0, nemo.core.units.KB * 300.0
sk = nemo.models.tb.SlaterKoster(mat, passivation=30.0)
bulk_h = nemo.models.tb.SlaterKoster(mat).build(S.bulk(lat))
kx = np.linspace(0.7, 0.95, 51) * 2 * np.pi / a
ec_bulk = min(np.linalg.eigvalsh(bulk_h.dense(np.array([k, 0, 0])))[4] for k in kx)
rows = []
for ncell in (2, 3, 4, 6, 8, 11, 15):
sc = S.supercell(lat, (ncell, 1, 1))
film = S.Structure(sc.positions, sc.species, periods=sc.periods[1:], sublattice=sc.sublattice,
lattice=lat)
e = sla.eigh(sk.build(film).dense(np.zeros(3)), eigvals_only=True, subset_by_value=(0.5, 4.0))
t_nm = ncell * a
rows.append((t_nm, film.num_atoms, e[0] - ec_bulk, h2m0 * np.pi**2 / (0.916 * t_nm**2)))
rows = np.array(rows)
print(f"bulk conduction minimum (sp3d5s*): {ec_bulk:.4f} eV")
print(" t (nm) atoms/cell ΔE1 TB (meV) ΔE1 EMA (meV) ΔE1 TB / kT")
for t_nm, nat, d_tb, d_ema in rows:
print(f"{t_nm:7.2f} {nat:9.0f} {1e3 * d_tb:11.1f} {1e3 * d_ema:12.1f} {d_tb / kt:10.2f}")
bulk conduction minimum (sp3d5s*): 1.1312 eV t (nm) atoms/cell ΔE1 TB (meV) ΔE1 EMA (meV) ΔE1 TB / kT 1.09 16 280.3 347.9 10.84 1.63 24 141.7 154.6 5.48 2.17 32 81.7 87.0 3.16 3.26 48 38.2 38.7 1.48 4.34 64 21.2 21.7 0.82 5.97 88 11.4 11.5 0.44 8.15 120 6.2 6.2 0.24
Code
fig, ax = plt.subplots(figsize=(6.2, 4))
tt = np.linspace(0.9, 9, 100)
ax.loglog(tt, 1e3 * h2m0 * np.pi**2 / (0.916 * tt**2), color=style.REFERENCE, lw=1,
label="effective mass, $m_l$ = 0.916 $m_0$")
ax.loglog(rows[:, 0], 1e3 * rows[:, 2], "o", color=style.OPEN_NEMO, label="sp3d5s* tight binding")
ax.axhline(1e3 * kt, color=style.CONTEXT, ls="--", lw=1)
ax.text(1.0, 1e3 * kt * 1.15, "$k_BT$ at 300 K", fontsize=8)
ax.axvline(8.0, color=style.CONTEXT, ls=":", lw=1)
ax.text(7.3, 60.0, "22 nm fin", fontsize=8, rotation=90)
ax.set(xlabel="Si (001) film thickness t (nm)", ylabel="lowest subband above bulk $E_c$ (meV)",
title="Confinement energy of electrons in Si films")
ax.legend(frameon=False, fontsize=8)
fig.tight_layout()

At the 8 nm of the 22 nm node the confinement raises the lowest state by about 6 meV, a quarter of \(k_BT\): noticeable, but the particle-in-a-box formula still describes it to within a few percent. Below about 4 nm the shift exceeds \(k_BT\), and at 1.1 nm (16 atoms per in-plane cell) it is roughly ten times \(k_BT\); there tight binding and the effective-mass formula part ways (by about 20 % at 1.1 nm), because the electron samples the band far from its minimum, where it is no longer parabolic. The fins of the later nodes (about 6 nm and fewer atoms, see Lecture 2) and nanosheets a few nanometres thick sit in the range where this matters. Lecture 1.3 returns to why the parabolic band fails, and Section 9 of the course to what the atoms do to the states.
5. Transistors became 100 million times cheaper#
The last argument is economic. The website Our World in Data collects inflation-adjusted price histories of many products, some going back to 1930. Milk and sugar cost about the same throughout; polyester fibre, wind turbines and cars changed comparatively little. The transistor is the outlier: its price fell by a factor of about \(10^8\). Only a few other products came close — DRAM, the hard disk drive and DNA sequencing; laser diodes started on a similar slope but levelled off, and photovoltaics fell more slowly.
On the chart the transistor curve runs from about 1968 to the mid-2000s, roughly 40 years. Spread over 35–45 years, a factor \(10^8\) is a constant yearly reduction of:
Code
for span in (35, 40, 45):
per_year = 1e8 ** (1 / span)
print(f"1e8 over {span} years: price divided by {per_year:.2f} each year, "
f"halved every {np.log(2) / np.log(per_year):.2f} years")
1e8 over 35 years: price divided by 1.69 each year, halved every 1.32 years 1e8 over 40 years: price divided by 1.58 each year, halved every 1.51 years 1e8 over 45 years: price divided by 1.51 each year, halved every 1.69 years
Over 40 years the price per transistor halves every 1.5 years (1.3–1.7 years for 35–45 years), faster than the transistor count doubles. This is the sense in which the technology changed human history: transistors are affordable to essentially everyone, so they can be in everything — communication, computing and every part of society.
6. Learning objectives#
A typical solid-state devices course (Klimeck teaches one at Purdue) aims to explain the working principles and the physical processes of these devices, to relate device performance to materials and design criteria, to speak the language of device engineers and to be ready to engage in device research. This course adds what such courses usually leave out:
- understand band structure,
- understand the atomistic transport issues in modern devices,
- operate advanced simulation tools for device exploration.
The next lecture (1.2) starts from the basic operation of a transistor and the many questions its textbook pictures raise.
Summary#
- A 2011 tablet matches a 1985 supercomputer's 4 GFLOPS while being about \(4\times10^3\) times lighter, \(4\times10^4\) times less power hungry and \(2\times10^4\) times cheaper; it sold \(10^6\) times more units.
- The six Intel processors on slide 13 give a doubling time of the transistor count of a little over two years; by 2019 a chip held about \(10^{10}\) transistors.
- The 8 nm fin of the 22 nm tri-gate transistor is a few dozen atomic planes wide (59 along [001], 42 along [110] in open-nemo's Si crystal).
- In an 8 nm Si film the confinement raises the lowest electron state by about 6 meV, a quarter of \(k_BT\); below about 4 nm it exceeds \(k_BT\) and the parabolic-band estimate starts to fail.
- A price drop of \(10^8\) over about 40 years is a halving every 1.5 years.
Exercises#
- Repeat the doubling-time fit with only the processors before 1990, and with only those after. Has the pace changed?
- Extend the film table to 20 and 30 conventional cells (10.9 and 16.3 nm) and check that the tight-binding shift approaches the effective-mass formula. Why does the code above build only films that are a whole number of conventional cells thick?
- Repeat the film calculation for the Δ valleys lying in the plane of the film, whose mass across the film is \(m_t = 0.19\,m_0\) (search the lowest conduction state at in-plane \(k \approx 0.15 \times 2\pi/a\) along y). Which valleys are lowest in a thin film, and why?
- How many silicon atoms are in a fin 8 nm wide, 40 nm tall and 22 nm long? (Si has 8 atoms per conventional cell of volume \(a^3\).)
Further reading#
- Crystal structures, reciprocal lattices and Brillouin zones
- Ultra-thin bodies: subbands versus thickness, orientation and material
- FinFETs and nanosheets
- G. E. Moore, "Cramming more components onto integrated circuits", Electronics 38, 114 (1965).
- J. D. Farmer and F. Lafond, "How predictable is technological progress?", Research Policy 45, 647 (2016); data at ourworldindata.org/technological-progress.
- T. B. Boykin, G. Klimeck and F. Oyafuso, Phys. Rev. B 69, 115201 (2004) (the sp3d5s* Si parameters).



