DOCUMENTATION
| GETTING STARTED 1 |
|
In this section we will see, step by step, how to use tiberCAD to simulate numerically a semiconductor device. Step 1: Modeling the device
As a first step, we have to model the device. To do so, you can use DEVISE module of ISE-TCAD 9.5 software package or GMSH program.
In the following we’ll see how to write a basic GMSH script (bulk.geo); for any details please refer to GMSH manual GMSH (http://geuz.org/gmsh/). L = 1; d = 0.01; these are valid GMSH variables: L is just the length of the Si sample; d is the value of a characteristic mesh length (see below).
- Definition of geometrical entities Points
Point(1) = {0, 0, 0, d};
Point(2) = {L, 0, 0, d};
In the definition of a geometrical point, the three first expressions inside the braces on the right hand side give the three X, Y and Z coordinates of the point; the last expression (d) sets the characteristic mesh length at that point, that is the size of a mesh element, defined as the length of the segment for a line segment, the radius of the circumscribed circle for a triangle and the radius of the circumscribed sphere for a tetrahedron. N.B.: In a 1D simulation it is assumed that the geometrical model is restricted to the x axis. Any other geometrical orientation could give impredictable results.
- Definition of geometrical entity Line
Line(1) = {1, 2};
The two expressions inside the braces on the right hand side give the identification numbers of the start and end points of the line.
- Definition of the physical entity Physical Line "bulk"
Physical Line("bulk") = {1};
The expression(s) inside the braces on the right hand side give the identification numbers of all the geometrical lines that need to be grouped inside the physical line.
Physical Names are assigned to the Physical entities.
Definition of two physical entities Physical Point
Physical Point("Anode") = {1};
Physical Point("Cathode") = {2};
N.B.: In general, in a nD simulation, (n-1)D physical regions (points in 1D, lines in 2D, surfaces in 3D) are used by TiberCAD to impose the required boundary conditions.
Step 2: Meshing the device
The .geo script file with the geometrical description can be run in GMSH, to display the modelled device and to mesh it through the GMSH graphical interface. Alternatively, a non-interactive mode is also available in GMSH, without graphical user interface. gmsh bulk.geo -1 -o bulk.mshwhere
Step 3: TiberCAD Input file
Now we have to write down the tiberCAD input file (see bulk.tib in Example_0 directory). 1 - Definition of Device RegionsFirst, we have to list all the tiberCAD Regions present in our Device: a tiberCAD Region is usually a section of the device featuring the same material and possibly the same doping.
Device
{
meshfile = bulk.msh
Region bulk
{
material = Si
Doping
{
Nd = 1e16
type = donor
}
}
}
The Region bulk is made of Silicon and n-doped with a concentration 1016cm−3.By defining a Region with the name bulk, we associate the Physical Line "bulk", defined in the Step 1, to the TIBERCAD Region bulk.
2 - Definition of SimulationNow we define the Simulation driftdiffusion: it belongs to the Module driftdiffusion
Module driftdiffusion
{
# name = driftdiffusion # this is the default name
#regions = all # 'all' is the default
# what we want to plot
plot = (Ec, Ev, eQFermi, hQFermi, ContactCurrent)
Contact anode { voltage = $Vb }
Contact cathode { }
}
The TIBERCAD simulation driftdiffusion, belonging to the Module driftdiffusion, will be applied to the whole device structure (physical regions = all ).
3 - Definition of Boundary ConditionsThe anode and cathode contacts of our 1D Si sample are defined as Boundary conditions regions (Contact anode, Contact cathode) in the following way
Contact anode
{
type = ohmic
voltage = @Vb
}
Contact cathode
{
type = ohmic
voltage = 0.0
}
Both contacts are defined as ohmic, cathod is assigned a fixed voltage = 0.0, while anode voltage is given by the value of the variable Vb (voltage = @Vb).
Through the keyword mesh_regions, one or more of the (n-1)D physical regions (Physical Points in 1D, Physical Lines in 2D, Physical Surfaces in 3D) previously defined in the GMSH mesh can be associated to the present Contact. With Contact Anodewe associate the Physical Point Anode, defined in the Step 1, to the Contact anode. With Contact Cathodewe associate the Physical Point Cathode, defined in the Step 1, to the Contact cathode.
4 - Definition of Simulation parametersThe variable Vb defined in the Contact statement is used in the sweep Module
Module sweep
{
solve = driftdiffusion
variable = $Vb
start = 0.0
stop = 1
steps = 10
# for each step we want to plot the solution variables
# specified in the driftdiffusion module
plot_data = true
}
In this way, the simulation driftdiffusion is performed for 10 (steps = 10) values of the anode voltage (variable = Vb), between 0 and 1.
5 - Definition of Execution parameters
In the Simulation section , we decide which simulations to perform and in which order;
Simulation
{
# this increases the amount of information
# written to the screen
verbose = 2
solve = sweep
resultpath = output
output_format = grace
}
Output files with conduction and valence band profiles (plot = Ec,Ev..) and all the calculated values of the current at the contacts (ContactCurrents) (the IV characteristic) are generated.
Step 4: Run tiberCAD
Now we can run tiberCAD: tibercad bulk.tibThe generated Output files are:
|
