“Know how to solve every problem that has been solved.” “What I cannot create, I do not understand.” — Richard Feynman

Photolithography: Printing with a Low-Pass Filter

Semiconductors

What you need to know first 1 concepts, 1 layers

The requisite-knowledge inventory for this page, bottom-up: the primitives at the base, combined upward until you reach what this page assumes. Skim the layers you already own; start wherever the ground gets unfamiliar.

  1. base
    • The Fourier transformconcept
  2. you are here

1 of these are concepts without a dedicated page yet — the grey chips. Following the linked ones first makes the rest land.

Every feature on every chip you own was printed with light whose wavelength is larger than the feature. The machine that does it — a projection scanner — is optically just a very good camera, and a camera obeys diffraction: its lens accepts only the spatial frequencies that fit through the pupil. That makes the whole of photolithography one sentence long. A projection lens is a low-pass filter on the mask's spatial-frequency content. Fourier transform the mask, delete everything with , transform back, square: that is the image the resist sees. This page runs that model — fifteen lines of numpy — and gets the resolution limit, the death of sharp corners, phase-shift masks, and the reason OPC exists, each validated against a number known in advance.

def image_1d(mask, dx, na, lam=193.0):
    """Coherent aerial image of a mask amplitude. The entire imaging model."""
    E = np.fft.fft(mask)
    f = np.fft.fftfreq(mask.size, d=dx)
    E[np.abs(f) > na / lam] = 0.0      # the pupil: a hard low-pass filter
    return np.abs(np.fft.ifft(E)) ** 2

def image_2d(mask, dx, na, lam=193.0):
    E = np.fft.fft2(mask)
    fx = np.fft.fftfreq(mask.shape[1], d=dx)
    fy = np.fft.fftfreq(mask.shape[0], d=dx)
    FX, FY = np.meshgrid(fx, fy)
    E[np.sqrt(FX**2 + FY**2) > na / lam] = 0.0
    return np.abs(np.fft.ifft2(E)) ** 2

Numbers used throughout: ArF excimer laser, nm; numerical aperture (dry) and 1.35 (water immersion — the fluid's is what lets NA exceed 1). One scope statement before anything else: this is coherent imaging (illumination coherence , a single plane wave). Real scanners use partially coherent illumination — Hopkins (1953) is the standard formulation — which raises the ultimate grating cutoff by a factor and softens every hard edge in the story below. The structure of the physics is unchanged; the coherent case is the one you can hold in your head.

The resolution limit, measured

A line/space grating of pitch has diffraction orders at spatial frequencies . Coherent imaging needs the orders to interfere with the zeroth: the moment , they fall off the pupil and the image goes uniformly gray. Not gradually — exactly:

Aerial image contrast versus grating pitch for three cases: binary mask at NA 0.9 and 1.35, and alternating phase-shift mask at NA 1.35. Each curve is a step function dropping from full contrast to zero exactly at its theoretical cutoff line.
== binary grating cutoff ==
NA = 0.9:  theoretical cutoff pitch = 214.4 nm, measured collapse at 216 nm (grid step 2 nm)
NA = 1.35: theoretical cutoff pitch = 143.0 nm, measured collapse at 144 nm (grid step 2 nm)

== alternating phase-shift mask ==
NA = 1.35 PSM: theoretical cutoff pitch = 71.5 nm, measured collapse at 72 nm
               -> 2.00x below the binary cutoff
half-pitch k1: binary 0.50, alternating PSM 0.250

The all-or-nothing step is itself the signature of coherent illumination: a grating prints at essentially full contrast or not at all. (Partial coherence turns the cliff into a slope — that is most of what it does.) The measured collapse pitches sit within one 2-nm grid step of , and immersion buys exactly its advertised factor: 216 nm → 144 nm is to three digits.

The green curve is the trick worth the whole page. Levenson's alternating phase-shift mask (1982) etches every other transmitting slot to add a half-wave of path — multiplying that slot's amplitude by . The mask's average transmission is now zero: the DC order vanishes, the fundamental moves to , and the two surviving orders interfere to print the pattern at half the binary cutoff — measured 72 nm against a theoretical 71.5, a factor of 2.00 below the binary mask through the same lens. In half-pitch terms, drops from 0.50 to 0.25 — the hard floor. Nothing about the lens changed; the mask stopped wasting an order on carrying zero information.

What the filter does to corners

A sharp corner is made of arbitrarily high spatial frequencies, and the pupil discards all of them past the cutoff. So corners round — not from any imperfection, but from information that provably never reached the wafer. The same L-shaped elbow at three linewidths, imaged at NA = 1.35:

Three L-shaped masks of linewidth 400, 200 and 120 nanometers above their computed aerial images: the largest prints crisply with faint ripple, the middle one rounds at the corner, and the smallest becomes a glowing blob barely holding the L shape.

At nm the print is faithful, down to the faint standing-wave ripple along the arms (interference of edge diffraction — real, not an artifact). At 200 nm the outer corner has visibly melted. At 120 nm — still above the 72 nm half-pitch limit! — the elbow is a rounded glow. Resolution limits and pattern fidelity are different budgets: you run out of corner long before you run out of pitch.

Neighbors matter: proximity

Computed aerial images of a single 130 nanometer contact hole and a five-by-five array of the same holes at 170 nanometer pitch, on the same intensity scale: the array's holes are dimmer and connected by faint bridges of intensity.
== contacts (130 nm holes, NA = 1.35) ==
isolated hole peak intensity 1.659, center of 5x5 dense array (pitch 170 nm) 1.568
saddle between adjacent dense holes = 0.341 (22% of peak - resist threshold decides merge)

The same 130-nm contact hole prints differently alone and in a crowd — each hole's diffracted field overlaps its neighbors'. The number to watch is the saddle: midway between adjacent dense holes the intensity reaches 22% of the peak, and the resist threshold below sits at 35%. The holes stay separated — with a margin of 0.017 in normalized dose. Every layout rule that forbids certain pitches is this calculation, run in reverse.

The resist is a threshold detector

To first order, chemically amplified resist develops wherever the delivered dose crosses a threshold — so the printed pattern is the aerial image binarized at a level set by exposure dose. Slide the threshold and the printed linewidth slides with it:

The same elbow aerial image binarized at resist thresholds 0.25, 0.35 and 0.45: the printed shape survives at all three but its linewidth shrinks as the threshold rises.
== dose latitude (elbow arm drawn 160 nm) ==
threshold 0.25: printed CD = 156 nm
threshold 0.35: printed CD = 142 nm
threshold 0.45: printed CD = 130 nm

A 160-nm drawn line prints at 156, 142, or 130 nm as the threshold moves from 0.25 to 0.45 — about 13 nm of critical dimension per 10% of dose. That sensitivity is dose latitude, one axis of the process window every fab lives inside; the steeper the aerial image's sidewalls, the less the CD cares about dose, which is why image contrast — not just resolution — is the currency of the whole field.

Why OPC exists

If the lens is a known filter, you can pre-distort the mask so the filtered result lands closer to the intent — optical proximity correction. The classic hand moves: serifs on outer corners and hammerheads on line ends. Here is a one-parameter version: scan the serif size, keep the best.

Four panels: a naive L mask and its rounded print, then the same mask decorated with corner serifs and end hammerheads and its print, which holds squarer corners and reaches the intended line ends.
== OPC (w = 120 nm, threshold 0.35) ==
naive mask IoU = 0.859
  serif = 0.10 w: IoU = 0.867
  serif = 0.20 w: IoU = 0.858
  serif = 0.30 w: IoU = 0.837
  serif = 0.50 w: IoU = 0.750
best serif 0.10 w: IoU 0.859 -> 0.867
line-end pullback: naive 10 nm -> with hammerheads -4 nm

Two lessons in one table. First, the wins are local: global pattern fidelity (intersection-over-union against the drawn target) barely moves, because corners and ends are slivers of total area — but the line-end pullback, which is the actual electrical failure mode (a via missing its landing), goes from 10 nm short to 4 nm long. Hammerheads do exactly the job they were invented for. Second, more correction is not better: serifs past 0.2 w actively hurt, overprinting more than they fix. Greedy hand-tuning saturates within a percent — which is why production OPC is an inverse problem solved by optimization over every edge segment of the layout (inverse lithography technique treats the mask itself as the unknown in exactly the sense of gradient descent). The forward model being differentiable — it's an FFT and a mask — is what makes that industry possible.

The k₁ ladder: forty years on one axis

The whole history of lithography compresses into the Rayleigh scaling : shrink the wavelength, grow the aperture, and grind down with mask and illumination tricks. Representative production points:

Generation (nm)NAhalf-pitch
g-line (Hg lamp)436~0.5~500 nm
i-line (Hg lamp)365~0.6~350 nm
KrF excimer248~0.8~130 nm
ArF dry1930.93~90 nm
ArF immersion1931.35~38 nm
EUV13.50.33~13 nm

Check the last ArF row against this page: 38 nm half-pitch at NA 1.35 and 193 nm is below our coherent limit of 0.5 and a hair above the absolute floor of 0.25. Production got there by stacking exactly the tricks demonstrated above: partial coherence and off-axis illumination for the factor, phase shifting, aggressive OPC, and finally printing one layer as two interleaved exposures when a single pass could not. EUV at 13.5 nm reset by 14× so could relax again — at the price of an optical system with no transparent materials left (see the probes).

Try First

Each prompt asks a checkable question about the working code or math above — predict an output, derive a sign, state an invariant, find a bug. Commit to an answer before clicking "reveal." That commitment is the whole point: if your answer matched, you understand the piece you were looking at; if it didn't, that's the part worth re-reading.

predict
The grating vanished abruptly below pitch . Predict: does a single isolated line narrower than also vanish from the image?
why does this work
Why does putting water between the lens and the wafer improve resolution? The wavelength in water is shorter — is that the right way to say it?
what if
EUV machines use curved mirrors — six or more of them — and the mask itself is reflective. Why did lenses disappear?

Extensions

Reproduce it

scripts/gen_photolithography.py regenerates every figure and number in seconds — the model really is a handful of FFTs. The script's history is worth a sentence: its first version reported gratings printing 25% past the diffraction limit, because non-commensurate grating periods leaked spectral sidelobes under the pupil. The fix (integer-pixel periods, windows an exact multiple) is documented in the source — a reminder that in Fourier-based simulation, the leakage you forgot about is always the physics you think you discovered.