TruePhase
team@truephase.ai
LOT TP-DEMO-01 ILLUSTRATIVEPART 0001/1200BIN1 1BIN3 0Δφ 162°

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

  1. Every chip is tested twice.WAFER SORT · FINAL TEST · $2–5M ATE PER CELL
  2. The programs are written by hand.SUITES · LIMITS · BINNING · TRIBAL KNOWLEDGE
  3. New floors are arriving faster than veterans can be trained.US CHIPS · INDIA ISM · EU CHIPS ACT

A floor: 18 testers, 3 senior engineers.

0 testers · 3 senior engineers Tester New floor capacity Senior test engineerSchematic · not to scale · hover to inspect

03 / The port

SmarTest 7 → 8. Intent first.

Proposed porting workflow · In development

  1. 01 ReadIntent-carrying values are found in the source: pins, forces, ranges, limits, test numbers, bins, logging.
  2. 02 ExtractEach value is lifted into a platform-independent record of test intent.
  3. 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.
  4. 04 FlagAnything without a confident mapping stops here, with a reason.
  5. 05 ReviewAn engineer resolves each flag. What cannot be resolved stays open, never defaulted.
  6. 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.

Source · SmarTest 7Illustrative syntax
1suite cont_io
2 pins
3 force
4 measure V range
5 wait
6 limits .. test
7 on_fail
8 log
9suite leak_vdd
10 pins
11 force
12 measure I range
13 limits .. test
14 on_fail
15suite idd_op
16 measure test 30
17 limits .. 12 mA on_fail bin 5
Test intentPlatform-independent
0Pins
0Measurements
0Limits
0Flow
Target · SmarTest 8Illustrative syntax
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.

Port report · cont_io, leak_vdd, idd_opSmarTest 7 → SmarTest 8 · DCExample · in development
#SourceIntentTargetStatus
01L2 · DUT_IO[0:7]Signal group · 8 pinsL2 · DUT_IO[0:7]Mapped · restructured
02L3 · ±100 uA · both diodesForce · current, two polaritiesL3 · +100 uADeclared mapping
03L4 · 2 VMeasure · voltage rangeL4 · 2 VMapped
04L5 · settle_defaultSettling timeL4 · 1.0 msFlagged → resolved
05L6 · 0.40 VLower limitL6 · 0.40 VMapped
06L6 · 0.90 VUpper limitL6 · 0.90 VMapped
07L6 · 10Test numbers · 10 and 11L6 · t10Declared mapping
08L7 · bin 3 stopFail action · soft bin 3, stopL7 · bin(3), stopMapped
09L8 · allLoggingL7 · allMapped
10L10 · VDDSupply pinL13 · VDDMapped · restructured
11L11 · 3.30 VForce · voltageL13 · 3.30 VMapped
12L12 · autoMeasure · current rangeL13 · 10 uAFlagged → resolved
13L13 · -1.0 uALower limitL14 · -1.0 uAMapped
14L13 · 1.0 uAUpper limitL14 · 1.0 uAMapped
15L13 · 20Test numberL14 · t20Mapped
16L14 · bin 4Fail action · soft bin 4L15 · bin(4), stopFlagged → resolved
17L16 · operating currentMeasure · supply current under load— · left openOpen

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.

Before any tester run · flow equivalenceRecorded experiment · runs today

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.

One generated program · 17 tests · fail each test in turnGenerator differs in 296 of 308 cases, same final bin in 265 · our port differs in 0 of 308
Fail this testSource · SmarTest 7Generator's own SmarTest 8Our port · SmarTest 8
1 / 116 tests run, bins 1 / 11 / –16 tests run, bins 1 / –1 / 116 tests run, bins 1 / 1
111 / 81 test run, bins 111 / 8111 / 816 tests run, bins 111 / 8111 / 81 test run, bins 111 / 8
112 / 52 tests run, bins 112 / 5112 / 516 tests run, bins 112 / 5112 / 52 tests run, bins 112 / 5
117 / 63 tests run, bins 117 / 6117 / 616 tests run, bins 117 / 6117 / 63 tests run, bins 117 / 6
118 / 54 tests run, bins 118 / 5118 / 516 tests run, bins 118 / 5118 / 54 tests run, bins 118 / 5
119 / 75 tests run, bins 119 / 7119 / 716 tests run, bins 119 / 7119 / 75 tests run, bins 119 / 7
1 / 116 tests run, bins 1 / 11 / –16 tests run, bins 1 / –1 / 116 tests run, bins 1 / 1
120 / 127 tests run, bins 120 / 12120 / 1216 tests run, bins 120 / 12120 / 127 tests run, bins 120 / 12
121 / 98 tests run, bins 121 / 9121 / 916 tests run, bins 121 / 9121 / 98 tests run, bins 121 / 9
123 / 59 tests run, bins 123 / 5123 / 516 tests run, bins 123 / 5123 / 59 tests run, bins 123 / 5
1 / 117 tests run, bins 1 / 11 / –17 tests run, bins 1 / –1 / 117 tests run, bins 1 / 1
1 / 116 tests run, bins 1 / 11 / –16 tests run, bins 1 / –1 / 116 tests run, bins 1 / 1
139 / 911 tests run, bins 139 / 9139 / 916 tests run, bins 139 / 9139 / 911 tests run, bins 139 / 9
1 / 116 tests run, bins 1 / 11 / –16 tests run, bins 1 / –1 / 116 tests run, bins 1 / 1
140 / 913 tests run, bins 140 / 9140 / 916 tests run, bins 140 / 9140 / 913 tests run, bins 140 / 9
145 / 914 tests run, bins 145 / 9145 / 916 tests run, bins 145 / 9145 / 914 tests run, bins 145 / 9
146 / 615 tests run, bins 146 / 6146 / 616 tests run, bins 146 / 6146 / 615 tests run, bins 146 / 6
156 / 816 tests run, bins 156 / 8156 / 816 tests run, bins 156 / 8156 / 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.

18 / 18
Recorded experiment · 2026-09-30, re-scored 2026-10-08 · Origen-generated SmarTest 7/8 programs · not customer programs · SHA-256 5ee2b4ed…8625Download data ↗

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.

DC parameter · same devices · both programsΔμ 24.0 mV · Δσ 55%
0.60 V0.62 V0.64 V0.66 V0.68 V0.70 VEquivalence band
Source program (SmarTest 7) Target program (SmarTest 8)Illustrative · what the correlation report shows
Test 10 · Continuity · VRecorded ngspice simulation
0.50.60.70.80.9150100150200MEASURED VOLTAGE (V)DEVICE ORDERUpper test limit · 0.90 VREPORTED ONSETDEVICE 62
200 / 200
Recorded ngspice LM358 simulation · not production tester data · STDF SHA-256 55658386…6705 · agent report SHA-256 26ae1bad…7691Download data ↗

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.

Acceptance sheetTargets for the first port · not results
  • 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.

  1. 01 ReadBuilt · proves every port
  2. 02 WriteNow · SmarTest 7 → 8 · DC tests
  3. 03 Optimize
  4. 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.