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 described | 0 of 4 properties we need are stated and encoded the same |
| History described | 2 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 |
| Timing | 1 of 3 simulated steps have a stated duration; 1 of 2 other steps have none; 6 timing gaps listed below |
| How the results are given | Table 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 authors | Error bars on convex points (about ±0.03 to ±0.06 of the flat oxide); none on concave points or on Table 1 |
| Internal consistency | Moderate. 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 |
| Outcome | 3 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.
“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”
| oxide thickness | 0 nm | 503 |
| consumed substrate | 0 nm |
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.
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
| # | Step | Starts at | Lasts | Ends at | Temperature | Rate | Gas | Is the timing in the paper? |
|---|---|---|---|---|---|---|---|---|
| 1 | RCA clean ending in 50:1 HF, 30 s | 0 s | not simulated | stated. 10 + 10 min at 70 °C, HF 30 s; time to the furnace not stated | ||||
| 2 | Push and heat to 800 °C (assumed, nitrogen) | 0 s | 10 min | 10 min | 700 → 800 °C | +0.167 °C/s | inert_N2 | not stated; assumed. not stated; 1 to 30 min searched |
| 3 | Steam, 800 °C, 1440 min | 10 min | 24 h 00 min | 24 h 10 min | 800 → 800 °C | held | steam | stated. 1440 min |
| 4 | Pull and cool from 800 °C (assumed, nitrogen) | 24 h 10 min | 10 min | 24 h 20 min | 800 → 700 °C | -0.167 °C/s | inert_N2 | not stated; assumed. not stated; 1 to 30 min searched |
| 5 | Nanospec interferometer on the (100) wafer | 24 h 20 min | not simulated | not stated |
Simulated time in this history: 24 h 20 min.
Across the samples
| Sample | PushIn | WetOxidation | PullOut | DryOxidation | Total |
|---|---|---|---|---|---|
| Flat (100), steam 800 °C, 1440 min | 10 min at 700→800 °C | 24 h 00 min at 800 °C | 10 min at 800→700 °C | – | 24 h 20 min |
| Flat (100), steam 900 °C, 300 min | 10 min at 700→900 °C | 5 h 00 min at 900 °C | 10 min at 900→700 °C | – | 5 h 20 min |
| Flat (100), steam 1000 °C, 96 min | 10 min at 700→1000 °C | 1 h 36 min at 1000 °C | 10 min at 1000→700 °C | – | 1 h 56 min |
| Flat (100), steam 1100 °C, 40 min | 10 min at 700→1100 °C | 40 min at 1100 °C | 10 min at 1100→700 °C | – | 1 h 00 min |
| Flat (100), steam 1200 °C, 24 min | 10 min at 700→1200 °C | 24 min at 1200 °C | 10 min at 1200→700 °C | – | 44 min |
| Flat (110), steam 800 °C, 1440 min | 10 min at 700→800 °C | 24 h 00 min at 800 °C | 10 min at 800→700 °C | – | 24 h 20 min |
| Flat (110), steam 900 °C, 300 min | 10 min at 700→900 °C | 5 h 00 min at 900 °C | 10 min at 900→700 °C | – | 5 h 20 min |
| Flat (110), steam 1000 °C, 96 min | 10 min at 700→1000 °C | 1 h 36 min at 1000 °C | 10 min at 1000→700 °C | – | 1 h 56 min |
| Flat (110), steam 1100 °C, 40 min | 10 min at 700→1100 °C | 40 min at 1100 °C | 10 min at 1100→700 °C | – | 1 h 00 min |
| Flat (110), steam 1200 °C, 24 min | 10 min at 700→1200 °C | 24 min at 1200 °C | 10 min at 1200→700 °C | – | 44 min |
| Convex cylinder, dry O2 900 °C, radius 235 nm after oxidation | 10 min at 700→900 °C | – | 10 min at 900→700 °C | 64 h 36 min at 900 °C | 64 h 56 min |
| Convex cylinder, dry O2 1000 °C, radius 278 nm after oxidation | 10 min at 700→1000 °C | – | 10 min at 1000→700 °C | 18 h 25 min at 1000 °C | 18 h 45 min |
| Convex cylinder, dry O2 1100 °C, radius 135 nm after oxidation | 10 min at 700→1100 °C | – | 10 min at 1100→700 °C | 6 h 43 min at 1100 °C | 7 h 03 min |
| Convex cylinder, dry O2 1200 °C, radius 244 nm after oxidation | 10 min at 700→1200 °C | – | 10 min at 1200→700 °C | 2 h 55 min at 1200 °C | 3 h 15 min |
| Concave hole, dry O2 900 °C, radius 1176 nm after oxidation | 10 min at 700→900 °C | – | 10 min at 900→700 °C | 64 h 36 min at 900 °C | 64 h 56 min |
| Concave hole, dry O2 1100 °C, radius 714 nm after oxidation | 10 min at 700→1100 °C | – | 10 min at 1100→700 °C | 6 h 43 min at 1100 °C | 7 h 03 min |
| Convex cylinder, phosphorus-doped, deglazed, steam 900 °C, radius 154 nm | 10 min at 700→900 °C | 20 min at 900 °C | 10 min at 900→700 °C | – | 40 min |
| Convex cylinder, phosphorus-doped, PSG kept, steam 900 °C, radius 250 nm | 10 min at 700→900 °C | 20 min at 900 °C | 10 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 says | We write | Kind in our vocabulary | Note |
|---|---|---|---|
| wet planar oxidation, steam, H2O | AMBIENT steam (or mix:H2O=0.842,O2=0.158 for a 95 °C bubbler) | ambient by partial pressure | Steam source not stated. |
| t_ox(110)/t_ox(100) | (none) | a ratio of two samples' thicknesses | Scored as the (110) thickness = ratio × (100) value. |
| k_s(110) = 1.45 × k_s(100) (Eq. 2) | r_or(110)/r_or(100) = 1.45 | PARAMETER of the planar program (sourced from the dry-oxidation orientation table) | The same number from a different source. |
| dry O2 | AMBIENT dry_O2 | ambient | The radial program grows nothing in it. |
| heavily doped, POCl3, deglazed / not deglazed | DOPING; PSG_NM | sample fields no program reads | Kao: doping raises the growth rate and lowers the viscosity. |
| phosphosilicate glass retained during oxidation | (none) | a starting layer of another material | STARTING_OXIDE_NM is for SiO2; a doped glass has no field. |
| normalized oxide thickness | (none) | a ratio | Scored as the absolute oxide: normalized × the nominal flat oxide. |
| radius of curvature after oxidation | RADIUS_AFTER_NM | sample 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.
| Sample and history | Quantity | The paper | Our simulation | Difference | Verdict | What the program's own evaluation says | Where in the paper |
|---|---|---|---|---|---|---|---|
| Flat (100), steam 800 °C, 1440 min | flat (100) oxide | 503 nm | 681 nm | +35% | off (±10%) | outside the tested scope | Table 1, PDF p. 16 |
| Flat (100), steam 900 °C, 300 min | flat (100) oxide | 458 nm | 632 nm | +38% | off (±10%) | outside the tested scope | Table 1, PDF p. 16 |
| Flat (100), steam 1000 °C, 96 min | flat (100) oxide | 474 nm | 589 nm | +24% | off (±10%) | supported within scope | Table 1, PDF p. 16 |
| Flat (100), steam 1100 °C, 40 min | flat (100) oxide | 488 nm | 540 nm | +11% | near (±10%) | supported within scope | Table 1, PDF p. 16 |
| Flat (100), steam 1200 °C, 24 min | flat (100) oxide | 555 nm | 547 nm | -1% | within (±10%) | supported within scope | Table 1, PDF p. 16 |
| Flat (110), steam 800 °C, 1440 min | flat (110) oxide | 648 nm | 860 nm | +33% | off (±10%) | outside the tested scope | Table 1, PDF p. 16: ratio 1.29 × (100) value |
| Flat (110), steam 900 °C, 300 min | flat (110) oxide | 572 nm | 729 nm | +28% | off (±10%) | outside the tested scope | Table 1, PDF p. 16: ratio 1.25 × (100) value |
| Flat (110), steam 1000 °C, 96 min | flat (110) oxide | 559 nm | 637 nm | +14% | near (±10%) | supported within scope | Table 1, PDF p. 16: ratio 1.18 × (100) value |
| Flat (110), steam 1100 °C, 40 min | flat (110) oxide | 512 nm | 564 nm | +10% | within (±10%) | supported within scope | Table 1, PDF p. 16: ratio 1.05 × (100) value |
| Flat (110), steam 1200 °C, 24 min | flat (110) oxide | 572 nm | 560 nm | -2% | within (±10%) | supported within scope | Table 1, PDF p. 16: ratio 1.03 × (100) value |
| Convex cylinder, dry O2 900 °C, radius 235 nm after oxidation | oxide on the convex cylinder | 192 nm | 0 nm | -100% | off (±10%) | outside the tested scope | Figure 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 oxidation | oxide on the convex cylinder | 298 nm | 0 nm | -100% | off (±10%) | outside the tested scope | Figure 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 oxidation | oxide on the convex cylinder | 284 nm | 0 nm | -100% | off (±10%) | outside the tested scope | Figure 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 oxidation | oxide on the convex cylinder | 360 nm | 0 nm | -100% | off (±10%) | outside the tested scope | Figure 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 oxidation | oxide in the concave hole | 140 nm | no program | not modelled (±10%) | no program | Figure 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 oxidation | oxide in the concave hole | 217 nm | no program | not modelled (±10%) | no program | Figure 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 nm | oxide on the doped cylinder | 260 nm | 307 nm | +18% | near (±10%) | outside the tested scope | Figure 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 nm | oxide on the doped cylinder | 465 nm | 331 nm | -29% | off (±10%) | outside the tested scope | Figure 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.
| Unknown | What the paper says | Range searched | The reproduction used | Best alone | Score at the reproduction's value | Best score alone |
|---|---|---|---|---|---|---|
| Push and heat to 1000 °C (assumed, nitrogen): duration (1000) | not stated; 1 to 30 min searched | 60 to 1800 s | 600 s | 600 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 searched | 60 to 1800 s | 600 s | 600 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 searched | 60 to 1800 s | 600 s | 600 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 searched | 60 to 1800 s | 600 s | 600 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 searched | 60 to 1800 s | 600 s | 600 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 searched | 60 to 1800 s | 600 s | 600 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:
| Variant | Alone | With the aligned history |
|---|---|---|
| steam from a 95 °C bubbler (640 Torr), as Deal and Grove's constants | 5 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 term | 4 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, 9 off, 2 not modelled of 12 numbers with the aligned settings (the samples used to choose the unknowns are left out).
| Sample | Quantity | The paper | As reproduced above | Aligned | Difference | Verdict | How |
|---|---|---|---|---|---|---|---|
| Flat (100), steam 800 °C, 1440 min | flat (100) oxide | 503 nm | 681 | 681 | +35% | off (±10%) | test |
| Flat (100), steam 900 °C, 300 min | flat (100) oxide | 458 nm | 632 | 632 | +38% | off (±10%) | test |
| Flat (110), steam 800 °C, 1440 min | flat (110) oxide | 648 nm | 860 | 860 | +33% | off (±10%) | test |
| Flat (110), steam 900 °C, 300 min | flat (110) oxide | 572 nm | 729 | 729 | +28% | off (±10%) | test |
| Convex cylinder, dry O2 900 °C, radius 235 nm after oxidation | oxide on the convex cylinder | 192 nm | 0 | 0 | -100% | off (±10%) | test |
| Convex cylinder, dry O2 1000 °C, radius 278 nm after oxidation | oxide on the convex cylinder | 298 nm | 0 | 0 | -100% | off (±10%) | test |
| Convex cylinder, dry O2 1100 °C, radius 135 nm after oxidation | oxide on the convex cylinder | 284 nm | 0 | 0 | -100% | off (±10%) | test |
| Convex cylinder, dry O2 1200 °C, radius 244 nm after oxidation | oxide on the convex cylinder | 360 nm | 0 | 0 | -100% | off (±10%) | test |
| Concave hole, dry O2 900 °C, radius 1176 nm after oxidation | oxide in the concave hole | 140 nm | no program | no program | not modelled (±10%) | test | |
| Concave hole, dry O2 1100 °C, radius 714 nm after oxidation | oxide in the concave hole | 217 nm | no program | no program | not modelled (±10%) | test | |
| Convex cylinder, phosphorus-doped, deglazed, steam 900 °C, radius 154 nm | oxide on the doped cylinder | 260 nm | 307 | 399 | +53% | off (±10%) | test |
| Convex cylinder, phosphorus-doped, PSG kept, steam 900 °C, radius 250 nm | oxide on the doped cylinder | 465 nm | 331 | 436 | -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|steamwould 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)orsteam_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.
| History | Within tolerance | Median error | Changed numbers |
|---|---|---|---|
| as the paper states it (above) | 3 of 18 | 28.8% | |
| heat-up A (hot push), fast cooling | 3 of 18 | 28.8% | 0 of 18 moved by more than 2% |
| heat-up A (hot push), slow cooling | 3 of 18 | 28.8% | 0 of 18 moved by more than 2% |
| heat-up B (cold-furnace ramp), fast cooling | 3 of 18 | 28.8% | 0 of 18 moved by more than 2% |
| heat-up B (cold-furnace ramp), slow cooling | 3 of 18 | 28.8% | 0 of 18 moved by more than 2% |
The paper's own conclusions
| The paper states | What 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 °C | The 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 °C | see 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.45 | The planar program gives 1.26, 1.15, 1.08, 1.04, 1.02 with the same factor 1.45 | direction right |
| Dry oxidation: the same retardation as wet, more severe | No curved program grows oxide in dry oxygen | not tested |
| Phosphorus-doped, deglazed cylinders retard like undoped ones; keeping the glass removes most of the retardation | No program reads doping or the glass | not tested |
| Back-side oxide does not change front-side dry oxidation | Not encoded | not tested |
What we would like Emily to check
- Was the steam pyrogenic or from a bubbler? The planar program's constants are for 640 Torr of water.
- What were the dry oxidation times, and what flat oxide did each dry run actually grow?
- How long was the not-deglazed doped group oxidized, and what was the phosphorus surface concentration?
- 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?