Agentic PrimitivesAP

Study reproduced ·

Reproducing Kao et al. Part I: flat, dry and doped oxidation of silicon cylinders

Kao, McVittie, Nix and Saraswat 1987 (Part I, report): 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 (3 within, 3 near, 10 off, 2 not modelled).

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

D.-B. Kao, J. P. McVittie, W. D. Nix and K. C. Saraswat, “Two-Dimensional Thermal Oxidation of Silicon—I. Experiments”, Stanford Integrated Circuits Laboratory report, DTIC ADA181721 (DARPA MDA903-79-C-0257); published as IEEE Trans. Electron Devices ED-34, 1008–1017 (1987).

The measurements behind Kao 1988 (the challenge's curved-silicon reference). The wet cylinders and holes are scored on the kao-1988 page. This page scores what is left: the ten flat oxides of Table 1 (steam at 800 to 1200 °C on (100) and on (110) sidewalls), which test the planar wet program below its 920 °C range; the dry-oxygen cylinders and holes (Figure 10), for which no curved program exists; and the phosphorus-doped cylinders at 900 °C (Figure 11), whose difference from undoped ones Kao puts in the oxide's viscosity.

How well can this study be reproduced?

Low. The report describes the fabrication in detail (mask, etch chemistry and rate, RCA clean with times, polysilicon cap, lapping, BHF and gold for the SEM) and prints the wet times and flat oxides (Table 1). It does not state the dry oxidation times, the not-deglazed doping time, the steam source, the furnace cycle, or the etched radii. Every curved-surface number is in a figure, normalized to a flat oxide given only as “nominally” 3500 or 5000 Å, with points not labelled by temperature.

Sample described0 of 4 properties we need are stated and encoded the same
History described2 of 7 steps are stated and encoded the same; 1 are stated by the paper and absent from our history; 2 are ours because the paper is silent
Timing1 of 3 simulated steps have a stated duration; 1 of 2 other steps have none; 6 timing gaps listed below
How the results are givenTable 1 printed (wet times, flat (100) oxide, (110)/(100) ratio); Figures 7, 8, 10, 11 (normalized oxide against 1/r), read from the scan; the least-squares lines are read where points cannot be told apart
Repeatability stated by the authorsError bars on convex points (about ±0.03 to ±0.06 of the flat oxide); none on concave points or on Table 1
Internal consistencyModerate. Table 1 and section 6.4 agree (900 °C, 300 min = 5 h). The normalization is said to be to flat (100) but the curves tend to 1.0 although flat (110) is 1.03 to 1.29 times flat (100); the etch gas is printed two ways
Is our model independent of this paper's data?Yes. The planar wet program uses Deal and Grove's 1965 constants and an orientation factor (110)/(100) = 1.45 that matches Kao's own fitted value (Eq. 2), but nothing was fitted to these numbers. No curved-surface program was fitted to Kao
Outcome3 of 18 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 5 · recorded, not simulated
RCA clean ending in 50:1 HF, 30 s
temperature 25 °C
elapsed 0 s of 24 h 20 min
timing in the paper: stated. 10 + 10 min at 70 °C, HF 30 s; time to the furnace not stated

“5:1:1 H20:H2O2:NH4OH at 70°C, 10 min … 5:1:1 H2O:H2O2:HCl at 70°C, 10 min … 50:1 HF for 30 sec”

The simulation at this moment
oxide thickness0 nm503
consumed substrate0 nm
right column: the paper, at the end of the history
CleanPushIn10 minWetOxidation24 hPullOut10 minMeasure8000 °CThe same history to true scale (24 h 20 min 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. 2 same, 5 approximated, 2 assumed, 2 not in ours.

✓2 same≈5 approximated?2 assumed✕2 not in ours
Sample: what the paper saysWhat we simulate
Wafers
(100) wafers; the earlier back-oxide test used “n-type 11 to 20 Ωcm wafers”; the cylinder wafers' doping is not stated
PDF p. 9, 29
≈approximated
ORIENTATION: Si100; DOPING: not_stated
(110) flat reference
“The ratios of wet-oxide thickness on the flat (110) and (100) surfaces have been determined from oxides on trench sidewalls of respective orientations.”
PDF p. 15
≈approximated
FAMILY: Si_Planar; ORIENTATION: Si110 (a flat wafer)
A trench sidewall 3 µm deep is a flat (110) surface with corners above and below; the program has no sidewall.
Cylinders and holes
Etched 3 µm deep; radii after oxidation 0.12 µm to over 10 µm
PDF p. 13, 17
≈approximated
SHAPE: nanowire | hole; DIAMETER_NM back-computed; RADIUS_AFTER_NM recorded
As on the kao-1988 page.
Phosphorus doping
“heavily doped in a POC13 furnace for 60 min at 950°C, deglazed to remove the 800 A phosphosilicate glass” or with “the layer of phosphosilicate glass retained”
PDF p. 19
✕not in ours
DOPING: n_type_phosphorus_POCl3_950C_60min; PSG_NM: 80 (recorded; no program reads either)
Concentration not stated. No program has doping or a glass on the surface.
History: what the paper saysWhat we simulate
RCA clean ending in 50:1 HF, 30 s
“5:1:1 H20:H2O2:NH4OH at 70°C, 10 min … 5:1:1 H2O:H2O2:HCl at 70°C, 10 min … 50:1 HF for 30 sec”
PDF p. 12
✓same
CLEAN: peroxide_HF on the sample
Push and heat to 800 °C (assumed, nitrogen)
not stated
PDF p. 13
?assumed
RUN PushIn DURATION 600 TEMP 700->800 AMBIENT inert_N2
The furnace cycle is not described. 10 min from 700 °C in nitrogen is ours.
Steam, 800 °C, 1440 min
“Table 1: CONDITIONS FOR WET PLANAR OXIDATION … Time(min) 1440 300 96 40 24”
PDF p. 16
≈approximated
RUN WetOxidation DURATION 86400 TEMP 800->800 AMBIENT steam
Steam source and pressure not stated; pure steam at 1 atm is ours (Deal and Grove's constants are for 640 Torr; see the variants).
Pull and cool from 800 °C (assumed, nitrogen)
not stated
PDF p. 13
?assumed
RUN PullOut DURATION 600 TEMP 800->700 AMBIENT inert_N2
10 min to 700 °C in nitrogen is ours.
Nanospec interferometer on the (100) wafer
“The thickness of the oxide on the (100) surface was determined by an optical interferometer.”
PDF p. 15
✓same
the observable Thickness
Earlier experiment: back-side oxide
Wafers with 800, 400, 0 nm and no back oxide, “oxidized in dry 02 at 900'C for two hours … no variations were observed”
PDF p. 9–10
✕not in ours
not encoded (no thickness printed, only “no variations”)
A null result on wafer bending; the planar program has no stress and would agree trivially.
Dry oxidation at 800 °C
“Oxidation at 800C was neglected because it would have required 500 hr to grow the desired thickness for measurement.”
PDF p. 18
≈approximated
the planar dry program needs about 320 h for 350 nm on (100) at 800 °C
Kao's 500 h is a statement, not a measurement.

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.

Flat (100), steam 800 °C, 1440 min

#StepStarts atLastsEnds atTemperatureRateGasIs the timing in the paper?
1RCA clean ending in 50:1 HF, 30 s0 snot simulatedstated. 10 + 10 min at 70 °C, HF 30 s; time to the furnace not stated
2Push and heat to 800 °C (assumed, nitrogen)0 s10 min10 min700 → 800 °C+0.167 °C/sinert_N2not stated; assumed. not stated; 1 to 30 min searched
3Steam, 800 °C, 1440 min10 min24 h 00 min24 h 10 min800 → 800 °Cheldsteamstated. 1440 min
4Pull and cool from 800 °C (assumed, nitrogen)24 h 10 min10 min24 h 20 min800 → 700 °C-0.167 °C/sinert_N2not stated; assumed. not stated; 1 to 30 min searched
5Nanospec interferometer on the (100) wafer24 h 20 minnot simulatednot stated

Simulated time in this history: 24 h 20 min.

Across the samples

SamplePushInWetOxidationPullOutDryOxidationTotal
Flat (100), steam 800 °C, 1440 min10 min at 700→800 °C24 h 00 min at 800 °C10 min at 800→700 °C–24 h 20 min
Flat (100), steam 900 °C, 300 min10 min at 700→900 °C5 h 00 min at 900 °C10 min at 900→700 °C–5 h 20 min
Flat (100), steam 1000 °C, 96 min10 min at 700→1000 °C1 h 36 min at 1000 °C10 min at 1000→700 °C–1 h 56 min
Flat (100), steam 1100 °C, 40 min10 min at 700→1100 °C40 min at 1100 °C10 min at 1100→700 °C–1 h 00 min
Flat (100), steam 1200 °C, 24 min10 min at 700→1200 °C24 min at 1200 °C10 min at 1200→700 °C–44 min
Flat (110), steam 800 °C, 1440 min10 min at 700→800 °C24 h 00 min at 800 °C10 min at 800→700 °C–24 h 20 min
Flat (110), steam 900 °C, 300 min10 min at 700→900 °C5 h 00 min at 900 °C10 min at 900→700 °C–5 h 20 min
Flat (110), steam 1000 °C, 96 min10 min at 700→1000 °C1 h 36 min at 1000 °C10 min at 1000→700 °C–1 h 56 min
Flat (110), steam 1100 °C, 40 min10 min at 700→1100 °C40 min at 1100 °C10 min at 1100→700 °C–1 h 00 min
Flat (110), steam 1200 °C, 24 min10 min at 700→1200 °C24 min at 1200 °C10 min at 1200→700 °C–44 min
Convex cylinder, dry O2 900 °C, radius 235 nm after oxidation10 min at 700→900 °C–10 min at 900→700 °C64 h 36 min at 900 °C64 h 56 min
Convex cylinder, dry O2 1000 °C, radius 278 nm after oxidation10 min at 700→1000 °C–10 min at 1000→700 °C18 h 25 min at 1000 °C18 h 45 min
Convex cylinder, dry O2 1100 °C, radius 135 nm after oxidation10 min at 700→1100 °C–10 min at 1100→700 °C6 h 43 min at 1100 °C7 h 03 min
Convex cylinder, dry O2 1200 °C, radius 244 nm after oxidation10 min at 700→1200 °C–10 min at 1200→700 °C2 h 55 min at 1200 °C3 h 15 min
Concave hole, dry O2 900 °C, radius 1176 nm after oxidation10 min at 700→900 °C–10 min at 900→700 °C64 h 36 min at 900 °C64 h 56 min
Concave hole, dry O2 1100 °C, radius 714 nm after oxidation10 min at 700→1100 °C–10 min at 1100→700 °C6 h 43 min at 1100 °C7 h 03 min
Convex cylinder, phosphorus-doped, deglazed, steam 900 °C, radius 154 nm10 min at 700→900 °C20 min at 900 °C10 min at 900→700 °C–40 min
Convex cylinder, phosphorus-doped, PSG kept, steam 900 °C, radius 250 nm10 min at 700→900 °C20 min at 900 °C10 min at 900→700 °C–40 min

Timing the paper does not give

  • Dry oxidation times: “long enough to grow nominally 3500 A”; not stated. The assumed times are what the planar dry program needs (65 h at 900 °C to 2.9 h at 1200 °C).
  • Not-deglazed doped group: oxidation time not stated.
  • Furnace cycle for every oxidation: load temperature, push and pull, gas during heat-up and cool-down.
  • Steam source and pressure.
  • Time from the HF dip to the furnace; the POCl3 deposition's own push and pull.
  • The 620 °C, 90 min polysilicon cap after every oxidation is stated and recorded, not simulated.

What the second reading changed

  • The project held Table 1 in the history bundle's EXTRACTED_DATA.json (marked “transcribed and visually checked”, not checked by us); it agrees with the second reading digit for digit. No dataset in data/derived uses it, and the figures had not been digitized.
  • The planar wet program's constants are Deal and Grove's at 640 Torr of water from 920 to 1200 °C. Kao's 800 and 900 °C runs are outside that range, and the steam source is not stated: pure steam at 1 atm is 19% faster than the bubbler the constants were measured with.
  • The radial program's rate is proportional to the water pressure. A dry-oxygen history runs and grows nothing, so the dry cylinders are “predicted” at about zero oxide. The planar dry program exists (Deal and Grove dry, and the thin-oxide program) but has no curved geometry.
  • The dry flat oxide is “nominally 3500 A”; no measured flat value is printed for any dry run, so the absolute curved oxide carries the uncertainty of “nominally”.
  • No program reads DOPING or a surface glass. Kao's explanation, that phosphorus raises the growth rate and lowers the oxide's viscosity, needs both in a stress-form program.

Their terms and ours

The paper saysWe writeKind in our vocabularyNote
wet planar oxidation, steam, H2OAMBIENT steam (or mix:H2O=0.842,O2=0.158 for a 95 °C bubbler)ambient by partial pressureSteam source not stated.
t_ox(110)/t_ox(100)(none)a ratio of two samples' thicknessesScored as the (110) thickness = ratio × (100) value.
k_s(110) = 1.45 × k_s(100) (Eq. 2)r_or(110)/r_or(100) = 1.45PARAMETER of the planar program (sourced from the dry-oxidation orientation table)The same number from a different source.
dry O2AMBIENT dry_O2ambientThe radial program grows nothing in it.
heavily doped, POCl3, deglazed / not deglazedDOPING; PSG_NMsample fields no program readsKao: doping raises the growth rate and lowers the viscosity.
phosphosilicate glass retained during oxidation(none)a starting layer of another materialSTARTING_OXIDE_NM is for SiO2; a doped glass has no field.
normalized oxide thickness(none)a ratioScored as the absolute oxide: normalized × the nominal flat oxide.
radius of curvature after oxidationRADIUS_AFTER_NMsample field (recorded)

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

Flat (100), steam 800 °C, 1440 min

# Flat (100), steam 800 °C, 1440 min
SAMPLE Flat_100_800C {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: peroxide_HF
    DOPING: not_stated
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->800 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN WetOxidation DURATION 86400 TEMP 800->800 AMBIENT steam TIMING stated
    RUN PullOut DURATION 600 TEMP 800->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT Measure KIND measurement TIMING assumed                # Nanospec interferometer on the (100) wafer
}

Flat (100), steam 900 °C, 300 min

# Flat (100), steam 900 °C, 300 min
SAMPLE Flat_100_900C {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: peroxide_HF
    DOPING: not_stated
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->900 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN WetOxidation DURATION 18000 TEMP 900->900 AMBIENT steam TIMING stated
    RUN PullOut DURATION 600 TEMP 900->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT Measure KIND measurement TIMING assumed                # Nanospec interferometer on the (100) wafer
}

Flat (100), steam 1000 °C, 96 min

# Flat (100), steam 1000 °C, 96 min
SAMPLE Flat_100_1000C {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: peroxide_HF
    DOPING: not_stated
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->1000 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN WetOxidation DURATION 5760 TEMP 1000->1000 AMBIENT steam TIMING stated
    RUN PullOut DURATION 600 TEMP 1000->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT Measure KIND measurement TIMING assumed                # Nanospec interferometer on the (100) wafer
}

Flat (100), steam 1100 °C, 40 min

# Flat (100), steam 1100 °C, 40 min
SAMPLE Flat_100_1100C {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: peroxide_HF
    DOPING: not_stated
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->1100 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN WetOxidation DURATION 2400 TEMP 1100->1100 AMBIENT steam TIMING stated
    RUN PullOut DURATION 600 TEMP 1100->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT Measure KIND measurement TIMING assumed                # Nanospec interferometer on the (100) wafer
}

Flat (100), steam 1200 °C, 24 min

# Flat (100), steam 1200 °C, 24 min
SAMPLE Flat_100_1200C {
    FAMILY: Si_Planar
    ORIENTATION: Si100
    CLEAN: peroxide_HF
    DOPING: not_stated
}
CONTROL_TRAJECTORY History {
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->1200 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN WetOxidation DURATION 1440 TEMP 1200->1200 AMBIENT steam TIMING stated
    RUN PullOut DURATION 600 TEMP 1200->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT Measure KIND measurement TIMING assumed                # Nanospec interferometer on the (100) wafer
}

Flat (110), steam 800 °C, 1440 min

# Flat (110), steam 800 °C, 1440 min
SAMPLE Flat_110_800C {
    FAMILY: Si_Planar
    ORIENTATION: Si110
    CLEAN: peroxide_HF
    DOPING: not_stated
}
CONTROL_TRAJECTORY History {
    EVENT Lithography KIND other TIMING assumed                  # Circles and holes, AZ1470 resist, 4:1 projection aligner
    EVENT Etch KIND etch TIMING bound                            # Plasma etch to 3 µm (SF6 + C2ClF5), about 6.5 min per µm
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->800 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN WetOxidation DURATION 86400 TEMP 800->800 AMBIENT steam TIMING stated
    RUN PullOut DURATION 600 TEMP 800->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT Measure KIND measurement TIMING assumed                # SEM of a (110) trench sidewall, as a ratio to (100)
}

Table 1 gives the (110)/(100) ratio 1.29 from trench sidewalls; the (110) thickness here is 1.29 × 502.7 nm.

Flat (110), steam 900 °C, 300 min

# Flat (110), steam 900 °C, 300 min
SAMPLE Flat_110_900C {
    FAMILY: Si_Planar
    ORIENTATION: Si110
    CLEAN: peroxide_HF
    DOPING: not_stated
}
CONTROL_TRAJECTORY History {
    EVENT Lithography KIND other TIMING assumed                  # Circles and holes, AZ1470 resist, 4:1 projection aligner
    EVENT Etch KIND etch TIMING bound                            # Plasma etch to 3 µm (SF6 + C2ClF5), about 6.5 min per µm
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->900 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN WetOxidation DURATION 18000 TEMP 900->900 AMBIENT steam TIMING stated
    RUN PullOut DURATION 600 TEMP 900->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT Measure KIND measurement TIMING assumed                # SEM of a (110) trench sidewall, as a ratio to (100)
}

Table 1 gives the (110)/(100) ratio 1.25 from trench sidewalls; the (110) thickness here is 1.25 × 457.5 nm.

Flat (110), steam 1000 °C, 96 min

# Flat (110), steam 1000 °C, 96 min
SAMPLE Flat_110_1000C {
    FAMILY: Si_Planar
    ORIENTATION: Si110
    CLEAN: peroxide_HF
    DOPING: not_stated
}
CONTROL_TRAJECTORY History {
    EVENT Lithography KIND other TIMING assumed                  # Circles and holes, AZ1470 resist, 4:1 projection aligner
    EVENT Etch KIND etch TIMING bound                            # Plasma etch to 3 µm (SF6 + C2ClF5), about 6.5 min per µm
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->1000 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN WetOxidation DURATION 5760 TEMP 1000->1000 AMBIENT steam TIMING stated
    RUN PullOut DURATION 600 TEMP 1000->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT Measure KIND measurement TIMING assumed                # SEM of a (110) trench sidewall, as a ratio to (100)
}

Table 1 gives the (110)/(100) ratio 1.18 from trench sidewalls; the (110) thickness here is 1.18 × 473.5 nm.

Flat (110), steam 1100 °C, 40 min

# Flat (110), steam 1100 °C, 40 min
SAMPLE Flat_110_1100C {
    FAMILY: Si_Planar
    ORIENTATION: Si110
    CLEAN: peroxide_HF
    DOPING: not_stated
}
CONTROL_TRAJECTORY History {
    EVENT Lithography KIND other TIMING assumed                  # Circles and holes, AZ1470 resist, 4:1 projection aligner
    EVENT Etch KIND etch TIMING bound                            # Plasma etch to 3 µm (SF6 + C2ClF5), about 6.5 min per µm
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->1100 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN WetOxidation DURATION 2400 TEMP 1100->1100 AMBIENT steam TIMING stated
    RUN PullOut DURATION 600 TEMP 1100->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT Measure KIND measurement TIMING assumed                # SEM of a (110) trench sidewall, as a ratio to (100)
}

Table 1 gives the (110)/(100) ratio 1.05 from trench sidewalls; the (110) thickness here is 1.05 × 488 nm.

Flat (110), steam 1200 °C, 24 min

# Flat (110), steam 1200 °C, 24 min
SAMPLE Flat_110_1200C {
    FAMILY: Si_Planar
    ORIENTATION: Si110
    CLEAN: peroxide_HF
    DOPING: not_stated
}
CONTROL_TRAJECTORY History {
    EVENT Lithography KIND other TIMING assumed                  # Circles and holes, AZ1470 resist, 4:1 projection aligner
    EVENT Etch KIND etch TIMING bound                            # Plasma etch to 3 µm (SF6 + C2ClF5), about 6.5 min per µm
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->1200 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN WetOxidation DURATION 1440 TEMP 1200->1200 AMBIENT steam TIMING stated
    RUN PullOut DURATION 600 TEMP 1200->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT Measure KIND measurement TIMING assumed                # SEM of a (110) trench sidewall, as a ratio to (100)
}

Table 1 gives the (110)/(100) ratio 1.03 from trench sidewalls; the (110) thickness here is 1.03 × 555.4 nm.

Convex cylinder, dry O2 900 °C, radius 235 nm after oxidation

# Convex cylinder, dry O2 900 °C, radius 235 nm after oxidation
SAMPLE DryCylinder_900C {
    FAMILY: Si_Nanowire
    ORIENTATION: Si100
    CLEAN: peroxide_HF
    SHAPE: nanowire
    DIAMETER_NM: 668
    RADIUS_AFTER_NM: 235
    HEIGHT_NM: 3000
    SIDEWALL_MEASURED: 110
    RUN_FLAT_OXIDE_NM: 350
    DOPING: not_stated_undoped
}
CONTROL_TRAJECTORY History {
    EVENT Lithography KIND other TIMING assumed                  # Circles and holes, AZ1470 resist, 4:1 projection aligner
    EVENT Etch KIND etch TIMING bound                            # Plasma etch to 3 µm (SF6 + C2ClF5), about 6.5 min per µm
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->900 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN DryOxidation DURATION 232560 TEMP 900->900 AMBIENT dry_O2 TIMING assumed VARY duration 139536..325584
    RUN PullOut DURATION 600 TEMP 900->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT PolySiCap KIND deposition TIMING stated                # 1 µm LPCVD polysilicon, 620 °C, 500 mTorr, 90 min
    EVENT Lap KIND other TIMING assumed                          # Lapped to mid-height
    EVENT EtchOut KIND etch TIMING bound                         # Oxide etched out in 6:1 BHF, 100 Å gold
    EVENT MeasureSEM KIND measurement TIMING assumed             # SEM of the gap the oxide left, on the (110) part of the wall; radius of the silicon after oxidation
}

The radial program's rate is proportional to the water pressure; in dry oxygen it grows nothing. The flat oxide of the run is stated (RUN_FLAT_OXIDE_NM) but the program uses it only over steam time.

Convex cylinder, dry O2 1000 °C, radius 278 nm after oxidation

# Convex cylinder, dry O2 1000 °C, radius 278 nm after oxidation
SAMPLE DryCylinder_1000C {
    FAMILY: Si_Nanowire
    ORIENTATION: Si100
    CLEAN: peroxide_HF
    SHAPE: nanowire
    DIAMETER_NM: 869
    RADIUS_AFTER_NM: 278
    HEIGHT_NM: 3000
    SIDEWALL_MEASURED: 110
    RUN_FLAT_OXIDE_NM: 350
    DOPING: not_stated_undoped
}
CONTROL_TRAJECTORY History {
    EVENT Lithography KIND other TIMING assumed                  # Circles and holes, AZ1470 resist, 4:1 projection aligner
    EVENT Etch KIND etch TIMING bound                            # Plasma etch to 3 µm (SF6 + C2ClF5), about 6.5 min per µm
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->1000 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN DryOxidation DURATION 66300 TEMP 1000->1000 AMBIENT dry_O2 TIMING assumed VARY duration 39780..92820
    RUN PullOut DURATION 600 TEMP 1000->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT PolySiCap KIND deposition TIMING stated                # 1 µm LPCVD polysilicon, 620 °C, 500 mTorr, 90 min
    EVENT Lap KIND other TIMING assumed                          # Lapped to mid-height
    EVENT EtchOut KIND etch TIMING bound                         # Oxide etched out in 6:1 BHF, 100 Å gold
    EVENT MeasureSEM KIND measurement TIMING assumed             # SEM of the gap the oxide left, on the (110) part of the wall; radius of the silicon after oxidation
}

The radial program's rate is proportional to the water pressure; in dry oxygen it grows nothing. The flat oxide of the run is stated (RUN_FLAT_OXIDE_NM) but the program uses it only over steam time.

Convex cylinder, dry O2 1100 °C, radius 135 nm after oxidation

# Convex cylinder, dry O2 1100 °C, radius 135 nm after oxidation
SAMPLE DryCylinder_1100C {
    FAMILY: Si_Nanowire
    ORIENTATION: Si100
    CLEAN: peroxide_HF
    SHAPE: nanowire
    DIAMETER_NM: 591
    RADIUS_AFTER_NM: 135
    HEIGHT_NM: 3000
    SIDEWALL_MEASURED: 110
    RUN_FLAT_OXIDE_NM: 350
    DOPING: not_stated_undoped
}
CONTROL_TRAJECTORY History {
    EVENT Lithography KIND other TIMING assumed                  # Circles and holes, AZ1470 resist, 4:1 projection aligner
    EVENT Etch KIND etch TIMING bound                            # Plasma etch to 3 µm (SF6 + C2ClF5), about 6.5 min per µm
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->1100 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN DryOxidation DURATION 24180 TEMP 1100->1100 AMBIENT dry_O2 TIMING assumed VARY duration 14508..33852
    RUN PullOut DURATION 600 TEMP 1100->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT PolySiCap KIND deposition TIMING stated                # 1 µm LPCVD polysilicon, 620 °C, 500 mTorr, 90 min
    EVENT Lap KIND other TIMING assumed                          # Lapped to mid-height
    EVENT EtchOut KIND etch TIMING bound                         # Oxide etched out in 6:1 BHF, 100 Å gold
    EVENT MeasureSEM KIND measurement TIMING assumed             # SEM of the gap the oxide left, on the (110) part of the wall; radius of the silicon after oxidation
}

The radial program's rate is proportional to the water pressure; in dry oxygen it grows nothing. The flat oxide of the run is stated (RUN_FLAT_OXIDE_NM) but the program uses it only over steam time.

Convex cylinder, dry O2 1200 °C, radius 244 nm after oxidation

# Convex cylinder, dry O2 1200 °C, radius 244 nm after oxidation
SAMPLE DryCylinder_1200C {
    FAMILY: Si_Nanowire
    ORIENTATION: Si100
    CLEAN: peroxide_HF
    SHAPE: nanowire
    DIAMETER_NM: 881
    RADIUS_AFTER_NM: 244
    HEIGHT_NM: 3000
    SIDEWALL_MEASURED: 110
    RUN_FLAT_OXIDE_NM: 350
    DOPING: not_stated_undoped
}
CONTROL_TRAJECTORY History {
    EVENT Lithography KIND other TIMING assumed                  # Circles and holes, AZ1470 resist, 4:1 projection aligner
    EVENT Etch KIND etch TIMING bound                            # Plasma etch to 3 µm (SF6 + C2ClF5), about 6.5 min per µm
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->1200 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN DryOxidation DURATION 10500 TEMP 1200->1200 AMBIENT dry_O2 TIMING assumed VARY duration 6300..14700
    RUN PullOut DURATION 600 TEMP 1200->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT PolySiCap KIND deposition TIMING stated                # 1 µm LPCVD polysilicon, 620 °C, 500 mTorr, 90 min
    EVENT Lap KIND other TIMING assumed                          # Lapped to mid-height
    EVENT EtchOut KIND etch TIMING bound                         # Oxide etched out in 6:1 BHF, 100 Å gold
    EVENT MeasureSEM KIND measurement TIMING assumed             # SEM of the gap the oxide left, on the (110) part of the wall; radius of the silicon after oxidation
}

The radial program's rate is proportional to the water pressure; in dry oxygen it grows nothing. The flat oxide of the run is stated (RUN_FLAT_OXIDE_NM) but the program uses it only over steam time.

Concave hole, dry O2 900 °C, radius 1176 nm after oxidation

# Concave hole, dry O2 900 °C, radius 1176 nm after oxidation
SAMPLE DryHole_900C {
    FAMILY: Si_Nanowire
    ORIENTATION: Si100
    CLEAN: peroxide_HF
    SHAPE: hole
    HOLE_RADIUS_AFTER_NM: 1176
    HEIGHT_NM: 3000
    RUN_FLAT_OXIDE_NM: 350
}
CONTROL_TRAJECTORY History {
    EVENT Lithography KIND other TIMING assumed                  # Circles and holes, AZ1470 resist, 4:1 projection aligner
    EVENT Etch KIND etch TIMING bound                            # Plasma etch to 3 µm (SF6 + C2ClF5), about 6.5 min per µm
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->900 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN DryOxidation DURATION 232560 TEMP 900->900 AMBIENT dry_O2 TIMING assumed VARY duration 139536..325584
    RUN PullOut DURATION 600 TEMP 900->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT PolySiCap KIND deposition TIMING stated                # 1 µm LPCVD polysilicon, 620 °C, 500 mTorr, 90 min
    EVENT Lap KIND other TIMING assumed                          # Lapped to mid-height
    EVENT EtchOut KIND etch TIMING bound                         # Oxide etched out in 6:1 BHF, 100 Å gold
    EVENT MeasureSEM KIND measurement TIMING assumed             # SEM of the gap the oxide left, on the (110) part of the wall; radius of the silicon after oxidation
}

No program for a concave surface, and none for dry oxygen on a curved one.

Concave hole, dry O2 1100 °C, radius 714 nm after oxidation

# Concave hole, dry O2 1100 °C, radius 714 nm after oxidation
SAMPLE DryHole_1100C {
    FAMILY: Si_Nanowire
    ORIENTATION: Si100
    CLEAN: peroxide_HF
    SHAPE: hole
    HOLE_RADIUS_AFTER_NM: 714
    HEIGHT_NM: 3000
    RUN_FLAT_OXIDE_NM: 350
}
CONTROL_TRAJECTORY History {
    EVENT Lithography KIND other TIMING assumed                  # Circles and holes, AZ1470 resist, 4:1 projection aligner
    EVENT Etch KIND etch TIMING bound                            # Plasma etch to 3 µm (SF6 + C2ClF5), about 6.5 min per µm
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    RUN PushIn DURATION 600 TEMP 700->1100 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN DryOxidation DURATION 24180 TEMP 1100->1100 AMBIENT dry_O2 TIMING assumed VARY duration 14508..33852
    RUN PullOut DURATION 600 TEMP 1100->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT PolySiCap KIND deposition TIMING stated                # 1 µm LPCVD polysilicon, 620 °C, 500 mTorr, 90 min
    EVENT Lap KIND other TIMING assumed                          # Lapped to mid-height
    EVENT EtchOut KIND etch TIMING bound                         # Oxide etched out in 6:1 BHF, 100 Å gold
    EVENT MeasureSEM KIND measurement TIMING assumed             # SEM of the gap the oxide left, on the (110) part of the wall; radius of the silicon after oxidation
}

No program for a concave surface, and none for dry oxygen on a curved one.

Convex cylinder, phosphorus-doped, deglazed, steam 900 °C, radius 154 nm

# Convex cylinder, phosphorus-doped, deglazed, steam 900 °C, radius 154 nm
SAMPLE Doped_deglazed {
    FAMILY: Si_Nanowire
    ORIENTATION: Si100
    CLEAN: peroxide_HF
    SHAPE: nanowire
    DIAMETER_NM: 596
    RADIUS_AFTER_NM: 154
    HEIGHT_NM: 3000
    DOPING: n_type_phosphorus_POCl3_950C_60min
    RUN_FLAT_OXIDE_NM: 500
}
CONTROL_TRAJECTORY History {
    EVENT Lithography KIND other TIMING assumed                  # Circles and holes, AZ1470 resist, 4:1 projection aligner
    EVENT Etch KIND etch TIMING bound                            # Plasma etch to 3 µm (SF6 + C2ClF5), about 6.5 min per µm
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    EVENT POCl3 KIND other TIMING stated                         # Phosphorus predeposition, POCl3, 950 °C, 60 min
    EVENT Deglaze KIND etch TIMING assumed                       # PSG (800 Å) removed
    RUN PushIn DURATION 600 TEMP 700->900 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN WetOxidation DURATION 1200 TEMP 900->900 AMBIENT steam TIMING stated
    RUN PullOut DURATION 600 TEMP 900->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT PolySiCap KIND deposition TIMING stated                # 1 µm LPCVD polysilicon, 620 °C, 500 mTorr, 90 min
    EVENT Lap KIND other TIMING assumed                          # Lapped to mid-height
    EVENT EtchOut KIND etch TIMING bound                         # Oxide etched out in 6:1 BHF, 100 Å gold
    EVENT MeasureSEM KIND measurement TIMING assumed             # SEM of the gap the oxide left, on the (110) part of the wall; radius of the silicon after oxidation
}

Kao's flat oxide for this group is “approximately 5000 Å”; 500 nm is used. The radial program reads neither the doping nor the glass, so it treats this run like any other with the same flat oxide.

Convex cylinder, phosphorus-doped, PSG kept, steam 900 °C, radius 250 nm

# Convex cylinder, phosphorus-doped, PSG kept, steam 900 °C, radius 250 nm
SAMPLE Doped_not_deglazed {
    FAMILY: Si_Nanowire
    ORIENTATION: Si100
    CLEAN: peroxide_HF
    SHAPE: nanowire
    DIAMETER_NM: 1020
    RADIUS_AFTER_NM: 250
    HEIGHT_NM: 3000
    DOPING: n_type_phosphorus_POCl3_950C_60min
    PSG_NM: 80
    RUN_FLAT_OXIDE_NM: 500
}
CONTROL_TRAJECTORY History {
    EVENT Lithography KIND other TIMING assumed                  # Circles and holes, AZ1470 resist, 4:1 projection aligner
    EVENT Etch KIND etch TIMING bound                            # Plasma etch to 3 µm (SF6 + C2ClF5), about 6.5 min per µm
    EVENT Clean KIND clean TIMING stated                         # RCA clean ending in 50:1 HF, 30 s
    EVENT POCl3 KIND other TIMING stated                         # Phosphorus predeposition, POCl3, 950 °C, 60 min
    EVENT KeepPSG KIND other TIMING assumed                      # PSG (800 Å) left on
    RUN PushIn DURATION 600 TEMP 700->900 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    RUN WetOxidation DURATION 1200 TEMP 900->900 AMBIENT steam TIMING assumed VARY duration 600..3600
    RUN PullOut DURATION 600 TEMP 900->700 AMBIENT inert_N2 TIMING assumed VARY duration 60..1800
    EVENT PolySiCap KIND deposition TIMING stated                # 1 µm LPCVD polysilicon, 620 °C, 500 mTorr, 90 min
    EVENT Lap KIND other TIMING assumed                          # Lapped to mid-height
    EVENT EtchOut KIND etch TIMING bound                         # Oxide etched out in 6:1 BHF, 100 Å gold
    EVENT MeasureSEM KIND measurement TIMING assumed             # SEM of the gap the oxide left, on the (110) part of the wall; radius of the silicon after oxidation
}

Kao's flat oxide for this group is “approximately 5000 Å”; 500 nm is used. The radial program reads neither the doping nor the glass, so it treats this run like any other with the same flat oxide.

The programs the predictor ran on these histories: experiments/muller_nanowire/radial_oxidation.isl.template with the length exponential curvature term, experiments/vitkavage_dit/oxide_growth.isl.template.

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

# ==============================================================================
# ISL MODEL: DRY THERMAL OXIDATION OF SILICON (growth sector)
#
# Linear-parabolic (Deal-Grove) growth written as one ISL operator. Nothing is
# fitted to the test data: every parameter keeps the value declared here.
#
# Provenance of the constants: the rate constants are an Arrhenius fit to Table II of
# Deal and Grove (1965), which is for (111) silicon; see scripts/derive_deal_grove_constants.py.
# The orientation factor for other faces is not in that paper and remains a hypothesis.
# Fields in {{braces}} are filled by scripts/run_vitkavage_growth.py.
# ==============================================================================
SAMPLE {sample_id} {{
    FAMILY: Si_Planar
    ORIENTATION: Si{orientation}
}}
# Oxide thickness. The initial value is Deal and Grove's effective starting thickness
# for dry oxygen, which stands in for the fast initial regime their model does not describe.
STATE x_ox {{
    UNIT: cm
    INITIAL: x_i
    MIN: 0
    MAX: 1.0e-3
}}
CONTROL T {{ UNIT: K }}
CONTROL p_O2 {{ UNIT: atm }}
# Parabolic rate constant B = B0 * exp(-E_B / kT).
PARAMETER B0 {{ VALUE: 3.6053e-09; UNIT: cm^2 s^-1; STATUS: sourced; SOURCE: Deal and Grove, J. Appl. Phys. 36, 3770 (1965), Table II, dry oxygen on (111), Arrhenius least-squares fit, table agent-read }}
PARAMETER E_B {{ VALUE: 1.2860; UNIT: eV; STATUS: sourced; SOURCE: Deal and Grove, J. Appl. Phys. 36, 3770 (1965), Table II, dry oxygen on (111), Arrhenius least-squares fit, table agent-read }}
# Linear rate constant B/A on (111) = BA0 * exp(-E_BA / kT).
PARAMETER BA0 {{ VALUE: 2.4265e-01; UNIT: cm s^-1; STATUS: sourced; SOURCE: Deal and Grove, J. Appl. Phys. 36, 3770 (1965), Table II, dry oxygen on (111), Arrhenius least-squares fit, table agent-read }}
PARAMETER E_BA {{ VALUE: 2.0303; UNIT: eV; STATUS: sourced; SOURCE: Deal and Grove, J. Appl. Phys. 36, 3770 (1965), Table II, dry oxygen on (111), Arrhenius least-squares fit, table agent-read }}
# Orientation factor on the linear rate, relative to (111).
PARAMETER r_or {{ VALUE: {r_or}; UNIT: 1; STATUS: hypothesis }}
# Effective initial thickness for dry oxygen.
PARAMETER x_i {{ VALUE: 2.3e-6; UNIT: cm; STATUS: sourced; SOURCE: Deal and Grove, J. Appl. Phys. 36, 3770 (1965), stated intercept 230 +/- 30 angstrom for dry oxygen, agent-read }}
# Both rate constants are proportional to oxidant pressure; the constants above are for 1 atm.
PARAMETER p_ref {{ VALUE: 1.0; UNIT: atm; STATUS: constant }}
PARAMETER k_B {{ VALUE: 8.617333262e-5; UNIT: eV K^-1; STATUS: constant }}
CONTROL_TRAJECTORY {trajectory_id} {{
    RUN Oxidation DURATION {duration_s} TEMP {T_C}->{T_C} AMBIENT dry_O2
}}
# dx/dt = B / (2x + A), with A = B / (B/A).
OPERATOR F_LinearParabolicGrowth : OxideGrowth {{
    EQUATION: d(x_ox)/dt = (p_O2 / p_ref) * B0 * exp(-E_B / (k_B * T)) / (2 * x_ox + B0 * exp(-E_B / (k_B * T)) / (r_or * BA0 * exp(-E_BA / (k_B * T))))
}}
OBSERVATION_MODEL Obs_Oxide_Thickness {{
    TARGET: Thickness
    UNIT: cm
    EQUATION: Thickness = x_ox
}}
# Silicon consumed by the oxide grown in this recipe: 0.44 of its thickness, by the ratio of molar volumes.
OBSERVATION_MODEL Obs_Consumed_Silicon {{
    TARGET: Consumed_substrate
    UNIT: cm
    EQUATION: Consumed_substrate = 0.44 * (x_ox - x_i)
}}
EVALUATION_CONTRACT {contract_id} {{
    FROZEN: true
    DATASET: data/derived/vitkavage_1990_thickness.csv
    DATASET_DIGEST: sha256:{dataset_sha256}
    SPLIT: test
    TARGET: Thickness = {target} +/- {tolerance} rel
}}

Our simulation against the paper

3 within, 3 near, 10 off, 2 not modelled of 18 numbers. Tolerance is stated per row; nothing was fitted for this page.

✓3 within tolerance≈3 within twice the tolerance✕10 outside∅2 not modelled
simulation below the paper ← 0 → simulation above the paper-100%-50%0%+50%+100%Flat (100), steam 800 °C, 1440 minflat (100) oxideours 681 · paper 503 nm✕ outside (+35%)Flat (100), steam 900 °C, 300 minflat (100) oxideours 632 · paper 458 nm✕ outside (+38%)Flat (100), steam 1000 °C, 96 minflat (100) oxideours 589 · paper 474 nm✕ outside (+24%)Flat (100), steam 1100 °C, 40 minflat (100) oxideours 540 · paper 488 nm≈ within twice the tolerance (+11%)Flat (100), steam 1200 °C, 24 minflat (100) oxideours 547 · paper 555 nm✓ within tolerance (-1.5%)Flat (110), steam 800 °C, 1440 minflat (110) oxideours 860 · paper 649 nm✕ outside (+33%)Flat (110), steam 900 °C, 300 minflat (110) oxideours 729 · paper 572 nm✕ outside (+28%)Flat (110), steam 1000 °C, 96 minflat (110) oxideours 637 · paper 559 nm≈ within twice the tolerance (+14%)Flat (110), steam 1100 °C, 40 minflat (110) oxideours 564 · paper 512 nm✓ within tolerance (+10.0%)Flat (110), steam 1200 °C, 24 minflat (110) oxideours 560 · paper 572 nm✓ within tolerance (-2.2%)Convex cylinder, dry O2 900 °C, radius 235 nm…oxide on the convex cylinderours 0 · paper 193 nm✕ outside (-100%)Convex cylinder, dry O2 1000 °C, radius 278 n…oxide on the convex cylinderours 0 · paper 298 nm✕ outside (-100%)Convex cylinder, dry O2 1100 °C, radius 135 n…oxide on the convex cylinderours 0 · paper 284 nm✕ outside (-100%)Convex cylinder, dry O2 1200 °C, radius 244 n…oxide on the convex cylinderours 0 · paper 361 nm✕ outside (-100%)Concave hole, dry O2 900 °C, radius 1176 nm a…oxide in the concave holeno program · paper 140 nm∅ not modelledConcave hole, dry O2 1100 °C, radius 714 nm a…oxide in the concave holeno program · paper 217 nm∅ not modelledConvex cylinder, phosphorus-doped, deglazed, …oxide on the doped cylinderours 307 · paper 260 nm≈ within twice the tolerance (+18%)Convex cylinder, phosphorus-doped, PSG kept, …oxide on the doped cylinderours 331 · paper 465 nm✕ outside (-29%)
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
Flat (100), steam 800 °C, 1440 minflat (100) oxide503 nm681 nm+35%off (±10%)outside the tested scopeTable 1, PDF p. 16
Flat (100), steam 900 °C, 300 minflat (100) oxide458 nm632 nm+38%off (±10%)outside the tested scopeTable 1, PDF p. 16
Flat (100), steam 1000 °C, 96 minflat (100) oxide474 nm589 nm+24%off (±10%)supported within scopeTable 1, PDF p. 16
Flat (100), steam 1100 °C, 40 minflat (100) oxide488 nm540 nm+11%near (±10%)supported within scopeTable 1, PDF p. 16
Flat (100), steam 1200 °C, 24 minflat (100) oxide555 nm547 nm-1%within (±10%)supported within scopeTable 1, PDF p. 16
Flat (110), steam 800 °C, 1440 minflat (110) oxide648 nm860 nm+33%off (±10%)outside the tested scopeTable 1, PDF p. 16: ratio 1.29 × (100) value
Flat (110), steam 900 °C, 300 minflat (110) oxide572 nm729 nm+28%off (±10%)outside the tested scopeTable 1, PDF p. 16: ratio 1.25 × (100) value
Flat (110), steam 1000 °C, 96 minflat (110) oxide559 nm637 nm+14%near (±10%)supported within scopeTable 1, PDF p. 16: ratio 1.18 × (100) value
Flat (110), steam 1100 °C, 40 minflat (110) oxide512 nm564 nm+10%within (±10%)supported within scopeTable 1, PDF p. 16: ratio 1.05 × (100) value
Flat (110), steam 1200 °C, 24 minflat (110) oxide572 nm560 nm-2%within (±10%)supported within scopeTable 1, PDF p. 16: ratio 1.03 × (100) value
Convex cylinder, dry O2 900 °C, radius 235 nm after oxidationoxide on the convex cylinder192 nm0 nm-100%off (±10%)outside the tested scopeFigure 10 (PDF p. 36), end of Kao's line at 1/r = 4.25 µm⁻¹, normalized 0.55 × 350 nm (nominal); graph reading
Convex cylinder, dry O2 1000 °C, radius 278 nm after oxidationoxide on the convex cylinder298 nm0 nm-100%off (±10%)outside the tested scopeFigure 10 (PDF p. 36), end of Kao's line at 1/r = 3.6 µm⁻¹, normalized 0.85 × 350 nm (nominal); graph reading
Convex cylinder, dry O2 1100 °C, radius 135 nm after oxidationoxide on the convex cylinder284 nm0 nm-100%off (±10%)outside the tested scopeFigure 10 (PDF p. 36), end of Kao's line at 1/r = 7.4 µm⁻¹, normalized 0.81 × 350 nm (nominal); graph reading
Convex cylinder, dry O2 1200 °C, radius 244 nm after oxidationoxide on the convex cylinder360 nm0 nm-100%off (±10%)outside the tested scopeFigure 10 (PDF p. 36), end of Kao's line at 1/r = 4.1 µm⁻¹, normalized 1.03 × 350 nm (nominal); graph reading
Concave hole, dry O2 900 °C, radius 1176 nm after oxidationoxide in the concave hole140 nmno programnot modelled (±10%)no programFigure 10 (PDF p. 36), end of Kao's dashed line at 1/r = 0.85 µm⁻¹, normalized 0.4 × 350 nm; graph reading
Concave hole, dry O2 1100 °C, radius 714 nm after oxidationoxide in the concave hole217 nmno programnot modelled (±10%)no programFigure 10 (PDF p. 36), end of Kao's dashed line at 1/r = 1.4 µm⁻¹, normalized 0.62 × 350 nm; graph reading
Convex cylinder, phosphorus-doped, deglazed, steam 900 °C, radius 154 nmoxide on the doped cylinder260 nm307 nm+18%near (±10%)outside the tested scopeFigure 11 (PDF p. 37), end of the deglazed line at 1/r = 6.5 µm⁻¹, normalized 0.52 × 500 nm; graph reading
Convex cylinder, phosphorus-doped, PSG kept, steam 900 °C, radius 250 nmoxide on the doped cylinder465 nm331 nm-29%off (±10%)outside the tested scopeFigure 11 (PDF p. 37), end of the not-deglazed line at 1/r = 4 µm⁻¹, normalized 0.93 × 500 nm; graph reading

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 planar_100_1000C, planar_100_1100C, planar_100_1200C, planar_110_1000C, planar_110_1100C, planar_110_1200C 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
Push and heat to 1000 °C (assumed, nitrogen): duration (1000)not stated; 1 to 30 min searched60 to 1800 s600 s600 s (flat: the data do not constrain it)3 of 6 within tolerance, median error 10.3%3 of 6 within tolerance, median error 10.3%
Pull and cool from 1000 °C (assumed, nitrogen): duration (1000)not stated; 1 to 30 min searched60 to 1800 s600 s600 s (flat: the data do not constrain it)3 of 6 within tolerance, median error 10.3%3 of 6 within tolerance, median error 10.3%
Push and heat to 1100 °C (assumed, nitrogen): duration (1100)not stated; 1 to 30 min searched60 to 1800 s600 s600 s (flat: the data do not constrain it)3 of 6 within tolerance, median error 10.3%3 of 6 within tolerance, median error 10.3%
Pull and cool from 1100 °C (assumed, nitrogen): duration (1100)not stated; 1 to 30 min searched60 to 1800 s600 s600 s (flat: the data do not constrain it)3 of 6 within tolerance, median error 10.3%3 of 6 within tolerance, median error 10.3%
Push and heat to 1200 °C (assumed, nitrogen): duration (1200)not stated; 1 to 30 min searched60 to 1800 s600 s600 s (flat: the data do not constrain it)3 of 6 within tolerance, median error 10.3%3 of 6 within tolerance, median error 10.3%
Pull and cool from 1200 °C (assumed, nitrogen): duration (1200)not stated; 1 to 30 min searched60 to 1800 s600 s600 s (flat: the data do not constrain it)3 of 6 within tolerance, median error 10.3%3 of 6 within tolerance, median error 10.3%

Together: PushIn duration 600 s (was 600); PullOut duration 600 s (was 600); PushIn duration 600 s (was 600); PullOut duration 600 s (was 600); PushIn duration 600 s (was 600); PullOut duration 600 s (was 600).

As reproduced: 3 of 18 within tolerance, median error 28.2%. Aligned: 4 of 18 within tolerance, median error 30.1%. On the held-out samples only: 0 of 12 within tolerance, median error 36.8% as reproduced, 1 of 12 within tolerance, median error 45.8% aligned.

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

VariantAloneWith the aligned history
steam from a 95 °C bubbler (640 Torr), as Deal and Grove's constants5 of 18 within tolerance, median error 15.2%5 of 18 within tolerance, median error 15.2%
flat oxide stated for the radial program's diffusion term4 of 18 within tolerance, median error 30.1%4 of 18 within tolerance, median error 30.1%

The aligned numbers below use the variant flat oxide stated for the radial program's diffusion term.

The unknowns were chosen on the six flat oxides at 1000, 1100 and 1200 °C, inside the 920 to 1200 °C range of the planar program's wet constants. The flat oxides at 800 and 900 °C, the dry and doped cylinders and the dry holes are the test. Each furnace run has its own push and pull.

The furnace cycle is invisible here too. Push and pull in nitrogen score 3 of 6 on the fit oxides at every length from 1 to 30 min: neither growth program grows oxide in nitrogen. The heating-and-cooling scenarios move no number by more than 2%. A push in steam or oxygen would be visible, but the language cannot make the gas of a step an unknown.

Flat oxides. As written (pure steam at 1 atm), the planar program is within 10% at 1200 °C and on (110) at 1100 °C, and too thick below: +11% and +24% on (100) at 1100 and 1000 °C, and +35 to +38% at 800 and 900 °C, below its tested range. With the steam of a 95 °C bubbler (640 Torr, the pressure Deal and Grove's constants were measured at), 1000 and 1100 °C come within tolerance on both orientations (+1 to +12%), 1200 °C falls to −10%, and 800 and 900 °C improve to +14 to +22%: 5 of 18 against 3 of 18. The steam source is not stated, so this is a choice the paper leaves open; it is reported and not used. Either way the planar program is 14 to 38% thick at 800 and 900 °C: Deal and Grove's wet Arrhenius law extrapolated below 920 °C overstates Kao's growth.

Orientation. The planar program's (110)/(100) factor on the linear rate is 1.45, the value Kao fitted (Eq. 2). It gives thickness ratios 1.26, 1.15, 1.08, 1.04, 1.02 at 800 to 1200 °C against Kao's 1.29, 1.25, 1.18, 1.05, 1.03: right at the ends, 0.10 low at 900 and 1000 °C, where the measured ratio needs a larger linear-rate share than the program's parabolic constant leaves.

Dry cylinders: no program. The radial program's rate is proportional to the water pressure, so every dry cylinder gets zero oxide (−100%), and the assumed dry time does not change that. The two dry holes have no program at all.

Doped cylinders. With the flat oxide stated for the program's diffusion term (the variant used, as on the kao-1988 page), the deglazed cylinder is +53% (399 against 260 nm) and the cylinder with its glass kept is −6% (436 against 465 nm). The program does not read doping or the glass: it predicts the same normalized oxide (0.80 and 0.87 of flat at these radii) for groups Kao measured at 0.52 and 0.93. The −6% is the program's geometry matching a group where Kao says retardation was removed, not a reproduction of the doping effect.

Aligned: 4 of 18 within tolerance (median error 30%), from 3 of 18 (28%) as reproduced; the gain is the not-deglazed cylinder. On the held-out rows: 1 of 12, from 0 of 12. The aligned count is not a test of the planar program's unknowns, which the data could not see.

✓1 within tolerance✕9 outside∅2 not modelled
simulation below the paper ← 0 → simulation above the paper-100%-50%0%+50%+100%Flat (100), steam 800 °C, 1440 minflat (100) oxideours 681 · paper 503 nm✕ outside (+35%)Flat (100), steam 900 °C, 300 minflat (100) oxideours 632 · paper 458 nm✕ outside (+38%)Flat (110), steam 800 °C, 1440 minflat (110) oxideours 860 · paper 649 nm✕ outside (+33%)Flat (110), steam 900 °C, 300 minflat (110) oxideours 729 · paper 572 nm✕ outside (+28%)Convex cylinder, dry O2 900 °C, radius 235 nm…oxide on the convex cylinderours 0 · paper 193 nm✕ outside (-100%)Convex cylinder, dry O2 1000 °C, radius 278 n…oxide on the convex cylinderours 0 · paper 298 nm✕ outside (-100%)Convex cylinder, dry O2 1100 °C, radius 135 n…oxide on the convex cylinderours 0 · paper 284 nm✕ outside (-100%)Convex cylinder, dry O2 1200 °C, radius 244 n…oxide on the convex cylinderours 0 · paper 361 nm✕ outside (-100%)Concave hole, dry O2 900 °C, radius 1176 nm a…oxide in the concave holeno program · paper 140 nm∅ not modelledConcave hole, dry O2 1100 °C, radius 714 nm a…oxide in the concave holeno program · paper 217 nm∅ not modelledConvex cylinder, phosphorus-doped, deglazed, …oxide on the doped cylinderours 399 · paper 260 nm✕ outside (+53%)Convex cylinder, phosphorus-doped, PSG kept, …oxide on the doped cylinderours 436 · paper 465 nm✓ within tolerance (-6.2%)
The pale green band is the tolerance. Bars past ±100% are cut and carry their value.

1 within, 9 off, 2 not modelled of 12 numbers with the aligned settings (the samples used to choose the unknowns are left out).

SampleQuantityThe paperAs reproduced aboveAlignedDifferenceVerdictHow
Flat (100), steam 800 °C, 1440 minflat (100) oxide503 nm681681+35%off (±10%)test
Flat (100), steam 900 °C, 300 minflat (100) oxide458 nm632632+38%off (±10%)test
Flat (110), steam 800 °C, 1440 minflat (110) oxide648 nm860860+33%off (±10%)test
Flat (110), steam 900 °C, 300 minflat (110) oxide572 nm729729+28%off (±10%)test
Convex cylinder, dry O2 900 °C, radius 235 nm after oxidationoxide on the convex cylinder192 nm00-100%off (±10%)test
Convex cylinder, dry O2 1000 °C, radius 278 nm after oxidationoxide on the convex cylinder298 nm00-100%off (±10%)test
Convex cylinder, dry O2 1100 °C, radius 135 nm after oxidationoxide on the convex cylinder284 nm00-100%off (±10%)test
Convex cylinder, dry O2 1200 °C, radius 244 nm after oxidationoxide on the convex cylinder360 nm00-100%off (±10%)test
Concave hole, dry O2 900 °C, radius 1176 nm after oxidationoxide in the concave hole140 nmno programno programnot modelled (±10%)test
Concave hole, dry O2 1100 °C, radius 714 nm after oxidationoxide in the concave hole217 nmno programno programnot modelled (±10%)test
Convex cylinder, phosphorus-doped, deglazed, steam 900 °C, radius 154 nmoxide on the doped cylinder260 nm307399+53%off (±10%)test
Convex cylinder, phosphorus-doped, PSG kept, steam 900 °C, radius 250 nmoxide on the doped cylinder465 nm331436-6%within (±10%)test

Planar wet below 920 °C: the program's Deal and Grove constants overstate Kao's 800 and 900 °C flat oxides by 14 to 38% whatever the steam source. Kao's own Table 1 is the data that would extend a wet law below 920 °C; Massoud-type wet data or a refit of B/A below 1000 °C would be needed, and the (110)/(100) ratios at 900 and 1000 °C say the orientation factor is not one constant on the linear rate.

Dry oxygen on a curved surface: the radial program's growth is (p_H2O/1 atm) × rate; it has no dry channel. A dry curved program needs the planar dry law (Deal and Grove dry, experiments/vitkavage_dit/oxide_growth.isl.template, with its oxygen-pressure term) written in cylindrical form: Kao's Eq. 9 with the dry B and B/A and the run's flat oxide as reference, and a stress term with a dry-oxide viscosity (Kao: two to three orders above wet).

Doping and a retained glass: no program reads DOPING or a surface glass. Kao's account needs the growth rate (from the run's flat oxide, which the sample can state) and an oxide viscosity that falls with phosphorus in the oxide; neither exists here.

What our language and ontology cannot yet say

  • A dry channel in the curved-silicon program. Kao's dry cylinders (Figure 10) cannot be predicted at all: the radial program's rate is proportional to the water pressure. The planar dry programs exist; the cylindrical law needs a dry B and B/A with an oxygen-pressure term, and RUN_FLAT_OXIDE_NM should give the dry rate as it gives the wet one.
  • The gas of a step as an unknown. Push and pull in nitrogen are invisible to every program; in steam or oxygen they would not be. The language can VARY a duration or a temperature but not the ambient; VARY ambient inert_N2|dry_O2|steam would let an unstated push gas be searched.
  • A steam source on the ambient. “Steam” in Kao, Deal and Grove and Müller is three different water pressures (bubbler 640 Torr, pyrogenic with leftover oxygen, unstated). An ambient word like steam_bubbler(95C) or steam_pyrogenic(H2:O2) that resolves to a partial pressure would make the choice explicit; here it moves the planar score from 3 to 5 of 18. And a program whose rate comes from RUN_FLAT_OXIDE_NM should not also scale by p_H2O, or a stated mixture counts the water twice (the bubbler variant drops the doped cylinders by 12%).
  • Doping and a glass on the surface as program inputs. DOPING and PSG_NM are recorded on the sample and read by nothing. Kao's doped groups differ by a factor of two in retardation at the same flat oxide; a stress-form program with a viscosity that depends on the phosphorus in the oxide, and a starting layer of a named material (not only STARTING_OXIDE_NM for SiO2), would let them be predicted.
  • A trench sidewall as a sample. The (110) values come from trench sidewalls; the language writes them as a flat (110) wafer. A SHAPE trench with a sidewall orientation would say what was measured.

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)3 of 1828.8%
heat-up A (hot push), fast cooling3 of 1828.8%0 of 18 moved by more than 2%
heat-up A (hot push), slow cooling3 of 1828.8%0 of 18 moved by more than 2%
heat-up B (cold-furnace ramp), fast cooling3 of 1828.8%0 of 18 moved by more than 2%
heat-up B (cold-furnace ramp), slow cooling3 of 1828.8%0 of 18 moved by more than 2%

The paper's own conclusions

The paper statesWhat we find
Table 1: about 460 to 555 nm on flat (100) after 1440, 300, 96, 40, 24 min of steam at 800 to 1200 °CThe planar wet program (Deal and Grove 1965) is 11 to 38% thick at 800 to 1100 °C in pure steam; with a 95 °C bubbler's 640 Torr it is within 10% at 1000 to 1100 °Csee the table
(110)/(100) wet ratio 1.29, 1.25, 1.18, 1.05, 1.03 at 800 to 1200 °C; fitted k_s(110)/k_s(100) = 1.45The planar program gives 1.26, 1.15, 1.08, 1.04, 1.02 with the same factor 1.45direction right
Dry oxidation: the same retardation as wet, more severeNo curved program grows oxide in dry oxygennot tested
Phosphorus-doped, deglazed cylinders retard like undoped ones; keeping the glass removes most of the retardationNo program reads doping or the glassnot tested
Back-side oxide does not change front-side dry oxidationNot encodednot tested

What we would like Emily to check

  1. Was the steam pyrogenic or from a bubbler? The planar program's constants are for 640 Torr of water.
  2. What were the dry oxidation times, and what flat oxide did each dry run actually grow?
  3. How long was the not-deglazed doped group oxidized, and what was the phosphorus surface concentration?
  4. Were the 800 and 900 °C Table 1 wafers in the same runs as the cylinders, so that the flat oxide is the run's own?