What it shows
A mask is the stencil used to print a chip layer with light. Checking a mask means simulating the printed image, and an accurate simulation is slow. Fast checks approximate it, and an approximation can approve a pattern the accurate simulation would reject.
This check does not approximate the simulation it encloses. It carries every quantity as a range and rounds each step outward, so, under the computer’s standard floating-point rules and assuming its maths library is as accurate as stated, the simulation’s result is inside the final range. The record reports that no pixel ever fell outside.
The published record says, word for word (an excerpt)
with 0 soundness violations over 13,303,808 pixel-checks across 232 masks
Why it matters
A range that is guaranteed to contain the simulation lets a fast check reject safely: anything the range rules out, the slow simulation would rule out too. How often that saves a slow run depends on how tight the range is. The error shows up at check time, not after a mask has been made.
Why now: lithography is entering a new machine generation; ASML calls its first High-NA EUV system "the first in a new generation of machines", printing smaller features in a single exposure. Each new generation brings new masks whose printing has to be checked.
Who should care
- Computational-lithography software makers. A first pass that cannot approve a pattern the simulation it encloses would reject. We make no speed claim for the check: the record’s speed figure is for one part of it only, the simulation it encloses. How tight the range is, the record does not say.
- Mask-inspection and mask-signoff teams. A check whose answer is a bound, not an estimate, for the simulator it is built on.
The limits, in the record’s words
The published record says, word for word (an excerpt)
Enclosure of the forward model at the stated grid, not of the physics.
The published record says, word for word (an excerpt)
Finite battery, simulator-relative.
The pixel checks within one mask are not independent of each other, so the masks are the real sample. Nothing here is compared with a commercial lithography model or with a printed wafer.
Open source for this step
Tools and datasets we publish for the print step of building a multi-chip package. They are the checkers around this work, not a copy of the result itself.
- cert-atlas: A labelled set of forged lithography certificates, scored on wrong accepts and wrong rejects alike, so a checker that accepts everything or rejects everything cannot score well.
- lcert-verify: A checker for our lithography certificates that needs only Python's standard library.
- lcert-verify-web: The same verifier in the browser: zero dependencies, nothing uploaded.
- equiv-receipt: A small file that records why two versions of a circuit compute the same thing, which anyone can re-check without our tools.
- prereg (pre-registration primitive): Write your acceptance criteria down, hash them, then measure — a tiny pre-registration primitive.
- certified-mcp: Lets an AI agent ask our certificate checker for a yes-or-no answer, instead of judging a certificate itself.
- cert-verifier: Drop a lithography certificate bundle and verify it in your browser.