DOCUMENTATION
GETTING STARTED 2 |
In this second example we will refer to the Example_4 (Si n-Mosfet) that you can find in the examples directory. Step 1: Modeling the deviceAgain, as a first step, we have to model the device. We’ll see in some details how to design and mesh a mosfet device with GMSH.
In the GMSH script mosfet.geo, several variables are defined and given a value in this way: lsub=0.03; lacc=0.002; lct=0.0005; lg=0.0015; lh=0.01; lc=0.0005; these variables are used in the script to assign proper values to the mesh characteristic length of the defined Points. Lg_2 = 0.0375; d = 0.01; Ls = 0.1; h = 0.25; b = 0.0025; o = 0.005; xd = Lg_2 + d; xd2 = Lg_2 + d / 2; xmax = xd + Ls - d; These other convenient variables are used to parametrize the most relevant geometrical features, such as channel length, oxide thickness, and so on.
N.B.: In a 2D simulation it is assumed that the geometrical model is restricted to the xy-plane (z=0). Any other geometrical orientation could give impredictable results. Point(1) = {0, -h, 0, lsub}; Point(2) = {0, 0, 0, lc}; Point(3) = {xmax,-h,0.0,lsub}; Point(4) = {-xmax,-h,0.0,lsub}; Point(5) = {xmax,0,0.0,lh}; Point(6) = {-xmax,0,0.0,lh}; .......................... Line(1) = {4,1}; Line(2) = {3,13}; Line(6) = {4,14}; Line(7) = {10,9}; Line(8) = {12,2}; Line(9) = {8,7}; Line(10) = {11,8}; Line(11) = {9,12}; Line(13) = {7,6}; .......................... Definition of a surface: first a line loop is composed, listing all the lines constituting the boundary of the surface; (each line is given an orientation by the points order in its definition, so it canhave a negative sign if this orientation is opposite to that of the loop). Then this line loop is assigned to a PlaneSurface object (this procedure can alternatively be performed through the graphical interface). For example, by defining: Line Loop(40) = {28,2,-34,33,8,29,-31,-30,-6,1}; Plane Surface(41) = {40}; we obtain the following surface: Definition of the Physical surfaces: each of them is composed by one or more geometrical Plane Surfaces. For example, Physical surface "contact" comprises the two separated contact regions, while Physical surface "oxide" corresponds to the oxide region. The Physical surfaces are the 2D Physical regions of the mesh and will be assigned to the related tibercad regions through the keyword mesh_regions or directly through their names (see Step 3) Physical Surface("substrate") = {41}; // n-Si Physical Surface("contact") = {44,47}; // n+-Si Physical Surface("oxide") = {46}; // SiO2
Definition of the Phisical Lines: In this 2D simulation, 1D physical regions are used to carry information about boundary condition regions.
In other word, each Phisical Line corresponds to a boundary condition (a contact in the case of a driftdiffusion calculation): thus Physical Line "source" refers to the source contact, P.L. "gate" to the gate contact, P.L. "drain" to the drain contact. Physical Line("source") = {13}; // source Physical Line("gate") = {39,38}; // gate Physical Line("drain") = {19}; // drain
Here is the final geometrical model of our Mosfet structure.
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 (see fig. 3.2). gmsh mosfet.geo -2 -o mosfet.msh. Here is the result of the 2D meshing:
Step 3: TiberCAD Input file
Now we have to write down the TiberCAD input file (see mosfet.tib in Example_4 directory). 1 - Definition of Device RegionsThree tibercad regions are defined: to each of them, one mesh region is associated, namely the Phisical Surfaces substrate, contact and oxide defined in Step 1. However, in general more than one mesh region can be associate to a single tibercad region, if this is convenient. Region substrate { Doping { density = 1e18 type = acceptor } } Region contact { Doping { density = 5e19 type = donor } } Region oxide { material = SiO2 } }
2 - Definition of SimulationNow we define a simulation belonging to the Module driftdiffusion Module driftdiffusion { Physics { recombination srh {} mobility { type = field_dependent low_field_model = doping_dependent } This time, for this simulation we declare two driftdiffusion physical models, respectively about mobility (field dependent) and recombination (srh); see the reference manual for the details.
3 - Definition of Boundary ConditionsThe source, drain and gate contacts of the Mosfet device are defined as Boundary condition regions (Contact source , Contact drain,Contact gate ) in the following way: 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 } }
To each of the Contact, a name is assigned, that is one of the Physical Lines defined in Step 1, which represent the contact regions.
4 - Definition of Simulation parameters
We are going to calculate Id/Vd drain current characteristic. Two sweeps are requested for this simulation, that is an external loop on Vg (the gate voltage) and an internal loop on Vd (the drain voltage) for each value of Vg; in this way, the IV drain characteristics for a series of gate biases are obtained in output. Module 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 }
5 - Definition of Execution parametersIn the Simulation section , we define which simulations to perform and in which order; we set solve = sweep_gate, to execute the external gate voltage sweep sweep_gate which in its turn call the sweep sweep_drain where drain current is calculated for all the chosen drain voltage steps by running dd simulation. Simulation { temperature = 300 solve = sweep_gate resultpath = output_IV_char output_format = vtk } Output files with conduction and valence band profiles, quasi-fermi levels, electron and hole density, recombination, electric field and potential (plot = Ec,Ev,.....) will be generated, together (ContactCurrents) with a file with all the calculated values of the drain current at the contacts for each gate bias step (the IV characteristics).
Step 4: Run TiberCADNow we can run TiberCAD tibercad outputchar.tib After 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: output_format = vtk Let's see now a very quick guide to Paraview: For any details please see www.paraview.org To plot TiberCAD 2D results, first, open the .vtk file from your working directory. The name of the loaded files will be shown in the Pipeline browser. Then, 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 an item from the menu "Color by", e.g. electron _density. Also, in Display section, Scale and legend bar can be setted.
|