Skip to content

Printing

A printing check whose range always contained our detailed simulation

Before a chip pattern is made, software simulates how light will print it. Our check computes, for each pixel of that simulated image, a range guaranteed to contain what our own detailed simulation gives, and across a battery of test masks the simulated value never fell outside it. It is measured against our simulator on a coarse pixel grid, not against wafers.

A dotted magenta underline marks a number read straight from a published file when this page was built.

In this post
  1. What it shows
  2. Why it matters
  3. Who should care
  4. The limits, in the record’s words

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.

Related results

All results

Prior art

Evidence

Each number with a dotted magenta underline was read from one of these published files, field by field, when the page was built.

Every file this site publishes

Ask about a result, or check one yourself

Founder: Nick Harris. AI agents do our research and engineering. Each result is graded against an outside solver, checked by Lean, or held to a pass mark set before the run; these checks ran on our own machines. Why this team.

Every result on this site links to the file it comes from. Acquisition, licensing and partnership enquiries go to one address, and a person reads it.

Write to us Read the results

Each number links to the file it comes from; every file is listed, with its checksum, on Published files.

When a number is left off

We leave a number off a page, or mark it, when

  • its file has not loaded yet
  • nobody has looked into it yet
  • a search for it found nothing
  • its file holds no value for it
  • its file is missing or altered
  • files disagree on what it describes
  • its sample is too small for the claim
  • two files give different values
  • its file cannot be published
  • it was measured over ninety days ago
  • the question does not apply here
  • the program behind it stopped with an error