Nano · Fab · Masks
E-beam direct write vs. mask writing: Gaussian, VSB, and multi-beam
E-beam lithography writes a layout into resist without a mask, either on the wafer (direct write) or on a photomask blank; Gaussian, VSB, and multi-beam writers differ in shot count, write time, and resolution.
Last edited: October 21, 2026

Electron-beam lithography (EBL, e-beam lithography) exposes a pattern by scanning a focused beam of electrons across an electron-sensitive resist. The electrons change the solubility of the resist, and the developer then removes either the exposed or the unexposed areas. No photomask sits in the beam path: the writer reads the pattern from a data file and exposes it shape by shape or pixel by pixel. Dedicated systems resolve features below 10 nm, but the serial exposure limits throughput, so e-beam lithography is used for photomask fabrication, low-volume device production, and research. The same machine type serves two purposes. In direct write, the beam patterns the resist on the device substrate itself. In mask writing, the beam patterns a mask blank, and an optical scanner later prints that mask onto every wafer.
The image at the top is one contact hole of 200 nm diameter on a mask, which is 50 nm on the wafer after the 4× reduction of an optical scanner, shown in LayoutEditor in three forms. Left, in teal, is the drawn polygon with 64 vertices. In the middle, in amber, LayoutEditor has fractured the same polygon into 25 trapezoids with horizontal top and bottom edges; a variable-shaped-beam writer exposes each such figure as one shot. Right, in blue, the circle is a raster of 316 pixels of 10 nm × 10 nm, the beamlet size of one multi-beam mask writer. The black lines outline each shot and each pixel.
Direct write and mask writing
The exposure physics is identical in both cases. The economics differ, because a mask is written once and then printed many times, while direct write exposes every substrate again.
| Direct write | Mask writing | |
|---|---|---|
| What the beam exposes | resist on the wafer, chip, or sample | resist on a chrome-on-quartz mask blank |
| Scale of the data | 1× (wafer dimensions) | 4× wafer dimensions for a 4× reduction scanner |
| Exposures per pattern | one per substrate | one per mask; the scanner prints the mask on every wafer |
| Typical use | research devices, DFB lasers and other photonic parts, nanoimprint templates, millimeter-wave transistors, low-volume parts | photomasks for all optical lithography, including EUV masks |
| Main limit | write time per substrate | write time per mask and pattern complexity |
An optical step-and-scan system prints the whole mask field in one exposure pass. ASML specifies the TWINSCAN NXT:2050i immersion scanner at 295 wafers per hour with a 26 mm × 33 mm field at 4× reduction. That field also limits the die: a die that outgrows the stepper field cannot be printed in one exposure. An e-beam writer has no field of that kind; it deflects the beam within a write field of 100 µm to 1 mm and moves the stage between fields (Wikipedia, "Electron-beam lithography").
Massively parallel direct write was developed as a mask-free alternative for volume production. The Mapper FLX-1200 used 65,000 electron beams at 5 kV in a 13 mm × 2 mm slit and was validated in 2018 at about one 300 mm wafer per hour. Direct write therefore remains a tool for research and small volumes, where it removes the cost and lead time of a mask set. Volume production uses e-beam writers to make the masks.

The second image shows the direct-write configuration: a small sample on the stage directly under the electron column. Nothing sits between the column and the resist; the pattern comes from the data path.
Gaussian, variable-shaped, and multi-beam writers
Writers differ in the shape of the beam and in how it moves. Three architectures are in use (Wikipedia; EIPBN 2018 abstract 1B-1):
- Gaussian beam (spot beam): a round spot of a few nanometers fills each shape pixel by pixel. Vector-scan Gaussian tools deflect the beam only over the shapes to be exposed. They are the most common research writers and suit curved, non-Manhattan patterns such as photonic devices. Older mask writers used raster-scan Gaussian beams, and some still write masks for trailing technology nodes.
- Variable shaped beam (VSB): apertures in the column shape the beam into a rectangle (on many tools also a triangle) of variable size, and each figure is exposed as a single shot. Character projection, a VSB variant, exposes predefined complex shapes in one shot. VSB writers produce most leading-edge masks.
- Multi-beam: an aperture plate splits one beam into hundreds of thousands of beamlets that are switched on and off individually while the array scans the mask in a raster. The write time does not depend on the number or complexity of the shapes.
| Writer | Type | Energy | Beam | Field | Current | Source |
|---|---|---|---|---|---|---|
| JEOL JBX-8100FS | Gaussian, vector scan | 100 kV | 5.1 nm (high-throughput mode), 1.8 nm (high-resolution mode) | 1000 µm / 100 µm | 5 pA to 200 nA | JEOL specifications |
| NuFlare EBM-9500 | VSB | 50 kV | shot size 0.1 to 250 nm, current density 1200 A/cm² | — | 500 nA at maximum shot size | NuFlare, eBeam Initiative 2016 |
| NuFlare MBM-1000 | multi-beam | 50 kV | 512 × 512 beamlets of 10 nm × 10 nm | 82 µm × 82 µm array | 500 nA total | NuFlare, eBeam Initiative 2016 |
| IMS MBMW-101 | multi-beam | 50 kV | 262,144 beams of 20 nm | 82 µm × 82 µm | up to 1 µA total (1 A/cm²) | IMS, BACUS 2016 |
The JBX-8100FS writes lines below 12 nm in high-throughput mode and below 8 nm in high-resolution mode. Wikipedia lists about 20 nm resolution for a state-of-the-art multi-beam mask writer in 2022. Dedicated commercial systems cost more than US$1 million; research groups also convert scanning electron microscopes into writers with accessories that cost less than US$100,000.
Write time
The minimum exposure time follows from the charge the resist needs:
T = D · A / I
with dose D in C/cm², exposed area A in cm², and beam current I in A (Wikipedia). For 1 cm² of exposed area at a dose of 100 µC/cm², a 2 nA Gaussian beam needs 50,000 s, which is 13.9 h; a 100 nA beam needs 1,000 s. This is beam-on time only; stage moves between fields and other overhead add to it. The formula also shows that the beam-on time scales with the exposed area, not with the chip area.
The scan rate limits how much current a Gaussian writer can use. At a beam step of 5 nm, each step receives 2.5 × 10⁻¹⁷ C at the same dose. A 2 nA beam delivers that charge in 12.5 ns, a rate of 80 MHz. The JBX-8100FS scans at up to 125 MHz, so its shortest dwell is 8 ns, and currents above 3.1 nA at that dose and step require a larger step.
A VSB writer exposes one shot in the time D / J, where J is the current density in the shaped beam. At 1200 A/cm² and 75 µC/cm² a shot takes 62.5 ns, independent of its size. The total time is therefore proportional to the shot count. NuFlare's 2016 comparison places the crossover with multi-beam writing at about 200 gigashots per pass: above it, the multi-beam writer is faster. A 2020 study by D2S reads the same chart as a VSB write time of 12 h at 200 gigashots per pass and 75 µC/cm², and converts it into a shot density of 36 shots per µm². Exposure alone for 200 × 10⁹ shots of 62.5 ns is 3.5 h; the rest of the 12 h is time outside the exposure. IMS reported in 2016 that the most complex leading-edge masks took more than 30 h on VSB writers, against an industry requirement of less than 24 h.
A multi-beam writer exposes a fixed pixel grid, so its time depends on dose and data rate, not on the pattern. The MBMW-101 writes a 100 mm × 130 mm mask field in less than 10 h through a 120 Gbit/s data path; NuFlare specifies 12 h at 75 µC/cm² for the MBM-1000. For the MBM-2000, NuFlare reports a constant write time up to 130 µC/cm², where the data transfer is the limit; above that dose the exposure time dominates.
Dose cannot be lowered freely. With fewer electrons per feature, the statistical variation of the electron count (shot noise) increases. For a dose error of 5 % in one feature out of a million, the minimum dose is 127 µC/cm² for a 40 nm feature, 509 µC/cm² for 20 nm, and 2,037 µC/cm² for 10 nm (SPIE 8683-36, 2013, quoted by Wikipedia). Halving the feature area doubles the required dose and the dose-limited write time.
Fracture and shot count
A VSB writer cannot expose an arbitrary polygon. Mask data preparation therefore fractures every polygon into non-overlapping basic figures, rectangles and trapezoids, each within the writer's maximum shot size. A UC Berkeley fracture study names the constraints and costs: shots must not overlap, because overlap doubles the dose; the shot count sets the write time; and slivers, figures narrower than a tool-specific limit ε, have larger size variation than full shots. Slivers along the polygon boundary (external slivers) affect the printed critical dimension (CD) most; the study used ε = 25 nm. The writer-side format OASIS.MASK (SEMI P44) is a restricted OASIS subset that stores only rectangles and trapezoids. NuFlare writers read VSB12i and OASIS.MASK, and NuFlare multi-beam writers also read their own MBF format with polygon support. How fracture splits shapes, and where slivers come from, is the topic of mask fracture.
Curves increase the shot count. Each vertex of a curved polygon adds edges that a VSB writer must approximate with additional figures.

The third image shows a disk of 10 µm diameter drawn with three vertex counts and fractured in LayoutEditor into trapezoids at most 2 µm tall. The black lines are the trapezoid boundaries.
| Vertices | Trapezoids | Polygon area (µm²) | Deviation from the ideal circle (78.540 µm²) |
|---|---|---|---|
| 16 | 8 | 76.534 | −2.6 % |
| 64 | 32 | 78.414 | −0.16 % |
| 256 | 104 | 78.526 | −0.02 % |
Going from 64 to 256 vertices more than triples the trapezoid count and changes the area by 0.14 %. The vertex count that a design needs follows from the CD tolerance of the layer, not from the appearance on screen; circles and curves covers how layout tools store arcs as polygons.
Counting trapezoids in LayoutEditor
LayoutScript, the Python interface of LayoutEditor, can fracture a layer and report the figure count and the dose-limited time before a file goes to the writer. The script below flattens the layer, merges overlapping shapes (an overlap would be exposed twice), records the area, fractures the merged shapes into trapezoids at most 2 µm tall, and compares the area of the trapezoids with the merged area. Dose and current are example values: 2 nA is the lowest current one university facility offers on its JBX-8100FS in high-throughput mode.
import sys
from LayoutScript import *
gds, layer = sys.argv[1], int(sys.argv[2])
max_h = 2000 # nm, tallest trapezoid
dose = 100e-6 # C/cm2
current = 2e-9 # A
d = project.newLayout().drawing # 1 dbu = 1 nm
d.openFile(gds)
cell = d.findTopCell()
cell.flatAllLayer(layer) # resolve cell references and arrays
cell.deselectAll(); cell.selectLayer(layer)
cell.mergeSelect() # overlapping shapes would be exposed twice
cell.deselectAll(); cell.selectLayer(layer)
area = cell.areaSelect() # nm2
cell.fractureTrapezoidSelect(max_h)
cell.deselectAll(); cell.selectLayer(layer)
shots = cell.countSelectShapes()
check = "ok" if abs(cell.areaSelect() - area) <= 1e-3 * area else "area differs"
t = dose * area * 1e-14 / current # s, beam on only
print(f"{gds}: {shots} trapezoids, {area / 1e6:.3f} um2, "
f"{t * 1e3:.3f} ms beam-on, area check {check}")
Run it as python3 shot_count.py design.gds 1 with PYTHONPATH pointing to the LayoutScript module of the LayoutEditor installation. Output for three of the test layouts:
L45.gds: 6 trapezoids, 63.500 um2, 31.750 ms beam-on, area check ok
plus.gds: 5 trapezoids, 36.000 um2, 18.000 ms beam-on, area check ok
fill.gds: 2500 trapezoids, 25.000 um2, 12.500 ms beam-on, area check ok
L45.gds is an L-shaped polygon with a 45° corner. plus.gds is two overlapping rectangles: after the merge the area is 36 µm², not the 40 µm² of the two rectangles, and the count is 5 instead of 6. fill.gds is a 50 × 50 array of 100 nm squares at 200 nm pitch. It has less area than the L but 400 times as many figures, and on a VSB writer every figure costs one shot time. The count is LayoutEditor's trapezoid fracture; the writer's own fracture, with its maximum shot size and sliver rules, decides the real shot count. The script is useful for comparing two versions of the same file, for example with and without fill.
Proximity effect and its correction
Electrons scatter in the resist and in the substrate, so the energy deposited in the resist extends beyond the beam. Forward scattering in the resist widens the beam slightly. Backscattered electrons from the substrate return to the resist over a much larger radius. The resulting proximity effect adds a background dose that depends on how much area is exposed nearby: a line in a dense array receives more dose than the same line in isolation and prints wider.
The common model describes the deposited energy of a point exposure as the sum of two Gaussian distributions with the forward-scattering range α, the backscattering range β, and the ratio η of backscattered to forward-scattered energy. Values for 0.5 µm of resist on silicon:
| Beam energy | α (µm) | β (µm) | Source |
|---|---|---|---|
| 50 keV | 0.024 | 9.5 | Georgia Tech nanolithography notes, proximity effect |
| 100 keV | 0.007 | 31.2 | same |
| 100 keV (measured) | — | 31.08 (η = 0.63) | J. Vac. Sci. Technol. B, 2012 |
A higher beam energy reduces forward scattering and spreads the backscattered dose over a larger area at a lower level. For writers at 100 kV and above the double-Gaussian model is inaccurate: a 2025 study at 150 kV found deviations of up to four orders of magnitude and proposed a power-law term plus a Gaussian.
Proximity effect correction (PEC) solves the inverse problem: it computes an exposure distribution that, convolved with the point spread function, gives the intended dose distribution. In practice the writer or the data preparation assigns each shot or region its own dose, lower in dense areas and higher at isolated features and edges. Mask writers apply further corrections: NuFlare lists PEC, fogging effect correction (FEC) for backscattered electrons that are reflected back onto the mask over long distances, and loading effect correction (LEC). A dose error from shot noise is not corrected by PEC.
Write fields, stitching, and charging
The beam deflection covers only a write field. Larger patterns are assembled from fields by moving the stage, and a feature that crosses a field boundary depends on the stitching accuracy. The JBX-8100FS specifies a stitching accuracy of ±20 nm or better for its 1000 µm field and ±9 nm or better for its 100 µm field. For a critical structure such as a waveguide, a grating, or a gate, the field grid of the writer determines whether a boundary crosses it.
Charging affects insulating substrates. Electrons that stop in a silicon wafer can flow to ground, while a quartz mask substrate holds the charge longer, and the charge deflects the beam. Long writes add further risks: beam drift, contamination, and data-related errors such as deflection or shaping errors. Wikipedia notes that a write can exceed a day and that larger data files offer more opportunities for data-related defects.
Preparing a layout for an e-beam write
The writer operator or the mask shop specifies resist, dose, and data format. The layout determines shot count, exposed area, and field crossings:
- Send only the layers that are written, each mapped to the layer the job expects.
- Merge overlapping shapes on the same layer before fracture, see merging polygons.
- Draw curves with the vertex count that the CD tolerance requires.
- Leave out dummy fill unless the process requires it; on a VSB writer each fill shape costs at least one shot.
- Keep critical features out of write-field boundaries when the field grid is known.
- Keep all vertices on the grid that the job specifies; data preparation snaps off-grid vertices, see snapping and off-grid.
Before booking writer time, compare the trapezoid count and exposed area of the file with and without the optional content, and ask the operator for the writer's own shot count and estimated write time for both versions.
Continue exploring
-
What is a photomask? The glass plate that prints a chip
A photomask, also called a reticle, is a quartz plate with a chrome pattern. Light shines through it to copy one layer of a chip onto a wafer, and a chip needs a stack of them.
-
Mask fracture in one sitting
Your polygons become the shots a mask writer can fire. The file grows. Slivers appear.
-
Steppers and why size matters
The machine prints a field, then steps. Your die has to fit that window, not only the wafer.
-
Optical proximity correction (OPC)
Optical proximity correction changes the mask after layout, with serifs, hammerheads, biases, and assist bars, so that the printed pattern matches the drawn shapes.
-
Nano, when a wavelength is huge
At a few tens of nanometers, light is clumsy and neighbors donate dose. The drawing is not the print.
-
Drawing circles in a layout: polygons, side count, and arc error
A layout file saves a circle as a many-sided polygon. How many sides to use, how far the flats sit inside the true radius, and what the mask shop will see.
-
Merging polygons
A merge replaces overlapping shapes on one layer with a single outline of the area they cover. Here is how that outline is computed, what the file stores, and where it goes wrong.
-
OASIS vs GDSII: when GDS gets huge
OASIS (SEMI P39) can store a repeated shape as one record plus a repetition, so contact, via, and fill fields take less space than in GDSII; unique polygons do not get smaller.