Curve Tracer Theory


Since the thermal-diffusion equation and temperature-dependent mobility and impact-ionization models have been incorporated in 2D device simulation, it is theoretically possible to simulate the MOSFET snapback curve with a dc sweep of the drain voltage. However, this curve (refer to Fig. 2.6b) is complex in the sense that there are very flat regions where the current changes little with voltage, steep regions where the current rises rapidly with voltage, turning points where the slope of the curve changes sign, and multivalued voltage solutions. Simulating this curve with traditional methods is complex because the boundary conditions must be adapted to maintain stability. Experience has shown that a voltage boundary condition (BC) on the electrode being swept is stable if the current does not change "too fast" with the applied bias. On the other hand, a current boundary condition is effective if the I-V curve is very steep, i.e., if the voltage necessary to sustain a certain current is not "too sensitive" to the required current level. These observations are shown graphically in Fig. 3.23, which shows that solving with a voltage BC is equivalent to finding the point on the I-V curve which intersects with the vertical line defined by the voltage, while a current-BC solution is represented by the intersection of the curve with a horizontal line. In general, a solution is stable when the line defined by the boundary condition is perpendicular to the local part of the I-V curve. Thus the load-line (c) in Fig. 3.23, which represents a voltage or current source with an internal load resistance, is the ideal boundary condition for the part of the I-V curve with an intermediate slope. This type of boundary condition is available in simulation.

The MOS snapback curve can be simulated by using a voltage BC on the drain during the initial reverse bias, switching to a current BC when the current increases rapidly (on a log scale) after junction breakdown, switching back to a voltage BC at the turning point and stepping the voltage negatively during snapback, then finally switching back to a current BC to trace the curve in the snapback mode. Such a process is time consuming and requires a priori knowledge of the curve characteristics since the user of the simulator must know where to change the boundary conditions. A large, fixed load resistor could be placed on the drain with a voltage boundary condition to effectively remove the turning points and multivalued solutions, but this resistance must be greater than the differential resistance at any point in the I-V curve, which again requires knowledge of the curve prior to simulation. The general solution to the curve-tracing problem is to continuously change from pure voltage to pure current control by using a voltage or current source with a load (external) resistor which changes at each solution point to keep the load line perpendicular to the local section of the curve and thus ensure convergence throughout the trace (Fig. 3.24) [28]. This scheme can be automated because its implementation relies only on information readily available from the simulator, viz., the voltage, current, and slope (tangent) of each solution point. In Stanford's 2D device simulator, PISCES-2B, the tangent information is directly available from the Jacobian matrix and can be printed out for the user when the Newton-projection method is used [44]. If the tangent is not available directly, the local slope of a curve can be approximated by solving at a nearby point for each solution and using the difference method. Note that in this dynamic-load-line method a negative differential resistance implies a negative load resistance, a condition which is totally acceptable from a simulation standpoint.

There are two main steps in curve-tracing simulation. Once a solution point has been found on an I-V curve using an external voltage (a voltage source will be assumed from here on) and a load resistance which yield a perpendicular load line, the solution is projected to the next point on the I-V curve via advancement of the external voltage (Fig. 3.25a). Projection along the tangent always provides the best guess for the next solution point. Once this new solution converges, the tangent of this new point is calculated and the point is re-solved using a recalibrated load resistance and external voltage which yield a load line perpendicular to this new point (Fig. 3.25b). Projection and recalibration are then repeated until the trace is complete. The scheme must keep track of turning points in a curve to ensure that the external voltage is always projected in the right direction. For example, in a trace of a MOSFET snapback, the load resistance and external voltage steps are positive before the trigger point, but when the curve's slope becomes negative at the onset of snapback, the perpendicular load resistance must also become negative and the external voltage must be stepped negatively. Turning points are more fully discussed in [28], as are issues concerning how to keep the curve trace smooth, how projection step sizes are determined, and the necessity of a scaling scheme.

With this method, a simulator can automatically generate any arbitrarily shaped I-V curve given only a user-specified starting point, ending point (maximum voltage or current), and initial step size. The scheme has been implemented as a C program, "Tracer," a virtual instrument which functions as a wrapper around any device simulator which supplies voltage, current, and tangent information, i.e., no modifications need to be made to the simulation code. Tracer communicates with a device simulator by modifying the simulator input deck (input file) and by parsing information in files generated by the simulator. A user must supply a standard PISCES (or other simulator) input file describing the device to be simulated and a specification file with a PISCES-like syntax delineating the starting point, ending point, and initial step of the node to be swept, fixed boundary conditions used at other device nodes, and which information is to be saved as well as some optional parameters. A complete user's guide for Tracer is presented as an appendix, containing a description of all the parameters in the specification file, requirements of the PISCES input file, and detailed examples which include all input and output files.