DOCUMENTATION
N-CHANNEL MOSFET |
TUTORIALS |
In this tutorial we will show an example of 2D simulation of a Si n-MOSFET device.
Here is the geometry of the Mosfet device as it is meshed by GMSH.
outputchar.tib and transchar.tib are the two tiberCAD input files. With the statement @include mosfet.tib both input files include the file mosfet.tib which gives the device and Module description common to both simulations.
@include file_name Let's give now a look to the input file mosfet.tib. For further details you can refer to the program reference manual.
DEVICE STRUCTUREDevice { meshfile = mosfet.msh material = Si Region substrate { Doping { density = 1e18 type = acceptor } } Region contact { Doping { density = 5e19 type = donor } } Region oxide { material = SiO2 } } In mosfet.tib, the device structure is defined: it is composed by three tiberCAD Regions: substrate and contact, both made of Silicon, and oxide (SiO2).
DRIFT-DIFFUSION SIMULATION
Then, still in the input file mosfet.tib, we define the tiberCAD Modules which will be used in this example. physical_regions = all A field dependent model for mobility is applied. Module driftdiffusion { Physics { recombination srh {} mobility { type = field_dependent low_field_model = doping_dependent } Then, we have to specify the the three contacts of our Mosfet (plus a back contact on the substrate): Contact gate { type = schottky barrier_height = 3.0 voltage = $Vg } Contact source { type = ohmic voltage = 0.0 } Contact backcontact { type = ohmic voltage = 0.0 } Contact drain { type = ohmic voltage = $Vd } }
The contacts (boundary regions for this model) have to be associated each to the corresponding region defined in the mesher program (here GMSH) as a Boundary region. Physical Line This is made simply with Contact gate
and so on for the other contacts. barrier_height
The gate voltage is expressed by the notation $Vg[0.0]. This means that the gate voltage will be given the value of the variable Vg, specified in one of the sweep block (see after). [0.0] means that the default voltage value is 0.0 V. voltage = 0.0 drain voltage is expressed, as for the gate, by the value of the sweep variable Vd voltage = $Vd[0.5]
CALCULATION OF IV DRAIN CHARACTERISTICModule sweep { name = sweep_drain solve = driftdiffusion variable = $Vd start = 0.0 stop = 2.0 steps = 40 plot_data = true } Module sweep { name = sweep_gate solve = sweep_drain variable = $Vg start = 0.0 stop = 1.5 steps = 6 } As a first step, we are going to calculate Id/Vd drain current characteristic.
This simulation is performed by executing the input file outputchar.tib. We include the Module Sweep, whose syntax is the following: Module sweep { name = sweep_name1 { ..................... } name = sweep_name2 { ............................. } } Here we define two nested sweeps: the external sweep sweep_gate calculates the drain current for a series of gate voltages, from 0 to 1.5 V; for each calculation, a sweep on drain voltages is performed solve = sweep_drain defined by sweep_drain In sweep_drain driftdiffusion is calculated solve = driftdiffusion for a series of drain voltages from 0 to 2 V. Finally, in Simulation section, we define the simulation to be performed, specified by solve = sweep_gate this means that we are going to perform a calculation of Poisson and drift-diffusion with a double sweep on gate and drain voltage, to calculate Id/Vd drain current characteristics. Results of calculation will be in the format of paraview data visualization and post-processing program output_format = vtk Simulation { temperature = 300 solve = sweep_gate resultpath = output_IV_char output_format = vtk }
Now we can run TiberCAD....
OUTPUTAfter the execution, the output directory contain the simulation results, as defined by the keywords output_format and plot. TiberCAD supports the open source Paraview package for 2D and 3D data visualization and post-processing: Let's see how to use Paraview to plot TiberCAD 2D results:
First, open the .vtk file from your directory:
The name of the loaded files will be shown in the Pipeline browser. To visualize the content of the file, you should click on the Apply button in the Properties tab in Object Inspector To select the output variable, go to Display and choose from the menu "Color by", e.g. electron _density. Also, in Display section Scale and legend bar can be setted. In driftdiffusion_Vd_2.0_Vg_1_msh.vtu and all the other files for each bias step, we have the output for the mesh quantities which have been calculated by the driftdiffusion Module, e.g. conduction and valence bands, (quasi)fermi levels, electron and hole density and mobility.
For example, this is the electron density for a drain voltage = 2V and a gate bias Vg = 1V.
Here are the IV characteristics obtained for a gate voltage Vg between -0.1 and 0,5 V. CALCULATION OF TRANSFER CHARACTERISTIC
As a second step, we are going to calculate Id/Vg transfer characteristic. To do so, two sweeps have to be defined in this way: Module sweep { name = sweep_drain solve = driftdiffusion variable = $Vd start = 0.0 stop = 1.0 steps = 5 } Module sweep { name = sweep_gate solve = driftdiffusion variable = $Vg start = -0.5 stop = 1.5 steps = 100 # at maximum make steps of 0.1 V max_step = 0.1 plot_data = true } The first sweep sweep_drain calculates the drain current solve = driftdiffusion for a series of drain voltages, from 0 to 1 V, while Vg is kept at its initial value Vg=0; at the end of this calculation we have polarized the mosfet at a drain voltage of 1 V. Then a sweep on gate voltages is performed, defined by sweep_gate In sweep_gate driftdiffusion is calculated solve = driftdiffusion for a series of gate voltages from -0.5 to 1.5 V, by keeping the drain voltage at Vd = 1 V. This time, in Simulation section, we define the 2D simulation to be performed by writing solve=(sweep_drain,sweep_gate) this means that we are going to perform a calculation of Poisson and drift-diffusion Simulation { temperature = 300 solve = (sweep_drain, sweep_gate) resultpath = output_transchar output_format = vtk } The rest of the input file remains unchanged.
Here is the Id/Vg transfer characteristic for a drain voltage Vd = 1 V . As before, in driftdiffusion_Vd_step_Vg_step_msh.vtu, we have the output for the quantities which have been calculated by the Module driftdiffusion. The subthreshold S parameter, given by
in this case results to be ~80 mV/dec. ATTACHMENTS
|