Thin Film Optics
Prerequisites
Optics Primer -> Light Basics -> Electromagnetic Waves -> this page
Thin films are everywhere in an image sensor pixel -- the anti-reflection coating (BARL), the color filter, even the microlens. When layers are only nanometers thick, interference effects become critical. Understanding thin film optics helps you design better BARL stacks and predict how layer thicknesses affect QE.
Thin film interference is one of the most important optical effects in image sensor design. Anti-reflection coatings, BARL layers, and even the planarization layer all rely on thin-film principles.
Single thin film
Consider a thin film of thickness
where
For a quarter-wave anti-reflection (AR) coating at normal incidence (
And zero reflection occurs when the film index satisfies:
Interactive Fresnel Calculator
Explore how reflection and transmission depend on refractive indices and incidence angle.
Multi-layer stacks
Real image sensors use multiple thin films. The BARL (Bottom Anti-Reflection Layer) is a multi-layer dielectric stack at the color-filter / silicon interface, but the exact materials, the number of layers (typically 2 to 5), and the stacking order vary substantially from vendor to vendor — these choices are part of each vendor's process recipe and are usually not disclosed. Common building blocks include SiO2, Si3N4, HfO2, Al2O3, TiO2, and Ta2O5, used in different combinations to hit a target broadband anti-reflection band.
The example below is one illustrative 4-layer stack that ships with the COMPASS sample configs. It is not a "correct" recipe — re-optimize the materials, layer count, and thicknesses for whatever silicon thickness, color filter, and target QE band you are actually modeling:
barl:
layers:
- thickness: 0.010 # example layer 1
material: "sio2"
- thickness: 0.025 # example layer 2
material: "hfo2"
- thickness: 0.015 # example layer 3
material: "sio2"
- thickness: 0.030 # example layer 4
material: "si3n4"For multi-layer stacks, the transfer matrix method (TMM) provides an exact solution. Each layer is represented by a 2x2 matrix:
where
The overall reflection and transmission coefficients follow from the matrix elements.
Interactive Thin Film Reflectance Calculator
Compute reflectance spectra using the transfer matrix method for common anti-reflection coating configurations.
Role in BSI pixels
In a backside-illuminated pixel, light enters through the silicon backside and must pass through several layers before reaching the photodiode:
Incident light
|
v
[Air]
[Microlens] -- focuses light onto pixel
[Planarization] -- uniform dielectric
[Color filter] -- wavelength-selective absorption
[BARL layers] -- anti-reflection at color-filter/silicon interface
[Silicon + DTI] -- photodiode regionThe BARL stack is designed to minimize reflection at the color-filter-to-silicon interface. Without it, the large refractive index mismatch (color filter
Spectral response effects
Thin film interference produces wavelength-dependent oscillations in the QE spectrum. These "Fabry-Perot" fringes are a common feature of image sensor simulations:
- Constructive interference at certain wavelengths boosts the QE.
- Destructive interference at other wavelengths creates dips.
The fringe spacing is approximately:
For a 3 um silicon layer at 600 nm,
WARNING
If your QE spectrum looks jagged or shows unexpected oscillations, check that your wavelength step is fine enough to resolve thin-film fringes. A step of 10 nm or smaller is recommended.
Angle-induced peak shift
For a Fabry-Perot-like resonator (such as a color filter or a thin-film bandpass filter integrated on a sensor), the transmission peak at wavelength
where cone_illumination source.
COMPASS implementation
COMPASS handles thin films differently depending on the solver:
- RCWA: Each uniform thin film layer is represented exactly as a single layer slice with thickness
and permittivity . No approximation is needed. - FDTD: Thin films must be resolved by the spatial grid. A 10 nm BARL layer requires grid spacing
nm, which can increase memory and computation time.
The PixelStack class automatically constructs all layers from the YAML configuration and provides the appropriate representation to each solver type.