Geometry and continuity
- Shape and layer coverage
- Voids and material connections
ViennaPS teaching example · updated
Follow one simplified TSV cross-section from mask opening to polish. Saved ViennaPS simulations show what each step changes, what can fail, and what to measure.
This is a teaching model. Real TSV flows include more films, cleaning steps, and process controls.
The software can carry and measure geometry across the simplified traveler. It has not yet found or validated a complete TSV process window.
Practical next step: calibrate the model with split-wafer profile and growth measurements. Until then, the controls teach simulated mechanisms but do not define gas flow, plating current, or polish settings.
A through-silicon via (TSV) is a vertical electrical connection through silicon. This model covers the steps that form its copper plug.
PRESCRIBED GEOMETRY CONTROL · MEASUREMENT CHECK
The scripted control gives the measurement code one clear passing example: continuous layers, no resolved 2D void, and a connected plug after ideal planarization. This shows that the checks can recognize those simulated features. It does not show that a real fabrication tool would produce them.
These prescribed shapes test whether the code distinguishes an open cavity, a trapped void, and a joined copper region.
This is not process tuning. The surface speed is deliberately prescribed to create two different geometric outcomes.
| Step | What happens | Purpose in fabrication |
|---|---|---|
| 1. Open the mask | A pattern marks where the hole will be made. | Sets the via's position and width. |
| 2. Etch the silicon | A deep hole is cut into the silicon. | Creates the via and shapes its walls. |
| 3. Coat the walls | An insulating liner covers the inside surface. | Keeps copper electrically isolated from silicon. |
| 4. Prepare for copper | A barrier and copper seed layer are added. | The barrier slows copper migration. The seed gives plating a conductive surface. |
| 5. Fill with copper | Copper fills the coated hole. | Creates the vertical electrical path. |
| 6. Polish the surface | Extra copper above the via is removed. | Leaves a flat surface and a copper plug. |
These known shapes test the geometry measurements. They do not show that a physical TSV recipe will produce the same result.
ViennaPS is a process simulator. It calculates how material boundaries move under a chosen model. It does not emulate the control software of a specific fabrication tool.
ViennaPS stores each material interface as a level set. A process model supplies a local growth or removal speed. Some models use prescribed rates. Particle models instead trace many simulated paths, estimate where particles reach the surface, and use sticking or reflection rules to turn that arrival flux into surface motion.
The level-set solver advances the interfaces for the requested duration. The resulting geometry becomes the input to the next TSV step. Measurements such as depth, width, coating thickness, voids, and connectivity provide feedback for the next tested settings.
build_screening_traveler.py runs the steps in sequence and records the measurements.This tutorial uses a 2D trench-like surrogate. A cylindrical 3D via can change particle access and whether a void is truly connected.
Mask → dry etch → liner → barrier → seed → copper → polish.
Each panel replays saved simulation output. The controls select an existing case; the browser does not rerun ViennaPS or invent a shape. A deterministic control lineage exists, but these sensitivity panels are not one calibrated candidate recipe. Open the saved step data.
Current handoff status: improve the etch floor, deep film coverage, and copper model before running a new end-to-end candidate.
More rays mean more sampled particle paths and more computation. They do not automatically make every measured result more stable.
This is a numerical-setting search, not etch-process tuning. It compares five ray counts while holding the grid and process inputs fixed.
Takeaway: increasing rays mainly increased runtime in these saved cases. It did not steadily reduce run-to-run variation. Grid spacing changed the etched geometry enough that it must be checked separately.
The plots report runtime, repeat-to-repeat spread, and movement between ray levels. No ray count is treated as the correct answer.
Each shape was run with three random streams at 250, 500, 750, 1,000, and 2,000 rays. The grid and process inputs stay fixed within each shape.
Grid spacing controls how finely the profile is represented. Across a 0.30-wide opening, the four saved settings provide about 120, 60, 30, or 15 cells. More cells can resolve smaller shape changes, but they cost more time. This older study changes only the grid for one recipe; it does not identify a universally correct grid.
Read the two plots together: the left shows how the selected measurement moves; the right shows the runtime cost. Points are saved simulations from one research machine. Lines only connect tested settings.
The focused discovery data used grid spacing 0.0025 and 500 rays. These settings produced useful profiles quickly, but they are not approved as the general exploration setting. Phase B separately found categorical changes at 500 rays on a grid-0.005 panel. The two saved 500-to-1,000 comparisons below are observational; they do not confirm the published candidate.
Next action: freeze and run a candidate-specific numerical check before choosing exploration and confirmation settings. These paired movements are not errors against ground truth. Open the focused observational review.
Geometry inputs define the starting shape. Model inputs control simulated surface motion. Neither is a calibrated machine recipe.
| Step | Equipment controls | Physical effect | ViennaPS representation | Measurement feedback |
|---|---|---|---|---|
| Mask | Focus and dose; bake and develop; resist coat | Changes opening size, height, and taper | Starting opening geometry | Top and bottom opening width; mask height |
| Silicon etch | Gas timing and flow; pressure; source power; bias; temperature | Changes removal, wall protection, and ion direction | Effective rates, sticking, directionality, and duration | Depth; top, middle, and bottom width; bow and scallop |
| Liner | Precursor exposure; pressure; temperature; plasma | Changes growth rate and transport into the via | Deposition amount, sticking, and source distribution | Field, wall, and floor thickness; continuity and opening |
| Barrier + seed | Target power; pressure; substrate bias; collimation; time | Changes arrival direction and deep coverage | Deposition amount and arrival-direction fraction | Regional thickness, continuity, and remaining opening |
| Copper fill | Current waveform; additives; chemistry; temperature; agitation | Changes suppression and floor-versus-wall growth | Candidate transport and kinetic rates | Open and sealed voids; seam history; copper above the surface |
| Polish | Pressure and speed; slurry; endpoint and overpolish | Changes removal rate and material selectivity | Removal amount and relative material rates | Field clearance; plug recess; stop loss; connectivity |
Numerical settings: grid spacing sets geometric resolution. Ray count controls Monte Carlo sampling noise. A random seed selects a reproducible ray sample. None is a fab knob.
Qualitative influence only: the two middle columns are not a conversion table. Equipment settings change the physical process. Mapping them to model inputs requires measurements from a specific tool.
Coverage: the page teaches the main wired controls, not every ViennaPS input. Omitted controls need their own evidence before they become tutorial sliders.
The conversion is learned from wafer data. It is not read from the ViennaPS input value.
Smart calibration: screen many candidate controls first. Fit only the influential ones. Use repeated measurements and hold back some recipes for validation. Report prediction error instead of calling the fit exact. This ViennaPS project has not yet received the wafer data needed to perform that calibration.
A clean-looking outline is not enough. Keep the required measurements separate so one good number cannot hide another failure.
| Question | Measurements | Status here |
|---|---|---|
| Did it reach the intended depth? | Depth | Compared with an assumed teaching target |
| Did the width stay controlled? | Top, middle, bottom, and minimum width | Measured on both walls |
| Are the walls straight and balanced? | Taper, bow, necking, scallop, and left/right symmetry | Measured; not calibrated fab limits |
| Is the base acceptable? | Floor peak-to-valley, center relief, symmetry, and unresolved extrema | Diagnostic only; still needs qualification |
| Can the result be trusted numerically? | Measurement availability, repeats, grid check, and higher-ray movement | Scoped to the tested region |
Important: the dashed rectangle is a teaching reference, not a fabrication specification. The current focused result has good depth and walls, but its rounded or uneven floor remains open work.
The lines below are drawn over one saved ViennaPS profile. They show what depth and top, middle, and bottom width mean.
Viewer scope: each sensitivity panel below uses its own controlled starting shape. Changing one panel does not change the next. No continuous passing traveler is claimed.
Each line is one saved run in which six model controls changed together.
This 18-run design samples combinations efficiently instead of testing every possible combination. Select a line or scrub through the runs. The browser shows the exact saved profile; it does not interpolate or rerun ViennaPS.
The purpose is broad screening: identify which controls move depth, width, wall shape, and floor shape enough to deserve a smaller follow-up study. Initial etch time, passivation sticking, and ion reflection angle were held fixed. Cycle count, mask geometry, and mask erosion remain separate studies.
Action: inspect the nominated control pairs below. These rankings are descriptive because each combination has one random stream. Add repeats before treating a ranking as stable.
Open all 18 profiles, measurements, model settings, and source-row citations.
Saved sensitivity · one stream per case · not DOE · model units
Choose a factor pair, then inspect the four saved simulated profiles.
Choose two controls nominated for follow-up. Their four corners are low × low, low × high, high × low, and high × high. This makes the pair easier to interpret than the six-control screen. Each corner has one random stream, so it is visual sensitivity evidence, not a confirmed interaction estimate.
Action: if a pair brackets a useful profile, add centre points and repeats inside that box. Then tune the smaller region and confirm the promoted setting independently.
Open the exported profiles and citations. The browser does not interpolate between the four sampled combinations.
Scrub through seven replayed checkpoints from one 500-ray run with a fixed random seed. Each frame shows the profile after a complete etch/passivation cycle.
Ion arrival direction and directional removal were changed together across nine saved settings.
Select a setting to view the exact simulated profile. The center was run three times. Other cells have one run, so they show direction but not repeatability.
Result: the repeated center stays near the target depth and its walls remain close to vertical.
Next action: optimize and repeat the floor-shape measurement separately. The saved floors remain rounded or uneven, so this is not yet the final etch profile.
Copper can trap a void when the opening closes before the center fills.
Advanced: failure modes and tuning details
These are measured boundary examples. They are not yet full process-margin maps.
The coarse grid reports 97.4% copper by area and an opening-connected cavity. The last merger is only about two grid cells wide, so that topology is not accepted as converged.
All layers and model controls stay fixed. Scrub through eleven saved checkpoints.
Decision: nearly full by area, but not a confirmed fill. No resolved sealed void is detected at this checkpoint.
How to resolve it: rerun the same case with smaller grid cells and more checkpoints near closure. Call it void-free only if the cavity disappears without an unresolved merger and the result agrees at the two finest settings. Call it a void only if a sealed region persists with several cells across its smallest dimension.
Next process study: measure floor and wall growth across additive, current-waveform, and seed splits. Use those data to calibrate the growth model before extending copper time.
params = ps.CopperSuppressionFillParams()
params.suppressorStickingProbability = sticking
params.suppressorSourcePower = source_power
model = ps.CopperSuppressionFill(params)
ps.Process(geometry, model, checkpoint_interval).apply()See the complete parameter setup and checksBottom-up fill needs less suppressor and faster copper growth at the floor.
Choose a depth and measurement. Then select one of the 21 saved transport samples. This is not a fitted response surface or a fill simulation.
Takeaway: every sampled suppressor ratio is at least 1.021. Bottom-up filling needs the floor to receive less suppressor than the lower wall, which means a ratio below 1.
Action: stop expanding this same two-control path. Calibrate a broader model using additive, current-waveform, and seed experiments.
Coupled inputs: adsorption strength was set to 0.25 divided by sticking in every case. The map therefore tests a held-product path, not two independent copper controls.
Lower is better for suppressor transport. A ratio of 1.00 means equal flux at the floor and lower wall.
On the ideal protected geometry tested, the Cu law does not create enough bottom-up growth. Real etched-shape, liner/seed, and selective-CMP handoffs remain open.
These are directions for the next simulation blocks. The coefficients are not calibrated to tool recipes. The page therefore gives no gas flows, currents, or polish pressures.
| Process step | Next useful knob | Expected benefit and tradeoff | Evidence |
|---|---|---|---|
| Photolithography / mask opening | Opening width and mask height; taper; later 3D placement error | Controls etch aperture and downstream access. Treat width and mask height as product inputs until a lithography model is added. | Registry complete; screen pending |
| Bosch DRIE | Geometry representation, ray count, and mask erosion | Use full-width geometry. Complete a candidate-specific numerical check before choosing the exploration setting. Then locate the mask-survival boundary without losing depth, width, or bow. | No exploration ray count is approved |
| SiO2 liner | Lower sticking, then adjust total dose | Lower sticking may improve floor and lower-wall coverage. Extra dose can narrow the aperture, so both coverage and remaining opening stay gated. | Geometry trends only; passing boundary not bracketed |
| Barrier and seed | More conformal transport, dose, and directionality | Raise lower-wall thickness without closing the fill opening. If directional deposition remains near 0.23 wall/field coverage, test a more conformal model family. | Baseline fails 0/4 |
| Cu electrofill | Matched 3D transport check; then chemistry-dependent bottom-up kinetics if it also misses | Test whether cylindrical transport changes the floor advantage. Total thickness is secondary until the bottom grows faster than the walls. | 320 reviewed transport cells; tested 2D expansion stopped |
| CMP | Material rates and endpoint; selectivity and controlled overpolish | Clear field Cu while retaining the stop layer and connected Cu plug. Dish, erosion, and material loss must be read together. | Metric ready; DOE blocked on loss limits |
A broad response surface is useful only after the measurements and model can recognize both success and failure. Each block below removes one reason a large sweep could mislead us.
Decision rule: a completed batch is not progress by itself. A block advances only after its required measurements and numerical checks are usable. Assumed bands are reported separately.
The criterion requires less suppressor and faster Cu growth at the floor than at the lower wall. Compare the 1.25-deep target with a 3.0-deep stress case. Each cell shows the worst of four paired streams.
Lower sticking was checked at three finer settings after the 21-point surface. The response improved slightly but still missed the target. A matched 3D check is next.
The published guide and its derived JSON can be inspected after cloning the public repository.
git clone https://github.com/haomingkoo/ViennaPS-HBM.git
cd ViennaPS-HBM
python3 -m http.server 8000
Then open http://localhost:8000/explainer.html.
Read tsv_process.py on GitHub to see the process functions.
Reproduction: the public repository includes the tutorial data and selected native checkpoints. Rebuilding every historical campaign still requires external native artifacts identified by recorded hashes.
The guide is built from checked-in JSON. Use it to inspect the values behind the plots and claims.
The phase-one download is retained only to audit withdrawn measurements and conclusions. Selected current checkpoints are public. Some large historical artifacts remain hash-referenced only.
The original runner varied these 17 factors. Other ViennaPS controls remain excluded until validated.
| Step | Tuning knobs | What they control |
|---|---|---|
| Mask opening | mask taper | Mouth geometry, dry-etch transport, downstream aperture |
| Silicon DRIE | cycles; etch time; initial etch time; neutral rate/sticking; passivation thickness/sticking; ion exponent; theta minimum | Depth and width; bulge and stochastic geometry |
| SiO2 liner | thickness; sticking | Functional coverage versus aperture closure |
| Barrier/seed | thickness; isotropic ratio | Floor coverage versus fill aperture |
| Cu fill | thickness; isotropic ratio | Deposited volume and centerline tip gap |
| CMP | overburden multiplier | Modeled dish and mask survival |
ViennaPS also exposes direction vectors and material rates. Angular distributions and numerical settings are available too. They need separate validation before counting as recipe knobs.
Current automation limit: the runner records and resumes frozen cases, but a human-reviewed step still chooses each follow-up batch. It does not yet fit a model and propose new cases by itself.
Each result chose the next experiment. Random runs were repeated, downstream recipes shared the same etched shape, and edge results triggered a wider range.
Select an experiment to see the question it answered. The internal loss chart was removed because scores from different search ranges were not directly comparable.
saved full-process simulations are retained as research history. The table shows what the old scorer reported. Those labels are not accepted as current physical validation.
| Step | Old target | Old scorer output |
|---|
The legacy scalar tracked center height above the floor, not sealed-void topology. A raw 3D topology metric and a coverage/transport fill model are required.
The old one-rate removal could erase Cu and oxide. It could also erase silicon and mask. The new study measures endpoint, overpolish, and selectivity separately. It also measures dish, erosion, and material survival.
No fab recipe is recommended. The selected screening geometry is a test fixture for later 3D transport, physical-model, and process-window work.
Historical grid: four settings with three values each. This is not the current process window. Lower and farther left is better; amber means the old CMP step removed the mask.
Chance that a simulated liner particle sticks on contact. Higher values make deep, even coverage harder.
Total modeled Cu deposition amount. Larger is not automatically better because the centerline void can grow.
Zero is mostly vertical growth. Larger values add more growth in every direction.
Multiple of the Cu above the target surface. Too much removal consumes the mask.
Result: 48 recipes preserve the mask in all four repeats. None closes the Cu gap or produces a flat CMP surface.
Phase one compared two recipes on 16 new DRIE geometries, reusing each geometry for fairness. RNG seeds were uncontrolled, so this is not reproducible confirmation.
These cross-sections explain the old model failures. They remain useful failure reproductions, not current recipe candidates.
The persistent void and bowl-like CMP retreat match the numerical failures and the missing fill-chemistry and pad-pressure physics.
Earlier studies found three mistakes: comparing different depths, trusting one random run, and calling an edge setting optimal before widening the range. The nine experiments above apply those corrections.
Every step needs a target and a measurement before its output moves downstream.
CD means critical dimension. Measure the etched via at three locations: top, middle, bottom.
Each source answers a different teaching question.
The sources guide the lesson. They do not turn this simulation into a fab recipe.