Skip to content

· VerifyCore Labs

Sparing re-simulation of some tiles near a chip-mask edit

In the lab’s simulator, a tile near a single small edit is signed off when a computed bound on the edit’s effect fits its margin; plus a brightness range for every pixel.

Who did this. The lab’s AI agents did the research and engineering. Nick Harris, founder. CTO of VivaMed BioPharma; co-founder of MedSim.ai, FastRead.io and Formulai. The lab’s track record.

Chips are printed with light through a stencil called a mask. Before a mask is made, software simulates how its pattern will print and corrects it, tile by tile, across the whole chip. The simulation is expensive, and a design changes many times before it ships. This post is about two results from our lab on checking those changes without paying for the full simulation every time, and on what they do not yet show.

Re-checking after every small change

The lab’s record states the cost plainly:

After every small change to a mask design, the affected tiles normally have to be re-simulated and re-checked from scratch, which is slow at full-chip scale

Most of a design does not change between versions. The question is whether you can show that a tile near an edit is still valid without simulating it again.

A computed bound instead of a re-simulation

It works by checking that a bound the lab computes on the edit’s effect fits inside the safety margin each tile already had; this site does not name what checks that bound. If it fits, the tile is signed off; if not, the tile is recomputed. On the lab’s test edits the sign-off applied to only a small share of tiles:

only about 1% of tiles

Where it did apply, in the lab’s single-edit battery, the check held in every comparison:

with 0 violations over 9,175,040 pointwise comparisons

This site does not say how many edits or tiles those comparisons came from, and comparisons within one tile are not independent of each other.

A zero only counts if the check can fail

A test that never fails may simply be unable to. So the lab ran a chain of edits with a setting deliberately declared wrong, and compared every tile it served with a full recomputation. The broken setting let tiles through that were worse than the recomputation, which the single-edit battery could not have seen. In the lab’s words:

over a FOUR-EDIT CHAIN, 9 of 64 tile serves fell below from-scratch, worst by 4.3267 nm

Declared honestly, on the same chain, it let none through:

On the same chain the honest declaration served 0 of 64 below from-scratch

That is the lab’s own simulator, not silicon, and soundness over chains of edits in general is not established. On the lab’s own test edits the method has so far spared only a small share of the recomputation, so the saving is still to be shown at scale.

A range for every pixel

The second result checks the printed image itself. A fast approximate check that approves a pattern the slow, accurate simulation would reject only shows its error later, when it is expensive. The lab’s check computes, for every point of the simulated image, a range that, on every one of the lab’s test masks, contained the brightness the detailed simulation gave, apart from the numerical error of one internal calculation step, which the range does not account for. Across its test masks the brightness never fell outside that range:

0 soundness violations over 13,303,808 pixel-checks across 232 masks

A fast approval gate, tested against the full check

An approval gate built on that range (the lab calls it its fast gate; this site does not claim it is quicker) decides whether a mask can be approved without the full check. Its first run had a fault: for budgets beyond the range the full check searches, it approved masks the full check rejects. The lab published the count:

before that fix the same battery gave 90 false admits, all of them there

Once the gate rejects any budget beyond the full check’s range, the same battery gives:

made 0 false admits among 175 fast admits over 1,252 checks of 102 masks

Cases just across a threshold are still untested: not observed, and not excluded. The whole result is relative to the lab’s own imaging simulation on one fixed grid, and the range does not account for the numerical error of one internal calculation step.

Why now

Simulating how masks will print already costs the industry tens of billions of processor hours a year, by NVIDIA’s account when it launched its GPU lithography library with ASML, TSMC and Synopsys (press release). A check that could sign a mask off faster than a full re-simulation would cut into that bill; the lab has not measured any such saving for its own checks.

Who this is for

Mask-synthesis and physical-verification software vendors, computational-lithography and mask-inspection vendors, and the foundry teams that sign masks off. What they would test first is whether the sign-off leg spares enough recomputation on their own designs to matter, and whether the brightness range stays sound on their imaging models.

What we do not claim

  • The edit sign-off is shown for single, isolated edits in the lab’s own simulator.
  • On the lab’s test edits it has spared only a small share of the recomputation so far.
  • The brightness range is relative to the lab’s imaging simulation, on a finite battery of test masks.
  • Neither result is a measurement of printed silicon.

All postsAll results

How we show numbers

Every number on this site links to the file it comes from. How each result is checked

  • We never show a number before its file has loaded.
  • A question we have not checked yet is marked as unchecked.
  • A check that found nothing says so.
  • A file with no value for a question says so.
  • A number whose file is missing or has changed is not shown.
  • Two files that disagree about what a number describes are both flagged.
  • A number from too few samples shows its sample size.
  • Two files that give different values are both shown.
  • A file we cannot publish is listed by its fingerprint only.
  • A measurement more than a week old shows its age.
  • A question that does not apply to a page is left off it.
  • A measurement whose program failed is shown as failed.