Agentic PrimitivesAP

Study reproduced ·

Reproducing Akinwande, Ho and Plummer 1982: fixed charge under argon anneals and thermal cycling

Akinwande, Ho and Plummer 1982: the sample and the timing of its process history as the paper states them, our encoding beside them item by item, the simulation in ISL, and how far it lands from the paper's numbers (17 within, 5 near, 5 off).

Richard Pedersen · Agentic Trust Labs · Rich Canvas

One of the [studies we reproduced](/writing/interface-studies-reproduced) for [Questions we need Emily to answer](/writing/questions-for-emily-testing-a-theory-of-the-interface), the companion to [the essay](/writing/testing-a-theory-of-the-interface-with-an-ontology). Generated by `scripts/reproduce_studies.py` from `reproductions/stanford_1982.py`. Every value from the paper was read by an AI agent and has not been checked by a person; the sample and history were re-read from the PDF alone by a second agent that had not seen our earlier transcription.

The study and why we depend on it

A. Akinwande, C. Ho and J. Plummer, “Si/SiO2 Interface Charges”, section 5 of Stanford Integrated Circuits Laboratory, Computer-Aided Design of Integrated Circuit Fabrication Processes for VLSI Devices, semi-annual report for 1 April to 30 September 1982, DTIC AD-A130105 (June 1983), printed pages 42 to 56.

This report is where the fixed-charge program learned what happens without oxygen. Its argon time series at 800 and 1000 °C (Figure 5) fixed the program's argon clock and the (100) equilibrium; the (111) thermal cycling (Figure 8) fixed the (111) equilibrium (scripts/run_fixed_charge_two_lines.py, evaluations/fixed_charge_two_lines_report.json). So agreement on those 20 numbers is not a test of anything: it shows only that the history we write here reproduces the one the fit used. The as-grown values (3) and the (100) cycling (4) were not fitted. The page's real purpose is the history between the steps, which the report does not state, and the cooling after each pull.

How well can this study be reproduced?

Moderate. The oxidation is stated in full (pre-heat, HCl etch, purge, 75 min dry oxygen at 1000 °C, a 2 s pull), and so are the anneal temperatures and gas. What is not stated is everything between the steps: whether a wafer left the furnace between oxidation and anneal, how it went in and out of each anneal, how it cooled, and the anneal after metallization. Every value is on a figure, none in a table.

Sample described2 of 5 properties we need are stated and encoded the same
History described2 of 10 steps are stated and encoded the same; 3 are stated by the paper and absent from our history; 1 are ours because the paper is silent
Timing4 of 6 simulated steps have a stated duration; 3 of 3 other steps have none; 7 timing gaps listed below
How the results are givenFigures only: Figure 5 (charge against argon time, log axis) and Figure 8 (cycling), read by eye by an AI agent as cluster means; no table
Repeatability stated by the authorsNot stated; Figures 5 and 8 show 2 to 5 points per condition, spread up to about 1.5 × 10^10 cm^-2
Internal consistencyGood between the figures (Figure 5 and Figures 6, 7 agree in order of magnitude on the time constants). The text promises 900 °C anneals that no figure shows; the earlier report's argon is “< 2 ppm” water, this one's “< 1 ppm”
Is our model independent of this paper's data?No. The fixed-charge program's argon clock and both argon equilibria (six numbers) were fitted to exactly these Figure 5 and Figure 8 points. Agreement on this page is not a test; only the as-grown values and the (100) cycling were not fitted
Outcome17 of 27 numbers within tolerance

The grade is ours and is about the paper as a source for simulation, not about the quality of the experiment: high means the sample, every step and its timing are stated well enough that a simulation needs no choices of ours; moderate that some choices are ours and are listed; low that the result depends on choices the paper does not constrain.

The sample and its history, played back

The sample is drawn from the simulation: layer heights and the read-outs are what the ISL programs compute at each moment of the history. Steps the language cannot state (a clean, a metallization, a measurement) are on the clock and marked as recorded, not simulated.

Si
Step 1 of 9 · recorded, not simulated
Pushed into the fast-pull furnace
temperature 25 °C
elapsed 0 s of 2 h 45 min 02 s
timing in the paper: not stated. Push rate, push temperature and push gas are not given

not stated; the furnace of Figure 4 has argon, HCl, nitrogen and oxygen inlets and a nitrogen flush at the mouth

The simulation at this moment
oxide thickness0 nm
fixed charge1.46×10¹¹ cm⁻²1.16×10¹¹
right column: the paper, at the end of the history
LoadPreHeat20 minHClEtch20 minPurge20 minOxidation75 minPull2 sMetaFGA30 minCV10000 °CThe same history to true scale (2 h 45 min 02 s simulated). Steps with no stated duration take no width.Temperature through the history. Step widths grow with the logarithm of duration; the bar under each step is how well our encoding matches the paper.
Drag the sample to turn it. Click the clock to move through the history.Layer heights are the simulated thicknesses, drawn to one scale within the film; the substrate is cut short.

Does our sample and history match the paper's?

Left: the paper's own words, with the page of the PDF. Right: what we simulate. 4 same, 5 approximated, 2 assumed, 4 not in ours.

✓4 same≈5 approximated?2 assumed✕4 not in ours
Sample: what the paper saysWhat we simulate
Substrate
“Oxides were grown on (111) and (100) Si Cz wafers” (cycling); Figure 5 says (100)
PDF p. 49, 56
✓same
FAMILY: Si_Planar; ORIENTATION: Si100 | Si111; GROWTH: Cz (recorded, read by nothing)
Czochralski is stated for the cycling wafers only. The authors list a CZ against FZ repeat as an open question (p. 51).
Doping and resistivity
not stated
?assumed
not in our sample
Pre-oxidation clean
“20 min pre heat in Argon …, 20 min 1% HCl/Ar etch + 20 min purge in Argon at 1000° C”; Figure 5: “insitu HCl Clean”
PDF p. 49
≈approximated
CLEAN: HCl_in_situ, and three RUNs in argon
No wet clean is described. The HCl cannot be written in a gas mixture.
Oxide
75 min dry O2 at 1000 °C; thickness not stated
PDF p. 48
✓same
grown by the history: 65.6 nm by the 1965 law
No program reads the thickness for charge; the charge program starts from the steady value for 1000 °C.
Gate and capacitor
not stated; “POST METALLIZATION FGA” on Figures 6, 7
PDF p. 57–58
✕not in ours
not in our sample
History: what the paper saysWhat we simulate
Pushed into the fast-pull furnace
not stated; the furnace of Figure 4 has argon, HCl, nitrogen and oxygen inlets and a nitrogen flush at the mouth
PDF p. 49
✕not in ours
not in our history
Pre-heat in argon, 20 min
“They were subjected to 20 min pre heat in Argon prior to oxidation”
PDF p. 49
≈approximated
RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar
Stated for the cycling wafers (p. 49). For the time-series wafers Figure 5 says only “insitu HCl Clean”; we give them the same sequence.
In-situ etch in 1% HCl in argon, 20 min
“20 min 1% HCl/Ar etch + 20 min purge in Argon at 1000° C”
PDF p. 49
≈approximated
RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar
The language's mixtures take O2, N2, H2, H2O and Ar only, so the 1% HCl cannot be written; the step is argon and the sample's CLEAN: HCl_in_situ records the etch. No program reads either.
Argon purge, 20 min
“+ 20 min purge in Argon at 1000° C”
PDF p. 49
≈approximated
RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar
Dry oxidation, 1000 °C, 75 min
“oxides were grown at 1000° C in dry O2 for 75 mins”
PDF p. 48
✓same
RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2
The water content of the oxygen and the oxide thickness are not stated.
Fast pull, about 2 s
“were fast pulled (~ 2 sec pull)”; “pull times of < 3 secs have generally been achieved”
PDF p. 48
≈approximated
RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2
The time is the report's. The end temperature (400 °C) and the gas are ours: the wafer is pulled “from the oxidizing ambient” into a mouth flushed with nitrogen (Figure 4); how it cools after that is not stated.
Gate metal deposited
“POST METALLIZATION FGA” (Figures 6 and 7); metal, method and temperature not stated
PDF p. 57–58
✕not in ours
not in our history
Forming-gas anneal after metallization (ours: 400 °C, 30 min)
“POST METALLIZATION FGA”
PDF p. 57–58
?assumed
RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2
Stated on Figures 6 and 7, which show the same oxidation and anneals, and not on Figure 5, whose values we compare. Temperature, time and composition are not given. The fixed-charge program leaves hydrogen steps out, so no choice here changes the compared number.
C-V: flatband voltage
“ΔVFB BTS 13mV” (Figure 8); the C-V method is not described
Figure 8, PDF p. 59
✓same
the observable Nf
Anneal at 900 °C
“annealed at various temperatures (800° C, 900° C and 1000° C)” and “results are as shown in Figures 5, 6 and 7”, but no 900 °C points appear
PDF p. 48
✕not in ours
not in our histories

The timing of the history

Time is counted from the start of the first simulated step. A step the language cannot state takes no simulated time; where the paper gives its duration, the duration is in the last column. Stated means the paper gives the duration; partly stated that it gives a bound or a range; not stated; assumed that the duration in our history is ours.

(100), as grown (Figure 5)

#StepStarts atLastsEnds atTemperatureRateGasIs the timing in the paper?
1Pushed into the fast-pull furnace0 snot simulatednot stated. Push rate, push temperature and push gas are not given
2Pre-heat in argon, 20 min0 s20 min20 min1000 → 1000 °Cheldinert_Arstated. 20 min
3In-situ etch in 1% HCl in argon, 20 min20 min20 min40 min1000 → 1000 °Cheldinert_Arstated. 20 min
4Argon purge, 20 min40 min20 min1 h 00 min1000 → 1000 °Cheldinert_Arstated. 20 min
5Dry oxidation, 1000 °C, 75 min1 h 00 min1 h 15 min2 h 15 min1000 → 1000 °Chelddry_O2stated. 75 min; whether it counts from the gas switch is not said
6Fast pull, about 2 s2 h 15 min2 s2 h 15 min 02 s1000 → 400 °C-300 °C/sdry_O2partly stated. “~ 2 sec”; elsewhere “< 3 secs”
7Gate metal deposited2 h 15 min 02 snot simulatednot stated
8Forming-gas anneal after metallization (ours: 400 °C, 30 min)2 h 15 min 02 s30 min2 h 45 min 02 s400 → 400 °Cheldforming_gas_H2not stated; assumed. Not stated
9C-V: flatband voltage2 h 45 min 02 snot simulatednot stated. Not stated

Simulated time in this history: 2 h 45 min 02 s.

Across the samples

SamplePreHeatHClEtchPurgeOxidationPullFGAPush1Anneal1AnnealPull1Push2Anneal2AnnealPull2Push3Anneal3AnnealPull3Push4Anneal4AnnealPull4Total
(100), as grown (Figure 5)20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C––––––––––––2 h 45 min 02 s
(100), argon at 800 °C for 0.092 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→800 °C5 min 31 s at 800 °C30 s at 800→400 °C–––––––––2 h 51 min 33 s
(100), argon at 800 °C for 0.178 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→800 °C10 min 41 s at 800 °C30 s at 800→400 °C–––––––––2 h 56 min 43 s
(100), argon at 800 °C for 0.37 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→800 °C22 min 12 s at 800 °C30 s at 800→400 °C–––––––––3 h 08 min 14 s
(100), argon at 800 °C for 0.55 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→800 °C33 min at 800 °C30 s at 800→400 °C–––––––––3 h 19 min 02 s
(100), argon at 800 °C for 2.2 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→800 °C2 h 12 min at 800 °C30 s at 800→400 °C–––––––––4 h 58 min 02 s
(100), argon at 800 °C for 4.3 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→800 °C4 h 18 min at 800 °C30 s at 800→400 °C–––––––––7 h 04 min 02 s
(100), argon at 800 °C for 10.6 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→800 °C10 h 36 min at 800 °C30 s at 800→400 °C–––––––––13 h 22 min 02 s
(100), argon at 800 °C for 21 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→800 °C21 h 00 min at 800 °C30 s at 800→400 °C–––––––––23 h 46 min 02 s
(100), argon at 800 °C for 37 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→800 °C37 h 00 min at 800 °C30 s at 800→400 °C–––––––––39 h 46 min 02 s
(100), argon at 1000 °C for 0.041 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→1000 °C2 min 28 s at 1000 °C30 s at 1000→400 °C–––––––––2 h 48 min 30 s
(100), argon at 1000 °C for 0.083 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→1000 °C4 min 59 s at 1000 °C30 s at 1000→400 °C–––––––––2 h 51 min 01 s
(100), argon at 1000 °C for 0.125 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→1000 °C7 min 30 s at 1000 °C30 s at 1000→400 °C–––––––––2 h 53 min 32 s
(100), argon at 1000 °C for 0.17 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→1000 °C10 min 12 s at 1000 °C30 s at 1000→400 °C–––––––––2 h 56 min 14 s
(100), argon at 1000 °C for 0.26 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→1000 °C15 min 36 s at 1000 °C30 s at 1000→400 °C–––––––––3 h 01 min 38 s
(100), argon at 1000 °C for 0.34 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→1000 °C20 min 24 s at 1000 °C30 s at 1000→400 °C–––––––––3 h 06 min 26 s
(100), argon at 1000 °C for 1.04 h20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C30 min at 400 °C30 s at 400→1000 °C1 h 02 min 24 s at 1000 °C30 s at 1000→400 °C–––––––––3 h 48 min 26 s
(111) cycling, as grown20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C–––––––––––––2 h 15 min 02 s
(111) cycling, after step 1 (800 °C)20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C–30 s at 400→800 °C25 h 00 min at 800 °C30 s at 800→400 °C–––––––––27 h 16 min 02 s
(111) cycling, after step 2 (1100 °C)20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C–30 s at 400→800 °C25 h 00 min at 800 °C30 s at 800→400 °C30 s at 400→1100 °C19 min 59 s at 1100 °C30 s at 1100→400 °C––––––27 h 37 min 01 s
(111) cycling, after step 3 (800 °C)20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C–30 s at 400→800 °C25 h 00 min at 800 °C30 s at 800→400 °C30 s at 400→1100 °C19 min 59 s at 1100 °C30 s at 1100→400 °C30 s at 400→800 °C25 h 00 min at 800 °C30 s at 800→400 °C–––52 h 38 min 01 s
(111) cycling, after step 4 (1100 °C)20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C–30 s at 400→800 °C25 h 00 min at 800 °C30 s at 800→400 °C30 s at 400→1100 °C19 min 59 s at 1100 °C30 s at 1100→400 °C30 s at 400→800 °C25 h 00 min at 800 °C30 s at 800→400 °C30 s at 400→1100 °C19 min 59 s at 1100 °C30 s at 1100→400 °C52 h 59 min
(100) cycling, as grown20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C–––––––––––––2 h 15 min 02 s
(100) cycling, after step 1 (800 °C)20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C–30 s at 400→800 °C25 h 00 min at 800 °C30 s at 800→400 °C–––––––––27 h 16 min 02 s
(100) cycling, after step 2 (1100 °C)20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C–30 s at 400→800 °C25 h 00 min at 800 °C30 s at 800→400 °C30 s at 400→1100 °C19 min 59 s at 1100 °C30 s at 1100→400 °C––––––27 h 37 min 01 s
(100) cycling, after step 3 (800 °C)20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C–30 s at 400→800 °C25 h 00 min at 800 °C30 s at 800→400 °C30 s at 400→1100 °C19 min 59 s at 1100 °C30 s at 1100→400 °C30 s at 400→800 °C25 h 00 min at 800 °C30 s at 800→400 °C–––52 h 38 min 01 s
(100) cycling, after step 4 (1100 °C)20 min at 1000 °C20 min at 1000 °C20 min at 1000 °C1 h 15 min at 1000 °C2 s at 1000→400 °C–30 s at 400→800 °C25 h 00 min at 800 °C30 s at 800→400 °C30 s at 400→1100 °C19 min 59 s at 1100 °C30 s at 1100→400 °C30 s at 400→800 °C25 h 00 min at 800 °C30 s at 800→400 °C30 s at 400→1100 °C19 min 59 s at 1100 °C30 s at 1100→400 °C52 h 59 min

Timing the paper does not give

  • Whether the anneal wafers were pulled after oxidation and pushed again into an argon furnace, or annealed in the same tube with the gas switched.
  • Push and pull of every anneal: time, gas and whether fast. Our program's argon clock is 1.6 min at 1000 °C and 0.5 min at 1100 °C, so a slow pull out of an 1100 °C anneal is part of the anneal.
  • How the wafer cools after the 2 s pull, and in what gas: the report says “from the oxidizing ambient”, and Figure 4 shows a nitrogen flush at the mouth.
  • Whether the second 800 °C and 1100 °C cycles lasted 25 h and 20 min like the first; whether the cycling used one set of wafers measured between steps.
  • Whether the Figure 5 wafers had the forming-gas anneal that Figures 6 and 7 state, and its temperature, time and gas.
  • Where time zero of the argon anneal is counted from: the push, or reaching temperature.
  • Push rate and gas of the load into the oxidation furnace; oxide thickness.

What the second reading changed

  • The stored recipes (data/derived/akinwande_1982_nf.csv through scripts/canonical_measurements.py) begin with the 2 s pull. The 60 min of argon pre-heat, HCl etch and purge and the 75 min oxidation are not steps; the oxidation enters the program only as a constant (T_ox = 1000 °C). For the charge this changes nothing, because the program starts from the steady value at the oxidation temperature.
  • Every argon anneal is stored as AMBIENT inert_N2. The report says argon with under 1 ppm water. Both have no oxygen, so the numbers are the same; the record is wrong.
  • The stored recipes go from the pull's end at 400 °C straight into the anneal at 800 or 1000 °C, with no push, and end with the anneal: there is no pull after it. Here each anneal has a push and a pull, as unknowns.
  • The stored cycling recipes run the four anneals back to back with no pull between them, and repeat 25 h and 20 min although the figure prints each once.
  • The forming-gas anneal after metallization, stated on Figures 6 and 7, is in no stored recipe. The program would ignore it.
  • Both readings agree on the values: the second reading's Figure 8 clusters are within 0.05 × 10^11 cm^-2 of the dataset's, and its Figure 5 values match within the reading of a log time axis (it gives 0.09 h where the dataset has 0.092 h; it lists no points at 0.178 and 0.55 h).

Their terms and ours

The paper saysWe writeKind in our vocabularyNote
Nf: fixed oxide charge densityNfobservable (target: fixed_charge); quantity fixed-charge
Nf(t) − Nf(∞)(none)a derived quantity: charge above the anneal's end valueFigures 6 and 7 plot it; we compare Figure 5's Nf(t) instead.
fast pulled (~ 2 sec pull)RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bounda RUN; process factor final-annealThe end temperature is ours.
annealed … in argon which has < 1 ppm H2OAMBIENT mix:Ar=0.999999,H2O=1.0e-6ambient by partial pressure; process factor inert-annealThe predictor classes it as inert_Ar.
insitu HCl Clean; 1% HCl/Ar etchCLEAN: HCl_in_situ; RUN HClEtch … AMBIENT inert_Arsample field and a RUNHCl is not a gas the language can put in a mixture.
pre heat in Argon; purge in ArgonRUN PreHeat / RUN Purge … AMBIENT inert_ArRUNs before the oxidationNo program reads them.
thermal cycling between 800 and 1100 °Ca sequence of RUN Push / Anneal / AnnealPullRUNsWhether the wafers were pulled between cycles is not stated.
POST METALLIZATION FGARUN FGA … AMBIENT forming_gas_H2 TIMING assumeda RUN; process factor hydrogen-annealTemperature, time and composition are ours.
Nfe(T): equilibrium value; τ(T) = K exp(Ea/kT)Q_inert(T); rate_inert = k_i0 exp(−E_i/k_B T)QUANTITY in the programThe report prints no values; the program's were fitted to the report's figures.
maxwellian viscoelastic relaxation(none)a mechanism the program does not containThe program relaxes toward a gas-dependent equilibrium; it has no stress.
Cz wafersGROWTH: Czsample field, read by nothing
ΔVFB BTS: bias-temperature stress shift(none)not an observable we holdA mobile-ion check, 13 mV.

The simulation in our language

Each sample is one history file: a SAMPLE and a CONTROL_TRAJECTORY. This is the whole input; run it with PYTHONPATH=. python -m isl_harness.predict <file>.

(100), as grown (Figure 5)

# (100), as grown (Figure 5)
SAMPLE Wafer_series_100_asgrownC_0h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 800 °C for 0.092 h

# (100), argon at 800 °C for 0.092 h
SAMPLE Wafer_series_100_800C_0p092h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 331.2 TEMP 800->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 800 °C for 0.178 h

# (100), argon at 800 °C for 0.178 h
SAMPLE Wafer_series_100_800C_0p178h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 640.8 TEMP 800->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 800 °C for 0.37 h

# (100), argon at 800 °C for 0.37 h
SAMPLE Wafer_series_100_800C_0p37h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 1332 TEMP 800->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 800 °C for 0.55 h

# (100), argon at 800 °C for 0.55 h
SAMPLE Wafer_series_100_800C_0p55h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 1980 TEMP 800->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 800 °C for 2.2 h

# (100), argon at 800 °C for 2.2 h
SAMPLE Wafer_series_100_800C_2p2h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 7920 TEMP 800->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 800 °C for 4.3 h

# (100), argon at 800 °C for 4.3 h
SAMPLE Wafer_series_100_800C_4p3h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 15480 TEMP 800->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 800 °C for 10.6 h

# (100), argon at 800 °C for 10.6 h
SAMPLE Wafer_series_100_800C_10p6h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 38160 TEMP 800->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 800 °C for 21 h

# (100), argon at 800 °C for 21 h
SAMPLE Wafer_series_100_800C_21h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 75600 TEMP 800->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 800 °C for 37 h

# (100), argon at 800 °C for 37 h
SAMPLE Wafer_series_100_800C_37h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 133200 TEMP 800->800 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 1000 °C for 0.041 h

# (100), argon at 1000 °C for 0.041 h
SAMPLE Wafer_series_100_1000C_0p041h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->1000 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 147.6 TEMP 1000->1000 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 1000->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 1000 °C for 0.083 h

# (100), argon at 1000 °C for 0.083 h
SAMPLE Wafer_series_100_1000C_0p083h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->1000 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 298.8 TEMP 1000->1000 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 1000->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 1000 °C for 0.125 h

# (100), argon at 1000 °C for 0.125 h
SAMPLE Wafer_series_100_1000C_0p125h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->1000 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 450 TEMP 1000->1000 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 1000->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 1000 °C for 0.17 h

# (100), argon at 1000 °C for 0.17 h
SAMPLE Wafer_series_100_1000C_0p17h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->1000 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 612 TEMP 1000->1000 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 1000->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 1000 °C for 0.26 h

# (100), argon at 1000 °C for 0.26 h
SAMPLE Wafer_series_100_1000C_0p26h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->1000 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 936 TEMP 1000->1000 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 1000->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 1000 °C for 0.34 h

# (100), argon at 1000 °C for 0.34 h
SAMPLE Wafer_series_100_1000C_0p34h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->1000 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 1224 TEMP 1000->1000 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 1000->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100), argon at 1000 °C for 1.04 h

# (100), argon at 1000 °C for 1.04 h
SAMPLE Wafer_series_100_1000C_1p04h {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->1000 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 3744 TEMP 1000->1000 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 1000->400 AMBIENT mix:Ar=0.999999,H2O=1.0e-6 TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    RUN FGA DURATION 1800 TEMP 400->400 AMBIENT forming_gas_H2 TIMING assumed
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(111) cycling, as grown

# (111) cycling, as grown
SAMPLE Wafer_cycle_111_as_grown {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: HCl_in_situ
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(111) cycling, after step 1 (800 °C)

# (111) cycling, after step 1 (800 °C)
SAMPLE Wafer_cycle_111_cycle_1 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: HCl_in_situ
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 90000 TEMP 800->800 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(111) cycling, after step 2 (1100 °C)

# (111) cycling, after step 2 (1100 °C)
SAMPLE Wafer_cycle_111_cycle_2 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: HCl_in_situ
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 90000 TEMP 800->800 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    RUN Push2 DURATION 30 TEMP 400->1100 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal2 DURATION 1198.8 TEMP 1100->1100 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull2 DURATION 30 TEMP 1100->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(111) cycling, after step 3 (800 °C)

# (111) cycling, after step 3 (800 °C)
SAMPLE Wafer_cycle_111_cycle_3 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: HCl_in_situ
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 90000 TEMP 800->800 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    RUN Push2 DURATION 30 TEMP 400->1100 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal2 DURATION 1198.8 TEMP 1100->1100 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull2 DURATION 30 TEMP 1100->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    RUN Push3 DURATION 30 TEMP 400->800 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal3 DURATION 90000 TEMP 800->800 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull3 DURATION 30 TEMP 800->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(111) cycling, after step 4 (1100 °C)

# (111) cycling, after step 4 (1100 °C)
SAMPLE Wafer_cycle_111_cycle_4 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: HCl_in_situ
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 90000 TEMP 800->800 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    RUN Push2 DURATION 30 TEMP 400->1100 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal2 DURATION 1198.8 TEMP 1100->1100 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull2 DURATION 30 TEMP 1100->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    RUN Push3 DURATION 30 TEMP 400->800 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal3 DURATION 90000 TEMP 800->800 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull3 DURATION 30 TEMP 800->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    RUN Push4 DURATION 30 TEMP 400->1100 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal4 DURATION 1198.8 TEMP 1100->1100 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull4 DURATION 30 TEMP 1100->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100) cycling, as grown

# (100) cycling, as grown
SAMPLE Wafer_cycle_100_as_grown {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100) cycling, after step 1 (800 °C)

# (100) cycling, after step 1 (800 °C)
SAMPLE Wafer_cycle_100_cycle_1 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 90000 TEMP 800->800 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100) cycling, after step 2 (1100 °C)

# (100) cycling, after step 2 (1100 °C)
SAMPLE Wafer_cycle_100_cycle_2 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 90000 TEMP 800->800 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    RUN Push2 DURATION 30 TEMP 400->1100 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal2 DURATION 1198.8 TEMP 1100->1100 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull2 DURATION 30 TEMP 1100->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100) cycling, after step 3 (800 °C)

# (100) cycling, after step 3 (800 °C)
SAMPLE Wafer_cycle_100_cycle_3 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 90000 TEMP 800->800 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    RUN Push2 DURATION 30 TEMP 400->1100 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal2 DURATION 1198.8 TEMP 1100->1100 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull2 DURATION 30 TEMP 1100->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    RUN Push3 DURATION 30 TEMP 400->800 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal3 DURATION 90000 TEMP 800->800 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull3 DURATION 30 TEMP 800->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

(100) cycling, after step 4 (1100 °C)

# (100) cycling, after step 4 (1100 °C)
SAMPLE Wafer_cycle_100_cycle_4 {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: HCl_in_situ
    GROWTH: Cz
}
CONTROL_TRAJECTORY History {
    EVENT Load KIND load TIMING assumed                          # Pushed into the fast-pull furnace
    RUN PreHeat DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN HClEtch DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Purge DURATION 1200 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated
    RUN Oxidation DURATION 4500 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 2 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY duration 1..3 VARY T_end 200..700
    EVENT Transfer KIND transfer TIMING assumed                  # From the oxidation furnace to the anneal
    RUN Push1 DURATION 30 TEMP 400->800 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal1 DURATION 90000 TEMP 800->800 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull1 DURATION 30 TEMP 800->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    RUN Push2 DURATION 30 TEMP 400->1100 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal2 DURATION 1198.8 TEMP 1100->1100 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull2 DURATION 30 TEMP 1100->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    RUN Push3 DURATION 30 TEMP 400->800 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal3 DURATION 90000 TEMP 800->800 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull3 DURATION 30 TEMP 800->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    RUN Push4 DURATION 30 TEMP 400->1100 AMBIENT inert_Ar TIMING assumed VARY duration 5..600
    RUN Anneal4 DURATION 1198.8 TEMP 1100->1100 AMBIENT inert_Ar TIMING stated
    RUN AnnealPull4 DURATION 30 TEMP 1100->400 AMBIENT inert_Ar TIMING assumed VARY duration 2..600
    EVENT Metal KIND metallization TIMING assumed                # Gate metal deposited
    EVENT CV KIND measurement TIMING assumed                     # C-V: flatband voltage
}

The programs the predictor ran on these histories: experiments/atomistic/hydrogen_passivation_equilibrium.isl.template, experiments/deal_qss/two_equilibria.isl.template, experiments/vitkavage_dit/oxide_growth.isl.template, scripts/search_growth.py (structure generated from the grammar), scripts/search_trap_density.py (structure generated from the grammar).

The model itself, experiments/deal_qss/two_equilibria.isl.template, as it is written. Every equation the simulation uses is in this text; the runtime holds no physics.

# ==============================================================================
# ISL MODEL: FIXED CHARGE WITH AN EQUILIBRIUM IN EACH GAS
#
# In oxygen the charge moves toward a steady value that falls with temperature (the
# line of Deal et al. 1967, unchanged, with the oxygen kinetics fitted there).
# In a gas without oxygen it moves toward a lower equilibrium that also falls with
# temperature, Qi_ref * exp(E_q / k_B * (1/T - 1/T_iref)), at a rate of its own.
#
# The inert clock and the (100) inert equilibrium are fitted to the argon time series
# of Akinwande, Ho and Plummer (1982). The (111) inert equilibrium is fitted to their
# cycling experiment, with the clock carried over from (100). The model is then
# tested, unchanged, on the Fairchild wafers of 1967 and 1980.
# Fields in {{braces}} are filled by scripts/run_fixed_charge_two_lines.py.
# ==============================================================================
SAMPLE Wafer_{tag} {{
    FAMILY: Si_Planar
    ORIENTATION: Si{orientation}
}}
# The wafer starts at the steady value for its oxidation temperature.
STATE Q_f {{ UNIT: cm^-2; INITIAL: Q_hot + slope * (T_hot - T_ox); MIN: 0; MAX: 1.0e14 }}
CONTROL T {{ UNIT: K }}
CONTROL p_O2 {{ UNIT: atm }}
PARAMETER Q_hot {{ VALUE: {Q_hot}; UNIT: cm^-2; STATUS: sourced; SOURCE: Deal et al. 1967 Table II, steady value after dry oxidation at 1200 C }}
PARAMETER slope {{ VALUE: {slope}; UNIT: cm^-2 K^-1; STATUS: sourced; SOURCE: Deal et al. 1967 Table II, line through the 1200 C and 920 C steady values }}
PARAMETER T_hot {{ VALUE: 1473.15; UNIT: K; STATUS: constant }}
PARAMETER T_ox {{ VALUE: {T_ox_K}; UNIT: K; STATUS: constant }}
# ---- fitted to the pull-rate series ------------------------------------------------
PARAMETER k0 {{ VALUE: 1.0e3; UNIT: s^-1; STATUS: fitted }}
PARAMETER E_a {{ VALUE: 1.0; UNIT: eV; STATUS: fitted }}
# ---- fitted to the argon anneals of Akinwande, Ho and Plummer (1982) -----------------
PARAMETER k_i0 {{ VALUE: 1.0e1; UNIT: s^-1; STATUS: fitted }}
PARAMETER E_i {{ VALUE: 0.9; UNIT: eV; STATUS: fitted }}
PARAMETER Qi_ref {{ VALUE: 2.5e10; UNIT: cm^-2; STATUS: fitted }}
PARAMETER E_q {{ VALUE: 0.4; UNIT: eV; STATUS: fitted }}
PARAMETER T_iref {{ VALUE: 1273.15; UNIT: K; STATUS: constant }}
PARAMETER p_ref {{ VALUE: 1.0; UNIT: atm; STATUS: constant }}
PARAMETER k_B {{ VALUE: 8.617333262e-5; UNIT: eV K^-1; STATUS: constant }}
# ---- where the exchange with oxygen stops as the wafer cools (hypothesis, added 10 November 2026) ----------------------
# The oxygen rate above was fitted with an activation energy at its lower bound (0.05 eV), so on its own it keeps moving
# charge at room temperature. Every history it was fitted and tested on ended its pull at 400 C, a cut-off that stood in for
# this. Reproducing Stanford 1982, Deal 1967 and Deal and Razouk 1980 with a wafer cooling to room temperature made the charge
# 3 to 5 times too high. The cut-off is now stated: the exchange is switched off over about 20 K around T_freeze. At 400 C it
# is 99% on, so every fitted and tested history is unchanged; how high the true freezing point is, is an open question
# (the Deal and Razouk alignment prefers pulls ending near 530 C).
PARAMETER T_freeze {{ VALUE: 623.15; UNIT: K; STATUS: hypothesis }}
PARAMETER w_freeze {{ VALUE: 10.0; UNIT: K; STATUS: hypothesis }}
QUANTITY rate {{ UNIT: s^-1; EQUATION: rate = k0 * exp(-E_a / (k_B * T)) / (1 + exp(-(T - T_freeze) / w_freeze)) }}
QUANTITY rate_inert {{ UNIT: s^-1; EQUATION: rate_inert = k_i0 * exp(-E_i / (k_B * T)) }}
QUANTITY Q_inert {{ UNIT: cm^-2; EQUATION: Q_inert = Qi_ref * exp((E_q / k_B) * (1 / T - 1 / T_iref)) }}
QUANTITY oxidizing {{ UNIT: 1; EQUATION: oxidizing = p_O2 / p_ref }}
QUANTITY Q_steady {{ UNIT: cm^-2; EQUATION: Q_steady = Q_hot + slope * (T_hot - T) }}
CONTROL_TRAJECTORY History_{tag} {{
{runs}
}}
# In oxygen the charge follows the temperature-dependent steady value.
OPERATOR F_OxidizingEquilibration : Relaxation {{
    EQUATION: d(Q_f)/dt = -rate * oxidizing * (Q_f - Q_steady)
}}
# Without oxygen it relaxes, at its own rate, toward an equilibrium of its own that falls as temperature rises.
# Akinwande, Ho and Plummer (1982) show the annealed charge cycling reversibly with temperature in argon.
OPERATOR F_InertRelaxation : Relaxation {{
    EQUATION: d(Q_f)/dt = -rate_inert * (1 - oxidizing) * (Q_f - Q_inert)
}}
OBSERVATION_MODEL Obs_Fixed_Charge {{ TARGET: Qss; UNIT: cm^-2; EQUATION: Qss = Q_f }}
EVALUATION_CONTRACT Contract_{tag} {{
    FROZEN: true
    DATASET: data/derived/deal_1967_qss.csv
    DATASET_DIGEST: sha256:{dataset_sha256}
    SPLIT: {split}
    TARGET: Qss = {target} +/- {tolerance} abs
}}

Our simulation against the paper

17 within, 5 near, 5 off of 27 numbers. Tolerance is stated per row; nothing was fitted for this page.

✓17 within tolerance≈5 within twice the tolerance✕5 outside
simulation below the paper ← 0 → simulation above the paper-100%-50%0%+50%+100%(100), as grown (Figure 5)fixed charge (Nf)ours 1.40×10¹¹ · paper 1.16×10¹¹ cm⁻²✕ outside (+21%)(100), argon at 800 °C for 0.092 hfixed charge (Nf)ours 1.27×10¹¹ · paper 1.12×10¹¹ cm⁻²≈ within twice the tolerance (+13%)(100), argon at 800 °C for 0.178 hfixed charge (Nf)ours 1.17×10¹¹ · paper 9.50×10¹⁰ cm⁻²✕ outside (+23%)(100), argon at 800 °C for 0.37 hfixed charge (Nf)ours 9.91×10¹⁰ · paper 1.04×10¹¹ cm⁻²✓ within tolerance (-4.7%)(100), argon at 800 °C for 0.55 hfixed charge (Nf)ours 8.70×10¹⁰ · paper 9.70×10¹⁰ cm⁻²≈ within twice the tolerance (-10%)(100), argon at 800 °C for 2.2 hfixed charge (Nf)ours 5.58×10¹⁰ · paper 7.40×10¹⁰ cm⁻²≈ within twice the tolerance (-25%)(100), argon at 800 °C for 4.3 hfixed charge (Nf)ours 5.40×10¹⁰ · paper 6.20×10¹⁰ cm⁻²✓ within tolerance (-13%)(100), argon at 800 °C for 10.6 hfixed charge (Nf)ours 5.39×10¹⁰ · paper 4.75×10¹⁰ cm⁻²✓ within tolerance (+14%)(100), argon at 800 °C for 21 hfixed charge (Nf)ours 5.39×10¹⁰ · paper 4.40×10¹⁰ cm⁻²✓ within tolerance (+23%)(100), argon at 800 °C for 37 hfixed charge (Nf)ours 5.39×10¹⁰ · paper 4.40×10¹⁰ cm⁻²✓ within tolerance (+23%)(100), argon at 1000 °C for 0.041 hfixed charge (Nf)ours 5.07×10¹⁰ · paper 5.20×10¹⁰ cm⁻²✓ within tolerance (-2.5%)(100), argon at 1000 °C for 0.083 hfixed charge (Nf)ours 3.30×10¹⁰ · paper 3.20×10¹⁰ cm⁻²✓ within tolerance (+3.1%)(100), argon at 1000 °C for 0.125 hfixed charge (Nf)ours 2.93×10¹⁰ · paper 3.00×10¹⁰ cm⁻²✓ within tolerance (-2.3%)(100), argon at 1000 °C for 0.17 hfixed charge (Nf)ours 2.85×10¹⁰ · paper 4.10×10¹⁰ cm⁻²≈ within twice the tolerance (-30%)(100), argon at 1000 °C for 0.26 hfixed charge (Nf)ours 2.84×10¹⁰ · paper 2.60×10¹⁰ cm⁻²✓ within tolerance (+9.1%)(100), argon at 1000 °C for 0.34 hfixed charge (Nf)ours 2.84×10¹⁰ · paper 1.90×10¹⁰ cm⁻²✓ within tolerance (+49%)(100), argon at 1000 °C for 1.04 hfixed charge (Nf)ours 2.84×10¹⁰ · paper 2.70×10¹⁰ cm⁻²✓ within tolerance (+5.1%)(111) cycling, as grownfixed charge (Nf)ours 4.10×10¹¹ · paper 2.70×10¹¹ cm⁻²✕ outside (+52%)(111) cycling, after step 1 (800 °C)fixed charge (Nf)ours 3.25×10¹¹ · paper 3.00×10¹¹ cm⁻²✓ within tolerance (+8.2%)(111) cycling, after step 2 (1100 °C)fixed charge (Nf)ours 1.26×10¹¹ · paper 1.35×10¹¹ cm⁻²✓ within tolerance (-6.9%)(111) cycling, after step 3 (800 °C)fixed charge (Nf)ours 3.25×10¹¹ · paper 3.60×10¹¹ cm⁻²✓ within tolerance (-9.8%)(111) cycling, after step 4 (1100 °C)fixed charge (Nf)ours 1.26×10¹¹ · paper 1.13×10¹¹ cm⁻²≈ within twice the tolerance (+11%)(100) cycling, as grownfixed charge (Nf)ours 1.40×10¹¹ · paper 1.30×10¹¹ cm⁻²✓ within tolerance (+7.7%)(100) cycling, after step 1 (800 °C)fixed charge (Nf)ours 5.39×10¹⁰ · paper 8.30×10¹⁰ cm⁻²✕ outside (-35%)(100) cycling, after step 2 (1100 °C)fixed charge (Nf)ours 2.24×10¹⁰ · paper 1.70×10¹⁰ cm⁻²✓ within tolerance (+32%)(100) cycling, after step 3 (800 °C)fixed charge (Nf)ours 5.39×10¹⁰ · paper 9.70×10¹⁰ cm⁻²✕ outside (-44%)(100) cycling, after step 4 (1100 °C)fixed charge (Nf)ours 2.24×10¹⁰ · paper 2.00×10¹⁰ cm⁻²✓ within tolerance (+12%)
The pale green band is the tolerance. Bars past ±100% are cut and carry their value.
Sample and historyQuantityThe paperOur simulationDifferenceVerdictWhat the program's own evaluation saysWhere in the paper
(100), as grown (Figure 5)fixed charge (Nf)1.16e+11 cm⁻²1.40e+11 cm⁻²+21%off (±10%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 800 °C for 0.092 hfixed charge (Nf)1.12e+11 cm⁻²1.27e+11 cm⁻²+13%near (±10%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 800 °C for 0.178 hfixed charge (Nf)9.50e+10 cm⁻²1.17e+11 cm⁻²+23%off (±10.5%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 800 °C for 0.37 hfixed charge (Nf)1.04e+11 cm⁻²9.91e+10 cm⁻²-5%within (±10%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 800 °C for 0.55 hfixed charge (Nf)9.70e+10 cm⁻²8.70e+10 cm⁻²-10%near (±10.3%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 800 °C for 2.2 hfixed charge (Nf)7.40e+10 cm⁻²5.58e+10 cm⁻²-25%near (±13.5%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 800 °C for 4.3 hfixed charge (Nf)6.20e+10 cm⁻²5.40e+10 cm⁻²-13%within (±16.1%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 800 °C for 10.6 hfixed charge (Nf)4.75e+10 cm⁻²5.40e+10 cm⁻²+14%within (±21.1%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 800 °C for 21 hfixed charge (Nf)4.40e+10 cm⁻²5.40e+10 cm⁻²+23%within (±22.7%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 800 °C for 37 hfixed charge (Nf)4.40e+10 cm⁻²5.40e+10 cm⁻²+23%within (±22.7%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 1000 °C for 0.041 hfixed charge (Nf)5.20e+10 cm⁻²5.07e+10 cm⁻²-2%within (±19.2%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 1000 °C for 0.083 hfixed charge (Nf)3.20e+10 cm⁻²3.30e+10 cm⁻²+3%within (±31.2%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 1000 °C for 0.125 hfixed charge (Nf)3.00e+10 cm⁻²2.93e+10 cm⁻²-2%within (±33.3%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 1000 °C for 0.17 hfixed charge (Nf)4.10e+10 cm⁻²2.85e+10 cm⁻²-30%near (±24.4%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 1000 °C for 0.26 hfixed charge (Nf)2.60e+10 cm⁻²2.84e+10 cm⁻²+9%within (±38.5%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 1000 °C for 0.34 hfixed charge (Nf)1.90e+10 cm⁻²2.84e+10 cm⁻²+49%within (±52.6%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(100), argon at 1000 °C for 1.04 hfixed charge (Nf)2.70e+10 cm⁻²2.84e+10 cm⁻²+5%within (±37%)supported within scopeFigure 5, PDF p. 56; data/derived/akinwande_1982_nf.csv
(111) cycling, as grownfixed charge (Nf)2.70e+11 cm⁻²4.10e+11 cm⁻²+52%off (±10%)supported within scopeFigure 8, PDF p. 59; data/derived/akinwande_1982_nf.csv
(111) cycling, after step 1 (800 °C)fixed charge (Nf)3.00e+11 cm⁻²3.25e+11 cm⁻²+8%within (±10%)supported within scopeFigure 8, PDF p. 59; data/derived/akinwande_1982_nf.csv
(111) cycling, after step 2 (1100 °C)fixed charge (Nf)1.35e+11 cm⁻²1.26e+11 cm⁻²-7%within (±10%)supported within scopeFigure 8, PDF p. 59; data/derived/akinwande_1982_nf.csv
(111) cycling, after step 3 (800 °C)fixed charge (Nf)3.60e+11 cm⁻²3.25e+11 cm⁻²-10%within (±10%)supported within scopeFigure 8, PDF p. 59; data/derived/akinwande_1982_nf.csv
(111) cycling, after step 4 (1100 °C)fixed charge (Nf)1.13e+11 cm⁻²1.26e+11 cm⁻²+11%near (±10%)supported within scopeFigure 8, PDF p. 59; data/derived/akinwande_1982_nf.csv
(100) cycling, as grownfixed charge (Nf)1.30e+11 cm⁻²1.40e+11 cm⁻²+8%within (±10%)supported within scopeFigure 8, PDF p. 59; data/derived/akinwande_1982_nf.csv
(100) cycling, after step 1 (800 °C)fixed charge (Nf)8.30e+10 cm⁻²5.40e+10 cm⁻²-35%off (±12%)supported within scopeFigure 8, PDF p. 59; data/derived/akinwande_1982_nf.csv
(100) cycling, after step 2 (1100 °C)fixed charge (Nf)1.70e+10 cm⁻²2.24e+10 cm⁻²+32%within (±58.8%)supported within scopeFigure 8, PDF p. 59; data/derived/akinwande_1982_nf.csv
(100) cycling, after step 3 (800 °C)fixed charge (Nf)9.70e+10 cm⁻²5.40e+10 cm⁻²-44%off (±10.3%)supported within scopeFigure 8, PDF p. 59; data/derived/akinwande_1982_nf.csv
(100) cycling, after step 4 (1100 °C)fixed charge (Nf)2.00e+10 cm⁻²2.24e+10 cm⁻²+12%within (±50%)supported within scopeFigure 8, PDF p. 59; data/derived/akinwande_1982_nf.csv

Aligning the simulation: what the unstated things would have to be

Every step whose timing or temperature the paper leaves open carries a range in the history above (VARY). scripts/align_study.py searched those ranges against the paper's numbers through the same predictor, first one unknown at a time, then all together. No parameter a program declares fitted was touched. The unknowns were chosen on cycle_111_cycle_1, cycle_111_cycle_2, cycle_111_cycle_3, cycle_111_cycle_4, series_100_1000C_0p041h, series_100_1000C_0p083h, series_100_1000C_0p125h, series_100_1000C_0p17h, series_100_1000C_0p26h, series_100_1000C_0p34h, series_100_1000C_1p04h, series_100_800C_0p092h, series_100_800C_0p178h, series_100_800C_0p37h, series_100_800C_0p55h, series_100_800C_10p6h, series_100_800C_21h, series_100_800C_2p2h, series_100_800C_37h, series_100_800C_4p3h only; every other number is a test they played no part in.

UnknownWhat the paper saysRange searchedThe reproduction usedBest aloneScore at the reproduction's valueBest score alone
Fast pull, about 2 s: duration“~ 2 sec”; elsewhere “< 3 secs”1 to 3 s2 s1 s14 of 20 within tolerance, median error 10.8%15 of 20 within tolerance, median error 10.5%
Fast pull, about 2 s: T end“~ 2 sec”; elsewhere “< 3 secs”200 to 700 °C400 °C700 °C14 of 20 within tolerance, median error 10.8%15 of 20 within tolerance, median error 10.5%
Push into the argon furnace at 800 °C: durationNot stated; searched from 5 s to 10 min5 to 600 s30 s5 s14 of 20 within tolerance, median error 10.8%15 of 20 within tolerance, median error 10.8%
Pull after the 800 °C anneal, in argon: durationNot stated; searched from 2 s to 10 min2 to 600 s30 s2 s14 of 20 within tolerance, median error 10.8%15 of 20 within tolerance, median error 10.8%
Push into the argon furnace at 1100 °C: durationNot stated; searched from 5 s to 10 min5 to 600 s30 s30 s (flat: the data do not constrain it)14 of 20 within tolerance, median error 10.8%14 of 20 within tolerance, median error 10.8%
Pull after the 1100 °C anneal, in argon: durationNot stated; searched from 2 s to 10 min2 to 600 s30 s30 s14 of 20 within tolerance, median error 10.8%14 of 20 within tolerance, median error 10.8%
Push into the argon furnace at 800 °C: durationNot stated; searched from 5 s to 10 min5 to 600 s30 s30 s (flat: the data do not constrain it)14 of 20 within tolerance, median error 10.8%14 of 20 within tolerance, median error 10.8%
Pull after the 800 °C anneal, in argon: durationNot stated; searched from 2 s to 10 min2 to 600 s30 s30 s (flat: the data do not constrain it)14 of 20 within tolerance, median error 10.8%14 of 20 within tolerance, median error 10.8%
Push into the argon furnace at 1100 °C: durationNot stated; searched from 5 s to 10 min5 to 600 s30 s30 s (flat: the data do not constrain it)14 of 20 within tolerance, median error 10.8%14 of 20 within tolerance, median error 10.8%
Pull after the 1100 °C anneal, in argon: durationNot stated; searched from 2 s to 10 min2 to 600 s30 s2 s14 of 20 within tolerance, median error 10.8%15 of 20 within tolerance, median error 10.1%

Together: Pull duration 1.333 s (was 2); Pull T end 616.7 °C (was 400); Push1 duration 121.6 s (was 30); AnnealPull1 duration 2 s (was 30); Push2 duration 30 s (was 30); AnnealPull2 duration 30 s (was 30); Push3 duration 30 s (was 30); AnnealPull3 duration 600 s (was 30); Push4 duration 30 s (was 30); AnnealPull4 duration 2 s (was 30).

As reproduced: 17 of 27 within tolerance, median error 12.9%. Aligned: 19 of 27 within tolerance, median error 12.9%. On the held-out samples only: 3 of 7 within tolerance, median error 31.8% as reproduced, 3 of 7 within tolerance, median error 31.8% aligned.

Choices of program or material property, each scored on its own and on top of the aligned history:

VariantAloneWith the aligned history
oxidation pull cools in oxygen (exponential, TAU 30 s, to 25 °C)14 of 27 within tolerance, median error 23.4%15 of 27 within tolerance, median error 22.6%
oxidation pull cools in oxygen (exponential, TAU 10 s, to 25 °C)14 of 27 within tolerance, median error 22.6%16 of 27 within tolerance, median error 22.6%
oxidation pull cools in nitrogen, the flush of Figure 4 (TAU 30 s)18 of 27 within tolerance, median error 12.0%19 of 27 within tolerance, median error 11.4%
every anneal pull cools in argon (TAU 30 s, to 25 °C)18 of 27 within tolerance, median error 12.9%18 of 27 within tolerance, median error 12.9%
first anneal in situ: no pull, ramp in argon at 10 °C/min16 of 27 within tolerance, median error 20.7%17 of 27 within tolerance, median error 14.9%

Read this section knowing that the fixed-charge program was fitted to these anneals. The unknowns were chosen on the 20 numbers it was fitted to (the argon time series and the (111) cycling) and tested on the 7 it was not (the three as-grown wafers and the (100) cycling). Agreement on the 20 measures only whether the history we write here is the one the fit assumed.

Push and pull of each anneal. Every scan is flat: across 5 s to 10 min for a push and 2 s to 10 min for a pull, the fitted cases pass 14 or 15 of 20. The search takes the shortest push (5 s) and the shortest first pull (2 s), which is the stored recipe's instant change of temperature. That is not evidence about Stanford's furnace. The program's argon clock was fitted with no push and no pull, so it already contains whatever they did. The third pull went to 10 min, which moves a wafer leaving 800 °C by under 1%.

End of the oxidation pull. The as-grown charge falls from 1.40 to 1.32 × 10^11 cm^-2 (100) as the end of the 2 s straight-line pull moves from 400 to 700 °C (measured 1.16 and 1.30). The search takes 700 °C, the top of the range.

Cooling after the pull: a model finding. Written as a realistic cool (PROFILE exponential, TAU 30 s toward 25 °C, over 5 min) in the oxygen the wafer was pulled from, the as-grown (100) charge goes from 1.40 to 6.36 × 10^11 cm^-2 and (111) from 4.1 to 14 × 10^11, 4.5 and 3.4 times the report. TAU 10 s gives the same number. A 60 s cool gives 4.2 instead of 6.4, so the result depends on how long we let the simulation run, not on the cooling. The cause is the program's oxygen rate. It was fitted to Deal's 1967 pull series with an activation energy of 0.05 eV, so it is nearly as fast at room temperature as at 1000 °C, and it drives the charge toward Deal's line extrapolated to 25 °C. The 400 °C end of a straight-line pull is a cut-off that hides this. It is not a furnace parameter. Scored across all 27 numbers, the oxygen cool drops the result from 17 to 14 within tolerance, and every wafer cooled in oxygen is 3 to 5 times too high, except the cycling wafers whose last anneal erased the start.

Cooling in nitrogen (the flush at the furnace mouth in Figure 4) freezes the charge, as the program's inert clock (1.8 eV) says it should: 18 of 27 within tolerance, median error 12.0%. The as-grown (100) value becomes 1.25 against 1.16 and 1.30 measured. The (111) value stays high (3.8 against 2.7). That this choice is the best is consistent with the apparatus, but the report does not state the cooling gas.

In situ or pulled. If the first anneal followed the oxidation in the same tube, with the gas switched and a ramp to 800 °C at 10 °C/min, the 800 °C points at 0.09 to 0.37 h fall to 4.3–4.7 × 10^10 against 9.5–11.2 measured. In the program, the 20 min ramp through 1000–800 °C in argon finishes the anneal before it starts. So the data say the anneal wafers left the oxygen furnace quickly, or at least that they did not spend twenty minutes hot in argon first. This is the one unknown the data pin down.

As reproduced: 17 of 27 within tolerance. Aligned (history only): 19 of 27, median error unchanged at 12.9%. On the 7 numbers not used to fit the program or to choose the unknowns: 3 of 7 before and after, median error 31.8% and 29.9%.

✓3 within tolerance≈1 within twice the tolerance✕3 outside
simulation below the paper ← 0 → simulation above the paper-100%-50%0%+50%+100%(100), as grown (Figure 5)fixed charge (Nf)ours 1.33×10¹¹ · paper 1.16×10¹¹ cm⁻²≈ within twice the tolerance (+15%)(111) cycling, as grownfixed charge (Nf)ours 3.96×10¹¹ · paper 2.70×10¹¹ cm⁻²✕ outside (+47%)(100) cycling, as grownfixed charge (Nf)ours 1.33×10¹¹ · paper 1.30×10¹¹ cm⁻²✓ within tolerance (+2.5%)(100) cycling, after step 1 (800 °C)fixed charge (Nf)ours 5.39×10¹⁰ · paper 8.30×10¹⁰ cm⁻²✕ outside (-35%)(100) cycling, after step 2 (1100 °C)fixed charge (Nf)ours 2.24×10¹⁰ · paper 1.70×10¹⁰ cm⁻²✓ within tolerance (+32%)(100) cycling, after step 3 (800 °C)fixed charge (Nf)ours 5.44×10¹⁰ · paper 9.70×10¹⁰ cm⁻²✕ outside (-44%)(100) cycling, after step 4 (1100 °C)fixed charge (Nf)ours 2.19×10¹⁰ · paper 2.00×10¹⁰ cm⁻²✓ within tolerance (+9.3%)
The pale green band is the tolerance. Bars past ±100% are cut and carry their value.

3 within, 1 near, 3 off of 7 numbers with the aligned settings (the samples used to choose the unknowns are left out).

SampleQuantityThe paperAs reproduced aboveAlignedDifferenceVerdictHow
(100), as grown (Figure 5)fixed charge (Nf)1.16e+11 cm⁻²1.40e+111.33e+11+15%near (±10%)test
(111) cycling, as grownfixed charge (Nf)2.70e+11 cm⁻²4.10e+113.96e+11+47%off (±10%)test
(100) cycling, as grownfixed charge (Nf)1.30e+11 cm⁻²1.40e+111.33e+11+3%within (±10%)test
(100) cycling, after step 1 (800 °C)fixed charge (Nf)8.30e+10 cm⁻²5.40e+105.39e+10-35%off (±12%)test
(100) cycling, after step 2 (1100 °C)fixed charge (Nf)1.70e+10 cm⁻²2.24e+102.24e+10+32%within (±59%)test
(100) cycling, after step 3 (800 °C)fixed charge (Nf)9.70e+10 cm⁻²5.40e+105.44e+10-44%off (±10%)test
(100) cycling, after step 4 (1100 °C)fixed charge (Nf)2.00e+10 cm⁻²2.24e+102.18e+10+9%within (±50%)test

What alignment cannot fix. The as-grown (111) charge is 1.5 times the report's (4.1 or, cooled in nitrogen, 3.8 against 2.7 × 10^11 cm^-2). The program starts every wafer at Deal's 1967 steady value for the oxidation temperature, a Fairchild line. Stanford's wafers start lower, and no history after the oxidation can lower a starting point. The (100) cycling after 800 °C is 35–45% low (5.4 against 8.3 and 9.7). The (100) 800 °C equilibrium was fitted on the time series to 5.4, and the cycling wafers (Cz, a separate batch) settle higher. That is batch to batch within one laboratory, the difference the authors flag when they propose repeating the cycling on CZ and FZ wafers.

The cooling result is a defect in the program, not in the report. A rate with almost no activation energy cannot be given a realistic cooling curve, so the program needs a cut-off temperature that is not physics. Until its oxygen kinetics are refitted against pulls written as cooling curves, every history must end its pulls at 400 °C in a straight line to be scored as the program was.

What our language and ontology cannot yet say

  • A rate that freezes. PROFILE exponential now lets a history say how a wafer cools. This study shows the language cannot yet stop a program from moving charge at room temperature. The ontology could carry, per operator, a temperature (or activation energy) below which it is declared inactive, and the predictor could refuse a history that runs an operator outside it. That would turn the hidden 400 °C cut-off into a stated, testable property.
  • The gas a wafer cools in. A pull leaves one gas and cools in another (oxygen in the tube, nitrogen at the flushed mouth, air in the room). A RUN has one AMBIENT. A PROFILE that names the gas after withdrawal, or a WITHDRAW step with its own gas, would make the variant that scores best here a statement.
  • HCl in a mixture. “20 min 1% HCl/Ar etch” cannot be written: the mixture gases are O2, N2, H2, H2O and Ar. Adding HCl (and Cl2) would record the etch and, later, the HCl oxidations of Razouk and Deal's Figure 9.
  • One wafer measured several times. The cycling is one sequence of anneals with a measurement after each. Five separate histories hide that they are prefixes of one. A MEASURE event inside a history whose readings are the scored values would state it once and would show that the metal must come off between measurements.
  • Where a starting value comes from. The charge program's initial state is Deal's 1967 line for the oxidation temperature. Stanford's as-grown values sit below it on (111). The starting point is a laboratory property hidden in a program, and should be a stated input (for example INITIAL Q_f FROM laboratory with the 1967 line as one choice).
  • Time zero of an anneal. Figure 5 times count from an unstated moment (the push, or reaching temperature). TIMING says whether a duration is stated, not what it is counted from. An ORIGIN push|at_temperature|gas_switch on a RUN would carry it.
  • Repeat durations. The second 25 h and 20 min of the cycling are assumed equal to the first. A TIMING assumed_same_as <step> would make the assumption visible.

With Quantum ESPRESSO switched on

This page was simulated with parameters from atomic calculations switched on (ISL_USE_COMPUTED=1). They come from Quantum ESPRESSO (the discovered-materials dm_qe build), run locally on CPU and on an H100 on RunPod, recorded in evaluations/atomistic/ with the code version, inputs, pseudopotential checksums and convergence, and carried into ISL as STATUS: computed. They never replace a fitted or sourced number: the rows scored above are the same with the switch off. Each computed row sits beside the measurement it bears on.

What is computed so far is one reaction: Si• + ½H₂ → Si–H for a silicon dangling bond with three silicon back-bonds (the local structure of a Pb centre), on a 14-atom cluster. With the free energy of hydrogen gas it bounds the share of dangling bonds that a hydrogen step could leave uncapped if it reached equilibrium, and so the lowest interface state density that step could reach. A measurement far above the bound means what remains after the hydrogen step is not limited by the strength of the Si–H bond: the anneal is far from equilibrium, or the traps that remain are not dangling bonds hydrogen can cap.

CalculationValueWhere it ranStatus
dE_cap_half_H2: energy of capping the dangling bond from molecular hydrogen, Si* + 1/2 H2 -> SiH; negative means hydrogen stabilizes the bond-1.2838 eVssh NVIDIA H100 80GB HBM3, 595.91.07complete
D_SiH: energy to break the Si-H bond into the dangling bond and a free hydrogen atom3.5429 eVssh NVIDIA H100 80GB HBM3, 595.91.07complete
D_H2: the H2 binding energy: a check on the method, to be compared with about 4.75 eV (well depth, recalled)4.5183 eVssh NVIDIA H100 80GB HBM3, 595.91.07complete
SampleMeasured interface state densityOur fitted programComputed equilibrium boundMeasured over bound
(100), as grown (Figure 5)no measurement on this page4.42e+101.10e+06
(100), argon at 800 °C for 0.092 hno measurement on this page4.41e+101.10e+06
(100), argon at 800 °C for 0.178 hno measurement on this page4.41e+101.10e+06
(100), argon at 800 °C for 0.37 hno measurement on this page4.40e+101.10e+06
(100), argon at 800 °C for 0.55 hno measurement on this page4.39e+101.10e+06
(100), argon at 800 °C for 2.2 hno measurement on this page4.33e+101.09e+06
(100), argon at 800 °C for 4.3 hno measurement on this page4.24e+101.08e+06
(100), argon at 800 °C for 10.6 hno measurement on this page4.02e+101.05e+06
(100), argon at 800 °C for 21 hno measurement on this page3.68e+101.01e+06
(100), argon at 800 °C for 37 hno measurement on this page3.28e+109.60e+05
(100), argon at 1000 °C for 0.041 hno measurement on this page4.35e+101.09e+06
(100), argon at 1000 °C for 0.083 hno measurement on this page4.28e+101.08e+06
(100), argon at 1000 °C for 0.125 hno measurement on this page4.22e+101.08e+06
(100), argon at 1000 °C for 0.17 hno measurement on this page4.16e+101.07e+06
(100), argon at 1000 °C for 0.26 hno measurement on this page4.03e+101.05e+06
(100), argon at 1000 °C for 0.34 hno measurement on this page3.92e+101.04e+06
(100), argon at 1000 °C for 1.04 hno measurement on this page3.20e+109.50e+05

With heating and cooling transitions

No paper we hold states how its wafers heated up or cooled down. The project owner specified scenarios for one Vitkavage wafer (isl_harness/vitkavage_transitions.py); isl_harness/thermal_transitions.py applies the same numbers to every sample here: a heat-up in nitrogen before the first furnace step (a hot push of 1 to 5 min, or a cold-furnace ramp of 60 to 120 min), the owner's radiative cooling knots after the last furnace step or after the paper's own pull (fast, or every time multiplied by 5), and ramps around an anneal at 300 to 500 °C. The paper's own steps are kept as written. All transitions are assumptions, written in the history with TIMING assumed.

HistoryWithin toleranceMedian errorChanged numbers
as the paper states it (above)17 of 2712.9%
heat-up A (hot push), fast cooling14 of 2722.6%10 of 27 moved by more than 2%
heat-up A (hot push), slow cooling13 of 2729.5%11 of 27 moved by more than 2%
heat-up B (cold-furnace ramp), fast cooling14 of 2722.6%10 of 27 moved by more than 2%
heat-up B (cold-furnace ramp), slow cooling13 of 2729.5%11 of 27 moved by more than 2%

The paper's own conclusions

The paper statesWhat we find
In argon the charge decays exponentially to an end value; both the time constant and the end value fall as temperature risesThe program has exactly this form, fitted to these pointsfitted, not tested
The annealed charge cycles reversibly between 800 and 1100 °C; on (111) the 800 °C value exceeds the as-grown value at 1000 °CAn equilibrium per temperature without oxygen reproduces it; (111) was fitted, (100) is the testsee the chart
As-grown charge at 1000 °C, fast pull: about 1.2 × 10^11 (100) and 2.7 × 10^11 cm^-2 (111)The program's starting point is Deal's 1967 line in oxygen, not fitted heresee the chart
Mechanism: viscoelastic relaxation of interfacial stressNot representednot tested

What we would like Emily to check

  1. In a laboratory with a fast-pull furnace in 1982, would an argon anneal after oxidation have been done in the same tube by switching the gas, or after pulling the wafer out?
  2. After a 2 s pull into a nitrogen-flushed mouth, is the wafer cooling in nitrogen or in the oxygen it was pulled from? Our charge program gives the same as-grown charge in nitrogen and four times more in oxygen.
  3. Does Figure 5 include the post-metallization forming-gas anneal that Figures 6 and 7 state? Could it change the charge read from the flatband voltage?
  4. Is the cycling one set of wafers measured between anneals (which needs metal removed and redeposited), or a fresh wafer per step?