Die photograph of a 1990s processor

Documentation

The deck language.

A device is described in a short text deck: variables, regions, electrodes, doping, charges and sweeps. This guide covers the statements available in the current build.

Getting started

  1. Sign in to the workbench with the login we issue for the beta.
  2. Open an example — gan_hemt, gan_mis_hemt, si_nmos or nmos_dielectric_choice — or choose Custom (deck).
  3. Edit the deck. It's validated as you type; Validate jumps to any line with an error.
  4. Check the Structure tab, then run. Results, the solver log and output files appear under the editor.
  5. Save the project, or Save copy to branch a design.

A complete deck

This is the AlGaN/GaN HEMT example that ships with Greater Today TCAD. Dimensions are in µm, and y grows downward from the surface.

gan_hemt.deckexample
title "AlGaN/GaN HEMT"# Same structure as the built-in GaN HEMT template.set Lg=0.5 min=0.1 max=3 unit=um label="Gate length"set xal=0.25 min=0.1 max=0.45 label="Al mole fraction"set wf=5.1 min=4.3 max=5.7 unit=eV label="Gate work function" region name=barrier material=AlGaN comp=xal x=0,4+Lg y=0,0.02region name=channel material=GaN             x=0,4+Lg y=0.02,0.12region name=buffer  material=GaN             x=0,4+Lg y=0.12,1.02 electrode name=source type=ohmic             x=0,0.5         y=0,0electrode name=gate   type=schottky wf=wf    x=1.5,1.5+Lg    y=0,0electrode name=drain  type=ohmic             x=3.5+Lg,4+Lg   y=0,0 doping uniform region=barrier donor=1e15doping uniform region=channel donor=1e15doping uniform region=buffer  donor=1e15# n+ implants reaching through the barrier into the channeldoping gaussian donor=1e20 x=0,0.55          y=0,0.05 char=0.005 lateral=2doping gaussian donor=1e20 x=3.45+Lg,4+Lg    y=0,0.05 char=0.005 lateral=2charge sheet=pol(xal) y=0.02                 # AlGaN/GaN polarizationtraps region=buffer density=1e17             # Fe/C semi-insulating buffer solve idvg vd=1,5 vg=-6:1:0.25solve idvd vg=-2,-1,0,1 vd=0:10:0.5solve offstate vg=auto vd=0:100:5

Statements

StatementPurpose
title "…"Name shown for the device.
set NAME=value min= max= unit= label=A numeric variable. It becomes a form field and a search range. Add log=true for quantities like doping.
set NAME=A options=A,BA material choice, usable as material=$NAME and searchable.
region name= material= x=x1,x2 y=y1,y2A rectangular region. Alloys take comp=, e.g. AlGaN mole fraction.
electrode name= type= x= y=A contact on a region boundary. Types: ohmic, schottky (with wf=), gate (MOS, with wf=).
doping uniform region= donor=|acceptor=Uniform doping in a region (cm⁻³).
doping gaussian donor= x= y= char= lateral=A Gaussian profile, for example source and drain implants.
charge sheet= y=A fixed sheet charge (cm⁻²) at a depth, e.g. pol(0.25) for AlGaN/GaN polarisation.
traps region= density= depth=Deep acceptor traps in a semiconductor region, e.g. a semi-insulating buffer.
roles source= drain= gate=Assign roles when electrodes aren't named source, drain and gate.
models ith=Threshold current for Vth extraction (mA/mm).
solve …An analysis to run — see Analyses.

Expressions

Any number can be an expression using variables, + - * / **, min, max, abs, sqrt and pol(x), which gives the AlGaN/GaN polarisation charge for mole fraction x. For example, x=0.4+Lg,0.8+Lg keeps the drain beside a gate of any length.

Analyses

solve idvg vd=0.05,1 vg=-0.5:2:0.05Transfer curves: one per drain bias, gate swept start:stop:step.
solve idvd vg=1,1.5,2 vd=0:2:0.1Output curves: one per gate bias.
solve offstate vg=auto vd=0:100:5Off-state sweep used for the breakdown estimate.
solve op vg=1.1 vd=1A single operating point.

Materials

Built in: Si, Ge, GaAs, 4H-SiC, GaN, AlN, AlGaN, SiO₂, Si₃N₄, Al₂O₃ and HfO₂. To define your own, copy one in the Materials tab and edit it. A custom semiconductor needs permittivity, electron affinity, bandgap, effective densities of states, electron mobility and saturation velocity. Each run stores a copy of the materials it used, so results stay reproducible after you edit them.

Pick an objective from the analyses your deck defines — for example drain current at an operating point — and a direction: maximise, minimise or hit a target value within a tolerance. Choose up to three variables, including material choices, and optional constraints on other metrics. A trial counts as a success only if it meets both the tolerance and the constraints. Studies are checkpointed; one interrupted by a restart keeps its trials but isn't resumed automatically.

Outputs

Every run offers its curve data as CSV (with bias and current units), the result and input as JSON, and the full solver log. If a sweep fails to converge, completed points are kept and the run is marked partial; a partial run can't become a search's best design.

Limits

  • At most 1,000 points per sweep and 10,000 points per job.
  • Rectangular 2D regions only; contacts sit on region boundaries.
  • The deck syntax is our own. Silvaco ATLAS decks need translating by hand.
  • Model limits are listed on the physics page.

Want to try a deck of your own?

Beta users get a login and a short onboarding call. Tell us what you'd simulate first.