01 / The cell · AI agents for semiconductor test
Move the program.Keep every decision.
Test programs carry years of engineering judgment. We’re building AI agents that port them from SmarTest 7 to SmarTest 8 (DC tests first), with every mapping traceable, every gap flagged for an engineer, and every port checked against its source.
Illustrative wafer · synthetic values
An illustrative wafer map of 3428 dies being probed four at a time. A cluster of failing dies forms an edge-ring signature at the lower left.
02 / Why it’s hard
Why test programs are hard to move
- Every chip is tested twice.WAFER SORT · FINAL TEST · $2–5M ATE PER CELL
- The programs are written by hand.SUITES · LIMITS · BINNING · TRIBAL KNOWLEDGE
- New floors are arriving faster than veterans can be trained.US CHIPS · INDIA ISM · EU CHIPS ACT
A floor: 18 testers, 3 senior engineers.
03 / The port
SmarTest 7 → 8. Intent first.
Proposed porting workflow · In development
- 01 ReadIntent-carrying values are found in the source: pins, forces, ranges, limits, test numbers, bins, logging.
- 02 ExtractEach value is lifted into a platform-independent record of test intent.
- 03 EmitThe target program is written from that record, with a thread back to every source line. Where the target’s shape differs, the change is declared.
- 04 FlagAnything without a confident mapping stops here, with a reason.
- 05 ReviewAn engineer resolves each flag. What cannot be resolved stays open, never defaulted.
- 06 CheckThe port is run against the source over pass, fail and flag scenarios: which tests execute, in what order, and which bin each part ends in.
Select any value in either program to see its mapping.
1suite cont_io2 pins3 force4 measure V range5 wait6 limits .. test7 on_fail8 log9suite leak_vdd10 pins11 force12 measure I range13 limits .. test14 on_fail15suite idd_op16 measure test 3017 limits .. 12 mA on_fail bin 5
1suite ContIo_pos {2 group {3 forceCurrent()4 measureVoltage(range: , settle: )5 }6 limit(, , )7 onFail() log()8}9suite ContIo_neg extends ContIo_pos {10 forceCurrent(-100 uA) limit(t11, 0.40 V, 0.90 V)11}12suite LeakVdd {13 group { forceVoltage() measureCurrent(range: ) }14 limit(, , )15 onFail()16}17// idd_op ·
Nothing silently assumed. Every difference made visible.
From running to proven
Every port ships with its report, and its proof.
| # | Source | Intent | Target | Status |
|---|---|---|---|---|
| 01 | L2 · DUT_IO[0:7] | Signal group · 8 pins | L2 · DUT_IO[0:7] | Mapped · restructured |
| 02 | L3 · ±100 uA · both diodes | Force · current, two polarities | L3 · +100 uA | Declared mapping |
| 03 | L4 · 2 V | Measure · voltage range | L4 · 2 V | Mapped |
| 04 | L5 · settle_default | Settling time | L4 · 1.0 ms | Flagged → resolved |
| 05 | L6 · 0.40 V | Lower limit | L6 · 0.40 V | Mapped |
| 06 | L6 · 0.90 V | Upper limit | L6 · 0.90 V | Mapped |
| 07 | L6 · 10 | Test numbers · 10 and 11 | L6 · t10 | Declared mapping |
| 08 | L7 · bin 3 stop | Fail action · soft bin 3, stop | L7 · bin(3), stop | Mapped |
| 09 | L8 · all | Logging | L7 · all | Mapped |
| 10 | L10 · VDD | Supply pin | L13 · VDD | Mapped · restructured |
| 11 | L11 · 3.30 V | Force · voltage | L13 · 3.30 V | Mapped |
| 12 | L12 · auto | Measure · current range | L13 · 10 uA | Flagged → resolved |
| 13 | L13 · -1.0 uA | Lower limit | L14 · -1.0 uA | Mapped |
| 14 | L13 · 1.0 uA | Upper limit | L14 · 1.0 uA | Mapped |
| 15 | L13 · 20 | Test number | L14 · t20 | Mapped |
| 16 | L14 · bin 4 | Fail action · soft bin 4 | L15 · bin(4), stop | Flagged → resolved |
| 17 | L16 · operating current | Measure · supply current under load | — · left open | Open |
11 mapped · 2 declared · 4 flagged → 3 resolved by engineer · 1 open · 0 silently assumed
Flow check: 3 of 3 ported scenarios equivalent · 1 open, reported
04 / The proof · working today
Evidence before confidence.
The first real port is ahead of us. The two checks that will prove it already run.
A port that looks right can still bin wrong. We fail each test in turn and compare what the source does with what the port does: which tests run, in what order, and which bin the part ends in.
| Fail this test | Source · SmarTest 7 | Generator's own SmarTest 8 | Our port · SmarTest 8 |
|---|---|---|---|
| 1 / 116 tests run, bins 1 / 1 | 1 / –16 tests run, bins 1 / – | 1 / 116 tests run, bins 1 / 1 | |
| 111 / 81 test run, bins 111 / 8 | 111 / 816 tests run, bins 111 / 8 | 111 / 81 test run, bins 111 / 8 | |
| 112 / 52 tests run, bins 112 / 5 | 112 / 516 tests run, bins 112 / 5 | 112 / 52 tests run, bins 112 / 5 | |
| 117 / 63 tests run, bins 117 / 6 | 117 / 616 tests run, bins 117 / 6 | 117 / 63 tests run, bins 117 / 6 | |
| 118 / 54 tests run, bins 118 / 5 | 118 / 516 tests run, bins 118 / 5 | 118 / 54 tests run, bins 118 / 5 | |
| 119 / 75 tests run, bins 119 / 7 | 119 / 716 tests run, bins 119 / 7 | 119 / 75 tests run, bins 119 / 7 | |
| 1 / 116 tests run, bins 1 / 1 | 1 / –16 tests run, bins 1 / – | 1 / 116 tests run, bins 1 / 1 | |
| 120 / 127 tests run, bins 120 / 12 | 120 / 1216 tests run, bins 120 / 12 | 120 / 127 tests run, bins 120 / 12 | |
| 121 / 98 tests run, bins 121 / 9 | 121 / 916 tests run, bins 121 / 9 | 121 / 98 tests run, bins 121 / 9 | |
| 123 / 59 tests run, bins 123 / 5 | 123 / 516 tests run, bins 123 / 5 | 123 / 59 tests run, bins 123 / 5 | |
| 1 / 117 tests run, bins 1 / 1 | 1 / –17 tests run, bins 1 / – | 1 / 117 tests run, bins 1 / 1 | |
| 1 / 116 tests run, bins 1 / 1 | 1 / –16 tests run, bins 1 / – | 1 / 116 tests run, bins 1 / 1 | |
| 139 / 911 tests run, bins 139 / 9 | 139 / 916 tests run, bins 139 / 9 | 139 / 911 tests run, bins 139 / 9 | |
| 1 / 116 tests run, bins 1 / 1 | 1 / –16 tests run, bins 1 / – | 1 / 116 tests run, bins 1 / 1 | |
| 140 / 913 tests run, bins 140 / 9 | 140 / 916 tests run, bins 140 / 9 | 140 / 913 tests run, bins 140 / 9 | |
| 145 / 914 tests run, bins 145 / 9 | 145 / 916 tests run, bins 145 / 9 | 145 / 914 tests run, bins 145 / 9 | |
| 146 / 615 tests run, bins 146 / 6 | 146 / 616 tests run, bins 146 / 6 | 146 / 615 tests run, bins 146 / 6 | |
| 156 / 816 tests run, bins 156 / 8 | 156 / 816 tests run, bins 156 / 8 | 156 / 816 tests run, bins 156 / 8 |
Select a row to read it. Each square is a test that ran; coral squares are tests the source never reached. Bins read soft / hard.
On the tester · correlation
The correlation engine, working today.
After a port runs, the same devices’ datalogs are compared test by test. The engine that will do that already reads one STDF datalog blind and returns a diagnosis with an evidence chain.
Evidence chain · quoted from the agent’s report
Verdict · contactor wear · site 2 · onset device 62 · high confidence8 tool turns · 42.8 s · $0.09 · code 2122bb4
We raised contact resistance at one socket in a circuit simulation, then gave the agent only the STDF datalog, with no fault label. No device had failed its limits yet. The chain above is quoted from the agent’s report, not written for this page; select a line for the measurement behind it.
- Test list, numbers, units and limits identicalafter declared mappings · checked mechanically from both datalogs100%
- Flow equivalence, source vs portbins, branches, sequence · checked on the program, before any tester run0 unflagged
- Device pass/fail and soft-bin match, same unitsre-run of the same devices≥ 99%
- Silent parameter dropsanything found in review that we did not flag0
- Per-test mean and σinside an equivalence band agreed up frontIn band
- Turnaround per program, once the pipeline existsnot weeksDays
05 / The arc
Give every test floor the judgment of a veteran test engineer, on demand.
- 01 ReadBuilt · proves every port
- 02 WriteNow · SmarTest 7 → 8 · DC tests
- 03 Optimize
- 04 Operate
Verified by physics
The verifier is measured data from the tester, not a model’s confidence in itself.
Vendor-neutral by design
STDF is the one datalog format every tester speaks. The proof does not depend on one vendor.
Proof before autonomy
Every port is checked against its source and correlated on the tester before anyone trusts it. The engineer reviews and decides.
END OF LOT · TP-DEMO-01 · ILLUSTRATIVE PARTS 1200 · BIN1 1174 · BIN3 26 · FLAGGED 4 · RESOLVED 3 · OPEN 1 · PHASE LOCKED
06 / Contact
Working through a migration?
Pick the program. Don’t tell us what broke in your own port. We return the SmarTest 8 bundle, the port report and the flow check. You compare.
Tell us the platform pair and the test types.