Semiconductor simulation · visual guide

A visual guide to simulating a TSV from etch to polish

I built a simplified process traveler with ViennaPS. It follows one via through the main geometry changes and shows where each handoff can fail.

17 July 2026 · 6 min read

The short versionA process simulation becomes useful when it measures the right defect after every step. More runs do not help if the model or measurement cannot recognize failure.

What is this code useful for?

It is a teaching tool and a research scaffold. It can:

That makes the code useful for learning the workflow and designing better simulation studies. It does not convert model settings into a fabrication recipe.

What is being modeled?

A through-silicon via, or TSV, is a vertical electrical connection through silicon. This teaching model keeps the core sequence and leaves out the many cleaning steps, films, and controls used in a real fabrication flow.

Open mask
Etch silicon
Add liner
Add barrier and seed
Fill copper
Polish

The key idea is continuity. The etched shape becomes the input to the liner step. That coated shape becomes the input to barrier and seed deposition. The same geometry then moves into copper fill and polishing.

How ViennaPS fits into the loop

ViennaPS represents material boundaries and moves those boundaries with a process model. Each step uses the same pattern.

Current geometry
materials and boundaries
Process model
deposition or removal
Measure
check and save

The implementation calls ps.Process(domain, model, duration) and then process.apply(). The updated domain is passed to the next step.

The useful knobs are step-specific

A knob matters only when its effect can be measured. These inputs are model settings, not direct recipes for gas flow, plating current, or polish pressure.

StepInputs to exploreFeedback to measure
Mask and etchOpening width, taper, cycles, time, particle directionTop, middle, and bottom width; depth; bow
LinerSticking and deposited amountMinimum thickness, deep coverage, remaining opening
Barrier and seedConformality, direction, deposited amountContinuity, lower-wall coverage, remaining opening
CopperTransport and growth selectivityVoid topology, floor-versus-wall growth, overburden
PolishMaterial removal rates and durationField clearance, plug connection, stop-layer survival

What can go wrong?

Bowed or necked etchA narrow region blocks later films and transport.
Thin linerThe coating looks continuous but does not cover the deep wall well enough.
Broken seedCopper cannot be expected to plate through a disconnected path.
Center voidThe walls close before copper fills from the floor.
Residual surface copperPolishing stops before the field is clear.
Damaged plug or stop layerToo much removal destroys the structure being measured.

How to build the study correctly

Start with the measurement, not the sweep.

  1. Define the defect and the measurement that can detect it.
  2. Test one known failure and one prescribed passing control.
  3. Carry the same upstream geometry into fair downstream comparisons.
  4. Control random seeds and repeat noisy runs.
  5. Map the boundary where the result changes from pass to fail.
  6. Change the model when tuning cannot represent the missing physics.
Current limitThe passing traveler is a prescribed geometry control. It proves that the checks can recognize continuous layers, a void-free copper region, and a connected plug. It does not validate a physical copper recipe. The sampled copper transport settings still miss the required bottom-up growth condition.

What I would take away

The most useful result is not a single passing run. It is a workflow that can explain why a run passed, show what failed, and state what the model cannot yet predict.

That is the purpose of the traveler: teach the major TSV handoffs while keeping the evidence and limits visible.

Explore the interactive traveler

Change the etched shape, inspect common failures, and explore the copper response map.

Open the guide View the repository