Agentic PrimitivesAP

Study reproduced ·

Reproducing Deal and Razouk 1980: four ways to end an oxidation

Deal and Razouk 1980: 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 (19 within, 4 near, 1 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/deal_razouk_1980.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

B. E. Deal and R. R. Razouk, Fairchild report on the process-variable dependence of oxide charges and trapping (1980), DTIC ADA091299, Section 4, Tables 4-1 and 4-2.

Twenty-four (111) wafers, each oxidation ended four ways: pulled fast in oxygen, pulled slowly in oxygen, or annealed ten minutes in nitrogen or argon and pulled in that gas. It is the cleanest test we hold of the fixed-charge program, because that program was fitted to Stanford's anneals and has never been adjusted to these wafers: 12 of 16 within tolerance, and 2 of 16 with the inert step switched off.

How well can this study be reproduced?

High. Every wafer has its own row: oxidation temperature and time, anneal gas and time, pull gas and time, oxide thickness and charge. The oxide was held near one thickness at three temperatures, which removes a confound the other studies have. A simulation needs one choice of ours, the temperature path of a pull.

Sample described3 of 5 properties we need are stated and encoded the same
History described4 of 7 steps are stated and encoded the same; 2 are stated by the paper and absent from our history; 0 are ours because the paper is silent
Timing2 of 3 simulated steps have a stated duration; 4 of 4 other steps have none; 5 timing gaps listed below
How the results are givenPrinted tables (4-1, 4-2), one row per wafer, with thickness
Repeatability stated by the authorsNot stated; each value is an average over three or more capacitors
Internal consistencyGood. Four digits in one column of the scan are hard to read; the fast pull is written three ways
Is our model independent of this paper's data?Yes. The fixed-charge program was fitted to Stanford's anneals and has never been adjusted to these wafers; growth uses the 1965 constants
Outcome19 of 24 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 7 · recorded, not simulated
Acid clean, HF, propanol vapour
temperature 25 °C
elapsed 0 s of 1 h 34 min 03 s
timing in the paper: not stated

“cleaned in hot sulfuric acid, aqua regia, 10:1 DI water: hydrofluoric acid, and 2-propanol vapor”

The simulation at this moment
oxide thickness0 nm81
fixed charge4.22×10¹¹ cm⁻²4.67×10¹¹
right column: the paper, at the end of the history
CleanLoadOxidation84 minPull3 sMetalPostMetalAnneal10 minCV10000 °CThe same history to true scale (1 h 34 min 03 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. 7 same, 2 approximated, 3 not in ours.

✓7 same≈2 approximated✕3 not in ours
Sample: what the paper saysWhat we simulate
Substrate
Fairchild (111) silicon, one side chem-mechanically polished
PDF p. 18
✓same
FAMILY: Si_Planar; ORIENTATION: Si111
Doping
n-type 0.2–0.3 Ω·cm on 2-inch wafers (TR-1 to TR-12); p-type 0.4–0.7 Ω·cm on 3-inch wafers (TR-13 to TR-24)
PDF p. 18
≈approximated
DOPING: n_type | p_type (recorded; no program reads it)
The two types on one recipe differ by up to 2.5 × 10^11 cm^-2 in the tables; our program gives them the same value. Type goes with wafer size here.
Clean
Hot sulfuric acid, aqua regia, 10:1 water:HF, 2-propanol vapour
PDF p. 18
✓same
CLEAN: sulfuric_aqua_regia_HF
Oxide
0.079 to 0.089 µm in every run: times were chosen to give one thickness at three temperatures
PDF p. 24–25
✓same
grown by the history: 300, 84 and 28 min at 900, 1000 and 1100 °C
Gate
1 µm Al-4%Cu-2%Si, cold flash evaporated, 750 µm dots
PDF p. 18
✕not in ours
not in our sample
History: what the paper saysWhat we simulate
Acid clean, HF, propanol vapour
“cleaned in hot sulfuric acid, aqua regia, 10:1 DI water: hydrofluoric acid, and 2-propanol vapor”
PDF p. 18
✓same
CLEAN: sulfuric_aqua_regia_HF on the sample; no operator reads it
Loaded “in the appropriate ambient”
“The wafers were then loaded into an oxidation furnace in the appropriate ambient, oxidized for a given time”
PDF p. 18
✕not in ours
not in our history
Dry oxidation, 1000 °C, 84 min
Tables 4-1 and 4-2: dry O2 at 1000 °C for 84 min
PDF p. 24–25
✓same
RUN Oxidation DURATION 5040 TEMP 1000->1000 AMBIENT dry_O2
The datasets' recipe for this wafer starts after the oxidation.
Pull, under 3 s, in oxygen
“O2 FP = fast pull (<3 sec) in O2; O2 SP = slow pull (10 min) in O2; N2 SP or Ar SP = slow pull (2 min) in N2 or Ar”
PDF p. 24
≈approximated
RUN Pull DURATION 3 TEMP 1000->400 AMBIENT dry_O2
The time is the paper's. The temperature path is ours: a straight fall to 400 °C, carried over from the 1967 paper's pull series.
Al-Cu-Si by cold flash evaporation
“1 µm thick Al-Cu-Si films were vacuum deposited on the oxides by cold flash (no substrate heating) in order to avoid radiation effects from e-beam evaporations”
PDF p. 18
✕not in ours
not in our history
After metal: 400 °C, 10 min, nitrogen (this half)
“One half of each wafer was annealed at 400°C in nitrogen for 10 minutes while the other half was annealed in 10% H2 in N2 also at 400°C for 10 minutes.”
PDF p. 19
✓same
RUN PostMetalAnneal DURATION 600 TEMP 400->400 AMBIENT inert_N2
Not in the datasets' recipe. The value compared here is the nitrogen half; the dataset also holds the hydrogen half.
1 MHz and quasi-static C-V, before any injection
“Values of Nf and Nit for each wafer were determined prior to avalanche injection”
PDF p. 19
✓same
the observable Nf

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.

TR-5: n-type, 1000 °C, fast pull in oxygen

#StepStarts atLastsEnds atTemperatureRateGasIs the timing in the paper?
1Acid clean, HF, propanol vapour0 snot simulatednot stated
2Loaded “in the appropriate ambient”0 snot simulatednot stated. Load gas, push rate and ramp are not given
3Dry oxidation, 1000 °C, 84 min0 s1 h 24 min1 h 24 min1000 → 1000 °Chelddry_O2stated. Ox/Anneal/Cool time column of the tables
4Pull, under 3 s, in oxygen1 h 24 min3 s1 h 24 min 03 s1000 → 400 °C-200 °C/sdry_O2partly stated. “<3 sec” in the table, “1-3 sec” in the text, 0 in the time column
5Al-Cu-Si by cold flash evaporation1 h 24 min 03 snot simulatednot stated
6After metal: 400 °C, 10 min, nitrogen (this half)1 h 24 min 03 s10 min1 h 34 min 03 s400 → 400 °Cheldinert_N2stated. 10 min
71 MHz and quasi-static C-V, before any injection1 h 34 min 03 snot simulatednot stated

Simulated time in this history: 1 h 34 min 03 s.

Across the samples

SampleOxidationPullPostMetalAnnealInertAnnealTotal
TR-5: n-type, 1000 °C, fast pull in oxygen1 h 24 min at 1000 °C3 s at 1000→400 °C10 min at 400 °C–1 h 34 min 03 s
TR-6: n-type, 1000 °C, slow pull in oxygen1 h 24 min at 1000 °C10 min at 1000→400 °C10 min at 400 °C–1 h 44 min
TR-7: n-type, 1000 °C, nitrogen anneal, slow pull in nitrogen1 h 24 min at 1000 °C2 min at 1000→400 °C10 min at 400 °C10 min at 1000 °C1 h 46 min
TR-8: n-type, 1000 °C, argon anneal, slow pull in argon1 h 24 min at 1000 °C2 min at 1000→400 °C10 min at 400 °C10 min at 1000 °C1 h 46 min
TR-1: n-type, 900 °C, fast pull in oxygen5 h 00 min at 900 °C3 s at 900→400 °C10 min at 400 °C–5 h 10 min 03 s
TR-2: n-type, 900 °C, slow pull in oxygen5 h 00 min at 900 °C10 min at 900→400 °C10 min at 400 °C–5 h 20 min
TR-3: n-type, 900 °C, nitrogen anneal, slow pull in nitrogen5 h 00 min at 900 °C2 min at 900→400 °C10 min at 400 °C10 min at 900 °C5 h 22 min
TR-9: n-type, 1100 °C, fast pull in oxygen28 min at 1100 °C3 s at 1100→400 °C10 min at 400 °C–38 min 03 s
TR-10: n-type, 1100 °C, slow pull in oxygen28 min at 1100 °C10 min at 1100→400 °C10 min at 400 °C–48 min
TR-11: n-type, 1100 °C, nitrogen anneal, slow pull in nitrogen28 min at 1100 °C2 min at 1100→400 °C10 min at 400 °C10 min at 1100 °C50 min
TR-17: p-type, 1000 °C, fast pull in oxygen1 h 24 min at 1000 °C3 s at 1000→400 °C10 min at 400 °C–1 h 34 min 03 s
TR-19: p-type, 1000 °C, nitrogen anneal, slow pull in nitrogen1 h 24 min at 1000 °C2 min at 1000→400 °C10 min at 400 °C10 min at 1000 °C1 h 46 min

Timing the paper does not give

  • The design is confounded in time: the oxygen slow pull is 10 min, the inert slow pull is 2 min and always follows a 10 min anneal. There is no 2 min pull in oxygen and no inert pull without an anneal.
  • The temperature of the in-situ anneal is never stated.
  • The fast pull is “<3 sec” in the tables, “1-3 sec” in the text and 0 in the time column.
  • What the wafer's temperature does during a pull, and where it cools afterwards.
  • Load gas, push rate and any ramp.

What the second reading changed

  • The stored recipes begin after the oxidation. Written out in full, each history is the oxidation (300, 84 or 28 min), the anneal if any, the pull, and ten minutes at 400 °C after metallization.
  • The argon runs (TR-4, 8, 12, 16, 20, 24) are stored as nitrogen anneals. The paper treats the two gases as one curve, so the numbers are not affected; the record is wrong.
  • Every wafer was split and annealed at 400 °C for 10 min after metallization, one half in nitrogen and one in 10% hydrogen. The stored recipe has neither; the dataset holds both values.
  • n-type wafers are 2-inch and p-type 3-inch, so a difference between the two types is also a difference between wafer sizes and furnace loads.

Their terms and ours

The paper saysWe writeKind in our vocabularyNote
Nf: fixed oxide charge densityNfobservable (target: fixed_charge)
Nit: interface trap densityDitobservable (target: trap_density)Tabulated beside Nf; not compared on this page.
O2 FP: fast pull (<3 sec) in O2RUN Pull DURATION 3 TEMP T->400 AMBIENT dry_O2a RUN; process factor final-anneal
O2 SP: slow pull (10 min) in O2RUN Pull DURATION 600 TEMP T->400 AMBIENT dry_O2a RUN; process factor slow-pull-in-oxygen
N2 SP, Ar SP: in situ anneal, slow pull (2 min) in N2 or Ar`RUN InertAnneal … AMBIENT inert_N2inert_Ar, then RUN Pull … in the same gas`two RUNs; process factor inert-anneal
anneal at 400 °C in nitrogen / in 10% H2 in N2`RUN PostMetalAnneal … AMBIENT inert_N2forming_gas_H2`a RUN; the second is the process factor hydrogen-anneal
dry O2 (liquid source)dry_O2ambientMoisture is not stated.

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>.

TR-5: n-type, 1000 °C, fast pull in oxygen

# TR-5: n-type, 1000 °C, fast pull in oxygen
SAMPLE TR_5 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_type
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, propanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 5040 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 3 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY T_end 200..700 VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Al-Cu-Si by cold flash evaporation
    RUN PostMetalAnneal DURATION 600 TEMP 400->400 AMBIENT inert_N2 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # 1 MHz and quasi-static C-V, before any injection
}

TR-6: n-type, 1000 °C, slow pull in oxygen

# TR-6: n-type, 1000 °C, slow pull in oxygen
SAMPLE TR_6 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_type
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, propanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 5040 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 600 TEMP 1000->400 AMBIENT dry_O2 TIMING stated VARY T_end 200..700
    EVENT Metal KIND metallization TIMING assumed                # Al-Cu-Si by cold flash evaporation
    RUN PostMetalAnneal DURATION 600 TEMP 400->400 AMBIENT inert_N2 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # 1 MHz and quasi-static C-V, before any injection
}

TR-7: n-type, 1000 °C, nitrogen anneal, slow pull in nitrogen

# TR-7: n-type, 1000 °C, nitrogen anneal, slow pull in nitrogen
SAMPLE TR_7 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_type
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, propanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 5040 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN InertAnneal DURATION 600 TEMP 1000->1000 AMBIENT inert_N2 TIMING stated VARY T_hold 900..1000
    RUN Pull DURATION 120 TEMP 1000->400 AMBIENT inert_N2 TIMING stated VARY T_end 200..700
    EVENT Metal KIND metallization TIMING assumed                # Al-Cu-Si by cold flash evaporation
    RUN PostMetalAnneal DURATION 600 TEMP 400->400 AMBIENT inert_N2 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # 1 MHz and quasi-static C-V, before any injection
}

TR-8: n-type, 1000 °C, argon anneal, slow pull in argon

# TR-8: n-type, 1000 °C, argon anneal, slow pull in argon
SAMPLE TR_8 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_type
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, propanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 5040 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN InertAnneal DURATION 600 TEMP 1000->1000 AMBIENT inert_Ar TIMING stated VARY T_hold 900..1000
    RUN Pull DURATION 120 TEMP 1000->400 AMBIENT inert_Ar TIMING stated VARY T_end 200..700
    EVENT Metal KIND metallization TIMING assumed                # Al-Cu-Si by cold flash evaporation
    RUN PostMetalAnneal DURATION 600 TEMP 400->400 AMBIENT inert_N2 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # 1 MHz and quasi-static C-V, before any injection
}

TR-1: n-type, 900 °C, fast pull in oxygen

# TR-1: n-type, 900 °C, fast pull in oxygen
SAMPLE TR_1 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_type
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, propanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 18000 TEMP 900->900 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 3 TEMP 900->400 AMBIENT dry_O2 TIMING bound VARY T_end 200..700 VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Al-Cu-Si by cold flash evaporation
    RUN PostMetalAnneal DURATION 600 TEMP 400->400 AMBIENT inert_N2 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # 1 MHz and quasi-static C-V, before any injection
}

TR-2: n-type, 900 °C, slow pull in oxygen

# TR-2: n-type, 900 °C, slow pull in oxygen
SAMPLE TR_2 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_type
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, propanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 18000 TEMP 900->900 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 600 TEMP 900->400 AMBIENT dry_O2 TIMING stated VARY T_end 200..700
    EVENT Metal KIND metallization TIMING assumed                # Al-Cu-Si by cold flash evaporation
    RUN PostMetalAnneal DURATION 600 TEMP 400->400 AMBIENT inert_N2 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # 1 MHz and quasi-static C-V, before any injection
}

TR-3: n-type, 900 °C, nitrogen anneal, slow pull in nitrogen

# TR-3: n-type, 900 °C, nitrogen anneal, slow pull in nitrogen
SAMPLE TR_3 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_type
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, propanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 18000 TEMP 900->900 AMBIENT dry_O2 TIMING stated
    RUN InertAnneal DURATION 600 TEMP 900->900 AMBIENT inert_N2 TIMING stated VARY T_hold 800..900
    RUN Pull DURATION 120 TEMP 900->400 AMBIENT inert_N2 TIMING stated VARY T_end 200..700
    EVENT Metal KIND metallization TIMING assumed                # Al-Cu-Si by cold flash evaporation
    RUN PostMetalAnneal DURATION 600 TEMP 400->400 AMBIENT inert_N2 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # 1 MHz and quasi-static C-V, before any injection
}

TR-9: n-type, 1100 °C, fast pull in oxygen

# TR-9: n-type, 1100 °C, fast pull in oxygen
SAMPLE TR_9 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_type
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, propanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 1680 TEMP 1100->1100 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 3 TEMP 1100->400 AMBIENT dry_O2 TIMING bound VARY T_end 200..700 VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Al-Cu-Si by cold flash evaporation
    RUN PostMetalAnneal DURATION 600 TEMP 400->400 AMBIENT inert_N2 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # 1 MHz and quasi-static C-V, before any injection
}

TR-10: n-type, 1100 °C, slow pull in oxygen

# TR-10: n-type, 1100 °C, slow pull in oxygen
SAMPLE TR_10 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_type
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, propanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 1680 TEMP 1100->1100 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 600 TEMP 1100->400 AMBIENT dry_O2 TIMING stated VARY T_end 200..700
    EVENT Metal KIND metallization TIMING assumed                # Al-Cu-Si by cold flash evaporation
    RUN PostMetalAnneal DURATION 600 TEMP 400->400 AMBIENT inert_N2 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # 1 MHz and quasi-static C-V, before any injection
}

TR-11: n-type, 1100 °C, nitrogen anneal, slow pull in nitrogen

# TR-11: n-type, 1100 °C, nitrogen anneal, slow pull in nitrogen
SAMPLE TR_11 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: n_type
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, propanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 1680 TEMP 1100->1100 AMBIENT dry_O2 TIMING stated
    RUN InertAnneal DURATION 600 TEMP 1100->1100 AMBIENT inert_N2 TIMING stated VARY T_hold 1000..1100
    RUN Pull DURATION 120 TEMP 1100->400 AMBIENT inert_N2 TIMING stated VARY T_end 200..700
    EVENT Metal KIND metallization TIMING assumed                # Al-Cu-Si by cold flash evaporation
    RUN PostMetalAnneal DURATION 600 TEMP 400->400 AMBIENT inert_N2 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # 1 MHz and quasi-static C-V, before any injection
}

TR-17: p-type, 1000 °C, fast pull in oxygen

# TR-17: p-type, 1000 °C, fast pull in oxygen
SAMPLE TR_17 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: p_type
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, propanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 5040 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN Pull DURATION 3 TEMP 1000->400 AMBIENT dry_O2 TIMING bound VARY T_end 200..700 VARY duration 1..3
    EVENT Metal KIND metallization TIMING assumed                # Al-Cu-Si by cold flash evaporation
    RUN PostMetalAnneal DURATION 600 TEMP 400->400 AMBIENT inert_N2 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # 1 MHz and quasi-static C-V, before any injection
}

TR-19: p-type, 1000 °C, nitrogen anneal, slow pull in nitrogen

# TR-19: p-type, 1000 °C, nitrogen anneal, slow pull in nitrogen
SAMPLE TR_19 {
    FAMILY: Si_Planar
    ORIENTATION: Si111
    CLEAN: sulfuric_aqua_regia_HF
    DOPING: p_type
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING assumed                        # Acid clean, HF, propanol vapour
    EVENT Load KIND load TIMING assumed                          # Loaded “in the appropriate ambient”
    RUN Oxidation DURATION 5040 TEMP 1000->1000 AMBIENT dry_O2 TIMING stated
    RUN InertAnneal DURATION 600 TEMP 1000->1000 AMBIENT inert_N2 TIMING stated VARY T_hold 900..1000
    RUN Pull DURATION 120 TEMP 1000->400 AMBIENT inert_N2 TIMING stated VARY T_end 200..700
    EVENT Metal KIND metallization TIMING assumed                # Al-Cu-Si by cold flash evaporation
    RUN PostMetalAnneal DURATION 600 TEMP 400->400 AMBIENT inert_N2 TIMING stated
    EVENT CV KIND measurement TIMING assumed                     # 1 MHz and quasi-static C-V, before any injection
}

The programs the predictor ran on these histories: 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

19 within, 4 near, 1 off of 24 numbers. Tolerance is stated per row; nothing was fitted for this page.

✓19 within tolerance≈4 within twice the tolerance✕1 outside
simulation below the paper ← 0 → simulation above the paper-100%-50%0%+50%+100%TR-5: n-type, 1000 °C, fast pull in oxygenfixed charge (Nf)ours 4.22×10¹¹ · paper 4.67×10¹¹ cm⁻²✓ within tolerance (-9.6%)TR-5: n-type, 1000 °C, fast pull in oxygenoxide thicknessours 84.7 · paper 81 nm✓ within tolerance (+4.6%)TR-6: n-type, 1000 °C, slow pull in oxygenfixed charge (Nf)ours 9.97×10¹¹ · paper 8.40×10¹¹ cm⁻²≈ within twice the tolerance (+19%)TR-6: n-type, 1000 °C, slow pull in oxygenoxide thicknessours 85.4 · paper 87 nm✓ within tolerance (-1.8%)TR-7: n-type, 1000 °C, nitrogen anneal, slow …fixed charge (Nf)ours 1.67×10¹¹ · paper 2.13×10¹¹ cm⁻²✓ within tolerance (-22%)TR-7: n-type, 1000 °C, nitrogen anneal, slow …oxide thicknessours 84.7 · paper 84 nm✓ within tolerance (+0.8%)TR-8: n-type, 1000 °C, argon anneal, slow pul…fixed charge (Nf)ours 1.67×10¹¹ · paper 1.84×10¹¹ cm⁻²✓ within tolerance (-9.3%)TR-8: n-type, 1000 °C, argon anneal, slow pul…oxide thicknessours 84.7 · paper 84 nm✓ within tolerance (+0.8%)TR-1: n-type, 900 °C, fast pull in oxygenfixed charge (Nf)ours 5.22×10¹¹ · paper 5.40×10¹¹ cm⁻²✓ within tolerance (-3.2%)TR-1: n-type, 900 °C, fast pull in oxygenoxide thicknessours 80.5 · paper 79 nm✓ within tolerance (+1.8%)TR-2: n-type, 900 °C, slow pull in oxygenfixed charge (Nf)ours 1.00×10¹² · paper 8.90×10¹¹ cm⁻²≈ within twice the tolerance (+13%)TR-2: n-type, 900 °C, slow pull in oxygenoxide thicknessours 80.7 · paper 81 nm✓ within tolerance (-0.4%)TR-3: n-type, 900 °C, nitrogen anneal, slow p…fixed charge (Nf)ours 2.80×10¹¹ · paper 2.96×10¹¹ cm⁻²✓ within tolerance (-5.5%)TR-3: n-type, 900 °C, nitrogen anneal, slow p…oxide thicknessours 80.5 · paper 79 nm✓ within tolerance (+1.8%)TR-9: n-type, 1100 °C, fast pull in oxygenfixed charge (Nf)ours 3.23×10¹¹ · paper 4.10×10¹¹ cm⁻²≈ within twice the tolerance (-21%)TR-9: n-type, 1100 °C, fast pull in oxygenoxide thicknessours 84.5 · paper 79 nm✓ within tolerance (+7.0%)TR-10: n-type, 1100 °C, slow pull in oxygenfixed charge (Nf)ours 9.92×10¹¹ · paper 7.16×10¹¹ cm⁻²✕ outside (+39%)TR-10: n-type, 1100 °C, slow pull in oxygenoxide thicknessours 86.6 · paper 88 nm✓ within tolerance (-1.6%)TR-11: n-type, 1100 °C, nitrogen anneal, slow…fixed charge (Nf)ours 1.36×10¹¹ · paper 1.55×10¹¹ cm⁻²✓ within tolerance (-13%)TR-11: n-type, 1100 °C, nitrogen anneal, slow…oxide thicknessours 84.5 · paper 81 nm✓ within tolerance (+4.3%)TR-17: p-type, 1000 °C, fast pull in oxygenfixed charge (Nf)ours 4.22×10¹¹ · paper 4.35×10¹¹ cm⁻²✓ within tolerance (-2.9%)TR-17: p-type, 1000 °C, fast pull in oxygenoxide thicknessours 84.7 · paper 80 nm✓ within tolerance (+5.9%)TR-19: p-type, 1000 °C, nitrogen anneal, slow…fixed charge (Nf)ours 1.67×10¹¹ · paper 2.22×10¹¹ cm⁻²≈ within twice the tolerance (-25%)TR-19: p-type, 1000 °C, nitrogen anneal, slow…oxide thicknessours 84.7 · paper 81 nm✓ within tolerance (+4.6%)
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
TR-5: n-type, 1000 °C, fast pull in oxygenfixed charge (Nf)4.67e+11 cm⁻²4.22e+11 cm⁻²-10%within (±10.7066%)supported within scopeTable 4-1, N2-annealed half
TR-5: n-type, 1000 °C, fast pull in oxygenoxide thickness81 nm84.7 nm+5%within (±10%)supported within scopeTable 4-1
TR-6: n-type, 1000 °C, slow pull in oxygenfixed charge (Nf)8.40e+11 cm⁻²9.97e+11 cm⁻²+19%near (±10%)supported within scopeTable 4-1, N2-annealed half
TR-6: n-type, 1000 °C, slow pull in oxygenoxide thickness87 nm85.4 nm-2%within (±10%)supported within scopeTable 4-1
TR-7: n-type, 1000 °C, nitrogen anneal, slow pull in nitrogenfixed charge (Nf)2.13e+11 cm⁻²1.67e+11 cm⁻²-22%within (±23.4742%)supported within scopeTable 4-1, N2-annealed half
TR-7: n-type, 1000 °C, nitrogen anneal, slow pull in nitrogenoxide thickness84 nm84.7 nm+1%within (±10%)supported within scopeTable 4-1
TR-8: n-type, 1000 °C, argon anneal, slow pull in argonfixed charge (Nf)1.84e+11 cm⁻²1.67e+11 cm⁻²-9%within (±27.1739%)supported within scopeTable 4-1, N2-annealed half
TR-8: n-type, 1000 °C, argon anneal, slow pull in argonoxide thickness84 nm84.7 nm+1%within (±10%)supported within scopeTable 4-1
TR-1: n-type, 900 °C, fast pull in oxygenfixed charge (Nf)5.40e+11 cm⁻²5.22e+11 cm⁻²-3%within (±10%)supported within scopeTable 4-1, N2-annealed half
TR-1: n-type, 900 °C, fast pull in oxygenoxide thickness79 nm80.5 nm+2%within (±10%)supported within scopeTable 4-1
TR-2: n-type, 900 °C, slow pull in oxygenfixed charge (Nf)8.90e+11 cm⁻²1.00e+12 cm⁻²+13%near (±10%)supported within scopeTable 4-1, N2-annealed half
TR-2: n-type, 900 °C, slow pull in oxygenoxide thickness81 nm80.7 nm-0%within (±10%)supported within scopeTable 4-1
TR-3: n-type, 900 °C, nitrogen anneal, slow pull in nitrogenfixed charge (Nf)2.96e+11 cm⁻²2.80e+11 cm⁻²-5%within (±16.8919%)supported within scopeTable 4-1, N2-annealed half
TR-3: n-type, 900 °C, nitrogen anneal, slow pull in nitrogenoxide thickness79 nm80.5 nm+2%within (±10%)supported within scopeTable 4-1
TR-9: n-type, 1100 °C, fast pull in oxygenfixed charge (Nf)4.10e+11 cm⁻²3.22e+11 cm⁻²-21%near (±12.1951%)supported within scopeTable 4-1, N2-annealed half
TR-9: n-type, 1100 °C, fast pull in oxygenoxide thickness79 nm84.5 nm+7%within (±10%)supported within scopeTable 4-1
TR-10: n-type, 1100 °C, slow pull in oxygenfixed charge (Nf)7.16e+11 cm⁻²9.92e+11 cm⁻²+39%off (±10%)supported within scopeTable 4-1, N2-annealed half
TR-10: n-type, 1100 °C, slow pull in oxygenoxide thickness88 nm86.6 nm-2%within (±10%)supported within scopeTable 4-1
TR-11: n-type, 1100 °C, nitrogen anneal, slow pull in nitrogenfixed charge (Nf)1.55e+11 cm⁻²1.36e+11 cm⁻²-13%within (±32.2581%)supported within scopeTable 4-1, N2-annealed half
TR-11: n-type, 1100 °C, nitrogen anneal, slow pull in nitrogenoxide thickness81 nm84.5 nm+4%within (±10%)supported within scopeTable 4-1
TR-17: p-type, 1000 °C, fast pull in oxygenfixed charge (Nf)4.35e+11 cm⁻²4.22e+11 cm⁻²-3%within (±11.4943%)supported within scopeTable 4-2, N2-annealed half
TR-17: p-type, 1000 °C, fast pull in oxygenoxide thickness80 nm84.7 nm+6%within (±10%)supported within scopeTable 4-2
TR-19: p-type, 1000 °C, nitrogen anneal, slow pull in nitrogenfixed charge (Nf)2.22e+11 cm⁻²1.67e+11 cm⁻²-25%near (±22.5225%)supported within scopeTable 4-2, N2-annealed half
TR-19: p-type, 1000 °C, nitrogen anneal, slow pull in nitrogenoxide thickness81 nm84.7 nm+5%within (±10%)supported within scopeTable 4-2

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 TR-5, TR-6, TR-7, TR-8 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
Pull, under 3 s, in oxygen: T end“<3 sec” in the table, “1-3 sec” in the text, 0 in the time column200 to 700 °C400 °C533.3 °C7 of 8 within tolerance, median error 6.9%7 of 8 within tolerance, median error 3.7%
Pull, under 3 s, in oxygen: duration“<3 sec” in the table, “1-3 sec” in the text, 0 in the time column1 to 3 s3 s3 s7 of 8 within tolerance, median error 6.9%7 of 8 within tolerance, median error 6.9%
In-situ nitrogen anneal, 10 min: T hold10 min; a footnote elsewhere in the report says 15 min for the HCl runs-100 to 0 °C shift0 °C shift-66.67 °C shift7 of 8 within tolerance, median error 6.9%7 of 8 within tolerance, median error 3.2%

Together: Pull T end 533.3 °C (was 400); Pull duration 3 s (was 3); InertAnneal T hold -66.67 °C shift (was 0).

As reproduced: 19 of 24 within tolerance, median error 5.0%. Aligned: 20 of 24 within tolerance, median error 4.4%. On the held-out samples only: 12 of 16 within tolerance, median error 5.0% as reproduced, 13 of 16 within tolerance, median error 4.4% aligned.

The unknowns were chosen on the four n-type wafers oxidized at 1000 °C, one per ending, and tested on the eight other wafers on this page (900 and 1100 °C, and the p-type wafers at 1000 °C). On the four 1000 °C wafers every setting passes 6 or 7 of 8, so the choice rests on the median error, which is weak evidence.

The end of a pull. The stored recipe ends every pull at 400 °C, a value chosen in 1967 against Deal's Table I. Here a pull that ends near 530 °C does better: the 10 minute pull in oxygen at 900 °C falls from 10.0 to 8.7 × 10^11 cm^-2 against 8.9 measured. Read physically, charge stops following the oxygen equilibrium at a higher temperature than our cut-off says during a slow pull. That is a statement about cooling, which a straight line to a fixed end temperature cannot carry; see below.

The temperature of the in-situ anneal. The report never states it. Moving it below the oxidation temperature improves the 1000 °C p-type wafer (1.67 to 2.12 against 2.22) and the 1100 °C wafer, and spoils the 900 °C wafer (2.80 to 4.01 against 2.96). No single shift serves all three, so this is not evidence that the anneal ran cooler. It is evidence that the program's level without oxygen, fitted to Stanford's argon anneals, does not have the temperature dependence these nitrogen anneals show.

The fast pull's duration (1 to 3 s) moves nothing: at these temperatures three seconds is too short for the program to change the charge.

✓13 within tolerance≈2 within twice the tolerance✕1 outside
simulation below the paper ← 0 → simulation above the paper-100%-50%0%+50%+100%TR-1: n-type, 900 °C, fast pull in oxygenfixed charge (Nf)ours 5.16×10¹¹ · paper 5.40×10¹¹ cm⁻²✓ within tolerance (-4.5%)TR-1: n-type, 900 °C, fast pull in oxygenoxide thicknessours 80.5 · paper 79 nm✓ within tolerance (+1.8%)TR-2: n-type, 900 °C, slow pull in oxygenfixed charge (Nf)ours 8.68×10¹¹ · paper 8.90×10¹¹ cm⁻²✓ within tolerance (-2.5%)TR-2: n-type, 900 °C, slow pull in oxygenoxide thicknessours 80.7 · paper 81 nm✓ within tolerance (-0.3%)TR-3: n-type, 900 °C, nitrogen anneal, slow p…fixed charge (Nf)ours 4.01×10¹¹ · paper 2.96×10¹¹ cm⁻²✕ outside (+35%)TR-3: n-type, 900 °C, nitrogen anneal, slow p…oxide thicknessours 80.5 · paper 79 nm✓ within tolerance (+1.8%)TR-9: n-type, 1100 °C, fast pull in oxygenfixed charge (Nf)ours 3.16×10¹¹ · paper 4.10×10¹¹ cm⁻²≈ within twice the tolerance (-23%)TR-9: n-type, 1100 °C, fast pull in oxygenoxide thicknessours 84.5 · paper 79 nm✓ within tolerance (+7.0%)TR-10: n-type, 1100 °C, slow pull in oxygenfixed charge (Nf)ours 8.59×10¹¹ · paper 7.16×10¹¹ cm⁻²≈ within twice the tolerance (+20%)TR-10: n-type, 1100 °C, slow pull in oxygenoxide thicknessours 87.1 · paper 88 nm✓ within tolerance (-1.0%)TR-11: n-type, 1100 °C, nitrogen anneal, slow…fixed charge (Nf)ours 1.52×10¹¹ · paper 1.55×10¹¹ cm⁻²✓ within tolerance (-2.1%)TR-11: n-type, 1100 °C, nitrogen anneal, slow…oxide thicknessours 84.5 · paper 81 nm✓ within tolerance (+4.3%)TR-17: p-type, 1000 °C, fast pull in oxygenfixed charge (Nf)ours 4.16×10¹¹ · paper 4.35×10¹¹ cm⁻²✓ within tolerance (-4.4%)TR-17: p-type, 1000 °C, fast pull in oxygenoxide thicknessours 84.7 · paper 80 nm✓ within tolerance (+5.9%)TR-19: p-type, 1000 °C, nitrogen anneal, slow…fixed charge (Nf)ours 2.12×10¹¹ · paper 2.22×10¹¹ cm⁻²✓ within tolerance (-4.7%)TR-19: p-type, 1000 °C, nitrogen anneal, slow…oxide thicknessours 84.7 · paper 81 nm✓ within tolerance (+4.6%)
The pale green band is the tolerance. Bars past ±100% are cut and carry their value.

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

SampleQuantityThe paperAs reproduced aboveAlignedDifferenceVerdictHow
TR-1: n-type, 900 °C, fast pull in oxygenfixed charge (Nf)5.40e+11 cm⁻²5.22e+115.16e+11-4%within (±10%)test
TR-1: n-type, 900 °C, fast pull in oxygenoxide thickness79 nm80.580.5+2%within (±10%)test
TR-2: n-type, 900 °C, slow pull in oxygenfixed charge (Nf)8.90e+11 cm⁻²1.00e+128.68e+11-2%within (±10%)test
TR-2: n-type, 900 °C, slow pull in oxygenoxide thickness81 nm80.780.7-0%within (±10%)test
TR-3: n-type, 900 °C, nitrogen anneal, slow pull in nitrogenfixed charge (Nf)2.96e+11 cm⁻²2.80e+114.01e+11+35%off (±17%)test
TR-3: n-type, 900 °C, nitrogen anneal, slow pull in nitrogenoxide thickness79 nm80.580.5+2%within (±10%)test
TR-9: n-type, 1100 °C, fast pull in oxygenfixed charge (Nf)4.10e+11 cm⁻²3.22e+113.16e+11-23%near (±12%)test
TR-9: n-type, 1100 °C, fast pull in oxygenoxide thickness79 nm84.584.5+7%within (±10%)test
TR-10: n-type, 1100 °C, slow pull in oxygenfixed charge (Nf)7.16e+11 cm⁻²9.92e+118.59e+11+20%near (±10%)test
TR-10: n-type, 1100 °C, slow pull in oxygenoxide thickness88 nm86.687.1-1%within (±10%)test
TR-11: n-type, 1100 °C, nitrogen anneal, slow pull in nitrogenfixed charge (Nf)1.55e+11 cm⁻²1.36e+111.52e+11-2%within (±32%)test
TR-11: n-type, 1100 °C, nitrogen anneal, slow pull in nitrogenoxide thickness81 nm84.584.5+4%within (±10%)test
TR-17: p-type, 1000 °C, fast pull in oxygenfixed charge (Nf)4.35e+11 cm⁻²4.22e+114.16e+11-4%within (±11%)test
TR-17: p-type, 1000 °C, fast pull in oxygenoxide thickness80 nm84.784.7+6%within (±10%)test
TR-19: p-type, 1000 °C, nitrogen anneal, slow pull in nitrogenfixed charge (Nf)2.22e+11 cm⁻²1.67e+112.12e+11-5%within (±23%)test
TR-19: p-type, 1000 °C, nitrogen anneal, slow pull in nitrogenoxide thickness81 nm84.784.7+5%within (±10%)test

What alignment cannot fix. The slow pull in oxygen at 1100 °C stays 20% high (8.6 against 7.2) under every setting, and n-type and p-type wafers on one recipe differ by up to 2.5 × 10^11 cm^-2 in the report while the program gives them one value: doping is not an input to any program. The thickness rows pass throughout and were never in question.

What our language and ontology cannot yet say

  • Cooling with a freezing point. With PROFILE exponential the language can now cool a wafer realistically, but the charge program then keeps moving charge down to room temperature, because its oxygen rate was fitted with an activation energy of 0.05 eV. A program needs a rate that vanishes as the wafer cools, fitted against pulls written as real cooling curves; then the pull's end temperature stops being a free number.
  • Doping as an input. DOPING is recorded on each sample and read by nothing. The report's n-type and p-type wafers differ by more than the tolerance.
  • The anneal's gas as a separate level. Nitrogen and argon are one curve in the report and one level in the program; if they differ (the 1100 °C rows hint that they might), the program needs a level per inert gas.

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)19 of 245.5%
heat-up A (hot push), fast cooling16 of 247.0%4 of 24 moved by more than 2%
heat-up A (hot push), slow cooling16 of 247.0%7 of 24 moved by more than 2%
heat-up B (cold-furnace ramp), fast cooling16 of 247.0%4 of 24 moved by more than 2%
heat-up B (cold-furnace ramp), slow cooling16 of 247.0%7 of 24 moved by more than 2%

The paper's own conclusions

The paper statesWhat we find
A slow pull in oxygen raises fixed charge; an inert anneal lowers it, at every temperatureBoth directions reproduced at 900, 1000 and 1100 °Cdirection right
After an inert anneal the charge falls with anneal temperature (about 3.5, 2.1, 1.6 × 10^11 at 900, 1000, 1100 °C)The program has its own equilibrium without oxygen, falling with temperaturesee the chart

What we would like Emily to check

  1. Is it right to read “in situ” as “at the oxidation temperature” for the ten-minute anneal?
  2. The n-type and p-type wafers on one recipe differ by up to 2.5 × 10^11 cm^-2. Is that doping, wafer size, or run-to-run scatter?
  3. Should the charge we compare be the nitrogen half or the hydrogen half of each wafer?