Skip to content

EUV

EUV is an AI-driven computational lithography lab that corrects mask geometry so the simulated pattern printed on a wafer better matches the intended chip design.

Core trick

Runs an LLM proposing mask corrections through a numerical optics simulator, then tunes them with Bayesian optimization against held-out focus and dose conditions.

Tags

Description

EUV is an AI-driven computational lithography lab that corrects mask geometry so the simulated pattern printed on a wafer better matches the intended chip design. It combines a numerical optics simulator, AI-proposed corrections, and Bayesian optimization.
kiankyars/euv★ 00 forksPythonCreated Sep 8, 2026 · last push Sep 8, 2026

README excerpt

# Astra Lithography Lab

[Open the replay lab](https://kiankyars.github.io/euv/) · [Controller comparison](docs/comparison.md) · [Research audit](docs/research-candidate-audit.md)

A computational lithography laboratory that Astra can operate through measured experiments.
Inspect the target, correction mask, aerial exposure, and printed contours; follow each hypothesis
back to its simulation; test the final mask on focus/dose conditions withheld from optimization.

The local application runs real experiments. The GitHub Pages build explores exported recordings
without a backend or model credentials. Neither mode claims calibrated wafer predictions.

## 50-second saved-run demo

- **0–10 s:** Open the replay lab → **Experiments** → **Line ends · Astra and Bayesian search**.
- **10–25 s:** Keep **Candidate 02 / FINAL** selected. Show the corrected mask and printed contour; toggle **Compare before**, then **Show selected**.
- **25–40 s:** Show Astra's hypothesis and requested optimizer action in **Lab notes**, then the **9/9** search and **16/16** withheld passes (baseline: **3/9**).
- **40–50 s:** Click a condition, then **Inspect provenance**. Explain that these saved scalar simulations use a **4 nm mean-edge-error criterion with intact features**.

## Run locally

Requires [uv](https://docs.astral.sh/uv/) and Node.js 22+. The reference numerical runtime is
Apple Silicon on macOS 26; Python 3.12 is selected automatically by uv. Other runtimes must pass
their own numerical gate

Team