Hints, Tips and Solutions - May 2004


Q. When solving for the static CV curve for a MOS capacitor, due to the absence of current carriers, convergence can be a real problem. Previous methods suggested in the hints and tips archive of Silvaco’s simulation standard have made use of Silvaco’s Luminous module where a small amount of light intensity is incident on the device, the idea being to generate a small amount of carriers to aid convergence.

A. A recent addition to Silvaco’s device simulator has supplanted such means for the use of Luminous in generating the static CV curve for a MOS capacitor.

Use is made of the QSCV term in addition to the NOCURRENT term to the SOLVE statement to give the Quasi-static capacitance of the electrode being bias-ramped. This also includes electrodes linked to the electrode being bias ramped via the COMMON parameter of the CONTACT statement.

This will output capacitance summed over electrodes and capacitance for each common electrode. They are calculated by numerically differentiating charge on each contact with respect to the applied bias, and so a fine voltage increment is required for accurate results.

Such a solve statement can be described as follows:

solve init

solve vanode=0 vstep=0.25 vfinal=10.0 name=anode

log outfile=CV_AlGaAs_qscv.log

solve vanode=10.0 vstep=-0.1 vfinal=-10 name=anode qscv nocurrent

log off

giving the following CV curve for a generated MOS capacitor:


Figure 1. CV curve for MOS capacitor.


Q. Can a previously created structure, once loaded into Atlas, have any of its REGION properties modified without having to recreate the complete structure?

A. If a previously created structure is loaded into ATLAS using the MESH INFILE statement properties of each individual region within the structure can now be modified. A recent addition to the REGION statement is the key word MODIFY. Use of the MODIFY statement provides a very convenient method for easily changing structure properties. By specifying MODIFY on the REGION statement any of the following parameters may be applied to that region:


An example highlighting the use of such a statement is given below. The example makes use of a previously created structure called xcomp035.str in which the x.comp value for the AlGaAs is 0.35. Use is then made of the MODIFY keyword to change this value in both of the regions.

Figure 2 shows the before and after structure property of the x.comp parameter obtained by taking a one dimensional cut line through the structure in TonyPlot. Use of the MODIFY statement provides a very convenient method for easily changing structure properties.

Figure 2. x.comp variation before and after modify statement.

Q. I am familiar with the functionality of ATLAS allowing a 1D doping profile to be specified and loaded into a structure, can I perform the same operation with a 2D doping profile?

A. The ability for a 2D doping profile to be loaded into ATLAS is made possible by the addition of the 2D.ASCII keyword to the DOPING statement. This loads a 2D doping profile defined on a rectangular Cartessian grid from a file specified by INFILE. The 2D.ASCII keyword must be specified along with either the N.TYPE, P.TYPE or NET parameter. The ASCII 2D doping profile data file must also be formatted correctly. The first column in the ASCII file must contain the x coordinates, the second column in the file must contain the y coordinates and the third column contains the doping data. An example for such a doping statement is given below together with the relevant 2D doping ASCII data file.

doping num=1 conc=1e15 p.type uniform

doping 2d.ascii infile=doping2d.dat n.type


0.4 0.0 1.0e18
0.4 0.1 1.0e18
0.4 0.2 1.0e18
0.5 0.0 2.0e18
0.5 0.1 2.0e18
0.5 0.2 2.0e18
0.6 0.0 3.0e18
0.6 0.1 3.0e18
0.6 0.2 3.0e18

Figure 3 shows the resultant pn junction formed by such a doping statement.

Figure 3. 2D doping profile.

Download pdf version of this article